@illalabs/sdk 0.4.1-canary-dev-39a7ed21 → 0.4.1-canary-beta-e22dfc29

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 (46) hide show
  1. package/dist/src/chat/Chat.d.ts +59 -1
  2. package/dist/src/chat/Chat.d.ts.map +1 -1
  3. package/dist/src/chat/Chat.js +82 -3
  4. package/dist/src/chat/Chat.js.map +1 -1
  5. package/dist/src/chat/PlanStream.d.ts +129 -0
  6. package/dist/src/chat/PlanStream.d.ts.map +1 -0
  7. package/dist/src/chat/PlanStream.js +249 -0
  8. package/dist/src/chat/PlanStream.js.map +1 -0
  9. package/dist/src/chat/index.d.ts +2 -0
  10. package/dist/src/chat/index.d.ts.map +1 -1
  11. package/dist/src/chat/index.js +1 -0
  12. package/dist/src/chat/index.js.map +1 -1
  13. package/dist/src/interfaces/chat.interface.d.ts +4 -4
  14. package/dist/src/interfaces/chat.interface.d.ts.map +1 -1
  15. package/dist/src/interfaces/coreApiProvider.interface.d.ts +20 -2
  16. package/dist/src/interfaces/coreApiProvider.interface.d.ts.map +1 -1
  17. package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts +61 -2
  18. package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts.map +1 -1
  19. package/dist/src/providers/coreApiProvider/CoreApiProvider.js +117 -6
  20. package/dist/src/providers/coreApiProvider/CoreApiProvider.js.map +1 -1
  21. package/dist/src/providers/coreApiProvider/errors/SignatureSubmissionError.d.ts +9 -0
  22. package/dist/src/providers/coreApiProvider/errors/SignatureSubmissionError.d.ts.map +1 -0
  23. package/dist/src/providers/coreApiProvider/errors/SignatureSubmissionError.js +17 -0
  24. package/dist/src/providers/coreApiProvider/errors/SignatureSubmissionError.js.map +1 -0
  25. package/dist/src/providers/coreApiProvider/errors/index.d.ts +1 -0
  26. package/dist/src/providers/coreApiProvider/errors/index.d.ts.map +1 -1
  27. package/dist/src/providers/coreApiProvider/errors/index.js +1 -0
  28. package/dist/src/providers/coreApiProvider/errors/index.js.map +1 -1
  29. package/dist/src/providers/coreApiProvider/index.d.ts +1 -1
  30. package/dist/src/providers/coreApiProvider/index.d.ts.map +1 -1
  31. package/dist/src/providers/coreApiProvider/index.js.map +1 -1
  32. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.d.ts +4 -0
  33. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.d.ts.map +1 -1
  34. package/dist/src/providers/coreApiProvider/types.d.ts +16 -4
  35. package/dist/src/providers/coreApiProvider/types.d.ts.map +1 -1
  36. package/dist/src/sdk.d.ts +73 -8
  37. package/dist/src/sdk.d.ts.map +1 -1
  38. package/dist/src/sdk.js +78 -4
  39. package/dist/src/sdk.js.map +1 -1
  40. package/dist/src/streaming/parseSSE.d.ts.map +1 -1
  41. package/dist/src/streaming/parseSSE.js +18 -2
  42. package/dist/src/streaming/parseSSE.js.map +1 -1
  43. package/dist/src/telemetry/TelemetryClient.d.ts.map +1 -1
  44. package/dist/src/telemetry/TelemetryClient.js +7 -2
  45. package/dist/src/telemetry/TelemetryClient.js.map +1 -1
  46. package/package.json +2 -2
@@ -1,7 +1,8 @@
1
- import type { MessageHistoryType } from "@illalabs/interfaces";
1
+ import type { ExecutionPlan, MessageHistoryType, SignatureContinuation } from "@illalabs/interfaces";
2
2
  import type { AwaitableActionDescriptor, AwaitActionResult } from "../asyncToolChecker/index.js";
3
3
  import type { ChatContextSnapshot, ChatOptions, SendMessageOptions, SendMessageResult, SendMessageStreamingOptions } from "../interfaces/index.js";
4
4
  import type { Prompt } from "../prompt/index.js";
