@dexto/core 1.7.2 → 1.8.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 (533) hide show
  1. package/dist/agent/DextoAgent.cjs +157 -62
  2. package/dist/agent/DextoAgent.d.ts +71 -17
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +161 -63
  5. package/dist/agent/agent-options.d.ts +6 -10
  6. package/dist/agent/agent-options.d.ts.map +1 -1
  7. package/dist/agent/agentCard.js +1 -1
  8. package/dist/agent/error-codes.js +1 -1
  9. package/dist/agent/errors.js +1 -1
  10. package/dist/agent/index.d.ts +1 -0
  11. package/dist/agent/index.d.ts.map +1 -1
  12. package/dist/agent/index.js +1 -1
  13. package/dist/agent/schemas.d.ts +2 -2
  14. package/dist/agent/schemas.js +1 -1
  15. package/dist/agent/state-manager.js +1 -1
  16. package/dist/approval/error-codes.cjs +1 -1
  17. package/dist/approval/error-codes.d.ts +1 -1
  18. package/dist/approval/error-codes.d.ts.map +1 -1
  19. package/dist/approval/error-codes.js +2 -2
  20. package/dist/approval/errors.cjs +2 -5
  21. package/dist/approval/errors.d.ts.map +1 -1
  22. package/dist/approval/errors.js +3 -6
  23. package/dist/approval/factory.cjs +19 -4
  24. package/dist/approval/factory.d.ts +4 -1
  25. package/dist/approval/factory.d.ts.map +1 -1
  26. package/dist/approval/factory.js +19 -5
  27. package/dist/approval/index.d.ts +1 -1
  28. package/dist/approval/index.d.ts.map +1 -1
  29. package/dist/approval/index.js +1 -1
  30. package/dist/approval/manager.cjs +168 -26
  31. package/dist/approval/manager.d.ts +46 -12
  32. package/dist/approval/manager.d.ts.map +1 -1
  33. package/dist/approval/manager.js +177 -29
  34. package/dist/approval/schemas.cjs +26 -26
  35. package/dist/approval/schemas.d.ts +29 -29
  36. package/dist/approval/schemas.d.ts.map +1 -1
  37. package/dist/approval/schemas.js +23 -23
  38. package/dist/approval/types.cjs +5 -5
  39. package/dist/approval/types.d.ts +18 -18
  40. package/dist/approval/types.d.ts.map +1 -1
  41. package/dist/approval/types.js +6 -6
  42. package/dist/{chunk-PTJYTZNU.js → chunk-C6A6W6XS.js} +1 -44
  43. package/dist/config/index.cjs +75 -0
  44. package/dist/config/index.d.ts +15 -0
  45. package/dist/config/index.d.ts.map +1 -0
  46. package/dist/config/index.js +50 -0
  47. package/dist/context/compaction/overflow.js +1 -1
  48. package/dist/context/compaction/strategies/noop.js +1 -1
  49. package/dist/context/compaction/strategies/reactive-overflow-compaction.js +1 -1
  50. package/dist/context/content-clone.cjs +131 -0
  51. package/dist/context/content-clone.d.ts +7 -0
  52. package/dist/context/content-clone.d.ts.map +1 -0
  53. package/dist/context/content-clone.js +104 -0
  54. package/dist/context/error-codes.js +1 -1
  55. package/dist/context/errors.js +1 -1
  56. package/dist/context/index.cjs +2 -0
  57. package/dist/context/index.d.ts +1 -0
  58. package/dist/context/index.d.ts.map +1 -1
  59. package/dist/context/index.js +2 -1
  60. package/dist/context/manager.cjs +44 -33
  61. package/dist/context/manager.d.ts +7 -7
  62. package/dist/context/manager.d.ts.map +1 -1
  63. package/dist/context/manager.js +45 -34
  64. package/dist/context/media-helpers.js +1 -1
  65. package/dist/context/schemas.cjs +77 -0
  66. package/dist/context/schemas.d.ts +5 -0
  67. package/dist/context/schemas.d.ts.map +1 -0
  68. package/dist/context/schemas.js +53 -0
  69. package/dist/context/types.js +1 -1
  70. package/dist/context/utils.cjs +70 -69
  71. package/dist/context/utils.d.ts +3 -3
  72. package/dist/context/utils.d.ts.map +1 -1
  73. package/dist/context/utils.js +71 -70
  74. package/dist/errors/DextoBaseError.js +1 -1
  75. package/dist/errors/DextoRuntimeError.js +1 -1
  76. package/dist/errors/DextoValidationError.js +1 -1
  77. package/dist/errors/index.js +1 -1
  78. package/dist/errors/result-bridge.js +1 -1
  79. package/dist/errors/types.js +1 -1
  80. package/dist/events/index.cjs +9 -1
  81. package/dist/events/index.d.ts +20 -8
  82. package/dist/events/index.d.ts.map +1 -1
  83. package/dist/events/index.js +10 -2
  84. package/dist/hooks/builtins/content-policy.js +1 -1
  85. package/dist/hooks/builtins/response-sanitizer.js +1 -1
  86. package/dist/hooks/error-codes.js +1 -1
  87. package/dist/hooks/index.js +1 -1
  88. package/dist/hooks/manager.cjs +1 -1
  89. package/dist/hooks/manager.d.ts +2 -2
  90. package/dist/hooks/manager.d.ts.map +1 -1
  91. package/dist/hooks/manager.js +2 -2
  92. package/dist/hooks/types.d.ts +2 -2
  93. package/dist/hooks/types.d.ts.map +1 -1
  94. package/dist/index.browser.js +1 -1
  95. package/dist/index.cjs +2 -0
  96. package/dist/index.d.ts +1 -0
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +2 -1
  99. package/dist/llm/curation-config.js +1 -1
  100. package/dist/llm/curation.js +1 -1
  101. package/dist/llm/error-codes.js +1 -1
  102. package/dist/llm/errors.js +1 -1
  103. package/dist/llm/executor/index.cjs +32 -0
  104. package/dist/llm/executor/index.d.ts +2 -0
  105. package/dist/llm/executor/index.d.ts.map +1 -0
  106. package/dist/llm/executor/index.js +11 -0
  107. package/dist/llm/executor/provider-options.js +1 -1
  108. package/dist/llm/executor/stream-processor.cjs +28 -139
  109. package/dist/llm/executor/stream-processor.d.ts +2 -13
  110. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  111. package/dist/llm/executor/stream-processor.js +29 -140
  112. package/dist/{session/history/memory.cjs → llm/executor/tool-definitions.cjs} +21 -33
  113. package/dist/llm/executor/tool-definitions.d.ts +4 -0
  114. package/dist/llm/executor/tool-definitions.d.ts.map +1 -0
  115. package/dist/llm/executor/tool-definitions.js +22 -0
  116. package/dist/llm/executor/tool-output-truncator.js +1 -1
  117. package/dist/llm/executor/turn-executor.cjs +1093 -458
  118. package/dist/llm/executor/turn-executor.d.ts +269 -43
  119. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  120. package/dist/llm/executor/turn-executor.js +1079 -405
  121. package/dist/llm/executor/types.d.ts +6 -0
  122. package/dist/llm/executor/types.d.ts.map +1 -1
  123. package/dist/llm/formatters/vercel.js +1 -1
  124. package/dist/llm/index.cjs +2 -0
  125. package/dist/llm/index.d.ts +1 -0
  126. package/dist/llm/index.d.ts.map +1 -1
  127. package/dist/llm/index.js +2 -1
  128. package/dist/llm/providers/codex-app-server.cjs +22 -2
  129. package/dist/llm/providers/codex-app-server.d.ts.map +1 -1
  130. package/dist/llm/providers/codex-app-server.js +23 -3
  131. package/dist/llm/providers/codex-base-url.js +1 -1
  132. package/dist/llm/providers/local/ai-sdk-adapter.js +1 -1
  133. package/dist/llm/providers/local/downloader.js +1 -1
  134. package/dist/llm/providers/local/error-codes.js +1 -1
  135. package/dist/llm/providers/local/errors.js +1 -1
  136. package/dist/llm/providers/local/gpu-detector.js +1 -1
  137. package/dist/llm/providers/local/index.js +1 -1
  138. package/dist/llm/providers/local/node-llama-provider.js +1 -1
  139. package/dist/llm/providers/local/ollama-provider.js +1 -1
  140. package/dist/llm/providers/local/registry.js +1 -1
  141. package/dist/llm/providers/local/schemas.js +1 -1
  142. package/dist/llm/providers/openrouter-model-registry.js +1 -1
  143. package/dist/llm/reasoning/anthropic-betas.js +1 -1
  144. package/dist/llm/reasoning/anthropic-thinking.js +1 -1
  145. package/dist/llm/reasoning/openai-reasoning-effort.js +1 -1
  146. package/dist/llm/reasoning/profile.js +1 -1
  147. package/dist/llm/reasoning/profiles/anthropic.js +1 -1
  148. package/dist/llm/reasoning/profiles/bedrock.js +1 -1
  149. package/dist/llm/reasoning/profiles/google.js +1 -1
  150. package/dist/llm/reasoning/profiles/openai-compatible.js +1 -1
  151. package/dist/llm/reasoning/profiles/openai.js +1 -1
  152. package/dist/llm/reasoning/profiles/openrouter.js +1 -1
  153. package/dist/llm/reasoning/profiles/shared.js +1 -1
  154. package/dist/llm/reasoning/profiles/vertex.js +1 -1
  155. package/dist/llm/registry/auto-update.js +1 -1
  156. package/dist/llm/registry/index.js +1 -1
  157. package/dist/llm/registry/models.generated.js +1 -1
  158. package/dist/llm/registry/models.manual.js +1 -1
  159. package/dist/llm/registry/sync.js +1 -1
  160. package/dist/llm/resolver.js +1 -1
  161. package/dist/llm/schemas.js +1 -1
  162. package/dist/llm/services/factory.cjs +5 -4
  163. package/dist/llm/services/factory.d.ts +3 -3
  164. package/dist/llm/services/factory.d.ts.map +1 -1
  165. package/dist/llm/services/factory.js +6 -5
  166. package/dist/llm/services/types.d.ts +10 -1
  167. package/dist/llm/services/types.d.ts.map +1 -1
  168. package/dist/llm/services/vercel.cjs +23 -8
  169. package/dist/llm/services/vercel.d.ts +11 -7
  170. package/dist/llm/services/vercel.d.ts.map +1 -1
  171. package/dist/llm/services/vercel.js +24 -9
  172. package/dist/llm/types.js +1 -1
  173. package/dist/llm/usage-metadata.cjs +20 -3
  174. package/dist/llm/usage-metadata.d.ts +1 -0
  175. package/dist/llm/usage-metadata.d.ts.map +1 -1
  176. package/dist/llm/usage-metadata.js +19 -3
  177. package/dist/llm/usage-scope.js +1 -1
  178. package/dist/llm/usage-summary.js +1 -1
  179. package/dist/llm/validation.js +1 -1
  180. package/dist/logger/browser.js +1 -1
  181. package/dist/logger/default-logger-factory.js +1 -1
  182. package/dist/logger/factory.js +1 -1
  183. package/dist/logger/index.js +1 -1
  184. package/dist/logger/logger.js +1 -1
  185. package/dist/logger/v2/dexto-logger.js +1 -1
  186. package/dist/logger/v2/error-codes.js +1 -1
  187. package/dist/logger/v2/errors.js +1 -1
  188. package/dist/logger/v2/schemas.js +1 -1
  189. package/dist/logger/v2/test-utils.js +1 -1
  190. package/dist/logger/v2/transport-factory.js +1 -1
  191. package/dist/logger/v2/transports/console-transport.js +1 -1
  192. package/dist/logger/v2/transports/file-transport.js +1 -1
  193. package/dist/logger/v2/transports/silent-transport.js +1 -1
  194. package/dist/logger/v2/types.js +1 -1
  195. package/dist/mcp/bundled-config.js +1 -1
  196. package/dist/mcp/error-codes.js +1 -1
  197. package/dist/mcp/errors.js +1 -1
  198. package/dist/mcp/index.js +1 -1
  199. package/dist/mcp/manager.js +1 -1
  200. package/dist/mcp/mcp-client.js +1 -1
  201. package/dist/mcp/resolver.js +1 -1
  202. package/dist/mcp/schemas.js +1 -1
  203. package/dist/memory/error-codes.js +1 -1
  204. package/dist/memory/errors.js +1 -1
  205. package/dist/memory/index.js +1 -1
  206. package/dist/memory/manager.cjs +7 -27
  207. package/dist/memory/manager.d.ts +4 -12
  208. package/dist/memory/manager.d.ts.map +1 -1
  209. package/dist/memory/manager.js +8 -28
  210. package/dist/memory/schemas.js +1 -1
  211. package/dist/prompts/error-codes.js +1 -1
  212. package/dist/prompts/errors.js +1 -1
  213. package/dist/prompts/index.js +1 -1
  214. package/dist/prompts/name-validation.js +1 -1
  215. package/dist/prompts/prompt-manager.cjs +9 -38
  216. package/dist/prompts/prompt-manager.d.ts +2 -10
  217. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  218. package/dist/prompts/prompt-manager.js +10 -39
  219. package/dist/prompts/providers/config-prompt-provider.cjs +8 -87
  220. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  221. package/dist/prompts/providers/config-prompt-provider.js +9 -88
  222. package/dist/prompts/providers/custom-prompt-provider.cjs +21 -22
  223. package/dist/prompts/providers/custom-prompt-provider.d.ts +19 -4
  224. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  225. package/dist/prompts/providers/custom-prompt-provider.js +22 -23
  226. package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
  227. package/dist/prompts/schemas.cjs +2 -24
  228. package/dist/prompts/schemas.d.ts +0 -52
  229. package/dist/prompts/schemas.d.ts.map +1 -1
  230. package/dist/prompts/schemas.js +3 -25
  231. package/dist/prompts/types.d.ts +5 -32
  232. package/dist/prompts/types.d.ts.map +1 -1
  233. package/dist/prompts/utils.js +1 -1
  234. package/dist/resources/agent-resources-provider.js +1 -1
  235. package/dist/resources/error-codes.js +1 -1
  236. package/dist/resources/errors.js +1 -1
  237. package/dist/resources/handlers/blob-handler.cjs +14 -11
  238. package/dist/resources/handlers/blob-handler.d.ts +4 -4
  239. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  240. package/dist/resources/handlers/blob-handler.js +15 -12
  241. package/dist/resources/handlers/factory.cjs +3 -3
  242. package/dist/resources/handlers/factory.js +4 -4
  243. package/dist/resources/handlers/filesystem-handler.js +1 -1
  244. package/dist/resources/handlers/types.d.ts +2 -2
  245. package/dist/resources/handlers/types.d.ts.map +1 -1
  246. package/dist/resources/index.js +1 -1
  247. package/dist/resources/manager.cjs +10 -7
  248. package/dist/resources/manager.d.ts +4 -4
  249. package/dist/resources/manager.d.ts.map +1 -1
  250. package/dist/resources/manager.js +11 -8
  251. package/dist/resources/reference-parser.js +1 -1
  252. package/dist/resources/schemas.cjs +1 -1
  253. package/dist/resources/schemas.d.ts +2 -2
  254. package/dist/resources/schemas.js +2 -2
  255. package/dist/runtime/host-runtime.js +1 -1
  256. package/dist/runtime/index.cjs +3 -0
  257. package/dist/runtime/index.d.ts +2 -0
  258. package/dist/runtime/index.d.ts.map +1 -1
  259. package/dist/runtime/index.js +3 -1
  260. package/dist/runtime/run-context.js +1 -1
  261. package/dist/search/index.js +1 -1
  262. package/dist/search/search-service.cjs +6 -13
  263. package/dist/search/search-service.d.ts +5 -3
  264. package/dist/search/search-service.d.ts.map +1 -1
  265. package/dist/search/search-service.js +7 -14
  266. package/dist/session/chat-session.cjs +264 -108
  267. package/dist/session/chat-session.d.ts +75 -21
  268. package/dist/session/chat-session.d.ts.map +1 -1
  269. package/dist/session/chat-session.js +268 -108
  270. package/dist/session/error-codes.js +1 -1
  271. package/dist/session/errors.js +1 -1
  272. package/dist/session/index.cjs +19 -2
  273. package/dist/session/index.d.ts +4 -3
  274. package/dist/session/index.d.ts.map +1 -1
  275. package/dist/session/index.js +19 -3
  276. package/dist/session/message-queue.cjs +82 -51
  277. package/dist/session/message-queue.d.ts +13 -8
  278. package/dist/session/message-queue.d.ts.map +1 -1
  279. package/dist/session/message-queue.js +83 -52
  280. package/dist/session/queue-clone.cjs +50 -0
  281. package/dist/session/queue-clone.d.ts +5 -0
  282. package/dist/session/queue-clone.d.ts.map +1 -0
  283. package/dist/session/queue-clone.js +25 -0
  284. package/dist/session/schemas.cjs +74 -2
  285. package/dist/session/schemas.d.ts +94 -0
  286. package/dist/session/schemas.d.ts.map +1 -1
  287. package/dist/session/schemas.js +69 -2
  288. package/dist/session/session-manager.cjs +107 -123
  289. package/dist/session/session-manager.d.ts +7 -6
  290. package/dist/session/session-manager.d.ts.map +1 -1
  291. package/dist/session/session-manager.js +108 -124
  292. package/dist/session/title-generator.cjs +14 -26
  293. package/dist/session/title-generator.d.ts +4 -6
  294. package/dist/session/title-generator.d.ts.map +1 -1
  295. package/dist/session/title-generator.js +16 -28
  296. package/dist/session/types.cjs +28 -0
  297. package/dist/session/types.d.ts +5 -1
  298. package/dist/session/types.d.ts.map +1 -1
  299. package/dist/session/types.js +19 -0
  300. package/dist/{session/history/factory.cjs → skills/index.cjs} +9 -9
  301. package/dist/skills/index.d.ts +4 -0
  302. package/dist/skills/index.d.ts.map +1 -0
  303. package/dist/skills/index.js +7 -0
  304. package/dist/skills/skill-manager.cjs +76 -0
  305. package/dist/skills/skill-manager.d.ts +13 -0
  306. package/dist/skills/skill-manager.d.ts.map +1 -0
  307. package/dist/skills/skill-manager.js +53 -0
  308. package/dist/skills/types.d.ts +24 -0
  309. package/dist/skills/types.d.ts.map +1 -0
  310. package/dist/skills/workspace-skill-source.cjs +120 -0
  311. package/dist/skills/workspace-skill-source.d.ts +16 -0
  312. package/dist/skills/workspace-skill-source.d.ts.map +1 -0
  313. package/dist/skills/workspace-skill-source.js +97 -0
  314. package/dist/storage/approvals/types.cjs +38 -0
  315. package/dist/storage/approvals/types.d.ts +54 -0
  316. package/dist/storage/approvals/types.d.ts.map +1 -0
  317. package/dist/storage/approvals/types.js +14 -0
  318. package/dist/storage/artifacts/types.d.ts +73 -0
  319. package/dist/storage/artifacts/types.d.ts.map +1 -0
  320. package/dist/storage/conversation/database.cjs +233 -0
  321. package/dist/storage/conversation/database.d.ts +38 -0
  322. package/dist/storage/conversation/database.d.ts.map +1 -0
  323. package/dist/storage/conversation/database.js +210 -0
  324. package/dist/storage/conversation/types.cjs +16 -0
  325. package/dist/storage/conversation/types.d.ts +21 -0
  326. package/dist/storage/conversation/types.d.ts.map +1 -0
  327. package/dist/storage/conversation/types.js +0 -0
  328. package/dist/storage/database/types.d.ts +4 -0
  329. package/dist/storage/database/types.d.ts.map +1 -1
  330. package/dist/storage/error-codes.js +1 -1
  331. package/dist/storage/errors.cjs +6 -6
  332. package/dist/storage/errors.d.ts +2 -2
  333. package/dist/storage/errors.js +7 -7
  334. package/dist/storage/index.cjs +42 -5
  335. package/dist/storage/index.d.ts +19 -8
  336. package/dist/storage/index.d.ts.map +1 -1
  337. package/dist/storage/index.js +39 -4
  338. package/dist/storage/memories/types.cjs +16 -0
  339. package/dist/storage/memories/types.d.ts +17 -0
  340. package/dist/storage/memories/types.d.ts.map +1 -0
  341. package/dist/storage/memories/types.js +0 -0
  342. package/dist/storage/message-queue/types.cjs +16 -0
  343. package/dist/storage/message-queue/types.d.ts +15 -0
  344. package/dist/storage/message-queue/types.d.ts.map +1 -0
  345. package/dist/storage/message-queue/types.js +0 -0
  346. package/dist/storage/prompts/types.cjs +16 -0
  347. package/dist/storage/prompts/types.d.ts +14 -0
  348. package/dist/storage/prompts/types.d.ts.map +1 -0
  349. package/dist/storage/prompts/types.js +0 -0
  350. package/dist/storage/runtime-events/types.cjs +16 -0
  351. package/dist/storage/runtime-events/types.d.ts +19 -0
  352. package/dist/storage/runtime-events/types.d.ts.map +1 -0
  353. package/dist/storage/runtime-events/types.js +0 -0
  354. package/dist/storage/sessions/types.cjs +16 -0
  355. package/dist/storage/sessions/types.d.ts +19 -0
  356. package/dist/storage/sessions/types.d.ts.map +1 -0
  357. package/dist/storage/sessions/types.js +0 -0
  358. package/dist/storage/stores/backend.cjs +702 -0
  359. package/dist/storage/stores/backend.d.ts +303 -0
  360. package/dist/storage/stores/backend.d.ts.map +1 -0
  361. package/dist/storage/stores/backend.js +677 -0
  362. package/dist/storage/stores/in-memory.cjs +510 -0
  363. package/dist/storage/stores/in-memory.d.ts +11 -0
  364. package/dist/storage/stores/in-memory.d.ts.map +1 -0
  365. package/dist/storage/stores/in-memory.js +487 -0
  366. package/dist/storage/stores/types.cjs +16 -0
  367. package/dist/storage/stores/types.d.ts +36 -0
  368. package/dist/storage/stores/types.d.ts.map +1 -0
  369. package/dist/storage/stores/types.js +0 -0
  370. package/dist/storage/tool-executions/types.cjs +127 -0
  371. package/dist/storage/tool-executions/types.d.ts +193 -0
  372. package/dist/storage/tool-executions/types.d.ts.map +1 -0
  373. package/dist/storage/tool-executions/types.js +96 -0
  374. package/dist/storage/tool-preferences/types.cjs +16 -0
  375. package/dist/storage/tool-preferences/types.d.ts +29 -0
  376. package/dist/storage/tool-preferences/types.d.ts.map +1 -0
  377. package/dist/storage/tool-preferences/types.js +0 -0
  378. package/dist/storage/tool-state/types.cjs +16 -0
  379. package/dist/storage/tool-state/types.d.ts +20 -0
  380. package/dist/storage/tool-state/types.d.ts.map +1 -0
  381. package/dist/storage/tool-state/types.js +0 -0
  382. package/dist/storage/workspaces/types.cjs +16 -0
  383. package/dist/storage/workspaces/types.d.ts +19 -0
  384. package/dist/storage/workspaces/types.d.ts.map +1 -0
  385. package/dist/storage/workspaces/types.js +0 -0
  386. package/dist/systemPrompt/contributors.cjs +10 -14
  387. package/dist/systemPrompt/contributors.d.ts +3 -3
  388. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  389. package/dist/systemPrompt/contributors.js +11 -15
  390. package/dist/systemPrompt/error-codes.js +1 -1
  391. package/dist/systemPrompt/errors.js +1 -1
  392. package/dist/systemPrompt/in-built-prompts.js +1 -1
  393. package/dist/systemPrompt/index.js +1 -1
  394. package/dist/systemPrompt/manager.js +1 -1
  395. package/dist/systemPrompt/registry.js +1 -1
  396. package/dist/systemPrompt/schemas.js +1 -1
  397. package/dist/telemetry/decorators.js +1 -1
  398. package/dist/telemetry/error-codes.js +1 -1
  399. package/dist/telemetry/errors.js +1 -1
  400. package/dist/telemetry/exporters.js +1 -1
  401. package/dist/telemetry/index.js +1 -1
  402. package/dist/telemetry/schemas.js +1 -1
  403. package/dist/telemetry/telemetry.js +1 -1
  404. package/dist/telemetry/utils.js +1 -1
  405. package/dist/test-utils/in-memory-storage.cjs +9 -17
  406. package/dist/test-utils/in-memory-storage.js +9 -16
  407. package/dist/test-utils/session-state-stores.cjs +21 -24
  408. package/dist/test-utils/session-state-stores.js +22 -24
  409. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.cjs +1 -1
  410. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.d.ts +2 -2
  411. package/dist/tools/approval/allowed-tools-provider/factory.d.ts.map +1 -0
  412. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.js +2 -2
  413. package/dist/tools/approval/allowed-tools-provider/in-memory.d.ts.map +1 -0
  414. package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.js +1 -1
  415. package/dist/tools/approval/allowed-tools-provider/storage.cjs +66 -0
  416. package/dist/tools/{confirmation → approval}/allowed-tools-provider/storage.d.ts +4 -10
  417. package/dist/tools/approval/allowed-tools-provider/storage.d.ts.map +1 -0
  418. package/dist/tools/approval/allowed-tools-provider/storage.js +43 -0
  419. package/dist/tools/approval/allowed-tools-provider/types.cjs +16 -0
  420. package/dist/tools/approval/allowed-tools-provider/types.d.ts.map +1 -0
  421. package/dist/tools/approval/allowed-tools-provider/types.js +0 -0
  422. package/dist/tools/approval/session-tool-policy.cjs +269 -0
  423. package/dist/tools/approval/session-tool-policy.d.ts +43 -0
  424. package/dist/tools/approval/session-tool-policy.d.ts.map +1 -0
  425. package/dist/tools/approval/session-tool-policy.js +245 -0
  426. package/dist/tools/define-tool.js +1 -1
  427. package/dist/tools/display-types.js +1 -1
  428. package/dist/tools/error-codes.cjs +3 -3
  429. package/dist/tools/error-codes.d.ts +4 -4
  430. package/dist/tools/error-codes.d.ts.map +1 -1
  431. package/dist/tools/error-codes.js +4 -4
  432. package/dist/tools/errors.cjs +12 -12
  433. package/dist/tools/errors.d.ts +6 -6
  434. package/dist/tools/errors.d.ts.map +1 -1
  435. package/dist/tools/errors.js +13 -13
  436. package/dist/tools/index.cjs +3 -0
  437. package/dist/tools/index.d.ts +3 -0
  438. package/dist/tools/index.d.ts.map +1 -1
  439. package/dist/tools/index.js +3 -1
  440. package/dist/tools/pattern-utils.js +1 -1
  441. package/dist/tools/presentation/tool-presentation.cjs +182 -0
  442. package/dist/tools/presentation/tool-presentation.d.ts +51 -0
  443. package/dist/tools/presentation/tool-presentation.d.ts.map +1 -0
  444. package/dist/tools/presentation/tool-presentation.js +159 -0
  445. package/dist/tools/presentation.js +1 -1
  446. package/dist/tools/schemas.cjs +5 -10
  447. package/dist/tools/schemas.d.ts +1 -4
  448. package/dist/tools/schemas.d.ts.map +1 -1
  449. package/dist/tools/schemas.js +6 -11
  450. package/dist/tools/session-tool-preferences-store.cjs +12 -28
  451. package/dist/tools/session-tool-preferences-store.d.ts +4 -7
  452. package/dist/tools/session-tool-preferences-store.d.ts.map +1 -1
  453. package/dist/tools/session-tool-preferences-store.js +12 -29
  454. package/dist/tools/tool-call-metadata.js +1 -1
  455. package/dist/tools/tool-manager.cjs +871 -834
  456. package/dist/tools/tool-manager.d.ts +94 -96
  457. package/dist/tools/tool-manager.d.ts.map +1 -1
  458. package/dist/tools/tool-manager.js +876 -833
  459. package/dist/tools/types.d.ts +10 -14
  460. package/dist/tools/types.d.ts.map +1 -1
  461. package/dist/utils/api-key-resolver.js +1 -1
  462. package/dist/utils/async-context.js +1 -1
  463. package/dist/utils/debug.js +1 -1
  464. package/dist/utils/defer.js +1 -1
  465. package/dist/utils/env.js +1 -1
  466. package/dist/utils/error-conversion.js +1 -1
  467. package/dist/utils/execution-context.js +1 -1
  468. package/dist/utils/fs-walk.js +1 -1
  469. package/dist/utils/path.js +1 -1
  470. package/dist/utils/redactor.js +1 -1
  471. package/dist/utils/result.js +1 -1
  472. package/dist/utils/safe-stringify.js +1 -1
  473. package/dist/utils/schema.js +1 -1
  474. package/dist/utils/service-initializer.cjs +37 -33
  475. package/dist/utils/service-initializer.d.ts +9 -5
  476. package/dist/utils/service-initializer.d.ts.map +1 -1
  477. package/dist/utils/service-initializer.js +38 -34
  478. package/dist/utils/zod-schema-converter.js +1 -1
  479. package/dist/workspace/error-codes.cjs +5 -1
  480. package/dist/workspace/error-codes.d.ts +4 -0
  481. package/dist/workspace/error-codes.d.ts.map +1 -1
  482. package/dist/workspace/error-codes.js +6 -2
  483. package/dist/workspace/errors.cjs +43 -0
  484. package/dist/workspace/errors.d.ts +9 -0
  485. package/dist/workspace/errors.d.ts.map +1 -1
  486. package/dist/workspace/errors.js +44 -1
  487. package/dist/workspace/index.d.ts +1 -1
  488. package/dist/workspace/index.d.ts.map +1 -1
  489. package/dist/workspace/index.js +1 -1
  490. package/dist/workspace/manager.cjs +21 -29
  491. package/dist/workspace/manager.d.ts +6 -6
  492. package/dist/workspace/manager.d.ts.map +1 -1
  493. package/dist/workspace/manager.js +22 -30
  494. package/dist/workspace/types.d.ts +47 -0
  495. package/dist/workspace/types.d.ts.map +1 -1
  496. package/package.json +114 -2
  497. package/dist/approval/session-approval-store.cjs +0 -91
  498. package/dist/approval/session-approval-store.d.ts +0 -37
  499. package/dist/approval/session-approval-store.d.ts.map +0 -1
  500. package/dist/approval/session-approval-store.js +0 -68
  501. package/dist/session/history/database.cjs +0 -232
  502. package/dist/session/history/database.d.ts +0 -41
  503. package/dist/session/history/database.d.ts.map +0 -1
  504. package/dist/session/history/database.js +0 -209
  505. package/dist/session/history/factory.d.ts +0 -11
  506. package/dist/session/history/factory.d.ts.map +0 -1
  507. package/dist/session/history/factory.js +0 -8
  508. package/dist/session/history/memory.d.ts +0 -22
  509. package/dist/session/history/memory.d.ts.map +0 -1
  510. package/dist/session/history/memory.js +0 -34
  511. package/dist/session/history/types.d.ts +0 -26
  512. package/dist/session/history/types.d.ts.map +0 -1
  513. package/dist/session/message-queue-store.cjs +0 -75
  514. package/dist/session/message-queue-store.d.ts +0 -16
  515. package/dist/session/message-queue-store.d.ts.map +0 -1
  516. package/dist/session/message-queue-store.js +0 -52
  517. package/dist/storage/storage-manager.cjs +0 -209
  518. package/dist/storage/storage-manager.d.ts +0 -77
  519. package/dist/storage/storage-manager.d.ts.map +0 -1
  520. package/dist/storage/storage-manager.js +0 -186
  521. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +0 -1
  522. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +0 -1
  523. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +0 -69
  524. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +0 -1
  525. package/dist/tools/confirmation/allowed-tools-provider/storage.js +0 -46
  526. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +0 -1
  527. /package/dist/{session/history → skills}/types.cjs +0 -0
  528. /package/dist/{session/history → skills}/types.js +0 -0
  529. /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.cjs +0 -0
  530. /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.js +0 -0
  531. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.cjs +0 -0
  532. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.d.ts +0 -0
  533. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/types.d.ts +0 -0
