@dexto/core 1.4.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 (497) 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 +5911 -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 +2 -2
  89. package/dist/events/index.d.ts +16 -16
  90. package/dist/events/index.d.ts.map +1 -1
  91. package/dist/events/index.js +2 -2
  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/stream-processor.cjs +11 -3
  127. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  128. package/dist/llm/executor/stream-processor.js +11 -3
  129. package/dist/llm/executor/turn-executor.cjs +50 -23
  130. package/dist/llm/executor/turn-executor.d.ts +6 -5
  131. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  132. package/dist/llm/executor/turn-executor.js +50 -23
  133. package/dist/llm/formatters/vercel.cjs +6 -2
  134. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  135. package/dist/llm/formatters/vercel.js +6 -2
  136. package/dist/llm/index.cjs +18 -1
  137. package/dist/llm/index.d.ts +2 -0
  138. package/dist/llm/index.d.ts.map +1 -1
  139. package/dist/llm/index.js +14 -0
  140. package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
  141. package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
  142. package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
  143. package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
  144. package/dist/llm/providers/local/downloader.cjs +291 -0
  145. package/dist/llm/providers/local/downloader.d.ts +82 -0
  146. package/dist/llm/providers/local/downloader.d.ts.map +1 -0
  147. package/dist/llm/providers/local/downloader.js +251 -0
  148. package/dist/llm/providers/local/error-codes.cjs +57 -0
  149. package/dist/llm/providers/local/error-codes.d.ts +66 -0
  150. package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
  151. package/dist/llm/providers/local/error-codes.js +34 -0
  152. package/dist/llm/providers/local/errors.cjs +240 -0
  153. package/dist/llm/providers/local/errors.d.ts +31 -0
  154. package/dist/llm/providers/local/errors.d.ts.map +1 -0
  155. package/dist/llm/providers/local/errors.js +217 -0
  156. package/dist/llm/providers/local/gpu-detector.cjs +214 -0
  157. package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
  158. package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
  159. package/dist/llm/providers/local/gpu-detector.js +178 -0
  160. package/dist/llm/providers/local/index.cjs +147 -0
  161. package/dist/llm/providers/local/index.d.ts +21 -0
  162. package/dist/llm/providers/local/index.d.ts.map +1 -0
  163. package/dist/llm/providers/local/index.js +126 -0
  164. package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
  165. package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
  166. package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
  167. package/dist/llm/providers/local/node-llama-provider.js +176 -0
  168. package/dist/llm/providers/local/ollama-provider.cjs +230 -0
  169. package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
  170. package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
  171. package/dist/llm/providers/local/ollama-provider.js +198 -0
  172. package/dist/llm/providers/local/registry.cjs +343 -0
  173. package/dist/llm/providers/local/registry.d.ts +51 -0
  174. package/dist/llm/providers/local/registry.d.ts.map +1 -0
  175. package/dist/llm/providers/local/registry.js +312 -0
  176. package/dist/llm/providers/local/schemas.cjs +169 -0
  177. package/dist/llm/providers/local/schemas.d.ts +395 -0
  178. package/dist/llm/providers/local/schemas.d.ts.map +1 -0
  179. package/dist/llm/providers/local/schemas.js +133 -0
  180. package/dist/llm/providers/local/types.cjs +16 -0
  181. package/dist/llm/providers/local/types.d.ts +219 -0
  182. package/dist/llm/providers/local/types.d.ts.map +1 -0
  183. package/dist/llm/providers/local/types.js +0 -0
  184. package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
  185. package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
  186. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
  187. package/dist/llm/providers/openrouter-model-registry.js +309 -0
  188. package/dist/llm/registry.cjs +535 -9
  189. package/dist/llm/registry.d.ts +26 -0
  190. package/dist/llm/registry.d.ts.map +1 -1
  191. package/dist/llm/registry.js +532 -9
  192. package/dist/llm/resolver.cjs +63 -5
  193. package/dist/llm/resolver.d.ts +3 -3
  194. package/dist/llm/resolver.d.ts.map +1 -1
  195. package/dist/llm/resolver.js +69 -6
  196. package/dist/llm/schemas.cjs +90 -80
  197. package/dist/llm/schemas.d.ts +158 -22
  198. package/dist/llm/schemas.d.ts.map +1 -1
  199. package/dist/llm/schemas.js +90 -80
  200. package/dist/llm/services/factory.cjs +87 -13
  201. package/dist/llm/services/factory.d.ts +4 -1
  202. package/dist/llm/services/factory.d.ts.map +1 -1
  203. package/dist/llm/services/factory.js +85 -12
  204. package/dist/llm/services/test-utils.integration.cjs +22 -2
  205. package/dist/llm/services/test-utils.integration.d.ts +7 -1
  206. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  207. package/dist/llm/services/test-utils.integration.js +26 -3
  208. package/dist/llm/services/vercel.cjs +5 -2
  209. package/dist/llm/services/vercel.d.ts +3 -2
  210. package/dist/llm/services/vercel.d.ts.map +1 -1
  211. package/dist/llm/services/vercel.js +5 -2
  212. package/dist/llm/types.cjs +11 -1
  213. package/dist/llm/types.d.ts +1 -1
  214. package/dist/llm/types.d.ts.map +1 -1
  215. package/dist/llm/types.js +11 -1
  216. package/dist/mcp/manager.cjs +8 -0
  217. package/dist/mcp/manager.d.ts +17 -0
  218. package/dist/mcp/manager.d.ts.map +1 -1
  219. package/dist/mcp/manager.js +8 -0
  220. package/dist/mcp/mcp-client.cjs +0 -3
  221. package/dist/mcp/mcp-client.d.ts.map +1 -1
  222. package/dist/mcp/mcp-client.js +0 -3
  223. package/dist/memory/schemas.d.ts +1 -1
  224. package/dist/plugins/error-codes.cjs +3 -0
  225. package/dist/plugins/error-codes.d.ts +7 -1
  226. package/dist/plugins/error-codes.d.ts.map +1 -1
  227. package/dist/plugins/error-codes.js +3 -0
  228. package/dist/plugins/index.cjs +7 -0
  229. package/dist/plugins/index.d.ts +4 -2
  230. package/dist/plugins/index.d.ts.map +1 -1
  231. package/dist/plugins/index.js +6 -1
  232. package/dist/plugins/manager.cjs +92 -7
  233. package/dist/plugins/manager.d.ts +10 -3
  234. package/dist/plugins/manager.d.ts.map +1 -1
  235. package/dist/plugins/manager.js +92 -7
  236. package/dist/plugins/registry.cjs +63 -0
  237. package/dist/plugins/registry.d.ts +101 -0
  238. package/dist/plugins/registry.d.ts.map +1 -0
  239. package/dist/plugins/registry.js +39 -0
  240. package/dist/plugins/schemas.cjs +17 -5
  241. package/dist/plugins/schemas.d.ts +62 -5
  242. package/dist/plugins/schemas.d.ts.map +1 -1
  243. package/dist/plugins/schemas.js +15 -4
  244. package/dist/providers/base-registry.cjs +147 -0
  245. package/dist/providers/base-registry.d.ts +147 -0
  246. package/dist/providers/base-registry.d.ts.map +1 -0
  247. package/dist/providers/base-registry.js +123 -0
  248. package/dist/providers/discovery.cjs +95 -0
  249. package/dist/providers/discovery.d.ts +94 -0
  250. package/dist/providers/discovery.d.ts.map +1 -0
  251. package/dist/providers/discovery.js +70 -0
  252. package/dist/providers/index.cjs +24 -0
  253. package/dist/providers/index.d.ts +32 -0
  254. package/dist/providers/index.d.ts.map +1 -0
  255. package/dist/providers/index.js +2 -0
  256. package/dist/resources/reference-parser.cjs +3 -3
  257. package/dist/resources/reference-parser.d.ts.map +1 -1
  258. package/dist/resources/reference-parser.js +3 -3
  259. package/dist/session/chat-session.cjs +20 -3
  260. package/dist/session/chat-session.d.ts.map +1 -1
  261. package/dist/session/chat-session.js +21 -4
  262. package/dist/storage/blob/factory.cjs +8 -11
  263. package/dist/storage/blob/factory.d.ts +32 -6
  264. package/dist/storage/blob/factory.d.ts.map +1 -1
  265. package/dist/storage/blob/factory.js +8 -11
  266. package/dist/storage/blob/index.cjs +56 -0
  267. package/dist/storage/blob/index.d.ts +45 -0
  268. package/dist/storage/blob/index.d.ts.map +1 -0
  269. package/dist/storage/blob/index.js +30 -0
  270. package/dist/storage/blob/provider.cjs +16 -0
  271. package/dist/storage/blob/provider.d.ts +50 -0
  272. package/dist/storage/blob/provider.d.ts.map +1 -0
  273. package/dist/storage/blob/provider.js +0 -0
  274. package/dist/storage/blob/providers/index.cjs +31 -0
  275. package/dist/storage/blob/providers/index.d.ts +8 -0
  276. package/dist/storage/blob/providers/index.d.ts.map +1 -0
  277. package/dist/storage/blob/providers/index.js +7 -0
  278. package/dist/storage/blob/providers/local.cjs +39 -0
  279. package/dist/storage/blob/providers/local.d.ts +17 -0
  280. package/dist/storage/blob/providers/local.d.ts.map +1 -0
  281. package/dist/storage/blob/providers/local.js +16 -0
  282. package/dist/storage/blob/providers/memory.cjs +39 -0
  283. package/dist/storage/blob/providers/memory.d.ts +17 -0
  284. package/dist/storage/blob/providers/memory.d.ts.map +1 -0
  285. package/dist/storage/blob/providers/memory.js +16 -0
  286. package/dist/storage/blob/registry.cjs +50 -0
  287. package/dist/storage/blob/registry.d.ts +42 -0
  288. package/dist/storage/blob/registry.d.ts.map +1 -0
  289. package/dist/storage/blob/registry.js +26 -0
  290. package/dist/storage/blob/schemas.cjs +9 -12
  291. package/dist/storage/blob/schemas.d.ts +39 -34
  292. package/dist/storage/blob/schemas.d.ts.map +1 -1
  293. package/dist/storage/blob/schemas.js +6 -11
  294. package/dist/storage/cache/factory.cjs +8 -36
  295. package/dist/storage/cache/factory.d.ts +32 -7
  296. package/dist/storage/cache/factory.d.ts.map +1 -1
  297. package/dist/storage/cache/factory.js +8 -26
  298. package/dist/storage/cache/index.cjs +53 -0
  299. package/dist/storage/cache/index.d.ts +44 -0
  300. package/dist/storage/cache/index.d.ts.map +1 -0
  301. package/dist/storage/cache/index.js +28 -0
  302. package/dist/storage/cache/provider.cjs +16 -0
  303. package/dist/storage/cache/provider.d.ts +56 -0
  304. package/dist/storage/cache/provider.d.ts.map +1 -0
  305. package/dist/storage/cache/provider.js +0 -0
  306. package/dist/storage/cache/providers/index.cjs +31 -0
  307. package/dist/storage/cache/providers/index.d.ts +8 -0
  308. package/dist/storage/cache/providers/index.d.ts.map +1 -0
  309. package/dist/storage/cache/providers/index.js +7 -0
  310. package/dist/storage/cache/providers/memory.cjs +40 -0
  311. package/dist/storage/cache/providers/memory.d.ts +17 -0
  312. package/dist/storage/cache/providers/memory.d.ts.map +1 -0
  313. package/dist/storage/cache/providers/memory.js +17 -0
  314. package/dist/storage/cache/providers/redis.cjs +66 -0
  315. package/dist/storage/cache/providers/redis.d.ts +20 -0
  316. package/dist/storage/cache/providers/redis.d.ts.map +1 -0
  317. package/dist/storage/cache/providers/redis.js +33 -0
  318. package/dist/storage/cache/registry.cjs +50 -0
  319. package/dist/storage/cache/registry.d.ts +42 -0
  320. package/dist/storage/cache/registry.d.ts.map +1 -0
  321. package/dist/storage/cache/registry.js +26 -0
  322. package/dist/storage/cache/schemas.cjs +6 -2
  323. package/dist/storage/cache/schemas.d.ts +2 -3
  324. package/dist/storage/cache/schemas.d.ts.map +1 -1
  325. package/dist/storage/cache/schemas.js +3 -1
  326. package/dist/storage/database/factory.cjs +8 -47
  327. package/dist/storage/database/factory.d.ts +34 -8
  328. package/dist/storage/database/factory.d.ts.map +1 -1
  329. package/dist/storage/database/factory.js +8 -37
  330. package/dist/storage/database/index.cjs +58 -0
  331. package/dist/storage/database/index.d.ts +45 -0
  332. package/dist/storage/database/index.d.ts.map +1 -0
  333. package/dist/storage/database/index.js +37 -0
  334. package/dist/storage/database/provider.cjs +16 -0
  335. package/dist/storage/database/provider.d.ts +56 -0
  336. package/dist/storage/database/provider.d.ts.map +1 -0
  337. package/dist/storage/database/provider.js +0 -0
  338. package/dist/storage/database/providers/index.cjs +34 -0
  339. package/dist/storage/database/providers/index.d.ts +9 -0
  340. package/dist/storage/database/providers/index.d.ts.map +1 -0
  341. package/dist/storage/database/providers/index.js +9 -0
  342. package/dist/storage/database/providers/memory.cjs +40 -0
  343. package/dist/storage/database/providers/memory.d.ts +16 -0
  344. package/dist/storage/database/providers/memory.d.ts.map +1 -0
  345. package/dist/storage/database/providers/memory.js +17 -0
  346. package/dist/storage/database/providers/postgres.cjs +62 -0
  347. package/dist/storage/database/providers/postgres.d.ts +19 -0
  348. package/dist/storage/database/providers/postgres.d.ts.map +1 -0
  349. package/dist/storage/database/providers/postgres.js +29 -0
  350. package/dist/storage/database/providers/sqlite.cjs +66 -0
  351. package/dist/storage/database/providers/sqlite.d.ts +20 -0
  352. package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
  353. package/dist/storage/database/providers/sqlite.js +33 -0
  354. package/dist/storage/database/registry.cjs +50 -0
  355. package/dist/storage/database/registry.d.ts +42 -0
  356. package/dist/storage/database/registry.d.ts.map +1 -0
  357. package/dist/storage/database/registry.js +26 -0
  358. package/dist/storage/database/schemas.cjs +8 -2
  359. package/dist/storage/database/schemas.d.ts +3 -4
  360. package/dist/storage/database/schemas.d.ts.map +1 -1
  361. package/dist/storage/database/schemas.js +4 -1
  362. package/dist/storage/error-codes.cjs +6 -0
  363. package/dist/storage/error-codes.d.ts +7 -1
  364. package/dist/storage/error-codes.d.ts.map +1 -1
  365. package/dist/storage/error-codes.js +6 -0
  366. package/dist/storage/errors.cjs +80 -0
  367. package/dist/storage/errors.d.ts +24 -0
  368. package/dist/storage/errors.d.ts.map +1 -1
  369. package/dist/storage/errors.js +80 -0
  370. package/dist/storage/index.cjs +47 -4
  371. package/dist/storage/index.d.ts +34 -8
  372. package/dist/storage/index.d.ts.map +1 -1
  373. package/dist/storage/index.js +32 -3
  374. package/dist/storage/schemas.cjs +4 -0
  375. package/dist/storage/schemas.d.ts +17 -50
  376. package/dist/storage/schemas.d.ts.map +1 -1
  377. package/dist/storage/schemas.js +5 -1
  378. package/dist/storage/storage-manager.cjs +6 -6
  379. package/dist/storage/storage-manager.d.ts.map +1 -1
  380. package/dist/storage/storage-manager.js +3 -3
  381. package/dist/systemPrompt/in-built-prompts.cjs +7 -6
  382. package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
  383. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  384. package/dist/systemPrompt/in-built-prompts.js +6 -5
  385. package/dist/systemPrompt/registry.cjs +2 -2
  386. package/dist/systemPrompt/registry.d.ts +1 -1
  387. package/dist/systemPrompt/registry.d.ts.map +1 -1
  388. package/dist/systemPrompt/registry.js +2 -2
  389. package/dist/systemPrompt/schemas.cjs +2 -2
  390. package/dist/systemPrompt/schemas.d.ts +13 -13
  391. package/dist/systemPrompt/schemas.js +2 -2
  392. package/dist/tools/custom-tool-registry.cjs +64 -0
  393. package/dist/tools/custom-tool-registry.d.ts +120 -0
  394. package/dist/tools/custom-tool-registry.d.ts.map +1 -0
  395. package/dist/tools/custom-tool-registry.js +40 -0
  396. package/dist/tools/custom-tool-schema-registry.cjs +164 -0
  397. package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
  398. package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
  399. package/dist/tools/custom-tool-schema-registry.js +140 -0
  400. package/dist/tools/error-codes.cjs +3 -0
  401. package/dist/tools/error-codes.d.ts +4 -1
  402. package/dist/tools/error-codes.d.ts.map +1 -1
  403. package/dist/tools/error-codes.js +3 -0
  404. package/dist/tools/errors.cjs +41 -0
  405. package/dist/tools/errors.d.ts +17 -0
  406. package/dist/tools/errors.d.ts.map +1 -1
  407. package/dist/tools/errors.js +41 -0
  408. package/dist/tools/index.cjs +13 -1
  409. package/dist/tools/index.d.ts +4 -0
  410. package/dist/tools/index.d.ts.map +1 -1
  411. package/dist/tools/index.js +11 -1
  412. package/dist/tools/internal-tools/constants.cjs +3 -9
  413. package/dist/tools/internal-tools/constants.d.ts +1 -1
  414. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  415. package/dist/tools/internal-tools/constants.js +3 -9
  416. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
  417. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
  418. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
  419. package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
  420. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
  421. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
  422. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
  423. package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
  424. package/dist/tools/internal-tools/provider.cjs +150 -23
  425. package/dist/tools/internal-tools/provider.d.ts +55 -10
  426. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  427. package/dist/tools/internal-tools/provider.js +150 -23
  428. package/dist/tools/internal-tools/registry.cjs +18 -43
  429. package/dist/tools/internal-tools/registry.d.ts +4 -4
  430. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  431. package/dist/tools/internal-tools/registry.js +18 -43
  432. package/dist/tools/schemas.cjs +20 -0
  433. package/dist/tools/schemas.d.ts +43 -1
  434. package/dist/tools/schemas.d.ts.map +1 -1
  435. package/dist/tools/schemas.js +16 -0
  436. package/dist/tools/tool-manager.cjs +140 -13
  437. package/dist/tools/tool-manager.d.ts +22 -3
  438. package/dist/tools/tool-manager.d.ts.map +1 -1
  439. package/dist/tools/tool-manager.js +140 -13
  440. package/dist/tools/types.d.ts +43 -0
  441. package/dist/tools/types.d.ts.map +1 -1
  442. package/dist/utils/api-key-resolver.cjs +19 -1
  443. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  444. package/dist/utils/api-key-resolver.js +19 -1
  445. package/dist/utils/index.cjs +0 -2
  446. package/dist/utils/index.d.ts +0 -1
  447. package/dist/utils/index.d.ts.map +1 -1
  448. package/dist/utils/index.js +0 -1
  449. package/dist/utils/redactor.cjs +18 -3
  450. package/dist/utils/redactor.d.ts +0 -7
  451. package/dist/utils/redactor.d.ts.map +1 -1
  452. package/dist/utils/redactor.js +18 -3
  453. package/dist/utils/service-initializer.cjs +9 -35
  454. package/dist/utils/service-initializer.d.ts.map +1 -1
  455. package/dist/utils/service-initializer.js +9 -35
  456. package/package.json +5 -2
  457. package/dist/context/compression/overflow.d.ts.map +0 -1
  458. package/dist/context/compression/reactive-overflow.d.ts.map +0 -1
  459. package/dist/context/compression/types.d.ts.map +0 -1
  460. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -130
  461. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
  462. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
  463. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -97
  464. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
  465. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
  466. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
  467. package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
  468. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -127
  469. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
  470. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
  471. package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -104
  472. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -70
  473. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
  474. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
  475. package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -47
  476. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -86
  477. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
  478. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
  479. package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -63
  480. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
  481. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
  482. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
  483. package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
  484. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -63
  485. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
  486. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
  487. package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -40
  488. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -124
  489. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
  490. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
  491. package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -103
  492. package/dist/utils/env-file.cjs +0 -118
  493. package/dist/utils/env-file.d.ts +0 -5
  494. package/dist/utils/env-file.d.ts.map +0 -1
  495. package/dist/utils/env-file.js +0 -85
  496. /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
  497. /package/dist/context/{compression → compaction}/types.cjs +0 -0
