@dexto/core 1.5.8 → 1.6.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 (658) hide show
  1. package/README.md +19 -8
  2. package/dist/agent/DextoAgent.cjs +318 -159
  3. package/dist/agent/DextoAgent.d.ts +94 -56
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +315 -156
  6. package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
  7. package/dist/agent/agent-options.d.ts +53 -0
  8. package/dist/agent/agent-options.d.ts.map +1 -0
  9. package/dist/agent/agentCard.cjs +1 -1
  10. package/dist/agent/errors.cjs +2 -2
  11. package/dist/agent/errors.d.ts.map +1 -1
  12. package/dist/agent/index.cjs +1 -6
  13. package/dist/agent/index.d.ts +3 -2
  14. package/dist/agent/index.d.ts.map +1 -1
  15. package/dist/agent/index.js +1 -7
  16. package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
  17. package/dist/agent/runtime-config.d.ts +53 -0
  18. package/dist/agent/runtime-config.d.ts.map +1 -0
  19. package/dist/agent/schemas.cjs +2 -104
  20. package/dist/agent/schemas.d.ts +8 -9197
  21. package/dist/agent/schemas.d.ts.map +1 -1
  22. package/dist/agent/schemas.js +1 -109
  23. package/dist/agent/state-manager.d.ts +5 -5
  24. package/dist/agent/state-manager.d.ts.map +1 -1
  25. package/dist/approval/error-codes.cjs +1 -1
  26. package/dist/approval/error-codes.d.ts +1 -1
  27. package/dist/approval/error-codes.d.ts.map +1 -1
  28. package/dist/approval/error-codes.js +1 -1
  29. package/dist/approval/errors.cjs +5 -5
  30. package/dist/approval/errors.d.ts +2 -2
  31. package/dist/approval/errors.d.ts.map +1 -1
  32. package/dist/approval/errors.js +5 -5
  33. package/dist/approval/index.cjs +8 -8
  34. package/dist/approval/index.d.ts +2 -2
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +8 -8
  37. package/dist/approval/manager.cjs +163 -83
  38. package/dist/approval/manager.d.ts +50 -43
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +161 -81
  41. package/dist/approval/schemas.cjs +47 -32
  42. package/dist/approval/schemas.d.ts +291 -97
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +43 -28
  45. package/dist/approval/types.cjs +1 -1
  46. package/dist/approval/types.d.ts +14 -14
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +1 -1
  49. package/dist/context/compaction/index.cjs +2 -23
  50. package/dist/context/compaction/index.d.ts +1 -7
  51. package/dist/context/compaction/index.d.ts.map +1 -1
  52. package/dist/context/compaction/index.js +1 -16
  53. package/dist/context/compaction/strategies/noop.cjs +19 -1
  54. package/dist/context/compaction/strategies/noop.d.ts +13 -3
  55. package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
  56. package/dist/context/compaction/strategies/noop.js +19 -1
  57. package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
  58. package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
  59. package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
  60. package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
  61. package/dist/context/compaction/types.d.ts +40 -8
  62. package/dist/context/compaction/types.d.ts.map +1 -1
  63. package/dist/context/manager.cjs +4 -2
  64. package/dist/context/manager.d.ts +5 -3
  65. package/dist/context/manager.d.ts.map +1 -1
  66. package/dist/context/manager.js +4 -2
  67. package/dist/context/types.d.ts +3 -0
  68. package/dist/context/types.d.ts.map +1 -1
  69. package/dist/context/utils.cjs +2 -2
  70. package/dist/context/utils.d.ts +14 -14
  71. package/dist/context/utils.d.ts.map +1 -1
  72. package/dist/errors/result-bridge.d.ts +2 -2
  73. package/dist/errors/result-bridge.d.ts.map +1 -1
  74. package/dist/errors/types.cjs +1 -1
  75. package/dist/errors/types.d.ts +3 -3
  76. package/dist/errors/types.d.ts.map +1 -1
  77. package/dist/errors/types.js +1 -1
  78. package/dist/events/index.cjs +11 -1
  79. package/dist/events/index.d.ts +48 -7
  80. package/dist/events/index.d.ts.map +1 -1
  81. package/dist/events/index.js +11 -1
  82. package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
  83. package/dist/hooks/builtins/content-policy.d.ts +24 -0
  84. package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
  85. package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
  86. package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
  87. package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
  88. package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
  89. package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
  90. package/dist/hooks/error-codes.cjs +43 -0
  91. package/dist/hooks/error-codes.d.ts +34 -0
  92. package/dist/hooks/error-codes.d.ts.map +1 -0
  93. package/dist/hooks/error-codes.js +20 -0
  94. package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
  95. package/dist/hooks/index.d.ts +14 -0
  96. package/dist/hooks/index.d.ts.map +1 -0
  97. package/dist/hooks/index.js +11 -0
  98. package/dist/hooks/manager.cjs +354 -0
  99. package/dist/hooks/manager.d.ts +103 -0
  100. package/dist/hooks/manager.d.ts.map +1 -0
  101. package/dist/hooks/manager.js +331 -0
  102. package/dist/{plugins → hooks}/types.d.ts +26 -45
  103. package/dist/hooks/types.d.ts.map +1 -0
  104. package/dist/index.browser.cjs +13 -12
  105. package/dist/index.browser.d.ts +5 -5
  106. package/dist/index.browser.d.ts.map +1 -1
  107. package/dist/index.browser.js +8 -7
  108. package/dist/index.cjs +5 -7
  109. package/dist/index.d.ts +2 -3
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +2 -3
  112. package/dist/llm/errors.cjs +1 -1
  113. package/dist/llm/executor/stream-processor.cjs +131 -11
  114. package/dist/llm/executor/stream-processor.d.ts +8 -5
  115. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  116. package/dist/llm/executor/stream-processor.js +131 -11
  117. package/dist/llm/executor/turn-executor.cjs +49 -54
  118. package/dist/llm/executor/turn-executor.d.ts +7 -8
  119. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  120. package/dist/llm/executor/turn-executor.js +49 -54
  121. package/dist/llm/formatters/vercel.cjs +2 -2
  122. package/dist/llm/formatters/vercel.d.ts +2 -2
  123. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  124. package/dist/llm/providers/local/schemas.d.ts +12 -12
  125. package/dist/llm/registry/auto-update.d.ts +2 -2
  126. package/dist/llm/registry/auto-update.d.ts.map +1 -1
  127. package/dist/llm/registry/index.d.ts +3 -3
  128. package/dist/llm/registry/index.d.ts.map +1 -1
  129. package/dist/llm/resolver.cjs +2 -2
  130. package/dist/llm/resolver.d.ts +4 -4
  131. package/dist/llm/resolver.d.ts.map +1 -1
  132. package/dist/llm/schemas.cjs +67 -104
  133. package/dist/llm/schemas.d.ts +10 -149
  134. package/dist/llm/schemas.d.ts.map +1 -1
  135. package/dist/llm/schemas.js +64 -101
  136. package/dist/llm/services/factory.cjs +2 -3
  137. package/dist/llm/services/factory.d.ts +3 -4
  138. package/dist/llm/services/factory.d.ts.map +1 -1
  139. package/dist/llm/services/factory.js +2 -3
  140. package/dist/llm/services/vercel.cjs +8 -15
  141. package/dist/llm/services/vercel.d.ts +6 -7
  142. package/dist/llm/services/vercel.d.ts.map +1 -1
  143. package/dist/llm/services/vercel.js +8 -15
  144. package/dist/llm/validation.cjs +1 -1
  145. package/dist/llm/validation.d.ts +2 -2
  146. package/dist/llm/validation.d.ts.map +1 -1
  147. package/dist/logger/browser.cjs +4 -4
  148. package/dist/logger/browser.d.ts +4 -4
  149. package/dist/logger/browser.d.ts.map +1 -1
  150. package/dist/logger/browser.js +3 -3
  151. package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
  152. package/dist/logger/default-logger-factory.d.ts +301 -0
  153. package/dist/logger/default-logger-factory.d.ts.map +1 -0
  154. package/dist/logger/default-logger-factory.js +18 -0
  155. package/dist/logger/factory.d.ts +2 -2
  156. package/dist/logger/factory.d.ts.map +1 -1
  157. package/dist/logger/index.cjs +7 -2
  158. package/dist/logger/index.d.ts +5 -3
  159. package/dist/logger/index.d.ts.map +1 -1
  160. package/dist/logger/index.js +8 -2
  161. package/dist/logger/logger.cjs +4 -4
  162. package/dist/logger/logger.d.ts +4 -4
  163. package/dist/logger/logger.d.ts.map +1 -1
  164. package/dist/logger/logger.js +3 -3
  165. package/dist/logger/v2/dexto-logger.cjs +35 -0
  166. package/dist/logger/v2/dexto-logger.d.ts +22 -3
  167. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  168. package/dist/logger/v2/dexto-logger.js +35 -0
  169. package/dist/logger/v2/schemas.d.ts +6 -6
  170. package/dist/logger/v2/test-utils.cjs +2 -0
  171. package/dist/logger/v2/test-utils.d.ts +5 -5
  172. package/dist/logger/v2/test-utils.d.ts.map +1 -1
  173. package/dist/logger/v2/test-utils.js +2 -0
  174. package/dist/logger/v2/transport-factory.d.ts +3 -3
  175. package/dist/logger/v2/transport-factory.d.ts.map +1 -1
  176. package/dist/logger/v2/transports/console-transport.d.ts +2 -2
  177. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
  178. package/dist/logger/v2/transports/file-transport.d.ts +2 -2
  179. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
  180. package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
  181. package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
  182. package/dist/logger/v2/types.cjs +1 -1
  183. package/dist/logger/v2/types.d.ts +22 -9
  184. package/dist/logger/v2/types.d.ts.map +1 -1
  185. package/dist/logger/v2/types.js +1 -1
  186. package/dist/mcp/errors.cjs +2 -2
  187. package/dist/mcp/errors.d.ts.map +1 -1
  188. package/dist/mcp/manager.cjs +16 -11
  189. package/dist/mcp/manager.d.ts +16 -13
  190. package/dist/mcp/manager.d.ts.map +1 -1
  191. package/dist/mcp/manager.js +17 -12
  192. package/dist/mcp/mcp-client.cjs +25 -20
  193. package/dist/mcp/mcp-client.d.ts +5 -5
  194. package/dist/mcp/mcp-client.d.ts.map +1 -1
  195. package/dist/mcp/mcp-client.js +20 -15
  196. package/dist/mcp/resolver.cjs +1 -1
  197. package/dist/mcp/schemas.cjs +5 -5
  198. package/dist/mcp/schemas.d.ts +19 -19
  199. package/dist/mcp/schemas.js +2 -2
  200. package/dist/mcp/types.d.ts +7 -7
  201. package/dist/mcp/types.d.ts.map +1 -1
  202. package/dist/memory/manager.d.ts +2 -2
  203. package/dist/memory/manager.d.ts.map +1 -1
  204. package/dist/memory/schemas.d.ts +2 -2
  205. package/dist/prompts/errors.cjs +3 -3
  206. package/dist/prompts/errors.d.ts.map +1 -1
  207. package/dist/prompts/prompt-manager.d.ts +3 -3
  208. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  209. package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
  210. package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
  211. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  212. package/dist/prompts/providers/config-prompt-provider.js +15 -29
  213. package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
  214. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  215. package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
  216. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  217. package/dist/prompts/schemas.d.ts +7 -7
  218. package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
  219. package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
  220. package/dist/resources/agent-resources-provider.d.ts.map +1 -0
  221. package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
  222. package/dist/resources/errors.cjs +2 -2
  223. package/dist/resources/errors.d.ts.map +1 -1
  224. package/dist/resources/handlers/blob-handler.d.ts +2 -2
  225. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  226. package/dist/resources/handlers/factory.d.ts +3 -3
  227. package/dist/resources/handlers/factory.d.ts.map +1 -1
  228. package/dist/resources/handlers/filesystem-handler.d.ts +2 -2
  229. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  230. package/dist/resources/index.cjs +7 -9
  231. package/dist/resources/index.d.ts +3 -3
  232. package/dist/resources/index.d.ts.map +1 -1
  233. package/dist/resources/index.js +5 -10
  234. package/dist/resources/manager.cjs +77 -74
  235. package/dist/resources/manager.d.ts +16 -7
  236. package/dist/resources/manager.d.ts.map +1 -1
  237. package/dist/resources/manager.js +77 -74
  238. package/dist/resources/schemas.cjs +6 -26
  239. package/dist/resources/schemas.d.ts +8 -100
  240. package/dist/resources/schemas.d.ts.map +1 -1
  241. package/dist/resources/schemas.js +4 -23
  242. package/dist/search/search-service.d.ts +2 -2
  243. package/dist/search/search-service.d.ts.map +1 -1
  244. package/dist/session/chat-session.cjs +15 -25
  245. package/dist/session/chat-session.d.ts +7 -5
  246. package/dist/session/chat-session.d.ts.map +1 -1
  247. package/dist/session/chat-session.js +16 -26
  248. package/dist/session/errors.cjs +2 -2
  249. package/dist/session/errors.d.ts.map +1 -1
  250. package/dist/session/history/database.cjs +1 -1
  251. package/dist/session/history/database.d.ts +4 -4
  252. package/dist/session/history/database.d.ts.map +1 -1
  253. package/dist/session/history/factory.d.ts +3 -3
  254. package/dist/session/history/factory.d.ts.map +1 -1
  255. package/dist/session/history/memory.d.ts +4 -4
  256. package/dist/session/history/memory.d.ts.map +1 -1
  257. package/dist/session/history/types.d.ts +2 -2
  258. package/dist/session/history/types.d.ts.map +1 -1
  259. package/dist/session/index.cjs +3 -0
  260. package/dist/session/index.d.ts +2 -0
  261. package/dist/session/index.d.ts.map +1 -1
  262. package/dist/session/index.js +2 -0
  263. package/dist/session/message-queue.d.ts +2 -2
  264. package/dist/session/message-queue.d.ts.map +1 -1
  265. package/dist/session/session-manager.cjs +67 -9
  266. package/dist/session/session-manager.d.ts +46 -7
  267. package/dist/session/session-manager.d.ts.map +1 -1
  268. package/dist/session/session-manager.js +67 -9
  269. package/dist/session/title-generator.cjs +2 -2
  270. package/dist/session/title-generator.d.ts +2 -2
  271. package/dist/session/title-generator.d.ts.map +1 -1
  272. package/dist/storage/blob/index.cjs +0 -40
  273. package/dist/storage/blob/index.d.ts +2 -44
  274. package/dist/storage/blob/index.d.ts.map +1 -1
  275. package/dist/storage/blob/index.js +0 -30
  276. package/dist/storage/cache/index.cjs +0 -37
  277. package/dist/storage/cache/index.d.ts +0 -42
  278. package/dist/storage/cache/index.d.ts.map +1 -1
  279. package/dist/storage/cache/index.js +0 -28
  280. package/dist/storage/database/index.cjs +0 -42
  281. package/dist/storage/database/index.d.ts +0 -43
  282. package/dist/storage/database/index.d.ts.map +1 -1
  283. package/dist/storage/database/index.js +0 -37
  284. package/dist/storage/error-codes.cjs +1 -6
  285. package/dist/storage/error-codes.d.ts +2 -7
  286. package/dist/storage/error-codes.d.ts.map +1 -1
  287. package/dist/storage/error-codes.js +1 -6
  288. package/dist/storage/errors.cjs +18 -82
  289. package/dist/storage/errors.d.ts +4 -24
  290. package/dist/storage/errors.d.ts.map +1 -1
  291. package/dist/storage/errors.js +16 -80
  292. package/dist/storage/index.cjs +8 -69
  293. package/dist/storage/index.d.ts +11 -66
  294. package/dist/storage/index.d.ts.map +1 -1
  295. package/dist/storage/index.js +6 -50
  296. package/dist/storage/storage-manager.cjs +9 -25
  297. package/dist/storage/storage-manager.d.ts +11 -15
  298. package/dist/storage/storage-manager.d.ts.map +1 -1
  299. package/dist/storage/storage-manager.js +8 -23
  300. package/dist/storage/types.d.ts +0 -1
  301. package/dist/storage/types.d.ts.map +1 -1
  302. package/dist/systemPrompt/contributors.d.ts +4 -4
  303. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  304. package/dist/systemPrompt/errors.cjs +2 -2
  305. package/dist/systemPrompt/errors.d.ts.map +1 -1
  306. package/dist/systemPrompt/in-built-prompts.cjs +5 -5
  307. package/dist/systemPrompt/in-built-prompts.d.ts +1 -1
  308. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  309. package/dist/systemPrompt/in-built-prompts.js +5 -5
  310. package/dist/systemPrompt/manager.cjs +1 -5
  311. package/dist/systemPrompt/manager.d.ts +2 -3
  312. package/dist/systemPrompt/manager.d.ts.map +1 -1
  313. package/dist/systemPrompt/manager.js +1 -5
  314. package/dist/systemPrompt/schemas.d.ts +5 -5
  315. package/dist/systemPrompt/types.d.ts +11 -0
  316. package/dist/systemPrompt/types.d.ts.map +1 -1
  317. package/dist/telemetry/index.cjs +3 -0
  318. package/dist/telemetry/index.d.ts +2 -0
  319. package/dist/telemetry/index.d.ts.map +1 -1
  320. package/dist/telemetry/index.js +2 -0
  321. package/dist/telemetry/utils.d.ts +4 -4
  322. package/dist/telemetry/utils.d.ts.map +1 -1
  323. package/dist/test-utils/in-memory-storage.cjs +288 -0
  324. package/dist/test-utils/in-memory-storage.js +252 -0
  325. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
  326. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  327. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
  328. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
  329. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
  330. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  331. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
  332. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
  333. package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
  334. package/dist/tools/define-tool.d.ts +11 -0
  335. package/dist/tools/define-tool.d.ts.map +1 -0
  336. package/dist/tools/define-tool.js +7 -0
  337. package/dist/tools/display-types.d.ts +10 -0
  338. package/dist/tools/display-types.d.ts.map +1 -1
  339. package/dist/tools/error-codes.cjs +2 -2
  340. package/dist/tools/error-codes.d.ts +2 -2
  341. package/dist/tools/error-codes.d.ts.map +1 -1
  342. package/dist/tools/error-codes.js +2 -2
  343. package/dist/tools/errors.cjs +11 -23
  344. package/dist/tools/errors.d.ts +4 -10
  345. package/dist/tools/errors.d.ts.map +1 -1
  346. package/dist/tools/errors.js +9 -21
  347. package/dist/tools/index.cjs +6 -9
  348. package/dist/tools/index.d.ts +3 -4
  349. package/dist/tools/index.d.ts.map +1 -1
  350. package/dist/tools/index.js +3 -7
  351. package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
  352. package/dist/tools/pattern-utils.d.ts +20 -0
  353. package/dist/tools/pattern-utils.d.ts.map +1 -0
  354. package/dist/tools/pattern-utils.js +10 -0
  355. package/dist/{storage/cache/factory.cjs → tools/presentation.cjs} +26 -15
  356. package/dist/tools/presentation.d.ts +11 -0
  357. package/dist/tools/presentation.d.ts.map +1 -0
  358. package/dist/tools/presentation.js +24 -0
  359. package/dist/tools/schemas.cjs +14 -40
  360. package/dist/tools/schemas.d.ts +6 -50
  361. package/dist/tools/schemas.d.ts.map +1 -1
  362. package/dist/tools/schemas.js +11 -32
  363. package/dist/tools/tool-call-metadata.cjs +3 -3
  364. package/dist/tools/tool-call-metadata.d.ts +1 -1
  365. package/dist/tools/tool-call-metadata.d.ts.map +1 -1
  366. package/dist/tools/tool-call-metadata.js +3 -3
  367. package/dist/tools/tool-manager.cjs +608 -392
  368. package/dist/tools/tool-manager.d.ts +79 -98
  369. package/dist/tools/tool-manager.d.ts.map +1 -1
  370. package/dist/tools/tool-manager.js +608 -396
  371. package/dist/tools/types.d.ts +223 -45
  372. package/dist/tools/types.d.ts.map +1 -1
  373. package/dist/utils/error-conversion.d.ts +2 -2
  374. package/dist/utils/error-conversion.d.ts.map +1 -1
  375. package/dist/utils/path.cjs +10 -1
  376. package/dist/utils/path.d.ts +7 -4
  377. package/dist/utils/path.d.ts.map +1 -1
  378. package/dist/utils/path.js +10 -1
  379. package/dist/utils/result.cjs +1 -1
  380. package/dist/utils/result.d.ts.map +1 -1
  381. package/dist/utils/schema.cjs +9 -5
  382. package/dist/utils/schema.d.ts +4 -2
  383. package/dist/utils/schema.d.ts.map +1 -1
  384. package/dist/utils/schema.js +9 -5
  385. package/dist/utils/service-initializer.cjs +51 -56
  386. package/dist/utils/service-initializer.d.ts +17 -14
  387. package/dist/utils/service-initializer.d.ts.map +1 -1
  388. package/dist/utils/service-initializer.js +51 -56
  389. package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
  390. package/dist/workspace/error-codes.d.ts +5 -0
  391. package/dist/workspace/error-codes.d.ts.map +1 -0
  392. package/dist/workspace/error-codes.js +7 -0
  393. package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
  394. package/dist/workspace/errors.d.ts +5 -0
  395. package/dist/workspace/errors.d.ts.map +1 -0
  396. package/dist/workspace/errors.js +21 -0
  397. package/dist/{image → workspace}/index.cjs +12 -10
  398. package/dist/workspace/index.d.ts +5 -0
  399. package/dist/workspace/index.d.ts.map +1 -0
  400. package/dist/workspace/index.js +9 -0
  401. package/dist/workspace/manager.cjs +113 -0
  402. package/dist/workspace/manager.d.ts +18 -0
  403. package/dist/workspace/manager.d.ts.map +1 -0
  404. package/dist/workspace/manager.js +90 -0
  405. package/dist/workspace/types.d.ts +14 -0
  406. package/dist/workspace/types.d.ts.map +1 -0
  407. package/package.json +2 -2
  408. package/dist/context/compaction/factory.cjs +0 -57
  409. package/dist/context/compaction/factory.d.ts +0 -17
  410. package/dist/context/compaction/factory.d.ts.map +0 -1
  411. package/dist/context/compaction/factory.js +0 -34
  412. package/dist/context/compaction/provider.d.ts +0 -48
  413. package/dist/context/compaction/provider.d.ts.map +0 -1
  414. package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
  415. package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
  416. package/dist/context/compaction/providers/noop-provider.js +0 -24
  417. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
  418. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
  419. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
  420. package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
  421. package/dist/context/compaction/registry.cjs +0 -39
  422. package/dist/context/compaction/registry.d.ts +0 -19
  423. package/dist/context/compaction/registry.d.ts.map +0 -1
  424. package/dist/context/compaction/registry.js +0 -16
  425. package/dist/context/compaction/schemas.cjs +0 -58
  426. package/dist/context/compaction/schemas.d.ts +0 -69
  427. package/dist/context/compaction/schemas.d.ts.map +0 -1
  428. package/dist/context/compaction/schemas.js +0 -34
  429. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
  430. package/dist/image/define-image.cjs +0 -146
  431. package/dist/image/define-image.d.ts +0 -71
  432. package/dist/image/define-image.d.ts.map +0 -1
  433. package/dist/image/define-image.js +0 -121
  434. package/dist/image/index.d.ts +0 -53
  435. package/dist/image/index.d.ts.map +0 -1
  436. package/dist/image/index.js +0 -7
  437. package/dist/image/types.d.ts +0 -246
  438. package/dist/image/types.d.ts.map +0 -1
  439. package/dist/llm/services/test-utils.integration.cjs +0 -237
  440. package/dist/llm/services/test-utils.integration.d.ts +0 -48
  441. package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
  442. package/dist/llm/services/test-utils.integration.js +0 -214
  443. package/dist/plugins/builtins/content-policy.d.ts +0 -26
  444. package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
  445. package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
  446. package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
  447. package/dist/plugins/error-codes.cjs +0 -43
  448. package/dist/plugins/error-codes.d.ts +0 -34
  449. package/dist/plugins/error-codes.d.ts.map +0 -1
  450. package/dist/plugins/error-codes.js +0 -20
  451. package/dist/plugins/index.cjs +0 -61
  452. package/dist/plugins/index.d.ts +0 -21
  453. package/dist/plugins/index.d.ts.map +0 -1
  454. package/dist/plugins/index.js +0 -30
  455. package/dist/plugins/loader.cjs +0 -171
  456. package/dist/plugins/loader.d.ts +0 -30
  457. package/dist/plugins/loader.d.ts.map +0 -1
  458. package/dist/plugins/loader.js +0 -145
  459. package/dist/plugins/manager.cjs +0 -473
  460. package/dist/plugins/manager.d.ts +0 -106
  461. package/dist/plugins/manager.d.ts.map +0 -1
  462. package/dist/plugins/manager.js +0 -450
  463. package/dist/plugins/registrations/builtins.cjs +0 -51
  464. package/dist/plugins/registrations/builtins.d.ts +0 -17
  465. package/dist/plugins/registrations/builtins.d.ts.map +0 -1
  466. package/dist/plugins/registrations/builtins.js +0 -28
  467. package/dist/plugins/registry.cjs +0 -63
  468. package/dist/plugins/registry.d.ts +0 -101
  469. package/dist/plugins/registry.d.ts.map +0 -1
  470. package/dist/plugins/registry.js +0 -39
  471. package/dist/plugins/schemas.cjs +0 -73
  472. package/dist/plugins/schemas.d.ts +0 -195
  473. package/dist/plugins/schemas.d.ts.map +0 -1
  474. package/dist/plugins/schemas.js +0 -47
  475. package/dist/plugins/types.d.ts.map +0 -1
  476. package/dist/providers/base-registry.cjs +0 -147
  477. package/dist/providers/base-registry.d.ts +0 -147
  478. package/dist/providers/base-registry.d.ts.map +0 -1
  479. package/dist/providers/base-registry.js +0 -123
  480. package/dist/providers/discovery.cjs +0 -109
  481. package/dist/providers/discovery.d.ts +0 -96
  482. package/dist/providers/discovery.d.ts.map +0 -1
  483. package/dist/providers/discovery.js +0 -84
  484. package/dist/providers/index.cjs +0 -24
  485. package/dist/providers/index.d.ts +0 -32
  486. package/dist/providers/index.d.ts.map +0 -1
  487. package/dist/providers/index.js +0 -2
  488. package/dist/resources/internal-provider.d.ts.map +0 -1
  489. package/dist/storage/blob/factory.d.ts +0 -37
  490. package/dist/storage/blob/factory.d.ts.map +0 -1
  491. package/dist/storage/blob/factory.js +0 -15
  492. package/dist/storage/blob/local-blob-store.cjs +0 -496
  493. package/dist/storage/blob/local-blob-store.d.ts +0 -58
  494. package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
  495. package/dist/storage/blob/local-blob-store.js +0 -463
  496. package/dist/storage/blob/memory-blob-store.cjs +0 -326
  497. package/dist/storage/blob/memory-blob-store.d.ts +0 -66
  498. package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
  499. package/dist/storage/blob/memory-blob-store.js +0 -303
  500. package/dist/storage/blob/provider.d.ts +0 -50
  501. package/dist/storage/blob/provider.d.ts.map +0 -1
  502. package/dist/storage/blob/providers/index.d.ts +0 -8
  503. package/dist/storage/blob/providers/index.d.ts.map +0 -1
  504. package/dist/storage/blob/providers/index.js +0 -7
  505. package/dist/storage/blob/providers/local.cjs +0 -39
  506. package/dist/storage/blob/providers/local.d.ts +0 -17
  507. package/dist/storage/blob/providers/local.d.ts.map +0 -1
  508. package/dist/storage/blob/providers/local.js +0 -16
  509. package/dist/storage/blob/providers/memory.cjs +0 -39
  510. package/dist/storage/blob/providers/memory.d.ts +0 -17
  511. package/dist/storage/blob/providers/memory.d.ts.map +0 -1
  512. package/dist/storage/blob/providers/memory.js +0 -16
  513. package/dist/storage/blob/registry.cjs +0 -50
  514. package/dist/storage/blob/registry.d.ts +0 -42
  515. package/dist/storage/blob/registry.d.ts.map +0 -1
  516. package/dist/storage/blob/registry.js +0 -26
  517. package/dist/storage/blob/schemas.cjs +0 -52
  518. package/dist/storage/blob/schemas.d.ts +0 -85
  519. package/dist/storage/blob/schemas.d.ts.map +0 -1
  520. package/dist/storage/blob/schemas.js +0 -26
  521. package/dist/storage/cache/factory.d.ts +0 -37
  522. package/dist/storage/cache/factory.d.ts.map +0 -1
  523. package/dist/storage/cache/factory.js +0 -15
  524. package/dist/storage/cache/memory-cache-store.cjs +0 -107
  525. package/dist/storage/cache/memory-cache-store.d.ts +0 -26
  526. package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
  527. package/dist/storage/cache/memory-cache-store.js +0 -84
  528. package/dist/storage/cache/provider.cjs +0 -16
  529. package/dist/storage/cache/provider.d.ts +0 -56
  530. package/dist/storage/cache/provider.d.ts.map +0 -1
  531. package/dist/storage/cache/provider.js +0 -0
  532. package/dist/storage/cache/providers/index.d.ts +0 -8
  533. package/dist/storage/cache/providers/index.d.ts.map +0 -1
  534. package/dist/storage/cache/providers/index.js +0 -7
  535. package/dist/storage/cache/providers/memory.d.ts +0 -17
  536. package/dist/storage/cache/providers/memory.d.ts.map +0 -1
  537. package/dist/storage/cache/providers/memory.js +0 -17
  538. package/dist/storage/cache/providers/redis.cjs +0 -66
  539. package/dist/storage/cache/providers/redis.d.ts +0 -20
  540. package/dist/storage/cache/providers/redis.d.ts.map +0 -1
  541. package/dist/storage/cache/providers/redis.js +0 -33
  542. package/dist/storage/cache/redis-store.cjs +0 -173
  543. package/dist/storage/cache/redis-store.d.ts +0 -32
  544. package/dist/storage/cache/redis-store.d.ts.map +0 -1
  545. package/dist/storage/cache/redis-store.js +0 -150
  546. package/dist/storage/cache/registry.cjs +0 -50
  547. package/dist/storage/cache/registry.d.ts +0 -42
  548. package/dist/storage/cache/registry.d.ts.map +0 -1
  549. package/dist/storage/cache/registry.js +0 -26
  550. package/dist/storage/cache/schemas.cjs +0 -81
  551. package/dist/storage/cache/schemas.d.ts +0 -150
  552. package/dist/storage/cache/schemas.d.ts.map +0 -1
  553. package/dist/storage/cache/schemas.js +0 -55
  554. package/dist/storage/database/factory.cjs +0 -38
  555. package/dist/storage/database/factory.d.ts +0 -39
  556. package/dist/storage/database/factory.d.ts.map +0 -1
  557. package/dist/storage/database/factory.js +0 -15
  558. package/dist/storage/database/memory-database-store.cjs +0 -122
  559. package/dist/storage/database/memory-database-store.d.ts +0 -29
  560. package/dist/storage/database/memory-database-store.d.ts.map +0 -1
  561. package/dist/storage/database/memory-database-store.js +0 -99
  562. package/dist/storage/database/postgres-store.cjs +0 -342
  563. package/dist/storage/database/postgres-store.d.ts +0 -55
  564. package/dist/storage/database/postgres-store.d.ts.map +0 -1
  565. package/dist/storage/database/postgres-store.js +0 -319
  566. package/dist/storage/database/provider.cjs +0 -16
  567. package/dist/storage/database/provider.d.ts +0 -56
  568. package/dist/storage/database/provider.d.ts.map +0 -1
  569. package/dist/storage/database/provider.js +0 -0
  570. package/dist/storage/database/providers/index.cjs +0 -34
  571. package/dist/storage/database/providers/index.d.ts +0 -9
  572. package/dist/storage/database/providers/index.d.ts.map +0 -1
  573. package/dist/storage/database/providers/index.js +0 -9
  574. package/dist/storage/database/providers/memory.cjs +0 -40
  575. package/dist/storage/database/providers/memory.d.ts +0 -16
  576. package/dist/storage/database/providers/memory.d.ts.map +0 -1
  577. package/dist/storage/database/providers/memory.js +0 -17
  578. package/dist/storage/database/providers/postgres.cjs +0 -62
  579. package/dist/storage/database/providers/postgres.d.ts +0 -19
  580. package/dist/storage/database/providers/postgres.d.ts.map +0 -1
  581. package/dist/storage/database/providers/postgres.js +0 -29
  582. package/dist/storage/database/providers/sqlite.cjs +0 -66
  583. package/dist/storage/database/providers/sqlite.d.ts +0 -20
  584. package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
  585. package/dist/storage/database/providers/sqlite.js +0 -33
  586. package/dist/storage/database/registry.cjs +0 -50
  587. package/dist/storage/database/registry.d.ts +0 -42
  588. package/dist/storage/database/registry.d.ts.map +0 -1
  589. package/dist/storage/database/registry.js +0 -26
  590. package/dist/storage/database/schemas.cjs +0 -97
  591. package/dist/storage/database/schemas.d.ts +0 -226
  592. package/dist/storage/database/schemas.d.ts.map +0 -1
  593. package/dist/storage/database/schemas.js +0 -70
  594. package/dist/storage/database/sqlite-store.cjs +0 -270
  595. package/dist/storage/database/sqlite-store.d.ts +0 -33
  596. package/dist/storage/database/sqlite-store.d.ts.map +0 -1
  597. package/dist/storage/database/sqlite-store.js +0 -237
  598. package/dist/storage/schemas.cjs +0 -57
  599. package/dist/storage/schemas.d.ts +0 -347
  600. package/dist/storage/schemas.d.ts.map +0 -1
  601. package/dist/storage/schemas.js +0 -37
  602. package/dist/tools/bash-pattern-utils.cjs +0 -91
  603. package/dist/tools/bash-pattern-utils.d.ts +0 -58
  604. package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
  605. package/dist/tools/bash-pattern-utils.js +0 -64
  606. package/dist/tools/custom-tool-registry.cjs +0 -64
  607. package/dist/tools/custom-tool-registry.d.ts +0 -126
  608. package/dist/tools/custom-tool-registry.d.ts.map +0 -1
  609. package/dist/tools/custom-tool-registry.js +0 -40
  610. package/dist/tools/custom-tool-schema-registry.cjs +0 -164
  611. package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
  612. package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
  613. package/dist/tools/custom-tool-schema-registry.js +0 -140
  614. package/dist/tools/internal-tools/constants.d.ts +0 -12
  615. package/dist/tools/internal-tools/constants.d.ts.map +0 -1
  616. package/dist/tools/internal-tools/constants.js +0 -12
  617. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
  618. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
  619. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
  620. package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
  621. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
  622. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
  623. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
  624. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
  625. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
  626. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
  627. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
  628. package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
  629. package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
  630. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
  631. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
  632. package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
  633. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
  634. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
  635. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
  636. package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
  637. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
  638. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
  639. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
  640. package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
  641. package/dist/tools/internal-tools/index.cjs +0 -26
  642. package/dist/tools/internal-tools/index.d.ts +0 -4
  643. package/dist/tools/internal-tools/index.d.ts.map +0 -1
  644. package/dist/tools/internal-tools/index.js +0 -3
  645. package/dist/tools/internal-tools/provider.cjs +0 -324
  646. package/dist/tools/internal-tools/provider.d.ts +0 -116
  647. package/dist/tools/internal-tools/provider.d.ts.map +0 -1
  648. package/dist/tools/internal-tools/provider.js +0 -301
  649. package/dist/tools/internal-tools/registry.cjs +0 -71
  650. package/dist/tools/internal-tools/registry.d.ts +0 -91
  651. package/dist/tools/internal-tools/registry.d.ts.map +0 -1
  652. package/dist/tools/internal-tools/registry.js +0 -47
  653. /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
  654. /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
  655. /package/dist/{image → hooks}/types.cjs +0 -0
  656. /package/dist/{plugins → hooks}/types.js +0 -0
  657. /package/dist/{plugins → workspace}/types.cjs +0 -0
  658. /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
