@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
@@ -32,21 +32,47 @@ __export(manager_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(manager_exports);
34
34
  var import_node_path = __toESM(require("node:path"), 1);
35
+ var import_node_fs = require("node:fs");
35
36
  var import_types = require("./types.js");
36
37
  var import_factory = require("./factory.js");
37
38
  var import_types2 = require("../logger/v2/types.js");
38
39
  var import_errors = require("./errors.js");
39
- var import_bash_pattern_utils = require("../tools/bash-pattern-utils.js");
40
+ var import_pattern_utils = require("../tools/pattern-utils.js");
41
+ function tryRealpathSync(targetPath) {
42
+ try {
43
+ return (0, import_node_fs.realpathSync)(targetPath);
44
+ } catch {
45
+ return null;
46
+ }
47
+ }
48
+ function tryRealpathSyncWithExistingParent(resolvedPath) {
49
+ const direct = tryRealpathSync(resolvedPath);
50
+ if (direct) return direct;
51
+ let currentDir = import_node_path.default.dirname(resolvedPath);
52
+ while (true) {
53
+ const realDir = tryRealpathSync(currentDir);
54
+ if (realDir) {
55
+ const suffix = import_node_path.default.relative(currentDir, resolvedPath);
56
+ return import_node_path.default.join(realDir, suffix);
57
+ }
58
+ const parent = import_node_path.default.dirname(currentDir);
59
+ if (parent === currentDir) {
60
+ return null;
61
+ }
62
+ currentDir = parent;
63
+ }
64
+ }
40
65
  class ApprovalManager {
41
66
  handler;
42
67
  config;
43
68
  logger;
44
69
  /**
45
- * Bash command patterns approved for the current session.
46
- * Patterns use simple glob syntax (e.g., "git *", "npm install *").
47
- * Cleared when session ends.
70
+ * Tool approval patterns, keyed by tool id.
71
+ *
72
+ * Patterns use simple glob syntax (e.g. "git *", "npm install *") and are matched
73
+ * using pattern-to-pattern covering (see {@link patternCovers}).
48
74
  */
49
- bashPatterns = /* @__PURE__ */ new Set();
75
+ toolPatterns = /* @__PURE__ */ new Map();
50
76
  /**
51
77
  * Directories approved for file access for the current session.
52
78
  * Stores normalized absolute paths mapped to their approval type:
@@ -59,36 +85,37 @@ class ApprovalManager {
59
85
  this.config = config;
60
86
  this.logger = logger.createChild(import_types2.DextoLogComponent.APPROVAL);
61
87
  this.logger.debug(
62
- `ApprovalManager initialized with toolConfirmation.mode: ${config.toolConfirmation.mode}, elicitation.enabled: ${config.elicitation.enabled}`
88
+ `ApprovalManager initialized with permissions.mode: ${config.permissions.mode}, elicitation.enabled: ${config.elicitation.enabled}`
63
89
  );
64
90
  }
65
- // ==================== Bash Pattern Methods ====================
91
+ // ==================== Pattern Methods ====================
92
+ getOrCreateToolPatternSet(toolName) {
93
+ const existing = this.toolPatterns.get(toolName);
94
+ if (existing) return existing;
95
+ const created = /* @__PURE__ */ new Set();
96
+ this.toolPatterns.set(toolName, created);
97
+ return created;
98
+ }
66
99
  /**
67
- * Add a bash command pattern to the approved list for this session.
68
- * Patterns use simple glob syntax with * as wildcard.
69
- *
70
- * @example
71
- * ```typescript
72
- * manager.addBashPattern("git *"); // Approves all git commands
73
- * manager.addBashPattern("npm install *"); // Approves npm install with any package
74
- * ```
100
+ * Add an approval pattern for a tool.
75
101
  */
76
- addBashPattern(pattern) {
77
- this.bashPatterns.add(pattern);
78
- this.logger.debug(`Added bash pattern: "${pattern}"`);
102
+ addPattern(toolName, pattern) {
103
+ this.getOrCreateToolPatternSet(toolName).add(pattern);
104
+ this.logger.debug(`Added pattern for '${toolName}': "${pattern}"`);
79
105
  }
80
106
  /**
81
- * Check if a bash pattern key is covered by any approved pattern.
82
- * Uses pattern-to-pattern covering for broader pattern support.
107
+ * Check if a pattern key is covered by any approved pattern for a tool.
83
108
  *
84
- * @param patternKey The pattern key generated from the command (e.g., "git push *")
85
- * @returns true if the pattern key is covered by an approved pattern
86
- */
87
- matchesBashPattern(patternKey) {
88
- for (const storedPattern of this.bashPatterns) {
89
- if ((0, import_bash_pattern_utils.patternCovers)(storedPattern, patternKey)) {
109
+ * Note: This expects a pattern key (e.g. "git push *"), not raw arguments.
110
+ * Tools are responsible for generating the key via `tool.approval.patternKey()`.
111
+ */
112
+ matchesPattern(toolName, patternKey) {
113
+ const patterns = this.toolPatterns.get(toolName);
114
+ if (!patterns || patterns.size === 0) return false;
115
+ for (const storedPattern of patterns) {
116
+ if ((0, import_pattern_utils.patternCovers)(storedPattern, patternKey)) {
90
117
  this.logger.debug(
91
- `Pattern key "${patternKey}" is covered by approved pattern "${storedPattern}"`
118
+ `Pattern key "${patternKey}" is covered by approved pattern "${storedPattern}" (tool: ${toolName})`
92
119
  );
93
120
  return true;
94
121
  }
@@ -96,23 +123,64 @@ class ApprovalManager {
96
123
  return false;
97
124
  }
98
125
  /**
99
- * Clear all approved bash patterns.
100
- * Should be called when session ends.
126
+ * Clear all patterns for a tool (or all tools when omitted).
101
127
  */
102
- clearBashPatterns() {
103
- const count = this.bashPatterns.size;
104
- this.bashPatterns.clear();
128
+ clearPatterns(toolName) {
129
+ if (toolName) {
130
+ const patterns = this.toolPatterns.get(toolName);
131
+ if (!patterns) return;
132
+ const count2 = patterns.size;
133
+ patterns.clear();
134
+ if (count2 > 0) {
135
+ this.logger.debug(`Cleared ${count2} pattern(s) for '${toolName}'`);
136
+ }
137
+ return;
138
+ }
139
+ const count = Array.from(this.toolPatterns.values()).reduce(
140
+ (sum, set) => sum + set.size,
141
+ 0
142
+ );
143
+ this.toolPatterns.clear();
105
144
  if (count > 0) {
106
- this.logger.debug(`Cleared ${count} bash patterns`);
145
+ this.logger.debug(`Cleared ${count} total tool pattern(s)`);
107
146
  }
108
147
  }
109
148
  /**
110
- * Get the current set of approved bash patterns (for debugging/display).
149
+ * Get patterns for a tool (for debugging/display).
111
150
  */
112
- getBashPatterns() {
113
- return this.bashPatterns;
151
+ getToolPatterns(toolName) {
152
+ return this.toolPatterns.get(toolName) ?? /* @__PURE__ */ new Set();
153
+ }
154
+ /**
155
+ * Get all tool patterns (for debugging/display).
156
+ */
157
+ getAllToolPatterns() {
158
+ return this.toolPatterns;
114
159
  }
115
160
  // ==================== Directory Access Methods ====================
161
+ /**
162
+ * Resolve a directory path for use as an approval key.
163
+ *
164
+ * We store BOTH the resolved path and (when available) its realpath, so approvals
165
+ * continue to work even when other subsystems canonicalize paths via realpath
166
+ * (e.g. macOS /tmp -> /private/tmp or custom symlinked directories).
167
+ */
168
+ getDirectoryApprovalKeys(directory) {
169
+ const resolved = import_node_path.default.resolve(directory);
170
+ const real = tryRealpathSyncWithExistingParent(resolved);
171
+ if (real && real !== resolved) {
172
+ return [resolved, real];
173
+ }
174
+ return [resolved];
175
+ }
176
+ getFileApprovalKeys(filePath) {
177
+ const resolved = import_node_path.default.resolve(filePath);
178
+ const real = tryRealpathSyncWithExistingParent(resolved);
179
+ if (real && real !== resolved) {
180
+ return [resolved, real];
181
+ }
182
+ return [resolved];
183
+ }
116
184
  /**
117
185
  * Initialize the working directory as a session-approved directory.
118
186
  * This should be called once during setup to ensure the working directory
@@ -121,9 +189,7 @@ class ApprovalManager {
121
189
  * @param workingDir The working directory path
122
190
  */
123
191
  initializeWorkingDirectory(workingDir) {
124
- const normalized = import_node_path.default.resolve(workingDir);
125
- this.approvedDirectories.set(normalized, "session");
126
- this.logger.debug(`Initialized working directory as session-approved: "${normalized}"`);
192
+ this.addApprovedDirectory(workingDir, "session");
127
193
  }
128
194
  /**
129
195
  * Add a directory to the approved list for this session.
@@ -143,16 +209,28 @@ class ApprovalManager {
143
209
  * ```
144
210
  */
145
211
  addApprovedDirectory(directory, type = "session") {
146
- const normalized = import_node_path.default.resolve(directory);
147
- const existing = this.approvedDirectories.get(normalized);
148
- if (existing === "session") {
212
+ const keys = this.getDirectoryApprovalKeys(directory);
213
+ const existingTypes = keys.map((key) => this.approvedDirectories.get(key)).filter((value) => value !== void 0);
214
+ const hasSessionApproval = existingTypes.includes("session");
215
+ const effectiveType = type === "session" || hasSessionApproval ? "session" : "once";
216
+ for (const key of keys) {
217
+ const existing = this.approvedDirectories.get(key);
218
+ if (existing === "session") {
219
+ continue;
220
+ }
221
+ this.approvedDirectories.set(key, effectiveType);
222
+ }
223
+ const resolvedKey = keys[0];
224
+ if (effectiveType === "session" && type === "once" && hasSessionApproval) {
149
225
  this.logger.debug(
150
- `Directory "${normalized}" already approved as 'session', not downgrading to '${type}'`
226
+ `Directory "${resolvedKey}" already approved as 'session', not downgrading to 'once'`
151
227
  );
152
228
  return;
153
229
  }
154
- this.approvedDirectories.set(normalized, type);
155
- this.logger.debug(`Added approved directory: "${normalized}" (type: ${type})`);
230
+ const realKey = keys.length > 1 ? keys[1] : null;
231
+ this.logger.debug(
232
+ `Added approved directory: "${resolvedKey}" (type: ${effectiveType})${realKey ? `, realpath: "${realKey}"` : ""}`
233
+ );
156
234
  }
157
235
  /**
158
236
  * Check if a file path is within any session-approved directory.
@@ -163,15 +241,16 @@ class ApprovalManager {
163
241
  * @returns true if the path is within a session-approved directory
164
242
  */
165
243
  isDirectorySessionApproved(filePath) {
166
- const normalized = import_node_path.default.resolve(filePath);
167
- for (const [approvedDir, type] of this.approvedDirectories) {
168
- if (type !== "session") continue;
169
- const relative = import_node_path.default.relative(approvedDir, normalized);
170
- if (!relative.startsWith("..") && !import_node_path.default.isAbsolute(relative)) {
171
- this.logger.debug(
172
- `Path "${normalized}" is within session-approved directory "${approvedDir}"`
173
- );
174
- return true;
244
+ for (const normalized of this.getFileApprovalKeys(filePath)) {
245
+ for (const [approvedDir, type] of this.approvedDirectories) {
246
+ if (type !== "session") continue;
247
+ const relative = import_node_path.default.relative(approvedDir, normalized);
248
+ if (!relative.startsWith("..") && !import_node_path.default.isAbsolute(relative)) {
249
+ this.logger.debug(
250
+ `Path "${normalized}" is within session-approved directory "${approvedDir}"`
251
+ );
252
+ return true;
253
+ }
175
254
  }
176
255
  }
177
256
  return false;
@@ -185,14 +264,15 @@ class ApprovalManager {
185
264
  * @returns true if the path is within any approved directory
186
265
  */
187
266
  isDirectoryApproved(filePath) {
188
- const normalized = import_node_path.default.resolve(filePath);
189
- for (const [approvedDir] of this.approvedDirectories) {
190
- const relative = import_node_path.default.relative(approvedDir, normalized);
191
- if (!relative.startsWith("..") && !import_node_path.default.isAbsolute(relative)) {
192
- this.logger.debug(
193
- `Path "${normalized}" is within approved directory "${approvedDir}"`
194
- );
195
- return true;
267
+ for (const normalized of this.getFileApprovalKeys(filePath)) {
268
+ for (const [approvedDir] of this.approvedDirectories) {
269
+ const relative = import_node_path.default.relative(approvedDir, normalized);
270
+ if (!relative.startsWith("..") && !import_node_path.default.isAbsolute(relative)) {
271
+ this.logger.debug(
272
+ `Path "${normalized}" is within approved directory "${approvedDir}"`
273
+ );
274
+ return true;
275
+ }
196
276
  }
197
277
  }
198
278
  return false;
@@ -221,11 +301,11 @@ class ApprovalManager {
221
301
  return Array.from(this.approvedDirectories.keys());
222
302
  }
223
303
  /**
224
- * Clear all session-scoped approvals (bash patterns and directories).
304
+ * Clear all session-scoped approvals (tool patterns and directories).
225
305
  * Convenience method for clearing all session state at once.
226
306
  */
227
307
  clearSessionApprovals() {
228
- this.clearBashPatterns();
308
+ this.clearPatterns();
229
309
  this.clearApprovedDirectories();
230
310
  this.logger.debug("Cleared all session approvals");
231
311
  }
@@ -249,7 +329,7 @@ class ApprovalManager {
249
329
  const details = {
250
330
  type: import_types.ApprovalType.DIRECTORY_ACCESS,
251
331
  // Use provided timeout, fallback to config timeout, or undefined (no timeout)
252
- timeout: timeout !== void 0 ? timeout : this.config.toolConfirmation.timeout,
332
+ timeout: timeout !== void 0 ? timeout : this.config.permissions.timeout,
253
333
  metadata: directoryMetadata
254
334
  };
255
335
  if (sessionId !== void 0) {
@@ -270,7 +350,7 @@ class ApprovalManager {
270
350
  return this.handleApproval(request);
271
351
  }
272
352
  /**
273
- * Handle approval requests (tool confirmation, elicitation, command confirmation, directory access, custom)
353
+ * Handle approval requests (tool approval, elicitation, command confirmation, directory access, custom)
274
354
  * @private
275
355
  */
276
356
  async handleApproval(request) {
@@ -281,7 +361,7 @@ class ApprovalManager {
281
361
  );
282
362
  return handler2(request);
283
363
  }
284
- const mode = this.config.toolConfirmation.mode;
364
+ const mode = this.config.permissions.mode;
285
365
  if (mode === "auto-approve") {
286
366
  this.logger.info(
287
367
  `Auto-approve approval '${request.type}', approvalId: ${request.approvalId}`
@@ -317,18 +397,18 @@ class ApprovalManager {
317
397
  return handler(request);
318
398
  }
319
399
  /**
320
- * Request tool confirmation approval
321
- * Convenience method for tool execution confirmation
400
+ * Request tool approval
401
+ * Convenience method for tool execution approval
322
402
  *
323
403
  * TODO: Make sessionId required once all callers are updated to pass it
324
404
  * Tool confirmations always happen in session context during LLM execution
325
405
  */
326
- async requestToolConfirmation(metadata) {
406
+ async requestToolApproval(metadata) {
327
407
  const { sessionId, timeout, ...toolMetadata } = metadata;
328
408
  const details = {
329
- type: import_types.ApprovalType.TOOL_CONFIRMATION,
409
+ type: import_types.ApprovalType.TOOL_APPROVAL,
330
410
  // Use provided timeout, fallback to config timeout, or undefined (no timeout)
331
- timeout: timeout !== void 0 ? timeout : this.config.toolConfirmation.timeout,
411
+ timeout: timeout !== void 0 ? timeout : this.config.permissions.timeout,
332
412
  metadata: toolMetadata
333
413
  };
334
414
  if (sessionId !== void 0) {
@@ -340,7 +420,7 @@ class ApprovalManager {
340
420
  * Request command confirmation approval
341
421
  * Convenience method for dangerous command execution within an already-approved tool
342
422
  *
343
- * This is different from tool confirmation - it's for per-command approval
423
+ * This is different from tool approval - it's for per-command approval
344
424
  * of dangerous operations (like rm, git push) within tools that are already approved.
345
425
  *
346
426
  * TODO: Make sessionId required once all callers are updated to pass it
@@ -362,7 +442,7 @@ class ApprovalManager {
362
442
  const details = {
363
443
  type: import_types.ApprovalType.COMMAND_CONFIRMATION,
364
444
  // Use provided timeout, fallback to config timeout, or undefined (no timeout)
365
- timeout: timeout !== void 0 ? timeout : this.config.toolConfirmation.timeout,
445
+ timeout: timeout !== void 0 ? timeout : this.config.permissions.timeout,
366
446
  metadata: commandMetadata
367
447
  };
368
448
  if (sessionId !== void 0) {
@@ -391,15 +471,15 @@ class ApprovalManager {
391
471
  return this.requestApproval(details);
392
472
  }
393
473
  /**
394
- * Check if tool confirmation was approved
474
+ * Check if tool approval was approved
395
475
  * Throws appropriate error if denied
396
476
  */
397
- async checkToolConfirmation(metadata) {
398
- const response = await this.requestToolConfirmation(metadata);
477
+ async checkToolApproval(metadata) {
478
+ const response = await this.requestToolApproval(metadata);
399
479
  if (response.status === import_types.ApprovalStatus.APPROVED) {
400
480
  return true;
401
481
  } else if (response.status === import_types.ApprovalStatus.DENIED) {
402
- throw import_errors.ApprovalError.toolConfirmationDenied(
482
+ throw import_errors.ApprovalError.toolApprovalDenied(
403
483
  metadata.toolName,
404
484
  response.reason,
405
485
  response.message,
@@ -408,7 +488,7 @@ class ApprovalManager {
408
488
  } else {
409
489
  throw import_errors.ApprovalError.cancelled(
410
490
  response.approvalId,
411
- import_types.ApprovalType.TOOL_CONFIRMATION,
491
+ import_types.ApprovalType.TOOL_APPROVAL,
412
492
  response.message ?? response.reason
413
493
  );
414
494
  }
@@ -489,11 +569,11 @@ class ApprovalManager {
489
569
  * Set the approval handler for manual approval mode.
490
570
  *
491
571
  * The handler will be called for:
492
- * - Tool confirmation requests when toolConfirmation.mode is 'manual'
493
- * - All elicitation requests (when elicitation is enabled, regardless of toolConfirmation.mode)
572
+ * - Tool confirmation requests when permissions.mode is 'manual'
573
+ * - All elicitation requests (when elicitation is enabled, regardless of permissions.mode)
494
574
  *
495
575
  * A handler must be set before processing requests if:
496
- * - toolConfirmation.mode is 'manual', or
576
+ * - permissions.mode is 'manual', or
497
577
  * - elicitation is enabled (elicitation.enabled is true)
498
578
  *
499
579
  * @param handler The approval handler function, or null to clear
@@ -526,7 +606,7 @@ class ApprovalManager {
526
606
  ensureHandler() {
527
607
  if (!this.handler) {
528
608
  throw import_errors.ApprovalError.invalidConfig(
529
- 'An approval handler is required but not configured.\nHandlers are required for:\n \u2022 manual tool confirmation mode\n \u2022 all elicitation requests (when elicitation is enabled)\nEither:\n \u2022 set toolConfirmation.mode to "auto-approve" or "auto-deny", or\n \u2022 disable elicitation (set elicitation.enabled: false), or\n \u2022 call agent.setApprovalHandler(...) before processing requests.'
609
+ 'An approval handler is required but not configured.\nHandlers are required for:\n \u2022 manual tool approval mode\n \u2022 all elicitation requests (when elicitation is enabled)\nEither:\n \u2022 set permissions.mode to "auto-approve" or "auto-deny", or\n \u2022 disable elicitation (set elicitation.enabled: false), or\n \u2022 call agent.setApprovalHandler(...) before processing requests.'
530
610
  );
531
611
  }
532
612
  return this.handler;
@@ -1,11 +1,12 @@
1
- import type { ApprovalHandler, ApprovalRequest, ApprovalResponse, ApprovalRequestDetails, ToolConfirmationMetadata, CommandConfirmationMetadata, ElicitationMetadata, DirectoryAccessMetadata } from './types.js';
2
- import type { IDextoLogger } from '../logger/v2/types.js';
1
+ import type { ApprovalHandler, ApprovalRequest, ApprovalResponse, ApprovalRequestDetails, ToolApprovalMetadata, CommandConfirmationMetadata, ElicitationMetadata, DirectoryAccessMetadata } from './types.js';
2
+ import type { Logger } from '../logger/v2/types.js';
3
+ import type { PermissionsMode } from '../tools/schemas.js';
3
4
  /**
4
5
  * Configuration for the approval manager
5
6
  */
6
7
  export interface ApprovalManagerConfig {
7
- toolConfirmation: {
8
- mode: 'manual' | 'auto-approve' | 'auto-deny';
8
+ permissions: {
9
+ mode: PermissionsMode;
9
10
  timeout?: number;
10
11
  };
11
12
  elicitation: {
@@ -17,7 +18,7 @@ export interface ApprovalManagerConfig {
17
18
  * ApprovalManager orchestrates all user approval flows in Dexto.
18
19
  *
19
20
  * It provides a unified interface for requesting user approvals across different
20
- * types (tool confirmation, MCP elicitation, custom approvals) and manages the
21
+ * types (tool approval, MCP elicitation, custom approvals) and manages the
21
22
  * underlying approval provider based on configuration.
22
23
  *
23
24
  * Key responsibilities:
@@ -30,12 +31,12 @@ export interface ApprovalManagerConfig {
30
31
  * @example
31
32
  * ```typescript
32
33
  * const manager = new ApprovalManager(
33
- * { toolConfirmation: { mode: 'manual', timeout: 60000 }, elicitation: { enabled: true, timeout: 60000 } },
34
+ * { permissions: { mode: 'manual', timeout: 60000 }, elicitation: { enabled: true, timeout: 60000 } },
34
35
  * logger
35
36
  * );
36
37
  *
37
- * // Request tool confirmation
38
- * const response = await manager.requestToolConfirmation({
38
+ * // Request tool approval
39
+ * const response = await manager.requestToolApproval({
39
40
  * toolName: 'git_commit',
40
41
  * args: { message: 'feat: add feature' },
41
42
  * sessionId: 'session-123'
@@ -51,11 +52,12 @@ export declare class ApprovalManager {
51
52
  private config;
52
53
  private logger;
53
54
  /**
54
- * Bash command patterns approved for the current session.
55
- * Patterns use simple glob syntax (e.g., "git *", "npm install *").
56
- * Cleared when session ends.
55
+ * Tool approval patterns, keyed by tool id.
56
+ *
57
+ * Patterns use simple glob syntax (e.g. "git *", "npm install *") and are matched
58
+ * using pattern-to-pattern covering (see {@link patternCovers}).
57
59
  */
58
- private bashPatterns;
60
+ private toolPatterns;
59
61
  /**
60
62
  * Directories approved for file access for the current session.
61
63
  * Stores normalized absolute paths mapped to their approval type:
@@ -64,35 +66,40 @@ export declare class ApprovalManager {
64
66
  * Cleared when session ends.
65
67
  */
66
68
  private approvedDirectories;
67
- constructor(config: ApprovalManagerConfig, logger: IDextoLogger);
69
+ constructor(config: ApprovalManagerConfig, logger: Logger);
70
+ private getOrCreateToolPatternSet;
68
71
  /**
69
- * Add a bash command pattern to the approved list for this session.
70
- * Patterns use simple glob syntax with * as wildcard.
71
- *
72
- * @example
73
- * ```typescript
74
- * manager.addBashPattern("git *"); // Approves all git commands
75
- * manager.addBashPattern("npm install *"); // Approves npm install with any package
76
- * ```
72
+ * Add an approval pattern for a tool.
77
73
  */
78
- addBashPattern(pattern: string): void;
74
+ addPattern(toolName: string, pattern: string): void;
79
75
  /**
80
- * Check if a bash pattern key is covered by any approved pattern.
81
- * Uses pattern-to-pattern covering for broader pattern support.
76
+ * Check if a pattern key is covered by any approved pattern for a tool.
82
77
  *
83
- * @param patternKey The pattern key generated from the command (e.g., "git push *")
84
- * @returns true if the pattern key is covered by an approved pattern
78
+ * Note: This expects a pattern key (e.g. "git push *"), not raw arguments.
79
+ * Tools are responsible for generating the key via `tool.approval.patternKey()`.
85
80
  */
86
- matchesBashPattern(patternKey: string): boolean;
81
+ matchesPattern(toolName: string, patternKey: string): boolean;
87
82
  /**
88
- * Clear all approved bash patterns.
89
- * Should be called when session ends.
83
+ * Clear all patterns for a tool (or all tools when omitted).
84
+ */
85
+ clearPatterns(toolName?: string): void;
86
+ /**
87
+ * Get patterns for a tool (for debugging/display).
90
88
  */
91
- clearBashPatterns(): void;
89
+ getToolPatterns(toolName: string): ReadonlySet<string>;
92
90
  /**
93
- * Get the current set of approved bash patterns (for debugging/display).
91
+ * Get all tool patterns (for debugging/display).
92
+ */
93
+ getAllToolPatterns(): ReadonlyMap<string, Set<string>>;
94
+ /**
95
+ * Resolve a directory path for use as an approval key.
96
+ *
97
+ * We store BOTH the resolved path and (when available) its realpath, so approvals
98
+ * continue to work even when other subsystems canonicalize paths via realpath
99
+ * (e.g. macOS /tmp -> /private/tmp or custom symlinked directories).
94
100
  */
95
- getBashPatterns(): ReadonlySet<string>;
101
+ private getDirectoryApprovalKeys;
102
+ private getFileApprovalKeys;
96
103
  /**
97
104
  * Initialize the working directory as a session-approved directory.
98
105
  * This should be called once during setup to ensure the working directory
@@ -151,7 +158,7 @@ export declare class ApprovalManager {
151
158
  */
152
159
  getApprovedDirectoryPaths(): string[];
153
160
  /**
154
- * Clear all session-scoped approvals (bash patterns and directories).
161
+ * Clear all session-scoped approvals (tool patterns and directories).
155
162
  * Convenience method for clearing all session state at once.
156
163
  */
157
164
  clearSessionApprovals(): void;
@@ -179,18 +186,18 @@ export declare class ApprovalManager {
179
186
  */
180
187
  requestApproval(details: ApprovalRequestDetails): Promise<ApprovalResponse>;
181
188
  /**
182
- * Handle approval requests (tool confirmation, elicitation, command confirmation, directory access, custom)
189
+ * Handle approval requests (tool approval, elicitation, command confirmation, directory access, custom)
183
190
  * @private
184
191
  */
185
192
  private handleApproval;
186
193
  /**
187
- * Request tool confirmation approval
188
- * Convenience method for tool execution confirmation
194
+ * Request tool approval
195
+ * Convenience method for tool execution approval
189
196
  *
190
197
  * TODO: Make sessionId required once all callers are updated to pass it
191
198
  * Tool confirmations always happen in session context during LLM execution
192
199
  */
193
- requestToolConfirmation(metadata: ToolConfirmationMetadata & {
200
+ requestToolApproval(metadata: ToolApprovalMetadata & {
194
201
  sessionId?: string;
195
202
  timeout?: number;
196
203
  }): Promise<ApprovalResponse>;
@@ -198,7 +205,7 @@ export declare class ApprovalManager {
198
205
  * Request command confirmation approval
199
206
  * Convenience method for dangerous command execution within an already-approved tool
200
207
  *
201
- * This is different from tool confirmation - it's for per-command approval
208
+ * This is different from tool approval - it's for per-command approval
202
209
  * of dangerous operations (like rm, git push) within tools that are already approved.
203
210
  *
204
211
  * TODO: Make sessionId required once all callers are updated to pass it
@@ -231,10 +238,10 @@ export declare class ApprovalManager {
231
238
  timeout?: number;
232
239
  }): Promise<ApprovalResponse>;
233
240
  /**
234
- * Check if tool confirmation was approved
241
+ * Check if tool approval was approved
235
242
  * Throws appropriate error if denied
236
243
  */
237
- checkToolConfirmation(metadata: ToolConfirmationMetadata & {
244
+ checkToolApproval(metadata: ToolApprovalMetadata & {
238
245
  sessionId?: string;
239
246
  timeout?: number;
240
247
  }): Promise<boolean>;
@@ -280,11 +287,11 @@ export declare class ApprovalManager {
280
287
  * Set the approval handler for manual approval mode.
281
288
  *
282
289
  * The handler will be called for:
283
- * - Tool confirmation requests when toolConfirmation.mode is 'manual'
284
- * - All elicitation requests (when elicitation is enabled, regardless of toolConfirmation.mode)
290
+ * - Tool confirmation requests when permissions.mode is 'manual'
291
+ * - All elicitation requests (when elicitation is enabled, regardless of permissions.mode)
285
292
  *
286
293
  * A handler must be set before processing requests if:
287
- * - toolConfirmation.mode is 'manual', or
294
+ * - permissions.mode is 'manual', or
288
295
  * - elicitation is enabled (elicitation.enabled is true)
289
296
  *
290
297
  * @param handler The approval handler function, or null to clear
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/approval/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/approval/manager.ts"],"names":[],"mappings":"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"}