@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,251 @@
1
+ import { InternalToolsProvider } from "./internal-tools/provider.js";
2
+ import { ToolError } from "./errors.js";
3
+ import { logger } from "../logger/index.js";
4
+ class ToolManager {
5
+ mcpManager;
6
+ internalToolsProvider;
7
+ confirmationProvider;
8
+ // Tool source prefixing - ALL tools get prefixed by source
9
+ static MCP_TOOL_PREFIX = "mcp--";
10
+ static INTERNAL_TOOL_PREFIX = "internal--";
11
+ // Tool caching for performance
12
+ toolsCache = {};
13
+ cacheValid = false;
14
+ constructor(mcpManager, confirmationProvider, options) {
15
+ this.mcpManager = mcpManager;
16
+ this.confirmationProvider = confirmationProvider;
17
+ if (options?.internalToolsConfig && options.internalToolsConfig.length > 0) {
18
+ this.internalToolsProvider = new InternalToolsProvider(
19
+ options.internalToolsServices || {},
20
+ confirmationProvider,
21
+ options.internalToolsConfig
22
+ );
23
+ }
24
+ logger.debug("ToolManager initialized");
25
+ }
26
+ /**
27
+ * Initialize the ToolManager and its components
28
+ */
29
+ async initialize() {
30
+ if (this.internalToolsProvider) {
31
+ await this.internalToolsProvider.initialize();
32
+ }
33
+ logger.debug("ToolManager initialization complete");
34
+ }
35
+ /**
36
+ * Invalidate the tools cache when tool sources change
37
+ */
38
+ invalidateCache() {
39
+ this.cacheValid = false;
40
+ this.toolsCache = {};
41
+ }
42
+ getMcpManager() {
43
+ return this.mcpManager;
44
+ }
45
+ /**
46
+ * Get all MCP tools (delegates to mcpManager.getAllTools())
47
+ * This provides access to MCP tools while maintaining separation of concerns
48
+ */
49
+ async getMcpTools() {
50
+ return await this.mcpManager.getAllTools();
51
+ }
52
+ /**
53
+ * Build all tools from sources with universal prefixing
54
+ * ALL tools get prefixed by their source - no exceptions
55
+ */
56
+ async buildAllTools() {
57
+ const allTools = {};
58
+ let mcpTools = {};
59
+ let internalTools = {};
60
+ try {
61
+ mcpTools = await this.mcpManager.getAllTools();
62
+ } catch (error) {
63
+ logger.error(
64
+ `Failed to get MCP tools: ${error instanceof Error ? error.message : String(error)}`
65
+ );
66
+ mcpTools = {};
67
+ }
68
+ try {
69
+ internalTools = this.internalToolsProvider?.getAllTools() || {};
70
+ } catch (error) {
71
+ logger.error(
72
+ `Failed to get internal tools: ${error instanceof Error ? error.message : String(error)}`
73
+ );
74
+ internalTools = {};
75
+ }
76
+ for (const [toolName, toolDef] of Object.entries(internalTools)) {
77
+ const qualifiedName = `${ToolManager.INTERNAL_TOOL_PREFIX}${toolName}`;
78
+ allTools[qualifiedName] = {
79
+ ...toolDef,
80
+ name: qualifiedName,
81
+ description: `${toolDef.description || "No description provided"} (internal tool)`
82
+ };
83
+ }
84
+ for (const [toolName, toolDef] of Object.entries(mcpTools)) {
85
+ const qualifiedName = `${ToolManager.MCP_TOOL_PREFIX}${toolName}`;
86
+ allTools[qualifiedName] = {
87
+ ...toolDef,
88
+ name: qualifiedName,
89
+ description: `${toolDef.description || "No description provided"} (via MCP servers)`
90
+ };
91
+ }
92
+ const totalTools = Object.keys(allTools).length;
93
+ const mcpCount = Object.keys(mcpTools).length;
94
+ const internalCount = Object.keys(internalTools).length;
95
+ logger.debug(
96
+ `\u{1F527} Unified tool discovery: ${totalTools} total tools (${mcpCount} MCP \u2192 ${ToolManager.MCP_TOOL_PREFIX}*, ${internalCount} internal \u2192 ${ToolManager.INTERNAL_TOOL_PREFIX}*)`
97
+ );
98
+ return allTools;
99
+ }
100
+ /**
101
+ * Get all available tools from all sources with conflict resolution
102
+ * This is the single interface the LLM uses to discover tools
103
+ * Uses caching to avoid rebuilding on every call
104
+ */
105
+ async getAllTools() {
106
+ if (this.cacheValid) {
107
+ return this.toolsCache;
108
+ }
109
+ this.toolsCache = await this.buildAllTools();
110
+ this.cacheValid = true;
111
+ return this.toolsCache;
112
+ }
113
+ /**
114
+ * Execute a tool by routing based on universal prefix
115
+ * ALL tools must have source prefix - no exceptions
116
+ */
117
+ async executeTool(toolName, args, sessionId) {
118
+ logger.debug(`\u{1F527} Tool execution requested: '${toolName}'`);
119
+ logger.debug(`Tool args: ${JSON.stringify(args, null, 2)}`);
120
+ const approved = await this.confirmationProvider.requestConfirmation({
121
+ toolName,
122
+ args,
123
+ ...sessionId && { sessionId }
124
+ });
125
+ if (!approved) {
126
+ logger.debug(`\u{1F6AB} Tool execution denied: ${toolName}`);
127
+ throw ToolError.executionDenied(toolName, sessionId);
128
+ }
129
+ logger.debug(`\u2705 Tool execution approved: ${toolName}`);
130
+ logger.info(
131
+ `\u{1F527} Tool execution started for ${toolName}, sessionId: ${sessionId ?? "global"}`
132
+ );
133
+ const startTime = Date.now();
134
+ try {
135
+ let result;
136
+ if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX)) {
137
+ logger.debug(`\u{1F527} Detected MCP tool: '${toolName}'`);
138
+ const actualToolName = toolName.substring(ToolManager.MCP_TOOL_PREFIX.length);
139
+ if (actualToolName.length === 0) {
140
+ throw ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
141
+ }
142
+ logger.debug(`\u{1F3AF} MCP routing: '${toolName}' -> '${actualToolName}'`);
143
+ result = await this.mcpManager.executeTool(actualToolName, args, sessionId);
144
+ } else if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX)) {
145
+ logger.debug(`\u{1F527} Detected internal tool: '${toolName}'`);
146
+ const actualToolName = toolName.substring(ToolManager.INTERNAL_TOOL_PREFIX.length);
147
+ if (actualToolName.length === 0) {
148
+ throw ToolError.invalidName(toolName, "tool name cannot be empty after prefix");
149
+ }
150
+ if (!this.internalToolsProvider) {
151
+ throw ToolError.internalToolsNotInitialized(toolName);
152
+ }
153
+ logger.debug(`\u{1F3AF} Internal routing: '${toolName}' -> '${actualToolName}'`);
154
+ result = await this.internalToolsProvider.executeTool(
155
+ actualToolName,
156
+ args,
157
+ sessionId
158
+ );
159
+ } else {
160
+ logger.debug(`\u{1F527} Detected tool without proper prefix: '${toolName}'`);
161
+ const stats = await this.getToolStats();
162
+ logger.error(
163
+ `\u274C Tool missing source prefix: '${toolName}' (expected '${ToolManager.MCP_TOOL_PREFIX}*' or '${ToolManager.INTERNAL_TOOL_PREFIX}*')`
164
+ );
165
+ logger.debug(`Available: ${stats.mcp} MCP tools, ${stats.internal} internal tools`);
166
+ throw ToolError.notFound(toolName);
167
+ }
168
+ const duration = Date.now() - startTime;
169
+ logger.debug(`\u{1F3AF} Tool execution completed in ${duration}ms: '${toolName}'`);
170
+ logger.info(
171
+ `\u2705 Tool execution completed successfully for ${toolName} in ${duration}ms, sessionId: ${sessionId ?? "global"}`
172
+ );
173
+ return result;
174
+ } catch (error) {
175
+ const duration = Date.now() - startTime;
176
+ logger.error(
177
+ `\u274C Tool execution failed for ${toolName} after ${duration}ms, sessionId: ${sessionId ?? "global"}: ${error instanceof Error ? error.message : String(error)}`
178
+ );
179
+ throw error;
180
+ }
181
+ }
182
+ /**
183
+ * Check if a tool exists (must have proper source prefix)
184
+ */
185
+ async hasTool(toolName) {
186
+ if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX)) {
187
+ const actualToolName = toolName.substring(ToolManager.MCP_TOOL_PREFIX.length);
188
+ return this.mcpManager.getToolClient(actualToolName) !== void 0;
189
+ }
190
+ if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX)) {
191
+ const actualToolName = toolName.substring(ToolManager.INTERNAL_TOOL_PREFIX.length);
192
+ return this.internalToolsProvider?.hasTool(actualToolName) ?? false;
193
+ }
194
+ return false;
195
+ }
196
+ /**
197
+ * Get tool statistics across all sources
198
+ */
199
+ async getToolStats() {
200
+ let mcpTools = {};
201
+ let internalTools = {};
202
+ try {
203
+ mcpTools = await this.mcpManager.getAllTools();
204
+ } catch (error) {
205
+ logger.error(
206
+ `Failed to get MCP tools for stats: ${error instanceof Error ? error.message : String(error)}`
207
+ );
208
+ mcpTools = {};
209
+ }
210
+ try {
211
+ internalTools = this.internalToolsProvider?.getAllTools() || {};
212
+ } catch (error) {
213
+ logger.error(
214
+ `Failed to get internal tools for stats: ${error instanceof Error ? error.message : String(error)}`
215
+ );
216
+ internalTools = {};
217
+ }
218
+ const mcpCount = Object.keys(mcpTools).length;
219
+ const internalCount = Object.keys(internalTools).length;
220
+ return {
221
+ total: mcpCount + internalCount,
222
+ // No conflicts with universal prefixing
223
+ mcp: mcpCount,
224
+ internal: internalCount
225
+ };
226
+ }
227
+ /**
228
+ * Get the source of a tool (mcp, internal, or unknown)
229
+ * @param toolName The name of the tool to check
230
+ * @returns The source of the tool
231
+ */
232
+ getToolSource(toolName) {
233
+ if (toolName.startsWith(ToolManager.MCP_TOOL_PREFIX) && toolName.length > ToolManager.MCP_TOOL_PREFIX.length) {
234
+ return "mcp";
235
+ }
236
+ if (toolName.startsWith(ToolManager.INTERNAL_TOOL_PREFIX) && toolName.length > ToolManager.INTERNAL_TOOL_PREFIX.length) {
237
+ return "internal";
238
+ }
239
+ return "unknown";
240
+ }
241
+ /**
242
+ * Refresh tool discovery (call when MCP servers change)
243
+ */
244
+ async refresh() {
245
+ this.invalidateCache();
246
+ logger.debug("ToolManager refreshed");
247
+ }
248
+ }
249
+ export {
250
+ ToolManager
251
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,66 @@
1
+ import { JSONSchema7 } from 'json-schema';
2
+ import { ZodSchema } from 'zod';
3
+
4
+ /**
5
+ * Context passed to tool execution
6
+ */
7
+ interface ToolExecutionContext {
8
+ /** Session ID if available */
9
+ sessionId?: string | undefined;
10
+ }
11
+ /**
12
+ * Internal tool interface - for tools implemented within Dexto
13
+ */
14
+ interface InternalTool {
15
+ /** Unique identifier for the tool */
16
+ id: string;
17
+ /** Human-readable description of what the tool does */
18
+ description: string;
19
+ /** Zod schema defining the input parameters */
20
+ inputSchema: ZodSchema;
21
+ /** The actual function that executes the tool - input is validated by Zod before execution */
22
+ execute: (input: unknown, context?: ToolExecutionContext) => Promise<unknown> | unknown;
23
+ }
24
+ /**
25
+ * Standard tool set interface - used by AI/LLM services
26
+ * Each tool entry contains JSON Schema parameters
27
+ */
28
+ interface ToolSet {
29
+ [key: string]: {
30
+ name?: string;
31
+ description?: string;
32
+ parameters: JSONSchema7;
33
+ };
34
+ }
35
+ /**
36
+ * Tool execution result
37
+ */
38
+ interface ToolResult {
39
+ success: boolean;
40
+ data?: any;
41
+ error?: string;
42
+ metadata?: {
43
+ type: string;
44
+ mimeType?: string;
45
+ };
46
+ }
47
+ /**
48
+ * Tool call representation
49
+ */
50
+ interface ToolCall {
51
+ id: string;
52
+ toolName: string;
53
+ input: any;
54
+ output?: any;
55
+ error?: string;
56
+ duration?: number;
57
+ }
58
+ /**
59
+ * Interface for any provider of tools
60
+ */
61
+ interface ToolProvider {
62
+ getTools(): Promise<ToolSet>;
63
+ callTool(toolName: string, args: Record<string, unknown>): Promise<unknown>;
64
+ }
65
+
66
+ export type { InternalTool, ToolCall, ToolExecutionContext, ToolProvider, ToolResult, ToolSet };
@@ -0,0 +1,66 @@
1
+ import { JSONSchema7 } from 'json-schema';
2
+ import { ZodSchema } from 'zod';
3
+
4
+ /**
5
+ * Context passed to tool execution
6
+ */
7
+ interface ToolExecutionContext {
8
+ /** Session ID if available */
9
+ sessionId?: string | undefined;
10
+ }
11
+ /**
12
+ * Internal tool interface - for tools implemented within Dexto
13
+ */
14
+ interface InternalTool {
15
+ /** Unique identifier for the tool */
16
+ id: string;
17
+ /** Human-readable description of what the tool does */
18
+ description: string;
19
+ /** Zod schema defining the input parameters */
20
+ inputSchema: ZodSchema;
21
+ /** The actual function that executes the tool - input is validated by Zod before execution */
22
+ execute: (input: unknown, context?: ToolExecutionContext) => Promise<unknown> | unknown;
23
+ }
24
+ /**
25
+ * Standard tool set interface - used by AI/LLM services
26
+ * Each tool entry contains JSON Schema parameters
27
+ */
28
+ interface ToolSet {
29
+ [key: string]: {
30
+ name?: string;
31
+ description?: string;
32
+ parameters: JSONSchema7;
33
+ };
34
+ }
35
+ /**
36
+ * Tool execution result
37
+ */
38
+ interface ToolResult {
39
+ success: boolean;
40
+ data?: any;
41
+ error?: string;
42
+ metadata?: {
43
+ type: string;
44
+ mimeType?: string;
45
+ };
46
+ }
47
+ /**
48
+ * Tool call representation
49
+ */
50
+ interface ToolCall {
51
+ id: string;
52
+ toolName: string;
53
+ input: any;
54
+ output?: any;
55
+ error?: string;
56
+ duration?: number;
57
+ }
58
+ /**
59
+ * Interface for any provider of tools
60
+ */
61
+ interface ToolProvider {
62
+ getTools(): Promise<ToolSet>;
63
+ callTool(toolName: string, args: Record<string, unknown>): Promise<unknown>;
64
+ }
65
+
66
+ export type { InternalTool, ToolCall, ToolExecutionContext, ToolProvider, ToolResult, ToolSet };
File without changes
@@ -0,0 +1,62 @@
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 api_key_resolver_exports = {};
20
+ __export(api_key_resolver_exports, {
21
+ PROVIDER_API_KEY_MAP: () => PROVIDER_API_KEY_MAP,
22
+ getPrimaryApiKeyEnvVar: () => getPrimaryApiKeyEnvVar,
23
+ resolveApiKeyForProvider: () => resolveApiKeyForProvider
24
+ });
25
+ module.exports = __toCommonJS(api_key_resolver_exports);
26
+ const PROVIDER_API_KEY_MAP = {
27
+ openai: ["OPENAI_API_KEY", "OPENAI_KEY"],
28
+ "openai-compatible": ["OPENAI_API_KEY", "OPENAI_KEY"],
29
+ // Uses same keys as openai
30
+ anthropic: ["ANTHROPIC_API_KEY", "ANTHROPIC_KEY", "CLAUDE_API_KEY"],
31
+ google: ["GOOGLE_GENERATIVE_AI_API_KEY", "GOOGLE_API_KEY", "GEMINI_API_KEY"],
32
+ groq: ["GROQ_API_KEY"],
33
+ cohere: ["COHERE_API_KEY"],
34
+ xai: ["XAI_API_KEY", "X_AI_API_KEY"]
35
+ // perplexity: ['PERPLEXITY_API_KEY'],
36
+ // together: ['TOGETHER_API_KEY'],
37
+ // fireworks: ['FIREWORKS_API_KEY'],
38
+ // deepseek: ['DEEPSEEK_API_KEY'],
39
+ };
40
+ function resolveApiKeyForProvider(provider) {
41
+ const envVars = PROVIDER_API_KEY_MAP[provider];
42
+ if (!envVars) {
43
+ return void 0;
44
+ }
45
+ for (const envVar of envVars) {
46
+ const value = process.env[envVar];
47
+ if (value && value.trim()) {
48
+ return value.trim();
49
+ }
50
+ }
51
+ return void 0;
52
+ }
53
+ function getPrimaryApiKeyEnvVar(provider) {
54
+ const envVars = PROVIDER_API_KEY_MAP[provider];
55
+ return envVars?.[0] || `${provider.toUpperCase()}_API_KEY`;
56
+ }
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ PROVIDER_API_KEY_MAP,
60
+ getPrimaryApiKeyEnvVar,
61
+ resolveApiKeyForProvider
62
+ });
@@ -0,0 +1,23 @@
1
+ import { LLMProvider } from '../llm/types.cjs';
2
+
3
+ /**
4
+ * Utility for resolving API keys from environment variables.
5
+ * This consolidates the API key resolution logic used across CLI and core components.
6
+ */
7
+ declare const PROVIDER_API_KEY_MAP: Record<LLMProvider, string[]>;
8
+ /**
9
+ * Resolves API key for a given provider from environment variables.
10
+ *
11
+ * @param provider The LLM provider
12
+ * @returns Resolved API key or undefined if not found
13
+ */
14
+ declare function resolveApiKeyForProvider(provider: LLMProvider): string | undefined;
15
+ /**
16
+ * Gets the primary environment variable name for a provider (for display/error messages).
17
+ *
18
+ * @param provider The LLM provider
19
+ * @returns Primary environment variable name
20
+ */
21
+ declare function getPrimaryApiKeyEnvVar(provider: LLMProvider): string;
22
+
23
+ export { PROVIDER_API_KEY_MAP, getPrimaryApiKeyEnvVar, resolveApiKeyForProvider };
@@ -0,0 +1,23 @@
1
+ import { LLMProvider } from '../llm/types.js';
2
+
3
+ /**
4
+ * Utility for resolving API keys from environment variables.
5
+ * This consolidates the API key resolution logic used across CLI and core components.
6
+ */
7
+ declare const PROVIDER_API_KEY_MAP: Record<LLMProvider, string[]>;
8
+ /**
9
+ * Resolves API key for a given provider from environment variables.
10
+ *
11
+ * @param provider The LLM provider
12
+ * @returns Resolved API key or undefined if not found
13
+ */
14
+ declare function resolveApiKeyForProvider(provider: LLMProvider): string | undefined;
15
+ /**
16
+ * Gets the primary environment variable name for a provider (for display/error messages).
17
+ *
18
+ * @param provider The LLM provider
19
+ * @returns Primary environment variable name
20
+ */
21
+ declare function getPrimaryApiKeyEnvVar(provider: LLMProvider): string;
22
+
23
+ export { PROVIDER_API_KEY_MAP, getPrimaryApiKeyEnvVar, resolveApiKeyForProvider };
@@ -0,0 +1,36 @@
1
+ const PROVIDER_API_KEY_MAP = {
2
+ openai: ["OPENAI_API_KEY", "OPENAI_KEY"],
3
+ "openai-compatible": ["OPENAI_API_KEY", "OPENAI_KEY"],
4
+ // Uses same keys as openai
5
+ anthropic: ["ANTHROPIC_API_KEY", "ANTHROPIC_KEY", "CLAUDE_API_KEY"],
6
+ google: ["GOOGLE_GENERATIVE_AI_API_KEY", "GOOGLE_API_KEY", "GEMINI_API_KEY"],
7
+ groq: ["GROQ_API_KEY"],
8
+ cohere: ["COHERE_API_KEY"],
9
+ xai: ["XAI_API_KEY", "X_AI_API_KEY"]
10
+ // perplexity: ['PERPLEXITY_API_KEY'],
11
+ // together: ['TOGETHER_API_KEY'],
12
+ // fireworks: ['FIREWORKS_API_KEY'],
13
+ // deepseek: ['DEEPSEEK_API_KEY'],
14
+ };
15
+ function resolveApiKeyForProvider(provider) {
16
+ const envVars = PROVIDER_API_KEY_MAP[provider];
17
+ if (!envVars) {
18
+ return void 0;
19
+ }
20
+ for (const envVar of envVars) {
21
+ const value = process.env[envVar];
22
+ if (value && value.trim()) {
23
+ return value.trim();
24
+ }
25
+ }
26
+ return void 0;
27
+ }
28
+ function getPrimaryApiKeyEnvVar(provider) {
29
+ const envVars = PROVIDER_API_KEY_MAP[provider];
30
+ return envVars?.[0] || `${provider.toUpperCase()}_API_KEY`;
31
+ }
32
+ export {
33
+ PROVIDER_API_KEY_MAP,
34
+ getPrimaryApiKeyEnvVar,
35
+ resolveApiKeyForProvider
36
+ };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var api_key_store_exports = {};
20
+ __export(api_key_store_exports, {
21
+ getProviderKeyStatus: () => getProviderKeyStatus,
22
+ listProviderKeyStatus: () => listProviderKeyStatus,
23
+ saveProviderApiKey: () => saveProviderApiKey
24
+ });
25
+ module.exports = __toCommonJS(api_key_store_exports);
26
+ var import_types = require("../llm/types.js");
27
+ var import_api_key_resolver = require("./api-key-resolver.js");
28
+ var import_env = require("./env.js");
29
+ var import_path = require("./path.js");
30
+ async function saveProviderApiKey(provider, apiKey, startPath) {
31
+ if (!provider) throw new Error("provider is required");
32
+ if (!apiKey || !apiKey.trim()) throw new Error("apiKey is required");
33
+ const envVar = (0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider);
34
+ const targetEnvPath = (0, import_path.getDextoEnvPath)(startPath);
35
+ await (0, import_env.updateEnvFile)(targetEnvPath, { [envVar]: apiKey });
36
+ process.env[envVar] = apiKey;
37
+ return { envVar, targetEnvPath };
38
+ }
39
+ function getProviderKeyStatus(provider) {
40
+ const envVar = (0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider);
41
+ const key = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
42
+ return { hasApiKey: Boolean(key && key.trim()), envVar };
43
+ }
44
+ function listProviderKeyStatus() {
45
+ const result = {};
46
+ for (const p of import_types.LLM_PROVIDERS) {
47
+ result[p] = getProviderKeyStatus(p);
48
+ }
49
+ return result;
50
+ }
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ getProviderKeyStatus,
54
+ listProviderKeyStatus,
55
+ saveProviderApiKey
56
+ });
@@ -0,0 +1,26 @@
1
+ import { LLMProvider } from '../llm/types.cjs';
2
+
3
+ /**
4
+ * Save provider API key to the correct .env and make it immediately available in-process.
5
+ * Never returns the key; only metadata for callers to display.
6
+ */
7
+ declare function saveProviderApiKey(provider: LLMProvider, apiKey: string, startPath?: string): Promise<{
8
+ envVar: string;
9
+ targetEnvPath: string;
10
+ }>;
11
+ /**
12
+ * Get key presence and primary env var name for a provider.
13
+ */
14
+ declare function getProviderKeyStatus(provider: LLMProvider): {
15
+ hasApiKey: boolean;
16
+ envVar: string;
17
+ };
18
+ /**
19
+ * List key presence across all known providers.
20
+ */
21
+ declare function listProviderKeyStatus(): Record<string, {
22
+ hasApiKey: boolean;
23
+ envVar: string;
24
+ }>;
25
+
26
+ export { getProviderKeyStatus, listProviderKeyStatus, saveProviderApiKey };
@@ -0,0 +1,26 @@
1
+ import { LLMProvider } from '../llm/types.js';
2
+
3
+ /**
4
+ * Save provider API key to the correct .env and make it immediately available in-process.
5
+ * Never returns the key; only metadata for callers to display.
6
+ */
7
+ declare function saveProviderApiKey(provider: LLMProvider, apiKey: string, startPath?: string): Promise<{
8
+ envVar: string;
9
+ targetEnvPath: string;
10
+ }>;
11
+ /**
12
+ * Get key presence and primary env var name for a provider.
13
+ */
14
+ declare function getProviderKeyStatus(provider: LLMProvider): {
15
+ hasApiKey: boolean;
16
+ envVar: string;
17
+ };
18
+ /**
19
+ * List key presence across all known providers.
20
+ */
21
+ declare function listProviderKeyStatus(): Record<string, {
22
+ hasApiKey: boolean;
23
+ envVar: string;
24
+ }>;
25
+
26
+ export { getProviderKeyStatus, listProviderKeyStatus, saveProviderApiKey };