@cogitator-ai/a2a 0.2.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 (57) hide show
  1. package/dist/adapters/express.d.ts +4 -0
  2. package/dist/adapters/express.d.ts.map +1 -0
  3. package/dist/adapters/express.js +34 -0
  4. package/dist/adapters/express.js.map +1 -0
  5. package/dist/adapters/fastify.d.ts +4 -0
  6. package/dist/adapters/fastify.d.ts.map +1 -0
  7. package/dist/adapters/fastify.js +33 -0
  8. package/dist/adapters/fastify.js.map +1 -0
  9. package/dist/adapters/hono.d.ts +4 -0
  10. package/dist/adapters/hono.d.ts.map +1 -0
  11. package/dist/adapters/hono.js +30 -0
  12. package/dist/adapters/hono.js.map +1 -0
  13. package/dist/adapters/koa.d.ts +4 -0
  14. package/dist/adapters/koa.d.ts.map +1 -0
  15. package/dist/adapters/koa.js +38 -0
  16. package/dist/adapters/koa.js.map +1 -0
  17. package/dist/adapters/next.d.ts +11 -0
  18. package/dist/adapters/next.d.ts.map +1 -0
  19. package/dist/adapters/next.js +39 -0
  20. package/dist/adapters/next.js.map +1 -0
  21. package/dist/agent-card.d.ts +9 -0
  22. package/dist/agent-card.d.ts.map +1 -0
  23. package/dist/agent-card.js +31 -0
  24. package/dist/agent-card.js.map +1 -0
  25. package/dist/client.d.ts +38 -0
  26. package/dist/client.d.ts.map +1 -0
  27. package/dist/client.js +230 -0
  28. package/dist/client.js.map +1 -0
  29. package/dist/errors.d.ts +19 -0
  30. package/dist/errors.d.ts.map +1 -0
  31. package/dist/errors.js +52 -0
  32. package/dist/errors.js.map +1 -0
  33. package/dist/index.d.ts +14 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +9 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/json-rpc.d.ts +26 -0
  38. package/dist/json-rpc.d.ts.map +1 -0
  39. package/dist/json-rpc.js +44 -0
  40. package/dist/json-rpc.js.map +1 -0
  41. package/dist/server.d.ts +20 -0
  42. package/dist/server.d.ts.map +1 -0
  43. package/dist/server.js +245 -0
  44. package/dist/server.js.map +1 -0
  45. package/dist/task-manager.d.ts +22 -0
  46. package/dist/task-manager.d.ts.map +1 -0
  47. package/dist/task-manager.js +175 -0
  48. package/dist/task-manager.js.map +1 -0
  49. package/dist/task-store.d.ts +10 -0
  50. package/dist/task-store.d.ts.map +1 -0
  51. package/dist/task-store.js +33 -0
  52. package/dist/task-store.js.map +1 -0
  53. package/dist/types.d.ts +174 -0
  54. package/dist/types.d.ts.map +1 -0
  55. package/dist/types.js +10 -0
  56. package/dist/types.js.map +1 -0
  57. package/package.json +97 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-manager.js","sourceRoot":"","sources":["../src/task-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { A2ATask, TaskFilter, TaskStore } from './types.js';