5
+ import type { PlanStream } from "./PlanStream.js";
5
6
  /**
6
7
  * Represents a conversational session with the Illa Core API.
7
8
  */
@@ -96,5 +97,62 @@ export declare class Chat {
96
97
  * @param snapshot Context snapshot to store.
97
98
  */
98
99
  setContext(snapshot: ChatContextSnapshot): Promise<void>;
100
+ /**
101
+ * Initiates execution of an approved plan via SSE streaming.
102
+ *
103
+ * Posts the approved plan to the API which responds with an SSE stream
104
+ * of execution events. The returned PlanStream allows subscribing to
105
+ * events like step progress, signature requests, and completion.
106
+ *
107
+ * @param plan The approved execution plan to execute
108
+ * @param options Optional request options including abort signal
109
+ * @returns A PlanStream for receiving execution events
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * const stream = await chat.streamExecution(plan);
114
+ *
115
+ * stream.on('step_started', (event) => {
116
+ * console.log(`Step ${event.stepNumber}: ${event.description}`);
117
+ * });
118
+ *
119
+ * stream.on('signature_required', async (event) => {
120
+ * const signature = await wallet.signTransaction(event.transaction);
121
+ * await chat.submitSignature({
122
+ * planId: plan.planId,
123
+ * stepNumber: event.stepNumber,
124
+ * signature,
125
+ * });
126
+ * });
127
+ *
128
+ * stream.on('execution_complete', (event) => {
129
+ * console.log(`Execution ${event.status}: ${event.summary}`);
130
+ * });
131
+ * ```
132
+ */
133
+ streamExecution(plan: ExecutionPlan, options?: SendMessageOptions): Promise<PlanStream>;
134
+ /**
135
+ * Submits a signature during plan execution.
136
+ *
137
+ * When the server emits a `signature_required` event during plan execution,
138
+ * call this method to submit the signed transaction. The server will then
139
+ * resume execution from where it paused.
140
+ *
141
+ * @param data Signature continuation data including planId, stepNumber, and signature
142
+ * @param options Optional request options including abort signal
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * stream.on('signature_required', async (event) => {
147
+ * const signature = await wallet.signTransaction(event.transaction);
148
+ * await chat.submitSignature({
149
+ * planId: plan.planId,
150
+ * stepNumber: event.stepNumber,
151
+ * signature,
152
+ * });
153
+ * });
154
+ * ```
155
+ */
156
+ submitSignature(data: SignatureContinuation, options?: SendMessageOptions): Promise<void>;
99
157
  }
100
158
  //# sourceMappingURL=Chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/chat/Chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIR,kBAAkB,EAKrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAER,yBAAyB,EACzB,iBAAiB,EACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACR,mBAAmB,EACnB,WAAW,EAGX,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAA4B,MAAM,EAAc,MAAM,oBAAoB,CAAC;AAOvF;;GAEG;AACH,qBAAa,IAAI;IACb,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IAEnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IAEjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IAErD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAEzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAE1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C;;;;;;OAMG;gBACgB,OAAO,EAAE,WAAW;IAcvC;;;;OAIG;IACI,KAAK,IAAI,MAAM;IAItB,IAAW,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAEjD;IAED;;;;;;;;;;OAUG;IACU,WAAW,CACpB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAwF7B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACU,oBAAoB,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,IAAI,CAAC;IAoChB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAMhC;;;;;;;;;;;;OAYG;IACU,WAAW,CAAC,UAAU,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAe3F;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIvD;;;;OAIG;IACU,UAAU,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAIxE"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/chat/Chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIR,aAAa,EACb,kBAAkB,EAGlB,qBAAqB,EAGxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAER,yBAAyB,EACzB,iBAAiB,EACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACR,mBAAmB,EACnB,WAAW,EAGX,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAA4B,MAAM,EAAc,MAAM,oBAAoB,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD;;GAEG;AACH,qBAAa,IAAI;IACb,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IAEnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IAEjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IAErD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAEzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAE1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C;;;;;;OAMG;gBACgB,OAAO,EAAE,WAAW;IAcvC;;;;OAIG;IACI,KAAK,IAAI,MAAM;IAItB,IAAW,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAEjD;IAED;;;;;;;;;;OAUG;IACU,WAAW,CACpB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAwF7B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACU,oBAAoB,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,IAAI,CAAC;IAyChB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAMhC;;;;;;;;;;;;OAYG;IACU,WAAW,CAAC,UAAU,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAe3F;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIvD;;;;OAIG;IACU,UAAU,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACU,eAAe,CACxB,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,UAAU,CAAC;IAkBtB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,eAAe,CACxB,IAAI,EAAE,qBAAqB,EAC3B,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,IAAI,CAAC;CAUnB"}
