@cleocode/lafs 2026.3.74 → 2026.4.3

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 (143) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +97 -68
  3. package/dist/schemas/v1/agent-card.schema.json +230 -0
  4. package/dist/schemas/v1/conformance-profiles.json +0 -0
  5. package/dist/schemas/v1/context-ledger.schema.json +70 -0
  6. package/dist/schemas/v1/discovery.schema.json +132 -0
  7. package/dist/schemas/v1/envelope.schema.json +0 -0
  8. package/dist/schemas/v1/error-registry.json +0 -0
  9. package/dist/src/a2a/bindings/grpc.d.ts +118 -11
  10. package/dist/src/a2a/bindings/grpc.d.ts.map +1 -0
  11. package/dist/src/a2a/bindings/grpc.js +80 -8
  12. package/dist/src/a2a/bindings/grpc.js.map +1 -0
  13. package/dist/src/a2a/bindings/http.d.ts +131 -15
  14. package/dist/src/a2a/bindings/http.d.ts.map +1 -0
  15. package/dist/src/a2a/bindings/http.js +101 -14
  16. package/dist/src/a2a/bindings/http.js.map +1 -0
  17. package/dist/src/a2a/bindings/index.d.ts +83 -9
  18. package/dist/src/a2a/bindings/index.d.ts.map +1 -0
  19. package/dist/src/a2a/bindings/index.js +74 -6
  20. package/dist/src/a2a/bindings/index.js.map +1 -0
  21. package/dist/src/a2a/bindings/jsonrpc.d.ts +194 -9
  22. package/dist/src/a2a/bindings/jsonrpc.d.ts.map +1 -0
  23. package/dist/src/a2a/bindings/jsonrpc.js +155 -10
  24. package/dist/src/a2a/bindings/jsonrpc.js.map +1 -0
  25. package/dist/src/a2a/bridge.d.ts +237 -44
  26. package/dist/src/a2a/bridge.d.ts.map +1 -0
  27. package/dist/src/a2a/bridge.js +187 -48
  28. package/dist/src/a2a/bridge.js.map +1 -0
  29. package/dist/src/a2a/extensions.d.ts +222 -12
  30. package/dist/src/a2a/extensions.d.ts.map +1 -0
  31. package/dist/src/a2a/extensions.js +178 -13
  32. package/dist/src/a2a/extensions.js.map +1 -0
  33. package/dist/src/a2a/index.d.ts +10 -7
  34. package/dist/src/a2a/index.d.ts.map +1 -0
  35. package/dist/src/a2a/index.js +24 -27
  36. package/dist/src/a2a/index.js.map +1 -0
  37. package/dist/src/a2a/streaming.d.ts +276 -3
  38. package/dist/src/a2a/streaming.d.ts.map +1 -0
  39. package/dist/src/a2a/streaming.js +255 -11
  40. package/dist/src/a2a/streaming.js.map +1 -0
  41. package/dist/src/a2a/task-lifecycle.d.ts +341 -20
  42. package/dist/src/a2a/task-lifecycle.d.ts.map +1 -0
  43. package/dist/src/a2a/task-lifecycle.js +327 -26
  44. package/dist/src/a2a/task-lifecycle.js.map +1 -0
  45. package/dist/src/budgetEnforcement.d.ts +93 -20
  46. package/dist/src/budgetEnforcement.d.ts.map +1 -0
  47. package/dist/src/budgetEnforcement.js +146 -31
  48. package/dist/src/budgetEnforcement.js.map +1 -0
  49. package/dist/src/circuit-breaker/index.d.ts +260 -10
  50. package/dist/src/circuit-breaker/index.d.ts.map +1 -0
  51. package/dist/src/circuit-breaker/index.js +226 -14
  52. package/dist/src/circuit-breaker/index.js.map +1 -0
  53. package/dist/src/cli.d.ts +1 -0
  54. package/dist/src/cli.d.ts.map +1 -0
  55. package/dist/src/cli.js +12 -11
  56. package/dist/src/cli.js.map +1 -0
  57. package/dist/src/compliance.d.ts +180 -3
  58. package/dist/src/compliance.d.ts.map +1 -0
  59. package/dist/src/compliance.js +114 -13
  60. package/dist/src/compliance.js.map +1 -0
  61. package/dist/src/conformance.d.ts +55 -2
  62. package/dist/src/conformance.d.ts.map +1 -0
  63. package/dist/src/conformance.js +124 -76
  64. package/dist/src/conformance.js.map +1 -0
  65. package/dist/src/conformanceProfiles.d.ts +68 -1
  66. package/dist/src/conformanceProfiles.d.ts.map +1 -0
  67. package/dist/src/conformanceProfiles.js +53 -1
  68. package/dist/src/conformanceProfiles.js.map +1 -0
  69. package/dist/src/deprecationRegistry.d.ts +82 -1
  70. package/dist/src/deprecationRegistry.d.ts.map +1 -0
  71. package/dist/src/deprecationRegistry.js +58 -7
  72. package/dist/src/deprecationRegistry.js.map +1 -0
  73. package/dist/src/discovery.d.ts +347 -65
  74. package/dist/src/discovery.d.ts.map +1 -0
  75. package/dist/src/discovery.js +130 -72
  76. package/dist/src/discovery.js.map +1 -0
  77. package/dist/src/envelope.d.ts +262 -9
  78. package/dist/src/envelope.d.ts.map +1 -0
  79. package/dist/src/envelope.js +179 -15
  80. package/dist/src/envelope.js.map +1 -0
  81. package/dist/src/errorRegistry.d.ts +163 -3
  82. package/dist/src/errorRegistry.d.ts.map +1 -0
  83. package/dist/src/errorRegistry.js +119 -3
  84. package/dist/src/errorRegistry.js.map +1 -0
  85. package/dist/src/fieldExtraction.d.ts +128 -27
  86. package/dist/src/fieldExtraction.d.ts.map +1 -0
  87. package/dist/src/fieldExtraction.js +100 -27
  88. package/dist/src/fieldExtraction.js.map +1 -0
  89. package/dist/src/flagResolver.d.ts +77 -10
  90. package/dist/src/flagResolver.d.ts.map +1 -0
  91. package/dist/src/flagResolver.js +22 -5
  92. package/dist/src/flagResolver.js.map +1 -0
  93. package/dist/src/flagSemantics.d.ts +80 -4
  94. package/dist/src/flagSemantics.d.ts.map +1 -0
  95. package/dist/src/flagSemantics.js +78 -11
  96. package/dist/src/flagSemantics.js.map +1 -0
  97. package/dist/src/health/index.d.ts +103 -9
  98. package/dist/src/health/index.d.ts.map +1 -0
  99. package/dist/src/health/index.js +75 -26
  100. package/dist/src/health/index.js.map +1 -0
  101. package/dist/src/index.d.ts +34 -23
  102. package/dist/src/index.d.ts.map +1 -0
  103. package/dist/src/index.js +40 -28
  104. package/dist/src/index.js.map +1 -0
  105. package/dist/src/mviProjection.d.ts +43 -6
  106. package/dist/src/mviProjection.d.ts.map +1 -0
  107. package/dist/src/mviProjection.js +32 -5
  108. package/dist/src/mviProjection.js.map +1 -0
  109. package/dist/src/native-loader.d.ts +49 -0
  110. package/dist/src/native-loader.d.ts.map +1 -0
  111. package/dist/src/native-loader.js +56 -0
  112. package/dist/src/native-loader.js.map +1 -0
  113. package/dist/src/problemDetails.d.ts +71 -4
  114. package/dist/src/problemDetails.d.ts.map +1 -0
  115. package/dist/src/problemDetails.js +27 -3
  116. package/dist/src/problemDetails.js.map +1 -0
  117. package/dist/src/shutdown/index.d.ts +103 -9
  118. package/dist/src/shutdown/index.d.ts.map +1 -0
  119. package/dist/src/shutdown/index.js +78 -12
  120. package/dist/src/shutdown/index.js.map +1 -0
  121. package/dist/src/tokenEstimator.d.ts +98 -11
  122. package/dist/src/tokenEstimator.d.ts.map +1 -0
  123. package/dist/src/tokenEstimator.js +91 -13
  124. package/dist/src/tokenEstimator.js.map +1 -0
  125. package/dist/src/types.d.ts +477 -11
  126. package/dist/src/types.d.ts.map +1 -0
  127. package/dist/src/types.js +76 -2
  128. package/dist/src/types.js.map +1 -0
  129. package/dist/src/validateEnvelope.d.ts +61 -2
  130. package/dist/src/validateEnvelope.d.ts.map +1 -0
  131. package/dist/src/validateEnvelope.js +81 -14
  132. package/dist/src/validateEnvelope.js.map +1 -0
  133. package/dist/tsconfig.build.tsbuildinfo +1 -0
  134. package/lafs.md +3 -4
  135. package/package.json +14 -12
  136. package/schemas/v1/agent-card.schema.json +0 -0
  137. package/schemas/v1/conformance-profiles.json +0 -0
  138. package/schemas/v1/context-ledger.schema.json +0 -0
  139. package/schemas/v1/discovery.schema.json +0 -0
  140. package/schemas/v1/envelope.schema.json +0 -0
  141. package/schemas/v1/error-registry.json +0 -0
  142. package/dist/src/mcpAdapter.d.ts +0 -28
  143. package/dist/src/mcpAdapter.js +0 -281
