@illalabs/sdk 0.3.3-canary.ae6ff112 → 0.4.0-canary.2110efe9

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 (41) hide show
  1. package/dist/src/chat/Chat.d.ts +6 -3
  2. package/dist/src/chat/Chat.d.ts.map +1 -1
  3. package/dist/src/chat/Chat.js +68 -9
  4. package/dist/src/chat/Chat.js.map +1 -1
  5. package/dist/src/chat/errors/ChatInvalidMultiplePromptsKind.d.ts +22 -0
  6. package/dist/src/chat/errors/ChatInvalidMultiplePromptsKind.d.ts.map +1 -0
  7. package/dist/src/chat/errors/ChatInvalidMultiplePromptsKind.js +31 -0
  8. package/dist/src/chat/errors/ChatInvalidMultiplePromptsKind.js.map +1 -0
  9. package/dist/src/chat/errors/ChatInvalidPromptSnapshot.d.ts +19 -0
  10. package/dist/src/chat/errors/ChatInvalidPromptSnapshot.d.ts.map +1 -0
  11. package/dist/src/chat/errors/ChatInvalidPromptSnapshot.js +28 -0
  12. package/dist/src/chat/errors/ChatInvalidPromptSnapshot.js.map +1 -0
  13. package/dist/src/chat/errors/ChatInvalidSinglePromptKind.d.ts +22 -0
  14. package/dist/src/chat/errors/ChatInvalidSinglePromptKind.d.ts.map +1 -0
  15. package/dist/src/chat/errors/ChatInvalidSinglePromptKind.js +31 -0
  16. package/dist/src/chat/errors/ChatInvalidSinglePromptKind.js.map +1 -0
  17. package/dist/src/chat/errors/index.d.ts +3 -0
  18. package/dist/src/chat/errors/index.d.ts.map +1 -1
  19. package/dist/src/chat/errors/index.js +3 -0
  20. package/dist/src/chat/errors/index.js.map +1 -1
  21. package/dist/src/chat/utils/prompt.d.ts +3 -0
  22. package/dist/src/chat/utils/prompt.d.ts.map +1 -0
  23. package/dist/src/chat/utils/prompt.js +6 -0
  24. package/dist/src/chat/utils/prompt.js.map +1 -0
  25. package/dist/src/context/ContextManager.d.ts +2 -0
  26. package/dist/src/context/ContextManager.d.ts.map +1 -1
  27. package/dist/src/context/ContextManager.js +7 -0
  28. package/dist/src/context/ContextManager.js.map +1 -1
  29. package/dist/src/errors/SdkEmptyToolsResultsError.d.ts +19 -0
  30. package/dist/src/errors/SdkEmptyToolsResultsError.d.ts.map +1 -0
  31. package/dist/src/errors/SdkEmptyToolsResultsError.js +28 -0
  32. package/dist/src/errors/SdkEmptyToolsResultsError.js.map +1 -0
  33. package/dist/src/interfaces/chat.interface.d.ts +3 -2
  34. package/dist/src/interfaces/chat.interface.d.ts.map +1 -1
  35. package/dist/src/interfaces/contextManager.interface.d.ts +7 -1
  36. package/dist/src/interfaces/contextManager.interface.d.ts.map +1 -1
  37. package/dist/src/sdk.d.ts +225 -13
  38. package/dist/src/sdk.d.ts.map +1 -1
  39. package/dist/src/sdk.js +287 -15
  40. package/dist/src/sdk.js.map +1 -1
  41. package/package.json +2 -2
package/dist/src/sdk.d.ts CHANGED
@@ -1,15 +1,23 @@
1
- import type { MessageHistoryType, ModelContext, PersonalityContext, ToolResultType, UserContext } from "@illalabs/interfaces";
2
- import type { CacheEntryOptions, ChatContextSnapshot, ContextManagerOptions, ICache, IContextManager, SendMessageResult } from "./internal.js";
3
- import { Chat, ContextManager } from "./internal.js";
1
+ import type { CoreApiChatErrorResponse, MessageHistoryType, ModelContext, PendingToolCallType, PersonalityContext, ToolErrorPartType, ToolIncompletePartType, ToolResultType, UserContext } from "@illalabs/interfaces";
2
+ import type { AsyncCheckerEvents, AsyncToolCheckerCheckParams, AwaitableActionDescriptor, AwaitActionResult, CacheEntryOptions, ChatContextSnapshot, ContextManagerOptions, CoreApiProviderConfig, CoreApiProviderRoutes, EventSubscription, HttpClientFactory, ICache, IContextManager, PollingConfig, SendMessageResult } from "./internal.js";
3
+ import { Chat, ContextManager, Prompt } from "./internal.js";
4
4
  /**
5
5
  * Configuration options for initializing the IllaSDK.
6
6
  *
7
7
  * @property apiKey - Your ILLA API key for authentication
8
8
  * @property baseURL - Optional custom base URL for the ILLA API (defaults to production API)
9
+ * @property timeout - Optional request timeout in milliseconds
10
+ * @property headers - Optional additional headers to send with requests
11
+ * @property httpClientFactory - Optional custom HTTP client factory
12
+ * @property routes - Optional custom routes configuration
9
13
  */
