@dexto/core 1.1.4 → 1.1.6

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 (597) hide show
  1. package/README.md +125 -0
  2. package/dist/agent/DextoAgent.cjs +793 -0
  3. package/dist/agent/DextoAgent.d.cts +473 -0
  4. package/dist/agent/DextoAgent.d.ts +473 -0
  5. package/dist/agent/DextoAgent.js +774 -0
  6. package/dist/agent/agentCard.cjs +44 -0
  7. package/dist/agent/agentCard.d.cts +20 -0
  8. package/dist/agent/agentCard.d.ts +20 -0
  9. package/dist/agent/agentCard.js +20 -0
  10. package/dist/agent/error-codes.cjs +35 -0
  11. package/dist/agent/error-codes.d.cts +14 -0
  12. package/dist/agent/error-codes.d.ts +14 -0
  13. package/dist/agent/error-codes.js +11 -0
  14. package/dist/agent/errors.cjs +84 -0
  15. package/dist/agent/errors.d.cts +40 -0
  16. package/dist/agent/errors.d.ts +40 -0
  17. package/dist/agent/errors.js +60 -0
  18. package/dist/agent/index.cjs +44 -0
  19. package/dist/agent/index.d.cts +60 -0
  20. package/dist/agent/index.d.ts +60 -0
  21. package/dist/agent/index.js +13 -0
  22. package/dist/agent/registry/error-codes.cjs +42 -0
  23. package/dist/agent/registry/error-codes.d.cts +20 -0
  24. package/dist/agent/registry/error-codes.d.ts +20 -0
  25. package/dist/agent/registry/error-codes.js +18 -0
  26. package/dist/agent/registry/errors.cjs +158 -0
  27. package/dist/agent/registry/errors.d.cts +67 -0
  28. package/dist/agent/registry/errors.d.ts +67 -0
  29. package/dist/{chunk-PI6XFMEW.js → agent/registry/errors.js} +43 -50
  30. package/dist/agent/registry/registry.cjs +291 -0
  31. package/dist/agent/registry/registry.d.cts +67 -0
  32. package/dist/agent/registry/registry.d.ts +67 -0
  33. package/dist/agent/registry/registry.js +256 -0
  34. package/dist/agent/registry/types.cjs +41 -0
  35. package/dist/agent/registry/types.d.cts +100 -0
  36. package/dist/agent/registry/types.d.ts +100 -0
  37. package/dist/agent/registry/types.js +16 -0
  38. package/dist/agent/schemas.cjs +113 -0
  39. package/dist/agent/schemas.d.cts +1502 -0
  40. package/dist/agent/schemas.d.ts +1502 -0
  41. package/dist/agent/schemas.js +88 -0
  42. package/dist/agent/state-manager.cjs +214 -0
  43. package/dist/agent/state-manager.d.cts +97 -0
  44. package/dist/agent/state-manager.d.ts +97 -0
  45. package/dist/agent/state-manager.js +190 -0
  46. package/dist/config/agent-resolver.cjs +153 -0
  47. package/dist/config/agent-resolver.d.cts +15 -0
  48. package/dist/config/agent-resolver.d.ts +15 -0
  49. package/dist/config/agent-resolver.js +122 -0
  50. package/dist/config/error-codes.cjs +39 -0
  51. package/dist/config/error-codes.d.cts +17 -0
  52. package/dist/config/error-codes.d.ts +17 -0
  53. package/dist/config/error-codes.js +15 -0
  54. package/dist/config/errors.cjs +126 -0
  55. package/dist/config/errors.d.cts +49 -0
  56. package/dist/config/errors.d.ts +49 -0
  57. package/dist/config/errors.js +102 -0
  58. package/dist/config/index.cjs +26 -0
  59. package/dist/config/index.d.cts +7 -0
  60. package/dist/config/index.d.ts +7 -0
  61. package/dist/config/index.js +3 -0
  62. package/dist/config/loader.cjs +119 -0
  63. package/dist/config/loader.d.cts +19 -0
  64. package/dist/config/loader.d.ts +19 -0
  65. package/dist/config/loader.js +85 -0
  66. package/dist/config/writer.cjs +182 -0
  67. package/dist/config/writer.d.cts +38 -0
  68. package/dist/config/writer.d.ts +38 -0
  69. package/dist/config/writer.js +146 -0
  70. package/dist/context/compression/middle-removal.cjs +95 -0
  71. package/dist/context/compression/middle-removal.d.cts +48 -0
  72. package/dist/context/compression/middle-removal.d.ts +48 -0
  73. package/dist/context/compression/middle-removal.js +71 -0
  74. package/dist/context/compression/oldest-removal.cjs +70 -0
  75. package/dist/context/compression/oldest-removal.d.cts +43 -0
  76. package/dist/context/compression/oldest-removal.d.ts +43 -0
  77. package/dist/context/compression/oldest-removal.js +46 -0
  78. package/dist/context/compression/types.cjs +16 -0
  79. package/dist/context/compression/types.d.cts +21 -0
  80. package/dist/context/compression/types.d.ts +21 -0
  81. package/dist/context/compression/types.js +0 -0
  82. package/dist/context/error-codes.cjs +41 -0
  83. package/dist/context/error-codes.d.cts +19 -0
  84. package/dist/context/error-codes.d.ts +19 -0
  85. package/dist/context/error-codes.js +17 -0
  86. package/dist/context/errors.cjs +146 -0
  87. package/dist/context/errors.d.cts +36 -0
  88. package/dist/context/errors.d.ts +36 -0
  89. package/dist/context/errors.js +122 -0
  90. package/dist/context/index.cjs +24 -0
  91. package/dist/context/index.d.cts +19 -0
  92. package/dist/context/index.d.ts +19 -0
  93. package/dist/context/index.js +2 -0
  94. package/dist/context/manager.cjs +516 -0
  95. package/dist/context/manager.d.cts +254 -0
  96. package/dist/context/manager.d.ts +254 -0
  97. package/dist/context/manager.js +492 -0
  98. package/dist/context/types.cjs +16 -0
  99. package/dist/context/types.d.cts +113 -0
  100. package/dist/context/types.d.ts +113 -0
  101. package/dist/context/types.js +0 -0
  102. package/dist/context/utils.cjs +406 -0
  103. package/dist/context/utils.d.cts +79 -0
  104. package/dist/context/utils.d.ts +79 -0
  105. package/dist/context/utils.js +374 -0
  106. package/dist/errors/DextoBaseError.cjs +36 -0
  107. package/dist/errors/DextoBaseError.d.cts +15 -0
  108. package/dist/errors/DextoBaseError.d.ts +15 -0
  109. package/dist/errors/DextoBaseError.js +12 -0
  110. package/dist/errors/DextoRuntimeError.cjs +50 -0
  111. package/dist/errors/DextoRuntimeError.d.cts +37 -0
  112. package/dist/errors/DextoRuntimeError.d.ts +37 -0
  113. package/dist/errors/DextoRuntimeError.js +26 -0
  114. package/dist/errors/DextoValidationError.cjs +118 -0
  115. package/dist/errors/DextoValidationError.d.cts +65 -0
  116. package/dist/errors/DextoValidationError.d.ts +65 -0
  117. package/dist/{chunk-XFQLRBHE.js → errors/DextoValidationError.js} +4 -32
  118. package/dist/errors/index.cjs +42 -0
  119. package/dist/errors/index.d.cts +18 -0
  120. package/dist/errors/index.d.ts +18 -0
  121. package/dist/errors/index.js +13 -0
  122. package/dist/errors/result-bridge.cjs +38 -0
  123. package/dist/errors/result-bridge.d.cts +39 -0
  124. package/dist/errors/result-bridge.d.ts +39 -0
  125. package/dist/errors/result-bridge.js +14 -0
  126. package/dist/errors/types.cjs +54 -0
  127. package/dist/errors/types.d.cts +62 -0
  128. package/dist/errors/types.d.ts +62 -0
  129. package/dist/errors/types.js +29 -0
  130. package/dist/events/index.cjs +169 -0
  131. package/dist/events/index.d.cts +272 -0
  132. package/dist/events/index.d.ts +272 -0
  133. package/dist/events/index.js +136 -0
  134. package/dist/index.browser.cjs +9 -220
  135. package/dist/index.browser.d.cts +53 -379
  136. package/dist/index.browser.d.ts +53 -379
  137. package/dist/index.browser.js +4 -210
  138. package/dist/index.cjs +31 -15266
  139. package/dist/index.d.cts +89 -6842
  140. package/dist/index.d.ts +89 -6842
  141. package/dist/index.js +14 -9914
  142. package/dist/llm/error-codes.cjs +48 -0
  143. package/dist/llm/error-codes.d.cts +26 -0
  144. package/dist/llm/error-codes.d.ts +26 -0
  145. package/dist/llm/error-codes.js +24 -0
  146. package/dist/llm/errors.cjs +108 -0
  147. package/dist/llm/errors.d.cts +58 -0
  148. package/dist/llm/errors.d.ts +58 -0
  149. package/dist/llm/errors.js +84 -0
  150. package/dist/llm/formatters/anthropic.cjs +246 -0
  151. package/dist/llm/formatters/anthropic.d.cts +45 -0
  152. package/dist/llm/formatters/anthropic.d.ts +45 -0
  153. package/dist/llm/formatters/anthropic.js +227 -0
  154. package/dist/llm/formatters/factory.cjs +51 -0
  155. package/dist/llm/formatters/factory.d.cts +12 -0
  156. package/dist/llm/formatters/factory.d.ts +12 -0
  157. package/dist/llm/formatters/factory.js +27 -0
  158. package/dist/llm/formatters/openai.cjs +167 -0
  159. package/dist/llm/formatters/openai.d.cts +38 -0
  160. package/dist/llm/formatters/openai.d.ts +38 -0
  161. package/dist/llm/formatters/openai.js +147 -0
  162. package/dist/llm/formatters/types.cjs +16 -0
  163. package/dist/llm/formatters/types.d.cts +43 -0
  164. package/dist/llm/formatters/types.d.ts +43 -0
  165. package/dist/llm/formatters/types.js +0 -0
  166. package/dist/llm/formatters/vercel.cjs +411 -0
  167. package/dist/llm/formatters/vercel.d.cts +48 -0
  168. package/dist/llm/formatters/vercel.d.ts +48 -0
  169. package/dist/llm/formatters/vercel.js +387 -0
  170. package/dist/llm/index.cjs +34 -0
  171. package/dist/llm/index.d.cts +39 -0
  172. package/dist/llm/index.d.ts +39 -0
  173. package/dist/llm/index.js +7 -0
  174. package/dist/llm/registry.cjs +881 -0
  175. package/dist/llm/registry.d.cts +176 -0
  176. package/dist/llm/registry.d.ts +176 -0
  177. package/dist/{chunk-J6AXCN3H.js → llm/registry.js} +25 -455
  178. package/dist/llm/resolver.cjs +154 -0
  179. package/dist/llm/resolver.d.cts +34 -0
  180. package/dist/llm/resolver.d.ts +34 -0
  181. package/dist/llm/resolver.js +136 -0
  182. package/dist/llm/schemas.cjs +188 -0
  183. package/dist/llm/schemas.d.cts +111 -0
  184. package/dist/llm/schemas.d.ts +111 -0
  185. package/dist/llm/schemas.js +172 -0
  186. package/dist/llm/services/anthropic.cjs +398 -0
  187. package/dist/llm/services/anthropic.d.cts +65 -0
  188. package/dist/llm/services/anthropic.d.ts +65 -0
  189. package/dist/llm/services/anthropic.js +374 -0
  190. package/dist/llm/services/factory.cjs +164 -0
  191. package/dist/llm/services/factory.d.cts +39 -0
  192. package/dist/llm/services/factory.d.ts +39 -0
  193. package/dist/llm/services/factory.js +130 -0
  194. package/dist/llm/services/index.cjs +22 -0
  195. package/dist/llm/services/index.d.cts +21 -0
  196. package/dist/llm/services/index.d.ts +21 -0
  197. package/dist/llm/services/index.js +1 -0
  198. package/dist/llm/services/openai.cjs +470 -0
  199. package/dist/llm/services/openai.d.cts +65 -0
  200. package/dist/llm/services/openai.d.ts +65 -0
  201. package/dist/llm/services/openai.js +446 -0
  202. package/dist/llm/services/test-utils.integration.cjs +169 -0
  203. package/dist/llm/services/test-utils.integration.d.cts +83 -0
  204. package/dist/llm/services/test-utils.integration.d.ts +83 -0
  205. package/dist/llm/services/test-utils.integration.js +142 -0
  206. package/dist/llm/services/types.cjs +16 -0
  207. package/dist/llm/services/types.d.cts +56 -0
  208. package/dist/llm/services/types.d.ts +56 -0
  209. package/dist/llm/services/types.js +0 -0
  210. package/dist/llm/services/vercel.cjs +525 -0
  211. package/dist/llm/services/vercel.d.cts +72 -0
  212. package/dist/llm/services/vercel.d.ts +72 -0
  213. package/dist/llm/services/vercel.js +506 -0
  214. package/dist/llm/tokenizer/anthropic.cjs +43 -0
  215. package/dist/llm/tokenizer/anthropic.d.cts +21 -0
  216. package/dist/llm/tokenizer/anthropic.d.ts +21 -0
  217. package/dist/llm/tokenizer/anthropic.js +19 -0
  218. package/dist/llm/tokenizer/default.cjs +41 -0
  219. package/dist/llm/tokenizer/default.d.cts +16 -0
  220. package/dist/llm/tokenizer/default.d.ts +16 -0
  221. package/dist/llm/tokenizer/default.js +17 -0
  222. package/dist/llm/tokenizer/factory.cjs +44 -0
  223. package/dist/llm/tokenizer/factory.d.cts +12 -0
  224. package/dist/llm/tokenizer/factory.d.ts +12 -0
  225. package/dist/llm/tokenizer/factory.js +20 -0
  226. package/dist/llm/tokenizer/google.cjs +52 -0
  227. package/dist/llm/tokenizer/google.d.cts +31 -0
  228. package/dist/llm/tokenizer/google.d.ts +31 -0
  229. package/dist/llm/tokenizer/google.js +28 -0
  230. package/dist/llm/tokenizer/openai.cjs +108 -0
  231. package/dist/llm/tokenizer/openai.d.cts +32 -0
  232. package/dist/llm/tokenizer/openai.d.ts +32 -0
  233. package/dist/llm/tokenizer/openai.js +83 -0
  234. package/dist/llm/tokenizer/types.cjs +33 -0
  235. package/dist/llm/tokenizer/types.d.cts +19 -0
  236. package/dist/llm/tokenizer/types.d.ts +19 -0
  237. package/dist/llm/tokenizer/types.js +9 -0
  238. package/dist/llm/types.cjs +42 -0
  239. package/dist/llm/types.d.cts +29 -0
  240. package/dist/llm/types.d.ts +29 -0
  241. package/dist/llm/types.js +16 -0
  242. package/dist/llm/validation.cjs +162 -0
  243. package/dist/llm/validation.d.cts +60 -0
  244. package/dist/llm/validation.d.ts +60 -0
  245. package/dist/llm/validation.js +138 -0
  246. package/dist/logger/browser.cjs +86 -0
  247. package/dist/logger/browser.d.cts +29 -0
  248. package/dist/logger/browser.d.ts +29 -0
  249. package/dist/logger/browser.js +61 -0
  250. package/dist/logger/index.cjs +22 -0
  251. package/dist/logger/index.d.cts +1 -0
  252. package/dist/logger/index.d.ts +1 -0
  253. package/dist/logger/index.js +1 -0
  254. package/dist/logger/logger.cjs +362 -0
  255. package/dist/logger/logger.d.cts +52 -0
  256. package/dist/logger/logger.d.ts +52 -0
  257. package/dist/logger/logger.js +327 -0
  258. package/dist/mcp/error-codes.cjs +38 -0
  259. package/dist/mcp/error-codes.d.cts +16 -0
  260. package/dist/mcp/error-codes.d.ts +16 -0
  261. package/dist/mcp/error-codes.js +14 -0
  262. package/dist/mcp/errors.cjs +131 -0
  263. package/dist/mcp/errors.d.cts +72 -0
  264. package/dist/mcp/errors.d.ts +72 -0
  265. package/dist/mcp/errors.js +107 -0
  266. package/dist/mcp/index.cjs +34 -0
  267. package/dist/mcp/index.d.cts +26 -0
  268. package/dist/mcp/index.d.ts +26 -0
  269. package/dist/mcp/index.js +7 -0
  270. package/dist/mcp/manager.cjs +473 -0
  271. package/dist/mcp/manager.d.cts +163 -0
  272. package/dist/mcp/manager.d.ts +163 -0
  273. package/dist/mcp/manager.js +449 -0
  274. package/dist/mcp/mcp-client.cjs +420 -0
  275. package/dist/mcp/mcp-client.d.cts +108 -0
  276. package/dist/mcp/mcp-client.d.ts +108 -0
  277. package/dist/mcp/mcp-client.js +396 -0
  278. package/dist/mcp/resolver.cjs +78 -0
  279. package/dist/mcp/resolver.d.cts +22 -0
  280. package/dist/mcp/resolver.d.ts +22 -0
  281. package/dist/mcp/resolver.js +56 -0
  282. package/dist/mcp/schemas.cjs +82 -0
  283. package/dist/mcp/schemas.d.cts +266 -0
  284. package/dist/mcp/schemas.d.ts +266 -0
  285. package/dist/mcp/schemas.js +54 -0
  286. package/dist/mcp/types.cjs +16 -0
  287. package/dist/mcp/types.d.cts +21 -0
  288. package/dist/mcp/types.d.ts +21 -0
  289. package/dist/mcp/types.js +0 -0
  290. package/dist/preferences/constants.cjs +28 -0
  291. package/dist/preferences/constants.d.cts +3 -0
  292. package/dist/preferences/constants.d.ts +3 -0
  293. package/dist/preferences/constants.js +4 -0
  294. package/dist/preferences/error-codes.cjs +35 -0
  295. package/dist/preferences/error-codes.d.cts +9 -0
  296. package/dist/preferences/error-codes.d.ts +9 -0
  297. package/dist/preferences/error-codes.js +11 -0
  298. package/dist/preferences/errors.cjs +75 -0
  299. package/dist/preferences/errors.d.cts +33 -0
  300. package/dist/preferences/errors.d.ts +33 -0
  301. package/dist/preferences/errors.js +50 -0
  302. package/dist/preferences/index.cjs +55 -0
  303. package/dist/preferences/index.d.cts +21 -0
  304. package/dist/preferences/index.d.ts +21 -0
  305. package/dist/preferences/index.js +31 -0
  306. package/dist/preferences/loader.cjs +136 -0
  307. package/dist/preferences/loader.d.cts +45 -0
  308. package/dist/preferences/loader.d.ts +45 -0
  309. package/dist/preferences/loader.js +107 -0
  310. package/dist/preferences/schemas.cjs +74 -0
  311. package/dist/preferences/schemas.d.cts +104 -0
  312. package/dist/preferences/schemas.d.ts +104 -0
  313. package/dist/preferences/schemas.js +47 -0
  314. package/dist/search/index.cjs +28 -0
  315. package/dist/search/index.d.cts +5 -0
  316. package/dist/search/index.d.ts +5 -0
  317. package/dist/search/index.js +4 -0
  318. package/dist/search/search-service.cjs +245 -0
  319. package/dist/search/search-service.d.cts +47 -0
  320. package/dist/search/search-service.d.ts +47 -0
  321. package/dist/search/search-service.js +221 -0
  322. package/dist/search/types.cjs +16 -0
  323. package/dist/search/types.d.cts +78 -0
  324. package/dist/search/types.d.ts +78 -0
  325. package/dist/search/types.js +0 -0
  326. package/dist/session/chat-session.cjs +354 -0
  327. package/dist/session/chat-session.d.cts +284 -0
  328. package/dist/session/chat-session.d.ts +284 -0
  329. package/dist/session/chat-session.js +333 -0
  330. package/dist/session/error-codes.cjs +35 -0
  331. package/dist/session/error-codes.d.cts +13 -0
  332. package/dist/session/error-codes.d.ts +13 -0
  333. package/dist/session/error-codes.js +11 -0
  334. package/dist/session/errors.cjs +93 -0
  335. package/dist/session/errors.d.cts +58 -0
  336. package/dist/session/errors.d.ts +58 -0
  337. package/dist/session/errors.js +69 -0
  338. package/dist/session/history/database.cjs +95 -0
  339. package/dist/session/history/database.d.cts +28 -0
  340. package/dist/session/history/database.d.ts +28 -0
  341. package/dist/session/history/database.js +71 -0
  342. package/dist/session/history/factory.cjs +31 -0
  343. package/dist/session/history/factory.d.cts +11 -0
  344. package/dist/session/history/factory.d.ts +11 -0
  345. package/dist/session/history/factory.js +7 -0
  346. package/dist/session/history/types.cjs +16 -0
  347. package/dist/session/history/types.d.cts +17 -0
  348. package/dist/session/history/types.d.ts +17 -0
  349. package/dist/session/history/types.js +0 -0
  350. package/dist/session/index.cjs +37 -0
  351. package/dist/session/index.d.cts +53 -0
  352. package/dist/session/index.d.ts +53 -0
  353. package/dist/session/index.js +10 -0
  354. package/dist/session/schemas.cjs +32 -0
  355. package/dist/session/schemas.d.cts +16 -0
  356. package/dist/session/schemas.d.ts +16 -0
  357. package/dist/session/schemas.js +8 -0
  358. package/dist/session/session-manager.cjs +481 -0
  359. package/dist/session/session-manager.d.cts +219 -0
  360. package/dist/session/session-manager.d.ts +219 -0
  361. package/dist/session/session-manager.js +457 -0
  362. package/dist/storage/backend/cache-backend.cjs +16 -0
  363. package/dist/storage/backend/cache-backend.d.cts +15 -0
  364. package/dist/storage/backend/cache-backend.d.ts +15 -0
  365. package/dist/storage/backend/cache-backend.js +0 -0
  366. package/dist/storage/backend/database-backend.cjs +16 -0
  367. package/dist/storage/backend/database-backend.d.cts +19 -0
  368. package/dist/storage/backend/database-backend.d.ts +19 -0
  369. package/dist/storage/backend/database-backend.js +0 -0
  370. package/dist/storage/backend/memory-backend.cjs +140 -0
  371. package/dist/storage/backend/memory-backend.d.cts +34 -0
  372. package/dist/storage/backend/memory-backend.d.ts +34 -0
  373. package/dist/storage/backend/memory-backend.js +116 -0
  374. package/dist/storage/backend/postgres-backend.cjs +231 -0
  375. package/dist/storage/backend/postgres-backend.d.cts +37 -0
  376. package/dist/storage/backend/postgres-backend.d.ts +37 -0
  377. package/dist/{postgres-backend-WMWS7RAT.js → storage/backend/postgres-backend.js} +3 -12
  378. package/dist/storage/backend/redis-backend.cjs +184 -0
  379. package/dist/storage/backend/redis-backend.d.cts +36 -0
  380. package/dist/storage/backend/redis-backend.d.ts +36 -0
  381. package/dist/{redis-backend-BNLN3XHX.js → storage/backend/redis-backend.js} +3 -12
  382. package/dist/storage/backend/sqlite-backend.cjs +271 -0
  383. package/dist/storage/backend/sqlite-backend.d.cts +35 -0
  384. package/dist/storage/backend/sqlite-backend.d.ts +35 -0
  385. package/dist/{sqlite-backend-AR6XNK2Q.js → storage/backend/sqlite-backend.js} +6 -17
  386. package/dist/storage/backend/types.cjs +16 -0
  387. package/dist/storage/backend/types.d.cts +14 -0
  388. package/dist/storage/backend/types.d.ts +14 -0
  389. package/dist/storage/backend/types.js +0 -0
  390. package/dist/storage/error-codes.cjs +36 -0
  391. package/dist/storage/error-codes.d.cts +14 -0
  392. package/dist/storage/error-codes.d.ts +14 -0
  393. package/dist/storage/error-codes.js +12 -0
  394. package/dist/storage/errors.cjs +104 -0
  395. package/dist/storage/errors.d.cts +63 -0
  396. package/dist/storage/errors.d.ts +63 -0
  397. package/dist/{chunk-F2QFAECT.js → storage/errors.js} +23 -30
  398. package/dist/storage/index.cjs +33 -0
  399. package/dist/storage/index.d.cts +7 -0
  400. package/dist/storage/index.d.ts +7 -0
  401. package/dist/storage/index.js +7 -0
  402. package/dist/storage/schemas.cjs +113 -0
  403. package/dist/storage/schemas.d.cts +856 -0
  404. package/dist/storage/schemas.d.ts +856 -0
  405. package/dist/storage/schemas.js +89 -0
  406. package/dist/storage/storage-manager.cjs +208 -0
  407. package/dist/storage/storage-manager.d.cts +52 -0
  408. package/dist/storage/storage-manager.d.ts +52 -0
  409. package/dist/storage/storage-manager.js +173 -0
  410. package/dist/storage/types.cjs +16 -0
  411. package/dist/storage/types.d.cts +5 -0
  412. package/dist/storage/types.d.ts +5 -0
  413. package/dist/storage/types.js +0 -0
  414. package/dist/systemPrompt/contributors.cjs +146 -0
  415. package/dist/systemPrompt/contributors.d.cts +44 -0
  416. package/dist/systemPrompt/contributors.d.ts +44 -0
  417. package/dist/systemPrompt/contributors.js +120 -0
  418. package/dist/systemPrompt/error-codes.cjs +35 -0
  419. package/dist/systemPrompt/error-codes.d.cts +13 -0
  420. package/dist/systemPrompt/error-codes.d.ts +13 -0
  421. package/dist/systemPrompt/error-codes.js +11 -0
  422. package/dist/systemPrompt/errors.cjs +93 -0
  423. package/dist/systemPrompt/errors.d.cts +55 -0
  424. package/dist/systemPrompt/errors.d.ts +55 -0
  425. package/dist/systemPrompt/errors.js +69 -0
  426. package/dist/systemPrompt/in-built-prompts.cjs +68 -0
  427. package/dist/systemPrompt/in-built-prompts.d.cts +28 -0
  428. package/dist/systemPrompt/in-built-prompts.d.ts +28 -0
  429. package/dist/systemPrompt/in-built-prompts.js +42 -0
  430. package/dist/systemPrompt/index.cjs +30 -0
  431. package/dist/systemPrompt/index.d.cts +14 -0
  432. package/dist/systemPrompt/index.d.ts +14 -0
  433. package/dist/systemPrompt/index.js +5 -0
  434. package/dist/systemPrompt/manager.cjs +93 -0
  435. package/dist/systemPrompt/manager.d.cts +31 -0
  436. package/dist/systemPrompt/manager.d.ts +31 -0
  437. package/dist/systemPrompt/manager.js +69 -0
  438. package/dist/systemPrompt/registry.cjs +51 -0
  439. package/dist/systemPrompt/registry.d.cts +20 -0
  440. package/dist/systemPrompt/registry.d.ts +20 -0
  441. package/dist/systemPrompt/registry.js +15 -0
  442. package/dist/systemPrompt/schemas.cjs +107 -0
  443. package/dist/systemPrompt/schemas.d.cts +401 -0
  444. package/dist/systemPrompt/schemas.d.ts +401 -0
  445. package/dist/systemPrompt/schemas.js +81 -0
  446. package/dist/systemPrompt/types.cjs +16 -0
  447. package/dist/systemPrompt/types.d.cts +19 -0
  448. package/dist/systemPrompt/types.d.ts +19 -0
  449. package/dist/systemPrompt/types.js +0 -0
  450. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +44 -0
  451. package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +19 -0
  452. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +19 -0
  453. package/dist/tools/confirmation/allowed-tools-provider/factory.js +20 -0
  454. package/dist/tools/confirmation/allowed-tools-provider/in-memory.cjs +62 -0
  455. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +17 -0
  456. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +17 -0
  457. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +38 -0
  458. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +68 -0
  459. package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +26 -0
  460. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +26 -0
  461. package/dist/tools/confirmation/allowed-tools-provider/storage.js +44 -0
  462. package/dist/tools/confirmation/allowed-tools-provider/types.cjs +16 -0
  463. package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +35 -0
  464. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +35 -0
  465. package/dist/tools/confirmation/allowed-tools-provider/types.js +0 -0
  466. package/dist/tools/confirmation/event-based-confirmation-provider.cjs +158 -0
  467. package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +41 -0
  468. package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +41 -0
  469. package/dist/tools/confirmation/event-based-confirmation-provider.js +134 -0
  470. package/dist/tools/confirmation/factory.cjs +52 -0
  471. package/dist/tools/confirmation/factory.d.cts +37 -0
  472. package/dist/tools/confirmation/factory.d.ts +37 -0
  473. package/dist/tools/confirmation/factory.js +28 -0
  474. package/dist/tools/confirmation/noop-confirmation-provider.cjs +49 -0
  475. package/dist/tools/confirmation/noop-confirmation-provider.d.cts +22 -0
  476. package/dist/tools/confirmation/noop-confirmation-provider.d.ts +22 -0
  477. package/dist/tools/confirmation/noop-confirmation-provider.js +25 -0
  478. package/dist/tools/confirmation/types.cjs +16 -0
  479. package/dist/tools/confirmation/types.d.cts +46 -0
  480. package/dist/tools/confirmation/types.d.ts +46 -0
  481. package/dist/tools/confirmation/types.js +0 -0
  482. package/dist/tools/error-codes.cjs +40 -0
  483. package/dist/tools/error-codes.d.cts +18 -0
  484. package/dist/tools/error-codes.d.ts +18 -0
  485. package/dist/tools/error-codes.js +16 -0
  486. package/dist/tools/errors.cjs +164 -0
  487. package/dist/tools/errors.d.cts +97 -0
  488. package/dist/tools/errors.d.ts +97 -0
  489. package/dist/tools/errors.js +140 -0
  490. package/dist/tools/index.cjs +37 -0
  491. package/dist/tools/index.d.cts +19 -0
  492. package/dist/tools/index.d.ts +19 -0
  493. package/dist/tools/index.js +8 -0
  494. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +61 -0
  495. package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +15 -0
  496. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +15 -0
  497. package/dist/tools/internal-tools/implementations/search-history-tool.js +37 -0
  498. package/dist/tools/internal-tools/index.cjs +24 -0
  499. package/dist/tools/internal-tools/index.d.cts +13 -0
  500. package/dist/tools/internal-tools/index.d.ts +13 -0
  501. package/dist/tools/internal-tools/index.js +2 -0
  502. package/dist/tools/internal-tools/provider.cjs +159 -0
  503. package/dist/tools/internal-tools/provider.d.cts +66 -0
  504. package/dist/tools/internal-tools/provider.d.ts +66 -0
  505. package/dist/tools/internal-tools/provider.js +135 -0
  506. package/dist/tools/internal-tools/registry.cjs +43 -0
  507. package/dist/tools/internal-tools/registry.d.cts +45 -0
  508. package/dist/tools/internal-tools/registry.d.ts +45 -0
  509. package/dist/tools/internal-tools/registry.js +17 -0
  510. package/dist/tools/schemas.cjs +45 -0
  511. package/dist/tools/schemas.d.cts +21 -0
  512. package/dist/tools/schemas.d.ts +21 -0
  513. package/dist/tools/schemas.js +20 -0
  514. package/dist/tools/tool-manager.cjs +275 -0
  515. package/dist/tools/tool-manager.d.cts +106 -0
  516. package/dist/tools/tool-manager.d.ts +106 -0
  517. package/dist/tools/tool-manager.js +251 -0
  518. package/dist/tools/types.cjs +16 -0
  519. package/dist/tools/types.d.cts +66 -0
  520. package/dist/tools/types.d.ts +66 -0
  521. package/dist/tools/types.js +0 -0
  522. package/dist/utils/api-key-resolver.cjs +62 -0
  523. package/dist/utils/api-key-resolver.d.cts +23 -0
  524. package/dist/utils/api-key-resolver.d.ts +23 -0
  525. package/dist/utils/api-key-resolver.js +36 -0
  526. package/dist/utils/api-key-store.cjs +56 -0
  527. package/dist/utils/api-key-store.d.cts +26 -0
  528. package/dist/utils/api-key-store.d.ts +26 -0
  529. package/dist/utils/api-key-store.js +30 -0
  530. package/dist/utils/env.cjs +154 -0
  531. package/dist/utils/env.d.cts +29 -0
  532. package/dist/utils/env.d.ts +29 -0
  533. package/dist/utils/env.js +118 -0
  534. package/dist/utils/error-conversion.cjs +53 -0
  535. package/dist/utils/error-conversion.d.cts +13 -0
  536. package/dist/utils/error-conversion.d.ts +13 -0
  537. package/dist/utils/error-conversion.js +29 -0
  538. package/dist/utils/execution-context.cjs +85 -0
  539. package/dist/utils/execution-context.d.cts +21 -0
  540. package/dist/utils/execution-context.d.ts +21 -0
  541. package/dist/utils/execution-context.js +49 -0
  542. package/dist/{chunk-MVKLS3LM.js → utils/fs-walk.cjs} +27 -18
  543. package/dist/utils/fs-walk.d.cts +9 -0
  544. package/dist/utils/fs-walk.d.ts +9 -0
  545. package/dist/utils/fs-walk.js +18 -0
  546. package/dist/utils/index.cjs +44 -0
  547. package/dist/utils/index.d.cts +63 -0
  548. package/dist/utils/index.d.ts +63 -0
  549. package/dist/utils/index.js +12 -0
  550. package/dist/utils/path.cjs +197 -0
  551. package/dist/utils/path.d.cts +54 -0
  552. package/dist/utils/path.d.ts +54 -0
  553. package/dist/utils/path.js +159 -0
  554. package/dist/utils/port-utils.cjs +37 -0
  555. package/dist/utils/port-utils.d.cts +11 -0
  556. package/dist/utils/port-utils.d.ts +11 -0
  557. package/dist/utils/port-utils.js +13 -0
  558. package/dist/utils/port-utils.spec.cjs +26 -0
  559. package/dist/utils/port-utils.spec.d.cts +2 -0
  560. package/dist/utils/port-utils.spec.d.ts +2 -0
  561. package/dist/utils/port-utils.spec.js +25 -0
  562. package/dist/utils/redactor.cjs +105 -0
  563. package/dist/utils/redactor.d.cts +18 -0
  564. package/dist/utils/redactor.d.ts +18 -0
  565. package/dist/utils/redactor.js +81 -0
  566. package/dist/utils/result.cjs +115 -0
  567. package/dist/utils/result.d.cts +180 -0
  568. package/dist/utils/result.d.ts +180 -0
  569. package/dist/utils/result.js +82 -0
  570. package/dist/utils/safe-stringify.cjs +57 -0
  571. package/dist/utils/safe-stringify.d.cts +7 -0
  572. package/dist/utils/safe-stringify.d.ts +7 -0
  573. package/dist/utils/safe-stringify.js +33 -0
  574. package/dist/utils/schema.cjs +42 -0
  575. package/dist/utils/schema.d.cts +6 -0
  576. package/dist/utils/schema.d.ts +6 -0
  577. package/dist/utils/schema.js +18 -0
  578. package/dist/utils/service-initializer.cjs +119 -0
  579. package/dist/utils/service-initializer.d.cts +63 -0
  580. package/dist/utils/service-initializer.d.ts +63 -0
  581. package/dist/utils/service-initializer.js +95 -0
  582. package/dist/utils/user-info.cjs +30 -0
  583. package/dist/utils/user-info.d.cts +3 -0
  584. package/dist/utils/user-info.d.ts +3 -0
  585. package/dist/utils/user-info.js +6 -0
  586. package/dist/utils/zod-schema-converter.cjs +112 -0
  587. package/dist/utils/zod-schema-converter.d.cts +13 -0
  588. package/dist/utils/zod-schema-converter.d.ts +13 -0
  589. package/dist/utils/zod-schema-converter.js +87 -0
  590. package/package.json +2 -2
  591. package/dist/chunk-D62MHQBE.js +0 -2203
  592. package/dist/chunk-FCJVTIBV.js +0 -535
  593. package/dist/chunk-TPERKLLN.js +0 -75
  594. package/dist/errors-ZZ4Z3FKB.js +0 -10
  595. package/dist/loader-HBNEYPQZ.js +0 -20
  596. package/dist/path-TP7WBDED.js +0 -21
  597. package/dist/registry-Z4DFXODW.js +0 -14
