@dexto/core 1.5.8 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/README.md +19 -8
  2. package/dist/agent/DextoAgent.cjs +293 -154
  3. package/dist/agent/DextoAgent.d.ts +83 -56
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +290 -151
  6. package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
  7. package/dist/agent/agent-options.d.ts +53 -0
  8. package/dist/agent/agent-options.d.ts.map +1 -0
  9. package/dist/agent/agentCard.cjs +1 -1
  10. package/dist/agent/errors.cjs +2 -2
  11. package/dist/agent/errors.d.ts.map +1 -1
  12. package/dist/agent/index.cjs +1 -6
  13. package/dist/agent/index.d.ts +3 -2
  14. package/dist/agent/index.d.ts.map +1 -1
  15. package/dist/agent/index.js +1 -7
  16. package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
  17. package/dist/agent/runtime-config.d.ts +53 -0
  18. package/dist/agent/runtime-config.d.ts.map +1 -0
  19. package/dist/agent/schemas.cjs +2 -104
  20. package/dist/agent/schemas.d.ts +10 -9199
  21. package/dist/agent/schemas.d.ts.map +1 -1
  22. package/dist/agent/schemas.js +1 -109
  23. package/dist/agent/state-manager.d.ts +5 -5
  24. package/dist/agent/state-manager.d.ts.map +1 -1
  25. package/dist/approval/error-codes.cjs +1 -1
  26. package/dist/approval/error-codes.d.ts +1 -1
  27. package/dist/approval/error-codes.d.ts.map +1 -1
  28. package/dist/approval/error-codes.js +1 -1
  29. package/dist/approval/errors.cjs +5 -5
  30. package/dist/approval/errors.d.ts +2 -2
  31. package/dist/approval/errors.d.ts.map +1 -1
  32. package/dist/approval/errors.js +5 -5
  33. package/dist/approval/index.cjs +8 -8
  34. package/dist/approval/index.d.ts +2 -2
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +8 -8
  37. package/dist/approval/manager.cjs +77 -57
  38. package/dist/approval/manager.d.ts +41 -43
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +75 -55
  41. package/dist/approval/schemas.cjs +26 -25
  42. package/dist/approval/schemas.d.ts +35 -15
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +22 -21
  45. package/dist/approval/types.cjs +1 -1
  46. package/dist/approval/types.d.ts +14 -14
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +1 -1
  49. package/dist/context/compaction/index.cjs +2 -23
  50. package/dist/context/compaction/index.d.ts +1 -7
  51. package/dist/context/compaction/index.d.ts.map +1 -1
  52. package/dist/context/compaction/index.js +1 -16
  53. package/dist/context/compaction/strategies/noop.cjs +19 -1
  54. package/dist/context/compaction/strategies/noop.d.ts +13 -3
  55. package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
  56. package/dist/context/compaction/strategies/noop.js +19 -1
  57. package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
  58. package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
  59. package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
  60. package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
  61. package/dist/context/compaction/types.d.ts +40 -8
  62. package/dist/context/compaction/types.d.ts.map +1 -1
  63. package/dist/context/manager.cjs +4 -2
  64. package/dist/context/manager.d.ts +4 -3
  65. package/dist/context/manager.d.ts.map +1 -1
  66. package/dist/context/manager.js +4 -2
  67. package/dist/context/types.d.ts +2 -0
  68. package/dist/context/types.d.ts.map +1 -1
  69. package/dist/context/utils.cjs +2 -2
  70. package/dist/context/utils.d.ts +14 -14
  71. package/dist/context/utils.d.ts.map +1 -1
  72. package/dist/errors/result-bridge.d.ts +2 -2
  73. package/dist/errors/result-bridge.d.ts.map +1 -1
  74. package/dist/errors/types.cjs +1 -1
  75. package/dist/errors/types.d.ts +3 -3
  76. package/dist/errors/types.d.ts.map +1 -1
  77. package/dist/errors/types.js +1 -1
  78. package/dist/events/index.cjs +11 -1
  79. package/dist/events/index.d.ts +43 -7
  80. package/dist/events/index.d.ts.map +1 -1
  81. package/dist/events/index.js +11 -1
  82. package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
  83. package/dist/hooks/builtins/content-policy.d.ts +24 -0
  84. package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
  85. package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
  86. package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
  87. package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
  88. package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
  89. package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
  90. package/dist/hooks/error-codes.cjs +43 -0
  91. package/dist/hooks/error-codes.d.ts +34 -0
  92. package/dist/hooks/error-codes.d.ts.map +1 -0
  93. package/dist/hooks/error-codes.js +20 -0
  94. package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
  95. package/dist/hooks/index.d.ts +14 -0
  96. package/dist/hooks/index.d.ts.map +1 -0
  97. package/dist/hooks/index.js +11 -0
  98. package/dist/hooks/manager.cjs +354 -0
  99. package/dist/hooks/manager.d.ts +103 -0
  100. package/dist/hooks/manager.d.ts.map +1 -0
  101. package/dist/hooks/manager.js +331 -0
  102. package/dist/{plugins → hooks}/types.d.ts +36 -34
  103. package/dist/hooks/types.d.ts.map +1 -0
  104. package/dist/index.browser.cjs +13 -12
  105. package/dist/index.browser.d.ts +5 -5
  106. package/dist/index.browser.d.ts.map +1 -1
  107. package/dist/index.browser.js +8 -7
  108. package/dist/index.cjs +5 -7
  109. package/dist/index.d.ts +2 -3
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +2 -3
  112. package/dist/llm/errors.cjs +1 -1
  113. package/dist/llm/executor/stream-processor.cjs +131 -11
  114. package/dist/llm/executor/stream-processor.d.ts +7 -5
  115. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  116. package/dist/llm/executor/stream-processor.js +131 -11
  117. package/dist/llm/executor/turn-executor.cjs +49 -54
  118. package/dist/llm/executor/turn-executor.d.ts +7 -8
  119. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  120. package/dist/llm/executor/turn-executor.js +49 -54
  121. package/dist/llm/formatters/vercel.cjs +2 -2
  122. package/dist/llm/formatters/vercel.d.ts +2 -2
  123. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  124. package/dist/llm/providers/local/schemas.d.ts +10 -10
  125. package/dist/llm/registry/auto-update.d.ts +2 -2
  126. package/dist/llm/registry/auto-update.d.ts.map +1 -1
  127. package/dist/llm/registry/index.d.ts +3 -3
  128. package/dist/llm/registry/index.d.ts.map +1 -1
  129. package/dist/llm/resolver.cjs +2 -2
  130. package/dist/llm/resolver.d.ts +4 -4
  131. package/dist/llm/resolver.d.ts.map +1 -1
  132. package/dist/llm/schemas.cjs +67 -104
  133. package/dist/llm/schemas.d.ts +6 -145
  134. package/dist/llm/schemas.d.ts.map +1 -1
  135. package/dist/llm/schemas.js +64 -101
  136. package/dist/llm/services/factory.cjs +2 -3
  137. package/dist/llm/services/factory.d.ts +3 -4
  138. package/dist/llm/services/factory.d.ts.map +1 -1
  139. package/dist/llm/services/factory.js +2 -3
  140. package/dist/llm/services/vercel.cjs +7 -14
  141. package/dist/llm/services/vercel.d.ts +6 -7
  142. package/dist/llm/services/vercel.d.ts.map +1 -1
  143. package/dist/llm/services/vercel.js +7 -14
  144. package/dist/llm/validation.cjs +1 -1
  145. package/dist/llm/validation.d.ts +2 -2
  146. package/dist/llm/validation.d.ts.map +1 -1
  147. package/dist/logger/browser.cjs +4 -4
  148. package/dist/logger/browser.d.ts +4 -4
  149. package/dist/logger/browser.d.ts.map +1 -1
  150. package/dist/logger/browser.js +3 -3
  151. package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
  152. package/dist/logger/default-logger-factory.d.ts +301 -0
  153. package/dist/logger/default-logger-factory.d.ts.map +1 -0
  154. package/dist/logger/default-logger-factory.js +18 -0
  155. package/dist/logger/factory.d.ts +2 -2
  156. package/dist/logger/factory.d.ts.map +1 -1
  157. package/dist/logger/index.cjs +7 -2
  158. package/dist/logger/index.d.ts +5 -3
  159. package/dist/logger/index.d.ts.map +1 -1
  160. package/dist/logger/index.js +8 -2
  161. package/dist/logger/logger.cjs +4 -4
  162. package/dist/logger/logger.d.ts +4 -4
  163. package/dist/logger/logger.d.ts.map +1 -1
  164. package/dist/logger/logger.js +3 -3
  165. package/dist/logger/v2/dexto-logger.d.ts +3 -3
  166. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  167. package/dist/logger/v2/schemas.d.ts +12 -12
  168. package/dist/logger/v2/test-utils.d.ts +5 -5
  169. package/dist/logger/v2/test-utils.d.ts.map +1 -1
  170. package/dist/logger/v2/transport-factory.d.ts +3 -3
  171. package/dist/logger/v2/transport-factory.d.ts.map +1 -1
  172. package/dist/logger/v2/transports/console-transport.d.ts +2 -2
  173. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
  174. package/dist/logger/v2/transports/file-transport.d.ts +2 -2
  175. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
  176. package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
  177. package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
  178. package/dist/logger/v2/types.cjs +1 -1
  179. package/dist/logger/v2/types.d.ts +8 -8
  180. package/dist/logger/v2/types.d.ts.map +1 -1
  181. package/dist/logger/v2/types.js +1 -1
  182. package/dist/mcp/errors.cjs +2 -2
  183. package/dist/mcp/errors.d.ts.map +1 -1
  184. package/dist/mcp/manager.cjs +16 -11
  185. package/dist/mcp/manager.d.ts +16 -13
  186. package/dist/mcp/manager.d.ts.map +1 -1
  187. package/dist/mcp/manager.js +17 -12
  188. package/dist/mcp/mcp-client.cjs +25 -20
  189. package/dist/mcp/mcp-client.d.ts +5 -5
  190. package/dist/mcp/mcp-client.d.ts.map +1 -1
  191. package/dist/mcp/mcp-client.js +20 -15
  192. package/dist/mcp/resolver.cjs +1 -1
  193. package/dist/mcp/schemas.cjs +5 -5
  194. package/dist/mcp/schemas.d.ts +4 -4
  195. package/dist/mcp/schemas.js +2 -2
  196. package/dist/mcp/types.d.ts +7 -7
  197. package/dist/mcp/types.d.ts.map +1 -1
  198. package/dist/memory/manager.d.ts +2 -2
  199. package/dist/memory/manager.d.ts.map +1 -1
  200. package/dist/memory/schemas.d.ts +2 -2
  201. package/dist/prompts/errors.cjs +3 -3
  202. package/dist/prompts/errors.d.ts.map +1 -1
  203. package/dist/prompts/prompt-manager.d.ts +3 -3
  204. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  205. package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
  206. package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
  207. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  208. package/dist/prompts/providers/config-prompt-provider.js +15 -29
  209. package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
  210. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  211. package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
  212. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  213. package/dist/prompts/schemas.d.ts +4 -4
  214. package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
  215. package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
  216. package/dist/resources/agent-resources-provider.d.ts.map +1 -0
  217. package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
  218. package/dist/resources/errors.cjs +2 -2
  219. package/dist/resources/errors.d.ts.map +1 -1
  220. package/dist/resources/handlers/blob-handler.d.ts +2 -2
  221. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  222. package/dist/resources/handlers/factory.d.ts +3 -3
  223. package/dist/resources/handlers/factory.d.ts.map +1 -1
  224. package/dist/resources/handlers/filesystem-handler.d.ts +2 -2
  225. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  226. package/dist/resources/index.cjs +7 -9
  227. package/dist/resources/index.d.ts +3 -3
  228. package/dist/resources/index.d.ts.map +1 -1
  229. package/dist/resources/index.js +5 -10
  230. package/dist/resources/manager.cjs +77 -74
  231. package/dist/resources/manager.d.ts +16 -7
  232. package/dist/resources/manager.d.ts.map +1 -1
  233. package/dist/resources/manager.js +77 -74
  234. package/dist/resources/schemas.cjs +6 -26
  235. package/dist/resources/schemas.d.ts +8 -100
  236. package/dist/resources/schemas.d.ts.map +1 -1
  237. package/dist/resources/schemas.js +4 -23
  238. package/dist/search/search-service.d.ts +2 -2
  239. package/dist/search/search-service.d.ts.map +1 -1
  240. package/dist/session/chat-session.cjs +15 -25
  241. package/dist/session/chat-session.d.ts +7 -5
  242. package/dist/session/chat-session.d.ts.map +1 -1
  243. package/dist/session/chat-session.js +16 -26
  244. package/dist/session/errors.cjs +2 -2
  245. package/dist/session/errors.d.ts.map +1 -1
  246. package/dist/session/history/database.cjs +1 -1
  247. package/dist/session/history/database.d.ts +4 -4
  248. package/dist/session/history/database.d.ts.map +1 -1
  249. package/dist/session/history/factory.d.ts +3 -3
  250. package/dist/session/history/factory.d.ts.map +1 -1
  251. package/dist/session/history/memory.d.ts +4 -4
  252. package/dist/session/history/memory.d.ts.map +1 -1
  253. package/dist/session/history/types.d.ts +2 -2
  254. package/dist/session/history/types.d.ts.map +1 -1
  255. package/dist/session/index.cjs +3 -0
  256. package/dist/session/index.d.ts +2 -0
  257. package/dist/session/index.d.ts.map +1 -1
  258. package/dist/session/index.js +2 -0
  259. package/dist/session/message-queue.d.ts +2 -2
  260. package/dist/session/message-queue.d.ts.map +1 -1
  261. package/dist/session/session-manager.cjs +67 -9
  262. package/dist/session/session-manager.d.ts +46 -7
  263. package/dist/session/session-manager.d.ts.map +1 -1
  264. package/dist/session/session-manager.js +67 -9
  265. package/dist/session/title-generator.cjs +2 -2
  266. package/dist/session/title-generator.d.ts +2 -2
  267. package/dist/session/title-generator.d.ts.map +1 -1
  268. package/dist/storage/blob/index.cjs +0 -40
  269. package/dist/storage/blob/index.d.ts +2 -44
  270. package/dist/storage/blob/index.d.ts.map +1 -1
  271. package/dist/storage/blob/index.js +0 -30
  272. package/dist/storage/cache/index.cjs +0 -37
  273. package/dist/storage/cache/index.d.ts +0 -42
  274. package/dist/storage/cache/index.d.ts.map +1 -1
  275. package/dist/storage/cache/index.js +0 -28
  276. package/dist/storage/database/index.cjs +0 -42
  277. package/dist/storage/database/index.d.ts +0 -43
  278. package/dist/storage/database/index.d.ts.map +1 -1
  279. package/dist/storage/database/index.js +0 -37
  280. package/dist/storage/error-codes.cjs +1 -6
  281. package/dist/storage/error-codes.d.ts +2 -7
  282. package/dist/storage/error-codes.d.ts.map +1 -1
  283. package/dist/storage/error-codes.js +1 -6
  284. package/dist/storage/errors.cjs +18 -82
  285. package/dist/storage/errors.d.ts +4 -24
  286. package/dist/storage/errors.d.ts.map +1 -1
  287. package/dist/storage/errors.js +16 -80
  288. package/dist/storage/index.cjs +8 -69
  289. package/dist/storage/index.d.ts +11 -66
  290. package/dist/storage/index.d.ts.map +1 -1
  291. package/dist/storage/index.js +6 -50
  292. package/dist/storage/storage-manager.cjs +9 -25
  293. package/dist/storage/storage-manager.d.ts +11 -15
  294. package/dist/storage/storage-manager.d.ts.map +1 -1
  295. package/dist/storage/storage-manager.js +8 -23
  296. package/dist/storage/types.d.ts +0 -1
  297. package/dist/storage/types.d.ts.map +1 -1
  298. package/dist/systemPrompt/contributors.d.ts +4 -4
  299. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  300. package/dist/systemPrompt/errors.cjs +2 -2
  301. package/dist/systemPrompt/errors.d.ts.map +1 -1
  302. package/dist/systemPrompt/manager.cjs +1 -5
  303. package/dist/systemPrompt/manager.d.ts +2 -3
  304. package/dist/systemPrompt/manager.d.ts.map +1 -1
  305. package/dist/systemPrompt/manager.js +1 -5
  306. package/dist/telemetry/index.cjs +3 -0
  307. package/dist/telemetry/index.d.ts +2 -0
  308. package/dist/telemetry/index.d.ts.map +1 -1
  309. package/dist/telemetry/index.js +2 -0
  310. package/dist/telemetry/utils.d.ts +4 -4
  311. package/dist/telemetry/utils.d.ts.map +1 -1
  312. package/dist/test-utils/in-memory-storage.cjs +288 -0
  313. package/dist/test-utils/in-memory-storage.js +252 -0
  314. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
  315. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  316. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
  317. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
  318. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
  319. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  320. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
  321. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
  322. package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
  323. package/dist/tools/define-tool.d.ts +11 -0
  324. package/dist/tools/define-tool.d.ts.map +1 -0
  325. package/dist/tools/define-tool.js +7 -0
  326. package/dist/tools/error-codes.cjs +2 -2
  327. package/dist/tools/error-codes.d.ts +2 -2
  328. package/dist/tools/error-codes.d.ts.map +1 -1
  329. package/dist/tools/error-codes.js +2 -2
  330. package/dist/tools/errors.cjs +11 -23
  331. package/dist/tools/errors.d.ts +4 -10
  332. package/dist/tools/errors.d.ts.map +1 -1
  333. package/dist/tools/errors.js +9 -21
  334. package/dist/tools/index.cjs +3 -8
  335. package/dist/tools/index.d.ts +2 -4
  336. package/dist/tools/index.d.ts.map +1 -1
  337. package/dist/tools/index.js +2 -7
  338. package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
  339. package/dist/tools/pattern-utils.d.ts +20 -0
  340. package/dist/tools/pattern-utils.d.ts.map +1 -0
  341. package/dist/tools/pattern-utils.js +10 -0
  342. package/dist/tools/schemas.cjs +14 -40
  343. package/dist/tools/schemas.d.ts +6 -50
  344. package/dist/tools/schemas.d.ts.map +1 -1
  345. package/dist/tools/schemas.js +11 -32
  346. package/dist/tools/tool-call-metadata.cjs +3 -3
  347. package/dist/tools/tool-call-metadata.d.ts +1 -1
  348. package/dist/tools/tool-call-metadata.d.ts.map +1 -1
  349. package/dist/tools/tool-call-metadata.js +3 -3
  350. package/dist/tools/tool-manager.cjs +376 -327
  351. package/dist/tools/tool-manager.d.ts +63 -80
  352. package/dist/tools/tool-manager.d.ts.map +1 -1
  353. package/dist/tools/tool-manager.js +376 -331
  354. package/dist/tools/types.d.ts +112 -13
  355. package/dist/tools/types.d.ts.map +1 -1
  356. package/dist/utils/error-conversion.d.ts +2 -2
  357. package/dist/utils/error-conversion.d.ts.map +1 -1
  358. package/dist/utils/path.d.ts +2 -2
  359. package/dist/utils/path.d.ts.map +1 -1
  360. package/dist/utils/result.cjs +1 -1
  361. package/dist/utils/result.d.ts.map +1 -1
  362. package/dist/utils/schema.cjs +9 -5
  363. package/dist/utils/schema.d.ts +4 -2
  364. package/dist/utils/schema.d.ts.map +1 -1
  365. package/dist/utils/schema.js +9 -5
  366. package/dist/utils/service-initializer.cjs +51 -56
  367. package/dist/utils/service-initializer.d.ts +17 -14
  368. package/dist/utils/service-initializer.d.ts.map +1 -1
  369. package/dist/utils/service-initializer.js +51 -56
  370. package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
  371. package/dist/workspace/error-codes.d.ts +5 -0
  372. package/dist/workspace/error-codes.d.ts.map +1 -0
  373. package/dist/workspace/error-codes.js +7 -0
  374. package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
  375. package/dist/workspace/errors.d.ts +5 -0
  376. package/dist/workspace/errors.d.ts.map +1 -0
  377. package/dist/workspace/errors.js +21 -0
  378. package/dist/{image → workspace}/index.cjs +12 -10
  379. package/dist/workspace/index.d.ts +5 -0
  380. package/dist/workspace/index.d.ts.map +1 -0
  381. package/dist/workspace/index.js +9 -0
  382. package/dist/workspace/manager.cjs +113 -0
  383. package/dist/workspace/manager.d.ts +18 -0
  384. package/dist/workspace/manager.d.ts.map +1 -0
  385. package/dist/workspace/manager.js +90 -0
  386. package/dist/workspace/types.d.ts +14 -0
  387. package/dist/workspace/types.d.ts.map +1 -0
  388. package/package.json +2 -2
  389. package/dist/context/compaction/factory.cjs +0 -57
  390. package/dist/context/compaction/factory.d.ts +0 -17
  391. package/dist/context/compaction/factory.d.ts.map +0 -1
  392. package/dist/context/compaction/factory.js +0 -34
  393. package/dist/context/compaction/provider.d.ts +0 -48
  394. package/dist/context/compaction/provider.d.ts.map +0 -1
  395. package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
  396. package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
  397. package/dist/context/compaction/providers/noop-provider.js +0 -24
  398. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
  399. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
  400. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
  401. package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
  402. package/dist/context/compaction/registry.cjs +0 -39
  403. package/dist/context/compaction/registry.d.ts +0 -19
  404. package/dist/context/compaction/registry.d.ts.map +0 -1
  405. package/dist/context/compaction/registry.js +0 -16
  406. package/dist/context/compaction/schemas.cjs +0 -58
  407. package/dist/context/compaction/schemas.d.ts +0 -69
  408. package/dist/context/compaction/schemas.d.ts.map +0 -1
  409. package/dist/context/compaction/schemas.js +0 -34
  410. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
  411. package/dist/image/define-image.cjs +0 -146
  412. package/dist/image/define-image.d.ts +0 -71
  413. package/dist/image/define-image.d.ts.map +0 -1
  414. package/dist/image/define-image.js +0 -121
  415. package/dist/image/index.d.ts +0 -53
  416. package/dist/image/index.d.ts.map +0 -1
  417. package/dist/image/index.js +0 -7
  418. package/dist/image/types.d.ts +0 -246
  419. package/dist/image/types.d.ts.map +0 -1
  420. package/dist/llm/services/test-utils.integration.cjs +0 -237
  421. package/dist/llm/services/test-utils.integration.d.ts +0 -48
  422. package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
  423. package/dist/llm/services/test-utils.integration.js +0 -214
  424. package/dist/plugins/builtins/content-policy.d.ts +0 -26
  425. package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
  426. package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
  427. package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
  428. package/dist/plugins/error-codes.cjs +0 -43
  429. package/dist/plugins/error-codes.d.ts +0 -34
  430. package/dist/plugins/error-codes.d.ts.map +0 -1
  431. package/dist/plugins/error-codes.js +0 -20
  432. package/dist/plugins/index.cjs +0 -61
  433. package/dist/plugins/index.d.ts +0 -21
  434. package/dist/plugins/index.d.ts.map +0 -1
  435. package/dist/plugins/index.js +0 -30
  436. package/dist/plugins/loader.cjs +0 -171
  437. package/dist/plugins/loader.d.ts +0 -30
  438. package/dist/plugins/loader.d.ts.map +0 -1
  439. package/dist/plugins/loader.js +0 -145
  440. package/dist/plugins/manager.cjs +0 -473
  441. package/dist/plugins/manager.d.ts +0 -106
  442. package/dist/plugins/manager.d.ts.map +0 -1
  443. package/dist/plugins/manager.js +0 -450
  444. package/dist/plugins/registrations/builtins.cjs +0 -51
  445. package/dist/plugins/registrations/builtins.d.ts +0 -17
  446. package/dist/plugins/registrations/builtins.d.ts.map +0 -1
  447. package/dist/plugins/registrations/builtins.js +0 -28
  448. package/dist/plugins/registry.cjs +0 -63
  449. package/dist/plugins/registry.d.ts +0 -101
  450. package/dist/plugins/registry.d.ts.map +0 -1
  451. package/dist/plugins/registry.js +0 -39
  452. package/dist/plugins/schemas.cjs +0 -73
  453. package/dist/plugins/schemas.d.ts +0 -195
  454. package/dist/plugins/schemas.d.ts.map +0 -1
  455. package/dist/plugins/schemas.js +0 -47
  456. package/dist/plugins/types.d.ts.map +0 -1
  457. package/dist/providers/base-registry.cjs +0 -147
  458. package/dist/providers/base-registry.d.ts +0 -147
  459. package/dist/providers/base-registry.d.ts.map +0 -1
  460. package/dist/providers/base-registry.js +0 -123
  461. package/dist/providers/discovery.cjs +0 -109
  462. package/dist/providers/discovery.d.ts +0 -96
  463. package/dist/providers/discovery.d.ts.map +0 -1
  464. package/dist/providers/discovery.js +0 -84
  465. package/dist/providers/index.cjs +0 -24
  466. package/dist/providers/index.d.ts +0 -32
  467. package/dist/providers/index.d.ts.map +0 -1
  468. package/dist/providers/index.js +0 -2
  469. package/dist/resources/internal-provider.d.ts.map +0 -1
  470. package/dist/storage/blob/factory.d.ts +0 -37
  471. package/dist/storage/blob/factory.d.ts.map +0 -1
  472. package/dist/storage/blob/factory.js +0 -15
  473. package/dist/storage/blob/local-blob-store.cjs +0 -496
  474. package/dist/storage/blob/local-blob-store.d.ts +0 -58
  475. package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
  476. package/dist/storage/blob/local-blob-store.js +0 -463
  477. package/dist/storage/blob/memory-blob-store.cjs +0 -326
  478. package/dist/storage/blob/memory-blob-store.d.ts +0 -66
  479. package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
  480. package/dist/storage/blob/memory-blob-store.js +0 -303
  481. package/dist/storage/blob/provider.d.ts +0 -50
  482. package/dist/storage/blob/provider.d.ts.map +0 -1
  483. package/dist/storage/blob/providers/index.d.ts +0 -8
  484. package/dist/storage/blob/providers/index.d.ts.map +0 -1
  485. package/dist/storage/blob/providers/index.js +0 -7
  486. package/dist/storage/blob/providers/local.cjs +0 -39
  487. package/dist/storage/blob/providers/local.d.ts +0 -17
  488. package/dist/storage/blob/providers/local.d.ts.map +0 -1
  489. package/dist/storage/blob/providers/local.js +0 -16
  490. package/dist/storage/blob/providers/memory.cjs +0 -39
  491. package/dist/storage/blob/providers/memory.d.ts +0 -17
  492. package/dist/storage/blob/providers/memory.d.ts.map +0 -1
  493. package/dist/storage/blob/providers/memory.js +0 -16
  494. package/dist/storage/blob/registry.cjs +0 -50
  495. package/dist/storage/blob/registry.d.ts +0 -42
  496. package/dist/storage/blob/registry.d.ts.map +0 -1
  497. package/dist/storage/blob/registry.js +0 -26
  498. package/dist/storage/blob/schemas.cjs +0 -52
  499. package/dist/storage/blob/schemas.d.ts +0 -85
  500. package/dist/storage/blob/schemas.d.ts.map +0 -1
  501. package/dist/storage/blob/schemas.js +0 -26
  502. package/dist/storage/cache/factory.cjs +0 -38
  503. package/dist/storage/cache/factory.d.ts +0 -37
  504. package/dist/storage/cache/factory.d.ts.map +0 -1
  505. package/dist/storage/cache/factory.js +0 -15
  506. package/dist/storage/cache/memory-cache-store.cjs +0 -107
  507. package/dist/storage/cache/memory-cache-store.d.ts +0 -26
  508. package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
  509. package/dist/storage/cache/memory-cache-store.js +0 -84
  510. package/dist/storage/cache/provider.cjs +0 -16
  511. package/dist/storage/cache/provider.d.ts +0 -56
  512. package/dist/storage/cache/provider.d.ts.map +0 -1
  513. package/dist/storage/cache/provider.js +0 -0
  514. package/dist/storage/cache/providers/index.d.ts +0 -8
  515. package/dist/storage/cache/providers/index.d.ts.map +0 -1
  516. package/dist/storage/cache/providers/index.js +0 -7
  517. package/dist/storage/cache/providers/memory.d.ts +0 -17
  518. package/dist/storage/cache/providers/memory.d.ts.map +0 -1
  519. package/dist/storage/cache/providers/memory.js +0 -17
  520. package/dist/storage/cache/providers/redis.cjs +0 -66
  521. package/dist/storage/cache/providers/redis.d.ts +0 -20
  522. package/dist/storage/cache/providers/redis.d.ts.map +0 -1
  523. package/dist/storage/cache/providers/redis.js +0 -33
  524. package/dist/storage/cache/redis-store.cjs +0 -173
  525. package/dist/storage/cache/redis-store.d.ts +0 -32
  526. package/dist/storage/cache/redis-store.d.ts.map +0 -1
  527. package/dist/storage/cache/redis-store.js +0 -150
  528. package/dist/storage/cache/registry.cjs +0 -50
  529. package/dist/storage/cache/registry.d.ts +0 -42
  530. package/dist/storage/cache/registry.d.ts.map +0 -1
  531. package/dist/storage/cache/registry.js +0 -26
  532. package/dist/storage/cache/schemas.cjs +0 -81
  533. package/dist/storage/cache/schemas.d.ts +0 -150
  534. package/dist/storage/cache/schemas.d.ts.map +0 -1
  535. package/dist/storage/cache/schemas.js +0 -55
  536. package/dist/storage/database/factory.cjs +0 -38
  537. package/dist/storage/database/factory.d.ts +0 -39
  538. package/dist/storage/database/factory.d.ts.map +0 -1
  539. package/dist/storage/database/factory.js +0 -15
  540. package/dist/storage/database/memory-database-store.cjs +0 -122
  541. package/dist/storage/database/memory-database-store.d.ts +0 -29
  542. package/dist/storage/database/memory-database-store.d.ts.map +0 -1
  543. package/dist/storage/database/memory-database-store.js +0 -99
  544. package/dist/storage/database/postgres-store.cjs +0 -342
  545. package/dist/storage/database/postgres-store.d.ts +0 -55
  546. package/dist/storage/database/postgres-store.d.ts.map +0 -1
  547. package/dist/storage/database/postgres-store.js +0 -319
  548. package/dist/storage/database/provider.cjs +0 -16
  549. package/dist/storage/database/provider.d.ts +0 -56
  550. package/dist/storage/database/provider.d.ts.map +0 -1
  551. package/dist/storage/database/provider.js +0 -0
  552. package/dist/storage/database/providers/index.cjs +0 -34
  553. package/dist/storage/database/providers/index.d.ts +0 -9
  554. package/dist/storage/database/providers/index.d.ts.map +0 -1
  555. package/dist/storage/database/providers/index.js +0 -9
  556. package/dist/storage/database/providers/memory.cjs +0 -40
  557. package/dist/storage/database/providers/memory.d.ts +0 -16
  558. package/dist/storage/database/providers/memory.d.ts.map +0 -1
  559. package/dist/storage/database/providers/memory.js +0 -17
  560. package/dist/storage/database/providers/postgres.cjs +0 -62
  561. package/dist/storage/database/providers/postgres.d.ts +0 -19
  562. package/dist/storage/database/providers/postgres.d.ts.map +0 -1
  563. package/dist/storage/database/providers/postgres.js +0 -29
  564. package/dist/storage/database/providers/sqlite.cjs +0 -66
  565. package/dist/storage/database/providers/sqlite.d.ts +0 -20
  566. package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
  567. package/dist/storage/database/providers/sqlite.js +0 -33
  568. package/dist/storage/database/registry.cjs +0 -50
  569. package/dist/storage/database/registry.d.ts +0 -42
  570. package/dist/storage/database/registry.d.ts.map +0 -1
  571. package/dist/storage/database/registry.js +0 -26
  572. package/dist/storage/database/schemas.cjs +0 -97
  573. package/dist/storage/database/schemas.d.ts +0 -226
  574. package/dist/storage/database/schemas.d.ts.map +0 -1
  575. package/dist/storage/database/schemas.js +0 -70
  576. package/dist/storage/database/sqlite-store.cjs +0 -270
  577. package/dist/storage/database/sqlite-store.d.ts +0 -33
  578. package/dist/storage/database/sqlite-store.d.ts.map +0 -1
  579. package/dist/storage/database/sqlite-store.js +0 -237
  580. package/dist/storage/schemas.cjs +0 -57
  581. package/dist/storage/schemas.d.ts +0 -347
  582. package/dist/storage/schemas.d.ts.map +0 -1
  583. package/dist/storage/schemas.js +0 -37
  584. package/dist/tools/bash-pattern-utils.cjs +0 -91
  585. package/dist/tools/bash-pattern-utils.d.ts +0 -58
  586. package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
  587. package/dist/tools/bash-pattern-utils.js +0 -64
  588. package/dist/tools/custom-tool-registry.cjs +0 -64
  589. package/dist/tools/custom-tool-registry.d.ts +0 -126
  590. package/dist/tools/custom-tool-registry.d.ts.map +0 -1
  591. package/dist/tools/custom-tool-registry.js +0 -40
  592. package/dist/tools/custom-tool-schema-registry.cjs +0 -164
  593. package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
  594. package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
  595. package/dist/tools/custom-tool-schema-registry.js +0 -140
  596. package/dist/tools/internal-tools/constants.d.ts +0 -12
  597. package/dist/tools/internal-tools/constants.d.ts.map +0 -1
  598. package/dist/tools/internal-tools/constants.js +0 -12
  599. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
  600. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
  601. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
  602. package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
  603. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
  604. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
  605. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
  606. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
  607. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
  608. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
  609. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
  610. package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
  611. package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
  612. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
  613. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
  614. package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
  615. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
  616. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
  617. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
  618. package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
  619. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
  620. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
  621. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
  622. package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
  623. package/dist/tools/internal-tools/index.cjs +0 -26
  624. package/dist/tools/internal-tools/index.d.ts +0 -4
  625. package/dist/tools/internal-tools/index.d.ts.map +0 -1
  626. package/dist/tools/internal-tools/index.js +0 -3
  627. package/dist/tools/internal-tools/provider.cjs +0 -324
  628. package/dist/tools/internal-tools/provider.d.ts +0 -116
  629. package/dist/tools/internal-tools/provider.d.ts.map +0 -1
  630. package/dist/tools/internal-tools/provider.js +0 -301
  631. package/dist/tools/internal-tools/registry.cjs +0 -71
  632. package/dist/tools/internal-tools/registry.d.ts +0 -91
  633. package/dist/tools/internal-tools/registry.d.ts.map +0 -1
  634. package/dist/tools/internal-tools/registry.js +0 -47
  635. /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
  636. /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
  637. /package/dist/{image → hooks}/types.cjs +0 -0
  638. /package/dist/{plugins → hooks}/types.js +0 -0
  639. /package/dist/{plugins → workspace}/types.cjs +0 -0
  640. /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