@@ -175,13 +175,18 @@ export class Chat {
175
175
  onComplete: (result) => {
176
176
  void (async () => {
177
177
  try {
178
- await this.contextManager.setMessages(this.id, result.messages);
179
- await this.contextManager.setToolsConfig(this.id, context.toolsConfig);
178
+ // Only update messages for chat results, not plan approval events
179
+ if (result.type === "result") {
180
+ await this.contextManager.setMessages(this.id, result.messages);
181
+ await this.contextManager.setToolsConfig(this.id, context.toolsConfig);
182
+ }
180
183
  }
181
184
  catch (error) {
185
+ // Context update failed, but the API call succeeded
186
+ // Notify error but still call onComplete since the message was sent
182
187
  options.onError?.(error instanceof Error ? error : new Error(String(error)));
183
- return;
184
188
  }
189
+ // Always call onComplete after API success, even if context update failed
185
190
  options.onComplete?.(result);
186
191
  })();
187
192
  },
@@ -262,5 +267,79 @@ export class Chat {
262
267
  await this.contextManager.setMessages(this.id, snapshot.messages);
263
268
  await this.contextManager.setToolsConfig(this.id, snapshot.toolsConfig);
264
269
  }
270
+ /**
271
+ * Initiates execution of an approved plan via SSE streaming.
272
+ *
273
+ * Posts the approved plan to the API which responds with an SSE stream
274
+ * of execution events. The returned PlanStream allows subscribing to
275
+ * events like step progress, signature requests, and completion.
276
+ *
277
+ * @param plan The approved execution plan to execute
278
+ * @param options Optional request options including abort signal
279
+ * @returns A PlanStream for receiving execution events
280
+ *
281
+ * @example
282
+ * ```typescript
283
+ * const stream = await chat.streamExecution(plan);
284
+ *
285
+ * stream.on('step_started', (event) => {
286
+ * console.log(`Step ${event.stepNumber}: ${event.description}`);
287
+ * });
288
+ *
289
+ * stream.on('signature_required', async (event) => {
290
+ * const signature = await wallet.signTransaction(event.transaction);
291
+ * await chat.submitSignature({
292
+ * planId: plan.planId,
293
+ * stepNumber: event.stepNumber,
294
+ * signature,
295
+ * });
296
+ * });
297
+ *
298
+ * stream.on('execution_complete', (event) => {
299
+ * console.log(`Execution ${event.status}: ${event.summary}`);
300
+ * });
301
+ * ```
302
+ */
303
+ async streamExecution(plan, options) {
304
+ const context = await this.contextManager.getContext(this.id);
305
+ const requestOptions = options
306
+ ? {
307
+ signal: options.signal,
308
+ onRequestId: options.onRequestId,
309
+ }
310
+ : undefined;
311
+ return this.coreApiProvider.streamExecution(plan, this.userContext, context.toolsConfig, requestOptions);
312
+ }
313
+ /**
314
+ * Submits a signature during plan execution.
315
+ *
316
+ * When the server emits a `signature_required` event during plan execution,
317
+ * call this method to submit the signed transaction. The server will then
318
+ * resume execution from where it paused.
319
+ *
320
+ * @param data Signature continuation data including planId, stepNumber, and signature
321
+ * @param options Optional request options including abort signal
322
+ *
323
+ * @example
324
+ * ```typescript
325
+ * stream.on('signature_required', async (event) => {
326
+ * const signature = await wallet.signTransaction(event.transaction);
327
+ * await chat.submitSignature({
328
+ * planId: plan.planId,
329
+ * stepNumber: event.stepNumber,
330
+ * signature,
331
+ * });
332
+ * });
333
+ * ```
334
+ */
335
+ async submitSignature(data, options) {
336
+ const requestOptions = options
337
+ ? {
338
+ signal: options.signal,
339
+ onRequestId: options.onRequestId,
340
+ }
341
+ : undefined;
342
+ await this.coreApiProvider.submitSignature(data, requestOptions);
343
+ }
265
344
  }
