@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,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 in_memory_exports = {};
20
+ __export(in_memory_exports, {
21
+ InMemoryAllowedToolsProvider: () => InMemoryAllowedToolsProvider
22
+ });
23
+ module.exports = __toCommonJS(in_memory_exports);
24
+ class InMemoryAllowedToolsProvider {
25
+ /**
26
+ * Map key is sessionId (undefined => global approvals). Value is a set of
27
+ * approved tool names.
28
+ */
29
+ store = /* @__PURE__ */ new Map();
30
+ constructor(initialGlobal) {
31
+ if (initialGlobal) {
32
+ this.store.set(void 0, new Set(initialGlobal));
33
+ }
34
+ }
35
+ getSet(sessionId) {
36
+ const key = sessionId ?? void 0;
37
+ let set = this.store.get(key);
38
+ if (!set) {
39
+ set = /* @__PURE__ */ new Set();
40
+ this.store.set(key, set);
41
+ }
42
+ return set;
43
+ }
44
+ async allowTool(toolName, sessionId) {
45
+ this.getSet(sessionId).add(toolName);
46
+ }
47
+ async disallowTool(toolName, sessionId) {
48
+ this.getSet(sessionId).delete(toolName);
49
+ }
50
+ async isToolAllowed(toolName, sessionId) {
51
+ const scopedSet = this.store.get(sessionId ?? void 0);
52
+ const globalSet = this.store.get(void 0);
53
+ return Boolean(scopedSet?.has(toolName) || globalSet?.has(toolName));
54
+ }
55
+ async getAllowedTools(sessionId) {
56
+ return new Set(this.getSet(sessionId));
57
+ }
58
+ }
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ InMemoryAllowedToolsProvider
62
+ });
@@ -0,0 +1,17 @@
1
+ import { IAllowedToolsProvider } from './types.cjs';
2
+
3
+ declare class InMemoryAllowedToolsProvider implements IAllowedToolsProvider {
4
+ /**
5
+ * Map key is sessionId (undefined => global approvals). Value is a set of
6
+ * approved tool names.
7
+ */
8
+ private store;
9
+ constructor(initialGlobal?: Set<string>);
10
+ private getSet;
11
+ allowTool(toolName: string, sessionId?: string): Promise<void>;
12
+ disallowTool(toolName: string, sessionId?: string): Promise<void>;
13
+ isToolAllowed(toolName: string, sessionId?: string): Promise<boolean>;
14
+ getAllowedTools(sessionId?: string): Promise<Set<string>>;
15
+ }
16
+
17
+ export { InMemoryAllowedToolsProvider };
@@ -0,0 +1,17 @@
1
+ import { IAllowedToolsProvider } from './types.js';
2
+
3
+ declare class InMemoryAllowedToolsProvider implements IAllowedToolsProvider {
4
+ /**
5
+ * Map key is sessionId (undefined => global approvals). Value is a set of
6
+ * approved tool names.
7
+ */
8
+ private store;
9
+ constructor(initialGlobal?: Set<string>);
10
+ private getSet;
11
+ allowTool(toolName: string, sessionId?: string): Promise<void>;
12
+ disallowTool(toolName: string, sessionId?: string): Promise<void>;
13
+ isToolAllowed(toolName: string, sessionId?: string): Promise<boolean>;
14
+ getAllowedTools(sessionId?: string): Promise<Set<string>>;
15
+ }
16
+
17
+ export { InMemoryAllowedToolsProvider };
@@ -0,0 +1,38 @@
1
+ class InMemoryAllowedToolsProvider {
2
+ /**
3
+ * Map key is sessionId (undefined => global approvals). Value is a set of
4
+ * approved tool names.
5
+ */
6
+ store = /* @__PURE__ */ new Map();
7
+ constructor(initialGlobal) {
8
+ if (initialGlobal) {
9
+ this.store.set(void 0, new Set(initialGlobal));
10
+ }
11
+ }
12
+ getSet(sessionId) {
13
+ const key = sessionId ?? void 0;
14
+ let set = this.store.get(key);
15
+ if (!set) {
16
+ set = /* @__PURE__ */ new Set();
17
+ this.store.set(key, set);
18
+ }
19
+ return set;
20
+ }
21
+ async allowTool(toolName, sessionId) {
22
+ this.getSet(sessionId).add(toolName);
23
+ }
24
+ async disallowTool(toolName, sessionId) {
25
+ this.getSet(sessionId).delete(toolName);
26
+ }
27
+ async isToolAllowed(toolName, sessionId) {
28
+ const scopedSet = this.store.get(sessionId ?? void 0);
29
+ const globalSet = this.store.get(void 0);
30
+ return Boolean(scopedSet?.has(toolName) || globalSet?.has(toolName));
31
+ }
32
+ async getAllowedTools(sessionId) {
33
+ return new Set(this.getSet(sessionId));
34
+ }
35
+ }
36
+ export {
37
+ InMemoryAllowedToolsProvider
38
+ };
@@ -0,0 +1,68 @@
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 storage_exports = {};
20
+ __export(storage_exports, {
21
+ StorageAllowedToolsProvider: () => StorageAllowedToolsProvider
22
+ });
23
+ module.exports = __toCommonJS(storage_exports);
24
+ var import_logger = require("../../../logger/index.cjs");
25
+ class StorageAllowedToolsProvider {
26
+ constructor(storage) {
27
+ this.storage = storage;
28
+ }
29
+ buildKey(sessionId) {
30
+ return sessionId ? `allowedTools:${sessionId}` : "allowedTools:global";
31
+ }
32
+ async allowTool(toolName, sessionId) {
33
+ const key = this.buildKey(sessionId);
34
+ import_logger.logger.debug(`Adding allowed tool '${toolName}' for key '${key}'`);
35
+ const existingRaw = await this.storage.database.get(key);
36
+ const newSet = new Set(Array.isArray(existingRaw) ? existingRaw : []);
37
+ newSet.add(toolName);
38
+ await this.storage.database.set(key, Array.from(newSet));
39
+ import_logger.logger.debug(`Added allowed tool '${toolName}' for key '${key}'`);
40
+ }
41
+ async disallowTool(toolName, sessionId) {
42
+ const key = this.buildKey(sessionId);
43
+ import_logger.logger.debug(`Removing allowed tool '${toolName}' for key '${key}'`);
44
+ const existingRaw = await this.storage.database.get(key);
45
+ if (!Array.isArray(existingRaw)) return;
46
+ const newSet = new Set(existingRaw);
47
+ newSet.delete(toolName);
48
+ await this.storage.database.set(key, Array.from(newSet));
49
+ }
50
+ async isToolAllowed(toolName, sessionId) {
51
+ const sessionArr = await this.storage.database.get(this.buildKey(sessionId));
52
+ if (Array.isArray(sessionArr) && sessionArr.includes(toolName)) return true;
53
+ const globalArr = await this.storage.database.get(this.buildKey(void 0));
54
+ const allowed = Array.isArray(globalArr) ? globalArr.includes(toolName) : false;
55
+ import_logger.logger.debug(
56
+ `Checked allowed tool '${toolName}' in session '${sessionId ?? "global"}' \u2013 allowed=${allowed}`
57
+ );
58
+ return allowed;
59
+ }
60
+ async getAllowedTools(sessionId) {
61
+ const arr = await this.storage.database.get(this.buildKey(sessionId));
62
+ return new Set(Array.isArray(arr) ? arr : []);
63
+ }
64
+ }
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ StorageAllowedToolsProvider
68
+ });
@@ -0,0 +1,26 @@
1
+ import { StorageBackends } from '../../../storage/backend/types.cjs';
2
+ import { IAllowedToolsProvider } from './types.cjs';
3
+ import '../../../storage/backend/cache-backend.cjs';
4
+ import '../../../storage/backend/database-backend.cjs';
5
+ import '../../../storage/schemas.cjs';
6
+ import 'zod';
7
+
8
+ /**
9
+ * Storage-backed implementation that persists allowed tools in the Dexto
10
+ * storage backends. The key scheme is:
11
+ * allowedTools:<sessionId> – approvals scoped to a session
12
+ * allowedTools:global – global approvals (sessionId undefined)
13
+ *
14
+ * Using the database backend for persistence.
15
+ */
16
+ declare class StorageAllowedToolsProvider implements IAllowedToolsProvider {
17
+ private storage;
18
+ constructor(storage: StorageBackends);
19
+ private buildKey;
20
+ allowTool(toolName: string, sessionId?: string): Promise<void>;
21
+ disallowTool(toolName: string, sessionId?: string): Promise<void>;
22
+ isToolAllowed(toolName: string, sessionId?: string): Promise<boolean>;
23
+ getAllowedTools(sessionId?: string): Promise<Set<string>>;
24
+ }
25
+
26
+ export { StorageAllowedToolsProvider };
@@ -0,0 +1,26 @@
1
+ import { StorageBackends } from '../../../storage/backend/types.js';
2
+ import { IAllowedToolsProvider } from './types.js';
3
+ import '../../../storage/backend/cache-backend.js';
4
+ import '../../../storage/backend/database-backend.js';
5
+ import '../../../storage/schemas.js';
6
+ import 'zod';
7
+
8
+ /**
9
+ * Storage-backed implementation that persists allowed tools in the Dexto
10
+ * storage backends. The key scheme is:
11
+ * allowedTools:<sessionId> – approvals scoped to a session
12
+ * allowedTools:global – global approvals (sessionId undefined)
13
+ *
14
+ * Using the database backend for persistence.
15
+ */
16
+ declare class StorageAllowedToolsProvider implements IAllowedToolsProvider {
17
+ private storage;
18
+ constructor(storage: StorageBackends);
19
+ private buildKey;
20
+ allowTool(toolName: string, sessionId?: string): Promise<void>;
21
+ disallowTool(toolName: string, sessionId?: string): Promise<void>;
22
+ isToolAllowed(toolName: string, sessionId?: string): Promise<boolean>;
23
+ getAllowedTools(sessionId?: string): Promise<Set<string>>;
24
+ }
25
+
26
+ export { StorageAllowedToolsProvider };
@@ -0,0 +1,44 @@
1
+ import { logger } from "../../../logger/index.js";
2
+ class StorageAllowedToolsProvider {
3
+ constructor(storage) {
4
+ this.storage = storage;
5
+ }
6
+ buildKey(sessionId) {
7
+ return sessionId ? `allowedTools:${sessionId}` : "allowedTools:global";
8
+ }
9
+ async allowTool(toolName, sessionId) {
10
+ const key = this.buildKey(sessionId);
11
+ logger.debug(`Adding allowed tool '${toolName}' for key '${key}'`);
12
+ const existingRaw = await this.storage.database.get(key);
13
+ const newSet = new Set(Array.isArray(existingRaw) ? existingRaw : []);
14
+ newSet.add(toolName);
15
+ await this.storage.database.set(key, Array.from(newSet));
16
+ logger.debug(`Added allowed tool '${toolName}' for key '${key}'`);
17
+ }
18
+ async disallowTool(toolName, sessionId) {
19
+ const key = this.buildKey(sessionId);
20
+ logger.debug(`Removing allowed tool '${toolName}' for key '${key}'`);
21
+ const existingRaw = await this.storage.database.get(key);
22
+ if (!Array.isArray(existingRaw)) return;
23
+ const newSet = new Set(existingRaw);
24
+ newSet.delete(toolName);
25
+ await this.storage.database.set(key, Array.from(newSet));
26
+ }
27
+ async isToolAllowed(toolName, sessionId) {
28
+ const sessionArr = await this.storage.database.get(this.buildKey(sessionId));
29
+ if (Array.isArray(sessionArr) && sessionArr.includes(toolName)) return true;
30
+ const globalArr = await this.storage.database.get(this.buildKey(void 0));
31
+ const allowed = Array.isArray(globalArr) ? globalArr.includes(toolName) : false;
32
+ logger.debug(
33
+ `Checked allowed tool '${toolName}' in session '${sessionId ?? "global"}' \u2013 allowed=${allowed}`
34
+ );
35
+ return allowed;
36
+ }
37
+ async getAllowedTools(sessionId) {
38
+ const arr = await this.storage.database.get(this.buildKey(sessionId));
39
+ return new Set(Array.isArray(arr) ? arr : []);
40
+ }
41
+ }
42
+ export {
43
+ StorageAllowedToolsProvider
44
+ };
@@ -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,35 @@
1
+ /**
2
+ * Interface for allowed tools storage (in-memory, DB, etc.)
3
+ *
4
+ * Multi-user support: For multi-tenancy, we can consider either:
5
+ * - Instantiating a provider per user (current pattern, recommended for most cases)
6
+ * - Or, add userId as a parameter to each method for batch/admin/multi-user operations:
7
+ * allowTool(toolName: string, userId: string): Promise<void>
8
+ * ...etc.
9
+ * - You can also add static/factory methods to create user-scoped providers, e.g.,
10
+ * AllowedToolsProvider.forUser(userId)
11
+ *
12
+ * AllowedToolsProvider supports both single-user and multi-user scenarios.
13
+ * - If `userId` is omitted, the implementation will use a default user (e.g., from getUserId()).
14
+ * - For multi-user/admin scenarios, always pass `userId` explicitly.
15
+ * - We can enforce this by having a separate env variable/feature-flag for multi-user and having
16
+ * strict check for the user id if the feature flag is set.
17
+ */
18
+ interface IAllowedToolsProvider {
19
+ /**
20
+ * Persist an approval for a tool. If `sessionId` is provided the approval is
21
+ * scoped to that session. When omitted the approval is treated as global.
22
+ */
23
+ allowTool(toolName: string, sessionId?: string): Promise<void>;
24
+ /** Remove an approval. */
25
+ disallowTool(toolName: string, sessionId?: string): Promise<void>;
26
+ /**
27
+ * Check whether the given tool is currently allowed. If `sessionId` is
28
+ * provided the session-scoped list is checked first, then any global entry.
29
+ */
30
+ isToolAllowed(toolName: string, sessionId?: string): Promise<boolean>;
31
+ /** Optional helper to introspect all approvals for debugging. */
32
+ getAllowedTools?(sessionId?: string): Promise<Set<string>>;
33
+ }
34
+
35
+ export type { IAllowedToolsProvider };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Interface for allowed tools storage (in-memory, DB, etc.)
3
+ *
4
+ * Multi-user support: For multi-tenancy, we can consider either:
5
+ * - Instantiating a provider per user (current pattern, recommended for most cases)
6
+ * - Or, add userId as a parameter to each method for batch/admin/multi-user operations:
7
+ * allowTool(toolName: string, userId: string): Promise<void>
8
+ * ...etc.
9
+ * - You can also add static/factory methods to create user-scoped providers, e.g.,
10
+ * AllowedToolsProvider.forUser(userId)
11
+ *
12
+ * AllowedToolsProvider supports both single-user and multi-user scenarios.
13
+ * - If `userId` is omitted, the implementation will use a default user (e.g., from getUserId()).
14
+ * - For multi-user/admin scenarios, always pass `userId` explicitly.
15
+ * - We can enforce this by having a separate env variable/feature-flag for multi-user and having
16
+ * strict check for the user id if the feature flag is set.
17
+ */
18
+ interface IAllowedToolsProvider {
19
+ /**
20
+ * Persist an approval for a tool. If `sessionId` is provided the approval is
21
+ * scoped to that session. When omitted the approval is treated as global.
22
+ */
23
+ allowTool(toolName: string, sessionId?: string): Promise<void>;
24
+ /** Remove an approval. */
25
+ disallowTool(toolName: string, sessionId?: string): Promise<void>;
26
+ /**
27
+ * Check whether the given tool is currently allowed. If `sessionId` is
28
+ * provided the session-scoped list is checked first, then any global entry.
29
+ */
30
+ isToolAllowed(toolName: string, sessionId?: string): Promise<boolean>;
31
+ /** Optional helper to introspect all approvals for debugging. */
32
+ getAllowedTools?(sessionId?: string): Promise<Set<string>>;
33
+ }
34
+
35
+ export type { IAllowedToolsProvider };
@@ -0,0 +1,158 @@
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 event_based_confirmation_provider_exports = {};
20
+ __export(event_based_confirmation_provider_exports, {
21
+ EventBasedConfirmationProvider: () => EventBasedConfirmationProvider
22
+ });
23
+ module.exports = __toCommonJS(event_based_confirmation_provider_exports);
24
+ var import_crypto = require("crypto");
25
+ var import_logger = require("../../logger/index.cjs");
26
+ var import_errors = require("../errors.js");
27
+ class EventBasedConfirmationProvider {
28
+ constructor(allowedToolsProvider, agentEventBus, options) {
29
+ this.allowedToolsProvider = allowedToolsProvider;
30
+ this.agentEventBus = agentEventBus;
31
+ this.confirmationTimeout = options.confirmationTimeout;
32
+ this.agentEventBus.on(
33
+ "dexto:toolConfirmationResponse",
34
+ this.handleConfirmationResponse.bind(this)
35
+ );
36
+ }
37
+ pendingConfirmations = /* @__PURE__ */ new Map();
38
+ confirmationTimeout;
39
+ agentEventBus;
40
+ async requestConfirmation(details) {
41
+ const isAllowed = await this.allowedToolsProvider.isToolAllowed(
42
+ details.toolName,
43
+ details.sessionId
44
+ );
45
+ if (isAllowed) {
46
+ import_logger.logger.info(
47
+ `Tool '${details.toolName}' already allowed for session '${details.sessionId ?? "global"}' \u2013 skipping confirmation.`
48
+ );
49
+ return true;
50
+ }
51
+ const executionId = (0, import_crypto.randomUUID)();
52
+ const event = {
53
+ toolName: details.toolName,
54
+ args: details.args,
55
+ ...details.description && { description: details.description },
56
+ executionId,
57
+ timestamp: /* @__PURE__ */ new Date(),
58
+ ...details.sessionId && { sessionId: details.sessionId }
59
+ // session context
60
+ };
61
+ import_logger.logger.info(
62
+ `Tool confirmation requested for ${details.toolName}, executionId: ${executionId}, sessionId: ${details.sessionId}`
63
+ );
64
+ return new Promise((resolve, reject) => {
65
+ const timeout = setTimeout(() => {
66
+ const timeoutResponse = {
67
+ executionId,
68
+ approved: false,
69
+ rememberChoice: false,
70
+ ...details.sessionId && { sessionId: details.sessionId }
71
+ };
72
+ import_logger.logger.warn(
73
+ `Tool confirmation timeout for ${details.toolName}, executionId: ${executionId}`
74
+ );
75
+ this.pendingConfirmations.delete(executionId);
76
+ this.agentEventBus.emit("dexto:toolConfirmationResponse", timeoutResponse);
77
+ reject(
78
+ import_errors.ToolError.confirmationTimeout(
79
+ details.toolName,
80
+ this.confirmationTimeout,
81
+ details.sessionId
82
+ )
83
+ );
84
+ }, this.confirmationTimeout);
85
+ this.pendingConfirmations.set(executionId, {
86
+ resolve: (approved) => {
87
+ clearTimeout(timeout);
88
+ this.pendingConfirmations.delete(executionId);
89
+ resolve(approved);
90
+ },
91
+ reject: (error) => {
92
+ clearTimeout(timeout);
93
+ this.pendingConfirmations.delete(executionId);
94
+ reject(error);
95
+ },
96
+ toolName: details.toolName,
97
+ ...details.sessionId && { sessionId: details.sessionId }
98
+ });
99
+ this.agentEventBus.emit("dexto:toolConfirmationRequest", event);
100
+ });
101
+ }
102
+ /**
103
+ * Handle confirmation response from external handlers
104
+ */
105
+ async handleConfirmationResponse(response) {
106
+ const pending = this.pendingConfirmations.get(response.executionId);
107
+ if (!pending) {
108
+ import_logger.logger.warn(
109
+ `Received toolConfirmationResponse for unknown executionId ${response.executionId}`
110
+ );
111
+ return;
112
+ }
113
+ this.pendingConfirmations.delete(response.executionId);
114
+ if (response.approved && response.rememberChoice) {
115
+ await this.allowedToolsProvider.allowTool(pending.toolName, response.sessionId);
116
+ import_logger.logger.info(
117
+ `Tool '${pending.toolName}' added to allowed tools for session '${response.sessionId ?? "global"}' (remember choice selected)`
118
+ );
119
+ }
120
+ import_logger.logger.info(
121
+ `Tool confirmation ${response.approved ? "approved" : "denied"} for ${pending.toolName}, executionId: ${response.executionId}, sessionId: ${response.sessionId ?? "global"}`
122
+ );
123
+ pending.resolve(response.approved);
124
+ }
125
+ /**
126
+ * Get list of pending confirmation requests
127
+ */
128
+ getPendingConfirmations() {
129
+ return Array.from(this.pendingConfirmations.keys());
130
+ }
131
+ /**
132
+ * Cancel a pending confirmation request
133
+ */
134
+ cancelConfirmation(executionId) {
135
+ const pending = this.pendingConfirmations.get(executionId);
136
+ if (pending) {
137
+ pending.reject(
138
+ import_errors.ToolError.confirmationCancelled(pending.toolName, "individual request cancelled")
139
+ );
140
+ this.pendingConfirmations.delete(executionId);
141
+ }
142
+ }
143
+ /**
144
+ * Cancel all pending confirmation requests
145
+ */
146
+ cancelAllConfirmations() {
147
+ for (const [_executionId, pending] of this.pendingConfirmations) {
148
+ pending.reject(
149
+ import_errors.ToolError.confirmationCancelled(pending.toolName, "all requests cancelled")
150
+ );
151
+ }
152
+ this.pendingConfirmations.clear();
153
+ }
154
+ }
155
+ // Annotate the CommonJS export names for ESM import in node:
156
+ 0 && (module.exports = {
157
+ EventBasedConfirmationProvider
158
+ });
@@ -0,0 +1,41 @@
1
+ import { ToolConfirmationProvider, ToolExecutionDetails, ToolConfirmationResponse } from './types.cjs';
2
+ import { IAllowedToolsProvider } from './allowed-tools-provider/types.cjs';
3
+ import { AgentEventBus } from '../../events/index.cjs';
4
+ import 'events';
5
+ import '../../llm/types.cjs';
6
+ import '../../agent/schemas.cjs';
7
+ import 'zod';
8
+
9
+ /**
10
+ * Event-based tool confirmation provider that uses the official AgentEventBus
11
+ * to emit events for confirmation requests and wait for responses.
12
+ * This decouples the core logic from UI-specific implementations.
13
+ */
14
+ declare class EventBasedConfirmationProvider implements ToolConfirmationProvider {
15
+ allowedToolsProvider: IAllowedToolsProvider;
16
+ private pendingConfirmations;
17
+ private confirmationTimeout;
18
+ private agentEventBus;
19
+ constructor(allowedToolsProvider: IAllowedToolsProvider, agentEventBus: AgentEventBus, options: {
20
+ confirmationTimeout: number;
21
+ });
22
+ requestConfirmation(details: ToolExecutionDetails): Promise<boolean>;
23
+ /**
24
+ * Handle confirmation response from external handlers
25
+ */
26
+ handleConfirmationResponse(response: ToolConfirmationResponse): Promise<void>;
27
+ /**
28
+ * Get list of pending confirmation requests
29
+ */
30
+ getPendingConfirmations(): string[];
31
+ /**
32
+ * Cancel a pending confirmation request
33
+ */
34
+ cancelConfirmation(executionId: string): void;
35
+ /**
36
+ * Cancel all pending confirmation requests
37
+ */
38
+ cancelAllConfirmations(): void;
39
+ }
40
+
41
+ export { EventBasedConfirmationProvider };
@@ -0,0 +1,41 @@
1
+ import { ToolConfirmationProvider, ToolExecutionDetails, ToolConfirmationResponse } from './types.js';
2
+ import { IAllowedToolsProvider } from './allowed-tools-provider/types.js';
3
+ import { AgentEventBus } from '../../events/index.js';
4
+ import 'events';
5
+ import '../../llm/types.js';
6
+ import '../../agent/schemas.js';
7
+ import 'zod';
8
+
9
+ /**
10
+ * Event-based tool confirmation provider that uses the official AgentEventBus
11
+ * to emit events for confirmation requests and wait for responses.
12
+ * This decouples the core logic from UI-specific implementations.
13
+ */
14
+ declare class EventBasedConfirmationProvider implements ToolConfirmationProvider {
15
+ allowedToolsProvider: IAllowedToolsProvider;
16
+ private pendingConfirmations;
17
+ private confirmationTimeout;
18
+ private agentEventBus;
19
+ constructor(allowedToolsProvider: IAllowedToolsProvider, agentEventBus: AgentEventBus, options: {
20
+ confirmationTimeout: number;
21
+ });
22
+ requestConfirmation(details: ToolExecutionDetails): Promise<boolean>;
23
+ /**
24
+ * Handle confirmation response from external handlers
25
+ */
26
+ handleConfirmationResponse(response: ToolConfirmationResponse): Promise<void>;
27
+ /**
28
+ * Get list of pending confirmation requests
29
+ */
30
+ getPendingConfirmations(): string[];
31
+ /**
32
+ * Cancel a pending confirmation request
33
+ */
34
+ cancelConfirmation(executionId: string): void;
35
+ /**
36
+ * Cancel all pending confirmation requests
37
+ */
38
+ cancelAllConfirmations(): void;
39
+ }
40
+
41
+ export { EventBasedConfirmationProvider };