@illalabs/sdk 0.0.0 → 0.1.0-canary.48bfe253

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 (209) hide show
  1. package/LICENSE +17 -2
  2. package/README.md +141 -1
  3. package/dist/src/asyncToolChecker/AsyncToolChecker.d.ts +39 -0
  4. package/dist/src/asyncToolChecker/AsyncToolChecker.d.ts.map +1 -0
  5. package/dist/src/asyncToolChecker/AsyncToolChecker.js +209 -0
  6. package/dist/src/asyncToolChecker/AsyncToolChecker.js.map +1 -0
  7. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMaxRetriesExceeded.d.ts +23 -0
  8. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMaxRetriesExceeded.d.ts.map +1 -0
  9. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMaxRetriesExceeded.js +30 -0
  10. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMaxRetriesExceeded.js.map +1 -0
  11. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMethodNotImplemented.d.ts +17 -0
  12. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMethodNotImplemented.d.ts.map +1 -0
  13. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMethodNotImplemented.js +26 -0
  14. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerMethodNotImplemented.js.map +1 -0
  15. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerTimeout.d.ts +17 -0
  16. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerTimeout.d.ts.map +1 -0
  17. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerTimeout.js +21 -0
  18. package/dist/src/asyncToolChecker/errors/AsyncToolCheckerTimeout.js.map +1 -0
  19. package/dist/src/asyncToolChecker/errors/index.d.ts +4 -0
  20. package/dist/src/asyncToolChecker/errors/index.d.ts.map +1 -0
  21. package/dist/src/asyncToolChecker/errors/index.js +4 -0
  22. package/dist/src/asyncToolChecker/errors/index.js.map +1 -0
  23. package/dist/src/asyncToolChecker/index.d.ts +6 -0
  24. package/dist/src/asyncToolChecker/index.d.ts.map +1 -0
  25. package/dist/src/asyncToolChecker/index.js +5 -0
  26. package/dist/src/asyncToolChecker/index.js.map +1 -0
  27. package/dist/src/asyncToolChecker/types.d.ts +24 -0
  28. package/dist/src/asyncToolChecker/types.d.ts.map +1 -0
  29. package/dist/src/asyncToolChecker/types.js +2 -0
  30. package/dist/src/asyncToolChecker/types.js.map +1 -0
  31. package/dist/src/asyncToolChecker/utils/index.d.ts +3 -0
  32. package/dist/src/asyncToolChecker/utils/index.d.ts.map +1 -0
  33. package/dist/src/asyncToolChecker/utils/index.js +3 -0
  34. package/dist/src/asyncToolChecker/utils/index.js.map +1 -0
  35. package/dist/src/asyncToolChecker/utils/isErrorResponse.d.ts +11 -0
  36. package/dist/src/asyncToolChecker/utils/isErrorResponse.d.ts.map +1 -0
  37. package/dist/src/asyncToolChecker/utils/isErrorResponse.js +12 -0
  38. package/dist/src/asyncToolChecker/utils/isErrorResponse.js.map +1 -0
  39. package/dist/src/asyncToolChecker/utils/normalizeTimeout.d.ts +9 -0
  40. package/dist/src/asyncToolChecker/utils/normalizeTimeout.d.ts.map +1 -0
  41. package/dist/src/asyncToolChecker/utils/normalizeTimeout.js +14 -0
  42. package/dist/src/asyncToolChecker/utils/normalizeTimeout.js.map +1 -0
  43. package/dist/src/caching/InMemoryCache.d.ts +14 -0
  44. package/dist/src/caching/InMemoryCache.d.ts.map +1 -0
  45. package/dist/src/caching/InMemoryCache.js +31 -0
  46. package/dist/src/caching/InMemoryCache.js.map +1 -0
  47. package/dist/src/caching/index.d.ts +3 -0
  48. package/dist/src/caching/index.d.ts.map +1 -0
  49. package/dist/src/caching/index.js +2 -0
  50. package/dist/src/caching/index.js.map +1 -0
  51. package/dist/src/chat/Chat.d.ts +62 -0
  52. package/dist/src/chat/Chat.d.ts.map +1 -0
  53. package/dist/src/chat/Chat.js +126 -0
  54. package/dist/src/chat/Chat.js.map +1 -0
  55. package/dist/src/chat/errors/ChatAsyncToolCheckerUnavailable.d.ts +19 -0
  56. package/dist/src/chat/errors/ChatAsyncToolCheckerUnavailable.d.ts.map +1 -0
  57. package/dist/src/chat/errors/ChatAsyncToolCheckerUnavailable.js +28 -0
  58. package/dist/src/chat/errors/ChatAsyncToolCheckerUnavailable.js.map +1 -0
  59. package/dist/src/chat/errors/index.d.ts +2 -0
  60. package/dist/src/chat/errors/index.d.ts.map +1 -0
  61. package/dist/src/chat/errors/index.js +2 -0
  62. package/dist/src/chat/errors/index.js.map +1 -0
  63. package/dist/src/chat/index.d.ts +5 -0
  64. package/dist/src/chat/index.d.ts.map +1 -0
  65. package/dist/src/chat/index.js +3 -0
  66. package/dist/src/chat/index.js.map +1 -0
  67. package/dist/src/chat/types.d.ts +9 -0
  68. package/dist/src/chat/types.d.ts.map +1 -0
  69. package/dist/src/chat/types.js +2 -0
  70. package/dist/src/chat/types.js.map +1 -0
  71. package/dist/src/chat/utils/index.d.ts +2 -0
  72. package/dist/src/chat/utils/index.d.ts.map +1 -0
  73. package/dist/src/chat/utils/index.js +2 -0
  74. package/dist/src/chat/utils/index.js.map +1 -0
  75. package/dist/src/chat/utils/uuid.d.ts +12 -0
  76. package/dist/src/chat/utils/uuid.d.ts.map +1 -0
  77. package/dist/src/chat/utils/uuid.js +19 -0
  78. package/dist/src/chat/utils/uuid.js.map +1 -0
  79. package/dist/src/context/ContextManager.d.ts +26 -0
  80. package/dist/src/context/ContextManager.d.ts.map +1 -0
  81. package/dist/src/context/ContextManager.js +93 -0
  82. package/dist/src/context/ContextManager.js.map +1 -0
  83. package/dist/src/context/index.d.ts +2 -0
  84. package/dist/src/context/index.d.ts.map +1 -0
  85. package/dist/src/context/index.js +2 -0
  86. package/dist/src/context/index.js.map +1 -0
  87. package/dist/src/context/types.d.ts +17 -0
  88. package/dist/src/context/types.d.ts.map +1 -0
  89. package/dist/src/context/types.js +2 -0
  90. package/dist/src/context/types.js.map +1 -0
  91. package/dist/src/external.d.ts +14 -0
  92. package/dist/src/external.d.ts.map +1 -0
  93. package/dist/src/external.js +13 -0
  94. package/dist/src/external.js.map +1 -0
  95. package/dist/src/index.d.ts +8 -0
  96. package/dist/src/index.d.ts.map +1 -0
  97. package/dist/src/index.js +8 -0
  98. package/dist/src/index.js.map +1 -0
  99. package/dist/src/interfaces/asyncToolChecker.interface.d.ts +85 -0
  100. package/dist/src/interfaces/asyncToolChecker.interface.d.ts.map +1 -0
  101. package/dist/src/interfaces/asyncToolChecker.interface.js +2 -0
  102. package/dist/src/interfaces/asyncToolChecker.interface.js.map +1 -0
  103. package/dist/src/interfaces/cache.interface.d.ts +35 -0
  104. package/dist/src/interfaces/cache.interface.d.ts.map +1 -0
  105. package/dist/src/interfaces/cache.interface.js +2 -0
  106. package/dist/src/interfaces/cache.interface.js.map +1 -0
  107. package/dist/src/interfaces/chat.interface.d.ts +84 -0
  108. package/dist/src/interfaces/chat.interface.d.ts.map +1 -0
  109. package/dist/src/interfaces/chat.interface.js +2 -0
  110. package/dist/src/interfaces/chat.interface.js.map +1 -0
  111. package/dist/src/interfaces/contextManager.interface.d.ts +86 -0
  112. package/dist/src/interfaces/contextManager.interface.d.ts.map +1 -0
  113. package/dist/src/interfaces/contextManager.interface.js +2 -0
  114. package/dist/src/interfaces/contextManager.interface.js.map +1 -0
  115. package/dist/src/interfaces/coreApiProvider.interface.d.ts +32 -0
  116. package/dist/src/interfaces/coreApiProvider.interface.d.ts.map +1 -0
  117. package/dist/src/interfaces/coreApiProvider.interface.js +2 -0
  118. package/dist/src/interfaces/coreApiProvider.interface.js.map +1 -0
  119. package/dist/src/interfaces/index.d.ts +7 -0
  120. package/dist/src/interfaces/index.d.ts.map +1 -0
  121. package/dist/src/interfaces/index.js +2 -0
  122. package/dist/src/interfaces/index.js.map +1 -0
  123. package/dist/src/internal.d.ts +14 -0
  124. package/dist/src/internal.d.ts.map +1 -0
  125. package/dist/src/internal.js +14 -0
  126. package/dist/src/internal.js.map +1 -0
  127. package/dist/src/prompt/Prompt.d.ts +61 -0
  128. package/dist/src/prompt/Prompt.d.ts.map +1 -0
  129. package/dist/src/prompt/Prompt.js +118 -0
  130. package/dist/src/prompt/Prompt.js.map +1 -0
  131. package/dist/src/prompt/errors/PromptConfigurationConflict.d.ts +10 -0
  132. package/dist/src/prompt/errors/PromptConfigurationConflict.d.ts.map +1 -0
  133. package/dist/src/prompt/errors/PromptConfigurationConflict.js +13 -0
  134. package/dist/src/prompt/errors/PromptConfigurationConflict.js.map +1 -0
  135. package/dist/src/prompt/errors/index.d.ts +2 -0
  136. package/dist/src/prompt/errors/index.d.ts.map +1 -0
  137. package/dist/src/prompt/errors/index.js +2 -0
  138. package/dist/src/prompt/errors/index.js.map +1 -0
  139. package/dist/src/prompt/index.d.ts +4 -0
  140. package/dist/src/prompt/index.d.ts.map +1 -0
  141. package/dist/src/prompt/index.js +3 -0
  142. package/dist/src/prompt/index.js.map +1 -0
  143. package/dist/src/prompt/types.d.ts +57 -0
  144. package/dist/src/prompt/types.d.ts.map +1 -0
  145. package/dist/src/prompt/types.js +2 -0
  146. package/dist/src/prompt/types.js.map +1 -0
  147. package/dist/src/prompt/utils/cloneToolResult.d.ts +12 -0
  148. package/dist/src/prompt/utils/cloneToolResult.d.ts.map +1 -0
  149. package/dist/src/prompt/utils/cloneToolResult.js +28 -0
  150. package/dist/src/prompt/utils/cloneToolResult.js.map +1 -0
  151. package/dist/src/prompt/utils/deepClone.d.ts +9 -0
  152. package/dist/src/prompt/utils/deepClone.d.ts.map +1 -0
  153. package/dist/src/prompt/utils/deepClone.js +15 -0
  154. package/dist/src/prompt/utils/deepClone.js.map +1 -0
  155. package/dist/src/prompt/utils/index.d.ts +5 -0
  156. package/dist/src/prompt/utils/index.d.ts.map +1 -0
  157. package/dist/src/prompt/utils/index.js +5 -0
  158. package/dist/src/prompt/utils/index.js.map +1 -0
  159. package/dist/src/prompt/utils/normalizeTextPrompt.d.ts +14 -0
  160. package/dist/src/prompt/utils/normalizeTextPrompt.d.ts.map +1 -0
  161. package/dist/src/prompt/utils/normalizeTextPrompt.js +22 -0
  162. package/dist/src/prompt/utils/normalizeTextPrompt.js.map +1 -0
  163. package/dist/src/prompt/utils/normalizeToolResult.d.ts +14 -0
  164. package/dist/src/prompt/utils/normalizeToolResult.d.ts.map +1 -0
  165. package/dist/src/prompt/utils/normalizeToolResult.js +27 -0
  166. package/dist/src/prompt/utils/normalizeToolResult.js.map +1 -0
  167. package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts +42 -0
  168. package/dist/src/providers/coreApiProvider/CoreApiProvider.d.ts.map +1 -0
  169. package/dist/src/providers/coreApiProvider/CoreApiProvider.js +106 -0
  170. package/dist/src/providers/coreApiProvider/CoreApiProvider.js.map +1 -0
  171. package/dist/src/providers/coreApiProvider/errors/CoreApiAuthenticationMissing.d.ts +8 -0
  172. package/dist/src/providers/coreApiProvider/errors/CoreApiAuthenticationMissing.d.ts.map +1 -0
  173. package/dist/src/providers/coreApiProvider/errors/CoreApiAuthenticationMissing.js +15 -0
  174. package/dist/src/providers/coreApiProvider/errors/CoreApiAuthenticationMissing.js.map +1 -0
  175. package/dist/src/providers/coreApiProvider/errors/CoreApiMethodNotImplemented.d.ts +9 -0
  176. package/dist/src/providers/coreApiProvider/errors/CoreApiMethodNotImplemented.d.ts.map +1 -0
  177. package/dist/src/providers/coreApiProvider/errors/CoreApiMethodNotImplemented.js +19 -0
  178. package/dist/src/providers/coreApiProvider/errors/CoreApiMethodNotImplemented.js.map +1 -0
  179. package/dist/src/providers/coreApiProvider/errors/index.d.ts +3 -0
  180. package/dist/src/providers/coreApiProvider/errors/index.d.ts.map +1 -0
  181. package/dist/src/providers/coreApiProvider/errors/index.js +3 -0
  182. package/dist/src/providers/coreApiProvider/errors/index.js.map +1 -0
  183. package/dist/src/providers/coreApiProvider/index.d.ts +6 -0
  184. package/dist/src/providers/coreApiProvider/index.d.ts.map +1 -0
  185. package/dist/src/providers/coreApiProvider/index.js +3 -0
  186. package/dist/src/providers/coreApiProvider/index.js.map +1 -0
  187. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderConfig.interface.d.ts +29 -0
  188. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderConfig.interface.d.ts.map +1 -0
  189. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderConfig.interface.js +2 -0
  190. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderConfig.interface.js.map +1 -0
  191. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.d.ts +14 -0
  192. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.d.ts.map +1 -0
  193. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.js +2 -0
  194. package/dist/src/providers/coreApiProvider/interfaces/CoreApiProviderRoutes.interface.js.map +1 -0
  195. package/dist/src/providers/coreApiProvider/interfaces/index.d.ts +3 -0
  196. package/dist/src/providers/coreApiProvider/interfaces/index.d.ts.map +1 -0
  197. package/dist/src/providers/coreApiProvider/interfaces/index.js +2 -0
  198. package/dist/src/providers/coreApiProvider/interfaces/index.js.map +1 -0
  199. package/dist/src/providers/coreApiProvider/types.d.ts +16 -0
  200. package/dist/src/providers/coreApiProvider/types.d.ts.map +1 -0
  201. package/dist/src/providers/coreApiProvider/types.js +2 -0
  202. package/dist/src/providers/coreApiProvider/types.js.map +1 -0
  203. package/dist/src/providers/index.d.ts +2 -0
  204. package/dist/src/providers/index.d.ts.map +1 -0
  205. package/dist/src/providers/index.js +2 -0
  206. package/dist/src/providers/index.js.map +1 -0
  207. package/package.json +42 -5
  208. package/index.d.ts +0 -1
  209. package/index.js +0 -1
