feat(subagent): catalog one-shot child sessions
This commit is contained in:
85 files changed
+1034
-539
No files matched your search
@@ -420,10 +420,13 @@ describe('runWorkerSession over an in-process MessageChannel', () => {
|
||||
`))
|
||||
await host.result()
|
||||
const starts = host.ofType(WorkerToHostType.AgentStart).map(m => m.info)
|
||||
const requests = host.ofType(WorkerToHostType.ChildStart).map(m => m.request)
|
||||
expect(starts[0]).toMatchObject({ seq: 1, phase: 'Find' })
|
||||
expect(starts[0]!.label.length).toBeLessThanOrEqual(48)
|
||||
expect(starts[0]!.label).not.toContain('second line')
|
||||
expect(starts[1]).toMatchObject({ seq: 2, label: 'named', phase: 'Custom' })
|
||||
expect(requests[0]!.label).toBe(starts[0]!.label)
|
||||
expect(requests[1]!.label).toBe('named')
|
||||
host.close()
|
||||
})
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@ describe('dsh-workflow-workerthread', () => {
|
||||
reply: () => ({ output: [], structured: { files: ['x.ts', 'y.ts'] }, stopReason: 'completed' }),
|
||||
})
|
||||
const result = await run(ctx, parent, scripted(`
|
||||
const found = await agent('list files', { model: 'deepseek-v4-pro', schema: { type: 'object', properties: { files: { type: 'array', items: { type: 'string' } } }, required: ['files'] } })
|
||||
const found = await agent('list files', { label: 'inventory', model: 'deepseek-v4-pro', schema: { type: 'object', properties: { files: { type: 'array', items: { type: 'string' } } }, required: ['files'] } })
|
||||
return { first: found.files[0], count: found.files.length }
|
||||
`))
|
||||
expect(result.value).toEqual({ first: 'x.ts', count: 2 })
|
||||
@@ -221,6 +221,7 @@ describe('dsh-workflow-workerthread', () => {
|
||||
required: ['files'],
|
||||
})
|
||||
expect(provider.runs[0]!.request.agentOptions).toEqual({ model: 'deepseek-v4-pro' })
|
||||
expect(provider.runs[0]!.request.label).toBe('inventory')
|
||||
expect(provider.runs[0]!.request.parent).toBeDefined()
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user