@illalabs/sdk 0.4.0-canary.361ed2fa → 0.4.0-canary.4647332c

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 (72) hide show
  1. package/README.md +53 -0
  2. package/dist/src/chat/Chat.d.ts +31 -2
  3. package/dist/src/chat/Chat.d.ts.map +1 -1
  4. package/dist/src/chat/Chat.js +81 -3
  5. package/dist/src/chat/Chat.js.map +1 -1
  6. package/dist/src/context/ContextManager.js +1 -1
  7. package/dist/src/context/ContextManager.js.map +1 -1
  8. package/dist/src/interfaces/chat.interface.d.ts +52 -1
  9. package/dist/src/interfaces/chat.interface.d.ts.map +1 -1
  10. package/dist/src/interfaces/coreApiProvider.interface.d.ts +13 -1
  11. package/dist/src/interfaces/coreApiProvider.interface.d.ts.map +1 -1
  12. package/dist/src/interfaces/index.d.ts +1 -1
  13. package/dist/src/interfaces/index.d.ts.map +1 -1
  14. package/dist/src/internal.d.ts +1 -0
  15. package/dist/src/internal.d.ts.map +1 -1
  16. package/dist/src/internal.js +1 -0
  17. package/dist/src/internal.js.map +1 -1
  18. package/dist/src/prompt/index.d.ts +1 -1
  19. package/dist/src/prompt/index.d.ts.map +1 -1
  20. package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts +40 -1
  21. package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts.map +1 -1
  22. package/dist/src/providers/coreApiProvider/CoreApiProvider.js +124 -2
  23. package/dist/src/providers/coreApiProvider/CoreApiProvider.js.map +1 -1
  24. package/dist/src/providers/coreApiProvider/index.d.ts +1 -1
  25. package/dist/src/providers/coreApiProvider/index.d.ts.map +1 -1
  26. package/dist/src/providers/coreApiProvider/types.d.ts +44 -0
  27. package/dist/src/providers/coreApiProvider/types.d.ts.map +1 -1
  28. package/dist/src/sdk.d.ts +65 -4
  29. package/dist/src/sdk.d.ts.map +1 -1
  30. package/dist/src/sdk.js +58 -4
  31. package/dist/src/sdk.js.map +1 -1
  32. package/dist/src/streaming/errors/SSEParse.d.ts +15 -0
  33. package/dist/src/streaming/errors/SSEParse.d.ts.map +1 -0
  34. package/dist/src/streaming/errors/SSEParse.js +23 -0
  35. package/dist/src/streaming/errors/SSEParse.js.map +1 -0
  36. package/dist/src/streaming/errors/StreamingHttpError.d.ts +18 -0
  37. package/dist/src/streaming/errors/StreamingHttpError.d.ts.map +1 -0
  38. package/dist/src/streaming/errors/StreamingHttpError.js +27 -0
  39. package/dist/src/streaming/errors/StreamingHttpError.js.map +1 -0
  40. package/dist/src/streaming/errors/StreamingResponseBodyNull.d.ts +13 -0
  41. package/dist/src/streaming/errors/StreamingResponseBodyNull.d.ts.map +1 -0
  42. package/dist/src/streaming/errors/StreamingResponseBodyNull.js +21 -0
  43. package/dist/src/streaming/errors/StreamingResponseBodyNull.js.map +1 -0
  44. package/dist/src/streaming/errors/StreamingServerError.d.ts +23 -0
  45. package/dist/src/streaming/errors/StreamingServerError.d.ts.map +1 -0
  46. package/dist/src/streaming/errors/StreamingServerError.js +33 -0
  47. package/dist/src/streaming/errors/StreamingServerError.js.map +1 -0
  48. package/dist/src/streaming/errors/index.d.ts +5 -0
  49. package/dist/src/streaming/errors/index.d.ts.map +1 -0
  50. package/dist/src/streaming/errors/index.js +5 -0
  51. package/dist/src/streaming/errors/index.js.map +1 -0
  52. package/dist/src/streaming/index.d.ts +4 -0
  53. package/dist/src/streaming/index.d.ts.map +1 -0
  54. package/dist/src/streaming/index.js +3 -0
  55. package/dist/src/streaming/index.js.map +1 -0
  56. package/dist/src/streaming/parseSSE.d.ts +23 -0
  57. package/dist/src/streaming/parseSSE.d.ts.map +1 -0
  58. package/dist/src/streaming/parseSSE.js +152 -0
  59. package/dist/src/streaming/parseSSE.js.map +1 -0
  60. package/dist/src/streaming/types.d.ts +6 -0
  61. package/dist/src/streaming/types.d.ts.map +1 -0
  62. package/dist/src/streaming/types.js +6 -0
  63. package/dist/src/streaming/types.js.map +1 -0
  64. package/dist/src/telemetry/TelemetryClient.d.ts +140 -0
  65. package/dist/src/telemetry/TelemetryClient.d.ts.map +1 -0
  66. package/dist/src/telemetry/TelemetryClient.js +225 -0
  67. package/dist/src/telemetry/TelemetryClient.js.map +1 -0
  68. package/dist/src/telemetry/index.d.ts +2 -0
  69. package/dist/src/telemetry/index.d.ts.map +1 -0
  70. package/dist/src/telemetry/index.js +2 -0
  71. package/dist/src/telemetry/index.js.map +1 -0
  72. package/package.json +3 -5
