@cogitator-ai/a2a 0.7.8 → 0.8.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.
Files changed (82) hide show
  1. package/README.md +173 -151
  2. package/dist/adapters/express.d.ts +5 -0
  3. package/dist/adapters/express.d.ts.map +1 -1
  4. package/dist/adapters/express.js +53 -30
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/fastify.d.ts +5 -0
  7. package/dist/adapters/fastify.d.ts.map +1 -1
  8. package/dist/adapters/fastify.js +51 -35
  9. package/dist/adapters/fastify.js.map +1 -1
  10. package/dist/adapters/hono.d.ts +5 -0
  11. package/dist/adapters/hono.d.ts.map +1 -1
  12. package/dist/adapters/hono.js +41 -49
  13. package/dist/adapters/hono.js.map +1 -1
  14. package/dist/adapters/koa.d.ts +5 -0
  15. package/dist/adapters/koa.d.ts.map +1 -1
  16. package/dist/adapters/koa.js +39 -32
  17. package/dist/adapters/koa.js.map +1 -1
  18. package/dist/adapters/next.d.ts +13 -2
  19. package/dist/adapters/next.d.ts.map +1 -1
  20. package/dist/adapters/next.js +75 -51
  21. package/dist/adapters/next.js.map +1 -1
  22. package/dist/adapters/shared.d.ts +43 -10
  23. package/dist/adapters/shared.d.ts.map +1 -1
  24. package/dist/adapters/shared.js +156 -23
  25. package/dist/adapters/shared.js.map +1 -1
  26. package/dist/agent-card.d.ts +22 -7
  27. package/dist/agent-card.d.ts.map +1 -1
  28. package/dist/agent-card.js +71 -34
  29. package/dist/agent-card.js.map +1 -1
  30. package/dist/approvals.d.ts +46 -0
  31. package/dist/approvals.d.ts.map +1 -0
  32. package/dist/approvals.js +105 -0
  33. package/dist/approvals.js.map +1 -0
  34. package/dist/client.d.ts +59 -17
  35. package/dist/client.d.ts.map +1 -1
  36. package/dist/client.js +237 -142
  37. package/dist/client.js.map +1 -1
  38. package/dist/errors.d.ts +24 -1
  39. package/dist/errors.d.ts.map +1 -1
  40. package/dist/errors.js +90 -19
  41. package/dist/errors.js.map +1 -1
  42. package/dist/index.d.ts +11 -7
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +7 -5
  45. package/dist/index.js.map +1 -1
  46. package/dist/ownership.d.ts +7 -1
  47. package/dist/ownership.d.ts.map +1 -1
  48. package/dist/ownership.js +24 -3
  49. package/dist/ownership.js.map +1 -1
  50. package/dist/protocol.d.ts +70 -0
  51. package/dist/protocol.d.ts.map +1 -0
  52. package/dist/protocol.js +187 -0
  53. package/dist/protocol.js.map +1 -0
  54. package/dist/push-notifications.d.ts +5 -2
  55. package/dist/push-notifications.d.ts.map +1 -1
  56. package/dist/push-notifications.js +33 -23
  57. package/dist/push-notifications.js.map +1 -1
  58. package/dist/redis-task-store.js +3 -3
  59. package/dist/redis-task-store.js.map +1 -1
  60. package/dist/server.d.ts +75 -12
  61. package/dist/server.d.ts.map +1 -1
  62. package/dist/server.js +324 -270
  63. package/dist/server.js.map +1 -1
  64. package/dist/task-manager.d.ts +57 -11
  65. package/dist/task-manager.d.ts.map +1 -1
  66. package/dist/task-manager.js +264 -116
  67. package/dist/task-manager.js.map +1 -1
  68. package/dist/task-store.js +4 -4
  69. package/dist/task-store.js.map +1 -1
  70. package/dist/types.d.ts +226 -85
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/types.js +10 -3
  73. package/dist/types.js.map +1 -1
  74. package/dist/url.d.ts +7 -0
  75. package/dist/url.d.ts.map +1 -0
  76. package/dist/url.js +12 -0
  77. package/dist/url.js.map +1 -0
  78. package/package.json +19 -9
  79. package/dist/adapters/sse-error-event.d.ts +0 -3
  80. package/dist/adapters/sse-error-event.d.ts.map +0 -1
  81. package/dist/adapters/sse-error-event.js +0 -12
  82. package/dist/adapters/sse-error-event.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -1,116 +1,220 @@
