@cogitator-ai/a2a 0.3.10 → 0.4.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 (69) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -7
  3. package/dist/adapters/express.d.ts.map +1 -1
  4. package/dist/adapters/express.js +22 -22
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/fastify.d.ts.map +1 -1
  7. package/dist/adapters/fastify.js +23 -24
  8. package/dist/adapters/fastify.js.map +1 -1
  9. package/dist/adapters/hono.d.ts.map +1 -1
  10. package/dist/adapters/hono.js +25 -8
  11. package/dist/adapters/hono.js.map +1 -1
  12. package/dist/adapters/koa.d.ts.map +1 -1
  13. package/dist/adapters/koa.js +16 -23
  14. package/dist/adapters/koa.js.map +1 -1
  15. package/dist/adapters/next.d.ts.map +1 -1
  16. package/dist/adapters/next.js +22 -19
  17. package/dist/adapters/next.js.map +1 -1
  18. package/dist/adapters/shared.d.ts +18 -0
  19. package/dist/adapters/shared.d.ts.map +1 -0
  20. package/dist/adapters/shared.js +52 -0
  21. package/dist/adapters/shared.js.map +1 -0
  22. package/dist/adapters/sse-error-event.d.ts +3 -0
  23. package/dist/adapters/sse-error-event.d.ts.map +1 -0
  24. package/dist/adapters/sse-error-event.js +11 -0
  25. package/dist/adapters/sse-error-event.js.map +1 -0
  26. package/dist/agent-card.d.ts.map +1 -1
  27. package/dist/agent-card.js +15 -2
  28. package/dist/agent-card.js.map +1 -1
  29. package/dist/client.d.ts +24 -4
  30. package/dist/client.d.ts.map +1 -1
  31. package/dist/client.js +163 -83
  32. package/dist/client.js.map +1 -1
  33. package/dist/errors.d.ts +1 -0
  34. package/dist/errors.d.ts.map +1 -1
  35. package/dist/errors.js +3 -0
  36. package/dist/errors.js.map +1 -1
  37. package/dist/index.d.ts +6 -5
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -3
  40. package/dist/index.js.map +1 -1
  41. package/dist/json-rpc.d.ts +2 -2
  42. package/dist/json-rpc.d.ts.map +1 -1
  43. package/dist/json-rpc.js +11 -7
  44. package/dist/json-rpc.js.map +1 -1
  45. package/dist/push-notifications.d.ts +8 -1
  46. package/dist/push-notifications.d.ts.map +1 -1
  47. package/dist/push-notifications.js +178 -25
  48. package/dist/push-notifications.js.map +1 -1
  49. package/dist/redis-task-store.d.ts +1 -0
  50. package/dist/redis-task-store.d.ts.map +1 -1
  51. package/dist/redis-task-store.js +44 -4
  52. package/dist/redis-task-store.js.map +1 -1
  53. package/dist/server.d.ts +19 -2
  54. package/dist/server.d.ts.map +1 -1
  55. package/dist/server.js +287 -135
  56. package/dist/server.js.map +1 -1
  57. package/dist/task-manager.d.ts +27 -2
  58. package/dist/task-manager.d.ts.map +1 -1
  59. package/dist/task-manager.js +126 -36
  60. package/dist/task-manager.js.map +1 -1
  61. package/dist/task-store.d.ts +10 -0
  62. package/dist/task-store.d.ts.map +1 -1
  63. package/dist/task-store.js +28 -0
  64. package/dist/task-store.js.map +1 -1
  65. package/dist/types.d.ts +17 -0
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/types.js +7 -0
  68. package/dist/types.js.map +1 -1
  69. package/package.json +14 -14
