@dexto/core 1.4.0 → 1.5.1

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 (514) hide show
  1. package/README.md +36 -0
  2. package/dist/agent/DextoAgent.cjs +22 -3
  3. package/dist/agent/DextoAgent.d.ts +19 -2
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +23 -4
  6. package/dist/agent/index.cjs +4 -1
  7. package/dist/agent/index.d.ts +1 -1
  8. package/dist/agent/index.d.ts.map +1 -1
  9. package/dist/agent/index.js +5 -1
  10. package/dist/agent/schemas.cjs +90 -71
  11. package/dist/agent/schemas.d.ts +5959 -96
  12. package/dist/agent/schemas.d.ts.map +1 -1
  13. package/dist/agent/schemas.js +87 -66
  14. package/dist/approval/manager.cjs +165 -1
  15. package/dist/approval/manager.d.ts +91 -2
  16. package/dist/approval/manager.d.ts.map +1 -1
  17. package/dist/approval/manager.js +155 -1
  18. package/dist/approval/schemas.cjs +39 -3
  19. package/dist/approval/schemas.d.ts +238 -1
  20. package/dist/approval/schemas.d.ts.map +1 -1
  21. package/dist/approval/schemas.js +35 -3
  22. package/dist/approval/types.cjs +1 -0
  23. package/dist/approval/types.d.ts +26 -1
  24. package/dist/approval/types.d.ts.map +1 -1
  25. package/dist/approval/types.js +1 -0
  26. package/dist/context/compaction/factory.cjs +57 -0
  27. package/dist/context/compaction/factory.d.ts +17 -0
  28. package/dist/context/compaction/factory.d.ts.map +1 -0
  29. package/dist/context/compaction/factory.js +34 -0
  30. package/dist/context/compaction/index.cjs +49 -0
  31. package/dist/context/compaction/index.d.ts +11 -0
  32. package/dist/context/compaction/index.d.ts.map +1 -0
  33. package/dist/context/compaction/index.js +19 -0
  34. package/dist/context/{compression → compaction}/overflow.cjs +3 -3
  35. package/dist/context/{compression → compaction}/overflow.d.ts +4 -4
  36. package/dist/context/compaction/overflow.d.ts.map +1 -0
  37. package/dist/context/{compression → compaction}/overflow.js +2 -2
  38. package/dist/context/compaction/provider.cjs +16 -0
  39. package/dist/context/compaction/provider.d.ts +48 -0
  40. package/dist/context/compaction/provider.d.ts.map +1 -0
  41. package/dist/context/compaction/providers/noop-provider.cjs +48 -0
  42. package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
  43. package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
  44. package/dist/context/compaction/providers/noop-provider.js +24 -0
  45. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
  46. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
  47. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
  48. package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
  49. package/dist/context/compaction/registry.cjs +39 -0
  50. package/dist/context/compaction/registry.d.ts +19 -0
  51. package/dist/context/compaction/registry.d.ts.map +1 -0
  52. package/dist/context/compaction/registry.js +16 -0
  53. package/dist/context/compaction/schemas.cjs +38 -0
  54. package/dist/context/compaction/schemas.d.ts +24 -0
  55. package/dist/context/compaction/schemas.d.ts.map +1 -0
  56. package/dist/context/compaction/schemas.js +14 -0
  57. package/dist/context/compaction/strategies/noop.cjs +36 -0
  58. package/dist/context/compaction/strategies/noop.d.ts +18 -0
  59. package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
  60. package/dist/context/compaction/strategies/noop.js +13 -0
  61. package/dist/context/{compression → compaction/strategies}/reactive-overflow.cjs +3 -3
  62. package/dist/context/{compression → compaction/strategies}/reactive-overflow.d.ts +6 -6
  63. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
  64. package/dist/context/{compression → compaction/strategies}/reactive-overflow.js +4 -4
  65. package/dist/context/{compression → compaction}/types.d.ts +4 -4
  66. package/dist/context/compaction/types.d.ts.map +1 -0
  67. package/dist/context/compaction/types.js +0 -0
  68. package/dist/context/error-codes.cjs +4 -0
  69. package/dist/context/error-codes.d.ts +4 -0
  70. package/dist/context/error-codes.d.ts.map +1 -1
  71. package/dist/context/error-codes.js +4 -0
  72. package/dist/context/errors.cjs +40 -0
  73. package/dist/context/errors.d.ts +14 -0
  74. package/dist/context/errors.d.ts.map +1 -1
  75. package/dist/context/errors.js +40 -0
  76. package/dist/context/index.cjs +3 -1
  77. package/dist/context/index.d.ts +1 -0
  78. package/dist/context/index.d.ts.map +1 -1
  79. package/dist/context/index.js +1 -0
  80. package/dist/context/types.d.ts +6 -0
  81. package/dist/context/types.d.ts.map +1 -1
  82. package/dist/context/utils.cjs +27 -7
  83. package/dist/context/utils.d.ts.map +1 -1
  84. package/dist/context/utils.js +27 -7
  85. package/dist/errors/result-bridge.cjs +2 -3
  86. package/dist/errors/result-bridge.d.ts.map +1 -1
  87. package/dist/errors/result-bridge.js +2 -3
  88. package/dist/events/index.cjs +6 -3
  89. package/dist/events/index.d.ts +35 -19
  90. package/dist/events/index.d.ts.map +1 -1
  91. package/dist/events/index.js +5 -3
  92. package/dist/filesystem/filesystem-service.cjs +39 -0
  93. package/dist/filesystem/filesystem-service.d.ts +32 -0
  94. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  95. package/dist/filesystem/filesystem-service.js +39 -0
  96. package/dist/filesystem/index.d.ts +1 -1
  97. package/dist/filesystem/index.d.ts.map +1 -1
  98. package/dist/filesystem/path-validator.cjs +69 -1
  99. package/dist/filesystem/path-validator.d.ts +43 -2
  100. package/dist/filesystem/path-validator.d.ts.map +1 -1
  101. package/dist/filesystem/path-validator.js +69 -1
  102. package/dist/image/define-image.cjs +146 -0
  103. package/dist/image/define-image.d.ts +71 -0
  104. package/dist/image/define-image.d.ts.map +1 -0
  105. package/dist/image/define-image.js +121 -0
  106. package/dist/image/index.cjs +32 -0
  107. package/dist/image/index.d.ts +53 -0
  108. package/dist/image/index.d.ts.map +1 -0
  109. package/dist/image/index.js +7 -0
  110. package/dist/image/types.cjs +16 -0
  111. package/dist/image/types.d.ts +231 -0
  112. package/dist/image/types.d.ts.map +1 -0
  113. package/dist/image/types.js +0 -0
  114. package/dist/index.cjs +5 -1
  115. package/dist/index.d.ts +2 -0
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +2 -0
  118. package/dist/llm/error-codes.cjs +1 -0
  119. package/dist/llm/error-codes.d.ts +1 -0
  120. package/dist/llm/error-codes.d.ts.map +1 -1
  121. package/dist/llm/error-codes.js +1 -0
  122. package/dist/llm/errors.cjs +24 -0
  123. package/dist/llm/errors.d.ts +19 -6
  124. package/dist/llm/errors.d.ts.map +1 -1
  125. package/dist/llm/errors.js +24 -0
  126. package/dist/llm/executor/provider-options.cjs +87 -0
  127. package/dist/llm/executor/provider-options.d.ts +49 -0
  128. package/dist/llm/executor/provider-options.d.ts.map +1 -0
  129. package/dist/llm/executor/provider-options.js +63 -0
  130. package/dist/llm/executor/stream-processor.cjs +22 -11
  131. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  132. package/dist/llm/executor/stream-processor.js +22 -11
  133. package/dist/llm/executor/turn-executor.cjs +60 -23
  134. package/dist/llm/executor/turn-executor.d.ts +7 -5
  135. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  136. package/dist/llm/executor/turn-executor.js +60 -23
  137. package/dist/llm/formatters/vercel.cjs +15 -3
  138. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  139. package/dist/llm/formatters/vercel.js +15 -3
  140. package/dist/llm/index.cjs +18 -1
  141. package/dist/llm/index.d.ts +2 -0
  142. package/dist/llm/index.d.ts.map +1 -1
  143. package/dist/llm/index.js +14 -0
  144. package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
  145. package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
  146. package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
  147. package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
  148. package/dist/llm/providers/local/downloader.cjs +291 -0
  149. package/dist/llm/providers/local/downloader.d.ts +82 -0
  150. package/dist/llm/providers/local/downloader.d.ts.map +1 -0
  151. package/dist/llm/providers/local/downloader.js +251 -0
  152. package/dist/llm/providers/local/error-codes.cjs +57 -0
  153. package/dist/llm/providers/local/error-codes.d.ts +66 -0
  154. package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
  155. package/dist/llm/providers/local/error-codes.js +34 -0
  156. package/dist/llm/providers/local/errors.cjs +240 -0
  157. package/dist/llm/providers/local/errors.d.ts +31 -0
  158. package/dist/llm/providers/local/errors.d.ts.map +1 -0
  159. package/dist/llm/providers/local/errors.js +217 -0
  160. package/dist/llm/providers/local/gpu-detector.cjs +214 -0
  161. package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
  162. package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
  163. package/dist/llm/providers/local/gpu-detector.js +178 -0
  164. package/dist/llm/providers/local/index.cjs +147 -0
  165. package/dist/llm/providers/local/index.d.ts +21 -0
  166. package/dist/llm/providers/local/index.d.ts.map +1 -0
  167. package/dist/llm/providers/local/index.js +126 -0
  168. package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
  169. package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
  170. package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
  171. package/dist/llm/providers/local/node-llama-provider.js +176 -0
  172. package/dist/llm/providers/local/ollama-provider.cjs +230 -0
  173. package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
  174. package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
  175. package/dist/llm/providers/local/ollama-provider.js +198 -0
  176. package/dist/llm/providers/local/registry.cjs +343 -0
  177. package/dist/llm/providers/local/registry.d.ts +51 -0
  178. package/dist/llm/providers/local/registry.d.ts.map +1 -0
  179. package/dist/llm/providers/local/registry.js +312 -0
  180. package/dist/llm/providers/local/schemas.cjs +169 -0
  181. package/dist/llm/providers/local/schemas.d.ts +395 -0
  182. package/dist/llm/providers/local/schemas.d.ts.map +1 -0
  183. package/dist/llm/providers/local/schemas.js +133 -0
  184. package/dist/llm/providers/local/types.cjs +16 -0
  185. package/dist/llm/providers/local/types.d.ts +219 -0
  186. package/dist/llm/providers/local/types.d.ts.map +1 -0
  187. package/dist/llm/providers/local/types.js +0 -0
  188. package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
  189. package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
  190. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
  191. package/dist/llm/providers/openrouter-model-registry.js +309 -0
  192. package/dist/llm/registry.cjs +604 -9
  193. package/dist/llm/registry.d.ts +35 -0
  194. package/dist/llm/registry.d.ts.map +1 -1
  195. package/dist/llm/registry.js +600 -9
  196. package/dist/llm/resolver.cjs +63 -5
  197. package/dist/llm/resolver.d.ts +3 -3
  198. package/dist/llm/resolver.d.ts.map +1 -1
  199. package/dist/llm/resolver.js +69 -6
  200. package/dist/llm/schemas.cjs +107 -81
  201. package/dist/llm/schemas.d.ts +181 -22
  202. package/dist/llm/schemas.d.ts.map +1 -1
  203. package/dist/llm/schemas.js +107 -81
  204. package/dist/llm/services/factory.cjs +87 -13
  205. package/dist/llm/services/factory.d.ts +4 -1
  206. package/dist/llm/services/factory.d.ts.map +1 -1
  207. package/dist/llm/services/factory.js +85 -12
  208. package/dist/llm/services/test-utils.integration.cjs +22 -2
  209. package/dist/llm/services/test-utils.integration.d.ts +7 -1
  210. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  211. package/dist/llm/services/test-utils.integration.js +26 -3
  212. package/dist/llm/services/vercel.cjs +8 -3
  213. package/dist/llm/services/vercel.d.ts +3 -2
  214. package/dist/llm/services/vercel.d.ts.map +1 -1
  215. package/dist/llm/services/vercel.js +8 -3
  216. package/dist/llm/types.cjs +11 -1
  217. package/dist/llm/types.d.ts +1 -1
  218. package/dist/llm/types.d.ts.map +1 -1
  219. package/dist/llm/types.js +11 -1
  220. package/dist/logger/logger.cjs +7 -3
  221. package/dist/logger/logger.d.ts.map +1 -1
  222. package/dist/logger/logger.js +7 -3
  223. package/dist/mcp/manager.cjs +8 -0
  224. package/dist/mcp/manager.d.ts +17 -0
  225. package/dist/mcp/manager.d.ts.map +1 -1
  226. package/dist/mcp/manager.js +8 -0
  227. package/dist/mcp/mcp-client.cjs +0 -3
  228. package/dist/mcp/mcp-client.d.ts.map +1 -1
  229. package/dist/mcp/mcp-client.js +0 -3
  230. package/dist/memory/schemas.d.ts +3 -3
  231. package/dist/plugins/error-codes.cjs +3 -0
  232. package/dist/plugins/error-codes.d.ts +7 -1
  233. package/dist/plugins/error-codes.d.ts.map +1 -1
  234. package/dist/plugins/error-codes.js +3 -0
  235. package/dist/plugins/index.cjs +7 -0
  236. package/dist/plugins/index.d.ts +4 -2
  237. package/dist/plugins/index.d.ts.map +1 -1
  238. package/dist/plugins/index.js +6 -1
  239. package/dist/plugins/manager.cjs +92 -7
  240. package/dist/plugins/manager.d.ts +10 -3
  241. package/dist/plugins/manager.d.ts.map +1 -1
  242. package/dist/plugins/manager.js +92 -7
  243. package/dist/plugins/registry.cjs +63 -0
  244. package/dist/plugins/registry.d.ts +101 -0
  245. package/dist/plugins/registry.d.ts.map +1 -0
  246. package/dist/plugins/registry.js +39 -0
  247. package/dist/plugins/schemas.cjs +17 -5
  248. package/dist/plugins/schemas.d.ts +62 -5
  249. package/dist/plugins/schemas.d.ts.map +1 -1
  250. package/dist/plugins/schemas.js +15 -4
  251. package/dist/providers/base-registry.cjs +147 -0
  252. package/dist/providers/base-registry.d.ts +147 -0
  253. package/dist/providers/base-registry.d.ts.map +1 -0
  254. package/dist/providers/base-registry.js +123 -0
  255. package/dist/providers/discovery.cjs +109 -0
  256. package/dist/providers/discovery.d.ts +96 -0
  257. package/dist/providers/discovery.d.ts.map +1 -0
  258. package/dist/providers/discovery.js +84 -0
  259. package/dist/providers/index.cjs +24 -0
  260. package/dist/providers/index.d.ts +32 -0
  261. package/dist/providers/index.d.ts.map +1 -0
  262. package/dist/providers/index.js +2 -0
  263. package/dist/resources/reference-parser.cjs +3 -3
  264. package/dist/resources/reference-parser.d.ts.map +1 -1
  265. package/dist/resources/reference-parser.js +3 -3
  266. package/dist/session/chat-session.cjs +20 -3
  267. package/dist/session/chat-session.d.ts.map +1 -1
  268. package/dist/session/chat-session.js +21 -4
  269. package/dist/session/history/database.cjs +49 -15
  270. package/dist/session/history/database.d.ts.map +1 -1
  271. package/dist/session/history/database.js +49 -15
  272. package/dist/session/session-manager.cjs +2 -1
  273. package/dist/session/session-manager.d.ts.map +1 -1
  274. package/dist/session/session-manager.js +2 -1
  275. package/dist/storage/blob/factory.cjs +8 -11
  276. package/dist/storage/blob/factory.d.ts +32 -6
  277. package/dist/storage/blob/factory.d.ts.map +1 -1
  278. package/dist/storage/blob/factory.js +8 -11
  279. package/dist/storage/blob/index.cjs +56 -0
  280. package/dist/storage/blob/index.d.ts +45 -0
  281. package/dist/storage/blob/index.d.ts.map +1 -0
  282. package/dist/storage/blob/index.js +30 -0
  283. package/dist/storage/blob/provider.cjs +16 -0
  284. package/dist/storage/blob/provider.d.ts +50 -0
  285. package/dist/storage/blob/provider.d.ts.map +1 -0
  286. package/dist/storage/blob/provider.js +0 -0
  287. package/dist/storage/blob/providers/index.cjs +31 -0
  288. package/dist/storage/blob/providers/index.d.ts +8 -0
  289. package/dist/storage/blob/providers/index.d.ts.map +1 -0
  290. package/dist/storage/blob/providers/index.js +7 -0
  291. package/dist/storage/blob/providers/local.cjs +39 -0
  292. package/dist/storage/blob/providers/local.d.ts +17 -0
  293. package/dist/storage/blob/providers/local.d.ts.map +1 -0
  294. package/dist/storage/blob/providers/local.js +16 -0
  295. package/dist/storage/blob/providers/memory.cjs +39 -0
  296. package/dist/storage/blob/providers/memory.d.ts +17 -0
  297. package/dist/storage/blob/providers/memory.d.ts.map +1 -0
  298. package/dist/storage/blob/providers/memory.js +16 -0
  299. package/dist/storage/blob/registry.cjs +50 -0
  300. package/dist/storage/blob/registry.d.ts +42 -0
  301. package/dist/storage/blob/registry.d.ts.map +1 -0
  302. package/dist/storage/blob/registry.js +26 -0
  303. package/dist/storage/blob/schemas.cjs +9 -12
  304. package/dist/storage/blob/schemas.d.ts +39 -34
  305. package/dist/storage/blob/schemas.d.ts.map +1 -1
  306. package/dist/storage/blob/schemas.js +6 -11
  307. package/dist/storage/cache/factory.cjs +8 -36
  308. package/dist/storage/cache/factory.d.ts +32 -7
  309. package/dist/storage/cache/factory.d.ts.map +1 -1
  310. package/dist/storage/cache/factory.js +8 -26
  311. package/dist/storage/cache/index.cjs +53 -0
  312. package/dist/storage/cache/index.d.ts +44 -0
  313. package/dist/storage/cache/index.d.ts.map +1 -0
  314. package/dist/storage/cache/index.js +28 -0
  315. package/dist/storage/cache/provider.cjs +16 -0
  316. package/dist/storage/cache/provider.d.ts +56 -0
  317. package/dist/storage/cache/provider.d.ts.map +1 -0
  318. package/dist/storage/cache/provider.js +0 -0
  319. package/dist/storage/cache/providers/index.cjs +31 -0
  320. package/dist/storage/cache/providers/index.d.ts +8 -0
  321. package/dist/storage/cache/providers/index.d.ts.map +1 -0
  322. package/dist/storage/cache/providers/index.js +7 -0
  323. package/dist/storage/cache/providers/memory.cjs +40 -0
  324. package/dist/storage/cache/providers/memory.d.ts +17 -0
  325. package/dist/storage/cache/providers/memory.d.ts.map +1 -0
  326. package/dist/storage/cache/providers/memory.js +17 -0
  327. package/dist/storage/cache/providers/redis.cjs +66 -0
  328. package/dist/storage/cache/providers/redis.d.ts +20 -0
  329. package/dist/storage/cache/providers/redis.d.ts.map +1 -0
  330. package/dist/storage/cache/providers/redis.js +33 -0
  331. package/dist/storage/cache/registry.cjs +50 -0
  332. package/dist/storage/cache/registry.d.ts +42 -0
  333. package/dist/storage/cache/registry.d.ts.map +1 -0
  334. package/dist/storage/cache/registry.js +26 -0
  335. package/dist/storage/cache/schemas.cjs +6 -2
  336. package/dist/storage/cache/schemas.d.ts +2 -3
  337. package/dist/storage/cache/schemas.d.ts.map +1 -1
  338. package/dist/storage/cache/schemas.js +3 -1
  339. package/dist/storage/database/factory.cjs +8 -47
  340. package/dist/storage/database/factory.d.ts +34 -8
  341. package/dist/storage/database/factory.d.ts.map +1 -1
  342. package/dist/storage/database/factory.js +8 -37
  343. package/dist/storage/database/index.cjs +58 -0
  344. package/dist/storage/database/index.d.ts +45 -0
  345. package/dist/storage/database/index.d.ts.map +1 -0
  346. package/dist/storage/database/index.js +37 -0
  347. package/dist/storage/database/postgres-store.cjs +174 -78
  348. package/dist/storage/database/postgres-store.d.ts +19 -0
  349. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  350. package/dist/storage/database/postgres-store.js +174 -78
  351. package/dist/storage/database/provider.cjs +16 -0
  352. package/dist/storage/database/provider.d.ts +56 -0
  353. package/dist/storage/database/provider.d.ts.map +1 -0
  354. package/dist/storage/database/provider.js +0 -0
  355. package/dist/storage/database/providers/index.cjs +34 -0
  356. package/dist/storage/database/providers/index.d.ts +9 -0
  357. package/dist/storage/database/providers/index.d.ts.map +1 -0
  358. package/dist/storage/database/providers/index.js +9 -0
  359. package/dist/storage/database/providers/memory.cjs +40 -0
  360. package/dist/storage/database/providers/memory.d.ts +16 -0
  361. package/dist/storage/database/providers/memory.d.ts.map +1 -0
  362. package/dist/storage/database/providers/memory.js +17 -0
  363. package/dist/storage/database/providers/postgres.cjs +62 -0
  364. package/dist/storage/database/providers/postgres.d.ts +19 -0
  365. package/dist/storage/database/providers/postgres.d.ts.map +1 -0
  366. package/dist/storage/database/providers/postgres.js +29 -0
  367. package/dist/storage/database/providers/sqlite.cjs +66 -0
  368. package/dist/storage/database/providers/sqlite.d.ts +20 -0
  369. package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
  370. package/dist/storage/database/providers/sqlite.js +33 -0
  371. package/dist/storage/database/registry.cjs +50 -0
  372. package/dist/storage/database/registry.d.ts +42 -0
  373. package/dist/storage/database/registry.d.ts.map +1 -0
  374. package/dist/storage/database/registry.js +26 -0
  375. package/dist/storage/database/schemas.cjs +12 -3
  376. package/dist/storage/database/schemas.d.ts +11 -4
  377. package/dist/storage/database/schemas.d.ts.map +1 -1
  378. package/dist/storage/database/schemas.js +8 -2
  379. package/dist/storage/error-codes.cjs +6 -0
  380. package/dist/storage/error-codes.d.ts +7 -1
  381. package/dist/storage/error-codes.d.ts.map +1 -1
  382. package/dist/storage/error-codes.js +6 -0
  383. package/dist/storage/errors.cjs +80 -0
  384. package/dist/storage/errors.d.ts +24 -0
  385. package/dist/storage/errors.d.ts.map +1 -1
  386. package/dist/storage/errors.js +80 -0
  387. package/dist/storage/index.cjs +47 -4
  388. package/dist/storage/index.d.ts +34 -8
  389. package/dist/storage/index.d.ts.map +1 -1
  390. package/dist/storage/index.js +32 -3
  391. package/dist/storage/schemas.cjs +4 -0
  392. package/dist/storage/schemas.d.ts +24 -50
  393. package/dist/storage/schemas.d.ts.map +1 -1
  394. package/dist/storage/schemas.js +5 -1
  395. package/dist/storage/storage-manager.cjs +6 -6
  396. package/dist/storage/storage-manager.d.ts.map +1 -1
  397. package/dist/storage/storage-manager.js +3 -3
  398. package/dist/systemPrompt/in-built-prompts.cjs +7 -6
  399. package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
  400. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  401. package/dist/systemPrompt/in-built-prompts.js +6 -5
  402. package/dist/systemPrompt/registry.cjs +2 -2
  403. package/dist/systemPrompt/registry.d.ts +1 -1
  404. package/dist/systemPrompt/registry.d.ts.map +1 -1
  405. package/dist/systemPrompt/registry.js +2 -2
  406. package/dist/systemPrompt/schemas.cjs +2 -2
  407. package/dist/systemPrompt/schemas.d.ts +13 -13
  408. package/dist/systemPrompt/schemas.js +2 -2
  409. package/dist/tools/custom-tool-registry.cjs +64 -0
  410. package/dist/tools/custom-tool-registry.d.ts +126 -0
  411. package/dist/tools/custom-tool-registry.d.ts.map +1 -0
  412. package/dist/tools/custom-tool-registry.js +40 -0
  413. package/dist/tools/custom-tool-schema-registry.cjs +164 -0
  414. package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
  415. package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
  416. package/dist/tools/custom-tool-schema-registry.js +140 -0
  417. package/dist/tools/error-codes.cjs +3 -0
  418. package/dist/tools/error-codes.d.ts +4 -1
  419. package/dist/tools/error-codes.d.ts.map +1 -1
  420. package/dist/tools/error-codes.js +3 -0
  421. package/dist/tools/errors.cjs +41 -0
  422. package/dist/tools/errors.d.ts +17 -0
  423. package/dist/tools/errors.d.ts.map +1 -1
  424. package/dist/tools/errors.js +41 -0
  425. package/dist/tools/index.cjs +13 -1
  426. package/dist/tools/index.d.ts +4 -0
  427. package/dist/tools/index.d.ts.map +1 -1
  428. package/dist/tools/index.js +11 -1
  429. package/dist/tools/internal-tools/constants.cjs +3 -9
  430. package/dist/tools/internal-tools/constants.d.ts +1 -1
  431. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  432. package/dist/tools/internal-tools/constants.js +3 -9
  433. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
  434. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
  435. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
  436. package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
  437. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
  438. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
  439. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
  440. package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
  441. package/dist/tools/internal-tools/provider.cjs +153 -23
  442. package/dist/tools/internal-tools/provider.d.ts +55 -10
  443. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  444. package/dist/tools/internal-tools/provider.js +153 -23
  445. package/dist/tools/internal-tools/registry.cjs +18 -43
  446. package/dist/tools/internal-tools/registry.d.ts +4 -4
  447. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  448. package/dist/tools/internal-tools/registry.js +18 -43
  449. package/dist/tools/schemas.cjs +20 -0
  450. package/dist/tools/schemas.d.ts +43 -1
  451. package/dist/tools/schemas.d.ts.map +1 -1
  452. package/dist/tools/schemas.js +16 -0
  453. package/dist/tools/tool-manager.cjs +140 -13
  454. package/dist/tools/tool-manager.d.ts +22 -3
  455. package/dist/tools/tool-manager.d.ts.map +1 -1
  456. package/dist/tools/tool-manager.js +140 -13
  457. package/dist/tools/types.d.ts +43 -0
  458. package/dist/tools/types.d.ts.map +1 -1
  459. package/dist/utils/api-key-resolver.cjs +19 -1
  460. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  461. package/dist/utils/api-key-resolver.js +19 -1
  462. package/dist/utils/index.cjs +0 -2
  463. package/dist/utils/index.d.ts +0 -1
  464. package/dist/utils/index.d.ts.map +1 -1
  465. package/dist/utils/index.js +0 -1
  466. package/dist/utils/redactor.cjs +18 -3
  467. package/dist/utils/redactor.d.ts +0 -7
  468. package/dist/utils/redactor.d.ts.map +1 -1
  469. package/dist/utils/redactor.js +18 -3
  470. package/dist/utils/service-initializer.cjs +9 -35
  471. package/dist/utils/service-initializer.d.ts.map +1 -1
  472. package/dist/utils/service-initializer.js +9 -35
  473. package/package.json +5 -2
  474. package/dist/context/compression/overflow.d.ts.map +0 -1
  475. package/dist/context/compression/reactive-overflow.d.ts.map +0 -1
  476. package/dist/context/compression/types.d.ts.map +0 -1
  477. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -130
  478. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
  479. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
  480. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -97
  481. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
  482. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
  483. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
  484. package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
  485. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -127
  486. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
  487. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
  488. package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -104
  489. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -70
  490. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
  491. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
  492. package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -47
  493. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -86
  494. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
  495. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
  496. package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -63
  497. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
  498. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
  499. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
  500. package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
  501. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -63
  502. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
  503. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
  504. package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -40
  505. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -124
  506. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
  507. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
  508. package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -103
  509. package/dist/utils/env-file.cjs +0 -118
  510. package/dist/utils/env-file.d.ts +0 -5
  511. package/dist/utils/env-file.d.ts.map +0 -1
  512. package/dist/utils/env-file.js +0 -85
  513. /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
  514. /package/dist/context/{compression → compaction}/types.cjs +0 -0