1
- import type { Agent } from '@cogitator-ai/types';
2
- export type TaskState = 'working' | 'input-required' | 'completed' | 'failed' | 'canceled' | 'rejected';
1
+ import type { Agent, ToolApprovalDecision, ToolApprovalRequest } from '@cogitator-ai/types';
2
+ /** The A2A protocol version this package speaks, as Agent Cards declare it. */
3
+ export declare const A2A_PROTOCOL_VERSION = "0.3.0";
4
+ /** Where an A2A server publishes its Agent Card (A2A v0.3, section 5.3). */
5
+ export declare const AGENT_CARD_PATH = "/.well-known/agent-card.json";
6
+ /** Where A2A servers before protocol v0.3 published their Agent Card. */
7
+ export declare const LEGACY_AGENT_CARD_PATH = "/.well-known/agent.json";
8
+ export type TaskState = 'submitted' | 'working' | 'input-required' | 'completed' | 'canceled' | 'failed' | 'rejected' | 'auth-required' | 'unknown';
3
9
  export declare const TERMINAL_STATES: readonly ["completed", "failed", "canceled", "rejected"];
4
10
  export declare function isTerminalState(state: TaskState): boolean;
5
11
  /**
6
- * States after which a streaming response is closed: terminal states plus
7
- * `input-required`, where the task pauses until the client sends a follow-up.
12
+ * States after which an interaction waits on the client: terminal states plus `input-required`
13
+ * and `auth-required`. The status update that reaches one of them is the `final` event of a
14
+ * stream.
8
15
  */
9
16
  export declare function isStreamFinalState(state: TaskState): boolean;
10
17
  export interface TextPart {
11
- type: 'text';
18
+ kind: 'text';
12
19
  text: string;
20
+ metadata?: Record<string, unknown>;
13
21
  }
