@dexto/core 1.1.4 → 1.1.6

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 (597) hide show
  1. package/README.md +125 -0
  2. package/dist/agent/DextoAgent.cjs +793 -0
  3. package/dist/agent/DextoAgent.d.cts +473 -0
  4. package/dist/agent/DextoAgent.d.ts +473 -0
  5. package/dist/agent/DextoAgent.js +774 -0
  6. package/dist/agent/agentCard.cjs +44 -0
  7. package/dist/agent/agentCard.d.cts +20 -0
  8. package/dist/agent/agentCard.d.ts +20 -0
  9. package/dist/agent/agentCard.js +20 -0
  10. package/dist/agent/error-codes.cjs +35 -0
  11. package/dist/agent/error-codes.d.cts +14 -0
  12. package/dist/agent/error-codes.d.ts +14 -0
  13. package/dist/agent/error-codes.js +11 -0
  14. package/dist/agent/errors.cjs +84 -0
  15. package/dist/agent/errors.d.cts +40 -0
  16. package/dist/agent/errors.d.ts +40 -0
  17. package/dist/agent/errors.js +60 -0
  18. package/dist/agent/index.cjs +44 -0
  19. package/dist/agent/index.d.cts +60 -0
  20. package/dist/agent/index.d.ts +60 -0
  21. package/dist/agent/index.js +13 -0
  22. package/dist/agent/registry/error-codes.cjs +42 -0
  23. package/dist/agent/registry/error-codes.d.cts +20 -0
  24. package/dist/agent/registry/error-codes.d.ts +20 -0
  25. package/dist/agent/registry/error-codes.js +18 -0
  26. package/dist/agent/registry/errors.cjs +158 -0
  27. package/dist/agent/registry/errors.d.cts +67 -0
  28. package/dist/agent/registry/errors.d.ts +67 -0
  29. package/dist/{chunk-PI6XFMEW.js → agent/registry/errors.js} +43 -50
  30. package/dist/agent/registry/registry.cjs +291 -0
  31. package/dist/agent/registry/registry.d.cts +67 -0
  32. package/dist/agent/registry/registry.d.ts +67 -0
  33. package/dist/agent/registry/registry.js +256 -0
  34. package/dist/agent/registry/types.cjs +41 -0
  35. package/dist/agent/registry/types.d.cts +100 -0
  36. package/dist/agent/registry/types.d.ts +100 -0
  37. package/dist/agent/registry/types.js +16 -0
  38. package/dist/agent/schemas.cjs +113 -0
  39. package/dist/agent/schemas.d.cts +1502 -0
  40. package/dist/agent/schemas.d.ts +1502 -0
  41. package/dist/agent/schemas.js +88 -0
  42. package/dist/agent/state-manager.cjs +214 -0
  43. package/dist/agent/state-manager.d.cts +97 -0
  44. package/dist/agent/state-manager.d.ts +97 -0
  45. package/dist/agent/state-manager.js +190 -0
  46. package/dist/config/agent-resolver.cjs +153 -0
  47. package/dist/config/agent-resolver.d.cts +15 -0
  48. package/dist/config/agent-resolver.d.ts +15 -0
  49. package/dist/config/agent-resolver.js +122 -0
  50. package/dist/config/error-codes.cjs +39 -0
  51. package/dist/config/error-codes.d.cts +17 -0
  52. package/dist/config/error-codes.d.ts +17 -0
  53. package/dist/config/error-codes.js +15 -0
  54. package/dist/config/errors.cjs +126 -0
  55. package/dist/config/errors.d.cts +49 -0
  56. package/dist/config/errors.d.ts +49 -0
  57. package/dist/config/errors.js +102 -0
  58. package/dist/config/index.cjs +26 -0
  59. package/dist/config/index.d.cts +7 -0
  60. package/dist/config/index.d.ts +7 -0
  61. package/dist/config/index.js +3 -0
  62. package/dist/config/loader.cjs +119 -0
  63. package/dist/config/loader.d.cts +19 -0
  64. package/dist/config/loader.d.ts +19 -0
  65. package/dist/config/loader.js +85 -0
  66. package/dist/config/writer.cjs +182 -0
  67. package/dist/config/writer.d.cts +38 -0
  68. package/dist/config/writer.d.ts +38 -0
  69. package/dist/config/writer.js +146 -0
  70. package/dist/context/compression/middle-removal.cjs +95 -0
  71. package/dist/context/compression/middle-removal.d.cts +48 -0
  72. package/dist/context/compression/middle-removal.d.ts +48 -0
  73. package/dist/context/compression/middle-removal.js +71 -0
  74. package/dist/context/compression/oldest-removal.cjs +70 -0
  75. package/dist/context/compression/oldest-removal.d.cts +43 -0
  76. package/dist/context/compression/oldest-removal.d.ts +43 -0
  77. package/dist/context/compression/oldest-removal.js +46 -0
  78. package/dist/context/compression/types.cjs +16 -0
  79. package/dist/context/compression/types.d.cts +21 -0
  80. package/dist/context/compression/types.d.ts +21 -0
  81. package/dist/context/compression/types.js +0 -0
  82. package/dist/context/error-codes.cjs +41 -0
  83. package/dist/context/error-codes.d.cts +19 -0
  84. package/dist/context/error-codes.d.ts +19 -0
  85. package/dist/context/error-codes.js +17 -0
  86. package/dist/context/errors.cjs +146 -0
  87. package/dist/context/errors.d.cts +36 -0
  88. package/dist/context/errors.d.ts +36 -0
  89. package/dist/context/errors.js +122 -0
  90. package/dist/context/index.cjs +24 -0
  91. package/dist/context/index.d.cts +19 -0
  92. package/dist/context/index.d.ts +19 -0
  93. package/dist/context/index.js +2 -0
  94. package/dist/context/manager.cjs +516 -0
  95. package/dist/context/manager.d.cts +254 -0
  96. package/dist/context/manager.d.ts +254 -0
  97. package/dist/context/manager.js +492 -0
  98. package/dist/context/types.cjs +16 -0
  99. package/dist/context/types.d.cts +113 -0
  100. package/dist/context/types.d.ts +113 -0
  101. package/dist/context/types.js +0 -0
  102. package/dist/context/utils.cjs +406 -0
  103. package/dist/context/utils.d.cts +79 -0
  104. package/dist/context/utils.d.ts +79 -0
  105. package/dist/context/utils.js +374 -0
  106. package/dist/errors/DextoBaseError.cjs +36 -0
  107. package/dist/errors/DextoBaseError.d.cts +15 -0
  108. package/dist/errors/DextoBaseError.d.ts +15 -0
  109. package/dist/errors/DextoBaseError.js +12 -0
  110. package/dist/errors/DextoRuntimeError.cjs +50 -0
  111. package/dist/errors/DextoRuntimeError.d.cts +37 -0
  112. package/dist/errors/DextoRuntimeError.d.ts +37 -0
  113. package/dist/errors/DextoRuntimeError.js +26 -0
  114. package/dist/errors/DextoValidationError.cjs +118 -0
  115. package/dist/errors/DextoValidationError.d.cts +65 -0
  116. package/dist/errors/DextoValidationError.d.ts +65 -0
  117. package/dist/{chunk-XFQLRBHE.js → errors/DextoValidationError.js} +4 -32
  118. package/dist/errors/index.cjs +42 -0
  119. package/dist/errors/index.d.cts +18 -0
  120. package/dist/errors/index.d.ts +18 -0
  121. package/dist/errors/index.js +13 -0
  122. package/dist/errors/result-bridge.cjs +38 -0
  123. package/dist/errors/result-bridge.d.cts +39 -0
  124. package/dist/errors/result-bridge.d.ts +39 -0
  125. package/dist/errors/result-bridge.js +14 -0
  126. package/dist/errors/types.cjs +54 -0
  127. package/dist/errors/types.d.cts +62 -0
  128. package/dist/errors/types.d.ts +62 -0
  129. package/dist/errors/types.js +29 -0
  130. package/dist/events/index.cjs +169 -0
  131. package/dist/events/index.d.cts +272 -0
  132. package/dist/events/index.d.ts +272 -0
  133. package/dist/events/index.js +136 -0
  134. package/dist/index.browser.cjs +9 -220
  135. package/dist/index.browser.d.cts +53 -379
  136. package/dist/index.browser.d.ts +53 -379
  137. package/dist/index.browser.js +4 -210
  138. package/dist/index.cjs +31 -15266
  139. package/dist/index.d.cts +89 -6842
  140. package/dist/index.d.ts +89 -6842
  141. package/dist/index.js +14 -9914
  142. package/dist/llm/error-codes.cjs +48 -0
  143. package/dist/llm/error-codes.d.cts +26 -0
  144. package/dist/llm/error-codes.d.ts +26 -0
  145. package/dist/llm/error-codes.js +24 -0
  146. package/dist/llm/errors.cjs +108 -0
  147. package/dist/llm/errors.d.cts +58 -0
  148. package/dist/llm/errors.d.ts +58 -0
  149. package/dist/llm/errors.js +84 -0
  150. package/dist/llm/formatters/anthropic.cjs +246 -0
  151. package/dist/llm/formatters/anthropic.d.cts +45 -0
  152. package/dist/llm/formatters/anthropic.d.ts +45 -0
  153. package/dist/llm/formatters/anthropic.js +227 -0
  154. package/dist/llm/formatters/factory.cjs +51 -0
  155. package/dist/llm/formatters/factory.d.cts +12 -0
  156. package/dist/llm/formatters/factory.d.ts +12 -0
  157. package/dist/llm/formatters/factory.js +27 -0
  158. package/dist/llm/formatters/openai.cjs +167 -0
  159. package/dist/llm/formatters/openai.d.cts +38 -0
  160. package/dist/llm/formatters/openai.d.ts +38 -0
  161. package/dist/llm/formatters/openai.js +147 -0
  162. package/dist/llm/formatters/types.cjs +16 -0
  163. package/dist/llm/formatters/types.d.cts +43 -0
  164. package/dist/llm/formatters/types.d.ts +43 -0
  165. package/dist/llm/formatters/types.js +0 -0
  166. package/dist/llm/formatters/vercel.cjs +411 -0
  167. package/dist/llm/formatters/vercel.d.cts +48 -0
  168. package/dist/llm/formatters/vercel.d.ts +48 -0
  169. package/dist/llm/formatters/vercel.js +387 -0
  170. package/dist/llm/index.cjs +34 -0
  171. package/dist/llm/index.d.cts +39 -0
  172. package/dist/llm/index.d.ts +39 -0
  173. package/dist/llm/index.js +7 -0
  174. package/dist/llm/registry.cjs +881 -0
  175. package/dist/llm/registry.d.cts +176 -0
  176. package/dist/llm/registry.d.ts +176 -0
  177. package/dist/{chunk-J6AXCN3H.js → llm/registry.js} +25 -455
  178. package/dist/llm/resolver.cjs +154 -0
  179. package/dist/llm/resolver.d.cts +34 -0
  180. package/dist/llm/resolver.d.ts +34 -0
  181. package/dist/llm/resolver.js +136 -0
  182. package/dist/llm/schemas.cjs +188 -0
  183. package/dist/llm/schemas.d.cts +111 -0
  184. package/dist/llm/schemas.d.ts +111 -0
  185. package/dist/llm/schemas.js +172 -0
  186. package/dist/llm/services/anthropic.cjs +398 -0
  187. package/dist/llm/services/anthropic.d.cts +65 -0
  188. package/dist/llm/services/anthropic.d.ts +65 -0
  189. package/dist/llm/services/anthropic.js +374 -0
  190. package/dist/llm/services/factory.cjs +164 -0
  191. package/dist/llm/services/factory.d.cts +39 -0
  192. package/dist/llm/services/factory.d.ts +39 -0
  193. package/dist/llm/services/factory.js +130 -0
  194. package/dist/llm/services/index.cjs +22 -0
  195. package/dist/llm/services/index.d.cts +21 -0
  196. package/dist/llm/services/index.d.ts +21 -0
  197. package/dist/llm/services/index.js +1 -0
  198. package/dist/llm/services/openai.cjs +470 -0
  199. package/dist/llm/services/openai.d.cts +65 -0
  200. package/dist/llm/services/openai.d.ts +65 -0
  201. package/dist/llm/services/openai.js +446 -0
  202. package/dist/llm/services/test-utils.integration.cjs +169 -0
  203. package/dist/llm/services/test-utils.integration.d.cts +83 -0
  204. package/dist/llm/services/test-utils.integration.d.ts +83 -0
  205. package/dist/llm/services/test-utils.integration.js +142 -0
  206. package/dist/llm/services/types.cjs +16 -0
  207. package/dist/llm/services/types.d.cts +56 -0
  208. package/dist/llm/services/types.d.ts +56 -0
  209. package/dist/llm/services/types.js +0 -0
  210. package/dist/llm/services/vercel.cjs +525 -0
  211. package/dist/llm/services/vercel.d.cts +72 -0
  212. package/dist/llm/services/vercel.d.ts +72 -0
  213. package/dist/llm/services/vercel.js +506 -0
  214. package/dist/llm/tokenizer/anthropic.cjs +43 -0
  215. package/dist/llm/tokenizer/anthropic.d.cts +21 -0
  216. package/dist/llm/tokenizer/anthropic.d.ts +21 -0
  217. package/dist/llm/tokenizer/anthropic.js +19 -0
  218. package/dist/llm/tokenizer/default.cjs +41 -0
  219. package/dist/llm/tokenizer/default.d.cts +16 -0
  220. package/dist/llm/tokenizer/default.d.ts +16 -0
  221. package/dist/llm/tokenizer/default.js +17 -0
  222. package/dist/llm/tokenizer/factory.cjs +44 -0
  223. package/dist/llm/tokenizer/factory.d.cts +12 -0
  224. package/dist/llm/tokenizer/factory.d.ts +12 -0
  225. package/dist/llm/tokenizer/factory.js +20 -0
  226. package/dist/llm/tokenizer/google.cjs +52 -0
  227. package/dist/llm/tokenizer/google.d.cts +31 -0
  228. package/dist/llm/tokenizer/google.d.ts +31 -0
  229. package/dist/llm/tokenizer/google.js +28 -0
  230. package/dist/llm/tokenizer/openai.cjs +108 -0
  231. package/dist/llm/tokenizer/openai.d.cts +32 -0
  232. package/dist/llm/tokenizer/openai.d.ts +32 -0
  233. package/dist/llm/tokenizer/openai.js +83 -0
  234. package/dist/llm/tokenizer/types.cjs +33 -0
  235. package/dist/llm/tokenizer/types.d.cts +19 -0
  236. package/dist/llm/tokenizer/types.d.ts +19 -0
  237. package/dist/llm/tokenizer/types.js +9 -0
  238. package/dist/llm/types.cjs +42 -0
  239. package/dist/llm/types.d.cts +29 -0
  240. package/dist/llm/types.d.ts +29 -0
  241. package/dist/llm/types.js +16 -0
  242. package/dist/llm/validation.cjs +162 -0
  243. package/dist/llm/validation.d.cts +60 -0
  244. package/dist/llm/validation.d.ts +60 -0
  245. package/dist/llm/validation.js +138 -0
  246. package/dist/logger/browser.cjs +86 -0
  247. package/dist/logger/browser.d.cts +29 -0
  248. package/dist/logger/browser.d.ts +29 -0
  249. package/dist/logger/browser.js +61 -0
  250. package/dist/logger/index.cjs +22 -0
  251. package/dist/logger/index.d.cts +1 -0
  252. package/dist/logger/index.d.ts +1 -0
  253. package/dist/logger/index.js +1 -0
  254. package/dist/logger/logger.cjs +362 -0
  255. package/dist/logger/logger.d.cts +52 -0
  256. package/dist/logger/logger.d.ts +52 -0
  257. package/dist/logger/logger.js +327 -0
  258. package/dist/mcp/error-codes.cjs +38 -0
  259. package/dist/mcp/error-codes.d.cts +16 -0
  260. package/dist/mcp/error-codes.d.ts +16 -0
  261. package/dist/mcp/error-codes.js +14 -0
  262. package/dist/mcp/errors.cjs +131 -0
  263. package/dist/mcp/errors.d.cts +72 -0
  264. package/dist/mcp/errors.d.ts +72 -0
  265. package/dist/mcp/errors.js +107 -0
  266. package/dist/mcp/index.cjs +34 -0
  267. package/dist/mcp/index.d.cts +26 -0
  268. package/dist/mcp/index.d.ts +26 -0
  269. package/dist/mcp/index.js +7 -0
  270. package/dist/mcp/manager.cjs +473 -0
  271. package/dist/mcp/manager.d.cts +163 -0
  272. package/dist/mcp/manager.d.ts +163 -0
  273. package/dist/mcp/manager.js +449 -0
  274. package/dist/mcp/mcp-client.cjs +420 -0
  275. package/dist/mcp/mcp-client.d.cts +108 -0
  276. package/dist/mcp/mcp-client.d.ts +108 -0
  277. package/dist/mcp/mcp-client.js +396 -0
  278. package/dist/mcp/resolver.cjs +78 -0
  279. package/dist/mcp/resolver.d.cts +22 -0
  280. package/dist/mcp/resolver.d.ts +22 -0
  281. package/dist/mcp/resolver.js +56 -0
  282. package/dist/mcp/schemas.cjs +82 -0
  283. package/dist/mcp/schemas.d.cts +266 -0
  284. package/dist/mcp/schemas.d.ts +266 -0
  285. package/dist/mcp/schemas.js +54 -0
  286. package/dist/mcp/types.cjs +16 -0
  287. package/dist/mcp/types.d.cts +21 -0
  288. package/dist/mcp/types.d.ts +21 -0
  289. package/dist/mcp/types.js +0 -0
  290. package/dist/preferences/constants.cjs +28 -0
  291. package/dist/preferences/constants.d.cts +3 -0
  292. package/dist/preferences/constants.d.ts +3 -0
  293. package/dist/preferences/constants.js +4 -0
  294. package/dist/preferences/error-codes.cjs +35 -0
  295. package/dist/preferences/error-codes.d.cts +9 -0
  296. package/dist/preferences/error-codes.d.ts +9 -0
  297. package/dist/preferences/error-codes.js +11 -0
  298. package/dist/preferences/errors.cjs +75 -0
  299. package/dist/preferences/errors.d.cts +33 -0
  300. package/dist/preferences/errors.d.ts +33 -0
  301. package/dist/preferences/errors.js +50 -0
  302. package/dist/preferences/index.cjs +55 -0
  303. package/dist/preferences/index.d.cts +21 -0
  304. package/dist/preferences/index.d.ts +21 -0
  305. package/dist/preferences/index.js +31 -0
  306. package/dist/preferences/loader.cjs +136 -0
  307. package/dist/preferences/loader.d.cts +45 -0
  308. package/dist/preferences/loader.d.ts +45 -0
  309. package/dist/preferences/loader.js +107 -0
  310. package/dist/preferences/schemas.cjs +74 -0
  311. package/dist/preferences/schemas.d.cts +104 -0
  312. package/dist/preferences/schemas.d.ts +104 -0
  313. package/dist/preferences/schemas.js +47 -0
  314. package/dist/search/index.cjs +28 -0
  315. package/dist/search/index.d.cts +5 -0
  316. package/dist/search/index.d.ts +5 -0
  317. package/dist/search/index.js +4 -0
  318. package/dist/search/search-service.cjs +245 -0
  319. package/dist/search/search-service.d.cts +47 -0
  320. package/dist/search/search-service.d.ts +47 -0
  321. package/dist/search/search-service.js +221 -0
  322. package/dist/search/types.cjs +16 -0
  323. package/dist/search/types.d.cts +78 -0
  324. package/dist/search/types.d.ts +78 -0
  325. package/dist/search/types.js +0 -0
  326. package/dist/session/chat-session.cjs +354 -0
  327. package/dist/session/chat-session.d.cts +284 -0
  328. package/dist/session/chat-session.d.ts +284 -0
  329. package/dist/session/chat-session.js +333 -0
  330. package/dist/session/error-codes.cjs +35 -0
  331. package/dist/session/error-codes.d.cts +13 -0
  332. package/dist/session/error-codes.d.ts +13 -0
  333. package/dist/session/error-codes.js +11 -0
  334. package/dist/session/errors.cjs +93 -0
  335. package/dist/session/errors.d.cts +58 -0
  336. package/dist/session/errors.d.ts +58 -0
  337. package/dist/session/errors.js +69 -0
  338. package/dist/session/history/database.cjs +95 -0
  339. package/dist/session/history/database.d.cts +28 -0
  340. package/dist/session/history/database.d.ts +28 -0
  341. package/dist/session/history/database.js +71 -0
  342. package/dist/session/history/factory.cjs +31 -0
  343. package/dist/session/history/factory.d.cts +11 -0
  344. package/dist/session/history/factory.d.ts +11 -0
  345. package/dist/session/history/factory.js +7 -0
  346. package/dist/session/history/types.cjs +16 -0
  347. package/dist/session/history/types.d.cts +17 -0
  348. package/dist/session/history/types.d.ts +17 -0
  349. package/dist/session/history/types.js +0 -0
  350. package/dist/session/index.cjs +37 -0
  351. package/dist/session/index.d.cts +53 -0
  352. package/dist/session/index.d.ts +53 -0
  353. package/dist/session/index.js +10 -0
  354. package/dist/session/schemas.cjs +32 -0
  355. package/dist/session/schemas.d.cts +16 -0
  356. package/dist/session/schemas.d.ts +16 -0
  357. package/dist/session/schemas.js +8 -0
  358. package/dist/session/session-manager.cjs +481 -0
  359. package/dist/session/session-manager.d.cts +219 -0
  360. package/dist/session/session-manager.d.ts +219 -0
  361. package/dist/session/session-manager.js +457 -0
  362. package/dist/storage/backend/cache-backend.cjs +16 -0
  363. package/dist/storage/backend/cache-backend.d.cts +15 -0
  364. package/dist/storage/backend/cache-backend.d.ts +15 -0
  365. package/dist/storage/backend/cache-backend.js +0 -0
  366. package/dist/storage/backend/database-backend.cjs +16 -0
  367. package/dist/storage/backend/database-backend.d.cts +19 -0
  368. package/dist/storage/backend/database-backend.d.ts +19 -0
  369. package/dist/storage/backend/database-backend.js +0 -0
  370. package/dist/storage/backend/memory-backend.cjs +140 -0
  371. package/dist/storage/backend/memory-backend.d.cts +34 -0
  372. package/dist/storage/backend/memory-backend.d.ts +34 -0
  373. package/dist/storage/backend/memory-backend.js +116 -0
  374. package/dist/storage/backend/postgres-backend.cjs +231 -0
  375. package/dist/storage/backend/postgres-backend.d.cts +37 -0
  376. package/dist/storage/backend/postgres-backend.d.ts +37 -0
  377. package/dist/{postgres-backend-WMWS7RAT.js → storage/backend/postgres-backend.js} +3 -12
  378. package/dist/storage/backend/redis-backend.cjs +184 -0
  379. package/dist/storage/backend/redis-backend.d.cts +36 -0
  380. package/dist/storage/backend/redis-backend.d.ts +36 -0
  381. package/dist/{redis-backend-BNLN3XHX.js → storage/backend/redis-backend.js} +3 -12
  382. package/dist/storage/backend/sqlite-backend.cjs +271 -0
  383. package/dist/storage/backend/sqlite-backend.d.cts +35 -0
  384. package/dist/storage/backend/sqlite-backend.d.ts +35 -0
  385. package/dist/{sqlite-backend-AR6XNK2Q.js → storage/backend/sqlite-backend.js} +6 -17
  386. package/dist/storage/backend/types.cjs +16 -0
  387. package/dist/storage/backend/types.d.cts +14 -0
  388. package/dist/storage/backend/types.d.ts +14 -0
  389. package/dist/storage/backend/types.js +0 -0
  390. package/dist/storage/error-codes.cjs +36 -0
  391. package/dist/storage/error-codes.d.cts +14 -0
  392. package/dist/storage/error-codes.d.ts +14 -0
  393. package/dist/storage/error-codes.js +12 -0
  394. package/dist/storage/errors.cjs +104 -0
  395. package/dist/storage/errors.d.cts +63 -0
  396. package/dist/storage/errors.d.ts +63 -0
  397. package/dist/{chunk-F2QFAECT.js → storage/errors.js} +23 -30
  398. package/dist/storage/index.cjs +33 -0
  399. package/dist/storage/index.d.cts +7 -0
  400. package/dist/storage/index.d.ts +7 -0
  401. package/dist/storage/index.js +7 -0
  402. package/dist/storage/schemas.cjs +113 -0
  403. package/dist/storage/schemas.d.cts +856 -0
  404. package/dist/storage/schemas.d.ts +856 -0
  405. package/dist/storage/schemas.js +89 -0
  406. package/dist/storage/storage-manager.cjs +208 -0
  407. package/dist/storage/storage-manager.d.cts +52 -0
  408. package/dist/storage/storage-manager.d.ts +52 -0
  409. package/dist/storage/storage-manager.js +173 -0
  410. package/dist/storage/types.cjs +16 -0
  411. package/dist/storage/types.d.cts +5 -0
  412. package/dist/storage/types.d.ts +5 -0
  413. package/dist/storage/types.js +0 -0
  414. package/dist/systemPrompt/contributors.cjs +146 -0
  415. package/dist/systemPrompt/contributors.d.cts +44 -0
  416. package/dist/systemPrompt/contributors.d.ts +44 -0
  417. package/dist/systemPrompt/contributors.js +120 -0
  418. package/dist/systemPrompt/error-codes.cjs +35 -0
  419. package/dist/systemPrompt/error-codes.d.cts +13 -0
  420. package/dist/systemPrompt/error-codes.d.ts +13 -0
  421. package/dist/systemPrompt/error-codes.js +11 -0
  422. package/dist/systemPrompt/errors.cjs +93 -0
  423. package/dist/systemPrompt/errors.d.cts +55 -0
  424. package/dist/systemPrompt/errors.d.ts +55 -0
  425. package/dist/systemPrompt/errors.js +69 -0
  426. package/dist/systemPrompt/in-built-prompts.cjs +68 -0
  427. package/dist/systemPrompt/in-built-prompts.d.cts +28 -0
  428. package/dist/systemPrompt/in-built-prompts.d.ts +28 -0
  429. package/dist/systemPrompt/in-built-prompts.js +42 -0
  430. package/dist/systemPrompt/index.cjs +30 -0
  431. package/dist/systemPrompt/index.d.cts +14 -0
  432. package/dist/systemPrompt/index.d.ts +14 -0
  433. package/dist/systemPrompt/index.js +5 -0
  434. package/dist/systemPrompt/manager.cjs +93 -0
  435. package/dist/systemPrompt/manager.d.cts +31 -0
  436. package/dist/systemPrompt/manager.d.ts +31 -0
  437. package/dist/systemPrompt/manager.js +69 -0
  438. package/dist/systemPrompt/registry.cjs +51 -0
  439. package/dist/systemPrompt/registry.d.cts +20 -0
  440. package/dist/systemPrompt/registry.d.ts +20 -0
  441. package/dist/systemPrompt/registry.js +15 -0
  442. package/dist/systemPrompt/schemas.cjs +107 -0
  443. package/dist/systemPrompt/schemas.d.cts +401 -0
  444. package/dist/systemPrompt/schemas.d.ts +401 -0
  445. package/dist/systemPrompt/schemas.js +81 -0
  446. package/dist/systemPrompt/types.cjs +16 -0
  447. package/dist/systemPrompt/types.d.cts +19 -0
  448. package/dist/systemPrompt/types.d.ts +19 -0
  449. package/dist/systemPrompt/types.js +0 -0
  450. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +44 -0
  451. package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +19 -0
  452. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +19 -0
  453. package/dist/tools/confirmation/allowed-tools-provider/factory.js +20 -0
  454. package/dist/tools/confirmation/allowed-tools-provider/in-memory.cjs +62 -0
  455. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +17 -0
  456. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +17 -0
  457. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +38 -0
  458. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +68 -0
  459. package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +26 -0
  460. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +26 -0
  461. package/dist/tools/confirmation/allowed-tools-provider/storage.js +44 -0
  462. package/dist/tools/confirmation/allowed-tools-provider/types.cjs +16 -0
  463. package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +35 -0
  464. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +35 -0
  465. package/dist/tools/confirmation/allowed-tools-provider/types.js +0 -0
  466. package/dist/tools/confirmation/event-based-confirmation-provider.cjs +158 -0
  467. package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +41 -0
  468. package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +41 -0
  469. package/dist/tools/confirmation/event-based-confirmation-provider.js +134 -0
  470. package/dist/tools/confirmation/factory.cjs +52 -0
  471. package/dist/tools/confirmation/factory.d.cts +37 -0
  472. package/dist/tools/confirmation/factory.d.ts +37 -0
  473. package/dist/tools/confirmation/factory.js +28 -0
  474. package/dist/tools/confirmation/noop-confirmation-provider.cjs +49 -0
  475. package/dist/tools/confirmation/noop-confirmation-provider.d.cts +22 -0
  476. package/dist/tools/confirmation/noop-confirmation-provider.d.ts +22 -0
  477. package/dist/tools/confirmation/noop-confirmation-provider.js +25 -0
  478. package/dist/tools/confirmation/types.cjs +16 -0
  479. package/dist/tools/confirmation/types.d.cts +46 -0
  480. package/dist/tools/confirmation/types.d.ts +46 -0
  481. package/dist/tools/confirmation/types.js +0 -0
  482. package/dist/tools/error-codes.cjs +40 -0
  483. package/dist/tools/error-codes.d.cts +18 -0
  484. package/dist/tools/error-codes.d.ts +18 -0
  485. package/dist/tools/error-codes.js +16 -0
  486. package/dist/tools/errors.cjs +164 -0
  487. package/dist/tools/errors.d.cts +97 -0
  488. package/dist/tools/errors.d.ts +97 -0
  489. package/dist/tools/errors.js +140 -0
  490. package/dist/tools/index.cjs +37 -0
  491. package/dist/tools/index.d.cts +19 -0
  492. package/dist/tools/index.d.ts +19 -0
  493. package/dist/tools/index.js +8 -0
  494. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +61 -0
  495. package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +15 -0
  496. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +15 -0
  497. package/dist/tools/internal-tools/implementations/search-history-tool.js +37 -0
  498. package/dist/tools/internal-tools/index.cjs +24 -0
  499. package/dist/tools/internal-tools/index.d.cts +13 -0
  500. package/dist/tools/internal-tools/index.d.ts +13 -0
  501. package/dist/tools/internal-tools/index.js +2 -0
  502. package/dist/tools/internal-tools/provider.cjs +159 -0
  503. package/dist/tools/internal-tools/provider.d.cts +66 -0
  504. package/dist/tools/internal-tools/provider.d.ts +66 -0
  505. package/dist/tools/internal-tools/provider.js +135 -0
  506. package/dist/tools/internal-tools/registry.cjs +43 -0
  507. package/dist/tools/internal-tools/registry.d.cts +45 -0
  508. package/dist/tools/internal-tools/registry.d.ts +45 -0
  509. package/dist/tools/internal-tools/registry.js +17 -0
  510. package/dist/tools/schemas.cjs +45 -0
  511. package/dist/tools/schemas.d.cts +21 -0
  512. package/dist/tools/schemas.d.ts +21 -0
  513. package/dist/tools/schemas.js +20 -0
  514. package/dist/tools/tool-manager.cjs +275 -0
  515. package/dist/tools/tool-manager.d.cts +106 -0
  516. package/dist/tools/tool-manager.d.ts +106 -0
  517. package/dist/tools/tool-manager.js +251 -0
  518. package/dist/tools/types.cjs +16 -0
  519. package/dist/tools/types.d.cts +66 -0
  520. package/dist/tools/types.d.ts +66 -0
  521. package/dist/tools/types.js +0 -0
  522. package/dist/utils/api-key-resolver.cjs +62 -0
  523. package/dist/utils/api-key-resolver.d.cts +23 -0
  524. package/dist/utils/api-key-resolver.d.ts +23 -0
  525. package/dist/utils/api-key-resolver.js +36 -0
  526. package/dist/utils/api-key-store.cjs +56 -0
  527. package/dist/utils/api-key-store.d.cts +26 -0
  528. package/dist/utils/api-key-store.d.ts +26 -0
  529. package/dist/utils/api-key-store.js +30 -0
  530. package/dist/utils/env.cjs +154 -0
  531. package/dist/utils/env.d.cts +29 -0
  532. package/dist/utils/env.d.ts +29 -0
  533. package/dist/utils/env.js +118 -0
  534. package/dist/utils/error-conversion.cjs +53 -0
  535. package/dist/utils/error-conversion.d.cts +13 -0
  536. package/dist/utils/error-conversion.d.ts +13 -0
  537. package/dist/utils/error-conversion.js +29 -0
  538. package/dist/utils/execution-context.cjs +85 -0
  539. package/dist/utils/execution-context.d.cts +21 -0
  540. package/dist/utils/execution-context.d.ts +21 -0
  541. package/dist/utils/execution-context.js +49 -0
  542. package/dist/{chunk-MVKLS3LM.js → utils/fs-walk.cjs} +27 -18
  543. package/dist/utils/fs-walk.d.cts +9 -0
  544. package/dist/utils/fs-walk.d.ts +9 -0
  545. package/dist/utils/fs-walk.js +18 -0
  546. package/dist/utils/index.cjs +44 -0
  547. package/dist/utils/index.d.cts +63 -0
  548. package/dist/utils/index.d.ts +63 -0
  549. package/dist/utils/index.js +12 -0
  550. package/dist/utils/path.cjs +197 -0
  551. package/dist/utils/path.d.cts +54 -0
  552. package/dist/utils/path.d.ts +54 -0
  553. package/dist/utils/path.js +159 -0
  554. package/dist/utils/port-utils.cjs +37 -0
  555. package/dist/utils/port-utils.d.cts +11 -0
  556. package/dist/utils/port-utils.d.ts +11 -0
  557. package/dist/utils/port-utils.js +13 -0
  558. package/dist/utils/port-utils.spec.cjs +26 -0
  559. package/dist/utils/port-utils.spec.d.cts +2 -0
  560. package/dist/utils/port-utils.spec.d.ts +2 -0
  561. package/dist/utils/port-utils.spec.js +25 -0
  562. package/dist/utils/redactor.cjs +105 -0
  563. package/dist/utils/redactor.d.cts +18 -0
  564. package/dist/utils/redactor.d.ts +18 -0
  565. package/dist/utils/redactor.js +81 -0
  566. package/dist/utils/result.cjs +115 -0
  567. package/dist/utils/result.d.cts +180 -0
  568. package/dist/utils/result.d.ts +180 -0
  569. package/dist/utils/result.js +82 -0
  570. package/dist/utils/safe-stringify.cjs +57 -0
  571. package/dist/utils/safe-stringify.d.cts +7 -0
  572. package/dist/utils/safe-stringify.d.ts +7 -0
  573. package/dist/utils/safe-stringify.js +33 -0
  574. package/dist/utils/schema.cjs +42 -0
  575. package/dist/utils/schema.d.cts +6 -0
  576. package/dist/utils/schema.d.ts +6 -0
  577. package/dist/utils/schema.js +18 -0
  578. package/dist/utils/service-initializer.cjs +119 -0
  579. package/dist/utils/service-initializer.d.cts +63 -0
  580. package/dist/utils/service-initializer.d.ts +63 -0
  581. package/dist/utils/service-initializer.js +95 -0
  582. package/dist/utils/user-info.cjs +30 -0
  583. package/dist/utils/user-info.d.cts +3 -0
  584. package/dist/utils/user-info.d.ts +3 -0
  585. package/dist/utils/user-info.js +6 -0
  586. package/dist/utils/zod-schema-converter.cjs +112 -0
  587. package/dist/utils/zod-schema-converter.d.cts +13 -0
  588. package/dist/utils/zod-schema-converter.d.ts +13 -0
  589. package/dist/utils/zod-schema-converter.js +87 -0
  590. package/package.json +2 -2
  591. package/dist/chunk-D62MHQBE.js +0 -2203
  592. package/dist/chunk-FCJVTIBV.js +0 -535
  593. package/dist/chunk-TPERKLLN.js +0 -75
  594. package/dist/errors-ZZ4Z3FKB.js +0 -10
  595. package/dist/loader-HBNEYPQZ.js +0 -20
  596. package/dist/path-TP7WBDED.js +0 -21
  597. package/dist/registry-Z4DFXODW.js +0 -14