10
14
  type illaSDKConfig = {
11
15
  apiKey: string;
12
16
  baseURL?: string;
17
+ timeout?: number;
18
+ headers?: Record<string, string>;
19
+ httpClientFactory?: HttpClientFactory;
20
+ routes?: CoreApiProviderRoutes;
13
21
  };
14
22
  /**
15
23
  * Optional configuration for the IllaSDK instance.
@@ -55,6 +63,19 @@ type SendMessageContext = {
55
63
  chatId?: never;
56
64
  userContext: UserContext;
57
65
  };
66
+ /**
67
+ * Metadata extracted from a SendMessageResult response.
68
+ * Provides detailed information about the response including errors, pending tools, and incomplete tools.
69
+ */
70
+ type ResponseMetadata = {
71
+ isError: boolean;
72
+ text?: string;
73
+ messages?: MessageHistoryType;
74
+ pendingTools?: ReadonlyArray<PendingToolCallType>;
75
+ incompleteTools?: ReadonlyArray<ToolIncompletePartType>;
76
+ toolErrors?: ReadonlyArray<ToolErrorPartType>;
77
+ error?: CoreApiChatErrorResponse;
78
+ };
58
79
  /**
59
80
  * Error raised when attempting to interact with a chat that doesn't exist.
60
81
  *
@@ -195,15 +216,16 @@ declare class IllaSDK {
195
216
  * If a chatId is provided, the message will be sent to the existing chat.
196
217
  * If a chatId is not provided, a new chat will be created with the provided userContext.
197
218
  *
198
- * @param msg - The message text to send
219
+ * @param msg - The message to send (can be a string or Prompt object)
199
220
  * @param context - Context containing either chatId for existing chat or userContext for new chat
221
+ * @param chatOptions - Optional chat configuration when creating a new chat
200
222
  * @returns {Promise<SendMessageResult>} The AI's response including chat ID, response text, and any pending tools
201
223
  *
202
224
  * @example
203
225
  * ```typescript
204
226
  * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
205
227
  *
206
- * // Start a new conversation
228
+ * // Start a new conversation with a string
207
229
  * const result1 = await sdk.sendMessage(
208
230
  * "What can you help me with?",
209
231
  * { userContext: { address: "0x1234..." } }
@@ -211,11 +233,9 @@ declare class IllaSDK {
211
233
  * console.log(result1.response.text);
212
234
  * console.log("Chat ID:", result1.chatId);
213
235
  *
214
- * // Continue the conversation using the chat ID
215
- * const result2 = await sdk.sendMessage(
216
- * "I want to swap 1 ETH for USDC on Base",
217
- * { chatId: result1.chatId }
218
- * );
236
+ * // Continue the conversation with a Prompt object
237
+ * const prompt = new Prompt({ text: "I want to swap 1 ETH for USDC on Base" });
238
+ * const result2 = await sdk.sendMessage(prompt, { chatId: result1.chatId });
219
239
  *
220
240
  * // Check if there are tools to execute
221
241
  * if (result2.response.pendingTools && result2.response.pendingTools.length > 0) {
@@ -223,7 +243,15 @@ declare class IllaSDK {
223
243
  * }
224
244
  * ```
225
245
  */
226
- sendMessage(msg: string, context: SendMessageContext): Promise<SendMessageResult>;
246
+ sendMessage(msg: string | Prompt, context: SendMessageContext, chatOptions?: Omit<ChatOptions, "userContext">): Promise<SendMessageResult>;
247
+ /**
248
+ * Gets an existing chat or creates a new one if it doesn't exist.
249
+ *
250
+ * @param context - Context containing either chatId for existing chat or userContext for new chat
251
+ * @param chatOptions - Optional chat configuration when creating a new chat
252
+ * @returns {Chat} The chat instance
253
+ */
254
+ private getOrCreateChat;
227
255
  /**
228
256
  * Sends the result of a tool execution back to the AI. This method is used to complete
229
257
  * the tool execution loop when the AI requests a tool to be executed.
@@ -231,7 +259,7 @@ declare class IllaSDK {
231
259
  * @param chatId - The ID of the chat to send the tool result to
232
260
  * @param toolResult - The result of the tool execution
233
261
  * @returns {Promise<SendMessageResult>} The AI's response after processing the tool result
234
- * @throws {Error} If the chat with the specified chatId is not found
262
+ * @throws {ChatNotFound} If the chat with the specified chatId is not found
235
263
  *
236
264
  * @example
237
265
  * ```typescript
@@ -272,6 +300,189 @@ declare class IllaSDK {
272
300
  * @throws {ChatNotFound} If the chat with the specified chatId is not found
273
301
  */