@@ -0,0 +1,24 @@
1
+ import type { ActionStatus, BaseLongPollingArgs, LongPollingActionErrorResponse, LongPollingActionParams } from "@illalabs/interfaces";
2
+ /**
3
+ * Descriptor containing parameters for an action whose execution can be awaited.
4
+ */
5
+ export type AwaitableActionDescriptor<T extends BaseLongPollingArgs = BaseLongPollingArgs> = LongPollingActionParams<T>;
6
+ /**
7
+ * Successful result emitted after awaiting a long running tool execution.
8
+ */
9
+ export type AwaitActionSuccess<TPayload = unknown, TError = unknown> = {
10
+ readonly isError: false;
11
+ readonly response: ActionStatus<TPayload, TError>;
12
+ };
13
+ /**
14
+ * Error result emitted when awaiting a long running tool execution fails.
15
+ */
16
+ export type AwaitActionFailure = {
17
+ readonly isError: true;
18
+ readonly error: LongPollingActionErrorResponse;
19
+ };
20
+ /**
21
+ * Discriminated union representing the result of awaiting a long running tool execution.
22
+ */
23
+ export type AwaitActionResult<TPayload = unknown, TError = unknown> = AwaitActionSuccess<TPayload, TError> | AwaitActionFailure;
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/asyncToolChecker/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,mBAAmB,EACnB,8BAA8B,EAC9B,uBAAuB,EAC1B,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IACrF,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,QAAQ,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI;IACnE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,8BAA8B,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,QAAQ,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,IAC5D,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,GACpC,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/asyncToolChecker/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { isErrorResponse } from "./isErrorResponse.js";
2
+ export { normalizeTimeout } from "./normalizeTimeout.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/asyncToolChecker/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { isErrorResponse } from "./isErrorResponse.js";
2
+ export { normalizeTimeout } from "./normalizeTimeout.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/asyncToolChecker/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { LongPollingActionErrorResponse, LongPollingActionResponse } from "@illalabs/interfaces";
2
+ /**
3
+ * Type guard to determine if a long polling response represents an error state.
4
+ *
5
+ * @typeParam TPayload - Payload type associated with successful responses.
6
+ * @param response Response from the Core API long polling endpoint.
7
+ *
8
+ * @returns True if the response contains an error, false otherwise.
9
+ */
10
+ export declare function isErrorResponse<TPayload = unknown>(response: LongPollingActionResponse<TPayload>): response is LongPollingActionErrorResponse;
11
+ //# sourceMappingURL=isErrorResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isErrorResponse.d.ts","sourceRoot":"","sources":["../../../../src/asyncToolChecker/utils/isErrorResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,8BAA8B,EAC9B,yBAAyB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAG,OAAO,EAC9C,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,CAAC,GAC9C,QAAQ,IAAI,8BAA8B,CAE5C"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Type guard to determine if a long polling response represents an error state.
3
+ *
4
+ * @typeParam TPayload - Payload type associated with successful responses.
5
+ * @param response Response from the Core API long polling endpoint.
6
+ *
7
+ * @returns True if the response contains an error, false otherwise.
8
+ */
9
+ export function isErrorResponse(response) {
10
+ return response.statusCode !== undefined;
11
+ }
12
+ //# sourceMappingURL=isErrorResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isErrorResponse.js","sourceRoot":"","sources":["../../../../src/asyncToolChecker/utils/isErrorResponse.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC3B,QAA6C;IAE7C,OAAQ,QAA2C,CAAC,UAAU,KAAK,SAAS,CAAC;AACjF,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Normalizes a timeout value expressed in seconds.
3
+ *
4
+ * @param value Timeout expressed in seconds.
5
+ *
6
+ * @returns Timeout converted to milliseconds. Values less than zero are coerced to zero.
7
+ */
8
+ export declare function normalizeTimeout(value: number): number;
9
+ //# sourceMappingURL=normalizeTimeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeTimeout.d.ts","sourceRoot":"","sources":["../../../../src/asyncToolChecker/utils/normalizeTimeout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtD"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Normalizes a timeout value expressed in seconds.
3
+ *
4
+ * @param value Timeout expressed in seconds.
5
+ *
6
+ * @returns Timeout converted to milliseconds. Values less than zero are coerced to zero.
7
+ */
8
+ export function normalizeTimeout(value) {
9
+ if (!Number.isFinite(value)) {
10
+ return 0;
11
+ }
12
+ return Math.max(0, value) * 1000;
13
+ }
14
+ //# sourceMappingURL=normalizeTimeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeTimeout.js","sourceRoot":"","sources":["../../../../src/asyncToolChecker/utils/normalizeTimeout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;AACrC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { CacheEntryOptions, ICache } from "../interfaces/cache.interface.js";
2
+ /**
3
+ * Default cache implementation that keeps values in memory.
4
+ */
5
+ export declare class InMemoryCache implements ICache {
6
+ private readonly store;
7
+ /** @inheritdoc */
8
+ get<TValue>(key: string): Promise<TValue | undefined>;
9
+ /** @inheritdoc */
10
+ set(key: string, value: unknown, options?: CacheEntryOptions): Promise<void>;
11
+ /** @inheritdoc */
12
+ del(key: string): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=InMemoryCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryCache.d.ts","sourceRoot":"","sources":["../../../src/caching/InMemoryCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAMlF;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2C;IAEjE,kBAAkB;IACL,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAclE,kBAAkB;IACL,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7F,kBAAkB;IACL,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Default cache implementation that keeps values in memory.
3
+ */
4
+ export class InMemoryCache {
5
+ store = new Map();
6
+ /** @inheritdoc */
7
+ async get(key) {
8
+ const entry = this.store.get(key);
9
+ if (entry === undefined) {
10
+ return undefined;
11
+ }
12
+ if (entry.expiresAt !== undefined && entry.expiresAt <= Date.now()) {
13
+ this.store.delete(key);
14
+ return undefined;
15
+ }
16
+ return entry.value;
17
+ }
18
+ /** @inheritdoc */
19
+ async set(key, value, options = {}) {
20
+ const expiresAt = options.ttl !== undefined ? Date.now() + options.ttl : undefined;
21
+ this.store.set(key, {
22
+ value,
23
+ expiresAt,
24
+ });
25
+ }
26
+ /** @inheritdoc */
27
+ async del(key) {
28
+ this.store.delete(key);
29
+ }
30
+ }
31
+ //# sourceMappingURL=InMemoryCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryCache.js","sourceRoot":"","sources":["../../../src/caching/InMemoryCache.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,OAAO,aAAa;IACL,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEjE,kBAAkB;IACX,KAAK,CAAC,GAAG,CAAS,GAAW;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,KAAK,CAAC,KAAe,CAAC;IACjC,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,UAA6B,EAAE;QACzE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,KAAK;YACL,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,GAAG,CAAC,GAAW;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACJ"}
@@ -0,0 +1,3 @@
1
+ export type { CacheEntryOptions, ICache } from "../interfaces/cache.interface.js";
2
+ export { InMemoryCache } from "./InMemoryCache.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/caching/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { InMemoryCache } from "./InMemoryCache.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/caching/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,62 @@
1
+ import type { AwaitableActionDescriptor, AwaitActionResult } from "../asyncToolChecker/index.js";
2
+ import type { ChatContextSnapshot, ChatOptions, SendMessageResult } from "../interfaces/index.js";
3
+ import type { Prompt } from "../prompt/index.js";
4
+ /**
5
+ * Represents a conversational session with the Illa Core API.
6
+ */
7
+ export declare class Chat {
8
+ private readonly id;
9
+ private readonly coreApiProvider;
10
+ private readonly contextManager;
11
+ private readonly asyncToolChecker?;
12
+ private readonly defaultRole;
13
+ private readonly userContext;
14
+ /**
15
+ * Creates a new {@link Chat} instance.
16
+ *
17
+ * @param options Chat construction options including dependencies.
18
+ */
19
+ constructor(options: ChatOptions);
20
+ /**
21
+ * Retrieves the identifier associated with this chat instance.
22
+ *
23
+ * @returns Chat identifier.
24
+ */
25
+ getId(): string;
26
+ /**
27
+ * Sends a prompt to the Core API and returns the processed result.
28
+ *
29
+ * @param prompt Prompt instance representing the message to be processed.
30
+ *
31
+ * @returns Structured chat result containing the processed response.
32
+ */
33
+ sendMessage(prompt: Prompt): Promise<SendMessageResult>;
34
+ private buildRequest;
35
+ private static isSuccessResponse;
36
+ /**
37
+ * Awaits the completion of a long running action triggered by the conversation.
38
+ *
39
+ * When the chat has no async tool checker configured, the method throws a
40
+ * {@link ChatAsyncToolCheckerUnavailable} error; otherwise it delegates the
41
+ * request to the checker and returns its result.
42
+ *
43
+ * @param descriptor Descriptor identifying the action to track.
44
+ *
45
+ * @throws {ChatAsyncToolCheckerUnavailable} When no async tool checker is configured.
46
+ *
47
+ * @returns Action status result emitted by the async tool checker.
48
+ */
49
+ awaitAction(descriptor: AwaitableActionDescriptor): Promise<AwaitActionResult>;
50
+ /**
51
+ * Retrieves the current chat context including messages and tool configuration. *
52
+ * @returns Snapshot of the chat context.
53
+ */
54
+ getContext(): Promise<ChatContextSnapshot>;
55
+ /**
56
+ * Replaces the persisted chat context with the provided snapshot.
57
+ *
58
+ * @param snapshot Context snapshot to store.
59
+ */
60
+ setContext(snapshot: ChatContextSnapshot): Promise<void>;
61
+ }
62
+ //# sourceMappingURL=Chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/chat/Chat.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAER,yBAAyB,EACzB,iBAAiB,EACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACR,mBAAmB,EACnB,WAAW,EAGX,iBAAiB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAA4B,MAAM,EAAc,MAAM,oBAAoB,CAAC;AAIvF;;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;;;;OAIG;gBACgB,OAAO,EAAE,WAAW;IASvC;;;;OAIG;IACI,KAAK,IAAI,MAAM;IAItB;;;;;;OAMG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkCpE,OAAO,CAAC,YAAY;IAoBpB,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"}
@@ -0,0 +1,126 @@
1
+ import { ChatAsyncToolCheckerUnavailable } from "./errors/index.js";
2
+ import { generateUUID } from "./utils/index.js";
3
+ /**
4
+ * Represents a conversational session with the Illa Core API.
5
+ */
6
+ export class Chat {
7
+ id;
8
+ coreApiProvider;
9
+ contextManager;
10
+ asyncToolChecker;
11
+ defaultRole;
12
+ userContext;
13
+ /**
14
+ * Creates a new {@link Chat} instance.
15
+ *
16
+ * @param options Chat construction options including dependencies.
17
+ */
18
+ constructor(options) {
19
+ this.id = options.id ?? generateUUID();
20
+ this.coreApiProvider = options.coreApiProvider;
21
+ this.contextManager = options.contextManager;
22
+ this.asyncToolChecker = options.asyncToolChecker;
23
+ this.defaultRole = options.defaultRole ?? "user";
24
+ this.userContext = options.userContext;
25
+ }
26
+ /**
27
+ * Retrieves the identifier associated with this chat instance.
28
+ *
29
+ * @returns Chat identifier.
30
+ */
31
+ getId() {
32
+ return this.id;
33
+ }
34
+ /**
35
+ * Sends a prompt to the Core API and returns the processed result.
36
+ *
37
+ * @param prompt Prompt instance representing the message to be processed.
38
+ *
39
+ * @returns Structured chat result containing the processed response.
40
+ */
41
+ async sendMessage(prompt) {
42
+ const promptSnapshot = prompt.getSnapshot();
43
+ const normalizedPrompt = prompt.getNormalizedSnapshot(this.defaultRole);
44
+ const originalContext = await this.contextManager.getContext(this.id);
45
+ const { body, messages: stagedMessages } = this.buildRequest(originalContext, normalizedPrompt);
46
+ const response = await this.coreApiProvider.sendMessage(body);
47
+ if (!Chat.isSuccessResponse(response)) {
48
+ return {
49
+ chatId: this.id,
50
+ prompt: body.prompt,
51
+ promptSnapshot,
52
+ messages: stagedMessages,
53
+ toolsConfig: originalContext.toolsConfig,
54
+ response,
55
+ };
56
+ }
57
+ await this.contextManager.setMessages(this.id, response.messages);
58
+ await this.contextManager.setToolsConfig(this.id, originalContext.toolsConfig);
59
+ return {
60
+ chatId: this.id,
61
+ prompt: body.prompt,
62
+ promptSnapshot,
63
+ messages: response.messages,
64
+ toolsConfig: originalContext.toolsConfig,
65
+ response,
66
+ };
67
+ }
68
+ buildRequest(context, normalizedPrompt) {
69
+ return {
70
+ body: {
71
+ toolsConfig: context.toolsConfig,
72
+ messages: context.messages,
73
+ userContext: this.userContext,
74
+ prompt: normalizedPrompt.message,
75
+ },
76
+ messages: context.messages,
77
+ toolsConfig: context.toolsConfig,
78
+ };
79
+ }
80
+ static isSuccessResponse(response) {
81
+ return "status" in response && response.status === 200;
82
+ }
83
+ /**
84
+ * Awaits the completion of a long running action triggered by the conversation.
85
+ *
86
+ * When the chat has no async tool checker configured, the method throws a
87
+ * {@link ChatAsyncToolCheckerUnavailable} error; otherwise it delegates the
88
+ * request to the checker and returns its result.
89
+ *
90
+ * @param descriptor Descriptor identifying the action to track.
91
+ *
92
+ * @throws {ChatAsyncToolCheckerUnavailable} When no async tool checker is configured.
93
+ *
94
+ * @returns Action status result emitted by the async tool checker.
95
+ */
96
+ async awaitAction(descriptor) {
97
+ if (this.asyncToolChecker === undefined) {
98
+ throw new ChatAsyncToolCheckerUnavailable({
99
+ chatId: this.getId(),
100
+ descriptor,
101
+ });
102
+ }
103
+ return this.asyncToolChecker.check({
104
+ toolName: descriptor.toolName,
105
+ protocol: descriptor.protocol,
106
+ descriptor: descriptor.args,
107
+ });
108
+ }
109
+ /**
110
+ * Retrieves the current chat context including messages and tool configuration. *
111
+ * @returns Snapshot of the chat context.
112
+ */
113
+ async getContext() {
114
+ return this.contextManager.getContext(this.id);
115
+ }
116
+ /**
117
+ * Replaces the persisted chat context with the provided snapshot.
118
+ *
119
+ * @param snapshot Context snapshot to store.
120
+ */
121
+ async setContext(snapshot) {
122
+ await this.contextManager.setMessages(this.id, snapshot.messages);
123
+ await this.contextManager.setToolsConfig(this.id, snapshot.toolsConfig);
124
+ }
125
+ }
126
+ //# sourceMappingURL=Chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../../src/chat/Chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Error emitted when attempting to await an action without configuring an async tool checker.
3
+ *
4
+ * The error may include a `context` property with additional debugging information
5
+ * such as the `chatId` and the original `descriptor` of the awaited action.
6
+ */
7
+ export declare class ChatAsyncToolCheckerUnavailable extends Error {
8
+ /**
9
+ * Optional context describing the awaited action and chat details.
10
+ */
11
+ readonly context?: unknown;
12
+ /**
13
+ * Creates a new {@link ChatAsyncToolCheckerUnavailable} instance.
14
+ *
15
+ * @param context Additional context useful for debugging, e.g. `{ chatId: string, descriptor: unknown }`.
16
+ */
17
+ constructor(context?: unknown);
18
+ }
19
+ //# sourceMappingURL=ChatAsyncToolCheckerUnavailable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatAsyncToolCheckerUnavailable.d.ts","sourceRoot":"","sources":["../../../../src/chat/errors/ChatAsyncToolCheckerUnavailable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,+BAAgC,SAAQ,KAAK;IACtD;;OAEG;IACH,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElC;;;;OAIG;gBACgB,OAAO,CAAC,EAAE,OAAO;CAUvC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Error emitted when attempting to await an action without configuring an async tool checker.
3
+ *
4
+ * The error may include a `context` property with additional debugging information
5
+ * such as the `chatId` and the original `descriptor` of the awaited action.
6
+ */
7
+ export class ChatAsyncToolCheckerUnavailable extends Error {
8
+ /**
9
+ * Optional context describing the awaited action and chat details.
10
+ */
11
+ context;
12
+ /**
13
+ * Creates a new {@link ChatAsyncToolCheckerUnavailable} instance.
14
+ *
15
+ * @param context Additional context useful for debugging, e.g. `{ chatId: string, descriptor: unknown }`.
16
+ */
17
+ constructor(context) {
18
+ super("Chat awaitAction requires an async tool checker to be configured.");
19
+ this.name = "ChatAsyncToolCheckerUnavailable";
20
+ if (context !== undefined) {
21
+ Object.defineProperty(this, "context", {
22
+ value: context,
23
+ enumerable: true,
24
+ });
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=ChatAsyncToolCheckerUnavailable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatAsyncToolCheckerUnavailable.js","sourceRoot":"","sources":["../../../../src/chat/errors/ChatAsyncToolCheckerUnavailable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACtD;;OAEG;IACa,OAAO,CAAW;IAElC;;;;OAIG;IACH,YAAmB,OAAiB;QAChC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;gBACnC,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,IAAI;aACnB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export { ChatAsyncToolCheckerUnavailable } from "./ChatAsyncToolCheckerUnavailable.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chat/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ChatAsyncToolCheckerUnavailable } from "./ChatAsyncToolCheckerUnavailable.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chat/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { Chat } from "./Chat.js";
2
+ export type { ChatOptions } from "../interfaces/index.js";
3
+ export * from "./errors/index.js";
4
+ export type { ChatContextInput } from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Chat } from "./Chat.js";
2
+ export * from "./errors/index.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ChatContextSnapshot } from "../interfaces/index.js";
2
+ /**
3
+ * Context replacement payload accepted by the chat facade.
4
+ *
5
+ * This type re-exports the existing {@link ChatContextSnapshot} for improved discoverability
6
+ * when working within the chat module.
7
+ */
8
+ export type ChatContextInput = ChatContextSnapshot;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chat/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/chat/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { generateUUID } from "./uuid.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chat/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { generateUUID } from "./uuid.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chat/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Generates a random UUID (v4) compatible with both browser and Node.js environments.
3
+ *
4
+ * This helper uses the Web Crypto API's `crypto.randomUUID()` when available
5
+ * (modern browsers and Node.js 19+) and falls back to the `uuid` library for
6
+ * compatibility with older environments.
7
+ *
8
+ * @returns A randomly generated UUID string in the format
9
+ * `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`.
10
+ */
11
+ export declare function generateUUID(): string;
12
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../../src/chat/utils/uuid.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAOrC"}
@@ -0,0 +1,19 @@
1
+ import { v4 as uuidv4 } from "uuid";
2
+ /**
3
+ * Generates a random UUID (v4) compatible with both browser and Node.js environments.
4
+ *
5
+ * This helper uses the Web Crypto API's `crypto.randomUUID()` when available
6
+ * (modern browsers and Node.js 19+) and falls back to the `uuid` library for
7
+ * compatibility with older environments.
8
+ *
9
+ * @returns A randomly generated UUID string in the format
10
+ * `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`.
11
+ */
12
+ export function generateUUID() {
13
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
14
+ return crypto.randomUUID();
15
+ }
16
+ // Fallback to uuid library for older environments
17
+ return uuidv4();
18
+ }
19
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../src/chat/utils/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY;IACxB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,kDAAkD;IAClD,OAAO,MAAM,EAAE,CAAC;AACpB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { MessageHistoryType, ToolAutorouterRequest } from "@illalabs/interfaces";
2
+ import type { ChatContextSnapshot, ContextManagerOptions, ICache, IContextManager } from "../interfaces/index.js";
3
+ /**
4
+ * Manages chat context using an injected cache implementation.
5
+ */
6
+ export declare class ContextManager implements IContextManager {
7
+ private readonly cache;
8
+ private readonly cacheEntryOptions?;
9
+ private readonly defaultSnapshot;
10
+ private readonly prefix;
11
+ constructor(cache: ICache, options?: ContextManagerOptions);
12
+ /** @inheritdoc */
13
+ getContext(chatId: string): Promise<ChatContextSnapshot>;
14
+ /** @inheritdoc */
15
+ setMessages(chatId: string, messages: MessageHistoryType): Promise<void>;
16
+ /** @inheritdoc */
17
+ appendMessages(chatId: string, messages: MessageHistoryType): Promise<void>;
18
+ /** @inheritdoc */
19
+ setToolsConfig(chatId: string, toolsConfig: ToolAutorouterRequest): Promise<void>;
20
+ /** @inheritdoc */
21
+ deleteContext(chatId: string): Promise<void>;
22
+ private readRecord;
23
+ private writeRecord;
24
+ private buildCacheKey;
25
+ }
26
+ //# sourceMappingURL=ContextManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../../../src/context/ContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,KAAK,EAER,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,EACN,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAuBhC;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;IAQ9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAP1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAoB;IAEvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAEhD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAGX,KAAK,EAAE,MAAM,EAC9B,OAAO,GAAE,qBAA0B;IAUvC,kBAAkB;IACL,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASrE,kBAAkB;IACL,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrF,kBAAkB;IACL,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxF,kBAAkB;IACL,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9F,kBAAkB;IACL,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAI3C,UAAU;YAgBV,WAAW;IAIzB,OAAO,CAAC,aAAa;CAGxB"}