package/README.md CHANGED
@@ -231,9 +231,62 @@ E2E_API_KEY=your-api-key E2E_FORK_BASE_RPC_URL="https://mainnet.base.org" pnpm t
231
231
  - **Multi-turn Conversations**: Seamless context preservation across messages
232
232
  - **Session Persistence**: Resume conversations across different instances
233
233
  - **Async Tool Monitoring**: Built-in support for long-running blockchain operations
234
+ - **Streaming Responses**: Real-time telemetry and text streaming via SSE
234
235
  - **TypeScript-first**: Full type safety with comprehensive type definitions
235
236
  - **Flexible Caching**: Pluggable cache implementations (in-memory, Redis, etc.)
236
237
 
238
+ ## Streaming
239
+
240
+ The SDK supports streaming responses via Server-Sent Events (SSE). This allows you to receive telemetry events and text in real-time as the AI processes your request.
241
+
242
+ ### Required Header
243
+
244
+ To enable streaming, the request must include the `Accept: text/event-stream` header. The SDK handles this automatically when using the streaming methods.
245
+
246
+ ### Usage
247
+
248
+ ```typescript
249
+ import { IllaSDK, Prompt } from "@illalabs/sdk";
250
+
251
+ const sdk = new IllaSDK({ apiKey: "your-api-key" });
252
+ const chat = sdk.createChat({ userContext: { address: "0x..." } });
253
+
254
+ await chat.sendMessageStreaming(new Prompt({ text: "What is my balance?" }), {
255
+ // Called for each telemetry event (including text_delta for streaming text)
256
+ onEvent: (event) => {
257
+ console.log("Event:", event.type);
258
+ },
259
+ // Called specifically for text chunks as they arrive
260
+ onTextDelta: (delta) => {
261
+ process.stdout.write(delta);
262
+ },
263
+ // Called when the complete response is ready
264
+ onComplete: (result) => {
265
+ console.log("\nComplete:", result.text);
266
+ },
267
+ // Called if an error occurs during streaming
268
+ onError: (error) => {
269
+ console.error("Error:", error.message);
270
+ },
271
+ });
272
+ ```
273
+
274
+ ### Direct Provider Usage
275
+
276
+ When using `CoreApiProvider` directly with fetch, include the header manually:
277
+
278
+ ```typescript
279
+ const response = await fetch(url, {
280
+ method: "POST",
281
+ headers: {
282
+ "Content-Type": "application/json",
283
+ Accept: "text/event-stream", // Required for streaming
284
+ "x-api-key": "your-api-key",
285
+ },
286
+ body: stringify(requestBody),
287
+ });
288
+ ```
289
+
237
290
  ## 📦 Project Structure