14
- export interface FilePart {
15
- type: 'file';
22
+ export interface FileWithUri {
16
23
  uri: string;
17
- mimeType: string;
18
- size?: number;
24
+ mimeType?: string;
19
25
  name?: string;
20
26
  }
27
+ export interface FileWithBytes {
28
+ /** The file content, base64-encoded */
29
+ bytes: string;
30
+ mimeType?: string;
31
+ name?: string;
32
+ }
33
+ export interface FilePart {
34
+ kind: 'file';
35
+ file: FileWithUri | FileWithBytes;
36
+ metadata?: Record<string, unknown>;
37
+ }
21
38
  export interface DataPart {
22
- type: 'data';
23
- mimeType: string;
39
+ kind: 'data';
24
40
  data: Record<string, unknown>;
41
+ metadata?: Record<string, unknown>;
25
42
  }
26
43
  export type Part = TextPart | FilePart | DataPart;
27
44
  export interface A2AMessage {
45
+ kind: 'message';
46
+ messageId: string;
28
47
  role: 'user' | 'agent';
29
48
  parts: Part[];
30
49
  taskId?: string;
31
50
  contextId?: string;
32
51
  referenceTaskIds?: string[];
52
+ extensions?: string[];
53
+ metadata?: Record<string, unknown>;
33
54
  }
55
+ /**
56
+ * A message as the client composes it: `kind` and `messageId` are filled in when left out.
57
+ */
58
+ export type A2AMessageInput = Omit<A2AMessage, 'kind' | 'messageId'> & Partial<Pick<A2AMessage, 'kind' | 'messageId'>>;
34
59
  export interface Artifact {
35
- id: string;
60
+ artifactId: string;
61
+ name?: string;
62
+ description?: string;
36
63
  parts: Part[];
37
- mimeType?: string;
38
- }
39
- export interface A2AErrorDetail {
40
- code: number;
41
- message: string;
42
- data?: unknown;
64
+ extensions?: string[];
65
+ metadata?: Record<string, unknown>;
43
66
  }
44
67
  export interface TaskStatus {
45
68
  state: TaskState;
46
- timestamp: string;
47
- message?: string;
48
- errorDetails?: A2AErrorDetail;
69
+ /** An agent message about the state, e.g. the question of `input-required` or the error of `failed` */
70
+ message?: A2AMessage;
71
+ /** ISO 8601 time of the change */
72
+ timestamp?: string;
49
73
  }
50
74
  export interface A2ATask {
75
+ kind: 'task';
51
76
  id: string;
52
77
  contextId: string;
53
78
  status: TaskStatus;
54
- history: A2AMessage[];
55
- artifacts: Artifact[];
79
+ history?: A2AMessage[];
80
+ artifacts?: Artifact[];
56
81
  metadata?: Record<string, unknown>;
57
82
  }
58
83
  export interface AgentProvider {
59
- name: string;
60
- url?: string;
61
- contactEmail?: string;
84
+ organization: string;
85
+ url: string;
86
+ }
87
+ export interface AgentExtension {
88
+ uri: string;
89
+ description?: string;
90
+ required?: boolean;
91
+ params?: Record<string, unknown>;
62
92
  }
63
93
  export interface A2ACapabilities {
64
- streaming: boolean;
65
- pushNotifications: boolean;
66
- extendedAgentCard?: boolean;
94
+ streaming?: boolean;
95
+ pushNotifications?: boolean;
96
+ stateTransitionHistory?: boolean;
97
+ extensions?: AgentExtension[];
67
98
  }
68
99
  export interface AgentSkill {
69
100
  id: string;
70
101
  name: string;
71
- description?: string;
72
- inputModes: string[];
73
- outputModes: string[];
102
+ description: string;
103
+ tags: string[];
74
104
  examples?: string[];
105
+ inputModes?: string[];
106
+ outputModes?: string[];
107
+ security?: Record<string, string[]>[];
108
+ }
109
+ export interface OAuthFlow {
110
+ authorizationUrl?: string;
111
+ tokenUrl?: string;
112
+ refreshUrl?: string;
113
+ scopes: Record<string, string>;
75
114
  }
76
115
  export type SecurityScheme = {
77
116
  type: 'apiKey';
78
- location: 'header' | 'query' | 'cookie';
79
- parameterName: string;
117
+ in: 'header' | 'query' | 'cookie';
118
+ name: string;
119
+ description?: string;
80
120
  } | {
81
121
  type: 'http';
82
- scheme: 'basic' | 'bearer';
122
+ scheme: string;
123
+ bearerFormat?: string;
124
+ description?: string;
83
125
  } | {
84
126
  type: 'oauth2';
85
- flows: Record<string, unknown>;
127
+ flows: Partial<Record<'authorizationCode' | 'clientCredentials' | 'implicit' | 'password', OAuthFlow>>;
128
+ oauth2MetadataUrl?: string;
129
+ description?: string;
86
130
  } | {
87
131
  type: 'openIdConnect';
88
- connectUrl: string;
132
+ openIdConnectUrl: string;
133
+ description?: string;
134
+ } | {
135
+ type: 'mutualTLS';
136
+ description?: string;
89
137
  };
138
+ export type TransportProtocol = 'JSONRPC' | 'GRPC' | 'HTTP+JSON';
139
+ export interface AgentInterface {
140
+ transport: TransportProtocol | (string & {});
141
+ url: string;
142
+ }
143
+ /** A JWS signature of an Agent Card (RFC 7515, detached payload). */
144
+ export interface AgentCardSignature {
145
+ /** The protected JWS header, base64url-encoded JSON */
146
+ protected: string;
147
+ /** The signature, base64url-encoded */
148
+ signature: string;
149
+ header?: Record<string, unknown>;
150
+ }
90
151
  export interface AgentCard {
152
+ protocolVersion: string;
91
153
  name: string;
92
- description?: string;
154
+ description: string;
155
+ /** The endpoint of `preferredTransport` */
93
156
  url: string;
157
+ preferredTransport?: TransportProtocol | (string & {});
158
+ additionalInterfaces?: AgentInterface[];
94
159
  version: string;
95
160
  provider?: AgentProvider;
161
+ iconUrl?: string;
162
+ documentationUrl?: string;
96
163
  capabilities: A2ACapabilities;
97
- skills: AgentSkill[];
98
- defaultInputModes: string[];
99
- defaultOutputModes: string[];
100
164
  securitySchemes?: Record<string, SecurityScheme>;
101
165
  security?: Record<string, string[]>[];
166
+ defaultInputModes: string[];
167
+ defaultOutputModes: string[];
168
+ skills: AgentSkill[];
169
+ supportsAuthenticatedExtendedCard?: boolean;
170
+ signatures?: AgentCardSignature[];
171
+ }
172
+ /** The card `agent/getAuthenticatedExtendedCard` returns: an Agent Card with more detail. */
173
+ export type ExtendedAgentCard = AgentCard;
174
+ export interface PushNotificationAuthenticationInfo {
175
+ /** Schemes the webhook accepts, e.g. `Bearer` or `Basic` */
176
+ schemes: string[];
177
+ /** Credentials for the first supported scheme: a bearer token or base64 `user:password` */
178
+ credentials?: string;
179
+ }
180
+ export interface PushNotificationConfig {
181
+ /** The webhook the server POSTs the task to on every status change */
182
+ url: string;
183
+ id?: string;
184
+ /** Sent back in the `X-A2A-Notification-Token` header so the webhook can check the sender */
185
+ token?: string;
186
+ authentication?: PushNotificationAuthenticationInfo;
102
187
  }
103
- export interface SendMessageConfiguration {
104
- /** Only return artifacts whose MIME type is in this list */
188
+ export interface TaskPushNotificationConfig {
189
+ taskId: string;
190
+ pushNotificationConfig: PushNotificationConfig;
191
+ }
192
+ export interface MessageSendConfiguration {
193
+ /** Only return artifacts with a part of one of these MIME types */
105
194
  acceptedOutputModes?: string[];
106
195
  /** Trim the returned task history to the last N messages (0 = no history) */
107
196
  historyLength?: number;
108
- /** Wait for the task to finish (default: true). When false the task is returned while still working. */
197
+ /** Wait for the task to finish (default: true). When false the task is returned while still running. */
109
198
  blocking?: boolean;
110
- /** Maximum agent run time in ms */
111
- timeout?: number;
112
199
  /** Register a push notification webhook before the task starts executing */
113
200
  pushNotificationConfig?: PushNotificationConfig;
201
+ /**
202
+ * Cogitator extension: a shorter run time limit for this task, in ms. The server never lets it
203
+ * exceed the agent's own timeout or `maxRunTimeoutMs`.
204
+ */
205
+ timeout?: number;
206
+ }
207
+ /** @deprecated Renamed to `MessageSendConfiguration`, its name in the A2A specification */
208
+ export type SendMessageConfiguration = MessageSendConfiguration;
209
+ export interface MessageSendParams {
210
+ message: A2AMessage;
211
+ configuration?: MessageSendConfiguration;
212
+ metadata?: Record<string, unknown>;
213
+ /**
214
+ * Cogitator extension: the agent to address on a server hosting several, when the request goes
215
+ * to the shared endpoint. Each agent also has its own endpoint, named in its Agent Card.
216
+ */
217
+ agentName?: string;
114
218
  }
115
219
  export interface TaskFilter {
116
220
  contextId?: string;
@@ -132,28 +236,39 @@ export interface TaskStore {
132
236
  delete(taskId: string): Promise<void>;
133
237
  }
134
238
  export interface TaskStatusUpdateEvent {
135
- type: 'status-update';
239
+ kind: 'status-update';
136
240
  taskId: string;
241
+ contextId: string;
137
242
  status: TaskStatus;
138
- timestamp: string;
243
+ /** True on the last event of the interaction: the stream ends after it */
244
+ final: boolean;
245
+ metadata?: Record<string, unknown>;
139
246
  }
140
247
  export interface TaskArtifactUpdateEvent {
141
- type: 'artifact-update';
248
+ kind: 'artifact-update';
142
249
  taskId: string;
250
+ contextId: string;
143
251
  artifact: Artifact;
144
- timestamp: string;
145
- }
146
- export interface TokenStreamEvent {
147
- type: 'token';
148
- taskId: string;
149
- token: string;
150
- timestamp: string;
252
+ /** The parts extend the artifact with the same id sent before instead of replacing it */
253
+ append?: boolean;
254
+ /** The artifact is complete */
255
+ lastChunk?: boolean;
256
+ metadata?: Record<string, unknown>;
151
257
  }
152
- export type A2AStreamEvent = TaskStatusUpdateEvent | TaskArtifactUpdateEvent | TokenStreamEvent;
258
+ /** What a `message/stream` or `tasks/resubscribe` stream carries in each event. */
259
+ export type A2AStreamEvent = A2ATask | A2AMessage | TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
260
+ /** What `message/send` returns: the task, or a direct reply message. */
261
+ export type SendMessageResult = A2ATask | A2AMessage;
153
262
  export interface AgentRunResult {
154
263
  output: string;
155
264
  structured?: unknown;
156
265
  requiresInput?: boolean;
266
+ /**
267
+ * `paused` when tool calls wait for approval: the task goes to `input-required` with the calls
268
+ * in a tool approval request data part, and the decisions resume the run
269
+ */
270
+ status?: 'completed' | 'paused';
271
+ pendingApprovals?: readonly ToolApprovalRequest[];
157
272
  runId: string;
158
273
  agentId: string;
159
274
  threadId: string;
@@ -181,6 +296,19 @@ export interface CogitatorLike {
181
296
  /** The caller the run acts for, so thread and memory access is scoped to them */
182
297
  userId?: string;
183
298
  }): Promise<AgentRunResult>;
299
+ /**
300
+ * Continue the run a thread paused for tool approvals, with the client's decisions. Without
301
+ * it a task waiting for approvals fails when the client answers
302
+ */
303
+ resume?(agent: unknown, threadId: string, options: {
304
+ decisions?: Record<string, ToolApprovalDecision>;
305
+ defaultDecision?: ToolApprovalDecision;
306
+ signal?: AbortSignal;
307
+ stream?: boolean;
308
+ onToken?: (token: string) => void;
309
+ timeout?: number;
310
+ userId?: string;
311
+ }): Promise<AgentRunResult>;
184
312
  }
185
313
  /** Who an authenticated A2A request comes from. */
186
314
  export interface A2ACaller {
@@ -202,29 +330,47 @@ export interface A2AServerConfig {
202
330
  cogitator: CogitatorLike;
203
331
  /**
204
332
  * Path of the JSON-RPC endpoint the framework adapters serve, relative to
205
- * where they are mounted (default: '/a2a'). Must start with '/'.
333
+ * where they are mounted (default: '/a2a'). Must start with '/'. Each agent
334
+ * also gets its own endpoint at `<basePath>/<agent name>`.
206
335
  */
207
336
  basePath?: string;
208
337
  taskStore?: TaskStore;
209
- /** URL the Agent Cards advertise (default: `basePath`) */
338
+ /**
339
+ * Absolute URL of the JSON-RPC endpoint the Agent Cards advertise. Without it the framework
340
+ * adapters derive it from the request that fetches the card. Set it when the server runs behind
341
+ * a proxy that changes the host or the path. Other agents than the first are advertised at
342
+ * `<cardUrl>/<agent name>`.
343
+ */
210
344
  cardUrl?: string;
345
+ /** The version of the agents the cards advertise (default: '1.0.0') */
346
+ agentVersion?: string;
347
+ /** The organization the cards name as provider */
348
+ provider?: AgentProvider;
211
349
  auth?: A2AAuthConfig;
212
350
  pushNotificationStore?: PushNotificationStore;
351
+ /**
352
+ * Signs every Agent Card with a JWS (HMAC SHA-256, `HS256`) in its `signatures`, which a client
353
+ * holding the shared secret checks with `verifyAgentCardSignature`
354
+ */
213
355
  cardSigning?: {
214
- algorithm?: 'hmac-sha256';
356
+ algorithm?: 'HS256' | 'hmac-sha256';
215
357
  secret: string;
216
358
  };
217
- extendedCardGenerator?: (agentName: string) => ExtendedAgentCard;
359
+ extendedCardGenerator?: (agentName: string) => AgentCard;
218
360
  allowPrivateUrls?: boolean;
219
- }
220
- export interface PushNotificationConfig {
221
- webhookUrl: string;
222
- authenticationInfo?: {
223
- scheme: 'apiKey' | 'basic' | 'bearer' | 'oauth2';
224
- credentials: Record<string, string>;
225
- };
226
- id?: string;
227
- createdAt?: string;
361
+ /**
362
+ * How often the framework adapters write an SSE comment on a streaming response
363
+ * while the run is silent, in milliseconds, so a proxy (nginx closes after 60 s) or the
364
+ * runtime (Bun after 10 s) does not cut a run that waits on a slow tool. Default: 5000.
365
+ * `0` turns heartbeats off.
366
+ */
367
+ sseHeartbeatMs?: number;
368
+ /**
369
+ * The longest run, in ms, a client may ask for with `configuration.timeout` for an agent
370
+ * without its own `timeout` (default: 120000, the Cogitator run default). A client can only
371
+ * shorten a run: its timeout is capped by the agent's `timeout`, or by this value.
372
+ */
373
+ maxRunTimeoutMs?: number;
228
374
  }
229
375
  export interface PushNotificationStore {
230
376
  create(taskId: string, config: PushNotificationConfig): Promise<PushNotificationConfig>;
@@ -232,27 +378,22 @@ export interface PushNotificationStore {
232
378
  list(taskId: string): Promise<PushNotificationConfig[]>;
233
379
  delete(taskId: string, configId: string): Promise<void>;
234
380
  }
235
- export interface ExtendedAgentCard extends AgentCard {
236
- extendedSkills?: AgentSkill[];
237
- rateLimit?: {
238
- requestsPerMinute: number;
239
- };
240
- pricing?: {
241
- model: string;
242
- details?: string;
243
- };
244
- metadata?: Record<string, unknown>;
245
- }
246
381
  export interface A2AClientConfig {
247
382
  headers?: Record<string, string>;
248
383
  timeout?: number;
384
+ /**
385
+ * Path of the Agent Card relative to the base URL (default: '/.well-known/agent-card.json',
386
+ * falling back to the pre-v0.3 '/.well-known/agent.json')
387
+ */
249
388
  agentCardPath?: string;
389
+ /**
390
+ * Path of the JSON-RPC endpoint relative to the base URL. Without it the client sends requests
391
+ * to the `url` the Agent Card names, as the A2A specification requires.
392
+ */
250
393
  rpcPath?: string;
251
394
  /**
252
- * The agent to talk to on a server that hosts several: the name it is
253
- * registered under in the server's `agents`. Sent with `message/send`,
254
- * `message/stream` and `agent/extendedCard`; `agentCard()` returns the card
255
- * of that name. Without it the server answers with its first agent.
395
+ * The agent to talk to on a Cogitator server that hosts several: the name it is registered
396
+ * under in the server's `agents`. The client then uses that agent's own card and endpoint.
256
397
  */
257
398
  agentName?: string;
258
399
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,12 +1,19 @@
1
+ /** The A2A protocol version this package speaks, as Agent Cards declare it. */
2
+ export const A2A_PROTOCOL_VERSION = '0.3.0';
3
+ /** Where an A2A server publishes its Agent Card (A2A v0.3, section 5.3). */
4
+ export const AGENT_CARD_PATH = '/.well-known/agent-card.json';
5
+ /** Where A2A servers before protocol v0.3 published their Agent Card. */
6
+ export const LEGACY_AGENT_CARD_PATH = '/.well-known/agent.json';
1
7
  export const TERMINAL_STATES = ['completed', 'failed', 'canceled', 'rejected'];
2
8
  export function isTerminalState(state) {
3
9
  return TERMINAL_STATES.includes(state);
4
10
  }
5
11
  /**
6
- * States after which a streaming response is closed: terminal states plus
7
- * `input-required`, where the task pauses until the client sends a follow-up.
12
+ * States after which an interaction waits on the client: terminal states plus `input-required`
13
+ * and `auth-required`. The status update that reaches one of them is the `final` event of a
14
+ * stream.
8
15
  */
9
16
  export function isStreamFinalState(state) {
10
- return state === 'input-required' || isTerminalState(state);
17
+ return state === 'input-required' || state === 'auth-required' || isTerminalState(state);
11
18
  }
12
19
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAExF,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IACjD,OAAO,KAAK,KAAK,gBAAgB,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAE9D,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAahE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAExF,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IACjD,OAAO,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,eAAe,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAC3F,CAAC"}
package/dist/url.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ /**
2
+ * `value` without the slashes it ends with. A loop rather than `replace(/\/+$/, '')`: that
3
+ * pattern backtracks in quadratic time over a long run of slashes followed by anything else,
4
+ * and base paths and URLs come from configuration and requests.
5
+ */
6
+ export declare function trimTrailingSlashes(value: string): string;
7
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzD"}
package/dist/url.js ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `value` without the slashes it ends with. A loop rather than `replace(/\/+$/, '')`: that
3
+ * pattern backtracks in quadratic time over a long run of slashes followed by anything else,
4
+ * and base paths and URLs come from configuration and requests.
5
+ */
6
+ export function trimTrailingSlashes(value) {
7
+ let end = value.length;
8
+ while (end > 0 && value.charCodeAt(end - 1) === 47)
9
+ end--;
10
+ return value.slice(0, end);
11
+ }
12
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,CAAC;IAC1D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/a2a",
3
- "version": "0.7.8",
3
+ "version": "0.8.0",
4
4
  "description": "A2A (Agent-to-Agent) Protocol v0.3 implementation for Cogitator",
5
5
  "keywords": [
6
6
  "cogitator",
@@ -19,27 +19,33 @@
19
19
  "exports": {
20
20
  ".": {
21
21
  "types": "./dist/index.d.ts",
22
- "import": "./dist/index.js"
22
+ "import": "./dist/index.js",
23
+ "default": "./dist/index.js"
23
24
  },
24
25
  "./express": {
25
26
  "types": "./dist/adapters/express.d.ts",
26
- "import": "./dist/adapters/express.js"
27
+ "import": "./dist/adapters/express.js",
28
+ "default": "./dist/adapters/express.js"
27
29
  },
28
30
  "./hono": {
29
31
  "types": "./dist/adapters/hono.d.ts",
30
- "import": "./dist/adapters/hono.js"
32
+ "import": "./dist/adapters/hono.js",
33
+ "default": "./dist/adapters/hono.js"
31
34
  },
32
35
  "./fastify": {
33
36
  "types": "./dist/adapters/fastify.d.ts",
34
- "import": "./dist/adapters/fastify.js"
37
+ "import": "./dist/adapters/fastify.js",
38
+ "default": "./dist/adapters/fastify.js"
35
39
  },
36
40
  "./koa": {
37
41
  "types": "./dist/adapters/koa.d.ts",
38
- "import": "./dist/adapters/koa.js"
42
+ "import": "./dist/adapters/koa.js",
43
+ "default": "./dist/adapters/koa.js"
39
44
  },
40
45
  "./next": {
41
46
  "types": "./dist/adapters/next.d.ts",
42
- "import": "./dist/adapters/next.js"
47
+ "import": "./dist/adapters/next.js",
48
+ "default": "./dist/adapters/next.js"
43
49
  }
44
50
  },
45
51
  "files": [
@@ -47,18 +53,22 @@
47
53
  "README.md"
48
54
  ],
49
55
  "dependencies": {
50
- "@cogitator-ai/types": "0.35.0",
56
+ "@cogitator-ai/server-shared": "0.5.0",
57
+ "@cogitator-ai/types": "0.36.0",
51
58
  "zod": "^4.6.5"
52
59
  },
53
60
  "devDependencies": {
61
+ "@a2a-js/sdk": "0.3.14",
62
+ "@cogitator-ai/core": "0.34.0",
54
63
  "@types/express": "^5.0.6",
55
64
  "@types/koa": "^3.0.3",
56
65
  "@types/node": "^22.20.4",
66
+ "ajv": "^8.18.0",
57
67
  "typescript": "^6.0.3",
58
68
  "vitest": "^5.0.3"
59
69
  },
60
70
  "peerDependencies": {
61
- "@cogitator-ai/core": ">=0.33.0",
71
+ "@cogitator-ai/core": ">=0.34.0",
62
72
  "express": ">=4.18.0",
63
73
  "fastify": ">=4.0.0",
64
74
  "hono": ">=4.0.0",
@@ -1,3 +0,0 @@
1
- import type { A2AStreamEvent } from '../types.js';
2
- export declare function buildSseErrorEvent(error: unknown): A2AStreamEvent;
3
- //# sourceMappingURL=sse-error-event.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sse-error-event.d.ts","sourceRoot":"","sources":["../../src/adapters/sse-error-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CASjE"}
@@ -1,12 +0,0 @@
1
- import { clientErrorMessage } from '../errors.js';
2
- export function buildSseErrorEvent(error) {
3
- const message = clientErrorMessage(error, 'A2A stream failed');
4
- const timestamp = new Date().toISOString();
5
- return {
6
- type: 'status-update',
7
- taskId: '',
8
- status: { state: 'failed', timestamp, message },
9
- timestamp,
10
- };
11
- }
12
- //# sourceMappingURL=sse-error-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sse-error-event.js","sourceRoot":"","sources":["../../src/adapters/sse-error-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;QAC/C,SAAS;KACV,CAAC;AACJ,CAAC"}