@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.
- package/README.md +53 -0
- package/dist/src/chat/Chat.d.ts +31 -2
- package/dist/src/chat/Chat.d.ts.map +1 -1
- package/dist/src/chat/Chat.js +81 -3
- package/dist/src/chat/Chat.js.map +1 -1
- package/dist/src/context/ContextManager.js +1 -1
- package/dist/src/context/ContextManager.js.map +1 -1
- package/dist/src/interfaces/chat.interface.d.ts +52 -1
- package/dist/src/interfaces/chat.interface.d.ts.map +1 -1
- package/dist/src/interfaces/coreApiProvider.interface.d.ts +13 -1
- package/dist/src/interfaces/coreApiProvider.interface.d.ts.map +1 -1
- package/dist/src/interfaces/index.d.ts +1 -1
- package/dist/src/interfaces/index.d.ts.map +1 -1
- package/dist/src/internal.d.ts +1 -0
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +1 -0
- package/dist/src/internal.js.map +1 -1
- package/dist/src/prompt/index.d.ts +1 -1
- package/dist/src/prompt/index.d.ts.map +1 -1
- package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts +40 -1
- package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts.map +1 -1
- package/dist/src/providers/coreApiProvider/CoreApiProvider.js +124 -2
- package/dist/src/providers/coreApiProvider/CoreApiProvider.js.map +1 -1
- package/dist/src/providers/coreApiProvider/index.d.ts +1 -1
- package/dist/src/providers/coreApiProvider/index.d.ts.map +1 -1
- package/dist/src/providers/coreApiProvider/types.d.ts +44 -0
- package/dist/src/providers/coreApiProvider/types.d.ts.map +1 -1
- package/dist/src/sdk.d.ts +65 -4
- package/dist/src/sdk.d.ts.map +1 -1
- package/dist/src/sdk.js +58 -4
- package/dist/src/sdk.js.map +1 -1
- package/dist/src/streaming/errors/SSEParse.d.ts +15 -0
- package/dist/src/streaming/errors/SSEParse.d.ts.map +1 -0
- package/dist/src/streaming/errors/SSEParse.js +23 -0
- package/dist/src/streaming/errors/SSEParse.js.map +1 -0
- package/dist/src/streaming/errors/StreamingHttpError.d.ts +18 -0
- package/dist/src/streaming/errors/StreamingHttpError.d.ts.map +1 -0
- package/dist/src/streaming/errors/StreamingHttpError.js +27 -0
- package/dist/src/streaming/errors/StreamingHttpError.js.map +1 -0
- package/dist/src/streaming/errors/StreamingResponseBodyNull.d.ts +13 -0
- package/dist/src/streaming/errors/StreamingResponseBodyNull.d.ts.map +1 -0
- package/dist/src/streaming/errors/StreamingResponseBodyNull.js +21 -0
- package/dist/src/streaming/errors/StreamingResponseBodyNull.js.map +1 -0
- package/dist/src/streaming/errors/StreamingServerError.d.ts +23 -0
- package/dist/src/streaming/errors/StreamingServerError.d.ts.map +1 -0
- package/dist/src/streaming/errors/StreamingServerError.js +33 -0
- package/dist/src/streaming/errors/StreamingServerError.js.map +1 -0
- package/dist/src/streaming/errors/index.d.ts +5 -0
- package/dist/src/streaming/errors/index.d.ts.map +1 -0
- package/dist/src/streaming/errors/index.js +5 -0
- package/dist/src/streaming/errors/index.js.map +1 -0
- package/dist/src/streaming/index.d.ts +4 -0
- package/dist/src/streaming/index.d.ts.map +1 -0
- package/dist/src/streaming/index.js +3 -0
- package/dist/src/streaming/index.js.map +1 -0
- package/dist/src/streaming/parseSSE.d.ts +23 -0
- package/dist/src/streaming/parseSSE.d.ts.map +1 -0
- package/dist/src/streaming/parseSSE.js +152 -0
- package/dist/src/streaming/parseSSE.js.map +1 -0
- package/dist/src/streaming/types.d.ts +6 -0
- package/dist/src/streaming/types.d.ts.map +1 -0
- package/dist/src/streaming/types.js +6 -0
- package/dist/src/streaming/types.js.map +1 -0
- package/dist/src/telemetry/TelemetryClient.d.ts +140 -0
- package/dist/src/telemetry/TelemetryClient.d.ts.map +1 -0
- package/dist/src/telemetry/TelemetryClient.js +225 -0
- package/dist/src/telemetry/TelemetryClient.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +2 -0
- package/dist/src/telemetry/index.d.ts.map +1 -0
- package/dist/src/telemetry/index.js +2 -0
- package/dist/src/telemetry/index.js.map +1 -0
- 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
|
package/dist/src/chat/Chat.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/src/chat/Chat.js
CHANGED
|
@@ -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
|
-
|
|
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:
|
|
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":"
|
|
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
|
|
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":"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,
|
|
1
|
+
{"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../../../src/context/ContextManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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,
|
|
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,
|
|
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"}
|
package/dist/src/internal.d.ts
CHANGED
|
@@ -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"}
|
package/dist/src/internal.js
CHANGED
package/dist/src/internal.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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,
|
|
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"}
|