@@ -1,3 +1,37 @@
1
+ const ATOMIC_UPDATE_SCRIPT = `
2
+ local key = KEYS[1]
3
+ local existing = redis.call('GET', key)
4
+ if not existing then return 0 end
5
+ local task = cjson.decode(existing)
6
+ local update = cjson.decode(ARGV[1])
7
+ for k, v in pairs(update) do task[k] = v end
8
+ local result = cjson.encode(task)
9
+ local ttl = tonumber(ARGV[2])
10
+ if ttl and ttl > 0 then
11
+ redis.call('SETEX', key, ttl, result)
12
+ else
13
+ redis.call('SET', key, result)
14
+ end
15
+ return 1
16
+ `;
17
+ const ARRAY_FIELDS = new Set(['history', 'artifacts', 'parts', 'referenceTaskIds']);
18
+ /**
19
+ * Redis' Lua cjson encodes empty tables as `{}`, so an atomic update turns
20
+ * empty arrays (e.g. `artifacts: []`) into objects. Known array fields are
21
+ * restored while parsing.
22
+ */
23
+ function parseTask(data) {
24
+ return JSON.parse(data, (key, value) => {
25
+ if (ARRAY_FIELDS.has(key) &&
26
+ value !== null &&
27
+ typeof value === 'object' &&
28
+ !Array.isArray(value) &&
29
+ Object.keys(value).length === 0) {
30
+ return [];
31
+ }
32
+ return value;
33
+ });
34
+ }
1
35
  export class RedisTaskStore {
2
36
  client;
3
37
  prefix;
@@ -24,14 +58,20 @@ export class RedisTaskStore {
24
58
  const data = await this.client.get(this.prefix + taskId);
25
59
  if (!data)
26
60
  return null;
27
- return JSON.parse(data);
61
+ return parseTask(data);
28
62
  }
29
63
  async update(taskId, update) {
64
+ const key = this.prefix + taskId;
65
+ const updateJson = JSON.stringify(update);
66
+ const ttlArg = String(this.ttl ?? 0);
67
+ if (this.client.eval) {
68
+ await this.client.eval(ATOMIC_UPDATE_SCRIPT, 1, key, updateJson, ttlArg);
69
+ return;
70
+ }
30
71
  const existing = await this.get(taskId);
31
72
  if (!existing)
32
73
  return;
33
74
  const updated = { ...existing, ...update };
34
- const key = this.prefix + taskId;
35
75
  const json = JSON.stringify(updated);
36
76
  if (this.ttl && this.client.setex) {
37
77
  await this.client.setex(key, this.ttl, json);
@@ -49,14 +89,14 @@ export class RedisTaskStore {
49
89
  const values = await this.client.mget(...keys);
50
90
  for (const data of values) {
51
91
  if (data)
52
- tasks.push(JSON.parse(data));
92
+ tasks.push(parseTask(data));
53
93
  }
54
94
  }
55
95
  else {
56
96
  const results = await Promise.all(keys.map((key) => this.client.get(key)));
57
97
  for (const data of results) {
58
98
  if (data)
59
- tasks.push(JSON.parse(data));
99
+ tasks.push(parseTask(data));
60
100
  }
61
101
  }
62
102
  let filtered = tasks;
@@ -1 +1 @@
1
- {"version":3,"file":"redis-task-store.js","sourceRoot":"","sources":["../src/redis-task-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis-task-store.js","sourceRoot":"","sources":["../src/redis-task-store.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { A2AServerConfig, AgentCard, A2AStreamEvent } from './types.js';
2
2
  import type { JsonRpcResponse } from './json-rpc.js';
3
+ type HeaderGetter = (name: string) => string | null | undefined;
3
4
  export declare class A2AServer {
4
5
  private agents;
5
6
  private cogitator;
@@ -12,13 +13,28 @@ export declare class A2AServer {
12
13
  private cardSigning?;
13
14
  private extendedCardGenerator?;
14
15
  private allowPrivateUrls;
16
+ private auth?;
15
17
  constructor(config: A2AServerConfig);
18
+ /**
19
+ * Extract the credential configured by `auth` from request headers:
20
+ * the token of an `Authorization: Bearer` header, or the API key header.
21
+ * Framework adapters call this and pass the result to handleJsonRpc / handleJsonRpcStream.
22
+ */
23
+ getAuthToken(getHeader: HeaderGetter): string | undefined;
16
24
  getAgentCard(agentName?: string): AgentCard;
17
25
  getAgentCards(): AgentCard[];
18
- handleJsonRpc(body: unknown): Promise<JsonRpcResponse>;
19
- handleJsonRpcStream(body: unknown): AsyncGenerator<A2AStreamEvent>;
26
+ handleJsonRpc(body: unknown, authToken?: string): Promise<JsonRpcResponse | null>;
27
+ handleJsonRpcStream(body: unknown, authToken?: string, signal?: AbortSignal): AsyncGenerator<A2AStreamEvent>;
28
+ private validateAuth;
20
29
  private routeMethod;
21
30
  private handleSendMessage;
31
+ private validateInitialPushConfig;
32
+ private registerInitialPushConfig;
33
+ private assertWebhookAllowed;
34
+ /**
35
+ * Apply historyLength / acceptedOutputModes from the request configuration
36
+ */
37
+ private shapeTask;
22
38
  private handleGetTask;
23
39
  private handleCancelTask;
24
40
  private handleListTasks;
@@ -28,4 +44,5 @@ export declare class A2AServer {
28
44
  private handleDeletePushNotification;
29
45
  private handleExtendedCard;
30
46
  }
47
+ export {};
31
48
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EAIT,cAAc,EAOf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,eAAe,CAAC;AAoBrE,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAA2C;IACzE,OAAO,CAAC,gBAAgB,CAAU;gBAEtB,MAAM,EAAE,eAAe;IA6CnC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAe3C,aAAa,IAAI,SAAS,EAAE;IAQtB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IA6BrD,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC;YAkK3D,WAAW;YA2BX,iBAAiB;YAwBjB,aAAa;YAMb,gBAAgB;YAMhB,eAAe;YAMf,4BAA4B;YAe5B,yBAAyB;YAQzB,2BAA2B;YAM3B,4BAA4B;YAS5B,kBAAkB;CASjC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EAIT,cAAc,EAQf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,eAAe,CAAC;AAoBrE,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAsChE,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAA2C;IACzE,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,IAAI,CAAC,CAAgB;gBAEjB,MAAM,EAAE,eAAe;IA4DnC;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;IAWzD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAe3C,aAAa,IAAI,SAAS,EAAE;IAQtB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA4ChF,mBAAmB,CACxB,IAAI,EAAE,OAAO,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,cAAc,CAAC,cAAc,CAAC;YAiKnB,YAAY;YAWZ,WAAW;YA2BX,iBAAiB;IAqC/B,OAAO,CAAC,yBAAyB;YASnB,yBAAyB;IAiBvC,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,SAAS;YAsBH,aAAa;YAOb,gBAAgB;YAMhB,eAAe;YAcf,4BAA4B;YAa5B,yBAAyB;YAQzB,2BAA2B;YAM3B,4BAA4B;YAS5B,kBAAkB;CASjC"}