@dexto/core 1.1.10 → 1.2.0

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 (1005) hide show
  1. package/README.md +24 -4
  2. package/dist/Dexto.cjs +251 -0
  3. package/dist/Dexto.d.ts +191 -0
  4. package/dist/Dexto.d.ts.map +1 -0
  5. package/dist/Dexto.js +228 -0
  6. package/dist/agent/DextoAgent.cjs +520 -126
  7. package/dist/agent/DextoAgent.d.ts +182 -106
  8. package/dist/agent/DextoAgent.d.ts.map +1 -0
  9. package/dist/agent/DextoAgent.js +480 -126
  10. package/dist/agent/agentCard.d.ts +4 -7
  11. package/dist/agent/agentCard.d.ts.map +1 -0
  12. package/dist/agent/agentCard.js +1 -0
  13. package/dist/agent/error-codes.cjs +3 -0
  14. package/dist/agent/error-codes.d.ts +5 -3
  15. package/dist/agent/error-codes.d.ts.map +1 -0
  16. package/dist/agent/error-codes.js +4 -0
  17. package/dist/agent/errors.cjs +26 -0
  18. package/dist/agent/errors.d.ts +10 -17
  19. package/dist/agent/errors.d.ts.map +1 -0
  20. package/dist/agent/errors.js +27 -0
  21. package/dist/agent/index.cjs +3 -0
  22. package/dist/agent/index.d.ts +6 -57
  23. package/dist/agent/index.d.ts.map +1 -0
  24. package/dist/agent/index.js +3 -0
  25. package/dist/agent/registry/error-codes.cjs +2 -0
  26. package/dist/agent/registry/error-codes.d.ts +4 -3
  27. package/dist/agent/registry/error-codes.d.ts.map +1 -0
  28. package/dist/agent/registry/error-codes.js +3 -0
  29. package/dist/agent/registry/errors.cjs +58 -28
  30. package/dist/agent/registry/errors.d.ts +32 -36
  31. package/dist/agent/registry/errors.d.ts.map +1 -0
  32. package/dist/agent/registry/errors.js +59 -28
  33. package/dist/agent/registry/registry.cjs +242 -54
  34. package/dist/agent/registry/registry.d.ts +84 -21
  35. package/dist/agent/registry/registry.d.ts.map +1 -0
  36. package/dist/agent/registry/registry.js +252 -55
  37. package/dist/agent/registry/types.cjs +36 -3
  38. package/dist/agent/registry/types.d.ts +66 -24
  39. package/dist/agent/registry/types.d.ts.map +1 -0
  40. package/dist/agent/registry/types.js +34 -2
  41. package/dist/agent/registry/user-registry.cjs +140 -0
  42. package/dist/agent/registry/user-registry.d.ts +34 -0
  43. package/dist/agent/registry/user-registry.d.ts.map +1 -0
  44. package/dist/agent/registry/user-registry.js +105 -0
  45. package/dist/agent/schemas.cjs +22 -3
  46. package/dist/agent/schemas.d.ts +811 -479
  47. package/dist/agent/schemas.d.ts.map +1 -0
  48. package/dist/agent/schemas.js +23 -3
  49. package/dist/agent/state-manager.d.ts +7 -12
  50. package/dist/agent/state-manager.d.ts.map +1 -0
  51. package/dist/agent/state-manager.js +1 -0
  52. package/dist/approval/error-codes.cjs +44 -0
  53. package/dist/approval/error-codes.d.ts +21 -0
  54. package/dist/approval/error-codes.d.ts.map +1 -0
  55. package/dist/approval/error-codes.js +21 -0
  56. package/dist/approval/errors.cjs +251 -0
  57. package/dist/approval/errors.d.ts +110 -0
  58. package/dist/approval/errors.d.ts.map +1 -0
  59. package/dist/approval/errors.js +228 -0
  60. package/dist/approval/index.cjs +84 -0
  61. package/dist/approval/index.d.ts +12 -0
  62. package/dist/approval/index.d.ts.map +1 -0
  63. package/dist/approval/index.js +56 -0
  64. package/dist/approval/manager.cjs +189 -0
  65. package/dist/approval/manager.d.ts +131 -0
  66. package/dist/approval/manager.d.ts.map +1 -0
  67. package/dist/approval/manager.js +166 -0
  68. package/dist/approval/providers/event-based-approval-provider.cjs +156 -0
  69. package/dist/approval/providers/event-based-approval-provider.d.ts +39 -0
  70. package/dist/approval/providers/event-based-approval-provider.d.ts.map +1 -0
  71. package/dist/approval/providers/event-based-approval-provider.js +133 -0
  72. package/dist/approval/providers/factory.cjs +38 -0
  73. package/dist/approval/providers/factory.d.ts +12 -0
  74. package/dist/approval/providers/factory.d.ts.map +1 -0
  75. package/dist/approval/providers/factory.js +15 -0
  76. package/dist/approval/providers/noop-approval-provider.cjs +54 -0
  77. package/dist/approval/providers/noop-approval-provider.d.ts +18 -0
  78. package/dist/approval/providers/noop-approval-provider.d.ts.map +1 -0
  79. package/dist/approval/providers/noop-approval-provider.js +31 -0
  80. package/dist/approval/schemas.cjs +204 -0
  81. package/dist/approval/schemas.d.ts +775 -0
  82. package/dist/approval/schemas.d.ts.map +1 -0
  83. package/dist/approval/schemas.js +159 -0
  84. package/dist/approval/types.cjs +42 -0
  85. package/dist/approval/types.d.ts +166 -0
  86. package/dist/approval/types.d.ts.map +1 -0
  87. package/dist/approval/types.js +18 -0
  88. package/dist/chunk-C6A6W6XS.js +53 -0
  89. package/dist/config/agent-resolver.d.ts +3 -4
  90. package/dist/config/agent-resolver.d.ts.map +1 -0
  91. package/dist/config/agent-resolver.js +1 -0
  92. package/dist/config/error-codes.d.ts +2 -3
  93. package/dist/config/error-codes.d.ts.map +1 -0
  94. package/dist/config/error-codes.js +1 -0
  95. package/dist/config/errors.d.ts +3 -18
  96. package/dist/config/errors.d.ts.map +1 -0
  97. package/dist/config/errors.js +1 -0
  98. package/dist/config/index.d.ts +4 -7
  99. package/dist/config/index.d.ts.map +1 -0
  100. package/dist/config/loader.d.ts +2 -5
  101. package/dist/config/loader.d.ts.map +1 -0
  102. package/dist/config/loader.js +1 -0
  103. package/dist/config/writer.d.ts +8 -11
  104. package/dist/config/writer.d.ts.map +1 -0
  105. package/dist/config/writer.js +1 -0
  106. package/dist/context/compression/middle-removal.d.ts +3 -6
  107. package/dist/context/compression/middle-removal.d.ts.map +1 -0
  108. package/dist/context/compression/middle-removal.js +1 -0
  109. package/dist/context/compression/oldest-removal.d.ts +3 -6
  110. package/dist/context/compression/oldest-removal.d.ts.map +1 -0
  111. package/dist/context/compression/oldest-removal.js +1 -0
  112. package/dist/context/compression/types.d.ts +2 -5
  113. package/dist/context/compression/types.d.ts.map +1 -0
  114. package/dist/context/error-codes.d.ts +2 -3
  115. package/dist/context/error-codes.d.ts.map +1 -0
  116. package/dist/context/error-codes.js +1 -0
  117. package/dist/context/errors.d.ts +3 -18
  118. package/dist/context/errors.d.ts.map +1 -0
  119. package/dist/context/errors.js +1 -0
  120. package/dist/context/index.cjs +11 -0
  121. package/dist/context/index.d.ts +4 -19
  122. package/dist/context/index.d.ts.map +1 -0
  123. package/dist/context/index.js +6 -0
  124. package/dist/context/manager.cjs +156 -24
  125. package/dist/context/manager.d.ts +28 -20
  126. package/dist/context/manager.d.ts.map +1 -0
  127. package/dist/context/manager.js +153 -25
  128. package/dist/context/media-helpers.cjs +40 -0
  129. package/dist/context/media-helpers.d.ts +15 -0
  130. package/dist/context/media-helpers.d.ts.map +1 -0
  131. package/dist/context/media-helpers.js +16 -0
  132. package/dist/context/types.d.ts +27 -10
  133. package/dist/context/types.d.ts.map +1 -0
  134. package/dist/context/utils.cjs +907 -71
  135. package/dist/context/utils.d.ts +111 -15
  136. package/dist/context/utils.d.ts.map +1 -0
  137. package/dist/context/utils.js +896 -70
  138. package/dist/errors/DextoBaseError.d.ts +2 -3
  139. package/dist/errors/DextoBaseError.d.ts.map +1 -0
  140. package/dist/errors/DextoBaseError.js +1 -0
  141. package/dist/errors/DextoRuntimeError.d.ts +5 -16
  142. package/dist/errors/DextoRuntimeError.d.ts.map +1 -0
  143. package/dist/errors/DextoRuntimeError.js +1 -0
  144. package/dist/errors/DextoValidationError.d.ts +3 -16
  145. package/dist/errors/DextoValidationError.d.ts.map +1 -0
  146. package/dist/errors/DextoValidationError.js +1 -0
  147. package/dist/errors/index.d.ts +7 -14
  148. package/dist/errors/index.d.ts.map +1 -0
  149. package/dist/errors/index.js +1 -0
  150. package/dist/errors/result-bridge.d.ts +3 -18
  151. package/dist/errors/result-bridge.d.ts.map +1 -0
  152. package/dist/errors/result-bridge.js +1 -0
  153. package/dist/errors/types.cjs +7 -0
  154. package/dist/errors/types.d.ts +32 -20
  155. package/dist/errors/types.d.ts.map +1 -0
  156. package/dist/errors/types.js +8 -0
  157. package/dist/events/index.cjs +9 -3
  158. package/dist/events/index.d.ts +67 -35
  159. package/dist/events/index.d.ts.map +1 -0
  160. package/dist/events/index.js +10 -3
  161. package/dist/filesystem/error-codes.cjs +53 -0
  162. package/dist/filesystem/error-codes.d.ts +31 -0
  163. package/dist/filesystem/error-codes.d.ts.map +1 -0
  164. package/dist/filesystem/error-codes.js +30 -0
  165. package/dist/filesystem/errors.cjs +303 -0
  166. package/dist/filesystem/errors.d.ts +109 -0
  167. package/dist/filesystem/errors.d.ts.map +1 -0
  168. package/dist/filesystem/errors.js +280 -0
  169. package/dist/filesystem/filesystem-service.cjs +482 -0
  170. package/dist/filesystem/filesystem-service.d.ts +57 -0
  171. package/dist/filesystem/filesystem-service.d.ts.map +1 -0
  172. package/dist/filesystem/filesystem-service.js +449 -0
  173. package/dist/filesystem/index.cjs +37 -0
  174. package/dist/filesystem/index.d.ts +11 -0
  175. package/dist/filesystem/index.d.ts.map +1 -0
  176. package/dist/filesystem/index.js +11 -0
  177. package/dist/filesystem/path-validator.cjs +172 -0
  178. package/dist/filesystem/path-validator.d.ts +53 -0
  179. package/dist/filesystem/path-validator.d.ts.map +1 -0
  180. package/dist/filesystem/path-validator.js +139 -0
  181. package/dist/filesystem/types.d.ts +171 -0
  182. package/dist/filesystem/types.d.ts.map +1 -0
  183. package/dist/index.browser.cjs +36 -0
  184. package/dist/index.browser.d.ts +24 -51
  185. package/dist/index.browser.d.ts.map +1 -0
  186. package/dist/index.browser.js +35 -1
  187. package/dist/index.cjs +29 -1
  188. package/dist/index.d.ts +34 -89
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +15 -0
  191. package/dist/llm/error-codes.d.ts +2 -3
  192. package/dist/llm/error-codes.d.ts.map +1 -0
  193. package/dist/llm/error-codes.js +1 -0
  194. package/dist/llm/errors.d.ts +3 -18
  195. package/dist/llm/errors.d.ts.map +1 -0
  196. package/dist/llm/errors.js +1 -0
  197. package/dist/llm/formatters/anthropic.d.ts +2 -4
  198. package/dist/llm/formatters/anthropic.d.ts.map +1 -0
  199. package/dist/llm/formatters/anthropic.js +1 -0
  200. package/dist/llm/formatters/factory.d.ts +3 -6
  201. package/dist/llm/formatters/factory.d.ts.map +1 -0
  202. package/dist/llm/formatters/factory.js +1 -0
  203. package/dist/llm/formatters/openai.d.ts +2 -4
  204. package/dist/llm/formatters/openai.d.ts.map +1 -0
  205. package/dist/llm/formatters/openai.js +1 -0
  206. package/dist/llm/formatters/types.d.ts +2 -4
  207. package/dist/llm/formatters/types.d.ts.map +1 -0
  208. package/dist/llm/formatters/vercel.d.ts +6 -7
  209. package/dist/llm/formatters/vercel.d.ts.map +1 -0
  210. package/dist/llm/formatters/vercel.js +1 -0
  211. package/dist/llm/index.d.ts +8 -39
  212. package/dist/llm/index.d.ts.map +1 -0
  213. package/dist/llm/registry.cjs +30 -16
  214. package/dist/llm/registry.d.ts +27 -30
  215. package/dist/llm/registry.d.ts.map +1 -0
  216. package/dist/llm/registry.js +31 -16
  217. package/dist/llm/resolver.d.ts +6 -20
  218. package/dist/llm/resolver.d.ts.map +1 -0
  219. package/dist/llm/resolver.js +1 -0
  220. package/dist/llm/schemas.cjs +6 -2
  221. package/dist/llm/schemas.d.ts +25 -17
  222. package/dist/llm/schemas.d.ts.map +1 -0
  223. package/dist/llm/schemas.js +7 -2
  224. package/dist/llm/services/anthropic.cjs +91 -11
  225. package/dist/llm/services/anthropic.d.ts +13 -32
  226. package/dist/llm/services/anthropic.d.ts.map +1 -0
  227. package/dist/llm/services/anthropic.js +51 -11
  228. package/dist/llm/services/factory.cjs +21 -15
  229. package/dist/llm/services/factory.d.ts +5 -32
  230. package/dist/llm/services/factory.d.ts.map +1 -0
  231. package/dist/llm/services/factory.js +22 -15
  232. package/dist/llm/services/index.d.ts +2 -21
  233. package/dist/llm/services/index.d.ts.map +1 -0
  234. package/dist/llm/services/openai.cjs +120 -16
  235. package/dist/llm/services/openai.d.ts +13 -32
  236. package/dist/llm/services/openai.d.ts.map +1 -0
  237. package/dist/llm/services/openai.js +80 -16
  238. package/dist/llm/services/test-utils.integration.cjs +3 -3
  239. package/dist/llm/services/test-utils.integration.d.ts +8 -49
  240. package/dist/llm/services/test-utils.integration.d.ts.map +1 -0
  241. package/dist/llm/services/test-utils.integration.js +4 -3
  242. package/dist/llm/services/types.d.ts +5 -22
  243. package/dist/llm/services/types.d.ts.map +1 -0
  244. package/dist/llm/services/vercel.cjs +152 -74
  245. package/dist/llm/services/vercel.d.ts +18 -36
  246. package/dist/llm/services/vercel.d.ts.map +1 -0
  247. package/dist/llm/services/vercel.js +113 -75
  248. package/dist/llm/tokenizer/anthropic.d.ts +2 -4
  249. package/dist/llm/tokenizer/anthropic.d.ts.map +1 -0
  250. package/dist/llm/tokenizer/anthropic.js +1 -0
  251. package/dist/llm/tokenizer/default.d.ts +2 -4
  252. package/dist/llm/tokenizer/default.d.ts.map +1 -0
  253. package/dist/llm/tokenizer/default.js +1 -0
  254. package/dist/llm/tokenizer/factory.d.ts +3 -5
  255. package/dist/llm/tokenizer/factory.d.ts.map +1 -0
  256. package/dist/llm/tokenizer/factory.js +1 -0
  257. package/dist/llm/tokenizer/google.d.ts +2 -4
  258. package/dist/llm/tokenizer/google.d.ts.map +1 -0
  259. package/dist/llm/tokenizer/google.js +1 -0
  260. package/dist/llm/tokenizer/openai.cjs +1 -1
  261. package/dist/llm/tokenizer/openai.d.ts +3 -5
  262. package/dist/llm/tokenizer/openai.d.ts.map +1 -0
  263. package/dist/llm/tokenizer/openai.js +2 -1
  264. package/dist/llm/tokenizer/types.d.ts +3 -4
  265. package/dist/llm/tokenizer/types.d.ts.map +1 -0
  266. package/dist/llm/tokenizer/types.js +1 -0
  267. package/dist/llm/types.d.ts +11 -12
  268. package/dist/llm/types.d.ts.map +1 -0
  269. package/dist/llm/types.js +1 -0
  270. package/dist/llm/validation.d.ts +8 -23
  271. package/dist/llm/validation.d.ts.map +1 -0
  272. package/dist/llm/validation.js +1 -0
  273. package/dist/logger/browser.d.ts +4 -5
  274. package/dist/logger/browser.d.ts.map +1 -0
  275. package/dist/logger/browser.js +1 -0
  276. package/dist/logger/index.d.ts +2 -1
  277. package/dist/logger/index.d.ts.map +1 -0
  278. package/dist/logger/logger.cjs +35 -7
  279. package/dist/logger/logger.d.ts +47 -5
  280. package/dist/logger/logger.d.ts.map +1 -0
  281. package/dist/logger/logger.js +36 -7
  282. package/dist/mcp/error-codes.cjs +1 -0
  283. package/dist/mcp/error-codes.d.ts +3 -3
  284. package/dist/mcp/error-codes.d.ts.map +1 -0
  285. package/dist/mcp/error-codes.js +2 -0
  286. package/dist/mcp/errors.cjs +12 -0
  287. package/dist/mcp/errors.d.ts +9 -17
  288. package/dist/mcp/errors.d.ts.map +1 -0
  289. package/dist/mcp/errors.js +13 -0
  290. package/dist/mcp/index.d.ts +8 -26
  291. package/dist/mcp/index.d.ts.map +1 -0
  292. package/dist/mcp/manager.cjs +528 -130
  293. package/dist/mcp/manager.d.ts +124 -58
  294. package/dist/mcp/manager.d.ts.map +1 -0
  295. package/dist/mcp/manager.js +529 -130
  296. package/dist/mcp/mcp-client.cjs +172 -10
  297. package/dist/mcp/mcp-client.d.ts +36 -14
  298. package/dist/mcp/mcp-client.d.ts.map +1 -0
  299. package/dist/mcp/mcp-client.js +177 -10
  300. package/dist/mcp/resolver.d.ts +5 -20
  301. package/dist/mcp/resolver.d.ts.map +1 -0
  302. package/dist/mcp/resolver.js +1 -0
  303. package/dist/mcp/schemas.cjs +13 -5
  304. package/dist/mcp/schemas.d.ts +31 -28
  305. package/dist/mcp/schemas.d.ts.map +1 -0
  306. package/dist/mcp/schemas.js +11 -5
  307. package/dist/mcp/types.d.ts +19 -11
  308. package/dist/mcp/types.d.ts.map +1 -0
  309. package/dist/memory/error-codes.cjs +39 -0
  310. package/dist/memory/error-codes.d.ts +15 -0
  311. package/dist/memory/error-codes.d.ts.map +1 -0
  312. package/dist/memory/error-codes.js +16 -0
  313. package/dist/memory/errors.cjs +112 -0
  314. package/dist/memory/errors.d.ts +16 -0
  315. package/dist/memory/errors.d.ts.map +1 -0
  316. package/dist/memory/errors.js +89 -0
  317. package/dist/memory/index.cjs +43 -0
  318. package/dist/memory/index.d.ts +6 -0
  319. package/dist/memory/index.d.ts.map +1 -0
  320. package/dist/memory/index.js +19 -0
  321. package/dist/memory/manager.cjs +214 -0
  322. package/dist/memory/manager.d.ts +56 -0
  323. package/dist/memory/manager.d.ts.map +1 -0
  324. package/dist/memory/manager.js +196 -0
  325. package/dist/memory/schemas.cjs +82 -0
  326. package/dist/memory/schemas.d.ts +129 -0
  327. package/dist/memory/schemas.d.ts.map +1 -0
  328. package/dist/memory/schemas.js +54 -0
  329. package/dist/memory/types.d.ts +76 -0
  330. package/dist/memory/types.d.ts.map +1 -0
  331. package/dist/plugins/builtins/content-policy.cjs +112 -0
  332. package/dist/plugins/builtins/content-policy.d.ts +26 -0
  333. package/dist/plugins/builtins/content-policy.d.ts.map +1 -0
  334. package/dist/plugins/builtins/content-policy.js +89 -0
  335. package/dist/plugins/builtins/response-sanitizer.cjs +102 -0
  336. package/dist/plugins/builtins/response-sanitizer.d.ts +25 -0
  337. package/dist/plugins/builtins/response-sanitizer.d.ts.map +1 -0
  338. package/dist/plugins/builtins/response-sanitizer.js +79 -0
  339. package/dist/plugins/error-codes.cjs +39 -0
  340. package/dist/plugins/error-codes.d.ts +26 -0
  341. package/dist/plugins/error-codes.d.ts.map +1 -0
  342. package/dist/plugins/error-codes.js +16 -0
  343. package/dist/plugins/index.cjs +54 -0
  344. package/dist/plugins/index.d.ts +19 -0
  345. package/dist/plugins/index.d.ts.map +1 -0
  346. package/dist/plugins/index.js +25 -0
  347. package/dist/plugins/loader.cjs +151 -0
  348. package/dist/plugins/loader.d.ts +30 -0
  349. package/dist/plugins/loader.d.ts.map +1 -0
  350. package/dist/plugins/loader.js +125 -0
  351. package/dist/plugins/manager.cjs +386 -0
  352. package/dist/plugins/manager.d.ts +97 -0
  353. package/dist/plugins/manager.d.ts.map +1 -0
  354. package/dist/plugins/manager.js +363 -0
  355. package/dist/plugins/registrations/builtins.cjs +51 -0
  356. package/dist/plugins/registrations/builtins.d.ts +17 -0
  357. package/dist/plugins/registrations/builtins.d.ts.map +1 -0
  358. package/dist/plugins/registrations/builtins.js +28 -0
  359. package/dist/plugins/schemas.cjs +61 -0
  360. package/dist/plugins/schemas.d.ts +138 -0
  361. package/dist/plugins/schemas.d.ts.map +1 -0
  362. package/dist/plugins/schemas.js +36 -0
  363. package/dist/{storage/backend/cache-backend.cjs → plugins/types.cjs} +2 -2
  364. package/dist/plugins/types.d.ts +152 -0
  365. package/dist/plugins/types.d.ts.map +1 -0
  366. package/dist/preferences/constants.d.ts +2 -3
  367. package/dist/preferences/constants.d.ts.map +1 -0
  368. package/dist/preferences/constants.js +1 -0
  369. package/dist/preferences/error-codes.d.ts +2 -3
  370. package/dist/preferences/error-codes.d.ts.map +1 -0
  371. package/dist/preferences/error-codes.js +1 -0
  372. package/dist/preferences/errors.d.ts +4 -19
  373. package/dist/preferences/errors.d.ts.map +1 -0
  374. package/dist/preferences/errors.js +1 -0
  375. package/dist/preferences/index.d.ts +5 -20
  376. package/dist/preferences/index.d.ts.map +1 -0
  377. package/dist/preferences/index.js +1 -0
  378. package/dist/preferences/loader.cjs +3 -1
  379. package/dist/preferences/loader.d.ts +18 -12
  380. package/dist/preferences/loader.d.ts.map +1 -0
  381. package/dist/preferences/loader.js +4 -1
  382. package/dist/preferences/schemas.cjs +2 -1
  383. package/dist/preferences/schemas.d.ts +27 -21
  384. package/dist/preferences/schemas.d.ts.map +1 -0
  385. package/dist/preferences/schemas.js +3 -1
  386. package/dist/process/command-validator.cjs +544 -0
  387. package/dist/process/command-validator.d.ts +46 -0
  388. package/dist/process/command-validator.d.ts.map +1 -0
  389. package/dist/process/command-validator.js +521 -0
  390. package/dist/process/error-codes.cjs +47 -0
  391. package/dist/process/error-codes.d.ts +25 -0
  392. package/dist/process/error-codes.d.ts.map +1 -0
  393. package/dist/process/error-codes.js +24 -0
  394. package/dist/process/errors.cjs +244 -0
  395. package/dist/process/errors.d.ts +87 -0
  396. package/dist/process/errors.d.ts.map +1 -0
  397. package/dist/process/errors.js +221 -0
  398. package/dist/process/index.cjs +37 -0
  399. package/dist/process/index.d.ts +11 -0
  400. package/dist/process/index.d.ts.map +1 -0
  401. package/dist/process/index.js +11 -0
  402. package/dist/process/process-service.cjs +443 -0
  403. package/dist/process/process-service.d.ts +62 -0
  404. package/dist/process/process-service.d.ts.map +1 -0
  405. package/dist/process/process-service.js +410 -0
  406. package/dist/{storage/backend/database-backend.cjs → process/types.cjs} +2 -2
  407. package/dist/process/types.d.ts +107 -0
  408. package/dist/process/types.d.ts.map +1 -0
  409. package/dist/prompts/error-codes.cjs +38 -0
  410. package/dist/prompts/error-codes.d.ts +15 -0
  411. package/dist/prompts/error-codes.d.ts.map +1 -0
  412. package/dist/prompts/error-codes.js +15 -0
  413. package/dist/prompts/errors.cjs +144 -0
  414. package/dist/prompts/errors.d.ts +45 -0
  415. package/dist/prompts/errors.d.ts.map +1 -0
  416. package/dist/prompts/errors.js +121 -0
  417. package/dist/prompts/index.cjs +53 -0
  418. package/dist/prompts/index.d.ts +13 -0
  419. package/dist/prompts/index.d.ts.map +1 -0
  420. package/dist/prompts/index.js +21 -0
  421. package/dist/prompts/name-validation.cjs +45 -0
  422. package/dist/prompts/name-validation.d.ts +9 -0
  423. package/dist/prompts/name-validation.d.ts.map +1 -0
  424. package/dist/prompts/name-validation.js +19 -0
  425. package/dist/prompts/prompt-manager.cjs +374 -0
  426. package/dist/prompts/prompt-manager.d.ts +74 -0
  427. package/dist/prompts/prompt-manager.d.ts.map +1 -0
  428. package/dist/prompts/prompt-manager.js +353 -0
  429. package/dist/prompts/providers/custom-prompt-provider.cjs +283 -0
  430. package/dist/prompts/providers/custom-prompt-provider.d.ts +36 -0
  431. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -0
  432. package/dist/prompts/providers/custom-prompt-provider.js +260 -0
  433. package/dist/prompts/providers/file-prompt-provider.cjs +399 -0
  434. package/dist/prompts/providers/file-prompt-provider.d.ts +47 -0
  435. package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -0
  436. package/dist/prompts/providers/file-prompt-provider.js +376 -0
  437. package/dist/prompts/providers/mcp-prompt-provider.cjs +102 -0
  438. package/dist/prompts/providers/mcp-prompt-provider.d.ts +35 -0
  439. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -0
  440. package/dist/prompts/providers/mcp-prompt-provider.js +79 -0
  441. package/dist/prompts/providers/starter-prompt-provider.cjs +170 -0
  442. package/dist/prompts/providers/starter-prompt-provider.d.ts +45 -0
  443. package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -0
  444. package/dist/prompts/providers/starter-prompt-provider.js +147 -0
  445. package/dist/prompts/schemas.cjs +54 -0
  446. package/dist/prompts/schemas.d.ts +65 -0
  447. package/dist/prompts/schemas.d.ts.map +1 -0
  448. package/dist/prompts/schemas.js +31 -0
  449. package/dist/prompts/types.cjs +16 -0
  450. package/dist/prompts/types.d.ts +64 -0
  451. package/dist/prompts/types.d.ts.map +1 -0
  452. package/dist/prompts/types.js +0 -0
  453. package/dist/prompts/utils.cjs +176 -0
  454. package/dist/prompts/utils.d.ts +32 -0
  455. package/dist/prompts/utils.d.ts.map +1 -0
  456. package/dist/prompts/utils.js +150 -0
  457. package/dist/resources/error-codes.cjs +38 -0
  458. package/dist/resources/error-codes.d.ts +13 -0
  459. package/dist/resources/error-codes.d.ts.map +1 -0
  460. package/dist/resources/error-codes.js +15 -0
  461. package/dist/resources/errors.cjs +155 -0
  462. package/dist/resources/errors.d.ts +48 -0
  463. package/dist/resources/errors.d.ts.map +1 -0
  464. package/dist/resources/errors.js +132 -0
  465. package/dist/resources/handlers/blob-handler.cjs +230 -0
  466. package/dist/resources/handlers/blob-handler.d.ts +38 -0
  467. package/dist/resources/handlers/blob-handler.d.ts.map +1 -0
  468. package/dist/resources/handlers/blob-handler.js +207 -0
  469. package/dist/resources/handlers/factory.cjs +50 -0
  470. package/dist/resources/handlers/factory.d.ts +11 -0
  471. package/dist/resources/handlers/factory.d.ts.map +1 -0
  472. package/dist/resources/handlers/factory.js +26 -0
  473. package/dist/resources/handlers/filesystem-handler.cjs +385 -0
  474. package/dist/resources/handlers/filesystem-handler.d.ts +35 -0
  475. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -0
  476. package/dist/resources/handlers/filesystem-handler.js +352 -0
  477. package/dist/resources/handlers/types.cjs +16 -0
  478. package/dist/resources/handlers/types.d.ts +15 -0
  479. package/dist/resources/handlers/types.d.ts.map +1 -0
  480. package/dist/resources/handlers/types.js +0 -0
  481. package/dist/resources/index.cjs +58 -0
  482. package/dist/resources/index.d.ts +39 -0
  483. package/dist/resources/index.d.ts.map +1 -0
  484. package/dist/resources/index.js +35 -0
  485. package/dist/resources/internal-provider.cjs +141 -0
  486. package/dist/resources/internal-provider.d.ts +19 -0
  487. package/dist/resources/internal-provider.d.ts.map +1 -0
  488. package/dist/resources/internal-provider.js +118 -0
  489. package/dist/resources/manager.cjs +221 -0
  490. package/dist/resources/manager.d.ts +29 -0
  491. package/dist/resources/manager.d.ts.map +1 -0
  492. package/dist/resources/manager.js +198 -0
  493. package/dist/resources/reference-parser.cjs +217 -0
  494. package/dist/resources/reference-parser.d.ts +33 -0
  495. package/dist/resources/reference-parser.d.ts.map +1 -0
  496. package/dist/resources/reference-parser.js +191 -0
  497. package/dist/resources/schemas.cjs +98 -0
  498. package/dist/resources/schemas.d.ts +212 -0
  499. package/dist/resources/schemas.d.ts.map +1 -0
  500. package/dist/resources/schemas.js +73 -0
  501. package/dist/resources/types.cjs +16 -0
  502. package/dist/resources/types.d.ts +57 -0
  503. package/dist/resources/types.d.ts.map +1 -0
  504. package/dist/resources/types.js +0 -0
  505. package/dist/search/index.d.ts +2 -4
  506. package/dist/search/index.d.ts.map +1 -0
  507. package/dist/search/index.js +1 -0
  508. package/dist/search/search-service.d.ts +5 -9
  509. package/dist/search/search-service.d.ts.map +1 -0
  510. package/dist/search/search-service.js +1 -0
  511. package/dist/search/types.d.ts +7 -10
  512. package/dist/search/types.d.ts.map +1 -0
  513. package/dist/session/chat-session.cjs +105 -12
  514. package/dist/session/chat-session.d.ts +32 -43
  515. package/dist/session/chat-session.d.ts.map +1 -0
  516. package/dist/session/chat-session.js +106 -12
  517. package/dist/session/error-codes.d.ts +2 -3
  518. package/dist/session/error-codes.d.ts.map +1 -0
  519. package/dist/session/error-codes.js +1 -0
  520. package/dist/session/errors.d.ts +2 -17
  521. package/dist/session/errors.d.ts.map +1 -0
  522. package/dist/session/errors.js +1 -0
  523. package/dist/session/history/database.d.ts +6 -9
  524. package/dist/session/history/database.d.ts.map +1 -0
  525. package/dist/session/history/database.js +1 -0
  526. package/dist/session/history/factory.d.ts +4 -8
  527. package/dist/session/history/factory.d.ts.map +1 -0
  528. package/dist/session/history/factory.js +1 -0
  529. package/dist/session/history/memory.cjs +39 -0
  530. package/dist/session/history/memory.d.ts +14 -0
  531. package/dist/session/history/memory.d.ts.map +1 -0
  532. package/dist/session/history/memory.js +16 -0
  533. package/dist/session/history/types.d.ts +3 -6
  534. package/dist/session/history/types.d.ts.map +1 -0
  535. package/dist/session/index.d.ts +3 -50
  536. package/dist/session/index.d.ts.map +1 -0
  537. package/dist/session/index.js +1 -0
  538. package/dist/session/schemas.d.ts +4 -6
  539. package/dist/session/schemas.d.ts.map +1 -0
  540. package/dist/session/schemas.js +1 -0
  541. package/dist/session/session-manager.cjs +63 -29
  542. package/dist/session/session-manager.d.ts +33 -43
  543. package/dist/session/session-manager.d.ts.map +1 -0
  544. package/dist/session/session-manager.js +64 -29
  545. package/dist/session/title-generator.cjs +140 -0
  546. package/dist/session/title-generator.d.ts +22 -0
  547. package/dist/session/title-generator.d.ts.map +1 -0
  548. package/dist/session/title-generator.js +116 -0
  549. package/dist/storage/blob/factory.cjs +50 -0
  550. package/dist/storage/blob/factory.d.ts +10 -0
  551. package/dist/storage/blob/factory.d.ts.map +1 -0
  552. package/dist/storage/blob/factory.js +27 -0
  553. package/dist/storage/blob/local-blob-store.cjs +503 -0
  554. package/dist/storage/blob/local-blob-store.d.ts +57 -0
  555. package/dist/storage/blob/local-blob-store.d.ts.map +1 -0
  556. package/dist/storage/blob/local-blob-store.js +470 -0
  557. package/dist/storage/blob/schemas.cjs +53 -0
  558. package/dist/storage/blob/schemas.d.ts +80 -0
  559. package/dist/storage/blob/schemas.d.ts.map +1 -0
  560. package/dist/storage/blob/schemas.js +29 -0
  561. package/dist/storage/blob/types.cjs +16 -0
  562. package/dist/storage/blob/types.d.ts +154 -0
  563. package/dist/storage/blob/types.d.ts.map +1 -0
  564. package/dist/storage/blob/types.js +0 -0
  565. package/dist/storage/cache/factory.cjs +63 -0
  566. package/dist/storage/cache/factory.d.ts +8 -0
  567. package/dist/storage/cache/factory.d.ts.map +1 -0
  568. package/dist/storage/cache/factory.js +30 -0
  569. package/dist/storage/cache/memory-cache-store.cjs +107 -0
  570. package/dist/storage/cache/memory-cache-store.d.ts +26 -0
  571. package/dist/storage/cache/memory-cache-store.d.ts.map +1 -0
  572. package/dist/storage/cache/memory-cache-store.js +84 -0
  573. package/dist/storage/{backend/redis-backend.cjs → cache/redis-store.cjs} +8 -22
  574. package/dist/storage/{backend/redis-backend.d.ts → cache/redis-store.d.ts} +8 -14
  575. package/dist/storage/cache/redis-store.d.ts.map +1 -0
  576. package/dist/storage/{backend/redis-backend.js → cache/redis-store.js} +5 -18
  577. package/dist/storage/cache/schemas.cjs +77 -0
  578. package/dist/storage/cache/schemas.d.ts +151 -0
  579. package/dist/storage/cache/schemas.d.ts.map +1 -0
  580. package/dist/storage/cache/schemas.js +53 -0
  581. package/dist/storage/cache/types.cjs +16 -0
  582. package/dist/storage/{backend/cache-backend.d.cts → cache/types.d.ts} +3 -4
  583. package/dist/storage/cache/types.d.ts.map +1 -0
  584. package/dist/storage/cache/types.js +0 -0
  585. package/dist/storage/database/factory.cjs +86 -0
  586. package/dist/storage/database/factory.d.ts +10 -0
  587. package/dist/storage/database/factory.d.ts.map +1 -0
  588. package/dist/storage/database/factory.js +53 -0
  589. package/dist/storage/{backend/memory-backend.cjs → database/memory-database-store.cjs} +10 -28
  590. package/dist/storage/{backend/memory-backend.d.ts → database/memory-database-store.d.ts} +7 -12
  591. package/dist/storage/database/memory-database-store.d.ts.map +1 -0
  592. package/dist/storage/{backend/memory-backend.js → database/memory-database-store.js} +7 -24
  593. package/dist/storage/{backend/postgres-backend.cjs → database/postgres-store.cjs} +11 -11
  594. package/dist/storage/{backend/postgres-backend.d.ts → database/postgres-store.d.ts} +8 -11
  595. package/dist/storage/database/postgres-store.d.ts.map +1 -0
  596. package/dist/storage/{backend/postgres-backend.js → database/postgres-store.js} +8 -7
  597. package/dist/storage/database/schemas.cjs +89 -0
  598. package/dist/storage/database/schemas.d.ts +227 -0
  599. package/dist/storage/database/schemas.d.ts.map +1 -0
  600. package/dist/storage/database/schemas.js +65 -0
  601. package/dist/storage/{backend/sqlite-backend.cjs → database/sqlite-store.cjs} +35 -16
  602. package/dist/storage/{backend/sqlite-backend.d.cts → database/sqlite-store.d.ts} +9 -11
  603. package/dist/storage/database/sqlite-store.d.ts.map +1 -0
  604. package/dist/storage/{backend/sqlite-backend.js → database/sqlite-store.js} +32 -12
  605. package/dist/storage/database/types.cjs +16 -0
  606. package/dist/storage/{backend/database-backend.d.cts → database/types.d.ts} +3 -4
  607. package/dist/storage/database/types.d.ts.map +1 -0
  608. package/dist/storage/database/types.js +0 -0
  609. package/dist/storage/error-codes.cjs +16 -0
  610. package/dist/storage/error-codes.d.ts +20 -5
  611. package/dist/storage/error-codes.d.ts.map +1 -0
  612. package/dist/storage/error-codes.js +17 -0
  613. package/dist/storage/errors.cjs +210 -7
  614. package/dist/storage/errors.d.ts +75 -19
  615. package/dist/storage/errors.d.ts.map +1 -0
  616. package/dist/storage/errors.js +205 -1
  617. package/dist/storage/index.cjs +24 -5
  618. package/dist/storage/index.d.ts +48 -7
  619. package/dist/storage/index.d.ts.map +1 -0
  620. package/dist/storage/index.js +21 -4
  621. package/dist/storage/schemas.cjs +22 -84
  622. package/dist/storage/schemas.d.ts +98 -574
  623. package/dist/storage/schemas.d.ts.map +1 -0
  624. package/dist/storage/schemas.js +26 -84
  625. package/dist/storage/storage-manager.cjs +135 -118
  626. package/dist/storage/storage-manager.d.ts +55 -26
  627. package/dist/storage/storage-manager.d.ts.map +1 -0
  628. package/dist/storage/storage-manager.js +135 -107
  629. package/dist/storage/types.d.ts +7 -5
  630. package/dist/storage/types.d.ts.map +1 -0
  631. package/dist/systemPrompt/contributors.cjs +54 -0
  632. package/dist/systemPrompt/contributors.d.ts +30 -15
  633. package/dist/systemPrompt/contributors.d.ts.map +1 -0
  634. package/dist/systemPrompt/contributors.js +54 -0
  635. package/dist/systemPrompt/error-codes.d.ts +2 -3
  636. package/dist/systemPrompt/error-codes.d.ts.map +1 -0
  637. package/dist/systemPrompt/error-codes.js +1 -0
  638. package/dist/systemPrompt/errors.d.ts +2 -17
  639. package/dist/systemPrompt/errors.d.ts.map +1 -0
  640. package/dist/systemPrompt/errors.js +1 -0
  641. package/dist/systemPrompt/in-built-prompts.cjs +13 -15
  642. package/dist/systemPrompt/in-built-prompts.d.ts +4 -14
  643. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -0
  644. package/dist/systemPrompt/in-built-prompts.js +14 -15
  645. package/dist/systemPrompt/index.cjs +11 -0
  646. package/dist/systemPrompt/index.d.ts +7 -14
  647. package/dist/systemPrompt/index.d.ts.map +1 -0
  648. package/dist/systemPrompt/index.js +9 -0
  649. package/dist/systemPrompt/manager.cjs +24 -6
  650. package/dist/systemPrompt/manager.d.ts +8 -16
  651. package/dist/systemPrompt/manager.d.ts.map +1 -0
  652. package/dist/systemPrompt/manager.js +25 -6
  653. package/dist/systemPrompt/registry.d.ts +6 -16
  654. package/dist/systemPrompt/registry.d.ts.map +1 -0
  655. package/dist/systemPrompt/registry.js +1 -0
  656. package/dist/systemPrompt/schemas.cjs +17 -3
  657. package/dist/systemPrompt/schemas.d.ts +204 -30
  658. package/dist/systemPrompt/schemas.d.ts.map +1 -0
  659. package/dist/systemPrompt/schemas.js +18 -3
  660. package/dist/systemPrompt/types.d.ts +3 -12
  661. package/dist/systemPrompt/types.d.ts.map +1 -0
  662. package/dist/telemetry/decorators.cjs +175 -0
  663. package/dist/telemetry/decorators.d.ts +17 -0
  664. package/dist/telemetry/decorators.d.ts.map +1 -0
  665. package/dist/telemetry/decorators.js +157 -0
  666. package/dist/telemetry/exporters.cjs +108 -0
  667. package/dist/telemetry/exporters.d.ts +29 -0
  668. package/dist/telemetry/exporters.d.ts.map +1 -0
  669. package/dist/telemetry/exporters.js +85 -0
  670. package/dist/telemetry/index.cjs +28 -0
  671. package/dist/telemetry/index.d.ts +2 -0
  672. package/dist/telemetry/index.d.ts.map +1 -0
  673. package/dist/telemetry/index.js +5 -0
  674. package/dist/telemetry/schemas.cjs +71 -0
  675. package/dist/telemetry/schemas.d.ts +54 -0
  676. package/dist/telemetry/schemas.d.ts.map +1 -0
  677. package/dist/telemetry/schemas.js +48 -0
  678. package/dist/telemetry/telemetry.cjs +228 -0
  679. package/dist/telemetry/telemetry.d.ts +74 -0
  680. package/dist/telemetry/telemetry.d.ts.map +1 -0
  681. package/dist/telemetry/telemetry.js +205 -0
  682. package/dist/telemetry/types.cjs +16 -0
  683. package/dist/telemetry/types.d.ts +22 -0
  684. package/dist/telemetry/types.d.ts.map +1 -0
  685. package/dist/telemetry/types.js +0 -0
  686. package/dist/telemetry/utils.cjs +87 -0
  687. package/dist/telemetry/utils.d.ts +21 -0
  688. package/dist/telemetry/utils.d.ts.map +1 -0
  689. package/dist/telemetry/utils.js +62 -0
  690. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +1 -1
  691. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +6 -12
  692. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -0
  693. package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -1
  694. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +3 -5
  695. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -0
  696. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
  697. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +9 -9
  698. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +7 -13
  699. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -0
  700. package/dist/tools/confirmation/allowed-tools-provider/storage.js +10 -9
  701. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -3
  702. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -0
  703. package/dist/tools/error-codes.d.ts +2 -3
  704. package/dist/tools/error-codes.d.ts.map +1 -0
  705. package/dist/tools/error-codes.js +1 -0
  706. package/dist/tools/errors.d.ts +2 -17
  707. package/dist/tools/errors.d.ts.map +1 -0
  708. package/dist/tools/errors.js +1 -0
  709. package/dist/tools/index.cjs +0 -2
  710. package/dist/tools/index.d.ts +11 -19
  711. package/dist/tools/index.d.ts.map +1 -0
  712. package/dist/tools/index.js +1 -1
  713. package/dist/tools/internal-tools/constants.cjs +39 -0
  714. package/dist/tools/internal-tools/constants.d.ts +12 -0
  715. package/dist/tools/internal-tools/constants.d.ts.map +1 -0
  716. package/dist/tools/internal-tools/constants.js +16 -0
  717. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +57 -0
  718. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +18 -0
  719. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +1 -0
  720. package/dist/tools/internal-tools/implementations/ask-user-tool.js +34 -0
  721. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
  722. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
  723. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
  724. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
  725. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
  726. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
  727. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
  728. package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
  729. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
  730. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
  731. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
  732. package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
  733. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
  734. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
  735. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
  736. package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
  737. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
  738. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
  739. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
  740. package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
  741. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
  742. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
  743. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
  744. package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
  745. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
  746. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
  747. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
  748. package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
  749. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +3 -11
  750. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +1 -0
  751. package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
  752. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
  753. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
  754. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
  755. package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
  756. package/dist/tools/internal-tools/index.cjs +3 -1
  757. package/dist/tools/internal-tools/index.d.ts +4 -13
  758. package/dist/tools/internal-tools/index.d.ts.map +1 -0
  759. package/dist/tools/internal-tools/index.js +1 -0
  760. package/dist/tools/internal-tools/provider.cjs +9 -11
  761. package/dist/tools/internal-tools/provider.d.ts +6 -20
  762. package/dist/tools/internal-tools/provider.d.ts.map +1 -0
  763. package/dist/tools/internal-tools/provider.js +10 -11
  764. package/dist/tools/internal-tools/registry.cjs +45 -4
  765. package/dist/tools/internal-tools/registry.d.ts +13 -22
  766. package/dist/tools/internal-tools/registry.d.ts.map +1 -0
  767. package/dist/tools/internal-tools/registry.js +46 -3
  768. package/dist/tools/schemas.cjs +32 -7
  769. package/dist/tools/schemas.d.ts +41 -8
  770. package/dist/tools/schemas.d.ts.map +1 -0
  771. package/dist/tools/schemas.js +25 -4
  772. package/dist/tools/tool-manager.cjs +329 -30
  773. package/dist/tools/tool-manager.d.ts +94 -22
  774. package/dist/tools/tool-manager.d.ts.map +1 -0
  775. package/dist/tools/tool-manager.js +289 -30
  776. package/dist/tools/types.d.ts +9 -11
  777. package/dist/tools/types.d.ts.map +1 -0
  778. package/dist/utils/api-key-resolver.d.ts +5 -7
  779. package/dist/utils/api-key-resolver.d.ts.map +1 -0
  780. package/dist/utils/api-key-resolver.js +1 -0
  781. package/dist/utils/api-key-store.d.ts +5 -7
  782. package/dist/utils/api-key-store.d.ts.map +1 -0
  783. package/dist/utils/api-key-store.js +1 -0
  784. package/dist/utils/async-context.cjs +51 -0
  785. package/dist/utils/async-context.d.ts +68 -0
  786. package/dist/utils/async-context.d.ts.map +1 -0
  787. package/dist/utils/async-context.js +25 -0
  788. package/dist/utils/debug.cjs +40 -0
  789. package/dist/utils/debug.d.ts +2 -0
  790. package/dist/utils/debug.d.ts.map +1 -0
  791. package/dist/utils/debug.js +17 -0
  792. package/dist/utils/env.d.ts +4 -5
  793. package/dist/utils/env.d.ts.map +1 -0
  794. package/dist/utils/env.js +1 -0
  795. package/dist/utils/error-conversion.d.ts +2 -3
  796. package/dist/utils/error-conversion.d.ts.map +1 -0
  797. package/dist/utils/error-conversion.js +1 -0
  798. package/dist/utils/execution-context.d.ts +5 -6
  799. package/dist/utils/execution-context.d.ts.map +1 -0
  800. package/dist/utils/execution-context.js +1 -0
  801. package/dist/utils/fs-walk.d.ts +2 -3
  802. package/dist/utils/fs-walk.d.ts.map +1 -0
  803. package/dist/utils/fs-walk.js +1 -0
  804. package/dist/utils/index.cjs +3 -1
  805. package/dist/utils/index.d.ts +14 -63
  806. package/dist/utils/index.d.ts.map +1 -0
  807. package/dist/utils/index.js +1 -0
  808. package/dist/utils/path.d.ts +9 -10
  809. package/dist/utils/path.d.ts.map +1 -0
  810. package/dist/utils/path.js +1 -0
  811. package/dist/utils/port-utils.d.ts +2 -3
  812. package/dist/utils/port-utils.d.ts.map +1 -0
  813. package/dist/utils/port-utils.js +1 -0
  814. package/dist/utils/redactor.d.ts +2 -3
  815. package/dist/utils/redactor.d.ts.map +1 -0
  816. package/dist/utils/redactor.js +1 -0
  817. package/dist/utils/result.d.ts +14 -27
  818. package/dist/utils/result.d.ts.map +1 -0
  819. package/dist/utils/result.js +1 -0
  820. package/dist/utils/safe-stringify.d.ts +2 -3
  821. package/dist/utils/safe-stringify.d.ts.map +1 -0
  822. package/dist/utils/safe-stringify.js +1 -0
  823. package/dist/utils/schema-metadata.cjs +235 -0
  824. package/dist/utils/schema-metadata.d.ts +82 -0
  825. package/dist/utils/schema-metadata.d.ts.map +1 -0
  826. package/dist/utils/schema-metadata.js +208 -0
  827. package/dist/utils/schema.d.ts +2 -3
  828. package/dist/utils/schema.d.ts.map +1 -0
  829. package/dist/utils/schema.js +1 -0
  830. package/dist/utils/service-initializer.cjs +110 -35
  831. package/dist/utils/service-initializer.d.ts +19 -43
  832. package/dist/utils/service-initializer.d.ts.map +1 -0
  833. package/dist/utils/service-initializer.js +101 -35
  834. package/dist/utils/user-info.d.ts +2 -3
  835. package/dist/utils/user-info.d.ts.map +1 -0
  836. package/dist/utils/user-info.js +1 -0
  837. package/dist/utils/zod-schema-converter.d.ts +3 -5
  838. package/dist/utils/zod-schema-converter.d.ts.map +1 -0
  839. package/dist/utils/zod-schema-converter.js +1 -0
  840. package/package.json +16 -4
  841. package/dist/agent/DextoAgent.d.cts +0 -541
  842. package/dist/agent/agentCard.d.cts +0 -20
  843. package/dist/agent/error-codes.d.cts +0 -14
  844. package/dist/agent/errors.d.cts +0 -44
  845. package/dist/agent/index.d.cts +0 -60
  846. package/dist/agent/registry/error-codes.d.cts +0 -20
  847. package/dist/agent/registry/errors.d.cts +0 -67
  848. package/dist/agent/registry/registry.d.cts +0 -67
  849. package/dist/agent/registry/types.d.cts +0 -100
  850. package/dist/agent/schemas.d.cts +0 -1502
  851. package/dist/agent/state-manager.d.cts +0 -97
  852. package/dist/config/agent-resolver.d.cts +0 -15
  853. package/dist/config/error-codes.d.cts +0 -17
  854. package/dist/config/errors.d.cts +0 -49
  855. package/dist/config/index.d.cts +0 -7
  856. package/dist/config/loader.d.cts +0 -19
  857. package/dist/config/writer.d.cts +0 -38
  858. package/dist/context/compression/middle-removal.d.cts +0 -48
  859. package/dist/context/compression/oldest-removal.d.cts +0 -43
  860. package/dist/context/compression/types.d.cts +0 -21
  861. package/dist/context/error-codes.d.cts +0 -19
  862. package/dist/context/errors.d.cts +0 -36
  863. package/dist/context/index.d.cts +0 -19
  864. package/dist/context/manager.d.cts +0 -254
  865. package/dist/context/types.d.cts +0 -113
  866. package/dist/context/utils.d.cts +0 -79
  867. package/dist/errors/DextoBaseError.d.cts +0 -15
  868. package/dist/errors/DextoRuntimeError.d.cts +0 -37
  869. package/dist/errors/DextoValidationError.d.cts +0 -65
  870. package/dist/errors/index.d.cts +0 -18
  871. package/dist/errors/result-bridge.d.cts +0 -39
  872. package/dist/errors/types.d.cts +0 -62
  873. package/dist/events/index.d.cts +0 -272
  874. package/dist/index.browser.d.cts +0 -53
  875. package/dist/index.d.cts +0 -89
  876. package/dist/llm/error-codes.d.cts +0 -26
  877. package/dist/llm/errors.d.cts +0 -58
  878. package/dist/llm/formatters/anthropic.d.cts +0 -45
  879. package/dist/llm/formatters/factory.d.cts +0 -12
  880. package/dist/llm/formatters/openai.d.cts +0 -38
  881. package/dist/llm/formatters/types.d.cts +0 -43
  882. package/dist/llm/formatters/vercel.d.cts +0 -48
  883. package/dist/llm/index.d.cts +0 -39
  884. package/dist/llm/registry.d.cts +0 -176
  885. package/dist/llm/resolver.d.cts +0 -34
  886. package/dist/llm/schemas.d.cts +0 -111
  887. package/dist/llm/services/anthropic.d.cts +0 -65
  888. package/dist/llm/services/factory.d.cts +0 -39
  889. package/dist/llm/services/index.d.cts +0 -21
  890. package/dist/llm/services/openai.d.cts +0 -65
  891. package/dist/llm/services/test-utils.integration.d.cts +0 -83
  892. package/dist/llm/services/types.d.cts +0 -56
  893. package/dist/llm/services/vercel.d.cts +0 -72
  894. package/dist/llm/tokenizer/anthropic.d.cts +0 -21
  895. package/dist/llm/tokenizer/default.d.cts +0 -16
  896. package/dist/llm/tokenizer/factory.d.cts +0 -12
  897. package/dist/llm/tokenizer/google.d.cts +0 -31
  898. package/dist/llm/tokenizer/openai.d.cts +0 -32
  899. package/dist/llm/tokenizer/types.d.cts +0 -19
  900. package/dist/llm/types.d.cts +0 -29
  901. package/dist/llm/validation.d.cts +0 -60
  902. package/dist/logger/browser.d.cts +0 -29
  903. package/dist/logger/index.d.cts +0 -1
  904. package/dist/logger/logger.d.cts +0 -52
  905. package/dist/mcp/error-codes.d.cts +0 -16
  906. package/dist/mcp/errors.d.cts +0 -72
  907. package/dist/mcp/index.d.cts +0 -26
  908. package/dist/mcp/manager.d.cts +0 -163
  909. package/dist/mcp/mcp-client.d.cts +0 -108
  910. package/dist/mcp/resolver.d.cts +0 -22
  911. package/dist/mcp/schemas.d.cts +0 -266
  912. package/dist/mcp/types.d.cts +0 -21
  913. package/dist/preferences/constants.d.cts +0 -3
  914. package/dist/preferences/error-codes.d.cts +0 -9
  915. package/dist/preferences/errors.d.cts +0 -33
  916. package/dist/preferences/index.d.cts +0 -21
  917. package/dist/preferences/loader.d.cts +0 -45
  918. package/dist/preferences/schemas.d.cts +0 -104
  919. package/dist/search/index.d.cts +0 -5
  920. package/dist/search/search-service.d.cts +0 -47
  921. package/dist/search/types.d.cts +0 -78
  922. package/dist/session/chat-session.d.cts +0 -284
  923. package/dist/session/error-codes.d.cts +0 -13
  924. package/dist/session/errors.d.cts +0 -58
  925. package/dist/session/history/database.d.cts +0 -28
  926. package/dist/session/history/factory.d.cts +0 -11
  927. package/dist/session/history/types.d.cts +0 -17
  928. package/dist/session/index.d.cts +0 -53
  929. package/dist/session/schemas.d.cts +0 -16
  930. package/dist/session/session-manager.d.cts +0 -219
  931. package/dist/storage/backend/cache-backend.d.ts +0 -15
  932. package/dist/storage/backend/database-backend.d.ts +0 -19
  933. package/dist/storage/backend/memory-backend.d.cts +0 -34
  934. package/dist/storage/backend/postgres-backend.d.cts +0 -37
  935. package/dist/storage/backend/redis-backend.d.cts +0 -36
  936. package/dist/storage/backend/sqlite-backend.d.ts +0 -35
  937. package/dist/storage/backend/types.d.cts +0 -14
  938. package/dist/storage/backend/types.d.ts +0 -14
  939. package/dist/storage/error-codes.d.cts +0 -14
  940. package/dist/storage/errors.d.cts +0 -63
  941. package/dist/storage/index.d.cts +0 -7
  942. package/dist/storage/schemas.d.cts +0 -856
  943. package/dist/storage/storage-manager.d.cts +0 -52
  944. package/dist/storage/types.d.cts +0 -5
  945. package/dist/systemPrompt/contributors.d.cts +0 -44
  946. package/dist/systemPrompt/error-codes.d.cts +0 -13
  947. package/dist/systemPrompt/errors.d.cts +0 -55
  948. package/dist/systemPrompt/in-built-prompts.d.cts +0 -28
  949. package/dist/systemPrompt/index.d.cts +0 -14
  950. package/dist/systemPrompt/manager.d.cts +0 -31
  951. package/dist/systemPrompt/registry.d.cts +0 -20
  952. package/dist/systemPrompt/schemas.d.cts +0 -401
  953. package/dist/systemPrompt/types.d.cts +0 -19
  954. package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +0 -19
  955. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +0 -17
  956. package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +0 -26
  957. package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +0 -35
  958. package/dist/tools/confirmation/event-based-confirmation-provider.cjs +0 -158
  959. package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +0 -41
  960. package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +0 -41
  961. package/dist/tools/confirmation/event-based-confirmation-provider.js +0 -134
  962. package/dist/tools/confirmation/factory.cjs +0 -52
  963. package/dist/tools/confirmation/factory.d.cts +0 -37
  964. package/dist/tools/confirmation/factory.d.ts +0 -37
  965. package/dist/tools/confirmation/factory.js +0 -28
  966. package/dist/tools/confirmation/noop-confirmation-provider.cjs +0 -49
  967. package/dist/tools/confirmation/noop-confirmation-provider.d.cts +0 -22
  968. package/dist/tools/confirmation/noop-confirmation-provider.d.ts +0 -22
  969. package/dist/tools/confirmation/noop-confirmation-provider.js +0 -25
  970. package/dist/tools/confirmation/types.d.cts +0 -46
  971. package/dist/tools/confirmation/types.d.ts +0 -46
  972. package/dist/tools/error-codes.d.cts +0 -18
  973. package/dist/tools/errors.d.cts +0 -97
  974. package/dist/tools/index.d.cts +0 -19
  975. package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +0 -15
  976. package/dist/tools/internal-tools/index.d.cts +0 -13
  977. package/dist/tools/internal-tools/provider.d.cts +0 -66
  978. package/dist/tools/internal-tools/registry.d.cts +0 -45
  979. package/dist/tools/schemas.d.cts +0 -21
  980. package/dist/tools/tool-manager.d.cts +0 -106
  981. package/dist/tools/types.d.cts +0 -66
  982. package/dist/utils/api-key-resolver.d.cts +0 -23
  983. package/dist/utils/api-key-store.d.cts +0 -26
  984. package/dist/utils/env.d.cts +0 -29
  985. package/dist/utils/error-conversion.d.cts +0 -13
  986. package/dist/utils/execution-context.d.cts +0 -21
  987. package/dist/utils/fs-walk.d.cts +0 -9
  988. package/dist/utils/index.d.cts +0 -63
  989. package/dist/utils/path.d.cts +0 -54
  990. package/dist/utils/port-utils.d.cts +0 -11
  991. package/dist/utils/port-utils.spec.d.cts +0 -2
  992. package/dist/utils/port-utils.spec.d.ts +0 -2
  993. package/dist/utils/redactor.d.cts +0 -18
  994. package/dist/utils/result.d.cts +0 -180
  995. package/dist/utils/safe-stringify.d.cts +0 -7
  996. package/dist/utils/schema.d.cts +0 -6
  997. package/dist/utils/service-initializer.d.cts +0 -63
  998. package/dist/utils/user-info.d.cts +0 -3
  999. package/dist/utils/zod-schema-converter.d.cts +0 -13
  1000. /package/dist/{storage/backend → filesystem}/types.cjs +0 -0
  1001. /package/dist/{storage/backend → filesystem}/types.js +0 -0
  1002. /package/dist/{tools/confirmation → memory}/types.cjs +0 -0
  1003. /package/dist/{tools/confirmation → memory}/types.js +0 -0
  1004. /package/dist/{storage/backend/cache-backend.js → plugins/types.js} +0 -0
  1005. /package/dist/{storage/backend/database-backend.js → process/types.js} +0 -0