@@ -1,29 +1,80 @@
1
1
  /**
2
2
  * A2A streaming and async runtime primitives (T101).
3
3
  *
4
- * Provides an in-memory event bus for task status/artifact updates and
5
- * push-notification config storage helpers.
4
+ * @remarks
5
+ * Provides an in-memory event bus for task status/artifact updates,
6
+ * push-notification config storage helpers, webhook dispatch, and
7
+ * artifact delta assembly. All classes are designed for in-memory use
8
+ * and do not persist state across process restarts.
6
9
  */
7
10
  function resolveTaskId(event) {
8
11
  const candidate = event;
9
12
  const taskId = candidate.taskId ?? candidate.task?.id;
10
13
  if (!taskId) {
11
- throw new Error("Task stream event is missing task identifier");
14
+ throw new Error('Task stream event is missing task identifier');
12
15
  }
13
16
  return taskId;
14
17
  }
15
18
  /**
16
19
  * In-memory event bus for task lifecycle streaming events.
20
+ *
21
+ * @remarks
22
+ * Maintains per-task event history and per-task listener sets. Events are
23
+ * delivered synchronously to all registered listeners for the task. The
24
+ * history can be replayed via {@link TaskEventBus.getHistory} for catch-up
25
+ * semantics.
17
26
  */