@@ -1,34 +0,0 @@
1
- import "../../../chunk-PTJYTZNU.js";
2
- import { z } from "zod";
3
- const AskUserInputSchema = z.object({
4
- question: z.string().describe("The question or prompt to display to the user"),
5
- schema: z.object({
6
- type: z.literal("object"),
7
- properties: z.record(z.unknown()),
8
- required: z.array(z.string()).optional()
9
- }).passthrough().describe(
10
- 'JSON Schema defining form fields. Use descriptive property names as labels (e.g., "favorite_team", "World Cup winner country") - NOT generic names like "q1". Use "enum" for dropdowns, "boolean" for yes/no, "number" for numeric inputs, "string" for text. Include "required" array for mandatory fields.'
11
- )
12
- }).strict();
13
- function createAskUserTool(approvalManager) {
14
- return {
15
- id: "ask_user",
16
- description: 'Collect structured input from the user through a form interface. ONLY use this tool when you need: 1) Multiple fields at once (e.g., name + email + preferences), 2) Pre-defined options/choices (use enum for dropdowns like ["small","medium","large"]), 3) Specific data types with validation (boolean for yes/no, number for quantities). DO NOT use for simple conversational questions - just ask those naturally in your response. This tool is for form-like data collection, not chat. Examples: collecting user profile info, configuration settings, or selecting from preset options.',
17
- inputSchema: AskUserInputSchema,
18
- execute: async (input, context) => {
19
- const { question, schema } = input;
20
- const elicitationRequest = {
21
- schema,
22
- prompt: question,
23
- serverName: "Dexto Agent"
24
- };
25
- if (context?.sessionId !== void 0) {
26
- elicitationRequest.sessionId = context.sessionId;
27
- }
28
- return approvalManager.getElicitationData(elicitationRequest);
29
- }
30
- };
31
- }
32
- export {
33
- createAskUserTool
34
- };
@@ -1,192 +0,0 @@
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 delegate_to_url_tool_exports = {};
20
- __export(delegate_to_url_tool_exports, {
21
- createDelegateToUrlTool: () => createDelegateToUrlTool
22
- });
23
- module.exports = __toCommonJS(delegate_to_url_tool_exports);
24
- var import_zod = require("zod");
25
- var import_errors = require("../../../errors/index.js");
26
- const DelegateToUrlInputSchema = import_zod.z.object({
27
- url: import_zod.z.string().url().describe(
28
- 'The A2A-compliant agent URL (e.g., "http://localhost:3001" or "https://agent.example.com"). The tool will automatically append the correct JSON-RPC endpoint.'
29
- ),
30
- message: import_zod.z.string().min(1).describe(
31
- "The message or task to delegate to the agent. This will be sent as natural language input."
32
- ),
33
- sessionId: import_zod.z.string().optional().describe(
34
- "Optional session ID for maintaining conversation state across multiple delegations to the same agent"
35
- ),
36
- timeout: import_zod.z.number().optional().default(3e4).describe("Request timeout in milliseconds (default: 30000)")
37
- }).strict();
38
- class SimpleA2AClient {
39
- url;
40
- timeout;
41
- constructor(url, timeout = 3e4) {
42
- this.url = url.replace(/\/$/, "");
43
- this.timeout = timeout;
44
- }
45
- /**
46
- * Send a message to the A2A agent using JSON-RPC 2.0
47
- */
48
- async sendMessage(message, sessionId) {
49
- const messageId = this.generateId();
50
- const taskId = sessionId || this.generateId();
51
- const a2aMessage = {
52
- role: "user",
53
- parts: [
54
- {
55
- kind: "text",
56
- text: message
57
- }
58
- ],
59
- messageId,
60
- taskId,
61
- contextId: taskId,
62
- kind: "message"
63
- };
64
- const rpcRequest = {
65
- jsonrpc: "2.0",
66
- id: this.generateId(),
67
- method: "message/send",
68
- params: {
69
- message: a2aMessage,
70
- configuration: {
71
- blocking: true
72
- // Wait for completion
73
- }
74
- }
75
- };
76
- const endpoints = [
77
- `${this.url}/v1/jsonrpc`,
78
- // A2A v0.3.0 JSON-RPC endpoint
79
- `${this.url}/jsonrpc`
80
- // Alternative path
81
- ];
82
- let lastError = null;
83
- for (const endpoint of endpoints) {
84
- try {
85
- const controller = new AbortController();
86
- const timeoutId = setTimeout(() => controller.abort(), this.timeout);
87
- const response = await fetch(endpoint, {
88
- method: "POST",
89
- headers: {
90
- "Content-Type": "application/json",
91
- "User-Agent": "@dexto/core"
92
- },
93
- body: JSON.stringify(rpcRequest),
94
- signal: controller.signal
95
- });
96
- clearTimeout(timeoutId);
97
- if (!response.ok) {
98
- lastError = new Error(
99
- `HTTP ${response.status}: ${response.statusText} (tried ${endpoint})`
100
- );
101
- continue;
102
- }
103
- const data = await response.json();
104
- if ("error" in data && data.error) {
105
- throw new Error(
106
- `Agent returned error: ${data.error.message || "Unknown error"}`
107
- );
108
- }
109
- if ("result" in data) {
110
- return this.extractTaskResponse(data.result);
111
- }
112
- return data;
113
- } catch (error) {
114
- if (error instanceof Error && error.name === "AbortError") {
115
- throw new import_errors.DextoRuntimeError(
116
- `Delegation timeout after ${this.timeout}ms`,
117
- import_errors.ErrorScope.TOOLS,
118
- import_errors.ErrorType.TIMEOUT,
119
- "DELEGATION_TIMEOUT"
120
- );
121
- }
122
- lastError = error instanceof Error ? error : new Error(String(error));
123
- }
124
- }
125
- throw new import_errors.DextoRuntimeError(
126
- `Failed to connect to agent at ${this.url}. Tried endpoints: ${endpoints.join(", ")}. Last error: ${lastError?.message || "Unknown error"}`,
127
- import_errors.ErrorScope.TOOLS,
128
- import_errors.ErrorType.THIRD_PARTY,
129
- "DELEGATION_FAILED"
130
- );
131
- }
132
- /**
133
- * Extract response text from A2A Task structure
134
- */
135
- extractTaskResponse(task) {
136
- if (task.history && Array.isArray(task.history)) {
137
- const agentMessages = task.history.filter((m) => m.role === "agent");
138
- if (agentMessages.length > 0) {
139
- const lastMessage = agentMessages[agentMessages.length - 1];
140
- if (lastMessage.parts && Array.isArray(lastMessage.parts)) {
141
- const textParts = lastMessage.parts.filter((p) => p.kind === "text").map((p) => p.text);
142
- if (textParts.length > 0) {
143
- return textParts.join("\n");
144
- }
145
- }
146
- }
147
- }
148
- return JSON.stringify(task, null, 2);
149
- }
150
- /**
151
- * Generate unique ID
152
- */
153
- generateId() {
154
- return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
155
- }
156
- }
157
- function createDelegateToUrlTool() {
158
- return {
159
- id: "delegate_to_url",
160
- description: 'Delegate a task to another A2A-compliant agent at a specific URL. Supports STATEFUL multi-turn conversations via sessionId parameter. USAGE: (1) First delegation: provide url + message. Tool returns a response AND a sessionId. (2) Follow-up: use the SAME sessionId to continue the conversation with that agent. The agent remembers previous context. EXAMPLE: First call {url: "http://agent:3001", message: "Analyze data X"} returns {sessionId: "xyz", response: "..."}. Second call {url: "http://agent:3001", message: "What was the top insight?", sessionId: "xyz"}. The agent will remember the first analysis and can answer specifically.',
161
- inputSchema: DelegateToUrlInputSchema,
162
- execute: async (input, _context) => {
163
- const { url, message, sessionId, timeout } = input;
164
- try {
165
- const client = new SimpleA2AClient(url, timeout);
166
- const effectiveSessionId = sessionId || `delegation-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
167
- const response = await client.sendMessage(message, effectiveSessionId);
168
- return {
169
- success: true,
170
- agentUrl: url,
171
- sessionId: effectiveSessionId,
172
- response,
173
- _hint: sessionId ? "Continued existing conversation" : "Started new conversation - use this sessionId for follow-ups"
174
- };
175
- } catch (error) {
176
- if (error instanceof import_errors.DextoRuntimeError) {
177
- throw error;
178
- }
179
- throw new import_errors.DextoRuntimeError(
180
- `Delegation failed: ${error instanceof Error ? error.message : String(error)}`,
181
- import_errors.ErrorScope.TOOLS,
182
- import_errors.ErrorType.SYSTEM,
183
- "DELEGATION_ERROR"
184
- );
185
- }
186
- }
187
- };
188
- }
189
- // Annotate the CommonJS export names for ESM import in node:
190
- 0 && (module.exports = {
191
- createDelegateToUrlTool
192
- });
@@ -1,33 +0,0 @@
1
- import { InternalTool } from '../../types.js';
2
- /**
3
- * Internal tool for agent-to-agent delegation
4
- *
5
- * Delegates tasks to other A2A-compliant agents at known URLs.
6
- * Supports stateful multi-turn conversations via sessionId parameter.
7
- *
8
- * Features:
9
- * - A2A Protocol v0.3.0 compliant (JSON-RPC 2.0 transport)
10
- * - Stateful conversations with session management
11
- * - Automatic endpoint discovery (/v1/jsonrpc, /jsonrpc)
12
- * - Configurable timeouts and error handling
13
- *
14
- * @example
15
- * ```typescript
16
- * // Single delegation
17
- * delegate_to_url({
18
- * url: "http://pdf-analyzer:3001",
19
- * message: "Extract all tables from the Q4 sales report"
20
- * })
21
- * → Returns: {sessionId: "delegation-xyz", response: "..."}
22
- *
23
- * // Multi-turn conversation (use same sessionId)
24
- * delegate_to_url({
25
- * url: "http://pdf-analyzer:3001",
26
- * message: "Which table had the highest values?",
27
- * sessionId: "delegation-xyz"
28
- * })
29
- * → Agent remembers the previous extraction and can answer specifically
30
- * ```
31
- */
32
- export declare function createDelegateToUrlTool(): InternalTool;
33
- //# sourceMappingURL=delegate-to-url-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegate-to-url-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/internal-tools/implementations/delegate-to-url-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AA8MpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,IAAI,YAAY,CA8CtD"}
@@ -1,169 +0,0 @@
1
- import "../../../chunk-PTJYTZNU.js";
2
- import { z } from "zod";
3
- import { DextoRuntimeError, ErrorScope, ErrorType } from "../../../errors/index.js";
4
- const DelegateToUrlInputSchema = z.object({
5
- url: z.string().url().describe(
6
- 'The A2A-compliant agent URL (e.g., "http://localhost:3001" or "https://agent.example.com"). The tool will automatically append the correct JSON-RPC endpoint.'
7
- ),
8
- message: z.string().min(1).describe(
9
- "The message or task to delegate to the agent. This will be sent as natural language input."
10
- ),
11
- sessionId: z.string().optional().describe(
12
- "Optional session ID for maintaining conversation state across multiple delegations to the same agent"
13
- ),
14
- timeout: z.number().optional().default(3e4).describe("Request timeout in milliseconds (default: 30000)")
15
- }).strict();
16
- class SimpleA2AClient {
17
- url;
18
- timeout;
19
- constructor(url, timeout = 3e4) {
20
- this.url = url.replace(/\/$/, "");
21
- this.timeout = timeout;
22
- }
23
- /**
24
- * Send a message to the A2A agent using JSON-RPC 2.0
25
- */
26
- async sendMessage(message, sessionId) {
27
- const messageId = this.generateId();
28
- const taskId = sessionId || this.generateId();
29
- const a2aMessage = {
30
- role: "user",
31
- parts: [
32
- {
33
- kind: "text",
34
- text: message
35
- }
36
- ],
37
- messageId,
38
- taskId,
39
- contextId: taskId,
40
- kind: "message"
41
- };
42
- const rpcRequest = {
43
- jsonrpc: "2.0",
44
- id: this.generateId(),
45
- method: "message/send",
46
- params: {
47
- message: a2aMessage,
48
- configuration: {
49
- blocking: true
50
- // Wait for completion
51
- }
52
- }
53
- };
54
- const endpoints = [
55
- `${this.url}/v1/jsonrpc`,
56
- // A2A v0.3.0 JSON-RPC endpoint
57
- `${this.url}/jsonrpc`
58
- // Alternative path
59
- ];
60
- let lastError = null;
61
- for (const endpoint of endpoints) {
62
- try {
63
- const controller = new AbortController();
64
- const timeoutId = setTimeout(() => controller.abort(), this.timeout);
65
- const response = await fetch(endpoint, {
66
- method: "POST",
67
- headers: {
68
- "Content-Type": "application/json",
69
- "User-Agent": "@dexto/core"
70
- },
71
- body: JSON.stringify(rpcRequest),
72
- signal: controller.signal
73
- });
74
- clearTimeout(timeoutId);
75
- if (!response.ok) {
76
- lastError = new Error(
77
- `HTTP ${response.status}: ${response.statusText} (tried ${endpoint})`
78
- );
79
- continue;
80
- }
81
- const data = await response.json();
82
- if ("error" in data && data.error) {
83
- throw new Error(
84
- `Agent returned error: ${data.error.message || "Unknown error"}`
85
- );
86
- }
87
- if ("result" in data) {
88
- return this.extractTaskResponse(data.result);
89
- }
90
- return data;
91
- } catch (error) {
92
- if (error instanceof Error && error.name === "AbortError") {
93
- throw new DextoRuntimeError(
94
- `Delegation timeout after ${this.timeout}ms`,
95
- ErrorScope.TOOLS,
96
- ErrorType.TIMEOUT,
97
- "DELEGATION_TIMEOUT"
98
- );
99
- }
100
- lastError = error instanceof Error ? error : new Error(String(error));
101
- }
102
- }
103
- throw new DextoRuntimeError(
104
- `Failed to connect to agent at ${this.url}. Tried endpoints: ${endpoints.join(", ")}. Last error: ${lastError?.message || "Unknown error"}`,
105
- ErrorScope.TOOLS,
106
- ErrorType.THIRD_PARTY,
107
- "DELEGATION_FAILED"
108
- );
109
- }
110
- /**
111
- * Extract response text from A2A Task structure
112
- */
113
- extractTaskResponse(task) {
114
- if (task.history && Array.isArray(task.history)) {
115
- const agentMessages = task.history.filter((m) => m.role === "agent");
116
- if (agentMessages.length > 0) {
117
- const lastMessage = agentMessages[agentMessages.length - 1];
118
- if (lastMessage.parts && Array.isArray(lastMessage.parts)) {
119
- const textParts = lastMessage.parts.filter((p) => p.kind === "text").map((p) => p.text);
120
- if (textParts.length > 0) {
121
- return textParts.join("\n");
122
- }
123
- }
124
- }
125
- }
126
- return JSON.stringify(task, null, 2);
127
- }
128
- /**
129
- * Generate unique ID
130
- */
131
- generateId() {
132
- return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
133
- }
134
- }
135
- function createDelegateToUrlTool() {
136
- return {
137
- id: "delegate_to_url",
138
- description: 'Delegate a task to another A2A-compliant agent at a specific URL. Supports STATEFUL multi-turn conversations via sessionId parameter. USAGE: (1) First delegation: provide url + message. Tool returns a response AND a sessionId. (2) Follow-up: use the SAME sessionId to continue the conversation with that agent. The agent remembers previous context. EXAMPLE: First call {url: "http://agent:3001", message: "Analyze data X"} returns {sessionId: "xyz", response: "..."}. Second call {url: "http://agent:3001", message: "What was the top insight?", sessionId: "xyz"}. The agent will remember the first analysis and can answer specifically.',
139
- inputSchema: DelegateToUrlInputSchema,
140
- execute: async (input, _context) => {
141
- const { url, message, sessionId, timeout } = input;
142
- try {
143
- const client = new SimpleA2AClient(url, timeout);
144
- const effectiveSessionId = sessionId || `delegation-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
145
- const response = await client.sendMessage(message, effectiveSessionId);
146
- return {
147
- success: true,
148
- agentUrl: url,
149
- sessionId: effectiveSessionId,
150
- response,
151
- _hint: sessionId ? "Continued existing conversation" : "Started new conversation - use this sessionId for follow-ups"
152
- };
153
- } catch (error) {
154
- if (error instanceof DextoRuntimeError) {
155
- throw error;
156
- }
157
- throw new DextoRuntimeError(
158
- `Delegation failed: ${error instanceof Error ? error.message : String(error)}`,
159
- ErrorScope.TOOLS,
160
- ErrorType.SYSTEM,
161
- "DELEGATION_ERROR"
162
- );
163
- }
164
- }
165
- };
166
- }
167
- export {
168
- createDelegateToUrlTool
169
- };
@@ -1,113 +0,0 @@
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 get_resource_tool_exports = {};
20
- __export(get_resource_tool_exports, {
21
- createGetResourceTool: () => createGetResourceTool
22
- });
23
- module.exports = __toCommonJS(get_resource_tool_exports);
24
- var import_zod = require("zod");
25
- const GetResourceInputSchema = import_zod.z.object({
26
- reference: import_zod.z.string().describe(
27
- 'The resource reference to access. Formats: "blob:abc123" (from list_resources), "resource_ref:blob:abc123" (from tool annotations)'
28
- ),
29
- format: import_zod.z.enum(["url", "metadata"]).default("url").describe(
30
- 'Output format: "url" for a shareable URL (requires remote storage like Supabase), "metadata" for resource information without loading the data'
31
- )
32
- }).strict();
33
- function createGetResourceTool(resourceManager) {
34
- return {
35
- id: "get_resource",
36
- description: 'Access a stored resource. Use format "url" to get a shareable URL for other agents or external systems (requires remote storage like Supabase). Use format "metadata" to get resource information without loading data. References can be obtained from tool result annotations or list_resources.',
37
- inputSchema: GetResourceInputSchema,
38
- execute: async (input, _context) => {
39
- const { reference, format } = input;
40
- try {
41
- const blobStore = resourceManager.getBlobStore();
42
- const storeType = blobStore.getStoreType();
43
- let blobUri = reference;
44
- if (blobUri.startsWith("resource_ref:")) {
45
- blobUri = blobUri.substring("resource_ref:".length);
46
- }
47
- if (blobUri.startsWith("@")) {
48
- blobUri = blobUri.substring(1);
49
- }
50
- if (!blobUri.startsWith("blob:")) {
51
- blobUri = `blob:${blobUri}`;
52
- }
53
- const exists = await blobStore.exists(blobUri);
54
- if (!exists) {
55
- return {
56
- success: false,
57
- error: `Resource not found: ${reference}`,
58
- _hint: "Use list_resources to see available resources"
59
- };
60
- }
61
- if (format === "metadata") {
62
- const allBlobs = await blobStore.listBlobs();
63
- const blobRef = allBlobs.find((b) => b.uri === blobUri);
64
- if (!blobRef) {
65
- return {
66
- success: false,
67
- error: `Resource metadata not found: ${reference}`,
68
- _hint: "Use list_resources to see available resources"
69
- };
70
- }
71
- return {
72
- success: true,
73
- format: "metadata",
74
- reference: blobUri,
75
- mimeType: blobRef.metadata.mimeType,
76
- size: blobRef.metadata.size,
77
- filename: blobRef.metadata.originalName,
78
- source: blobRef.metadata.source,
79
- createdAt: blobRef.metadata.createdAt.toISOString()
80
- };
81
- }
82
- if (storeType === "memory" || storeType === "local") {
83
- return {
84
- success: false,
85
- error: "URL generation not available with local/memory storage",
86
- _hint: "Configure remote storage (e.g., Supabase) in your agent config to enable URL sharing. Local storage cannot generate shareable URLs.",
87
- storeType
88
- };
89
- }
90
- const blob = await blobStore.retrieve(blobUri, "url");
91
- return {
92
- success: true,
93
- format: "url",
94
- url: blob.data,
95
- reference: blobUri,
96
- mimeType: blob.metadata.mimeType,
97
- size: blob.metadata.size,
98
- filename: blob.metadata.originalName
99
- };
100
- } catch (error) {
101
- const message = error instanceof Error ? error.message : String(error);
102
- return {
103
- success: false,
104
- error: `Failed to access resource: ${message}`
105
- };
106
- }
107
- }
108
- };
109
- }
110
- // Annotate the CommonJS export names for ESM import in node:
111
- 0 && (module.exports = {
112
- createGetResourceTool
113
- });
@@ -1,30 +0,0 @@
1
- import { InternalTool } from '../../types.js';
2
- import type { ResourceManager } from '../../../resources/manager.js';
3
- /**
4
- * Internal tool for accessing resources.
5
- *
6
- * This tool provides access to stored resources (images, files, etc.) in formats
7
- * suitable for sharing or inspection, without loading binary data into context.
8
- *
9
- * Formats:
10
- * - `url`: Returns a shareable URL. Requires remote storage (e.g., Supabase).
11
- * Local/memory storage does not support URL generation.
12
- * - `metadata`: Returns resource information (size, mimeType, filename, etc.)
13
- * without loading the actual data.
14
- *
15
- * Design principle: Resources exist to keep binary data OUT of the context window.
16
- * This tool never returns base64 or raw data - use URLs for sharing instead.
17
- *
18
- * @example
19
- * ```typescript
20
- * // Get a shareable URL for an image
21
- * get_resource({ reference: 'blob:abc123', format: 'url' })
22
- * → { success: true, url: 'https://...', mimeType: 'image/png', ... }
23
- *
24
- * // Get metadata about a resource
25
- * get_resource({ reference: 'blob:abc123', format: 'metadata' })
26
- * → { success: true, mimeType: 'image/png', size: 12345, filename: '...', ... }
27
- * ```
28
- */
29
- export declare function createGetResourceTool(resourceManager: ResourceManager): InternalTool;
30
- //# sourceMappingURL=get-resource-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-resource-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/internal-tools/implementations/get-resource-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAyBrE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CA2GpF"}
@@ -1,90 +0,0 @@
1
- import "../../../chunk-PTJYTZNU.js";
2
- import { z } from "zod";
3
- const GetResourceInputSchema = z.object({
4
- reference: z.string().describe(
5
- 'The resource reference to access. Formats: "blob:abc123" (from list_resources), "resource_ref:blob:abc123" (from tool annotations)'
6
- ),
7
- format: z.enum(["url", "metadata"]).default("url").describe(
8
- 'Output format: "url" for a shareable URL (requires remote storage like Supabase), "metadata" for resource information without loading the data'
9
- )
10
- }).strict();
11
- function createGetResourceTool(resourceManager) {
12
- return {
13
- id: "get_resource",
14
- description: 'Access a stored resource. Use format "url" to get a shareable URL for other agents or external systems (requires remote storage like Supabase). Use format "metadata" to get resource information without loading data. References can be obtained from tool result annotations or list_resources.',
15
- inputSchema: GetResourceInputSchema,
16
- execute: async (input, _context) => {
17
- const { reference, format } = input;
18
- try {
19
- const blobStore = resourceManager.getBlobStore();
20
- const storeType = blobStore.getStoreType();
21
- let blobUri = reference;
22
- if (blobUri.startsWith("resource_ref:")) {
23
- blobUri = blobUri.substring("resource_ref:".length);
24
- }
25
- if (blobUri.startsWith("@")) {
26
- blobUri = blobUri.substring(1);
27
- }
28
- if (!blobUri.startsWith("blob:")) {
29
- blobUri = `blob:${blobUri}`;
30
- }
31
- const exists = await blobStore.exists(blobUri);
32
- if (!exists) {
33
- return {
34
- success: false,
35
- error: `Resource not found: ${reference}`,
36
- _hint: "Use list_resources to see available resources"
37
- };
38
- }
39
- if (format === "metadata") {
40
- const allBlobs = await blobStore.listBlobs();
41
- const blobRef = allBlobs.find((b) => b.uri === blobUri);
42
- if (!blobRef) {
43
- return {
44
- success: false,
45
- error: `Resource metadata not found: ${reference}`,
46
- _hint: "Use list_resources to see available resources"
47
- };
48
- }
49
- return {
50
- success: true,
51
- format: "metadata",
52
- reference: blobUri,
53
- mimeType: blobRef.metadata.mimeType,
54
- size: blobRef.metadata.size,
55
- filename: blobRef.metadata.originalName,
56
- source: blobRef.metadata.source,
57
- createdAt: blobRef.metadata.createdAt.toISOString()
58
- };
59
- }
60
- if (storeType === "memory" || storeType === "local") {
61
- return {
62
- success: false,
63
- error: "URL generation not available with local/memory storage",
64
- _hint: "Configure remote storage (e.g., Supabase) in your agent config to enable URL sharing. Local storage cannot generate shareable URLs.",
65
- storeType
66
- };
67
- }
68
- const blob = await blobStore.retrieve(blobUri, "url");
69
- return {
70
- success: true,
71
- format: "url",
72
- url: blob.data,
73
- reference: blobUri,
74
- mimeType: blob.metadata.mimeType,
75
- size: blob.metadata.size,
76
- filename: blob.metadata.originalName
77
- };
78
- } catch (error) {
79
- const message = error instanceof Error ? error.message : String(error);
80
- return {
81
- success: false,
82
- error: `Failed to access resource: ${message}`
83
- };
84
- }
85
- }
86
- };
87
- }
88
- export {
89
- createGetResourceTool
90
- };