@dexto/core 1.7.2 → 1.8.1

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 (616) hide show
  1. package/dist/agent/DextoAgent.cjs +163 -77
  2. package/dist/agent/DextoAgent.d.ts +73 -19
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +165 -67
  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/agent/types.d.ts +1 -1
  17. package/dist/agent/types.d.ts.map +1 -1
  18. package/dist/approval/error-codes.cjs +1 -1
  19. package/dist/approval/error-codes.d.ts +1 -1
  20. package/dist/approval/error-codes.d.ts.map +1 -1
  21. package/dist/approval/error-codes.js +2 -2
  22. package/dist/approval/errors.cjs +2 -5
  23. package/dist/approval/errors.d.ts.map +1 -1
  24. package/dist/approval/errors.js +3 -6
  25. package/dist/approval/factory.cjs +19 -4
  26. package/dist/approval/factory.d.ts +4 -1
  27. package/dist/approval/factory.d.ts.map +1 -1
  28. package/dist/approval/factory.js +19 -5
  29. package/dist/approval/index.d.ts +1 -1
  30. package/dist/approval/index.d.ts.map +1 -1
  31. package/dist/approval/index.js +1 -1
  32. package/dist/approval/manager.cjs +168 -26
  33. package/dist/approval/manager.d.ts +46 -12
  34. package/dist/approval/manager.d.ts.map +1 -1
  35. package/dist/approval/manager.js +177 -29
  36. package/dist/approval/schemas.cjs +26 -26
  37. package/dist/approval/schemas.d.ts +29 -29
  38. package/dist/approval/schemas.d.ts.map +1 -1
  39. package/dist/approval/schemas.js +23 -23
  40. package/dist/approval/types.cjs +5 -5
  41. package/dist/approval/types.d.ts +18 -18
  42. package/dist/approval/types.d.ts.map +1 -1
  43. package/dist/approval/types.js +6 -6
  44. package/dist/{chunk-PTJYTZNU.js → chunk-C6A6W6XS.js} +1 -44
  45. package/dist/config/index.cjs +75 -0
  46. package/dist/config/index.d.ts +15 -0
  47. package/dist/config/index.d.ts.map +1 -0
  48. package/dist/config/index.js +50 -0
  49. package/dist/context/compaction/overflow.d.ts +1 -1
  50. package/dist/context/compaction/overflow.d.ts.map +1 -1
  51. package/dist/context/compaction/overflow.js +1 -1
  52. package/dist/context/compaction/strategies/noop.js +1 -1
  53. package/dist/context/compaction/strategies/reactive-overflow-compaction.js +1 -1
  54. package/dist/context/content-clone.cjs +131 -0
  55. package/dist/context/content-clone.d.ts +7 -0
  56. package/dist/context/content-clone.d.ts.map +1 -0
  57. package/dist/context/content-clone.js +104 -0
  58. package/dist/context/error-codes.js +1 -1
  59. package/dist/context/errors.js +1 -1
  60. package/dist/context/index.cjs +2 -0
  61. package/dist/context/index.d.ts +1 -0
  62. package/dist/context/index.d.ts.map +1 -1
  63. package/dist/context/index.js +2 -1
  64. package/dist/context/manager.cjs +52 -41
  65. package/dist/context/manager.d.ts +8 -8
  66. package/dist/context/manager.d.ts.map +1 -1
  67. package/dist/context/manager.js +46 -35
  68. package/dist/context/media-helpers.js +1 -1
  69. package/dist/context/schemas.cjs +77 -0
  70. package/dist/context/schemas.d.ts +5 -0
  71. package/dist/context/schemas.d.ts.map +1 -0
  72. package/dist/context/schemas.js +53 -0
  73. package/dist/context/types.d.ts +1 -1
  74. package/dist/context/types.d.ts.map +1 -1
  75. package/dist/context/types.js +1 -1
  76. package/dist/context/utils.cjs +73 -72
  77. package/dist/context/utils.d.ts +4 -4
  78. package/dist/context/utils.d.ts.map +1 -1
  79. package/dist/context/utils.js +72 -71
  80. package/dist/errors/DextoBaseError.js +1 -1
  81. package/dist/errors/DextoRuntimeError.js +1 -1
  82. package/dist/errors/DextoValidationError.js +1 -1
  83. package/dist/errors/index.js +1 -1
  84. package/dist/errors/result-bridge.js +1 -1
  85. package/dist/errors/types.js +1 -1
  86. package/dist/events/index.cjs +9 -1
  87. package/dist/events/index.d.ts +22 -10
  88. package/dist/events/index.d.ts.map +1 -1
  89. package/dist/events/index.js +10 -2
  90. package/dist/hooks/builtins/content-policy.js +1 -1
  91. package/dist/hooks/builtins/response-sanitizer.js +1 -1
  92. package/dist/hooks/error-codes.js +1 -1
  93. package/dist/hooks/index.js +1 -1
  94. package/dist/hooks/manager.cjs +1 -1
  95. package/dist/hooks/manager.d.ts +2 -2
  96. package/dist/hooks/manager.d.ts.map +1 -1
  97. package/dist/hooks/manager.js +2 -2
  98. package/dist/hooks/types.d.ts +2 -2
  99. package/dist/hooks/types.d.ts.map +1 -1
  100. package/dist/index.browser.cjs +9 -9
  101. package/dist/index.browser.d.ts +4 -4
  102. package/dist/index.browser.d.ts.map +1 -1
  103. package/dist/index.browser.js +2 -2
  104. package/dist/index.cjs +2 -0
  105. package/dist/index.d.ts +1 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -1
  108. package/dist/llm/curation-config.cjs +3 -3
  109. package/dist/llm/curation-config.d.ts +1 -1
  110. package/dist/llm/curation-config.js +4 -4
  111. package/dist/llm/curation.cjs +2 -2
  112. package/dist/llm/curation.d.ts +2 -2
  113. package/dist/llm/curation.d.ts.map +1 -1
  114. package/dist/llm/curation.js +2 -2
  115. package/dist/llm/error-codes.js +1 -1
  116. package/dist/llm/errors.cjs +3 -3
  117. package/dist/llm/errors.d.ts +1 -1
  118. package/dist/llm/errors.d.ts.map +1 -1
  119. package/dist/llm/errors.js +2 -2
  120. package/dist/llm/{reasoning/anthropic-betas.cjs → executor/index.cjs} +10 -9
  121. package/dist/llm/executor/index.d.ts +2 -0
  122. package/dist/llm/executor/index.d.ts.map +1 -0
  123. package/dist/llm/executor/index.js +11 -0
  124. package/dist/llm/executor/provider-options.cjs +22 -25
  125. package/dist/llm/executor/provider-options.d.ts +1 -1
  126. package/dist/llm/executor/provider-options.d.ts.map +1 -1
  127. package/dist/llm/executor/provider-options.js +18 -17
  128. package/dist/llm/executor/stream-processor.cjs +28 -139
  129. package/dist/llm/executor/stream-processor.d.ts +3 -14
  130. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  131. package/dist/llm/executor/stream-processor.js +29 -140
  132. package/dist/llm/{reasoning/profiles/openai.cjs → executor/tool-definitions.cjs} +22 -18
  133. package/dist/llm/executor/tool-definitions.d.ts +4 -0
  134. package/dist/llm/executor/tool-definitions.d.ts.map +1 -0
  135. package/dist/llm/executor/tool-definitions.js +22 -0
  136. package/dist/llm/executor/tool-output-truncator.js +1 -1
  137. package/dist/llm/executor/turn-executor.cjs +1093 -458
  138. package/dist/llm/executor/turn-executor.d.ts +269 -43
  139. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  140. package/dist/llm/executor/turn-executor.js +1079 -405
  141. package/dist/llm/executor/types.d.ts +7 -1
  142. package/dist/llm/executor/types.d.ts.map +1 -1
  143. package/dist/llm/formatters/vercel.cjs +2 -2
  144. package/dist/llm/formatters/vercel.d.ts +1 -1
  145. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  146. package/dist/llm/formatters/vercel.js +1 -1
  147. package/dist/llm/index.cjs +2 -4
  148. package/dist/llm/index.d.ts +1 -2
  149. package/dist/llm/index.d.ts.map +1 -1
  150. package/dist/llm/index.js +2 -3
  151. package/dist/llm/providers/codex-app-server.cjs +22 -2
  152. package/dist/llm/providers/codex-app-server.d.ts.map +1 -1
  153. package/dist/llm/providers/codex-app-server.js +23 -3
  154. package/dist/llm/providers/codex-base-url.js +1 -1
  155. package/dist/llm/providers/local/ai-sdk-adapter.js +1 -1
  156. package/dist/llm/providers/local/downloader.js +1 -1
  157. package/dist/llm/providers/local/error-codes.js +1 -1
  158. package/dist/llm/providers/local/errors.js +1 -1
  159. package/dist/llm/providers/local/gpu-detector.js +1 -1
  160. package/dist/llm/providers/local/index.js +1 -1
  161. package/dist/llm/providers/local/node-llama-provider.js +1 -1
  162. package/dist/llm/providers/local/ollama-provider.js +1 -1
  163. package/dist/llm/providers/local/registry.js +1 -1
  164. package/dist/llm/providers/local/schemas.js +1 -1
  165. package/dist/llm/providers/openrouter-model-registry.js +1 -1
  166. package/dist/llm/registry/auto-update.cjs +5 -5
  167. package/dist/llm/registry/auto-update.d.ts.map +1 -1
  168. package/dist/llm/registry/auto-update.js +3 -3
  169. package/dist/llm/registry/index.cjs +96 -789
  170. package/dist/llm/registry/index.d.ts +4 -323
  171. package/dist/llm/registry/index.d.ts.map +1 -1
  172. package/dist/llm/registry/index.js +100 -763
  173. package/dist/llm/registry/sync.d.ts +2 -2
  174. package/dist/llm/registry/sync.d.ts.map +1 -1
  175. package/dist/llm/registry/sync.js +1 -1
  176. package/dist/llm/resolver.cjs +7 -6
  177. package/dist/llm/resolver.d.ts +1 -1
  178. package/dist/llm/resolver.js +5 -5
  179. package/dist/llm/schemas.cjs +14 -14
  180. package/dist/llm/schemas.d.ts +1 -1
  181. package/dist/llm/schemas.d.ts.map +1 -1
  182. package/dist/llm/schemas.js +6 -5
  183. package/dist/llm/services/factory.cjs +13 -15
  184. package/dist/llm/services/factory.d.ts +3 -3
  185. package/dist/llm/services/factory.d.ts.map +1 -1
  186. package/dist/llm/services/factory.js +16 -16
  187. package/dist/llm/services/types.d.ts +11 -2
  188. package/dist/llm/services/types.d.ts.map +1 -1
  189. package/dist/llm/services/vercel.cjs +23 -8
  190. package/dist/llm/services/vercel.d.ts +11 -7
  191. package/dist/llm/services/vercel.d.ts.map +1 -1
  192. package/dist/llm/services/vercel.js +24 -9
  193. package/dist/llm/usage-metadata.cjs +23 -6
  194. package/dist/llm/usage-metadata.d.ts +3 -2
  195. package/dist/llm/usage-metadata.d.ts.map +1 -1
  196. package/dist/llm/usage-metadata.js +20 -7
  197. package/dist/llm/usage-scope.js +1 -1
  198. package/dist/llm/usage-summary.d.ts +1 -1
  199. package/dist/llm/usage-summary.js +1 -1
  200. package/dist/llm/validation.cjs +4 -4
  201. package/dist/llm/validation.d.ts +1 -1
  202. package/dist/llm/validation.js +2 -2
  203. package/dist/logger/browser.js +1 -1
  204. package/dist/logger/default-logger-factory.js +1 -1
  205. package/dist/logger/factory.js +1 -1
  206. package/dist/logger/index.js +1 -1
  207. package/dist/logger/logger.js +1 -1
  208. package/dist/logger/v2/dexto-logger.js +1 -1
  209. package/dist/logger/v2/error-codes.js +1 -1
  210. package/dist/logger/v2/errors.js +1 -1
  211. package/dist/logger/v2/schemas.js +1 -1
  212. package/dist/logger/v2/test-utils.js +1 -1
  213. package/dist/logger/v2/transport-factory.js +1 -1
  214. package/dist/logger/v2/transports/console-transport.js +1 -1
  215. package/dist/logger/v2/transports/file-transport.js +1 -1
  216. package/dist/logger/v2/transports/silent-transport.js +1 -1
  217. package/dist/logger/v2/types.js +1 -1
  218. package/dist/mcp/bundled-config.js +1 -1
  219. package/dist/mcp/error-codes.js +1 -1
  220. package/dist/mcp/errors.js +1 -1
  221. package/dist/mcp/index.js +1 -1
  222. package/dist/mcp/manager.js +1 -1
  223. package/dist/mcp/mcp-client.js +1 -1
  224. package/dist/mcp/resolver.js +1 -1
  225. package/dist/mcp/schemas.js +1 -1
  226. package/dist/memory/error-codes.js +1 -1
  227. package/dist/memory/errors.js +1 -1
  228. package/dist/memory/index.js +1 -1
  229. package/dist/memory/manager.cjs +7 -27
  230. package/dist/memory/manager.d.ts +4 -12
  231. package/dist/memory/manager.d.ts.map +1 -1
  232. package/dist/memory/manager.js +8 -28
  233. package/dist/memory/schemas.js +1 -1
  234. package/dist/prompts/error-codes.js +1 -1
  235. package/dist/prompts/errors.js +1 -1
  236. package/dist/prompts/index.js +1 -1
  237. package/dist/prompts/name-validation.js +1 -1
  238. package/dist/prompts/prompt-manager.cjs +9 -38
  239. package/dist/prompts/prompt-manager.d.ts +2 -10
  240. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  241. package/dist/prompts/prompt-manager.js +10 -39
  242. package/dist/prompts/providers/config-prompt-provider.cjs +8 -87
  243. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  244. package/dist/prompts/providers/config-prompt-provider.js +9 -88
  245. package/dist/prompts/providers/custom-prompt-provider.cjs +21 -22
  246. package/dist/prompts/providers/custom-prompt-provider.d.ts +19 -4
  247. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  248. package/dist/prompts/providers/custom-prompt-provider.js +22 -23
  249. package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
  250. package/dist/prompts/schemas.cjs +2 -24
  251. package/dist/prompts/schemas.d.ts +0 -52
  252. package/dist/prompts/schemas.d.ts.map +1 -1
  253. package/dist/prompts/schemas.js +3 -25
  254. package/dist/prompts/types.d.ts +5 -32
  255. package/dist/prompts/types.d.ts.map +1 -1
  256. package/dist/prompts/utils.js +1 -1
  257. package/dist/resources/agent-resources-provider.js +1 -1
  258. package/dist/resources/error-codes.js +1 -1
  259. package/dist/resources/errors.js +1 -1
  260. package/dist/resources/handlers/blob-handler.cjs +14 -11
  261. package/dist/resources/handlers/blob-handler.d.ts +4 -4
  262. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  263. package/dist/resources/handlers/blob-handler.js +15 -12
  264. package/dist/resources/handlers/factory.cjs +3 -3
  265. package/dist/resources/handlers/factory.js +4 -4
  266. package/dist/resources/handlers/filesystem-handler.js +1 -1
  267. package/dist/resources/handlers/types.d.ts +2 -2
  268. package/dist/resources/handlers/types.d.ts.map +1 -1
  269. package/dist/resources/index.js +1 -1
  270. package/dist/resources/manager.cjs +10 -7
  271. package/dist/resources/manager.d.ts +4 -4
  272. package/dist/resources/manager.d.ts.map +1 -1
  273. package/dist/resources/manager.js +11 -8
  274. package/dist/resources/reference-parser.js +1 -1
  275. package/dist/resources/schemas.cjs +1 -1
  276. package/dist/resources/schemas.d.ts +2 -2
  277. package/dist/resources/schemas.js +2 -2
  278. package/dist/runtime/host-runtime.js +1 -1
  279. package/dist/runtime/index.cjs +3 -0
  280. package/dist/runtime/index.d.ts +2 -0
  281. package/dist/runtime/index.d.ts.map +1 -1
  282. package/dist/runtime/index.js +3 -1
  283. package/dist/runtime/run-context.js +1 -1
  284. package/dist/search/index.js +1 -1
  285. package/dist/search/search-service.cjs +6 -13
  286. package/dist/search/search-service.d.ts +5 -3
  287. package/dist/search/search-service.d.ts.map +1 -1
  288. package/dist/search/search-service.js +7 -14
  289. package/dist/session/chat-session.cjs +264 -108
  290. package/dist/session/chat-session.d.ts +75 -21
  291. package/dist/session/chat-session.d.ts.map +1 -1
  292. package/dist/session/chat-session.js +268 -108
  293. package/dist/session/error-codes.js +1 -1
  294. package/dist/session/errors.js +1 -1
  295. package/dist/session/index.cjs +19 -2
  296. package/dist/session/index.d.ts +4 -3
  297. package/dist/session/index.d.ts.map +1 -1
  298. package/dist/session/index.js +19 -3
  299. package/dist/session/message-queue.cjs +82 -51
  300. package/dist/session/message-queue.d.ts +13 -8
  301. package/dist/session/message-queue.d.ts.map +1 -1
  302. package/dist/session/message-queue.js +83 -52
  303. package/dist/session/queue-clone.cjs +50 -0
  304. package/dist/session/queue-clone.d.ts +5 -0
  305. package/dist/session/queue-clone.d.ts.map +1 -0
  306. package/dist/session/queue-clone.js +25 -0
  307. package/dist/session/schemas.cjs +74 -2
  308. package/dist/session/schemas.d.ts +94 -0
  309. package/dist/session/schemas.d.ts.map +1 -1
  310. package/dist/session/schemas.js +69 -2
  311. package/dist/session/session-manager.cjs +107 -123
  312. package/dist/session/session-manager.d.ts +8 -7
  313. package/dist/session/session-manager.d.ts.map +1 -1
  314. package/dist/session/session-manager.js +108 -124
  315. package/dist/session/title-generator.cjs +14 -26
  316. package/dist/session/title-generator.d.ts +4 -6
  317. package/dist/session/title-generator.d.ts.map +1 -1
  318. package/dist/session/title-generator.js +16 -28
  319. package/dist/session/types.cjs +28 -0
  320. package/dist/session/types.d.ts +5 -1
  321. package/dist/session/types.d.ts.map +1 -1
  322. package/dist/session/types.js +19 -0
  323. package/dist/{session/history/factory.cjs → skills/index.cjs} +9 -9
  324. package/dist/skills/index.d.ts +4 -0
  325. package/dist/skills/index.d.ts.map +1 -0
  326. package/dist/skills/index.js +7 -0
  327. package/dist/skills/skill-manager.cjs +76 -0
  328. package/dist/skills/skill-manager.d.ts +13 -0
  329. package/dist/skills/skill-manager.d.ts.map +1 -0
  330. package/dist/skills/skill-manager.js +53 -0
  331. package/dist/skills/types.d.ts +24 -0
  332. package/dist/skills/types.d.ts.map +1 -0
  333. package/dist/skills/workspace-skill-source.cjs +120 -0
  334. package/dist/skills/workspace-skill-source.d.ts +16 -0
  335. package/dist/skills/workspace-skill-source.d.ts.map +1 -0
  336. package/dist/skills/workspace-skill-source.js +97 -0
  337. package/dist/{llm → storage/approvals}/types.cjs +13 -30
  338. package/dist/storage/approvals/types.d.ts +54 -0
  339. package/dist/storage/approvals/types.d.ts.map +1 -0
  340. package/dist/storage/approvals/types.js +14 -0
  341. package/dist/storage/artifacts/types.d.ts +73 -0
  342. package/dist/storage/artifacts/types.d.ts.map +1 -0
  343. package/dist/storage/conversation/database.cjs +233 -0
  344. package/dist/storage/conversation/database.d.ts +38 -0
  345. package/dist/storage/conversation/database.d.ts.map +1 -0
  346. package/dist/storage/conversation/database.js +210 -0
  347. package/dist/storage/conversation/types.cjs +16 -0
  348. package/dist/storage/conversation/types.d.ts +21 -0
  349. package/dist/storage/conversation/types.d.ts.map +1 -0
  350. package/dist/storage/conversation/types.js +0 -0
  351. package/dist/storage/database/types.d.ts +4 -0
  352. package/dist/storage/database/types.d.ts.map +1 -1
  353. package/dist/storage/error-codes.js +1 -1
  354. package/dist/storage/errors.cjs +6 -6
  355. package/dist/storage/errors.d.ts +2 -2
  356. package/dist/storage/errors.js +7 -7
  357. package/dist/storage/index.cjs +42 -5
  358. package/dist/storage/index.d.ts +19 -8
  359. package/dist/storage/index.d.ts.map +1 -1
  360. package/dist/storage/index.js +39 -4
  361. package/dist/storage/memories/types.cjs +16 -0
  362. package/dist/storage/memories/types.d.ts +17 -0
  363. package/dist/storage/memories/types.d.ts.map +1 -0
  364. package/dist/storage/memories/types.js +0 -0
  365. package/dist/storage/message-queue/types.cjs +16 -0
  366. package/dist/storage/message-queue/types.d.ts +15 -0
  367. package/dist/storage/message-queue/types.d.ts.map +1 -0
  368. package/dist/storage/message-queue/types.js +0 -0
  369. package/dist/storage/prompts/types.cjs +16 -0
  370. package/dist/storage/prompts/types.d.ts +14 -0
  371. package/dist/storage/prompts/types.d.ts.map +1 -0
  372. package/dist/storage/prompts/types.js +0 -0
  373. package/dist/storage/runtime-events/types.cjs +16 -0
  374. package/dist/storage/runtime-events/types.d.ts +19 -0
  375. package/dist/storage/runtime-events/types.d.ts.map +1 -0
  376. package/dist/storage/runtime-events/types.js +0 -0
  377. package/dist/storage/sessions/types.cjs +16 -0
  378. package/dist/storage/sessions/types.d.ts +19 -0
  379. package/dist/storage/sessions/types.d.ts.map +1 -0
  380. package/dist/storage/sessions/types.js +0 -0
  381. package/dist/storage/stores/backend.cjs +702 -0
  382. package/dist/storage/stores/backend.d.ts +303 -0
  383. package/dist/storage/stores/backend.d.ts.map +1 -0
  384. package/dist/storage/stores/backend.js +677 -0
  385. package/dist/storage/stores/in-memory.cjs +510 -0
  386. package/dist/storage/stores/in-memory.d.ts +11 -0
  387. package/dist/storage/stores/in-memory.d.ts.map +1 -0
  388. package/dist/storage/stores/in-memory.js +487 -0
  389. package/dist/storage/stores/types.cjs +16 -0
  390. package/dist/storage/stores/types.d.ts +36 -0
  391. package/dist/storage/stores/types.d.ts.map +1 -0
  392. package/dist/storage/stores/types.js +0 -0
  393. package/dist/storage/tool-executions/types.cjs +127 -0
  394. package/dist/storage/tool-executions/types.d.ts +193 -0
  395. package/dist/storage/tool-executions/types.d.ts.map +1 -0
  396. package/dist/storage/tool-executions/types.js +96 -0
  397. package/dist/storage/tool-preferences/types.cjs +16 -0
  398. package/dist/storage/tool-preferences/types.d.ts +29 -0
  399. package/dist/storage/tool-preferences/types.d.ts.map +1 -0
  400. package/dist/storage/tool-preferences/types.js +0 -0
  401. package/dist/storage/tool-state/types.cjs +16 -0
  402. package/dist/storage/tool-state/types.d.ts +20 -0
  403. package/dist/storage/tool-state/types.d.ts.map +1 -0
  404. package/dist/storage/tool-state/types.js +0 -0
  405. package/dist/storage/workspaces/types.cjs +16 -0
  406. package/dist/storage/workspaces/types.d.ts +19 -0
  407. package/dist/storage/workspaces/types.d.ts.map +1 -0
  408. package/dist/storage/workspaces/types.js +0 -0
  409. package/dist/systemPrompt/contributors.cjs +10 -14
  410. package/dist/systemPrompt/contributors.d.ts +3 -3
  411. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  412. package/dist/systemPrompt/contributors.js +11 -15
  413. package/dist/systemPrompt/error-codes.js +1 -1
  414. package/dist/systemPrompt/errors.js +1 -1
  415. package/dist/systemPrompt/in-built-prompts.js +1 -1
  416. package/dist/systemPrompt/index.js +1 -1
  417. package/dist/systemPrompt/manager.js +1 -1
  418. package/dist/systemPrompt/registry.js +1 -1
  419. package/dist/systemPrompt/schemas.js +1 -1
  420. package/dist/telemetry/decorators.js +1 -1
  421. package/dist/telemetry/error-codes.js +1 -1
  422. package/dist/telemetry/errors.js +1 -1
  423. package/dist/telemetry/exporters.js +1 -1
  424. package/dist/telemetry/index.js +1 -1
  425. package/dist/telemetry/schemas.js +1 -1
  426. package/dist/telemetry/telemetry.js +1 -1
  427. package/dist/telemetry/utils.js +1 -1
  428. package/dist/test-utils/in-memory-storage.cjs +9 -17
  429. package/dist/test-utils/in-memory-storage.js +9 -16
  430. package/dist/test-utils/session-state-stores.cjs +21 -24
  431. package/dist/test-utils/session-state-stores.js +22 -24
  432. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.cjs +1 -1
  433. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.d.ts +2 -2
  434. package/dist/tools/approval/allowed-tools-provider/factory.d.ts.map +1 -0
  435. package/dist/tools/{confirmation → approval}/allowed-tools-provider/factory.js +2 -2
  436. package/dist/tools/approval/allowed-tools-provider/in-memory.d.ts.map +1 -0
  437. package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.js +1 -1
  438. package/dist/tools/approval/allowed-tools-provider/storage.cjs +66 -0
  439. package/dist/tools/{confirmation → approval}/allowed-tools-provider/storage.d.ts +4 -10
  440. package/dist/tools/approval/allowed-tools-provider/storage.d.ts.map +1 -0
  441. package/dist/tools/approval/allowed-tools-provider/storage.js +43 -0
  442. package/dist/tools/approval/allowed-tools-provider/types.cjs +16 -0
  443. package/dist/tools/approval/allowed-tools-provider/types.d.ts.map +1 -0
  444. package/dist/tools/approval/allowed-tools-provider/types.js +0 -0
  445. package/dist/tools/approval/session-tool-policy.cjs +269 -0
  446. package/dist/tools/approval/session-tool-policy.d.ts +43 -0
  447. package/dist/tools/approval/session-tool-policy.d.ts.map +1 -0
  448. package/dist/tools/approval/session-tool-policy.js +245 -0
  449. package/dist/tools/define-tool.js +1 -1
  450. package/dist/tools/display-types.js +1 -1
  451. package/dist/tools/error-codes.cjs +3 -3
  452. package/dist/tools/error-codes.d.ts +4 -4
  453. package/dist/tools/error-codes.d.ts.map +1 -1
  454. package/dist/tools/error-codes.js +4 -4
  455. package/dist/tools/errors.cjs +12 -12
  456. package/dist/tools/errors.d.ts +6 -6
  457. package/dist/tools/errors.d.ts.map +1 -1
  458. package/dist/tools/errors.js +13 -13
  459. package/dist/tools/index.cjs +3 -0
  460. package/dist/tools/index.d.ts +3 -0
  461. package/dist/tools/index.d.ts.map +1 -1
  462. package/dist/tools/index.js +3 -1
  463. package/dist/tools/pattern-utils.js +1 -1
  464. package/dist/tools/presentation/tool-presentation.cjs +182 -0
  465. package/dist/tools/presentation/tool-presentation.d.ts +51 -0
  466. package/dist/tools/presentation/tool-presentation.d.ts.map +1 -0
  467. package/dist/tools/presentation/tool-presentation.js +159 -0
  468. package/dist/tools/presentation.js +1 -1
  469. package/dist/tools/schemas.cjs +5 -10
  470. package/dist/tools/schemas.d.ts +1 -4
  471. package/dist/tools/schemas.d.ts.map +1 -1
  472. package/dist/tools/schemas.js +6 -11
  473. package/dist/tools/session-tool-preferences-store.cjs +12 -28
  474. package/dist/tools/session-tool-preferences-store.d.ts +4 -7
  475. package/dist/tools/session-tool-preferences-store.d.ts.map +1 -1
  476. package/dist/tools/session-tool-preferences-store.js +12 -29
  477. package/dist/tools/tool-call-metadata.js +1 -1
  478. package/dist/tools/tool-manager.cjs +871 -834
  479. package/dist/tools/tool-manager.d.ts +94 -96
  480. package/dist/tools/tool-manager.d.ts.map +1 -1
  481. package/dist/tools/tool-manager.js +876 -833
  482. package/dist/tools/types.d.ts +10 -14
  483. package/dist/tools/types.d.ts.map +1 -1
  484. package/dist/utils/api-key-resolver.d.ts +1 -1
  485. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  486. package/dist/utils/api-key-resolver.js +1 -1
  487. package/dist/utils/async-context.js +1 -1
  488. package/dist/utils/debug.js +1 -1
  489. package/dist/utils/defer.js +1 -1
  490. package/dist/utils/env.js +1 -1
  491. package/dist/utils/error-conversion.js +1 -1
  492. package/dist/utils/execution-context.js +1 -1
  493. package/dist/utils/fs-walk.js +1 -1
  494. package/dist/utils/path.js +1 -1
  495. package/dist/utils/redactor.js +1 -1
  496. package/dist/utils/result.js +1 -1
  497. package/dist/utils/safe-stringify.js +1 -1
  498. package/dist/utils/schema.js +1 -1
  499. package/dist/utils/service-initializer.cjs +37 -33
  500. package/dist/utils/service-initializer.d.ts +9 -5
  501. package/dist/utils/service-initializer.d.ts.map +1 -1
  502. package/dist/utils/service-initializer.js +38 -34
  503. package/dist/utils/zod-schema-converter.js +1 -1
  504. package/dist/workspace/error-codes.cjs +5 -1
  505. package/dist/workspace/error-codes.d.ts +4 -0
  506. package/dist/workspace/error-codes.d.ts.map +1 -1
  507. package/dist/workspace/error-codes.js +6 -2
  508. package/dist/workspace/errors.cjs +43 -0
  509. package/dist/workspace/errors.d.ts +9 -0
  510. package/dist/workspace/errors.d.ts.map +1 -1
  511. package/dist/workspace/errors.js +44 -1
  512. package/dist/workspace/index.d.ts +1 -1
  513. package/dist/workspace/index.d.ts.map +1 -1
  514. package/dist/workspace/index.js +1 -1
  515. package/dist/workspace/manager.cjs +21 -29
  516. package/dist/workspace/manager.d.ts +6 -6
  517. package/dist/workspace/manager.d.ts.map +1 -1
  518. package/dist/workspace/manager.js +22 -30
  519. package/dist/workspace/types.d.ts +47 -0
  520. package/dist/workspace/types.d.ts.map +1 -1
  521. package/package.json +116 -3
  522. package/dist/approval/session-approval-store.cjs +0 -91
  523. package/dist/approval/session-approval-store.d.ts +0 -37
  524. package/dist/approval/session-approval-store.d.ts.map +0 -1
  525. package/dist/approval/session-approval-store.js +0 -68
  526. package/dist/llm/reasoning/anthropic-betas.d.ts +0 -3
  527. package/dist/llm/reasoning/anthropic-betas.d.ts.map +0 -1
  528. package/dist/llm/reasoning/anthropic-betas.js +0 -7
  529. package/dist/llm/reasoning/anthropic-thinking.cjs +0 -79
  530. package/dist/llm/reasoning/anthropic-thinking.d.ts +0 -15
  531. package/dist/llm/reasoning/anthropic-thinking.d.ts.map +0 -1
  532. package/dist/llm/reasoning/anthropic-thinking.js +0 -52
  533. package/dist/llm/reasoning/openai-reasoning-effort.cjs +0 -86
  534. package/dist/llm/reasoning/openai-reasoning-effort.d.ts +0 -5
  535. package/dist/llm/reasoning/openai-reasoning-effort.d.ts.map +0 -1
  536. package/dist/llm/reasoning/openai-reasoning-effort.js +0 -61
  537. package/dist/llm/reasoning/profile.cjs +0 -113
  538. package/dist/llm/reasoning/profile.d.ts +0 -13
  539. package/dist/llm/reasoning/profile.d.ts.map +0 -1
  540. package/dist/llm/reasoning/profile.js +0 -92
  541. package/dist/llm/reasoning/profiles/anthropic.cjs +0 -61
  542. package/dist/llm/reasoning/profiles/anthropic.d.ts +0 -8
  543. package/dist/llm/reasoning/profiles/anthropic.d.ts.map +0 -1
  544. package/dist/llm/reasoning/profiles/anthropic.js +0 -45
  545. package/dist/llm/reasoning/profiles/bedrock.cjs +0 -54
  546. package/dist/llm/reasoning/profiles/bedrock.d.ts +0 -3
  547. package/dist/llm/reasoning/profiles/bedrock.d.ts.map +0 -1
  548. package/dist/llm/reasoning/profiles/bedrock.js +0 -36
  549. package/dist/llm/reasoning/profiles/google.cjs +0 -45
  550. package/dist/llm/reasoning/profiles/google.d.ts +0 -9
  551. package/dist/llm/reasoning/profiles/google.d.ts.map +0 -1
  552. package/dist/llm/reasoning/profiles/google.js +0 -21
  553. package/dist/llm/reasoning/profiles/openai-compatible.cjs +0 -39
  554. package/dist/llm/reasoning/profiles/openai-compatible.d.ts +0 -3
  555. package/dist/llm/reasoning/profiles/openai-compatible.d.ts.map +0 -1
  556. package/dist/llm/reasoning/profiles/openai-compatible.js +0 -16
  557. package/dist/llm/reasoning/profiles/openai.d.ts +0 -3
  558. package/dist/llm/reasoning/profiles/openai.d.ts.map +0 -1
  559. package/dist/llm/reasoning/profiles/openai.js +0 -18
  560. package/dist/llm/reasoning/profiles/openrouter.cjs +0 -83
  561. package/dist/llm/reasoning/profiles/openrouter.d.ts +0 -10
  562. package/dist/llm/reasoning/profiles/openrouter.d.ts.map +0 -1
  563. package/dist/llm/reasoning/profiles/openrouter.js +0 -59
  564. package/dist/llm/reasoning/profiles/shared.cjs +0 -80
  565. package/dist/llm/reasoning/profiles/shared.d.ts +0 -25
  566. package/dist/llm/reasoning/profiles/shared.d.ts.map +0 -1
  567. package/dist/llm/reasoning/profiles/shared.js +0 -53
  568. package/dist/llm/reasoning/profiles/vertex.cjs +0 -46
  569. package/dist/llm/reasoning/profiles/vertex.d.ts +0 -3
  570. package/dist/llm/reasoning/profiles/vertex.d.ts.map +0 -1
  571. package/dist/llm/reasoning/profiles/vertex.js +0 -23
  572. package/dist/llm/registry/models.generated.cjs +0 -10741
  573. package/dist/llm/registry/models.generated.d.ts +0 -2945
  574. package/dist/llm/registry/models.generated.d.ts.map +0 -1
  575. package/dist/llm/registry/models.generated.js +0 -10717
  576. package/dist/llm/registry/models.manual.cjs +0 -44
  577. package/dist/llm/registry/models.manual.d.ts +0 -22
  578. package/dist/llm/registry/models.manual.d.ts.map +0 -1
  579. package/dist/llm/registry/models.manual.js +0 -21
  580. package/dist/llm/types.d.ts +0 -39
  581. package/dist/llm/types.d.ts.map +0 -1
  582. package/dist/llm/types.js +0 -30
  583. package/dist/session/history/database.cjs +0 -232
  584. package/dist/session/history/database.d.ts +0 -41
  585. package/dist/session/history/database.d.ts.map +0 -1
  586. package/dist/session/history/database.js +0 -209
  587. package/dist/session/history/factory.d.ts +0 -11
  588. package/dist/session/history/factory.d.ts.map +0 -1
  589. package/dist/session/history/factory.js +0 -8
  590. package/dist/session/history/memory.cjs +0 -57
  591. package/dist/session/history/memory.d.ts +0 -22
  592. package/dist/session/history/memory.d.ts.map +0 -1
  593. package/dist/session/history/memory.js +0 -34
  594. package/dist/session/history/types.d.ts +0 -26
  595. package/dist/session/history/types.d.ts.map +0 -1
  596. package/dist/session/message-queue-store.cjs +0 -75
  597. package/dist/session/message-queue-store.d.ts +0 -16
  598. package/dist/session/message-queue-store.d.ts.map +0 -1
  599. package/dist/session/message-queue-store.js +0 -52
  600. package/dist/storage/storage-manager.cjs +0 -209
  601. package/dist/storage/storage-manager.d.ts +0 -77
  602. package/dist/storage/storage-manager.d.ts.map +0 -1
  603. package/dist/storage/storage-manager.js +0 -186
  604. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +0 -1
  605. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +0 -1
  606. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +0 -69
  607. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +0 -1
  608. package/dist/tools/confirmation/allowed-tools-provider/storage.js +0 -46
  609. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +0 -1
  610. /package/dist/{session/history → skills}/types.cjs +0 -0
  611. /package/dist/{session/history → skills}/types.js +0 -0
  612. /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.cjs +0 -0
  613. /package/dist/{tools/confirmation/allowed-tools-provider → storage/artifacts}/types.js +0 -0
  614. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.cjs +0 -0
  615. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/in-memory.d.ts +0 -0
  616. /package/dist/tools/{confirmation → approval}/allowed-tools-provider/types.d.ts +0 -0