238
291
 
239
292
  ```plaintext
@@ -1,6 +1,6 @@
1
1
  import type { MessageHistoryType } from "@illalabs/interfaces";
2
2
  import type { AwaitableActionDescriptor, AwaitActionResult } from "../asyncToolChecker/index.js";
3
- import type { ChatContextSnapshot, ChatOptions, SendMessageResult } from "../interfaces/index.js";
3
+ import type { ChatContextSnapshot, ChatOptions, SendMessageOptions, SendMessageResult, SendMessageStreamingOptions } from "../interfaces/index.js";
4
4
  import type { Prompt } from "../prompt/index.js";
5
5
  /**
6
6
  * Represents a conversational session with the Illa Core API.
@@ -33,13 +33,42 @@ export declare class Chat {
33
33
  * Sends a prompt or array of prompts to the Core API and returns the processed result.
34
34
  *
35
35
  * @param prompt Either a single Prompt instance (must be kind "text") or an array of Prompts (all must be kind "tool-result").
36
+ * @param options Optional request options including abort signal and telemetry callback.
36
37
  *
37
38
  * @throws {ChatInvalidSinglePromptKind} When a single prompt is provided but is not of kind "text".
38
39
  * @throws {ChatInvalidMultiplePromptsKind} When an array of prompts is provided but not all are of kind "tool-result".
39
40
  *
40
41
  * @returns Structured chat result containing the processed response.
41
42
  */
42
- sendMessage(prompt: Prompt | Prompt[]): Promise<SendMessageResult>;
43
+ sendMessage(prompt: Prompt | Prompt[], options?: SendMessageOptions): Promise<SendMessageResult>;
44
+ /**
45
+ * Sends a message with streaming response via SSE.
46
+ *
47
+ * Instead of waiting for the full response, this method streams telemetry events
48
+ * in real-time as they occur during orchestration. The final result is delivered
49
+ * through the `onComplete` callback.
50
+ *
51
+ * This eliminates the need for a separate telemetry subscription - events and
52
+ * the result are delivered through a single HTTP connection.
53
+ *
54
+ * @param prompt A single Prompt instance of kind "text".
55
+ * @param options Streaming options with event callbacks.
56
+ *
57
+ * @throws {ChatInvalidSinglePromptKind} When the prompt is not of kind "text".
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * await chat.sendMessageStreaming(
62
+ * new Prompt({ text: "Show me my balance" }),
63
+ * {
64
+ * onEvent: (event) => console.log('Event:', event.type),
65
+ * onComplete: (result) => console.log('Done:', result.text),
66
+ * onError: (error) => console.error('Error:', error),
67
+ * }
68
+ * );
69
+ * ```
70
+ */
71
+ sendMessageStreaming(prompt: Prompt, options?: SendMessageStreamingOptions): Promise<void>;
43
72
  private buildRequest;
44
73
  private static isSuccessResponse;
45
74
  /**
@@ -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,iBAAiB,EACpB,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;;;;;;;;;OASG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyE/E,OAAO,CAAC,YAAY;IAiCpB,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,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"}
@@ -50,13 +50,14 @@ export class Chat {
50
50
  * Sends a prompt or array of prompts to the Core API and returns the processed result.
51
51
  *
52
52
  * @param prompt Either a single Prompt instance (must be kind "text") or an array of Prompts (all must be kind "tool-result").
53
+ * @param options Optional request options including abort signal and telemetry callback.
53
54
  *
54
55
  * @throws {ChatInvalidSinglePromptKind} When a single prompt is provided but is not of kind "text".
55
56
  * @throws {ChatInvalidMultiplePromptsKind} When an array of prompts is provided but not all are of kind "tool-result".
56
57
  *
57
58
  * @returns Structured chat result containing the processed response.
58
59
  */
