fix: complete immutable message migration
This commit is contained in:
@@ -364,7 +364,7 @@ describe('toPiContext', () => {
|
||||
it.each([
|
||||
['provider', { ...validReplay, provider: 'openai' }],
|
||||
['model', { ...validReplay, model: 'deepseek-v4-pro' }],
|
||||
])('rejects replay metadata whose %s differs from assistant provenance', (field, replayState) => {
|
||||
])('rejects replay metadata whose %s differs from assistant source', (field, replayState) => {
|
||||
try {
|
||||
toPiContext({
|
||||
provider: 'deepseek',
|
||||
@@ -382,7 +382,7 @@ describe('toPiContext', () => {
|
||||
} catch (error: unknown) {
|
||||
expect(error).toBeInstanceOf(LlmError)
|
||||
expect((error as LlmError).code).toBe('INVALID_REPLAY_STATE')
|
||||
expect((error as Error).message).toContain(`${field} does not match assistant provenance`)
|
||||
expect((error as Error).message).toContain(`${field} does not match assistant source`)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -216,9 +216,10 @@ describe('provider-routed retry policy', () => {
|
||||
expect(agent.session.events.filter(item => item.type === 'step/start').map(item => item.data))
|
||||
.toEqual([{ turn: 1, step: 1 }, { turn: 2, step: 1 }])
|
||||
expect(agent.session.deriveMessages().at(-1)).toEqual({
|
||||
id: expect.any(String) as unknown,
|
||||
role: 'assistant',
|
||||
content: [{ type: 'text', text: 'done' }],
|
||||
provenance: { provider: 'mock', model: 'mock' },
|
||||
source: { kind: 'model', provider: 'mock', model: 'mock' },
|
||||
})
|
||||
})
|
||||
|
||||
@@ -296,7 +297,7 @@ describe('provider-routed retry policy', () => {
|
||||
expect(agent.session.deriveMessages().at(-1)).toMatchObject({
|
||||
role: 'assistant',
|
||||
content: [{ type: 'text', text: 'recovered' }],
|
||||
provenance: { provider: 'mock', model: 'mock' },
|
||||
source: { kind: 'model', provider: 'mock', model: 'mock' },
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -128,8 +128,8 @@ export function createAssistantMessage(
|
||||
role: 'assistant',
|
||||
content: input.content,
|
||||
source: {
|
||||
...input.source,
|
||||
kind: 'model',
|
||||
...input.source,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user