266
345
  //# sourceMappingURL=Chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../../src/chat/Chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../../src/chat/Chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import type { ExecutionEvent } from "@illalabs/interfaces";
2
+ /**
3
+ * All possible execution event types.
4
+ */
5
+ type ExecutionEventType = ExecutionEvent["type"];
6
+ /**
7
+ * Type-safe handler for a specific execution event type.
8
+ */
9
+ type ExecutionEventHandler<T extends ExecutionEventType> = (event: Extract<ExecutionEvent, {
10
+ type: T;
11
+ }>) => void;
12
+ /**
13
+ * Options for creating a PlanStream.
14
+ */
15
+ export interface PlanStreamOptions {
16
+ /**
17
+ * Optional callback invoked when the stream closes normally.
18
+ */
19
+ onClose?: () => void;
20
+ /**
21
+ * Optional callback invoked when a connection error occurs.
22
+ */
23
+ onError?: (error: Error) => void;
24
+ }
25
+ /**
26
+ * Client-side wrapper for receiving SSE events during plan execution.
27
+ *
28
+ * PlanStream parses Server-Sent Events (SSE) from a ReadableStream and
29
+ * dispatches them to typed handlers based on event type. It supports
30
+ * multiple handlers per event type and provides proper cleanup on close.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const stream = new PlanStream(response.body!, {
35
+ * onError: (err) => console.error('Connection error:', err),
36
+ * onClose: () => console.log('Stream closed'),
37
+ * });
38
+ *
39
+ * stream.on('step_started', (event) => {
40
+ * console.log(`Step ${event.stepNumber} started: ${event.description}`);
41
+ * });
42
+ *
43
+ * stream.on('step_completed', (event) => {
44
+ * console.log(`Step ${event.stepNumber} completed`);
45
+ * });
46
+ *
47
+ * stream.on('signature_required', async (event) => {
48
+ * // Handle signature request
49
+ * const signature = await wallet.signTransaction(event.transaction);
50
+ * await submitSignature(signature);
51
+ * });
52
+ *
53
+ * stream.on('execution_complete', (event) => {
54
+ * console.log(`Execution ${event.status}: ${event.summary}`);
55
+ * stream.close();
56
+ * });
57
+ * ```
58
+ */
59
+ export declare class PlanStream {
60
+ private readonly handlers;
61
+ private readonly abortController;
62
+ private readonly options;
63
+ private closed;
64
+ /**
65
+ * Creates a new PlanStream to consume SSE events from a ReadableStream.
66
+ *
67
+ * Stream consumption is deferred to the next microtask, allowing handlers
68
+ * to be registered synchronously after construction before any events
69
+ * are dispatched.
70
+ *
71
+ * @param stream - The ReadableStream from a fetch response body
72
+ * @param options - Optional callbacks for error and close events
73
+ */
74
+ constructor(stream: ReadableStream<Uint8Array>, options?: PlanStreamOptions);
75
+ /**
76
+ * Registers an event handler for a specific event type.
77
+ *
78
+ * Multiple handlers can be registered for the same event type.
79
+ * Handlers are called in registration order.
80
+ *
81
+ * @param eventType - The type of event to listen for
82
+ * @param handler - The handler function to call when the event is received
83
+ */
84
+ on<T extends ExecutionEventType>(eventType: T, handler: ExecutionEventHandler<T>): void;
85
+ /**
86
+ * Removes a previously registered event handler.
87
+ *
88
+ * @param eventType - The type of event the handler was registered for
89
+ * @param handler - The handler function to remove
90
+ */
91
+ off<T extends ExecutionEventType>(eventType: T, handler: ExecutionEventHandler<T>): void;
92
+ /**
93
+ * Closes the stream and cleans up resources.
94
+ *
95
+ * After calling close(), no more events will be dispatched
96
+ * and the underlying stream reader will be released.
97
+ */
98
+ close(): void;
99
+ /**
100
+ * Returns whether the stream has been closed.
101
+ */
102
+ isClosed(): boolean;
103
+ /**
104
+ * Consumes the SSE stream and dispatches events to handlers.
105
+ */
106
+ private consume;
107
+ /**
108
+ * Processes a single SSE message and dispatches to handlers.
109
+ */
110
+ private processMessage;
111
+ /**
112
+ * Type guard to validate that parsed data is an ExecutionEvent.
113
+ * Uses Zod schema for complete validation.
114
+ *
115
+ * Unknown event types are silently ignored for forward compatibility -
116
+ * new server event types won't break older clients.
117
+ */
118
+ private isExecutionEvent;
119
+ /**
120
+ * Parses a single SSE message into its event type and data.
121
+ */
122
+ private parseSSEMessage;
123
+ /**
124
+ * Dispatches an event to all registered handlers for its type.
125
+ */
126
+ private dispatch;
127
+ }
128
+ export {};
129
+ //# sourceMappingURL=PlanStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanStream.d.ts","sourceRoot":"","sources":["../../../src/chat/PlanStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D;;GAEG;AACH,KAAK,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAEjD;;GAEG;AACH,KAAK,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,IAAI,CACvD,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,KAC1C,IAAI,CAAC;AAOV;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuD;IAEhF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAElD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;;;;;;OASG;gBACgB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,GAAE,iBAAsB;IAMtF;;;;;;;;OAQG;IACI,EAAE,CAAC,CAAC,SAAS,kBAAkB,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI;IAY9F;;;;;OAKG;IACI,GAAG,CAAC,CAAC,SAAS,kBAAkB,EACnC,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAClC,IAAI;IAUP;;;;;OAKG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACI,QAAQ,IAAI,OAAO;IAI1B;;OAEG;YACW,OAAO;IAqDrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAkBnB"}
@@ -0,0 +1,249 @@
1
+ import { EXECUTION_EVENT_TYPES, ExecutionEventSchema } from "@illalabs/interfaces";
2
+ import { SSEParse } from "../streaming/errors/index.js";
3
+ /**
4
+ * Client-side wrapper for receiving SSE events during plan execution.
5
+ *
6
+ * PlanStream parses Server-Sent Events (SSE) from a ReadableStream and
7
+ * dispatches them to typed handlers based on event type. It supports
8
+ * multiple handlers per event type and provides proper cleanup on close.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const stream = new PlanStream(response.body!, {
13
+ * onError: (err) => console.error('Connection error:', err),
14
+ * onClose: () => console.log('Stream closed'),
15
+ * });
16
+ *
17
+ * stream.on('step_started', (event) => {
18
+ * console.log(`Step ${event.stepNumber} started: ${event.description}`);
19
+ * });
20
+ *
21
+ * stream.on('step_completed', (event) => {
22
+ * console.log(`Step ${event.stepNumber} completed`);
23
+ * });
24
+ *
25
+ * stream.on('signature_required', async (event) => {
26
+ * // Handle signature request
27
+ * const signature = await wallet.signTransaction(event.transaction);
28
+ * await submitSignature(signature);
29
+ * });
30
+ *
31
+ * stream.on('execution_complete', (event) => {
32
+ * console.log(`Execution ${event.status}: ${event.summary}`);
33
+ * stream.close();
34
+ * });
35
+ * ```
36
+ */
37
+ export class PlanStream {
38
+ handlers = new Map();
39
+ abortController;
40
+ options;
41
+ closed = false;
42
+ /**
43
+ * Creates a new PlanStream to consume SSE events from a ReadableStream.
44
+ *
45
+ * Stream consumption is deferred to the next microtask, allowing handlers
46
+ * to be registered synchronously after construction before any events
47
+ * are dispatched.
48
+ *
49
+ * @param stream - The ReadableStream from a fetch response body
50
+ * @param options - Optional callbacks for error and close events
51
+ */
52
+ constructor(stream, options = {}) {
53
+ this.options = options;
54
+ this.abortController = new AbortController();
55
+ queueMicrotask(() => void this.consume(stream));
56
+ }
57
+ /**
58
+ * Registers an event handler for a specific event type.
59
+ *
60
+ * Multiple handlers can be registered for the same event type.
61
+ * Handlers are called in registration order.
62
+ *
63
+ * @param eventType - The type of event to listen for
64
+ * @param handler - The handler function to call when the event is received
65
+ */
66
+ on(eventType, handler) {
67
+ if (this.closed) {
68
+ return;
69
+ }
70
+ let handlerSet = this.handlers.get(eventType);
71
+ if (!handlerSet) {
72
+ handlerSet = new Set();
73
+ this.handlers.set(eventType, handlerSet);
74
+ }
75
+ handlerSet.add(handler);
76
+ }
77
+ /**
78
+ * Removes a previously registered event handler.
79
+ *
80
+ * @param eventType - The type of event the handler was registered for
81
+ * @param handler - The handler function to remove
82
+ */
83
+ off(eventType, handler) {
84
+ const handlerSet = this.handlers.get(eventType);
85
+ if (handlerSet) {
86
+ handlerSet.delete(handler);
87
+ if (handlerSet.size === 0) {
88
+ this.handlers.delete(eventType);
89
+ }
90
+ }
91
+ }
92
+ /**
93
+ * Closes the stream and cleans up resources.
94
+ *
95
+ * After calling close(), no more events will be dispatched
96
+ * and the underlying stream reader will be released.
97
+ */
98
+ close() {
99
+ if (this.closed) {
100
+ return;
101
+ }
102
+ this.closed = true;
103
+ this.abortController.abort();
104
+ this.handlers.clear();
105
+ }
106
+ /**
107
+ * Returns whether the stream has been closed.
108
+ */
109
+ isClosed() {
110
+ return this.closed;
111
+ }
112
+ /**
113
+ * Consumes the SSE stream and dispatches events to handlers.
114
+ */
115
+ async consume(stream) {
116
+ const reader = stream.getReader();
117
+ const decoder = new TextDecoder();
118
+ let buffer = "";
119
+ const abortHandler = () => {
120
+ void reader.cancel();
121
+ };
122
+ this.abortController.signal.addEventListener("abort", abortHandler, { once: true });
123
+ try {
124
+ if (this.abortController.signal.aborted) {
125
+ await reader.cancel();
126
+ return;
127
+ }
128
+ while (!this.abortController.signal.aborted) {
129
+ const { done, value } = await reader.read();
130
+ if (this.abortController.signal.aborted) {
131
+ break;
132
+ }
133
+ if (done) {
134
+ buffer += decoder.decode();
135
+ if (buffer.trim()) {
136
+ this.processMessage(buffer);
137
+ }
138
+ break;
139
+ }
140
+ buffer += decoder.decode(value, { stream: true });
141
+ const messages = buffer.split("\n\n");
142
+ buffer = messages.pop() ?? "";
143
+ for (const message of messages) {
144
+ if (!message.trim())
145
+ continue;
146
+ this.processMessage(message);
147
+ }
148
+ }
149
+ }
150
+ catch (error) {
151
+ if (!this.closed) {
152
+ const err = error instanceof Error ? error : new Error(String(error));
153
+ this.options.onError?.(err);
154
+ }
155
+ }
156
+ finally {
157
+ this.abortController.signal.removeEventListener("abort", abortHandler);
158
+ reader.releaseLock();
159
+ if (!this.closed) {
160
+ this.closed = true;
161
+ this.handlers.clear();
162
+ this.options.onClose?.();
163
+ }
164
+ }
165
+ }
166
+ /**
167
+ * Processes a single SSE message and dispatches to handlers.
168
+ */
169
+ processMessage(message) {
170
+ const parsed = this.parseSSEMessage(message);
171
+ if (!parsed) {
172
+ return;
173
+ }
174
+ let event;
175
+ try {
176
+ event = JSON.parse(parsed.data);
177
+ }
178
+ catch (error) {
179
+ this.options.onError?.(new SSEParse(`Failed to parse JSON data: ${parsed.data}`, error));
180
+ return;
181
+ }
182
+ if (this.isExecutionEvent(event)) {
183
+ this.dispatch(event);
184
+ }
185
+ }
186
+ /**
187
+ * Type guard to validate that parsed data is an ExecutionEvent.
188
+ * Uses Zod schema for complete validation.
189
+ *
190
+ * Unknown event types are silently ignored for forward compatibility -
191
+ * new server event types won't break older clients.
192
+ */
193
+ isExecutionEvent(data) {
194
+ if (typeof data !== "object" ||
195
+ data === null ||
196
+ !("type" in data) ||
197
+ typeof data.type !== "string") {
198
+ return false;
199
+ }
200
+ const eventType = data.type;
201
+ if (!EXECUTION_EVENT_TYPES.includes(eventType)) {
202
+ return false;
203
+ }
204
+ const result = ExecutionEventSchema.safeParse(data);
205
+ if (!result.success) {
206
+ this.options.onError?.(new SSEParse(`Invalid execution event: ${result.error.message}`, result.error));
207
+ }
208
+ return result.success;
209
+ }
210
+ /**
211
+ * Parses a single SSE message into its event type and data.
212
+ */
213
+ parseSSEMessage(message) {
214
+ const lines = message.split("\n");
215
+ let eventType = "message";
216
+ const dataLines = [];
217
+ for (const line of lines) {
218
+ if (line.startsWith("event:")) {
219
+ eventType = line.slice(6).trim();
220
+ }
221
+ else if (line.startsWith("data:")) {
222
+ const value = line.slice(5);
223
+ dataLines.push(value.startsWith(" ") ? value.slice(1) : value);
224
+ }
225
+ }
226
+ const data = dataLines.join("\n");
227
+ return data ? { event: eventType, data } : null;
228
+ }
229
+ /**
230
+ * Dispatches an event to all registered handlers for its type.
231
+ */
232
+ dispatch(event) {
233
+ const eventType = event.type;
234
+ const handlerSet = this.handlers.get(eventType);
235
+ if (!handlerSet) {
236
+ return;
237
+ }
238
+ for (const handler of handlerSet) {
239
+ try {
240
+ handler(event);
241
+ }
242
+ catch (error) {
243
+ const err = error instanceof Error ? error : new Error(String(error));
244
+ this.options.onError?.(new Error(`Handler error for "${eventType}": ${err.message}`, { cause: err }));
245
+ }
246
+ }
247
+ }
248
+ }
249
+ //# sourceMappingURL=PlanStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanStream.js","sourceRoot":"","sources":["../../../src/chat/PlanStream.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export { Chat } from "./Chat.js";
2
+ export { PlanStream } from "./PlanStream.js";
3
+ export type { PlanStreamOptions } from "./PlanStream.js";
2
4
  export type { ChatOptions } from "../interfaces/index.js";