@@ -0,0 +1,333 @@
1
+ import { createDatabaseHistoryProvider } from "./history/factory.js";
2
+ import { createLLMService } from "../llm/services/factory.js";
3
+ import {
4
+ SessionEventBus,
5
+ SessionEventNames
6
+ } from "../events/index.js";
7
+ import { logger } from "../logger/index.js";
8
+ class ChatSession {
9
+ /**
10
+ * Creates a new ChatSession instance.
11
+ *
12
+ * Each session creates its own isolated services:
13
+ * - ConversationHistoryProvider (with session-specific storage, shared across LLM switches)
14
+ * - LLMService (creates its own properly-typed ContextManager internally)
15
+ * - SessionEventBus (session-local event handling with forwarding)
16
+ *
17
+ * @param services - The shared services from the agent (state manager, prompt, client managers, etc.)
18
+ * @param id - Unique identifier for this session
19
+ */
20
+ constructor(services, id) {
21
+ this.services = services;
22
+ this.id = id;
23
+ this.eventBus = new SessionEventBus();
24
+ this.setupEventForwarding();
25
+ logger.debug(`ChatSession ${this.id}: Created, awaiting initialization`);
26
+ }
27
+ /**
28
+ * Session-scoped event emitter for handling conversation events.
29
+ *
30
+ * This is a session-local SessionEventBus instance that forwards events
31
+ * to the global agent event bus.
32
+ *
33
+ * Events emitted include:
34
+ * - `llmservice:thinking` - AI model is processing
35
+ * - `llmservice:toolCall` - Tool execution requested
36
+ * - `llmservice:response` - Final response generated
37
+ */
38
+ eventBus;
39
+ /**
40
+ * History provider that persists conversation messages.
41
+ * Shared across LLM switches to maintain conversation continuity.
42
+ */
43
+ historyProvider;
44
+ /**
45
+ * Handles AI model interactions, tool execution, and response generation for this session.
46
+ *
47
+ * Each session has its own LLMService instance that uses the session's
48
+ * ContextManager and event bus.
49
+ */
50
+ llmService;
51
+ /**
52
+ * Map of event forwarder functions for cleanup.
53
+ * Stores the bound functions so they can be removed from the event bus.
54
+ */
55
+ forwarders = /* @__PURE__ */ new Map();
56
+ /**
57
+ * AbortController for the currently running turn, if any.
58
+ * Calling cancel() aborts the in-flight LLM request and tool execution checks.
59
+ */
60
+ currentRunController = null;
61
+ /**
62
+ * Initialize the session services asynchronously.
63
+ * This must be called after construction to set up the storage-backed services.
64
+ */
65
+ async init() {
66
+ await this.initializeServices();
67
+ }
68
+ /**
69
+ * Sets up event forwarding from session bus to global agent bus.
70
+ *
71
+ * All session events are automatically forwarded to the global bus with the same
72
+ * event names, but with session context added to the payload. This allows the app
73
+ * layer to continue listening to standard events while having access to session
74
+ * information when needed.
75
+ */
76
+ setupEventForwarding() {
77
+ SessionEventNames.forEach((eventName) => {
78
+ const forwarder = (payload) => {
79
+ const payloadWithSession = payload && typeof payload === "object" ? { ...payload, sessionId: this.id } : { sessionId: this.id };
80
+ logger.silly(
81
+ `Forwarding session event ${eventName} to agent bus with session context: ${JSON.stringify(payloadWithSession, null, 2)}`
82
+ );
83
+ this.services.agentEventBus.emit(eventName, payloadWithSession);
84
+ };
85
+ this.forwarders.set(eventName, forwarder);
86
+ this.eventBus.on(eventName, forwarder);
87
+ });
88
+ }
89
+ /**
90
+ * Initializes session-specific services.
91
+ */
92
+ async initializeServices() {
93
+ const llmConfig = this.services.stateManager.getLLMConfig(this.id);
94
+ this.historyProvider = createDatabaseHistoryProvider(
95
+ this.services.storage.database,
96
+ this.id
97
+ );
98
+ this.llmService = createLLMService(
99
+ llmConfig,
100
+ llmConfig.router,
101
+ this.services.toolManager,
102
+ this.services.promptManager,
103
+ this.historyProvider,
104
+ // Pass history provider for service to use
105
+ this.eventBus,
106
+ // Use session event bus
107
+ this.id
108
+ );
109
+ logger.debug(`ChatSession ${this.id}: Services initialized with storage`);
110
+ }
111
+ /**
112
+ * Processes user input through the session's LLM service and returns the response.
113
+ *
114
+ * This method:
115
+ * 1. Takes user input (text, optionally with image or file data)
116
+ * 2. Passes it to the LLM service for processing
117
+ * 3. Returns the AI's response text
118
+ *
119
+ * The method handles both text-only and multimodal input (text + images/files).
120
+ * Tool calls and conversation management are handled internally by the LLM service.
121
+ *
122
+ * @param input - The user's text input
123
+ * @param imageDataInput - Optional image data for multimodal input
124
+ * @param fileDataInput - Optional file data for file input
125
+ * @param stream - Optional flag to enable streaming responses
126
+ * @returns Promise that resolves to the AI's response text
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * const response = await session.run('What is the weather like today?');
131
+ * console.log(response); // "I'll check the weather for you..."
132
+ * ```
133
+ */
134
+ async run(input, imageDataInput, fileDataInput, stream) {
135
+ logger.debug(
136
+ `Running session ${this.id} with input: ${input}, imageDataInput: ${imageDataInput}, fileDataInput: ${fileDataInput}`
137
+ );
138
+ this.currentRunController = new AbortController();
139
+ const signal = this.currentRunController.signal;
140
+ try {
141
+ const response = await this.llmService.completeTask(
142
+ input,
143
+ { signal },
144
+ imageDataInput,
145
+ fileDataInput,
146
+ stream
147
+ );
148
+ return response;
149
+ } catch (error) {
150
+ const aborted = error instanceof Error && error.name === "AbortError" || typeof error === "object" && error !== null && error.aborted === true;
151
+ if (aborted) {
152
+ this.eventBus.emit("llmservice:error", {
153
+ error: new Error("Run cancelled"),
154
+ context: "user_cancelled",
155
+ recoverable: true
156
+ });
157
+ return "";
158
+ }
159
+ throw error;
160
+ } finally {
161
+ this.currentRunController = null;
162
+ }
163
+ }
164
+ /**
165
+ * Retrieves the complete conversation history for this session.
166
+ *
167
+ * Returns a read-only copy of all messages in the conversation, including:
168
+ * - User messages
169
+ * - Assistant responses
170
+ * - Tool call results
171
+ * - System messages
172
+ *
173
+ * The history is formatted as internal messages and may include multimodal
174
+ * content (text and images).
175
+ *
176
+ * @returns Promise that resolves to a read-only array of conversation messages in chronological order
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * const history = await session.getHistory();
181
+ * console.log(`Conversation has ${history.length} messages`);
182
+ * history.forEach(msg => console.log(`${msg.role}: ${msg.content}`));
183
+ * ```
184
+ */
185
+ async getHistory() {
186
+ return await this.historyProvider.getHistory();
187
+ }
188
+ /**
189
+ * Reset the conversation history for this session.
190
+ *
191
+ * This method:
192
+ * 1. Clears all messages from the session's conversation history
193
+ * 2. Removes persisted history from the storage provider
194
+ * 3. Emits a `dexto:conversationReset` event with session context
195
+ *
196
+ * The system prompt and session configuration remain unchanged.
197
+ * Only the conversation messages are cleared.
198
+ *
199
+ * @returns Promise that resolves when the reset is complete
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * await session.reset();
204
+ * console.log('Conversation history cleared');
205
+ * ```
206
+ *
207
+ * @see {@link ContextManager.resetConversation} for the underlying implementation
208
+ */
209
+ async reset() {
210
+ await this.historyProvider.clearHistory();
211
+ this.services.agentEventBus.emit("dexto:conversationReset", {
212
+ sessionId: this.id
213
+ });
214
+ }
215
+ /**
216
+ * Gets the session's ContextManager instance.
217
+ *
218
+ * @returns The ContextManager for this session
219
+ */
220
+ getContextManager() {
221
+ return this.llmService.getContextManager();
222
+ }
223
+ /**
224
+ * Gets the session's LLMService instance.
225
+ *
226
+ * @returns The LLMService for this session
227
+ */
228
+ getLLMService() {
229
+ return this.llmService;
230
+ }
231
+ /**
232
+ * Switches the LLM service for this session while preserving conversation history.
233
+ *
234
+ * This method creates a new LLM service with the specified configuration and router,
235
+ * while maintaining the existing ContextManager and conversation history. This allows
236
+ * users to change AI models mid-conversation without losing context.
237
+ *
238
+ * @param newLLMConfig The new LLM configuration to use (includes router)
239
+ *
240
+ * @example
241
+ * ```typescript
242
+ * // Switch from Claude to GPT-4 while keeping conversation history
243
+ * session.switchLLM({
244
+ * provider: 'openai',
245
+ * model: 'gpt-4',
246
+ * apiKey: process.env.OPENAI_API_KEY,
247
+ * router: 'in-built'
248
+ * });
249
+ * ```
250
+ */
251
+ async switchLLM(newLLMConfig) {
252
+ try {
253
+ const router = newLLMConfig.router;
254
+ const newLLMService = createLLMService(
255
+ newLLMConfig,
256
+ router,
257
+ this.services.toolManager,
258
+ this.services.promptManager,
259
+ this.historyProvider,
260
+ // Pass the SAME history provider - preserves conversation!
261
+ this.eventBus,
262
+ // Use session event bus
263
+ this.id
264
+ );
265
+ this.llmService = newLLMService;
266
+ logger.info(
267
+ `ChatSession ${this.id}: LLM switched to ${newLLMConfig.provider}/${newLLMConfig.model}`
268
+ );
269
+ this.eventBus.emit("llmservice:switched", {
270
+ newConfig: newLLMConfig,
271
+ router,
272
+ historyRetained: true
273
+ });
274
+ } catch (error) {
275
+ logger.error(
276
+ `Error during ChatSession.switchLLM for session ${this.id}: ${error instanceof Error ? error.message : String(error)}`
277
+ );
278
+ throw error;
279
+ }
280
+ }
281
+ /**
282
+ * Cleanup the session and its in-memory resources.
283
+ * This method should be called when the session is being removed from memory.
284
+ * Chat history is preserved in storage and can be restored later.
285
+ */
286
+ async cleanup() {
287
+ try {
288
+ this.dispose();
289
+ logger.debug(
290
+ `ChatSession ${this.id}: Memory cleanup completed (chat history preserved)`
291
+ );
292
+ } catch (error) {
293
+ logger.error(
294
+ `Error during ChatSession cleanup for session ${this.id}: ${error instanceof Error ? error.message : String(error)}`
295
+ );
296
+ throw error;
297
+ }
298
+ }
299
+ /**
300
+ * Cleans up listeners and other resources to prevent memory leaks.
301
+ *
302
+ * This method should be called when the session is being discarded to ensure
303
+ * that event listeners are properly removed from the global event bus.
304
+ * Without this cleanup, sessions would remain in memory due to listener references.
305
+ */
306
+ dispose() {
307
+ logger.debug(`Disposing session ${this.id} - cleaning up event listeners`);
308
+ this.forwarders.forEach((forwarder, eventName) => {
309
+ this.eventBus.off(eventName, forwarder);
310
+ });
311
+ this.forwarders.clear();
312
+ logger.debug(`Session ${this.id} disposed successfully`);
313
+ }
314
+ /**
315
+ * Cancel the currently running turn for this session, if any.
316
+ * Returns true if a run was in progress and was signaled to abort.
317
+ */
318
+ cancel() {
319
+ const controller = this.currentRunController;
320
+ if (!controller || controller.signal.aborted) {
321
+ return false;
322
+ }
323
+ try {
324
+ controller.abort();
325
+ return true;
326
+ } catch {
327
+ return false;
328
+ }
329
+ }
330
+ }
331
+ export {
332
+ ChatSession
333
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var error_codes_exports = {};
20
+ __export(error_codes_exports, {
21
+ SessionErrorCode: () => SessionErrorCode
22
+ });
23
+ module.exports = __toCommonJS(error_codes_exports);
24
+ var SessionErrorCode = /* @__PURE__ */ ((SessionErrorCode2) => {
25
+ SessionErrorCode2["SESSION_NOT_FOUND"] = "session_not_found";
26
+ SessionErrorCode2["SESSION_INITIALIZATION_FAILED"] = "session_initialization_failed";
27
+ SessionErrorCode2["SESSION_MAX_SESSIONS_EXCEEDED"] = "session_max_sessions_exceeded";
28
+ SessionErrorCode2["SESSION_STORAGE_FAILED"] = "session_storage_failed";
29
+ SessionErrorCode2["SESSION_RESET_FAILED"] = "session_reset_failed";
30
+ return SessionErrorCode2;
31
+ })(SessionErrorCode || {});
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ SessionErrorCode
35
+ });
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Session-specific error codes
3
+ * Includes session lifecycle, management, and state errors
4
+ */
5
+ declare enum SessionErrorCode {
6
+ SESSION_NOT_FOUND = "session_not_found",
7
+ SESSION_INITIALIZATION_FAILED = "session_initialization_failed",
8
+ SESSION_MAX_SESSIONS_EXCEEDED = "session_max_sessions_exceeded",
9
+ SESSION_STORAGE_FAILED = "session_storage_failed",
10
+ SESSION_RESET_FAILED = "session_reset_failed"
11
+ }
12
+
13
+ export { SessionErrorCode };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Session-specific error codes
3
+ * Includes session lifecycle, management, and state errors
4
+ */
5
+ declare enum SessionErrorCode {
6
+ SESSION_NOT_FOUND = "session_not_found",
7
+ SESSION_INITIALIZATION_FAILED = "session_initialization_failed",
8
+ SESSION_MAX_SESSIONS_EXCEEDED = "session_max_sessions_exceeded",
9
+ SESSION_STORAGE_FAILED = "session_storage_failed",
10
+ SESSION_RESET_FAILED = "session_reset_failed"
11
+ }
12
+
13
+ export { SessionErrorCode };
@@ -0,0 +1,11 @@
1
+ var SessionErrorCode = /* @__PURE__ */ ((SessionErrorCode2) => {
2
+ SessionErrorCode2["SESSION_NOT_FOUND"] = "session_not_found";
3
+ SessionErrorCode2["SESSION_INITIALIZATION_FAILED"] = "session_initialization_failed";
4
+ SessionErrorCode2["SESSION_MAX_SESSIONS_EXCEEDED"] = "session_max_sessions_exceeded";
5
+ SessionErrorCode2["SESSION_STORAGE_FAILED"] = "session_storage_failed";
6
+ SessionErrorCode2["SESSION_RESET_FAILED"] = "session_reset_failed";
7
+ return SessionErrorCode2;
8
+ })(SessionErrorCode || {});
9
+ export {
10
+ SessionErrorCode
11
+ };
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var errors_exports = {};
20
+ __export(errors_exports, {
21
+ SessionError: () => SessionError
22
+ });
23
+ module.exports = __toCommonJS(errors_exports);
24
+ var import_DextoRuntimeError = require("../errors/DextoRuntimeError.cjs");
25
+ var import_types = require("../errors/types.cjs");
26
+ var import_error_codes = require("./error-codes.js");
27
+ class SessionError {
28
+ /**
29
+ * Session not found
30
+ */
31
+ static notFound(sessionId) {
32
+ return new import_DextoRuntimeError.DextoRuntimeError(
33
+ import_error_codes.SessionErrorCode.SESSION_NOT_FOUND,
34
+ import_types.ErrorScope.SESSION,
35
+ import_types.ErrorType.NOT_FOUND,
36
+ `Session ${sessionId} not found`,
37
+ { sessionId }
38
+ );
39
+ }
40
+ /**
41
+ * Session initialization failed
42
+ */
43
+ static initializationFailed(sessionId, reason) {
44
+ return new import_DextoRuntimeError.DextoRuntimeError(
45
+ import_error_codes.SessionErrorCode.SESSION_INITIALIZATION_FAILED,
46
+ import_types.ErrorScope.SESSION,
47
+ import_types.ErrorType.SYSTEM,
48
+ `Failed to initialize session '${sessionId}': ${reason}`,
49
+ { sessionId, reason }
50
+ );
51
+ }
52
+ /**
53
+ * Maximum number of sessions exceeded
54
+ */
55
+ static maxSessionsExceeded(currentCount, maxSessions) {
56
+ return new import_DextoRuntimeError.DextoRuntimeError(
57
+ import_error_codes.SessionErrorCode.SESSION_MAX_SESSIONS_EXCEEDED,
58
+ import_types.ErrorScope.SESSION,
59
+ import_types.ErrorType.USER,
60
+ `Maximum sessions (${maxSessions}) reached`,
61
+ { currentCount, maxSessions },
62
+ "Delete unused sessions or increase maxSessions limit in configuration"
63
+ );
64
+ }
65
+ /**
66
+ * Session storage failed
67
+ */
68
+ static storageFailed(sessionId, operation, reason) {
69
+ return new import_DextoRuntimeError.DextoRuntimeError(
70
+ import_error_codes.SessionErrorCode.SESSION_STORAGE_FAILED,
71
+ import_types.ErrorScope.SESSION,
72
+ import_types.ErrorType.SYSTEM,
73
+ `Failed to ${operation} session '${sessionId}': ${reason}`,
74
+ { sessionId, operation, reason }
75
+ );
76
+ }
77
+ /**
78
+ * Session reset failed
79
+ */
80
+ static resetFailed(sessionId, reason) {
81
+ return new import_DextoRuntimeError.DextoRuntimeError(
82
+ import_error_codes.SessionErrorCode.SESSION_RESET_FAILED,
83
+ import_types.ErrorScope.SESSION,
84
+ import_types.ErrorType.SYSTEM,
85
+ `Failed to reset session '${sessionId}': ${reason}`,
86
+ { sessionId, reason }
87
+ );
88
+ }
89
+ }
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ SessionError
93
+ });
@@ -0,0 +1,58 @@
1
+ import { DextoRuntimeError } from '../errors/DextoRuntimeError.cjs';
2
+ import '../errors/DextoBaseError.cjs';
3
+ import '../errors/types.cjs';
4
+ import '../agent/error-codes.cjs';
5
+ import '../config/error-codes.cjs';
6
+ import '../context/error-codes.cjs';
7
+ import '../llm/error-codes.cjs';
8
+ import '../mcp/error-codes.cjs';
9
+ import './error-codes.cjs';
10
+ import '../storage/error-codes.cjs';
11
+ import '../systemPrompt/error-codes.cjs';
12
+ import '../tools/error-codes.cjs';
13
+ import '../preferences/error-codes.cjs';
14
+ import '../agent/registry/error-codes.cjs';
15
+
16
+ /**
17
+ * Session error factory with typed methods for creating session-specific errors
18
+ * Each method creates a properly typed DextoError with SESSION scope
19
+ */
20
+ declare class SessionError {
21
+ /**
22
+ * Session not found
23
+ */
24
+ static notFound(sessionId: string): DextoRuntimeError<{
25
+ sessionId: string;
26
+ }>;
27
+ /**
28
+ * Session initialization failed
29
+ */
30
+ static initializationFailed(sessionId: string, reason: string): DextoRuntimeError<{
31
+ sessionId: string;
32
+ reason: string;
33
+ }>;
34
+ /**
35
+ * Maximum number of sessions exceeded
36
+ */
37
+ static maxSessionsExceeded(currentCount: number, maxSessions: number): DextoRuntimeError<{
38
+ currentCount: number;
39
+ maxSessions: number;
40
+ }>;
41
+ /**
42
+ * Session storage failed
43
+ */
44
+ static storageFailed(sessionId: string, operation: string, reason: string): DextoRuntimeError<{
45
+ sessionId: string;
46
+ operation: string;
47
+ reason: string;
48
+ }>;
49
+ /**
50
+ * Session reset failed
51
+ */
52
+ static resetFailed(sessionId: string, reason: string): DextoRuntimeError<{
53
+ sessionId: string;
54
+ reason: string;
55
+ }>;
56
+ }
57
+
58
+ export { SessionError };
@@ -0,0 +1,58 @@
1
+ import { DextoRuntimeError } from '../errors/DextoRuntimeError.js';
2
+ import '../errors/DextoBaseError.js';
3
+ import '../errors/types.js';
4
+ import '../agent/error-codes.js';
5
+ import '../config/error-codes.js';
6
+ import '../context/error-codes.js';
7
+ import '../llm/error-codes.js';
8
+ import '../mcp/error-codes.js';
9
+ import './error-codes.js';
10
+ import '../storage/error-codes.js';
11
+ import '../systemPrompt/error-codes.js';
12
+ import '../tools/error-codes.js';
13
+ import '../preferences/error-codes.js';
14
+ import '../agent/registry/error-codes.js';
15
+
16
+ /**
17
+ * Session error factory with typed methods for creating session-specific errors
18
+ * Each method creates a properly typed DextoError with SESSION scope
19
+ */
20
+ declare class SessionError {
21
+ /**
22
+ * Session not found
23
+ */
24
+ static notFound(sessionId: string): DextoRuntimeError<{
25
+ sessionId: string;
26
+ }>;
27
+ /**
28
+ * Session initialization failed
29
+ */
30
+ static initializationFailed(sessionId: string, reason: string): DextoRuntimeError<{
31
+ sessionId: string;
32
+ reason: string;
33
+ }>;
34
+ /**
35
+ * Maximum number of sessions exceeded
36
+ */
37
+ static maxSessionsExceeded(currentCount: number, maxSessions: number): DextoRuntimeError<{
38
+ currentCount: number;
39
+ maxSessions: number;
40
+ }>;
41
+ /**
42
+ * Session storage failed
43
+ */
44
+ static storageFailed(sessionId: string, operation: string, reason: string): DextoRuntimeError<{
45
+ sessionId: string;
46
+ operation: string;
47
+ reason: string;
48
+ }>;
49
+ /**
50
+ * Session reset failed
51
+ */
52
+ static resetFailed(sessionId: string, reason: string): DextoRuntimeError<{
53
+ sessionId: string;
54
+ reason: string;
55
+ }>;
56
+ }
57
+
58
+ export { SessionError };
@@ -0,0 +1,69 @@
1
+ import { DextoRuntimeError } from "../errors/DextoRuntimeError.js";
2
+ import { ErrorScope, ErrorType } from "../errors/types.js";
3
+ import { SessionErrorCode } from "./error-codes.js";
4
+ class SessionError {
5
+ /**
6
+ * Session not found
7
+ */
8
+ static notFound(sessionId) {
9
+ return new DextoRuntimeError(
10
+ SessionErrorCode.SESSION_NOT_FOUND,
11
+ ErrorScope.SESSION,
12
+ ErrorType.NOT_FOUND,
13
+ `Session ${sessionId} not found`,
14
+ { sessionId }
15
+ );
16
+ }
17
+ /**
18
+ * Session initialization failed
19
+ */
20
+ static initializationFailed(sessionId, reason) {
21
+ return new DextoRuntimeError(
22
+ SessionErrorCode.SESSION_INITIALIZATION_FAILED,
23
+ ErrorScope.SESSION,
24
+ ErrorType.SYSTEM,
25
+ `Failed to initialize session '${sessionId}': ${reason}`,
26
+ { sessionId, reason }
27
+ );
28
+ }
29
+ /**
30
+ * Maximum number of sessions exceeded
31
+ */
32
+ static maxSessionsExceeded(currentCount, maxSessions) {
33
+ return new DextoRuntimeError(
34
+ SessionErrorCode.SESSION_MAX_SESSIONS_EXCEEDED,
35
+ ErrorScope.SESSION,
36
+ ErrorType.USER,
37
+ `Maximum sessions (${maxSessions}) reached`,
38
+ { currentCount, maxSessions },
39
+ "Delete unused sessions or increase maxSessions limit in configuration"
40
+ );
41
+ }
42
+ /**
43
+ * Session storage failed
44
+ */
45
+ static storageFailed(sessionId, operation, reason) {
46
+ return new DextoRuntimeError(
47
+ SessionErrorCode.SESSION_STORAGE_FAILED,
48
+ ErrorScope.SESSION,
49
+ ErrorType.SYSTEM,
50
+ `Failed to ${operation} session '${sessionId}': ${reason}`,
51
+ { sessionId, operation, reason }
52
+ );
53
+ }
54
+ /**
55
+ * Session reset failed
56
+ */
57
+ static resetFailed(sessionId, reason) {
58
+ return new DextoRuntimeError(
59
+ SessionErrorCode.SESSION_RESET_FAILED,
60
+ ErrorScope.SESSION,
61
+ ErrorType.SYSTEM,
62
+ `Failed to reset session '${sessionId}': ${reason}`,
63
+ { sessionId, reason }
64
+ );
65
+ }
66
+ }
67
+ export {
68
+ SessionError
69
+ };