test(session): cover the turn/end step invariant and content shape guard
- invariant.spec: a turn/end whose step does not match the last opened step fails with 'expected last step'. - session.spec: a seed message whose content is not an array fails with 'message has invalid content'.
This commit is contained in:
@@ -131,6 +131,13 @@ describe('session-log invariants', () => {
|
||||
expect(() => second.append('turn/start', { turn: 3 }))
|
||||
.toThrow(/expected turn 2, got 3/)
|
||||
|
||||
const third = (await setup()).ctx.sessions.create()
|
||||
third.append('turn/start', { turn: 1 })
|
||||
third.append('step/start', { turn: 1, step: 1 })
|
||||
third.append('step/end', { turn: 1, step: 1 })
|
||||
expect(() => third.append('turn/end', { turn: 1, step: 2, reason: { kind: 'completed' } }))
|
||||
.toThrow(/expected last step 1, got 2/)
|
||||
|
||||
const outside = (await setup()).ctx.sessions.create()
|
||||
expect(() => outside.append('user/message', createUserMessage({
|
||||
content: [{ type: 'text', text: 'idle context' }],
|
||||
|
||||
Reference in New Issue
Block a user