Просмотр исходного кода

test(scaffold-server): expect absent lastAssistantMessage for a childless result

The subagent/end edge now encodes 'no output' as an absent field, never
an empty array; the wire projection forwards only present fields.
Hypatia May 1 месяц назад
Родитель
Сommit
ccbaedc8a8

+ 2 - 1
packages/scaffold/server/tests/built-scope-carrier.e2e.ts

@@ -106,6 +106,8 @@ describe.skipIf(!existsSync(jsonrpcBundle))('dsh-jsonrpc BUILT scope carrier', (
     })
 
     expect(stderr).not.toContain('listener threw')
+    // A childless result carries NO lastAssistantMessage on the wire: the end
+    // edge encodes "no output" as an absent field, never `[]`.
     expect(JSON.parse(stdout) as unknown).toEqual([{
       method: 'subagent.finished',
       params: {
@@ -115,7 +117,6 @@ describe.skipIf(!existsSync(jsonrpcBundle))('dsh-jsonrpc BUILT scope carrier', (
         childSessionId: 'built-child',
         status: 'ok',
         stopReason: 'completed',
-        lastAssistantMessage: [],
       },
     }])
   })

+ 2 - 1
packages/scaffold/server/tests/server.spec.ts

@@ -736,6 +736,8 @@ describe('HarnessSdkServer', () => {
         stopReason: 'error',
       })
 
+      // A childless result carries NO lastAssistantMessage on the wire: the
+      // end edge encodes "no output" as an absent field, never `[]`.
       expect(transport.notifications).toContainEqual({
         method: 'subagent.finished',
         params: {
@@ -745,7 +747,6 @@ describe('HarnessSdkServer', () => {
           childSessionId: 'fallback-child-session',
           status: 'ok',
           stopReason: 'max-tokens',
-          lastAssistantMessage: [],
         },
       })
       expect(transport.notifications).toContainEqual({