@cogitator-ai/a2a 0.5.3 → 0.7.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 (50) hide show
  1. package/README.md +50 -4
  2. package/dist/adapters/express.js +2 -2
  3. package/dist/adapters/express.js.map +1 -1
  4. package/dist/adapters/fastify.d.ts.map +1 -1
  5. package/dist/adapters/fastify.js +8 -3
  6. package/dist/adapters/fastify.js.map +1 -1
  7. package/dist/adapters/hono.d.ts.map +1 -1
  8. package/dist/adapters/hono.js +2 -2
  9. package/dist/adapters/hono.js.map +1 -1
  10. package/dist/adapters/koa.d.ts.map +1 -1
  11. package/dist/adapters/koa.js +2 -2
  12. package/dist/adapters/koa.js.map +1 -1
  13. package/dist/adapters/next.d.ts.map +1 -1
  14. package/dist/adapters/next.js +1 -1
  15. package/dist/adapters/next.js.map +1 -1
  16. package/dist/adapters/sse-error-event.d.ts.map +1 -1
  17. package/dist/adapters/sse-error-event.js +2 -1
  18. package/dist/adapters/sse-error-event.js.map +1 -1
  19. package/dist/client.d.ts +2 -0
  20. package/dist/client.d.ts.map +1 -1
  21. package/dist/client.js +16 -11
  22. package/dist/client.js.map +1 -1
  23. package/dist/errors.d.ts +12 -0
  24. package/dist/errors.d.ts.map +1 -1
  25. package/dist/errors.js +32 -0
  26. package/dist/errors.js.map +1 -1
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/ownership.d.ts +13 -0
  30. package/dist/ownership.d.ts.map +1 -0
  31. package/dist/ownership.js +27 -0
  32. package/dist/ownership.js.map +1 -0
  33. package/dist/redis-task-store.d.ts +1 -1
  34. package/dist/redis-task-store.d.ts.map +1 -1
  35. package/dist/redis-task-store.js +13 -7
  36. package/dist/redis-task-store.js.map +1 -1
  37. package/dist/server.d.ts +11 -2
  38. package/dist/server.d.ts.map +1 -1
  39. package/dist/server.js +80 -51
  40. package/dist/server.js.map +1 -1
  41. package/dist/task-manager.d.ts +4 -1
  42. package/dist/task-manager.d.ts.map +1 -1
  43. package/dist/task-manager.js +6 -2
  44. package/dist/task-manager.js.map +1 -1
  45. package/dist/task-store.d.ts.map +1 -1
  46. package/dist/task-store.js +5 -0
  47. package/dist/task-store.js.map +1 -1
  48. package/dist/types.d.ts +30 -1
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +4 -3
@@ -0,0 +1,13 @@
1
+ import type { A2ATask } from './types.js';
2
+ /** Metadata key holding the user a task belongs to; never sent to clients. */
3
+ export declare const TASK_OWNER_KEY = "cogitator:owner";
4
+ /** The user a task belongs to, or undefined for a task without an owner. */
5
+ export declare function taskOwner(task: A2ATask): string | undefined;
6
+ /**
7
+ * Whether a caller may see a task: its own, and any task without an owner.
8
+ * `userId` null or undefined stands for a caller without a user.
9
+ */
10
+ export declare function isTaskVisibleTo(task: A2ATask, userId: string | null | undefined): boolean;
11
+ /** The task as a client receives it: without the internal owner key. */
12
+ export declare function publicTask(task: A2ATask): A2ATask;
13
+ //# sourceMappingURL=ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,8EAA8E;AAC9E,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,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,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAIjD"}
@@ -0,0 +1,27 @@
1
+ /** Metadata key holding the user a task belongs to; never sent to clients. */
2
+ export const TASK_OWNER_KEY = 'cogitator:owner';
3
+ /** The user a task belongs to, or undefined for a task without an owner. */
4
+ export function taskOwner(task) {
5
+ const owner = task.metadata?.[TASK_OWNER_KEY];
6
+ return typeof owner === 'string' ? owner : undefined;
7
+ }
8
+ /**
9
+ * Whether a caller may see a task: its own, and any task without an owner.
10
+ * `userId` null or undefined stands for a caller without a user.
11
+ */
12
+ export function isTaskVisibleTo(task, userId) {
13
+ const owner = taskOwner(task);
14
+ return owner === undefined || owner === userId;
15
+ }
16
+ /** The task as a client receives it: without the internal owner key. */
17
+ export function publicTask(task) {
18
+ if (!task.metadata || !(TASK_OWNER_KEY in task.metadata))
19
+ return task;
20
+ const { [TASK_OWNER_KEY]: _owner, ...metadata } = task.metadata;
21
+ return Object.keys(metadata).length > 0 ? { ...task, metadata } : withoutMetadata(task);
22
+ }
23
+ function withoutMetadata(task) {
24
+ const { metadata: _metadata, ...rest } = task;
25
+ return rest;
26
+ }
27
+ //# sourceMappingURL=ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ownership.js","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEhD,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,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChE,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"}
@@ -5,7 +5,7 @@ export interface RedisClientLike {
5
5
  del(key: string): Promise<unknown>;
6
6
  keys(pattern: string): Promise<string[]>;
7
7
  setex?(key: string, seconds: number, value: string): Promise<unknown>;
8
- scan?(cursor: number | string, ...args: string[]): Promise<[string, string[]]>;
8
+ scan?(cursor: number | string, matchToken: 'MATCH', pattern: string, countToken: 'COUNT', count: number | string): Promise<[cursor: string, keys: string[]]>;
9
9
  mget?(...keys: string[]): Promise<(string | null)[]>;
10
10
  eval?(script: string, numKeys: number, ...args: string[]): Promise<unknown>;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis-task-store.d.ts","sourceRoot":"","sources":["../src/redis-task-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAyCD,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAC,CAAS;gBAET,MAAM,EAAE,oBAAoB;IASlC,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAM5C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/D,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAoC7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAI7B,QAAQ;CAmBvB"}
1
+ {"version":3,"file":"redis-task-store.d.ts","sourceRoot":"","sources":["../src/redis-task-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGjE,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC,CACH,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAyCD,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAC,CAAS;gBAET,MAAM,EAAE,oBAAoB;IASlC,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAM5C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/D,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAwC7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAI7B,QAAQ;CAavB"}
@@ -1,3 +1,4 @@
1
+ import { isTaskVisibleTo } from './ownership.js';
1
2
  const ATOMIC_UPDATE_SCRIPT = `
2
3
  local key = KEYS[1]
3
4
  local existing = redis.call('GET', key)
@@ -103,6 +104,10 @@ export class RedisTaskStore {
103
104
  if (filter?.contextId) {
104
105
  filtered = filtered.filter((t) => t.contextId === filter.contextId);
105
106
  }
107
+ if (filter?.visibleTo !== undefined) {
108
+ const userId = filter.visibleTo;
109
+ filtered = filtered.filter((t) => isTaskVisibleTo(t, userId));
110
+ }
106
111
  if (filter?.state) {
107
112
  filtered = filtered.filter((t) => t.status.state === filter.state);
108
113
  }
@@ -120,14 +125,15 @@ export class RedisTaskStore {
120
125
  }
121
126
  async scanKeys(pattern) {
122
127
  if (this.client.scan) {
123
- const keys = [];
124
- let cursor = 0;
128
+ const keys = new Set();
129
+ let cursor = '0';
125
130
  do {
126
- const [nextCursor, batch] = await this.client.scan(cursor, 'MATCH', pattern, 'COUNT', '100');
127
- keys.push(...batch);
128
- cursor = typeof nextCursor === 'string' ? parseInt(nextCursor, 10) : nextCursor;
129
- } while (cursor !== 0);
130
- return keys;
131
+ const [nextCursor, batch] = await this.client.scan(cursor, 'MATCH', pattern, 'COUNT', 100);
132
+ for (const key of batch)
133
+ keys.add(key);
134
+ cursor = String(nextCursor);
135
+ } while (cursor !== '0');
136
+ return [...keys];
131
137
  }
132
138
  return this.client.keys(pattern);
133
139
  }
@@ -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
@@ -6,7 +6,8 @@ export declare class A2AServer {
6
6
  private cogitator;
7
7
  private taskManager;
8
8
  private agentCards;
9
- private basePath;
9
+ /** The path the framework adapters serve JSON-RPC on, and the cards advertise without `cardUrl`. */
10
+ readonly basePath: string;
10
11
  private cardUrl;
11
12
  private pushNotificationStore;
12
13
  private pushSender;
@@ -25,7 +26,15 @@ export declare class A2AServer {
25
26
  getAgentCards(): AgentCard[];
26
27
  handleJsonRpc(body: unknown, authToken?: string): Promise<JsonRpcResponse | null>;
27
28
  handleJsonRpcStream(body: unknown, authToken?: string, signal?: AbortSignal): AsyncGenerator<A2AStreamEvent>;
28
- private validateAuth;
29
+ /**
30
+ * The caller of a request: undefined when there is no auth or `validate`
31
+ * admitted it without a user. Throws `unauthorized` otherwise.
32
+ */
33
+ private authenticate;
34
+ /** A task the caller may see; another user's task is reported as not found. */
35
+ private visibleTask;
36
+ /** Rejects joining a context that holds another user's tasks. */
37
+ private assertContextAvailable;
29
38
  private routeMethod;
30
39
  private handleSendMessage;
31
40
  private validateInitialPushConfig;
@@ -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,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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EAIT,cAAc,EASf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,eAAe,CAAC;AAqBrE,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAiChE,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAyB;IAC3C,oGAAoG;IACpG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,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;IAiEnC;;;;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;IAuChF,mBAAmB,CACxB,IAAI,EAAE,OAAO,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,cAAc,CAAC,cAAc,CAAC;IA2KjC;;;OAGG;YACW,YAAY;IAY1B,+EAA+E;YACjE,WAAW;IAQzB,iEAAiE;YACnD,sBAAsB;YAWtB,WAAW;YA+BX,iBAAiB;IA2C/B,OAAO,CAAC,yBAAyB;YASnB,yBAAyB;IAcvC,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,SAAS;YAsBH,aAAa;YAOb,gBAAgB;YAOhB,eAAe;YAkBf,4BAA4B;YAgB5B,yBAAyB;YAYzB,2BAA2B;YAU3B,4BAA4B;YAa5B,kBAAkB;CASjC"}
package/dist/server.js CHANGED
@@ -6,6 +6,7 @@ import * as errors from './errors.js';
6
6
  import { InMemoryTaskStore } from './task-store.js';
7
7
  import { InMemoryPushNotificationStore, PushNotificationSender, validateWebhookUrl, } from './push-notifications.js';
8
8
  import { isStreamFinalState } from './types.js';
9
+ import { isTaskVisibleTo, publicTask } from './ownership.js';
9
10
  const MAX_LIST_LIMIT = 1000;
10
11
  function failedStatusEvent(message, taskId = '') {
11
12
  const timestamp = new Date().toISOString();
@@ -16,11 +17,6 @@ function failedStatusEvent(message, taskId = '') {
16
17
  timestamp,
17
18
  };
18
19
  }
19
- function errorMessageOf(error) {
20
- if (error instanceof A2AError)
21
- return error.message;
22
- return error instanceof Error ? error.message : String(error);
23
- }
24
20
  function isValidMessage(message) {
25
21
  if (!message || typeof message !== 'object')
26
22
  return false;
@@ -39,6 +35,7 @@ export class A2AServer {
39
35
  cogitator;
40
36
  taskManager;
41
37
  agentCards;
38
+ /** The path the framework adapters serve JSON-RPC on, and the cards advertise without `cardUrl`. */
42
39
  basePath;
43
40
  cardUrl;
44
41
  pushNotificationStore;
@@ -55,6 +52,9 @@ export class A2AServer {
55
52
  this.agents = config.agents;
56
53
  this.cogitator = config.cogitator;
57
54
  this.basePath = config.basePath ?? '/a2a';
55
+ if (!this.basePath.startsWith('/')) {
56
+ throw new Error(`A2AServer basePath must be a path starting with "/", got "${this.basePath}"`);
57
+ }
58
58
  this.cardUrl = config.cardUrl ?? '';
59
59
  this.cardSigning = config.cardSigning;
60
60
  this.extendedCardGenerator = config.extendedCardGenerator;
@@ -151,21 +151,19 @@ export class A2AServer {
151
151
  if (e instanceof JsonRpcParseError) {
152
152
  return createErrorResponse(null, e.code === -32600 ? errors.invalidRequest(e.message) : errors.parseError(e.message));
153
153
  }
154
- return createErrorResponse(null, errors.internalError(String(e)));
154
+ return createErrorResponse(null, errors.clientJsonRpcError(e, 'JSON-RPC parse error'));
155
155
  }
156
+ let caller;
156
157
  try {
157
- await this.validateAuth(authToken);
158
+ caller = await this.authenticate(authToken);
158
159
  }
159
160
  catch (e) {
160
161
  if (request.id === undefined)
161
162
  return null;
162
- if (e instanceof A2AError) {
163
- return createErrorResponse(request.id, e.jsonRpcError);
164
- }
165
- return createErrorResponse(request.id, errors.internalError(String(e)));
163
+ return createErrorResponse(request.id, errors.clientJsonRpcError(e, 'Authentication error'));
166
164
  }
167
165
  try {
168
- const result = await this.routeMethod(request.method, request.params);
166
+ const result = await this.routeMethod(request.method, request.params, caller);
169
167
  if (request.id === undefined)
170
168
  return null;
171
169
  return createSuccessResponse(request.id, result);
@@ -173,10 +171,7 @@ export class A2AServer {
173
171
  catch (e) {
174
172
  if (request.id === undefined)
175
173
  return null;
176
- if (e instanceof A2AError) {
177
- return createErrorResponse(request.id, e.jsonRpcError);
178
- }
179
- return createErrorResponse(request.id, errors.internalError(e instanceof Error ? e.message : String(e)));
174
+ return createErrorResponse(request.id, errors.clientJsonRpcError(e, `${request.method} failed`));
180
175
  }
181
176
  }
182
177
  async *handleJsonRpcStream(body, authToken, signal) {
@@ -190,14 +185,15 @@ export class A2AServer {
190
185
  request = parsed;
191
186
  }
192
187
  catch (e) {
193
- yield failedStatusEvent(e instanceof Error ? e.message : 'Invalid JSON-RPC request');
188
+ yield failedStatusEvent(errors.clientErrorMessage(e, 'JSON-RPC parse error'));
194
189
  return;
195
190
  }
191
+ let caller;
196
192
  try {
197
- await this.validateAuth(authToken);
193
+ caller = await this.authenticate(authToken);
198
194
  }
199
195
  catch (e) {
200
- yield failedStatusEvent(e instanceof Error ? e.message : 'Authentication failed');
196
+ yield failedStatusEvent(errors.clientErrorMessage(e, 'Authentication error'));
201
197
  return;
202
198
  }
203
199
  if (request.method !== 'message/stream') {
@@ -248,16 +244,18 @@ export class A2AServer {
248
244
  try {
249
245
  this.validateInitialPushConfig(params.configuration);
250
246
  if (isContinued) {
247
+ await this.visibleTask(message.taskId, caller);
251
248
  task = await this.taskManager.continueTask(message.taskId, message);
252
249
  }
253
250
  else {
254
- task = await this.taskManager.createTask(message, message.contextId);
251
+ await this.assertContextAvailable(message.contextId, caller);
252
+ task = await this.taskManager.createTask(message, message.contextId, caller?.userId);
255
253
  taskId = task.id;
256
254
  await this.registerInitialPushConfig(task.id, params.configuration);
257
255
  }
258
256
  }
259
257
  catch (error) {
260
- yield failedStatusEvent(errorMessageOf(error), taskId ?? '');
258
+ yield failedStatusEvent(errors.clientErrorMessage(error, 'message/stream failed'), taskId ?? '');
261
259
  return;
262
260
  }
263
261
  const currentTaskId = task.id;
@@ -278,6 +276,7 @@ export class A2AServer {
278
276
  .executeTask(task, this.cogitator, agent, message, {
279
277
  onToken,
280
278
  timeout: params.configuration?.timeout,
279
+ ...(caller && { userId: caller.userId }),
281
280
  })
282
281
  .then(() => {
283
282
  executionDone = true;
@@ -306,7 +305,7 @@ export class A2AServer {
306
305
  }
307
306
  if (executionDone) {
308
307
  if (executionError !== undefined) {
309
- yield failedStatusEvent(errorMessageOf(executionError), task.id);
308
+ yield failedStatusEvent(errors.clientErrorMessage(executionError, `Task ${task.id} failed`), task.id);
310
309
  return;
311
310
  }
312
311
  const finalTask = await this.taskManager.getTask(task.id);
@@ -329,44 +328,66 @@ export class A2AServer {
329
328
  await executionPromise;
330
329
  }
331
330
  }
332
- async validateAuth(authToken) {
331
+ /**
332
+ * The caller of a request: undefined when there is no auth or `validate`
333
+ * admitted it without a user. Throws `unauthorized` otherwise.
334
+ */
335
+ async authenticate(authToken) {
333
336
  if (!this.auth)
334
- return;
337
+ return undefined;
335
338
  if (!authToken) {
336
339
  throw new A2AError(errors.unauthorized('Authentication required'));
337
340
  }
338
- const valid = await this.auth.validate(authToken);
339
- if (!valid) {
341
+ const verdict = await this.auth.validate(authToken);
342
+ if (!verdict) {
340
343
  throw new A2AError(errors.unauthorized('Invalid credentials'));
341
344
  }
345
+ return verdict === true ? undefined : verdict;
346
+ }
347
+ /** A task the caller may see; another user's task is reported as not found. */
348
+ async visibleTask(taskId, caller) {
349
+ const task = await this.taskManager.getTask(taskId);
350
+ if (!isTaskVisibleTo(task, caller?.userId)) {
351
+ throw new A2AError(errors.taskNotFound(taskId));
352
+ }
353
+ return task;
354
+ }
355
+ /** Rejects joining a context that holds another user's tasks. */
356
+ async assertContextAvailable(contextId, caller) {
357
+ if (!contextId)
358
+ return;
359
+ const tasks = await this.taskManager.listTasks({ contextId });
360
+ if (tasks.some((task) => !isTaskVisibleTo(task, caller?.userId))) {
361
+ throw new A2AError(errors.invalidParams(`Unknown contextId: ${contextId}`));
362
+ }
342
363
  }
343
- async routeMethod(method, params) {
364
+ async routeMethod(method, params, caller) {
344
365
  switch (method) {
345
366
  case 'message/send':
346
- return this.handleSendMessage(params);
367
+ return this.handleSendMessage(params, caller);
347
368
  case 'message/stream':
348
369
  throw new A2AError(errors.unsupportedOperation('Use handleJsonRpcStream for streaming'));
349
370
  case 'tasks/get':
350
- return this.handleGetTask(params);
371
+ return this.handleGetTask(params, caller);
351
372
  case 'tasks/cancel':
352
- return this.handleCancelTask(params);
373
+ return this.handleCancelTask(params, caller);
353
374
  case 'tasks/list':
354
- return this.handleListTasks(params);
375
+ return this.handleListTasks(params, caller);
355
376
  case 'tasks/pushNotification/create':
356
- return this.handleCreatePushNotification(params);
377
+ return this.handleCreatePushNotification(params, caller);
357
378
  case 'tasks/pushNotification/get':
358
- return this.handleGetPushNotification(params);
379
+ return this.handleGetPushNotification(params, caller);
359
380
  case 'tasks/pushNotification/list':
360
- return this.handleListPushNotifications(params);
381
+ return this.handleListPushNotifications(params, caller);
361
382
  case 'tasks/pushNotification/delete':
362
- return this.handleDeletePushNotification(params);
383
+ return this.handleDeletePushNotification(params, caller);
363
384
  case 'agent/extendedCard':
364
385
  return this.handleExtendedCard(params);
365
386
  default:
366
387
  throw new A2AError(errors.methodNotFound(method));
367
388
  }
368
389
  }
369
- async handleSendMessage(params) {
390
+ async handleSendMessage(params, caller) {
370
391
  const { message, agentName, configuration } = (params ?? {});
371
392
  if (!isValidMessage(message)) {
372
393
  throw new A2AError(errors.invalidParams('message is required with role and parts'));
@@ -380,18 +401,21 @@ export class A2AServer {
380
401
  this.validateInitialPushConfig(configuration);
381
402
  let task;
382
403
  if (message.taskId) {
404
+ await this.visibleTask(message.taskId, caller);
383
405
  task = await this.taskManager.continueTask(message.taskId, message);
384
406
  }
385
407
  else {
386
- task = await this.taskManager.createTask(message, message.contextId);
408
+ await this.assertContextAvailable(message.contextId, caller);
409
+ task = await this.taskManager.createTask(message, message.contextId, caller?.userId);
387
410
  await this.registerInitialPushConfig(task.id, configuration);
388
411
  }
389
412
  const execution = this.taskManager.executeTask(task, this.cogitator, agent, message, {
390
413
  timeout: configuration?.timeout,
414
+ ...(caller && { userId: caller.userId }),
391
415
  });
392
416
  if (configuration?.blocking === false) {
393
417
  execution.catch((error) => {
394
- process.stderr.write(`[a2a] Background task ${task.id} failed: ${errorMessageOf(error)}\n`);
418
+ console.error(`[a2a] Background task ${task.id} failed:`, error);
395
419
  });
396
420
  return this.shapeTask(task, configuration);
397
421
  }
@@ -414,7 +438,7 @@ export class A2AServer {
414
438
  await this.pushNotificationStore.create(taskId, pushConfig);
415
439
  }
416
440
  catch (error) {
417
- await this.taskManager.failTask(taskId, `Failed to register push notification: ${errorMessageOf(error)}`);
441
+ await this.taskManager.failTask(taskId, 'Failed to register push notification');
418
442
  throw error;
419
443
  }
420
444
  }
@@ -432,7 +456,7 @@ export class A2AServer {
432
456
  * Apply historyLength / acceptedOutputModes from the request configuration
433
457
  */
434
458
  shapeTask(task, configuration) {
435
- let shaped = task;
459
+ let shaped = publicTask(task);
436
460
  const historyLength = configuration?.historyLength;
437
461
  if (historyLength !== undefined) {
438
462
  shaped = {
@@ -449,20 +473,21 @@ export class A2AServer {
449
473
  }
450
474
  return shaped;
451
475
  }
452
- async handleGetTask(params) {
476
+ async handleGetTask(params, caller) {
453
477
  const { id, historyLength } = (params ?? {});
454
478
  if (!id)
455
479
  throw new A2AError(errors.invalidParams('id is required'));
456
480
  assertOptionalNonNegativeInt(historyLength, 'historyLength');
457
- return this.shapeTask(await this.taskManager.getTask(id), { historyLength });
481
+ return this.shapeTask(await this.visibleTask(id, caller), { historyLength });
458
482
  }
459
- async handleCancelTask(params) {
483
+ async handleCancelTask(params, caller) {
460
484
  const { id } = (params ?? {});
461
485
  if (!id)
462
486
  throw new A2AError(errors.invalidParams('id is required'));
463
- return this.taskManager.cancelTask(id);
487
+ await this.visibleTask(id, caller);
488
+ return publicTask(await this.taskManager.cancelTask(id));
464
489
  }
465
- async handleListTasks(params) {
490
+ async handleListTasks(params, caller) {
466
491
  const raw = (params ?? {});
467
492
  assertOptionalNonNegativeInt(raw.limit, 'limit');
468
493
  assertOptionalNonNegativeInt(raw.offset, 'offset');
@@ -471,38 +496,42 @@ export class A2AServer {
471
496
  state: raw.state,
472
497
  offset: raw.offset,
473
498
  limit: Math.min(raw.limit ?? MAX_LIST_LIMIT, MAX_LIST_LIMIT),
499
+ visibleTo: caller?.userId ?? null,
474
500
  };
475
501
  const tasks = await this.taskManager.listTasks(filter);
476
- return { tasks };
502
+ return { tasks: tasks.map(publicTask) };
477
503
  }
478
- async handleCreatePushNotification(params) {
504
+ async handleCreatePushNotification(params, caller) {
479
505
  const { taskId, config } = (params ?? {});
480
506
  if (!taskId)
481
507
  throw new A2AError(errors.invalidParams('taskId is required'));
482
508
  if (!config?.webhookUrl)
483
509
  throw new A2AError(errors.invalidParams('config.webhookUrl is required'));
484
510
  this.assertWebhookAllowed(config.webhookUrl);
485
- await this.taskManager.getTask(taskId);
511
+ await this.visibleTask(taskId, caller);
486
512
  return this.pushNotificationStore.create(taskId, config);
487
513
  }
488
- async handleGetPushNotification(params) {
514
+ async handleGetPushNotification(params, caller) {
489
515
  const { taskId, configId } = (params ?? {});
490
516
  if (!taskId || !configId) {
491
517
  throw new A2AError(errors.invalidParams('taskId and configId are required'));
492
518
  }
519
+ await this.visibleTask(taskId, caller);
493
520
  return this.pushNotificationStore.get(taskId, configId);
494
521
  }
495
- async handleListPushNotifications(params) {
522
+ async handleListPushNotifications(params, caller) {
496
523
  const { taskId } = (params ?? {});
497
524
  if (!taskId)
498
525
  throw new A2AError(errors.invalidParams('taskId is required'));
526
+ await this.visibleTask(taskId, caller);
499
527
  return this.pushNotificationStore.list(taskId);
500
528
  }
501
- async handleDeletePushNotification(params) {
529
+ async handleDeletePushNotification(params, caller) {
502
530
  const { taskId, configId } = (params ?? {});
503
531
  if (!taskId || !configId) {
504
532
  throw new A2AError(errors.invalidParams('taskId and configId are required'));
505
533
  }
534
+ await this.visibleTask(taskId, caller);
506
535
  await this.pushNotificationStore.delete(taskId, configId);
507
536
  return { success: true };
508
537
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,16 @@ export interface ExecuteTaskOptions {
8
8
  onToken?: (token: string) => void;
9
9
  /** Maximum agent run time in ms */
10
10
  timeout?: number;
11
+ /** The caller the run acts for */
12
+ userId?: string;
11
13
  }
12
14
  export declare class TaskManager extends EventEmitter {
13
15
  private store;
14
16
  private activeTasks;
15
17
  private continuing;
16
18
  constructor(config?: TaskManagerConfig);
17
- createTask(message: A2AMessage, contextId?: string): Promise<A2ATask>;
19
+ /** A new task; `ownerId` keeps it visible only to that user. */
20
+ createTask(message: A2AMessage, contextId?: string, ownerId?: string): Promise<A2ATask>;
18
21
  executeTask(task: A2ATask, cogitator: CogitatorLike, agent: unknown, message: A2AMessage, onTokenOrOptions?: ((token: string) => void) | ExecuteTaskOptions): Promise<A2ATask>;
19
22
  completeTask(taskId: string, result: AgentRunResult): Promise<A2ATask>;
20
23
  failTask(taskId: string, errorMessage: string): Promise<A2ATask>;
@@ -1 +1 @@
1
- {"version":3,"file":"task-manager.d.ts","sourceRoot":"","sources":["../src/task-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EAEV,SAAS,EACT,UAAU,EAIV,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,UAAU,CAAqB;gBAE3B,MAAM,CAAC,EAAE,iBAAiB;IAMhC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAarE,WAAW,CACf,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,UAAU,EACnB,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,kBAAkB,GAChE,OAAO,CAAC,OAAO,CAAC;IAuCb,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BtE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAehE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B5C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BzE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK9B,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,cAAc;YAgCR,YAAY;IAoB1B;;;;OAIG;YACW,UAAU;IAuBxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,kBAAkB;CAS3B"}
1
+ {"version":3,"file":"task-manager.d.ts","sourceRoot":"","sources":["../src/task-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EAEV,SAAS,EACT,UAAU,EAIV,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAOpB,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,UAAU,CAAqB;gBAE3B,MAAM,CAAC,EAAE,iBAAiB;IAMtC,gEAAgE;IAC1D,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcvF,WAAW,CACf,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,UAAU,EACnB,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,kBAAkB,GAChE,OAAO,CAAC,OAAO,CAAC;IA2Cb,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BtE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAehE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B5C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BzE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK9B,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,cAAc;YAgCR,YAAY;IAoB1B;;;;OAIG;YACW,UAAU;IAuBxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,kBAAkB;CAS3B"}