274
302
  getMessages(chatId: string): Promise<MessageHistoryType>;
303
+ /**
304
+ * Appends messages to an existing chat's message history.
305
+ *
306
+ * @param chatId - The ID of the chat to append messages to
307
+ * @param messages - The messages to append to the chat history
308
+ * @throws {ChatNotFound} If the chat with the specified chatId is not found
309
+ *
310
+ * @example
311
+ * ```typescript
312
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
313
+ *
314
+ * // Append synthetic messages for testing or prompting
315
+ * await sdk.appendMessages(chatId, [
316
+ * { role: "user", content: "Previous context..." },
317
+ * { role: "assistant", content: "Understood..." }
318
+ * ]);
319
+ * ```
320
+ */
321
+ appendMessages(chatId: string, messages: MessageHistoryType): Promise<void>;
322
+ /**
323
+ * Clears the message history for a chat while keeping the chat instance.
324
+ *
325
+ * @param chatId - The ID of the chat to clear
326
+ * @throws {ChatNotFound} If the chat with the specified chatId is not found
327
+ *
328
+ * @example
329
+ * ```typescript
330
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
331
+ *
332
+ * // Clear chat history to start fresh
333
+ * await sdk.clearContext(chatId);
334
+ * ```
335
+ */
336
+ clearContext(chatId: string): Promise<void>;
337
+ /**
338
+ * Deletes a chat and removes all associated data.
339
+ *
340
+ * @param chatId - The ID of the chat to delete
341
+ * @throws {ChatNotFound} If the chat with the specified chatId is not found
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
346
+ *
347
+ * // Clean up chat when done
348
+ * await sdk.deleteChat(chatId);
349
+ * ```
350
+ */
351
+ deleteChat(chatId: string): Promise<void>;
352
+ /**
353
+ * Sends multiple tool results back to the AI in a single request.
354
+ * This method is used when multiple tools need to be executed and their results
355
+ * sent back together.
356
+ *
357
+ * @param chatId - The ID of the chat to send the tool results to
358
+ * @param toolResults - Array of tool execution results
359
+ * @param options - Optional parameters including AbortSignal
360
+ * @returns {Promise<SendMessageResult>} The AI's response after processing all tool results
361
+ * @throws {ChatNotFound} If the chat with the specified chatId is not found
362
+ *
363
+ * @example
364
+ * ```typescript
365
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
366
+ *
367
+ * // Execute multiple tools and send results together
368
+ * const toolResults: ToolResultType[] = pendingTools.map(tool => ({
369
+ * toolCallId: tool.toolCallId,
370
+ * toolName: tool.toolName,
371
+ * result: executeToolSync(tool),
372
+ * }));
373
+ *
374
+ * const response = await sdk.sendToolResults(chatId, toolResults);
375
+ * ```
376
+ */
377
+ sendToolResults(chatId: string, toolResults: ToolResultType[]): Promise<SendMessageResult>;
378
+ /**
379
+ * Subscribes to status updates for a long-running tool execution.
380
+ *
381
+ * @param params - Parameters identifying the tool execution to monitor
382
+ * @param callbacks - Event handlers for status changes and errors
383
+ * @param config - Optional polling configuration
384
+ * @returns {EventSubscription} Subscription handle to cancel monitoring
385
+ *
386
+ * @example
387
+ * ```typescript
388
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
389
+ *
390
+ * const subscription = sdk.subscribeToToolStatus(
391
+ * { toolName: "swap", protocol: "li.fi", args: txHash },
392
+ * {
393
+ * onStatusChange: (event) => console.log("Status:", event.status),
394
+ * onError: (error) => console.error("Error:", error)
395
+ * },
396
+ * { interval: 2000, maxDuration: 300, maxRetries: 3 }
397
+ * );
398
+ *
399
+ * // Later, cancel the subscription
400
+ * subscription.unsubscribe();
401
+ * ```
402
+ */
403
+ subscribeToToolStatus<TPayload = unknown, TError = unknown>(params: AsyncToolCheckerCheckParams, callbacks: AsyncCheckerEvents<TPayload, TError>, config?: Partial<PollingConfig>): EventSubscription;
404
+ /**
405
+ * Awaits the completion of a long-running action triggered by a chat.
406
+ *
407
+ * @param chatId - The ID of the chat that triggered the action
408
+ * @param descriptor - Descriptor identifying the action to track
409
+ * @returns {Promise<AwaitActionResult>} The final status of the action
410
+ * @throws {ChatNotFound} If the chat with the specified chatId is not found
411
+ *
412
+ * @example
413
+ * ```typescript
414
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
415
+ *
416
+ * const result = await sdk.awaitAction(chatId, {
417
+ * toolName: "swap",
418
+ * protocol: "li.fi",
419
+ * args: { txHash: "0x..." }
420
+ * });
421
+ *
422
+ * if (result.isError) {
423
+ * console.error("Action failed:", result.error);
424
+ * } else {
425
+ * console.log("Action completed:", result.response);
426
+ * }
427
+ * ```
428
+ */
429
+ awaitAction(chatId: string, descriptor: AwaitableActionDescriptor): Promise<AwaitActionResult>;
430
+ /**
431
+ * Gets the underlying Chat instance for advanced operations.
432
+ *
433
+ * @param chatId - The ID of the chat to retrieve
434
+ * @returns {Chat} The Chat instance
435
+ * @throws {ChatNotFound} If the chat with the specified chatId is not found
436
+ *
437
+ * @example
438
+ * ```typescript
439
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
440
+ *
441
+ * const chat = sdk.getChat(chatId);
442
+ * // Now you can use advanced Chat methods directly
443
+ * const context = await chat.getContext();
444
+ * ```
445
+ */
446
+ getChat(chatId: string): Chat;
447
+ /**
448
+ * Gets all active chat IDs as an array.
449
+ * Alias for the chatIds getter property.
450
+ *
451
+ * @returns {string[]} Array of active chat IDs
452
+ *
453
+ * @example
454
+ * ```typescript
455
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
456
+ *
457
+ * const ids = sdk.getChatIds();
458
+ * console.log("Active chats:", ids);
459
+ * ```
460
+ */
461
+ getChatIds(): string[];
462
+ /**
463
+ * Helper method to extract detailed response metadata from a SendMessageResult.
464
+ * Provides access to incompleteTools, toolErrors, and other response details.
465
+ *
466
+ * @param result - The SendMessageResult to extract metadata from
467
+ * @returns {ResponseMetadata} Extracted response metadata
468
+ *
469
+ * @example
470
+ * ```typescript
471
+ * const sdk = new IllaSDK({ apiKey: 'your-api-key' });
472
+ *
473
+ * const result = await sdk.sendMessage("Hello", { chatId });
474
+ * const metadata = sdk.getResponseMetadata(result);
475
+ *
476
+ * if (metadata.incompleteTools?.length > 0) {
477
+ * console.log("Incomplete tools:", metadata.incompleteTools);
478
+ * }
479
+ * if (metadata.toolErrors?.length > 0) {
480
+ * console.log("Tool errors:", metadata.toolErrors);
481
+ * }
482
+ * ```
483
+ */
484
+ getResponseMetadata(result: SendMessageResult): ResponseMetadata;
485
+ private isSuccessResponse;
275
486
  }
