fix(chat): separate merged output segments
This commit is contained in:
@@ -11,6 +11,7 @@ describe('groupRunMessages', () => {
|
||||
expect(active.map(m => m.role)).toEqual(['user', 'assistant'])
|
||||
expect(active[1].toolMessages).toEqual([input[2]])
|
||||
expect(active[1]).toMatchObject({ id: 'b', content: 'first\n\nsecond' })
|
||||
expect(active[1].contentSegments).toEqual(['first', 'second'])
|
||||
const finished = groupRunMessages(input, false)
|
||||
expect(finished.at(-1)?.systemType).toBe('run-end')
|
||||
})
|
||||
|
||||
@@ -57,6 +57,7 @@ test('streams a run and renders markdown, code, math and mermaid without leaking
|
||||
}, sessionId)
|
||||
|
||||
const bubble = page.locator('.message').last()
|
||||
await expect(bubble.locator('.assistant-segment-divider')).toHaveCount(0)
|
||||
await expect(bubble.locator('strong')).toHaveText('bold')
|
||||
await expect(bubble.locator('code')).toHaveCount(2)
|
||||
await expect(bubble.locator('.katex')).toHaveCount(1)
|
||||
@@ -132,11 +133,18 @@ test('groups assistant output across tool calls until the run ends', async ({ pa
|
||||
await expect(assistant).toHaveCount(1)
|
||||
await expect(assistant).toContainText('First update')
|
||||
await expect(assistant).toContainText('Second update')
|
||||
await expect(assistant.locator('.assistant-segment-divider')).toHaveCount(1)
|
||||
await expect(assistant.locator('.message-bubble')).toHaveCount(1)
|
||||
await expect(page.locator('.run-end')).toHaveCount(0)
|
||||
await page.evaluate((sid) => {
|
||||
(window as any).__PW_CHAT_SOCKET__.latest.__trigger('run.completed', { event: 'run.completed', session_id: sid, run_id: 'grouped-run' })
|
||||
}, sessionId)
|
||||
await expect(page.locator('.run-end')).toHaveText('Run output ended')
|
||||
await expect.poll(async () => {
|
||||
const bubble = await assistant.locator('.message-bubble').boundingBox()
|
||||
const end = await page.locator('.run-end').boundingBox()
|
||||
return bubble && end ? end.y - (bubble.y + bubble.height) : Infinity
|
||||
}).toBeLessThan(50)
|
||||
})
|
||||
|
||||
test('shows agent activity under its own avatar before the answer', async ({ page }) => {
|
||||
|
||||
Reference in New Issue
Block a user