2
+ export declare class InMemoryTaskStore implements TaskStore {
3
+ private tasks;
4
+ create(task: A2ATask): Promise<void>;
5
+ get(taskId: string): Promise<A2ATask | null>;
6
+ update(taskId: string, update: Partial<A2ATask>): Promise<void>;
7
+ list(filter?: TaskFilter): Promise<A2ATask[]>;
8
+ delete(taskId: string): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=task-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-store.d.ts","sourceRoot":"","sources":["../src/task-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,KAAK,CAA8B;IAErC,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAK5C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAiB7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG5C"}
@@ -0,0 +1,33 @@
1
+ export class InMemoryTaskStore {
2
+ tasks = new Map();
3
+ async create(task) {
4
+ this.tasks.set(task.id, structuredClone(task));
5
+ }
6
+ async get(taskId) {
7
+ const task = this.tasks.get(taskId);
8
+ return task ? structuredClone(task) : null;
9
+ }
10
+ async update(taskId, update) {
11
+ const existing = this.tasks.get(taskId);
12
+ if (!existing)
13
+ return;
14
+ this.tasks.set(taskId, { ...existing, ...update });
15
+ }
16
+ async list(filter) {
17
+ let tasks = Array.from(this.tasks.values());
18
+ if (filter?.contextId) {
19
+ tasks = tasks.filter((t) => t.contextId === filter.contextId);
20
+ }
21
+ if (filter?.state) {
22
+ tasks = tasks.filter((t) => t.status.state === filter.state);
23
+ }
24
+ const offset = filter?.offset ?? 0;
25
+ const limit = filter?.limit ?? tasks.length;
26
+ tasks = tasks.slice(offset, offset + limit);
27
+ return tasks.map((t) => structuredClone(t));
28
+ }
29
+ async delete(taskId) {
30
+ this.tasks.delete(taskId);
31
+ }
32
+ }
33
+ //# sourceMappingURL=task-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-store.js","sourceRoot":"","sources":["../src/task-store.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IACpB,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE3C,KAAK,CAAC,MAAM,CAAC,IAAa;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,MAAwB;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5C,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QAC5C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QAE5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,174 @@
1
+ import type { Agent } from '@cogitator-ai/types';
2
+ export type TaskState = 'working' | 'input-required' | 'completed' | 'failed' | 'canceled' | 'rejected';
3
+ export declare const TERMINAL_STATES: readonly TaskState[];
4
+ export declare function isTerminalState(state: TaskState): boolean;
5
+ export interface TextPart {
6
+ type: 'text';
7
+ text: string;
8
+ }
9
+ export interface FilePart {
10
+ type: 'file';
11
+ uri: string;
12
+ mimeType: string;
13
+ size?: number;
14
+ name?: string;
15
+ }
16
+ export interface DataPart {
17
+ type: 'data';
18
+ mimeType: string;
19
+ data: Record<string, unknown>;
20
+ }
21
+ export type Part = TextPart | FilePart | DataPart;
22
+ export interface A2AMessage {
23
+ role: 'user' | 'agent';
24
+ parts: Part[];
25
+ taskId?: string;
26
+ contextId?: string;
27
+ referenceTaskIds?: string[];
28
+ }
29
+ export interface Artifact {
30
+ id: string;
31
+ parts: Part[];
32
+ mimeType?: string;
33
+ }
34
+ export interface A2AErrorDetail {
35
+ code: number;
36
+ message: string;
37
+ data?: unknown;
38
+ }
39
+ export interface TaskStatus {
40
+ state: TaskState;
41
+ timestamp: string;
42
+ message?: string;
43
+ errorDetails?: A2AErrorDetail;
44
+ }
45
+ export interface A2ATask {
46
+ id: string;
47
+ contextId: string;
48
+ status: TaskStatus;
49
+ history: A2AMessage[];
50
+ artifacts: Artifact[];
51
+ metadata?: Record<string, unknown>;
52
+ }
53
+ export interface AgentProvider {
54
+ name: string;
55
+ url?: string;
56
+ contactEmail?: string;
57
+ }
58
+ export interface A2ACapabilities {
59
+ streaming: boolean;
60
+ pushNotifications: boolean;
61
+ extendedAgentCard?: boolean;
62
+ }
63
+ export interface AgentSkill {
64
+ id: string;
65
+ name: string;
66
+ description?: string;
67
+ inputModes: string[];
68
+ outputModes: string[];
69
+ examples?: string[];
70
+ }
71
+ export type SecurityScheme = {
72
+ type: 'apiKey';
73
+ location: 'header' | 'query' | 'cookie';
74
+ parameterName: string;
75
+ } | {
76
+ type: 'http';
77
+ scheme: 'basic' | 'bearer';
78
+ } | {
79
+ type: 'oauth2';
80
+ flows: Record<string, unknown>;
81
+ } | {
82
+ type: 'openIdConnect';
83
+ connectUrl: string;
84
+ };
85
+ export interface AgentCard {
86
+ name: string;
87
+ description?: string;
88
+ url: string;
89
+ version: string;
90
+ provider?: AgentProvider;
91
+ capabilities: A2ACapabilities;
92
+ skills: AgentSkill[];
93
+ defaultInputModes: string[];
94
+ defaultOutputModes: string[];
95
+ securitySchemes?: Record<string, SecurityScheme>;
96
+ security?: Record<string, string[]>[];
97
+ }
98
+ export interface SendMessageConfiguration {
99
+ acceptedOutputModes?: string[];
100
+ historyLength?: number;
101
+ blocking?: boolean;
102
+ timeout?: number;
103
+ }
104
+ export interface TaskFilter {
105
+ contextId?: string;
106
+ state?: TaskState;
107
+ limit?: number;
108
+ offset?: number;
109
+ }
110
+ export interface TaskStore {
111
+ create(task: A2ATask): Promise<void>;
112
+ get(taskId: string): Promise<A2ATask | null>;
113
+ update(taskId: string, update: Partial<A2ATask>): Promise<void>;
114
+ list(filter?: TaskFilter): Promise<A2ATask[]>;
115
+ delete(taskId: string): Promise<void>;
116
+ }
117
+ export interface TaskStatusUpdateEvent {
118
+ type: 'status-update';
119
+ taskId: string;
120
+ status: TaskStatus;
121
+ timestamp: string;
122
+ }
123
+ export interface TaskArtifactUpdateEvent {
124
+ type: 'artifact-update';
125
+ taskId: string;
126
+ artifact: Artifact;
127
+ timestamp: string;
128
+ }
129
+ export type A2AStreamEvent = TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
130
+ export interface AgentRunResult {
131
+ output: string;
132
+ structured?: unknown;
133
+ runId: string;
134
+ agentId: string;
135
+ threadId: string;
136
+ usage: {
137
+ inputTokens: number;
138
+ outputTokens: number;
139
+ totalTokens: number;
140
+ cost: number;
141
+ duration: number;
142
+ };
143
+ toolCalls: ReadonlyArray<{
144
+ name: string;
145
+ arguments: unknown;
146
+ }>;
147
+ }
148
+ export interface CogitatorLike {
149
+ run(agent: unknown, options: {
150
+ input: string;
151
+ signal?: AbortSignal;
152
+ stream?: boolean;
153
+ onToken?: (token: string) => void;
154
+ }): Promise<AgentRunResult>;
155
+ }
156
+ export interface A2AAuthConfig {
157
+ type: 'bearer' | 'apiKey';
158
+ validate: (credentials: string) => Promise<boolean>;
159
+ }
160
+ export interface A2AServerConfig {
161
+ agents: Record<string, Agent>;
162
+ cogitator: CogitatorLike;
163
+ basePath?: string;
164
+ taskStore?: TaskStore;
165
+ cardUrl?: string;
166
+ auth?: A2AAuthConfig;
167
+ }
168
+ export interface A2AClientConfig {
169
+ headers?: Record<string, string>;
170
+ timeout?: number;
171
+ agentCardPath?: string;
172
+ rpcPath?: string;
173
+ }
174
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,10 @@
1
+ export const TERMINAL_STATES = [
2
+ 'completed',
3
+ 'failed',
4
+ 'canceled',
5
+ 'rejected',
6
+ ];
7
+ export function isTerminalState(state) {
8
+ return TERMINAL_STATES.includes(state);
9
+ }
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,WAAW;IACX,QAAQ;IACR,UAAU;IACV,UAAU;CACF,CAAC;AAEX,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,97 @@
1
+ {
2
+ "name": "@cogitator-ai/a2a",
3
+ "version": "0.2.0",
4
+ "description": "A2A (Agent-to-Agent) Protocol v0.3 implementation for Cogitator",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./express": {
14
+ "types": "./dist/adapters/express.d.ts",
15
+ "import": "./dist/adapters/express.js"
16
+ },
17
+ "./hono": {
18
+ "types": "./dist/adapters/hono.d.ts",
19
+ "import": "./dist/adapters/hono.js"
20
+ },
21
+ "./fastify": {
22
+ "types": "./dist/adapters/fastify.d.ts",
23
+ "import": "./dist/adapters/fastify.js"
24
+ },
25
+ "./koa": {
26
+ "types": "./dist/adapters/koa.d.ts",
27
+ "import": "./dist/adapters/koa.js"
28
+ },
29
+ "./next": {
30
+ "types": "./dist/adapters/next.d.ts",
31
+ "import": "./dist/adapters/next.js"
32
+ }
33
+ },
34
+ "files": [
35
+ "dist"
36
+ ],
37
+ "scripts": {
38
+ "build": "tsc",
39
+ "dev": "tsc --watch",
40
+ "test": "vitest run",
41
+ "test:watch": "vitest",
42
+ "lint": "eslint src",
43
+ "clean": "rm -rf dist"
44
+ },
45
+ "dependencies": {
46
+ "@cogitator-ai/types": "workspace:*",
47
+ "zod": "^4.3.6"
48
+ },
49
+ "devDependencies": {
50
+ "@types/express": "^4.17.21",
51
+ "@types/koa": "^2.15.0",
52
+ "@types/node": "^22.0.0",
53
+ "typescript": "^5.3.0",
54
+ "vitest": "^4.0.18"
55
+ },
56
+ "peerDependencies": {
57
+ "@cogitator-ai/core": "workspace:*",
58
+ "express": ">=4.18.0",
59
+ "fastify": ">=4.0.0",
60
+ "hono": ">=4.0.0",
61
+ "koa": ">=2.0.0",
62
+ "next": ">=14.0.0"
63
+ },
64
+ "peerDependenciesMeta": {
65
+ "@cogitator-ai/core": {
66
+ "optional": true
67
+ },
68
+ "express": {
69
+ "optional": true
70
+ },
71
+ "hono": {
72
+ "optional": true
73
+ },
74
+ "fastify": {
75
+ "optional": true
76
+ },
77
+ "koa": {
78
+ "optional": true
79
+ },
80
+ "next": {
81
+ "optional": true
82
+ }
83
+ },
84
+ "engines": {
85
+ "node": ">=20.0.0"
86
+ },
87
+ "repository": {
88
+ "type": "git",
89
+ "url": "https://github.com/cogitator-ai/Cogitator-AI.git",
90
+ "directory": "packages/a2a"
91
+ },
92
+ "publishConfig": {
93
+ "access": "public",
94
+ "registry": "https://npm.pkg.github.com"
95
+ },
96
+ "license": "MIT"
97
+ }