59
- async sendMessage(prompt) {
60
+ async sendMessage(prompt, options) {
60
61
  // Validate prompt kinds based on single vs array
61
62
  const isMulti = Array.isArray(prompt);
62
63
  const prompts = isMulti ? prompt : [prompt];
@@ -88,10 +89,22 @@ export class Chat {
88
89
  }
89
90
  const originalContext = await this.contextManager.getContext(this.id);
90
91
  const { body, messages: stagedMessages } = this.buildRequest(originalContext, normalizedPromptsArray);
91
- const response = await this.coreApiProvider.sendMessage(body);
92
+ // Track requestId for the result
93
+ let capturedRequestId;
94
+ const requestOptions = options
95
+ ? {
96
+ signal: options.signal,
97
+ onRequestId: (id) => {
98
+ capturedRequestId = id;
99
+ options.onRequestId?.(id);
100
+ },
101
+ }
102
+ : undefined;
103
+ const response = await this.coreApiProvider.sendMessage(body, requestOptions);
92
104
  if (!Chat.isSuccessResponse(response)) {
93
105
  return {
94
106
  chatId: this.id,
107
+ requestId: capturedRequestId,
95
108
  prompt: body.prompt,
96
109
  promptSnapshot,
97
110
  messages: stagedMessages,
@@ -106,6 +119,7 @@ export class Chat {
106
119
  await this.contextManager.setToolsConfig(this.id, originalContext.toolsConfig);
107
120
  return {
108
121
  chatId: this.id,
122
+ requestId: response.requestId ?? capturedRequestId,
109
123
  prompt: body.prompt,
110
124
  promptSnapshot,
111
125
  messages: response.messages,
@@ -116,6 +130,64 @@ export class Chat {
116
130
  },
117
131
  };
118
132
  }
133
+ /**
134
+ * Sends a message with streaming response via SSE.
135
+ *
136
+ * Instead of waiting for the full response, this method streams telemetry events
137
+ * in real-time as they occur during orchestration. The final result is delivered
138
+ * through the `onComplete` callback.
139
+ *
140
+ * This eliminates the need for a separate telemetry subscription - events and
141
+ * the result are delivered through a single HTTP connection.
142
+ *
143
+ * @param prompt A single Prompt instance of kind "text".
144
+ * @param options Streaming options with event callbacks.
145
+ *
146
+ * @throws {ChatInvalidSinglePromptKind} When the prompt is not of kind "text".
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * await chat.sendMessageStreaming(
151
+ * new Prompt({ text: "Show me my balance" }),
152
+ * {
153
+ * onEvent: (event) => console.log('Event:', event.type),
154
+ * onComplete: (result) => console.log('Done:', result.text),
155
+ * onError: (error) => console.error('Error:', error),
156
+ * }
157
+ * );
158
+ * ```
159
+ */
160
+ async sendMessageStreaming(prompt, options = {}) {
161
+ const snapshot = prompt.getSnapshot();
162
+ if (snapshot.kind !== "text") {
163
+ throw new ChatInvalidSinglePromptKind({
164
+ chatId: this.id,
165
+ kind: snapshot.kind,
166
+ });
167
+ }
168
+ const normalizedPrompt = [prompt.getNormalizedSnapshot()];
169
+ const context = await this.contextManager.getContext(this.id);
170
+ const { body } = this.buildRequest(context, normalizedPrompt);
171
+ await this.coreApiProvider.sendMessageStreaming(body, {
172
+ signal: options.signal,
173
+ onEvent: options.onEvent,
174
+ onTextDelta: options.onTextDelta,
175
+ onComplete: (result) => {
176
+ void (async () => {
177
+ try {
178
+ await this.contextManager.setMessages(this.id, result.messages);
179
+ await this.contextManager.setToolsConfig(this.id, context.toolsConfig);
180
+ }
181
+ catch (error) {
182
+ options.onError?.(error instanceof Error ? error : new Error(String(error)));
183
+ return;
184
+ }
185
+ options.onComplete?.(result);
186
+ })();
187
+ },
188
+ onError: options.onError,
189
+ });
190
+ }
119
191
  buildRequest(context, normalizedPrompt) {
120
192
  const baseBodyRequest = {
121
193
  body: {
@@ -130,12 +202,18 @@ export class Chat {
130
202
  };
131
203
  const textPrompt = normalizedPrompt.find((p) => p.type === "text");
132
204
  const toolResultPrompts = normalizedPrompt.filter((p) => p.type === "tool-result");
205
+ const promptValue = textPrompt
206
+ ? {
207
+ role: "user",
208
+ content: [{ type: "text", text: textPrompt.text }],
209
+ }
210
+ : undefined;
133
211
  return {
134
212
  ...baseBodyRequest,
135
213
  body: {
136
214
  ...baseBodyRequest.body,
137
215
  toolResults: toolResultPrompts.flatMap((p) => p.toolResults),
138
- prompt: textPrompt ? { type: "text", text: textPrompt.text } : undefined,
216
+ prompt: promptValue,
139
217
  },
140
218
  };
141
219
  }
@@ -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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"}
@@ -4,7 +4,7 @@ const cloneMessageContent = (content) => {
4
4
  if (typeof content === "string") {
5
5
  return content;
6
6
  }
7
- return content.map((part) => ({ ...part }));
7
+ return structuredClone(content);
8
8
  };
9
9
  const cloneMessages = (messages) => messages.map((message) => ({
10
10
  ...message,
@@ -1 +1 @@
1
- {"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../../../src/context/ContextManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../../../src/context/ContextManager.ts"],"names":[],"mappings":"AAWA,MAAM,cAAc,GAAG,cAAuB,CAAC;AAC/C,MAAM,oBAAoB,GAA0B,EAAE,CAAC;AAEvD,MAAM,mBAAmB,GAAG,CAAC,OAAuB,EAAkB,EAAE;IACpE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,QAA4B,EAAsB,EAAE,CACvE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvB,GAAG,OAAO;IACV,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;CAChD,CAAC,CAAuB,CAAC;AAE9B,MAAM,gBAAgB,GAAG,CAAC,MAA6B,EAAyB,EAAE,CAC9E,eAAe,CAAC,MAAM,CAAC,CAAC;AAE5B;;GAEG;AACH,MAAM,OAAO,cAAc;IAQF;IAPJ,iBAAiB,CAAqB;IAEtC,eAAe,CAAgB;IAE/B,MAAM,CAAS;IAEhC,YACqB,KAAa,EAC9B,UAAiC,EAAE;QADlB,UAAK,GAAL,KAAK,CAAQ;QAG9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,cAAc,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG;YACnB,QAAQ,EAAE,EAAwB;YAClC,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,IAAI,oBAAoB,CAAC;SACpF,CAAC;IACN,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,UAAU,CAAC,MAAc;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACH,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;SACpD,CAAC;IACN,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,YAAY,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC5B,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YACtD,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;SAClE,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,QAA4B;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAkB;YAC3B,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;SAClC,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,QAA4B;QACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAClD,aAAa,CAAC,QAAQ,CAAC,CACJ,CAAC;QAExB,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM,CAAC,WAAW;SAClC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,WAAkC;QAC1E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAkB;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;SAC7C,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,aAAa,CAAC,MAAc;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAc;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;gBACH,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;gBACtD,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;aAClE,CAAC;QACN,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;SACpD,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,MAAqB;QAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrF,CAAC;IAEO,aAAa,CAAC,MAAc;QAChC,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;IACtC,CAAC;CACJ"}
@@ -1,4 +1,4 @@
1
- import type { CoreApiChatBodyRequest, CoreApiChatErrorResponse, CoreApiChatSuccessResponse, MessageHistoryType, ModelContext, PersonalityContext, ToolAutorouterRequest, UserContext } from "@illalabs/interfaces";
1
+ import type { CoreApiChatBodyRequest, CoreApiChatErrorResponse, CoreApiChatSuccessResponse, MessageHistoryType, ModelContext, PersonalityContext, TelemetryEvent, ToolAutorouterRequest, UserContext, ValidatedResultEventData } 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";
@@ -43,6 +43,52 @@ export interface ChatOptions {
43
43
  */
44
44
  readonly personalityContext?: PersonalityContext;
45
45
  }
46
+ /**
47
+ * Options for sending a message through the chat instance.
48
+ */
49
+ export interface SendMessageOptions {
50
+ /**
51
+ * Abort signal used to cancel the request.
52
+ */
53
+ readonly signal?: AbortSignal;
54
+ /**
55
+ * Callback invoked with the requestId after the request is initiated.
56
+ * This enables connecting to telemetry streams for real-time event updates.
57
+ */
58
+ readonly onRequestId?: (requestId: string) => void;
59
+ }
60
+ /**
61
+ * Options for streaming message responses.
62
+ * Streaming delivers telemetry events in real-time followed by the final result,
63
+ * eliminating the need for a separate telemetry subscription.
64
+ */
65
+ export interface SendMessageStreamingOptions {
66
+ /**
67
+ * Abort signal used to cancel the request.
68
+ */
69
+ readonly signal?: AbortSignal;
70
+ /**
71
+ * Called when a telemetry event is received during orchestration.
72
+ * Events are emitted in real-time as they occur on the server.
73
+ */
74
+ readonly onEvent?: (event: TelemetryEvent) => void;
75
+ /**
76
+ * Called when a text delta is received from the LLM.
77
+ * This enables real-time display of LLM-generated text as it streams in.
78
+ * @param delta - The text chunk received from the LLM
79
+ */
80
+ readonly onTextDelta?: (delta: string) => void;
81
+ /**
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.
85
+ */
86
+ readonly onComplete?: (result: ValidatedResultEventData) => void;
87
+ /**
88
+ * Called when an error occurs during streaming or orchestration.
89
+ */
90
+ readonly onError?: (error: Error) => void;
91
+ }
46
92
  /**
47
93
  * Result returned when sending a message through the chat instance.
48
94
  */
@@ -51,6 +97,11 @@ export interface SendMessageResult {
51
97
  * Identifier of the chat instance that processed the message.
52
98
  */
53
99
  readonly chatId: string;
100
+ /**
101
+ * Request ID used for telemetry subscription.
102
+ * This ID can be used to connect to the telemetry stream for real-time events.
103
+ */
104
+ readonly requestId?: string;
54
105
  /**
55
106
  * The prompt that was sent to the Core API.
56
107
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chat.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/chat.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAElD;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,cAAc,EAAE,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EACX;QACI,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;QAC1C,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;KAC3B,GACD;QACI,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;KAC5C,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC"}
1
+ {"version":3,"file":"chat.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/chat.interface.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { CoreApiChatRequest, CoreApiChatResponse, LongPollingActionRequest, LongPollingActionResponse } from "@illalabs/interfaces";
2
- import type { CoreApiProviderRoutes, RequestOptions } from "../providers/coreApiProvider/index.js";
2
+ import type { CoreApiProviderRoutes, RequestOptions, StreamingRequestOptions } from "../providers/coreApiProvider/index.js";
3
3
  /**
4
4
  * Contract for the Core API provider
5
5
  */
@@ -13,6 +13,18 @@ export interface ICoreApiProvider {
13
13
  * @returns Core API chat response
14
14
  */
15
15
  sendMessage(request: CoreApiChatRequest["body"], options?: RequestOptions): Promise<CoreApiChatResponse>;
16
+ /**
17
+ * Sends a chat request with streaming response via SSE.
18
+ *
19
+ * Instead of waiting for the full response, this method streams telemetry events
20
+ * in real-time as they occur during orchestration. The final result is delivered
21
+ * through the `onComplete` callback.
22
+ *
23
+ * @param request Chat request payload
24
+ * @param options Streaming options with event callbacks
25
+ * @returns A promise that resolves when the stream ends
26
+ */
27
+ sendMessageStreaming(request: CoreApiChatRequest["body"], options?: StreamingRequestOptions): Promise<void>;
16
28
  /**
17
29
  * Checks the status of a long running action
18
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"coreApiProvider.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/coreApiProvider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;;;;OAOG;IACH,WAAW,CACP,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;;;OAOG;IACH,gBAAgB,CACZ,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,EAC3C,OAAO,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEtC;;;;OAIG;IACH,SAAS,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAAC;CAChD"}
1
+ {"version":3,"file":"coreApiProvider.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/coreApiProvider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACR,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EAC1B,MAAM,uCAAuC,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;;;;OAOG;IACH,WAAW,CACP,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,oBAAoB,CAChB,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,gBAAgB,CACZ,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,EAC3C,OAAO,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEtC;;;;OAIG;IACH,SAAS,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAAC;CAChD"}
@@ -3,5 +3,5 @@ export type { CacheEntryOptions, ICache } from "./cache.interface.js";
3
3
  export type { ChatContextSnapshot, ContextManagerOptions, IContextManager, } from "./contextManager.interface.js";
4
4
  export type { AsyncCheckerEvents, AsyncToolCheckerCheckParams, AsyncToolCheckerOptions, EventSubscription, PollingConfig, StatusChangedEvent, } from "./asyncToolChecker.interface.js";
5
5
  export type { AsyncToolChecker, AwaitActionResult, AwaitableActionDescriptor, } from "../asyncToolChecker/index.js";
6
- export type { ChatOptions, ChatRequestPayload, SendMessageResult } from "./chat.interface.js";
6
+ export type { ChatOptions, ChatRequestPayload, SendMessageOptions, SendMessageResult, SendMessageStreamingOptions, } from "./chat.interface.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EACR,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAClB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACR,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,GACrB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACR,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,GAC5B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EACR,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAClB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACR,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,GACrB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACR,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,GAC5B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACR,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC"}
@@ -12,4 +12,5 @@ export * from "./prompt/index.js";
12
12
  export * from "./asyncToolChecker/index.js";
13
13
  export * from "./providers/index.js";
14
14
  export * from "./interfaces/index.js";
15
+ export * from "./telemetry/index.js";
15
16
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
@@ -12,4 +12,5 @@ export * from "./prompt/index.js";
12
12
  export * from "./asyncToolChecker/index.js";
13
13
  export * from "./providers/index.js";
14
14
  export * from "./interfaces/index.js";
15
+ export * from "./telemetry/index.js";
15
16
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { Prompt } from "./Prompt.js";
2
2
  export { PromptConfigurationConflict } from "./errors/index.js";
3
- export type { PromptKind, PromptOptions, PromptSnapshot, PromptRole, NormalizedPromptSnapshot, } from "./types.js";
3
+ export type { NormalizedPromptSnapshot, PromptKind, PromptOptions, PromptRole, PromptSnapshot, } from "./types.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EACR,UAAU,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACV,wBAAwB,GAC3B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EACR,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,UAAU,EACV,cAAc,GACjB,MAAM,YAAY,CAAC"}
@@ -2,7 +2,7 @@ import type { CoreApiChatRequest, CoreApiChatResponse, LongPollingActionRequest,
2
2
  import type { AxiosInstance } from "axios";
3
3
  import type { ICoreApiProvider } from "../../interfaces/index.js";
4
4
  import type { CoreApiProviderConfig, CoreApiProviderRoutes } from "./interfaces/index.js";
5
- import type { RequestOptions } from "./types.js";
5
+ import type { RequestOptions, StreamingRequestOptions } from "./types.js";
6
6
  /**
7
7
  * Axios based Core API provider implementation
8
8
  */
@@ -15,14 +15,53 @@ export declare class CoreApiProvider implements ICoreApiProvider {
15
15
  * Routes used by the provider when issuing requests.
16
16
  */
17
17
  protected readonly routes: Required<CoreApiProviderRoutes>;
18
+ /**
19
+ * Base URL for the API (stored for streaming requests that use fetch)
20
+ */
21
+ private readonly baseUrl;
22
+ /**
23
+ * Auth headers for streaming requests that use fetch
24
+ */
25
+ private readonly authHeaders;
18
26
  /**
19
27
  * @param config Core API provider configuration
20
28
  */
21
29
  constructor({ baseURL, timeout, headers, httpClientFactory, routes }: CoreApiProviderConfig);
22
30
  /**
23
31
  * Sends a chat message to the Core API
32
+ *
33
+ * @param body - The request body
34
+ * @param options - Request options including abort signal and onRequestId callback
35
+ * @returns The API response
24
36
  */
25
37
  sendMessage(body: CoreApiChatRequest["body"], options?: RequestOptions): Promise<CoreApiChatResponse>;
38
+ /**
39
+ * Sends a chat message with streaming response via SSE.
40
+ *
41
+ * Instead of waiting for the full response, this method streams telemetry events
42
+ * in real-time as they occur during orchestration. The final result is delivered
43
+ * through the `onComplete` callback.
44
+ *
45
+ * This eliminates the need for a separate telemetry subscription - events and
46
+ * the result are delivered through a single HTTP connection.
47
+ *
48
+ * @param body - The request body (same as sendMessage)
49
+ * @param options - Streaming options with event callbacks
50
+ * @returns A promise that resolves when the stream ends (either successfully or with error)
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * await provider.sendMessageStreaming(
55
+ * { prompt, userContext },
56
+ * {
57
+ * onEvent: (event) => console.log('Event:', event.type),
58
+ * onComplete: (result) => console.log('Done:', result.text),
59
+ * onError: (error) => console.error('Error:', error),
60
+ * }
61
+ * );
62
+ * ```
63
+ */
64
+ sendMessageStreaming(body: CoreApiChatRequest["body"], options?: StreamingRequestOptions): Promise<void>;
26
65
  /**
27
66
  * Polls the Core API for transaction status
28
67
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CoreApiProvider.d.ts","sourceRoot":"","sources":["../../../../src/providers/coreApiProvider/CoreApiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGR,kBAAkB,EAClB,mBAAmB,EAEnB,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,OAAO,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,YAAY,CAAC;AAIpE;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACpD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAEzC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAE3D;;OAEG;gBACS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAmB3F;;OAEG;IACU,WAAW,CACpB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAChC,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAgB/B;;OAEG;IACU,gBAAgB,CACzB,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,EAC1C,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,yBAAyB,CAAC;IAuBrC,kBAAkB;IACX,SAAS,IAAI,QAAQ,CAAC,qBAAqB,CAAC;IAInD;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE;IAM/E,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,iBAAiB;CAO5B"}
1
+ {"version":3,"file":"CoreApiProvider.d.ts","sourceRoot":"","sources":["../../../../src/providers/coreApiProvider/CoreApiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIR,kBAAkB,EAClB,mBAAmB,EAEnB,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,OAAO,CAAC;AAI/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAqB,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAW7F;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACpD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAEzC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAE3D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD;;OAEG;gBACS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,qBAAqB;IAqB3F;;;;;;OAMG;IACU,WAAW,CACpB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAChC,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAiC/B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACU,oBAAoB,CAC7B,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAChC,OAAO,GAAE,uBAA4B,GACtC,OAAO,CAAC,IAAI,CAAC;IA6EhB;;OAEG;IACU,gBAAgB,CACzB,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,EAC1C,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,yBAAyB,CAAC;IAuBrC,kBAAkB;IACX,SAAS,IAAI,QAAQ,CAAC,qBAAqB,CAAC;IAInD;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE;IAM/E,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,iBAAiB;CAO5B"}