feat(subagent): catalog one-shot child sessions

This commit is contained in:
Dudu-0223
2026-07-27 16:58:37 +08:00
committed by Tianyi Cui
parent de6e572e51
commit 774ee34b9a
85 changed files with 1034 additions and 539 deletions
@@ -22,8 +22,16 @@ async function mountInvariants(ctx: Context): Promise<void> {
await ctx.plugin(AgentLoopInvariant)
}
function start(ctx: Context, provider: string, request: Omit<SubagentStartRequest, 'signal'> & { signal?: AbortSignal }) {
return ctx.subagents.start(provider, { signal: request.signal ?? new AbortController().signal, ...request })
function start(
ctx: Context,
provider: string,
request: Omit<SubagentStartRequest, 'label' | 'signal'> & { label?: string; signal?: AbortSignal },
) {
return ctx.subagents.start(provider, {
label: request.label ?? 'child task',
signal: request.signal ?? new AbortController().signal,
...request,
})
}
/**
@@ -25,8 +25,16 @@ async function mountInvariants(ctx: Context): Promise<void> {
await ctx.plugin(AgentLoopInvariant)
}
function start(ctx: Context, provider: string, request: Omit<SubagentStartRequest, 'signal'> & { signal?: AbortSignal }) {
return ctx.subagents.start(provider, { signal: request.signal ?? new AbortController().signal, ...request })
function start(
ctx: Context,
provider: string,
request: Omit<SubagentStartRequest, 'label' | 'signal'> & { label?: string; signal?: AbortSignal },
) {
return ctx.subagents.start(provider, {
label: request.label ?? 'child task',
signal: request.signal ?? new AbortController().signal,
...request,
})
}
/** A bare `stop` finish that streams no content → the turn ends `completed`