@zhin.js/a2a 1.0.0 → 1.0.1
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.
- package/CHANGELOG.md +15 -0
- package/lib/http-handlers.d.ts +1 -1
- package/lib/http-handlers.d.ts.map +1 -1
- package/lib/http-handlers.js +14 -5
- package/lib/http-handlers.js.map +1 -1
- package/package.json +10 -10
- package/src/http-handlers.ts +15 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @zhin.js/a2a
|
|
2
2
|
|
|
3
|
+
## 1.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [5b08052]
|
|
8
|
+
- Updated dependencies [5cc9c03]
|
|
9
|
+
- Updated dependencies [36d6db2]
|
|
10
|
+
- Updated dependencies [b9b3881]
|
|
11
|
+
- Updated dependencies [7700903]
|
|
12
|
+
- @zhin.js/agent@1.0.2
|
|
13
|
+
- @zhin.js/core@1.3.3
|
|
14
|
+
- @zhin.js/logger@1.0.73
|
|
15
|
+
- @zhin.js/host-router@2.0.2
|
|
16
|
+
- zhin.js@4.1.1
|
|
17
|
+
|
|
3
18
|
## 1.0.0
|
|
4
19
|
|
|
5
20
|
### Major Changes
|
package/lib/http-handlers.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* HTTP handlers for A2A JSON-RPC, REST, and Agent Card (Node http — no Express).
|
|
3
3
|
*/
|
|
4
4
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
5
|
-
import type
|
|
5
|
+
import { type A2ARequestHandler } from '@a2a-js/sdk/server';
|
|
6
6
|
export declare function handleAgentCard(req: IncomingMessage, res: ServerResponse, requestHandler: A2ARequestHandler): Promise<void>;
|
|
7
7
|
export declare function handleJsonRpc(req: IncomingMessage, res: ServerResponse, requestHandler: A2ARequestHandler, preParsedBody?: unknown): Promise<void>;
|
|
8
8
|
export declare function handleRest(req: IncomingMessage, res: ServerResponse, requestHandler: A2ARequestHandler, subPath: string, preParsedBody?: unknown): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-handlers.d.ts","sourceRoot":"","sources":["../src/http-handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"http-handlers.d.ts","sourceRoot":"","sources":["../src/http-handlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQjE,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AA+C5B,wBAAsB,eAAe,CACnC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,iBAAiB,GAChC,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,iBAAiB,EACjC,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,iBAAiB,EACjC,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Ef;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
package/lib/http-handlers.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
|
-
import { A2A_CONTENT_TYPE, A2A_VERSION_HEADER, HTTP_EXTENSION_HEADER, } from '@a2a-js/sdk';
|
|
2
|
+
import { A2A_CONTENT_TYPE, A2A_VERSION_HEADER, Extensions, HTTP_EXTENSION_HEADER, } from '@a2a-js/sdk';
|
|
3
3
|
import { JsonRpcTransportHandler, ServerCallContext, UnauthenticatedUser, validateVersion, } from '@a2a-js/sdk/server';
|
|
4
|
-
import { Extensions } from '@a2a-js/sdk';
|
|
5
4
|
import { RestTransportHandler } from './rest-transport-handler.js';
|
|
6
5
|
const SSE_HEADERS = {
|
|
7
6
|
'Content-Type': 'text/event-stream',
|
|
@@ -79,7 +78,7 @@ export async function handleJsonRpc(req, res, requestHandler, preParsedBody) {
|
|
|
79
78
|
if (rpcResponseOrStream && typeof rpcResponseOrStream[Symbol.asyncIterator] === 'function') {
|
|
80
79
|
const stream = rpcResponseOrStream;
|
|
81
80
|
const iterator = stream[Symbol.asyncIterator]();
|
|
82
|
-
|
|
81
|
+
const firstResult = await iterator.next();
|
|
83
82
|
for (const [key, value] of Object.entries(SSE_HEADERS)) {
|
|
84
83
|
res.setHeader(key, value);
|
|
85
84
|
}
|
|
@@ -140,16 +139,26 @@ export async function handleRest(req, res, requestHandler, subPath, preParsedBod
|
|
|
140
139
|
}
|
|
141
140
|
const taskGet = path.match(/^v1\/tasks\/([^/]+)$/);
|
|
142
141
|
if (method === 'GET' && taskGet) {
|
|
142
|
+
const taskId = taskGet[1];
|
|
143
|
+
if (!taskId) {
|
|
144
|
+
sendJson(res, 400, { error: 'invalid task id' });
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
143
147
|
const historyLength = req.url?.includes('historyLength=')
|
|
144
148
|
? new URL(req.url, 'http://localhost').searchParams.get('historyLength') ?? undefined
|
|
145
149
|
: undefined;
|
|
146
|
-
const result = await transport.getTask(
|
|
150
|
+
const result = await transport.getTask(taskId, context, historyLength ?? undefined);
|
|
147
151
|
sendJson(res, 200, result, { 'Content-Type': A2A_CONTENT_TYPE });
|
|
148
152
|
return;
|
|
149
153
|
}
|
|
150
154
|
const taskCancel = path.match(/^v1\/tasks\/([^/]+):cancel$/);
|
|
151
155
|
if (method === 'POST' && taskCancel) {
|
|
152
|
-
const
|
|
156
|
+
const taskId = taskCancel[1];
|
|
157
|
+
if (!taskId) {
|
|
158
|
+
sendJson(res, 400, { error: 'invalid task id' });
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const result = await transport.cancelTask(taskId, context);
|
|
153
162
|
sendJson(res, 200, result, { 'Content-Type': A2A_CONTENT_TYPE });
|
|
154
163
|
return;
|
|
155
164
|
}
|
package/lib/http-handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-handlers.js","sourceRoot":"","sources":["../src/http-handlers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,
|
|
1
|
+
{"version":3,"file":"http-handlers.js","sourceRoot":"","sources":["../src/http-handlers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/a2a",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "A2A Protocol server for Zhin.js — multi-agent Agent Cards and task delegation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -31,21 +31,21 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@a2a-js/sdk": "1.0.0-beta.0",
|
|
34
|
-
"@zhin.js/core": "1.3.
|
|
35
|
-
"@zhin.js/logger": "1.0.
|
|
34
|
+
"@zhin.js/core": "1.3.3",
|
|
35
|
+
"@zhin.js/logger": "1.0.73"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@zhin.js/
|
|
39
|
-
"zhin.js": "
|
|
40
|
-
"
|
|
38
|
+
"@zhin.js/agent": "1.0.2",
|
|
39
|
+
"@zhin.js/host-router": "2.0.2",
|
|
40
|
+
"zhin.js": "4.1.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/node": "^
|
|
43
|
+
"@types/node": "^26.1.0",
|
|
44
44
|
"rimraf": "^6.0.0",
|
|
45
45
|
"typescript": "^6.0.3",
|
|
46
|
-
"@zhin.js/agent": "1.0.
|
|
47
|
-
"@zhin.js/host-router": "2.0.
|
|
48
|
-
"zhin.js": "4.1.
|
|
46
|
+
"@zhin.js/agent": "1.0.2",
|
|
47
|
+
"@zhin.js/host-router": "2.0.2",
|
|
48
|
+
"zhin.js": "4.1.1"
|
|
49
49
|
},
|
|
50
50
|
"files": [
|
|
51
51
|
"src",
|
package/src/http-handlers.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { createHash } from 'node:crypto';
|
|
|
6
6
|
import {
|
|
7
7
|
A2A_CONTENT_TYPE,
|
|
8
8
|
A2A_VERSION_HEADER,
|
|
9
|
+
Extensions,
|
|
9
10
|
HTTP_EXTENSION_HEADER,
|
|
10
11
|
} from '@a2a-js/sdk';
|
|
11
12
|
import {
|
|
@@ -13,9 +14,8 @@ import {
|
|
|
13
14
|
ServerCallContext,
|
|
14
15
|
UnauthenticatedUser,
|
|
15
16
|
validateVersion,
|
|
17
|
+
type A2ARequestHandler,
|
|
16
18
|
} from '@a2a-js/sdk/server';
|
|
17
|
-
import { Extensions } from '@a2a-js/sdk';
|
|
18
|
-
import type { A2ARequestHandler } from '@a2a-js/sdk/server';
|
|
19
19
|
import { RestTransportHandler } from './rest-transport-handler.js';
|
|
20
20
|
|
|
21
21
|
const SSE_HEADERS: Record<string, string> = {
|
|
@@ -118,7 +118,7 @@ export async function handleJsonRpc(
|
|
|
118
118
|
if (rpcResponseOrStream && typeof (rpcResponseOrStream as AsyncIterable<unknown>)[Symbol.asyncIterator] === 'function') {
|
|
119
119
|
const stream = rpcResponseOrStream as AsyncGenerator<unknown, void, undefined>;
|
|
120
120
|
const iterator = stream[Symbol.asyncIterator]();
|
|
121
|
-
|
|
121
|
+
const firstResult = await iterator.next();
|
|
122
122
|
|
|
123
123
|
for (const [key, value] of Object.entries(SSE_HEADERS)) {
|
|
124
124
|
res.setHeader(key, value);
|
|
@@ -189,17 +189,27 @@ export async function handleRest(
|
|
|
189
189
|
|
|
190
190
|
const taskGet = path.match(/^v1\/tasks\/([^/]+)$/);
|
|
191
191
|
if (method === 'GET' && taskGet) {
|
|
192
|
+
const taskId = taskGet[1];
|
|
193
|
+
if (!taskId) {
|
|
194
|
+
sendJson(res, 400, { error: 'invalid task id' });
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
192
197
|
const historyLength = req.url?.includes('historyLength=')
|
|
193
198
|
? new URL(req.url, 'http://localhost').searchParams.get('historyLength') ?? undefined
|
|
194
199
|
: undefined;
|
|
195
|
-
const result = await transport.getTask(
|
|
200
|
+
const result = await transport.getTask(taskId, context, historyLength ?? undefined);
|
|
196
201
|
sendJson(res, 200, result, { 'Content-Type': A2A_CONTENT_TYPE });
|
|
197
202
|
return;
|
|
198
203
|
}
|
|
199
204
|
|
|
200
205
|
const taskCancel = path.match(/^v1\/tasks\/([^/]+):cancel$/);
|
|
201
206
|
if (method === 'POST' && taskCancel) {
|
|
202
|
-
const
|
|
207
|
+
const taskId = taskCancel[1];
|
|
208
|
+
if (!taskId) {
|
|
209
|
+
sendJson(res, 400, { error: 'invalid task id' });
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
const result = await transport.cancelTask(taskId, context);
|
|
203
213
|
sendJson(res, 200, result, { 'Content-Type': A2A_CONTENT_TYPE });
|
|
204
214
|
return;
|
|
205
215
|
}
|