@cogitator-ai/a2a 0.8.40 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -25,6 +25,7 @@ pnpm add @cogitator-ai/a2a @cogitator-ai/core
25
25
  - **Agent Card signing** - JWS (HS256) signatures in `signatures`
26
26
  - **Authenticated extended card** - `agent/getAuthenticatedExtendedCard`
27
27
  - **Tool approvals** - Paused runs wait in `input-required` with the calls in a data part
28
+ - **Tool questions** - Questions tools ask with `context.interrupt()` reach the client in a data part, its answer resumes the run
28
29
  - **RedisTaskStore** - Production-grade task persistence
29
30
  - **Framework adapters** - Express, Hono, Fastify, Koa, Next.js
30
31
  - **No A2A SDK dependency** - Own implementation of the spec (runtime deps: `@cogitator-ai/types`, `@cogitator-ai/server-shared`, `zod`)
@@ -117,7 +118,7 @@ The client fills in `kind: 'message'` and a fresh `messageId` when a message lea
117
118
 
118
119
  `A2AClient` options: `headers` (sent with every request, e.g. `Authorization`), `timeout` (ms, default `30000`), `agentCardPath` (a card path relative to the base URL, no fallback), `rpcPath` (send requests to this path at the base URL instead of the card's `url`, without reading the card) and `agentName` (an agent of a Cogitator server hosting several: the client uses that agent's own card and endpoint).
119
120
 
