@a2a-js/sdk 0.3.9 → 0.3.10

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.
@@ -24,7 +24,8 @@ async function* parseSseStream(response) {
24
24
  let buffer = "";
25
25
  let eventType = "message";
26
26
  let eventData = "";
27
- for await (const value of response.body.pipeThrough(new TextDecoderStream())) {
27
+ const stream = response.body.pipeThrough(new TextDecoderStream());
28
+ for await (const value of readFrom(stream)) {
28
29
  buffer += value;
29
30
  let lineEndIndex;
30
31
  while ((lineEndIndex = buffer.indexOf("\n")) >= 0) {
@@ -47,6 +48,20 @@ async function* parseSseStream(response) {
47
48
  yield { type: eventType, data: eventData };
48
49
  }
49
50
  }
51
+ async function* readFrom(stream) {
52
+ const reader = stream.getReader();
53
+ try {
54
+ while (true) {
55
+ const { done, value } = await reader.read();
56
+ if (done) {
57
+ break;
58
+ }
59
+ yield value;
60
+ }
61
+ } finally {
62
+ reader.releaseLock();
63
+ }
64
+ }
50
65
 
51
66
  export {
52
67
  SSE_HEADERS,
@@ -114,7 +114,8 @@ async function* parseSseStream(response) {
114
114
  let buffer = "";
115
115
  let eventType = "message";
116
116
  let eventData = "";
117
- for await (const value of response.body.pipeThrough(new TextDecoderStream())) {
117
+ const stream = response.body.pipeThrough(new TextDecoderStream());
118
+ for await (const value of readFrom(stream)) {
118
119
  buffer += value;
119
120
  let lineEndIndex;
120
121
  while ((lineEndIndex = buffer.indexOf("\n")) >= 0) {
@@ -137,6 +138,20 @@ async function* parseSseStream(response) {
137
138
  yield { type: eventType, data: eventData };
138
139
  }
139
140
  }
141
+ async function* readFrom(stream) {
142
+ const reader = stream.getReader();
143
+ try {
144
+ while (true) {
145
+ const { done, value } = await reader.read();
146
+ if (done) {
147
+ break;
148
+ }
149
+ yield value;
150
+ }
151
+ } finally {
152
+ reader.releaseLock();
153
+ }
154
+ }
140
155
 
141
156
  // src/client/transports/json_rpc_transport.ts
142
157
  var JsonRpcTransport = class _JsonRpcTransport {
@@ -325,7 +340,8 @@ var JsonRpcTransport = class _JsonRpcTransport {
325
340
  if ("error" in a2aStreamResponse) {
326
341
  const err = a2aStreamResponse.error;
327
342
  throw new Error(
328
- `SSE event contained an error: ${err.message} (Code: ${err.code}) Data: ${JSON.stringify(err.data || {})}`
343
+ `SSE event contained an error: ${err.message} (Code: ${err.code}) Data: ${JSON.stringify(err.data || {})}`,
344
+ { cause: _JsonRpcTransport.mapToError(a2aStreamResponse) }
329
345
  );
330
346
  }
331
347
  if (!("result" in a2aStreamResponse) || typeof a2aStreamResponse.result === "undefined") {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseSseStream
3
- } from "../chunk-TS5RMC7F.js";
3
+ } from "../chunk-WMQQYH7W.js";
4
4
  import {
5
5
  AGENT_CARD_PATH,
6
6
  HTTP_EXTENSION_HEADER
@@ -218,7 +218,8 @@ var JsonRpcTransport = class _JsonRpcTransport {
218
218
  if ("error" in a2aStreamResponse) {
219
219
  const err = a2aStreamResponse.error;
220
220
  throw new Error(
221
- `SSE event contained an error: ${err.message} (Code: ${err.code}) Data: ${JSON.stringify(err.data || {})}`
221
+ `SSE event contained an error: ${err.message} (Code: ${err.code}) Data: ${JSON.stringify(err.data || {})}`,
222
+ { cause: _JsonRpcTransport.mapToError(a2aStreamResponse) }
222
223
  );
223
224
  }
224
225
  if (!("result" in a2aStreamResponse) || typeof a2aStreamResponse.result === "undefined") {
@@ -2,7 +2,7 @@ import {
2
2
  SSE_HEADERS,
3
3
  formatSSEErrorEvent,
4
4
  formatSSEEvent
5
- } from "../../chunk-TS5RMC7F.js";
5
+ } from "../../chunk-WMQQYH7W.js";
6
6
  import {
7
7
  JsonRpcTransportHandler
8
8
  } from "../../chunk-S53FFHPM.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a2a-js/sdk",
3
- "version": "0.3.9",
3
+ "version": "0.3.10",
4
4
  "description": "Server & Client SDK for Agent2Agent protocol",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -72,7 +72,7 @@
72
72
  "devDependencies": {
73
73
  "@bufbuild/buf": "^1.61.0",
74
74
  "@bufbuild/protobuf": "^2.10.2",
75
- "@cloudflare/vitest-pool-workers": "^0.10.15",
75
+ "@cloudflare/vitest-pool-workers": "^0.12.5",
76
76
  "@eslint/js": "^9.39.1",
77
77
  "@grpc/grpc-js": "^1.11.0",
78
78
  "@types/express": "^5.0.3",