@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 +23 -3
- package/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +23 -5
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ownership.d.ts.map +1 -1
- package/dist/ownership.js +4 -0
- package/dist/ownership.js.map +1 -1
- package/dist/paused-run.d.ts +16 -0
- package/dist/paused-run.d.ts.map +1 -0
- package/dist/paused-run.js +23 -0
- package/dist/paused-run.js.map +1 -0
- package/dist/questions.d.ts +71 -0
- package/dist/questions.d.ts.map +1 -0
- package/dist/questions.js +141 -0
- package/dist/questions.js.map +1 -0
- package/dist/task-manager.d.ts +43 -7
- package/dist/task-manager.d.ts.map +1 -1
- package/dist/task-manager.js +228 -36
- package/dist/task-manager.js.map +1 -1
- package/dist/types.d.ts +33 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +5 -5
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
|
|
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<{
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAA2B,MAAM,qBAAqB,CAAC;AAG9F,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,OAAO,EACP,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,0BAA0B,EAC1B,SAAS,EACV,MAAM,YAAY,CAAC;AAMpB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;
|
|
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
|
-
:
|
|
189
|
-
?
|
|
190
|
-
:
|
|
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 {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AA8B/C,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAE5D;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAChD,IAAI,IAAI,CAAC,MAAM,IAAI,oBAAoB;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACjF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CAAC,CAAc,EAAE,CAAc;IACpD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,UAAU,CAAC,MAAM,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACtE,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,KAAqB;IACzC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAa;IAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,SAAS;IACZ,OAAO,CAAS;IAChB,OAAO,CAAyB;IAChC,OAAO,CAAS;IAChB,aAAa,CAAU;IACvB,OAAO,CAAU;IACjB,SAAS,CAAU;IACnB,UAAU,GAAqB,IAAI,CAAC;IACpC,aAAa,GAAkB,IAAI,CAAC;IAE5C,YAAY,OAAe,EAAE,MAAwB;QACnD,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,SAAS,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAE5C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,EAAE,CAAC;QACjI,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,mGAAmG;IACnG,KAAK,CAAC,WAAW,CACf,OAAwB,EACxB,MAAiC,EACjC,OAA2B;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,cAAc,EACd,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,EACzE,OAAO,CACR,CAAC;QACF,OAAO,MAA2B,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,iBAAiB,CACtB,OAAwB,EACxB,MAAiC,EACjC,OAA2B;QAE3B,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAChB,gBAAgB,EAChB,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,EACzE,OAAO,CACR,CAAC;IACJ,CAAC;IAED,sGAAsG;IACtG,KAAK,CAAC,CAAC,eAAe,CACpB,MAAc,EACd,OAA2B;QAE3B,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,aAAsB;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,WAAW,EACX,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAC7E,CAAC;QACF,OAAO,MAAiB,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,OAAO,MAAiB,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,IAAY,EACZ,MAAiC,EACjC,OAA2B;QAE3B,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9F,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,QAA8B,EAC9B,MAAiC,EACjC,OAA2B;QAE3B,OAAO,IAAI,CAAC,WAAW,CACrB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EACrE,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,SAAS,CAAC,MAAsC;QACpD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC,CAAyB,CAAC;QACpF,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,kBAAkB,CAAC;QACrD,MAAM,eAAe,GAAG,OAAO,EAAE,WAAW,IAAI,kBAAkB,CAAC;QACnE,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAErD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAClE,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,eAAe;YAC5B,UAAU;YACV,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,CAAC,UAAU,CAAC;YAEzB,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,OAAoB,EAA0B,EAAE;gBACxF,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAChD,SAAS,EACT,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAClD,CAAC;oBACF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC9B,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBACxD,CAAC;oBAED,MAAM,IAAI,GAAG,MAAM,CAAC;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;oBAEhC,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;wBAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBAC1C,CAAC;oBAED,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;wBAC5D,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;wBACvD,OAAO;4BACL,MAAM;4BACN,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,gBAAgB;gCACrB,CAAC,CAAC,sCAAsC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;gCAC1H,CAAC,CAAC,KAAK,KAAK,eAAe;oCACzB,CAAC,CAAC,4DAA4D;oCAC9D,CAAC,CAAC,wDAAwD;4BAC9D,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,KAAK;4BACL,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,CAAC;yBAC9C,CAAC;oBACJ,CAAC;oBAED,OAAO;wBACL,MAAM;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,MAAM,IAAI,+BAA+B,KAAK,EAAE;wBACvD,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,KAAK;qBACN,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO;wBACL,MAAM,EAAE,EAAE;wBACV,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM;gBACJ,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,eAAe;oBAC5B,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;yBAC9E;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,yBAAyB,CAC7B,MAAc,EACd,MAA8B;QAE9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE;YAChE,MAAM;YACN,sBAAsB,EAAE,MAAM;SAC/B,CAAC,CAAC;QACH,OAAO,MAAoC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,MAAc,EACd,QAAiB;QAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC3B,kCAAkC,EAClC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,CAC7F,CAAC;QACF,OAAO,MAAoC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,MAAc;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,OAAO,MAAsC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,QAAgB;QACjE,MAAM,IAAI,CAAC,GAAG,CAAC,qCAAqC,EAAE;YACpD,EAAE,EAAE,MAAM;YACV,wBAAwB,EAAE,QAAQ;SACnC,CAAC,CAAC;IACL,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,OAAO,wBAAwB,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,iBAAiB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oCAAoC,EAAE,SAAS,CAAC,CAAC;QAC/E,OAAO,MAAmB,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,IAAe,EAAE,OAAwB;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,qBAAqB,IAAI,CAAC,IAAI,EAAE;YACzF,OAAO,EAAE,OAAO,EAAE,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,IAAe,EAAE,GAAW;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa;YAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACtB,CAAC,CAAC,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QAC9C,IAAI,YAAkC,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAC7D,CAAC;YACD,YAAY,GAAG,QAAQ,CAAC;YACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;gBAAE,MAAM;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,YAAa,CAAC,CAAC;IAC5C,CAAC;IAED,+FAA+F;IACvF,QAAQ,CAAC,IAAa;QAC5B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAgB,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;YACxD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,GAAW,EAAE,UAAkB;QAChD,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAED,wFAAwF;IAChF,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,GAAG,CACf,MAAc,EACd,MAAe,EACf,OAA2B;QAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,IAAI,CAAC,OAAO;aAChB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;gBACvC,EAAE;aACH,CAAC;YACF,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa;SACxF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;QACxD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,CAAC,MAAM,CACnB,MAAc,EACd,MAAe,EACf,OAA2B;QAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,KAAgD,CAAC;QACrD,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,QAAQ,GAAG,IAAI,CAAC;gBAChB,UAAU,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC,CAAC;YAC7E,CAAC,EAAE,WAAW,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO;YAAE,eAAe,EAAE,CAAC;QAChD,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC;YACH,QAAQ,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,MAAM,EAAE,mBAAmB;oBAC3B,GAAG,IAAI,CAAC,OAAO;iBAChB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACtF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;gBACxD,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;oBAAE,MAAM,IAAI,CAAC,MAAwB,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,OAAO;YAE3B,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,6BAA6B,WAAW,IAAI,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7C,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC/D,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,QAAkB;QAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA6B,CAAC;YAC5D,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1D,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAEO,KAAK,CAAC,CAAC,cAAc,CAC3B,IAAgC,EAChC,UAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,UAAU,EAAE,EAAE,CAAC;gBAEf,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAC/E,QAAQ,EACR,IAAI,CACL,CAAC;gBAEF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAEpE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBACxC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ;wBAAE,SAAS;oBAEzC,IAAI,QAAyB,CAAC;oBAC9B,IAAI,CAAC;wBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;oBACjD,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;wBACjF,SAAS;oBACX,CAAC;oBAED,IAAI,QAAQ,CAAC,KAAK;wBAAE,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI;wBAAE,SAAS;oBACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAwB,CAAC;oBAChD,MAAM,KAAK,CAAC;oBACZ,IAAI,YAAY,CAAC,KAAK,CAAC;wBAAE,OAAO;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,iBAAiB;QACvB,OAAO,OAAO,UAAU,EAAE,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/ownership.d.ts.map
CHANGED
|
@@ -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;
|
|
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. */
|
package/dist/ownership.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownership.js","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,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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"}
|