@@ -0,0 +1,45 @@
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 schemas_exports = {};
20
+ __export(schemas_exports, {
21
+ InternalToolsSchema: () => InternalToolsSchema,
22
+ ToolConfirmationConfigSchema: () => ToolConfirmationConfigSchema
23
+ });
24
+ module.exports = __toCommonJS(schemas_exports);
25
+ var import_zod = require("zod");
26
+ var import_registry = require("./internal-tools/registry.js");
27
+ const InternalToolsSchema = import_zod.z.array(import_zod.z.enum(import_registry.INTERNAL_TOOL_NAMES).describe("Available internal tool names")).default([]).describe(
28
+ `Array of internal tool names to enable. Empty array = disabled. Available tools: ${import_registry.INTERNAL_TOOL_NAMES.join(", ")}`
29
+ );
30
+ const ToolConfirmationConfigSchema = import_zod.z.object({
31
+ mode: import_zod.z.enum(["event-based", "auto-approve", "auto-deny"]).default("event-based").describe(
32
+ "Tool confirmation mode: event-based (interactive), auto-approve (all tools), auto-deny (no tools)"
33
+ ),
34
+ timeout: import_zod.z.number().int().positive().default(12e4).describe(
35
+ "Timeout for tool confirmation requests in milliseconds, defaults to 120000ms (2 mins)"
36
+ ),
37
+ allowedToolsStorage: import_zod.z.enum(["memory", "storage"]).default("storage").describe(
38
+ "Storage type for remembered tool approvals: memory (session-only) or storage (persistent)"
39
+ )
40
+ }).strict().describe("Tool confirmation and approval configuration");
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ InternalToolsSchema,
44
+ ToolConfirmationConfigSchema
45
+ });
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const InternalToolsSchema: z.ZodDefault<z.ZodArray<z.ZodEnum<["search_history"]>, "many">>;
4
+ type InternalToolsConfig = z.output<typeof InternalToolsSchema>;
5
+ declare const ToolConfirmationConfigSchema: z.ZodObject<{
6
+ mode: z.ZodDefault<z.ZodEnum<["event-based", "auto-approve", "auto-deny"]>>;
7
+ timeout: z.ZodDefault<z.ZodNumber>;
8
+ allowedToolsStorage: z.ZodDefault<z.ZodEnum<["memory", "storage"]>>;
9
+ }, "strict", z.ZodTypeAny, {
10
+ timeout: number;
11
+ mode: "event-based" | "auto-approve" | "auto-deny";
12
+ allowedToolsStorage: "storage" | "memory";
13
+ }, {
14
+ timeout?: number | undefined;
15
+ mode?: "event-based" | "auto-approve" | "auto-deny" | undefined;
16
+ allowedToolsStorage?: "storage" | "memory" | undefined;
17
+ }>;
18
+ type ToolConfirmationConfig = z.input<typeof ToolConfirmationConfigSchema>;
19
+ type ValidatedToolConfirmationConfig = z.output<typeof ToolConfirmationConfigSchema>;
20
+
21
+ export { type InternalToolsConfig, InternalToolsSchema, type ToolConfirmationConfig, ToolConfirmationConfigSchema, type ValidatedToolConfirmationConfig };
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+
3
+ declare const InternalToolsSchema: z.ZodDefault<z.ZodArray<z.ZodEnum<["search_history"]>, "many">>;
4
+ type InternalToolsConfig = z.output<typeof InternalToolsSchema>;
5
+ declare const ToolConfirmationConfigSchema: z.ZodObject<{
6
+ mode: z.ZodDefault<z.ZodEnum<["event-based", "auto-approve", "auto-deny"]>>;
7
+ timeout: z.ZodDefault<z.ZodNumber>;
8
+ allowedToolsStorage: z.ZodDefault<z.ZodEnum<["memory", "storage"]>>;
9
+ }, "strict", z.ZodTypeAny, {
10
+ timeout: number;
11
+ mode: "event-based" | "auto-approve" | "auto-deny";
12
+ allowedToolsStorage: "storage" | "memory";
13
+ }, {
14
+ timeout?: number | undefined;
15
+ mode?: "event-based" | "auto-approve" | "auto-deny" | undefined;
16
+ allowedToolsStorage?: "storage" | "memory" | undefined;
17
+ }>;
18
+ type ToolConfirmationConfig = z.input<typeof ToolConfirmationConfigSchema>;
19
+ type ValidatedToolConfirmationConfig = z.output<typeof ToolConfirmationConfigSchema>;
20
+
21
+ export { type InternalToolsConfig, InternalToolsSchema, type ToolConfirmationConfig, ToolConfirmationConfigSchema, type ValidatedToolConfirmationConfig };
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ import { INTERNAL_TOOL_NAMES } from "./internal-tools/registry.js";
3
+ const InternalToolsSchema = z.array(z.enum(INTERNAL_TOOL_NAMES).describe("Available internal tool names")).default([]).describe(
4
+ `Array of internal tool names to enable. Empty array = disabled. Available tools: ${INTERNAL_TOOL_NAMES.join(", ")}`
5
+ );
6
+ const ToolConfirmationConfigSchema = z.object({
7
+ mode: z.enum(["event-based", "auto-approve", "auto-deny"]).default("event-based").describe(
8
+ "Tool confirmation mode: event-based (interactive), auto-approve (all tools), auto-deny (no tools)"
9
+ ),
10
+ timeout: z.number().int().positive().default(12e4).describe(
11
+ "Timeout for tool confirmation requests in milliseconds, defaults to 120000ms (2 mins)"
12
+ ),
13
+ allowedToolsStorage: z.enum(["memory", "storage"]).default("storage").describe(
14
+ "Storage type for remembered tool approvals: memory (session-only) or storage (persistent)"
15
+ )
16
+ }).strict().describe("Tool confirmation and approval configuration");
17
+ export {
18
+ InternalToolsSchema,
19
+ ToolConfirmationConfigSchema
20
+ };
@@ -0,0 +1,275 @@
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 tool_manager_exports = {};
20
+ __export(tool_manager_exports, {
21
+ ToolManager: () => ToolManager
22
+ });
23
+ module.exports = __toCommonJS(tool_manager_exports);
24
+ var import_provider = require("./internal-tools/provider.js");
25
+ var import_errors = require("./errors.js");
26
+ var import_logger = require("../logger/index.js");
27
+ class ToolManager {
28
+ mcpManager;
29
+ internalToolsProvider;
30
+ confirmationProvider;
31
+ // Tool source prefixing - ALL tools get prefixed by source
32
+ static MCP_TOOL_PREFIX = "mcp--";
33
+ static INTERNAL_TOOL_PREFIX = "internal--";
34
+ // Tool caching for performance
35
+ toolsCache = {};
36
+ cacheValid = false;
37
+ constructor(mcpManager, confirmationProvider, options) {
38
+ this.mcpManager = mcpManager;
39
+ this.confirmationProvider = confirmationProvider;
40
+ if (options?.internalToolsConfig && options.internalToolsConfig.length > 0) {
41
+ this.internalToolsProvider = new import_provider.InternalToolsProvider(
42
+ options.internalToolsServices || {},
43
+ confirmationProvider,
44
+ options.internalToolsConfig
45
+ );
46
+ }
47
+ import_logger.logger.debug("ToolManager initialized");
48
+ }
49
+ /**
50
+ * Initialize the ToolManager and its components
51
+ */
52
+ async initialize() {
53
+ if (this.internalToolsProvider) {
54
+ await this.internalToolsProvider.initialize();
55
+ }
56
+ import_logger.logger.debug("ToolManager initialization complete");
57
+ }
58
+ /**
59
+ * Invalidate the tools cache when tool sources change
60
+ */
61
+ invalidateCache() {
62
+ this.cacheValid = false;
63
+ this.toolsCache = {};
64
+ }
65
+ getMcpManager() {
66
+ return this.mcpManager;
67
+ }
68
+ /**
69
+ * Get all MCP tools (delegates to mcpManager.getAllTools())
70
+ * This provides access to MCP tools while maintaining separation of concerns
71
+ */
72
+ async getMcpTools() {
73
+ return await this.mcpManager.getAllTools();
74
+ }
75
+ /**
76
+ * Build all tools from sources with universal prefixing
77
+ * ALL tools get prefixed by their source - no exceptions
78
+ */
79
+ async buildAllTools() {
80
+ const allTools = {};
81
+ let mcpTools = {};
82
+ let internalTools = {};
83
+ try {
84
+ mcpTools = await this.mcpManager.getAllTools();
85
+ } catch (error) {
86
+ import_logger.logger.error(
87
+ `Failed to get MCP tools: ${error instanceof Error ? error.message : String(error)}`
88
+ );
89
+ mcpTools = {};
90
+ }
91
+ try {
92
+ internalTools = this.internalToolsProvider?.getAllTools() || {};
93
+ } catch (error) {
94
+ import_logger.logger.error(
95
+ `Failed to get internal tools: ${error instanceof Error ? error.message : String(error)}`
96
+ );
97
+ internalTools = {};
98
+ }
99
+ for (const [toolName, toolDef] of Object.entries(internalTools)) {
100
+ const qualifiedName = `${ToolManager.INTERNAL_TOOL_PREFIX}${toolName}`;
101
+ allTools[qualifiedName] = {
102
+ ...toolDef,
103
+ name: qualifiedName,
104
+ description: `${toolDef.description || "No description provided"} (internal tool)`
105
+ };
106
+ }
107
+ for (const [toolName, toolDef] of Object.entries(mcpTools)) {
108
+ const qualifiedName = `${ToolManager.MCP_TOOL_PREFIX}${toolName}`;
109
+ allTools[qualifiedName] = {
110
+ ...toolDef,
111
+ name: qualifiedName,
112
+ description: `${toolDef.description || "No description provided"} (via MCP servers)`
113
+ };
114
+ }
115
+ const totalTools = Object.keys(allTools).length;
116
+ const mcpCount = Object.keys(mcpTools).length;
117
+ const internalCount = Object.keys(internalTools).length;
118
+ import_logger.logger.debug(
119
+ `\u{1F527} Unified tool discovery: ${totalTools} total tools (${mcpCount} MCP \u2192 ${ToolManager.MCP_TOOL_PREFIX}*, ${internalCount} internal \u2192 ${ToolManager.INTERNAL_TOOL_PREFIX}*)`
120
+ );
121
+ return allTools;
122
+ }
123
+ /**
124
+ * Get all available tools from all sources with conflict resolution
125
+ * This is the single interface the LLM uses to discover tools
126
+ * Uses caching to avoid rebuilding on every call
127
+ */
128
+ async getAllTools() {
129
+ if (this.cacheValid) {
130
+ return this.toolsCache;
131
+ }
132
+ this.toolsCache = await this.buildAllTools();
133
+ this.cacheValid = true;
134
+ return this.toolsCache;
135
+ }
136
+ /**
137
+ * Execute a tool by routing based on universal prefix
138
+ * ALL tools must have source prefix - no exceptions
139
+ */
140
+ async executeTool(toolName, args, sessionId) {
141
+ import_logger.logger.debug(`\u{1F527} Tool execution requested: '${toolName}'`);
142
+ import_logger.logger.debug(`Tool args: ${JSON.stringify(args, null, 2)}`);
143
+ const approved = await this.confirmationProvider.requestConfirmation({
144
+ toolName,
145
+ args,
146
+ ...sessionId && { sessionId }
147
+ });
148
+ if (!approved) {
149
+ import_logger.logger.debug(`\u{1F6AB} Tool execution denied: ${toolName}`);
150
+ throw import_errors.ToolError.executionDenied(toolName, sessionId);
151
+ }
152
+ import_logger.logger.debug(`\u2705 Tool execution approved: ${toolName}`);
153
+ import_logger.logger.info(
154
+ `\u{1F527} Tool execution started for ${toolName}, sessionId: ${sessionId ?? "global"}`
155
+ );
156
+ const startTime = Date.now();
157
+ try {
158
+ let result;
159
+ if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX)) {
160
+ import_logger.logger.debug(`\u{1F527} Detected MCP tool: '${toolName}'`);
161
+ const actualToolName = toolName.substring(ToolManager.MCP_TOOL_PREFIX.length);
162
+ if (actualToolName.length === 0) {
163
+ throw import_errors.ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
164
+ }
165
+ import_logger.logger.debug(`\u{1F3AF} MCP routing: '${toolName}' -> '${actualToolName}'`);
166
+ result = await this.mcpManager.executeTool(actualToolName, args, sessionId);
167
+ } else if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX)) {
168
+ import_logger.logger.debug(`\u{1F527} Detected internal tool: '${toolName}'`);
169
+ const actualToolName = toolName.substring(ToolManager.INTERNAL_TOOL_PREFIX.length);
170
+ if (actualToolName.length === 0) {
171
+ throw import_errors.ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
172
+ }
173
+ if (!this.internalToolsProvider) {
174
+ throw import_errors.ToolError.internalToolsNotInitialized(toolName);
175
+ }
176
+ import_logger.logger.debug(`\u{1F3AF} Internal routing: '${toolName}' -> '${actualToolName}'`);
177
+ result = await this.internalToolsProvider.executeTool(
178
+ actualToolName,
179
+ args,
180
+ sessionId
181
+ );
182
+ } else {
183
+ import_logger.logger.debug(`\u{1F527} Detected tool without proper prefix: '${toolName}'`);
184
+ const stats = await this.getToolStats();
185
+ import_logger.logger.error(
186
+ `\u274C Tool missing source prefix: '${toolName}' (expected '${ToolManager.MCP_TOOL_PREFIX}*' or '${ToolManager.INTERNAL_TOOL_PREFIX}*')`
187
+ );
188
+ import_logger.logger.debug(`Available: ${stats.mcp} MCP tools, ${stats.internal} internal tools`);
189
+ throw import_errors.ToolError.notFound(toolName);
190
+ }
191
+ const duration = Date.now() - startTime;
192
+ import_logger.logger.debug(`\u{1F3AF} Tool execution completed in ${duration}ms: '${toolName}'`);
193
+ import_logger.logger.info(
194
+ `\u2705 Tool execution completed successfully for ${toolName} in ${duration}ms, sessionId: ${sessionId ?? "global"}`
195
+ );
196
+ return result;
197
+ } catch (error) {
198
+ const duration = Date.now() - startTime;
199
+ import_logger.logger.error(
200
+ `\u274C Tool execution failed for ${toolName} after ${duration}ms, sessionId: ${sessionId ?? "global"}: ${error instanceof Error ? error.message : String(error)}`
201
+ );
202
+ throw error;
203
+ }
204
+ }
205
+ /**
206
+ * Check if a tool exists (must have proper source prefix)
207
+ */
208
+ async hasTool(toolName) {
209
+ if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX)) {
210
+ const actualToolName = toolName.substring(ToolManager.MCP_TOOL_PREFIX.length);
211
+ return this.mcpManager.getToolClient(actualToolName) !== void 0;
212
+ }
213
+ if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX)) {
214
+ const actualToolName = toolName.substring(ToolManager.INTERNAL_TOOL_PREFIX.length);
215
+ return this.internalToolsProvider?.hasTool(actualToolName) ?? false;
216
+ }
217
+ return false;
218
+ }
219
+ /**
220
+ * Get tool statistics across all sources
221
+ */
222
+ async getToolStats() {
223
+ let mcpTools = {};
224
+ let internalTools = {};
225
+ try {
226
+ mcpTools = await this.mcpManager.getAllTools();
227
+ } catch (error) {
228
+ import_logger.logger.error(
229
+ `Failed to get MCP tools for stats: ${error instanceof Error ? error.message : String(error)}`
230
+ );
231
+ mcpTools = {};
232
+ }
233
+ try {
234
+ internalTools = this.internalToolsProvider?.getAllTools() || {};
235
+ } catch (error) {
236
+ import_logger.logger.error(
237
+ `Failed to get internal tools for stats: ${error instanceof Error ? error.message : String(error)}`
238
+ );
239
+ internalTools = {};
240
+ }
241
+ const mcpCount = Object.keys(mcpTools).length;
242
+ const internalCount = Object.keys(internalTools).length;
243
+ return {
244
+ total: mcpCount + internalCount,
245
+ // No conflicts with universal prefixing
246
+ mcp: mcpCount,
247
+ internal: internalCount
248
+ };
249
+ }
250
+ /**
251
+ * Get the source of a tool (mcp, internal, or unknown)
252
+ * @param toolName The name of the tool to check
253
+ * @returns The source of the tool
254
+ */
255
+ getToolSource(toolName) {
256
+ if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX) && toolName.length > ToolManager.MCP_TOOL_PREFIX.length) {
257
+ return "mcp";
258
+ }
259
+ if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX) && toolName.length > ToolManager.INTERNAL_TOOL_PREFIX.length) {
260
+ return "internal";
261
+ }
262
+ return "unknown";
263
+ }
264
+ /**
265
+ * Refresh tool discovery (call when MCP servers change)
266
+ */
267
+ async refresh() {
268
+ this.invalidateCache();
269
+ import_logger.logger.debug("ToolManager refreshed");
270
+ }
271
+ }
272
+ // Annotate the CommonJS export names for ESM import in node:
273
+ 0 && (module.exports = {
274
+ ToolManager
275
+ });
@@ -0,0 +1,106 @@
1
+ import { MCPManager } from '../mcp/manager.cjs';
2
+ import { InternalToolsServices } from './internal-tools/registry.cjs';
3
+ import { InternalToolsConfig } from './schemas.cjs';
4
+ import { ToolSet } from './types.cjs';
5
+ import { ToolConfirmationProvider } from './confirmation/types.cjs';
6
+ import '../mcp/schemas.cjs';
7
+ import 'zod';
8
+ import '../mcp/types.cjs';
9
+ import '@modelcontextprotocol/sdk/client/index.js';
10
+ import '@modelcontextprotocol/sdk/types.js';
11
+ import '../search/search-service.cjs';
12
+ import '../storage/backend/database-backend.cjs';
13
+ import '../search/types.cjs';
14
+ import '../context/types.cjs';
15
+ import '../llm/types.cjs';
16
+ import 'json-schema';
17
+ import './confirmation/allowed-tools-provider/types.cjs';
18
+
19
+ /**
20
+ * Options for internal tools configuration in ToolManager
21
+ */
22
+ interface InternalToolsOptions {
23
+ internalToolsServices?: InternalToolsServices;
24
+ internalToolsConfig?: InternalToolsConfig;
25
+ }
26
+ /**
27
+ * Unified Tool Manager - Single interface for all tool operations
28
+ *
29
+ * This class acts as the single point of contact between the LLM and all tool sources.
30
+ * It aggregates tools from MCP servers and internal tools, providing a unified interface
31
+ * for tool discovery, aggregation, and execution.
32
+ *
33
+ * Responsibilities:
34
+ * - Aggregate tools from MCP servers and internal tools with conflict resolution
35
+ * - Route tool execution to appropriate source (MCP vs Internal)
36
+ * - Provide unified tool interface to LLM
37
+ * - Manage tool confirmation and security
38
+ * - Handle cross-source naming conflicts (internal tools have precedence)
39
+ *
40
+ * Architecture:
41
+ * LLMService → ToolManager → [MCPManager, InternalToolsProvider]
42
+ */
43
+ declare class ToolManager {
44
+ private mcpManager;
45
+ private internalToolsProvider?;
46
+ private confirmationProvider;
47
+ private static readonly MCP_TOOL_PREFIX;
48
+ private static readonly INTERNAL_TOOL_PREFIX;
49
+ private toolsCache;
50
+ private cacheValid;
51
+ constructor(mcpManager: MCPManager, confirmationProvider: ToolConfirmationProvider, options?: InternalToolsOptions);
52
+ /**
53
+ * Initialize the ToolManager and its components
54
+ */
55
+ initialize(): Promise<void>;
56
+ /**
57
+ * Invalidate the tools cache when tool sources change
58
+ */
59
+ private invalidateCache;
60
+ getMcpManager(): MCPManager;
61
+ /**
62
+ * Get all MCP tools (delegates to mcpManager.getAllTools())
63
+ * This provides access to MCP tools while maintaining separation of concerns
64
+ */
65
+ getMcpTools(): Promise<ToolSet>;
66
+ /**
67
+ * Build all tools from sources with universal prefixing
68
+ * ALL tools get prefixed by their source - no exceptions
69
+ */
70
+ private buildAllTools;
71
+ /**
72
+ * Get all available tools from all sources with conflict resolution
73
+ * This is the single interface the LLM uses to discover tools
74
+ * Uses caching to avoid rebuilding on every call
75
+ */
76
+ getAllTools(): Promise<ToolSet>;
77
+ /**
78
+ * Execute a tool by routing based on universal prefix
79
+ * ALL tools must have source prefix - no exceptions
80
+ */
81
+ executeTool(toolName: string, args: Record<string, unknown>, sessionId?: string): Promise<unknown>;
82
+ /**
83
+ * Check if a tool exists (must have proper source prefix)
84
+ */
85
+ hasTool(toolName: string): Promise<boolean>;
86
+ /**
87
+ * Get tool statistics across all sources
88
+ */
89
+ getToolStats(): Promise<{
90
+ total: number;
91
+ mcp: number;
92
+ internal: number;
93
+ }>;
94
+ /**
95
+ * Get the source of a tool (mcp, internal, or unknown)
96
+ * @param toolName The name of the tool to check
97
+ * @returns The source of the tool
98
+ */
99
+ getToolSource(toolName: string): 'mcp' | 'internal' | 'unknown';
100
+ /**
101
+ * Refresh tool discovery (call when MCP servers change)
102
+ */
103
+ refresh(): Promise<void>;
104
+ }
105
+
106
+ export { type InternalToolsOptions, ToolManager };
@@ -0,0 +1,106 @@
1
+ import { MCPManager } from '../mcp/manager.js';
2
+ import { InternalToolsServices } from './internal-tools/registry.js';
3
+ import { InternalToolsConfig } from './schemas.js';
4
+ import { ToolSet } from './types.js';
5
+ import { ToolConfirmationProvider } from './confirmation/types.js';
6
+ import '../mcp/schemas.js';
7
+ import 'zod';
8
+ import '../mcp/types.js';
9
+ import '@modelcontextprotocol/sdk/client/index.js';
10
+ import '@modelcontextprotocol/sdk/types.js';
11
+ import '../search/search-service.js';
12
+ import '../storage/backend/database-backend.js';
13
+ import '../search/types.js';
14
+ import '../context/types.js';
15
+ import '../llm/types.js';
16
+ import 'json-schema';
17
+ import './confirmation/allowed-tools-provider/types.js';
18
+
19
+ /**
20
+ * Options for internal tools configuration in ToolManager
21
+ */
22
+ interface InternalToolsOptions {
23
+ internalToolsServices?: InternalToolsServices;
24
+ internalToolsConfig?: InternalToolsConfig;
25
+ }
26
+ /**
27
+ * Unified Tool Manager - Single interface for all tool operations
28
+ *
29
+ * This class acts as the single point of contact between the LLM and all tool sources.
30
+ * It aggregates tools from MCP servers and internal tools, providing a unified interface
31
+ * for tool discovery, aggregation, and execution.
32
+ *
33
+ * Responsibilities:
34
+ * - Aggregate tools from MCP servers and internal tools with conflict resolution
35
+ * - Route tool execution to appropriate source (MCP vs Internal)
36
+ * - Provide unified tool interface to LLM
37
+ * - Manage tool confirmation and security
38
+ * - Handle cross-source naming conflicts (internal tools have precedence)
39
+ *
40
+ * Architecture:
41
+ * LLMService → ToolManager → [MCPManager, InternalToolsProvider]
42
+ */
43
+ declare class ToolManager {
44
+ private mcpManager;
45
+ private internalToolsProvider?;
46
+ private confirmationProvider;
47
+ private static readonly MCP_TOOL_PREFIX;
48
+ private static readonly INTERNAL_TOOL_PREFIX;
49
+ private toolsCache;
50
+ private cacheValid;
51
+ constructor(mcpManager: MCPManager, confirmationProvider: ToolConfirmationProvider, options?: InternalToolsOptions);
52
+ /**
53
+ * Initialize the ToolManager and its components
54
+ */
55
+ initialize(): Promise<void>;
56
+ /**
57
+ * Invalidate the tools cache when tool sources change
58
+ */
59
+ private invalidateCache;
60
+ getMcpManager(): MCPManager;
61
+ /**
62
+ * Get all MCP tools (delegates to mcpManager.getAllTools())
63
+ * This provides access to MCP tools while maintaining separation of concerns
64
+ */
65
+ getMcpTools(): Promise<ToolSet>;
66
+ /**
67
+ * Build all tools from sources with universal prefixing
68
+ * ALL tools get prefixed by their source - no exceptions
69
+ */
70
+ private buildAllTools;
71
+ /**
72
+ * Get all available tools from all sources with conflict resolution
73
+ * This is the single interface the LLM uses to discover tools
74
+ * Uses caching to avoid rebuilding on every call
75
+ */
76
+ getAllTools(): Promise<ToolSet>;
77
+ /**
78
+ * Execute a tool by routing based on universal prefix
79
+ * ALL tools must have source prefix - no exceptions
80
+ */
81
+ executeTool(toolName: string, args: Record<string, unknown>, sessionId?: string): Promise<unknown>;
82
+ /**
83
+ * Check if a tool exists (must have proper source prefix)
84
+ */
85
+ hasTool(toolName: string): Promise<boolean>;
86
+ /**
87
+ * Get tool statistics across all sources
88
+ */
89
+ getToolStats(): Promise<{
90
+ total: number;
91
+ mcp: number;
92
+ internal: number;
93
+ }>;
94
+ /**
95
+ * Get the source of a tool (mcp, internal, or unknown)
96
+ * @param toolName The name of the tool to check
97
+ * @returns The source of the tool
98
+ */
99
+ getToolSource(toolName: string): 'mcp' | 'internal' | 'unknown';
100
+ /**
101
+ * Refresh tool discovery (call when MCP servers change)
102
+ */
103
+ refresh(): Promise<void>;
104
+ }
105
+
106
+ export { type InternalToolsOptions, ToolManager };