@@ -0,0 +1,147 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Base provider interface - all providers must have a type identifier.
4
+ */
5
+ export interface BaseProvider {
6
+ /** Unique type identifier for this provider */
7
+ type: string;
8
+ }
9
+ /**
10
+ * Provider with config schema - for providers that support validateConfig.
11
+ */
12
+ export interface ConfigurableProvider extends BaseProvider {
13
+ /** Zod schema for validating provider configuration */
14
+ configSchema: z.ZodType<any, any, any>;
15
+ }
16
+ /**
17
+ * Error factory interface for customizing registry errors.
18
+ * Each registry can provide its own error implementations.
19
+ */
20
+ export interface RegistryErrorFactory {
21
+ /** Called when attempting to register a provider that already exists */
22
+ alreadyRegistered(type: string): Error;
23
+ /** Called when looking up a provider that doesn't exist (for validateConfig) */
24
+ notFound(type: string, availableTypes: string[]): Error;
25
+ }
26
+ /**
27
+ * Default error factory that throws plain Error instances.
28
+ * Used when no custom error factory is provided.
29
+ */
30
+ export declare const defaultErrorFactory: RegistryErrorFactory;
31
+ /**
32
+ * Generic base registry for provider patterns.
33
+ *
34
+ * This class provides common registry functionality used across Dexto's
35
+ * provider system (blob storage, compression, custom tools, etc.).
36
+ *
37
+ * Features:
38
+ * - Type-safe provider registration and retrieval
39
+ * - Duplicate registration prevention
40
+ * - Customizable error handling via error factory
41
+ * - Optional config validation for providers with schemas
42
+ *
43
+ * @template TProvider - The provider type (must extend BaseProvider)
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * // Define your provider interface
48
+ * interface MyProvider extends BaseProvider {
49
+ * type: string;
50
+ * configSchema: z.ZodType<any>;
51
+ * create(config: any): MyInstance;
52
+ * }
53
+ *
54
+ * // Create a registry
55
+ * class MyRegistry extends BaseRegistry<MyProvider> {
56
+ * constructor() {
57
+ * super({
58
+ * alreadyRegistered: (type) => new MyError(`Provider ${type} exists`),
59
+ * notFound: (type, available) => new MyError(`Unknown: ${type}`),
60
+ * });
61
+ * }
62
+ * }
63
+ *
64
+ * // Use the registry
65
+ * const registry = new MyRegistry();
66
+ * registry.register(myProvider);
67
+ * const provider = registry.get('my-type');
68
+ * ```
69
+ */
70
+ export declare class BaseRegistry<TProvider extends BaseProvider> {
71
+ protected providers: Map<string, TProvider>;
72
+ protected errorFactory: RegistryErrorFactory;
73
+ /**
74
+ * Create a new registry instance.
75
+ *
76
+ * @param errorFactory - Optional custom error factory for registry errors.
77
+ * If not provided, uses default Error instances.
78
+ */
79
+ constructor(errorFactory?: RegistryErrorFactory);
80
+ /**
81
+ * Register a provider.
82
+ *
83
+ * @param provider - The provider to register
84
+ * @throws Error if a provider with the same type is already registered
85
+ */
86
+ register(provider: TProvider): void;
87
+ /**
88
+ * Unregister a provider.
89
+ *
90
+ * @param type - The provider type to unregister
91
+ * @returns true if the provider was unregistered, false if it wasn't registered
92
+ */
93
+ unregister(type: string): boolean;
94
+ /**
95
+ * Get a registered provider by type.
96
+ *
97
+ * @param type - The provider type identifier
98
+ * @returns The provider if found, undefined otherwise
99
+ */
100
+ get(type: string): TProvider | undefined;
101
+ /**
102
+ * Check if a provider is registered.
103
+ *
104
+ * @param type - The provider type identifier
105
+ * @returns true if registered, false otherwise
106
+ */
107
+ has(type: string): boolean;
108
+ /**
109
+ * Get all registered provider types.
110
+ *
111
+ * @returns Array of provider type identifiers
112
+ */
113
+ getTypes(): string[];
114
+ /**
115
+ * Get all registered providers.
116
+ *
117
+ * @returns Array of providers
118
+ */
119
+ getAll(): TProvider[];
120
+ /**
121
+ * Get the number of registered providers.
122
+ *
123
+ * @returns Count of registered providers
124
+ */
125
+ get size(): number;
126
+ /**
127
+ * Clear all registered providers.
128
+ * Primarily useful for testing.
129
+ */
130
+ clear(): void;
131
+ /**
132
+ * Validate a configuration against a provider's schema.
133
+ *
134
+ * This method is only available for registries with providers that have
135
+ * a configSchema property. It:
136
+ * 1. Extracts the 'type' field to identify the provider
137
+ * 2. Looks up the provider in the registry
138
+ * 3. Validates the full config against the provider's schema
139
+ * 4. Returns the validated configuration
140
+ *
141
+ * @param config - Raw configuration object with a 'type' field
142
+ * @returns Validated configuration object
143
+ * @throws Error if type is missing, provider not found, or validation fails
144
+ */
145
+ validateConfig(config: unknown): any;
146
+ }
147
+ //# sourceMappingURL=base-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-registry.d.ts","sourceRoot":"","sources":["../../src/providers/base-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACtD,uDAAuD;IACvD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,wEAAwE;IACxE,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;CAC3D;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,oBAMjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,YAAY;IACpD,SAAS,CAAC,SAAS,yBAAgC;IACnD,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAE7C;;;;;OAKG;gBACS,YAAY,GAAE,oBAA0C;IAIpE;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAOnC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIxC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;;OAIG;IACH,QAAQ,IAAI,MAAM,EAAE;IAIpB;;;;OAIG;IACH,MAAM,IAAI,SAAS,EAAE;IAIrB;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,GAAG;CAqBvC"}
@@ -0,0 +1,123 @@
1
+ import "../chunk-PTJYTZNU.js";
2
+ import { z } from "zod";
3
+ const defaultErrorFactory = {
4
+ alreadyRegistered: (type) => new Error(`Provider '${type}' is already registered`),
5
+ notFound: (type, availableTypes) => new Error(
6
+ `Provider '${type}' not found. Available: ${availableTypes.join(", ") || "none"}`
7
+ )
8
+ };
9
+ class BaseRegistry {
10
+ providers = /* @__PURE__ */ new Map();
11
+ errorFactory;
12
+ /**
13
+ * Create a new registry instance.
14
+ *
15
+ * @param errorFactory - Optional custom error factory for registry errors.
16
+ * If not provided, uses default Error instances.
17
+ */
18
+ constructor(errorFactory = defaultErrorFactory) {
19
+ this.errorFactory = errorFactory;
20
+ }
21
+ /**
22
+ * Register a provider.
23
+ *
24
+ * @param provider - The provider to register
25
+ * @throws Error if a provider with the same type is already registered
26
+ */
27
+ register(provider) {
28
+ if (this.providers.has(provider.type)) {
29
+ throw this.errorFactory.alreadyRegistered(provider.type);
30
+ }
31
+ this.providers.set(provider.type, provider);
32
+ }
33
+ /**
34
+ * Unregister a provider.
35
+ *
36
+ * @param type - The provider type to unregister
37
+ * @returns true if the provider was unregistered, false if it wasn't registered
38
+ */
39
+ unregister(type) {
40
+ return this.providers.delete(type);
41
+ }
42
+ /**
43
+ * Get a registered provider by type.
44
+ *
45
+ * @param type - The provider type identifier
46
+ * @returns The provider if found, undefined otherwise
47
+ */
48
+ get(type) {
49
+ return this.providers.get(type);
50
+ }
51
+ /**
52
+ * Check if a provider is registered.
53
+ *
54
+ * @param type - The provider type identifier
55
+ * @returns true if registered, false otherwise
56
+ */
57
+ has(type) {
58
+ return this.providers.has(type);
59
+ }
60
+ /**
61
+ * Get all registered provider types.
62
+ *
63
+ * @returns Array of provider type identifiers
64
+ */
65
+ getTypes() {
66
+ return Array.from(this.providers.keys());
67
+ }
68
+ /**
69
+ * Get all registered providers.
70
+ *
71
+ * @returns Array of providers
72
+ */
73
+ getAll() {
74
+ return Array.from(this.providers.values());
75
+ }
76
+ /**
77
+ * Get the number of registered providers.
78
+ *
79
+ * @returns Count of registered providers
80
+ */
81
+ get size() {
82
+ return this.providers.size;
83
+ }
84
+ /**
85
+ * Clear all registered providers.
86
+ * Primarily useful for testing.
87
+ */
88
+ clear() {
89
+ this.providers.clear();
90
+ }
91
+ /**
92
+ * Validate a configuration against a provider's schema.
93
+ *
94
+ * This method is only available for registries with providers that have
95
+ * a configSchema property. It:
96
+ * 1. Extracts the 'type' field to identify the provider
97
+ * 2. Looks up the provider in the registry
98
+ * 3. Validates the full config against the provider's schema
99
+ * 4. Returns the validated configuration
100
+ *
101
+ * @param config - Raw configuration object with a 'type' field
102
+ * @returns Validated configuration object
103
+ * @throws Error if type is missing, provider not found, or validation fails
104
+ */
105
+ validateConfig(config) {
106
+ const typeSchema = z.object({ type: z.string() }).passthrough();
107
+ const parsed = typeSchema.parse(config);
108
+ const provider = this.providers.get(parsed.type);
109
+ if (!provider) {
110
+ throw this.errorFactory.notFound(parsed.type, this.getTypes());
111
+ }
112
+ if (!("configSchema" in provider) || !provider.configSchema) {
113
+ throw new Error(
114
+ `Provider '${parsed.type}' does not support config validation (no configSchema)`
115
+ );
116
+ }
117
+ return provider.configSchema.parse(config);
118
+ }
119
+ }
120
+ export {
121
+ BaseRegistry,
122
+ defaultErrorFactory
123
+ };
@@ -0,0 +1,109 @@
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 discovery_exports = {};
20
+ __export(discovery_exports, {
21
+ getProvidersByCategory: () => getProvidersByCategory,
22
+ hasProvider: () => hasProvider,
23
+ listAllProviders: () => listAllProviders
24
+ });
25
+ module.exports = __toCommonJS(discovery_exports);
26
+ var import_blob = require("../storage/blob/index.js");
27
+ var import_database = require("../storage/database/index.js");
28
+ var import_compaction = require("../context/compaction/index.js");
29
+ var import_custom_tool_registry = require("../tools/custom-tool-registry.js");
30
+ var import_constants = require("../tools/internal-tools/constants.js");
31
+ var import_registry = require("../tools/internal-tools/registry.js");
32
+ function listAllProviders() {
33
+ const blobProviders = import_blob.blobStoreRegistry.getProviders().map((provider) => {
34
+ const info = {
35
+ type: provider.type,
36
+ category: "blob"
37
+ };
38
+ if (provider.metadata) {
39
+ info.metadata = provider.metadata;
40
+ }
41
+ return info;
42
+ });
43
+ const compactionProviders = import_compaction.compactionRegistry.getAll().map((provider) => {
44
+ const info = {
45
+ type: provider.type,
46
+ category: "compaction"
47
+ };
48
+ if (provider.metadata) {
49
+ info.metadata = provider.metadata;
50
+ }
51
+ return info;
52
+ });
53
+ const customToolProviders = import_custom_tool_registry.customToolRegistry.getTypes().map((type) => {
54
+ const provider = import_custom_tool_registry.customToolRegistry.get(type);
55
+ const info = {
56
+ type,
57
+ category: "customTools"
58
+ };
59
+ if (provider?.metadata) {
60
+ info.metadata = provider.metadata;
61
+ }
62
+ return info;
63
+ });
64
+ const databaseProviders = import_database.databaseRegistry.getProviders().map((provider) => {
65
+ const info = {
66
+ type: provider.type,
67
+ category: "database"
68
+ };
69
+ if (provider.metadata) {
70
+ info.metadata = provider.metadata;
71
+ }
72
+ return info;
73
+ });
74
+ const internalTools = import_constants.INTERNAL_TOOL_NAMES.map((name) => ({
75
+ name,
76
+ description: import_registry.INTERNAL_TOOL_REGISTRY[name].description
77
+ }));
78
+ return {
79
+ blob: blobProviders,
80
+ database: databaseProviders,
81
+ compaction: compactionProviders,
82
+ customTools: customToolProviders,
83
+ internalTools
84
+ };
85
+ }
86
+ function getProvidersByCategory(category) {
87
+ const allProviders = listAllProviders();
88
+ return allProviders[category];
89
+ }
90
+ function hasProvider(category, type) {
91
+ switch (category) {
92
+ case "blob":
93
+ return import_blob.blobStoreRegistry.has(type);
94
+ case "database":
95
+ return import_database.databaseRegistry.has(type);
96
+ case "compaction":
97
+ return import_compaction.compactionRegistry.has(type);
98
+ case "customTools":
99
+ return import_custom_tool_registry.customToolRegistry.has(type);
100
+ default:
101
+ return false;
102
+ }
103
+ }
104
+ // Annotate the CommonJS export names for ESM import in node:
105
+ 0 && (module.exports = {
106
+ getProvidersByCategory,
107
+ hasProvider,
108
+ listAllProviders
109
+ });
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Information about a registered provider.
3
+ */
4
+ export interface DiscoveredProvider {
5
+ /** Provider type identifier (e.g., 'local', 's3', 'reactive-overflow') */
6
+ type: string;
7
+ /** Provider category */
8
+ category: 'blob' | 'database' | 'compaction' | 'customTools';
9
+ /** Optional metadata about the provider */
10
+ metadata?: {
11
+ displayName?: string;
12
+ description?: string;
13
+ [key: string]: any;
14
+ } | undefined;
15
+ }
16
+ /**
17
+ * Information about an internal tool for discovery.
18
+ */
19
+ export interface InternalToolDiscovery {
20
+ /** Tool name identifier (e.g., 'search_history', 'ask_user') */
21
+ name: string;
22
+ /** Human-readable description of what the tool does */
23
+ description: string;
24
+ }
25
+ /**
26
+ * Discovery result with providers grouped by category.
27
+ */
28
+ export interface ProviderDiscovery {
29
+ /** Blob storage providers */
30
+ blob: DiscoveredProvider[];
31
+ /** Database providers */
32
+ database: DiscoveredProvider[];
33
+ /** Compaction strategy providers */
34
+ compaction: DiscoveredProvider[];
35
+ /** Custom tool providers */
36
+ customTools: DiscoveredProvider[];
37
+ /** Internal tools available for configuration */
38
+ internalTools: InternalToolDiscovery[];
39
+ }
40
+ /**
41
+ * Provider category type.
42
+ */
43
+ export type ProviderCategory = 'blob' | 'database' | 'compaction' | 'customTools';
44
+ /**
45
+ * List all registered providers across all registries.
46
+ *
47
+ * This function is useful for debugging and building UIs that need to display
48
+ * available providers. It queries all provider registries and returns a
49
+ * comprehensive view of what's currently registered.
50
+ *
51
+ * @returns Object with providers grouped by category
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const providers = listAllProviders();
56
+ * console.log('Available blob providers:', providers.blob);
57
+ * console.log('Available compaction providers:', providers.compaction);
58
+ * console.log('Available custom tool providers:', providers.customTools);
59
+ * ```
60
+ */
61
+ export declare function listAllProviders(): ProviderDiscovery;
62
+ /**
63
+ * Get all providers for a specific category.
64
+ *
65
+ * @param category - The provider category to query
66
+ * @returns Array of provider information for the specified category
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const blobProviders = getProvidersByCategory('blob');
71
+ * blobProviders.forEach(p => {
72
+ * console.log(`${p.type}: ${p.metadata?.displayName}`);
73
+ * });
74
+ * ```
75
+ */
76
+ export declare function getProvidersByCategory(category: ProviderCategory): DiscoveredProvider[];
77
+ /**
78
+ * Check if a specific provider exists in a category.
79
+ *
80
+ * @param category - The provider category to check
81
+ * @param type - The provider type identifier
82
+ * @returns True if the provider is registered, false otherwise
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * if (hasProvider('blob', 's3')) {
87
+ * console.log('S3 blob storage is available');
88
+ * }
89
+ *
90
+ * if (hasProvider('compaction', 'reactive-overflow')) {
91
+ * console.log('Reactive overflow compaction is available');
92
+ * }
93
+ * ```
94
+ */
95
+ export declare function hasProvider(category: ProviderCategory, type: string): boolean;
96
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/providers/discovery.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;IAE7D,2CAA2C;IAC3C,QAAQ,CAAC,EACH;QACI,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,GACD,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IAEb,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,6BAA6B;IAC7B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAE3B,yBAAyB;IACzB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAE/B,oCAAoC;IACpC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAEjC,4BAA4B;IAC5B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAElC,iDAAiD;IACjD,aAAa,EAAE,qBAAqB,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAElF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CA+DpD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,kBAAkB,EAAE,CAGvF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAa7E"}
@@ -0,0 +1,84 @@
1
+ import "../chunk-PTJYTZNU.js";
2
+ import { blobStoreRegistry } from "../storage/blob/index.js";
3
+ import { databaseRegistry } from "../storage/database/index.js";
4
+ import { compactionRegistry } from "../context/compaction/index.js";
5
+ import { customToolRegistry } from "../tools/custom-tool-registry.js";
6
+ import { INTERNAL_TOOL_NAMES } from "../tools/internal-tools/constants.js";
7
+ import { INTERNAL_TOOL_REGISTRY } from "../tools/internal-tools/registry.js";
8
+ function listAllProviders() {
9
+ const blobProviders = blobStoreRegistry.getProviders().map((provider) => {
10
+ const info = {
11
+ type: provider.type,
12
+ category: "blob"
13
+ };
14
+ if (provider.metadata) {
15
+ info.metadata = provider.metadata;
16
+ }
17
+ return info;
18
+ });
19
+ const compactionProviders = compactionRegistry.getAll().map((provider) => {
20
+ const info = {
21
+ type: provider.type,
22
+ category: "compaction"
23
+ };
24
+ if (provider.metadata) {
25
+ info.metadata = provider.metadata;
26
+ }
27
+ return info;
28
+ });
29
+ const customToolProviders = customToolRegistry.getTypes().map((type) => {
30
+ const provider = customToolRegistry.get(type);
31
+ const info = {
32
+ type,
33
+ category: "customTools"
34
+ };
35
+ if (provider?.metadata) {
36
+ info.metadata = provider.metadata;
37
+ }
38
+ return info;
39
+ });
40
+ const databaseProviders = databaseRegistry.getProviders().map((provider) => {
41
+ const info = {
42
+ type: provider.type,
43
+ category: "database"
44
+ };
45
+ if (provider.metadata) {
46
+ info.metadata = provider.metadata;
47
+ }
48
+ return info;
49
+ });
50
+ const internalTools = INTERNAL_TOOL_NAMES.map((name) => ({
51
+ name,
52
+ description: INTERNAL_TOOL_REGISTRY[name].description
53
+ }));
54
+ return {
55
+ blob: blobProviders,
56
+ database: databaseProviders,
57
+ compaction: compactionProviders,
58
+ customTools: customToolProviders,
59
+ internalTools
60
+ };
61
+ }
62
+ function getProvidersByCategory(category) {
63
+ const allProviders = listAllProviders();
64
+ return allProviders[category];
65
+ }
66
+ function hasProvider(category, type) {
67
+ switch (category) {
68
+ case "blob":
69
+ return blobStoreRegistry.has(type);
70
+ case "database":
71
+ return databaseRegistry.has(type);
72
+ case "compaction":
73
+ return compactionRegistry.has(type);
74
+ case "customTools":
75
+ return customToolRegistry.has(type);
76
+ default:
77
+ return false;
78
+ }
79
+ }
80
+ export {
81
+ getProvidersByCategory,
82
+ hasProvider,
83
+ listAllProviders
84
+ };
@@ -0,0 +1,24 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var providers_exports = {};
17
+ module.exports = __toCommonJS(providers_exports);
18
+ __reExport(providers_exports, require("./base-registry.js"), module.exports);
19
+ __reExport(providers_exports, require("./discovery.js"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./base-registry.js"),
23
+ ...require("./discovery.js")
24
+ });
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Provider Infrastructure
3
+ *
4
+ * This module provides:
5
+ * 1. BaseRegistry - Generic base class for building type-safe provider registries
6
+ * 2. Discovery API - Utilities for querying registered providers across all registries
7
+ *
8
+ * Useful for:
9
+ * - Building custom provider registries with consistent behavior
10
+ * - Debugging: See what providers are available at runtime
11
+ * - UIs: Build dynamic interfaces that show available providers
12
+ * - Configuration validation: Check if required providers are registered
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { BaseRegistry, listAllProviders, hasProvider } from '@dexto/core';
17
+ *
18
+ * // Create a custom registry
19
+ * class MyRegistry extends BaseRegistry<MyProvider> {
20
+ * constructor() {
21
+ * super(myErrorFactory);
22
+ * }
23
+ * }
24
+ *
25
+ * // List all providers
26
+ * const providers = listAllProviders();
27
+ * console.log('Blob providers:', providers.blob);
28
+ * ```
29
+ */
30
+ export * from './base-registry.js';
31
+ export * from './discovery.js';
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./base-registry.js";
2
+ export * from "./discovery.js";
@@ -140,9 +140,9 @@ function formatResourceContent(resourceUri, resourceName, content) {
140
140
  contentParts.push(`