@@ -9,13 +9,11 @@ import { setMaxListeners } from "events";
9
9
  import { SkillsContributor } from "../systemPrompt/contributors.js";
10
10
  import { expandMessageReferences } from "../resources/index.js";
11
11
  import { expandBlobReferences } from "../context/utils.js";
12
+ import { StorageManager } from "../storage/index.js";
12
13
  import { PromptManager } from "../prompts/index.js";
13
14
  import { SessionError } from "../session/index.js";
14
- import { createLogger } from "../logger/factory.js";
15
- import { DextoLogComponent } from "../logger/v2/types.js";
16
15
  import { InstrumentClass } from "../telemetry/decorators.js";
17
16
  import { trace, context, propagation } from "@opentelemetry/api";
18
- import { LLMUpdatesSchema } from "../llm/schemas.js";
19
17
  import { resolveAndValidateLLMConfig } from "../llm/resolver.js";
20
18
  import { validateInputForLLM } from "../llm/validation.js";
21
19
  import { LLMError } from "../llm/errors.js";
@@ -34,7 +32,16 @@ import {
34
32
  getAllModelsForProvider
35
33
  } from "../llm/registry/index.js";
36
34
  import { createAgentServices } from "../utils/service-initializer.js";
37
- import { AgentConfigSchema, createAgentConfigSchema } from "./schemas.js";
35
+ import { LLMConfigSchema, LLMUpdatesSchema } from "../llm/schemas.js";
36
+ import { ServersConfigSchema } from "../mcp/schemas.js";
37
+ import { MemoriesConfigSchema } from "../memory/schemas.js";
38
+ import { PromptsSchema } from "../prompts/schemas.js";
39
+ import { ResourcesConfigSchema } from "../resources/schemas.js";
40
+ import { SessionConfigSchema } from "../session/schemas.js";
41
+ import { SystemPromptConfigSchema } from "../systemPrompt/schemas.js";
42
+ import { ElicitationConfigSchema, PermissionsConfigSchema } from "../tools/schemas.js";
43
+ import { OtelConfigurationSchema } from "../telemetry/schemas.js";
44
+ import { AgentCardSchema } from "./schemas.js";
38
45
  import {
39
46
  AgentEventBus
40
47
  } from "../events/index.js";