276
487
  /**
277
488
  * Exports the public API of the SDK.
@@ -286,5 +497,6 @@ export { ContextManager } from "./context/index.js";
286
497
  export { AsyncToolChecker } from "./asyncToolChecker/index.js";
287
498
  export { CoreApiProvider } from "./providers/index.js";
288
499
  export { UserContextMissing } from "./chat/errors/index.js";
289
- export type { illaSDKConfig, ChatContextSnapshot, CacheEntryOptions, ICache, IContextManager, SendMessageContext, };
500
+ export type { illaSDKConfig, illaSDKOptions, ChatOptions, ChatContextSnapshot, CacheEntryOptions, ICache, IContextManager, SendMessageContext, SendMessageResult, ResponseMetadata, AsyncCheckerEvents, AsyncToolCheckerCheckParams, AwaitableActionDescriptor, AwaitActionResult, CoreApiProviderConfig, CoreApiProviderRoutes, EventSubscription, HttpClientFactory, PollingConfig, ContextManagerOptions, };
501
+ export type { MessageHistoryType, ToolResultType, UserContext, ModelContext, PersonalityContext, CoreApiChatErrorResponse, CoreApiChatSuccessResponse, PendingToolCallType, ToolIncompletePartType, ToolErrorPartType, } from "@illalabs/interfaces";
290
502
  //# sourceMappingURL=sdk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}