@@ -3,7 +3,6 @@ var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
7
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
9
8
  var __typeError = (msg) => {
@@ -23,14 +22,6 @@ var __copyProps = (to, from, except, desc) => {
23
22
  }
24
23
  return to;
25
24
  };
26
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27
- // If the importer is in node compatibility mode or this is not an ESM
28
- // file that has been converted to a CommonJS file using a Babel-
29
- // compatible transform (i.e. "__esModule" has not been set), then set
30
- // "default" to the CommonJS "module.exports" for node compatibility.
31
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32
- mod
33
- ));
34
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
26
  var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
36
27
  var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
@@ -79,9 +70,9 @@ var import_crypto = require("crypto");
79
70
  var import_events = require("events");
80
71
  var import_zod = require("zod");
81
72
  var import_contributors = require("../systemPrompt/contributors.js");
73
+ var import_skills = require("../skills/index.js");
82
74
  var import_resources = require("../resources/index.js");
83
75
  var import_utils = require("../context/utils.js");
84
- var import_storage = require("../storage/index.js");
85
76
  var import_prompts = require("../prompts/index.js");
86
77
  var import_session = require("../session/index.js");
87
78
  var import_decorators = require("../telemetry/decorators.js");
@@ -97,6 +88,7 @@ var import_DextoValidationError = require("../errors/DextoValidationError.js");
97
88
  var import_result_bridge = require("../errors/result-bridge.js");