@@ -66,18 +66,18 @@ class SessionManager {
66
66
  */
67
67
  async restoreSessionsFromStorage() {
68
68
  try {
69
- const sessionKeys = await this.services.storage.database.list("session:");
69
+ const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
70
70
  import_logger.logger.debug(`Found ${sessionKeys.length} persisted sessions to restore`);
71
71
  for (const sessionKey of sessionKeys) {
72
72
  const sessionId = sessionKey.replace("session:", "");
73
- const sessionData = await this.services.storage.database.get(sessionKey);
73
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
74
74
  if (sessionData) {
75
75
  const now = Date.now();
76
76
  const lastActivity = sessionData.lastActivity;
77
77
  if (now - lastActivity <= this.sessionTTL) {
78
78
  import_logger.logger.debug(`Session ${sessionId} restored from storage`);
79
79
  } else {
80
- await this.services.storage.database.delete(sessionKey);
80
+ await this.services.storageManager.getDatabase().delete(sessionKey);
81
81
  import_logger.logger.debug(`Expired session ${sessionId} cleaned up during restore`);
82
82
  }
83
83
  }
@@ -132,16 +132,16 @@ class SessionManager {
132
132
  async createSessionInternal(id) {
133
133
  await this.cleanupExpiredSessions();
134
134
  const sessionKey = `session:${id}`;
135
- const existingMetadata = await this.services.storage.database.get(sessionKey);
135
+ const existingMetadata = await this.services.storageManager.getDatabase().get(sessionKey);
136
136
  if (existingMetadata) {
137
137
  await this.updateSessionActivity(id);
138
- const session2 = new import_chat_session.ChatSession(this.services, id);
138
+ const session2 = new import_chat_session.ChatSession({ ...this.services, sessionManager: this }, id);
139
139
  await session2.init();
140
140
  this.sessions.set(id, session2);
141
141
  import_logger.logger.info(`Restored session from storage: ${id}`, null, "cyan");
142
142
  return session2;
143
143
  }
144
- const activeSessionKeys = await this.services.storage.database.list("session:");
144
+ const activeSessionKeys = await this.services.storageManager.getDatabase().list("session:");
145
145
  if (activeSessionKeys.length >= this.maxSessions) {
146
146
  throw import_errors.SessionError.maxSessionsExceeded(activeSessionKeys.length, this.maxSessions);
147
147
  }
@@ -152,25 +152,25 @@ class SessionManager {
152
152
  messageCount: 0
153
153
  };
154
154
  try {
155
- await this.services.storage.database.set(sessionKey, sessionData);
155
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
156
156
  } catch (error) {
157
157
  import_logger.logger.error(`Failed to store session metadata for ${id}:`, error);
158
158
  throw error;
159
159
  }
160
160
  let session;
161
161
  try {
162
- session = new import_chat_session.ChatSession(this.services, id);
162
+ session = new import_chat_session.ChatSession({ ...this.services, sessionManager: this }, id);
163
163
  await session.init();
164
164
  this.sessions.set(id, session);
165
- await this.services.storage.cache.set(sessionKey, sessionData, this.sessionTTL / 1e3);
165
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
166
166
  import_logger.logger.info(`Created new session: ${id}`, null, "green");
167
167
  return session;
168
168
  } catch (error) {
169
169
  import_logger.logger.error(
170
170
  `Failed to initialize session ${id}: ${error instanceof Error ? error.message : String(error)}`
171
171
  );
172
- await this.services.storage.database.delete(sessionKey);
173
- await this.services.storage.cache.delete(sessionKey);
172
+ await this.services.storageManager.getDatabase().delete(sessionKey);
173
+ await this.services.storageManager.getCache().delete(sessionKey);
174
174
  const reason = error instanceof Error ? error.message : "unknown error";
175
175
  throw import_errors.SessionError.initializationFailed(id, reason);
176
176
  }
@@ -202,9 +202,12 @@ class SessionManager {
202
202
  }
203
203
  if (restoreFromStorage) {
204
204
  const sessionKey = `session:${sessionId}`;
205
- const sessionData = await this.services.storage.database.get(sessionKey);
205
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
206
206
  if (sessionData) {
207
- const session = new import_chat_session.ChatSession(this.services, sessionId);
207
+ const session = new import_chat_session.ChatSession(
208
+ { ...this.services, sessionManager: this },
209
+ sessionId
210
+ );
208
211
  await session.init();
209
212
  this.sessions.set(sessionId, session);
210
213
  return session;
@@ -226,7 +229,7 @@ class SessionManager {
226
229
  this.sessions.delete(sessionId);
227
230
  }
228
231
  const sessionKey = `session:${sessionId}`;
229
- await this.services.storage.cache.delete(sessionKey);
232
+ await this.services.storageManager.getCache().delete(sessionKey);
230
233
  import_logger.logger.debug(`Ended session (removed from memory, chat history preserved): ${sessionId}`);
231
234
  }
232
235
  /**
@@ -244,8 +247,8 @@ class SessionManager {
244
247
  this.sessions.delete(sessionId);
245
248
  }
246
249
  const sessionKey = `session:${sessionId}`;
247
- await this.services.storage.database.delete(sessionKey);
248
- await this.services.storage.cache.delete(sessionKey);
250
+ await this.services.storageManager.getDatabase().delete(sessionKey);
251
+ await this.services.storageManager.getCache().delete(sessionKey);
249
252
  import_logger.logger.debug(`Deleted session and conversation history: ${sessionId}`);
250
253
  }
251
254
  /**
@@ -262,12 +265,12 @@ class SessionManager {
262
265
  }
263
266
  await session.reset();
264
267
  const sessionKey = `session:${sessionId}`;
265
- const sessionData = await this.services.storage.database.get(sessionKey);
268
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
266
269
  if (sessionData) {
267
270
  sessionData.messageCount = 0;
268
271
  sessionData.lastActivity = Date.now();
269
- await this.services.storage.database.set(sessionKey, sessionData);
270
- await this.services.storage.cache.set(sessionKey, sessionData, this.sessionTTL / 1e3);
272
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
273
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
271
274
  }
272
275
  import_logger.logger.debug(`Reset session conversation: ${sessionId}`);
273
276
  }
@@ -278,7 +281,7 @@ class SessionManager {
278
281
  */
279
282
  async listSessions() {
280
283
  await this.ensureInitialized();
281
- const sessionKeys = await this.services.storage.database.list("session:");
284
+ const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
282
285
  return sessionKeys.map((key) => key.replace("session:", ""));
283
286
  }
284
287
  /**
@@ -290,11 +293,12 @@ class SessionManager {
290
293
  async getSessionMetadata(sessionId) {
291
294
  await this.ensureInitialized();
292
295
  const sessionKey = `session:${sessionId}`;
293
- const sessionData = await this.services.storage.database.get(sessionKey);
296
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
294
297
  return sessionData ? {
295
298
  createdAt: sessionData.createdAt,
296
299
  lastActivity: sessionData.lastActivity,
297
- messageCount: sessionData.messageCount
300
+ messageCount: sessionData.messageCount,
301
+ title: sessionData.metadata?.title
298
302
  } : void 0;
299
303
  }
300
304
  /**
@@ -311,11 +315,11 @@ class SessionManager {
311
315
  */
312
316
  async updateSessionActivity(sessionId) {
313
317
  const sessionKey = `session:${sessionId}`;
314
- const sessionData = await this.services.storage.database.get(sessionKey);
318
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
315
319
  if (sessionData) {
316
320
  sessionData.lastActivity = Date.now();
317
- await this.services.storage.database.set(sessionKey, sessionData);
318
- await this.services.storage.cache.set(sessionKey, sessionData, this.sessionTTL / 1e3);
321
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
322
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
319
323
  }
320
324
  }
321
325
  /**
@@ -324,13 +328,43 @@ class SessionManager {
324
328
  async incrementMessageCount(sessionId) {
325
329
  await this.ensureInitialized();
326
330
  const sessionKey = `session:${sessionId}`;
327
- const sessionData = await this.services.storage.database.get(sessionKey);
331
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
328
332
  if (sessionData) {
329
333
  sessionData.messageCount++;
330
334
  sessionData.lastActivity = Date.now();
331
- await this.services.storage.database.set(sessionKey, sessionData);
332
- await this.services.storage.cache.set(sessionKey, sessionData, this.sessionTTL / 1e3);
335
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
336
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
337
+ }
338
+ }
339
+ /**
340
+ * Sets the human-friendly title for a session.
341
+ * Title is stored in session metadata and cached with TTL.
342
+ */
343
+ async setSessionTitle(sessionId, title, opts = {}) {
344
+ await this.ensureInitialized();
345
+ const sessionKey = `session:${sessionId}`;
346
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
347
+ if (!sessionData) {
348
+ throw import_errors.SessionError.notFound(sessionId);
333
349
  }
350
+ const normalized = title.trim().slice(0, 80);
351
+ if (opts.ifUnsetOnly && sessionData.metadata?.title) {
352
+ return;
353
+ }
354
+ sessionData.metadata = sessionData.metadata || {};
355
+ sessionData.metadata.title = normalized;
356
+ sessionData.lastActivity = Date.now();
357
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
358
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
359
+ }
360
+ /**
361
+ * Gets the stored title for a session, if any.
362
+ */
363
+ async getSessionTitle(sessionId) {
364
+ await this.ensureInitialized();
365
+ const sessionKey = `session:${sessionId}`;
366
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
367
+ return sessionData?.metadata?.title;
334
368
  }
335
369
  /**
336
370
  * Cleans up expired sessions from memory only, preserving chat history in storage.
@@ -341,7 +375,7 @@ class SessionManager {
341
375
  const expiredSessions = [];
342
376
  for (const [sessionId, _session] of this.sessions.entries()) {
343
377
  const sessionKey = `session:${sessionId}`;
344
- const sessionData = await this.services.storage.database.get(sessionKey);
378
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
345
379
  if (sessionData && now - sessionData.lastActivity > this.sessionTTL) {
346
380
  expiredSessions.push(sessionId);
347
381
  }
@@ -1,51 +1,22 @@
1
1
  import { ChatSession } from './chat-session.js';
2
- import { PromptManager } from '../systemPrompt/manager.js';
2
+ import { SystemPromptManager } from '../systemPrompt/manager.js';
3
3
  import { ToolManager } from '../tools/tool-manager.js';
4
4
  import { AgentEventBus } from '../events/index.js';
5
- import { AgentStateManager } from '../agent/state-manager.js';
6
- import { ValidatedLLMConfig } from '../llm/schemas.js';
7
- import { StorageBackends } from '../storage/backend/types.js';
8
- import '../context/manager.js';
9
- import '../llm/formatters/types.js';
10
- import '../context/types.js';
11
- import '../llm/types.js';
12
- import '../llm/tokenizer/types.js';
13
- import '../context/compression/types.js';
14
- import '../systemPrompt/types.js';
15
- import '../mcp/manager.js';
16
- import '../mcp/schemas.js';
17
- import 'zod';
18
- import '../mcp/types.js';
19
- import '@modelcontextprotocol/sdk/client/index.js';
20
- import '../tools/types.js';
21
- import 'json-schema';
22
- import '@modelcontextprotocol/sdk/types.js';
23
- import './history/types.js';
24
- import '../llm/services/types.js';
25
- import 'ai';
26
- import '../systemPrompt/schemas.js';
27
- import '../tools/internal-tools/registry.js';
28
- import '../search/search-service.js';
29
- import '../storage/backend/database-backend.js';
30
- import '../search/types.js';
31
- import '../tools/schemas.js';
32
- import '../tools/confirmation/types.js';
33
- import '../tools/confirmation/allowed-tools-provider/types.js';
34
- import 'events';
35
- import '../agent/schemas.js';
36
- import '../storage/backend/cache-backend.js';
37
- import '../storage/schemas.js';
38
-
39
- interface SessionMetadata {
5
+ import type { AgentStateManager } from '../agent/state-manager.js';
6
+ import type { ValidatedLLMConfig } from '../llm/schemas.js';
7
+ import type { StorageManager } from '../storage/index.js';
8
+ import type { PluginManager } from '../plugins/manager.js';
9
+ export interface SessionMetadata {
40
10
  createdAt: number;
41
11
  lastActivity: number;
42
12
  messageCount: number;
13
+ title?: string;
43
14
  }
44
- interface SessionManagerConfig {
15
+ export interface SessionManagerConfig {
45
16
  maxSessions?: number;
46
17
  sessionTTL?: number;
47
18
  }
48
- interface SessionData {
19
+ export interface SessionData {
49
20
  id: string;
50
21
  userId?: string;
51
22
  createdAt: number;
@@ -62,8 +33,14 @@ interface SessionData {
62
33
  * - Cleaning up expired sessions
63
34
  * - Providing session lifecycle management
64
35
  * - Persisting session data using the simplified storage backends
36
+ *
37
+ * TODO (Telemetry): Add OpenTelemetry metrics collection later if needed
38
+ * - Active session gauges (current count)
39
+ * - Session creation/deletion counters
40
+ * - Session duration histograms
41
+ * - Messages per session histograms
65
42
  */
66
- declare class SessionManager {
43
+ export declare class SessionManager {
67
44
  private services;
68
45
  private sessions;
69
46
  private readonly maxSessions;
@@ -74,10 +51,13 @@ declare class SessionManager {
74
51
  private readonly pendingCreations;
75
52
  constructor(services: {
76
53
  stateManager: AgentStateManager;
77
- promptManager: PromptManager;
54
+ systemPromptManager: SystemPromptManager;
78
55
  toolManager: ToolManager;
79
56
  agentEventBus: AgentEventBus;
80
- storage: StorageBackends;
57
+ storageManager: StorageManager;
58
+ resourceManager: import('../resources/index.js').ResourceManager;
59
+ pluginManager: PluginManager;
60
+ mcpManager: import('../mcp/manager.js').MCPManager;
81
61
  }, config?: SessionManagerConfig);
82
62
  /**
83
63
  * Initialize the SessionManager with persistent storage.
@@ -167,6 +147,17 @@ declare class SessionManager {
167
147
  * Increments the message count for a session.
168
148
  */
169
149
  incrementMessageCount(sessionId: string): Promise<void>;
150
+ /**
151
+ * Sets the human-friendly title for a session.
152
+ * Title is stored in session metadata and cached with TTL.
153
+ */
154
+ setSessionTitle(sessionId: string, title: string, opts?: {
155
+ ifUnsetOnly?: boolean;
156
+ }): Promise<void>;
157
+ /**
158
+ * Gets the stored title for a session, if any.
159
+ */
160
+ getSessionTitle(sessionId: string): Promise<string | undefined>;
170
161
  /**
171
162
  * Cleans up expired sessions from memory only, preserving chat history in storage.
172
163
  * This allows inactive sessions to be garbage collected while keeping conversations restorable.
@@ -215,5 +206,4 @@ declare class SessionManager {
215
206
  */
216
207
  cleanup(): Promise<void>;
217
208
  }
218
-
219
- export { type SessionData, SessionManager, type SessionManagerConfig, type SessionMetadata };
209
+ //# sourceMappingURL=session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAc;IAWnB,OAAO,CAAC,QAAQ;IAVpB,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,qBAAqB,CAAiB;IAE9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;gBAGhE,QAAQ,EAAE;QACd,YAAY,EAAE,iBAAiB,CAAC;QAChC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,WAAW,EAAE,WAAW,CAAC;QACzB,aAAa,EAAE,aAAa,CAAC;QAC7B,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,EAAE,OAAO,uBAAuB,EAAE,eAAe,CAAC;QACjE,aAAa,EAAE,aAAa,CAAC;QAC7B,UAAU,EAAE,OAAO,mBAAmB,EAAE,UAAU,CAAC;KACtD,EACD,MAAM,GAAE,oBAAyB;IAMrC;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBlC;;;OAGG;YACW,0BAA0B;IAmCxC;;OAEG;YACW,iBAAiB;IAS/B;;;;;;OAMG;IACU,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA6BpE;;;OAGG;YACW,qBAAqB;IAsEnC;;;;;OAKG;IACU,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAKtD;;;;;;OAMG;IACU,UAAU,CACnB,SAAS,EAAE,MAAM,EACjB,kBAAkB,GAAE,OAAc,GACnC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAkCnC;;;;;OAKG;IACU,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzD;;;;;OAKG;IACU,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D;;;;;OAKG;IACU,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B3D;;;;OAIG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM9C;;;;;OAKG;IACU,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAgBxF;;OAEG;IACI,SAAS,IAAI,oBAAoB;IAOxC;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;IACU,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpE;;;OAGG;IACU,eAAe,CACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GACrC,OAAO,CAAC,IAAI,CAAC;IA2BhB;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS5E;;;OAGG;YACW,sBAAsB;IAoCpC;;;;OAIG;IACU,uBAAuB,CAChC,YAAY,EAAE,kBAAkB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA6CnD;;;;;OAKG;IACU,2BAA2B,CACpC,YAAY,EAAE,kBAAkB,EAChC,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAoBnD;;;;OAIG;IACU,0BAA0B,CACnC,YAAY,EAAE,kBAAkB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiBnD;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IAcF;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA4BxC"}
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { randomUUID } from "crypto";
2
3
  import { ChatSession } from "./chat-session.js";
3
4
  import { logger } from "../logger/index.js";
@@ -43,18 +44,18 @@ class SessionManager {
43
44
  */
44
45
  async restoreSessionsFromStorage() {
45
46
  try {
46
- const sessionKeys = await this.services.storage.database.list("session:");
47
+ const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
47
48
  logger.debug(`Found ${sessionKeys.length} persisted sessions to restore`);
48
49
  for (const sessionKey of sessionKeys) {
49
50
  const sessionId = sessionKey.replace("session:", "");
50
- const sessionData = await this.services.storage.database.get(sessionKey);
51
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
51
52
  if (sessionData) {
52
53
  const now = Date.now();
53
54
  const lastActivity = sessionData.lastActivity;
54
55
  if (now - lastActivity <= this.sessionTTL) {
55
56
  logger.debug(`Session ${sessionId} restored from storage`);
56
57
  } else {
57
- await this.services.storage.database.delete(sessionKey);
58
+ await this.services.storageManager.getDatabase().delete(sessionKey);
58
59
  logger.debug(`Expired session ${sessionId} cleaned up during restore`);
59
60
  }
60
61
  }
@@ -109,16 +110,16 @@ class SessionManager {
109
110
  async createSessionInternal(id) {
110
111
  await this.cleanupExpiredSessions();
111
112
  const sessionKey = `session:${id}`;
112
- const existingMetadata = await this.services.storage.database.get(sessionKey);
113
+ const existingMetadata = await this.services.storageManager.getDatabase().get(sessionKey);
113
114
  if (existingMetadata) {
114
115
  await this.updateSessionActivity(id);
115
- const session2 = new ChatSession(this.services, id);
116
+ const session2 = new ChatSession({ ...this.services, sessionManager: this }, id);
116
117
  await session2.init();
117
118
  this.sessions.set(id, session2);
118
119
  logger.info(`Restored session from storage: ${id}`, null, "cyan");
119
120
  return session2;
120
121
  }
121
- const activeSessionKeys = await this.services.storage.database.list("session:");
122
+ const activeSessionKeys = await this.services.storageManager.getDatabase().list("session:");
122
123
  if (activeSessionKeys.length >= this.maxSessions) {
123
124
  throw SessionError.maxSessionsExceeded(activeSessionKeys.length, this.maxSessions);
124
125
  }
@@ -129,25 +130,25 @@ class SessionManager {
129
130
  messageCount: 0
130
131
  };
131
132
  try {
132
- await this.services.storage.database.set(sessionKey, sessionData);
133
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
133
134
  } catch (error) {
134
135
  logger.error(`Failed to store session metadata for ${id}:`, error);
135
136
  throw error;
136
137
  }
137
138
  let session;
138
139
  try {
139
- session = new ChatSession(this.services, id);
140
+ session = new ChatSession({ ...this.services, sessionManager: this }, id);
140
141
  await session.init();
141
142
  this.sessions.set(id, session);
142
- await this.services.storage.cache.set(sessionKey, sessionData, this.sessionTTL / 1e3);
143
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
143
144
  logger.info(`Created new session: ${id}`, null, "green");
144
145
  return session;
145
146
  } catch (error) {
146
147
  logger.error(
147
148
  `Failed to initialize session ${id}: ${error instanceof Error ? error.message : String(error)}`
148
149
  );
149
- await this.services.storage.database.delete(sessionKey);
150
- await this.services.storage.cache.delete(sessionKey);
150
+ await this.services.storageManager.getDatabase().delete(sessionKey);
151
+ await this.services.storageManager.getCache().delete(sessionKey);
151
152
  const reason = error instanceof Error ? error.message : "unknown error";
152
153
  throw SessionError.initializationFailed(id, reason);
153
154
  }
@@ -179,9 +180,12 @@ class SessionManager {
179
180
  }
180
181
  if (restoreFromStorage) {
181
182
  const sessionKey = `session:${sessionId}`;
182
- const sessionData = await this.services.storage.database.get(sessionKey);
183
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
183
184
  if (sessionData) {
184
- const session = new ChatSession(this.services, sessionId);
185
+ const session = new ChatSession(
186
+ { ...this.services, sessionManager: this },
187
+ sessionId
188
+ );
185
189
  await session.init();
186
190
  this.sessions.set(sessionId, session);
187
191
  return session;
@@ -203,7 +207,7 @@ class SessionManager {
203
207
  this.sessions.delete(sessionId);
204
208
  }
205
209
  const sessionKey = `session:${sessionId}`;
206
- await this.services.storage.cache.delete(sessionKey);
210
+ await this.services.storageManager.getCache().delete(sessionKey);
207
211
  logger.debug(`Ended session (removed from memory, chat history preserved): ${sessionId}`);
208
212
  }
209
213
  /**
@@ -221,8 +225,8 @@ class SessionManager {
221
225
  this.sessions.delete(sessionId);
222
226
  }
223
227
  const sessionKey = `session:${sessionId}`;
224
- await this.services.storage.database.delete(sessionKey);
225
- await this.services.storage.cache.delete(sessionKey);
228
+ await this.services.storageManager.getDatabase().delete(sessionKey);
229
+ await this.services.storageManager.getCache().delete(sessionKey);
226
230
  logger.debug(`Deleted session and conversation history: ${sessionId}`);
227
231
  }
228
232
  /**
@@ -239,12 +243,12 @@ class SessionManager {
239
243
  }
240
244
  await session.reset();
241
245
  const sessionKey = `session:${sessionId}`;
242
- const sessionData = await this.services.storage.database.get(sessionKey);
246
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
243
247
  if (sessionData) {
244
248
  sessionData.messageCount = 0;
245
249
  sessionData.lastActivity = Date.now();
246
- await this.services.storage.database.set(sessionKey, sessionData);
247
- await this.services.storage.cache.set(sessionKey, sessionData, this.sessionTTL / 1e3);
250
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
251
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
248
252
  }
249
253
  logger.debug(`Reset session conversation: ${sessionId}`);
250
254
  }
@@ -255,7 +259,7 @@ class SessionManager {
255
259
  */
256
260
  async listSessions() {
257
261
  await this.ensureInitialized();
258
- const sessionKeys = await this.services.storage.database.list("session:");
262
+ const sessionKeys = await this.services.storageManager.getDatabase().list("session:");
259
263
  return sessionKeys.map((key) => key.replace("session:", ""));
260
264
  }
261
265
  /**
@@ -267,11 +271,12 @@ class SessionManager {
267
271
  async getSessionMetadata(sessionId) {
268
272
  await this.ensureInitialized();
269
273
  const sessionKey = `session:${sessionId}`;
270
- const sessionData = await this.services.storage.database.get(sessionKey);
274
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
271
275
  return sessionData ? {
272
276
  createdAt: sessionData.createdAt,
273
277
  lastActivity: sessionData.lastActivity,
274
- messageCount: sessionData.messageCount
278
+ messageCount: sessionData.messageCount,
279
+ title: sessionData.metadata?.title
275
280
  } : void 0;
276
281
  }
277
282
  /**
@@ -288,11 +293,11 @@ class SessionManager {
288
293
  */
289
294
  async updateSessionActivity(sessionId) {
290
295
  const sessionKey = `session:${sessionId}`;
291
- const sessionData = await this.services.storage.database.get(sessionKey);
296
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
292
297
  if (sessionData) {
293
298
  sessionData.lastActivity = Date.now();
294
- await this.services.storage.database.set(sessionKey, sessionData);
295
- await this.services.storage.cache.set(sessionKey, sessionData, this.sessionTTL / 1e3);
299
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
300
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
296
301
  }
297
302
  }
298
303
  /**
@@ -301,13 +306,43 @@ class SessionManager {
301
306
  async incrementMessageCount(sessionId) {
302
307
  await this.ensureInitialized();
303
308
  const sessionKey = `session:${sessionId}`;
304
- const sessionData = await this.services.storage.database.get(sessionKey);
309
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
305
310
  if (sessionData) {
306
311
  sessionData.messageCount++;
307
312
  sessionData.lastActivity = Date.now();
308
- await this.services.storage.database.set(sessionKey, sessionData);
309
- await this.services.storage.cache.set(sessionKey, sessionData, this.sessionTTL / 1e3);
313
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
314
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
315
+ }
316
+ }
317
+ /**
318
+ * Sets the human-friendly title for a session.
319
+ * Title is stored in session metadata and cached with TTL.
320
+ */
321
+ async setSessionTitle(sessionId, title, opts = {}) {
322
+ await this.ensureInitialized();
323
+ const sessionKey = `session:${sessionId}`;
324
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
325
+ if (!sessionData) {
326
+ throw SessionError.notFound(sessionId);
310
327
  }
328
+ const normalized = title.trim().slice(0, 80);
329
+ if (opts.ifUnsetOnly && sessionData.metadata?.title) {
330
+ return;
331
+ }
332
+ sessionData.metadata = sessionData.metadata || {};
333
+ sessionData.metadata.title = normalized;
334
+ sessionData.lastActivity = Date.now();
335
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
336
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
337
+ }
338
+ /**
339
+ * Gets the stored title for a session, if any.
340
+ */
341
+ async getSessionTitle(sessionId) {
342
+ await this.ensureInitialized();
343
+ const sessionKey = `session:${sessionId}`;
344
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
345
+ return sessionData?.metadata?.title;
311
346
  }
312
347
  /**
313
348
  * Cleans up expired sessions from memory only, preserving chat history in storage.
@@ -318,7 +353,7 @@ class SessionManager {
318
353
  const expiredSessions = [];
319
354
  for (const [sessionId, _session] of this.sessions.entries()) {
320
355
  const sessionKey = `session:${sessionId}`;
321
- const sessionData = await this.services.storage.database.get(sessionKey);
356
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
322
357
  if (sessionData && now - sessionData.lastActivity > this.sessionTTL) {
323
358
  expiredSessions.push(sessionId);
324
359
  }