18
27
  export class TaskEventBus {
28
+ /** Map of task ID to ordered event history */
19
29
  history = new Map();
30
+ /** Map of task ID to active listener callbacks */
20
31
  listeners = new Map();
32
+ /**
33
+ * Publish a task status update event.
34
+ *
35
+ * @remarks
36
+ * Convenience wrapper that delegates to {@link TaskEventBus.publish}.
37
+ *
38
+ * @param event - Status update event to publish
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * bus.publishStatusUpdate({ kind: 'status-update', taskId: 'task-1', status: { state: 'working', timestamp: new Date().toISOString() }, final: false });
43
+ * ```
44
+ */
21
45
  publishStatusUpdate(event) {
22
46
  this.publish(event);
23
47
  }
48
+ /**
49
+ * Publish a task artifact update event.
50
+ *
51
+ * @remarks
52
+ * Convenience wrapper that delegates to {@link TaskEventBus.publish}.
53
+ *
54
+ * @param event - Artifact update event to publish
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * bus.publishArtifactUpdate({ kind: 'artifact-update', taskId: 'task-1', artifact: myArtifact });
59
+ * ```
60
+ */
24
61
  publishArtifactUpdate(event) {
25
62
  this.publish(event);
26
63
  }
64
+ /**
65
+ * Publish a task stream event to all listeners and history.
66
+ *
67
+ * @remarks
68
+ * Appends the event to the task's history, then synchronously delivers
69
+ * it to all registered listeners for that task.
70
+ *
71
+ * @param event - Task stream event to publish
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * bus.publish(statusUpdateEvent);
76
+ * ```
77
+ */
27
78
  publish(event) {
28
79
  const taskId = resolveTaskId(event);
29
80
  const events = this.history.get(taskId) ?? [];
@@ -36,6 +87,25 @@ export class TaskEventBus {
36
87
  }
37
88
  }
38
89
  }
