@dexto/core 1.1.11 → 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 (416) hide show
  1. package/README.md +24 -4
  2. package/dist/Dexto.cjs +4 -14
  3. package/dist/Dexto.d.ts +8 -29
  4. package/dist/Dexto.d.ts.map +1 -1
  5. package/dist/Dexto.js +4 -12
  6. package/dist/agent/DextoAgent.cjs +92 -3
  7. package/dist/agent/DextoAgent.d.ts +12 -4
  8. package/dist/agent/DextoAgent.d.ts.map +1 -1
  9. package/dist/agent/DextoAgent.js +52 -3
  10. package/dist/agent/agentCard.js +1 -0
  11. package/dist/agent/error-codes.cjs +1 -0
  12. package/dist/agent/error-codes.d.ts +1 -0
  13. package/dist/agent/error-codes.d.ts.map +1 -1
  14. package/dist/agent/error-codes.js +2 -0
  15. package/dist/agent/errors.cjs +13 -0
  16. package/dist/agent/errors.d.ts +4 -0
  17. package/dist/agent/errors.d.ts.map +1 -1
  18. package/dist/agent/errors.js +14 -0
  19. package/dist/agent/index.js +1 -0
  20. package/dist/agent/registry/error-codes.js +1 -0
  21. package/dist/agent/registry/errors.js +1 -0
  22. package/dist/agent/registry/registry.js +1 -0
  23. package/dist/agent/registry/types.js +1 -0
  24. package/dist/agent/registry/user-registry.js +1 -0
  25. package/dist/agent/schemas.cjs +6 -1
  26. package/dist/agent/schemas.d.ts +113 -3
  27. package/dist/agent/schemas.d.ts.map +1 -1
  28. package/dist/agent/schemas.js +7 -1
  29. package/dist/agent/state-manager.js +1 -0
  30. package/dist/approval/error-codes.js +1 -0
  31. package/dist/approval/errors.js +1 -0
  32. package/dist/approval/index.js +1 -0
  33. package/dist/approval/manager.cjs +30 -0
  34. package/dist/approval/manager.d.ts +23 -1
  35. package/dist/approval/manager.d.ts.map +1 -1
  36. package/dist/approval/manager.js +31 -0
  37. package/dist/approval/providers/event-based-approval-provider.js +1 -0
  38. package/dist/approval/providers/factory.js +1 -0
  39. package/dist/approval/providers/noop-approval-provider.js +1 -0
  40. package/dist/approval/schemas.cjs +36 -0
  41. package/dist/approval/schemas.d.ts +173 -0
  42. package/dist/approval/schemas.d.ts.map +1 -1
  43. package/dist/approval/schemas.js +33 -0
  44. package/dist/approval/types.cjs +1 -0
  45. package/dist/approval/types.d.ts +27 -1
  46. package/dist/approval/types.d.ts.map +1 -1
  47. package/dist/approval/types.js +2 -0
  48. package/dist/chunk-C6A6W6XS.js +53 -0
  49. package/dist/config/agent-resolver.js +1 -0
  50. package/dist/config/error-codes.js +1 -0
  51. package/dist/config/errors.js +1 -0
  52. package/dist/config/loader.js +1 -0
  53. package/dist/config/writer.js +1 -0
  54. package/dist/context/compression/middle-removal.js +1 -0
  55. package/dist/context/compression/oldest-removal.js +1 -0
  56. package/dist/context/error-codes.js +1 -0
  57. package/dist/context/errors.js +1 -0
  58. package/dist/context/index.js +1 -0
  59. package/dist/context/manager.cjs +36 -1
  60. package/dist/context/manager.d.ts.map +1 -1
  61. package/dist/context/manager.js +27 -1
  62. package/dist/context/media-helpers.js +1 -0
  63. package/dist/context/utils.cjs +102 -6
  64. package/dist/context/utils.d.ts +35 -2
  65. package/dist/context/utils.d.ts.map +1 -1
  66. package/dist/context/utils.js +100 -6
  67. package/dist/errors/DextoBaseError.js +1 -0
  68. package/dist/errors/DextoRuntimeError.js +1 -0
  69. package/dist/errors/DextoValidationError.js +1 -0
  70. package/dist/errors/index.js +1 -0
  71. package/dist/errors/result-bridge.js +1 -0
  72. package/dist/errors/types.cjs +3 -0
  73. package/dist/errors/types.d.ts +7 -2
  74. package/dist/errors/types.d.ts.map +1 -1
  75. package/dist/errors/types.js +4 -0
  76. package/dist/events/index.cjs +1 -0
  77. package/dist/events/index.d.ts +6 -2
  78. package/dist/events/index.d.ts.map +1 -1
  79. package/dist/events/index.js +2 -0
  80. package/dist/filesystem/error-codes.cjs +53 -0
  81. package/dist/filesystem/error-codes.d.ts +31 -0
  82. package/dist/filesystem/error-codes.d.ts.map +1 -0
  83. package/dist/filesystem/error-codes.js +30 -0
  84. package/dist/filesystem/errors.cjs +303 -0
  85. package/dist/filesystem/errors.d.ts +109 -0
  86. package/dist/filesystem/errors.d.ts.map +1 -0
  87. package/dist/filesystem/errors.js +280 -0
  88. package/dist/filesystem/filesystem-service.cjs +482 -0
  89. package/dist/filesystem/filesystem-service.d.ts +57 -0
  90. package/dist/filesystem/filesystem-service.d.ts.map +1 -0
  91. package/dist/filesystem/filesystem-service.js +449 -0
  92. package/dist/filesystem/index.cjs +37 -0
  93. package/dist/filesystem/index.d.ts +11 -0
  94. package/dist/filesystem/index.d.ts.map +1 -0
  95. package/dist/filesystem/index.js +11 -0
  96. package/dist/filesystem/path-validator.cjs +172 -0
  97. package/dist/filesystem/path-validator.d.ts +53 -0
  98. package/dist/filesystem/path-validator.d.ts.map +1 -0
  99. package/dist/filesystem/path-validator.js +139 -0
  100. package/dist/filesystem/types.cjs +16 -0
  101. package/dist/filesystem/types.d.ts +171 -0
  102. package/dist/filesystem/types.d.ts.map +1 -0
  103. package/dist/filesystem/types.js +0 -0
  104. package/dist/index.browser.js +1 -0
  105. package/dist/index.cjs +3 -3
  106. package/dist/index.d.ts +2 -1
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +3 -2
  109. package/dist/llm/error-codes.js +1 -0
  110. package/dist/llm/errors.js +1 -0
  111. package/dist/llm/formatters/anthropic.js +1 -0
  112. package/dist/llm/formatters/factory.js +1 -0
  113. package/dist/llm/formatters/openai.js +1 -0
  114. package/dist/llm/formatters/vercel.js +1 -0
  115. package/dist/llm/registry.cjs +15 -15
  116. package/dist/llm/registry.d.ts +1 -1
  117. package/dist/llm/registry.js +16 -15
  118. package/dist/llm/resolver.js +1 -0
  119. package/dist/llm/schemas.cjs +6 -2
  120. package/dist/llm/schemas.d.ts +10 -0
  121. package/dist/llm/schemas.d.ts.map +1 -1
  122. package/dist/llm/schemas.js +7 -2
  123. package/dist/llm/services/anthropic.cjs +67 -0
  124. package/dist/llm/services/anthropic.d.ts +6 -0
  125. package/dist/llm/services/anthropic.d.ts.map +1 -1
  126. package/dist/llm/services/anthropic.js +27 -0
  127. package/dist/llm/services/factory.js +1 -0
  128. package/dist/llm/services/openai.cjs +87 -0
  129. package/dist/llm/services/openai.d.ts +6 -0
  130. package/dist/llm/services/openai.d.ts.map +1 -1
  131. package/dist/llm/services/openai.js +47 -0
  132. package/dist/llm/services/test-utils.integration.cjs +1 -1
  133. package/dist/llm/services/test-utils.integration.js +2 -1
  134. package/dist/llm/services/vercel.cjs +144 -97
  135. package/dist/llm/services/vercel.d.ts +6 -1
  136. package/dist/llm/services/vercel.d.ts.map +1 -1
  137. package/dist/llm/services/vercel.js +105 -98
  138. package/dist/llm/tokenizer/anthropic.js +1 -0
  139. package/dist/llm/tokenizer/default.js +1 -0
  140. package/dist/llm/tokenizer/factory.js +1 -0
  141. package/dist/llm/tokenizer/google.js +1 -0
  142. package/dist/llm/tokenizer/openai.cjs +1 -1
  143. package/dist/llm/tokenizer/openai.d.ts +1 -1
  144. package/dist/llm/tokenizer/openai.js +2 -1
  145. package/dist/llm/tokenizer/types.js +1 -0
  146. package/dist/llm/types.d.ts +2 -2
  147. package/dist/llm/types.d.ts.map +1 -1
  148. package/dist/llm/types.js +1 -0
  149. package/dist/llm/validation.js +1 -0
  150. package/dist/logger/browser.js +1 -0
  151. package/dist/logger/logger.d.ts +42 -0
  152. package/dist/logger/logger.d.ts.map +1 -1
  153. package/dist/logger/logger.js +1 -0
  154. package/dist/mcp/error-codes.cjs +1 -0
  155. package/dist/mcp/error-codes.d.ts +1 -0
  156. package/dist/mcp/error-codes.d.ts.map +1 -1
  157. package/dist/mcp/error-codes.js +2 -0
  158. package/dist/mcp/errors.cjs +12 -0
  159. package/dist/mcp/errors.d.ts +7 -0
  160. package/dist/mcp/errors.d.ts.map +1 -1
  161. package/dist/mcp/errors.js +13 -0
  162. package/dist/mcp/manager.cjs +66 -16
  163. package/dist/mcp/manager.d.ts +7 -0
  164. package/dist/mcp/manager.d.ts.map +1 -1
  165. package/dist/mcp/manager.js +67 -16
  166. package/dist/mcp/mcp-client.js +1 -0
  167. package/dist/mcp/resolver.js +1 -0
  168. package/dist/mcp/schemas.js +1 -0
  169. package/dist/mcp/types.d.ts +1 -1
  170. package/dist/mcp/types.d.ts.map +1 -1
  171. package/dist/memory/error-codes.js +1 -0
  172. package/dist/memory/errors.js +1 -0
  173. package/dist/memory/index.js +1 -0
  174. package/dist/memory/manager.js +1 -0
  175. package/dist/memory/schemas.js +1 -0
  176. package/dist/plugins/builtins/content-policy.js +1 -0
  177. package/dist/plugins/builtins/response-sanitizer.js +1 -0
  178. package/dist/plugins/error-codes.js +1 -0
  179. package/dist/plugins/index.js +1 -0
  180. package/dist/plugins/loader.js +1 -0
  181. package/dist/plugins/manager.js +1 -0
  182. package/dist/plugins/registrations/builtins.js +1 -0
  183. package/dist/plugins/schemas.js +1 -0
  184. package/dist/preferences/constants.js +1 -0
  185. package/dist/preferences/error-codes.js +1 -0
  186. package/dist/preferences/errors.js +1 -0
  187. package/dist/preferences/index.js +1 -0
  188. package/dist/preferences/loader.cjs +3 -1
  189. package/dist/preferences/loader.d.ts +10 -1
  190. package/dist/preferences/loader.d.ts.map +1 -1
  191. package/dist/preferences/loader.js +4 -1
  192. package/dist/preferences/schemas.cjs +2 -1
  193. package/dist/preferences/schemas.d.ts +8 -0
  194. package/dist/preferences/schemas.d.ts.map +1 -1
  195. package/dist/preferences/schemas.js +3 -1
  196. package/dist/process/command-validator.cjs +544 -0
  197. package/dist/process/command-validator.d.ts +46 -0
  198. package/dist/process/command-validator.d.ts.map +1 -0
  199. package/dist/process/command-validator.js +521 -0
  200. package/dist/process/error-codes.cjs +47 -0
  201. package/dist/process/error-codes.d.ts +25 -0
  202. package/dist/process/error-codes.d.ts.map +1 -0
  203. package/dist/process/error-codes.js +24 -0
  204. package/dist/process/errors.cjs +244 -0
  205. package/dist/process/errors.d.ts +87 -0
  206. package/dist/process/errors.d.ts.map +1 -0
  207. package/dist/process/errors.js +221 -0
  208. package/dist/process/index.cjs +37 -0
  209. package/dist/process/index.d.ts +11 -0
  210. package/dist/process/index.d.ts.map +1 -0
  211. package/dist/process/index.js +11 -0
  212. package/dist/process/process-service.cjs +443 -0
  213. package/dist/process/process-service.d.ts +62 -0
  214. package/dist/process/process-service.d.ts.map +1 -0
  215. package/dist/process/process-service.js +410 -0
  216. package/dist/process/types.cjs +16 -0
  217. package/dist/process/types.d.ts +107 -0
  218. package/dist/process/types.d.ts.map +1 -0
  219. package/dist/process/types.js +0 -0
  220. package/dist/prompts/error-codes.js +1 -0
  221. package/dist/prompts/errors.js +1 -0
  222. package/dist/prompts/index.js +1 -0
  223. package/dist/prompts/name-validation.js +1 -0
  224. package/dist/prompts/prompt-manager.js +1 -0
  225. package/dist/prompts/providers/custom-prompt-provider.js +1 -0
  226. package/dist/prompts/providers/file-prompt-provider.js +1 -0
  227. package/dist/prompts/providers/mcp-prompt-provider.js +1 -0
  228. package/dist/prompts/providers/starter-prompt-provider.js +1 -0
  229. package/dist/prompts/schemas.js +1 -0
  230. package/dist/prompts/utils.js +1 -0
  231. package/dist/resources/error-codes.js +1 -0
  232. package/dist/resources/errors.js +1 -0
  233. package/dist/resources/handlers/blob-handler.js +1 -0
  234. package/dist/resources/handlers/factory.js +1 -0
  235. package/dist/resources/handlers/filesystem-handler.cjs +1 -1
  236. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  237. package/dist/resources/handlers/filesystem-handler.js +2 -1
  238. package/dist/resources/index.js +1 -0
  239. package/dist/resources/internal-provider.js +1 -0
  240. package/dist/resources/manager.js +1 -0
  241. package/dist/resources/reference-parser.js +1 -0
  242. package/dist/resources/schemas.js +1 -0
  243. package/dist/search/index.js +1 -0
  244. package/dist/search/search-service.js +1 -0
  245. package/dist/session/chat-session.cjs +2 -2
  246. package/dist/session/chat-session.d.ts +2 -2
  247. package/dist/session/chat-session.js +3 -2
  248. package/dist/session/error-codes.js +1 -0
  249. package/dist/session/errors.js +1 -0
  250. package/dist/session/history/database.js +1 -0
  251. package/dist/session/history/factory.js +1 -0
  252. package/dist/session/history/memory.js +1 -0
  253. package/dist/session/index.js +1 -0
  254. package/dist/session/schemas.js +1 -0
  255. package/dist/session/session-manager.d.ts +6 -0
  256. package/dist/session/session-manager.d.ts.map +1 -1
  257. package/dist/session/session-manager.js +1 -0
  258. package/dist/session/title-generator.js +1 -0
  259. package/dist/storage/blob/factory.cjs +3 -3
  260. package/dist/storage/blob/factory.d.ts +3 -1
  261. package/dist/storage/blob/factory.d.ts.map +1 -1
  262. package/dist/storage/blob/factory.js +4 -3
  263. package/dist/storage/blob/local-blob-store.cjs +18 -2
  264. package/dist/storage/blob/local-blob-store.d.ts +2 -1
  265. package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
  266. package/dist/storage/blob/local-blob-store.js +19 -2
  267. package/dist/storage/blob/schemas.js +1 -0
  268. package/dist/storage/cache/factory.js +1 -0
  269. package/dist/storage/cache/memory-cache-store.js +1 -0
  270. package/dist/storage/cache/redis-store.js +1 -0
  271. package/dist/storage/cache/schemas.js +1 -0
  272. package/dist/storage/database/factory.cjs +7 -5
  273. package/dist/storage/database/factory.d.ts +3 -1
  274. package/dist/storage/database/factory.d.ts.map +1 -1
  275. package/dist/storage/database/factory.js +8 -5
  276. package/dist/storage/database/memory-database-store.js +1 -0
  277. package/dist/storage/database/postgres-store.js +1 -0
  278. package/dist/storage/database/schemas.cjs +1 -1
  279. package/dist/storage/database/schemas.js +2 -1
  280. package/dist/storage/database/sqlite-store.cjs +20 -2
  281. package/dist/storage/database/sqlite-store.d.ts +2 -1
  282. package/dist/storage/database/sqlite-store.d.ts.map +1 -1
  283. package/dist/storage/database/sqlite-store.js +21 -2
  284. package/dist/storage/error-codes.cjs +1 -0
  285. package/dist/storage/error-codes.d.ts +1 -0
  286. package/dist/storage/error-codes.d.ts.map +1 -1
  287. package/dist/storage/error-codes.js +2 -0
  288. package/dist/storage/errors.cjs +15 -0
  289. package/dist/storage/errors.d.ts +4 -0
  290. package/dist/storage/errors.d.ts.map +1 -1
  291. package/dist/storage/errors.js +16 -0
  292. package/dist/storage/index.js +1 -0
  293. package/dist/storage/schemas.js +1 -0
  294. package/dist/storage/storage-manager.cjs +7 -5
  295. package/dist/storage/storage-manager.d.ts +5 -2
  296. package/dist/storage/storage-manager.d.ts.map +1 -1
  297. package/dist/storage/storage-manager.js +8 -5
  298. package/dist/systemPrompt/contributors.js +1 -0
  299. package/dist/systemPrompt/error-codes.js +1 -0
  300. package/dist/systemPrompt/errors.js +1 -0
  301. package/dist/systemPrompt/in-built-prompts.js +1 -0
  302. package/dist/systemPrompt/index.js +1 -0
  303. package/dist/systemPrompt/manager.js +1 -0
  304. package/dist/systemPrompt/registry.js +1 -0
  305. package/dist/systemPrompt/schemas.js +1 -0
  306. package/dist/telemetry/decorators.cjs +175 -0
  307. package/dist/telemetry/decorators.d.ts +17 -0
  308. package/dist/telemetry/decorators.d.ts.map +1 -0
  309. package/dist/telemetry/decorators.js +157 -0
  310. package/dist/telemetry/exporters.cjs +108 -0
  311. package/dist/telemetry/exporters.d.ts +29 -0
  312. package/dist/telemetry/exporters.d.ts.map +1 -0
  313. package/dist/telemetry/exporters.js +85 -0
  314. package/dist/telemetry/index.cjs +28 -0
  315. package/dist/telemetry/index.d.ts +2 -0
  316. package/dist/telemetry/index.d.ts.map +1 -0
  317. package/dist/telemetry/index.js +5 -0
  318. package/dist/telemetry/schemas.cjs +71 -0
  319. package/dist/telemetry/schemas.d.ts +54 -0
  320. package/dist/telemetry/schemas.d.ts.map +1 -0
  321. package/dist/telemetry/schemas.js +48 -0
  322. package/dist/telemetry/telemetry.cjs +228 -0
  323. package/dist/telemetry/telemetry.d.ts +74 -0
  324. package/dist/telemetry/telemetry.d.ts.map +1 -0
  325. package/dist/telemetry/telemetry.js +205 -0
  326. package/dist/telemetry/types.cjs +16 -0
  327. package/dist/telemetry/types.d.ts +22 -0
  328. package/dist/telemetry/types.d.ts.map +1 -0
  329. package/dist/telemetry/types.js +0 -0
  330. package/dist/telemetry/utils.cjs +87 -0
  331. package/dist/telemetry/utils.d.ts +21 -0
  332. package/dist/telemetry/utils.d.ts.map +1 -0
  333. package/dist/telemetry/utils.js +62 -0
  334. package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -0
  335. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
  336. package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -0
  337. package/dist/tools/error-codes.js +1 -0
  338. package/dist/tools/errors.js +1 -0
  339. package/dist/tools/index.js +1 -0
  340. package/dist/tools/internal-tools/constants.cjs +39 -0
  341. package/dist/tools/internal-tools/constants.d.ts +12 -0
  342. package/dist/tools/internal-tools/constants.d.ts.map +1 -0
  343. package/dist/tools/internal-tools/constants.js +16 -0
  344. package/dist/tools/internal-tools/implementations/ask-user-tool.js +1 -0
  345. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
  346. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
  347. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
  348. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
  349. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
  350. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
  351. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
  352. package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
  353. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
  354. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
  355. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
  356. package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
  357. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
  358. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
  359. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
  360. package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
  361. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
  362. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
  363. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
  364. package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
  365. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
  366. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
  367. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
  368. package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
  369. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
  370. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
  371. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
  372. package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
  373. package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
  374. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
  375. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
  376. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
  377. package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
  378. package/dist/tools/internal-tools/index.cjs +3 -1
  379. package/dist/tools/internal-tools/index.d.ts +1 -0
  380. package/dist/tools/internal-tools/index.d.ts.map +1 -1
  381. package/dist/tools/internal-tools/index.js +1 -0
  382. package/dist/tools/internal-tools/provider.js +1 -0
  383. package/dist/tools/internal-tools/registry.cjs +40 -4
  384. package/dist/tools/internal-tools/registry.d.ts +5 -9
  385. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  386. package/dist/tools/internal-tools/registry.js +41 -3
  387. package/dist/tools/schemas.cjs +18 -5
  388. package/dist/tools/schemas.d.ts +30 -1
  389. package/dist/tools/schemas.d.ts.map +1 -1
  390. package/dist/tools/schemas.js +15 -2
  391. package/dist/tools/tool-manager.cjs +158 -19
  392. package/dist/tools/tool-manager.d.ts +48 -2
  393. package/dist/tools/tool-manager.d.ts.map +1 -1
  394. package/dist/tools/tool-manager.js +118 -19
  395. package/dist/utils/api-key-resolver.js +1 -0
  396. package/dist/utils/api-key-store.js +1 -0
  397. package/dist/utils/async-context.js +1 -0
  398. package/dist/utils/debug.js +1 -0
  399. package/dist/utils/env.js +1 -0
  400. package/dist/utils/error-conversion.js +1 -0
  401. package/dist/utils/execution-context.js +1 -0
  402. package/dist/utils/fs-walk.js +1 -0
  403. package/dist/utils/path.js +1 -0
  404. package/dist/utils/port-utils.js +1 -0
  405. package/dist/utils/redactor.js +1 -0
  406. package/dist/utils/result.js +1 -0
  407. package/dist/utils/safe-stringify.js +1 -0
  408. package/dist/utils/schema-metadata.js +1 -0
  409. package/dist/utils/schema.js +1 -0
  410. package/dist/utils/service-initializer.cjs +42 -4
  411. package/dist/utils/service-initializer.d.ts +2 -1
  412. package/dist/utils/service-initializer.d.ts.map +1 -1
  413. package/dist/utils/service-initializer.js +33 -4
  414. package/dist/utils/user-info.js +1 -0
  415. package/dist/utils/zod-schema-converter.js +1 -0
  416. package/package.json +11 -1
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { InternalResourcesProvider } from "./internal-provider.js";
2
3
  import { logger } from "../logger/index.js";