@@ -50,6 +50,7 @@ __export(utils_exports, {
50
50
  });
51
51
  module.exports = __toCommonJS(utils_exports);
52
52
  var import_types = require("./types.js");
53
+ var import_content_clone = require("./content-clone.js");
53
54
  var import_display_types = require("../tools/display-types.js");
54
55
  var import_registry = require("../llm/registry/index.js");
55
56
  var import_safe_stringify = require("../utils/safe-stringify.js");
@@ -77,28 +78,7 @@ function generateUniqueSuffix() {
77
78
  return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 6)}`;
78
79
  }
79
80
  function clonePart(part) {
80
- if (part.type === "text") {
81
- return { type: "text", text: part.text };
82
- }
83
- if (part.type === "image") {
84
- const cloned2 = {
85
- type: "image",
86
- image: part.image
87
- };
88
- if (part.mimeType) {
89
- cloned2.mimeType = part.mimeType;
90
- }
91
- return cloned2;
92
- }
93
- const cloned = {
94
- type: "file",
95
- data: part.data,
96
- mimeType: part.mimeType
97
- };
98
- if (part.filename) {
99
- cloned.filename = part.filename;
100
- }
101
- return cloned;
81
+ return (0, import_content_clone.clonePromptContentPart)(part);
102
82
  }
103
83
  function coerceContentToParts(content) {
104
84
  if (content == null) {
@@ -873,13 +853,13 @@ function shouldPersistInlineMedia(hint) {
873
853
  }
874
854
  async function persistToolMedia(normalized, options, logger) {
875
855
  const parts = normalized.parts.map((part) => clonePart(part));
876
- const blobStore = options.blobStore;
856
+ const artifactStore = options.artifactStore;
877
857
  const namingOptions = options.toolName || options.toolCallId ? {
878
858
  ...options.toolName ? { toolName: options.toolName } : {},
879
859
  ...options.toolCallId ? { toolCallId: options.toolCallId } : {}
880
860
  } : void 0;
881
861
  const storedBlobs = [];
882
- if (blobStore) {
862
+ if (artifactStore) {
883
863
  for (const hint of normalized.inlineMedia) {
884
864
  if (!shouldPersistInlineMedia(hint)) {
885
865
  continue;
@@ -890,15 +870,21 @@ async function persistToolMedia(normalized, options, logger) {
890
870
  hint.mimeType,
891
871
  namingOptions
892
872
  );
893
- const blobRef = await blobStore.store(hint.data, {
894
- mimeType: hint.mimeType,
895
- originalName,
896
- source: "tool"
873
+ const blobRef = await artifactStore.store({
874
+ data: hint.data,
875
+ metadata: {
876
+ mimeType: hint.mimeType,
877
+ originalName,
878
+ source: "tool"
879
+ }
897
880
  });
898
881
  const resourceUri = blobRef.uri;
899
882
  let publicUrl;
900
883
  try {
901
- const urlResult = await blobStore.retrieve(resourceUri, "url");
884
+ const urlResult = await artifactStore.retrieve({
885
+ reference: resourceUri,
886
+ format: "url"
887
+ });
902
888
  if (urlResult.format === "url") {
903
889
  publicUrl = urlResult.data;
904
890
  }
@@ -946,7 +932,7 @@ async function persistToolMedia(normalized, options, logger) {
946
932
  ...resources ? { resources } : {}
947
933
  };
948
934
  }
949
- async function sanitizeToolResultToContentWithBlobs(result, logger, blobStore, namingOptions) {
935
+ async function sanitizeToolResultToContentWithBlobs(result, logger, artifactStore, namingOptions) {
950
936
  try {
951
937
  if (typeof result === "string") {
952
938
  const dataUri = parseDataUri(result);
@@ -956,16 +942,19 @@ async function sanitizeToolResultToContentWithBlobs(result, logger, blobStore, n
956
942
  `sanitizeToolResultToContentWithBlobs: detected data URI (${mediaType})`
957
943
  );
958
944
  const approxSize = Math.floor(dataUri.base64.length * 3 / 4);
959
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
945
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
960
946
  if (shouldStoreAsBlob) {
961
947
  try {
962
948
  logger.debug(
963
949
  `Storing data URI as blob (${approxSize} bytes, ${mediaType})`
964
950
  );
965
- const blobRef = await blobStore.store(result, {
966
- mimeType: mediaType,
967
- source: "tool",
968
- originalName: buildToolBlobName("output", mediaType, namingOptions)
951
+ const blobRef = await artifactStore.store({
952
+ data: result,
953
+ metadata: {
954
+ mimeType: mediaType,
955
+ source: "tool",
956
+ originalName: buildToolBlobName("output", mediaType, namingOptions)
957
+ }
969
958
  });
970
959
  logger.debug(`Stored blob: ${blobRef.uri} (${approxSize} bytes)`);
971
960
  if (mediaType.startsWith("image/")) {
@@ -1013,7 +1002,7 @@ ${tail}`
1013
1002
  const processedItem = await sanitizeToolResultToContentWithBlobs(
1014
1003
  item,
1015
1004
  logger,
1016
- blobStore,
1005
+ artifactStore,
1017
1006
  namingOptions
1018
1007
  );