@@ -47,6 +54,7 @@ const requiredServices = [
47
54
  "agentEventBus",
48
55
  "stateManager",
49
56
  "sessionManager",
57
+ "workspaceManager",
50
58
  "searchService",
51
59
  "memoryManager"
52
60
  ];
@@ -58,50 +66,14 @@ _DextoAgent_decorators = [InstrumentClass({
58
66
  "getConfig",
59
67
  "getEffectiveConfig",
60
68
  "registerSubscriber",
69
+ "on",
70
+ "once",
71
+ "off",
72
+ "emit",
61
73
  "ensureStarted"
62
74
  ]
63
75
  })];
64
- class DextoAgent {
65
- /**
66
- * Creates a DextoAgent instance.
67
- *
68
- * @param config - Agent configuration (validated and enriched)
69
- * @param configPath - Optional path to config file (for relative path resolution)
70
- * @param options - Validation options
71
- * @param options.strict - When true (default), enforces API key and baseURL requirements.
72
- * When false, allows missing credentials for interactive configuration.
73
- */
74
- constructor(config, configPath, options) {
75
- this.configPath = configPath;
76
- const schema = options?.strict === false ? createAgentConfigSchema({ strict: false }) : AgentConfigSchema;
77
- this.config = schema.parse(config);
78
- this.logger = createLogger({
79
- config: this.config.logger,
80
- agentId: this.config.agentId,
81
- component: DextoLogComponent.AGENT
82
- });
83
- const serviceOverrides = {};
84
- if (options?.sessionLoggerFactory) {
85
- serviceOverrides.sessionLoggerFactory = options.sessionLoggerFactory;
86
- }
87
- if (options && "mcpAuthProviderFactory" in options) {
88
- serviceOverrides.mcpAuthProviderFactory = options.mcpAuthProviderFactory ?? null;
89
- }
90
- if (options?.toolManager) {
91
- serviceOverrides.toolManager = options.toolManager;
92
- }
93
- if (options?.toolManagerFactory) {
94
- serviceOverrides.toolManagerFactory = options.toolManagerFactory;
95
- }
96
- if (Object.keys(serviceOverrides).length > 0) {
97
- this.serviceOverrides = serviceOverrides;
98
- }
99
- if (options?.mcpAuthProviderFactory) {
100
- this.mcpAuthProviderFactory = options.mcpAuthProviderFactory;
101
- }
102
- this.agentEventBus = new AgentEventBus();
103
- this.logger.info("DextoAgent created.");
104
- }
76
+ let _DextoAgent = class _DextoAgent {
105
77
  /**
106
78
  * These services are public for use by the outside world
107
79
  * This gives users the option to use methods of the services directly if they know what they are doing
@@ -113,6 +85,7 @@ class DextoAgent {
113
85
  promptManager;
114
86
  stateManager;
115
87
  sessionManager;
88
+ workspaceManager;
116
89
  toolManager;
117
90
  resourceManager;
118
91
  memoryManager;
@@ -135,9 +108,87 @@ class DextoAgent {
135
108
  // Active stream controllers per session - allows cancel() to abort iterators
136
109
  activeStreamControllers = /* @__PURE__ */ new Map();
137
110
  // Host overrides for service initialization (e.g. session logger factory)
138
- serviceOverrides;
111
+ overrides;
112
+ // DI-provided local tools.
113
+ tools;
114
+ compactionStrategy;
139
115
  // Logger instance for this agent (dependency injection)
140
116
  logger;
117
+ /**
118
+ * Validate + normalize runtime settings.
119
+ *
120
+ * This is the single validation boundary for programmatic (code-first) construction.
121
+ * Host layers may validate earlier (e.g. YAML parsing), but core always normalizes
122
+ * runtime settings before use.
123
+ */
124
+ static validateConfig(options) {
125
+ return {
126
+ agentId: options.agentId,
127
+ llm: LLMConfigSchema.parse(options.llm),
128
+ systemPrompt: SystemPromptConfigSchema.parse(options.systemPrompt),
129
+ mcpServers: ServersConfigSchema.parse(options.mcpServers ?? {}),
130
+ sessions: SessionConfigSchema.parse(options.sessions ?? {}),
131
+ permissions: PermissionsConfigSchema.parse(options.permissions ?? {}),
132
+ elicitation: ElicitationConfigSchema.parse(options.elicitation ?? {}),
133
+ resources: ResourcesConfigSchema.parse(options.resources ?? []),
134
+ prompts: PromptsSchema.parse(options.prompts),
135
+ ...options.agentCard !== void 0 && {
136
+ agentCard: AgentCardSchema.parse(options.agentCard)
137
+ },
138
+ ...options.greeting !== void 0 && { greeting: options.greeting },
139
+ ...options.telemetry !== void 0 && {
140
+ telemetry: OtelConfigurationSchema.parse(options.telemetry)
141
+ },
142
+ ...options.memories !== void 0 && {
143
+ memories: MemoriesConfigSchema.parse(options.memories)
144
+ }
145
+ };
146
+ }
147
+ /**
148
+ * Creates a DextoAgent instance.
149
+ *
150
+ * Constructor options are DI-first:
151
+ * - runtime settings (validated + defaulted by core)
152
+ * - concrete services (logger/tools/hooks/storage backends)
153
+ * - optional internal service overrides (session logging, auth factories, etc.)
154
+ */
155
+ constructor(options) {
156
+ const {
157
+ logger,
158
+ storage,
159
+ tools: toolsInput,
160
+ hooks: hooksInput,
161
+ compaction,
162
+ overrides: overridesInput,
163
+ ...runtimeSettings
164
+ } = options;
165
+ const tools = toolsInput ?? [];
166
+ const hooks = hooksInput ?? [];
167
+ this.config = _DextoAgent.validateConfig(runtimeSettings);
168
+ this.logger = logger;
169
+ this.tools = tools;
170
+ this.compactionStrategy = compaction ?? null;
171
+ const overrides = { ...overridesInput ?? {} };
172
+ if (overrides.storageManager === void 0) {
173
+ overrides.storageManager = new StorageManager(
174
+ {
175
+ cache: storage.cache,
176
+ database: storage.database,
177
+ blobStore: storage.blob
178
+ },
179
+ this.logger
180
+ );
181
+ }
182
+ if (overrides.hooks === void 0) {
183
+ overrides.hooks = hooks;
184
+ }
185
+ this.overrides = overrides;
186
+ if (overrides.mcpAuthProviderFactory !== void 0) {
187
+ this.mcpAuthProviderFactory = overrides.mcpAuthProviderFactory;
188
+ }
189
+ this.agentEventBus = new AgentEventBus();
190
+ this.logger.info("DextoAgent created.");
191
+ }
141
192
  /**
142
193
  * Starts the agent by initializing all async services.
143
194
  * This method handles storage backends, MCP connections, session manager initialization, and other async operations.
@@ -153,10 +204,10 @@ class DextoAgent {
153
204
  this.logger.info("Starting DextoAgent...");
154
205
  const services = await createAgentServices(
155
206
  this.config,
156
- this.configPath,
157
207
  this.logger,
158
208
  this.agentEventBus,
159
- this.serviceOverrides
209
+ this.overrides,
210
+ this.compactionStrategy
160
211
  );
161
212
  if (this.mcpAuthProviderFactory) {
162
213
  services.mcpManager.setAuthProviderFactory(this.mcpAuthProviderFactory);
@@ -168,11 +219,11 @@ class DextoAgent {
168
219
  );
169
220
  }
170
221
  }
171
- const needsHandler = this.config.toolConfirmation.mode === "manual" || this.config.elicitation.enabled;
222
+ const needsHandler = this.config.permissions.mode === "manual" || this.config.elicitation.enabled;
172
223
  if (needsHandler && !this.approvalHandler) {
173
224
  const reasons = [];
174
- if (this.config.toolConfirmation.mode === "manual") {
175
- reasons.push('tool confirmation mode is "manual"');
225
+ if (this.config.permissions.mode === "manual") {
226
+ reasons.push('permissions mode is "manual"');
176
227
  }
177
228
  if (this.config.elicitation.enabled) {
178
229
  reasons.push("elicitation is enabled");
@@ -181,7 +232,7 @@ class DextoAgent {
181
232
  `An approval handler is required but not configured (${reasons.join(" and ")}).
182
233
  Either:
183
234
  \u2022 Call agent.setApprovalHandler() before starting
184
- \u2022 Set toolConfirmation: { mode: "auto-approve" } or { mode: "auto-deny" }
235
+ \u2022 Set permissions: { mode: "auto-approve" } or { mode: "auto-deny" }
185
236
  \u2022 Disable elicitation: { enabled: false }`
186
237
  );
187
238
  }
@@ -195,6 +246,7 @@ Either:
195
246
  systemPromptManager: services.systemPromptManager,
196
247
  stateManager: services.stateManager,
197
248
  sessionManager: services.sessionManager,
249
+ workspaceManager: services.workspaceManager,
198
250
  memoryManager: services.memoryManager,
199
251
  services
200
252
  });
@@ -208,9 +260,27 @@ Either:
208
260
  );
209
261
  await promptManager.initialize();
210
262
  Object.assign(this, { promptManager });
211
- services.toolManager.setAgent(this);
212
- services.toolManager.setPromptManager(promptManager);
213
- if (this.config.internalTools?.includes("invoke_skill")) {
263
+ const toolExecutionStorage = {
264
+ blob: services.storageManager.getBlobStore(),
265
+ database: services.storageManager.getDatabase(),
266
+ cache: services.storageManager.getCache()
267
+ };
268
+ const toolExecutionServices = {
269
+ approval: services.approvalManager,
270
+ search: services.searchService,
271
+ resources: services.resourceManager,
272
+ prompts: promptManager,
273
+ mcp: services.mcpManager,
274
+ taskForker: null
275
+ };
276
+ services.toolManager.setToolExecutionContextFactory((baseContext) => ({
277
+ ...baseContext,
278
+ agent: this,
279
+ storage: toolExecutionStorage,
280
+ services: toolExecutionServices
281
+ }));
282
+ const agentTools = this.tools;
283
+ if (agentTools.some((t) => t.id === "invoke_skill")) {
214
284
  const skillsContributor = new SkillsContributor(
215
285
  "skills",
216
286
  50,
@@ -221,6 +291,7 @@ Either:
221
291
  services.systemPromptManager.addContributor(skillsContributor);
222
292
  this.logger.debug("Added SkillsContributor to system prompt");
223
293
  }
294
+ services.toolManager.setTools(agentTools);
224
295
  await services.toolManager.initialize();
225
296
  this.searchService = services.searchService;
226
297
  this._isStarted = true;
@@ -264,13 +335,22 @@ Either:
264
335
  shutdownErrors.push(new Error(`SessionManager cleanup failed: ${err.message}`));
265
336
  }
266
337
  try {
267
- if (this.services?.pluginManager) {
268
- await this.services.pluginManager.cleanup();
269
- this.logger.debug("PluginManager cleaned up successfully");
338
+ if (this.toolManager) {
339
+ await this.toolManager.cleanup();
340
+ this.logger.debug("ToolManager cleaned up successfully");
270
341
  }
271
342
  } catch (error) {
272
343
  const err = error instanceof Error ? error : new Error(String(error));
273
- shutdownErrors.push(new Error(`PluginManager cleanup failed: ${err.message}`));
344
+ shutdownErrors.push(new Error(`ToolManager cleanup failed: ${err.message}`));
345
+ }
346
+ try {
347
+ if (this.services?.hookManager) {
348
+ await this.services.hookManager.cleanup();
349
+ this.logger.debug("HookManager cleaned up successfully");
350
+ }
351
+ } catch (error) {
352
+ const err = error instanceof Error ? error : new Error(String(error));
353
+ shutdownErrors.push(new Error(`HookManager cleanup failed: ${err.message}`));
274
354
  }
275
355
  try {
276
356
  if (this.mcpManager) {
@@ -281,6 +361,15 @@ Either:
281
361
  const err = error instanceof Error ? error : new Error(String(error));
282
362
  shutdownErrors.push(new Error(`MCPManager disconnect failed: ${err.message}`));
283
363
  }
364
+ try {
365
+ if (this.resourceManager) {
366
+ this.resourceManager.cleanup();
367
+ this.logger.debug("ResourceManager cleaned up successfully");
368
+ }
369
+ } catch (error) {
370
+ const err = error instanceof Error ? error : new Error(String(error));
371
+ shutdownErrors.push(new Error(`ResourceManager cleanup failed: ${err.message}`));
372
+ }
284
373
  try {
285
374
  if (this.services?.storageManager) {
286
375
  await this.services.storageManager.disconnect();
@@ -319,6 +408,26 @@ Either:
319
408
  subscriber.subscribe(this.agentEventBus);
320
409
  }
321
410
  }
411
+ /**
412
+ * Convenience event subscription APIs (typed delegates to {@link AgentEventBus}).
413
+ *
414
+ * Prefer these over reaching into the internal event bus directly.
415
+ */
416
+ on(event, listener, options) {
417
+ this.agentEventBus.on(event, listener, options);
418
+ return this;
419
+ }
420
+ once(event, listener, options) {
421
+ this.agentEventBus.once(event, listener, options);
422
+ return this;
423
+ }
424
+ off(event, listener) {
425
+ this.agentEventBus.off(event, listener);
426
+ return this;
427
+ }
428
+ emit(event, ...args) {
429
+ return this.agentEventBus.emit(event, ...args);
430
+ }
322
431
  /**
323
432
  * Restart the agent by stopping and starting it.
324
433
  * Automatically re-subscribes all registered event subscribers to the new event bus.
@@ -571,6 +680,14 @@ Either:
571
680
  };
572
681
  this.agentEventBus.on("llm:tool-call", toolCallListener, { signal: cleanupSignal });
573
682
  listeners.push({ event: "llm:tool-call", listener: toolCallListener });
683
+ const toolCallPartialListener = (data) => {
684
+ if (data.sessionId !== sessionId) return;
685
+ eventQueue.push({ name: "llm:tool-call-partial", ...data });
686
+ };
687
+ this.agentEventBus.on("llm:tool-call-partial", toolCallPartialListener, {
688
+ signal: cleanupSignal
689
+ });
690
+ listeners.push({ event: "llm:tool-call-partial", listener: toolCallPartialListener });
574
691
  const toolResultListener = (data) => {
575
692
  if (data.sessionId !== sessionId) return;
576
693
  eventQueue.push({ name: "llm:tool-result", ...data });
@@ -948,6 +1065,36 @@ Either:
948
1065
  }
949
1066
  return !!streamController;
950
1067
  }
1068
+ // ============= WORKSPACE MANAGEMENT =============
1069
+ /**
1070
+ * Sets the active workspace for this runtime.
1071
+ * The workspace context is persisted and emitted via the agent event bus.
1072
+ */
1073
+ async setWorkspace(input) {
1074
+ this.ensureStarted();
1075
+ return await this.workspaceManager.setWorkspace(input);
1076
+ }
1077
+ /**
1078
+ * Gets the currently active workspace, if any.
1079
+ */
1080
+ async getWorkspace() {
1081
+ this.ensureStarted();
1082
+ return await this.workspaceManager.getWorkspace();
1083
+ }
1084
+ /**
1085
+ * Clears the active workspace for this runtime.
1086
+ */
1087
+ async clearWorkspace() {
1088
+ this.ensureStarted();
1089
+ await this.workspaceManager.clearWorkspace();
1090
+ }
1091
+ /**
1092
+ * Lists all known workspaces in storage.
1093
+ */
1094
+ async listWorkspaces() {
1095
+ this.ensureStarted();
1096
+ return await this.workspaceManager.listWorkspaces();
1097
+ }
951
1098
  // ============= SESSION MANAGEMENT =============
952
1099
  /**
953
1100
  * Creates a new chat session or returns an existing one.
@@ -975,6 +1122,28 @@ Either:
975
1122
  this.ensureStarted();
976
1123
  return await this.sessionManager.listSessions();
977
1124
  }
1125
+ /**
1126
+ * Sets the log level for this agent.
1127
+ *
1128
+ * Note: In some hosts (e.g. interactive CLI), session logs may be written by
1129
+ * session-scoped file loggers rather than the base agent logger. When a sessionId
1130
+ * is provided, this also updates the in-memory session logger so file logs reflect
1131
+ * the new level immediately.
1132
+ */
1133
+ async setLogLevel(level, options) {
1134
+ this.ensureStarted();
1135
+ this.logger.setLevel(level);
1136
+ const sessionId = options?.sessionId;
1137
+ if (!sessionId) {
1138
+ return;
1139
+ }
1140
+ const session = await this.sessionManager.getSession(sessionId, false);
1141
+ if (!session) {
1142
+ return;
1143
+ }
1144
+ session.logger.setLevel(level);
1145
+ session.logger.debug(`Log level changed to '${level}'`);
1146
+ }
978
1147
  /**
979
1148
  * Ends a session by removing it from memory without deleting conversation history.
980
1149
  * Used for cleanup, agent shutdown, and session expiry.
@@ -1220,7 +1389,7 @@ Either:
1220
1389
  this.logger.debug(`Compaction skipped for session ${sessionId} - history too short`);
1221
1390
  return null;
1222
1391
  }
1223
- const contributorContext = { mcpManager: this.mcpManager };
1392
+ const contributorContext = await this.toolManager.buildContributorContext();
1224
1393
  const tools = await llmService.getEnabledTools();
1225
1394
  const beforeEstimate = await contextManager.getContextTokenEstimate(
1226
1395
  contributorContext,
@@ -1232,7 +1401,11 @@ Either:
1232
1401
  estimatedTokens: originalTokens,
1233
1402
  sessionId
1234
1403
  });
1235
- const summaryMessages = await compactionStrategy.compact(history);
1404
+ const summaryMessages = await compactionStrategy.compact(history, {
1405
+ sessionId,
1406
+ model: llmService.getLanguageModel(),
1407
+ logger: session.logger
1408
+ });
1236
1409
  if (summaryMessages.length === 0) {
1237
1410
  this.logger.debug(`Compaction skipped for session ${sessionId} - nothing to compact`);
1238
1411
  this.agentEventBus.emit("context:compacted", {
@@ -1294,7 +1467,7 @@ Either:
1294
1467
  throw SessionError.notFound(sessionId);
1295
1468
  }
1296
1469
  const contextManager = session.getContextManager();
1297
- const contributorContext = { mcpManager: this.mcpManager };
1470
+ const contributorContext = await this.toolManager.buildContributorContext();
1298
1471
  const llmService = session.getLLMService();
1299
1472
  const tools = await llmService.getEnabledTools();
1300
1473
  const tokenEstimate = await contextManager.getContextTokenEstimate(
@@ -1303,16 +1476,12 @@ Either:
1303
1476
  );
1304
1477
  const history = await contextManager.getHistory();
1305
1478
  const runtimeConfig = this.stateManager.getRuntimeConfig(sessionId);
1306
- const compactionConfig = runtimeConfig.compaction;
1307
1479
  const modelContextWindow = contextManager.getMaxInputTokens();
1308
- let maxContextTokens = modelContextWindow;
1309
- if (compactionConfig?.maxContextTokens !== void 0) {
1310
- maxContextTokens = Math.min(maxContextTokens, compactionConfig.maxContextTokens);
1311
- }
1312
- const thresholdPercent = compactionConfig?.thresholdPercent ?? 0.9;
1313
- if (thresholdPercent < 1) {
1314
- maxContextTokens = Math.floor(maxContextTokens * thresholdPercent);
1315
- }
1480
+ const compactionStrategy = this.compactionStrategy;
1481
+ const compactionSettings = compactionStrategy?.getSettings();
1482
+ const thresholdPercent = compactionSettings && compactionSettings.enabled ? compactionSettings.thresholdPercent : 1;
1483
+ const modelLimits = compactionStrategy ? compactionStrategy.getModelLimits(modelContextWindow) : { contextWindow: modelContextWindow };
1484
+ const maxContextTokens = thresholdPercent < 1 ? Math.floor(modelLimits.contextWindow * thresholdPercent) : modelLimits.contextWindow;
1316
1485
  const hasSummary = history.some(
1317
1486
  (msg) => msg.metadata?.isSummary === true || msg.metadata?.isSessionSummary === true
1318
1487
  );
@@ -1594,6 +1763,70 @@ Either:
1594
1763
  throw MCPError.connectionFailed(name, errorMessage);
1595
1764
  }
1596
1765
  }
1766
+ /**
1767
+ * Updates an existing MCP server configuration and reconnects if needed.
1768
+ * This is used when editing server params (timeout, headers, env, etc.).
1769
+ *
1770
+ * @param name The name of the server to update.
1771
+ * @param config The updated configuration object.
1772
+ * @throws MCPError if validation fails or reconnect fails.
1773
+ */
1774
+ async updateMcpServer(name, config) {
1775
+ this.ensureStarted();
1776
+ const currentConfig = this.stateManager.getRuntimeConfig().mcpServers[name];
1777
+ if (!currentConfig) {
1778
+ throw MCPError.serverNotFound(name);
1779
+ }
1780
+ const existingServerNames = Object.keys(this.stateManager.getRuntimeConfig().mcpServers);
1781
+ const validation = resolveAndValidateMcpServerConfig(name, config, existingServerNames);
1782
+ const validatedConfig = ensureOk(validation, this.logger);
1783
+ this.stateManager.setMcpServer(name, validatedConfig);
1784
+ const shouldEnable = validatedConfig.enabled !== false;
1785
+ const hasClient = this.mcpManager.getClients().has(name);
1786
+ if (!shouldEnable) {
1787
+ if (hasClient) {
1788
+ await this.mcpManager.removeClient(name);
1789
+ await this.toolManager.refresh();
1790
+ }
1791
+ this.logger.info(`MCP server '${name}' updated (disabled)`);
1792
+ return;
1793
+ }
1794
+ try {
1795
+ if (hasClient) {
1796
+ await this.mcpManager.removeClient(name);
1797
+ }
1798
+ await this.mcpManager.connectServer(name, validatedConfig);
1799
+ await this.toolManager.refresh();
1800
+ this.agentEventBus.emit("mcp:server-connected", { name, success: true });
1801
+ this.agentEventBus.emit("tools:available-updated", {
1802
+ tools: Object.keys(await this.toolManager.getAllTools()),
1803
+ source: "mcp"
1804
+ });
1805
+ this.logger.info(`MCP server '${name}' updated and reconnected successfully`);
1806
+ const warnings = validation.issues.filter((i) => i.severity === "warning");
1807
+ if (warnings.length > 0) {
1808
+ this.logger.warn(
1809
+ `MCP server updated with warnings: ${warnings.map((w) => w.message).join(", ")}`
1810
+ );
1811
+ }
1812
+ } catch (error) {
1813
+ const errorMessage = error instanceof Error ? error.message : String(error);
1814
+ this.logger.error(`Failed to update MCP server '${name}': ${errorMessage}`);
1815
+ this.stateManager.setMcpServer(name, currentConfig);
1816
+ if (currentConfig.enabled !== false) {
1817
+ try {
1818
+ await this.mcpManager.connectServer(name, currentConfig);
1819
+ await this.toolManager.refresh();
1820
+ } catch (reconnectError) {
1821
+ const reconnectMsg = reconnectError instanceof Error ? reconnectError.message : String(reconnectError);
1822
+ this.logger.error(
1823
+ `Failed to restore MCP server '${name}' after update error: ${reconnectMsg}`
1824
+ );
1825
+ }
1826
+ }
1827
+ throw MCPError.connectionFailed(name, errorMessage);
1828
+ }
1829
+ }
1597
1830
  /**
1598
1831
  * @deprecated Use `addMcpServer` instead. This method will be removed in a future version.
1599
1832
  */
@@ -2001,9 +2234,7 @@ Either:
2001
2234
  */
2002
2235
  async getSystemPrompt() {
2003
2236
  this.ensureStarted();
2004
- const context2 = {
2005
- mcpManager: this.mcpManager
2006
- };
2237
+ const context2 = await this.toolManager.buildContributorContext();
2007
2238
  return await this.systemPromptManager.build(context2);
2008
2239
  }
2009
2240
  /**
@@ -2101,90 +2332,17 @@ Either:
2101
2332
  this.ensureStarted();
2102
2333
  return sessionId ? this.stateManager.getRuntimeConfig(sessionId) : this.stateManager.getRuntimeConfig();
2103
2334
  }
2104
- /**
2105
- * Gets the file path of the agent configuration currently in use.
2106
- * This returns the source agent file path, not session-specific overrides.
2107
- * @returns The path to the agent configuration file
2108
- * @throws AgentError if no config path is available
2109
- */
2110
- getAgentFilePath() {
2111
- if (!this.configPath) {
2112
- throw AgentError.noConfigPath();
2113
- }
2114
- return this.configPath;
2115
- }
2116
- /**
2117
- * Reloads the agent configuration with a new config object.
2118
- * Validates the new config, detects what changed, and automatically
2119
- * restarts the agent if necessary to apply the changes.
2120
- *
2121
- * @param newConfig The new agent configuration to apply
2122
- * @returns Object containing whether agent was restarted and list of changes applied
2123
- * @throws Error if config is invalid or restart fails
2124
- *
2125
- * TODO: improve hot reload capabilites so that we don't always require a restart
2126
- */
2127
- async reload(newConfig) {
2128
- this.logger.info("Reloading agent configuration");
2129
- const oldConfig = this.config;
2130
- const validated = AgentConfigSchema.parse(newConfig);
2131
- const changesApplied = this.detectConfigChanges(oldConfig, validated);
2132
- this.config = validated;
2133
- let restarted = false;
2134
- if (changesApplied.length > 0) {
2135
- this.logger.info(
2136
- `Configuration changed. Restarting agent to apply: ${changesApplied.join(", ")}`
2137
- );
2138
- await this.restart();
2139
- restarted = true;
2140
- this.logger.info("Agent restarted successfully with new configuration");
2141
- } else {
2142
- this.logger.info("Agent configuration reloaded successfully (no changes detected)");
2143
- }
2144
- return {
2145
- restarted,
2146
- changesApplied
2147
- };
2148
- }
2149
- /**
2150
- * Detects configuration changes that require a full agent restart.
2151
- * Pure comparison logic - no file I/O.
2152
- * Returns an array of change descriptions.
2153
- *
2154
- * @param oldConfig Previous validated configuration
2155
- * @param newConfig New validated configuration
2156
- * @returns Array of restart-required change descriptions
2157
- */
2158
- detectConfigChanges(oldConfig, newConfig) {
2159
- const changes = [];
2160
- if (JSON.stringify(oldConfig.storage) !== JSON.stringify(newConfig.storage)) {
2161
- changes.push("Storage backend");
2162
- }
2163
- if (JSON.stringify(oldConfig.sessions) !== JSON.stringify(newConfig.sessions)) {
2164
- changes.push("Session configuration");
2165
- }
2166
- if (JSON.stringify(oldConfig.systemPrompt) !== JSON.stringify(newConfig.systemPrompt)) {
2167
- changes.push("System prompt");
2168
- }
2169
- if (JSON.stringify(oldConfig.toolConfirmation) !== JSON.stringify(newConfig.toolConfirmation)) {
2170
- changes.push("Tool confirmation");
2171
- }
2172
- if (JSON.stringify(oldConfig.internalTools) !== JSON.stringify(newConfig.internalTools)) {
2173
- changes.push("Internal tools");
2174
- }
2175
- if (JSON.stringify(oldConfig.mcpServers) !== JSON.stringify(newConfig.mcpServers)) {
2176
- changes.push("MCP servers");
2177
- }
2178
- if (oldConfig.llm.provider !== newConfig.llm.provider || oldConfig.llm.model !== newConfig.llm.model || oldConfig.llm.apiKey !== newConfig.llm.apiKey) {
2179
- changes.push("LLM configuration");
2180
- }
2181
- return changes;
2335
+ getMcpServerConfig(name) {
2336
+ this.ensureStarted();
2337
+ const config = this.stateManager.getRuntimeConfig().mcpServers[name];
2338
+ if (config) return config;
2339
+ return this.mcpManager.getServerConfig(name);
2182
2340
  }
2183
2341
  // ============= APPROVAL HANDLER API =============
2184
2342
  /**
2185
2343
  * Set a custom approval handler for manual approval mode.
2186
2344
  *
2187
- * When `toolConfirmation.mode` is set to 'manual', an approval handler must be
2345
+ * When `permissions.mode` is set to 'manual', an approval handler must be
2188
2346
  * provided to process tool confirmation requests. The handler will be called
2189
2347
  * whenever a tool execution requires user approval.
2190
2348
  *
@@ -2257,10 +2415,11 @@ Either:
2257
2415
  // - Memory and context management across sessions
2258
2416
  // - Tool chaining and workflow automation
2259
2417
  // - Agent collaboration and delegation
2260
- }
2418
+ };
2261
2419
  _init = __decoratorStart(null);
2262
- DextoAgent = __decorateElement(_init, 0, "DextoAgent", _DextoAgent_decorators, DextoAgent);
2263
- __runInitializers(_init, 1, DextoAgent);
2420
+ _DextoAgent = __decorateElement(_init, 0, "DextoAgent", _DextoAgent_decorators, _DextoAgent);
2421
+ __runInitializers(_init, 1, _DextoAgent);
2422
+ let DextoAgent = _DextoAgent;
2264
2423
  export {
2265
2424
  DextoAgent
2266
2425
  };
@@ -12,5 +12,5 @@ var __copyProps = (to, from, except, desc) => {
12
12
  return to;
13
13
  };
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var provider_exports = {};
16
- module.exports = __toCommonJS(provider_exports);
15
+ var agent_options_exports = {};
16
+ module.exports = __toCommonJS(agent_options_exports);