120
- Other calls: `getTask(id, historyLength?)`, `cancelTask(id)`, `resubscribeTask(id)` (reconnect to a task's stream), `continueTask(id, text)`, `answerApprovals(id, decisions)`, `listTasks(filter?)` and the push notification calls below.
121
+ Other calls: `getTask(id, historyLength?)`, `cancelTask(id)`, `resubscribeTask(id)` (reconnect to a task's stream), `continueTask(id, text)`, `answerApprovals(id, decisions)`, `answerQuestions(id, responses)`, `listTasks(filter?)` and the push notification calls below.
121
122
 
122
123
  ### Use Remote Agent as a Tool
123
124
 
@@ -140,7 +141,7 @@ const result = await cogitator.run(orchestrator, {
140
141
 
141
142
  `asToolFromCard` names the tool after the card, made into a name every LLM provider accepts (`Research Agent` becomes `Research_Agent`). Pass `{ name }` to choose it yourself.
142
143
 
143
- The tool returns `{ output, success, error?, taskId?, state?, pendingApprovals? }`. `output` is the remote agent's answer: the text of the task's status message, else of its last agent message, else of its artifacts. When the remote task waits on the client (`state: 'input-required'`), `success` is `false`, `output` carries the remote agent's question and `taskId` lets you answer with `client.continueTask()`. A remote task waiting for [tool approvals](#tool-approvals) lists the calls in `pendingApprovals`. The run's abort signal and the tool timeout are forwarded to the HTTP request.
144
+ The tool returns `{ output, success, error?, taskId?, state?, pendingApprovals?, pendingQuestions? }`. `output` is the remote agent's answer: the text of the task's status message, else of its last agent message, else of its artifacts. When the remote task waits on the client (`state: 'input-required'`), `success` is `false`, `output` carries the remote agent's question and `taskId` lets you answer with `client.continueTask()`. A remote task waiting for [tool approvals](#tool-approvals) lists the calls in `pendingApprovals`, one waiting on [questions of its tools](#tool-questions) lists them in `pendingQuestions`. The run's abort signal and the tool timeout are forwarded to the HTTP request.
144
145
 
145
146
  ## Authentication
146
147
 
@@ -269,7 +270,26 @@ if (waiting) {
269
270
  }
270
271
  ```
271
272
 
272
- `toolApprovalResponsePart({ decisions?, defaultDecision? })` builds the part for a hand-written message. Calls left without a decision keep the task waiting. A text reply instead of decisions moves on: the waiting calls are declined and the agent answers the new message. The server resumes through `cogitator.resume()` by the task's `contextId`, so the paused run has to be where the server Cogitator keeps paused runs (its memory, or `runCheckpoints` shared by every server instance). `asTool()` reports such a remote task with `success: false`, the `taskId` and the calls in `pendingApprovals`.
273
+ `toolApprovalResponsePart({ decisions?, defaultDecision? })` builds the part for a hand-written message. Calls left without a decision keep the task waiting. A text reply instead of decisions moves on: the waiting calls are declined and the agent answers the new message. The task keeps the paused run's id and checkpoint, and the server resumes exactly that run through `cogitator.resume()` from the checkpoint (by the task's `contextId` when the Cogitator returns none). Before it resumes, it checks with `cogitator.pausedRun(contextId)` that the run still waits, so the paused run has to be where the server Cogitator keeps paused runs (its memory, or `runCheckpoints` shared by every server instance). `asTool()` reports such a remote task with `success: false`, the `taskId` and the calls in `pendingApprovals`.
274
+
275
+ ## Tool Questions
276
+
277
+ A tool can stop the run to ask a person something with `context.interrupt({ reason, message, responseSchema })`. The task then waits in `input-required` too: its status message says the question and carries it in a data part (`{ kind: 'interrupt-request', questions: [{ id, reason, message, responseSchema?, expiresAt?, toolName? }] }`). The client answers by question id with an `interrupt-response` data part in the message that continues the task, and the server resumes the run with those answers:
278
+
279
+ ```typescript
280
+ import { readInterruptRequest } from '@cogitator-ai/a2a';
281
+
282
+ const questions = task.kind === 'task' ? readInterruptRequest(task) : undefined;
283
+ if (questions) {
284
+ const done = await client.answerQuestions(task.id, { [questions[0].id]: { ok: true } });
285
+ }
286
+ ```
287
+
288
+ `interruptResponsePart(responses)` builds the part for a hand-written message. A task waiting on a single question also takes the continuing message itself as the answer: its first data part, else its text, read by the question's `responseSchema` with `parseAnswer()` from `@cogitator-ai/types` (`yes` for a boolean, `3` for a number, a member of an enum, a comma-separated list). The status message names the answer form after each question, such as `Go ahead? (yes or no)`. A text that does not answer, an answer the run refuses as not matching the schema (`INTERRUPT_ANSWER_INVALID`) and an interrupt response naming no waiting question keep the task in `input-required` with why, so the client can answer again. Other resume errors fail the task.
289
+
290
+ An answer after the question's `expiresAt` ends the task `failed`, its status message saying which question expired, and lifts the pause with `cogitator.cancelPause()` (the waiting calls answered as declined because the question expired), so the context goes on with its next message. A run that waits for approvals and questions at once carries both parts, and one message can answer both.
291
+
292
+ A new task in the same context starts a run on the context's thread, and the runtime answers the calls an earlier task's paused run waits on with "The user moved on". That earlier task then ends `canceled`, its status message saying a newer message moved on, instead of waiting in `input-required` on a run that is gone: answer a task's questions before sending the context something new. A message that continues the task itself without answering (plain text while several questions wait) moves on the same way, as a new turn of the task. `asTool()` reports such a remote task with `success: false`, the `taskId` and the questions in `pendingQuestions`.
273
293
 
274
294
  ## Listing Tasks
275
295
 
package/dist/client.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { Tool, ToolApprovalRequest } from '@cogitator-ai/types';
2
2
  import type { AgentCard, A2AMessageInput, A2ATask, A2AStreamEvent, A2AClientConfig, MessageSendConfiguration, PushNotificationConfig, SendMessageResult, TaskFilter, TaskPushNotificationConfig, TaskState } from './types.js';
3
3
  import { type ToolApprovalResponse } from './approvals.js';
4
+ import { type TaskQuestion } from './questions.js';
4
5
  export interface A2AToolOptions {
5
6
  name?: string;
6
7
  description?: string;
@@ -19,6 +20,11 @@ export interface A2AToolResult {
19
20
  * answer with `answerApprovals` (or a `toolApprovalResponsePart` in a message that continues `taskId`)
20
21
  */
21
22
  pendingApprovals?: ToolApprovalRequest[];
23
+ /**
24
+ * The questions the remote agent's tools asked, when the task is `input-required` for them:
25
+ * answer with `answerQuestions` (or an `interruptResponsePart` in a message that continues `taskId`)
26
+ */
27
+ pendingQuestions?: TaskQuestion[];
22
28
  }
23
29
  export interface A2ARequestOptions {
24
30
  /** Cancels the request (and an in-flight stream) */
@@ -72,6 +78,17 @@ export declare class A2AClient {
72
78
  * ```
73
79
  */
74
80
  answerApprovals(taskId: string, response: ToolApprovalResponse, config?: MessageSendConfiguration, options?: A2ARequestOptions): Promise<SendMessageResult>;
81
+ /**
82
+ * Answer the questions a task waits on in `input-required` (see `readInterruptRequest`), by
83
+ * question id: the remote run goes on with these answers.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * const questions = readInterruptRequest(task);
88
+ * if (questions) await client.answerQuestions(task.id, { [questions[0].id]: { ok: true } });
89
+ * ```
90
+ */
91
+ answerQuestions(taskId: string, responses: Record<string, unknown>, config?: MessageSendConfiguration, options?: A2ARequestOptions): Promise<SendMessageResult>;
75
92
  /** The caller's tasks on a Cogitator server (the `tasks/list` extension method). */
76
93
  listTasks(filter?: Omit<TaskFilter, 'visibleTo'>): Promise<A2ATask[]>;
77
94
  asTool(options?: A2AToolOptions): Tool<{
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -5,6 +5,7 @@ import { A2AError } from './errors.js';
5
5
  import * as errors from './errors.js';
6
6
  import { verifyAgentCardSignature } from './agent-card.js';
7
7
  import { readToolApprovalRequest, toolApprovalResponsePart, } from './approvals.js';
8
+ import { interruptResponsePart, readInterruptRequest } from './questions.js';
8
9
  import { artifactText, messageText, textPart, toMessage } from './protocol.js';
9
10
  import { trimTrailingSlashes } from './url.js';
10
11
  const TOOL_NAME_MAX_LENGTH = 64;
@@ -148,6 +149,19 @@ export class A2AClient {
148
149
  async answerApprovals(taskId, response, config, options) {
149
150
  return this.sendMessage({ role: 'user', parts: [toolApprovalResponsePart(response)], taskId }, config, options);
150
151
  }
152
+ /**
153
+ * Answer the questions a task waits on in `input-required` (see `readInterruptRequest`), by
154
+ * question id: the remote run goes on with these answers.
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * const questions = readInterruptRequest(task);
159
+ * if (questions) await client.answerQuestions(task.id, { [questions[0].id]: { ok: true } });
160
+ * ```
161
+ */
162
+ async answerQuestions(taskId, responses, config, options) {
163
+ return this.sendMessage({ role: 'user', parts: [interruptResponsePart(responses)], taskId }, config, options);
164
+ }
151
165
  /** The caller's tasks on a Cogitator server (the `tasks/list` extension method). */
152
166
  async listTasks(filter) {
153
167
  const result = (await this.rpc('tasks/list', filter ?? {}));
@@ -180,17 +194,21 @@ export class A2AClient {
180
194
  }
181
195
  if (state === 'input-required' || state === 'auth-required') {
182
196
  const pendingApprovals = readToolApprovalRequest(task);
197
+ const pendingQuestions = readInterruptRequest(task);
183
198
  return {
184
199
  output,
185
200
  success: false,
186
- error: pendingApprovals
201
+ error: pendingApprovals?.length
187
202
  ? `Remote agent waits for approval of ${pendingApprovals.map((p) => p.toolName).join(', ')} before it continues this task`
188
- : state === 'auth-required'
189
- ? 'Remote agent requires authentication to continue this task'
190
- : 'Remote agent requires more input to continue this task',
203
+ : pendingQuestions
204
+ ? `Remote agent waits for answers to ${pendingQuestions.map((q) => `${q.reason} ("${q.message}")`).join(', ')} before it continues this task`
205
+ : state === 'auth-required'
206
+ ? 'Remote agent requires authentication to continue this task'
207
+ : 'Remote agent requires more input to continue this task',
191
208
  taskId: task.id,
192
209
  state,
193
- ...(pendingApprovals && { pendingApprovals }),
210
+ ...(pendingApprovals?.length && { pendingApprovals }),
211
+ ...(pendingQuestions && { pendingQuestions }),
194
212
  };
195
213
  }
196
214
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,8 @@ export { RedisTaskStore } from './redis-task-store.js';
10
10
  export type { RedisClientLike, RedisTaskStoreConfig } from './redis-task-store.js';
11
11
  export { TOOL_APPROVAL_REQUEST_KIND, TOOL_APPROVAL_RESPONSE_KIND, toolApprovalRequestPart, toolApprovalResponsePart, readToolApprovalRequest, readToolApprovalResponse, } from './approvals.js';
12
12
  export type { ToolApprovalResponse } from './approvals.js';
13
+ export { INTERRUPT_REQUEST_KIND, INTERRUPT_RESPONSE_KIND, interruptRequestPart, interruptResponsePart, readInterruptRequest, readInterruptResponse, } from './questions.js';
14
+ export type { TaskQuestion } from './questions.js';
13
15
  export { toMessage, agentMessage, textPart, messageText, artifactText, isA2ATask, newMessageId, parseMessageSendParams, } from './protocol.js';
14
16
  export { TaskManager } from './task-manager.js';
15
17
  export type { TaskManagerConfig, ExecuteTaskOptions, TaskEvent } from './task-manager.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE1F,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,sCAAsC,EACtC,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,eAAe,EACf,QAAQ,EACR,UAAU,EACV,OAAO,EACP,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,kCAAkC,EAClC,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export { generateAgentCard, signAgentCard, verifyAgentCardSignature, canonicalJs
4
4
  export { InMemoryTaskStore } from './task-store.js';
5
5
  export { RedisTaskStore } from './redis-task-store.js';
6
6
  export { TOOL_APPROVAL_REQUEST_KIND, TOOL_APPROVAL_RESPONSE_KIND, toolApprovalRequestPart, toolApprovalResponsePart, readToolApprovalRequest, readToolApprovalResponse, } from './approvals.js';
7
+ export { INTERRUPT_REQUEST_KIND, INTERRUPT_RESPONSE_KIND, interruptRequestPart, interruptResponsePart, readInterruptRequest, readInterruptResponse, } from './questions.js';
7
8
  export { toMessage, agentMessage, textPart, messageText, artifactText, isA2ATask, newMessageId, parseMessageSendParams, } from './protocol.js';
8
9
  export { TaskManager } from './task-manager.js';
9
10
  export { InMemoryPushNotificationStore, PushNotificationSender, NOTIFICATION_TOKEN_HEADER, validateWebhookUrl, isPrivateAddress, } from './push-notifications.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,sCAAsC,EACtC,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,sCAAsC,EACtC,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,8EAA8E;AAC9E,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,4GAA4G;AAC5G,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG3D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGzF;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAG9C;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAInD;AASD,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAOjD"}
1
+ {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAK1C,8EAA8E;AAC9E,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,4GAA4G;AAC5G,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG3D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGzF;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAG9C;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAInD;AAWD,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAOjD"}
package/dist/ownership.js CHANGED
@@ -1,4 +1,6 @@
1
1
  import { TASK_PENDING_APPROVALS_KEY } from './approvals.js';
2
+ import { TASK_PENDING_QUESTIONS_KEY } from './questions.js';
3
+ import { TASK_PAUSED_RUN_KEY } from './paused-run.js';
2
4
  /** Metadata key holding the user a task belongs to; never sent to clients. */
3
5
  export const TASK_OWNER_KEY = 'cogitator:owner';
4
6
  /** Metadata key holding when a task was created, to order the tasks of a context; never sent to clients. */
@@ -31,6 +33,8 @@ export function taskCreatedAt(task) {
31
33
  const INTERNAL_KEYS = [
32
34
  TASK_OWNER_KEY,
33
35
  TASK_PENDING_APPROVALS_KEY,
36
+ TASK_PENDING_QUESTIONS_KEY,
37
+ TASK_PAUSED_RUN_KEY,
34
38
  TASK_CREATED_AT_KEY,
35
39
  ];
36
40
  /** The task as a client receives it: without the internal metadata keys. */
@@ -1 +1 @@
1
- {"version":3,"file":"ownership.js","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEhD,4GAA4G;AAC5G,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,CAAC;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAa,EAAE,MAAiC;IAC9E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC;AACjD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7E,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,wEAAwE;AACxE,MAAM,aAAa,GAAsB;IACvC,cAAc;IACd,0BAA0B;IAC1B,mBAAmB;CACpB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACpE,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,eAAe,CAAC,IAAa;IACpC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"ownership.js","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEhD,4GAA4G;AAC5G,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,CAAC;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAa,EAAE,MAAiC;IAC9E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC;AACjD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7E,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,wEAAwE;AACxE,MAAM,aAAa,GAAsB;IACvC,cAAc;IACd,0BAA0B;IAC1B,0BAA0B;IAC1B,mBAAmB;IACnB,mBAAmB;CACpB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACpE,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,eAAe,CAAC,IAAa;IACpC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { RunCheckpoint } from '@cogitator-ai/types';
2
+ import type { A2ATask } from './types.js';
3
+ /** Metadata key holding the paused run a task waits on, never sent to clients. */
4
+ export declare const TASK_PAUSED_RUN_KEY = "cogitator:pausedRun";
5
+ /**
6
+ * The paused run a task waits on, as the task manager keeps it to resume exactly that run. It
7
+ * paused in the thread of the task's context.
8
+ */
9
+ export interface TaskPausedRun {
10
+ runId: string;
11
+ /** The run's checkpoint, when the Cogitator returned one */
12
+ checkpoint?: RunCheckpoint;
13
+ }
14
+ /** The paused run a task waits on, or undefined when it waits on none (or predates the record). */
15
+ export declare function taskPausedRun(task: A2ATask): TaskPausedRun | undefined;
16
+ //# sourceMappingURL=paused-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paused-run.d.ts","sourceRoot":"","sources":["../src/paused-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,mGAAmG;AACnG,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAOtE"}
@@ -0,0 +1,23 @@
1
+ /** Metadata key holding the paused run a task waits on, never sent to clients. */
2
+ export const TASK_PAUSED_RUN_KEY = 'cogitator:pausedRun';
3
+ /** The paused run a task waits on, or undefined when it waits on none (or predates the record). */
4
+ export function taskPausedRun(task) {
5
+ const record = task.metadata?.[TASK_PAUSED_RUN_KEY];
6
+ if (!isRecord(record) || typeof record.runId !== 'string')
7
+ return undefined;
8
+ return {
9
+ runId: record.runId,
10
+ ...(isRunCheckpoint(record.checkpoint) && { checkpoint: record.checkpoint }),
11
+ };
12
+ }
13
+ function isRunCheckpoint(value) {
14
+ return (isRecord(value) &&
15
+ value.version === 1 &&
16
+ typeof value.runId === 'string' &&
17
+ typeof value.threadId === 'string' &&
18
+ Array.isArray(value.messages));
19
+ }
20
+ function isRecord(value) {
21
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
22
+ }
23
+ //# sourceMappingURL=paused-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paused-run.js","sourceRoot":"","sources":["../src/paused-run.ts"],"names":[],"mappings":"AAGA,kFAAkF;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAYzD,mGAAmG;AACnG,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5E,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,OAAO,KAAK,CAAC;QACnB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { type RunInterrupt } from '@cogitator-ai/types';
2
+ import type { A2AMessage, A2ATask, DataPart } from './types.js';
3
+ /** `kind` of the data part an agent sends when its run waits on questions its tools asked. */
4
+ export declare const INTERRUPT_REQUEST_KIND = "interrupt-request";
5
+ /** `kind` of the data part a client sends back with its answers. */
6
+ export declare const INTERRUPT_RESPONSE_KIND = "interrupt-response";
7
+ /** Metadata key holding the questions a task waits on; never sent to clients. */
8
+ export declare const TASK_PENDING_QUESTIONS_KEY = "cogitator:pendingQuestions";
9
+ /** A question a tool of the remote agent asked (`context.interrupt()`), as the task carries it. */
10
+ export interface TaskQuestion {
11
+ /** Key of its answer in an interrupt response */
12
+ id: string;
13
+ /** Why the run asks, a short machine-readable reason such as `confirm_plan` */
14
+ reason: string;
15
+ /** What to tell the person who answers */
16
+ message: string;
17
+ /** JSON Schema the answer must match */
18
+ responseSchema?: Record<string, unknown>;
19
+ /** ISO time after which an answer is refused */
20
+ expiresAt?: string;
21
+ /** The tool that asked */
22
+ toolName?: string;
23
+ }
24
+ /** A run's question as a task carries it: what the client needs to answer, nothing internal. */
25
+ export declare function toTaskQuestion(interrupt: RunInterrupt): TaskQuestion;
26
+ /** The data part an agent's message carries when its run waits on questions of its tools. */
27
+ export declare function interruptRequestPart(questions: readonly TaskQuestion[]): DataPart;
28
+ /**
29
+ * The data part that answers the questions an `input-required` task waits on, by question id:
30
+ * send it in the message that continues the task. A task waiting on a single question also takes
31
+ * a plain message as the answer: its data part, else its text.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const questions = readInterruptRequest(task);
36
+ * if (questions) {
37
+ * await client.answerQuestions(task.id, { [questions[0].id]: { ok: true } });
38
+ * }
39
+ * ```
40
+ */
41
+ export declare function interruptResponsePart(responses: Record<string, unknown>): DataPart;
42
+ /**
43
+ * The questions an `input-required` task waits on, read from its status message (or, when a
44
+ * server leaves that out, its last agent message), or undefined when it waits on none.
45
+ */
46
+ export declare function readInterruptRequest(task: A2ATask): TaskQuestion[] | undefined;
47
+ /** The answers a message carries in an interrupt response data part, if any. */
48
+ export declare function readInterruptResponse(message: A2AMessage): Record<string, unknown> | undefined;
49
+ /** The questions a task's paused run waits on, as the task manager keeps them. */
50
+ export declare function taskPendingQuestions(task: A2ATask): TaskQuestion[] | undefined;
51
+ /**
52
+ * What a message that continues a task gives the questions it waits on: the answers by question
53
+ * id, or why it answers none, in words for the person who wrote it.
54
+ */
55
+ export type MessageAnswers = {
56
+ responses: Record<string, unknown>;
57
+ } | {
58
+ problem: string;
59
+ };
60
+ /**
61
+ * The answers a message that continues a task gives to the questions it waits on: those of an
62
+ * interrupt response data part, or for a single question, the message itself (its first data
63
+ * part that is not a Cogitator approval or interrupt part, else its text read with
64
+ * `parseAnswer()` by the question's schema). A `problem` when an interrupt response names a
65
+ * question the task does not wait on, or the text does not answer the question. Undefined when
66
+ * the message answers nothing, e.g. plain text while several questions wait.
67
+ */
68
+ export declare function answersFromMessage(message: A2AMessage, questions: readonly TaskQuestion[]): MessageAnswers | undefined;
69
+ /** A question as a person reads it: its message and, unless it takes free text, the answer form. */
70
+ export declare function questionPrompt(question: TaskQuestion): string;
71
+ //# sourceMappingURL=questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../src/questions.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGhE,8FAA8F;AAC9F,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAC1D,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAE5D,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE,mGAAmG;AACnG,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA4BD,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,SAAS,EAAE,YAAY,GAAG,YAAY,CASpE;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,GAAG,QAAQ,CAQjF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAElF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE,GAAG,SAAS,CAW9E;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAO9F;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE,GAAG,SAAS,CAG9E;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,SAAS,YAAY,EAAE,GACjC,cAAc,GAAG,SAAS,CAyB5B;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAG7D"}
@@ -0,0 +1,141 @@
1
+ import { z } from 'zod';
2
+ import { answerFormat, parseAnswer } from '@cogitator-ai/types';
3
+ import { TOOL_APPROVAL_REQUEST_KIND, TOOL_APPROVAL_RESPONSE_KIND } from './approvals.js';
4
+ /** `kind` of the data part an agent sends when its run waits on questions its tools asked. */
5
+ export const INTERRUPT_REQUEST_KIND = 'interrupt-request';
6
+ /** `kind` of the data part a client sends back with its answers. */
7
+ export const INTERRUPT_RESPONSE_KIND = 'interrupt-response';
8
+ /** Metadata key holding the questions a task waits on; never sent to clients. */
9
+ export const TASK_PENDING_QUESTIONS_KEY = 'cogitator:pendingQuestions';
10
+ const questionSchema = z.object({
11
+ id: z.string(),
12
+ reason: z.string(),
13
+ message: z.string(),
14
+ responseSchema: z.record(z.string(), z.unknown()).optional(),
15
+ expiresAt: z.string().optional(),
16
+ toolName: z.string().optional(),
17
+ });
18
+ const requestSchema = z.object({
19
+ kind: z.literal(INTERRUPT_REQUEST_KIND),
20
+ questions: z.array(questionSchema),
21
+ });
22
+ const responseSchema = z.object({
23
+ kind: z.literal(INTERRUPT_RESPONSE_KIND),
24
+ responses: z.record(z.string(), z.unknown()),
25
+ });
26
+ const COGITATOR_PART_KINDS = new Set([
27
+ TOOL_APPROVAL_REQUEST_KIND,
28
+ TOOL_APPROVAL_RESPONSE_KIND,
29
+ INTERRUPT_REQUEST_KIND,
30
+ INTERRUPT_RESPONSE_KIND,
31
+ ]);
32
+ /** A run's question as a task carries it: what the client needs to answer, nothing internal. */
33
+ export function toTaskQuestion(interrupt) {
34
+ return {
35
+ id: interrupt.id,
36
+ reason: interrupt.reason,
37
+ message: interrupt.message,
38
+ ...(interrupt.responseSchema && { responseSchema: interrupt.responseSchema }),
39
+ ...(interrupt.expiresAt && { expiresAt: interrupt.expiresAt }),
40
+ ...(interrupt.toolName && { toolName: interrupt.toolName }),
41
+ };
42
+ }
43
+ /** The data part an agent's message carries when its run waits on questions of its tools. */
44
+ export function interruptRequestPart(questions) {
45
+ return {
46
+ kind: 'data',
47
+ data: {
48
+ kind: INTERRUPT_REQUEST_KIND,
49
+ questions: questions.map((question) => ({ ...question })),
50
+ },
51
+ };
52
+ }
53
+ /**
54
+ * The data part that answers the questions an `input-required` task waits on, by question id:
55
+ * send it in the message that continues the task. A task waiting on a single question also takes
56
+ * a plain message as the answer: its data part, else its text.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const questions = readInterruptRequest(task);
61
+ * if (questions) {
62
+ * await client.answerQuestions(task.id, { [questions[0].id]: { ok: true } });
63
+ * }
64
+ * ```
65
+ */
66
+ export function interruptResponsePart(responses) {
67
+ return { kind: 'data', data: { kind: INTERRUPT_RESPONSE_KIND, responses: { ...responses } } };
68
+ }
69
+ /**
70
+ * The questions an `input-required` task waits on, read from its status message (or, when a
71
+ * server leaves that out, its last agent message), or undefined when it waits on none.
72
+ */
73
+ export function readInterruptRequest(task) {
74
+ if (task.status.state !== 'input-required')
75
+ return undefined;
76
+ const last = task.status.message ??
77
+ [...(task.history ?? [])].reverse().find((message) => message.role === 'agent');
78
+ for (const part of last?.parts ?? []) {
79
+ if (part.kind !== 'data')
80
+ continue;
81
+ const parsed = requestSchema.safeParse(part.data);
82
+ if (parsed.success && parsed.data.questions.length > 0)
83
+ return parsed.data.questions;
84
+ }
85
+ return undefined;
86
+ }
87
+ /** The answers a message carries in an interrupt response data part, if any. */
88
+ export function readInterruptResponse(message) {
89
+ for (const part of message.parts) {
90
+ if (part.kind !== 'data')
91
+ continue;
92
+ const parsed = responseSchema.safeParse(part.data);
93
+ if (parsed.success)
94
+ return parsed.data.responses;
95
+ }
96
+ return undefined;
97
+ }
98
+ /** The questions a task's paused run waits on, as the task manager keeps them. */
99
+ export function taskPendingQuestions(task) {
100
+ const parsed = z.array(questionSchema).safeParse(task.metadata?.[TASK_PENDING_QUESTIONS_KEY]);
101
+ return parsed.success && parsed.data.length > 0 ? parsed.data : undefined;
102
+ }
103
+ /**
104
+ * The answers a message that continues a task gives to the questions it waits on: those of an
105
+ * interrupt response data part, or for a single question, the message itself (its first data
106
+ * part that is not a Cogitator approval or interrupt part, else its text read with
107
+ * `parseAnswer()` by the question's schema). A `problem` when an interrupt response names a
108
+ * question the task does not wait on, or the text does not answer the question. Undefined when
109
+ * the message answers nothing, e.g. plain text while several questions wait.
110
+ */
111
+ export function answersFromMessage(message, questions) {
112
+ const explicit = readInterruptResponse(message);
113
+ if (explicit) {
114
+ const unknown = Object.keys(explicit).filter((id) => !questions.some((question) => question.id === id));
115
+ return unknown.length > 0
116
+ ? { problem: `The answers name no question this task waits on: ${unknown.join(', ')}.` }
117
+ : { responses: explicit };
118
+ }
119
+ if (questions.length !== 1)
120
+ return undefined;
121
+ const [question] = questions;
122
+ const data = message.parts.find((part) => part.kind === 'data' && !COGITATOR_PART_KINDS.has(part.data.kind));
123
+ if (data)
124
+ return { responses: { [question.id]: data.data } };
125
+ const text = message.parts
126
+ .flatMap((part) => (part.kind === 'text' ? [part.text] : []))
127
+ .join('\n')
128
+ .trim();
129
+ if (!text)
130
+ return undefined;
131
+ const parsed = parseAnswer(text, question.responseSchema);
132
+ return parsed.ok
133
+ ? { responses: { [question.id]: parsed.value } }
134
+ : { problem: `That does not answer the question: ${parsed.problem}.` };
135
+ }
136
+ /** A question as a person reads it: its message and, unless it takes free text, the answer form. */
137
+ export function questionPrompt(question) {
138
+ const format = answerFormat(question.responseSchema);
139
+ return format ? `${question.message} (${format})` : question.message;
140
+ }
141
+ //# sourceMappingURL=questions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../src/questions.ts"],"names":[],"mappings":"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"}