fix(subagent): complete output selection contract

This commit is contained in:
Hypatia May
2026-08-10 22:19:14 +08:00
parent 084638af47
commit 4f23fa84cc
32 changed files with 113 additions and 93 deletions
@@ -106,8 +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 `[]`.
// A result without output omits lastAssistantMessage from the wire; it
// never sends `[]`.
expect(JSON.parse(stdout) as unknown).toEqual([{
method: 'subagent.finished',
params: {
@@ -736,8 +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 `[]`.
// A result without output omits lastAssistantMessage from the wire; it
// never sends `[]`.
expect(transport.notifications).toContainEqual({
method: 'subagent.finished',
params: {