3
4
  import { ResourceError } from "./errors.js";
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  function escapeRegExp(literal) {
2
3
  return literal.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
3
4
  }
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { z } from "zod";
2
3
  const FileExtensionSchema = z.string().regex(
3
4
  /^\.[A-Za-z0-9][A-Za-z0-9._-]*$/,
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { SearchService } from "./search-service.js";
2
3
  export {
3
4
  SearchService
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { logger } from "../logger/index.js";
2
3
  class SearchService {
3
4
  constructor(database) {
@@ -351,10 +351,10 @@ class ChatSession {
351
351
  *
352
352
  * @example
353
353
  * ```typescript
354
- * // Switch from Claude to GPT-4 while keeping conversation history
354
+ * // Switch from Claude to GPT-5 while keeping conversation history
355
355
  * session.switchLLM({
356
356
  * provider: 'openai',
357
- * model: 'gpt-4',
357
+ * model: 'gpt-5',
358
358
  * apiKey: process.env.OPENAI_API_KEY,
359
359
  * router: 'in-built'
360
360
  * });
@@ -240,10 +240,10 @@ export declare class ChatSession {
240
240
  *
241
241
  * @example
242
242
  * ```typescript
243
- * // Switch from Claude to GPT-4 while keeping conversation history
243
+ * // Switch from Claude to GPT-5 while keeping conversation history
244
244
  * session.switchLLM({
245
245
  * provider: 'openai',
246
- * model: 'gpt-4',
246
+ * model: 'gpt-5',
247
247
  * apiKey: process.env.OPENAI_API_KEY,
248
248
  * router: 'in-built'
249
249
  * });
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { createDatabaseHistoryProvider } from "./history/factory.js";
2
3
  import { createLLMService } from "../llm/services/factory.js";
3
4
  import {
@@ -331,10 +332,10 @@ class ChatSession {
331
332
  *
332
333
  * @example
333
334
  * ```typescript
334
- * // Switch from Claude to GPT-4 while keeping conversation history
335
+ * // Switch from Claude to GPT-5 while keeping conversation history
335
336
  * session.switchLLM({
336
337
  * provider: 'openai',
337
- * model: 'gpt-4',
338
+ * model: 'gpt-5',
338
339
  * apiKey: process.env.OPENAI_API_KEY,
339
340
  * router: 'in-built'
340
341
  * });
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  var SessionErrorCode = /* @__PURE__ */ ((SessionErrorCode2) => {
2
3
  SessionErrorCode2["SESSION_NOT_FOUND"] = "session_not_found";
3
4
  SessionErrorCode2["SESSION_INITIALIZATION_FAILED"] = "session_initialization_failed";
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { DextoRuntimeError } from "../errors/DextoRuntimeError.js";
2
3
  import { ErrorScope, ErrorType } from "../errors/types.js";
3
4
  import { SessionErrorCode } from "./error-codes.js";
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { logger } from "../../logger/index.js";
2
3
  import { SessionError } from "../errors.js";
3
4
  class DatabaseHistoryProvider {
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { DatabaseHistoryProvider } from "./database.js";
2
3
  function createDatabaseHistoryProvider(database, sessionId) {
3
4
  return new DatabaseHistoryProvider(sessionId, database);
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  class MemoryHistoryProvider {
2
3
  messages = [];
3
4
  async getHistory() {
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { ChatSession } from "./chat-session.js";
2
3
  import { SessionManager } from "./session-manager.js";
3
4
  import { SessionErrorCode } from "./error-codes.js";
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { z } from "zod";
2
3
  const SessionConfigSchema = z.object({
3
4
  maxSessions: z.number().int().positive().default(100).describe("Maximum number of concurrent sessions allowed, defaults to 100"),
@@ -33,6 +33,12 @@ export interface SessionData {
33
33
  * - Cleaning up expired sessions
34
34
  * - Providing session lifecycle management
35
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
36
42
  */
37
43
  export declare class SessionManager {
38
44
  private services;
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
@@ -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";
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  import { createLLMService } from "../llm/services/factory.js";
2
3
  import { SessionEventBus } from "../events/index.js";
3
4
  import { MemoryHistoryProvider } from "./history/memory.js";
@@ -23,11 +23,11 @@ __export(factory_exports, {
23
23
  module.exports = __toCommonJS(factory_exports);
24
24
  var import_local_blob_store = require("./local-blob-store.js");
25
25
  var import_logger = require("../../logger/index.js");
26
- function createBlobStore(config) {
26
+ function createBlobStore(config, agentId) {
27
27
  switch (config.type) {
28
28
  case "local":
29
29
  import_logger.logger.info("Using local file-based blob store");
30
- return new import_local_blob_store.LocalBlobStore(config);
30
+ return new import_local_blob_store.LocalBlobStore(config, agentId);
31
31
  case "in-memory":
32
32
  default: {
33
33
  import_logger.logger.info(
@@ -40,7 +40,7 @@ function createBlobStore(config) {
40
40
  cleanupAfterDays: 30
41
41
  // Default for in-memory fallback
42
42
  };
43
- return new import_local_blob_store.LocalBlobStore(localConfig);
43
+ return new import_local_blob_store.LocalBlobStore(localConfig, agentId);
44
44
  }
45
45
  }
46
46
  }
@@ -3,6 +3,8 @@ import type { BlobStoreConfig } from '../schemas.js';
3
3
  /**
4
4
  * Create a blob store based on configuration.
5
5
  * Note: In-memory blob store defaults to local file-based storage.
6
+ * @param config Blob store configuration
7
+ * @param agentId Optional agent identifier for per-agent blob isolation
6
8
  */
7
- export declare function createBlobStore(config: BlobStoreConfig): BlobStore;
9
+ export declare function createBlobStore(config: BlobStoreConfig, agentId?: string): BlobStore;
8
10
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AAI3E;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAqBlE"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AAI3E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAqBpF"}
@@ -1,10 +1,11 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { LocalBlobStore } from "./local-blob-store.js";
2
3
  import { logger } from "../../logger/index.js";
3
- function createBlobStore(config) {
4
+ function createBlobStore(config, agentId) {
4
5
  switch (config.type) {
5
6
  case "local":
6
7
  logger.info("Using local file-based blob store");
7
- return new LocalBlobStore(config);
8
+ return new LocalBlobStore(config, agentId);
8
9
  case "in-memory":
9
10
  default: {
10
11
  logger.info(
@@ -17,7 +18,7 @@ function createBlobStore(config) {
17
18
  cleanupAfterDays: 30
18
19
  // Default for in-memory fallback
19
20
  };
20
- return new LocalBlobStore(localConfig);
21
+ return new LocalBlobStore(localConfig, agentId);
21
22
  }
22
23
  }
23
24
  }
@@ -45,11 +45,27 @@ class LocalBlobStore {
45
45
  statsCache = null;
46
46
  statsCachePromise = null;
47
47
  lastStatsRefresh = 0;
48
+ agentId;
48
49
  static STATS_REFRESH_INTERVAL_MS = 6e4;
49
50
  // 1 minute
50
- constructor(config) {
51
+ constructor(config, agentId) {
51
52
  this.config = config;
52
- this.storePath = config.storePath || (0, import_path2.getDextoPath)("data", "blobs");
53
+ if (agentId) {
54
+ const trimmed = agentId.trim();
55
+ if (!trimmed) {
56
+ throw import_errors.StorageError.blobInvalidConfig("agentId cannot be empty or whitespace-only");
57
+ }
58
+ if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
59
+ throw import_errors.StorageError.blobInvalidConfig(
60
+ "agentId must contain only alphanumeric characters, hyphens, and underscores"
61
+ );
62
+ }
63
+ this.agentId = trimmed;
64
+ } else {
65
+ this.agentId = agentId;
66
+ }
67
+ const blobSubdir = this.agentId ? `blobs-${this.agentId}` : "blobs";
68
+ this.storePath = config.storePath || (0, import_path2.getDextoPath)("data", blobSubdir);
53
69
  }
54
70
  async connect() {
55
71
  if (this.connected) return;
@@ -14,8 +14,9 @@ export declare class LocalBlobStore implements BlobStore {
14
14
  private statsCache;
15
15
  private statsCachePromise;
16
16
  private lastStatsRefresh;
17
+ private agentId;
17
18
  private static readonly STATS_REFRESH_INTERVAL_MS;
18
- constructor(config: LocalBlobStoreConfig);
19
+ constructor(config: LocalBlobStoreConfig, agentId?: string);
19
20
  connect(): Promise<void>;
20
21
  disconnect(): Promise<void>;
21
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"local-blob-store.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/local-blob-store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAqD;IACvE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,gBAAgB,CAAa;IAErC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAE9C,MAAM,EAAE,oBAAoB;IAKlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAcxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAIhB,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqF5E,QAAQ,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAgB,GACnE,OAAO,CAAC,QAAQ,CAAC;IAsDd,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IA+C1C,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAepC,cAAc,IAAI,MAAM,GAAG,SAAS;IAI9B,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAmC7B,gBAAgB;YAsBhB,iBAAiB;IAwB/B,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,2BAA2B;IASnC;;OAEG;YACW,aAAa;IAgD3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiDtB;;OAEG;IACH,OAAO,CAAC,YAAY;CAiBvB"}
1
+ {"version":3,"file":"local-blob-store.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/local-blob-store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAqD;IACvE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAE9C,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM;IAwBpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAIhB,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAE,YAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqF5E,QAAQ,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAgB,GACnE,OAAO,CAAC,QAAQ,CAAC;IAsDd,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IA+C1C,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAepC,cAAc,IAAI,MAAM,GAAG,SAAS;IAI9B,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAmC7B,gBAAgB;YAsBhB,iBAAiB;IAwB/B,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,2BAA2B;IASnC;;OAEG;YACW,aAAa;IAgD3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiDtB;;OAEG;IACH,OAAO,CAAC,YAAY;CAiBvB"}
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { promises as fs, createReadStream } from "fs";
2
3
  import path from "path";
3
4
  import { createHash } from "crypto";
@@ -12,11 +13,27 @@ class LocalBlobStore {
12
13
  statsCache = null;
13
14
  statsCachePromise = null;
14
15
  lastStatsRefresh = 0;
16
+ agentId;
15
17
  static STATS_REFRESH_INTERVAL_MS = 6e4;
16
18
  // 1 minute
17
- constructor(config) {
19
+ constructor(config, agentId) {
18
20
  this.config = config;
19
- this.storePath = config.storePath || getDextoPath("data", "blobs");
21
+ if (agentId) {
22
+ const trimmed = agentId.trim();
23
+ if (!trimmed) {
24
+ throw StorageError.blobInvalidConfig("agentId cannot be empty or whitespace-only");
25
+ }
26
+ if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
27
+ throw StorageError.blobInvalidConfig(
28
+ "agentId must contain only alphanumeric characters, hyphens, and underscores"
29
+ );
30
+ }
31
+ this.agentId = trimmed;
32
+ } else {
33
+ this.agentId = agentId;
34
+ }
35
+ const blobSubdir = this.agentId ? `blobs-${this.agentId}` : "blobs";
36
+ this.storePath = config.storePath || getDextoPath("data", blobSubdir);
20
37
  }
21
38
  async connect() {
22
39
  if (this.connected) return;
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { z } from "zod";
2
3
  const BLOB_STORE_TYPES = ["in-memory", "local"];
3
4
  const InMemoryBlobStoreSchema = z.object({
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { MemoryCacheStore } from "./memory-cache-store.js";
2
3
  import { logger } from "../../logger/index.js";
3
4
  let RedisStore = null;
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { StorageError } from "../errors.js";
2
3
  class MemoryCacheStore {
3
4
  data = /* @__PURE__ */ new Map();
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { Redis } from "ioredis";
2
3
  import { StorageError } from "../errors.js";
3
4
  class RedisStore {
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { z } from "zod";
2
3
  import { EnvExpandedString } from "../../utils/result.js";
3
4
  import { StorageErrorCode } from "../error-codes.js";
@@ -35,12 +35,12 @@ var import_memory_database_store = require("./memory-database-store.js");
35
35
  var import_logger = require("../../logger/index.js");
36
36
  let SQLiteStore = null;
37
37
  let PostgresStore = null;
38
- async function createDatabase(config) {
38
+ async function createDatabase(config, agentId) {
39
39
  switch (config.type) {
40
40
  case "postgres":
41
41
  return createPostgresStore(config);
42
42
  case "sqlite":
43
- return createSQLiteStore(config);
43
+ return createSQLiteStore(config, agentId);
44
44
  case "in-memory":
45
45
  default:
46
46
  import_logger.logger.info("Using in-memory database store");
@@ -63,14 +63,16 @@ async function createPostgresStore(config) {
63
63
  return new import_memory_database_store.MemoryDatabaseStore();
64
64
  }
65
65
  }
66
- async function createSQLiteStore(config) {
66
+ async function createSQLiteStore(config, agentId) {
67
67
  try {
68
68
  if (!SQLiteStore) {
69
69
  const module2 = await import("./sqlite-store.js");
70
70
  SQLiteStore = module2.SQLiteStore;
71
71
  }
72
- import_logger.logger.info(`Using SQLite database at ${config.path}`);
73
- return new SQLiteStore(config);
72
+ const defaultFilename = agentId ? `${agentId}.db` : "dexto.db";
73
+ const effectivePath = config.path || defaultFilename;
74
+ import_logger.logger.info(`Creating SQLite database store: ${effectivePath}`);
75
+ return new SQLiteStore(config, agentId);
74
76
  } catch (error) {
75
77
  const err = error instanceof Error ? error : new Error(String(error));
76
78
  import_logger.logger.error(`SQLite store failed to load: ${err.message}`, err);
@@ -3,6 +3,8 @@ import type { DatabaseConfig } from '../schemas.js';
3
3
  /**
4
4
  * Create a database store based on configuration.
5
5
  * Handles lazy loading of optional dependencies with automatic fallback.
6
+ * @param config Database configuration
7
+ * @param agentId Optional agent identifier for database naming (used for SQLite default filename)
6
8
  */
7
- export declare function createDatabase(config: DatabaseConfig): Promise<Database>;
9
+ export declare function createDatabase(config: DatabaseConfig, agentId?: string): Promise<Database>;
8
10
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/database/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAgD,MAAM,eAAe,CAAC;AAiBlG;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAa9E"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/storage/database/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAgD,MAAM,eAAe,CAAC;AAiBlG;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAahG"}
@@ -1,13 +1,14 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { MemoryDatabaseStore } from "./memory-database-store.js";
2
3
  import { logger } from "../../logger/index.js";
3
4
  let SQLiteStore = null;
4
5
  let PostgresStore = null;
5
- async function createDatabase(config) {
6
+ async function createDatabase(config, agentId) {
6
7
  switch (config.type) {
7
8
  case "postgres":
8
9
  return createPostgresStore(config);
9
10
  case "sqlite":
10
- return createSQLiteStore(config);
11
+ return createSQLiteStore(config, agentId);
11
12
  case "in-memory":
12
13
  default:
13
14
  logger.info("Using in-memory database store");
@@ -30,14 +31,16 @@ async function createPostgresStore(config) {
30
31
  return new MemoryDatabaseStore();
31
32
  }
32
33
  }
33
- async function createSQLiteStore(config) {
34
+ async function createSQLiteStore(config, agentId) {
34
35
  try {
35
36
  if (!SQLiteStore) {
36
37
  const module = await import("./sqlite-store.js");
37
38
  SQLiteStore = module.SQLiteStore;
38
39
  }
39
- logger.info(`Using SQLite database at ${config.path}`);
40
- return new SQLiteStore(config);
40
+ const defaultFilename = agentId ? `${agentId}.db` : "dexto.db";
41
+ const effectivePath = config.path || defaultFilename;
42
+ logger.info(`Creating SQLite database store: ${effectivePath}`);
43
+ return new SQLiteStore(config, agentId);
41
44
  } catch (error) {
42
45
  const err = error instanceof Error ? error : new Error(String(error));
43
46
  logger.error(`SQLite store failed to load: ${err.message}`, err);
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { StorageError } from "../errors.js";
2
3
  class MemoryDatabaseStore {
3
4
  data = /* @__PURE__ */ new Map();
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { Pool } from "pg";
2
3
  import { StorageError } from "../errors.js";
3
4
  class PostgresStore {
@@ -42,7 +42,7 @@ const SqliteDatabaseSchema = BaseDatabaseSchema.extend({
42
42
  path: import_zod.z.string().optional().describe(
43
43
  "SQLite database file path (optional, will auto-detect using path resolver if not provided)"
44
44
  ),
45
- database: import_zod.z.string().optional().describe("Database filename (default: dexto.db)")
45
+ database: import_zod.z.string().optional().describe("Database filename (default: <agent-id>.db)")
46
46
  }).strict();
47
47
  const PostgresDatabaseSchema = BaseDatabaseSchema.extend({
48
48
  type: import_zod.z.literal("postgres"),
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { z } from "zod";
2
3
  import { EnvExpandedString } from "../../utils/result.js";
3
4
  import { StorageErrorCode } from "../error-codes.js";
@@ -18,7 +19,7 @@ const SqliteDatabaseSchema = BaseDatabaseSchema.extend({
18
19
  path: z.string().optional().describe(
19
20
  "SQLite database file path (optional, will auto-detect using path resolver if not provided)"
20
21
  ),
21
- database: z.string().optional().describe("Database filename (default: dexto.db)")
22
+ database: z.string().optional().describe("Database filename (default: <agent-id>.db)")
22
23
  }).strict();
23
24
  const PostgresDatabaseSchema = BaseDatabaseSchema.extend({
24
25
  type: z.literal("postgres"),
@@ -43,8 +43,25 @@ class SQLiteStore {
43
43
  // Database.Database
44
44
  dbPath;
45
45
  config;
46
- constructor(config) {
46
+ agentId;
47
+ constructor(config, agentId) {
47
48
  this.config = config;
49
+ if (agentId) {
50
+ const trimmed = agentId.trim();
51
+ if (!trimmed) {
52
+ throw import_errors.StorageError.databaseInvalidConfig(
53
+ "agentId cannot be empty or whitespace-only"
54
+ );
55
+ }
56
+ if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
57
+ throw import_errors.StorageError.databaseInvalidConfig(
58
+ "agentId must contain only alphanumeric characters, hyphens, and underscores"
59
+ );
60
+ }
61
+ this.agentId = trimmed;
62
+ } else {
63
+ this.agentId = agentId;
64
+ }
48
65
  this.dbPath = "";
49
66
  }
50
67
  resolveDefaultPath(dbName) {
@@ -107,7 +124,8 @@ class SQLiteStore {
107
124
  this.dbPath = this.config.path;
108
125
  import_logger.logger.info(`SQLite using custom path: ${this.dbPath}`);
109
126
  } else {
110
- this.dbPath = this.resolveDefaultPath(this.config.database || "dexto.db");
127
+ const defaultFilename = this.agentId ? `${this.agentId}.db` : "dexto.db";
128
+ this.dbPath = this.resolveDefaultPath(this.config.database || defaultFilename);
111
129
  }
112
130
  const dir = (0, import_path.dirname)(this.dbPath);
113
131
  import_logger.logger.debug(`SQLite ensuring directory exists: ${dir}`);
@@ -8,7 +8,8 @@ export declare class SQLiteStore implements Database {
8
8
  private db;
9
9
  private dbPath;
10
10
  private config;
11
- constructor(config: SqliteDatabaseConfig);
11
+ private agentId;
12
+ constructor(config: SqliteDatabaseConfig, agentId?: string);
12
13
  private resolveDefaultPath;
13
14
  private initializeTables;
14
15
  connect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/storage/database/sqlite-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAQzD;;;GAGG;AACH,qBAAa,WAAY,YAAW,QAAQ;IACxC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,oBAAoB;IAMxC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IA8ClB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAKhB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0BvC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqB1E,OAAO,CAAC,eAAe;IAOjB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,QAAQ,IAAI,OAAO,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CAqBL"}
1
+ {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/storage/database/sqlite-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAQzD;;;GAGG;AACH,qBAAa,WAAY,YAAW,QAAQ;IACxC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAqB;gBAExB,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM;IAyB1D,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IA8ClB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;IAItB,YAAY,IAAI,MAAM;IAKhB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAelC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0BvC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqB1E,OAAO,CAAC,eAAe;IAOjB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,QAAQ,IAAI,OAAO,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CAqBL"}
@@ -1,3 +1,4 @@
1
+ import "../../chunk-C6A6W6XS.js";
1
2
  import { dirname } from "path";
2
3
  import { mkdirSync } from "fs";
3
4
  import { logger } from "../../logger/index.js";
@@ -10,8 +11,25 @@ class SQLiteStore {
10
11
  // Database.Database
11
12
  dbPath;
12
13
  config;
13
- constructor(config) {
14
+ agentId;
15
+ constructor(config, agentId) {
14
16
  this.config = config;
17
+ if (agentId) {
18
+ const trimmed = agentId.trim();
19
+ if (!trimmed) {
20
+ throw StorageError.databaseInvalidConfig(
21
+ "agentId cannot be empty or whitespace-only"
22
+ );
23
+ }
24
+ if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
25
+ throw StorageError.databaseInvalidConfig(
26
+ "agentId must contain only alphanumeric characters, hyphens, and underscores"
27
+ );
28
+ }
29
+ this.agentId = trimmed;
30
+ } else {
31
+ this.agentId = agentId;
32
+ }
15
33
  this.dbPath = "";
16
34
  }
17
35
  resolveDefaultPath(dbName) {
@@ -74,7 +92,8 @@ class SQLiteStore {
74
92
  this.dbPath = this.config.path;
75
93
  logger.info(`SQLite using custom path: ${this.dbPath}`);
76
94
  } else {
77
- this.dbPath = this.resolveDefaultPath(this.config.database || "dexto.db");
95
+ const defaultFilename = this.agentId ? `${this.agentId}.db` : "dexto.db";
96
+ this.dbPath = this.resolveDefaultPath(this.config.database || defaultFilename);
78
97
  }
79
98
  const dir = dirname(this.dbPath);
80
99
  logger.debug(`SQLite ensuring directory exists: ${dir}`);
@@ -30,6 +30,7 @@ var StorageErrorCode = /* @__PURE__ */ ((StorageErrorCode2) => {
30
30
  StorageErrorCode2["WRITE_FAILED"] = "storage_write_failed";
31
31
  StorageErrorCode2["DELETE_FAILED"] = "storage_delete_failed";
32
32
  StorageErrorCode2["MIGRATION_FAILED"] = "storage_migration_failed";
33
+ StorageErrorCode2["DATABASE_INVALID_CONFIG"] = "storage_database_invalid_config";
33
34
  StorageErrorCode2["BLOB_INVALID_CONFIG"] = "BLOB_INVALID_CONFIG";
34
35
  StorageErrorCode2["BLOB_SIZE_EXCEEDED"] = "BLOB_SIZE_EXCEEDED";
35
36
  StorageErrorCode2["BLOB_TOTAL_SIZE_EXCEEDED"] = "BLOB_TOTAL_SIZE_EXCEEDED";
@@ -11,6 +11,7 @@ export declare enum StorageErrorCode {
11
11
  WRITE_FAILED = "storage_write_failed",
12
12
  DELETE_FAILED = "storage_delete_failed",
13
13
  MIGRATION_FAILED = "storage_migration_failed",
14
+ DATABASE_INVALID_CONFIG = "storage_database_invalid_config",
14
15
  BLOB_INVALID_CONFIG = "BLOB_INVALID_CONFIG",
15
16
  BLOB_SIZE_EXCEEDED = "BLOB_SIZE_EXCEEDED",
16
17
  BLOB_TOTAL_SIZE_EXCEEDED = "BLOB_TOTAL_SIZE_EXCEEDED",
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/storage/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,gBAAgB;IAExB,uBAAuB,oCAAoC;IAC3D,qBAAqB,kCAAkC;IAGvD,iBAAiB,8BAA8B;IAC/C,yBAAyB,sCAAsC;IAG/D,WAAW,wBAAwB;IACnC,YAAY,yBAAyB;IACrC,aAAa,0BAA0B;IAGvC,gBAAgB,6BAA6B;IAG7C,mBAAmB,wBAAwB;IAG3C,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IACrD,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAG3C,cAAc,mBAAmB;IACjC,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IAGjC,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IAGrD,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;CAClD"}
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/storage/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,gBAAgB;IAExB,uBAAuB,oCAAoC;IAC3D,qBAAqB,kCAAkC;IAGvD,iBAAiB,8BAA8B;IAC/C,yBAAyB,sCAAsC;IAG/D,WAAW,wBAAwB;IACnC,YAAY,yBAAyB;IACrC,aAAa,0BAA0B;IAGvC,gBAAgB,6BAA6B;IAC7C,uBAAuB,oCAAoC;IAG3D,mBAAmB,wBAAwB;IAG3C,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IACrD,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAG3C,cAAc,mBAAmB;IACjC,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IAGjC,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IAGrD,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;CAClD"}
@@ -1,3 +1,4 @@
1
+ import "../chunk-C6A6W6XS.js";
1
2
  var StorageErrorCode = /* @__PURE__ */ ((StorageErrorCode2) => {
2
3
  StorageErrorCode2["MANAGER_NOT_INITIALIZED"] = "storage_manager_not_initialized";
3
4
  StorageErrorCode2["MANAGER_NOT_CONNECTED"] = "storage_manager_not_connected";
@@ -7,6 +8,7 @@ var StorageErrorCode = /* @__PURE__ */ ((StorageErrorCode2) => {
7
8
  StorageErrorCode2["WRITE_FAILED"] = "storage_write_failed";
8
9
  StorageErrorCode2["DELETE_FAILED"] = "storage_delete_failed";
9
10
  StorageErrorCode2["MIGRATION_FAILED"] = "storage_migration_failed";
11
+ StorageErrorCode2["DATABASE_INVALID_CONFIG"] = "storage_database_invalid_config";
10
12
  StorageErrorCode2["BLOB_INVALID_CONFIG"] = "BLOB_INVALID_CONFIG";
11
13
  StorageErrorCode2["BLOB_SIZE_EXCEEDED"] = "BLOB_SIZE_EXCEEDED";
12
14
  StorageErrorCode2["BLOB_TOTAL_SIZE_EXCEEDED"] = "BLOB_TOTAL_SIZE_EXCEEDED";