1019
1008
  if (Array.isArray(processedItem)) {
@@ -1067,21 +1056,24 @@ ${tail}`
1067
1056
  const fileData = resource.text;
1068
1057
  const mimeType = resource.mimeType;
1069
1058
  const approxSize = typeof fileData === "string" ? Math.floor(fileData.length * 3 / 4) : 0;
1070
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
1059
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
1071
1060
  if (shouldStoreAsBlob) {
1072
1061
  try {
1073
1062
  logger.debug(
1074
1063
  `Storing MCP resource as blob (${approxSize} bytes, ${mimeType})`
1075
1064
  );
1076
- const blobRef = await blobStore.store(fileData, {
1077
- mimeType,
1078
- source: "tool",
1079
- originalName: buildToolBlobName(
1080
- mimeType.startsWith("image/") ? "image" : "file",
1065
+ const blobRef = await artifactStore.store({
1066
+ data: fileData,
1067
+ metadata: {
1081
1068
  mimeType,
1082
- namingOptions,
1083
- resource.title
1084
- )
1069
+ source: "tool",
1070
+ originalName: buildToolBlobName(
1071
+ mimeType.startsWith("image/") ? "image" : "file",
1072
+ mimeType,
1073
+ namingOptions,
1074
+ resource.title
1075
+ )
1076
+ }
1085
1077
  });
1086
1078
  logger.debug(
1087
1079
  `Stored MCP resource blob: ${blobRef.uri} (${approxSize} bytes)`
@@ -1134,21 +1126,24 @@ ${tail}`
1134
1126
  const fileData = getFileData({ data: item.data }, logger);
1135
1127
  const mimeType = item.mimeType;
1136
1128
  const approxSize = typeof fileData === "string" ? Math.floor(fileData.length * 3 / 4) : 0;
1137
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
1129
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
1138
1130
  if (shouldStoreAsBlob) {
1139
1131
  try {
1140
1132
  logger.debug(
1141
1133
  `Storing MCP content item as blob (${approxSize} bytes, ${mimeType})`
1142
1134
  );
1143
- const blobRef = await blobStore.store(fileData, {
1144
- mimeType,
1145
- source: "tool",
1146
- originalName: buildToolBlobName(
1147
- item.type === "image" ? "image" : "file",
1135
+ const blobRef = await artifactStore.store({
1136
+ data: fileData,
1137
+ metadata: {
1148
1138
  mimeType,
1149
- namingOptions,
1150
- item.filename
1151
- )
1139
+ source: "tool",
1140
+ originalName: buildToolBlobName(
1141
+ item.type === "image" ? "image" : "file",
1142
+ mimeType,
1143
+ namingOptions,
1144
+ item.filename
1145
+ )
1146
+ }
1152
1147
  });
1153
1148
  logger.debug(
1154
1149
  `Stored MCP blob: ${blobRef.uri} (${approxSize} bytes)`
@@ -1194,13 +1189,16 @@ ${tail}`
1194
1189
  const imageData = getImageData({ image: anyObj.image }, logger);
1195
1190
  const mimeType = anyObj.mimeType || "image/jpeg";
1196
1191
  const approxSize = typeof imageData === "string" ? Math.floor(imageData.length * 3 / 4) : 0;
1197
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
1192
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
1198
1193
  if (shouldStoreAsBlob) {
1199
1194
  try {
1200
- const blobRef = await blobStore.store(imageData, {
1201
- mimeType,
1202
- source: "tool",
1203
- originalName: buildToolBlobName("image", mimeType, namingOptions)
1195
+ const blobRef = await artifactStore.store({
1196
+ data: imageData,
1197
+ metadata: {
1198
+ mimeType,
1199
+ source: "tool",
1200
+ originalName: buildToolBlobName("image", mimeType, namingOptions)
1201
+ }
1204
1202
  });
1205
1203
  logger.debug(
1206
1204
  `Stored tool image as blob: ${blobRef.uri} (${approxSize} bytes)`
@@ -1224,18 +1222,21 @@ ${tail}`
1224
1222
  const fileData = getFileData({ data: anyObj.data }, logger);
1225
1223
  const mimeType = anyObj.mimeType;
1226
1224
  const approxSize = typeof fileData === "string" ? Math.floor(fileData.length * 3 / 4) : 0;
1227
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
1225
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
1228
1226
  if (shouldStoreAsBlob) {
1229
1227
  try {
1230
- const blobRef = await blobStore.store(fileData, {
1231
- mimeType,
1232
- source: "tool",
1233
- originalName: buildToolBlobName(
1234
- "file",
1228
+ const blobRef = await artifactStore.store({
1229
+ data: fileData,
1230
+ metadata: {
1235
1231
  mimeType,
1236
- namingOptions,
1237
- anyObj.filename
1238
- )
1232
+ source: "tool",
1233
+ originalName: buildToolBlobName(
1234
+ "file",
1235
+ mimeType,
1236
+ namingOptions,
1237
+ anyObj.filename
1238
+ )
1239
+ }
1239
1240
  });
1240
1241
  logger.debug(
1241
1242
  `Stored tool file as blob: ${blobRef.uri} (${approxSize} bytes)`
@@ -1327,7 +1328,7 @@ async function sanitizeToolResult(result, options, logger) {
1327
1328
  const persisted = await persistToolMedia(
1328
1329
  normalized,
1329
1330
  {
1330
- ...options.blobStore ? { blobStore: options.blobStore } : {},
1331
+ ...options.artifactStore ? { artifactStore: options.artifactStore } : {},
1331
1332
  toolName: options.toolName,
1332
1333
  toolCallId: options.toolCallId
1333
1334
  },
@@ -21,7 +21,7 @@ export interface NormalizedToolResult {
21
21
  inlineMedia: InlineMediaHint[];
22
22
  }
23
23
  interface PersistToolMediaOptions {
24
- blobStore?: import('../storage/blob/types.js').BlobStore;
24
+ artifactStore?: import('../storage/artifacts/types.js').ArtifactStore;
25
25
  toolName?: string;
26
26
  toolCallId?: string;
27
27
  }
@@ -225,9 +225,9 @@ export declare function persistToolMedia(normalized: NormalizedToolResult, optio
225
225
  * - Removes huge binary blobs inside objects
226
226
  * - Truncates extremely long raw text
227
227
  */
228
- export declare function sanitizeToolResultToContentWithBlobs(result: unknown, logger: Logger, blobStore?: import('../storage/blob/types.js').BlobStore, namingOptions?: ToolBlobNamingOptions): Promise<InternalMessage['content']>;
228
+ export declare function sanitizeToolResultToContentWithBlobs(result: unknown, logger: Logger, artifactStore?: import('../storage/artifacts/types.js').ArtifactStore, namingOptions?: ToolBlobNamingOptions): Promise<InternalMessage['content']>;
229
229
  export declare function sanitizeToolResult(result: unknown, options: {
230
- blobStore?: import('../storage/blob/types.js').BlobStore;
230
+ artifactStore?: import('../storage/artifacts/types.js').ArtifactStore;
231
231
  toolName: string;
232
232
  toolCallId: string;
233
233
  success: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/context/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/context/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import "../chunk-PTJYTZNU.js";
1
+ import "../chunk-C6A6W6XS.js";
2
2
  import {
3
3
  isToolMessage
4
4
  } from "./types.js";
5
+ import { clonePromptContentPart } from "./content-clone.js";
5
6
  import { isValidDisplayData } from "../tools/display-types.js";
6
7
  import { validateModelFileSupport } from "../llm/registry/index.js";
7
8
  import { safeStringify } from "../utils/safe-stringify.js";
@@ -29,28 +30,7 @@ function generateUniqueSuffix() {
29
30
  return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 6)}`;
30
31
  }
31
32
  function clonePart(part) {
32
- if (part.type === "text") {
33
- return { type: "text", text: part.text };
34
- }
35
- if (part.type === "image") {
36
- const cloned2 = {
37
- type: "image",
38
- image: part.image
39
- };
40
- if (part.mimeType) {
41
- cloned2.mimeType = part.mimeType;
42
- }
43
- return cloned2;
44
- }
45
- const cloned = {
46
- type: "file",
47
- data: part.data,
48
- mimeType: part.mimeType
49
- };
50
- if (part.filename) {
51
- cloned.filename = part.filename;
52
- }
53
- return cloned;
33
+ return clonePromptContentPart(part);
54
34
  }
55
35
  function coerceContentToParts(content) {
56
36
  if (content == null) {
@@ -825,13 +805,13 @@ function shouldPersistInlineMedia(hint) {
825
805
  }
826
806
  async function persistToolMedia(normalized, options, logger) {
827
807
  const parts = normalized.parts.map((part) => clonePart(part));
828
- const blobStore = options.blobStore;
808
+ const artifactStore = options.artifactStore;
829
809
  const namingOptions = options.toolName || options.toolCallId ? {
830
810
  ...options.toolName ? { toolName: options.toolName } : {},
831
811
  ...options.toolCallId ? { toolCallId: options.toolCallId } : {}
832
812
  } : void 0;
833
813
  const storedBlobs = [];
834
- if (blobStore) {
814
+ if (artifactStore) {
835
815
  for (const hint of normalized.inlineMedia) {
836
816
  if (!shouldPersistInlineMedia(hint)) {
837
817
  continue;
@@ -842,15 +822,21 @@ async function persistToolMedia(normalized, options, logger) {
842
822
  hint.mimeType,
843
823
  namingOptions
844
824
  );
845
- const blobRef = await blobStore.store(hint.data, {
846
- mimeType: hint.mimeType,
847
- originalName,
848
- source: "tool"
825
+ const blobRef = await artifactStore.store({
826
+ data: hint.data,
827
+ metadata: {
828
+ mimeType: hint.mimeType,
829
+ originalName,
830
+ source: "tool"
831
+ }
849
832
  });
850
833
  const resourceUri = blobRef.uri;
851
834
  let publicUrl;
852
835
  try {
853
- const urlResult = await blobStore.retrieve(resourceUri, "url");
836
+ const urlResult = await artifactStore.retrieve({
837
+ reference: resourceUri,
838
+ format: "url"
839
+ });
854
840
  if (urlResult.format === "url") {
855
841
  publicUrl = urlResult.data;
856
842
  }
@@ -898,7 +884,7 @@ async function persistToolMedia(normalized, options, logger) {
898
884
  ...resources ? { resources } : {}
899
885
  };
900
886
  }
901
- async function sanitizeToolResultToContentWithBlobs(result, logger, blobStore, namingOptions) {
887
+ async function sanitizeToolResultToContentWithBlobs(result, logger, artifactStore, namingOptions) {
902
888
  try {
903
889
  if (typeof result === "string") {
904
890
  const dataUri = parseDataUri(result);
@@ -908,16 +894,19 @@ async function sanitizeToolResultToContentWithBlobs(result, logger, blobStore, n
908
894
  `sanitizeToolResultToContentWithBlobs: detected data URI (${mediaType})`
909
895
  );
910
896
  const approxSize = Math.floor(dataUri.base64.length * 3 / 4);
911
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
897
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
912
898
  if (shouldStoreAsBlob) {
913
899
  try {
914
900
  logger.debug(
915
901
  `Storing data URI as blob (${approxSize} bytes, ${mediaType})`
916
902
  );
917
- const blobRef = await blobStore.store(result, {
918
- mimeType: mediaType,
919
- source: "tool",
920
- originalName: buildToolBlobName("output", mediaType, namingOptions)
903
+ const blobRef = await artifactStore.store({
904
+ data: result,
905
+ metadata: {
906
+ mimeType: mediaType,
907
+ source: "tool",
908
+ originalName: buildToolBlobName("output", mediaType, namingOptions)
909
+ }
921
910
  });
922
911
  logger.debug(`Stored blob: ${blobRef.uri} (${approxSize} bytes)`);
923
912
  if (mediaType.startsWith("image/")) {
@@ -965,7 +954,7 @@ ${tail}`
965
954
  const processedItem = await sanitizeToolResultToContentWithBlobs(
966
955
  item,
967
956
  logger,
968
- blobStore,
957
+ artifactStore,
969
958
  namingOptions
970
959
  );
971
960
  if (Array.isArray(processedItem)) {
@@ -1019,21 +1008,24 @@ ${tail}`
1019
1008
  const fileData = resource.text;
1020
1009
  const mimeType = resource.mimeType;
1021
1010
  const approxSize = typeof fileData === "string" ? Math.floor(fileData.length * 3 / 4) : 0;
1022
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
1011
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
1023
1012
  if (shouldStoreAsBlob) {
1024
1013
  try {
1025
1014
  logger.debug(
1026
1015
  `Storing MCP resource as blob (${approxSize} bytes, ${mimeType})`
1027
1016
  );
1028
- const blobRef = await blobStore.store(fileData, {
1029
- mimeType,
1030
- source: "tool",
1031
- originalName: buildToolBlobName(
1032
- mimeType.startsWith("image/") ? "image" : "file",
1017
+ const blobRef = await artifactStore.store({
1018
+ data: fileData,
1019
+ metadata: {
1033
1020
  mimeType,
1034
- namingOptions,
1035
- resource.title
1036
- )
1021
+ source: "tool",
1022
+ originalName: buildToolBlobName(
1023
+ mimeType.startsWith("image/") ? "image" : "file",
1024
+ mimeType,
1025
+ namingOptions,
1026
+ resource.title
1027
+ )
1028
+ }
1037
1029
  });
1038
1030
  logger.debug(
1039
1031
  `Stored MCP resource blob: ${blobRef.uri} (${approxSize} bytes)`
@@ -1086,21 +1078,24 @@ ${tail}`
1086
1078
  const fileData = getFileData({ data: item.data }, logger);
1087
1079
  const mimeType = item.mimeType;
1088
1080
  const approxSize = typeof fileData === "string" ? Math.floor(fileData.length * 3 / 4) : 0;
1089
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
1081
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
1090
1082
  if (shouldStoreAsBlob) {
1091
1083
  try {
1092
1084
  logger.debug(
1093
1085
  `Storing MCP content item as blob (${approxSize} bytes, ${mimeType})`
1094
1086
  );
1095
- const blobRef = await blobStore.store(fileData, {
1096
- mimeType,
1097
- source: "tool",
1098
- originalName: buildToolBlobName(
1099
- item.type === "image" ? "image" : "file",
1087
+ const blobRef = await artifactStore.store({
1088
+ data: fileData,
1089
+ metadata: {
1100
1090
  mimeType,
1101
- namingOptions,
1102
- item.filename
1103
- )
1091
+ source: "tool",
1092
+ originalName: buildToolBlobName(
1093
+ item.type === "image" ? "image" : "file",
1094
+ mimeType,
1095
+ namingOptions,
1096
+ item.filename
1097
+ )
1098
+ }
1104
1099
  });
1105
1100
  logger.debug(
1106
1101
  `Stored MCP blob: ${blobRef.uri} (${approxSize} bytes)`
@@ -1146,13 +1141,16 @@ ${tail}`
1146
1141
  const imageData = getImageData({ image: anyObj.image }, logger);
1147
1142
  const mimeType = anyObj.mimeType || "image/jpeg";
1148
1143
  const approxSize = typeof imageData === "string" ? Math.floor(imageData.length * 3 / 4) : 0;
1149
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
1144
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
1150
1145
  if (shouldStoreAsBlob) {
1151
1146
  try {
1152
- const blobRef = await blobStore.store(imageData, {
1153
- mimeType,
1154
- source: "tool",
1155
- originalName: buildToolBlobName("image", mimeType, namingOptions)
1147
+ const blobRef = await artifactStore.store({
1148
+ data: imageData,
1149
+ metadata: {
1150
+ mimeType,
1151
+ source: "tool",
1152
+ originalName: buildToolBlobName("image", mimeType, namingOptions)
1153
+ }
1156
1154
  });
1157
1155
  logger.debug(
1158
1156
  `Stored tool image as blob: ${blobRef.uri} (${approxSize} bytes)`
@@ -1176,18 +1174,21 @@ ${tail}`
1176
1174
  const fileData = getFileData({ data: anyObj.data }, logger);
1177
1175
  const mimeType = anyObj.mimeType;
1178
1176
  const approxSize = typeof fileData === "string" ? Math.floor(fileData.length * 3 / 4) : 0;
1179
- const shouldStoreAsBlob = blobStore && approxSize > 1024;
1177
+ const shouldStoreAsBlob = artifactStore && approxSize > 1024;
1180
1178
  if (shouldStoreAsBlob) {
1181
1179
  try {
1182
- const blobRef = await blobStore.store(fileData, {
1183
- mimeType,
1184
- source: "tool",
1185
- originalName: buildToolBlobName(
1186
- "file",
1180
+ const blobRef = await artifactStore.store({
1181
+ data: fileData,
1182
+ metadata: {
1187
1183
  mimeType,
1188
- namingOptions,
1189
- anyObj.filename
1190
- )
1184
+ source: "tool",
1185
+ originalName: buildToolBlobName(
1186
+ "file",
1187
+ mimeType,
1188
+ namingOptions,
1189
+ anyObj.filename
1190
+ )
1191
+ }
1191
1192
  });
1192
1193
  logger.debug(
1193
1194
  `Stored tool file as blob: ${blobRef.uri} (${approxSize} bytes)`
@@ -1279,7 +1280,7 @@ async function sanitizeToolResult(result, options, logger) {
1279
1280
  const persisted = await persistToolMedia(
1280
1281
  normalized,
1281
1282
  {
1282
- ...options.blobStore ? { blobStore: options.blobStore } : {},
1283
+ ...options.artifactStore ? { artifactStore: options.artifactStore } : {},
1283
1284
  toolName: options.toolName,
1284
1285
  toolCallId: options.toolCallId
1285
1286
  },
@@ -1,4 +1,4 @@
1
- import "../chunk-PTJYTZNU.js";
1
+ import "../chunk-C6A6W6XS.js";
2
2
  import { randomUUID } from "crypto";
3
3
  class DextoBaseError extends Error {
4
4
  traceId;
@@ -1,4 +1,4 @@
1
- import "../chunk-PTJYTZNU.js";
1
+ import "../chunk-C6A6W6XS.js";
2
2
  import { DextoBaseError } from "./DextoBaseError.js";
3
3
  class DextoRuntimeError extends DextoBaseError {
4
4
  constructor(code, scope, type, message, context, recovery, traceId) {
@@ -1,4 +1,4 @@
1
- import "../chunk-PTJYTZNU.js";
1
+ import "../chunk-C6A6W6XS.js";
2
2
  import { DextoBaseError } from "./DextoBaseError.js";
3
3
  class DextoValidationError extends DextoBaseError {
4
4
  issues;
@@ -1,4 +1,4 @@
1
- import "../chunk-PTJYTZNU.js";
1
+ import "../chunk-C6A6W6XS.js";
2
2
  import { DextoBaseError } from "./DextoBaseError.js";
3
3
  import { DextoRuntimeError } from "./DextoRuntimeError.js";
4
4
  import { DextoValidationError } from "./DextoValidationError.js";
@@ -1,4 +1,4 @@
1
- import "../chunk-PTJYTZNU.js";
1
+ import "../chunk-C6A6W6XS.js";
2
2
  import { DextoValidationError } from "./DextoValidationError.js";
3
3
  function ensureOk(result, logger) {
4
4
  if (result.ok) {
@@ -1,4 +1,4 @@
1
- import "../chunk-PTJYTZNU.js";
1
+ import "../chunk-C6A6W6XS.js";
2
2
  var ErrorScope = /* @__PURE__ */ ((ErrorScope2) => {
3
3
  ErrorScope2["LLM"] = "llm";
4
4
  ErrorScope2["AGENT"] = "agent";
@@ -72,6 +72,7 @@ const FORWARDED_SESSION_EVENT_NAMES = [
72
72
  "llm:tool-call",
73
73
  "llm:tool-call-partial",
74
74
  "llm:tool-result",
75
+ "llm:retrying",
75
76
  "llm:error",
76
77
  "llm:unsupported-input",
77
78
  "tool:running",
@@ -97,6 +98,7 @@ const STREAMING_EVENTS = [
97
98
  "llm:tool-call",
98
99
  "llm:tool-call-partial",
99
100
  "llm:tool-result",
101
+ "llm:retrying",
100
102
  "llm:error",
101
103
  "llm:unsupported-input",
102
104
  // Tool execution events
@@ -112,7 +114,7 @@ const STREAMING_EVENTS = [
112
114
  "run:complete",
113
115
  // Session metadata
114
116
  "session:title-updated",
115
- // Approval events (needed for tool confirmation in streaming UIs)
117
+ // Approval events (needed for tool approval in streaming UIs)
116
118
  "approval:request",
117
119
  "approval:response",
118
120
  // Service events (extensible pattern for non-core services)
@@ -334,6 +336,12 @@ function forwardSessionEventsToAgentBus({
334
336
  withForwardedSessionContext(payload, sessionId, hostRuntime)
335
337
  );
336
338
  });
339
+ on("llm:retrying", (payload) => {
340
+ agentEventBus.emit(
341
+ "llm:retrying",
342
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
343
+ );
344
+ });
337
345
  on("llm:error", (payload) => {
338
346
  agentEventBus.emit(
339
347
  "llm:error",