@illalabs/sdk 0.0.0 → 0.1.0-canary.dcf8499b
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/LICENSE +17 -2
- package/README.md +141 -1
- package/dist/src/asyncToolChecker/AsyncToolChecker.d.ts +39 -0
- package/dist/src/asyncToolChecker/AsyncToolChecker.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/AsyncToolChecker.js +209 -0
- package/dist/src/asyncToolChecker/AsyncToolChecker.js.map +1 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMaxRetriesExceeded.d.ts +23 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMaxRetriesExceeded.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMaxRetriesExceeded.js +30 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMaxRetriesExceeded.js.map +1 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMethodNotImplemented.d.ts +17 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMethodNotImplemented.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMethodNotImplemented.js +26 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMethodNotImplemented.js.map +1 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerTimeout.d.ts +17 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerTimeout.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerTimeout.js +21 -0
- package/dist/src/asyncToolChecker/errors/AsyncToolCheckerTimeout.js.map +1 -0
- package/dist/src/asyncToolChecker/errors/index.d.ts +4 -0
- package/dist/src/asyncToolChecker/errors/index.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/errors/index.js +4 -0
- package/dist/src/asyncToolChecker/errors/index.js.map +1 -0
- package/dist/src/asyncToolChecker/index.d.ts +6 -0
- package/dist/src/asyncToolChecker/index.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/index.js +5 -0
- package/dist/src/asyncToolChecker/index.js.map +1 -0
- package/dist/src/asyncToolChecker/types.d.ts +24 -0
- package/dist/src/asyncToolChecker/types.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/types.js +2 -0
- package/dist/src/asyncToolChecker/types.js.map +1 -0
- package/dist/src/asyncToolChecker/utils/index.d.ts +3 -0
- package/dist/src/asyncToolChecker/utils/index.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/utils/index.js +3 -0
- package/dist/src/asyncToolChecker/utils/index.js.map +1 -0
- package/dist/src/asyncToolChecker/utils/isErrorResponse.d.ts +11 -0
- package/dist/src/asyncToolChecker/utils/isErrorResponse.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/utils/isErrorResponse.js +12 -0
- package/dist/src/asyncToolChecker/utils/isErrorResponse.js.map +1 -0
- package/dist/src/asyncToolChecker/utils/normalizeTimeout.d.ts +9 -0
- package/dist/src/asyncToolChecker/utils/normalizeTimeout.d.ts.map +1 -0
- package/dist/src/asyncToolChecker/utils/normalizeTimeout.js +14 -0
- package/dist/src/asyncToolChecker/utils/normalizeTimeout.js.map +1 -0
- package/dist/src/caching/InMemoryCache.d.ts +14 -0
- package/dist/src/caching/InMemoryCache.d.ts.map +1 -0
- package/dist/src/caching/InMemoryCache.js +31 -0
- package/dist/src/caching/InMemoryCache.js.map +1 -0
- package/dist/src/caching/index.d.ts +3 -0
- package/dist/src/caching/index.d.ts.map +1 -0
- package/dist/src/caching/index.js +2 -0
- package/dist/src/caching/index.js.map +1 -0
- package/dist/src/chat/Chat.d.ts +62 -0
- package/dist/src/chat/Chat.d.ts.map +1 -0
- package/dist/src/chat/Chat.js +126 -0
- package/dist/src/chat/Chat.js.map +1 -0
- package/dist/src/chat/errors/ChatAsyncToolCheckerUnavailable.d.ts +19 -0
- package/dist/src/chat/errors/ChatAsyncToolCheckerUnavailable.d.ts.map +1 -0
- package/dist/src/chat/errors/ChatAsyncToolCheckerUnavailable.js +28 -0
- package/dist/src/chat/errors/ChatAsyncToolCheckerUnavailable.js.map +1 -0
- package/dist/src/chat/errors/index.d.ts +2 -0
- package/dist/src/chat/errors/index.d.ts.map +1 -0
- package/dist/src/chat/errors/index.js +2 -0
- package/dist/src/chat/errors/index.js.map +1 -0
- package/dist/src/chat/index.d.ts +5 -0
- package/dist/src/chat/index.d.ts.map +1 -0
- package/dist/src/chat/index.js +3 -0
- package/dist/src/chat/index.js.map +1 -0
- package/dist/src/chat/types.d.ts +9 -0
- package/dist/src/chat/types.d.ts.map +1 -0
- package/dist/src/chat/types.js +2 -0
- package/dist/src/chat/types.js.map +1 -0
- package/dist/src/chat/utils/index.d.ts +2 -0
- package/dist/src/chat/utils/index.d.ts.map +1 -0
- package/dist/src/chat/utils/index.js +2 -0
- package/dist/src/chat/utils/index.js.map +1 -0
- package/dist/src/chat/utils/uuid.d.ts +12 -0
- package/dist/src/chat/utils/uuid.d.ts.map +1 -0
- package/dist/src/chat/utils/uuid.js +19 -0
- package/dist/src/chat/utils/uuid.js.map +1 -0
- package/dist/src/context/ContextManager.d.ts +26 -0
- package/dist/src/context/ContextManager.d.ts.map +1 -0
- package/dist/src/context/ContextManager.js +93 -0
- package/dist/src/context/ContextManager.js.map +1 -0
- package/dist/src/context/index.d.ts +2 -0
- package/dist/src/context/index.d.ts.map +1 -0
- package/dist/src/context/index.js +2 -0
- package/dist/src/context/index.js.map +1 -0
- package/dist/src/context/types.d.ts +17 -0
- package/dist/src/context/types.d.ts.map +1 -0
- package/dist/src/context/types.js +2 -0
- package/dist/src/context/types.js.map +1 -0
- package/dist/src/external.d.ts +14 -0
- package/dist/src/external.d.ts.map +1 -0
- package/dist/src/external.js +13 -0
- package/dist/src/external.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interfaces/asyncToolChecker.interface.d.ts +85 -0
- package/dist/src/interfaces/asyncToolChecker.interface.d.ts.map +1 -0
- package/dist/src/interfaces/asyncToolChecker.interface.js +2 -0
- package/dist/src/interfaces/asyncToolChecker.interface.js.map +1 -0
- package/dist/src/interfaces/cache.interface.d.ts +35 -0
- package/dist/src/interfaces/cache.interface.d.ts.map +1 -0
- package/dist/src/interfaces/cache.interface.js +2 -0
- package/dist/src/interfaces/cache.interface.js.map +1 -0
- package/dist/src/interfaces/chat.interface.d.ts +84 -0
- package/dist/src/interfaces/chat.interface.d.ts.map +1 -0
- package/dist/src/interfaces/chat.interface.js +2 -0
- package/dist/src/interfaces/chat.interface.js.map +1 -0
- package/dist/src/interfaces/contextManager.interface.d.ts +86 -0
- package/dist/src/interfaces/contextManager.interface.d.ts.map +1 -0
- package/dist/src/interfaces/contextManager.interface.js +2 -0
- package/dist/src/interfaces/contextManager.interface.js.map +1 -0
- package/dist/src/interfaces/coreApiProvider.interface.d.ts +32 -0
- package/dist/src/interfaces/coreApiProvider.interface.d.ts.map +1 -0
- package/dist/src/interfaces/coreApiProvider.interface.js +2 -0
- package/dist/src/interfaces/coreApiProvider.interface.js.map +1 -0
- package/dist/src/interfaces/index.d.ts +7 -0
- package/dist/src/interfaces/index.d.ts.map +1 -0
- package/dist/src/interfaces/index.js +2 -0
- package/dist/src/interfaces/index.js.map +1 -0
- package/dist/src/internal.d.ts +14 -0
- package/dist/src/internal.d.ts.map +1 -0
- package/dist/src/internal.js +14 -0
- package/dist/src/internal.js.map +1 -0
- package/dist/src/prompt/Prompt.d.ts +61 -0
- package/dist/src/prompt/Prompt.d.ts.map +1 -0
- package/dist/src/prompt/Prompt.js +118 -0
- package/dist/src/prompt/Prompt.js.map +1 -0
- package/dist/src/prompt/errors/PromptConfigurationConflict.d.ts +10 -0
- package/dist/src/prompt/errors/PromptConfigurationConflict.d.ts.map +1 -0
- package/dist/src/prompt/errors/PromptConfigurationConflict.js +13 -0
- package/dist/src/prompt/errors/PromptConfigurationConflict.js.map +1 -0
- package/dist/src/prompt/errors/index.d.ts +2 -0
- package/dist/src/prompt/errors/index.d.ts.map +1 -0
- package/dist/src/prompt/errors/index.js +2 -0
- package/dist/src/prompt/errors/index.js.map +1 -0
- package/dist/src/prompt/index.d.ts +4 -0
- package/dist/src/prompt/index.d.ts.map +1 -0
- package/dist/src/prompt/index.js +3 -0
- package/dist/src/prompt/index.js.map +1 -0
- package/dist/src/prompt/types.d.ts +57 -0
- package/dist/src/prompt/types.d.ts.map +1 -0
- package/dist/src/prompt/types.js +2 -0
- package/dist/src/prompt/types.js.map +1 -0
- package/dist/src/prompt/utils/cloneToolResult.d.ts +12 -0
- package/dist/src/prompt/utils/cloneToolResult.d.ts.map +1 -0
- package/dist/src/prompt/utils/cloneToolResult.js +28 -0
- package/dist/src/prompt/utils/cloneToolResult.js.map +1 -0
- package/dist/src/prompt/utils/deepClone.d.ts +9 -0
- package/dist/src/prompt/utils/deepClone.d.ts.map +1 -0
- package/dist/src/prompt/utils/deepClone.js +15 -0
- package/dist/src/prompt/utils/deepClone.js.map +1 -0
- package/dist/src/prompt/utils/index.d.ts +5 -0
- package/dist/src/prompt/utils/index.d.ts.map +1 -0
- package/dist/src/prompt/utils/index.js +5 -0
- package/dist/src/prompt/utils/index.js.map +1 -0
- package/dist/src/prompt/utils/normalizeTextPrompt.d.ts +14 -0
- package/dist/src/prompt/utils/normalizeTextPrompt.d.ts.map +1 -0
- package/dist/src/prompt/utils/normalizeTextPrompt.js +22 -0
- package/dist/src/prompt/utils/normalizeTextPrompt.js.map +1 -0
- package/dist/src/prompt/utils/normalizeToolResult.d.ts +14 -0
- package/dist/src/prompt/utils/normalizeToolResult.d.ts.map +1 -0
- package/dist/src/prompt/utils/normalizeToolResult.js +27 -0
- package/dist/src/prompt/utils/normalizeToolResult.js.map +1 -0
- package/dist/src/providers/coreApiProvider/CoreApiErrorHandler.d.ts +13 -0
- package/dist/src/providers/coreApiProvider/CoreApiErrorHandler.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/CoreApiErrorHandler.js +67 -0
- package/dist/src/providers/coreApiProvider/CoreApiErrorHandler.js.map +1 -0
- package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts +42 -0
- package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/CoreApiProvider.js +97 -0
- package/dist/src/providers/coreApiProvider/CoreApiProvider.js.map +1 -0
- package/dist/src/providers/coreApiProvider/errors/CoreApiAuthenticationMissing.d.ts +8 -0
- package/dist/src/providers/coreApiProvider/errors/CoreApiAuthenticationMissing.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/errors/CoreApiAuthenticationMissing.js +15 -0
- package/dist/src/providers/coreApiProvider/errors/CoreApiAuthenticationMissing.js.map +1 -0
- package/dist/src/providers/coreApiProvider/errors/CoreApiMethodNotImplemented.d.ts +9 -0
- package/dist/src/providers/coreApiProvider/errors/CoreApiMethodNotImplemented.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/errors/CoreApiMethodNotImplemented.js +19 -0
- package/dist/src/providers/coreApiProvider/errors/CoreApiMethodNotImplemented.js.map +1 -0
- package/dist/src/providers/coreApiProvider/errors/index.d.ts +3 -0
- package/dist/src/providers/coreApiProvider/errors/index.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/errors/index.js +3 -0
- package/dist/src/providers/coreApiProvider/errors/index.js.map +1 -0
- package/dist/src/providers/coreApiProvider/index.d.ts +6 -0
- package/dist/src/providers/coreApiProvider/index.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/index.js +3 -0
- package/dist/src/providers/coreApiProvider/index.js.map +1 -0
- package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderConfig.interface.d.ts +29 -0
- package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderConfig.interface.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderConfig.interface.js +2 -0
- package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderConfig.interface.js.map +1 -0
- package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.d.ts +14 -0
- package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.js +2 -0
- package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.js.map +1 -0
- package/dist/src/providers/coreApiProvider/interfaces/index.d.ts +3 -0
- package/dist/src/providers/coreApiProvider/interfaces/index.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/interfaces/index.js +2 -0
- package/dist/src/providers/coreApiProvider/interfaces/index.js.map +1 -0
- package/dist/src/providers/coreApiProvider/types.d.ts +16 -0
- package/dist/src/providers/coreApiProvider/types.d.ts.map +1 -0
- package/dist/src/providers/coreApiProvider/types.js +2 -0
- package/dist/src/providers/coreApiProvider/types.js.map +1 -0
- package/dist/src/providers/index.d.ts +2 -0
- package/dist/src/providers/index.d.ts.map +1 -0
- package/dist/src/providers/index.js +2 -0
- package/dist/src/providers/index.js.map +1 -0
- package/package.json +42 -5
- package/index.d.ts +0 -1
- package/index.js +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal exports for the Illa SDK package
|
|
3
|
+
*
|
|
4
|
+
* This file includes all public exports plus any internal utilities
|
|
5
|
+
* needed for testing and development. External consumers should use
|
|
6
|
+
* the main index.ts entry point instead.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./caching/index.js";
|
|
9
|
+
export * from "./chat/index.js";
|
|
10
|
+
export * from "./context/index.js";
|
|
11
|
+
export * from "./external.js";
|
|
12
|
+
export * from "./prompt/index.js";
|
|
13
|
+
export * from "./asyncToolChecker/index.js";
|
|
14
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +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,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { MessageType } from "@illalabs/interfaces";
|
|
2
|
+
import type { NormalizedPromptSnapshot, PromptOptions, PromptRole, PromptSnapshot } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a message payload that can be sent to the Core API.
|
|
5
|
+
*
|
|
6
|
+
* The {@link Prompt} class abstracts the differences between plain text
|
|
7
|
+
* messages and tool execution results while guaranteeing runtime validation
|
|
8
|
+
* for tool responses.
|
|
9
|
+
*/
|
|
10
|
+
export declare class Prompt {
|
|
11
|
+
private readonly snapshot;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new {@link Prompt} instance from the provided options.
|
|
14
|
+
*
|
|
15
|
+
* @param options Configuration options containing either text or tool result data.
|
|
16
|
+
* @throws {PromptConfigurationConflict} When both text and toolResult are provided, or neither is provided.
|
|
17
|
+
*/
|
|
18
|
+
constructor(options: PromptOptions);
|
|
19
|
+
/**
|
|
20
|
+
* Retrieves a deep copy of the prompt's internal snapshot.
|
|
21
|
+
*
|
|
22
|
+
* @returns A cloned snapshot containing the prompt's current state.
|
|
23
|
+
*/
|
|
24
|
+
getSnapshot(): PromptSnapshot;
|
|
25
|
+
/**
|
|
26
|
+
* Converts the prompt snapshot into a normalized format suitable for API transmission.
|
|
27
|
+
*
|
|
28
|
+
* @param role The role to assign to the message (e.g., "user", "assistant", "tool").
|
|
29
|
+
* @returns A normalized snapshot containing both the prompt payload and message format.
|
|
30
|
+
*/
|
|
31
|
+
getNormalizedSnapshot(role: PromptRole): NormalizedPromptSnapshot;
|
|
32
|
+
/**
|
|
33
|
+
* Converts the prompt into a message history entry with the specified role.
|
|
34
|
+
*
|
|
35
|
+
* @param role The role to assign to the message (e.g., "user", "assistant", "tool").
|
|
36
|
+
* @returns A message object compatible with the message history format.
|
|
37
|
+
*/
|
|
38
|
+
toMessage(role: PromptRole): MessageType;
|
|
39
|
+
/**
|
|
40
|
+
* Converts the prompt to a string representation.
|
|
41
|
+
*
|
|
42
|
+
* @returns For text prompts, returns the text content. For tool results, returns a JSON string representation.
|
|
43
|
+
*/
|
|
44
|
+
toString(): string;
|
|
45
|
+
/**
|
|
46
|
+
* Creates a prompt snapshot from the provided options, ensuring exactly one input type is specified.
|
|
47
|
+
*
|
|
48
|
+
* @param options Configuration options containing either text or tool result data.
|
|
49
|
+
* @returns A validated prompt snapshot.
|
|
50
|
+
* @throws {PromptConfigurationConflict} When both text and toolResult are provided, or neither is provided.
|
|
51
|
+
*/
|
|
52
|
+
private static createSnapshot;
|
|
53
|
+
/**
|
|
54
|
+
* Creates a deep copy of a prompt snapshot to prevent external mutation.
|
|
55
|
+
*
|
|
56
|
+
* @param snapshot The snapshot to clone.
|
|
57
|
+
* @returns A new snapshot with the same values as the input.
|
|
58
|
+
*/
|
|
59
|
+
private static cloneSnapshot;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=Prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prompt.d.ts","sourceRoot":"","sources":["../../../src/prompt/Prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAIxE,OAAO,KAAK,EACR,wBAAwB,EACxB,aAAa,EACb,UAAU,EACV,cAAc,EACjB,MAAM,YAAY,CAAC;AAIpB;;;;;;GAMG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAE1C;;;;;OAKG;gBACgB,OAAO,EAAE,aAAa;IAIzC;;;;OAIG;IACI,WAAW,IAAI,cAAc;IAIpC;;;;;OAKG;IACI,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,wBAAwB;IAoBxE;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW;IAI/C;;;;OAIG;IACI,QAAQ,IAAI,MAAM;IAQzB;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAyB7B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;CAa/B"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { ToolResultSchema } from "@illalabs/interfaces";
|
|
2
|
+
import { stringify } from "viem";
|
|
3
|
+
import { PromptConfigurationConflict } from "./errors/index.js";
|
|
4
|
+
import { cloneToolResult, normalizeTextPrompt, normalizeToolResult } from "./utils/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Represents a message payload that can be sent to the Core API.
|
|
7
|
+
*
|
|
8
|
+
* The {@link Prompt} class abstracts the differences between plain text
|
|
9
|
+
* messages and tool execution results while guaranteeing runtime validation
|
|
10
|
+
* for tool responses.
|
|
11
|
+
*/
|
|
12
|
+
export class Prompt {
|
|
13
|
+
snapshot;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new {@link Prompt} instance from the provided options.
|
|
16
|
+
*
|
|
17
|
+
* @param options Configuration options containing either text or tool result data.
|
|
18
|
+
* @throws {PromptConfigurationConflict} When both text and toolResult are provided, or neither is provided.
|
|
19
|
+
*/
|
|
20
|
+
constructor(options) {
|
|
21
|
+
this.snapshot = Prompt.createSnapshot(options);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Retrieves a deep copy of the prompt's internal snapshot.
|
|
25
|
+
*
|
|
26
|
+
* @returns A cloned snapshot containing the prompt's current state.
|
|
27
|
+
*/
|
|
28
|
+
getSnapshot() {
|
|
29
|
+
return Prompt.cloneSnapshot(this.snapshot);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Converts the prompt snapshot into a normalized format suitable for API transmission.
|
|
33
|
+
*
|
|
34
|
+
* @param role The role to assign to the message (e.g., "user", "assistant", "tool").
|
|
35
|
+
* @returns A normalized snapshot containing both the prompt payload and message format.
|
|
36
|
+
*/
|
|
37
|
+
getNormalizedSnapshot(role) {
|
|
38
|
+
if (this.snapshot.kind === "text") {
|
|
39
|
+
const normalized = normalizeTextPrompt(this.snapshot.text, role);
|
|
40
|
+
return {
|
|
41
|
+
kind: "text",
|
|
42
|
+
prompt: normalized.prompt,
|
|
43
|
+
message: normalized.message,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const normalized = normalizeToolResult(this.snapshot.toolResult, role);
|
|
47
|
+
return {
|
|
48
|
+
kind: "tool-result",
|
|
49
|
+
prompt: normalized.prompt,
|
|
50
|
+
message: normalized.message,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Converts the prompt into a message history entry with the specified role.
|
|
55
|
+
*
|
|
56
|
+
* @param role The role to assign to the message (e.g., "user", "assistant", "tool").
|
|
57
|
+
* @returns A message object compatible with the message history format.
|
|
58
|
+
*/
|
|
59
|
+
toMessage(role) {
|
|
60
|
+
return this.getNormalizedSnapshot(role).message;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Converts the prompt to a string representation.
|
|
64
|
+
*
|
|
65
|
+
* @returns For text prompts, returns the text content. For tool results, returns a JSON string representation.
|
|
66
|
+
*/
|
|
67
|
+
toString() {
|
|
68
|
+
if (this.snapshot.kind === "text") {
|
|
69
|
+
return this.snapshot.text ?? "";
|
|
70
|
+
}
|
|
71
|
+
return stringify(this.snapshot.toolResult);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Creates a prompt snapshot from the provided options, ensuring exactly one input type is specified.
|
|
75
|
+
*
|
|
76
|
+
* @param options Configuration options containing either text or tool result data.
|
|
77
|
+
* @returns A validated prompt snapshot.
|
|
78
|
+
* @throws {PromptConfigurationConflict} When both text and toolResult are provided, or neither is provided.
|
|
79
|
+
*/
|
|
80
|
+
static createSnapshot(options) {
|
|
81
|
+
const { text, toolResult } = options;
|
|
82
|
+
const hasText = text !== undefined;
|
|
83
|
+
const hasToolResult = toolResult !== undefined;
|
|
84
|
+
if (hasText === hasToolResult) {
|
|
85
|
+
throw new PromptConfigurationConflict();
|
|
86
|
+
}
|
|
87
|
+
if (hasText) {
|
|
88
|
+
return {
|
|
89
|
+
kind: "text",
|
|
90
|
+
text,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const validated = ToolResultSchema.parse(toolResult);
|
|
94
|
+
return {
|
|
95
|
+
kind: "tool-result",
|
|
96
|
+
toolResult: validated,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Creates a deep copy of a prompt snapshot to prevent external mutation.
|
|
101
|
+
*
|
|
102
|
+
* @param snapshot The snapshot to clone.
|
|
103
|
+
* @returns A new snapshot with the same values as the input.
|
|
104
|
+
*/
|
|
105
|
+
static cloneSnapshot(snapshot) {
|
|
106
|
+
if (snapshot.kind === "text") {
|
|
107
|
+
return {
|
|
108
|
+
kind: "text",
|
|
109
|
+
text: snapshot.text,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
kind: "tool-result",
|
|
114
|
+
toolResult: cloneToolResult(snapshot.toolResult),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=Prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prompt.js","sourceRoot":"","sources":["../../../src/prompt/Prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAQjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACE,QAAQ,CAAiB;IAE1C;;;;;OAKG;IACH,YAAmB,OAAsB;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACI,WAAW;QACd,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAAC,IAAgB;QACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjE,OAAO;gBACH,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,UAAU,CAAC,OAAO;aAC9B,CAAC;QACN,CAAC;QAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEvE,OAAO;YACH,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,UAAU,CAAC,OAAO;SAC9B,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,IAAgB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACX,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,cAAc,CAAC,OAAsB;QAChD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAErC,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC;QACnC,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS,CAAC;QAE/C,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,2BAA2B,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,OAAO;gBACH,IAAI,EAAE,MAAM;gBACZ,IAAI;aACP,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAmB,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAErE,OAAO;YACH,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,SAAS;SACxB,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,aAAa,CAAC,QAAwB;QACjD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO;gBACH,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;aACtB,CAAC;QACN,CAAC;QAED,OAAO;YACH,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC;SACnD,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raised when a prompt receives an invalid configuration.
|
|
3
|
+
*
|
|
4
|
+
* This error occurs when both text and toolResult are provided,
|
|
5
|
+
* or when neither option is defined.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PromptConfigurationConflict extends Error {
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=PromptConfigurationConflict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptConfigurationConflict.d.ts","sourceRoot":"","sources":["../../../../src/prompt/errors/PromptConfigurationConflict.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;;CAKrD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raised when a prompt receives an invalid configuration.
|
|
3
|
+
*
|
|
4
|
+
* This error occurs when both text and toolResult are provided,
|
|
5
|
+
* or when neither option is defined.
|
|
6
|
+
*/
|
|
7
|
+
export class PromptConfigurationConflict extends Error {
|
|
8
|
+
constructor() {
|
|
9
|
+
super("Prompt requires either text or toolResult, but not both");
|
|
10
|
+
this.name = "PromptConfigurationConflict";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=PromptConfigurationConflict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptConfigurationConflict.js","sourceRoot":"","sources":["../../../../src/prompt/errors/PromptConfigurationConflict.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD;QACI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC9C,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/prompt/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/prompt/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { MessageType, ToolResultType } from "@illalabs/interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Enumerates the supported prompt payload variants.
|
|
4
|
+
*/
|
|
5
|
+
export type PromptKind = "text" | "tool-result";
|
|
6
|
+
/**
|
|
7
|
+
* Enumerates the possible roles that can be assigned to a prompt message.
|
|
8
|
+
*
|
|
9
|
+
* - `"user"`: End-user messages
|
|
10
|
+
* - `"assistant"`: AI/system responses
|
|
11
|
+
* - `"tool"`: Tool execution results returned to the conversation flow
|
|
12
|
+
*/
|
|
13
|
+
export type PromptRole = "user" | "assistant" | "tool";
|
|
14
|
+
/**
|
|
15
|
+
* Helper type that excludes properties from TSource that exist in TExcluded.
|
|
16
|
+
*/
|
|
17
|
+
type Without<TSource, TExcluded> = {
|
|
18
|
+
[Key in Exclude<keyof TSource, keyof TExcluded>]?: never;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* XOR of two object types: one or the other, but not both.
|
|
22
|
+
*/
|
|
23
|
+
type XOR<TLeft, TRight> = (Without<TLeft, TRight> & TRight) | (Without<TRight, TLeft> & TLeft);
|
|
24
|
+
/**
|
|
25
|
+
* Configuration used to instantiate a {@link Prompt} instance.
|
|
26
|
+
* Either `text` or `toolResult` must be provided, but not both.
|
|
27
|
+
*/
|
|
28
|
+
export type PromptOptions = XOR<{
|
|
29
|
+
readonly text: string;
|
|
30
|
+
}, {
|
|
31
|
+
readonly toolResult: ToolResultType;
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* Resulting payload snapshot produced by a {@link Prompt} instance.
|
|
35
|
+
*/
|
|
36
|
+
export type PromptSnapshot = {
|
|
37
|
+
readonly kind: "text";
|
|
38
|
+
readonly text: string;
|
|
39
|
+
} | {
|
|
40
|
+
readonly kind: "tool-result";
|
|
41
|
+
readonly toolResult: ToolResultType;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Normalized prompt snapshot containing both the prompt payload and corresponding message format.
|
|
45
|
+
* This structure is suitable for transmission to the Core API.
|
|
46
|
+
*/
|
|
47
|
+
export type NormalizedPromptSnapshot = {
|
|
48
|
+
readonly kind: "text";
|
|
49
|
+
readonly prompt: string;
|
|
50
|
+
readonly message: MessageType;
|
|
51
|
+
} | {
|
|
52
|
+
readonly kind: "tool-result";
|
|
53
|
+
readonly prompt: ToolResultType;
|
|
54
|
+
readonly message: MessageType;
|
|
55
|
+
};
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/prompt/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAEvD;;GAEG;AACH,KAAK,OAAO,CAAC,OAAO,EAAE,SAAS,IAAI;KAC9B,GAAG,IAAI,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK;CAC3D,CAAC;AAEF;;GAEG;AACH,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAE/F;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEpG;;GAEG;AACH,MAAM,MAAM,cAAc,GACpB;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,GACD;IACI,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;CACvC,CAAC;AAER;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAC9B;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CACjC,GACD;IACI,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CACjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/prompt/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ToolResultType } from "@illalabs/interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a deep clone of a tool result object to prevent external mutation.
|
|
4
|
+
*
|
|
5
|
+
* This function clones all potentially complex fields (result and error) while
|
|
6
|
+
* preserving primitive identifiers (toolCallId and toolName).
|
|
7
|
+
*
|
|
8
|
+
* @param toolResult The tool result to clone.
|
|
9
|
+
* @returns A deep copy of the tool result with all complex fields cloned.
|
|
10
|
+
*/
|
|
11
|
+
export declare function cloneToolResult(toolResult: ToolResultType): ToolResultType;
|
|
12
|
+
//# sourceMappingURL=cloneToolResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloneToolResult.d.ts","sourceRoot":"","sources":["../../../../src/prompt/utils/cloneToolResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,GAAG,cAAc,CAiB1E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { deepClone } from "./deepClone.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a deep clone of a tool result object to prevent external mutation.
|
|
4
|
+
*
|
|
5
|
+
* This function clones all potentially complex fields (result and error) while
|
|
6
|
+
* preserving primitive identifiers (toolCallId and toolName).
|
|
7
|
+
*
|
|
8
|
+
* @param toolResult The tool result to clone.
|
|
9
|
+
* @returns A deep copy of the tool result with all complex fields cloned.
|
|
10
|
+
*/
|
|
11
|
+
export function cloneToolResult(toolResult) {
|
|
12
|
+
const cloned = {
|
|
13
|
+
toolCallId: toolResult.toolCallId,
|
|
14
|
+
toolName: toolResult.toolName,
|
|
15
|
+
result: toolResult.result !== undefined ? deepClone(toolResult.result) : undefined,
|
|
16
|
+
};
|
|
17
|
+
// Deep clone error only if it's a non-null object
|
|
18
|
+
if (toolResult.error !== undefined) {
|
|
19
|
+
if (typeof toolResult.error === "object" && toolResult.error !== null) {
|
|
20
|
+
cloned.error = deepClone(toolResult.error);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
cloned.error = toolResult.error;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return cloned;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=cloneToolResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloneToolResult.js","sourceRoot":"","sources":["../../../../src/prompt/utils/cloneToolResult.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,UAA0B;IACtD,MAAM,MAAM,GAAmB;QAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACrF,CAAC;IAEF,kDAAkD;IAClD,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACpE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QACpC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a deep clone of a value to prevent external mutation.
|
|
3
|
+
* Uses structuredClone if available, otherwise falls back to viem's stringify for serialization.
|
|
4
|
+
*
|
|
5
|
+
* @param value The value to clone.
|
|
6
|
+
* @returns A deep copy of the input value.
|
|
7
|
+
*/
|
|
8
|
+
export declare function deepClone<T>(value: T): T;
|
|
9
|
+
//# sourceMappingURL=deepClone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepClone.d.ts","sourceRoot":"","sources":["../../../../src/prompt/utils/deepClone.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAKxC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { stringify } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a deep clone of a value to prevent external mutation.
|
|
4
|
+
* Uses structuredClone if available, otherwise falls back to viem's stringify for serialization.
|
|
5
|
+
*
|
|
6
|
+
* @param value The value to clone.
|
|
7
|
+
* @returns A deep copy of the input value.
|
|
8
|
+
*/
|
|
9
|
+
export function deepClone(value) {
|
|
10
|
+
if (typeof structuredClone !== "undefined") {
|
|
11
|
+
return structuredClone(value);
|
|
12
|
+
}
|
|
13
|
+
return JSON.parse(stringify(value));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=deepClone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../../../src/prompt/utils/deepClone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAI,KAAQ;IACjC,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE,CAAC;QACzC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAM,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/prompt/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/prompt/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MessageType } from "@illalabs/interfaces";
|
|
2
|
+
import type { PromptRole } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transforms a text prompt into both prompt and message formats for API communication.
|
|
5
|
+
*
|
|
6
|
+
* @param text The text prompt to normalize.
|
|
7
|
+
* @param role The role to assign to the generated message.
|
|
8
|
+
* @returns An object containing the prompt payload and formatted message.
|
|
9
|
+
*/
|
|
10
|
+
export declare function normalizeTextPrompt(text: string, role: PromptRole): {
|
|
11
|
+
readonly prompt: string;
|
|
12
|
+
readonly message: MessageType;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=normalizeTextPrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeTextPrompt.d.ts","sourceRoot":"","sources":["../../../../src/prompt/utils/normalizeTextPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GACjB;IACC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CACjC,CAaA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transforms a text prompt into both prompt and message formats for API communication.
|
|
3
|
+
*
|
|
4
|
+
* @param text The text prompt to normalize.
|
|
5
|
+
* @param role The role to assign to the generated message.
|
|
6
|
+
* @returns An object containing the prompt payload and formatted message.
|
|
7
|
+
*/
|
|
8
|
+
export function normalizeTextPrompt(text, role) {
|
|
9
|
+
return {
|
|
10
|
+
prompt: text,
|
|
11
|
+
message: {
|
|
12
|
+
role,
|
|
13
|
+
content: [
|
|
14
|
+
{
|
|
15
|
+
type: "text",
|
|
16
|
+
text,
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=normalizeTextPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeTextPrompt.js","sourceRoot":"","sources":["../../../../src/prompt/utils/normalizeTextPrompt.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAC/B,IAAY,EACZ,IAAgB;IAKhB,OAAO;QACH,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE;YACL,IAAI;YACJ,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI;iBACP;aACJ;SACJ;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MessageType, ToolResultType } from "@illalabs/interfaces";
|
|
2
|
+
import type { PromptRole } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transforms a tool result into both prompt and message formats for API communication.
|
|
5
|
+
*
|
|
6
|
+
* @param toolResult The tool result to normalize.
|
|
7
|
+
* @param role The role to assign to the generated message.
|
|
8
|
+
* @returns An object containing the prompt payload and formatted message.
|
|
9
|
+
*/
|
|
10
|
+
export declare function normalizeToolResult(toolResult: ToolResultType, role: PromptRole): {
|
|
11
|
+
readonly prompt: ToolResultType;
|
|
12
|
+
readonly message: MessageType;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=normalizeToolResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeToolResult.d.ts","sourceRoot":"","sources":["../../../../src/prompt/utils/normalizeToolResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,UAAU,GACjB;IACC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CACjC,CAkBA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { cloneToolResult } from "./cloneToolResult.js";
|
|
2
|
+
/**
|
|
3
|
+
* Transforms a tool result into both prompt and message formats for API communication.
|
|
4
|
+
*
|
|
5
|
+
* @param toolResult The tool result to normalize.
|
|
6
|
+
* @param role The role to assign to the generated message.
|
|
7
|
+
* @returns An object containing the prompt payload and formatted message.
|
|
8
|
+
*/
|
|
9
|
+
export function normalizeToolResult(toolResult, role) {
|
|
10
|
+
const promptPayload = cloneToolResult(toolResult);
|
|
11
|
+
return {
|
|
12
|
+
prompt: promptPayload,
|
|
13
|
+
message: {
|
|
14
|
+
role,
|
|
15
|
+
content: [
|
|
16
|
+
{
|
|
17
|
+
type: "tool-result",
|
|
18
|
+
toolCallId: promptPayload.toolCallId,
|
|
19
|
+
toolName: promptPayload.toolName,
|
|
20
|
+
result: promptPayload.result,
|
|
21
|
+
...(promptPayload.error !== undefined && { error: promptPayload.error }),
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=normalizeToolResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeToolResult.js","sourceRoot":"","sources":["../../../../src/prompt/utils/normalizeToolResult.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAC/B,UAA0B,EAC1B,IAAgB;IAKhB,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAElD,OAAO;QACH,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE;YACL,IAAI;YACJ,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,aAAa,CAAC,UAAU;oBACpC,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,MAAM,EAAE,aAAa,CAAC,MAAM;oBAC5B,GAAG,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;iBAC3E;aACJ;SACJ;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CoreApiChatErrorResponse, LongPollingActionErrorResponse } from "@illalabs/interfaces";
|
|
2
|
+
declare class ChatErrorHandler {
|
|
3
|
+
private static handleAxiosError;
|
|
4
|
+
private static handleUnknownError;
|
|
5
|
+
static handle(error: unknown): CoreApiChatErrorResponse;
|
|
6
|
+
}
|
|
7
|
+
declare class AsyncToolCheckerErrorHandler {
|
|
8
|
+
private static handleAxiosError;
|
|
9
|
+
private static handleUnknownError;
|
|
10
|
+
static handle(error: unknown): LongPollingActionErrorResponse;
|
|
11
|
+
}
|
|
12
|
+
export { ChatErrorHandler, AsyncToolCheckerErrorHandler };
|
|
13
|
+
//# sourceMappingURL=CoreApiErrorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoreApiErrorHandler.d.ts","sourceRoot":"","sources":["../../../../src/providers/coreApiProvider/CoreApiErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,wBAAwB,EACxB,8BAA8B,EACjC,MAAM,sBAAsB,CAAC;AAG9B,cAAM,gBAAgB;IAClB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAe/B,OAAO,CAAC,MAAM,CAAC,kBAAkB;WAQnB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB;CAKjE;AAED,cAAM,4BAA4B;IAC9B,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAe/B,OAAO,CAAC,MAAM,CAAC,kBAAkB;WAQnB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,8BAA8B;CAKvE;AAED,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { AxiosError } from "axios";
|
|
2
|
+
class ChatErrorHandler {
|
|
3
|
+
static handleAxiosError(error) {
|
|
4
|
+
const body = error.response?.data;
|
|
5
|
+
if (body) {
|
|
6
|
+
return {
|
|
7
|
+
...body,
|
|
8
|
+
statusCode: error.status ?? 500,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
name: error.name,
|
|
13
|
+
message: error.message,
|
|
14
|
+
statusCode: error.status ?? 500,
|
|
15
|
+
details: error.message,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static handleUnknownError(error) {
|
|
19
|
+
return {
|
|
20
|
+
name: error.name,
|
|
21
|
+
message: error.message,
|
|
22
|
+
statusCode: 500,
|
|
23
|
+
details: "SDK Call SendMessage failed",
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static handle(error) {
|
|
27
|
+
if (error instanceof AxiosError)
|
|
28
|
+
return this.handleAxiosError(error);
|
|
29
|
+
if (error instanceof Error)
|
|
30
|
+
return this.handleUnknownError(error);
|
|
31
|
+
return this.handleUnknownError(new Error(String(error)));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
class AsyncToolCheckerErrorHandler {
|
|
35
|
+
static handleAxiosError(error) {
|
|
36
|
+
const body = error.response?.data;
|
|
37
|
+
if (body) {
|
|
38
|
+
return {
|
|
39
|
+
...body,
|
|
40
|
+
statusCode: error.status ?? 500,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
name: error.name,
|
|
45
|
+
message: error.message,
|
|
46
|
+
statusCode: error.status ?? 500,
|
|
47
|
+
details: error.message,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
static handleUnknownError(error) {
|
|
51
|
+
return {
|
|
52
|
+
name: error.name,
|
|
53
|
+
message: error.message,
|
|
54
|
+
statusCode: 500,
|
|
55
|
+
details: "SDK AsyncToolChecker awaitTransaction failed",
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
static handle(error) {
|
|
59
|
+
if (error instanceof AxiosError)
|
|
60
|
+
return this.handleAxiosError(error);
|
|
61
|
+
if (error instanceof Error)
|
|
62
|
+
return this.handleUnknownError(error);
|
|
63
|
+
return this.handleUnknownError(new Error(String(error)));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export { ChatErrorHandler, AsyncToolCheckerErrorHandler };
|
|
67
|
+
//# sourceMappingURL=CoreApiErrorHandler.js.map
|