@dexto/core 1.3.0 → 1.5.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 (781) hide show
  1. package/README.md +53 -9
  2. package/dist/agent/DextoAgent.cjs +570 -210
  3. package/dist/agent/DextoAgent.d.ts +175 -35
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +568 -208
  6. package/dist/agent/agentCard.js +1 -1
  7. package/dist/agent/error-codes.cjs +1 -0
  8. package/dist/agent/error-codes.d.ts +2 -1
  9. package/dist/agent/error-codes.d.ts.map +1 -1
  10. package/dist/agent/error-codes.js +2 -1
  11. package/dist/agent/errors.cjs +13 -0
  12. package/dist/agent/errors.d.ts +4 -0
  13. package/dist/agent/errors.d.ts.map +1 -1
  14. package/dist/agent/errors.js +14 -1
  15. package/dist/agent/index.cjs +4 -1
  16. package/dist/agent/index.d.ts +2 -2
  17. package/dist/agent/index.d.ts.map +1 -1
  18. package/dist/agent/index.js +6 -2
  19. package/dist/agent/schemas.cjs +90 -68
  20. package/dist/agent/schemas.d.ts +5998 -146
  21. package/dist/agent/schemas.d.ts.map +1 -1
  22. package/dist/agent/schemas.js +90 -65
  23. package/dist/agent/state-manager.cjs +5 -5
  24. package/dist/agent/state-manager.d.ts +4 -4
  25. package/dist/agent/state-manager.js +6 -6
  26. package/dist/agent/types.d.ts +24 -10
  27. package/dist/agent/types.d.ts.map +1 -1
  28. package/dist/approval/error-codes.js +1 -1
  29. package/dist/approval/errors.js +1 -1
  30. package/dist/approval/factory.js +1 -1
  31. package/dist/approval/index.js +1 -1
  32. package/dist/approval/manager.cjs +234 -4
  33. package/dist/approval/manager.d.ts +131 -4
  34. package/dist/approval/manager.d.ts.map +1 -1
  35. package/dist/approval/manager.js +225 -5
  36. package/dist/approval/schemas.cjs +57 -7
  37. package/dist/approval/schemas.d.ts +344 -33
  38. package/dist/approval/schemas.d.ts.map +1 -1
  39. package/dist/approval/schemas.js +54 -8
  40. package/dist/approval/types.cjs +1 -0
  41. package/dist/approval/types.d.ts +32 -1
  42. package/dist/approval/types.d.ts.map +1 -1
  43. package/dist/approval/types.js +2 -1
  44. package/dist/{chunk-C6A6W6XS.js → chunk-PTJYTZNU.js} +44 -1
  45. package/dist/context/compaction/factory.cjs +57 -0
  46. package/dist/context/compaction/factory.d.ts +17 -0
  47. package/dist/context/compaction/factory.d.ts.map +1 -0
  48. package/dist/context/compaction/factory.js +34 -0
  49. package/dist/context/compaction/index.cjs +49 -0
  50. package/dist/context/compaction/index.d.ts +11 -0
  51. package/dist/context/compaction/index.d.ts.map +1 -0
  52. package/dist/context/compaction/index.js +19 -0
  53. package/dist/context/compaction/overflow.cjs +43 -0
  54. package/dist/context/compaction/overflow.d.ts +33 -0
  55. package/dist/context/compaction/overflow.d.ts.map +1 -0
  56. package/dist/context/compaction/overflow.js +19 -0
  57. package/dist/context/compaction/provider.cjs +16 -0
  58. package/dist/context/compaction/provider.d.ts +48 -0
  59. package/dist/context/compaction/provider.d.ts.map +1 -0
  60. package/dist/context/compaction/providers/noop-provider.cjs +48 -0
  61. package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
  62. package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
  63. package/dist/context/compaction/providers/noop-provider.js +24 -0
  64. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
  65. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
  66. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
  67. package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
  68. package/dist/{llm/tokenizer/factory.cjs → context/compaction/registry.cjs} +15 -20
  69. package/dist/context/compaction/registry.d.ts +19 -0
  70. package/dist/context/compaction/registry.d.ts.map +1 -0
  71. package/dist/context/compaction/registry.js +16 -0
  72. package/dist/context/compaction/schemas.cjs +38 -0
  73. package/dist/context/compaction/schemas.d.ts +24 -0
  74. package/dist/context/compaction/schemas.d.ts.map +1 -0
  75. package/dist/context/compaction/schemas.js +14 -0
  76. package/dist/{llm/tokenizer/types.cjs → context/compaction/strategies/noop.cjs} +12 -9
  77. package/dist/context/compaction/strategies/noop.d.ts +18 -0
  78. package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
  79. package/dist/context/compaction/strategies/noop.js +13 -0
  80. package/dist/context/compaction/strategies/reactive-overflow.cjs +201 -0
  81. package/dist/context/compaction/strategies/reactive-overflow.d.ts +81 -0
  82. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
  83. package/dist/context/compaction/strategies/reactive-overflow.js +178 -0
  84. package/dist/context/compaction/types.d.ts +20 -0
  85. package/dist/context/compaction/types.d.ts.map +1 -0
  86. package/dist/context/error-codes.cjs +7 -0
  87. package/dist/context/error-codes.d.ts +8 -1
  88. package/dist/context/error-codes.d.ts.map +1 -1
  89. package/dist/context/error-codes.js +8 -1
  90. package/dist/context/errors.cjs +68 -0
  91. package/dist/context/errors.d.ts +21 -0
  92. package/dist/context/errors.d.ts.map +1 -1
  93. package/dist/context/errors.js +69 -1
  94. package/dist/context/index.cjs +3 -1
  95. package/dist/context/index.d.ts +1 -0
  96. package/dist/context/index.d.ts.map +1 -1
  97. package/dist/context/index.js +2 -1
  98. package/dist/context/manager.cjs +280 -323
  99. package/dist/context/manager.d.ts +65 -111
  100. package/dist/context/manager.d.ts.map +1 -1
  101. package/dist/context/manager.js +280 -328
  102. package/dist/context/media-helpers.js +1 -1
  103. package/dist/context/types.cjs +49 -0
  104. package/dist/context/types.d.ts +187 -72
  105. package/dist/context/types.d.ts.map +1 -1
  106. package/dist/context/types.js +35 -0
  107. package/dist/context/utils.cjs +293 -290
  108. package/dist/context/utils.d.ts +32 -18
  109. package/dist/context/utils.d.ts.map +1 -1
  110. package/dist/context/utils.js +293 -290
  111. package/dist/errors/DextoBaseError.js +1 -1
  112. package/dist/errors/DextoRuntimeError.js +1 -1
  113. package/dist/errors/DextoValidationError.js +1 -1
  114. package/dist/errors/index.js +1 -1
  115. package/dist/errors/result-bridge.cjs +2 -3
  116. package/dist/errors/result-bridge.d.ts.map +1 -1
  117. package/dist/errors/result-bridge.js +3 -4
  118. package/dist/errors/types.js +1 -1
  119. package/dist/events/index.cjs +18 -1
  120. package/dist/events/index.d.ts +149 -12
  121. package/dist/events/index.d.ts.map +1 -1
  122. package/dist/events/index.js +19 -2
  123. package/dist/filesystem/error-codes.js +1 -1
  124. package/dist/filesystem/errors.js +1 -1
  125. package/dist/filesystem/filesystem-service.cjs +39 -0
  126. package/dist/filesystem/filesystem-service.d.ts +32 -0
  127. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  128. package/dist/filesystem/filesystem-service.js +40 -1
  129. package/dist/filesystem/index.d.ts +1 -1
  130. package/dist/filesystem/index.d.ts.map +1 -1
  131. package/dist/filesystem/index.js +1 -1
  132. package/dist/filesystem/path-validator.cjs +69 -1
  133. package/dist/filesystem/path-validator.d.ts +43 -2
  134. package/dist/filesystem/path-validator.d.ts.map +1 -1
  135. package/dist/filesystem/path-validator.js +70 -2
  136. package/dist/image/define-image.cjs +146 -0
  137. package/dist/image/define-image.d.ts +71 -0
  138. package/dist/image/define-image.d.ts.map +1 -0
  139. package/dist/image/define-image.js +121 -0
  140. package/dist/{llm/tokenizer/default.cjs → image/index.cjs} +10 -19
  141. package/dist/image/index.d.ts +53 -0
  142. package/dist/image/index.d.ts.map +1 -0
  143. package/dist/image/index.js +7 -0
  144. package/dist/image/types.d.ts +231 -0
  145. package/dist/image/types.d.ts.map +1 -0
  146. package/dist/image/types.js +0 -0
  147. package/dist/index.browser.cjs +23 -8
  148. package/dist/index.browser.d.ts +4 -3
  149. package/dist/index.browser.d.ts.map +1 -1
  150. package/dist/index.browser.js +20 -3
  151. package/dist/index.cjs +5 -1
  152. package/dist/index.d.ts +2 -0
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +3 -1
  155. package/dist/llm/error-codes.cjs +1 -1
  156. package/dist/llm/error-codes.d.ts +1 -1
  157. package/dist/llm/error-codes.d.ts.map +1 -1
  158. package/dist/llm/error-codes.js +2 -2
  159. package/dist/llm/errors.cjs +34 -10
  160. package/dist/llm/errors.d.ts +23 -11
  161. package/dist/llm/errors.d.ts.map +1 -1
  162. package/dist/llm/errors.js +36 -12
  163. package/dist/llm/executor/stream-processor.cjs +375 -0
  164. package/dist/llm/executor/stream-processor.d.ts +55 -0
  165. package/dist/llm/executor/stream-processor.d.ts.map +1 -0
  166. package/dist/llm/executor/stream-processor.js +352 -0
  167. package/dist/llm/executor/tool-output-truncator.cjs +75 -0
  168. package/dist/llm/executor/tool-output-truncator.d.ts +27 -0
  169. package/dist/llm/executor/tool-output-truncator.d.ts.map +1 -0
  170. package/dist/llm/executor/tool-output-truncator.js +48 -0
  171. package/dist/llm/executor/turn-executor.cjs +780 -0
  172. package/dist/llm/executor/turn-executor.d.ts +167 -0
  173. package/dist/llm/executor/turn-executor.d.ts.map +1 -0
  174. package/dist/llm/executor/turn-executor.js +711 -0
  175. package/dist/llm/executor/types.cjs +16 -0
  176. package/dist/llm/executor/types.d.ts +27 -0
  177. package/dist/llm/executor/types.d.ts.map +1 -0
  178. package/dist/llm/executor/types.js +0 -0
  179. package/dist/llm/formatters/vercel.cjs +26 -188
  180. package/dist/llm/formatters/vercel.d.ts +2 -14
  181. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  182. package/dist/llm/formatters/vercel.js +25 -187
  183. package/dist/llm/index.cjs +18 -1
  184. package/dist/llm/index.d.ts +2 -0
  185. package/dist/llm/index.d.ts.map +1 -1
  186. package/dist/llm/index.js +14 -0
  187. package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
  188. package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
  189. package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
  190. package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
  191. package/dist/llm/providers/local/downloader.cjs +291 -0
  192. package/dist/llm/providers/local/downloader.d.ts +82 -0
  193. package/dist/llm/providers/local/downloader.d.ts.map +1 -0
  194. package/dist/llm/providers/local/downloader.js +251 -0
  195. package/dist/llm/providers/local/error-codes.cjs +57 -0
  196. package/dist/llm/providers/local/error-codes.d.ts +66 -0
  197. package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
  198. package/dist/llm/providers/local/error-codes.js +34 -0
  199. package/dist/llm/providers/local/errors.cjs +240 -0
  200. package/dist/llm/providers/local/errors.d.ts +31 -0
  201. package/dist/llm/providers/local/errors.d.ts.map +1 -0
  202. package/dist/llm/providers/local/errors.js +217 -0
  203. package/dist/llm/providers/local/gpu-detector.cjs +214 -0
  204. package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
  205. package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
  206. package/dist/llm/providers/local/gpu-detector.js +178 -0
  207. package/dist/llm/providers/local/index.cjs +147 -0
  208. package/dist/llm/providers/local/index.d.ts +21 -0
  209. package/dist/llm/providers/local/index.d.ts.map +1 -0
  210. package/dist/llm/providers/local/index.js +126 -0
  211. package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
  212. package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
  213. package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
  214. package/dist/llm/providers/local/node-llama-provider.js +176 -0
  215. package/dist/llm/providers/local/ollama-provider.cjs +230 -0
  216. package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
  217. package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
  218. package/dist/llm/providers/local/ollama-provider.js +198 -0
  219. package/dist/llm/providers/local/registry.cjs +343 -0
  220. package/dist/llm/providers/local/registry.d.ts +51 -0
  221. package/dist/llm/providers/local/registry.d.ts.map +1 -0
  222. package/dist/llm/providers/local/registry.js +312 -0
  223. package/dist/llm/providers/local/schemas.cjs +169 -0
  224. package/dist/llm/providers/local/schemas.d.ts +395 -0
  225. package/dist/llm/providers/local/schemas.d.ts.map +1 -0
  226. package/dist/llm/providers/local/schemas.js +133 -0
  227. package/dist/llm/providers/local/types.cjs +16 -0
  228. package/dist/llm/providers/local/types.d.ts +219 -0
  229. package/dist/llm/providers/local/types.d.ts.map +1 -0
  230. package/dist/llm/providers/local/types.js +0 -0
  231. package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
  232. package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
  233. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
  234. package/dist/llm/providers/openrouter-model-registry.js +309 -0
  235. package/dist/llm/registry.cjs +569 -52
  236. package/dist/llm/registry.d.ts +79 -39
  237. package/dist/llm/registry.d.ts.map +1 -1
  238. package/dist/llm/registry.js +564 -49
  239. package/dist/llm/resolver.cjs +62 -34
  240. package/dist/llm/resolver.d.ts +3 -3
  241. package/dist/llm/resolver.d.ts.map +1 -1
  242. package/dist/llm/resolver.js +69 -38
  243. package/dist/llm/schemas.cjs +92 -97
  244. package/dist/llm/schemas.d.ts +162 -39
  245. package/dist/llm/schemas.d.ts.map +1 -1
  246. package/dist/llm/schemas.js +93 -100
  247. package/dist/llm/services/factory.cjs +88 -103
  248. package/dist/llm/services/factory.d.ts +17 -4
  249. package/dist/llm/services/factory.d.ts.map +1 -1
  250. package/dist/llm/services/factory.js +87 -93
  251. package/dist/llm/services/test-utils.integration.cjs +28 -10
  252. package/dist/llm/services/test-utils.integration.d.ts +7 -1
  253. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  254. package/dist/llm/services/test-utils.integration.js +33 -12
  255. package/dist/llm/services/types.d.ts +1 -28
  256. package/dist/llm/services/types.d.ts.map +1 -1
  257. package/dist/llm/services/vercel.cjs +58 -469
  258. package/dist/llm/services/vercel.d.ts +39 -21
  259. package/dist/llm/services/vercel.d.ts.map +1 -1
  260. package/dist/llm/services/vercel.js +60 -476
  261. package/dist/llm/types.cjs +11 -4
  262. package/dist/llm/types.d.ts +9 -9
  263. package/dist/llm/types.d.ts.map +1 -1
  264. package/dist/llm/types.js +12 -4
  265. package/dist/llm/validation.js +1 -1
  266. package/dist/logger/browser.js +1 -1
  267. package/dist/logger/factory.js +1 -1
  268. package/dist/logger/index.js +1 -1
  269. package/dist/logger/logger.js +1 -1
  270. package/dist/logger/v2/dexto-logger.cjs +34 -6
  271. package/dist/logger/v2/dexto-logger.d.ts +20 -2
  272. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  273. package/dist/logger/v2/dexto-logger.js +35 -7
  274. package/dist/logger/v2/error-codes.js +1 -1
  275. package/dist/logger/v2/errors.js +1 -1
  276. package/dist/logger/v2/schemas.js +1 -1
  277. package/dist/logger/v2/test-utils.cjs +70 -0
  278. package/dist/logger/v2/test-utils.d.ts +17 -0
  279. package/dist/logger/v2/test-utils.d.ts.map +1 -0
  280. package/dist/logger/v2/test-utils.js +46 -0
  281. package/dist/logger/v2/transport-factory.js +1 -1
  282. package/dist/logger/v2/transports/console-transport.js +1 -1
  283. package/dist/logger/v2/transports/file-transport.cjs +6 -0
  284. package/dist/logger/v2/transports/file-transport.d.ts +4 -0
  285. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
  286. package/dist/logger/v2/transports/file-transport.js +7 -1
  287. package/dist/logger/v2/types.cjs +1 -0
  288. package/dist/logger/v2/types.d.ts +18 -2
  289. package/dist/logger/v2/types.d.ts.map +1 -1
  290. package/dist/logger/v2/types.js +2 -1
  291. package/dist/mcp/error-codes.cjs +1 -0
  292. package/dist/mcp/error-codes.d.ts +1 -0
  293. package/dist/mcp/error-codes.d.ts.map +1 -1
  294. package/dist/mcp/error-codes.js +2 -1
  295. package/dist/mcp/errors.cjs +13 -0
  296. package/dist/mcp/errors.d.ts +7 -0
  297. package/dist/mcp/errors.d.ts.map +1 -1
  298. package/dist/mcp/errors.js +14 -1
  299. package/dist/mcp/manager.cjs +12 -0
  300. package/dist/mcp/manager.d.ts +17 -0
  301. package/dist/mcp/manager.d.ts.map +1 -1
  302. package/dist/mcp/manager.js +13 -1
  303. package/dist/mcp/mcp-client.cjs +0 -3
  304. package/dist/mcp/mcp-client.d.ts.map +1 -1
  305. package/dist/mcp/mcp-client.js +1 -4
  306. package/dist/mcp/resolver.js +1 -1
  307. package/dist/mcp/schemas.cjs +6 -0
  308. package/dist/mcp/schemas.d.ts +52 -0
  309. package/dist/mcp/schemas.d.ts.map +1 -1
  310. package/dist/mcp/schemas.js +6 -1
  311. package/dist/memory/error-codes.js +1 -1
  312. package/dist/memory/errors.js +1 -1
  313. package/dist/memory/index.js +1 -1
  314. package/dist/memory/manager.js +1 -1
  315. package/dist/memory/schemas.d.ts +3 -3
  316. package/dist/memory/schemas.js +1 -1
  317. package/dist/plugins/builtins/content-policy.js +1 -1
  318. package/dist/plugins/builtins/response-sanitizer.js +1 -1
  319. package/dist/plugins/error-codes.cjs +3 -0
  320. package/dist/plugins/error-codes.d.ts +7 -1
  321. package/dist/plugins/error-codes.d.ts.map +1 -1
  322. package/dist/plugins/error-codes.js +4 -1
  323. package/dist/plugins/index.cjs +7 -0
  324. package/dist/plugins/index.d.ts +4 -2
  325. package/dist/plugins/index.d.ts.map +1 -1
  326. package/dist/plugins/index.js +7 -2
  327. package/dist/plugins/loader.js +1 -1
  328. package/dist/plugins/manager.cjs +92 -7
  329. package/dist/plugins/manager.d.ts +10 -3
  330. package/dist/plugins/manager.d.ts.map +1 -1
  331. package/dist/plugins/manager.js +93 -8
  332. package/dist/plugins/registrations/builtins.js +1 -1
  333. package/dist/plugins/registry.cjs +63 -0
  334. package/dist/plugins/registry.d.ts +101 -0
  335. package/dist/plugins/registry.d.ts.map +1 -0
  336. package/dist/plugins/registry.js +39 -0
  337. package/dist/plugins/schemas.cjs +17 -5
  338. package/dist/plugins/schemas.d.ts +65 -8
  339. package/dist/plugins/schemas.d.ts.map +1 -1
  340. package/dist/plugins/schemas.js +16 -5
  341. package/dist/plugins/types.d.ts +0 -1
  342. package/dist/plugins/types.d.ts.map +1 -1
  343. package/dist/process/command-validator.js +1 -1
  344. package/dist/process/error-codes.js +1 -1
  345. package/dist/process/errors.js +1 -1
  346. package/dist/process/index.js +1 -1
  347. package/dist/process/process-service.cjs +78 -26
  348. package/dist/process/process-service.d.ts +6 -1
  349. package/dist/process/process-service.d.ts.map +1 -1
  350. package/dist/process/process-service.js +79 -27
  351. package/dist/process/types.d.ts +2 -2
  352. package/dist/process/types.d.ts.map +1 -1
  353. package/dist/prompts/error-codes.cjs +1 -0
  354. package/dist/prompts/error-codes.d.ts +2 -1
  355. package/dist/prompts/error-codes.d.ts.map +1 -1
  356. package/dist/prompts/error-codes.js +2 -1
  357. package/dist/prompts/errors.cjs +15 -0
  358. package/dist/prompts/errors.d.ts +4 -0
  359. package/dist/prompts/errors.d.ts.map +1 -1
  360. package/dist/prompts/errors.js +16 -1
  361. package/dist/prompts/index.js +1 -1
  362. package/dist/prompts/name-validation.js +1 -1
  363. package/dist/prompts/prompt-manager.cjs +13 -2
  364. package/dist/prompts/prompt-manager.d.ts +7 -0
  365. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  366. package/dist/prompts/prompt-manager.js +14 -3
  367. package/dist/prompts/providers/config-prompt-provider.cjs +12 -3
  368. package/dist/prompts/providers/config-prompt-provider.d.ts +2 -1
  369. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  370. package/dist/prompts/providers/config-prompt-provider.js +13 -4
  371. package/dist/prompts/providers/custom-prompt-provider.js +1 -1
  372. package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
  373. package/dist/prompts/schemas.d.ts +12 -0
  374. package/dist/prompts/schemas.d.ts.map +1 -1
  375. package/dist/prompts/schemas.js +1 -1
  376. package/dist/prompts/types.d.ts +2 -0
  377. package/dist/prompts/types.d.ts.map +1 -1
  378. package/dist/prompts/utils.js +1 -1
  379. package/dist/providers/base-registry.cjs +147 -0
  380. package/dist/providers/base-registry.d.ts +147 -0
  381. package/dist/providers/base-registry.d.ts.map +1 -0
  382. package/dist/providers/base-registry.js +123 -0
  383. package/dist/providers/discovery.cjs +95 -0
  384. package/dist/providers/discovery.d.ts +94 -0
  385. package/dist/providers/discovery.d.ts.map +1 -0
  386. package/dist/providers/discovery.js +70 -0
  387. package/dist/providers/index.cjs +24 -0
  388. package/dist/providers/index.d.ts +32 -0
  389. package/dist/providers/index.d.ts.map +1 -0
  390. package/dist/providers/index.js +2 -0
  391. package/dist/resources/error-codes.js +1 -1
  392. package/dist/resources/errors.js +1 -1
  393. package/dist/resources/handlers/blob-handler.js +1 -1
  394. package/dist/resources/handlers/factory.js +1 -1
  395. package/dist/resources/handlers/filesystem-handler.js +1 -1
  396. package/dist/resources/index.js +1 -1
  397. package/dist/resources/internal-provider.js +1 -1
  398. package/dist/resources/manager.js +1 -1
  399. package/dist/resources/reference-parser.cjs +3 -3
  400. package/dist/resources/reference-parser.d.ts.map +1 -1
  401. package/dist/resources/reference-parser.js +4 -4
  402. package/dist/resources/schemas.js +1 -1
  403. package/dist/search/index.js +1 -1
  404. package/dist/search/search-service.js +1 -1
  405. package/dist/session/chat-session.cjs +169 -54
  406. package/dist/session/chat-session.d.ts +69 -29
  407. package/dist/session/chat-session.d.ts.map +1 -1
  408. package/dist/session/chat-session.js +171 -56
  409. package/dist/session/error-codes.js +1 -1
  410. package/dist/session/errors.js +1 -1
  411. package/dist/session/history/database.cjs +134 -21
  412. package/dist/session/history/database.d.ts +37 -8
  413. package/dist/session/history/database.d.ts.map +1 -1
  414. package/dist/session/history/database.js +135 -22
  415. package/dist/session/history/factory.js +1 -1
  416. package/dist/session/history/memory.cjs +18 -0
  417. package/dist/session/history/memory.d.ts +8 -0
  418. package/dist/session/history/memory.d.ts.map +1 -1
  419. package/dist/session/history/memory.js +19 -1
  420. package/dist/session/history/types.d.ts +13 -1
  421. package/dist/session/history/types.d.ts.map +1 -1
  422. package/dist/session/index.cjs +3 -0
  423. package/dist/session/index.d.ts +3 -0
  424. package/dist/session/index.d.ts.map +1 -1
  425. package/dist/session/index.js +3 -1
  426. package/dist/session/message-queue.cjs +201 -0
  427. package/dist/session/message-queue.d.ts +114 -0
  428. package/dist/session/message-queue.d.ts.map +1 -0
  429. package/dist/session/message-queue.js +178 -0
  430. package/dist/session/schemas.js +1 -1
  431. package/dist/session/session-manager.cjs +57 -7
  432. package/dist/session/session-manager.d.ts +18 -0
  433. package/dist/session/session-manager.d.ts.map +1 -1
  434. package/dist/session/session-manager.js +58 -8
  435. package/dist/session/title-generator.cjs +4 -8
  436. package/dist/session/title-generator.d.ts +1 -2
  437. package/dist/session/title-generator.d.ts.map +1 -1
  438. package/dist/session/title-generator.js +5 -9
  439. package/dist/session/types.cjs +16 -0
  440. package/dist/session/types.d.ts +14 -0
  441. package/dist/session/types.d.ts.map +1 -0
  442. package/dist/session/types.js +0 -0
  443. package/dist/storage/blob/factory.cjs +8 -11
  444. package/dist/storage/blob/factory.d.ts +32 -6
  445. package/dist/storage/blob/factory.d.ts.map +1 -1
  446. package/dist/storage/blob/factory.js +9 -12
  447. package/dist/storage/blob/index.cjs +56 -0
  448. package/dist/storage/blob/index.d.ts +45 -0
  449. package/dist/storage/blob/index.d.ts.map +1 -0
  450. package/dist/storage/blob/index.js +30 -0
  451. package/dist/storage/blob/local-blob-store.js +1 -1
  452. package/dist/storage/blob/memory-blob-store.js +1 -1
  453. package/dist/storage/blob/provider.cjs +16 -0
  454. package/dist/storage/blob/provider.d.ts +50 -0
  455. package/dist/storage/blob/provider.d.ts.map +1 -0
  456. package/dist/storage/blob/provider.js +0 -0
  457. package/dist/storage/blob/providers/index.cjs +31 -0
  458. package/dist/storage/blob/providers/index.d.ts +8 -0
  459. package/dist/storage/blob/providers/index.d.ts.map +1 -0
  460. package/dist/storage/blob/providers/index.js +7 -0
  461. package/dist/storage/blob/providers/local.cjs +39 -0
  462. package/dist/storage/blob/providers/local.d.ts +17 -0
  463. package/dist/storage/blob/providers/local.d.ts.map +1 -0
  464. package/dist/storage/blob/providers/local.js +16 -0
  465. package/dist/storage/blob/providers/memory.cjs +39 -0
  466. package/dist/storage/blob/providers/memory.d.ts +17 -0
  467. package/dist/storage/blob/providers/memory.d.ts.map +1 -0
  468. package/dist/storage/blob/providers/memory.js +16 -0
  469. package/dist/storage/blob/registry.cjs +50 -0
  470. package/dist/storage/blob/registry.d.ts +42 -0
  471. package/dist/storage/blob/registry.d.ts.map +1 -0
  472. package/dist/storage/blob/registry.js +26 -0
  473. package/dist/storage/blob/schemas.cjs +9 -12
  474. package/dist/storage/blob/schemas.d.ts +39 -34
  475. package/dist/storage/blob/schemas.d.ts.map +1 -1
  476. package/dist/storage/blob/schemas.js +7 -12
  477. package/dist/storage/cache/factory.cjs +8 -36
  478. package/dist/storage/cache/factory.d.ts +32 -7
  479. package/dist/storage/cache/factory.d.ts.map +1 -1
  480. package/dist/storage/cache/factory.js +9 -27
  481. package/dist/storage/cache/index.cjs +53 -0
  482. package/dist/storage/cache/index.d.ts +44 -0
  483. package/dist/storage/cache/index.d.ts.map +1 -0
  484. package/dist/storage/cache/index.js +28 -0
  485. package/dist/storage/cache/memory-cache-store.js +1 -1
  486. package/dist/storage/cache/provider.cjs +16 -0
  487. package/dist/storage/cache/provider.d.ts +56 -0
  488. package/dist/storage/cache/provider.d.ts.map +1 -0
  489. package/dist/storage/cache/provider.js +0 -0
  490. package/dist/storage/cache/providers/index.cjs +31 -0
  491. package/dist/storage/cache/providers/index.d.ts +8 -0
  492. package/dist/storage/cache/providers/index.d.ts.map +1 -0
  493. package/dist/storage/cache/providers/index.js +7 -0
  494. package/dist/storage/cache/providers/memory.cjs +40 -0
  495. package/dist/storage/cache/providers/memory.d.ts +17 -0
  496. package/dist/storage/cache/providers/memory.d.ts.map +1 -0
  497. package/dist/storage/cache/providers/memory.js +17 -0
  498. package/dist/storage/cache/providers/redis.cjs +66 -0
  499. package/dist/storage/cache/providers/redis.d.ts +20 -0
  500. package/dist/storage/cache/providers/redis.d.ts.map +1 -0
  501. package/dist/storage/cache/providers/redis.js +33 -0
  502. package/dist/storage/cache/redis-store.js +1 -1
  503. package/dist/{llm/tokenizer/google.cjs → storage/cache/registry.cjs} +23 -25
  504. package/dist/storage/cache/registry.d.ts +42 -0
  505. package/dist/storage/cache/registry.d.ts.map +1 -0
  506. package/dist/storage/cache/registry.js +26 -0
  507. package/dist/storage/cache/schemas.cjs +6 -2
  508. package/dist/storage/cache/schemas.d.ts +2 -3
  509. package/dist/storage/cache/schemas.d.ts.map +1 -1
  510. package/dist/storage/cache/schemas.js +4 -2
  511. package/dist/storage/database/factory.cjs +8 -47
  512. package/dist/storage/database/factory.d.ts +34 -8
  513. package/dist/storage/database/factory.d.ts.map +1 -1
  514. package/dist/storage/database/factory.js +9 -38
  515. package/dist/storage/database/index.cjs +58 -0
  516. package/dist/storage/database/index.d.ts +45 -0
  517. package/dist/storage/database/index.d.ts.map +1 -0
  518. package/dist/storage/database/index.js +37 -0
  519. package/dist/storage/database/memory-database-store.js +1 -1
  520. package/dist/storage/database/postgres-store.cjs +12 -0
  521. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  522. package/dist/storage/database/postgres-store.js +13 -1
  523. package/dist/storage/database/provider.cjs +16 -0
  524. package/dist/storage/database/provider.d.ts +56 -0
  525. package/dist/storage/database/provider.d.ts.map +1 -0
  526. package/dist/storage/database/provider.js +0 -0
  527. package/dist/storage/database/providers/index.cjs +34 -0
  528. package/dist/storage/database/providers/index.d.ts +9 -0
  529. package/dist/storage/database/providers/index.d.ts.map +1 -0
  530. package/dist/storage/database/providers/index.js +9 -0
  531. package/dist/storage/database/providers/memory.cjs +40 -0
  532. package/dist/storage/database/providers/memory.d.ts +16 -0
  533. package/dist/storage/database/providers/memory.d.ts.map +1 -0
  534. package/dist/storage/database/providers/memory.js +17 -0
  535. package/dist/storage/database/providers/postgres.cjs +62 -0
  536. package/dist/storage/database/providers/postgres.d.ts +19 -0
  537. package/dist/storage/database/providers/postgres.d.ts.map +1 -0
  538. package/dist/storage/database/providers/postgres.js +29 -0
  539. package/dist/storage/database/providers/sqlite.cjs +66 -0
  540. package/dist/storage/database/providers/sqlite.d.ts +20 -0
  541. package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
  542. package/dist/storage/database/providers/sqlite.js +33 -0
  543. package/dist/storage/database/registry.cjs +50 -0
  544. package/dist/storage/database/registry.d.ts +42 -0
  545. package/dist/storage/database/registry.d.ts.map +1 -0
  546. package/dist/storage/database/registry.js +26 -0
  547. package/dist/storage/database/schemas.cjs +8 -2
  548. package/dist/storage/database/schemas.d.ts +3 -4
  549. package/dist/storage/database/schemas.d.ts.map +1 -1
  550. package/dist/storage/database/schemas.js +5 -2
  551. package/dist/storage/database/sqlite-store.js +1 -1
  552. package/dist/storage/error-codes.cjs +6 -0
  553. package/dist/storage/error-codes.d.ts +7 -1
  554. package/dist/storage/error-codes.d.ts.map +1 -1
  555. package/dist/storage/error-codes.js +7 -1
  556. package/dist/storage/errors.cjs +80 -0
  557. package/dist/storage/errors.d.ts +24 -0
  558. package/dist/storage/errors.d.ts.map +1 -1
  559. package/dist/storage/errors.js +81 -1
  560. package/dist/storage/index.cjs +47 -4
  561. package/dist/storage/index.d.ts +34 -8
  562. package/dist/storage/index.d.ts.map +1 -1
  563. package/dist/storage/index.js +33 -4
  564. package/dist/storage/schemas.cjs +4 -0
  565. package/dist/storage/schemas.d.ts +17 -50
  566. package/dist/storage/schemas.d.ts.map +1 -1
  567. package/dist/storage/schemas.js +6 -2
  568. package/dist/storage/storage-manager.cjs +6 -6
  569. package/dist/storage/storage-manager.d.ts.map +1 -1
  570. package/dist/storage/storage-manager.js +4 -4
  571. package/dist/systemPrompt/contributors.js +1 -1
  572. package/dist/systemPrompt/error-codes.js +1 -1
  573. package/dist/systemPrompt/errors.js +1 -1
  574. package/dist/systemPrompt/in-built-prompts.cjs +7 -6
  575. package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
  576. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  577. package/dist/systemPrompt/in-built-prompts.js +7 -6
  578. package/dist/systemPrompt/index.js +1 -1
  579. package/dist/systemPrompt/manager.js +1 -1
  580. package/dist/systemPrompt/registry.cjs +2 -2
  581. package/dist/systemPrompt/registry.d.ts +1 -1
  582. package/dist/systemPrompt/registry.d.ts.map +1 -1
  583. package/dist/systemPrompt/registry.js +3 -3
  584. package/dist/systemPrompt/schemas.cjs +2 -2
  585. package/dist/systemPrompt/schemas.d.ts +18 -18
  586. package/dist/systemPrompt/schemas.js +3 -3
  587. package/dist/telemetry/decorators.js +1 -1
  588. package/dist/telemetry/error-codes.js +1 -1
  589. package/dist/telemetry/errors.js +1 -1
  590. package/dist/telemetry/exporters.js +1 -1
  591. package/dist/telemetry/index.js +1 -1
  592. package/dist/telemetry/schemas.js +1 -1
  593. package/dist/telemetry/telemetry.js +1 -1
  594. package/dist/telemetry/utils.js +1 -1
  595. package/dist/tools/bash-pattern-utils.cjs +91 -0
  596. package/dist/tools/bash-pattern-utils.d.ts +58 -0
  597. package/dist/tools/bash-pattern-utils.d.ts.map +1 -0
  598. package/dist/tools/bash-pattern-utils.js +64 -0
  599. package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
  600. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -1
  601. package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -1
  602. package/dist/tools/custom-tool-registry.cjs +64 -0
  603. package/dist/tools/custom-tool-registry.d.ts +120 -0
  604. package/dist/tools/custom-tool-registry.d.ts.map +1 -0
  605. package/dist/tools/custom-tool-registry.js +40 -0
  606. package/dist/tools/custom-tool-schema-registry.cjs +164 -0
  607. package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
  608. package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
  609. package/dist/tools/custom-tool-schema-registry.js +140 -0
  610. package/dist/tools/display-types.cjs +60 -0
  611. package/dist/tools/display-types.d.ts +133 -0
  612. package/dist/tools/display-types.d.ts.map +1 -0
  613. package/dist/tools/display-types.js +32 -0
  614. package/dist/tools/error-codes.cjs +5 -0
  615. package/dist/tools/error-codes.d.ts +6 -1
  616. package/dist/tools/error-codes.d.ts.map +1 -1
  617. package/dist/tools/error-codes.js +6 -1
  618. package/dist/tools/errors.cjs +71 -0
  619. package/dist/tools/errors.d.ts +33 -0
  620. package/dist/tools/errors.d.ts.map +1 -1
  621. package/dist/tools/errors.js +72 -1
  622. package/dist/tools/index.cjs +15 -1
  623. package/dist/tools/index.d.ts +5 -0
  624. package/dist/tools/index.d.ts.map +1 -1
  625. package/dist/tools/index.js +13 -2
  626. package/dist/tools/internal-tools/constants.cjs +3 -9
  627. package/dist/tools/internal-tools/constants.d.ts +1 -1
  628. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  629. package/dist/tools/internal-tools/constants.js +4 -10
  630. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +1 -1
  631. package/dist/tools/internal-tools/implementations/ask-user-tool.js +2 -2
  632. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +1 -1
  633. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
  634. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
  635. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
  636. package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
  637. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
  638. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
  639. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
  640. package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
  641. package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -1
  642. package/dist/tools/internal-tools/provider.cjs +175 -31
  643. package/dist/tools/internal-tools/provider.d.ts +62 -14
  644. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  645. package/dist/tools/internal-tools/provider.js +176 -32
  646. package/dist/tools/internal-tools/registry.cjs +19 -43
  647. package/dist/tools/internal-tools/registry.d.ts +32 -11
  648. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  649. package/dist/tools/internal-tools/registry.js +20 -44
  650. package/dist/tools/schemas.cjs +36 -6
  651. package/dist/tools/schemas.d.ts +74 -5
  652. package/dist/tools/schemas.d.ts.map +1 -1
  653. package/dist/tools/schemas.js +30 -6
  654. package/dist/tools/tool-manager.cjs +279 -30
  655. package/dist/tools/tool-manager.d.ts +45 -4
  656. package/dist/tools/tool-manager.d.ts.map +1 -1
  657. package/dist/tools/tool-manager.js +284 -31
  658. package/dist/tools/types.d.ts +63 -0
  659. package/dist/tools/types.d.ts.map +1 -1
  660. package/dist/utils/api-key-resolver.cjs +19 -1
  661. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  662. package/dist/utils/api-key-resolver.js +20 -2
  663. package/dist/utils/async-context.js +1 -1
  664. package/dist/utils/debug.js +1 -1
  665. package/dist/{llm/tokenizer/anthropic.cjs → utils/defer.cjs} +19 -20
  666. package/dist/utils/defer.d.ts +63 -0
  667. package/dist/utils/defer.d.ts.map +1 -0
  668. package/dist/utils/defer.js +19 -0
  669. package/dist/utils/error-conversion.js +1 -1
  670. package/dist/utils/execution-context.js +1 -1
  671. package/dist/utils/fs-walk.js +1 -1
  672. package/dist/utils/index.cjs +3 -3
  673. package/dist/utils/index.d.ts +1 -1
  674. package/dist/utils/index.d.ts.map +1 -1
  675. package/dist/utils/index.js +1 -1
  676. package/dist/utils/path.js +1 -1
  677. package/dist/utils/redactor.cjs +18 -3
  678. package/dist/utils/redactor.d.ts +0 -7
  679. package/dist/utils/redactor.d.ts.map +1 -1
  680. package/dist/utils/redactor.js +19 -4
  681. package/dist/utils/result.js +1 -1
  682. package/dist/utils/safe-stringify.js +1 -1
  683. package/dist/utils/schema-metadata.js +1 -1
  684. package/dist/utils/schema.js +1 -1
  685. package/dist/utils/service-initializer.cjs +15 -37
  686. package/dist/utils/service-initializer.d.ts.map +1 -1
  687. package/dist/utils/service-initializer.js +16 -38
  688. package/dist/utils/user-info.js +1 -1
  689. package/dist/utils/zod-schema-converter.js +1 -1
  690. package/package.json +10 -8
  691. package/dist/context/compression/middle-removal.cjs +0 -95
  692. package/dist/context/compression/middle-removal.d.ts +0 -47
  693. package/dist/context/compression/middle-removal.d.ts.map +0 -1
  694. package/dist/context/compression/middle-removal.js +0 -72
  695. package/dist/context/compression/oldest-removal.cjs +0 -83
  696. package/dist/context/compression/oldest-removal.d.ts +0 -42
  697. package/dist/context/compression/oldest-removal.d.ts.map +0 -1
  698. package/dist/context/compression/oldest-removal.js +0 -60
  699. package/dist/context/compression/types.d.ts +0 -18
  700. package/dist/context/compression/types.d.ts.map +0 -1
  701. package/dist/llm/formatters/anthropic.cjs +0 -257
  702. package/dist/llm/formatters/anthropic.d.ts +0 -46
  703. package/dist/llm/formatters/anthropic.d.ts.map +0 -1
  704. package/dist/llm/formatters/anthropic.js +0 -239
  705. package/dist/llm/formatters/factory.cjs +0 -50
  706. package/dist/llm/formatters/factory.d.ts +0 -10
  707. package/dist/llm/formatters/factory.d.ts.map +0 -1
  708. package/dist/llm/formatters/factory.js +0 -27
  709. package/dist/llm/formatters/openai.cjs +0 -203
  710. package/dist/llm/formatters/openai.d.ts +0 -39
  711. package/dist/llm/formatters/openai.d.ts.map +0 -1
  712. package/dist/llm/formatters/openai.js +0 -184
  713. package/dist/llm/formatters/types.d.ts +0 -41
  714. package/dist/llm/formatters/types.d.ts.map +0 -1
  715. package/dist/llm/services/anthropic.cjs +0 -511
  716. package/dist/llm/services/anthropic.d.ts +0 -48
  717. package/dist/llm/services/anthropic.d.ts.map +0 -1
  718. package/dist/llm/services/anthropic.js +0 -447
  719. package/dist/llm/services/openai.cjs +0 -611
  720. package/dist/llm/services/openai.d.ts +0 -48
  721. package/dist/llm/services/openai.d.ts.map +0 -1
  722. package/dist/llm/services/openai.js +0 -547
  723. package/dist/llm/tokenizer/anthropic.d.ts +0 -19
  724. package/dist/llm/tokenizer/anthropic.d.ts.map +0 -1
  725. package/dist/llm/tokenizer/anthropic.js +0 -20
  726. package/dist/llm/tokenizer/default.d.ts +0 -14
  727. package/dist/llm/tokenizer/default.d.ts.map +0 -1
  728. package/dist/llm/tokenizer/default.js +0 -18
  729. package/dist/llm/tokenizer/factory.d.ts +0 -12
  730. package/dist/llm/tokenizer/factory.d.ts.map +0 -1
  731. package/dist/llm/tokenizer/factory.js +0 -21
  732. package/dist/llm/tokenizer/google.d.ts +0 -29
  733. package/dist/llm/tokenizer/google.d.ts.map +0 -1
  734. package/dist/llm/tokenizer/google.js +0 -29
  735. package/dist/llm/tokenizer/openai.cjs +0 -115
  736. package/dist/llm/tokenizer/openai.d.ts +0 -41
  737. package/dist/llm/tokenizer/openai.d.ts.map +0 -1
  738. package/dist/llm/tokenizer/openai.js +0 -91
  739. package/dist/llm/tokenizer/types.d.ts +0 -18
  740. package/dist/llm/tokenizer/types.d.ts.map +0 -1
  741. package/dist/llm/tokenizer/types.js +0 -10
  742. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -106
  743. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
  744. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
  745. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -73
  746. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
  747. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
  748. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
  749. package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
  750. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -62
  751. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
  752. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
  753. package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -39
  754. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -57
  755. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
  756. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
  757. package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -34
  758. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -71
  759. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
  760. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
  761. package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -48
  762. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
  763. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
  764. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
  765. package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
  766. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -55
  767. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
  768. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
  769. package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -32
  770. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -56
  771. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
  772. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
  773. package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -33
  774. package/dist/utils/env-file.cjs +0 -118
  775. package/dist/utils/env-file.d.ts +0 -5
  776. package/dist/utils/env-file.d.ts.map +0 -1
  777. package/dist/utils/env-file.js +0 -85
  778. /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
  779. /package/dist/context/{compression → compaction}/types.cjs +0 -0
  780. /package/dist/{llm/formatters → context/compaction}/types.js +0 -0
  781. /package/dist/{llm/formatters → image}/types.cjs +0 -0