3
5
  export * from "./errors/index.js";
4
6
  export type { ChatContextInput } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { Chat } from "./Chat.js";
2
+ export { PlanStream } from "./PlanStream.js";
2
3
  export * from "./errors/index.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,cAAc,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CoreApiChatBodyRequest, CoreApiChatErrorResponse, CoreApiChatSuccessResponse, MessageHistoryType, ModelContext, PersonalityContext, TelemetryEvent, ToolAutorouterRequest, UserContext, ValidatedResultEventData } from "@illalabs/interfaces";
1
+ import type { AnyResultEventData, CoreApiChatBodyRequest, CoreApiChatErrorResponse, CoreApiChatSuccessResponse, MessageHistoryType, ModelContext, PersonalityContext, TelemetryEvent, ToolAutorouterRequest, UserContext } from "@illalabs/interfaces";
2
2
  import type { AsyncToolChecker } from "../asyncToolChecker/index.js";
3
3
  import type { PromptRole, PromptSnapshot } from "../prompt/index.js";
4
4
  import type { IContextManager } from "./contextManager.interface.js";
@@ -80,10 +80,10 @@ export interface SendMessageStreamingOptions {
80
80
  readonly onTextDelta?: (delta: string) => void;
81
81
  /**
82
82
  * Called when the orchestration completes successfully.
83
- * The result contains the final chat response with messages, text, and pending tools.
84
- * Type is inferred from resultEventDataSchema for compile-time safety.
83
+ * The result contains either a chat response with messages and text,
84
+ * or a plan approval request with the generated plan.
85
85
  */
86
- readonly onComplete?: (result: ValidatedResultEventData) => void;
86
+ readonly onComplete?: (result: AnyResultEventData) => void;
87
87
  /**
88
88
  * Called when an error occurs during streaming or orchestration.
89
89
  */