@@ -1,10 +1,13 @@
1
1
  import { z } from 'zod';
2
2
  export { CACHE_TYPES, CacheConfigSchema, type CacheType, type CacheConfig, type InMemoryCacheConfig, type RedisCacheConfig, } from './cache/schemas.js';
3
3
  export { DATABASE_TYPES, DatabaseConfigSchema, type DatabaseType, type DatabaseConfig, type InMemoryDatabaseConfig, type SqliteDatabaseConfig, type PostgresDatabaseConfig, } from './database/schemas.js';
4
- export { BLOB_STORE_TYPES, BlobStoreConfigSchema, type BlobStoreType, type BlobStoreConfig, type InMemoryBlobStoreConfig, type LocalBlobStoreConfig, } from './blob/schemas.js';
4
+ export { BLOB_STORE_TYPES, BlobStoreConfigSchema, InMemoryBlobStoreSchema, LocalBlobStoreSchema, type BlobStoreType, type BlobStoreConfig, type InMemoryBlobStoreConfig, type LocalBlobStoreConfig, } from './blob/schemas.js';
5
5
  /**
6
6
  * Top-level storage configuration schema
7
7
  * Composes cache, database, and blob store configurations
8
+ *
9
+ * Note: Blob config uses runtime validation via the provider registry,
10
+ * allowing custom providers to be registered at the CLI/server layer.
8
11
  */