@@ -1,4 +1,4 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { randomUUID } from "crypto";
3
3
  import { ChatSession } from "./chat-session.js";
4
4
  import { DextoLogComponent } from "../logger/v2/types.js";
@@ -18,6 +18,8 @@ class SessionManager {
18
18
  initializationPromise;
19
19
  // Add a Map to track ongoing session creation operations to prevent race conditions
20
20
  pendingCreations = /* @__PURE__ */ new Map();
21
+ // Per-session mutex for token usage updates to prevent lost updates from concurrent calls
22
+ tokenUsageLocks = /* @__PURE__ */ new Map();
21
23
  logger;
22
24
  /**
23
25
  * Initialize the SessionManager with persistent storage.
@@ -273,12 +275,17 @@ class SessionManager {
273
275
  await this.ensureInitialized();
274
276
  const sessionKey = `session:${sessionId}`;
275
277
  const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
276
- return sessionData ? {
278
+ if (!sessionData) return void 0;
279
+ return {
277
280
  createdAt: sessionData.createdAt,
278
281
  lastActivity: sessionData.lastActivity,
279
282
  messageCount: sessionData.messageCount,
280
- title: sessionData.metadata?.title
281
- } : void 0;
283
+ title: sessionData.metadata?.title,
284
+ ...sessionData.tokenUsage && { tokenUsage: sessionData.tokenUsage },
285
+ ...sessionData.estimatedCost !== void 0 && {
286
+ estimatedCost: sessionData.estimatedCost
287
+ }
288
+ };
282
289
  }
283
290
  /**
284
291
  * Get the global session manager configuration.
@@ -315,6 +322,51 @@ class SessionManager {
315
322
  await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
316
323
  }
317
324
  }
325
+ /**
326
+ * Accumulates token usage for a session.
327
+ * Called after each LLM response to update session-level totals.
328
+ *
329
+ * Uses per-session locking to prevent lost updates from concurrent calls.
330
+ */
331
+ async accumulateTokenUsage(sessionId, usage, cost) {
332
+ await this.ensureInitialized();
333
+ const sessionKey = `session:${sessionId}`;
334
+ const previousLock = this.tokenUsageLocks.get(sessionKey) ?? Promise.resolve();
335
+ const currentLock = previousLock.then(async () => {
336
+ const sessionData = await this.services.storageManager.getDatabase().get(sessionKey);
337
+ if (!sessionData) return;
338
+ if (!sessionData.tokenUsage) {
339
+ sessionData.tokenUsage = {
340
+ inputTokens: 0,
341
+ outputTokens: 0,
342
+ reasoningTokens: 0,
343
+ cacheReadTokens: 0,
344
+ cacheWriteTokens: 0,
345
+ totalTokens: 0
346
+ };
347
+ }
348
+ sessionData.tokenUsage.inputTokens += usage.inputTokens ?? 0;
349
+ sessionData.tokenUsage.outputTokens += usage.outputTokens ?? 0;
350
+ sessionData.tokenUsage.reasoningTokens += usage.reasoningTokens ?? 0;
351
+ sessionData.tokenUsage.cacheReadTokens += usage.cacheReadTokens ?? 0;
352
+ sessionData.tokenUsage.cacheWriteTokens += usage.cacheWriteTokens ?? 0;
353
+ sessionData.tokenUsage.totalTokens += usage.totalTokens ?? 0;
354
+ if (cost !== void 0) {
355
+ sessionData.estimatedCost = (sessionData.estimatedCost ?? 0) + cost;
356
+ }
357
+ sessionData.lastActivity = Date.now();
358
+ await this.services.storageManager.getDatabase().set(sessionKey, sessionData);
359
+ await this.services.storageManager.getCache().set(sessionKey, sessionData, this.sessionTTL / 1e3);
360
+ });
361
+ this.tokenUsageLocks.set(sessionKey, currentLock);
362
+ try {
363
+ await currentLock;
364
+ } finally {
365
+ if (this.tokenUsageLocks.get(sessionKey) === currentLock) {
366
+ this.tokenUsageLocks.delete(sessionKey);
367
+ }
368
+ }
369
+ }
318
370
  /**
319
371
  * Sets the human-friendly title for a session.
320
372
  * Title is stored in session metadata and cached with TTL.
@@ -400,11 +452,10 @@ class SessionManager {
400
452
  }
401
453
  this.services.agentEventBus.emit("llm:switched", {
402
454
  newConfig: newLLMConfig,
403
- router: newLLMConfig.router,
404
455
  historyRetained: true,
405
456
  sessionIds: sessionIds.filter((id) => !failedSessions.includes(id))
406
457
  });
407
- const message = failedSessions.length > 0 ? `Successfully switched to ${newLLMConfig.provider}/${newLLMConfig.model} using ${newLLMConfig.router} router (${failedSessions.length} sessions failed)` : `Successfully switched to ${newLLMConfig.provider}/${newLLMConfig.model} using ${newLLMConfig.router} router for all sessions`;
458
+ const message = failedSessions.length > 0 ? `Successfully switched to ${newLLMConfig.provider}/${newLLMConfig.model} (${failedSessions.length} sessions failed)` : `Successfully switched to ${newLLMConfig.provider}/${newLLMConfig.model} for all sessions`;
408
459
  const warnings = failedSessions.length > 0 ? [`Failed to switch LLM for sessions: ${failedSessions.join(", ")}`] : [];
409
460
  return { message, warnings };
410
461
  }
@@ -422,11 +473,10 @@ class SessionManager {
422
473
  await session.switchLLM(newLLMConfig);
423
474
  this.services.agentEventBus.emit("llm:switched", {
424
475
  newConfig: newLLMConfig,
425
- router: newLLMConfig.router,
426
476
  historyRetained: true,
427
477
  sessionIds: [sessionId]
428
478
  });
429
- const message = `Successfully switched to ${newLLMConfig.provider}/${newLLMConfig.model} using ${newLLMConfig.router} router for session ${sessionId}`;
479
+ const message = `Successfully switched to ${newLLMConfig.provider}/${newLLMConfig.model} for session ${sessionId}`;
430
480
  return { message, warnings: [] };
431
481
  }
432
482
  /**
@@ -25,7 +25,7 @@ module.exports = __toCommonJS(title_generator_exports);
25
25
  var import_factory = require("../llm/services/factory.cjs");
26
26
  var import_events = require("../events/index.cjs");
27
27
  var import_memory = require("./history/memory.js");
28
- async function generateSessionTitle(config, router, toolManager, systemPromptManager, resourceManager, userText, logger, opts = {}) {
28
+ async function generateSessionTitle(config, toolManager, systemPromptManager, resourceManager, userText, logger, opts = {}) {
29
29
  const timeoutMs = opts.timeoutMs;
30
30
  const controller = timeoutMs !== void 0 ? new AbortController() : void 0;
31
31
  let timer;
@@ -33,11 +33,10 @@ async function generateSessionTitle(config, router, toolManager, systemPromptMan
33
33
  timer = setTimeout(() => controller.abort(), timeoutMs);
34
34
  }
35
35
  try {
36
- const history = new import_memory.MemoryHistoryProvider();
36
+ const history = new import_memory.MemoryHistoryProvider(logger);
37
37
  const bus = new import_events.SessionEventBus();
38
38
  const tempService = (0, import_factory.createLLMService)(
39
39
  config,
40
- router,
41
40
  toolManager,
42
41
  systemPromptManager,
43
42
  history,
@@ -53,12 +52,9 @@ async function generateSessionTitle(config, router, toolManager, systemPromptMan
53
52
  "Message:",
54
53
  sanitizeUserText(userText, 512)
55
54
  ].join("\n");
56
- const result = await tempService.completeTask(
55
+ const result = await tempService.stream(
57
56
  instruction,
58
- controller ? { signal: controller.signal } : {},
59
- void 0,
60
- void 0,
61
- false
57
+ controller ? { signal: controller.signal } : void 0
62
58
  );
63
59
  const processed = postProcessTitle(result);
64
60
  if (!processed) {
@@ -1,5 +1,4 @@
1
1
  import type { ValidatedLLMConfig } from '../llm/schemas.js';
2
- import type { LLMRouter } from '../llm/types.js';
3
2
  import type { ToolManager } from '../tools/tool-manager.js';
4
3
  import type { SystemPromptManager } from '../systemPrompt/manager.js';
5
4
  import type { ResourceManager } from '../resources/index.js';
@@ -13,7 +12,7 @@ export interface GenerateSessionTitleResult {
13
12
  * Generate a concise title for a chat based on the first user message.
14
13
  * Runs a lightweight, isolated LLM completion that does not touch real history.
15
14
  */
16
- export declare function generateSessionTitle(config: ValidatedLLMConfig, router: LLMRouter, toolManager: ToolManager, systemPromptManager: SystemPromptManager, resourceManager: ResourceManager, userText: string, logger: IDextoLogger, opts?: {
15
+ export declare function generateSessionTitle(config: ValidatedLLMConfig, toolManager: ToolManager, systemPromptManager: SystemPromptManager, resourceManager: ResourceManager, userText: string, logger: IDextoLogger, opts?: {
17
16
  timeoutMs?: number;
18
17
  }): Promise<GenerateSessionTitleResult>;
19
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"title-generator.d.ts","sourceRoot":"","sources":["../../src/session/title-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D,MAAM,WAAW,0BAA0B;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,0BAA0B,CAAC,CAuDrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8BzE"}
1
+ {"version":3,"file":"title-generator.d.ts","sourceRoot":"","sources":["../../src/session/title-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D,MAAM,WAAW,0BAA0B;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,0BAA0B,CAAC,CAmDrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8BzE"}
@@ -1,8 +1,8 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { createLLMService } from "../llm/services/factory.js";
3
3
  import { SessionEventBus } from "../events/index.js";
4
4
  import { MemoryHistoryProvider } from "./history/memory.js";
5
- async function generateSessionTitle(config, router, toolManager, systemPromptManager, resourceManager, userText, logger, opts = {}) {
5
+ async function generateSessionTitle(config, toolManager, systemPromptManager, resourceManager, userText, logger, opts = {}) {
6
6
  const timeoutMs = opts.timeoutMs;
7
7
  const controller = timeoutMs !== void 0 ? new AbortController() : void 0;
8
8
  let timer;
@@ -10,11 +10,10 @@ async function generateSessionTitle(config, router, toolManager, systemPromptMan
10
10
  timer = setTimeout(() => controller.abort(), timeoutMs);
11
11
  }
12
12
  try {
13
- const history = new MemoryHistoryProvider();
13
+ const history = new MemoryHistoryProvider(logger);
14
14
  const bus = new SessionEventBus();
15
15
  const tempService = createLLMService(
16
16
  config,
17
- router,
18
17
  toolManager,
19
18
  systemPromptManager,
20
19
  history,
@@ -30,12 +29,9 @@ async function generateSessionTitle(config, router, toolManager, systemPromptMan
30
29
  "Message:",
31
30
  sanitizeUserText(userText, 512)
32
31
  ].join("\n");
33
- const result = await tempService.completeTask(
32
+ const result = await tempService.stream(
34
33
  instruction,
35
- controller ? { signal: controller.signal } : {},
36
- void 0,
37
- void 0,
38
- false
34
+ controller ? { signal: controller.signal } : void 0
39
35
  );
40
36
  const processed = postProcessTitle(result);
41
37
  if (!processed) {
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,14 @@
1
+ import { ContentPart } from '../context/types.js';
2
+ export interface QueuedMessage {
3
+ id: string;
4
+ content: ContentPart[];
5
+ queuedAt: number;
6
+ metadata?: Record<string, unknown>;
7
+ }
8
+ export interface CoalescedMessage {
9
+ messages: QueuedMessage[];
10
+ combinedContent: ContentPart[];
11
+ firstQueuedAt: number;
12
+ lastQueuedAt: number;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/session/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB"}
File without changes
@@ -21,19 +21,16 @@ __export(factory_exports, {
21
21
  createBlobStore: () => createBlobStore
22
22
  });
23
23
  module.exports = __toCommonJS(factory_exports);
24
- var import_local_blob_store = require("./local-blob-store.js");
25
- var import_memory_blob_store = require("./memory-blob-store.js");
24
+ var import_registry = require("./registry.js");
26
25
  function createBlobStore(config, logger) {
27
- switch (config.type) {
28
- case "in-memory":
29
- logger.info("Using in-memory blob store");
30
- return new import_memory_blob_store.InMemoryBlobStore(config, logger);
31
- case "local":
32
- logger.info("Using local file-based blob store");
33
- return new import_local_blob_store.LocalBlobStore(config, logger);
34
- default:
35
- throw new Error(`Unknown blob store type: ${config.type}`);
26
+ const validatedConfig = import_registry.blobStoreRegistry.validateConfig(config);
27
+ const provider = import_registry.blobStoreRegistry.get(validatedConfig.type);
28
+ if (!provider) {
29
+ throw new Error(`Provider '${validatedConfig.type}' not found in registry`);
36
30
  }
31
+ const providerName = provider.metadata?.displayName || validatedConfig.type;
32
+ logger.info(`Using ${providerName} blob store`);
33
+ return provider.create(validatedConfig, logger);
37
34
  }
38
35
  // Annotate the CommonJS export names for ESM import in node:
39
36
  0 && (module.exports = {
@@ -1,11 +1,37 @@
1
1
  import type { BlobStore } from './types.js';
2
- import type { BlobStoreConfig } from './schemas.js';
3
2
  import type { IDextoLogger } from '../../logger/v2/types.js';
4
3
  /**
5
- * Create a blob store based on configuration.
6
- * Blob paths are provided via CLI enrichment layer for local storage.
7
- * @param config Blob store configuration
8
- * @param logger Logger instance for logging
4
+ * Create a blob store based on configuration using the provider registry.
5
+ *
6
+ * This factory function:
7
+ * 1. Validates the configuration against the registered provider's schema
8
+ * 2. Looks up the provider in the registry
9
+ * 3. Calls the provider's create method to instantiate the blob store
10
+ *
11
+ * The configuration type is determined at runtime by the 'type' field,
12
+ * which must match a registered provider. Custom providers can be registered
13
+ * via blobStoreRegistry.register() before calling this function.
14
+ *
15
+ * @param config - Blob store configuration with a 'type' discriminator
16
+ * @param logger - Logger instance for the blob store
17
+ * @returns A BlobStore implementation
18
+ * @throws Error if the provider type is not registered or validation fails
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * // Using built-in provider
23
+ * const blob = createBlobStore({ type: 'local', storePath: '/tmp/blobs' }, logger);
24
+ *
25
+ * // Using custom provider (registered beforehand)
26
+ * import { blobStoreRegistry } from '@dexto/core';
27
+ * import { s3Provider } from './storage/s3-provider.js';
28
+ *
29
+ * blobStoreRegistry.register(s3Provider);
30
+ * const blob = createBlobStore({ type: 's3', bucket: 'my-bucket' }, logger);
31
+ * ```
9
32
  */
10
- export declare function createBlobStore(config: BlobStoreConfig, logger: IDextoLogger): BlobStore;
33
+ export declare function createBlobStore(config: {
34
+ type: string;
35
+ [key: string]: any;
36
+ }, logger: IDextoLogger): BlobStore;
11
37
  //# 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,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,CAaxF"}
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,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5C,MAAM,EAAE,YAAY,GACrB,SAAS,CAgBX"}
@@ -1,17 +1,14 @@
1
- import "../../chunk-C6A6W6XS.js";
2
- import { LocalBlobStore } from "./local-blob-store.js";
3
- import { InMemoryBlobStore } from "./memory-blob-store.js";
1
+ import "../../chunk-PTJYTZNU.js";
2
+ import { blobStoreRegistry } from "./registry.js";
4
3
  function createBlobStore(config, logger) {
5
- switch (config.type) {
6
- case "in-memory":
7
- logger.info("Using in-memory blob store");
8
- return new InMemoryBlobStore(config, logger);
9
- case "local":
10
- logger.info("Using local file-based blob store");
11
- return new LocalBlobStore(config, logger);
12
- default:
13
- throw new Error(`Unknown blob store type: ${config.type}`);
4
+ const validatedConfig = blobStoreRegistry.validateConfig(config);
5
+ const provider = blobStoreRegistry.get(validatedConfig.type);
6
+ if (!provider) {
7
+ throw new Error(`Provider '${validatedConfig.type}' not found in registry`);
14
8
  }
9
+ const providerName = provider.metadata?.displayName || validatedConfig.type;
10
+ logger.info(`Using ${providerName} blob store`);
11
+ return provider.create(validatedConfig, logger);
15
12
  }
16
13
  export {
17
14
  createBlobStore
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var blob_exports = {};
20
+ __export(blob_exports, {
21
+ BLOB_STORE_TYPES: () => import_schemas.BLOB_STORE_TYPES,
22
+ BlobStoreConfigSchema: () => import_schemas.BlobStoreConfigSchema,
23
+ BlobStoreRegistry: () => import_registry2.BlobStoreRegistry,
24
+ InMemoryBlobStore: () => import_memory_blob_store.InMemoryBlobStore,
25
+ InMemoryBlobStoreSchema: () => import_schemas.InMemoryBlobStoreSchema,
26
+ LocalBlobStore: () => import_local_blob_store.LocalBlobStore,
27
+ LocalBlobStoreSchema: () => import_schemas.LocalBlobStoreSchema,
28
+ blobStoreRegistry: () => import_registry2.blobStoreRegistry,
29
+ createBlobStore: () => import_factory.createBlobStore
30
+ });
31
+ module.exports = __toCommonJS(blob_exports);
32
+ var import_registry = require("./registry.js");
33
+ var import_providers = require("./providers/index.js");
34
+ var import_factory = require("./factory.js");
35
+ var import_registry2 = require("./registry.js");
36
+ var import_schemas = require("./schemas.js");
37
+ var import_local_blob_store = require("./local-blob-store.js");
38
+ var import_memory_blob_store = require("./memory-blob-store.js");
39
+ if (!import_registry.blobStoreRegistry.has("local")) {
40
+ import_registry.blobStoreRegistry.register(import_providers.localBlobStoreProvider);
41
+ }
42
+ if (!import_registry.blobStoreRegistry.has("in-memory")) {
43
+ import_registry.blobStoreRegistry.register(import_providers.inMemoryBlobStoreProvider);
44
+ }
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ BLOB_STORE_TYPES,
48
+ BlobStoreConfigSchema,
49
+ BlobStoreRegistry,
50
+ InMemoryBlobStore,
51
+ InMemoryBlobStoreSchema,
52
+ LocalBlobStore,
53
+ LocalBlobStoreSchema,
54
+ blobStoreRegistry,
55
+ createBlobStore
56
+ });
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Blob Storage Module
3
+ *
4
+ * This module provides a flexible blob storage system with support for
5
+ * multiple backends through a provider pattern.
6
+ *
7
+ * ## Built-in Providers
8
+ * - `local`: Store blobs on the local filesystem
9
+ * - `in-memory`: Store blobs in RAM (for testing/development)
10
+ *
11
+ * ## Custom Providers
12
+ * Custom providers (e.g., S3, Azure, Supabase) can be registered at the
13
+ * CLI/server layer before configuration loading.
14
+ *
15
+ * ## Usage
16
+ *
17
+ * ### Using built-in providers
18
+ * ```typescript
19
+ * import { createBlobStore } from '@dexto/core';
20
+ *
21
+ * const blob = createBlobStore({ type: 'local', storePath: '/tmp' }, logger);
22
+ * ```
23
+ *
24
+ * ### Registering custom providers
25
+ * ```typescript
26
+ * import { blobStoreRegistry, type BlobStoreProvider } from '@dexto/core';
27
+ *
28
+ * const s3Provider: BlobStoreProvider<'s3', S3Config> = {
29
+ * type: 's3',
30
+ * configSchema: S3ConfigSchema,
31
+ * create: (config, logger) => new S3BlobStore(config, logger),
32
+ * };
33
+ *
34
+ * blobStoreRegistry.register(s3Provider);
35
+ * const blob = createBlobStore({ type: 's3', bucket: 'my-bucket' }, logger);
36
+ * ```
37
+ */
38
+ export { createBlobStore } from './factory.js';
39
+ export { blobStoreRegistry, BlobStoreRegistry } from './registry.js';
40
+ export type { BlobStoreProvider } from './provider.js';
41
+ export type { BlobStore, BlobInput, BlobMetadata, BlobReference, BlobData, BlobStats, StoredBlobMetadata, } from './types.js';
42
+ export { BLOB_STORE_TYPES, BlobStoreConfigSchema, InMemoryBlobStoreSchema, LocalBlobStoreSchema, type BlobStoreType, type BlobStoreConfig, type InMemoryBlobStoreConfig, type LocalBlobStoreConfig, } from './schemas.js';
43
+ export { LocalBlobStore } from './local-blob-store.js';
44
+ export { InMemoryBlobStore } from './memory-blob-store.js';
45
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAiBH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,YAAY,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,kBAAkB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import "../../chunk-PTJYTZNU.js";
2
+ import { blobStoreRegistry } from "./registry.js";
3
+ import { localBlobStoreProvider, inMemoryBlobStoreProvider } from "./providers/index.js";
4
+ if (!blobStoreRegistry.has("local")) {
5
+ blobStoreRegistry.register(localBlobStoreProvider);
6
+ }
7
+ if (!blobStoreRegistry.has("in-memory")) {
8
+ blobStoreRegistry.register(inMemoryBlobStoreProvider);
9
+ }
10
+ import { createBlobStore } from "./factory.js";
11
+ import { blobStoreRegistry as blobStoreRegistry2, BlobStoreRegistry } from "./registry.js";
12
+ import {
13
+ BLOB_STORE_TYPES,
14
+ BlobStoreConfigSchema,
15
+ InMemoryBlobStoreSchema,
16
+ LocalBlobStoreSchema
17
+ } from "./schemas.js";
18
+ import { LocalBlobStore } from "./local-blob-store.js";
19
+ import { InMemoryBlobStore } from "./memory-blob-store.js";
20
+ export {
21
+ BLOB_STORE_TYPES,
22
+ BlobStoreConfigSchema,
23
+ BlobStoreRegistry,
24
+ InMemoryBlobStore,
25
+ InMemoryBlobStoreSchema,
26
+ LocalBlobStore,
27
+ LocalBlobStoreSchema,
28
+ blobStoreRegistry2 as blobStoreRegistry,
29
+ createBlobStore
30
+ };
@@ -1,4 +1,4 @@
1
- import "../../chunk-C6A6W6XS.js";
1
+ import "../../chunk-PTJYTZNU.js";
2
2
  import { promises as fs, createReadStream } from "fs";
3
3
  import path from "path";
4
4
  import { createHash } from "crypto";
@@ -1,4 +1,4 @@
1
- import "../../chunk-C6A6W6XS.js";
1
+ import "../../chunk-PTJYTZNU.js";
2
2
  import { createHash } from "crypto";
3
3
  import { Readable } from "stream";
4
4
  import { DextoLogComponent } from "../../logger/v2/types.js";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var provider_exports = {};
16
+ module.exports = __toCommonJS(provider_exports);
@@ -0,0 +1,50 @@
1
+ import type { z } from 'zod';
2
+ import type { BlobStore } from './types.js';
3
+ import type { IDextoLogger } from '../../logger/v2/types.js';
4
+ /**
5
+ * Provider interface for creating blob store instances.
6
+ *
7
+ * This interface uses TypeScript generics to enforce type safety:
8
+ * - TType: The literal type string (e.g., 'local', 's3')
9
+ * - TConfig: The configuration type with discriminator { type: TType }
10
+ *
11
+ * This ensures that the provider type matches the config type discriminator,
12
+ * providing compile-time safety for provider implementations.
13
+ */
14
+ export interface BlobStoreProvider<TType extends string = string, TConfig extends {
15
+ type: TType;
16
+ } = any> {
17
+ /**
18
+ * Unique identifier for this provider (e.g., 'local', 'supabase', 's3').
19
+ * Must match the 'type' field in the configuration.
20
+ */
21
+ type: TType;
22
+ /**
23
+ * Zod schema for validating provider-specific configuration.
24
+ * The schema must output TConfig type.
25
+ *
26
+ * Note: Uses z.ZodType with relaxed generics to allow input/output type variance.
27
+ * This is necessary because Zod schemas with `.optional().default()` have
28
+ * input types that include undefined, but output types that don't.
29
+ */
30
+ configSchema: z.ZodType<TConfig, any, any>;
31
+ /**
32
+ * Factory function to create a BlobStore instance.
33
+ * @param config - Validated configuration specific to this provider
34
+ * @param logger - Logger instance for the blob store
35
+ * @returns A BlobStore implementation
36
+ */
37
+ create(config: TConfig, logger: IDextoLogger): BlobStore;
38
+ /**
39
+ * Optional metadata for documentation, UIs, and discovery.
40
+ */
41
+ metadata?: {
42
+ /** Human-readable name (e.g., "Local Filesystem", "Amazon S3") */
43
+ displayName: string;
44
+ /** Brief description of this storage backend */
45
+ description: string;
46
+ /** Whether this provider requires network connectivity */
47
+ requiresNetwork?: boolean;
48
+ };
49
+ }
50
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/storage/blob/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB,CAC9B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,OAAO,SAAS;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,GAAG;IAErC;;;OAGG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAEzD;;OAEG;IACH,QAAQ,CAAC,EAAE;QACP,kEAAkE;QAClE,WAAW,EAAE,MAAM,CAAC;QACpB,gDAAgD;QAChD,WAAW,EAAE,MAAM,CAAC;QACpB,0DAA0D;QAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;CACL"}
File without changes
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var providers_exports = {};
20
+ __export(providers_exports, {
21
+ inMemoryBlobStoreProvider: () => import_memory.inMemoryBlobStoreProvider,
22
+ localBlobStoreProvider: () => import_local.localBlobStoreProvider
23
+ });
24
+ module.exports = __toCommonJS(providers_exports);
25
+ var import_local = require("./local.js");
26
+ var import_memory = require("./memory.js");
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ inMemoryBlobStoreProvider,
30
+ localBlobStoreProvider
31
+ });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Built-in blob store providers.
3
+ *
4
+ * These providers are automatically registered when importing from @dexto/core.
5
+ */
6
+ export { localBlobStoreProvider } from './local.js';
7
+ export { inMemoryBlobStoreProvider } from './memory.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/blob/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import "../../../chunk-PTJYTZNU.js";
2
+ import { localBlobStoreProvider } from "./local.js";
3
+ import { inMemoryBlobStoreProvider } from "./memory.js";
4
+ export {
5
+ inMemoryBlobStoreProvider,
6
+ localBlobStoreProvider
7
+ };