141
141
  --- Content from resource: ${resourceName} (${resourceUri}) ---`);
142
142
  for (const item of content.contents) {
143
- if (item.text && typeof item.text === "string") {
143
+ if ("text" in item && item.text && typeof item.text === "string") {
144
144
  contentParts.push(item.text);
145
- } else if (item.blob) {
145
+ } else if ("blob" in item && item.blob) {
146
146
  const blobSize = typeof item.blob === "string" ? item.blob.length : "unknown";
147
147
  contentParts.push(`[Binary content: ${item.mimeType || "unknown"}, ${blobSize} bytes]`);
148
148
  }
@@ -172,7 +172,7 @@ async function expandMessageReferences(message, availableResources, resourceRead
172
172
  const resource = availableResources[ref.resourceUri];
173
173
  let isImageResource = false;
174
174
  for (const item of content.contents) {
175
- if (item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
175
+ if ("blob" in item && item.blob && item.mimeType && item.mimeType.startsWith("image/") && typeof item.blob === "string") {
176
176
  extractedImages.push({
177
177
  image: item.blob,
178
178
  mimeType: item.mimeType,
@@ -1 +1 @@
1
- {"version":3,"file":"reference-parser.d.ts","sourceRoot":"","sources":["../../src/resources/reference-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,eAAe,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;IAC1C,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAuB5E;AAED,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,kBAAkB,EAAE,WAAW,GAChC,iBAAiB,EAAE,CAmCrB;AAiGD,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC5B,MAAM,CAaR;AAED,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,WAAW,EAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAC7D,OAAO,CAAC,uBAAuB,CAAC,CA8ElC"}
1
+ {"version":3,"file":"reference-parser.d.ts","sourceRoot":"","sources":["../../src/resources/reference-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,eAAe,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;IAC1C,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAuB5E;AAED,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,kBAAkB,EAAE,WAAW,GAChC,iBAAiB,EAAE,CAmCrB;AAiGD,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC5B,MAAM,CAaR;AAED,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,WAAW,EAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAC7D,OAAO,CAAC,uBAAuB,CAAC,CA+ElC"}