9
12
  export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
10
13
  cache: z.ZodEffects<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
@@ -224,37 +227,13 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
224
227
  database?: string | undefined;
225
228
  connectionString?: string | undefined;
226
229
  }>;
227
- blob: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
228
- type: z.ZodLiteral<"in-memory">;
229
- maxBlobSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
230
- maxTotalSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
231
- }, "strict", z.ZodTypeAny, {
232
- type: "in-memory";
233
- maxBlobSize: number;
234
- maxTotalSize: number;
235
- }, {
236
- type: "in-memory";
237
- maxBlobSize?: number | undefined;
238
- maxTotalSize?: number | undefined;
239
- }>, z.ZodObject<{
240
- type: z.ZodLiteral<"local">;
241
- storePath: z.ZodString;
242
- maxBlobSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
243
- maxTotalSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
244
- cleanupAfterDays: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
245
- }, "strict", z.ZodTypeAny, {
246
- type: "local";
247
- maxBlobSize: number;
248
- maxTotalSize: number;
249
- storePath: string;
250
- cleanupAfterDays: number;
251
- }, {
252
- type: "local";
253
- storePath: string;
254
- maxBlobSize?: number | undefined;
255
- maxTotalSize?: number | undefined;
256
- cleanupAfterDays?: number | undefined;
257
- }>]>;
230
+ blob: z.ZodObject<{
231
+ type: z.ZodString;
232
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
233
+ type: z.ZodString;
234
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
235
+ type: z.ZodString;
236
+ }, z.ZodTypeAny, "passthrough">>;
258
237
  }, "strict", z.ZodTypeAny, {
259
238
  database: {
260
239
  type: "in-memory";
@@ -301,15 +280,9 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
301
280
  database?: number | undefined;
302
281
  };
303
282
  blob: {
304
- type: "in-memory";
305
- maxBlobSize: number;
306
- maxTotalSize: number;
307
- } | {
308
- type: "local";
309
- maxBlobSize: number;
310
- maxTotalSize: number;
311
- storePath: string;
312
- cleanupAfterDays: number;
283
+ type: string;
284
+ } & {
285
+ [k: string]: unknown;
313
286
  };
314
287
  }, {
315
288
  database: {
@@ -357,15 +330,9 @@ export declare const StorageSchema: z.ZodBranded<z.ZodObject<{
357
330
  database?: number | undefined;
358
331
  };
359
332
  blob: {
360
- type: "in-memory";
361
- maxBlobSize?: number | undefined;
362
- maxTotalSize?: number | undefined;
363
- } | {
364
- type: "local";
365
- storePath: string;
366
- maxBlobSize?: number | undefined;
367
- maxTotalSize?: number | undefined;
368
- cleanupAfterDays?: number | undefined;
333
+ type: string;
334
+ } & {
335
+ [k: string]: unknown;
369
336
  };
370
337
  }>, "ValidatedStorageConfig">;
371
338
  export type StorageConfig = z.input<typeof StorageSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/storage/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC5B,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAUY,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/storage/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC5B,MAAM,mBAAmB,CAAC;AAO3B;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAUY,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -10,7 +10,9 @@ import {
10
10
  } from "./database/schemas.js";
11
11
  import {
12
12
  BLOB_STORE_TYPES,
13
- BlobStoreConfigSchema
13
+ BlobStoreConfigSchema,
14
+ InMemoryBlobStoreSchema,
15
+ LocalBlobStoreSchema
14
16
  } from "./blob/schemas.js";
15
17
  import { CacheConfigSchema as CacheConfigSchema2 } from "./cache/schemas.js";
16
18
  import { DatabaseConfigSchema as DatabaseConfigSchema2 } from "./database/schemas.js";
@@ -29,5 +31,7 @@ export {
29
31
  CacheConfigSchema,
30
32
  DATABASE_TYPES,
31
33
  DatabaseConfigSchema,
34
+ InMemoryBlobStoreSchema,
35
+ LocalBlobStoreSchema,
32
36
  StorageSchema
33
37
  };
@@ -22,9 +22,9 @@ __export(storage_manager_exports, {
22
22
  createStorageManager: () => createStorageManager
23
23
  });
24
24
  module.exports = __toCommonJS(storage_manager_exports);
25
- var import_factory = require("./cache/factory.js");
26
- var import_factory2 = require("./database/factory.js");
27
- var import_factory3 = require("./blob/factory.js");
25
+ var import_cache = require("./cache/index.js");
26
+ var import_database = require("./database/index.js");
27
+ var import_blob = require("./blob/index.js");
28
28
  var import_errors = require("./errors.js");
29
29
  var import_types = require("../logger/v2/types.js");
30
30
  const HEALTH_CHECK_KEY = "storage_manager_health_check";
@@ -48,9 +48,9 @@ class StorageManager {
48
48
  if (this.initialized) {
49
49
  return;
50
50
  }
51
- this.cache = await (0, import_factory.createCache)(this.config.cache, this.logger);
52
- this.database = await (0, import_factory2.createDatabase)(this.config.database, this.logger);
53
- this.blobStore = (0, import_factory3.createBlobStore)(this.config.blob, this.logger);
51
+ this.cache = await (0, import_cache.createCache)(this.config.cache, this.logger);
52
+ this.database = await (0, import_database.createDatabase)(this.config.database, this.logger);
53
+ this.blobStore = (0, import_blob.createBlobStore)(this.config.blob, this.logger);
54
54
  this.initialized = true;
55
55
  }
56
56
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAK3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,YAAY;IAKhE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCjC,WAAW,IAAI,OAAO;IAStB;;;OAGG;IACH,QAAQ,IAAI,KAAK;IAOjB;;;OAGG;IACH,WAAW,IAAI,QAAQ;IAOvB;;;OAGG;IACH,YAAY,IAAI,SAAS;IAQnB,OAAO,IAAI,OAAO,CAAC;QACrB,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC5C,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/C,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC3C,SAAS,EAAE,OAAO,CAAC;KACtB,CAAC;IAuBI,WAAW,IAAI,OAAO,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;CA+CL;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,YAAY,GACrB,OAAO,CAAC,cAAc,CAAC,CAKzB"}
1
+ {"version":3,"file":"storage-manager.d.ts","sourceRoot":"","sources":["../../src/storage/storage-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAM3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,YAAY;IAKhE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCjC,WAAW,IAAI,OAAO;IAStB;;;OAGG;IACH,QAAQ,IAAI,KAAK;IAOjB;;;OAGG;IACH,WAAW,IAAI,QAAQ;IAOvB;;;OAGG;IACH,YAAY,IAAI,SAAS;IAQnB,OAAO,IAAI,OAAO,CAAC;QACrB,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC5C,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/C,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC3C,SAAS,EAAE,OAAO,CAAC;KACtB,CAAC;IAuBI,WAAW,IAAI,OAAO,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;CA+CL;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,YAAY,GACrB,OAAO,CAAC,cAAc,CAAC,CAKzB"}
@@ -1,7 +1,7 @@
1
1
  import "../chunk-PTJYTZNU.js";
2
- import { createCache } from "./cache/factory.js";
3
- import { createDatabase } from "./database/factory.js";
4
- import { createBlobStore } from "./blob/factory.js";
2
+ import { createCache } from "./cache/index.js";
3
+ import { createDatabase } from "./database/index.js";
4
+ import { createBlobStore } from "./blob/index.js";
5
5
  import { StorageError } from "./errors.js";
6
6
  import { DextoLogComponent } from "../logger/v2/types.js";
7
7
  const HEALTH_CHECK_KEY = "storage_manager_health_check";
@@ -18,12 +18,13 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var in_built_prompts_exports = {};
20
20
  __export(in_built_prompts_exports, {
21
- getCurrentDateTime: () => getCurrentDateTime,
21
+ getCurrentDate: () => getCurrentDate,
22
22
  getResourceData: () => getResourceData
23
23
  });
24
24
  module.exports = __toCommonJS(in_built_prompts_exports);
25
- async function getCurrentDateTime(_context) {
26
- return `<dateTime>Current date and time: ${(/* @__PURE__ */ new Date()).toISOString()}</dateTime>`;
25
+ async function getCurrentDate(_context) {
26
+ const date = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
27
+ return `<date>Current date: ${date}</date>`;
27
28
  }
28
29
  async function getResourceData(context) {
29
30
  const resources = await context.mcpManager.listAllResources();
@@ -36,9 +37,9 @@ async function getResourceData(context) {
36
37
  const response = await context.mcpManager.readResource(resource.key);
37
38
  const first = response?.contents?.[0];
38
39
  let content;
39
- if (first?.text && typeof first.text === "string") {
40
+ if (first && "text" in first && first.text && typeof first.text === "string") {
40
41
  content = first.text;
41
- } else if (first?.blob && typeof first.blob === "string") {
42
+ } else if (first && "blob" in first && first.blob && typeof first.blob === "string") {
42
43
  content = first.blob;
43
44
  } else {
44
45
  content = JSON.stringify(response, null, 2);
@@ -56,6 +57,6 @@ ${parts.join("\n")}
56
57
  }
57
58
  // Annotate the CommonJS export names for ESM import in node:
58
59
  0 && (module.exports = {
59
- getCurrentDateTime,
60
+ getCurrentDate,
60
61
  getResourceData
61
62
  });
@@ -10,8 +10,8 @@ import { DynamicContributorContext } from './types.js';
10
10
  * - Place all dynamic prompt-generating functions in this file.
11
11
  * - Also update the `registry.ts` file to register the new function.
12
12
  * - Use XML tags to indicate the start and end of the dynamic prompt - they are known to improve performance
13
- * - Each function should be named clearly to reflect its purpose (e.g., getCurrentDateTime, getResourceData).
13
+ * - Each function should be named clearly to reflect its purpose (e.g., getCurrentDate, getResourceData).
14
14
  */
15
- export declare function getCurrentDateTime(_context: DynamicContributorContext): Promise<string>;
15
+ export declare function getCurrentDate(_context: DynamicContributorContext): Promise<string>;
16
16
  export declare function getResourceData(context: DynamicContributorContext): Promise<string>;
17
17
  //# sourceMappingURL=in-built-prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-built-prompts.d.ts","sourceRoot":"","sources":["../../src/systemPrompt/in-built-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;GAYG;AAEH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7F;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BzF"}
1
+ {"version":3,"file":"in-built-prompts.d.ts","sourceRoot":"","sources":["../../src/systemPrompt/in-built-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;GAYG;AAEH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzF;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCzF"}
@@ -1,6 +1,7 @@
1
1
  import "../chunk-PTJYTZNU.js";
2
- async function getCurrentDateTime(_context) {
3
- return `<dateTime>Current date and time: ${(/* @__PURE__ */ new Date()).toISOString()}</dateTime>`;
2
+ async function getCurrentDate(_context) {
3
+ const date = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
4
+ return `<date>Current date: ${date}</date>`;
4
5
  }
5
6
  async function getResourceData(context) {
6
7
  const resources = await context.mcpManager.listAllResources();
@@ -13,9 +14,9 @@ async function getResourceData(context) {
13
14
  const response = await context.mcpManager.readResource(resource.key);
14
15
  const first = response?.contents?.[0];
15
16
  let content;
16
- if (first?.text && typeof first.text === "string") {
17
+ if (first && "text" in first && first.text && typeof first.text === "string") {
17
18
  content = first.text;
18
- } else if (first?.blob && typeof first.blob === "string") {
19
+ } else if (first && "blob" in first && first.blob && typeof first.blob === "string") {
19
20
  content = first.blob;
20
21
  } else {
21
22
  content = JSON.stringify(response, null, 2);
@@ -32,6 +33,6 @@ ${parts.join("\n")}
32
33
  </resources>`;
33
34
  }
34
35
  export {
35
- getCurrentDateTime,
36
+ getCurrentDate,
36
37
  getResourceData
37
38
  };
@@ -34,9 +34,9 @@ __export(registry_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(registry_exports);
36
36
  var handlers = __toESM(require("./in-built-prompts.js"), 1);
37
- const PROMPT_GENERATOR_SOURCES = ["dateTime", "resources"];
37
+ const PROMPT_GENERATOR_SOURCES = ["date", "resources"];
38
38
  const PROMPT_GENERATOR_REGISTRY = {
39
- dateTime: handlers.getCurrentDateTime,
39
+ date: handlers.getCurrentDate,
40
40
  resources: handlers.getResourceData
41
41
  };
42
42
  function getPromptGenerator(source) {
@@ -3,7 +3,7 @@ import { DynamicContributorContext } from './types.js';
3
3
  * This file contains the registry of all the functions that can generate dynamic prompt pieces at runtime.
4
4
  */
5
5
  export type DynamicPromptGenerator = (context: DynamicContributorContext) => Promise<string>;
6
- export declare const PROMPT_GENERATOR_SOURCES: readonly ["dateTime", "resources"];
6
+ export declare const PROMPT_GENERATOR_SOURCES: readonly ["date", "resources"];
7
7
  export type PromptGeneratorSource = (typeof PROMPT_GENERATOR_SOURCES)[number];
8
8
  export declare const PROMPT_GENERATOR_REGISTRY: Record<PromptGeneratorSource, DynamicPromptGenerator>;
9
9
  export declare function getPromptGenerator(source: PromptGeneratorSource): DynamicPromptGenerator | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/systemPrompt/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAG7F,eAAO,MAAM,wBAAwB,oCAAqC,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAG9E,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAG3F,CAAC;AAGF,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,qBAAqB,GAC9B,sBAAsB,GAAG,SAAS,CAEpC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/systemPrompt/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAG7F,eAAO,MAAM,wBAAwB,gCAAiC,CAAC;AAEvE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAG9E,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAG3F,CAAC;AAGF,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,qBAAqB,GAC9B,sBAAsB,GAAG,SAAS,CAEpC"}
@@ -1,8 +1,8 @@
1
1
  import "../chunk-PTJYTZNU.js";
2
2
  import * as handlers from "./in-built-prompts.js";
3
- const PROMPT_GENERATOR_SOURCES = ["dateTime", "resources"];
3
+ const PROMPT_GENERATOR_SOURCES = ["date", "resources"];
4
4
  const PROMPT_GENERATOR_REGISTRY = {
5
- dateTime: handlers.getCurrentDateTime,
5
+ date: handlers.getCurrentDate,
6
6
  resources: handlers.getResourceData
7
7
  };
8
8
  function getPromptGenerator(source) {
@@ -96,10 +96,10 @@ const ContributorConfigSchema = import_zod.z.discriminatedUnion(
96
96
  const SystemPromptContributorsSchema = import_zod.z.object({
97
97
  contributors: import_zod.z.array(ContributorConfigSchema).min(1).default([
98
98
  {
99
- id: "dateTime",
99
+ id: "date",
100
100
  type: "dynamic",
101
101
  priority: 10,
102
- source: "dateTime",
102
+ source: "date",
103
103
  enabled: true
104
104
  },
105
105
  {
@@ -24,18 +24,18 @@ export declare const ContributorConfigSchema: z.ZodDiscriminatedUnion<"type", [z
24
24
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
25
25
  } & {
26
26
  type: z.ZodLiteral<"dynamic">;
27
- source: z.ZodEnum<["dateTime", "resources"]>;
27
+ source: z.ZodEnum<["date", "resources"]>;
28
28
  }, "strict", z.ZodTypeAny, {
29
29
  type: "dynamic";
30
30
  enabled: boolean;
31
31
  id: string;
32
- source: "resources" | "dateTime";
33
32
  priority: number;
33
+ source: "date" | "resources";
34
34
  }, {
35
35
  type: "dynamic";
36
36
  id: string;
37
- source: "resources" | "dateTime";
38
37
  priority: number;
38
+ source: "date" | "resources";
39
39
  enabled?: boolean | undefined;
40
40
  }>, z.ZodObject<{
41
41
  id: z.ZodString;
@@ -118,18 +118,18 @@ export declare const SystemPromptContributorsSchema: z.ZodObject<{
118
118
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
119
119
  } & {
120
120
  type: z.ZodLiteral<"dynamic">;
121
- source: z.ZodEnum<["dateTime", "resources"]>;
121
+ source: z.ZodEnum<["date", "resources"]>;
122
122
  }, "strict", z.ZodTypeAny, {
123
123
  type: "dynamic";
124
124
  enabled: boolean;
125
125
  id: string;
126
- source: "resources" | "dateTime";
127
126
  priority: number;
127
+ source: "date" | "resources";
128
128
  }, {
129
129
  type: "dynamic";
130
130
  id: string;
131
- source: "resources" | "dateTime";
132
131
  priority: number;
132
+ source: "date" | "resources";
133
133
  enabled?: boolean | undefined;
134
134
  }>, z.ZodObject<{
135
135
  id: z.ZodString;
@@ -195,8 +195,8 @@ export declare const SystemPromptContributorsSchema: z.ZodObject<{
195
195
  type: "dynamic";
196
196
  enabled: boolean;
197
197
  id: string;
198
- source: "resources" | "dateTime";
199
198
  priority: number;
199
+ source: "date" | "resources";
200
200
  } | {
201
201
  type: "file";
202
202
  options: {
@@ -221,8 +221,8 @@ export declare const SystemPromptContributorsSchema: z.ZodObject<{
221
221
  } | {
222
222
  type: "dynamic";
223
223
  id: string;
224
- source: "resources" | "dateTime";
225
224
  priority: number;
225
+ source: "date" | "resources";
226
226
  enabled?: boolean | undefined;
227
227
  } | {
228
228
  type: "file";
@@ -273,18 +273,18 @@ export declare const SystemPromptConfigSchema: z.ZodBranded<z.ZodUnion<[z.ZodEff
273
273
  enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
274
274
  } & {
275
275
  type: z.ZodLiteral<"dynamic">;
276
- source: z.ZodEnum<["dateTime", "resources"]>;
276
+ source: z.ZodEnum<["date", "resources"]>;
277
277
  }, "strict", z.ZodTypeAny, {
278
278
  type: "dynamic";
279
279
  enabled: boolean;
280
280
  id: string;
281
- source: "resources" | "dateTime";
282
281
  priority: number;
282
+ source: "date" | "resources";
283
283
  }, {
284
284
  type: "dynamic";
285
285
  id: string;
286
- source: "resources" | "dateTime";
287
286
  priority: number;
287
+ source: "date" | "resources";
288
288
  enabled?: boolean | undefined;
289
289
  }>, z.ZodObject<{
290
290
  id: z.ZodString;
@@ -350,8 +350,8 @@ export declare const SystemPromptConfigSchema: z.ZodBranded<z.ZodUnion<[z.ZodEff
350
350
  type: "dynamic";
351
351
  enabled: boolean;
352
352
  id: string;
353
- source: "resources" | "dateTime";
354
353
  priority: number;
354
+ source: "date" | "resources";
355
355
  } | {
356
356
  type: "file";
357
357
  options: {
@@ -376,8 +376,8 @@ export declare const SystemPromptConfigSchema: z.ZodBranded<z.ZodUnion<[z.ZodEff
376
376
  } | {
377
377
  type: "dynamic";
378
378
  id: string;
379
- source: "resources" | "dateTime";
380
379
  priority: number;
380
+ source: "date" | "resources";
381
381
  enabled?: boolean | undefined;
382
382
  } | {
383
383
  type: "file";
@@ -62,10 +62,10 @@ const ContributorConfigSchema = z.discriminatedUnion(
62
62
  const SystemPromptContributorsSchema = z.object({
63
63
  contributors: z.array(ContributorConfigSchema).min(1).default([
64
64
  {
65
- id: "dateTime",
65
+ id: "date",
66
66
  type: "dynamic",
67
67
  priority: 10,
68
- source: "dateTime",
68
+ source: "date",
69
69
  enabled: true
70
70
  },
71
71
  {
@@ -0,0 +1,64 @@
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 custom_tool_registry_exports = {};
20
+ __export(custom_tool_registry_exports, {
21
+ CustomToolRegistry: () => CustomToolRegistry,
22
+ customToolRegistry: () => customToolRegistry
23
+ });
24
+ module.exports = __toCommonJS(custom_tool_registry_exports);
25
+ var import_errors = require("./errors.js");
26
+ var import_base_registry = require("../providers/base-registry.js");
27
+ var import_custom_tool_schema_registry = require("./custom-tool-schema-registry.js");
28
+ const customToolErrorFactory = {
29
+ alreadyRegistered: (type) => import_errors.ToolError.customToolProviderAlreadyRegistered(type),
30
+ notFound: (type, availableTypes) => import_errors.ToolError.unknownCustomToolProvider(type, availableTypes)
31
+ };
32
+ class CustomToolRegistry extends import_base_registry.BaseRegistry {
33
+ constructor() {
34
+ super(customToolErrorFactory);
35
+ }
36
+ /**
37
+ * Register a custom tool provider.
38
+ * Also registers the provider's config schema for early validation.
39
+ *
40
+ * @param provider - The custom tool provider to register
41
+ * @throws Error if a provider with the same type is already registered
42
+ */
43
+ register(provider) {
44
+ super.register(provider);
45
+ import_custom_tool_schema_registry.customToolSchemaRegistry.register(provider.type, provider.configSchema);
46
+ }
47
+ /**
48
+ * Unregister a custom tool provider.
49
+ * Note: This does NOT unregister the schema from customToolSchemaRegistry
50
+ * to avoid breaking active configs that reference the schema.
51
+ *
52
+ * @param type - The provider type to unregister
53
+ * @returns true if the provider was unregistered, false if it wasn't registered
54
+ */
55
+ unregister(type) {
56
+ return super.unregister(type);
57
+ }
58
+ }
59
+ const customToolRegistry = new CustomToolRegistry();
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ CustomToolRegistry,
63
+ customToolRegistry
64
+ });
@@ -0,0 +1,120 @@
1
+ import type { InternalTool } from './types.js';
2
+ import type { IDextoLogger } from '../logger/v2/types.js';
3
+ import type { DextoAgent } from '../agent/DextoAgent.js';
4
+ import { z } from 'zod';
5
+ import { BaseRegistry } from '../providers/base-registry.js';
6
+ /**
7
+ * Context passed to custom tool providers when creating tools.
8
+ * Provides access to the agent instance for bidirectional communication.
9
+ *
10
+ * **Bidirectional Services Pattern:**
11
+ * Some services need both:
12
+ * - Agent → Service: LLM calls tools that invoke service methods
13
+ * - Service → Agent: Service emits events that trigger agent invocation
14
+ *
15
+ * Implementation pattern:
16
+ * ```typescript
17
+ * create: (config, context) => {
18
+ * const service = new MyService(config, context.logger);
19
+ *
20
+ * // Wire up Service → Agent communication
21
+ * service.on('event', async (data) => {
22
+ * await context.agent.sendMessage({
23
+ * role: 'user',
24
+ * content: data.prompt,
25
+ * });
26
+ * });
27
+ *
28
+ * // Return Agent → Service tools
29
+ * return [createMyTool(service)];
30
+ * }
31
+ * ```
32
+ *
33
+ * **Future Consideration:**
34
+ * For complex event routing or decoupled architectures, consider using an Event Bus pattern
35
+ * where services emit events to a central bus and the agent/app subscribes. This would
36
+ * provide better separation of concerns at the cost of more indirection and complexity.
37
+ */
38
+ export interface ToolCreationContext {
39
+ logger: IDextoLogger;
40
+ agent: DextoAgent;
41
+ /**
42
+ * Optional services available to custom tool providers.
43
+ * Includes approvalManager for tools that need approval flows.
44
+ */
45
+ services?: {
46
+ searchService?: any;
47
+ approvalManager?: any;
48
+ fileSystemService?: any;
49
+ processService?: any;
50
+ resourceManager?: any;
51
+ [key: string]: any;
52
+ };
53
+ }
54
+ /**
55
+ * Custom tool provider interface.
56
+ * Allows external code to register tool providers that create one or more tools.
57
+ * Mirrors the BlobStoreProvider pattern for consistency.
58
+ *
59
+ * @template TType - The provider type discriminator (must match config.type)
60
+ * @template TConfig - The provider configuration type (must include { type: TType })
61
+ */
62
+ export interface CustomToolProvider<TType extends string = string, TConfig extends {
63
+ type: TType;
64
+ } = any> {
65
+ /** Unique type identifier matching the discriminator in config */
66
+ type: TType;
67
+ /** Zod schema for runtime validation of provider configuration */
68
+ configSchema: z.ZodType<TConfig, any, any>;
69
+ /**
70
+ * Factory function to create tools from validated configuration
71
+ * @param config - Validated configuration matching configSchema
72
+ * @param context - Tool creation context with logger and optional services
73
+ * @returns Array of tools to register
74
+ */
75
+ create(config: TConfig, context: ToolCreationContext): InternalTool[];
76
+ /** Optional metadata for display and categorization */
77
+ metadata?: {
78
+ displayName: string;
79
+ description: string;
80
+ category?: string;
81
+ };
82
+ }
83
+ /**
84
+ * Registry for custom tool providers.
85
+ * Mirrors BlobStoreRegistry pattern for consistency across Dexto provider system.
86
+ *
87
+ * Custom tool providers can be registered from external code (CLI, apps, examples)
88
+ * and are validated at runtime using their Zod schemas.
89
+ *
90
+ * Extends BaseRegistry for common registry functionality.
91
+ *
92
+ * When a provider is registered, its config schema is also registered in the
93
+ * customToolSchemaRegistry for early validation at config load time.
94
+ */
95
+ export declare class CustomToolRegistry extends BaseRegistry<CustomToolProvider> {
96
+ constructor();
97
+ /**
98
+ * Register a custom tool provider.
99
+ * Also registers the provider's config schema for early validation.
100
+ *
101
+ * @param provider - The custom tool provider to register
102
+ * @throws Error if a provider with the same type is already registered
103
+ */
104
+ register(provider: CustomToolProvider): void;
105
+ /**
106
+ * Unregister a custom tool provider.
107
+ * Note: This does NOT unregister the schema from customToolSchemaRegistry
108
+ * to avoid breaking active configs that reference the schema.
109
+ *
110
+ * @param type - The provider type to unregister
111
+ * @returns true if the provider was unregistered, false if it wasn't registered
112
+ */
113
+ unregister(type: string): boolean;
114
+ }
115
+ /**
116
+ * Global singleton instance of the custom tool registry.
117
+ * Custom tool providers should be registered at application startup.
118
+ */
119
+ export declare const customToolRegistry: CustomToolRegistry;
120
+ //# sourceMappingURL=custom-tool-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-tool-registry.d.ts","sourceRoot":"","sources":["../../src/tools/custom-tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAA6B,MAAM,+BAA+B,CAAC;AAGxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,eAAe,CAAC,EAAE,GAAG,CAAC;QACtB,iBAAiB,CAAC,EAAE,GAAG,CAAC;QACxB,cAAc,CAAC,EAAE,GAAG,CAAC;QACrB,eAAe,CAAC,EAAE,GAAG,CAAC;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;CACL;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CAC/B,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,OAAO,SAAS;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,GAAG;IAErC,kEAAkE;IAClE,IAAI,EAAE,KAAK,CAAC;IAEZ,kEAAkE;IAClE,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,YAAY,EAAE,CAAC;IAEtE,uDAAuD;IACvD,QAAQ,CAAC,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAYD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,YAAY,CAAC,kBAAkB,CAAC;;IAKpE;;;;;;OAMG;IACM,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAQrD;;;;;;;OAOG;IACM,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAK7C;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}