90
+ /**
91
+ * Subscribe to events for a specific task.
92
+ *
93
+ * @remarks
94
+ * Returns an unsubscribe function that removes the listener. Automatically
95
+ * cleans up the listener set when the last listener is removed.
96
+ *
97
+ * @param taskId - ID of the task to subscribe to
98
+ * @param listener - Callback invoked for each event
99
+ * @returns Unsubscribe function that removes this listener
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * const unsubscribe = bus.subscribe('task-1', (event) => {
104
+ * console.log('Event:', event);
105
+ * });
106
+ * // Later: unsubscribe();
107
+ * ```
108
+ */
39
109
  subscribe(taskId, listener) {
40
110
  let set = this.listeners.get(taskId);
41
111
  if (!set) {
@@ -53,12 +123,44 @@ export class TaskEventBus {
53
123
  }
54
124
  };
55
125
  }
126
+ /**
127
+ * Get the full event history for a task.
128
+ *
129
+ * @remarks
130
+ * Returns a shallow copy of the history array. Useful for catch-up
131
+ * replay when a new subscriber connects.
132
+ *
133
+ * @param taskId - ID of the task to retrieve history for
134
+ * @returns Array of past events for the task, or empty array if none
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * const events = bus.getHistory('task-1');
139
+ * ```
140
+ */
56
141
  getHistory(taskId) {
57
142
  return [...(this.history.get(taskId) ?? [])];
58
143
  }
59
144
  }
60
145
  /**
61
146
  * Build an async iterator for real-time task stream events.
147
+ *
148
+ * @remarks
149
+ * First replays the existing event history for catch-up, then yields
150
+ * new events as they arrive via the bus subscription. Uses a timeout
151
+ * (default 30s) to periodically yield control when no events arrive.
152
+ *
153
+ * @param bus - TaskEventBus to subscribe to
154
+ * @param taskId - ID of the task to stream events for
155
+ * @param options - Iterator options including timeout
156
+ * @returns Async generator yielding task stream events
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * for await (const event of streamTaskEvents(bus, 'task-1', { timeoutMs: 5000 })) {
161
+ * console.log('Received:', event);
162
+ * }
163
+ * ```
62
164
  */
