|
|
@@ -304,6 +304,79 @@ export const SERVICE_API: readonly ServiceApiEntry[] = [
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
+ {
|
|
|
+ key: 'agentTeams',
|
|
|
+ summary: 'Agent Teams service backed by the exact live Lead Session log.',
|
|
|
+ description: 'Agent Teams service backed by the exact live Lead Session log.',
|
|
|
+ methods: [
|
|
|
+ {
|
|
|
+ signature: 'membership(agent: Agent): TeamMembership',
|
|
|
+ description: 'Resolve one exact live Agent\'s Team role.',
|
|
|
+ parameters: [{ name: 'agent', description: 'exact live Agent used as the authority credential.' }],
|
|
|
+ returns: 'its root, Team identity, role, and model-facing name.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'listMembers(agent: Agent): TeamMemberView[]',
|
|
|
+ description: 'List the runtime-enriched roster visible to one Team member.',
|
|
|
+ parameters: [{ name: 'agent', description: 'exact live Team member.' }],
|
|
|
+ returns: 'Lead and teammate rows in creation order.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'async spawnTeammate(caller: Agent, request: SpawnTeammateRequest): Promise<SpawnTeammateResult>',
|
|
|
+ description: 'Create one named, continuable direct child of the Team Lead.',
|
|
|
+ parameters: [{ name: 'caller', description: 'exact live Lead Agent.' }, { name: 'request', description: 'immutable name, description, prompt, context mode, provider, and cancellation.' }],
|
|
|
+ returns: 'the active roster row.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'async sendMessage(caller: Agent, request: SendTeamMessageRequest): Promise<SendTeamMessageResult>',
|
|
|
+ description: 'Queue one durable peer message, then attempt immediate delivery.',
|
|
|
+ parameters: [{ name: 'caller', description: 'exact live sending Team member.' }, { name: 'request', description: 'target name, content, scheduling mode, and pre-queue cancellation.' }],
|
|
|
+ returns: 'durable message identity and immediate-delivery observation.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'async createTask(caller: Agent, request: CreateTeamTaskRequest): Promise<TeamTaskView>',
|
|
|
+ description: 'Create one unowned pending task in the Team Lead log.',
|
|
|
+ parameters: [{ name: 'caller', description: 'exact live Team member creating the task.' }, { name: 'request', description: 'task text, blockers, and advisory write scopes.' }],
|
|
|
+ returns: 'the revision-one task view.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'getTask(caller: Agent, id: TeamTaskId): TeamTaskView',
|
|
|
+ description: 'Return one task, including a deleted tombstone.',
|
|
|
+ parameters: [{ name: 'caller', description: 'exact live Team member reading the task.' }, { name: 'id', description: 'Team-local task identity.' }],
|
|
|
+ returns: 'the latest task value and derived readiness diagnostics.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'listTasks(caller: Agent): TeamTaskView[]',
|
|
|
+ description: 'List current non-deleted tasks in numeric creation order.',
|
|
|
+ parameters: [{ name: 'caller', description: 'exact live Team member reading the board.' }],
|
|
|
+ returns: 'detached current task views.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'async updateTask(caller: Agent, request: UpdateTeamTaskRequest): Promise<TeamTaskView>',
|
|
|
+ description: 'Compare-and-set one authorized task transition.',
|
|
|
+ parameters: [{ name: 'caller', description: 'exact live Team member authorizing the mutation.' }, { name: 'request', description: 'task identity, expected revision, action, and action fields.' }],
|
|
|
+ returns: 'the committed next task revision.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'async waitForChange(caller: Agent, timeoutMs: number, signal: AbortSignal): Promise<TeamWaitResult>',
|
|
|
+ description: 'Wait for the next Team-domain or member-status change.',
|
|
|
+ parameters: [{ name: 'caller', description: 'exact live Team member waiting for activity.' }, { name: 'timeoutMs', description: 'bounded wait duration from ten seconds through one hour.' }, { name: 'signal', description: 'caller cancellation for the wait only.' }],
|
|
|
+ returns: 'one observed change or a timeout result.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'interrupt(caller: Agent, targetName: string): { previousStatus: \'running\' | \'idle\' | \'inactive\' }',
|
|
|
+ description: 'Interrupt one live teammate turn without clearing its pending inbox.',
|
|
|
+ parameters: [{ name: 'caller', description: 'exact live Lead Agent.' }, { name: 'targetName', description: 'durable teammate name.' }],
|
|
|
+ returns: 'the target status sampled before cancellation.',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ signature: 'tryMembership(agent: Agent): TeamMembership | undefined',
|
|
|
+ description: 'Resolve a caller without throwing, used by scoped-tool installation and observers.',
|
|
|
+ parameters: [{ name: 'agent', description: 'candidate exact live Agent.' }],
|
|
|
+ returns: 'Team membership, or undefined for non-Team subagents and stale identities.',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
{
|
|
|
key: 'apiProxy',
|
|
|
summary: 'Root interface of the unified API.',
|
|
|
@@ -1774,79 +1847,6 @@ export const SERVICE_API: readonly ServiceApiEntry[] = [
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
- {
|
|
|
- key: 'teams',
|
|
|
- summary: 'Agent Teams service backed by the exact live Lead Session log.',
|
|
|
- description: 'Agent Teams service backed by the exact live Lead Session log.',
|
|
|
- methods: [
|
|
|
- {
|
|
|
- signature: 'membership(agent: Agent): TeamMembership',
|
|
|
- description: 'Resolve one exact live Agent\'s Team role.',
|
|
|
- parameters: [{ name: 'agent', description: 'exact live Agent used as the authority credential.' }],
|
|
|
- returns: 'its root, Team identity, role, and model-facing name.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'listMembers(agent: Agent): TeamMemberView[]',
|
|
|
- description: 'List the runtime-enriched roster visible to one Team member.',
|
|
|
- parameters: [{ name: 'agent', description: 'exact live Team member.' }],
|
|
|
- returns: 'Lead and teammate rows in creation order.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'async spawnTeammate(caller: Agent, request: SpawnTeammateRequest): Promise<SpawnTeammateResult>',
|
|
|
- description: 'Create one named, continuable direct child of the Team Lead.',
|
|
|
- parameters: [{ name: 'caller', description: 'exact live Lead Agent.' }, { name: 'request', description: 'immutable name, description, prompt, context mode, provider, and cancellation.' }],
|
|
|
- returns: 'the active roster row.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'async sendMessage(caller: Agent, request: SendTeamMessageRequest): Promise<SendTeamMessageResult>',
|
|
|
- description: 'Queue one durable peer message, then attempt immediate delivery.',
|
|
|
- parameters: [{ name: 'caller', description: 'exact live sending Team member.' }, { name: 'request', description: 'target name, content, scheduling mode, and pre-queue cancellation.' }],
|
|
|
- returns: 'durable message identity and immediate-delivery observation.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'async createTask(caller: Agent, request: CreateTeamTaskRequest): Promise<TeamTaskView>',
|
|
|
- description: 'Create one unowned pending task in the Team Lead log.',
|
|
|
- parameters: [{ name: 'caller', description: 'exact live Team member creating the task.' }, { name: 'request', description: 'task text, blockers, and advisory write scopes.' }],
|
|
|
- returns: 'the revision-one task view.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'getTask(caller: Agent, id: TeamTaskId): TeamTaskView',
|
|
|
- description: 'Return one task, including a deleted tombstone.',
|
|
|
- parameters: [{ name: 'caller', description: 'exact live Team member reading the task.' }, { name: 'id', description: 'Team-local task identity.' }],
|
|
|
- returns: 'the latest task value and derived readiness diagnostics.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'listTasks(caller: Agent): TeamTaskView[]',
|
|
|
- description: 'List current non-deleted tasks in numeric creation order.',
|
|
|
- parameters: [{ name: 'caller', description: 'exact live Team member reading the board.' }],
|
|
|
- returns: 'detached current task views.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'async updateTask(caller: Agent, request: UpdateTeamTaskRequest): Promise<TeamTaskView>',
|
|
|
- description: 'Compare-and-set one authorized task transition.',
|
|
|
- parameters: [{ name: 'caller', description: 'exact live Team member authorizing the mutation.' }, { name: 'request', description: 'task identity, expected revision, action, and action fields.' }],
|
|
|
- returns: 'the committed next task revision.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'async waitForChange(caller: Agent, timeoutMs: number, signal: AbortSignal): Promise<TeamWaitResult>',
|
|
|
- description: 'Wait for the next Team-domain or member-status change.',
|
|
|
- parameters: [{ name: 'caller', description: 'exact live Team member waiting for activity.' }, { name: 'timeoutMs', description: 'bounded wait duration from ten seconds through one hour.' }, { name: 'signal', description: 'caller cancellation for the wait only.' }],
|
|
|
- returns: 'one observed change or a timeout result.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'interrupt(caller: Agent, targetName: string): { previousStatus: \'running\' | \'idle\' | \'inactive\' }',
|
|
|
- description: 'Interrupt one live teammate turn without clearing its pending inbox.',
|
|
|
- parameters: [{ name: 'caller', description: 'exact live Lead Agent.' }, { name: 'targetName', description: 'durable teammate name.' }],
|
|
|
- returns: 'the target status sampled before cancellation.',
|
|
|
- },
|
|
|
- {
|
|
|
- signature: 'tryMembership(agent: Agent): TeamMembership | undefined',
|
|
|
- description: 'Resolve a caller without throwing, used by scoped-tool installation and observers.',
|
|
|
- parameters: [{ name: 'agent', description: 'candidate exact live Agent.' }],
|
|
|
- returns: 'Team membership, or undefined for non-Team subagents and stale identities.',
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
{
|
|
|
key: 'terminals',
|
|
|
summary: 'In-process registry for replaceable PTY backends and exact-Agent sessions.',
|