@a2anet/a2a-utils 0.4.0 → 0.6.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.
@@ -1,12 +1,14 @@
1
- /**
2
- * A2ASession — main interface for interacting with A2A agents.
3
- */
4
1
  import type { Message, Task } from "@a2a-js/sdk";
5
2
  import { type TaskStore } from "@a2a-js/sdk/server";
6
3
  import type { FileStore } from "../files/file-store.js";
4
+ import type { JsonObject } from "../types.js";
7
5
  import type { A2AAgents } from "./a2a-agents.js";
8
6
  /** Main interface for sending messages to A2A agents. */
9
7
  export declare class A2ASession {
8
+ /** Maximum file size for local file uploads (1MB). */
9
+ private static readonly MAX_FILE_SIZE;
10
+ /** Common MIME types by extension. */
11
+ private static readonly MIME_TYPES;
10
12
  readonly agents: A2AAgents;
11
13
  readonly taskStore: TaskStore;
12
14
  readonly fileStore: FileStore | null;
@@ -30,6 +32,11 @@ export declare class A2ASession {
30
32
  * @param opts.taskId - Optional task ID to attach to the message.
31
33
  * @param opts.timeout - HTTP timeout in seconds. Defaults to sendMessageTimeout
32
34
  * from constructor.
35
+ * @param opts.data - Structured data to include with the message. Each item
36
+ * is sent as a separate JSON object alongside the text.
37
+ * @param opts.files - Files to include with the message. Accepts local file
38
+ * paths (read and sent as binary, max 1MB) or URLs (sent as references
39
+ * for the remote agent to fetch).
33
40
  *
34
41
  * @returns Task for task responses, Message for message-only responses.
35
42
  *
@@ -39,6 +46,8 @@ export declare class A2ASession {
39
46
  contextId?: string | null;
40
47
  taskId?: string | null;
41
48
  timeout?: number | null;
49
+ data?: JsonObject[];
50
+ files?: string[];
42
51
  }): Promise<Task | Message>;
43
52
  /**
44
53
  * Get the current state of a task, monitoring until terminal/actionable state.
@@ -67,11 +76,29 @@ export declare class A2ASession {
67
76
  pollInterval?: number | null;
68
77
  }): Promise<Task>;
69
78
  /**
70
- * Save file artifacts to the file store if configured.
79
+ * Save file artifacts from a task to the file store if configured.
71
80
  *
72
81
  * Idempotent: skips artifacts whose files have already been saved.
82
+ * Also saves files from the task's status message if present.
73
83
  */
74
- private saveFiles;
84
+ private saveTaskFiles;
85
+ /**
86
+ * Save file parts from a message to the file store if configured.
87
+ *
88
+ * Idempotent: skips messages whose files have already been saved.
89
+ */
90
+ private saveMessageFiles;
91
+ /**
92
+ * Build a file Part from a file path or URL.
93
+ *
94
+ * Local paths are read and encoded as FileWithBytes (max 1MB).
95
+ * URLs are passed through as FileWithUri.
96
+ */
97
+ private buildFilePart;
98
+ /** Get MIME type from filename extension. */
99
+ private static getMimeType;
100
+ /** Check if a string is an HTTP/HTTPS URL. */
101
+ private static isUrl;
75
102
  /** Monitor a task via SSE resubscription, falling back to a final fetch. */
76
103
  private getTaskStreaming;
77
104
  /** Monitor a task by polling at regular intervals. */
@@ -1 +1 @@
1
- {"version":3,"file":"a2a-session.d.ts","sourceRoot":"","sources":["../../src/client/a2a-session.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAGR,OAAO,EAEP,IAAI,EAGP,MAAM,aAAa,CAAC;AAErB,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAuBjD,yDAAyD;AACzD,qBAAa,UAAU;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;gBAGzC,MAAM,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE;QACH,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAChC;IAUL;;;;;;;;;;;;;;OAcG;IACG,WAAW,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,GACF,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;IAwF1B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,OAAO,CACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,GACF,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;OAIG;YACW,SAAS;IAgBvB,4EAA4E;YAC9D,gBAAgB;IAwC9B,sDAAsD;YACxC,cAAc;IAwB5B,4CAA4C;YAC9B,SAAS;IAevB,mEAAmE;IACnE,OAAO,CAAC,gBAAgB;IAIxB,wDAAwD;IACxD,OAAO,CAAC,YAAY;IAmBpB;;;;;;OAMG;YACW,YAAY;CAS7B"}
1
+ {"version":3,"file":"a2a-session.d.ts","sourceRoot":"","sources":["../../src/client/a2a-session.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGR,OAAO,EAGP,IAAI,EAGP,MAAM,aAAa,CAAC;AAErB,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAuBjD,yDAAyD;AACzD,qBAAa,UAAU;IACnB,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAa;IAElD,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAyBhC;IAEF,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;gBAGzC,MAAM,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE;QACH,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAChC;IAUL;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,GACF,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;IA2G1B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,OAAO,CACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,GACF,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;OAKG;YACW,aAAa;IA+B3B;;;;OAIG;YACW,gBAAgB;IAa9B;;;;;OAKG;YACW,aAAa;IAuB3B,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,WAAW;IAK1B,8CAA8C;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK;IAIpB,4EAA4E;YAC9D,gBAAgB;IAwC9B,sDAAsD;YACxC,cAAc;IAwB5B,4CAA4C;YAC9B,SAAS;IAevB,mEAAmE;IACnE,OAAO,CAAC,gBAAgB;IAIxB,wDAAwD;IACxD,OAAO,CAAC,YAAY;IAmBpB;;;;;;OAMG;YACW,YAAY;CAS7B"}
@@ -1,6 +1,11 @@
1
1
  // SPDX-FileCopyrightText: 2025-present A2A Net <hello@a2anet.com>
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
+ /**
5
+ * A2ASession — main interface for interacting with A2A agents.
6
+ */
7
+ import * as fsSync from "node:fs/promises";
8
+ import * as path from "node:path";
4
9
  import { A2AClient } from "@a2a-js/sdk/client";
5
10
  import { InMemoryTaskStore } from "@a2a-js/sdk/server";
6
11
  import { v4 as uuidv4 } from "uuid";
@@ -10,6 +15,35 @@ function sleep(seconds) {
10
15
  }
11
16
  /** Main interface for sending messages to A2A agents. */
12
17
  export class A2ASession {
18
+ /** Maximum file size for local file uploads (1MB). */
19
+ static MAX_FILE_SIZE = 1_048_576;
20
+ /** Common MIME types by extension. */
21
+ static MIME_TYPES = {
22
+ ".pdf": "application/pdf",
23
+ ".json": "application/json",
24
+ ".xml": "application/xml",
25
+ ".zip": "application/zip",
26
+ ".gz": "application/gzip",
27
+ ".tar": "application/x-tar",
28
+ ".csv": "text/csv",
29
+ ".txt": "text/plain",
30
+ ".html": "text/html",
31
+ ".css": "text/css",
32
+ ".js": "text/javascript",
33
+ ".ts": "text/typescript",
34
+ ".md": "text/markdown",
35
+ ".png": "image/png",
36
+ ".jpg": "image/jpeg",
37
+ ".jpeg": "image/jpeg",
38
+ ".gif": "image/gif",
39
+ ".webp": "image/webp",
40
+ ".svg": "image/svg+xml",
41
+ ".ico": "image/x-icon",
42
+ ".mp3": "audio/mpeg",
43
+ ".wav": "audio/wav",
44
+ ".mp4": "video/mp4",
45
+ ".webm": "video/webm",
46
+ };
13
47
  agents;
14
48
  taskStore;
15
49
  fileStore;
@@ -34,6 +68,11 @@ export class A2ASession {
34
68
  * @param opts.taskId - Optional task ID to attach to the message.
35
69
  * @param opts.timeout - HTTP timeout in seconds. Defaults to sendMessageTimeout
36
70
  * from constructor.
71
+ * @param opts.data - Structured data to include with the message. Each item
72
+ * is sent as a separate JSON object alongside the text.
73
+ * @param opts.files - Files to include with the message. Accepts local file
74
+ * paths (read and sent as binary, max 1MB) or URLs (sent as references
75
+ * for the remote agent to fetch).
37
76
  *
38
77
  * @returns Task for task responses, Message for message-only responses.
39
78
  *
@@ -42,11 +81,25 @@ export class A2ASession {
42
81
  async sendMessage(agentId, message, opts) {
43
82
  const [agentCard, headers] = await this.resolveAgent(agentId);
44
83
  const contextId = opts?.contextId ?? uuidv4();
84
+ // Build message parts
85
+ const parts = [{ kind: "text", text: message }];
86
+ // Add data parts
87
+ if (opts?.data) {
88
+ for (const d of opts.data) {
89
+ parts.push({ kind: "data", data: d });
90
+ }
91
+ }
92
+ // Add file parts
93
+ if (opts?.files) {
94
+ for (const fileRef of opts.files) {
95
+ parts.push(await this.buildFilePart(fileRef));
96
+ }
97
+ }
45
98
  // Build A2A message
46
99
  const a2aMessage = {
47
100
  kind: "message",
48
101
  messageId: uuidv4(),
49
- parts: [{ kind: "text", text: message }],
102
+ parts,
50
103
  role: "user",
51
104
  contextId,
52
105
  };
@@ -68,7 +121,9 @@ export class A2ASession {
68
121
  const result = response.result;
69
122
  // Handle Message result
70
123
  if (result.kind === "message") {
71
- return result;
124
+ const msg = result;
125
+ await this.saveMessageFiles(msg);
126
+ return msg;
72
127
  }
73
128
  // Handle Task result
74
129
  if (result.kind !== "task") {
@@ -78,7 +133,7 @@ export class A2ASession {
78
133
  await this.taskStore.save(task);
79
134
  // If task is already in a terminal/actionable state, save files and return
80
135
  if (TERMINAL_OR_ACTIONABLE_STATES.has(task.status.state)) {
81
- await this.saveFiles(task);
136
+ await this.saveTaskFiles(task);
82
137
  return task;
83
138
  }
84
139
  // Task is in a non-terminal state (e.g. working) — monitor with remaining time
@@ -96,7 +151,7 @@ export class A2ASession {
96
151
  }
97
152
  await this.taskStore.save(task);
98
153
  }
99
- await this.saveFiles(task);
154
+ await this.saveTaskFiles(task);
100
155
  return task;
101
156
  }
102
157
  /**
@@ -140,27 +195,92 @@ export class A2ASession {
140
195
  task = await this.getTaskPolling(agentCard, headers, taskId, effectiveTimeout, effectivePollInterval);
141
196
  }
142
197
  await this.taskStore.save(task);
143
- await this.saveFiles(task);
198
+ await this.saveTaskFiles(task);
144
199
  return task;
145
200
  }
146
201
  /**
147
- * Save file artifacts to the file store if configured.
202
+ * Save file artifacts from a task to the file store if configured.
148
203
  *
149
204
  * Idempotent: skips artifacts whose files have already been saved.
205
+ * Also saves files from the task's status message if present.
150
206
  */
151
- async saveFiles(task) {
152
- if (this.fileStore === null || !task.artifacts) {
207
+ async saveTaskFiles(task) {
208
+ if (this.fileStore === null) {
153
209
  return;
154
210
  }
155
- for (const artifact of task.artifacts) {
156
- const hasFiles = artifact.parts.some((p) => p.kind === "file");
157
- if (hasFiles) {
158
- const existing = await this.fileStore.get(task.id, artifact.artifactId);
159
- if (existing.length === 0) {
160
- await this.fileStore.save(task.id, artifact);
211
+ // Save artifact files
212
+ if (task.artifacts) {
213
+ for (const artifact of task.artifacts) {
214
+ const hasFiles = artifact.parts.some((p) => p.kind === "file");
215
+ if (hasFiles) {
216
+ const existing = await this.fileStore.getArtifact(task.id, artifact.artifactId);
217
+ if (existing.length === 0) {
218
+ await this.fileStore.saveArtifact(task.id, artifact);
219
+ }
161
220
  }
162
221
  }
163
222
  }
223
+ // Save files from the status message
224
+ if (task.status.message) {
225
+ await this.saveMessageFiles(task.status.message);
226
+ }
227
+ // Save files from history messages
228
+ if (task.history) {
229
+ for (const message of task.history) {
230
+ await this.saveMessageFiles(message);
231
+ }
232
+ }
233
+ }
234
+ /**
235
+ * Save file parts from a message to the file store if configured.
236
+ *
237
+ * Idempotent: skips messages whose files have already been saved.
238
+ */
239
+ async saveMessageFiles(message) {
240
+ if (this.fileStore === null) {
241
+ return;
242
+ }
243
+ const hasFiles = message.parts.some((p) => p.kind === "file");
244
+ if (hasFiles) {
245
+ const existing = await this.fileStore.getMessage(message.messageId);
246
+ if (existing.length === 0) {
247
+ await this.fileStore.saveMessage(message);
248
+ }
249
+ }
250
+ }
251
+ /**
252
+ * Build a file Part from a file path or URL.
253
+ *
254
+ * Local paths are read and encoded as FileWithBytes (max 1MB).
255
+ * URLs are passed through as FileWithUri.
256
+ */
257
+ async buildFilePart(fileRef) {
258
+ if (A2ASession.isUrl(fileRef)) {
259
+ return {
260
+ kind: "file",
261
+ file: { uri: fileRef },
262
+ };
263
+ }
264
+ const content = await fsSync.readFile(fileRef);
265
+ if (content.length > A2ASession.MAX_FILE_SIZE) {
266
+ const sizeMb = (content.length / 1_048_576).toFixed(1);
267
+ throw new Error(`File '${fileRef}' is ${sizeMb}MB. Maximum size for file uploads is 1MB.`);
268
+ }
269
+ const name = path.basename(fileRef);
270
+ const mimeType = A2ASession.getMimeType(name);
271
+ return {
272
+ kind: "file",
273
+ file: { name, mimeType, bytes: content.toString("base64") },
274
+ };
275
+ }
276
+ /** Get MIME type from filename extension. */
277
+ static getMimeType(filename) {
278
+ const ext = path.extname(filename).toLowerCase();
279
+ return A2ASession.MIME_TYPES[ext] ?? "application/octet-stream";
280
+ }
281
+ /** Check if a string is an HTTP/HTTPS URL. */
282
+ static isUrl(value) {
283
+ return value.startsWith("http://") || value.startsWith("https://");
164
284
  }
165
285
  /** Monitor a task via SSE resubscription, falling back to a final fetch. */
166
286
  async getTaskStreaming(agentCard, headers, taskId, timeout) {
@@ -1 +1 @@
1
- {"version":3,"file":"a2a-session.js","sourceRoot":"","sources":["../../src/client/a2a-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a2a-session.js","sourceRoot":"","sources":["../../src/client/a2a-session.ts"],"names":[],"mappings":"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"}