63
165
  export async function* streamTaskEvents(bus, taskId, options = {}) {
64
166
  const queue = [];
@@ -104,9 +206,30 @@ export async function* streamTaskEvents(bus, taskId, options = {}) {
104
206
  }
105
207
  /**
106
208
  * In-memory manager for async push-notification configs.
209
+ *
210
+ * @remarks
211
+ * Stores push-notification configurations keyed by task ID and config ID.
212
+ * Provides CRUD operations for registering, retrieving, listing, and
213
+ * removing webhook configurations.
107
214
  */
108
215
  export class PushNotificationConfigStore {
216
+ /** Nested map of task ID to config ID to push notification config */
109
217
  configs = new Map();
218
+ /**
219
+ * Store a push-notification config for a task.
220
+ *
221
+ * @remarks
222
+ * Overwrites any existing config with the same task ID and config ID.
223
+ *
224
+ * @param taskId - ID of the task the config applies to
225
+ * @param configId - Unique identifier for this config within the task
226
+ * @param config - Push notification configuration to store
227
+ *
228
+ * @example
229
+ * ```typescript
230
+ * store.set('task-1', 'webhook-1', { url: 'https://example.com/hook', token: 'abc' });
231
+ * ```
232
+ */
110
233
  set(taskId, configId, config) {
111
234
  let taskConfigs = this.configs.get(taskId);
112
235
  if (!taskConfigs) {
@@ -115,12 +238,50 @@ export class PushNotificationConfigStore {
115
238
  }
116
239
  taskConfigs.set(configId, config);
117
240
  }
241
+ /**
242
+ * Retrieve a push-notification config by task and config ID.
243
+ *
244
+ * @param taskId - ID of the task
245
+ * @param configId - ID of the config to retrieve
246
+ * @returns The push notification config, or undefined if not found
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * const config = store.get('task-1', 'webhook-1');
251
+ * ```
252
+ */
118
253
  get(taskId, configId) {
119
254
  return this.configs.get(taskId)?.get(configId);
120
255
  }
256
+ /**
257
+ * List all push-notification configs for a task.
258
+ *
259
+ * @param taskId - ID of the task to list configs for
260
+ * @returns Array of push notification configs, or empty array if none
261
+ *
262
+ * @example
263
+ * ```typescript
264
+ * const configs = store.list('task-1');
265
+ * ```
266
+ */
121
267
  list(taskId) {
122
268
  return [...(this.configs.get(taskId)?.values() ?? [])];
123
269
  }
270
+ /**
271
+ * Delete a push-notification config.
272
+ *
273
+ * @remarks
274
+ * Removes the config and cleans up the task entry if no configs remain.
275
+ *
276
+ * @param taskId - ID of the task
277
+ * @param configId - ID of the config to delete
278
+ * @returns True if the config was found and removed, false otherwise
279
+ *
280
+ * @example
281
+ * ```typescript
282
+ * const removed = store.delete('task-1', 'webhook-1');
283
+ * ```
284
+ */
124
285
  delete(taskId, configId) {
125
286
  const taskConfigs = this.configs.get(taskId);
126
287
  if (!taskConfigs) {
@@ -135,19 +296,51 @@ export class PushNotificationConfigStore {
135
296
  }
136
297
  /**
137
298
  * Deliver task updates to registered push-notification webhooks.
299
+ *
300
+ * @remarks
301
+ * Dispatches events to all push-notification configs registered for a task
302
+ * via the configured transport. Builds authentication headers from the
303
+ * config's token and authentication fields. Falls back to global `fetch`
304
+ * if no transport is provided.
138
305
  */
139
306
  export class PushNotificationDispatcher {
140
307
  store;
141
308
  transport;
309
+ /**
310
+ * Create a PushNotificationDispatcher.
311
+ *
312
+ * @param store - Config store to look up webhook registrations
313
+ * @param transport - HTTP transport function for sending webhook requests
314
+ */
142
315
  constructor(store, transport = async (input, init) => {
143
- if (typeof fetch !== "function") {
144
- throw new Error("Global fetch is not available for push dispatch");
316
+ if (typeof fetch !== 'function') {
317
+ throw new Error('Global fetch is not available for push dispatch');
145
318
  }
146
319
  return fetch(input, init);
147
320
  }) {
148
321
  this.store = store;
149
322
  this.transport = transport;
150
323
  }
324
+ /**
325
+ * Dispatch a task event to all registered webhooks for the task.
326
+ *
327
+ * @remarks
328
+ * Sends the event payload as JSON to each registered push-notification
329
+ * URL in parallel. Captures delivery results including HTTP status and
330
+ * errors for each webhook.
331
+ *
332
+ * @param taskId - ID of the task whose webhooks to dispatch to
333
+ * @param event - Task stream event to deliver
334
+ * @returns Array of delivery results, one per registered config
335
+ *
336
+ * @example
337
+ * ```typescript
338
+ * const results = await dispatcher.dispatch('task-1', statusUpdateEvent);
339
+ * for (const r of results) {
340
+ * if (!r.ok) console.error(`Failed to deliver to ${r.configId}: ${r.error}`);
341
+ * }
342
+ * ```
343
+ */
151
344
  async dispatch(taskId, event) {
152
345
  const configs = this.store.list(taskId);
153
346
  if (configs.length === 0) {
@@ -164,13 +357,13 @@ export class PushNotificationDispatcher {
164
357
  return {
165
358
  configId,
166
359
  ok: false,
167
- error: "Push notification config is missing url",
360
+ error: 'Push notification config is missing url',
168
361
  };
169
362
  }
170
363
  const headers = this.buildHeaders(config);
171
364
  try {
172
365
  const response = await this.transport(config.url, {
173
- method: "POST",
366
+ method: 'POST',
174
367
  headers,
175
368
  body: JSON.stringify(payload),
176
369
  });
@@ -191,12 +384,13 @@ export class PushNotificationDispatcher {
191
384
  });
192
385
  return Promise.all(deliveries);
193
386
  }
387
+ /** Build HTTP headers for push notification delivery including auth tokens. */
194
388
  buildHeaders(config) {
195
389
  const headers = {
196
- "content-type": "application/json",
390
+ 'content-type': 'application/json',
197
391
  };
198
392
  if (config.token) {
199
- headers["x-a2a-task-token"] = config.token;
393
+ headers['x-a2a-task-token'] = config.token;
200
394
  }
201
395
  const scheme = config.authentication?.schemes?.[0];
202
396
  const credentials = config.authentication?.credentials;
@@ -211,12 +405,36 @@ export class PushNotificationDispatcher {
211
405
  }
212
406
  /**
213
407
  * Applies append/lastChunk artifact deltas into task-local snapshots.
408
+ *
409
+ * @remarks
410
+ * Maintains in-memory snapshots of artifacts per task. When an artifact
411
+ * update event with `append: true` arrives, parts are merged with the
412
+ * existing snapshot. The `lastChunk` flag is tracked in artifact metadata
413
+ * as `a2a:last_chunk`.
214
414
  */
215
415
  export class TaskArtifactAssembler {
416
+ /** Map of task ID to map of artifact ID to assembled artifact snapshot */
216
417
  artifacts = new Map();
418
+ /**
419
+ * Apply an artifact update event to the assembled snapshot.
420
+ *
421
+ * @remarks
422
+ * If `append` is true and a prior snapshot exists, parts are concatenated.
423
+ * Otherwise the artifact is replaced. The `lastChunk` flag is always
424
+ * written to metadata.
425
+ *
426
+ * @param event - Artifact update event containing the delta
427
+ * @returns The merged artifact snapshot after applying the update
428
+ *
429
+ * @example
430
+ * ```typescript
431
+ * const assembler = new TaskArtifactAssembler();
432
+ * const merged = assembler.applyUpdate(artifactUpdateEvent);
433
+ * ```
434
+ */
217
435
  applyUpdate(event) {
218
436
  if (!event.artifact?.artifactId) {
219
- throw new Error("Task artifact update is missing artifactId");
437
+ throw new Error('Task artifact update is missing artifactId');
220
438
  }
221
439
  const taskId = resolveTaskId(event);
222
440
  const artifactId = event.artifact.artifactId;
@@ -230,12 +448,36 @@ export class TaskArtifactAssembler {
230
448
  taskArtifacts.set(artifactId, merged);
231
449
  return merged;
232
450
  }
451
+ /**
452
+ * Get a specific assembled artifact by task and artifact ID.
453
+ *
454
+ * @param taskId - ID of the task
455
+ * @param artifactId - ID of the artifact to retrieve
456
+ * @returns The assembled artifact snapshot, or undefined if not found
457
+ *
458
+ * @example
459
+ * ```typescript
460
+ * const artifact = assembler.get('task-1', 'art-1');
461
+ * ```
462
+ */
233
463
  get(taskId, artifactId) {
234
464
  return this.artifacts.get(taskId)?.get(artifactId);
235
465
  }
466
+ /**
467
+ * List all assembled artifacts for a task.
468
+ *
469
+ * @param taskId - ID of the task to list artifacts for
470
+ * @returns Array of assembled artifact snapshots, or empty array if none
471
+ *
472
+ * @example
473
+ * ```typescript
474
+ * const artifacts = assembler.list('task-1');
475
+ * ```
476
+ */
236
477
  list(taskId) {
237
478
  return [...(this.artifacts.get(taskId)?.values() ?? [])];
238
479
  }
480
+ /** Merge a new artifact update event into an existing artifact snapshot, handling append semantics. */
239
481
  mergeArtifact(prior, event) {
240
482
  const next = event.artifact;
241
483
  const append = Boolean(event.append);
@@ -256,10 +498,12 @@ export class TaskArtifactAssembler {
256
498
  }, lastChunk),
257
499
  };
258
500
  }
501
+ /** Inject the `a2a:last_chunk` marker into artifact metadata. */
259
502
  withLastChunk(metadata, lastChunk) {
260
503
  return {
261
504
  ...(metadata ?? {}),
262
- "a2a:last_chunk": lastChunk,
505
+ 'a2a:last_chunk': lastChunk,
263
506
  };
264
507
  }
265
508
  }
509
+ //# sourceMappingURL=streaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../../src/a2a/streaming.ts"],"names":[],"mappings":"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"}