98
89
  var import_result = require("../utils/result.js");
99
90
  var import_resolver2 = require("../mcp/resolver.js");
91
+ var import_llm = require("@dexto/llm");
100
92
  var import_registry = require("../llm/registry/index.js");
101
93
  var import_service_initializer2 = require("../utils/service-initializer.js");
102
94
  var import_schemas = require("../llm/schemas.js");
@@ -153,6 +145,7 @@ let _DextoAgent = class _DextoAgent {
153
145
  systemPromptManager;
154
146
  agentEventBus;
155
147
  promptManager;
148
+ skillManager;
156
149
  stateManager;
157
150
  sessionManager;
158
151
  workspaceManager;
@@ -171,7 +164,7 @@ let _DextoAgent = class _DextoAgent {
171
164
  eventSubscribers = /* @__PURE__ */ new Set();
172
165
  // Telemetry instance for distributed tracing
173
166
  telemetry;
174
- // Approval handler for manual tool confirmation and elicitation
167
+ // Approval handler for manual tool approval and elicitation
175
168
  // Set via setApprovalHandler() before start() if needed
176
169
  approvalHandler;
177
170
  mcpAuthProviderFactory = null;
@@ -182,6 +175,7 @@ let _DextoAgent = class _DextoAgent {
182
175
  toolkitLoader;
183
176
  loadedToolkits = /* @__PURE__ */ new Set();
184
177
  loadingToolkits = /* @__PURE__ */ new Set();
178
+ skillSources;
185
179
  // DI-provided local tools.
186
180
  tools;
187
181
  compactionStrategy;
@@ -231,7 +225,7 @@ let _DextoAgent = class _DextoAgent {
231
225
  constructor(options) {
232
226
  const {
233
227
  logger,
234
- storage,
228
+ stores,
235
229
  tools: toolsInput,
236
230
  hooks: hooksInput,
237
231
  compaction,
@@ -245,21 +239,15 @@ let _DextoAgent = class _DextoAgent {
245
239
  this.tools = tools;
246
240
  this.compactionStrategy = compaction ?? null;
247
241
  const overrides = { ...overridesInput ?? {} };
248
- if (overrides.storageManager === void 0) {
249
- overrides.storageManager = new import_storage.StorageManager(
250
- {
251
- cache: storage.cache,
252
- database: storage.database,
253
- blobStore: storage.blob
254
- },
255
- this.logger
256
- );
242
+ if (overrides.stores === void 0) {
243
+ overrides.stores = stores;
257
244
  }
258
245
  if (overrides.hooks === void 0) {
259
246
  overrides.hooks = hooks;
260
247
  }
261
248
  this.overrides = overrides;
262
249
  this.toolkitLoader = options.toolkitLoader;
250
+ this.skillSources = options.skillSources ?? [];
263
251
  if (overrides.mcpAuthProviderFactory !== void 0) {
264
252
  this.mcpAuthProviderFactory = overrides.mcpAuthProviderFactory;
265
253
  }
@@ -309,7 +297,7 @@ let _DextoAgent = class _DextoAgent {
309
297
  `An approval handler is required but not configured (${reasons.join(" and ")}).
310
298
  Either:
311
299
  \u2022 Call agent.setApprovalHandler() before starting
312
- \u2022 Set permissions: { mode: "auto-approve" } or { mode: "auto-deny" }
300
+ \u2022 Set permissions: { mode: "auto-approve" }
313
301
  \u2022 Disable elicitation: { enabled: false }`
314
302
  );
315
303
  }
@@ -332,23 +320,24 @@ Either:
332
320
  this.resourceManager,
333
321
  this.config,
334
322
  this.agentEventBus,
335
- services.storageManager.getDatabase(),
323
+ services.stores,
336
324
  this.logger
337
325
  );
338
326
  await promptManager.initialize();
339
- Object.assign(this, { promptManager });
340
- const toolExecutionStorage = {
341
- blob: services.storageManager.getBlobStore(),
342
- database: services.storageManager.getDatabase(),
343
- cache: services.storageManager.getCache()
344
- };
327
+ const skillManager = new import_skills.CompositeSkillManager([
328
+ ...this.skillSources,
329
+ new import_skills.WorkspaceSkillSource(services.workspaceManager)
330
+ ]);
331
+ Object.assign(this, { promptManager, skillManager });
345
332
  const toolExecutionServices = {
346
333
  approval: services.approvalManager,
347
334
  search: services.searchService,
348
335
  resources: services.resourceManager,
349
336
  prompts: promptManager,
337
+ skills: skillManager,
350
338
  mcp: services.mcpManager,
351
- taskForker: null
339
+ taskForker: null,
340
+ workspaceManager: services.workspaceManager
352
341
  };
353
342
  services.toolManager.setToolExecutionContextFactory((baseContext) => ({
354
343
  ...baseContext,
@@ -356,7 +345,7 @@ Either:
356
345
  hostRuntime: baseContext.runContext.hostRuntime
357
346
  },
358
347
  agent: this,
359
- storage: toolExecutionStorage,
348
+ toolState: services.stores.getStore("toolState"),
360
349
  services: toolExecutionServices
361
350
  }));
362
351
  const agentTools = this.tools;
@@ -365,7 +354,7 @@ Either:
365
354
  "skills",
366
355
  50,
367
356
  // Priority after memories (40) but before most other content
368
- promptManager,
357
+ skillManager,
369
358
  this.logger
370
359
  );
371
360
  services.systemPromptManager.addContributor(skillsContributor);
@@ -451,13 +440,13 @@ Either:
451
440
  shutdownErrors.push(new Error(`ResourceManager cleanup failed: ${err.message}`));
452
441
  }
453
442
  try {
454
- if (this.services?.storageManager) {
455
- await this.services.storageManager.disconnect();
456
- this.logger.debug("Storage manager disconnected successfully");
443
+ if (this.services?.stores) {
444
+ await this.services.stores.disconnect();
445
+ this.logger.debug("Stores disconnected successfully");
457
446
  }
458
447
  } catch (error) {
459
448
  const err = error instanceof Error ? error : new Error(String(error));
460
- shutdownErrors.push(new Error(`Storage disconnect failed: ${err.message}`));
449
+ shutdownErrors.push(new Error(`Store disconnect failed: ${err.message}`));
461
450
  }
462
451
  this._isStopped = true;
463
452
  this._isStarted = false;
@@ -651,7 +640,7 @@ Either:
651
640
  return {
652
641
  toolName: tc.toolName,
653
642
  args: tc.args,
654
- callId: tc.callId || `tool_${Date.now()}`,
643
+ callId: tc.callId,
655
644
  result: toolResult ? {
656
645
  success: toolResult.success,
657
646
  data: toolResult.sanitized
@@ -743,6 +732,7 @@ Either:
743
732
  let contentParts = typeof content === "string" ? [{ type: "text", text: content }] : [...content];
744
733
  const eventQueue = [];
745
734
  let completed = false;
735
+ let terminalError;
746
736
  let sawFatalErrorEvent = false;
747
737
  let sawRunCompleteEvent = false;
748
738
  const controller = new AbortController();
@@ -817,10 +807,16 @@ Either:
817
807
  eventQueue.push({ name: "llm:tool-result", ...data });
818
808
  };
819
809
  addStreamingListener("llm:tool-result", toolResultListener);
810
+ const retryingListener = (data) => {
811
+ if (data.sessionId !== sessionId) return;
812
+ eventQueue.push({ name: "llm:retrying", ...data });
813
+ };
814
+ addStreamingListener("llm:retrying", retryingListener);
820
815
  const errorListener = (data) => {
821
816
  if (data.sessionId !== sessionId) return;
822
817
  if (data.recoverable !== true) {
823
818
  sawFatalErrorEvent = true;
819
+ terminalError = data.error;
824
820
  }
825
821
  eventQueue.push({ name: "llm:error", ...data });
826
822
  };
@@ -878,6 +874,9 @@ Either:
878
874
  const runCompleteListener = (data) => {
879
875
  if (data.sessionId !== sessionId) return;
880
876
  sawRunCompleteEvent = true;
877
+ if (data.finishReason === "error" && data.error !== void 0) {
878
+ terminalError = data.error;
879
+ }
881
880
  eventQueue.push({ name: "run:complete", ...data });
882
881
  completed = true;
883
882
  };
@@ -950,7 +949,7 @@ Either:
950
949
  let allowedMediaTypes = llmConfig.allowedMediaTypes;
951
950
  if (!allowedMediaTypes) {
952
951
  allowedMediaTypes = (0, import_utils.fileTypesToMimePatterns)(
953
- (0, import_registry.getSupportedFileTypesForModel)(llmConfig.provider, llmConfig.model),
952
+ (0, import_llm.getSupportedFileTypesForModel)(llmConfig.provider, llmConfig.model),
954
953
  this.logger
955
954
  );
956
955
  }
@@ -1054,6 +1053,7 @@ Either:
1054
1053
  return;
1055
1054
  }
1056
1055
  completed = true;
1056
+ terminalError = error;
1057
1057
  this.logger.error(`Error in DextoAgent.stream: ${error.message}`);
1058
1058
  const errorEvent = {
1059
1059
  name: "llm:error",
@@ -1083,6 +1083,9 @@ Either:
1083
1083
  if (completed) {
1084
1084
  cleanupListeners();
1085
1085
  controller.abort();
1086
+ if (terminalError !== void 0) {
1087
+ throw terminalError;
1088
+ }
1086
1089
  return { done: true, value: void 0 };
1087
1090
  }
1088
1091
  cleanupListeners();
@@ -1110,61 +1113,129 @@ Either:
1110
1113
  return session?.isBusy?.() ?? false;
1111
1114
  }
1112
1115
  /**
1113
- * Queue a message for processing when a session is busy.
1114
- * The message will be injected into the conversation when the current turn completes.
1116
+ * Queue a message as active-turn steer input for a session.
1117
+ * The message is injected at the next executor boundary while the current turn is active.
1115
1118
  *
1116
1119
  * @param sessionId Session id
1117
- * @param message The user message to queue
1120
+ * @param message The user message to use as steer input
1118
1121
  * @returns Queue position and message ID
1119
- * @throws Error if session doesn't support message queueing
1120
1122
  */
1121
- async queueMessage(sessionId, message) {
1123
+ async steer(sessionId, message) {
1124
+ this.ensureStarted();
1125
+ const session = await this.sessionManager.getSession(sessionId, false);
1126
+ if (!session) {
1127
+ throw import_session.SessionError.notFound(sessionId);
1128
+ }
1129
+ return session.steer(message);
1130
+ }
1131
+ /**
1132
+ * Queue a message as follow-up work for a session.
1133
+ * The message is processed only after the active turn would otherwise stop.
1134
+ *
1135
+ * @param sessionId Session id
1136
+ * @param message The user message to queue as follow-up work
1137
+ * @returns Queue position and message ID
1138
+ */
1139
+ async followUp(sessionId, message) {
1140
+ this.ensureStarted();
1141
+ const session = await this.sessionManager.getSession(sessionId, false);
1142
+ if (!session) {
1143
+ throw import_session.SessionError.notFound(sessionId);
1144
+ }
1145
+ return session.followUp(message);
1146
+ }
1147
+ /**
1148
+ * Get all steer messages for a session.
1149
+ * @param sessionId Session id
1150
+ * @returns Array of steer messages
1151
+ */
1152
+ async getSteerMessages(sessionId) {
1153
+ this.ensureStarted();
1154
+ const session = await this.sessionManager.getSession(sessionId, false);
1155
+ if (!session) {
1156
+ throw import_session.SessionError.notFound(sessionId);
1157
+ }
1158
+ return session.getSteerMessages();
1159
+ }
1160
+ /**
1161
+ * Get all follow-up messages for a session.
1162
+ * @param sessionId Session id
1163
+ * @returns Array of follow-up messages
1164
+ */
1165
+ async getFollowUpMessages(sessionId) {
1122
1166
  this.ensureStarted();
1123
1167
  const session = await this.sessionManager.getSession(sessionId, false);
1124
1168
  if (!session) {
1125
1169
  throw import_session.SessionError.notFound(sessionId);
1126
1170
  }
1127
- return session.queueMessage(message);
1171
+ return session.getFollowUpMessages();
1128
1172
  }
1129
1173
  /**
1130
- * Get all queued messages for a session.
1174
+ * Remove a steer message.
1131
1175
  * @param sessionId Session id
1132
- * @returns Array of queued messages
1176
+ * @param messageId The ID of the steer message to remove
1177
+ * @returns true if message was found and removed, false otherwise
1133
1178
  */
1134
- async getQueuedMessages(sessionId) {
1179
+ async removeSteerMessage(sessionId, messageId) {
1135
1180
  this.ensureStarted();
1136
1181
  const session = await this.sessionManager.getSession(sessionId, false);
1137
1182
  if (!session) {
1138
1183
  throw import_session.SessionError.notFound(sessionId);
1139
1184
  }
1140
- return session.getQueuedMessages();
1185
+ return session.removeSteerMessage(messageId);
1141
1186
  }
1142
1187
  /**
1143
- * Remove a queued message.
1188
+ * Remove a follow-up message.
1144
1189
  * @param sessionId Session id
1145
- * @param messageId The ID of the queued message to remove
1190
+ * @param messageId The ID of the follow-up message to remove
1146
1191
  * @returns true if message was found and removed, false otherwise
1147
1192
  */
1148
- async removeQueuedMessage(sessionId, messageId) {
1193
+ async removeFollowUpMessage(sessionId, messageId) {
1194
+ this.ensureStarted();
1195
+ const session = await this.sessionManager.getSession(sessionId, false);
1196
+ if (!session) {
1197
+ throw import_session.SessionError.notFound(sessionId);
1198
+ }
1199
+ return session.removeFollowUpMessage(messageId);
1200
+ }
1201
+ /**
1202
+ * Clear all steer messages for a session.
1203
+ * @param sessionId Session id
1204
+ * @returns Number of messages that were cleared
1205
+ */
1206
+ async clearSteerQueue(sessionId) {
1149
1207
  this.ensureStarted();
1150
1208
  const session = await this.sessionManager.getSession(sessionId, false);
1151
1209
  if (!session) {
1152
1210
  throw import_session.SessionError.notFound(sessionId);
1153
1211
  }
1154
- return session.removeQueuedMessage(messageId);
1212
+ return session.clearSteerQueue();
1155
1213
  }
1156
1214
  /**
1157
- * Clear all queued messages for a session.
1215
+ * Clear all follow-up messages for a session.
1158
1216
  * @param sessionId Session id
1159
1217
  * @returns Number of messages that were cleared
1160
1218
  */
1161
- async clearMessageQueue(sessionId) {
1219
+ async clearFollowUpQueue(sessionId) {
1162
1220
  this.ensureStarted();
1163
1221
  const session = await this.sessionManager.getSession(sessionId, false);
1164
1222
  if (!session) {
1165
1223
  throw import_session.SessionError.notFound(sessionId);
1166
1224
  }
1167
- return session.clearMessageQueue();
1225
+ return session.clearFollowUpQueue();
1226
+ }
1227
+ /**
1228
+ * Clear all pending steer and follow-up input for a session.
1229
+ * @param sessionId Session id
1230
+ * @returns Number of messages that were cleared
1231
+ */
1232
+ async clearPendingInput(sessionId) {
1233
+ this.ensureStarted();
1234
+ const session = await this.sessionManager.getSession(sessionId, false);
1235
+ if (!session) {
1236
+ throw import_session.SessionError.notFound(sessionId);
1237
+ }
1238
+ return session.clearPendingInput();
1168
1239
  }
1169
1240
  /**
1170
1241
  * Cancels the currently running turn for a session.
@@ -1328,6 +1399,16 @@ Either:
1328
1399
  * @returns Promise that resolves to the generated title, or null if generation failed
1329
1400
  */
1330
1401
  async generateSessionTitle(sessionId) {
1402
+ const result = await this.generateSessionTitleDetails(sessionId);
1403
+ return result?.title ?? null;
1404
+ }
1405
+ /**
1406
+ * Generate a title for a session and report whether it came from the LLM or heuristic fallback.
1407
+ *
1408
+ * @param sessionId Session ID to generate title for
1409
+ * @returns Promise that resolves to title details, or null if generation failed
1410
+ */
1411
+ async generateSessionTitleDetails(sessionId) {
1331
1412
  this.ensureStarted();
1332
1413
  const metadata = await this.sessionManager.getSessionMetadata(sessionId);
1333
1414
  if (!metadata) {
@@ -1337,7 +1418,10 @@ Either:
1337
1418
  this.logger.debug(
1338
1419
  `[SessionTitle] Session ${sessionId} already has title '${metadata.title}'`
1339
1420
  );
1340
- return metadata.title;
1421
+ return {
1422
+ source: "existing",
1423
+ title: metadata.title
1424
+ };
1341
1425
  }
1342
1426
  const session = await this.sessionManager.getSession(sessionId);
1343
1427
  if (!session) {
@@ -1355,24 +1439,25 @@ Either:
1355
1439
  return null;
1356
1440
  }
1357
1441
  const llmConfig = this.getEffectiveConfig(sessionId).llm;
1358
- const result = await (0, import_title_generator.generateSessionTitle)(
1359
- llmConfig,
1360
- this.toolManager,
1361
- this.systemPromptManager,
1362
- this.resourceManager,
1363
- userText,
1364
- this.logger,
1365
- {
1366
- ...this.overrides.languageModelFactory !== void 0 && {
1367
- languageModelFactory: this.overrides.languageModelFactory
1368
- }
1442
+ const result = await (0, import_title_generator.generateSessionTitle)(llmConfig, userText, this.logger, {
1443
+ providerContext: { sessionId },
1444
+ ...this.overrides.languageModelFactory !== void 0 && {
1445
+ languageModelFactory: this.overrides.languageModelFactory
1369
1446
  }
1370
- );
1447
+ });
1371
1448
  let title = result.title;
1372
1449
  if (!title) {
1373
1450
  title = (0, import_title_generator.deriveHeuristicTitle)(userText);
1374
1451
  if (title) {
1375
1452
  this.logger.info(`[SessionTitle] Using heuristic title for ${sessionId}: ${title}`);
1453
+ const details = {
1454
+ ...result.error !== void 0 && { reason: result.error },
1455
+ ...result.timedOut !== void 0 && { timedOut: result.timedOut },
1456
+ source: "heuristic",
1457
+ title
1458
+ };
1459
+ await this.sessionManager.setSessionTitle(sessionId, title, { ifUnsetOnly: true });
1460
+ return details;
1376
1461
  } else {
1377
1462
  this.logger.debug(`[SessionTitle] No suitable title derived for ${sessionId}`);
1378
1463
  return null;
@@ -1381,7 +1466,10 @@ Either:
1381
1466
  this.logger.info(`[SessionTitle] Generated LLM title for ${sessionId}: ${title}`);
1382
1467
  }
1383
1468
  await this.sessionManager.setSessionTitle(sessionId, title, { ifUnsetOnly: true });
1384
- return title;
1469
+ return {
1470
+ source: "llm",
1471
+ title
1472
+ };
1385
1473
  }
1386
1474
  /**
1387
1475
  * Gets the conversation history for a specific session.
@@ -1696,8 +1784,7 @@ Either:
1696
1784
  (msg) => msg.metadata?.isSummary === true || msg.metadata?.isSessionSummary === true
1697
1785
  );
1698
1786
  const llmConfig = runtimeConfig.llm;
1699
- const { getModelDisplayName } = await import("../llm/registry/index.js");
1700
- const modelDisplayName = getModelDisplayName(llmConfig.model, llmConfig.provider);
1787
+ const modelDisplayName = (0, import_llm.getModelDisplayName)(llmConfig.model, llmConfig.provider);
1701
1788
  const estimatedTokens = tokenEstimate.estimated;
1702
1789
  const autoCompactBuffer = thresholdPercent > 0 && thresholdPercent < 1 ? Math.floor(maxContextTokens * (1 - thresholdPercent) / thresholdPercent) : 0;
1703
1790
  const totalTokenSpace = maxContextTokens + autoCompactBuffer;
@@ -1855,7 +1942,7 @@ Either:
1855
1942
  * ```
1856
1943
  */
1857
1944
  getSupportedProviders() {
1858
- return (0, import_registry.getSupportedProviders)();
1945
+ return (0, import_llm.getSupportedProviders)();
1859
1946
  }
1860
1947
  /**
1861
1948
  * Gets all supported models grouped by provider with detailed information.
@@ -1906,7 +1993,7 @@ Either:
1906
1993
  const models = (0, import_registry.getAllModelsForProvider)(provider);
1907
1994
  return models.map((model) => {
1908
1995
  const originalProvider = "originalProvider" in model ? model.originalProvider : provider;
1909
- const defaultModel = (0, import_registry.getDefaultModelForProvider)(originalProvider ?? provider);
1996
+ const defaultModel = (0, import_llm.getDefaultModelForProvider)(originalProvider ?? provider);
1910
1997
  return {
1911
1998
  ...model,
1912
1999
  isDefault: model.name === defaultModel
@@ -1934,7 +2021,7 @@ Either:
1934
2021
  */
1935
2022
  inferProviderFromModel(modelName) {
1936
2023
  try {
1937
- return (0, import_registry.getProviderFromModel)(modelName);
2024
+ return (0, import_llm.getProviderFromModel)(modelName);
1938
2025
  } catch {
1939
2026
  return null;
1940
2027
  }
@@ -2639,11 +2726,10 @@ Either:
2639
2726
  * - Prompt key resolution (resolving aliases)
2640
2727
  * - Argument normalization (including special _context field)
2641
2728
  * - Prompt execution and flattening
2642
- * - Returning per-prompt overrides (allowedTools, model) for the invoker to apply
2643
2729
  *
2644
2730
  * @param name The prompt name or alias
2645
2731
  * @param options Optional configuration for prompt resolution
2646
- * @returns Promise resolving to the resolved text, resource URIs, and optional overrides
2732
+ * @returns Promise resolving to the resolved text and resource URIs.
2647
2733
  */
2648
2734
  async resolvePrompt(name, options = {}) {
2649
2735
  this.ensureStarted();
@@ -2671,7 +2757,7 @@ Either:
2671
2757
  * Set a custom approval handler for manual approval mode.
2672
2758
  *
2673
2759
  * When `permissions.mode` is set to 'manual', an approval handler must be
2674
- * provided to process tool confirmation requests. The handler will be called
2760
+ * provided to process tool approval requests. The handler will be called
2675
2761
  * whenever a tool execution requires user approval.
2676
2762
  *
2677
2763
  * The handler receives an approval request and must return a promise that resolves