@qduc/term2 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2779) hide show
  1. package/README.md +10 -6
  2. package/dist/agent.d.ts +2 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +39 -5
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +10 -2
  8. package/dist/app.js.map +1 -1
  9. package/dist/components/InputBox.d.ts +16 -0
  10. package/dist/components/InputBox.d.ts.map +1 -1
  11. package/dist/components/InputBox.js +30 -2
  12. package/dist/components/InputBox.js.map +1 -1
  13. package/dist/components/MarkdownRenderer.d.ts +2 -1
  14. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  15. package/dist/components/input/determine-active-menu.d.ts.map +1 -0
  16. package/dist/components/input/determine-active-menu.js +72 -0
  17. package/dist/components/input/determine-active-menu.js.map +1 -0
  18. package/dist/components/layout/Banner.d.ts.map +1 -1
  19. package/dist/components/layout/Banner.js +3 -1
  20. package/dist/components/layout/Banner.js.map +1 -1
  21. package/dist/components/layout/BottomArea.d.ts +17 -0
  22. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  23. package/dist/components/layout/BottomArea.js +14 -4
  24. package/dist/components/layout/BottomArea.js.map +1 -1
  25. package/dist/components/layout/StatusBar.d.ts +1 -0
  26. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  27. package/dist/components/layout/StatusBar.js +22 -4
  28. package/dist/components/layout/StatusBar.js.map +1 -1
  29. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  30. package/dist/components/message/CommandMessage.js +18 -0
  31. package/dist/components/message/CommandMessage.js.map +1 -1
  32. package/dist/components/message/MemoryRenderer.d.ts +9 -0
  33. package/dist/components/message/MemoryRenderer.d.ts.map +1 -0
  34. package/dist/components/message/MemoryRenderer.js +97 -0
  35. package/dist/components/message/MemoryRenderer.js.map +1 -0
  36. package/dist/components/message/SubagentActivityMessage.js +2 -1
  37. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  38. package/dist/components/message/command-message-helpers.d.ts +47 -1
  39. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  40. package/dist/components/message/command-message-helpers.js +56 -0
  41. package/dist/components/message/command-message-helpers.js.map +1 -1
  42. package/dist/components/prompt/ApprovalPrompt.d.ts +1 -1
  43. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  44. package/dist/components/prompt/ApprovalPrompt.js +62 -13
  45. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  46. package/dist/components/prompt/QueuePausedPrompt.d.ts +11 -0
  47. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -0
  48. package/dist/components/prompt/QueuePausedPrompt.js +30 -0
  49. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -0
  50. package/dist/contracts/conversation.d.ts +5 -0
  51. package/dist/contracts/conversation.d.ts.map +1 -1
  52. package/dist/contracts/conversation.js +12 -0
  53. package/dist/contracts/conversation.js.map +1 -1
  54. package/dist/hooks/conversation-ui-reducer.d.ts +36 -0
  55. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  56. package/dist/hooks/conversation-ui-reducer.js +52 -2
  57. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  58. package/dist/hooks/settings-completion-config.d.ts +1 -0
  59. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  60. package/dist/hooks/settings-completion-config.js +60 -1
  61. package/dist/hooks/settings-completion-config.js.map +1 -1
  62. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +3 -1
  63. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  64. package/dist/hooks/use-app-keyboard-shortcuts.js +4 -2
  65. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  66. package/dist/hooks/use-conversation.d.ts +12 -0
  67. package/dist/hooks/use-conversation.d.ts.map +1 -1
  68. package/dist/hooks/use-conversation.js +16 -2
  69. package/dist/hooks/use-conversation.js.map +1 -1
  70. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  71. package/dist/hooks/use-handoff-flow.js +2 -16
  72. package/dist/hooks/use-handoff-flow.js.map +1 -1
  73. package/dist/hooks/use-model-selection.d.ts +0 -9
  74. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  75. package/dist/hooks/use-model-selection.js +1 -9
  76. package/dist/hooks/use-model-selection.js.map +1 -1
  77. package/dist/lib/agent-client.d.ts.map +1 -1
  78. package/dist/lib/agent-client.js +2 -0
  79. package/dist/lib/agent-client.js.map +1 -1
  80. package/dist/lib/agent-configuration.d.ts.map +1 -1
  81. package/dist/lib/agent-configuration.js +20 -0
  82. package/dist/lib/agent-configuration.js.map +1 -1
  83. package/dist/lib/agent-factory.d.ts +3 -0
  84. package/dist/lib/agent-factory.d.ts.map +1 -1
  85. package/dist/lib/agent-factory.js +1 -0
  86. package/dist/lib/agent-factory.js.map +1 -1
  87. package/dist/lib/agent-run-orchestrator.d.ts.map +1 -1
  88. package/dist/lib/agent-run-orchestrator.js +4 -0
  89. package/dist/lib/agent-run-orchestrator.js.map +1 -1
  90. package/dist/lib/subagent-bridge.d.ts +11 -0
  91. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  92. package/dist/lib/subagent-bridge.js +15 -3
  93. package/dist/lib/subagent-bridge.js.map +1 -1
  94. package/dist/lib/tool-invoke.d.ts.map +1 -1
  95. package/dist/lib/tool-invoke.js +13 -1
  96. package/dist/lib/tool-invoke.js.map +1 -1
  97. package/dist/non-interactive.d.ts.map +1 -1
  98. package/dist/non-interactive.js +4 -1
  99. package/dist/non-interactive.js.map +1 -1
  100. package/dist/prompts/lite.md +5 -2
  101. package/dist/prompts/memory.md +9 -0
  102. package/dist/prompts/mentor-addon.md +4 -4
  103. package/dist/prompts/orchestrator.md +19 -15
  104. package/dist/prompts/prompt-constructor.d.ts +2 -0
  105. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  106. package/dist/prompts/prompt-constructor.js +12 -3
  107. package/dist/prompts/prompt-constructor.js.map +1 -1
  108. package/dist/prompts/prompt-constructor.test.ts +13 -0
  109. package/dist/prompts/prompt-constructor.ts +17 -2
  110. package/dist/prompts/subagent-delegation.d.ts +2 -1
  111. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  112. package/dist/prompts/subagent-delegation.js +10 -31
  113. package/dist/prompts/subagent-delegation.js.map +1 -1
  114. package/dist/prompts/subagent-delegation.test.ts +36 -22
  115. package/dist/prompts/subagent-delegation.ts +13 -31
  116. package/dist/prompts/subagents/librarian.md +61 -0
  117. package/dist/prompts/subagents/mentor-mode.md +7 -11
  118. package/dist/prompts/subagents/mentor.md +7 -9
  119. package/dist/providers/chained-wire-state.d.ts +92 -0
  120. package/dist/providers/chained-wire-state.d.ts.map +1 -0
  121. package/dist/providers/chained-wire-state.js +136 -0
  122. package/dist/providers/chained-wire-state.js.map +1 -0
  123. package/dist/providers/codex-responses-model.d.ts +9 -2
  124. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  125. package/dist/providers/codex-responses-model.js +236 -30
  126. package/dist/providers/codex-responses-model.js.map +1 -1
  127. package/dist/providers/codex.provider.d.ts +3 -0
  128. package/dist/providers/codex.provider.d.ts.map +1 -1
  129. package/dist/providers/codex.provider.js +51 -7
  130. package/dist/providers/codex.provider.js.map +1 -1
  131. package/dist/providers/luna-responses-lite-wire-protocol.d.ts +25 -0
  132. package/dist/providers/luna-responses-lite-wire-protocol.d.ts.map +1 -0
  133. package/dist/providers/luna-responses-lite-wire-protocol.js +82 -0
  134. package/dist/providers/luna-responses-lite-wire-protocol.js.map +1 -0
  135. package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
  136. package/dist/providers/openai-compatible-response-normalizer.js +17 -1
  137. package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
  138. package/dist/providers/websocket-receive-watchdog.d.ts +13 -0
  139. package/dist/providers/websocket-receive-watchdog.d.ts.map +1 -0
  140. package/dist/providers/websocket-receive-watchdog.js +82 -0
  141. package/dist/providers/websocket-receive-watchdog.js.map +1 -0
  142. package/dist/services/agent-runtime/agent-handle.d.ts +34 -0
  143. package/dist/services/agent-runtime/agent-handle.d.ts.map +1 -0
  144. package/dist/services/agent-runtime/agent-handle.js +239 -0
  145. package/dist/services/agent-runtime/agent-handle.js.map +1 -0
  146. package/dist/services/agent-runtime/agent-resolver.d.ts +25 -0
  147. package/dist/services/agent-runtime/agent-resolver.d.ts.map +1 -0
  148. package/dist/services/agent-runtime/agent-resolver.js +86 -0
  149. package/dist/services/agent-runtime/agent-resolver.js.map +1 -0
  150. package/dist/services/agent-runtime/agent-runtime.d.ts +97 -0
  151. package/dist/services/agent-runtime/agent-runtime.d.ts.map +1 -0
  152. package/dist/services/agent-runtime/agent-runtime.js +95 -0
  153. package/dist/services/agent-runtime/agent-runtime.js.map +1 -0
  154. package/dist/services/agent-runtime/compose-agent-runtime.d.ts +89 -0
  155. package/dist/services/agent-runtime/compose-agent-runtime.d.ts.map +1 -0
  156. package/dist/services/agent-runtime/compose-agent-runtime.js +81 -0
  157. package/dist/services/agent-runtime/compose-agent-runtime.js.map +1 -0
  158. package/dist/services/agent-runtime/execution-budget.d.ts +105 -0
  159. package/dist/services/agent-runtime/execution-budget.d.ts.map +1 -0
  160. package/dist/services/agent-runtime/execution-budget.js +203 -0
  161. package/dist/services/agent-runtime/execution-budget.js.map +1 -0
  162. package/dist/services/agent-runtime/executor.d.ts +34 -0
  163. package/dist/services/agent-runtime/executor.d.ts.map +1 -0
  164. package/dist/services/agent-runtime/executor.js +144 -0
  165. package/dist/services/agent-runtime/executor.js.map +1 -0
  166. package/dist/services/agent-runtime/index.d.ts +10 -0
  167. package/dist/services/agent-runtime/index.d.ts.map +1 -0
  168. package/dist/services/agent-runtime/index.js +14 -0
  169. package/dist/services/agent-runtime/index.js.map +1 -0
  170. package/dist/services/agent-runtime/internal.d.ts +15 -0
  171. package/dist/services/agent-runtime/internal.d.ts.map +1 -0
  172. package/dist/services/agent-runtime/internal.js +13 -0
  173. package/dist/services/agent-runtime/internal.js.map +1 -0
  174. package/dist/services/agent-runtime/legacy-adapter.d.ts +19 -0
  175. package/dist/services/agent-runtime/legacy-adapter.d.ts.map +1 -0
  176. package/dist/services/agent-runtime/legacy-adapter.js +58 -0
  177. package/dist/services/agent-runtime/legacy-adapter.js.map +1 -0
  178. package/dist/services/agent-runtime/model-resolver.d.ts +13 -0
  179. package/dist/services/agent-runtime/model-resolver.d.ts.map +1 -0
  180. package/dist/services/agent-runtime/model-resolver.js +85 -0
  181. package/dist/services/agent-runtime/model-resolver.js.map +1 -0
  182. package/dist/services/agent-runtime/permission-resolver.d.ts +30 -0
  183. package/dist/services/agent-runtime/permission-resolver.d.ts.map +1 -0
  184. package/dist/services/agent-runtime/permission-resolver.js +204 -0
  185. package/dist/services/agent-runtime/permission-resolver.js.map +1 -0
  186. package/dist/services/agent-runtime/resolved-agent.d.ts +42 -0
  187. package/dist/services/agent-runtime/resolved-agent.d.ts.map +1 -0
  188. package/dist/services/agent-runtime/resolved-agent.js +2 -0
  189. package/dist/services/agent-runtime/resolved-agent.js.map +1 -0
  190. package/dist/services/agent-runtime/scope-resolver.d.ts +146 -0
  191. package/dist/services/agent-runtime/scope-resolver.d.ts.map +1 -0
  192. package/dist/services/agent-runtime/scope-resolver.js +607 -0
  193. package/dist/services/agent-runtime/scope-resolver.js.map +1 -0
  194. package/dist/services/agent-runtime/skill-resolver.d.ts +29 -0
  195. package/dist/services/agent-runtime/skill-resolver.d.ts.map +1 -0
  196. package/dist/services/agent-runtime/skill-resolver.js +40 -0
  197. package/dist/services/agent-runtime/skill-resolver.js.map +1 -0
  198. package/dist/services/agent-runtime/structured-output.d.ts +40 -0
  199. package/dist/services/agent-runtime/structured-output.d.ts.map +1 -0
  200. package/dist/services/agent-runtime/structured-output.js +238 -0
  201. package/dist/services/agent-runtime/structured-output.js.map +1 -0
  202. package/dist/services/agent-runtime/text-attachment.d.ts +28 -0
  203. package/dist/services/agent-runtime/text-attachment.d.ts.map +1 -0
  204. package/dist/services/agent-runtime/text-attachment.js +129 -0
  205. package/dist/services/agent-runtime/text-attachment.js.map +1 -0
  206. package/dist/services/agent-runtime/tools-resolver.d.ts +26 -0
  207. package/dist/services/agent-runtime/tools-resolver.d.ts.map +1 -0
  208. package/dist/services/agent-runtime/tools-resolver.js +77 -0
  209. package/dist/services/agent-runtime/tools-resolver.js.map +1 -0
  210. package/dist/services/agent-runtime/types.d.ts +198 -0
  211. package/dist/services/agent-runtime/types.d.ts.map +1 -0
  212. package/dist/services/agent-runtime/types.js.map +1 -0
  213. package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts +17 -0
  214. package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts.map +1 -0
  215. package/dist/services/agent-runtime/workflow/workflow-evaluator.js +314 -0
  216. package/dist/services/agent-runtime/workflow/workflow-evaluator.js.map +1 -0
  217. package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts +7 -0
  218. package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts.map +1 -0
  219. package/dist/services/agent-runtime/workflow/workflow-sandbox.js +13 -0
  220. package/dist/services/agent-runtime/workflow/workflow-sandbox.js.map +1 -0
  221. package/dist/services/agent-runtime/workflow/workflow-types.d.ts +76 -0
  222. package/dist/services/agent-runtime/workflow/workflow-types.d.ts.map +1 -0
  223. package/dist/services/agent-runtime/workflow/workflow-types.js +22 -0
  224. package/dist/services/agent-runtime/workflow/workflow-types.js.map +1 -0
  225. package/dist/services/agent-runtime/workflow/workflow-worker.d.ts +4 -0
  226. package/dist/services/agent-runtime/workflow/workflow-worker.d.ts.map +1 -0
  227. package/dist/services/agent-runtime/workflow/workflow-worker.js +55 -0
  228. package/dist/services/agent-runtime/workflow/workflow-worker.js.map +1 -0
  229. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  230. package/dist/services/approval/approval-flow-coordinator.js +38 -3
  231. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  232. package/dist/services/approval/session-read-access.d.ts +10 -0
  233. package/dist/services/approval/session-read-access.d.ts.map +1 -0
  234. package/dist/services/approval/session-read-access.js +34 -0
  235. package/dist/services/approval/session-read-access.js.map +1 -0
  236. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  237. package/dist/services/approval/shell-auto-approval-evaluator.js +8 -2
  238. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  239. package/dist/services/approval/shell-sandbox-approval.d.ts +1 -0
  240. package/dist/services/approval/shell-sandbox-approval.d.ts.map +1 -1
  241. package/dist/services/approval/shell-sandbox-approval.js +8 -0
  242. package/dist/services/approval/shell-sandbox-approval.js.map +1 -1
  243. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  244. package/dist/services/approval/tool-approval-batch-coordinator.js +7 -4
  245. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  246. package/dist/services/conversation/conversation-adapter-factory.d.ts +2 -1
  247. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  248. package/dist/services/conversation/conversation-adapter-factory.js +5 -1
  249. package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
  250. package/dist/services/conversation/conversation-adapter.d.ts +52 -2
  251. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  252. package/dist/services/conversation/conversation-adapter.js +288 -33
  253. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  254. package/dist/services/conversation/conversation-input-routing.d.ts.map +1 -1
  255. package/dist/services/conversation/conversation-input-routing.js +4 -2
  256. package/dist/services/conversation/conversation-input-routing.js.map +1 -1
  257. package/dist/services/conversation/conversation-orchestrator.d.ts +14 -0
  258. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  259. package/dist/services/conversation/conversation-orchestrator.js +106 -1
  260. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  261. package/dist/services/conversation/conversation-orchestrator.types.d.ts +21 -0
  262. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  263. package/dist/services/conversation/conversation-result-builder.js +2 -2
  264. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  265. package/dist/services/conversation/conversation-runtime-factory.d.ts +2 -0
  266. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  267. package/dist/services/conversation/conversation-runtime-factory.js +4 -1
  268. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  269. package/dist/services/conversation/conversation-service.d.ts +31 -1
  270. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  271. package/dist/services/conversation/conversation-service.js +45 -1
  272. package/dist/services/conversation/conversation-service.js.map +1 -1
  273. package/dist/services/conversation/queue-persistence.d.ts +8 -0
  274. package/dist/services/conversation/queue-persistence.d.ts.map +1 -0
  275. package/dist/services/conversation/queue-persistence.js +37 -0
  276. package/dist/services/conversation/queue-persistence.js.map +1 -0
  277. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  278. package/dist/services/logging/provider-traffic.js +4 -1
  279. package/dist/services/logging/provider-traffic.js.map +1 -1
  280. package/dist/services/memory/memory-capabilities.d.ts +30 -0
  281. package/dist/services/memory/memory-capabilities.d.ts.map +1 -0
  282. package/dist/services/memory/memory-capabilities.js +115 -0
  283. package/dist/services/memory/memory-capabilities.js.map +1 -0
  284. package/dist/services/memory/memory-store.d.ts +90 -0
  285. package/dist/services/memory/memory-store.d.ts.map +1 -0
  286. package/dist/services/memory/memory-store.js +400 -0
  287. package/dist/services/memory/memory-store.js.map +1 -0
  288. package/dist/services/plan-mode-interceptor.js +1 -1
  289. package/dist/services/plan-mode-interceptor.js.map +1 -1
  290. package/dist/services/queue/queue-controller.d.ts +222 -0
  291. package/dist/services/queue/queue-controller.d.ts.map +1 -0
  292. package/dist/services/queue/queue-controller.js +505 -0
  293. package/dist/services/queue/queue-controller.js.map +1 -0
  294. package/dist/services/retry/recovery-executor.js +2 -2
  295. package/dist/services/retry/recovery-executor.js.map +1 -1
  296. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  297. package/dist/services/retry/retry-error-classification.js +5 -1
  298. package/dist/services/retry/retry-error-classification.js.map +1 -1
  299. package/dist/services/retry/retry-errors.d.ts +7 -0
  300. package/dist/services/retry/retry-errors.d.ts.map +1 -0
  301. package/dist/services/retry/retry-errors.js +8 -0
  302. package/dist/services/retry/retry-errors.js.map +1 -0
  303. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  304. package/dist/services/runtime-setting-router.js +11 -1
  305. package/dist/services/runtime-setting-router.js.map +1 -1
  306. package/dist/services/service-interfaces.d.ts +1 -0
  307. package/dist/services/service-interfaces.d.ts.map +1 -1
  308. package/dist/services/session/continuation-call-id-resolver.d.ts +22 -0
  309. package/dist/services/session/continuation-call-id-resolver.d.ts.map +1 -0
  310. package/dist/services/session/continuation-call-id-resolver.js +83 -0
  311. package/dist/services/session/continuation-call-id-resolver.js.map +1 -0
  312. package/dist/services/session/repetition-detector.d.ts +10 -0
  313. package/dist/services/session/repetition-detector.d.ts.map +1 -0
  314. package/dist/services/session/repetition-detector.js +41 -0
  315. package/dist/services/session/repetition-detector.js.map +1 -0
  316. package/dist/services/session/session-composition.d.ts.map +1 -1
  317. package/dist/services/session/session-composition.js +5 -0
  318. package/dist/services/session/session-composition.js.map +1 -1
  319. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  320. package/dist/services/session/session-lifecycle.js +6 -0
  321. package/dist/services/session/session-lifecycle.js.map +1 -1
  322. package/dist/services/session/session-stream-processor.d.ts +2 -0
  323. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  324. package/dist/services/session/session-stream-processor.js +14 -0
  325. package/dist/services/session/session-stream-processor.js.map +1 -1
  326. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  327. package/dist/services/session/turn-workflow.js +25 -88
  328. package/dist/services/session/turn-workflow.js.map +1 -1
  329. package/dist/services/settings/ancillary-settings-migration.d.ts +6 -0
  330. package/dist/services/settings/ancillary-settings-migration.d.ts.map +1 -0
  331. package/dist/services/settings/ancillary-settings-migration.js +70 -0
  332. package/dist/services/settings/ancillary-settings-migration.js.map +1 -0
  333. package/dist/services/settings/settings-merger.d.ts.map +1 -1
  334. package/dist/services/settings/settings-merger.js +6 -0
  335. package/dist/services/settings/settings-merger.js.map +1 -1
  336. package/dist/services/settings/settings-schema.d.ts +193 -0
  337. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  338. package/dist/services/settings/settings-schema.js +194 -0
  339. package/dist/services/settings/settings-schema.js.map +1 -1
  340. package/dist/services/settings/settings-service.d.ts.map +1 -1
  341. package/dist/services/settings/settings-service.js +7 -3
  342. package/dist/services/settings/settings-service.js.map +1 -1
  343. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  344. package/dist/services/settings/settings-sources.js +18 -0
  345. package/dist/services/settings/settings-sources.js.map +1 -1
  346. package/dist/services/subagents/execution-runner.d.ts +2 -0
  347. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  348. package/dist/services/subagents/execution-runner.js +33 -1
  349. package/dist/services/subagents/execution-runner.js.map +1 -1
  350. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  351. package/dist/services/subagents/mentor-runner.js +3 -6
  352. package/dist/services/subagents/mentor-runner.js.map +1 -1
  353. package/dist/services/subagents/nested-runner.d.ts +5 -1
  354. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  355. package/dist/services/subagents/nested-runner.js +40 -17
  356. package/dist/services/subagents/nested-runner.js.map +1 -1
  357. package/dist/services/subagents/role-loader.d.ts +2 -1
  358. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  359. package/dist/services/subagents/role-loader.js +45 -18
  360. package/dist/services/subagents/role-loader.js.map +1 -1
  361. package/dist/services/subagents/runtime.d.ts +2 -0
  362. package/dist/services/subagents/runtime.d.ts.map +1 -1
  363. package/dist/services/subagents/runtime.js +3 -0
  364. package/dist/services/subagents/runtime.js.map +1 -1
  365. package/dist/services/subagents/subagent-manager.d.ts +11 -0
  366. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  367. package/dist/services/subagents/subagent-manager.js +29 -2
  368. package/dist/services/subagents/subagent-manager.js.map +1 -1
  369. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts +1 -0
  370. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
  371. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +2 -0
  372. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
  373. package/dist/services/subagents/tool-policy.d.ts +46 -0
  374. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  375. package/dist/services/subagents/tool-policy.js +194 -11
  376. package/dist/services/subagents/tool-policy.js.map +1 -1
  377. package/dist/services/subagents/types.d.ts +38 -1
  378. package/dist/services/subagents/types.d.ts.map +1 -1
  379. package/dist/services/subagents/types.js +1 -1
  380. package/dist/services/subagents/types.js.map +1 -1
  381. package/dist/services/tool-execution-ledger.d.ts +7 -8
  382. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  383. package/dist/services/tool-execution-ledger.js +21 -12
  384. package/dist/services/tool-execution-ledger.js.map +1 -1
  385. package/dist/tools/agent/run-subagent.d.ts +4 -2
  386. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  387. package/dist/tools/agent/run-subagent.js +14 -5
  388. package/dist/tools/agent/run-subagent.js.map +1 -1
  389. package/dist/tools/file/grep.js +2 -2
  390. package/dist/tools/file/grep.js.map +1 -1
  391. package/dist/tools/file/read-file.d.ts.map +1 -1
  392. package/dist/tools/file/read-file.js +9 -3
  393. package/dist/tools/file/read-file.js.map +1 -1
  394. package/dist/tools/file/search-replace.d.ts.map +1 -1
  395. package/dist/tools/file/search-replace.js +8 -1
  396. package/dist/tools/file/search-replace.js.map +1 -1
  397. package/dist/tools/memory/memory-tools.d.ts +6 -0
  398. package/dist/tools/memory/memory-tools.d.ts.map +1 -0
  399. package/dist/tools/memory/memory-tools.js +132 -0
  400. package/dist/tools/memory/memory-tools.js.map +1 -0
  401. package/dist/tools/run-agent-workflow.d.ts +14 -0
  402. package/dist/tools/run-agent-workflow.d.ts.map +1 -0
  403. package/dist/tools/run-agent-workflow.js +38 -0
  404. package/dist/tools/run-agent-workflow.js.map +1 -0
  405. package/dist/tools/system/shell.d.ts +6 -1
  406. package/dist/tools/system/shell.d.ts.map +1 -1
  407. package/dist/tools/system/shell.js +60 -5
  408. package/dist/tools/system/shell.js.map +1 -1
  409. package/dist/tools/tool-names.d.ts +6 -0
  410. package/dist/tools/tool-names.d.ts.map +1 -1
  411. package/dist/tools/tool-names.js +6 -0
  412. package/dist/tools/tool-names.js.map +1 -1
  413. package/dist/utils/ai/model-settings.d.ts.map +1 -1
  414. package/dist/utils/ai/model-settings.js +41 -0
  415. package/dist/utils/ai/model-settings.js.map +1 -1
  416. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  417. package/dist/utils/ai/token-usage.js +6 -3
  418. package/dist/utils/ai/token-usage.js.map +1 -1
  419. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  420. package/dist/utils/conversation/conversation-event-handler.js +3 -24
  421. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  422. package/dist/utils/settings-command.d.ts.map +1 -1
  423. package/dist/utils/settings-command.js +15 -0
  424. package/dist/utils/settings-command.js.map +1 -1
  425. package/dist/utils/shell/execute-shell.d.ts +0 -1
  426. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  427. package/dist/utils/shell/execute-shell.js +66 -27
  428. package/dist/utils/shell/execute-shell.js.map +1 -1
  429. package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts +19 -0
  430. package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts.map +1 -0
  431. package/dist/utils/shell/sandbox/docker-host-control-grants.js +75 -0
  432. package/dist/utils/shell/sandbox/docker-host-control-grants.js.map +1 -0
  433. package/dist/utils/shell/sandbox/docker-host-control.d.ts +11 -0
  434. package/dist/utils/shell/sandbox/docker-host-control.d.ts.map +1 -0
  435. package/dist/utils/shell/sandbox/docker-host-control.js +32 -0
  436. package/dist/utils/shell/sandbox/docker-host-control.js.map +1 -0
  437. package/dist/utils/shell/sandbox/sandbox-env.d.ts +4 -0
  438. package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -1
  439. package/dist/utils/shell/sandbox/sandbox-env.js +5 -1
  440. package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -1
  441. package/dist/utils/shell/sandbox/sandbox-policy.d.ts +3 -0
  442. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  443. package/dist/utils/shell/sandbox/sandbox-policy.js +13 -2
  444. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  445. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
  446. package/dist/utils/shell/sandbox/shell-sandbox-runner.js +35 -13
  447. package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
  448. package/dist/utils/value-suggestions.d.ts.map +1 -1
  449. package/dist/utils/value-suggestions.js +8 -0
  450. package/dist/utils/value-suggestions.js.map +1 -1
  451. package/package.json +10 -5
  452. package/dist/agent.test.d.ts +0 -2
  453. package/dist/agent.test.d.ts.map +0 -1
  454. package/dist/agent.test.js +0 -546
  455. package/dist/agent.test.js.map +0 -1
  456. package/dist/app-helpers.test.d.ts +0 -2
  457. package/dist/app-helpers.test.d.ts.map +0 -1
  458. package/dist/app-helpers.test.js +0 -62
  459. package/dist/app-helpers.test.js.map +0 -1
  460. package/dist/app.applyRuntimeSetting.test.d.ts +0 -2
  461. package/dist/app.applyRuntimeSetting.test.d.ts.map +0 -1
  462. package/dist/app.applyRuntimeSetting.test.js +0 -57
  463. package/dist/app.applyRuntimeSetting.test.js.map +0 -1
  464. package/dist/app.large-uncached-warning.test.d.ts +0 -2
  465. package/dist/app.large-uncached-warning.test.d.ts.map +0 -1
  466. package/dist/app.large-uncached-warning.test.js.map +0 -1
  467. package/dist/app.navigate-question.test.d.ts +0 -2
  468. package/dist/app.navigate-question.test.d.ts.map +0 -1
  469. package/dist/app.navigate-question.test.js +0 -194
  470. package/dist/app.navigate-question.test.js.map +0 -1
  471. package/dist/app.parseInput.test.d.ts +0 -2
  472. package/dist/app.parseInput.test.d.ts.map +0 -1
  473. package/dist/app.parseInput.test.js +0 -89
  474. package/dist/app.parseInput.test.js.map +0 -1
  475. package/dist/app.startup-banner.test.d.ts +0 -2
  476. package/dist/app.startup-banner.test.d.ts.map +0 -1
  477. package/dist/app.startup-banner.test.js +0 -11
  478. package/dist/app.startup-banner.test.js.map +0 -1
  479. package/dist/app.test.d.ts +0 -2
  480. package/dist/app.test.d.ts.map +0 -1
  481. package/dist/app.test.js +0 -377
  482. package/dist/app.test.js.map +0 -1
  483. package/dist/cli.integration.test.d.ts +0 -2
  484. package/dist/cli.integration.test.d.ts.map +0 -1
  485. package/dist/cli.integration.test.js +0 -198
  486. package/dist/cli.integration.test.js.map +0 -1
  487. package/dist/commands/skills-command.test.d.ts +0 -2
  488. package/dist/commands/skills-command.test.d.ts.map +0 -1
  489. package/dist/commands/skills-command.test.js +0 -104
  490. package/dist/commands/skills-command.test.js.map +0 -1
  491. package/dist/components/ApprovalPrompt.ask-user.test.d.ts +0 -2
  492. package/dist/components/ApprovalPrompt.ask-user.test.d.ts.map +0 -1
  493. package/dist/components/ApprovalPrompt.ask-user.test.js +0 -202
  494. package/dist/components/ApprovalPrompt.ask-user.test.js.map +0 -1
  495. package/dist/components/ApprovalPrompt.d.ts +0 -13
  496. package/dist/components/ApprovalPrompt.d.ts.map +0 -1
  497. package/dist/components/ApprovalPrompt.js +0 -297
  498. package/dist/components/ApprovalPrompt.js.map +0 -1
  499. package/dist/components/Banner.d.ts +0 -9
  500. package/dist/components/Banner.d.ts.map +0 -1
  501. package/dist/components/Banner.js +0 -91
  502. package/dist/components/Banner.js.map +0 -1
  503. package/dist/components/BottomArea.d.ts +0 -59
  504. package/dist/components/BottomArea.d.ts.map +0 -1
  505. package/dist/components/BottomArea.js +0 -69
  506. package/dist/components/BottomArea.js.map +0 -1
  507. package/dist/components/BottomArea.test.d.ts +0 -2
  508. package/dist/components/BottomArea.test.d.ts.map +0 -1
  509. package/dist/components/BottomArea.test.js +0 -186
  510. package/dist/components/BottomArea.test.js.map +0 -1
  511. package/dist/components/ChatMessage.d.ts +0 -8
  512. package/dist/components/ChatMessage.d.ts.map +0 -1
  513. package/dist/components/ChatMessage.js +0 -11
  514. package/dist/components/ChatMessage.js.map +0 -1
  515. package/dist/components/ChatMessage.test.d.ts +0 -2
  516. package/dist/components/ChatMessage.test.d.ts.map +0 -1
  517. package/dist/components/ChatMessage.test.js +0 -20
  518. package/dist/components/ChatMessage.test.js.map +0 -1
  519. package/dist/components/CommandMessage.d.ts +0 -16
  520. package/dist/components/CommandMessage.d.ts.map +0 -1
  521. package/dist/components/CommandMessage.js +0 -663
  522. package/dist/components/CommandMessage.js.map +0 -1
  523. package/dist/components/CommandMessage.test.d.ts +0 -2
  524. package/dist/components/CommandMessage.test.d.ts.map +0 -1
  525. package/dist/components/CommandMessage.test.js +0 -838
  526. package/dist/components/CommandMessage.test.js.map +0 -1
  527. package/dist/components/Common/MenuContainer.test.d.ts +0 -2
  528. package/dist/components/Common/MenuContainer.test.d.ts.map +0 -1
  529. package/dist/components/Common/MenuContainer.test.js +0 -37
  530. package/dist/components/Common/MenuContainer.test.js.map +0 -1
  531. package/dist/components/Common/compute-visible-tabs.test.d.ts +0 -2
  532. package/dist/components/Common/compute-visible-tabs.test.d.ts.map +0 -1
  533. package/dist/components/Common/compute-visible-tabs.test.js +0 -97
  534. package/dist/components/Common/compute-visible-tabs.test.js.map +0 -1
  535. package/dist/components/DiffView.d.ts +0 -7
  536. package/dist/components/DiffView.d.ts.map +0 -1
  537. package/dist/components/DiffView.js +0 -80
  538. package/dist/components/DiffView.js.map +0 -1
  539. package/dist/components/DiffView.test.d.ts +0 -2
  540. package/dist/components/DiffView.test.d.ts.map +0 -1
  541. package/dist/components/DiffView.test.js +0 -45
  542. package/dist/components/DiffView.test.js.map +0 -1
  543. package/dist/components/ErrorBoundary.test.d.ts +0 -2
  544. package/dist/components/ErrorBoundary.test.d.ts.map +0 -1
  545. package/dist/components/ErrorBoundary.test.js +0 -37
  546. package/dist/components/ErrorBoundary.test.js.map +0 -1
  547. package/dist/components/HandoffConfirmationPrompt.d.ts +0 -9
  548. package/dist/components/HandoffConfirmationPrompt.d.ts.map +0 -1
  549. package/dist/components/HandoffConfirmationPrompt.js +0 -38
  550. package/dist/components/HandoffConfirmationPrompt.js.map +0 -1
  551. package/dist/components/HandoffConfirmationPrompt.test.d.ts +0 -2
  552. package/dist/components/HandoffConfirmationPrompt.test.d.ts.map +0 -1
  553. package/dist/components/HandoffConfirmationPrompt.test.js +0 -12
  554. package/dist/components/HandoffConfirmationPrompt.test.js.map +0 -1
  555. package/dist/components/Input/determine-active-menu.d.ts.map +0 -1
  556. package/dist/components/Input/determine-active-menu.js +0 -81
  557. package/dist/components/Input/determine-active-menu.js.map +0 -1
  558. package/dist/components/Input/input-width.test.d.ts +0 -2
  559. package/dist/components/Input/input-width.test.d.ts.map +0 -1
  560. package/dist/components/Input/input-width.test.js +0 -23
  561. package/dist/components/Input/input-width.test.js.map +0 -1
  562. package/dist/components/Input/insertions.test.d.ts +0 -2
  563. package/dist/components/Input/insertions.test.d.ts.map +0 -1
  564. package/dist/components/Input/insertions.test.js +0 -25
  565. package/dist/components/Input/insertions.test.js.map +0 -1
  566. package/dist/components/Input/popup-key-navigation.test.d.ts +0 -2
  567. package/dist/components/Input/popup-key-navigation.test.d.ts.map +0 -1
  568. package/dist/components/Input/popup-key-navigation.test.js +0 -75
  569. package/dist/components/Input/popup-key-navigation.test.js.map +0 -1
  570. package/dist/components/Input/popup-props.test.d.ts +0 -2
  571. package/dist/components/Input/popup-props.test.d.ts.map +0 -1
  572. package/dist/components/Input/popup-props.test.js +0 -86
  573. package/dist/components/Input/popup-props.test.js.map +0 -1
  574. package/dist/components/InputBox.menu-logic.test.d.ts +0 -2
  575. package/dist/components/InputBox.menu-logic.test.d.ts.map +0 -1
  576. package/dist/components/InputBox.menu-logic.test.js +0 -206
  577. package/dist/components/InputBox.menu-logic.test.js.map +0 -1
  578. package/dist/components/InputBox.test.d.ts +0 -2
  579. package/dist/components/InputBox.test.d.ts.map +0 -1
  580. package/dist/components/InputBox.test.js +0 -679
  581. package/dist/components/InputBox.test.js.map +0 -1
  582. package/dist/components/LargeUncachedConfirmationPrompt.d.ts +0 -10
  583. package/dist/components/LargeUncachedConfirmationPrompt.d.ts.map +0 -1
  584. package/dist/components/LargeUncachedConfirmationPrompt.js +0 -49
  585. package/dist/components/LargeUncachedConfirmationPrompt.js.map +0 -1
  586. package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts +0 -2
  587. package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts.map +0 -1
  588. package/dist/components/LargeUncachedConfirmationPrompt.test.js +0 -48
  589. package/dist/components/LargeUncachedConfirmationPrompt.test.js.map +0 -1
  590. package/dist/components/LiveResponse.d.ts +0 -11
  591. package/dist/components/LiveResponse.d.ts.map +0 -1
  592. package/dist/components/LiveResponse.js +0 -15
  593. package/dist/components/LiveResponse.js.map +0 -1
  594. package/dist/components/MarkdownRenderer.test.d.ts +0 -2
  595. package/dist/components/MarkdownRenderer.test.d.ts.map +0 -1
  596. package/dist/components/MarkdownRenderer.test.js +0 -292
  597. package/dist/components/MarkdownRenderer.test.js.map +0 -1
  598. package/dist/components/MessageList.d.ts +0 -32
  599. package/dist/components/MessageList.d.ts.map +0 -1
  600. package/dist/components/MessageList.js +0 -233
  601. package/dist/components/MessageList.js.map +0 -1
  602. package/dist/components/MessageList.test.d.ts +0 -2
  603. package/dist/components/MessageList.test.d.ts.map +0 -1
  604. package/dist/components/MessageList.test.js +0 -529
  605. package/dist/components/MessageList.test.js.map +0 -1
  606. package/dist/components/ModelSelectionMenu.d.ts +0 -18
  607. package/dist/components/ModelSelectionMenu.d.ts.map +0 -1
  608. package/dist/components/ModelSelectionMenu.debug.test.d.ts +0 -2
  609. package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +0 -1
  610. package/dist/components/ModelSelectionMenu.debug.test.js.map +0 -1
  611. package/dist/components/ModelSelectionMenu.js +0 -45
  612. package/dist/components/ModelSelectionMenu.js.map +0 -1
  613. package/dist/components/ModelSelectionMenu.test.d.ts +0 -2
  614. package/dist/components/ModelSelectionMenu.test.d.ts.map +0 -1
  615. package/dist/components/ModelSelectionMenu.test.js +0 -87
  616. package/dist/components/ModelSelectionMenu.test.js.map +0 -1
  617. package/dist/components/PathSelectionMenu.d.ts +0 -15
  618. package/dist/components/PathSelectionMenu.d.ts.map +0 -1
  619. package/dist/components/PathSelectionMenu.js +0 -17
  620. package/dist/components/PathSelectionMenu.js.map +0 -1
  621. package/dist/components/PathSelectionMenu.test.d.ts +0 -2
  622. package/dist/components/PathSelectionMenu.test.d.ts.map +0 -1
  623. package/dist/components/PathSelectionMenu.test.js +0 -17
  624. package/dist/components/PathSelectionMenu.test.js.map +0 -1
  625. package/dist/components/ProviderSelectionMenu.d.ts +0 -15
  626. package/dist/components/ProviderSelectionMenu.d.ts.map +0 -1
  627. package/dist/components/ProviderSelectionMenu.js +0 -186
  628. package/dist/components/ProviderSelectionMenu.js.map +0 -1
  629. package/dist/components/ProviderSelectionMenu.test.d.ts +0 -2
  630. package/dist/components/ProviderSelectionMenu.test.d.ts.map +0 -1
  631. package/dist/components/ProviderSelectionMenu.test.js +0 -117
  632. package/dist/components/ProviderSelectionMenu.test.js.map +0 -1
  633. package/dist/components/SettingsSelectionMenu.d.ts +0 -14
  634. package/dist/components/SettingsSelectionMenu.d.ts.map +0 -1
  635. package/dist/components/SettingsSelectionMenu.js +0 -76
  636. package/dist/components/SettingsSelectionMenu.js.map +0 -1
  637. package/dist/components/SettingsSelectionMenu.scroll.test.d.ts +0 -2
  638. package/dist/components/SettingsSelectionMenu.scroll.test.d.ts.map +0 -1
  639. package/dist/components/SettingsSelectionMenu.scroll.test.js +0 -163
  640. package/dist/components/SettingsSelectionMenu.scroll.test.js.map +0 -1
  641. package/dist/components/SettingsSelectionMenu.test.d.ts +0 -2
  642. package/dist/components/SettingsSelectionMenu.test.d.ts.map +0 -1
  643. package/dist/components/SettingsSelectionMenu.test.js +0 -73
  644. package/dist/components/SettingsSelectionMenu.test.js.map +0 -1
  645. package/dist/components/SettingsValueSelectionMenu.d.ts +0 -13
  646. package/dist/components/SettingsValueSelectionMenu.d.ts.map +0 -1
  647. package/dist/components/SettingsValueSelectionMenu.js +0 -37
  648. package/dist/components/SettingsValueSelectionMenu.js.map +0 -1
  649. package/dist/components/SettingsValueSelectionMenu.test.d.ts +0 -2
  650. package/dist/components/SettingsValueSelectionMenu.test.d.ts.map +0 -1
  651. package/dist/components/SettingsValueSelectionMenu.test.js +0 -38
  652. package/dist/components/SettingsValueSelectionMenu.test.js.map +0 -1
  653. package/dist/components/SlashCommandMenu.d.ts +0 -11
  654. package/dist/components/SlashCommandMenu.d.ts.map +0 -1
  655. package/dist/components/SlashCommandMenu.js +0 -17
  656. package/dist/components/SlashCommandMenu.js.map +0 -1
  657. package/dist/components/StatusBar.d.ts +0 -20
  658. package/dist/components/StatusBar.d.ts.map +0 -1
  659. package/dist/components/StatusBar.js +0 -129
  660. package/dist/components/StatusBar.js.map +0 -1
  661. package/dist/components/StatusBar.test.d.ts +0 -2
  662. package/dist/components/StatusBar.test.d.ts.map +0 -1
  663. package/dist/components/StatusBar.test.js +0 -120
  664. package/dist/components/StatusBar.test.js.map +0 -1
  665. package/dist/components/SubagentActivityMessage.d.ts +0 -12
  666. package/dist/components/SubagentActivityMessage.d.ts.map +0 -1
  667. package/dist/components/SubagentActivityMessage.js +0 -39
  668. package/dist/components/SubagentActivityMessage.js.map +0 -1
  669. package/dist/components/UndoSelectionMenu.d.ts +0 -12
  670. package/dist/components/UndoSelectionMenu.d.ts.map +0 -1
  671. package/dist/components/UndoSelectionMenu.js +0 -19
  672. package/dist/components/UndoSelectionMenu.js.map +0 -1
  673. package/dist/components/UndoSelectionMenu.test.d.ts +0 -2
  674. package/dist/components/UndoSelectionMenu.test.d.ts.map +0 -1
  675. package/dist/components/UndoSelectionMenu.test.js +0 -40
  676. package/dist/components/UndoSelectionMenu.test.js.map +0 -1
  677. package/dist/components/command-message-helpers.d.ts +0 -83
  678. package/dist/components/command-message-helpers.d.ts.map +0 -1
  679. package/dist/components/command-message-helpers.js +0 -598
  680. package/dist/components/command-message-helpers.js.map +0 -1
  681. package/dist/components/command-message-helpers.test.d.ts +0 -2
  682. package/dist/components/command-message-helpers.test.d.ts.map +0 -1
  683. package/dist/components/command-message-helpers.test.js +0 -222
  684. package/dist/components/command-message-helpers.test.js.map +0 -1
  685. package/dist/components/layout/BottomArea.test.d.ts +0 -2
  686. package/dist/components/layout/BottomArea.test.d.ts.map +0 -1
  687. package/dist/components/layout/BottomArea.test.js +0 -232
  688. package/dist/components/layout/BottomArea.test.js.map +0 -1
  689. package/dist/components/layout/DiffView.test.d.ts +0 -2
  690. package/dist/components/layout/DiffView.test.d.ts.map +0 -1
  691. package/dist/components/layout/DiffView.test.js +0 -47
  692. package/dist/components/layout/DiffView.test.js.map +0 -1
  693. package/dist/components/layout/StatusBar.test.d.ts +0 -2
  694. package/dist/components/layout/StatusBar.test.d.ts.map +0 -1
  695. package/dist/components/layout/StatusBar.test.js +0 -121
  696. package/dist/components/layout/StatusBar.test.js.map +0 -1
  697. package/dist/components/menu/ModelSelectionMenu.test.d.ts +0 -2
  698. package/dist/components/menu/ModelSelectionMenu.test.d.ts.map +0 -1
  699. package/dist/components/menu/ModelSelectionMenu.test.js +0 -86
  700. package/dist/components/menu/ModelSelectionMenu.test.js.map +0 -1
  701. package/dist/components/menu/PathSelectionMenu.test.d.ts +0 -2
  702. package/dist/components/menu/PathSelectionMenu.test.d.ts.map +0 -1
  703. package/dist/components/menu/PathSelectionMenu.test.js +0 -23
  704. package/dist/components/menu/PathSelectionMenu.test.js.map +0 -1
  705. package/dist/components/menu/ProviderSelectionMenu.test.d.ts +0 -2
  706. package/dist/components/menu/ProviderSelectionMenu.test.d.ts.map +0 -1
  707. package/dist/components/menu/ProviderSelectionMenu.test.js +0 -71
  708. package/dist/components/menu/ProviderSelectionMenu.test.js.map +0 -1
  709. package/dist/components/menu/SettingsSelectionMenu.scroll.test.d.ts +0 -2
  710. package/dist/components/menu/SettingsSelectionMenu.scroll.test.d.ts.map +0 -1
  711. package/dist/components/menu/SettingsSelectionMenu.scroll.test.js +0 -122
  712. package/dist/components/menu/SettingsSelectionMenu.scroll.test.js.map +0 -1
  713. package/dist/components/menu/SettingsSelectionMenu.test.d.ts +0 -2
  714. package/dist/components/menu/SettingsSelectionMenu.test.d.ts.map +0 -1
  715. package/dist/components/menu/SettingsSelectionMenu.test.js +0 -50
  716. package/dist/components/menu/SettingsSelectionMenu.test.js.map +0 -1
  717. package/dist/components/menu/SettingsValueSelectionMenu.test.d.ts +0 -2
  718. package/dist/components/menu/SettingsValueSelectionMenu.test.d.ts.map +0 -1
  719. package/dist/components/menu/SettingsValueSelectionMenu.test.js +0 -42
  720. package/dist/components/menu/SettingsValueSelectionMenu.test.js.map +0 -1
  721. package/dist/components/menu/SkillSelectionMenu.test.d.ts +0 -2
  722. package/dist/components/menu/SkillSelectionMenu.test.d.ts.map +0 -1
  723. package/dist/components/menu/SkillSelectionMenu.test.js +0 -114
  724. package/dist/components/menu/SkillSelectionMenu.test.js.map +0 -1
  725. package/dist/components/menu/UndoSelectionMenu.test.d.ts +0 -2
  726. package/dist/components/menu/UndoSelectionMenu.test.d.ts.map +0 -1
  727. package/dist/components/menu/UndoSelectionMenu.test.js +0 -35
  728. package/dist/components/menu/UndoSelectionMenu.test.js.map +0 -1
  729. package/dist/components/message/ChatMessage.test.d.ts +0 -2
  730. package/dist/components/message/ChatMessage.test.d.ts.map +0 -1
  731. package/dist/components/message/ChatMessage.test.js +0 -29
  732. package/dist/components/message/ChatMessage.test.js.map +0 -1
  733. package/dist/components/message/CommandMessage.test.d.ts +0 -2
  734. package/dist/components/message/CommandMessage.test.d.ts.map +0 -1
  735. package/dist/components/message/CommandMessage.test.js +0 -1017
  736. package/dist/components/message/CommandMessage.test.js.map +0 -1
  737. package/dist/components/message/MessageList.test.d.ts +0 -2
  738. package/dist/components/message/MessageList.test.d.ts.map +0 -1
  739. package/dist/components/message/MessageList.test.js +0 -562
  740. package/dist/components/message/MessageList.test.js.map +0 -1
  741. package/dist/components/message/SubagentActivityMessage.test.d.ts +0 -2
  742. package/dist/components/message/SubagentActivityMessage.test.d.ts.map +0 -1
  743. package/dist/components/message/SubagentActivityMessage.test.js +0 -191
  744. package/dist/components/message/SubagentActivityMessage.test.js.map +0 -1
  745. package/dist/components/message/command-message-helpers.test.d.ts +0 -2
  746. package/dist/components/message/command-message-helpers.test.d.ts.map +0 -1
  747. package/dist/components/message/command-message-helpers.test.js +0 -227
  748. package/dist/components/message/command-message-helpers.test.js.map +0 -1
  749. package/dist/components/prompt/ApprovalPrompt.ask-user.test.d.ts +0 -2
  750. package/dist/components/prompt/ApprovalPrompt.ask-user.test.d.ts.map +0 -1
  751. package/dist/components/prompt/ApprovalPrompt.ask-user.test.js +0 -285
  752. package/dist/components/prompt/ApprovalPrompt.ask-user.test.js.map +0 -1
  753. package/dist/components/prompt/HandoffConfirmationPrompt.test.d.ts +0 -2
  754. package/dist/components/prompt/HandoffConfirmationPrompt.test.d.ts.map +0 -1
  755. package/dist/components/prompt/HandoffConfirmationPrompt.test.js +0 -23
  756. package/dist/components/prompt/HandoffConfirmationPrompt.test.js.map +0 -1
  757. package/dist/components/prompt/InputSurgeConfirmationPrompt.test.d.ts +0 -2
  758. package/dist/components/prompt/InputSurgeConfirmationPrompt.test.d.ts.map +0 -1
  759. package/dist/components/prompt/InputSurgeConfirmationPrompt.test.js +0 -33
  760. package/dist/components/prompt/InputSurgeConfirmationPrompt.test.js.map +0 -1
  761. package/dist/components/prompt/LargeUncachedConfirmationPrompt.test.d.ts +0 -2
  762. package/dist/components/prompt/LargeUncachedConfirmationPrompt.test.d.ts.map +0 -1
  763. package/dist/components/prompt/LargeUncachedConfirmationPrompt.test.js +0 -41
  764. package/dist/components/prompt/LargeUncachedConfirmationPrompt.test.js.map +0 -1
  765. package/dist/context/InputContext.images.test.d.ts +0 -2
  766. package/dist/context/InputContext.images.test.d.ts.map +0 -1
  767. package/dist/context/InputContext.images.test.js +0 -58
  768. package/dist/context/InputContext.images.test.js.map +0 -1
  769. package/dist/context/InputContext.stability.test.d.ts +0 -2
  770. package/dist/context/InputContext.stability.test.d.ts.map +0 -1
  771. package/dist/context/InputContext.stability.test.js +0 -28
  772. package/dist/context/InputContext.stability.test.js.map +0 -1
  773. package/dist/context/InputContext.test.d.ts +0 -2
  774. package/dist/context/InputContext.test.d.ts.map +0 -1
  775. package/dist/context/InputContext.test.js +0 -224
  776. package/dist/context/InputContext.test.js.map +0 -1
  777. package/dist/env-setup.test.d.ts +0 -2
  778. package/dist/env-setup.test.d.ts.map +0 -1
  779. package/dist/env-setup.test.js +0 -6
  780. package/dist/env-setup.test.js.map +0 -1
  781. package/dist/hooks/conversation-ui-reducer.ask-user-bugfix.test.d.ts +0 -2
  782. package/dist/hooks/conversation-ui-reducer.ask-user-bugfix.test.d.ts.map +0 -1
  783. package/dist/hooks/conversation-ui-reducer.ask-user-bugfix.test.js +0 -160
  784. package/dist/hooks/conversation-ui-reducer.ask-user-bugfix.test.js.map +0 -1
  785. package/dist/hooks/conversation-ui-reducer.multi-select.test.d.ts +0 -2
  786. package/dist/hooks/conversation-ui-reducer.multi-select.test.d.ts.map +0 -1
  787. package/dist/hooks/conversation-ui-reducer.multi-select.test.js +0 -123
  788. package/dist/hooks/conversation-ui-reducer.multi-select.test.js.map +0 -1
  789. package/dist/hooks/conversation-ui-reducer.test.d.ts +0 -2
  790. package/dist/hooks/conversation-ui-reducer.test.d.ts.map +0 -1
  791. package/dist/hooks/conversation-ui-reducer.test.js +0 -280
  792. package/dist/hooks/conversation-ui-reducer.test.js.map +0 -1
  793. package/dist/hooks/message-id.test.d.ts +0 -2
  794. package/dist/hooks/message-id.test.d.ts.map +0 -1
  795. package/dist/hooks/message-id.test.js +0 -17
  796. package/dist/hooks/message-id.test.js.map +0 -1
  797. package/dist/hooks/path-completion-filter.test.d.ts +0 -2
  798. package/dist/hooks/path-completion-filter.test.d.ts.map +0 -1
  799. package/dist/hooks/path-completion-filter.test.js +0 -100
  800. package/dist/hooks/path-completion-filter.test.js.map +0 -1
  801. package/dist/hooks/use-app-commands.test.d.ts +0 -2
  802. package/dist/hooks/use-app-commands.test.d.ts.map +0 -1
  803. package/dist/hooks/use-app-commands.test.js +0 -502
  804. package/dist/hooks/use-app-commands.test.js.map +0 -1
  805. package/dist/hooks/use-conversation-messages.test.d.ts +0 -2
  806. package/dist/hooks/use-conversation-messages.test.d.ts.map +0 -1
  807. package/dist/hooks/use-conversation-messages.test.js +0 -154
  808. package/dist/hooks/use-conversation-messages.test.js.map +0 -1
  809. package/dist/hooks/use-conversation-settings.test.d.ts +0 -2
  810. package/dist/hooks/use-conversation-settings.test.d.ts.map +0 -1
  811. package/dist/hooks/use-conversation-settings.test.js +0 -82
  812. package/dist/hooks/use-conversation-settings.test.js.map +0 -1
  813. package/dist/hooks/use-conversation.approval-pending-filter.test.d.ts +0 -2
  814. package/dist/hooks/use-conversation.approval-pending-filter.test.d.ts.map +0 -1
  815. package/dist/hooks/use-conversation.approval-pending-filter.test.js +0 -59
  816. package/dist/hooks/use-conversation.approval-pending-filter.test.js.map +0 -1
  817. package/dist/hooks/use-conversation.ask-user-multi-select.test.d.ts +0 -2
  818. package/dist/hooks/use-conversation.ask-user-multi-select.test.d.ts.map +0 -1
  819. package/dist/hooks/use-conversation.ask-user-multi-select.test.js +0 -159
  820. package/dist/hooks/use-conversation.ask-user-multi-select.test.js.map +0 -1
  821. package/dist/hooks/use-conversation.clear.test.d.ts +0 -2
  822. package/dist/hooks/use-conversation.clear.test.d.ts.map +0 -1
  823. package/dist/hooks/use-conversation.clear.test.js +0 -167
  824. package/dist/hooks/use-conversation.clear.test.js.map +0 -1
  825. package/dist/hooks/use-conversation.resume.test.d.ts +0 -2
  826. package/dist/hooks/use-conversation.resume.test.d.ts.map +0 -1
  827. package/dist/hooks/use-conversation.resume.test.js +0 -51
  828. package/dist/hooks/use-conversation.resume.test.js.map +0 -1
  829. package/dist/hooks/use-escape-key.test.d.ts +0 -2
  830. package/dist/hooks/use-escape-key.test.d.ts.map +0 -1
  831. package/dist/hooks/use-escape-key.test.js +0 -488
  832. package/dist/hooks/use-escape-key.test.js.map +0 -1
  833. package/dist/hooks/use-handoff-flow.test.d.ts +0 -2
  834. package/dist/hooks/use-handoff-flow.test.d.ts.map +0 -1
  835. package/dist/hooks/use-handoff-flow.test.js +0 -237
  836. package/dist/hooks/use-handoff-flow.test.js.map +0 -1
  837. package/dist/hooks/use-input-history.test.d.ts +0 -2
  838. package/dist/hooks/use-input-history.test.d.ts.map +0 -1
  839. package/dist/hooks/use-input-history.test.js +0 -47
  840. package/dist/hooks/use-input-history.test.js.map +0 -1
  841. package/dist/hooks/use-mode-handlers.test.d.ts +0 -2
  842. package/dist/hooks/use-mode-handlers.test.d.ts.map +0 -1
  843. package/dist/hooks/use-mode-handlers.test.js +0 -128
  844. package/dist/hooks/use-mode-handlers.test.js.map +0 -1
  845. package/dist/hooks/use-model-selection.test.d.ts +0 -2
  846. package/dist/hooks/use-model-selection.test.d.ts.map +0 -1
  847. package/dist/hooks/use-model-selection.test.js +0 -451
  848. package/dist/hooks/use-model-selection.test.js.map +0 -1
  849. package/dist/hooks/use-path-completion.test.d.ts +0 -2
  850. package/dist/hooks/use-path-completion.test.d.ts.map +0 -1
  851. package/dist/hooks/use-path-completion.test.js +0 -66
  852. package/dist/hooks/use-path-completion.test.js.map +0 -1
  853. package/dist/hooks/use-pending-turn-guards.test.d.ts +0 -2
  854. package/dist/hooks/use-pending-turn-guards.test.d.ts.map +0 -1
  855. package/dist/hooks/use-pending-turn-guards.test.js +0 -314
  856. package/dist/hooks/use-pending-turn-guards.test.js.map +0 -1
  857. package/dist/hooks/use-provider-selection.test.d.ts +0 -2
  858. package/dist/hooks/use-provider-selection.test.d.ts.map +0 -1
  859. package/dist/hooks/use-provider-selection.test.js +0 -859
  860. package/dist/hooks/use-provider-selection.test.js.map +0 -1
  861. package/dist/hooks/use-runtime-settings.test.d.ts +0 -2
  862. package/dist/hooks/use-runtime-settings.test.d.ts.map +0 -1
  863. package/dist/hooks/use-runtime-settings.test.js +0 -43
  864. package/dist/hooks/use-runtime-settings.test.js.map +0 -1
  865. package/dist/hooks/use-selection.test.d.ts +0 -2
  866. package/dist/hooks/use-selection.test.d.ts.map +0 -1
  867. package/dist/hooks/use-selection.test.js +0 -226
  868. package/dist/hooks/use-selection.test.js.map +0 -1
  869. package/dist/hooks/use-settings-completion.scroll.test.d.ts +0 -2
  870. package/dist/hooks/use-settings-completion.scroll.test.d.ts.map +0 -1
  871. package/dist/hooks/use-settings-completion.scroll.test.js +0 -94
  872. package/dist/hooks/use-settings-completion.scroll.test.js.map +0 -1
  873. package/dist/hooks/use-settings-completion.test.d.ts +0 -2
  874. package/dist/hooks/use-settings-completion.test.d.ts.map +0 -1
  875. package/dist/hooks/use-settings-completion.test.js +0 -370
  876. package/dist/hooks/use-settings-completion.test.js.map +0 -1
  877. package/dist/hooks/use-settings-value-completion.test.d.ts +0 -2
  878. package/dist/hooks/use-settings-value-completion.test.d.ts.map +0 -1
  879. package/dist/hooks/use-settings-value-completion.test.js +0 -140
  880. package/dist/hooks/use-settings-value-completion.test.js.map +0 -1
  881. package/dist/hooks/use-skill-selection.test.d.ts +0 -2
  882. package/dist/hooks/use-skill-selection.test.d.ts.map +0 -1
  883. package/dist/hooks/use-skill-selection.test.js +0 -68
  884. package/dist/hooks/use-skill-selection.test.js.map +0 -1
  885. package/dist/hooks/use-slash-commands.test.d.ts +0 -2
  886. package/dist/hooks/use-slash-commands.test.d.ts.map +0 -1
  887. package/dist/hooks/use-slash-commands.test.js +0 -341
  888. package/dist/hooks/use-slash-commands.test.js.map +0 -1
  889. package/dist/hooks/use-terminal-focus-notifier.test.d.ts +0 -2
  890. package/dist/hooks/use-terminal-focus-notifier.test.d.ts.map +0 -1
  891. package/dist/hooks/use-terminal-focus-notifier.test.js +0 -138
  892. package/dist/hooks/use-terminal-focus-notifier.test.js.map +0 -1
  893. package/dist/hooks/use-trigger-detection.test.d.ts +0 -2
  894. package/dist/hooks/use-trigger-detection.test.d.ts.map +0 -1
  895. package/dist/hooks/use-trigger-detection.test.js +0 -105
  896. package/dist/hooks/use-trigger-detection.test.js.map +0 -1
  897. package/dist/inspect_zod.d.ts +0 -2
  898. package/dist/inspect_zod.d.ts.map +0 -1
  899. package/dist/inspect_zod.js +0 -16
  900. package/dist/inspect_zod.js.map +0 -1
  901. package/dist/lib/agent-chat-service.test.d.ts +0 -2
  902. package/dist/lib/agent-chat-service.test.d.ts.map +0 -1
  903. package/dist/lib/agent-chat-service.test.js +0 -155
  904. package/dist/lib/agent-chat-service.test.js.map +0 -1
  905. package/dist/lib/agent-configuration.test.d.ts +0 -2
  906. package/dist/lib/agent-configuration.test.d.ts.map +0 -1
  907. package/dist/lib/agent-configuration.test.js +0 -332
  908. package/dist/lib/agent-configuration.test.js.map +0 -1
  909. package/dist/lib/agent-factory.test.d.ts +0 -2
  910. package/dist/lib/agent-factory.test.d.ts.map +0 -1
  911. package/dist/lib/agent-factory.test.js +0 -175
  912. package/dist/lib/agent-factory.test.js.map +0 -1
  913. package/dist/lib/agent-run-orchestrator.test.d.ts +0 -2
  914. package/dist/lib/agent-run-orchestrator.test.d.ts.map +0 -1
  915. package/dist/lib/agent-run-orchestrator.test.js +0 -237
  916. package/dist/lib/agent-run-orchestrator.test.js.map +0 -1
  917. package/dist/lib/ask-user-answer-store.test.d.ts +0 -2
  918. package/dist/lib/ask-user-answer-store.test.d.ts.map +0 -1
  919. package/dist/lib/ask-user-answer-store.test.js +0 -41
  920. package/dist/lib/ask-user-answer-store.test.js.map +0 -1
  921. package/dist/lib/chained-input-filter.test.d.ts +0 -2
  922. package/dist/lib/chained-input-filter.test.d.ts.map +0 -1
  923. package/dist/lib/chained-input-filter.test.js +0 -198
  924. package/dist/lib/chained-input-filter.test.js.map +0 -1
  925. package/dist/lib/editor-impl.test.d.ts +0 -2
  926. package/dist/lib/editor-impl.test.d.ts.map +0 -1
  927. package/dist/lib/editor-impl.test.js +0 -201
  928. package/dist/lib/editor-impl.test.js.map +0 -1
  929. package/dist/lib/openai-agent-client.chat.test.d.ts +0 -2
  930. package/dist/lib/openai-agent-client.chat.test.d.ts.map +0 -1
  931. package/dist/lib/openai-agent-client.chat.test.js +0 -141
  932. package/dist/lib/openai-agent-client.chat.test.js.map +0 -1
  933. package/dist/lib/openai-agent-client.d.ts +0 -89
  934. package/dist/lib/openai-agent-client.d.ts.map +0 -1
  935. package/dist/lib/openai-agent-client.flex-tier.test.d.ts +0 -2
  936. package/dist/lib/openai-agent-client.flex-tier.test.d.ts.map +0 -1
  937. package/dist/lib/openai-agent-client.flex-tier.test.js +0 -75
  938. package/dist/lib/openai-agent-client.flex-tier.test.js.map +0 -1
  939. package/dist/lib/openai-agent-client.js +0 -832
  940. package/dist/lib/openai-agent-client.js.map +0 -1
  941. package/dist/lib/openai-agent-client.public-methods.test.d.ts +0 -2
  942. package/dist/lib/openai-agent-client.public-methods.test.d.ts.map +0 -1
  943. package/dist/lib/openai-agent-client.public-methods.test.js +0 -1161
  944. package/dist/lib/openai-agent-client.public-methods.test.js.map +0 -1
  945. package/dist/lib/openai-agent-client.test.d.ts +0 -2
  946. package/dist/lib/openai-agent-client.test.d.ts.map +0 -1
  947. package/dist/lib/openai-agent-client.test.js +0 -338
  948. package/dist/lib/openai-agent-client.test.js.map +0 -1
  949. package/dist/lib/openai-strict-tool-schema.test.d.ts +0 -2
  950. package/dist/lib/openai-strict-tool-schema.test.d.ts.map +0 -1
  951. package/dist/lib/openai-strict-tool-schema.test.js +0 -26
  952. package/dist/lib/openai-strict-tool-schema.test.js.map +0 -1
  953. package/dist/lib/retry-executor.test.d.ts +0 -2
  954. package/dist/lib/retry-executor.test.d.ts.map +0 -1
  955. package/dist/lib/retry-executor.test.js +0 -238
  956. package/dist/lib/retry-executor.test.js.map +0 -1
  957. package/dist/lib/runner-manager.test.d.ts +0 -2
  958. package/dist/lib/runner-manager.test.d.ts.map +0 -1
  959. package/dist/lib/runner-manager.test.js +0 -136
  960. package/dist/lib/runner-manager.test.js.map +0 -1
  961. package/dist/lib/subagent-bridge.test.d.ts +0 -2
  962. package/dist/lib/subagent-bridge.test.d.ts.map +0 -1
  963. package/dist/lib/subagent-bridge.test.js +0 -183
  964. package/dist/lib/subagent-bridge.test.js.map +0 -1
  965. package/dist/lib/tool-execution-limiter.d.ts +0 -16
  966. package/dist/lib/tool-execution-limiter.d.ts.map +0 -1
  967. package/dist/lib/tool-execution-limiter.js +0 -112
  968. package/dist/lib/tool-execution-limiter.js.map +0 -1
  969. package/dist/lib/tool-execution-limiter.test.d.ts +0 -2
  970. package/dist/lib/tool-execution-limiter.test.d.ts.map +0 -1
  971. package/dist/lib/tool-execution-limiter.test.js +0 -70
  972. package/dist/lib/tool-execution-limiter.test.js.map +0 -1
  973. package/dist/lib/tool-interceptor-registry.test.d.ts +0 -2
  974. package/dist/lib/tool-interceptor-registry.test.d.ts.map +0 -1
  975. package/dist/lib/tool-interceptor-registry.test.js +0 -108
  976. package/dist/lib/tool-interceptor-registry.test.js.map +0 -1
  977. package/dist/lib/tool-invoke.test.d.ts +0 -2
  978. package/dist/lib/tool-invoke.test.d.ts.map +0 -1
  979. package/dist/lib/tool-invoke.test.js +0 -386
  980. package/dist/lib/tool-invoke.test.js.map +0 -1
  981. package/dist/lib/tool-selection-policy.test.d.ts +0 -2
  982. package/dist/lib/tool-selection-policy.test.d.ts.map +0 -1
  983. package/dist/lib/tool-selection-policy.test.js +0 -108
  984. package/dist/lib/tool-selection-policy.test.js.map +0 -1
  985. package/dist/no-singleton-imports.test.d.ts +0 -2
  986. package/dist/no-singleton-imports.test.d.ts.map +0 -1
  987. package/dist/no-singleton-imports.test.js +0 -30
  988. package/dist/no-singleton-imports.test.js.map +0 -1
  989. package/dist/non-interactive.test.d.ts +0 -2
  990. package/dist/non-interactive.test.d.ts.map +0 -1
  991. package/dist/non-interactive.test.js +0 -404
  992. package/dist/non-interactive.test.js.map +0 -1
  993. package/dist/prompts/default.md +0 -77
  994. package/dist/prompts/gpt-5.md +0 -328
  995. package/dist/prompts/prompt-constructor.test.d.ts +0 -2
  996. package/dist/prompts/prompt-constructor.test.d.ts.map +0 -1
  997. package/dist/prompts/prompt-constructor.test.js +0 -106
  998. package/dist/prompts/prompt-constructor.test.js.map +0 -1
  999. package/dist/prompts/prompt-selector.d.ts +0 -9
  1000. package/dist/prompts/prompt-selector.d.ts.map +0 -1
  1001. package/dist/prompts/prompt-selector.js +0 -7
  1002. package/dist/prompts/prompt-selector.js.map +0 -1
  1003. package/dist/prompts/prompt-selector.test.d.ts +0 -2
  1004. package/dist/prompts/prompt-selector.test.d.ts.map +0 -1
  1005. package/dist/prompts/prompt-selector.test.js +0 -33
  1006. package/dist/prompts/prompt-selector.test.js.map +0 -1
  1007. package/dist/prompts/prompt-selector.test.ts +0 -70
  1008. package/dist/prompts/prompt-selector.ts +0 -14
  1009. package/dist/prompts/reasoning-efficiency.test.d.ts +0 -2
  1010. package/dist/prompts/reasoning-efficiency.test.d.ts.map +0 -1
  1011. package/dist/prompts/reasoning-efficiency.test.js +0 -11
  1012. package/dist/prompts/reasoning-efficiency.test.js.map +0 -1
  1013. package/dist/prompts/search-via-shell.test.d.ts +0 -2
  1014. package/dist/prompts/search-via-shell.test.d.ts.map +0 -1
  1015. package/dist/prompts/search-via-shell.test.js +0 -43
  1016. package/dist/prompts/search-via-shell.test.js.map +0 -1
  1017. package/dist/prompts/simple-prev.md +0 -55
  1018. package/dist/prompts/simple_prev2.md +0 -33
  1019. package/dist/prompts/subagent-delegation.test.d.ts +0 -2
  1020. package/dist/prompts/subagent-delegation.test.d.ts.map +0 -1
  1021. package/dist/prompts/subagent-delegation.test.js +0 -47
  1022. package/dist/prompts/subagent-delegation.test.js.map +0 -1
  1023. package/dist/providers/ai-sdk-agents-adapter.test.d.ts +0 -2
  1024. package/dist/providers/ai-sdk-agents-adapter.test.d.ts.map +0 -1
  1025. package/dist/providers/ai-sdk-agents-adapter.test.js +0 -158
  1026. package/dist/providers/ai-sdk-agents-adapter.test.js.map +0 -1
  1027. package/dist/providers/ai-sdk-anthropic.provider.test.d.ts +0 -2
  1028. package/dist/providers/ai-sdk-anthropic.provider.test.d.ts.map +0 -1
  1029. package/dist/providers/ai-sdk-anthropic.provider.test.js +0 -110
  1030. package/dist/providers/ai-sdk-anthropic.provider.test.js.map +0 -1
  1031. package/dist/providers/ai-sdk-logging-fetch.d.ts +0 -11
  1032. package/dist/providers/ai-sdk-logging-fetch.d.ts.map +0 -1
  1033. package/dist/providers/ai-sdk-logging-fetch.js +0 -225
  1034. package/dist/providers/ai-sdk-logging-fetch.js.map +0 -1
  1035. package/dist/providers/ai-sdk-logging-fetch.test.d.ts +0 -2
  1036. package/dist/providers/ai-sdk-logging-fetch.test.d.ts.map +0 -1
  1037. package/dist/providers/ai-sdk-logging-fetch.test.js +0 -304
  1038. package/dist/providers/ai-sdk-logging-fetch.test.js.map +0 -1
  1039. package/dist/providers/ai-sdk-message-normalizer.test.d.ts +0 -2
  1040. package/dist/providers/ai-sdk-message-normalizer.test.d.ts.map +0 -1
  1041. package/dist/providers/ai-sdk-message-normalizer.test.js +0 -441
  1042. package/dist/providers/ai-sdk-message-normalizer.test.js.map +0 -1
  1043. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +0 -26
  1044. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +0 -1
  1045. package/dist/providers/ai-sdk-openai-compatible.provider.js +0 -27
  1046. package/dist/providers/ai-sdk-openai-compatible.provider.js.map +0 -1
  1047. package/dist/providers/ai-sdk-openai-compatible.provider.test.d.ts +0 -2
  1048. package/dist/providers/ai-sdk-openai-compatible.provider.test.d.ts.map +0 -1
  1049. package/dist/providers/ai-sdk-openai-compatible.provider.test.js +0 -93
  1050. package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +0 -1
  1051. package/dist/providers/ai-sdk-openrouter.provider.test.d.ts +0 -2
  1052. package/dist/providers/ai-sdk-openrouter.provider.test.d.ts.map +0 -1
  1053. package/dist/providers/ai-sdk-openrouter.provider.test.js +0 -93
  1054. package/dist/providers/ai-sdk-openrouter.provider.test.js.map +0 -1
  1055. package/dist/providers/anthropic-middleware.test.d.ts +0 -2
  1056. package/dist/providers/anthropic-middleware.test.d.ts.map +0 -1
  1057. package/dist/providers/anthropic-middleware.test.js +0 -142
  1058. package/dist/providers/anthropic-middleware.test.js.map +0 -1
  1059. package/dist/providers/codex-responses-model.test.d.ts +0 -2
  1060. package/dist/providers/codex-responses-model.test.d.ts.map +0 -1
  1061. package/dist/providers/codex-responses-model.test.js +0 -1143
  1062. package/dist/providers/codex-responses-model.test.js.map +0 -1
  1063. package/dist/providers/codex.provider.test.d.ts +0 -2
  1064. package/dist/providers/codex.provider.test.d.ts.map +0 -1
  1065. package/dist/providers/codex.provider.test.js +0 -616
  1066. package/dist/providers/codex.provider.test.js.map +0 -1
  1067. package/dist/providers/common/openai-compatible-messages.test.d.ts +0 -2
  1068. package/dist/providers/common/openai-compatible-messages.test.d.ts.map +0 -1
  1069. package/dist/providers/common/openai-compatible-messages.test.js +0 -185
  1070. package/dist/providers/common/openai-compatible-messages.test.js.map +0 -1
  1071. package/dist/providers/custom-provider-adapter.test.d.ts +0 -2
  1072. package/dist/providers/custom-provider-adapter.test.d.ts.map +0 -1
  1073. package/dist/providers/custom-provider-adapter.test.js +0 -158
  1074. package/dist/providers/custom-provider-adapter.test.js.map +0 -1
  1075. package/dist/providers/fallback-responses-model.test.d.ts +0 -2
  1076. package/dist/providers/fallback-responses-model.test.d.ts.map +0 -1
  1077. package/dist/providers/fallback-responses-model.test.js +0 -945
  1078. package/dist/providers/fallback-responses-model.test.js.map +0 -1
  1079. package/dist/providers/fetch/composer.test.d.ts +0 -2
  1080. package/dist/providers/fetch/composer.test.d.ts.map +0 -1
  1081. package/dist/providers/fetch/composer.test.js +0 -586
  1082. package/dist/providers/fetch/composer.test.js.map +0 -1
  1083. package/dist/providers/openai-compatible-behavior-gate.test.d.ts +0 -2
  1084. package/dist/providers/openai-compatible-behavior-gate.test.d.ts.map +0 -1
  1085. package/dist/providers/openai-compatible-behavior-gate.test.js +0 -216
  1086. package/dist/providers/openai-compatible-behavior-gate.test.js.map +0 -1
  1087. package/dist/providers/openai-compatible.provider.createRunner.test.d.ts +0 -2
  1088. package/dist/providers/openai-compatible.provider.createRunner.test.d.ts.map +0 -1
  1089. package/dist/providers/openai-compatible.provider.createRunner.test.js +0 -39
  1090. package/dist/providers/openai-compatible.provider.createRunner.test.js.map +0 -1
  1091. package/dist/providers/openai-compatible.provider.test.d.ts +0 -2
  1092. package/dist/providers/openai-compatible.provider.test.d.ts.map +0 -1
  1093. package/dist/providers/openai-compatible.provider.test.js +0 -729
  1094. package/dist/providers/openai-compatible.provider.test.js.map +0 -1
  1095. package/dist/providers/openai.provider.test.d.ts +0 -2
  1096. package/dist/providers/openai.provider.test.d.ts.map +0 -1
  1097. package/dist/providers/openai.provider.test.js +0 -93
  1098. package/dist/providers/openai.provider.test.js.map +0 -1
  1099. package/dist/providers/opencode.provider.test.d.ts +0 -2
  1100. package/dist/providers/opencode.provider.test.d.ts.map +0 -1
  1101. package/dist/providers/opencode.provider.test.js +0 -186
  1102. package/dist/providers/opencode.provider.test.js.map +0 -1
  1103. package/dist/providers/openrouter.provider.createRunner.test.d.ts +0 -2
  1104. package/dist/providers/openrouter.provider.createRunner.test.d.ts.map +0 -1
  1105. package/dist/providers/openrouter.provider.createRunner.test.js +0 -66
  1106. package/dist/providers/openrouter.provider.createRunner.test.js.map +0 -1
  1107. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +0 -2
  1108. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +0 -1
  1109. package/dist/providers/openrouter.provider.request-preprocessing.test.js +0 -51
  1110. package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +0 -1
  1111. package/dist/providers/provider-service.test.d.ts +0 -2
  1112. package/dist/providers/provider-service.test.d.ts.map +0 -1
  1113. package/dist/providers/provider-service.test.js +0 -233
  1114. package/dist/providers/provider-service.test.js.map +0 -1
  1115. package/dist/providers/registry.test.d.ts +0 -2
  1116. package/dist/providers/registry.test.d.ts.map +0 -1
  1117. package/dist/providers/registry.test.js +0 -111
  1118. package/dist/providers/registry.test.js.map +0 -1
  1119. package/dist/providers/retrying-model.test.d.ts +0 -2
  1120. package/dist/providers/retrying-model.test.d.ts.map +0 -1
  1121. package/dist/providers/retrying-model.test.js +0 -103
  1122. package/dist/providers/retrying-model.test.js.map +0 -1
  1123. package/dist/providers/timed-responses-ws-model.d.ts +0 -20
  1124. package/dist/providers/timed-responses-ws-model.d.ts.map +0 -1
  1125. package/dist/providers/timed-responses-ws-model.js +0 -381
  1126. package/dist/providers/timed-responses-ws-model.js.map +0 -1
  1127. package/dist/providers/timed-responses-ws-model.test.d.ts +0 -2
  1128. package/dist/providers/timed-responses-ws-model.test.d.ts.map +0 -1
  1129. package/dist/providers/timed-responses-ws-model.test.js +0 -441
  1130. package/dist/providers/timed-responses-ws-model.test.js.map +0 -1
  1131. package/dist/providers/timed-ws-connection.d.ts +0 -26
  1132. package/dist/providers/timed-ws-connection.d.ts.map +0 -1
  1133. package/dist/providers/timed-ws-connection.js +0 -156
  1134. package/dist/providers/timed-ws-connection.js.map +0 -1
  1135. package/dist/providers/timed-ws-connection.test.d.ts +0 -2
  1136. package/dist/providers/timed-ws-connection.test.d.ts.map +0 -1
  1137. package/dist/providers/timed-ws-connection.test.js +0 -223
  1138. package/dist/providers/timed-ws-connection.test.js.map +0 -1
  1139. package/dist/providers/timed-ws-timeouts.d.ts +0 -6
  1140. package/dist/providers/timed-ws-timeouts.d.ts.map +0 -1
  1141. package/dist/providers/timed-ws-timeouts.js +0 -6
  1142. package/dist/providers/timed-ws-timeouts.js.map +0 -1
  1143. package/dist/providers/web-search/exa.provider.test.d.ts +0 -2
  1144. package/dist/providers/web-search/exa.provider.test.d.ts.map +0 -1
  1145. package/dist/providers/web-search/exa.provider.test.js +0 -66
  1146. package/dist/providers/web-search/exa.provider.test.js.map +0 -1
  1147. package/dist/providers/web-search/registry.test.d.ts +0 -2
  1148. package/dist/providers/web-search/registry.test.d.ts.map +0 -1
  1149. package/dist/providers/web-search/registry.test.js +0 -104
  1150. package/dist/providers/web-search/registry.test.js.map +0 -1
  1151. package/dist/providers/web-search/tavily.provider.test.d.ts +0 -2
  1152. package/dist/providers/web-search/tavily.provider.test.d.ts.map +0 -1
  1153. package/dist/providers/web-search/tavily.provider.test.js +0 -66
  1154. package/dist/providers/web-search/tavily.provider.test.js.map +0 -1
  1155. package/dist/scripts/eval-auto-approval/dataset.test.d.ts +0 -2
  1156. package/dist/scripts/eval-auto-approval/dataset.test.d.ts.map +0 -1
  1157. package/dist/scripts/eval-auto-approval/dataset.test.js +0 -88
  1158. package/dist/scripts/eval-auto-approval/dataset.test.js.map +0 -1
  1159. package/dist/scripts/eval-auto-approval/leaderboard.test.d.ts +0 -2
  1160. package/dist/scripts/eval-auto-approval/leaderboard.test.d.ts.map +0 -1
  1161. package/dist/scripts/eval-auto-approval/leaderboard.test.js +0 -693
  1162. package/dist/scripts/eval-auto-approval/leaderboard.test.js.map +0 -1
  1163. package/dist/scripts/eval-auto-approval/metrics.test.d.ts +0 -2
  1164. package/dist/scripts/eval-auto-approval/metrics.test.d.ts.map +0 -1
  1165. package/dist/scripts/eval-auto-approval/metrics.test.js +0 -79
  1166. package/dist/scripts/eval-auto-approval/metrics.test.js.map +0 -1
  1167. package/dist/scripts/eval-auto-approval/report.test.d.ts +0 -2
  1168. package/dist/scripts/eval-auto-approval/report.test.d.ts.map +0 -1
  1169. package/dist/scripts/eval-auto-approval/report.test.js +0 -23
  1170. package/dist/scripts/eval-auto-approval/report.test.js.map +0 -1
  1171. package/dist/scripts/eval-auto-approval/runner-utils.test.d.ts +0 -2
  1172. package/dist/scripts/eval-auto-approval/runner-utils.test.d.ts.map +0 -1
  1173. package/dist/scripts/eval-auto-approval/runner-utils.test.js +0 -127
  1174. package/dist/scripts/eval-auto-approval/runner-utils.test.js.map +0 -1
  1175. package/dist/services/approval/approval-decision-policy.test.d.ts +0 -2
  1176. package/dist/services/approval/approval-decision-policy.test.d.ts.map +0 -1
  1177. package/dist/services/approval/approval-decision-policy.test.js +0 -149
  1178. package/dist/services/approval/approval-decision-policy.test.js.map +0 -1
  1179. package/dist/services/approval/approval-flow-coordinator.test.d.ts +0 -2
  1180. package/dist/services/approval/approval-flow-coordinator.test.d.ts.map +0 -1
  1181. package/dist/services/approval/approval-flow-coordinator.test.js +0 -314
  1182. package/dist/services/approval/approval-flow-coordinator.test.js.map +0 -1
  1183. package/dist/services/approval/approval-presentation-policy.test.d.ts +0 -2
  1184. package/dist/services/approval/approval-presentation-policy.test.d.ts.map +0 -1
  1185. package/dist/services/approval/approval-presentation-policy.test.js +0 -74
  1186. package/dist/services/approval/approval-presentation-policy.test.js.map +0 -1
  1187. package/dist/services/approval/approval-state.test.d.ts +0 -2
  1188. package/dist/services/approval/approval-state.test.d.ts.map +0 -1
  1189. package/dist/services/approval/approval-state.test.js +0 -83
  1190. package/dist/services/approval/approval-state.test.js.map +0 -1
  1191. package/dist/services/approval/shell-auto-approval-evaluator.test.d.ts +0 -2
  1192. package/dist/services/approval/shell-auto-approval-evaluator.test.d.ts.map +0 -1
  1193. package/dist/services/approval/shell-auto-approval-evaluator.test.js +0 -437
  1194. package/dist/services/approval/shell-auto-approval-evaluator.test.js.map +0 -1
  1195. package/dist/services/approval/shell-auto-approval-resolver.test.d.ts +0 -2
  1196. package/dist/services/approval/shell-auto-approval-resolver.test.d.ts.map +0 -1
  1197. package/dist/services/approval/shell-auto-approval-resolver.test.js +0 -120
  1198. package/dist/services/approval/shell-auto-approval-resolver.test.js.map +0 -1
  1199. package/dist/services/approval-continuation-runner.d.ts +0 -59
  1200. package/dist/services/approval-continuation-runner.d.ts.map +0 -1
  1201. package/dist/services/approval-continuation-runner.js +0 -193
  1202. package/dist/services/approval-continuation-runner.js.map +0 -1
  1203. package/dist/services/approval-flow-coordinator.d.ts +0 -60
  1204. package/dist/services/approval-flow-coordinator.d.ts.map +0 -1
  1205. package/dist/services/approval-flow-coordinator.js +0 -130
  1206. package/dist/services/approval-flow-coordinator.js.map +0 -1
  1207. package/dist/services/approval-flow-coordinator.test.d.ts +0 -2
  1208. package/dist/services/approval-flow-coordinator.test.d.ts.map +0 -1
  1209. package/dist/services/approval-flow-coordinator.test.js +0 -258
  1210. package/dist/services/approval-flow-coordinator.test.js.map +0 -1
  1211. package/dist/services/approval-presentation-policy.d.ts +0 -17
  1212. package/dist/services/approval-presentation-policy.d.ts.map +0 -1
  1213. package/dist/services/approval-presentation-policy.js +0 -44
  1214. package/dist/services/approval-presentation-policy.js.map +0 -1
  1215. package/dist/services/approval-presentation-policy.test.d.ts +0 -2
  1216. package/dist/services/approval-presentation-policy.test.d.ts.map +0 -1
  1217. package/dist/services/approval-presentation-policy.test.js +0 -74
  1218. package/dist/services/approval-presentation-policy.test.js.map +0 -1
  1219. package/dist/services/approval-rejection-interceptor.d.ts +0 -16
  1220. package/dist/services/approval-rejection-interceptor.d.ts.map +0 -1
  1221. package/dist/services/approval-rejection-interceptor.js +0 -20
  1222. package/dist/services/approval-rejection-interceptor.js.map +0 -1
  1223. package/dist/services/approval-rejection-interceptor.test.d.ts +0 -2
  1224. package/dist/services/approval-rejection-interceptor.test.d.ts.map +0 -1
  1225. package/dist/services/approval-rejection-interceptor.test.js +0 -65
  1226. package/dist/services/approval-rejection-interceptor.test.js.map +0 -1
  1227. package/dist/services/approval-state.d.ts +0 -43
  1228. package/dist/services/approval-state.d.ts.map +0 -1
  1229. package/dist/services/approval-state.js +0 -48
  1230. package/dist/services/approval-state.js.map +0 -1
  1231. package/dist/services/approval-state.test.d.ts +0 -2
  1232. package/dist/services/approval-state.test.d.ts.map +0 -1
  1233. package/dist/services/approval-state.test.js +0 -80
  1234. package/dist/services/approval-state.test.js.map +0 -1
  1235. package/dist/services/auto-approval-continuation-resolver.d.ts +0 -31
  1236. package/dist/services/auto-approval-continuation-resolver.d.ts.map +0 -1
  1237. package/dist/services/auto-approval-continuation-resolver.js +0 -111
  1238. package/dist/services/auto-approval-continuation-resolver.js.map +0 -1
  1239. package/dist/services/command-message-streaming.test.d.ts +0 -2
  1240. package/dist/services/command-message-streaming.test.d.ts.map +0 -1
  1241. package/dist/services/command-message-streaming.test.js +0 -80
  1242. package/dist/services/command-message-streaming.test.js.map +0 -1
  1243. package/dist/services/continuation-driver.d.ts +0 -85
  1244. package/dist/services/continuation-driver.d.ts.map +0 -1
  1245. package/dist/services/continuation-driver.js +0 -426
  1246. package/dist/services/continuation-driver.js.map +0 -1
  1247. package/dist/services/continuation-driver.test.d.ts +0 -2
  1248. package/dist/services/continuation-driver.test.d.ts.map +0 -1
  1249. package/dist/services/continuation-driver.test.js +0 -503
  1250. package/dist/services/continuation-driver.test.js.map +0 -1
  1251. package/dist/services/conversation/conversation-adapter.test.d.ts +0 -2
  1252. package/dist/services/conversation/conversation-adapter.test.d.ts.map +0 -1
  1253. package/dist/services/conversation/conversation-adapter.test.js +0 -65
  1254. package/dist/services/conversation/conversation-adapter.test.js.map +0 -1
  1255. package/dist/services/conversation/conversation-clear-save.test.d.ts +0 -2
  1256. package/dist/services/conversation/conversation-clear-save.test.d.ts.map +0 -1
  1257. package/dist/services/conversation/conversation-clear-save.test.js +0 -56
  1258. package/dist/services/conversation/conversation-clear-save.test.js.map +0 -1
  1259. package/dist/services/conversation/conversation-history-repair.test.d.ts +0 -2
  1260. package/dist/services/conversation/conversation-history-repair.test.d.ts.map +0 -1
  1261. package/dist/services/conversation/conversation-history-repair.test.js +0 -79
  1262. package/dist/services/conversation/conversation-history-repair.test.js.map +0 -1
  1263. package/dist/services/conversation/conversation-integration.test.d.ts +0 -2
  1264. package/dist/services/conversation/conversation-integration.test.d.ts.map +0 -1
  1265. package/dist/services/conversation/conversation-integration.test.js +0 -273
  1266. package/dist/services/conversation/conversation-integration.test.js.map +0 -1
  1267. package/dist/services/conversation/conversation-persistence.test.d.ts +0 -2
  1268. package/dist/services/conversation/conversation-persistence.test.d.ts.map +0 -1
  1269. package/dist/services/conversation/conversation-persistence.test.js +0 -1073
  1270. package/dist/services/conversation/conversation-persistence.test.js.map +0 -1
  1271. package/dist/services/conversation/conversation-replay.test.d.ts +0 -2
  1272. package/dist/services/conversation/conversation-replay.test.d.ts.map +0 -1
  1273. package/dist/services/conversation/conversation-replay.test.js +0 -1221
  1274. package/dist/services/conversation/conversation-replay.test.js.map +0 -1
  1275. package/dist/services/conversation/conversation-result-builder.test.d.ts +0 -2
  1276. package/dist/services/conversation/conversation-result-builder.test.d.ts.map +0 -1
  1277. package/dist/services/conversation/conversation-result-builder.test.js +0 -504
  1278. package/dist/services/conversation/conversation-result-builder.test.js.map +0 -1
  1279. package/dist/services/conversation/conversation-service.test.d.ts +0 -2
  1280. package/dist/services/conversation/conversation-service.test.d.ts.map +0 -1
  1281. package/dist/services/conversation/conversation-service.test.js +0 -1138
  1282. package/dist/services/conversation/conversation-service.test.js.map +0 -1
  1283. package/dist/services/conversation/conversation-store-adapter.d.ts +0 -45
  1284. package/dist/services/conversation/conversation-store-adapter.d.ts.map +0 -1
  1285. package/dist/services/conversation/conversation-store-adapter.js +0 -88
  1286. package/dist/services/conversation/conversation-store-adapter.js.map +0 -1
  1287. package/dist/services/conversation/conversation-store-adapter.test.d.ts +0 -2
  1288. package/dist/services/conversation/conversation-store-adapter.test.d.ts.map +0 -1
  1289. package/dist/services/conversation/conversation-store-adapter.test.js +0 -120
  1290. package/dist/services/conversation/conversation-store-adapter.test.js.map +0 -1
  1291. package/dist/services/conversation/conversation-store.test.d.ts +0 -2
  1292. package/dist/services/conversation/conversation-store.test.d.ts.map +0 -1
  1293. package/dist/services/conversation/conversation-store.test.js +0 -411
  1294. package/dist/services/conversation/conversation-store.test.js.map +0 -1
  1295. package/dist/services/conversation/conversation-turn-items.test.d.ts +0 -2
  1296. package/dist/services/conversation/conversation-turn-items.test.d.ts.map +0 -1
  1297. package/dist/services/conversation/conversation-turn-items.test.js +0 -68
  1298. package/dist/services/conversation/conversation-turn-items.test.js.map +0 -1
  1299. package/dist/services/conversation-adapter.d.ts +0 -50
  1300. package/dist/services/conversation-adapter.d.ts.map +0 -1
  1301. package/dist/services/conversation-adapter.js +0 -147
  1302. package/dist/services/conversation-adapter.js.map +0 -1
  1303. package/dist/services/conversation-clear-save.test.d.ts +0 -2
  1304. package/dist/services/conversation-clear-save.test.d.ts.map +0 -1
  1305. package/dist/services/conversation-clear-save.test.js +0 -56
  1306. package/dist/services/conversation-clear-save.test.js.map +0 -1
  1307. package/dist/services/conversation-events.d.ts +0 -159
  1308. package/dist/services/conversation-events.d.ts.map +0 -1
  1309. package/dist/services/conversation-events.js +0 -2
  1310. package/dist/services/conversation-events.js.map +0 -1
  1311. package/dist/services/conversation-history-repair.d.ts +0 -25
  1312. package/dist/services/conversation-history-repair.d.ts.map +0 -1
  1313. package/dist/services/conversation-history-repair.js +0 -282
  1314. package/dist/services/conversation-history-repair.js.map +0 -1
  1315. package/dist/services/conversation-history-repair.test.d.ts +0 -2
  1316. package/dist/services/conversation-history-repair.test.d.ts.map +0 -1
  1317. package/dist/services/conversation-history-repair.test.js +0 -76
  1318. package/dist/services/conversation-history-repair.test.js.map +0 -1
  1319. package/dist/services/conversation-integration.test.d.ts +0 -2
  1320. package/dist/services/conversation-integration.test.d.ts.map +0 -1
  1321. package/dist/services/conversation-integration.test.js +0 -270
  1322. package/dist/services/conversation-integration.test.js.map +0 -1
  1323. package/dist/services/conversation-log-events.d.ts +0 -116
  1324. package/dist/services/conversation-log-events.d.ts.map +0 -1
  1325. package/dist/services/conversation-log-events.js +0 -12
  1326. package/dist/services/conversation-log-events.js.map +0 -1
  1327. package/dist/services/conversation-log-writer.d.ts +0 -40
  1328. package/dist/services/conversation-log-writer.d.ts.map +0 -1
  1329. package/dist/services/conversation-log-writer.js +0 -263
  1330. package/dist/services/conversation-log-writer.js.map +0 -1
  1331. package/dist/services/conversation-logger.d.ts +0 -23
  1332. package/dist/services/conversation-logger.d.ts.map +0 -1
  1333. package/dist/services/conversation-logger.js +0 -141
  1334. package/dist/services/conversation-logger.js.map +0 -1
  1335. package/dist/services/conversation-logger.test.d.ts +0 -2
  1336. package/dist/services/conversation-logger.test.d.ts.map +0 -1
  1337. package/dist/services/conversation-logger.test.js +0 -221
  1338. package/dist/services/conversation-logger.test.js.map +0 -1
  1339. package/dist/services/conversation-persistence-types.d.ts +0 -46
  1340. package/dist/services/conversation-persistence-types.d.ts.map +0 -1
  1341. package/dist/services/conversation-persistence-types.js +0 -2
  1342. package/dist/services/conversation-persistence-types.js.map +0 -1
  1343. package/dist/services/conversation-persistence.d.ts +0 -60
  1344. package/dist/services/conversation-persistence.d.ts.map +0 -1
  1345. package/dist/services/conversation-persistence.js +0 -455
  1346. package/dist/services/conversation-persistence.js.map +0 -1
  1347. package/dist/services/conversation-persistence.test.d.ts +0 -2
  1348. package/dist/services/conversation-persistence.test.d.ts.map +0 -1
  1349. package/dist/services/conversation-persistence.test.js +0 -1005
  1350. package/dist/services/conversation-persistence.test.js.map +0 -1
  1351. package/dist/services/conversation-replay.d.ts +0 -26
  1352. package/dist/services/conversation-replay.d.ts.map +0 -1
  1353. package/dist/services/conversation-replay.js +0 -574
  1354. package/dist/services/conversation-replay.js.map +0 -1
  1355. package/dist/services/conversation-replay.test.d.ts +0 -2
  1356. package/dist/services/conversation-replay.test.d.ts.map +0 -1
  1357. package/dist/services/conversation-replay.test.js +0 -860
  1358. package/dist/services/conversation-replay.test.js.map +0 -1
  1359. package/dist/services/conversation-result-builder.d.ts +0 -50
  1360. package/dist/services/conversation-result-builder.d.ts.map +0 -1
  1361. package/dist/services/conversation-result-builder.js +0 -153
  1362. package/dist/services/conversation-result-builder.js.map +0 -1
  1363. package/dist/services/conversation-result-builder.test.d.ts +0 -2
  1364. package/dist/services/conversation-result-builder.test.d.ts.map +0 -1
  1365. package/dist/services/conversation-result-builder.test.js +0 -439
  1366. package/dist/services/conversation-result-builder.test.js.map +0 -1
  1367. package/dist/services/conversation-result-resolver.d.ts +0 -25
  1368. package/dist/services/conversation-result-resolver.d.ts.map +0 -1
  1369. package/dist/services/conversation-result-resolver.js +0 -79
  1370. package/dist/services/conversation-result-resolver.js.map +0 -1
  1371. package/dist/services/conversation-result-resolver.test.d.ts +0 -2
  1372. package/dist/services/conversation-result-resolver.test.d.ts.map +0 -1
  1373. package/dist/services/conversation-result-resolver.test.js +0 -186
  1374. package/dist/services/conversation-result-resolver.test.js.map +0 -1
  1375. package/dist/services/conversation-retry-policy.d.ts +0 -63
  1376. package/dist/services/conversation-retry-policy.d.ts.map +0 -1
  1377. package/dist/services/conversation-retry-policy.js +0 -76
  1378. package/dist/services/conversation-retry-policy.js.map +0 -1
  1379. package/dist/services/conversation-retry-policy.test.d.ts +0 -2
  1380. package/dist/services/conversation-retry-policy.test.d.ts.map +0 -1
  1381. package/dist/services/conversation-retry-policy.test.js +0 -181
  1382. package/dist/services/conversation-retry-policy.test.js.map +0 -1
  1383. package/dist/services/conversation-service.d.ts +0 -69
  1384. package/dist/services/conversation-service.d.ts.map +0 -1
  1385. package/dist/services/conversation-service.js +0 -92
  1386. package/dist/services/conversation-service.js.map +0 -1
  1387. package/dist/services/conversation-service.test.d.ts +0 -2
  1388. package/dist/services/conversation-service.test.d.ts.map +0 -1
  1389. package/dist/services/conversation-service.test.js +0 -1102
  1390. package/dist/services/conversation-service.test.js.map +0 -1
  1391. package/dist/services/conversation-session-composition.d.ts +0 -85
  1392. package/dist/services/conversation-session-composition.d.ts.map +0 -1
  1393. package/dist/services/conversation-session-composition.js +0 -246
  1394. package/dist/services/conversation-session-composition.js.map +0 -1
  1395. package/dist/services/conversation-session-factory.d.ts +0 -47
  1396. package/dist/services/conversation-session-factory.d.ts.map +0 -1
  1397. package/dist/services/conversation-session-factory.js +0 -41
  1398. package/dist/services/conversation-session-factory.js.map +0 -1
  1399. package/dist/services/conversation-session-factory.test.d.ts +0 -2
  1400. package/dist/services/conversation-session-factory.test.d.ts.map +0 -1
  1401. package/dist/services/conversation-session-factory.test.js +0 -197
  1402. package/dist/services/conversation-session-factory.test.js.map +0 -1
  1403. package/dist/services/conversation-session-reasoning.test.d.ts +0 -2
  1404. package/dist/services/conversation-session-reasoning.test.d.ts.map +0 -1
  1405. package/dist/services/conversation-session-reasoning.test.js +0 -67
  1406. package/dist/services/conversation-session-reasoning.test.js.map +0 -1
  1407. package/dist/services/conversation-session.auto-approval.test.d.ts +0 -2
  1408. package/dist/services/conversation-session.auto-approval.test.d.ts.map +0 -1
  1409. package/dist/services/conversation-session.auto-approval.test.js +0 -721
  1410. package/dist/services/conversation-session.auto-approval.test.js.map +0 -1
  1411. package/dist/services/conversation-session.characterization.test.d.ts +0 -2
  1412. package/dist/services/conversation-session.characterization.test.d.ts.map +0 -1
  1413. package/dist/services/conversation-session.characterization.test.js +0 -1051
  1414. package/dist/services/conversation-session.characterization.test.js.map +0 -1
  1415. package/dist/services/conversation-session.d.ts +0 -32
  1416. package/dist/services/conversation-session.d.ts.map +0 -1
  1417. package/dist/services/conversation-session.input-surge.test.d.ts +0 -2
  1418. package/dist/services/conversation-session.input-surge.test.d.ts.map +0 -1
  1419. package/dist/services/conversation-session.input-surge.test.js +0 -240
  1420. package/dist/services/conversation-session.input-surge.test.js.map +0 -1
  1421. package/dist/services/conversation-session.isolation.test.d.ts +0 -2
  1422. package/dist/services/conversation-session.isolation.test.d.ts.map +0 -1
  1423. package/dist/services/conversation-session.isolation.test.js +0 -291
  1424. package/dist/services/conversation-session.isolation.test.js.map +0 -1
  1425. package/dist/services/conversation-session.js +0 -33
  1426. package/dist/services/conversation-session.js.map +0 -1
  1427. package/dist/services/conversation-session.stream.test.d.ts +0 -2
  1428. package/dist/services/conversation-session.stream.test.d.ts.map +0 -1
  1429. package/dist/services/conversation-session.stream.test.js +0 -2099
  1430. package/dist/services/conversation-session.stream.test.js.map +0 -1
  1431. package/dist/services/conversation-session.tool-started.test.d.ts +0 -2
  1432. package/dist/services/conversation-session.tool-started.test.d.ts.map +0 -1
  1433. package/dist/services/conversation-session.tool-started.test.js +0 -244
  1434. package/dist/services/conversation-session.tool-started.test.js.map +0 -1
  1435. package/dist/services/conversation-store-adapter.d.ts +0 -45
  1436. package/dist/services/conversation-store-adapter.d.ts.map +0 -1
  1437. package/dist/services/conversation-store-adapter.js +0 -88
  1438. package/dist/services/conversation-store-adapter.js.map +0 -1
  1439. package/dist/services/conversation-store-adapter.test.d.ts +0 -2
  1440. package/dist/services/conversation-store-adapter.test.d.ts.map +0 -1
  1441. package/dist/services/conversation-store-adapter.test.js +0 -120
  1442. package/dist/services/conversation-store-adapter.test.js.map +0 -1
  1443. package/dist/services/conversation-store.d.ts +0 -77
  1444. package/dist/services/conversation-store.d.ts.map +0 -1
  1445. package/dist/services/conversation-store.js +0 -303
  1446. package/dist/services/conversation-store.js.map +0 -1
  1447. package/dist/services/conversation-store.merge-modes.test.d.ts +0 -2
  1448. package/dist/services/conversation-store.merge-modes.test.d.ts.map +0 -1
  1449. package/dist/services/conversation-store.merge-modes.test.js +0 -161
  1450. package/dist/services/conversation-store.merge-modes.test.js.map +0 -1
  1451. package/dist/services/conversation-store.test.d.ts +0 -2
  1452. package/dist/services/conversation-store.test.d.ts.map +0 -1
  1453. package/dist/services/conversation-store.test.js +0 -411
  1454. package/dist/services/conversation-store.test.js.map +0 -1
  1455. package/dist/services/conversation-terminal-adapter.d.ts +0 -50
  1456. package/dist/services/conversation-terminal-adapter.d.ts.map +0 -1
  1457. package/dist/services/conversation-terminal-adapter.js +0 -147
  1458. package/dist/services/conversation-terminal-adapter.js.map +0 -1
  1459. package/dist/services/conversation-turn-items.d.ts +0 -5
  1460. package/dist/services/conversation-turn-items.d.ts.map +0 -1
  1461. package/dist/services/conversation-turn-items.js +0 -351
  1462. package/dist/services/conversation-turn-items.js.map +0 -1
  1463. package/dist/services/conversation-turn-items.test.d.ts +0 -2
  1464. package/dist/services/conversation-turn-items.test.d.ts.map +0 -1
  1465. package/dist/services/conversation-turn-items.test.js +0 -68
  1466. package/dist/services/conversation-turn-items.test.js.map +0 -1
  1467. package/dist/services/conversation-turn-runner.d.ts +0 -70
  1468. package/dist/services/conversation-turn-runner.d.ts.map +0 -1
  1469. package/dist/services/conversation-turn-runner.js +0 -396
  1470. package/dist/services/conversation-turn-runner.js.map +0 -1
  1471. package/dist/services/execution-context.test.d.ts +0 -2
  1472. package/dist/services/execution-context.test.d.ts.map +0 -1
  1473. package/dist/services/execution-context.test.js +0 -49
  1474. package/dist/services/execution-context.test.js.map +0 -1
  1475. package/dist/services/file-service.test.d.ts +0 -2
  1476. package/dist/services/file-service.test.d.ts.map +0 -1
  1477. package/dist/services/file-service.test.js +0 -60
  1478. package/dist/services/file-service.test.js.map +0 -1
  1479. package/dist/services/generation-guard.test.d.ts +0 -2
  1480. package/dist/services/generation-guard.test.d.ts.map +0 -1
  1481. package/dist/services/generation-guard.test.js +0 -404
  1482. package/dist/services/generation-guard.test.js.map +0 -1
  1483. package/dist/services/history-service.test.d.ts +0 -2
  1484. package/dist/services/history-service.test.d.ts.map +0 -1
  1485. package/dist/services/history-service.test.js +0 -77
  1486. package/dist/services/history-service.test.js.map +0 -1
  1487. package/dist/services/initial-turn-runner.d.ts +0 -75
  1488. package/dist/services/initial-turn-runner.d.ts.map +0 -1
  1489. package/dist/services/initial-turn-runner.js +0 -437
  1490. package/dist/services/initial-turn-runner.js.map +0 -1
  1491. package/dist/services/initial-turn-runner.test.d.ts +0 -2
  1492. package/dist/services/initial-turn-runner.test.d.ts.map +0 -1
  1493. package/dist/services/initial-turn-runner.test.js +0 -358
  1494. package/dist/services/initial-turn-runner.test.js.map +0 -1
  1495. package/dist/services/input-surge-guard.test.d.ts +0 -2
  1496. package/dist/services/input-surge-guard.test.d.ts.map +0 -1
  1497. package/dist/services/input-surge-guard.test.js +0 -129
  1498. package/dist/services/input-surge-guard.test.js.map +0 -1
  1499. package/dist/services/interruption-info.test.d.ts +0 -2
  1500. package/dist/services/interruption-info.test.d.ts.map +0 -1
  1501. package/dist/services/interruption-info.test.js +0 -103
  1502. package/dist/services/interruption-info.test.js.map +0 -1
  1503. package/dist/services/large-uncached-input-guard.test.d.ts +0 -2
  1504. package/dist/services/large-uncached-input-guard.test.d.ts.map +0 -1
  1505. package/dist/services/large-uncached-input-guard.test.js +0 -182
  1506. package/dist/services/large-uncached-input-guard.test.js.map +0 -1
  1507. package/dist/services/logging/assistant-turn-journal.test.d.ts +0 -2
  1508. package/dist/services/logging/assistant-turn-journal.test.d.ts.map +0 -1
  1509. package/dist/services/logging/assistant-turn-journal.test.js +0 -118
  1510. package/dist/services/logging/assistant-turn-journal.test.js.map +0 -1
  1511. package/dist/services/logging/conversation-logger.test.d.ts +0 -2
  1512. package/dist/services/logging/conversation-logger.test.d.ts.map +0 -1
  1513. package/dist/services/logging/conversation-logger.test.js +0 -387
  1514. package/dist/services/logging/conversation-logger.test.js.map +0 -1
  1515. package/dist/services/logging/logging-contract.test.d.ts +0 -2
  1516. package/dist/services/logging/logging-contract.test.d.ts.map +0 -1
  1517. package/dist/services/logging/logging-contract.test.js +0 -100
  1518. package/dist/services/logging/logging-contract.test.js.map +0 -1
  1519. package/dist/services/logging/logging-service.test.d.ts +0 -2
  1520. package/dist/services/logging/logging-service.test.d.ts.map +0 -1
  1521. package/dist/services/logging/logging-service.test.js +0 -464
  1522. package/dist/services/logging/logging-service.test.js.map +0 -1
  1523. package/dist/services/logging/provider-traffic.test.d.ts +0 -2
  1524. package/dist/services/logging/provider-traffic.test.d.ts.map +0 -1
  1525. package/dist/services/logging/provider-traffic.test.js +0 -577
  1526. package/dist/services/logging/provider-traffic.test.js.map +0 -1
  1527. package/dist/services/logging-contract.d.ts +0 -74
  1528. package/dist/services/logging-contract.d.ts.map +0 -1
  1529. package/dist/services/logging-contract.js +0 -157
  1530. package/dist/services/logging-contract.js.map +0 -1
  1531. package/dist/services/logging-contract.test.d.ts +0 -2
  1532. package/dist/services/logging-contract.test.d.ts.map +0 -1
  1533. package/dist/services/logging-contract.test.js +0 -66
  1534. package/dist/services/logging-contract.test.js.map +0 -1
  1535. package/dist/services/logging-service.d.ts +0 -84
  1536. package/dist/services/logging-service.d.ts.map +0 -1
  1537. package/dist/services/logging-service.js +0 -409
  1538. package/dist/services/logging-service.js.map +0 -1
  1539. package/dist/services/logging-service.test.d.ts +0 -2
  1540. package/dist/services/logging-service.test.d.ts.map +0 -1
  1541. package/dist/services/logging-service.test.js +0 -467
  1542. package/dist/services/logging-service.test.js.map +0 -1
  1543. package/dist/services/model-service.test.d.ts +0 -2
  1544. package/dist/services/model-service.test.d.ts.map +0 -1
  1545. package/dist/services/model-service.test.js +0 -232
  1546. package/dist/services/model-service.test.js.map +0 -1
  1547. package/dist/services/notification-service.test.d.ts +0 -2
  1548. package/dist/services/notification-service.test.d.ts.map +0 -1
  1549. package/dist/services/notification-service.test.js +0 -151
  1550. package/dist/services/notification-service.test.js.map +0 -1
  1551. package/dist/services/plan-mode-interceptor.test.d.ts +0 -2
  1552. package/dist/services/plan-mode-interceptor.test.d.ts.map +0 -1
  1553. package/dist/services/plan-mode-interceptor.test.js +0 -55
  1554. package/dist/services/plan-mode-interceptor.test.js.map +0 -1
  1555. package/dist/services/provider-continuity.test.d.ts +0 -2
  1556. package/dist/services/provider-continuity.test.d.ts.map +0 -1
  1557. package/dist/services/provider-continuity.test.js +0 -47
  1558. package/dist/services/provider-continuity.test.js.map +0 -1
  1559. package/dist/services/provider-traffic.d.ts +0 -86
  1560. package/dist/services/provider-traffic.d.ts.map +0 -1
  1561. package/dist/services/provider-traffic.js +0 -616
  1562. package/dist/services/provider-traffic.js.map +0 -1
  1563. package/dist/services/provider-traffic.test.d.ts +0 -2
  1564. package/dist/services/provider-traffic.test.d.ts.map +0 -1
  1565. package/dist/services/provider-traffic.test.js +0 -576
  1566. package/dist/services/provider-traffic.test.js.map +0 -1
  1567. package/dist/services/recovery-executor.d.ts +0 -15
  1568. package/dist/services/recovery-executor.d.ts.map +0 -1
  1569. package/dist/services/recovery-executor.js +0 -93
  1570. package/dist/services/recovery-executor.js.map +0 -1
  1571. package/dist/services/recovery-executor.test.d.ts +0 -2
  1572. package/dist/services/recovery-executor.test.d.ts.map +0 -1
  1573. package/dist/services/recovery-executor.test.js +0 -192
  1574. package/dist/services/recovery-executor.test.js.map +0 -1
  1575. package/dist/services/recovery-policy.d.ts +0 -6
  1576. package/dist/services/recovery-policy.d.ts.map +0 -1
  1577. package/dist/services/recovery-policy.js +0 -56
  1578. package/dist/services/recovery-policy.js.map +0 -1
  1579. package/dist/services/recovery-policy.test.d.ts +0 -2
  1580. package/dist/services/recovery-policy.test.d.ts.map +0 -1
  1581. package/dist/services/recovery-policy.test.js +0 -103
  1582. package/dist/services/recovery-policy.test.js.map +0 -1
  1583. package/dist/services/retry/conversation-retry-policy.test.d.ts +0 -2
  1584. package/dist/services/retry/conversation-retry-policy.test.d.ts.map +0 -1
  1585. package/dist/services/retry/conversation-retry-policy.test.js +0 -181
  1586. package/dist/services/retry/conversation-retry-policy.test.js.map +0 -1
  1587. package/dist/services/retry/recovery-executor.test.d.ts +0 -2
  1588. package/dist/services/retry/recovery-executor.test.d.ts.map +0 -1
  1589. package/dist/services/retry/recovery-executor.test.js +0 -192
  1590. package/dist/services/retry/recovery-executor.test.js.map +0 -1
  1591. package/dist/services/retry/recovery-policy.test.d.ts +0 -2
  1592. package/dist/services/retry/recovery-policy.test.d.ts.map +0 -1
  1593. package/dist/services/retry/recovery-policy.test.js +0 -103
  1594. package/dist/services/retry/recovery-policy.test.js.map +0 -1
  1595. package/dist/services/retry/retry-classifier.test.d.ts +0 -2
  1596. package/dist/services/retry/retry-classifier.test.d.ts.map +0 -1
  1597. package/dist/services/retry/retry-classifier.test.js +0 -206
  1598. package/dist/services/retry/retry-classifier.test.js.map +0 -1
  1599. package/dist/services/retry/retry-error-classification.test.d.ts +0 -2
  1600. package/dist/services/retry/retry-error-classification.test.d.ts.map +0 -1
  1601. package/dist/services/retry/retry-error-classification.test.js +0 -339
  1602. package/dist/services/retry/retry-error-classification.test.js.map +0 -1
  1603. package/dist/services/retry/retry-event-presenter.test.d.ts +0 -2
  1604. package/dist/services/retry/retry-event-presenter.test.d.ts.map +0 -1
  1605. package/dist/services/retry/retry-event-presenter.test.js +0 -179
  1606. package/dist/services/retry/retry-event-presenter.test.js.map +0 -1
  1607. package/dist/services/retry/upstream-retry-policy.test.d.ts +0 -2
  1608. package/dist/services/retry/upstream-retry-policy.test.d.ts.map +0 -1
  1609. package/dist/services/retry/upstream-retry-policy.test.js +0 -125
  1610. package/dist/services/retry/upstream-retry-policy.test.js.map +0 -1
  1611. package/dist/services/retry-classifier.d.ts +0 -9
  1612. package/dist/services/retry-classifier.d.ts.map +0 -1
  1613. package/dist/services/retry-classifier.js +0 -41
  1614. package/dist/services/retry-classifier.js.map +0 -1
  1615. package/dist/services/retry-classifier.test.d.ts +0 -2
  1616. package/dist/services/retry-classifier.test.d.ts.map +0 -1
  1617. package/dist/services/retry-classifier.test.js +0 -206
  1618. package/dist/services/retry-classifier.test.js.map +0 -1
  1619. package/dist/services/retry-contracts.d.ts +0 -99
  1620. package/dist/services/retry-contracts.d.ts.map +0 -1
  1621. package/dist/services/retry-contracts.js +0 -2
  1622. package/dist/services/retry-contracts.js.map +0 -1
  1623. package/dist/services/retry-error-classification.d.ts +0 -30
  1624. package/dist/services/retry-error-classification.d.ts.map +0 -1
  1625. package/dist/services/retry-error-classification.js +0 -223
  1626. package/dist/services/retry-error-classification.js.map +0 -1
  1627. package/dist/services/retry-error-classification.test.d.ts +0 -2
  1628. package/dist/services/retry-error-classification.test.d.ts.map +0 -1
  1629. package/dist/services/retry-error-classification.test.js +0 -195
  1630. package/dist/services/retry-error-classification.test.js.map +0 -1
  1631. package/dist/services/retry-event-presenter.d.ts +0 -18
  1632. package/dist/services/retry-event-presenter.d.ts.map +0 -1
  1633. package/dist/services/retry-event-presenter.js +0 -124
  1634. package/dist/services/retry-event-presenter.js.map +0 -1
  1635. package/dist/services/retry-event-presenter.test.d.ts +0 -2
  1636. package/dist/services/retry-event-presenter.test.d.ts.map +0 -1
  1637. package/dist/services/retry-event-presenter.test.js +0 -194
  1638. package/dist/services/retry-event-presenter.test.js.map +0 -1
  1639. package/dist/services/retry-handler.d.ts +0 -51
  1640. package/dist/services/retry-handler.d.ts.map +0 -1
  1641. package/dist/services/retry-handler.js +0 -72
  1642. package/dist/services/retry-handler.js.map +0 -1
  1643. package/dist/services/retry-handler.test.d.ts +0 -2
  1644. package/dist/services/retry-handler.test.d.ts.map +0 -1
  1645. package/dist/services/retry-handler.test.js +0 -237
  1646. package/dist/services/retry-handler.test.js.map +0 -1
  1647. package/dist/services/rtk-service.test.d.ts +0 -2
  1648. package/dist/services/rtk-service.test.d.ts.map +0 -1
  1649. package/dist/services/rtk-service.test.js +0 -274
  1650. package/dist/services/rtk-service.test.js.map +0 -1
  1651. package/dist/services/session/continuation-driver.d.ts +0 -47
  1652. package/dist/services/session/continuation-driver.d.ts.map +0 -1
  1653. package/dist/services/session/continuation-driver.js +0 -346
  1654. package/dist/services/session/continuation-driver.js.map +0 -1
  1655. package/dist/services/session/continuation-driver.test.d.ts +0 -2
  1656. package/dist/services/session/continuation-driver.test.d.ts.map +0 -1
  1657. package/dist/services/session/continuation-driver.test.js +0 -804
  1658. package/dist/services/session/continuation-driver.test.js.map +0 -1
  1659. package/dist/services/session/continuation-plan-applier.test.d.ts +0 -2
  1660. package/dist/services/session/continuation-plan-applier.test.d.ts.map +0 -1
  1661. package/dist/services/session/continuation-plan-applier.test.js +0 -257
  1662. package/dist/services/session/continuation-plan-applier.test.js.map +0 -1
  1663. package/dist/services/session/continuation-recovery-handler.test.d.ts +0 -2
  1664. package/dist/services/session/continuation-recovery-handler.test.d.ts.map +0 -1
  1665. package/dist/services/session/continuation-recovery-handler.test.js +0 -148
  1666. package/dist/services/session/continuation-recovery-handler.test.js.map +0 -1
  1667. package/dist/services/session/continuation-state.test.d.ts +0 -2
  1668. package/dist/services/session/continuation-state.test.d.ts.map +0 -1
  1669. package/dist/services/session/continuation-state.test.js +0 -140
  1670. package/dist/services/session/continuation-state.test.js.map +0 -1
  1671. package/dist/services/session/continuation-stream-cycle.d.ts +0 -43
  1672. package/dist/services/session/continuation-stream-cycle.d.ts.map +0 -1
  1673. package/dist/services/session/continuation-stream-cycle.js +0 -61
  1674. package/dist/services/session/continuation-stream-cycle.js.map +0 -1
  1675. package/dist/services/session/continuation-stream-cycle.test.d.ts +0 -2
  1676. package/dist/services/session/continuation-stream-cycle.test.d.ts.map +0 -1
  1677. package/dist/services/session/continuation-stream-cycle.test.js +0 -139
  1678. package/dist/services/session/continuation-stream-cycle.test.js.map +0 -1
  1679. package/dist/services/session/conversation-session-reasoning.test.d.ts +0 -2
  1680. package/dist/services/session/conversation-session-reasoning.test.d.ts.map +0 -1
  1681. package/dist/services/session/conversation-session-reasoning.test.js +0 -67
  1682. package/dist/services/session/conversation-session-reasoning.test.js.map +0 -1
  1683. package/dist/services/session/conversation-session.auto-approval.test.d.ts +0 -2
  1684. package/dist/services/session/conversation-session.auto-approval.test.d.ts.map +0 -1
  1685. package/dist/services/session/conversation-session.auto-approval.test.js +0 -714
  1686. package/dist/services/session/conversation-session.auto-approval.test.js.map +0 -1
  1687. package/dist/services/session/conversation-session.characterization.test.d.ts +0 -2
  1688. package/dist/services/session/conversation-session.characterization.test.d.ts.map +0 -1
  1689. package/dist/services/session/conversation-session.characterization.test.js +0 -1266
  1690. package/dist/services/session/conversation-session.characterization.test.js.map +0 -1
  1691. package/dist/services/session/conversation-session.d.ts +0 -31
  1692. package/dist/services/session/conversation-session.d.ts.map +0 -1
  1693. package/dist/services/session/conversation-session.input-surge.test.d.ts +0 -2
  1694. package/dist/services/session/conversation-session.input-surge.test.d.ts.map +0 -1
  1695. package/dist/services/session/conversation-session.input-surge.test.js +0 -263
  1696. package/dist/services/session/conversation-session.input-surge.test.js.map +0 -1
  1697. package/dist/services/session/conversation-session.isolation.test.d.ts +0 -2
  1698. package/dist/services/session/conversation-session.isolation.test.d.ts.map +0 -1
  1699. package/dist/services/session/conversation-session.isolation.test.js +0 -290
  1700. package/dist/services/session/conversation-session.isolation.test.js.map +0 -1
  1701. package/dist/services/session/conversation-session.js +0 -33
  1702. package/dist/services/session/conversation-session.js.map +0 -1
  1703. package/dist/services/session/conversation-session.stream.test.d.ts +0 -2
  1704. package/dist/services/session/conversation-session.stream.test.d.ts.map +0 -1
  1705. package/dist/services/session/conversation-session.stream.test.js +0 -2150
  1706. package/dist/services/session/conversation-session.stream.test.js.map +0 -1
  1707. package/dist/services/session/conversation-session.tool-started.test.d.ts +0 -2
  1708. package/dist/services/session/conversation-session.tool-started.test.d.ts.map +0 -1
  1709. package/dist/services/session/conversation-session.tool-started.test.js +0 -244
  1710. package/dist/services/session/conversation-session.tool-started.test.js.map +0 -1
  1711. package/dist/services/session/initial-input-preparer.test.d.ts +0 -2
  1712. package/dist/services/session/initial-input-preparer.test.d.ts.map +0 -1
  1713. package/dist/services/session/initial-input-preparer.test.js +0 -113
  1714. package/dist/services/session/initial-input-preparer.test.js.map +0 -1
  1715. package/dist/services/session/initial-stream-cycle.d.ts +0 -44
  1716. package/dist/services/session/initial-stream-cycle.d.ts.map +0 -1
  1717. package/dist/services/session/initial-stream-cycle.js +0 -53
  1718. package/dist/services/session/initial-stream-cycle.js.map +0 -1
  1719. package/dist/services/session/initial-stream-cycle.test.d.ts +0 -2
  1720. package/dist/services/session/initial-stream-cycle.test.d.ts.map +0 -1
  1721. package/dist/services/session/initial-stream-cycle.test.js +0 -105
  1722. package/dist/services/session/initial-stream-cycle.test.js.map +0 -1
  1723. package/dist/services/session/initial-turn-recovery-handler.test.d.ts +0 -2
  1724. package/dist/services/session/initial-turn-recovery-handler.test.d.ts.map +0 -1
  1725. package/dist/services/session/initial-turn-recovery-handler.test.js +0 -91
  1726. package/dist/services/session/initial-turn-recovery-handler.test.js.map +0 -1
  1727. package/dist/services/session/initial-turn-runner.d.ts +0 -35
  1728. package/dist/services/session/initial-turn-runner.d.ts.map +0 -1
  1729. package/dist/services/session/initial-turn-runner.js +0 -169
  1730. package/dist/services/session/initial-turn-runner.js.map +0 -1
  1731. package/dist/services/session/initial-turn-runner.test.d.ts +0 -2
  1732. package/dist/services/session/initial-turn-runner.test.d.ts.map +0 -1
  1733. package/dist/services/session/initial-turn-runner.test.js +0 -384
  1734. package/dist/services/session/initial-turn-runner.test.js.map +0 -1
  1735. package/dist/services/session/session-adapter-bridge.d.ts +0 -12
  1736. package/dist/services/session/session-adapter-bridge.d.ts.map +0 -1
  1737. package/dist/services/session/session-adapter-bridge.js +0 -11
  1738. package/dist/services/session/session-adapter-bridge.js.map +0 -1
  1739. package/dist/services/session/session-composition.test.d.ts +0 -2
  1740. package/dist/services/session/session-composition.test.d.ts.map +0 -1
  1741. package/dist/services/session/session-composition.test.js +0 -200
  1742. package/dist/services/session/session-composition.test.js.map +0 -1
  1743. package/dist/services/session/session-context-service.test.d.ts +0 -2
  1744. package/dist/services/session/session-context-service.test.d.ts.map +0 -1
  1745. package/dist/services/session/session-context-service.test.js +0 -38
  1746. package/dist/services/session/session-context-service.test.js.map +0 -1
  1747. package/dist/services/session/session-factory.d.ts +0 -6
  1748. package/dist/services/session/session-factory.d.ts.map +0 -1
  1749. package/dist/services/session/session-factory.js +0 -6
  1750. package/dist/services/session/session-factory.js.map +0 -1
  1751. package/dist/services/session/session-factory.test.d.ts +0 -2
  1752. package/dist/services/session/session-factory.test.d.ts.map +0 -1
  1753. package/dist/services/session/session-factory.test.js +0 -198
  1754. package/dist/services/session/session-factory.test.js.map +0 -1
  1755. package/dist/services/session/session-lifecycle.test.d.ts +0 -2
  1756. package/dist/services/session/session-lifecycle.test.d.ts.map +0 -1
  1757. package/dist/services/session/session-lifecycle.test.js +0 -194
  1758. package/dist/services/session/session-lifecycle.test.js.map +0 -1
  1759. package/dist/services/session/session-manager.test.d.ts +0 -2
  1760. package/dist/services/session/session-manager.test.d.ts.map +0 -1
  1761. package/dist/services/session/session-manager.test.js +0 -37
  1762. package/dist/services/session/session-manager.test.js.map +0 -1
  1763. package/dist/services/session/session-stream-processor.test.d.ts +0 -2
  1764. package/dist/services/session/session-stream-processor.test.d.ts.map +0 -1
  1765. package/dist/services/session/session-stream-processor.test.js +0 -608
  1766. package/dist/services/session/session-stream-processor.test.js.map +0 -1
  1767. package/dist/services/session/session-tool-tracker.test.d.ts +0 -2
  1768. package/dist/services/session/session-tool-tracker.test.d.ts.map +0 -1
  1769. package/dist/services/session/session-tool-tracker.test.js +0 -54
  1770. package/dist/services/session/session-tool-tracker.test.js.map +0 -1
  1771. package/dist/services/session/terminal-result-collector.test.d.ts +0 -2
  1772. package/dist/services/session/terminal-result-collector.test.d.ts.map +0 -1
  1773. package/dist/services/session/terminal-result-collector.test.js +0 -240
  1774. package/dist/services/session/terminal-result-collector.test.js.map +0 -1
  1775. package/dist/services/session/turn-attempt-factory.test.d.ts +0 -2
  1776. package/dist/services/session/turn-attempt-factory.test.d.ts.map +0 -1
  1777. package/dist/services/session/turn-attempt-factory.test.js +0 -83
  1778. package/dist/services/session/turn-attempt-factory.test.js.map +0 -1
  1779. package/dist/services/session/turn-attempt.test.d.ts +0 -2
  1780. package/dist/services/session/turn-attempt.test.d.ts.map +0 -1
  1781. package/dist/services/session/turn-attempt.test.js +0 -167
  1782. package/dist/services/session/turn-attempt.test.js.map +0 -1
  1783. package/dist/services/session/turn-coordinator.test.d.ts +0 -2
  1784. package/dist/services/session/turn-coordinator.test.d.ts.map +0 -1
  1785. package/dist/services/session/turn-coordinator.test.js +0 -303
  1786. package/dist/services/session/turn-coordinator.test.js.map +0 -1
  1787. package/dist/services/session/turn-executor.d.ts +0 -28
  1788. package/dist/services/session/turn-executor.d.ts.map +0 -1
  1789. package/dist/services/session/turn-executor.js +0 -69
  1790. package/dist/services/session/turn-executor.js.map +0 -1
  1791. package/dist/services/session/turn-item-accumulator.test.d.ts +0 -2
  1792. package/dist/services/session/turn-item-accumulator.test.d.ts.map +0 -1
  1793. package/dist/services/session/turn-item-accumulator.test.js +0 -75
  1794. package/dist/services/session/turn-item-accumulator.test.js.map +0 -1
  1795. package/dist/services/session/turn-outcome-adapters.d.ts +0 -26
  1796. package/dist/services/session/turn-outcome-adapters.d.ts.map +0 -1
  1797. package/dist/services/session/turn-outcome-adapters.js +0 -45
  1798. package/dist/services/session/turn-outcome-adapters.js.map +0 -1
  1799. package/dist/services/session/turn-outcome-adapters.test.d.ts +0 -2
  1800. package/dist/services/session/turn-outcome-adapters.test.d.ts.map +0 -1
  1801. package/dist/services/session/turn-outcome-adapters.test.js +0 -101
  1802. package/dist/services/session/turn-outcome-adapters.test.js.map +0 -1
  1803. package/dist/services/session/turn-status-machine.test.d.ts +0 -2
  1804. package/dist/services/session/turn-status-machine.test.d.ts.map +0 -1
  1805. package/dist/services/session/turn-status-machine.test.js +0 -95
  1806. package/dist/services/session/turn-status-machine.test.js.map +0 -1
  1807. package/dist/services/session/turn-transition.d.ts +0 -57
  1808. package/dist/services/session/turn-transition.d.ts.map +0 -1
  1809. package/dist/services/session/turn-transition.js +0 -67
  1810. package/dist/services/session/turn-transition.js.map +0 -1
  1811. package/dist/services/session/turn-transition.test.d.ts +0 -2
  1812. package/dist/services/session/turn-transition.test.d.ts.map +0 -1
  1813. package/dist/services/session/turn-transition.test.js +0 -123
  1814. package/dist/services/session/turn-transition.test.js.map +0 -1
  1815. package/dist/services/session-context-service.d.ts +0 -8
  1816. package/dist/services/session-context-service.d.ts.map +0 -1
  1817. package/dist/services/session-context-service.js +0 -19
  1818. package/dist/services/session-context-service.js.map +0 -1
  1819. package/dist/services/session-context-service.test.d.ts +0 -2
  1820. package/dist/services/session-context-service.test.d.ts.map +0 -1
  1821. package/dist/services/session-context-service.test.js +0 -38
  1822. package/dist/services/session-context-service.test.js.map +0 -1
  1823. package/dist/services/session-input-planner.d.ts +0 -87
  1824. package/dist/services/session-input-planner.d.ts.map +0 -1
  1825. package/dist/services/session-input-planner.js +0 -183
  1826. package/dist/services/session-input-planner.js.map +0 -1
  1827. package/dist/services/session-lifecycle.d.ts +0 -84
  1828. package/dist/services/session-lifecycle.d.ts.map +0 -1
  1829. package/dist/services/session-lifecycle.js +0 -147
  1830. package/dist/services/session-lifecycle.js.map +0 -1
  1831. package/dist/services/session-lifecycle.test.d.ts +0 -2
  1832. package/dist/services/session-lifecycle.test.d.ts.map +0 -1
  1833. package/dist/services/session-lifecycle.test.js +0 -195
  1834. package/dist/services/session-lifecycle.test.js.map +0 -1
  1835. package/dist/services/session-manager.d.ts +0 -57
  1836. package/dist/services/session-manager.d.ts.map +0 -1
  1837. package/dist/services/session-manager.js +0 -87
  1838. package/dist/services/session-manager.js.map +0 -1
  1839. package/dist/services/session-manager.test.d.ts +0 -2
  1840. package/dist/services/session-manager.test.d.ts.map +0 -1
  1841. package/dist/services/session-manager.test.js +0 -38
  1842. package/dist/services/session-manager.test.js.map +0 -1
  1843. package/dist/services/session-retry-orchestrator.d.ts +0 -135
  1844. package/dist/services/session-retry-orchestrator.d.ts.map +0 -1
  1845. package/dist/services/session-retry-orchestrator.js +0 -297
  1846. package/dist/services/session-retry-orchestrator.js.map +0 -1
  1847. package/dist/services/session-runtime-controller.d.ts +0 -26
  1848. package/dist/services/session-runtime-controller.d.ts.map +0 -1
  1849. package/dist/services/session-runtime-controller.js +0 -46
  1850. package/dist/services/session-runtime-controller.js.map +0 -1
  1851. package/dist/services/session-state-controller.d.ts +0 -83
  1852. package/dist/services/session-state-controller.d.ts.map +0 -1
  1853. package/dist/services/session-state-controller.js +0 -149
  1854. package/dist/services/session-state-controller.js.map +0 -1
  1855. package/dist/services/session-state-controller.test.d.ts +0 -2
  1856. package/dist/services/session-state-controller.test.d.ts.map +0 -1
  1857. package/dist/services/session-state-controller.test.js +0 -125
  1858. package/dist/services/session-state-controller.test.js.map +0 -1
  1859. package/dist/services/session-state-facade.d.ts +0 -57
  1860. package/dist/services/session-state-facade.d.ts.map +0 -1
  1861. package/dist/services/session-state-facade.js +0 -87
  1862. package/dist/services/session-state-facade.js.map +0 -1
  1863. package/dist/services/session-stream-processor.d.ts +0 -47
  1864. package/dist/services/session-stream-processor.d.ts.map +0 -1
  1865. package/dist/services/session-stream-processor.js +0 -179
  1866. package/dist/services/session-stream-processor.js.map +0 -1
  1867. package/dist/services/session-stream-processor.test.d.ts +0 -2
  1868. package/dist/services/session-stream-processor.test.d.ts.map +0 -1
  1869. package/dist/services/session-stream-processor.test.js +0 -395
  1870. package/dist/services/session-stream-processor.test.js.map +0 -1
  1871. package/dist/services/session-tool-tracker.d.ts +0 -112
  1872. package/dist/services/session-tool-tracker.d.ts.map +0 -1
  1873. package/dist/services/session-tool-tracker.js +0 -220
  1874. package/dist/services/session-tool-tracker.js.map +0 -1
  1875. package/dist/services/settings/settings-env.test.d.ts +0 -2
  1876. package/dist/services/settings/settings-env.test.d.ts.map +0 -1
  1877. package/dist/services/settings/settings-env.test.js +0 -36
  1878. package/dist/services/settings/settings-env.test.js.map +0 -1
  1879. package/dist/services/settings/settings-merger.test.d.ts +0 -2
  1880. package/dist/services/settings/settings-merger.test.d.ts.map +0 -1
  1881. package/dist/services/settings/settings-merger.test.js +0 -26
  1882. package/dist/services/settings/settings-merger.test.js.map +0 -1
  1883. package/dist/services/settings/settings-persistence.test.d.ts +0 -2
  1884. package/dist/services/settings/settings-persistence.test.d.ts.map +0 -1
  1885. package/dist/services/settings/settings-persistence.test.js +0 -103
  1886. package/dist/services/settings/settings-persistence.test.js.map +0 -1
  1887. package/dist/services/settings/settings-schema.test.d.ts +0 -2
  1888. package/dist/services/settings/settings-schema.test.d.ts.map +0 -1
  1889. package/dist/services/settings/settings-schema.test.js +0 -123
  1890. package/dist/services/settings/settings-schema.test.js.map +0 -1
  1891. package/dist/services/settings/settings-service.test.d.ts +0 -2
  1892. package/dist/services/settings/settings-service.test.d.ts.map +0 -1
  1893. package/dist/services/settings/settings-service.test.js +0 -924
  1894. package/dist/services/settings/settings-service.test.js.map +0 -1
  1895. package/dist/services/settings/settings-sources.test.d.ts +0 -2
  1896. package/dist/services/settings/settings-sources.test.d.ts.map +0 -1
  1897. package/dist/services/settings/settings-sources.test.js +0 -40
  1898. package/dist/services/settings/settings-sources.test.js.map +0 -1
  1899. package/dist/services/settings-env.d.ts +0 -9
  1900. package/dist/services/settings-env.d.ts.map +0 -1
  1901. package/dist/services/settings-env.js +0 -81
  1902. package/dist/services/settings-env.js.map +0 -1
  1903. package/dist/services/settings-env.test.d.ts +0 -2
  1904. package/dist/services/settings-env.test.d.ts.map +0 -1
  1905. package/dist/services/settings-env.test.js +0 -32
  1906. package/dist/services/settings-env.test.js.map +0 -1
  1907. package/dist/services/settings-merger.d.ts +0 -26
  1908. package/dist/services/settings-merger.d.ts.map +0 -1
  1909. package/dist/services/settings-merger.js +0 -124
  1910. package/dist/services/settings-merger.js.map +0 -1
  1911. package/dist/services/settings-merger.test.d.ts +0 -2
  1912. package/dist/services/settings-merger.test.d.ts.map +0 -1
  1913. package/dist/services/settings-merger.test.js +0 -26
  1914. package/dist/services/settings-merger.test.js.map +0 -1
  1915. package/dist/services/settings-persistence.d.ts +0 -33
  1916. package/dist/services/settings-persistence.d.ts.map +0 -1
  1917. package/dist/services/settings-persistence.js +0 -156
  1918. package/dist/services/settings-persistence.js.map +0 -1
  1919. package/dist/services/settings-persistence.test.d.ts +0 -2
  1920. package/dist/services/settings-persistence.test.d.ts.map +0 -1
  1921. package/dist/services/settings-persistence.test.js +0 -103
  1922. package/dist/services/settings-persistence.test.js.map +0 -1
  1923. package/dist/services/settings-schema.d.ts +0 -555
  1924. package/dist/services/settings-schema.d.ts.map +0 -1
  1925. package/dist/services/settings-schema.js +0 -502
  1926. package/dist/services/settings-schema.js.map +0 -1
  1927. package/dist/services/settings-schema.test.d.ts +0 -2
  1928. package/dist/services/settings-schema.test.d.ts.map +0 -1
  1929. package/dist/services/settings-schema.test.js +0 -127
  1930. package/dist/services/settings-schema.test.js.map +0 -1
  1931. package/dist/services/settings-service.d.ts +0 -93
  1932. package/dist/services/settings-service.d.ts.map +0 -1
  1933. package/dist/services/settings-service.js +0 -449
  1934. package/dist/services/settings-service.js.map +0 -1
  1935. package/dist/services/settings-service.mock.d.ts +0 -20
  1936. package/dist/services/settings-service.mock.d.ts.map +0 -1
  1937. package/dist/services/settings-service.mock.js +0 -55
  1938. package/dist/services/settings-service.mock.js.map +0 -1
  1939. package/dist/services/settings-service.test.d.ts +0 -2
  1940. package/dist/services/settings-service.test.d.ts.map +0 -1
  1941. package/dist/services/settings-service.test.js +0 -929
  1942. package/dist/services/settings-service.test.js.map +0 -1
  1943. package/dist/services/settings-sources.d.ts +0 -5
  1944. package/dist/services/settings-sources.d.ts.map +0 -1
  1945. package/dist/services/settings-sources.js +0 -97
  1946. package/dist/services/settings-sources.js.map +0 -1
  1947. package/dist/services/settings-sources.test.d.ts +0 -2
  1948. package/dist/services/settings-sources.test.d.ts.map +0 -1
  1949. package/dist/services/settings-sources.test.js +0 -40
  1950. package/dist/services/settings-sources.test.js.map +0 -1
  1951. package/dist/services/shell-auto-approval-evaluator.d.ts +0 -25
  1952. package/dist/services/shell-auto-approval-evaluator.d.ts.map +0 -1
  1953. package/dist/services/shell-auto-approval-evaluator.js +0 -401
  1954. package/dist/services/shell-auto-approval-evaluator.js.map +0 -1
  1955. package/dist/services/shell-auto-approval-evaluator.test.d.ts +0 -2
  1956. package/dist/services/shell-auto-approval-evaluator.test.d.ts.map +0 -1
  1957. package/dist/services/shell-auto-approval-evaluator.test.js +0 -437
  1958. package/dist/services/shell-auto-approval-evaluator.test.js.map +0 -1
  1959. package/dist/services/shell-auto-approval-resolver.d.ts +0 -25
  1960. package/dist/services/shell-auto-approval-resolver.d.ts.map +0 -1
  1961. package/dist/services/shell-auto-approval-resolver.js +0 -61
  1962. package/dist/services/shell-auto-approval-resolver.js.map +0 -1
  1963. package/dist/services/shell-auto-approval-resolver.test.d.ts +0 -2
  1964. package/dist/services/shell-auto-approval-resolver.test.d.ts.map +0 -1
  1965. package/dist/services/shell-auto-approval-resolver.test.js +0 -120
  1966. package/dist/services/shell-auto-approval-resolver.test.js.map +0 -1
  1967. package/dist/services/singleton-deprecation.test.d.ts +0 -2
  1968. package/dist/services/singleton-deprecation.test.d.ts.map +0 -1
  1969. package/dist/services/singleton-deprecation.test.js +0 -59
  1970. package/dist/services/singleton-deprecation.test.js.map +0 -1
  1971. package/dist/services/skills/skills-service.test.d.ts +0 -2
  1972. package/dist/services/skills/skills-service.test.d.ts.map +0 -1
  1973. package/dist/services/skills/skills-service.test.js +0 -187
  1974. package/dist/services/skills/skills-service.test.js.map +0 -1
  1975. package/dist/services/ssh-service.test.d.ts +0 -2
  1976. package/dist/services/ssh-service.test.d.ts.map +0 -1
  1977. package/dist/services/ssh-service.test.js +0 -261
  1978. package/dist/services/ssh-service.test.js.map +0 -1
  1979. package/dist/services/stream-event-parsing.test.d.ts +0 -2
  1980. package/dist/services/stream-event-parsing.test.d.ts.map +0 -1
  1981. package/dist/services/stream-event-parsing.test.js +0 -79
  1982. package/dist/services/stream-event-parsing.test.js.map +0 -1
  1983. package/dist/services/stream-event-processor.test.d.ts +0 -2
  1984. package/dist/services/stream-event-processor.test.d.ts.map +0 -1
  1985. package/dist/services/stream-event-processor.test.js +0 -911
  1986. package/dist/services/stream-event-processor.test.js.map +0 -1
  1987. package/dist/services/subagents/nested-runner.test.d.ts +0 -2
  1988. package/dist/services/subagents/nested-runner.test.d.ts.map +0 -1
  1989. package/dist/services/subagents/nested-runner.test.js +0 -560
  1990. package/dist/services/subagents/nested-runner.test.js.map +0 -1
  1991. package/dist/services/subagents/subagent-manager.test.d.ts +0 -2
  1992. package/dist/services/subagents/subagent-manager.test.d.ts.map +0 -1
  1993. package/dist/services/subagents/subagent-manager.test.js +0 -1949
  1994. package/dist/services/subagents/subagent-manager.test.js.map +0 -1
  1995. package/dist/services/subagents/subagent-session.test.d.ts +0 -2
  1996. package/dist/services/subagents/subagent-session.test.d.ts.map +0 -1
  1997. package/dist/services/subagents/subagent-session.test.js +0 -118
  1998. package/dist/services/subagents/subagent-session.test.js.map +0 -1
  1999. package/dist/services/terminal-result-collector.d.ts +0 -12
  2000. package/dist/services/terminal-result-collector.d.ts.map +0 -1
  2001. package/dist/services/terminal-result-collector.js +0 -139
  2002. package/dist/services/terminal-result-collector.js.map +0 -1
  2003. package/dist/services/terminal-result-collector.test.d.ts +0 -2
  2004. package/dist/services/terminal-result-collector.test.d.ts.map +0 -1
  2005. package/dist/services/terminal-result-collector.test.js +0 -240
  2006. package/dist/services/terminal-result-collector.test.js.map +0 -1
  2007. package/dist/services/tool-execution-ledger.test.d.ts +0 -2
  2008. package/dist/services/tool-execution-ledger.test.d.ts.map +0 -1
  2009. package/dist/services/tool-execution-ledger.test.js +0 -376
  2010. package/dist/services/tool-execution-ledger.test.js.map +0 -1
  2011. package/dist/services/turn-attempt.d.ts +0 -38
  2012. package/dist/services/turn-attempt.d.ts.map +0 -1
  2013. package/dist/services/turn-attempt.js +0 -99
  2014. package/dist/services/turn-attempt.js.map +0 -1
  2015. package/dist/services/turn-attempt.test.d.ts +0 -2
  2016. package/dist/services/turn-attempt.test.d.ts.map +0 -1
  2017. package/dist/services/turn-attempt.test.js +0 -167
  2018. package/dist/services/turn-attempt.test.js.map +0 -1
  2019. package/dist/services/turn-coordinator.d.ts +0 -30
  2020. package/dist/services/turn-coordinator.d.ts.map +0 -1
  2021. package/dist/services/turn-coordinator.js +0 -121
  2022. package/dist/services/turn-coordinator.js.map +0 -1
  2023. package/dist/services/turn-coordinator.test.d.ts +0 -2
  2024. package/dist/services/turn-coordinator.test.d.ts.map +0 -1
  2025. package/dist/services/turn-coordinator.test.js +0 -231
  2026. package/dist/services/turn-coordinator.test.js.map +0 -1
  2027. package/dist/services/turn-execution-orchestrator.d.ts +0 -79
  2028. package/dist/services/turn-execution-orchestrator.d.ts.map +0 -1
  2029. package/dist/services/turn-execution-orchestrator.js +0 -687
  2030. package/dist/services/turn-execution-orchestrator.js.map +0 -1
  2031. package/dist/services/turn-execution-orchestrator.test.d.ts +0 -2
  2032. package/dist/services/turn-execution-orchestrator.test.d.ts.map +0 -1
  2033. package/dist/services/turn-execution-orchestrator.test.js +0 -236
  2034. package/dist/services/turn-execution-orchestrator.test.js.map +0 -1
  2035. package/dist/services/turn-item-accumulator.d.ts +0 -21
  2036. package/dist/services/turn-item-accumulator.d.ts.map +0 -1
  2037. package/dist/services/turn-item-accumulator.js +0 -56
  2038. package/dist/services/turn-item-accumulator.js.map +0 -1
  2039. package/dist/services/turn-item-accumulator.test.d.ts +0 -2
  2040. package/dist/services/turn-item-accumulator.test.d.ts.map +0 -1
  2041. package/dist/services/turn-item-accumulator.test.js +0 -75
  2042. package/dist/services/turn-item-accumulator.test.js.map +0 -1
  2043. package/dist/services/turn-status-machine.d.ts +0 -25
  2044. package/dist/services/turn-status-machine.d.ts.map +0 -1
  2045. package/dist/services/turn-status-machine.js +0 -49
  2046. package/dist/services/turn-status-machine.js.map +0 -1
  2047. package/dist/services/turn-status-machine.test.d.ts +0 -2
  2048. package/dist/services/turn-status-machine.test.d.ts.map +0 -1
  2049. package/dist/services/turn-status-machine.test.js +0 -95
  2050. package/dist/services/turn-status-machine.test.js.map +0 -1
  2051. package/dist/services/upstream-retry-policy.d.ts +0 -15
  2052. package/dist/services/upstream-retry-policy.d.ts.map +0 -1
  2053. package/dist/services/upstream-retry-policy.js +0 -121
  2054. package/dist/services/upstream-retry-policy.js.map +0 -1
  2055. package/dist/services/upstream-retry-policy.test.d.ts +0 -2
  2056. package/dist/services/upstream-retry-policy.test.d.ts.map +0 -1
  2057. package/dist/services/upstream-retry-policy.test.js +0 -93
  2058. package/dist/services/upstream-retry-policy.test.js.map +0 -1
  2059. package/dist/slash-commands.test.d.ts +0 -2
  2060. package/dist/slash-commands.test.d.ts.map +0 -1
  2061. package/dist/slash-commands.test.js +0 -22
  2062. package/dist/slash-commands.test.js.map +0 -1
  2063. package/dist/test-helpers/ink-testing.test.d.ts +0 -2
  2064. package/dist/test-helpers/ink-testing.test.d.ts.map +0 -1
  2065. package/dist/test-helpers/ink-testing.test.js +0 -35
  2066. package/dist/test-helpers/ink-testing.test.js.map +0 -1
  2067. package/dist/tools/agent/ask-mentor.test.d.ts +0 -2
  2068. package/dist/tools/agent/ask-mentor.test.d.ts.map +0 -1
  2069. package/dist/tools/agent/ask-mentor.test.js +0 -53
  2070. package/dist/tools/agent/ask-mentor.test.js.map +0 -1
  2071. package/dist/tools/agent/ask-user.test.d.ts +0 -2
  2072. package/dist/tools/agent/ask-user.test.d.ts.map +0 -1
  2073. package/dist/tools/agent/ask-user.test.js +0 -192
  2074. package/dist/tools/agent/ask-user.test.js.map +0 -1
  2075. package/dist/tools/agent/run-subagent.test.d.ts +0 -2
  2076. package/dist/tools/agent/run-subagent.test.d.ts.map +0 -1
  2077. package/dist/tools/agent/run-subagent.test.js +0 -189
  2078. package/dist/tools/agent/run-subagent.test.js.map +0 -1
  2079. package/dist/tools/apply-patch.d.ts +0 -44
  2080. package/dist/tools/apply-patch.d.ts.map +0 -1
  2081. package/dist/tools/apply-patch.js +0 -574
  2082. package/dist/tools/apply-patch.js.map +0 -1
  2083. package/dist/tools/apply-patch.test.d.ts +0 -2
  2084. package/dist/tools/apply-patch.test.d.ts.map +0 -1
  2085. package/dist/tools/apply-patch.test.js +0 -292
  2086. package/dist/tools/apply-patch.test.js.map +0 -1
  2087. package/dist/tools/ask-mentor.d.ts +0 -11
  2088. package/dist/tools/ask-mentor.d.ts.map +0 -1
  2089. package/dist/tools/ask-mentor.js +0 -43
  2090. package/dist/tools/ask-mentor.js.map +0 -1
  2091. package/dist/tools/ask-mentor.test.d.ts +0 -2
  2092. package/dist/tools/ask-mentor.test.d.ts.map +0 -1
  2093. package/dist/tools/ask-mentor.test.js +0 -53
  2094. package/dist/tools/ask-mentor.test.js.map +0 -1
  2095. package/dist/tools/ask-user-constants.d.ts +0 -7
  2096. package/dist/tools/ask-user-constants.d.ts.map +0 -1
  2097. package/dist/tools/ask-user-constants.js +0 -7
  2098. package/dist/tools/ask-user-constants.js.map +0 -1
  2099. package/dist/tools/ask-user.d.ts +0 -14
  2100. package/dist/tools/ask-user.d.ts.map +0 -1
  2101. package/dist/tools/ask-user.js +0 -107
  2102. package/dist/tools/ask-user.js.map +0 -1
  2103. package/dist/tools/ask-user.test.d.ts +0 -2
  2104. package/dist/tools/ask-user.test.d.ts.map +0 -1
  2105. package/dist/tools/ask-user.test.js +0 -192
  2106. package/dist/tools/ask-user.test.js.map +0 -1
  2107. package/dist/tools/code-context.d.ts +0 -27
  2108. package/dist/tools/code-context.d.ts.map +0 -1
  2109. package/dist/tools/code-context.js +0 -512
  2110. package/dist/tools/code-context.js.map +0 -1
  2111. package/dist/tools/code-context.test.d.ts +0 -2
  2112. package/dist/tools/code-context.test.d.ts.map +0 -1
  2113. package/dist/tools/code-context.test.js +0 -646
  2114. package/dist/tools/code-context.test.js.map +0 -1
  2115. package/dist/tools/command-message-formatters.test.d.ts +0 -2
  2116. package/dist/tools/command-message-formatters.test.d.ts.map +0 -1
  2117. package/dist/tools/command-message-formatters.test.js +0 -23
  2118. package/dist/tools/command-message-formatters.test.js.map +0 -1
  2119. package/dist/tools/create-file.d.ts +0 -17
  2120. package/dist/tools/create-file.d.ts.map +0 -1
  2121. package/dist/tools/create-file.js +0 -106
  2122. package/dist/tools/create-file.js.map +0 -1
  2123. package/dist/tools/create-file.test.d.ts +0 -2
  2124. package/dist/tools/create-file.test.d.ts.map +0 -1
  2125. package/dist/tools/create-file.test.js +0 -129
  2126. package/dist/tools/create-file.test.js.map +0 -1
  2127. package/dist/tools/edit-healing.d.ts +0 -25
  2128. package/dist/tools/edit-healing.d.ts.map +0 -1
  2129. package/dist/tools/edit-healing.js +0 -270
  2130. package/dist/tools/edit-healing.js.map +0 -1
  2131. package/dist/tools/edit-healing.test.d.ts +0 -2
  2132. package/dist/tools/edit-healing.test.d.ts.map +0 -1
  2133. package/dist/tools/edit-healing.test.js +0 -117
  2134. package/dist/tools/edit-healing.test.js.map +0 -1
  2135. package/dist/tools/file/apply-patch.test.d.ts +0 -2
  2136. package/dist/tools/file/apply-patch.test.d.ts.map +0 -1
  2137. package/dist/tools/file/apply-patch.test.js +0 -307
  2138. package/dist/tools/file/apply-patch.test.js.map +0 -1
  2139. package/dist/tools/file/create-file.test.d.ts +0 -2
  2140. package/dist/tools/file/create-file.test.d.ts.map +0 -1
  2141. package/dist/tools/file/create-file.test.js +0 -386
  2142. package/dist/tools/file/create-file.test.js.map +0 -1
  2143. package/dist/tools/file/edit-healing.test.d.ts +0 -2
  2144. package/dist/tools/file/edit-healing.test.d.ts.map +0 -1
  2145. package/dist/tools/file/edit-healing.test.js +0 -117
  2146. package/dist/tools/file/edit-healing.test.js.map +0 -1
  2147. package/dist/tools/file/find-files.d.ts +0 -18
  2148. package/dist/tools/file/find-files.d.ts.map +0 -1
  2149. package/dist/tools/file/find-files.js +0 -201
  2150. package/dist/tools/file/find-files.js.map +0 -1
  2151. package/dist/tools/file/find-files.test.d.ts +0 -2
  2152. package/dist/tools/file/find-files.test.d.ts.map +0 -1
  2153. package/dist/tools/file/find-files.test.js +0 -193
  2154. package/dist/tools/file/find-files.test.js.map +0 -1
  2155. package/dist/tools/file/read-file.test.d.ts +0 -2
  2156. package/dist/tools/file/read-file.test.d.ts.map +0 -1
  2157. package/dist/tools/file/read-file.test.js +0 -166
  2158. package/dist/tools/file/read-file.test.js.map +0 -1
  2159. package/dist/tools/file/search-replace.test.d.ts +0 -2
  2160. package/dist/tools/file/search-replace.test.d.ts.map +0 -1
  2161. package/dist/tools/file/search-replace.test.js +0 -1282
  2162. package/dist/tools/file/search-replace.test.js.map +0 -1
  2163. package/dist/tools/file-locks.d.ts +0 -3
  2164. package/dist/tools/file-locks.d.ts.map +0 -1
  2165. package/dist/tools/file-locks.js +0 -37
  2166. package/dist/tools/file-locks.js.map +0 -1
  2167. package/dist/tools/find-files.d.ts +0 -18
  2168. package/dist/tools/find-files.d.ts.map +0 -1
  2169. package/dist/tools/find-files.js +0 -170
  2170. package/dist/tools/find-files.js.map +0 -1
  2171. package/dist/tools/find-files.test.d.ts +0 -2
  2172. package/dist/tools/find-files.test.d.ts.map +0 -1
  2173. package/dist/tools/find-files.test.js +0 -193
  2174. package/dist/tools/find-files.test.js.map +0 -1
  2175. package/dist/tools/format-helpers.test.d.ts +0 -2
  2176. package/dist/tools/format-helpers.test.d.ts.map +0 -1
  2177. package/dist/tools/format-helpers.test.js +0 -51
  2178. package/dist/tools/format-helpers.test.js.map +0 -1
  2179. package/dist/tools/grep.d.ts +0 -23
  2180. package/dist/tools/grep.d.ts.map +0 -1
  2181. package/dist/tools/grep.js +0 -240
  2182. package/dist/tools/grep.js.map +0 -1
  2183. package/dist/tools/grep.test.d.ts +0 -2
  2184. package/dist/tools/grep.test.d.ts.map +0 -1
  2185. package/dist/tools/grep.test.js +0 -146
  2186. package/dist/tools/grep.test.js.map +0 -1
  2187. package/dist/tools/language-providers.d.ts +0 -48
  2188. package/dist/tools/language-providers.d.ts.map +0 -1
  2189. package/dist/tools/language-providers.js +0 -623
  2190. package/dist/tools/language-providers.js.map +0 -1
  2191. package/dist/tools/read-file.d.ts +0 -17
  2192. package/dist/tools/read-file.d.ts.map +0 -1
  2193. package/dist/tools/read-file.js +0 -117
  2194. package/dist/tools/read-file.js.map +0 -1
  2195. package/dist/tools/read-file.test.d.ts +0 -2
  2196. package/dist/tools/read-file.test.d.ts.map +0 -1
  2197. package/dist/tools/read-file.test.js +0 -166
  2198. package/dist/tools/read-file.test.js.map +0 -1
  2199. package/dist/tools/run-subagent.d.ts +0 -18
  2200. package/dist/tools/run-subagent.d.ts.map +0 -1
  2201. package/dist/tools/run-subagent.js +0 -194
  2202. package/dist/tools/run-subagent.js.map +0 -1
  2203. package/dist/tools/run-subagent.test.d.ts +0 -2
  2204. package/dist/tools/run-subagent.test.d.ts.map +0 -1
  2205. package/dist/tools/run-subagent.test.js +0 -189
  2206. package/dist/tools/run-subagent.test.js.map +0 -1
  2207. package/dist/tools/search-replace.d.ts +0 -32
  2208. package/dist/tools/search-replace.d.ts.map +0 -1
  2209. package/dist/tools/search-replace.js +0 -804
  2210. package/dist/tools/search-replace.js.map +0 -1
  2211. package/dist/tools/search-replace.test.d.ts +0 -2
  2212. package/dist/tools/search-replace.test.d.ts.map +0 -1
  2213. package/dist/tools/search-replace.test.js +0 -979
  2214. package/dist/tools/search-replace.test.js.map +0 -1
  2215. package/dist/tools/search.d.ts +0 -15
  2216. package/dist/tools/search.d.ts.map +0 -1
  2217. package/dist/tools/search.js +0 -120
  2218. package/dist/tools/search.js.map +0 -1
  2219. package/dist/tools/shell-and-grep-formatters.test.d.ts +0 -2
  2220. package/dist/tools/shell-and-grep-formatters.test.d.ts.map +0 -1
  2221. package/dist/tools/shell-and-grep-formatters.test.js +0 -25
  2222. package/dist/tools/shell-and-grep-formatters.test.js.map +0 -1
  2223. package/dist/tools/shell.d.ts +0 -22
  2224. package/dist/tools/shell.d.ts.map +0 -1
  2225. package/dist/tools/shell.js +0 -279
  2226. package/dist/tools/shell.js.map +0 -1
  2227. package/dist/tools/shell.test.d.ts +0 -2
  2228. package/dist/tools/shell.test.d.ts.map +0 -1
  2229. package/dist/tools/shell.test.js +0 -271
  2230. package/dist/tools/shell.test.js.map +0 -1
  2231. package/dist/tools/system/code-context.d.ts +0 -27
  2232. package/dist/tools/system/code-context.d.ts.map +0 -1
  2233. package/dist/tools/system/code-context.js +0 -542
  2234. package/dist/tools/system/code-context.js.map +0 -1
  2235. package/dist/tools/system/code-context.test.d.ts +0 -2
  2236. package/dist/tools/system/code-context.test.d.ts.map +0 -1
  2237. package/dist/tools/system/code-context.test.js +0 -646
  2238. package/dist/tools/system/code-context.test.js.map +0 -1
  2239. package/dist/tools/system/grep.d.ts +0 -21
  2240. package/dist/tools/system/grep.d.ts.map +0 -1
  2241. package/dist/tools/system/grep.js +0 -279
  2242. package/dist/tools/system/grep.js.map +0 -1
  2243. package/dist/tools/system/grep.test.d.ts +0 -2
  2244. package/dist/tools/system/grep.test.d.ts.map +0 -1
  2245. package/dist/tools/system/grep.test.js +0 -146
  2246. package/dist/tools/system/grep.test.js.map +0 -1
  2247. package/dist/tools/system/shell.test.d.ts +0 -2
  2248. package/dist/tools/system/shell.test.d.ts.map +0 -1
  2249. package/dist/tools/system/shell.test.js +0 -300
  2250. package/dist/tools/system/shell.test.js.map +0 -1
  2251. package/dist/tools/tool-execution-context.d.ts +0 -7
  2252. package/dist/tools/tool-execution-context.d.ts.map +0 -1
  2253. package/dist/tools/tool-execution-context.js +0 -7
  2254. package/dist/tools/tool-execution-context.js.map +0 -1
  2255. package/dist/tools/tool-names.test.d.ts +0 -2
  2256. package/dist/tools/tool-names.test.d.ts.map +0 -1
  2257. package/dist/tools/tool-names.test.js +0 -10
  2258. package/dist/tools/tool-names.test.js.map +0 -1
  2259. package/dist/tools/tool-parameter-schema.test.d.ts +0 -2
  2260. package/dist/tools/tool-parameter-schema.test.d.ts.map +0 -1
  2261. package/dist/tools/tool-parameter-schema.test.js +0 -112
  2262. package/dist/tools/tool-parameter-schema.test.js.map +0 -1
  2263. package/dist/tools/utils.test.d.ts +0 -2
  2264. package/dist/tools/utils.test.d.ts.map +0 -1
  2265. package/dist/tools/utils.test.js +0 -39
  2266. package/dist/tools/utils.test.js.map +0 -1
  2267. package/dist/tools/web/web-fetch.test.d.ts +0 -2
  2268. package/dist/tools/web/web-fetch.test.d.ts.map +0 -1
  2269. package/dist/tools/web/web-fetch.test.js +0 -158
  2270. package/dist/tools/web/web-fetch.test.js.map +0 -1
  2271. package/dist/tools/web/web-search.test.d.ts +0 -2
  2272. package/dist/tools/web/web-search.test.d.ts.map +0 -1
  2273. package/dist/tools/web/web-search.test.js +0 -174
  2274. package/dist/tools/web/web-search.test.js.map +0 -1
  2275. package/dist/tools/web-fetch.d.ts +0 -20
  2276. package/dist/tools/web-fetch.d.ts.map +0 -1
  2277. package/dist/tools/web-fetch.js +0 -109
  2278. package/dist/tools/web-fetch.js.map +0 -1
  2279. package/dist/tools/web-fetch.test.d.ts +0 -2
  2280. package/dist/tools/web-fetch.test.d.ts.map +0 -1
  2281. package/dist/tools/web-fetch.test.js +0 -158
  2282. package/dist/tools/web-fetch.test.js.map +0 -1
  2283. package/dist/tools/web-search.d.ts +0 -29
  2284. package/dist/tools/web-search.d.ts.map +0 -1
  2285. package/dist/tools/web-search.js +0 -102
  2286. package/dist/tools/web-search.js.map +0 -1
  2287. package/dist/tools/web-search.test.d.ts +0 -2
  2288. package/dist/tools/web-search.test.d.ts.map +0 -1
  2289. package/dist/tools/web-search.test.js +0 -174
  2290. package/dist/tools/web-search.test.js.map +0 -1
  2291. package/dist/types/user-turn.test.d.ts +0 -2
  2292. package/dist/types/user-turn.test.d.ts.map +0 -1
  2293. package/dist/types/user-turn.test.js +0 -86
  2294. package/dist/types/user-turn.test.js.map +0 -1
  2295. package/dist/utils/ai/flex-service-tier.d.ts +0 -2
  2296. package/dist/utils/ai/flex-service-tier.d.ts.map +0 -1
  2297. package/dist/utils/ai/flex-service-tier.js +0 -20
  2298. package/dist/utils/ai/flex-service-tier.js.map +0 -1
  2299. package/dist/utils/ai/flex-service-tier.test.d.ts +0 -2
  2300. package/dist/utils/ai/flex-service-tier.test.d.ts.map +0 -1
  2301. package/dist/utils/ai/flex-service-tier.test.js +0 -25
  2302. package/dist/utils/ai/flex-service-tier.test.js.map +0 -1
  2303. package/dist/utils/ai/model-provider-arg.test.d.ts +0 -2
  2304. package/dist/utils/ai/model-provider-arg.test.d.ts.map +0 -1
  2305. package/dist/utils/ai/model-provider-arg.test.js +0 -21
  2306. package/dist/utils/ai/model-provider-arg.test.js.map +0 -1
  2307. package/dist/utils/ai/provider-traffic-extractor.test.d.ts +0 -2
  2308. package/dist/utils/ai/provider-traffic-extractor.test.d.ts.map +0 -1
  2309. package/dist/utils/ai/provider-traffic-extractor.test.js +0 -88
  2310. package/dist/utils/ai/provider-traffic-extractor.test.js.map +0 -1
  2311. package/dist/utils/ai/token-usage.test.d.ts +0 -2
  2312. package/dist/utils/ai/token-usage.test.d.ts.map +0 -1
  2313. package/dist/utils/ai/token-usage.test.js +0 -277
  2314. package/dist/utils/ai/token-usage.test.js.map +0 -1
  2315. package/dist/utils/clipboard.test.d.ts +0 -2
  2316. package/dist/utils/clipboard.test.d.ts.map +0 -1
  2317. package/dist/utils/clipboard.test.js +0 -222
  2318. package/dist/utils/clipboard.test.js.map +0 -1
  2319. package/dist/utils/command-logger.d.ts +0 -11
  2320. package/dist/utils/command-logger.d.ts.map +0 -1
  2321. package/dist/utils/command-logger.js +0 -34
  2322. package/dist/utils/command-logger.js.map +0 -1
  2323. package/dist/utils/command-logger.test.d.ts +0 -2
  2324. package/dist/utils/command-logger.test.d.ts.map +0 -1
  2325. package/dist/utils/command-logger.test.js +0 -32
  2326. package/dist/utils/command-logger.test.js.map +0 -1
  2327. package/dist/utils/command-safety/_scratch-classify.test.d.ts +0 -2
  2328. package/dist/utils/command-safety/_scratch-classify.test.d.ts.map +0 -1
  2329. package/dist/utils/command-safety/_scratch-classify.test.js +0 -22
  2330. package/dist/utils/command-safety/_scratch-classify.test.js.map +0 -1
  2331. package/dist/utils/command-safety/constants.d.ts +0 -21
  2332. package/dist/utils/command-safety/constants.d.ts.map +0 -1
  2333. package/dist/utils/command-safety/constants.js +0 -265
  2334. package/dist/utils/command-safety/constants.js.map +0 -1
  2335. package/dist/utils/command-safety/find-helpers.d.ts +0 -15
  2336. package/dist/utils/command-safety/find-helpers.d.ts.map +0 -1
  2337. package/dist/utils/command-safety/find-helpers.js +0 -131
  2338. package/dist/utils/command-safety/find-helpers.js.map +0 -1
  2339. package/dist/utils/command-safety/handlers/find-handler.d.ts +0 -6
  2340. package/dist/utils/command-safety/handlers/find-handler.d.ts.map +0 -1
  2341. package/dist/utils/command-safety/handlers/find-handler.js +0 -106
  2342. package/dist/utils/command-safety/handlers/find-handler.js.map +0 -1
  2343. package/dist/utils/command-safety/handlers/git-handler.d.ts +0 -6
  2344. package/dist/utils/command-safety/handlers/git-handler.d.ts.map +0 -1
  2345. package/dist/utils/command-safety/handlers/git-handler.js +0 -92
  2346. package/dist/utils/command-safety/handlers/git-handler.js.map +0 -1
  2347. package/dist/utils/command-safety/handlers/index.d.ts +0 -13
  2348. package/dist/utils/command-safety/handlers/index.d.ts.map +0 -1
  2349. package/dist/utils/command-safety/handlers/index.js +0 -20
  2350. package/dist/utils/command-safety/handlers/index.js.map +0 -1
  2351. package/dist/utils/command-safety/handlers/sed-handler.d.ts +0 -6
  2352. package/dist/utils/command-safety/handlers/sed-handler.d.ts.map +0 -1
  2353. package/dist/utils/command-safety/handlers/sed-handler.js +0 -95
  2354. package/dist/utils/command-safety/handlers/sed-handler.js.map +0 -1
  2355. package/dist/utils/command-safety/handlers/types.d.ts +0 -36
  2356. package/dist/utils/command-safety/handlers/types.d.ts.map +0 -1
  2357. package/dist/utils/command-safety/handlers/types.js.map +0 -1
  2358. package/dist/utils/command-safety/index.d.ts +0 -23
  2359. package/dist/utils/command-safety/index.d.ts.map +0 -1
  2360. package/dist/utils/command-safety/index.js +0 -227
  2361. package/dist/utils/command-safety/index.js.map +0 -1
  2362. package/dist/utils/command-safety/path-analysis.d.ts +0 -4
  2363. package/dist/utils/command-safety/path-analysis.d.ts.map +0 -1
  2364. package/dist/utils/command-safety/path-analysis.js +0 -269
  2365. package/dist/utils/command-safety/path-analysis.js.map +0 -1
  2366. package/dist/utils/command-safety/scratch-classify.test.d.ts +0 -2
  2367. package/dist/utils/command-safety/scratch-classify.test.d.ts.map +0 -1
  2368. package/dist/utils/command-safety/scratch-classify.test.js +0 -22
  2369. package/dist/utils/command-safety/scratch-classify.test.js.map +0 -1
  2370. package/dist/utils/command-safety/scratch-tally.test.d.ts +0 -2
  2371. package/dist/utils/command-safety/scratch-tally.test.d.ts.map +0 -1
  2372. package/dist/utils/command-safety/scratch-tally.test.js +0 -68
  2373. package/dist/utils/command-safety/scratch-tally.test.js.map +0 -1
  2374. package/dist/utils/command-safety/utils.d.ts +0 -2
  2375. package/dist/utils/command-safety/utils.d.ts.map +0 -1
  2376. package/dist/utils/command-safety/utils.js +0 -20
  2377. package/dist/utils/command-safety/utils.js.map +0 -1
  2378. package/dist/utils/command-safety.evaluator-false-positives.test.d.ts +0 -2
  2379. package/dist/utils/command-safety.evaluator-false-positives.test.d.ts.map +0 -1
  2380. package/dist/utils/command-safety.evaluator-false-positives.test.js +0 -72
  2381. package/dist/utils/command-safety.evaluator-false-positives.test.js.map +0 -1
  2382. package/dist/utils/command-safety.find.test.d.ts +0 -2
  2383. package/dist/utils/command-safety.find.test.d.ts.map +0 -1
  2384. package/dist/utils/command-safety.find.test.js +0 -314
  2385. package/dist/utils/command-safety.find.test.js.map +0 -1
  2386. package/dist/utils/command-safety.git.test.d.ts +0 -2
  2387. package/dist/utils/command-safety.git.test.d.ts.map +0 -1
  2388. package/dist/utils/command-safety.git.test.js +0 -74
  2389. package/dist/utils/command-safety.git.test.js.map +0 -1
  2390. package/dist/utils/command-safety.path.test.d.ts +0 -2
  2391. package/dist/utils/command-safety.path.test.d.ts.map +0 -1
  2392. package/dist/utils/command-safety.path.test.js +0 -353
  2393. package/dist/utils/command-safety.path.test.js.map +0 -1
  2394. package/dist/utils/command-safety.red-yellow-policy.test.d.ts +0 -2
  2395. package/dist/utils/command-safety.red-yellow-policy.test.d.ts.map +0 -1
  2396. package/dist/utils/command-safety.red-yellow-policy.test.js +0 -36
  2397. package/dist/utils/command-safety.red-yellow-policy.test.js.map +0 -1
  2398. package/dist/utils/command-safety.specialized-handlers.test.d.ts +0 -2
  2399. package/dist/utils/command-safety.specialized-handlers.test.d.ts.map +0 -1
  2400. package/dist/utils/command-safety.specialized-handlers.test.js +0 -20
  2401. package/dist/utils/command-safety.specialized-handlers.test.js.map +0 -1
  2402. package/dist/utils/command-safety.test.d.ts +0 -2
  2403. package/dist/utils/command-safety.test.d.ts.map +0 -1
  2404. package/dist/utils/command-safety.test.js +0 -66
  2405. package/dist/utils/command-safety.test.js.map +0 -1
  2406. package/dist/utils/conversation/apply-conversation-result.test.d.ts +0 -2
  2407. package/dist/utils/conversation/apply-conversation-result.test.d.ts.map +0 -1
  2408. package/dist/utils/conversation/apply-conversation-result.test.js +0 -185
  2409. package/dist/utils/conversation/apply-conversation-result.test.js.map +0 -1
  2410. package/dist/utils/conversation/conversation-event-handler.test.d.ts +0 -2
  2411. package/dist/utils/conversation/conversation-event-handler.test.d.ts.map +0 -1
  2412. package/dist/utils/conversation/conversation-event-handler.test.js +0 -1453
  2413. package/dist/utils/conversation/conversation-event-handler.test.js.map +0 -1
  2414. package/dist/utils/conversation/conversation-utils.test.d.ts +0 -2
  2415. package/dist/utils/conversation/conversation-utils.test.d.ts.map +0 -1
  2416. package/dist/utils/conversation/conversation-utils.test.js +0 -191
  2417. package/dist/utils/conversation/conversation-utils.test.js.map +0 -1
  2418. package/dist/utils/conversation/markdown-commit-frontier.test.d.ts +0 -2
  2419. package/dist/utils/conversation/markdown-commit-frontier.test.d.ts.map +0 -1
  2420. package/dist/utils/conversation/markdown-commit-frontier.test.js +0 -40
  2421. package/dist/utils/conversation/markdown-commit-frontier.test.js.map +0 -1
  2422. package/dist/utils/conversation/message-buffer.test.d.ts +0 -2
  2423. package/dist/utils/conversation/message-buffer.test.d.ts.map +0 -1
  2424. package/dist/utils/conversation/message-buffer.test.js +0 -17
  2425. package/dist/utils/conversation/message-buffer.test.js.map +0 -1
  2426. package/dist/utils/conversation/message-utils.test.d.ts +0 -2
  2427. package/dist/utils/conversation/message-utils.test.d.ts.map +0 -1
  2428. package/dist/utils/conversation/message-utils.test.js +0 -167
  2429. package/dist/utils/conversation/message-utils.test.js.map +0 -1
  2430. package/dist/utils/conversation-event-handler.d.ts +0 -41
  2431. package/dist/utils/conversation-event-handler.d.ts.map +0 -1
  2432. package/dist/utils/conversation-event-handler.js +0 -575
  2433. package/dist/utils/conversation-event-handler.js.map +0 -1
  2434. package/dist/utils/conversation-event-handler.test.d.ts +0 -2
  2435. package/dist/utils/conversation-event-handler.test.d.ts.map +0 -1
  2436. package/dist/utils/conversation-event-handler.test.js +0 -1444
  2437. package/dist/utils/conversation-event-handler.test.js.map +0 -1
  2438. package/dist/utils/conversation-utils.d.ts +0 -44
  2439. package/dist/utils/conversation-utils.d.ts.map +0 -1
  2440. package/dist/utils/conversation-utils.js +0 -109
  2441. package/dist/utils/conversation-utils.js.map +0 -1
  2442. package/dist/utils/conversation-utils.test.d.ts +0 -2
  2443. package/dist/utils/conversation-utils.test.d.ts.map +0 -1
  2444. package/dist/utils/conversation-utils.test.js +0 -191
  2445. package/dist/utils/conversation-utils.test.js.map +0 -1
  2446. package/dist/utils/diff.d.ts +0 -2
  2447. package/dist/utils/diff.d.ts.map +0 -1
  2448. package/dist/utils/diff.js +0 -42
  2449. package/dist/utils/diff.js.map +0 -1
  2450. package/dist/utils/diff.test.d.ts +0 -2
  2451. package/dist/utils/diff.test.d.ts.map +0 -1
  2452. package/dist/utils/diff.test.js +0 -85
  2453. package/dist/utils/diff.test.js.map +0 -1
  2454. package/dist/utils/error-helpers.test.d.ts +0 -2
  2455. package/dist/utils/error-helpers.test.d.ts.map +0 -1
  2456. package/dist/utils/error-helpers.test.js +0 -194
  2457. package/dist/utils/error-helpers.test.js.map +0 -1
  2458. package/dist/utils/execute-shell.d.ts +0 -26
  2459. package/dist/utils/execute-shell.d.ts.map +0 -1
  2460. package/dist/utils/execute-shell.js +0 -68
  2461. package/dist/utils/execute-shell.js.map +0 -1
  2462. package/dist/utils/execute-shell.test.d.ts +0 -2
  2463. package/dist/utils/execute-shell.test.d.ts.map +0 -1
  2464. package/dist/utils/execute-shell.test.js +0 -89
  2465. package/dist/utils/execute-shell.test.js.map +0 -1
  2466. package/dist/utils/extract-command-messages.d.ts +0 -5
  2467. package/dist/utils/extract-command-messages.d.ts.map +0 -1
  2468. package/dist/utils/extract-command-messages.js +0 -125
  2469. package/dist/utils/extract-command-messages.js.map +0 -1
  2470. package/dist/utils/extract-command-messages.test.d.ts +0 -2
  2471. package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
  2472. package/dist/utils/extract-command-messages.test.js +0 -700
  2473. package/dist/utils/extract-command-messages.test.js.map +0 -1
  2474. package/dist/utils/flex-service-tier.d.ts +0 -2
  2475. package/dist/utils/flex-service-tier.d.ts.map +0 -1
  2476. package/dist/utils/flex-service-tier.js +0 -20
  2477. package/dist/utils/flex-service-tier.js.map +0 -1
  2478. package/dist/utils/flex-service-tier.test.d.ts +0 -2
  2479. package/dist/utils/flex-service-tier.test.d.ts.map +0 -1
  2480. package/dist/utils/flex-service-tier.test.js +0 -25
  2481. package/dist/utils/flex-service-tier.test.js.map +0 -1
  2482. package/dist/utils/header-sanitizer.test.d.ts +0 -2
  2483. package/dist/utils/header-sanitizer.test.d.ts.map +0 -1
  2484. package/dist/utils/header-sanitizer.test.js +0 -56
  2485. package/dist/utils/header-sanitizer.test.js.map +0 -1
  2486. package/dist/utils/home-directory-start-guard.test.d.ts +0 -2
  2487. package/dist/utils/home-directory-start-guard.test.d.ts.map +0 -1
  2488. package/dist/utils/home-directory-start-guard.test.js +0 -40
  2489. package/dist/utils/home-directory-start-guard.test.js.map +0 -1
  2490. package/dist/utils/inject-warning-into-tool-output.test.d.ts +0 -2
  2491. package/dist/utils/inject-warning-into-tool-output.test.d.ts.map +0 -1
  2492. package/dist/utils/inject-warning-into-tool-output.test.js +0 -149
  2493. package/dist/utils/inject-warning-into-tool-output.test.js.map +0 -1
  2494. package/dist/utils/ink-render-options.test.d.ts +0 -2
  2495. package/dist/utils/ink-render-options.test.d.ts.map +0 -1
  2496. package/dist/utils/ink-render-options.test.js +0 -7
  2497. package/dist/utils/ink-render-options.test.js.map +0 -1
  2498. package/dist/utils/log-truncation.d.ts +0 -49
  2499. package/dist/utils/log-truncation.d.ts.map +0 -1
  2500. package/dist/utils/log-truncation.js +0 -186
  2501. package/dist/utils/log-truncation.js.map +0 -1
  2502. package/dist/utils/log-truncation.test.d.ts +0 -2
  2503. package/dist/utils/log-truncation.test.d.ts.map +0 -1
  2504. package/dist/utils/log-truncation.test.js +0 -175
  2505. package/dist/utils/log-truncation.test.js.map +0 -1
  2506. package/dist/utils/log-viewer-filters.d.ts +0 -29
  2507. package/dist/utils/log-viewer-filters.d.ts.map +0 -1
  2508. package/dist/utils/log-viewer-filters.js +0 -49
  2509. package/dist/utils/log-viewer-filters.js.map +0 -1
  2510. package/dist/utils/log-viewer-filters.test.d.ts +0 -2
  2511. package/dist/utils/log-viewer-filters.test.d.ts.map +0 -1
  2512. package/dist/utils/log-viewer-filters.test.js +0 -48
  2513. package/dist/utils/log-viewer-filters.test.js.map +0 -1
  2514. package/dist/utils/message-buffer.d.ts +0 -2
  2515. package/dist/utils/message-buffer.d.ts.map +0 -1
  2516. package/dist/utils/message-buffer.js +0 -15
  2517. package/dist/utils/message-buffer.js.map +0 -1
  2518. package/dist/utils/message-buffer.test.d.ts +0 -2
  2519. package/dist/utils/message-buffer.test.d.ts.map +0 -1
  2520. package/dist/utils/message-buffer.test.js +0 -17
  2521. package/dist/utils/message-buffer.test.js.map +0 -1
  2522. package/dist/utils/message-utils.d.ts +0 -7
  2523. package/dist/utils/message-utils.d.ts.map +0 -1
  2524. package/dist/utils/message-utils.js +0 -31
  2525. package/dist/utils/message-utils.js.map +0 -1
  2526. package/dist/utils/model-provider-arg.d.ts +0 -5
  2527. package/dist/utils/model-provider-arg.d.ts.map +0 -1
  2528. package/dist/utils/model-provider-arg.js +0 -15
  2529. package/dist/utils/model-provider-arg.js.map +0 -1
  2530. package/dist/utils/model-provider-arg.test.d.ts +0 -2
  2531. package/dist/utils/model-provider-arg.test.d.ts.map +0 -1
  2532. package/dist/utils/model-provider-arg.test.js +0 -21
  2533. package/dist/utils/model-provider-arg.test.js.map +0 -1
  2534. package/dist/utils/model-settings.d.ts +0 -12
  2535. package/dist/utils/model-settings.d.ts.map +0 -1
  2536. package/dist/utils/model-settings.js +0 -53
  2537. package/dist/utils/model-settings.js.map +0 -1
  2538. package/dist/utils/output/diff.test.d.ts +0 -2
  2539. package/dist/utils/output/diff.test.d.ts.map +0 -1
  2540. package/dist/utils/output/diff.test.js +0 -85
  2541. package/dist/utils/output/diff.test.js.map +0 -1
  2542. package/dist/utils/output/log-truncation.test.d.ts +0 -2
  2543. package/dist/utils/output/log-truncation.test.d.ts.map +0 -1
  2544. package/dist/utils/output/log-truncation.test.js +0 -175
  2545. package/dist/utils/output/log-truncation.test.js.map +0 -1
  2546. package/dist/utils/output/log-viewer-filters.d.ts +0 -29
  2547. package/dist/utils/output/log-viewer-filters.d.ts.map +0 -1
  2548. package/dist/utils/output/log-viewer-filters.js +0 -49
  2549. package/dist/utils/output/log-viewer-filters.js.map +0 -1
  2550. package/dist/utils/output/log-viewer-filters.test.d.ts +0 -2
  2551. package/dist/utils/output/log-viewer-filters.test.d.ts.map +0 -1
  2552. package/dist/utils/output/log-viewer-filters.test.js +0 -48
  2553. package/dist/utils/output/log-viewer-filters.test.js.map +0 -1
  2554. package/dist/utils/output/output-trim.test.d.ts +0 -2
  2555. package/dist/utils/output/output-trim.test.d.ts.map +0 -1
  2556. package/dist/utils/output/output-trim.test.js +0 -183
  2557. package/dist/utils/output/output-trim.test.js.map +0 -1
  2558. package/dist/utils/output/synchronized-output.test.d.ts +0 -2
  2559. package/dist/utils/output/synchronized-output.test.d.ts.map +0 -1
  2560. package/dist/utils/output/synchronized-output.test.js +0 -70
  2561. package/dist/utils/output/synchronized-output.test.js.map +0 -1
  2562. package/dist/utils/output/trim-tool-output.test.d.ts +0 -2
  2563. package/dist/utils/output/trim-tool-output.test.d.ts.map +0 -1
  2564. package/dist/utils/output/trim-tool-output.test.js +0 -32
  2565. package/dist/utils/output/trim-tool-output.test.js.map +0 -1
  2566. package/dist/utils/output/tty-osc.test.d.ts +0 -2
  2567. package/dist/utils/output/tty-osc.test.d.ts.map +0 -1
  2568. package/dist/utils/output/tty-osc.test.js +0 -130
  2569. package/dist/utils/output/tty-osc.test.js.map +0 -1
  2570. package/dist/utils/output/viewport.d.ts +0 -6
  2571. package/dist/utils/output/viewport.d.ts.map +0 -1
  2572. package/dist/utils/output/viewport.js +0 -20
  2573. package/dist/utils/output/viewport.js.map +0 -1
  2574. package/dist/utils/output/viewport.test.d.ts +0 -2
  2575. package/dist/utils/output/viewport.test.d.ts.map +0 -1
  2576. package/dist/utils/output/viewport.test.js +0 -43
  2577. package/dist/utils/output/viewport.test.js.map +0 -1
  2578. package/dist/utils/output-trim.d.ts +0 -31
  2579. package/dist/utils/output-trim.d.ts.map +0 -1
  2580. package/dist/utils/output-trim.js +0 -79
  2581. package/dist/utils/output-trim.js.map +0 -1
  2582. package/dist/utils/output-trim.test.d.ts +0 -2
  2583. package/dist/utils/output-trim.test.d.ts.map +0 -1
  2584. package/dist/utils/output-trim.test.js +0 -183
  2585. package/dist/utils/output-trim.test.js.map +0 -1
  2586. package/dist/utils/project-tree.test.d.ts +0 -2
  2587. package/dist/utils/project-tree.test.d.ts.map +0 -1
  2588. package/dist/utils/project-tree.test.js +0 -149
  2589. package/dist/utils/project-tree.test.js.map +0 -1
  2590. package/dist/utils/provider-credentials.d.ts +0 -10
  2591. package/dist/utils/provider-credentials.d.ts.map +0 -1
  2592. package/dist/utils/provider-credentials.js +0 -22
  2593. package/dist/utils/provider-credentials.js.map +0 -1
  2594. package/dist/utils/provider-traffic-extractor.d.ts +0 -20
  2595. package/dist/utils/provider-traffic-extractor.d.ts.map +0 -1
  2596. package/dist/utils/provider-traffic-extractor.js +0 -206
  2597. package/dist/utils/provider-traffic-extractor.js.map +0 -1
  2598. package/dist/utils/provider-traffic-extractor.test.d.ts +0 -2
  2599. package/dist/utils/provider-traffic-extractor.test.d.ts.map +0 -1
  2600. package/dist/utils/provider-traffic-extractor.test.js +0 -86
  2601. package/dist/utils/provider-traffic-extractor.test.js.map +0 -1
  2602. package/dist/utils/resume-list.test.d.ts +0 -2
  2603. package/dist/utils/resume-list.test.d.ts.map +0 -1
  2604. package/dist/utils/resume-list.test.js +0 -89
  2605. package/dist/utils/resume-list.test.js.map +0 -1
  2606. package/dist/utils/settings-command.test.d.ts +0 -2
  2607. package/dist/utils/settings-command.test.d.ts.map +0 -1
  2608. package/dist/utils/settings-command.test.js +0 -230
  2609. package/dist/utils/settings-command.test.js.map +0 -1
  2610. package/dist/utils/shell/command-logger.test.d.ts +0 -2
  2611. package/dist/utils/shell/command-logger.test.d.ts.map +0 -1
  2612. package/dist/utils/shell/command-logger.test.js +0 -32
  2613. package/dist/utils/shell/command-logger.test.js.map +0 -1
  2614. package/dist/utils/shell/command-safety.evaluator-false-positives.test.d.ts +0 -2
  2615. package/dist/utils/shell/command-safety.evaluator-false-positives.test.d.ts.map +0 -1
  2616. package/dist/utils/shell/command-safety.evaluator-false-positives.test.js +0 -72
  2617. package/dist/utils/shell/command-safety.evaluator-false-positives.test.js.map +0 -1
  2618. package/dist/utils/shell/command-safety.find.test.d.ts +0 -2
  2619. package/dist/utils/shell/command-safety.find.test.d.ts.map +0 -1
  2620. package/dist/utils/shell/command-safety.find.test.js +0 -314
  2621. package/dist/utils/shell/command-safety.find.test.js.map +0 -1
  2622. package/dist/utils/shell/command-safety.git.test.d.ts +0 -2
  2623. package/dist/utils/shell/command-safety.git.test.d.ts.map +0 -1
  2624. package/dist/utils/shell/command-safety.git.test.js +0 -74
  2625. package/dist/utils/shell/command-safety.git.test.js.map +0 -1
  2626. package/dist/utils/shell/command-safety.path.test.d.ts +0 -2
  2627. package/dist/utils/shell/command-safety.path.test.d.ts.map +0 -1
  2628. package/dist/utils/shell/command-safety.path.test.js +0 -353
  2629. package/dist/utils/shell/command-safety.path.test.js.map +0 -1
  2630. package/dist/utils/shell/command-safety.red-yellow-policy.test.d.ts +0 -2
  2631. package/dist/utils/shell/command-safety.red-yellow-policy.test.d.ts.map +0 -1
  2632. package/dist/utils/shell/command-safety.red-yellow-policy.test.js +0 -36
  2633. package/dist/utils/shell/command-safety.red-yellow-policy.test.js.map +0 -1
  2634. package/dist/utils/shell/command-safety.specialized-handlers.test.d.ts +0 -2
  2635. package/dist/utils/shell/command-safety.specialized-handlers.test.d.ts.map +0 -1
  2636. package/dist/utils/shell/command-safety.specialized-handlers.test.js +0 -20
  2637. package/dist/utils/shell/command-safety.specialized-handlers.test.js.map +0 -1
  2638. package/dist/utils/shell/command-safety.test.d.ts +0 -2
  2639. package/dist/utils/shell/command-safety.test.d.ts.map +0 -1
  2640. package/dist/utils/shell/command-safety.test.js +0 -64
  2641. package/dist/utils/shell/command-safety.test.js.map +0 -1
  2642. package/dist/utils/shell/execute-shell.test.d.ts +0 -2
  2643. package/dist/utils/shell/execute-shell.test.d.ts.map +0 -1
  2644. package/dist/utils/shell/execute-shell.test.js +0 -89
  2645. package/dist/utils/shell/execute-shell.test.js.map +0 -1
  2646. package/dist/utils/shell/sandbox/sandbox-network-diagnostic.d.ts +0 -6
  2647. package/dist/utils/shell/sandbox/sandbox-network-diagnostic.d.ts.map +0 -1
  2648. package/dist/utils/shell/sandbox/sandbox-network-diagnostic.js +0 -71
  2649. package/dist/utils/shell/sandbox/sandbox-network-diagnostic.js.map +0 -1
  2650. package/dist/utils/shell/shell-output.test.d.ts +0 -2
  2651. package/dist/utils/shell/shell-output.test.d.ts.map +0 -1
  2652. package/dist/utils/shell/shell-output.test.js +0 -49
  2653. package/dist/utils/shell/shell-output.test.js.map +0 -1
  2654. package/dist/utils/ssh-config-parser.test.d.ts +0 -2
  2655. package/dist/utils/ssh-config-parser.test.d.ts.map +0 -1
  2656. package/dist/utils/ssh-config-parser.test.js +0 -153
  2657. package/dist/utils/ssh-config-parser.test.js.map +0 -1
  2658. package/dist/utils/streaming/extract-command-messages.test.d.ts +0 -2
  2659. package/dist/utils/streaming/extract-command-messages.test.d.ts.map +0 -1
  2660. package/dist/utils/streaming/extract-command-messages.test.js +0 -700
  2661. package/dist/utils/streaming/extract-command-messages.test.js.map +0 -1
  2662. package/dist/utils/streaming/streaming-session-factory.test.d.ts +0 -2
  2663. package/dist/utils/streaming/streaming-session-factory.test.d.ts.map +0 -1
  2664. package/dist/utils/streaming/streaming-session-factory.test.js +0 -148
  2665. package/dist/utils/streaming/streaming-session-factory.test.js.map +0 -1
  2666. package/dist/utils/streaming/streaming-updater.test.d.ts +0 -2
  2667. package/dist/utils/streaming/streaming-updater.test.d.ts.map +0 -1
  2668. package/dist/utils/streaming/streaming-updater.test.js +0 -73
  2669. package/dist/utils/streaming/streaming-updater.test.js.map +0 -1
  2670. package/dist/utils/streaming-session-factory.d.ts +0 -34
  2671. package/dist/utils/streaming-session-factory.d.ts.map +0 -1
  2672. package/dist/utils/streaming-session-factory.js +0 -118
  2673. package/dist/utils/streaming-session-factory.js.map +0 -1
  2674. package/dist/utils/streaming-session-factory.test.d.ts +0 -2
  2675. package/dist/utils/streaming-session-factory.test.d.ts.map +0 -1
  2676. package/dist/utils/streaming-session-factory.test.js +0 -148
  2677. package/dist/utils/streaming-session-factory.test.js.map +0 -1
  2678. package/dist/utils/streaming-updater.d.ts +0 -8
  2679. package/dist/utils/streaming-updater.d.ts.map +0 -1
  2680. package/dist/utils/streaming-updater.js +0 -41
  2681. package/dist/utils/streaming-updater.js.map +0 -1
  2682. package/dist/utils/streaming-updater.test.d.ts +0 -2
  2683. package/dist/utils/streaming-updater.test.d.ts.map +0 -1
  2684. package/dist/utils/streaming-updater.test.js +0 -73
  2685. package/dist/utils/streaming-updater.test.js.map +0 -1
  2686. package/dist/utils/synchronized-output.d.ts +0 -35
  2687. package/dist/utils/synchronized-output.d.ts.map +0 -1
  2688. package/dist/utils/synchronized-output.js +0 -66
  2689. package/dist/utils/synchronized-output.js.map +0 -1
  2690. package/dist/utils/synchronized-output.test.d.ts +0 -2
  2691. package/dist/utils/synchronized-output.test.d.ts.map +0 -1
  2692. package/dist/utils/synchronized-output.test.js +0 -70
  2693. package/dist/utils/synchronized-output.test.js.map +0 -1
  2694. package/dist/utils/terminal-clear.d.ts +0 -7
  2695. package/dist/utils/terminal-clear.d.ts.map +0 -1
  2696. package/dist/utils/terminal-clear.js +0 -5
  2697. package/dist/utils/terminal-clear.js.map +0 -1
  2698. package/dist/utils/terminal-clear.test.d.ts +0 -2
  2699. package/dist/utils/terminal-clear.test.d.ts.map +0 -1
  2700. package/dist/utils/terminal-clear.test.js +0 -13
  2701. package/dist/utils/terminal-clear.test.js.map +0 -1
  2702. package/dist/utils/test-render.d.ts +0 -14
  2703. package/dist/utils/test-render.d.ts.map +0 -1
  2704. package/dist/utils/test-render.js +0 -44
  2705. package/dist/utils/test-render.js.map +0 -1
  2706. package/dist/utils/throttle.test.d.ts +0 -2
  2707. package/dist/utils/throttle.test.d.ts.map +0 -1
  2708. package/dist/utils/throttle.test.js +0 -64
  2709. package/dist/utils/throttle.test.js.map +0 -1
  2710. package/dist/utils/token-usage.d.ts +0 -45
  2711. package/dist/utils/token-usage.d.ts.map +0 -1
  2712. package/dist/utils/token-usage.js +0 -298
  2713. package/dist/utils/token-usage.js.map +0 -1
  2714. package/dist/utils/token-usage.test.d.ts +0 -2
  2715. package/dist/utils/token-usage.test.d.ts.map +0 -1
  2716. package/dist/utils/token-usage.test.js +0 -277
  2717. package/dist/utils/token-usage.test.js.map +0 -1
  2718. package/dist/utils/trim-tool-output.d.ts +0 -2
  2719. package/dist/utils/trim-tool-output.d.ts.map +0 -1
  2720. package/dist/utils/trim-tool-output.js +0 -52
  2721. package/dist/utils/trim-tool-output.js.map +0 -1
  2722. package/dist/utils/trim-tool-output.test.d.ts +0 -2
  2723. package/dist/utils/trim-tool-output.test.d.ts.map +0 -1
  2724. package/dist/utils/trim-tool-output.test.js +0 -32
  2725. package/dist/utils/trim-tool-output.test.js.map +0 -1
  2726. package/dist/utils/tty-osc.d.ts +0 -27
  2727. package/dist/utils/tty-osc.d.ts.map +0 -1
  2728. package/dist/utils/tty-osc.js +0 -66
  2729. package/dist/utils/tty-osc.js.map +0 -1
  2730. package/dist/utils/tty-osc.test.d.ts +0 -2
  2731. package/dist/utils/tty-osc.test.d.ts.map +0 -1
  2732. package/dist/utils/tty-osc.test.js +0 -130
  2733. package/dist/utils/tty-osc.test.js.map +0 -1
  2734. package/dist/utils/viewport.d.ts +0 -6
  2735. package/dist/utils/viewport.d.ts.map +0 -1
  2736. package/dist/utils/viewport.js +0 -20
  2737. package/dist/utils/viewport.js.map +0 -1
  2738. package/dist/utils/viewport.test.d.ts +0 -2
  2739. package/dist/utils/viewport.test.d.ts.map +0 -1
  2740. package/dist/utils/viewport.test.js +0 -43
  2741. package/dist/utils/viewport.test.js.map +0 -1
  2742. /package/dist/components/{Common → common}/MenuContainer.d.ts +0 -0
  2743. /package/dist/components/{Common → common}/MenuContainer.d.ts.map +0 -0
  2744. /package/dist/components/{Common → common}/MenuContainer.js +0 -0
  2745. /package/dist/components/{Common → common}/MenuContainer.js.map +0 -0
  2746. /package/dist/components/{Common → common}/ScrollableTabBar.d.ts +0 -0
  2747. /package/dist/components/{Common → common}/ScrollableTabBar.d.ts.map +0 -0
  2748. /package/dist/components/{Common → common}/ScrollableTabBar.js +0 -0
  2749. /package/dist/components/{Common → common}/ScrollableTabBar.js.map +0 -0
  2750. /package/dist/components/{Common → common}/compute-visible-tabs.d.ts +0 -0
  2751. /package/dist/components/{Common → common}/compute-visible-tabs.d.ts.map +0 -0
  2752. /package/dist/components/{Common → common}/compute-visible-tabs.js +0 -0
  2753. /package/dist/components/{Common → common}/compute-visible-tabs.js.map +0 -0
  2754. /package/dist/components/{Input → input}/PopupManager.d.ts +0 -0
  2755. /package/dist/components/{Input → input}/PopupManager.d.ts.map +0 -0
  2756. /package/dist/components/{Input → input}/PopupManager.js +0 -0
  2757. /package/dist/components/{Input → input}/PopupManager.js.map +0 -0
  2758. /package/dist/components/{Input → input}/determine-active-menu.d.ts +0 -0
  2759. /package/dist/components/{Input → input}/input-width.d.ts +0 -0
  2760. /package/dist/components/{Input → input}/input-width.d.ts.map +0 -0
  2761. /package/dist/components/{Input → input}/input-width.js +0 -0
  2762. /package/dist/components/{Input → input}/input-width.js.map +0 -0
  2763. /package/dist/components/{Input → input}/insertions.d.ts +0 -0
  2764. /package/dist/components/{Input → input}/insertions.d.ts.map +0 -0
  2765. /package/dist/components/{Input → input}/insertions.js +0 -0
  2766. /package/dist/components/{Input → input}/insertions.js.map +0 -0
  2767. /package/dist/components/{Input → input}/popup-key-navigation.d.ts +0 -0
  2768. /package/dist/components/{Input → input}/popup-key-navigation.d.ts.map +0 -0
  2769. /package/dist/components/{Input → input}/popup-key-navigation.js +0 -0
  2770. /package/dist/components/{Input → input}/popup-key-navigation.js.map +0 -0
  2771. /package/dist/components/{Input → input}/popup-props.d.ts +0 -0
  2772. /package/dist/components/{Input → input}/popup-props.d.ts.map +0 -0
  2773. /package/dist/components/{Input → input}/popup-props.js +0 -0
  2774. /package/dist/components/{Input → input}/popup-props.js.map +0 -0
  2775. /package/dist/components/{Input → input}/triggers.d.ts +0 -0
  2776. /package/dist/components/{Input → input}/triggers.d.ts.map +0 -0
  2777. /package/dist/components/{Input → input}/triggers.js +0 -0
  2778. /package/dist/components/{Input → input}/triggers.js.map +0 -0
  2779. /package/dist/{utils/command-safety/handlers → services/agent-runtime}/types.js +0 -0
@@ -1,1949 +0,0 @@
1
- import { it, expect, beforeEach } from 'vitest';
2
- import fs from 'node:fs';
3
- import path from 'node:path';
4
- import { ModelBehaviorError } from '@openai/agents';
5
- import { SubagentManager as RealSubagentManager } from './subagent-manager.js';
6
- import { AgentClient } from '../../lib/agent-client.js';
7
- import { registerProvider } from '../../providers/registry.js';
8
- import { MAX_SUBAGENT_MODEL_RETRIES } from '../retry/conversation-retry-policy.js';
9
- const ROLE_MENTOR = 'mentor';
10
- const ROLE_EXPLORER = 'explorer';
11
- const ROLE_UNKNOWN = 'nonexistent-role-xyz';
12
- const PROVIDER_MENTOR_MANAGER = 'mock-mentor-manager';
13
- const PROVIDER_EXPLORER = 'mock-explorer-provider';
14
- const MODEL_MAIN = 'main-model';
15
- const MODEL_MENTOR = 'mentor-model';
16
- const MODEL_MOCK = 'mock-model';
17
- const TASK_ADVISE_ME = 'advise me';
18
- const TASK_FIRST_QUESTION = 'first question';
19
- const TASK_SECOND_QUESTION = 'second question';
20
- const TASK_FRESH_QUESTION = 'fresh question';
21
- const TASK_FIND_TS_FILES = 'find all TypeScript files';
22
- const TASK_INSPECT_WORKSPACE = 'inspect the workspace';
23
- const TASK_INSPECT_TEMP_WORKSPACE = 'inspect a temp workspace';
24
- const TASK_FIND_FILES = 'find files';
25
- const UNKNOWN_ROLE_ERROR_FRAGMENT = ROLE_UNKNOWN;
26
- const MENTOR_MODEL_NOT_CONFIGURED_ERROR = 'Mentor model is not configured';
27
- const EXPLORER_BLOCKED_PREFIX = 'Error: command blocked - explorer can only run read-only (GREEN) shell commands. Command: ';
28
- const GREEN_SHELL_COMMANDS = ['pwd', 'ls', 'cat package.json', 'git status', 'git log --oneline'];
29
- const YELLOW_SHELL_COMMANDS = ['touch blocked.txt', 'npm test', 'unknown_tool_name', 'cat ../outside.txt'];
30
- const RED_SHELL_COMMANDS = ['rm -rf x', 'sudo ls'];
31
- const TEMP_WORKSPACE_PREFIX = 'term2-test-explorer-shell-block-';
32
- const TEMP_SOURCE_FILE = 'source.txt';
33
- const TEMP_BLOCKED_CASES = [
34
- { command: 'touch blocked-touch.txt', path: 'blocked-touch.txt' },
35
- { command: 'echo marker > blocked-redirect.txt', path: 'blocked-redirect.txt' },
36
- { command: 'cat source.txt > blocked-copy.txt', path: 'blocked-copy.txt' },
37
- { command: 'printf marker | tee blocked-tee.txt', path: 'blocked-tee.txt' },
38
- ];
39
- const createSessionContextService = () => ({
40
- runWithContext: (_context, fn) => fn(),
41
- getContext: () => null,
42
- });
43
- const SubagentManager = class extends RealSubagentManager {
44
- constructor(deps) {
45
- const sessionContextService = deps.sessionContextService ?? createSessionContextService();
46
- super({
47
- ...deps,
48
- sessionContextService,
49
- createClient: deps.createClient ??
50
- (({ agent, provider, maxTurns, retryAttempts }) => new AgentClient({
51
- model: agent.model,
52
- maxTurns,
53
- retryAttempts,
54
- deps: {
55
- logger: deps.logger,
56
- settings: deps.settings,
57
- executionContext: deps.executionContext,
58
- sessionContextService,
59
- },
60
- agentOverride: agent,
61
- providerOverride: provider,
62
- })),
63
- });
64
- }
65
- };
66
- // ========== Mock Utilities ==========
67
- function createMockLogger() {
68
- return {
69
- debug: () => { },
70
- info: () => { },
71
- warn: () => { },
72
- error: () => { },
73
- security: () => { },
74
- setCorrelationId: () => { },
75
- clearCorrelationId: () => { },
76
- getCorrelationId: () => undefined,
77
- log: () => { },
78
- };
79
- }
80
- function createMockSettings(values = {}) {
81
- const store = { ...values };
82
- return {
83
- get: (key) => store[key],
84
- set: (key, value) => {
85
- store[key] = value;
86
- },
87
- };
88
- }
89
- function getAgentTool(agent, name) {
90
- return agent.tools.find((tool) => tool.name === name);
91
- }
92
- /**
93
- * Wraps a plain subagent run result into an AgentStream-compatible async iterable.
94
- * ConversationSession expects stream:true results that can be iterated with for-await.
95
- */
96
- function wrapResultAsAgentStream(result) {
97
- const events = [];
98
- if (typeof result.finalOutput === 'string' && result.finalOutput) {
99
- events.push({ type: 'response.output_text.delta', delta: result.finalOutput });
100
- }
101
- // ConversationSession reads output/newItems/history from the stream in this
102
- // priority. Provide at least one non-empty source so the session can process
103
- // the result and reach the 'final' event.
104
- const findSynthesizedOutput = () => {
105
- if (Array.isArray(result.output) && result.output.length > 0)
106
- return result.output;
107
- if (Array.isArray(result.newItems) && result.newItems.length > 0)
108
- return result.newItems;
109
- if (Array.isArray(result.history) && result.history.length > 0)
110
- return result.history;
111
- if (typeof result.finalOutput === 'string' && result.finalOutput) {
112
- return [{ role: 'assistant', type: 'message', content: result.finalOutput }];
113
- }
114
- return [];
115
- };
116
- const synthesizedOutput = findSynthesizedOutput();
117
- return {
118
- [Symbol.asyncIterator]() {
119
- let index = 0;
120
- return {
121
- async next() {
122
- if (index < events.length) {
123
- return { value: events[index++], done: false };
124
- }
125
- return { value: undefined, done: true };
126
- },
127
- };
128
- },
129
- completed: Promise.resolve(result),
130
- rawResponses: [result],
131
- status: result.status ?? 'completed',
132
- finalOutput: result.finalOutput,
133
- state: result.state,
134
- output: synthesizedOutput,
135
- newItems: result.newItems ?? synthesizedOutput,
136
- interruptions: result.interruptions ?? [],
137
- history: result.history ?? synthesizedOutput,
138
- messages: result.messages ?? synthesizedOutput,
139
- responseId: result.responseId ?? null,
140
- lastResponseId: result.responseId ?? null,
141
- };
142
- }
143
- function wrapErrorAsAgentStream(error) {
144
- const completed = Promise.reject(error);
145
- completed.catch(() => { });
146
- return {
147
- [Symbol.asyncIterator]() {
148
- return {
149
- async next() {
150
- throw error;
151
- },
152
- };
153
- },
154
- completed,
155
- rawResponses: [],
156
- status: 'failed',
157
- interruptions: [],
158
- history: [],
159
- messages: [],
160
- responseId: null,
161
- lastResponseId: null,
162
- };
163
- }
164
- // ========== Provider Mocks ==========
165
- let mentorManagerRunnerCalls = [];
166
- let mentorManagerResponseCounter = 0;
167
- let mentorManagerProviderRegistered = false;
168
- function ensureMentorManagerProviderRegistered() {
169
- if (!mentorManagerProviderRegistered) {
170
- registerProvider({
171
- id: PROVIDER_MENTOR_MANAGER,
172
- label: 'Mock Mentor Manager',
173
- createRunner: () => ({
174
- run: async (_agent, _input, _options) => {
175
- mentorManagerRunnerCalls.push({ input: _input, options: _options, agent: _agent });
176
- mentorManagerResponseCounter++;
177
- const result = {
178
- status: 'completed',
179
- finalOutput: `mentor-response-${mentorManagerResponseCounter}`,
180
- responseId: `resp-${mentorManagerResponseCounter}`,
181
- history: [],
182
- messages: [],
183
- };
184
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
185
- },
186
- }),
187
- fetchModels: async () => [{ id: MODEL_MOCK }],
188
- });
189
- mentorManagerProviderRegistered = true;
190
- }
191
- }
192
- let explorerManagerProviderRegistered = false;
193
- let explorerRunnerCalls = [];
194
- function ensureExplorerProviderRegistered() {
195
- if (!explorerManagerProviderRegistered) {
196
- registerProvider({
197
- id: PROVIDER_EXPLORER,
198
- label: 'Mock Explorer Provider',
199
- createRunner: () => ({
200
- run: async (_agent, input, options) => {
201
- explorerRunnerCalls.push({ input, agent: _agent, options });
202
- const result = {
203
- status: 'completed',
204
- finalOutput: 'Found the relevant files.',
205
- history: [],
206
- messages: [],
207
- };
208
- return options?.stream ? wrapResultAsAgentStream(result) : result;
209
- },
210
- }),
211
- fetchModels: async () => [{ id: MODEL_MOCK }],
212
- });
213
- explorerManagerProviderRegistered = true;
214
- }
215
- }
216
- beforeEach(() => {
217
- mentorManagerRunnerCalls = [];
218
- mentorManagerResponseCounter = 0;
219
- explorerRunnerCalls = [];
220
- ensureMentorManagerProviderRegistered();
221
- ensureExplorerProviderRegistered();
222
- });
223
- // ========== run() with unknown role ==========
224
- it.sequential('run() returns failed result for unknown role', async () => {
225
- const settings = createMockSettings({
226
- 'agent.model': MODEL_MOCK,
227
- 'agent.provider': PROVIDER_MENTOR_MANAGER,
228
- });
229
- const manager = new SubagentManager({
230
- logger: createMockLogger(),
231
- settings,
232
- sessionContextService: createSessionContextService(),
233
- });
234
- const result = await manager.run({ role: ROLE_UNKNOWN, task: 'do something' });
235
- expect(result.status).toBe('failed');
236
- expect(result.error).toBeTruthy();
237
- expect(result.error.includes(UNKNOWN_ROLE_ERROR_FRAGMENT)).toBe(true);
238
- });
239
- // ========== Mentor role ==========
240
- it.sequential('run() with mentor role uses mentorModel setting', async () => {
241
- const settings = createMockSettings({
242
- 'agent.model': MODEL_MAIN,
243
- 'agent.provider': PROVIDER_MENTOR_MANAGER,
244
- 'agent.mentorModel': MODEL_MENTOR,
245
- 'agent.mentorProvider': PROVIDER_MENTOR_MANAGER,
246
- });
247
- const manager = new SubagentManager({
248
- logger: createMockLogger(),
249
- settings,
250
- sessionContextService: createSessionContextService(),
251
- });
252
- const result = await manager.run({ role: ROLE_MENTOR, task: TASK_ADVISE_ME });
253
- expect(result.status).toBe('completed');
254
- expect(result.role).toBe(ROLE_MENTOR);
255
- expect(result.finalText.includes('mentor-response')).toBe(true);
256
- expect(mentorManagerRunnerCalls.length).toBe(1);
257
- expect(mentorManagerRunnerCalls[0].agent.model).toBe(MODEL_MENTOR);
258
- });
259
- it.sequential('run() with mentor role fails when mentorModel is not set', async () => {
260
- const settings = createMockSettings({
261
- 'agent.model': MODEL_MAIN,
262
- 'agent.provider': PROVIDER_MENTOR_MANAGER,
263
- });
264
- const manager = new SubagentManager({
265
- logger: createMockLogger(),
266
- settings,
267
- sessionContextService: createSessionContextService(),
268
- });
269
- const result = await manager.run({ role: ROLE_MENTOR, task: TASK_ADVISE_ME });
270
- expect(result.status).toBe('failed');
271
- expect(result.error.includes(MENTOR_MODEL_NOT_CONFIGURED_ERROR)).toBe(true);
272
- });
273
- it.sequential('run() mentor maintains conversation history across calls', async () => {
274
- const settings = createMockSettings({
275
- 'agent.model': MODEL_MAIN,
276
- 'agent.provider': PROVIDER_MENTOR_MANAGER,
277
- 'agent.mentorModel': MODEL_MENTOR,
278
- 'agent.mentorProvider': PROVIDER_MENTOR_MANAGER,
279
- });
280
- const manager = new SubagentManager({
281
- logger: createMockLogger(),
282
- settings,
283
- sessionContextService: createSessionContextService(),
284
- });
285
- await manager.run({ role: ROLE_MENTOR, task: TASK_FIRST_QUESTION });
286
- await manager.run({ role: ROLE_MENTOR, task: TASK_SECOND_QUESTION });
287
- expect(mentorManagerRunnerCalls.length).toBe(2);
288
- // Second call should have history (array with previous messages)
289
- expect(Array.isArray(mentorManagerRunnerCalls[1].input)).toBe(true);
290
- expect(mentorManagerRunnerCalls[1].input.length > 1).toBe(true);
291
- });
292
- it.sequential('resetMentorSession() clears conversation history', async () => {
293
- const settings = createMockSettings({
294
- 'agent.model': MODEL_MAIN,
295
- 'agent.provider': PROVIDER_MENTOR_MANAGER,
296
- 'agent.mentorModel': MODEL_MENTOR,
297
- 'agent.mentorProvider': PROVIDER_MENTOR_MANAGER,
298
- });
299
- const manager = new SubagentManager({
300
- logger: createMockLogger(),
301
- settings,
302
- sessionContextService: createSessionContextService(),
303
- });
304
- await manager.run({ role: ROLE_MENTOR, task: TASK_FIRST_QUESTION });
305
- expect(mentorManagerRunnerCalls[0].input.length >= 1).toBe(true);
306
- manager.resetMentorSession();
307
- await manager.run({ role: ROLE_MENTOR, task: TASK_FRESH_QUESTION });
308
- // After reset, second call should have only 1 message (fresh start)
309
- expect(mentorManagerRunnerCalls[1].input.length).toBe(1);
310
- });
311
- // ========== Explorer role ==========
312
- it.sequential('run() with explorer role returns SubagentResult', async () => {
313
- const settings = createMockSettings({
314
- 'agent.model': MODEL_MOCK,
315
- 'agent.provider': PROVIDER_EXPLORER,
316
- });
317
- const manager = new SubagentManager({
318
- logger: createMockLogger(),
319
- settings,
320
- sessionContextService: createSessionContextService(),
321
- });
322
- const result = await manager.run({ role: ROLE_EXPLORER, task: TASK_FIND_TS_FILES });
323
- expect(result.status).toBe('completed');
324
- expect(result.role).toBe(ROLE_EXPLORER);
325
- expect(result.agentId).toBeTruthy();
326
- expect(result.filesChanged.length).toBe(0);
327
- expect(result.finalText).toBeTruthy();
328
- });
329
- it.sequential('run() passes parent abort signal into the delegated provider run', async () => {
330
- const settings = createMockSettings({
331
- 'agent.model': MODEL_MOCK,
332
- 'agent.provider': PROVIDER_EXPLORER,
333
- });
334
- const manager = new SubagentManager({
335
- logger: createMockLogger(),
336
- settings,
337
- sessionContextService: createSessionContextService(),
338
- });
339
- const abortController = new AbortController();
340
- await manager.run({
341
- role: ROLE_EXPLORER,
342
- task: TASK_FIND_TS_FILES,
343
- signal: abortController.signal,
344
- });
345
- expect(true).toBe(true);
346
- });
347
- it.sequential('run() cancels a delegated provider run when the parent signal aborts', async () => {
348
- // ConversationSession threads the parent signal through agentClient.abort(),
349
- // which aborts the internal AbortController whose signal reaches the runner
350
- // via startStream(). The mock listens on options.signal (the internal AC).
351
- registerProvider({
352
- id: 'mock-aborted-subagent-provider',
353
- label: 'Mock Aborted Subagent Provider',
354
- createRunner: () => ({
355
- run: async (_agent, _input, options) => new Promise((_resolve, reject) => {
356
- const rejectAbort = () => reject(Object.assign(new Error('delegated run aborted'), { name: 'AbortError' }));
357
- if (options.signal?.aborted) {
358
- rejectAbort();
359
- return;
360
- }
361
- options.signal?.addEventListener('abort', rejectAbort, { once: true });
362
- }),
363
- }),
364
- fetchModels: async () => [{ id: 'mock-model' }],
365
- });
366
- const settings = createMockSettings({
367
- 'agent.model': MODEL_MOCK,
368
- 'agent.provider': 'mock-aborted-subagent-provider',
369
- });
370
- const manager = new SubagentManager({
371
- logger: createMockLogger(),
372
- settings,
373
- sessionContextService: createSessionContextService(),
374
- });
375
- const abortController = new AbortController();
376
- const resultPromise = manager.run({
377
- role: ROLE_EXPLORER,
378
- task: TASK_FIND_TS_FILES,
379
- signal: abortController.signal,
380
- });
381
- queueMicrotask(() => abortController.abort());
382
- const result = await resultPromise;
383
- expect(result.status).toBe('cancelled');
384
- expect(result.error?.includes('aborted') ?? false).toBe(true);
385
- });
386
- it.sequential('explorer shell tool executes GREEN commands and blocks YELLOW and RED commands', async () => {
387
- const settings = createMockSettings({
388
- 'agent.model': MODEL_MOCK,
389
- 'agent.provider': PROVIDER_EXPLORER,
390
- });
391
- const manager = new SubagentManager({
392
- logger: createMockLogger(),
393
- settings,
394
- sessionContextService: createSessionContextService(),
395
- });
396
- await manager.run({ role: ROLE_EXPLORER, task: TASK_INSPECT_WORKSPACE });
397
- expect(explorerRunnerCalls.length).toBe(1);
398
- const agent = explorerRunnerCalls[0].agent;
399
- const shell = getAgentTool(agent, 'shell');
400
- expect(shell).toBeTruthy();
401
- expect(await shell.needsApproval({}, { command: 'pwd' })).toBe(false);
402
- const invokeShell = async (command) => shell.invoke({}, JSON.stringify({ command }), {});
403
- for (const command of GREEN_SHELL_COMMANDS) {
404
- const output = await invokeShell(command);
405
- expect(output.includes('exit 0')).toBe(true);
406
- expect(output.startsWith(EXPLORER_BLOCKED_PREFIX)).toBe(false);
407
- }
408
- for (const command of YELLOW_SHELL_COMMANDS) {
409
- const output = await invokeShell(command);
410
- expect(output.startsWith(EXPLORER_BLOCKED_PREFIX)).toBe(true);
411
- expect(output.includes(command)).toBe(true);
412
- }
413
- for (const command of RED_SHELL_COMMANDS) {
414
- const output = await invokeShell(command);
415
- expect(output.startsWith(EXPLORER_BLOCKED_PREFIX)).toBe(true);
416
- expect(output.includes(command)).toBe(true);
417
- }
418
- });
419
- it.sequential('explorer shell tool blocks write-like shell commands without creating files in a temp workspace', async () => {
420
- const tmpDir = fs.mkdtempSync(path.join('/tmp', TEMP_WORKSPACE_PREFIX));
421
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
422
- fs.writeFileSync(path.join(tmpDir, TEMP_SOURCE_FILE), 'source content');
423
- const settings = createMockSettings({
424
- 'agent.model': MODEL_MOCK,
425
- 'agent.provider': PROVIDER_EXPLORER,
426
- });
427
- const manager = new SubagentManager({
428
- logger: createMockLogger(),
429
- settings,
430
- sessionContextService: createSessionContextService(),
431
- executionContext: {
432
- getCwd: () => tmpDir,
433
- isRemote: () => false,
434
- getSSHService: () => undefined,
435
- },
436
- });
437
- await manager.run({ role: ROLE_EXPLORER, task: TASK_INSPECT_TEMP_WORKSPACE });
438
- const agent = explorerRunnerCalls[explorerRunnerCalls.length - 1].agent;
439
- const shell = getAgentTool(agent, 'shell');
440
- expect(shell).toBeTruthy();
441
- for (const { command, path: relativePath } of TEMP_BLOCKED_CASES) {
442
- const output = await shell.invoke({}, JSON.stringify({ command }), {});
443
- expect(output.startsWith(EXPLORER_BLOCKED_PREFIX)).toBe(true);
444
- expect(fs.existsSync(path.join(tmpDir, relativePath))).toBe(false);
445
- }
446
- });
447
- it.sequential('run() with explorer role uses read-only tools only', async () => {
448
- const settings = createMockSettings({
449
- 'agent.model': MODEL_MOCK,
450
- 'agent.provider': PROVIDER_EXPLORER,
451
- });
452
- const manager = new SubagentManager({
453
- logger: createMockLogger(),
454
- settings,
455
- sessionContextService: createSessionContextService(),
456
- });
457
- await manager.run({ role: ROLE_EXPLORER, task: TASK_FIND_FILES });
458
- expect(explorerRunnerCalls.length).toBe(1);
459
- const agent = explorerRunnerCalls[0].agent;
460
- const toolNames = agent.tools.map((t) => t.name);
461
- // Explorer should have read tools
462
- expect(toolNames.includes('read_file')).toBe(true);
463
- expect(toolNames.includes('grep')).toBe(true);
464
- expect(toolNames.includes('find_files')).toBe(true);
465
- // Explorer should NOT have write tools
466
- expect(toolNames.includes('apply_patch')).toBe(false);
467
- expect(toolNames.includes('search_replace')).toBe(false);
468
- expect(toolNames.includes('create_file')).toBe(false);
469
- // Explorer should NOT have web tools by default
470
- expect(toolNames.includes('web_search')).toBe(false);
471
- expect(toolNames.includes('web_fetch')).toBe(false);
472
- expect(toolNames.includes('shell')).toBe(true);
473
- });
474
- // ========== Researcher role ==========
475
- let researcherRunnerCalls = [];
476
- let researcherProviderRegistered = false;
477
- function ensureResearcherProviderRegistered() {
478
- if (!researcherProviderRegistered) {
479
- registerProvider({
480
- id: 'mock-researcher-provider',
481
- label: 'Mock Researcher Provider',
482
- createRunner: () => ({
483
- run: async (_agent, _input, _options) => {
484
- researcherRunnerCalls.push({ agent: _agent });
485
- const result = {
486
- status: 'completed',
487
- finalOutput: 'Research findings.',
488
- history: [],
489
- messages: [],
490
- };
491
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
492
- },
493
- }),
494
- fetchModels: async () => [{ id: 'mock-model' }],
495
- });
496
- researcherProviderRegistered = true;
497
- }
498
- }
499
- beforeEach(() => {
500
- researcherRunnerCalls = [];
501
- ensureResearcherProviderRegistered();
502
- });
503
- it.sequential('run() with researcher role includes web tools', async () => {
504
- const settings = createMockSettings({
505
- 'agent.model': 'mock-model',
506
- 'agent.provider': 'mock-researcher-provider',
507
- });
508
- const manager = new SubagentManager({
509
- logger: createMockLogger(),
510
- settings,
511
- sessionContextService: createSessionContextService(),
512
- });
513
- await manager.run({ role: 'researcher', task: 'look up the latest TypeScript release' });
514
- expect(researcherRunnerCalls.length).toBe(1);
515
- const agent = researcherRunnerCalls[0].agent;
516
- const toolNames = agent.tools.map((t) => t.name);
517
- // Researcher should have read and web tools
518
- expect(toolNames.includes('read_file')).toBe(true);
519
- expect(toolNames.includes('web_search')).toBe(true);
520
- expect(toolNames.includes('web_fetch')).toBe(true);
521
- // But not write tools
522
- expect(toolNames.includes('apply_patch')).toBe(false);
523
- });
524
- // ========== Worker role ==========
525
- let workerRunnerCalls = [];
526
- let workerProviderRegistered = false;
527
- function ensureWorkerProviderRegistered() {
528
- if (!workerProviderRegistered) {
529
- registerProvider({
530
- id: 'mock-worker-provider',
531
- label: 'Mock Worker Provider',
532
- createRunner: () => ({
533
- run: async (_agent, _input, _options) => {
534
- workerRunnerCalls.push({ agent: _agent });
535
- const result = {
536
- status: 'completed',
537
- finalOutput: 'Changes applied.',
538
- history: [],
539
- messages: [],
540
- };
541
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
542
- },
543
- }),
544
- fetchModels: async () => [{ id: 'mock-model' }],
545
- });
546
- workerProviderRegistered = true;
547
- }
548
- }
549
- beforeEach(() => {
550
- workerRunnerCalls = [];
551
- ensureWorkerProviderRegistered();
552
- });
553
- it.sequential('run() with worker role includes write and shell tools for non-gpt model', async () => {
554
- const settings = createMockSettings({
555
- 'agent.model': 'mock-model',
556
- 'agent.provider': 'mock-worker-provider',
557
- });
558
- const manager = new SubagentManager({
559
- logger: createMockLogger(),
560
- settings,
561
- sessionContextService: createSessionContextService(),
562
- });
563
- await manager.run({ role: 'worker', task: 'update the README.md file' });
564
- expect(workerRunnerCalls.length).toBe(1);
565
- const agent = workerRunnerCalls[0].agent;
566
- const toolNames = agent.tools.map((t) => t.name);
567
- // Worker should have read, non-gpt write tools, and shell
568
- expect(toolNames.includes('read_file')).toBe(true);
569
- expect(toolNames.includes('search_replace')).toBe(true);
570
- expect(toolNames.includes('create_file')).toBe(true);
571
- expect(toolNames.includes('shell')).toBe(true);
572
- // Should NOT have apply_patch or web tools
573
- expect(toolNames.includes('apply_patch')).toBe(false);
574
- expect(toolNames.includes('web_search')).toBe(false);
575
- });
576
- it.sequential('run() with worker role includes write and shell tools for gpt model', async () => {
577
- const settings = createMockSettings({
578
- 'agent.model': 'gpt-5',
579
- 'agent.provider': 'mock-worker-provider',
580
- });
581
- const manager = new SubagentManager({
582
- logger: createMockLogger(),
583
- settings,
584
- sessionContextService: createSessionContextService(),
585
- });
586
- await manager.run({ role: 'worker', task: 'update the README.md file' });
587
- expect(workerRunnerCalls.length).toBe(1);
588
- const agent = workerRunnerCalls[0].agent;
589
- const toolNames = agent.tools.map((t) => t.name);
590
- // Worker should have read, gpt write tools (apply_patch), and shell
591
- expect(toolNames.includes('read_file')).toBe(true);
592
- expect(toolNames.includes('apply_patch')).toBe(true);
593
- expect(toolNames.includes('shell')).toBe(true);
594
- // Should NOT have search_replace, create_file, or web tools
595
- expect(toolNames.includes('search_replace')).toBe(false);
596
- expect(toolNames.includes('create_file')).toBe(false);
597
- expect(toolNames.includes('web_search')).toBe(false);
598
- });
599
- it.sequential('run() result contains agentId and correct role', async () => {
600
- const settings = createMockSettings({
601
- 'agent.model': 'mock-model',
602
- 'agent.provider': 'mock-worker-provider',
603
- });
604
- const manager = new SubagentManager({ logger: createMockLogger(), settings });
605
- const result = await manager.run({ role: 'worker', task: 'do some work' });
606
- expect(result.role).toBe('worker');
607
- expect(result.agentId).toBeTruthy();
608
- expect(result.agentId.length > 0).toBe(true);
609
- expect(result.filesChanged.length).toBe(0);
610
- expect(result.status).toBe('completed');
611
- });
612
- it.sequential('getRoleAgentTool caches one internal agent tool per role', () => {
613
- const manager = new SubagentManager({
614
- logger: createMockLogger(),
615
- settings: createMockSettings({
616
- 'agent.model': 'mock-model',
617
- 'agent.provider': 'mock-boundary-worker',
618
- }),
619
- });
620
- const first = manager.getRoleAgentTool('worker');
621
- const second = manager.getRoleAgentTool('worker');
622
- const explorer = manager.getRoleAgentTool('explorer');
623
- expect(first).toBe(second);
624
- expect(first).not.toBe(explorer);
625
- expect(first.name).toBe('run_subagent_worker');
626
- });
627
- it.sequential('clearCache rebuilds cached role agent tools', () => {
628
- const manager = new SubagentManager({
629
- logger: createMockLogger(),
630
- settings: createMockSettings({
631
- 'agent.model': 'mock-model',
632
- 'agent.provider': 'mock-boundary-worker',
633
- }),
634
- });
635
- const first = manager.getRoleAgentTool('worker');
636
- manager.clearCache();
637
- const rebuilt = manager.getRoleAgentTool('worker');
638
- expect(first).not.toBe(rebuilt);
639
- });
640
- it.sequential('cached worker agent preserves native approval checks for nested tools', async () => {
641
- const tmpDir = fs.mkdtempSync(path.join('/tmp', 'term2-test-nested-worker-approval-'));
642
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
643
- const manager = new SubagentManager({
644
- logger: createMockLogger(),
645
- settings: createMockSettings({
646
- 'agent.model': 'mock-model',
647
- 'agent.provider': 'mock-boundary-worker',
648
- }),
649
- executionContext: {
650
- getCwd: () => tmpDir,
651
- isRemote: () => false,
652
- getSSHService: () => undefined,
653
- },
654
- });
655
- const worker = manager.getRoleAgent('worker');
656
- const shell = getAgentTool(worker, 'shell');
657
- const createFile = getAgentTool(worker, 'create_file');
658
- expect(await shell.needsApproval({}, { command: 'touch nested-approval.txt' })).toBe(true);
659
- expect(await createFile.needsApproval({}, { path: 'inside.txt', content: 'ok' })).toBe(false);
660
- expect(await createFile.needsApproval({}, { path: '../outside.txt', content: 'blocked' })).toBe(false);
661
- });
662
- // ========== Write boundary enforcement ==========
663
- let boundaryWorkerCalls = [];
664
- let boundaryWorkerRegistered = false;
665
- function ensureBoundaryWorkerProviderRegistered() {
666
- if (!boundaryWorkerRegistered) {
667
- registerProvider({
668
- id: 'mock-boundary-worker',
669
- label: 'Mock Boundary Worker',
670
- createRunner: () => ({
671
- run: async (_agent, _input, _options) => {
672
- boundaryWorkerCalls.push({ agent: _agent });
673
- const result = {
674
- status: 'completed',
675
- finalOutput: 'Done.',
676
- history: [],
677
- messages: [],
678
- };
679
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
680
- },
681
- }),
682
- fetchModels: async () => [{ id: 'mock-model' }],
683
- });
684
- boundaryWorkerRegistered = true;
685
- }
686
- }
687
- beforeEach(() => {
688
- boundaryWorkerCalls = [];
689
- ensureBoundaryWorkerProviderRegistered();
690
- });
691
- it.sequential('worker write tool rejects paths outside workspace', async () => {
692
- const tmpDir = fs.mkdtempSync(path.join('/tmp', 'term2-test-boundary-'));
693
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
694
- const mockExecutionContext = {
695
- getCwd: () => tmpDir,
696
- isRemote: () => false,
697
- getSSHService: () => undefined,
698
- };
699
- // 1. Test apply_patch tool under gpt-5 model
700
- const settingsGpt = createMockSettings({
701
- 'agent.model': 'gpt-5',
702
- 'agent.provider': 'mock-boundary-worker',
703
- });
704
- const managerGpt = new SubagentManager({
705
- logger: createMockLogger(),
706
- settings: settingsGpt,
707
- executionContext: mockExecutionContext,
708
- });
709
- await managerGpt.run({
710
- role: 'worker',
711
- task: 'update a file',
712
- });
713
- expect(boundaryWorkerCalls.length).toBe(1);
714
- const agentGpt = boundaryWorkerCalls[0].agent;
715
- const applyPatch = agentGpt.tools.find((t) => t.name === 'apply_patch');
716
- expect(applyPatch).toBeTruthy();
717
- expect(agentGpt.tools.find((t) => t.name === 'search_replace')).toBeFalsy();
718
- // Call with a path inside the boundary — should NOT be rejected for boundary violation
719
- const insideResult = await applyPatch.invoke({}, JSON.stringify({
720
- type: 'create_file',
721
- path: 'newfile.ts',
722
- diff: '+hello\n',
723
- }), {});
724
- const insideError = insideResult.startsWith('Error:') ? insideResult : undefined;
725
- expect(!insideError || !insideError.includes('outside the allowed write boundary')).toBe(true);
726
- // Call with a path outside the boundary — should be rejected
727
- const outsideResult = await applyPatch.invoke({}, JSON.stringify({
728
- type: 'create_file',
729
- path: '../outside/file.ts',
730
- diff: '+hello\n',
731
- }), {});
732
- expect(outsideResult.includes('outside the allowed write boundary')).toBe(true);
733
- expect(outsideResult.startsWith('Error:')).toBe(true);
734
- const outsideNeedsApproval = await applyPatch.needsApproval({}, {
735
- type: 'create_file',
736
- path: '../outside/file.ts',
737
- diff: '+hello\n',
738
- });
739
- expect(outsideNeedsApproval).toBe(false);
740
- // 2. Test search_replace tool under non-gpt model
741
- const settingsNonGpt = createMockSettings({
742
- 'agent.model': 'mock-model',
743
- 'agent.provider': 'mock-boundary-worker',
744
- });
745
- const managerNonGpt = new SubagentManager({
746
- logger: createMockLogger(),
747
- settings: settingsNonGpt,
748
- executionContext: mockExecutionContext,
749
- });
750
- boundaryWorkerCalls = []; // reset calls
751
- await managerNonGpt.run({
752
- role: 'worker',
753
- task: 'update a file',
754
- });
755
- expect(boundaryWorkerCalls.length).toBe(1);
756
- const agentNonGpt = boundaryWorkerCalls[0].agent;
757
- const searchReplace = agentNonGpt.tools.find((t) => t.name === 'search_replace');
758
- expect(searchReplace).toBeTruthy();
759
- expect(agentNonGpt.tools.find((t) => t.name === 'apply_patch')).toBeFalsy();
760
- const batchOutsideResult = await searchReplace.invoke({}, JSON.stringify({
761
- path: '../outside.ts',
762
- replacements: [
763
- {
764
- search_content: '',
765
- replace_content: 'no',
766
- },
767
- ],
768
- }), {});
769
- expect(batchOutsideResult.includes('outside the allowed write boundary')).toBe(true);
770
- expect(batchOutsideResult.startsWith('Error:')).toBe(true);
771
- });
772
- it.sequential('worker writes are auto-approved within the workspace', async () => {
773
- const tmpDir = fs.mkdtempSync(path.join('/tmp', 'term2-test-worker-approval-'));
774
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
775
- const mockExecutionContext = {
776
- getCwd: () => tmpDir,
777
- isRemote: () => false,
778
- getSSHService: () => undefined,
779
- };
780
- const settings = createMockSettings({
781
- 'agent.model': 'mock-model',
782
- 'agent.provider': 'mock-boundary-worker',
783
- 'app.editMode': false,
784
- });
785
- const manager = new SubagentManager({
786
- logger: createMockLogger(),
787
- settings,
788
- executionContext: mockExecutionContext,
789
- });
790
- await manager.run({
791
- role: 'worker',
792
- task: 'update files',
793
- });
794
- expect(boundaryWorkerCalls.length).toBe(1);
795
- const agent = boundaryWorkerCalls[0].agent;
796
- const createFile = agent.tools.find((tool) => tool.name === 'create_file');
797
- expect(createFile).toBeTruthy();
798
- // In-boundary writes require no interactive approval (there is no foreground
799
- // approval channel for a subagent running inside a blocked parent tool call).
800
- // Standard mode is off but the write still does not need approval.
801
- const inBoundaryNeedsApproval = await createFile.needsApproval({}, { path: 'a.ts', content: 'x' });
802
- expect(inBoundaryNeedsApproval).toBe(false);
803
- // Out-of-boundary writes are also not surfaced for approval; they are
804
- // rejected deterministically by execute() instead.
805
- const outBoundaryNeedsApproval = await createFile.needsApproval({}, { path: '../escape.ts', content: 'x' });
806
- expect(outBoundaryNeedsApproval).toBe(false);
807
- });
808
- it.sequential('worker cannot write outside the workspace', async () => {
809
- const tmpDir = fs.mkdtempSync(path.join('/tmp', 'term2-test-worker-default-boundary-'));
810
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
811
- const mockExecutionContext = {
812
- getCwd: () => tmpDir,
813
- isRemote: () => false,
814
- getSSHService: () => undefined,
815
- };
816
- const settings = createMockSettings({
817
- 'agent.model': 'mock-model',
818
- 'agent.provider': 'mock-boundary-worker',
819
- });
820
- const manager = new SubagentManager({
821
- logger: createMockLogger(),
822
- settings,
823
- executionContext: mockExecutionContext,
824
- });
825
- // Writes default to the workspace root.
826
- await manager.run({ role: 'worker', task: 'update a file' });
827
- const agent = boundaryWorkerCalls[boundaryWorkerCalls.length - 1].agent;
828
- const createFile = agent.tools.find((tool) => tool.name === 'create_file');
829
- expect(createFile).toBeTruthy();
830
- const outsideResult = await createFile.invoke({}, JSON.stringify({ path: '../outside.ts', content: 'x' }), {});
831
- expect(outsideResult.includes('outside the allowed write boundary')).toBe(true);
832
- expect(outsideResult.startsWith('Error:')).toBe(true);
833
- });
834
- it.sequential('worker filesChanged tracks only successful writes for batch operations', async () => {
835
- const tmpDir = fs.mkdtempSync(path.join('/tmp', 'term2-test-worker-files-changed-'));
836
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
837
- registerProvider({
838
- id: 'mock-worker-files-changed-provider',
839
- label: 'Mock Worker Files Changed Provider',
840
- createRunner: () => ({
841
- run: async (agent) => {
842
- const applyPatch = agent.tools.find((tool) => tool.name === 'apply_patch');
843
- const searchReplace = agent.tools.find((tool) => tool.name === 'search_replace');
844
- if (applyPatch) {
845
- await applyPatch.invoke({}, JSON.stringify({
846
- operations: [
847
- { type: 'create_file', path: 'a.txt', diff: '+hello\n' },
848
- { type: 'update_file', path: 'missing.txt', diff: '-x\n+y\n' },
849
- ],
850
- }), {});
851
- }
852
- if (searchReplace) {
853
- await searchReplace.invoke({}, JSON.stringify({
854
- path: 'b.txt',
855
- replacements: [{ search_content: '', replace_content: 'created' }],
856
- }), {});
857
- await searchReplace.invoke({}, JSON.stringify({
858
- path: 'missing2.txt',
859
- replacements: [{ search_content: 'x', replace_content: 'y' }],
860
- }), {});
861
- }
862
- const result = {
863
- status: 'completed',
864
- finalOutput: 'Done.',
865
- history: [],
866
- messages: [],
867
- };
868
- return wrapResultAsAgentStream(result);
869
- },
870
- }),
871
- fetchModels: async () => [{ id: 'mock-model' }],
872
- });
873
- // 1. Test with GPT-5 model (using apply_patch)
874
- const managerGpt = new SubagentManager({
875
- logger: createMockLogger(),
876
- settings: createMockSettings({
877
- 'agent.model': 'gpt-5',
878
- 'agent.provider': 'mock-worker-files-changed-provider',
879
- }),
880
- executionContext: {
881
- getCwd: () => tmpDir,
882
- isRemote: () => false,
883
- getSSHService: () => undefined,
884
- },
885
- });
886
- const resultGpt = await managerGpt.run({ role: 'worker', task: 'do mixed writes' });
887
- expect(new Set(resultGpt.filesChanged)).toEqual(new Set(['a.txt']));
888
- // 2. Test with non-GPT-5 model (using search_replace)
889
- const managerNonGpt = new SubagentManager({
890
- logger: createMockLogger(),
891
- settings: createMockSettings({
892
- 'agent.model': 'mock-model',
893
- 'agent.provider': 'mock-worker-files-changed-provider',
894
- }),
895
- executionContext: {
896
- getCwd: () => tmpDir,
897
- isRemote: () => false,
898
- getSSHService: () => undefined,
899
- },
900
- });
901
- const resultNonGpt = await managerNonGpt.run({ role: 'worker', task: 'do mixed writes' });
902
- expect(new Set(resultNonGpt.filesChanged)).toEqual(new Set(['b.txt']));
903
- });
904
- it.sequential('worker write lock rejects concurrent create_file for same path without waiting', async () => {
905
- const tmpDir = fs.mkdtempSync(path.join('/tmp', 'term2-test-worker-lock-'));
906
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
907
- registerProvider({
908
- id: 'mock-worker-lock-provider',
909
- label: 'Mock Worker Lock Provider',
910
- createRunner: () => ({
911
- run: async (agent) => {
912
- const createFile = agent.tools.find((tool) => tool.name === 'create_file');
913
- const [first, second] = await Promise.all([
914
- createFile.invoke({}, JSON.stringify({
915
- path: 'locked.txt',
916
- content: 'one',
917
- }), {}),
918
- createFile.invoke({}, JSON.stringify({
919
- path: 'locked.txt',
920
- content: 'two',
921
- }), {}),
922
- ]);
923
- const result = {
924
- status: 'completed',
925
- finalOutput: JSON.stringify({ first, second }),
926
- history: [],
927
- messages: [],
928
- };
929
- return wrapResultAsAgentStream(result);
930
- },
931
- }),
932
- fetchModels: async () => [{ id: 'mock-model' }],
933
- });
934
- const manager = new SubagentManager({
935
- logger: createMockLogger(),
936
- settings: createMockSettings({
937
- 'agent.model': 'mock-model',
938
- 'agent.provider': 'mock-worker-lock-provider',
939
- }),
940
- executionContext: {
941
- getCwd: () => tmpDir,
942
- isRemote: () => false,
943
- getSSHService: () => undefined,
944
- },
945
- });
946
- const result = await manager.run({ role: 'worker', task: 'concurrent writes' });
947
- const parsed = JSON.parse(result.finalText);
948
- const first = parsed.first;
949
- const second = parsed.second;
950
- const allErrors = [first, second]
951
- .filter((text) => typeof text === 'string' && text.startsWith('Error:'))
952
- .join(' ');
953
- expect(allErrors.includes('already being modified')).toBe(true);
954
- });
955
- // ========== Session isolation ==========
956
- it.sequential('run() creates isolated sessions for each subagent call', async () => {
957
- const settings = createMockSettings({
958
- 'agent.model': 'mock-model',
959
- 'agent.provider': 'mock-explorer-provider',
960
- });
961
- const manager = new SubagentManager({ logger: createMockLogger(), settings });
962
- const [result1, result2] = await Promise.all([
963
- manager.run({ role: 'explorer', task: 'task 1' }),
964
- manager.run({ role: 'explorer', task: 'task 2' }),
965
- ]);
966
- expect(result1.status).toBe('completed');
967
- expect(result2.status).toBe('completed');
968
- expect(result1.agentId).not.toBe(result2.agentId);
969
- });
970
- // ========== Real-time events ==========
971
- let eventToolProviderRegistered = false;
972
- function ensureEventToolProviderRegistered() {
973
- if (!eventToolProviderRegistered) {
974
- registerProvider({
975
- id: 'mock-event-tool-provider',
976
- label: 'Mock Event Tool Provider',
977
- createRunner: () => ({
978
- run: async (agent) => {
979
- const readFile = agent.tools.find((tool) => tool.name === 'read_file');
980
- try {
981
- await readFile.invoke({}, JSON.stringify({ path: '/nonexistent-subagent-event-test' }), {});
982
- }
983
- catch {
984
- // Tool execution may fail (missing file); we only care that the
985
- // tool-started event fired before execution.
986
- }
987
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
988
- return wrapResultAsAgentStream(result);
989
- },
990
- }),
991
- fetchModels: async () => [{ id: 'mock-model' }],
992
- });
993
- eventToolProviderRegistered = true;
994
- }
995
- }
996
- it.sequential('run() emits started and completed events', async () => {
997
- ensureEventToolProviderRegistered();
998
- const settings = createMockSettings({
999
- 'agent.model': 'mock-model',
1000
- 'agent.provider': 'mock-event-tool-provider',
1001
- });
1002
- const events = [];
1003
- const manager = new SubagentManager({
1004
- logger: createMockLogger(),
1005
- settings,
1006
- sessionContextService: createSessionContextService(),
1007
- onEvent: (event) => events.push(event),
1008
- });
1009
- const result = await manager.run({ role: 'explorer', task: 'search the code' });
1010
- const started = events.find((e) => e.type === 'subagent_started');
1011
- expect(started).toBeTruthy();
1012
- expect(started.role).toBe('explorer');
1013
- expect(started.task).toBe('search the code');
1014
- expect(started.agentId).toBe(result.agentId);
1015
- const completed = events.find((e) => e.type === 'subagent_completed');
1016
- expect(completed).toBeTruthy();
1017
- expect(completed.result.agentId).toBe(result.agentId);
1018
- });
1019
- it.sequential('run() emits a completed event even when the role is unknown', async () => {
1020
- const settings = createMockSettings({ 'agent.model': 'mock-model' });
1021
- const events = [];
1022
- const manager = new SubagentManager({
1023
- logger: createMockLogger(),
1024
- settings,
1025
- sessionContextService: createSessionContextService(),
1026
- onEvent: (event) => events.push(event),
1027
- });
1028
- await manager.run({ role: 'definitely-not-a-role', task: 'x' });
1029
- expect(events.find((e) => e.type === 'subagent_started')).toBeTruthy();
1030
- const completed = events.find((e) => e.type === 'subagent_completed');
1031
- expect(completed).toBeTruthy();
1032
- expect(completed.result.status).toBe('failed');
1033
- });
1034
- // ========== Mentor role definition sourced from markdown ==========
1035
- it.sequential('mentor base instructions come from the mentor role markdown', async () => {
1036
- const settings = createMockSettings({
1037
- 'agent.model': 'main-model',
1038
- 'agent.provider': 'mock-mentor-manager',
1039
- 'agent.mentorModel': 'mentor-model',
1040
- 'agent.mentorProvider': 'mock-mentor-manager',
1041
- 'app.mentorMode': false,
1042
- });
1043
- const manager = new SubagentManager({
1044
- logger: createMockLogger(),
1045
- settings,
1046
- sessionContextService: createSessionContextService(),
1047
- });
1048
- await manager.run({ role: 'mentor', task: 'advise me' });
1049
- expect(mentorManagerRunnerCalls.length).toBe(1);
1050
- const instructions = mentorManagerRunnerCalls[0].agent.instructions;
1051
- // Dynamically load the mentor role markdown to verify integration without brittle hardcoding
1052
- const mentorPath = path.join(import.meta.dirname, '../../../source/prompts/subagents/mentor.md');
1053
- const mentorContent = fs.readFileSync(mentorPath, 'utf-8');
1054
- const parts = mentorContent.split('---');
1055
- const expectedBody = parts[parts.length - 1].trim();
1056
- expect(instructions.includes(expectedBody)).toBe(true);
1057
- });
1058
- // ========== finalText excludes pre-tool narration ==========
1059
- let postToolProviderRegistered = false;
1060
- function ensurePostToolProviderRegistered() {
1061
- if (!postToolProviderRegistered) {
1062
- registerProvider({
1063
- id: 'mock-post-tool-provider',
1064
- label: 'Mock Post Tool Provider',
1065
- createRunner: () => ({
1066
- run: async (_agent, _input, _options) => {
1067
- const result = {
1068
- status: 'completed',
1069
- // finalOutput intentionally absent to exercise the history fallback.
1070
- finalOutput: 'Final answer: it is in foo.ts.',
1071
- history: [
1072
- { rawItem: { role: 'assistant', content: 'Let me look into this first.' } },
1073
- { rawItem: { type: 'function_call', name: 'grep' } },
1074
- { rawItem: { type: 'function_call_result', name: 'grep' } },
1075
- { rawItem: { role: 'assistant', content: 'Final answer: it is in foo.ts.' } },
1076
- ],
1077
- messages: [],
1078
- };
1079
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
1080
- },
1081
- }),
1082
- fetchModels: async () => [{ id: 'mock-model' }],
1083
- });
1084
- postToolProviderRegistered = true;
1085
- }
1086
- }
1087
- it.sequential('finalText is the assistant message after the last tool item', async () => {
1088
- ensurePostToolProviderRegistered();
1089
- const settings = createMockSettings({
1090
- 'agent.model': 'mock-model',
1091
- 'agent.provider': 'mock-post-tool-provider',
1092
- });
1093
- const manager = new SubagentManager({
1094
- logger: createMockLogger(),
1095
- settings,
1096
- sessionContextService: createSessionContextService(),
1097
- });
1098
- const result = await manager.run({ role: 'explorer', task: 'where is it' });
1099
- expect(result.finalText).toBe('Final answer: it is in foo.ts.');
1100
- expect(result.finalText.includes('Let me look into this first.')).toBe(false);
1101
- });
1102
- // ========== Worker shell tool — safety gating ==========
1103
- it.sequential('worker shell tool executes safe command without triggering approval UI', async () => {
1104
- const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-worker-shell-safe-'));
1105
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
1106
- let shellResult = null;
1107
- registerProvider({
1108
- id: 'mock-worker-shell-safe-provider',
1109
- label: 'Mock Worker Shell Safe Provider',
1110
- createRunner: () => ({
1111
- run: async (agent, _input, _options) => {
1112
- const shellTool = agent.tools.find((tool) => tool.name === 'shell');
1113
- // needsApproval must be false for safe commands — no approval UI in workers
1114
- const needsApproval = await shellTool.needsApproval({}, { command: 'ls .' });
1115
- expect(needsApproval, 'worker shell tool must never require approval').toBe(false);
1116
- shellResult = await shellTool.invoke({}, JSON.stringify({ command: 'echo hello' }), {});
1117
- const result = {
1118
- status: 'completed',
1119
- finalOutput: 'done',
1120
- history: [],
1121
- messages: [],
1122
- };
1123
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
1124
- },
1125
- }),
1126
- fetchModels: async () => [{ id: 'mock-model' }],
1127
- });
1128
- const manager = new SubagentManager({
1129
- logger: createMockLogger(),
1130
- settings: createMockSettings({
1131
- 'agent.model': 'mock-model',
1132
- 'agent.provider': 'mock-worker-shell-safe-provider',
1133
- }),
1134
- sessionContextService: createSessionContextService(),
1135
- executionContext: {
1136
- getCwd: () => tmpDir,
1137
- isRemote: () => false,
1138
- getSSHService: () => undefined,
1139
- },
1140
- });
1141
- await manager.run({ role: 'worker', task: 'list files' });
1142
- // The shell tool should have executed and returned output (not an error block)
1143
- expect(shellResult).toBeTruthy();
1144
- expect(shellResult.includes('blocked for safety')).toBe(false);
1145
- });
1146
- it.sequential('worker shell tool blocks dangerous/destructive commands and returns error string', async () => {
1147
- const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-worker-shell-dangerous-'));
1148
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
1149
- let shellResult = null;
1150
- registerProvider({
1151
- id: 'mock-worker-shell-dangerous-provider',
1152
- label: 'Mock Worker Shell Dangerous Provider',
1153
- createRunner: () => ({
1154
- run: async (agent, _input, _options) => {
1155
- const shellTool = agent.tools.find((tool) => tool.name === 'shell');
1156
- // needsApproval must always be false — dangerous commands are blocked by execute(), not approval
1157
- const needsApproval = await shellTool.needsApproval({}, { command: 'rm -rf /tmp/something' });
1158
- expect(needsApproval, 'worker shell must never trigger approval UI even for dangerous commands').toBe(false);
1159
- shellResult = await shellTool.invoke({}, JSON.stringify({ command: 'rm -rf /tmp/something' }), {});
1160
- const result = {
1161
- status: 'completed',
1162
- finalOutput: 'done',
1163
- history: [],
1164
- messages: [],
1165
- };
1166
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
1167
- },
1168
- }),
1169
- fetchModels: async () => [{ id: 'mock-model' }],
1170
- });
1171
- const manager = new SubagentManager({
1172
- logger: createMockLogger(),
1173
- settings: createMockSettings({
1174
- 'agent.model': 'mock-model',
1175
- 'agent.provider': 'mock-worker-shell-dangerous-provider',
1176
- }),
1177
- sessionContextService: createSessionContextService(),
1178
- executionContext: {
1179
- getCwd: () => tmpDir,
1180
- isRemote: () => false,
1181
- getSSHService: () => undefined,
1182
- },
1183
- });
1184
- await manager.run({ role: 'worker', task: 'delete stuff' });
1185
- // The shell tool should have returned a blocked-for-safety error string, not executed
1186
- expect(shellResult).toBeTruthy();
1187
- expect(shellResult.includes('blocked for safety')).toBe(true);
1188
- expect(shellResult.includes('exit 0')).toBe(false);
1189
- });
1190
- it.sequential('worker shell tool allows YELLOW command when auto-approval evaluator approves', async () => {
1191
- const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-worker-shell-yellow-ok-'));
1192
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
1193
- let shellResult = null;
1194
- let chatCalls = 0;
1195
- let evaluatorPrompt = '';
1196
- registerProvider({
1197
- id: 'mock-worker-shell-yellow-approved-provider',
1198
- label: 'Mock Worker Shell Yellow Approved Provider',
1199
- createRunner: () => ({
1200
- run: async (agent, _input, _options) => {
1201
- const shellTool = agent.tools.find((tool) => tool.name === 'shell');
1202
- shellResult = await shellTool.invoke({}, JSON.stringify({ command: 'npm run test:verbose -- --help' }), {});
1203
- const result = {
1204
- status: 'completed',
1205
- finalOutput: 'done',
1206
- history: [],
1207
- messages: [],
1208
- };
1209
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
1210
- },
1211
- }),
1212
- fetchModels: async () => [{ id: 'mock-model' }],
1213
- });
1214
- const manager = new SubagentManager({
1215
- logger: createMockLogger(),
1216
- settings: createMockSettings({
1217
- 'agent.model': 'mock-model',
1218
- 'agent.provider': 'mock-worker-shell-yellow-approved-provider',
1219
- 'shell.autoApproveMode': 'auto',
1220
- 'agent.autoApproveModel': 'mock-auto-approve-model',
1221
- 'agent.autoApproveProvider': 'mock-worker-shell-yellow-approved-provider',
1222
- }),
1223
- sessionContextService: createSessionContextService(),
1224
- agentClient: {
1225
- chat: async (message) => {
1226
- chatCalls++;
1227
- evaluatorPrompt = message;
1228
- return '{"results":[{"approved":true,"reasoning":"Looks related and low risk."}]}';
1229
- },
1230
- },
1231
- executionContext: {
1232
- getCwd: () => tmpDir,
1233
- isRemote: () => false,
1234
- getSSHService: () => undefined,
1235
- },
1236
- });
1237
- await manager.run({ role: 'worker', task: 'run help for tests in this repository' });
1238
- expect(chatCalls).toBe(1);
1239
- expect(evaluatorPrompt.includes('run help for tests in this repository')).toBe(true);
1240
- expect(shellResult).toBeTruthy();
1241
- expect(shellResult.includes('blocked for safety')).toBe(false);
1242
- });
1243
- it.sequential('worker shell tool blocks YELLOW command when auto-approval evaluator rejects', async () => {
1244
- const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-worker-shell-yellow-no-'));
1245
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
1246
- let shellResult = null;
1247
- let chatCalls = 0;
1248
- registerProvider({
1249
- id: 'mock-worker-shell-yellow-rejected-provider',
1250
- label: 'Mock Worker Shell Yellow Rejected Provider',
1251
- createRunner: () => ({
1252
- run: async (agent, _input, _options) => {
1253
- const shellTool = agent.tools.find((tool) => tool.name === 'shell');
1254
- shellResult = await shellTool.invoke({}, JSON.stringify({ command: 'npm run test:verbose -- --help' }), {});
1255
- const result = {
1256
- status: 'completed',
1257
- finalOutput: 'done',
1258
- history: [],
1259
- messages: [],
1260
- };
1261
- return _options?.stream ? wrapResultAsAgentStream(result) : result;
1262
- },
1263
- }),
1264
- fetchModels: async () => [{ id: 'mock-model' }],
1265
- });
1266
- const manager = new SubagentManager({
1267
- logger: createMockLogger(),
1268
- settings: createMockSettings({
1269
- 'agent.model': 'mock-model',
1270
- 'agent.provider': 'mock-worker-shell-yellow-rejected-provider',
1271
- 'shell.autoApproveMode': 'auto',
1272
- 'agent.autoApproveModel': 'mock-auto-approve-model',
1273
- 'agent.autoApproveProvider': 'mock-worker-shell-yellow-rejected-provider',
1274
- }),
1275
- sessionContextService: createSessionContextService(),
1276
- agentClient: {
1277
- chat: async () => {
1278
- chatCalls++;
1279
- return '{"results":[{"approved":false,"reasoning":"Not safe."}]}';
1280
- },
1281
- },
1282
- executionContext: {
1283
- getCwd: () => tmpDir,
1284
- isRemote: () => false,
1285
- getSSHService: () => undefined,
1286
- },
1287
- });
1288
- await manager.run({ role: 'worker', task: 'run help for tests' });
1289
- expect(chatCalls).toBe(1);
1290
- expect(shellResult).toBeTruthy();
1291
- expect(shellResult.includes('blocked for safety')).toBe(true);
1292
- });
1293
- it.sequential('run() extracts usage from error.state.usage when subagent run fails', async () => {
1294
- registerProvider({
1295
- id: 'mock-failed-usage-provider',
1296
- label: 'Mock Failed Usage Provider',
1297
- createRunner: () => ({
1298
- run: async () => {
1299
- const err = new Error('Run failed due to some reason');
1300
- err.state = {
1301
- usage: {
1302
- inputTokens: 15,
1303
- outputTokens: 25,
1304
- },
1305
- };
1306
- throw err;
1307
- },
1308
- }),
1309
- fetchModels: async () => [{ id: 'mock-model' }],
1310
- });
1311
- const settings = createMockSettings({
1312
- 'agent.model': 'mock-model',
1313
- 'agent.provider': 'mock-failed-usage-provider',
1314
- });
1315
- const manager = new SubagentManager({
1316
- logger: createMockLogger(),
1317
- settings,
1318
- sessionContextService: createSessionContextService(),
1319
- });
1320
- const result = await manager.run({
1321
- role: 'explorer',
1322
- task: 'find files',
1323
- });
1324
- expect(result.status).toBe('failed');
1325
- expect(result.usage).toEqual({
1326
- prompt_tokens: 15,
1327
- completion_tokens: 25,
1328
- total_tokens: 40,
1329
- });
1330
- });
1331
- // ========== Model error retry ==========
1332
- it.sequential('run() retries on recoverable model error (hallucinated tool) and succeeds on second attempt', async () => {
1333
- let runCount = 0;
1334
- const events = [];
1335
- const logWarnCalls = [];
1336
- registerProvider({
1337
- id: 'mock-retry-recoverable-provider',
1338
- label: 'Mock Retry Recoverable Provider',
1339
- createRunner: () => ({
1340
- run: async () => {
1341
- runCount++;
1342
- if (runCount === 1) {
1343
- return wrapErrorAsAgentStream(new ModelBehaviorError('Tool bash not found in agent Explorer.'));
1344
- }
1345
- const result = {
1346
- status: 'completed',
1347
- finalOutput: 'Success on retry',
1348
- history: [],
1349
- messages: [],
1350
- };
1351
- return wrapResultAsAgentStream(result);
1352
- },
1353
- }),
1354
- fetchModels: async () => [{ id: 'mock-model' }],
1355
- });
1356
- const manager = new SubagentManager({
1357
- logger: {
1358
- ...createMockLogger(),
1359
- warn: (msg, meta) => {
1360
- logWarnCalls.push({ msg, meta });
1361
- },
1362
- },
1363
- settings: createMockSettings({
1364
- 'agent.model': 'mock-model',
1365
- 'agent.provider': 'mock-retry-recoverable-provider',
1366
- 'agent.retryAttempts': 2,
1367
- }),
1368
- sessionContextService: createSessionContextService(),
1369
- onEvent: (event) => events.push(event),
1370
- });
1371
- const result = await manager.run({ role: 'explorer', task: 'find all files' });
1372
- expect(result.status).toBe('completed');
1373
- expect(runCount).toBe(2);
1374
- const retryEvent = events.find((e) => e.type === 'retry');
1375
- expect(retryEvent).toBeTruthy();
1376
- expect(retryEvent.toolName).toBe('bash');
1377
- expect(retryEvent.retryType).toBe('hallucination');
1378
- expect(retryEvent.attempt).toBe(1);
1379
- expect(retryEvent.maxRetries).toBe(MAX_SUBAGENT_MODEL_RETRIES);
1380
- const retryLog = logWarnCalls.find((c) => c.meta?.eventType === 'retry.model_error');
1381
- expect(retryLog).toBeTruthy();
1382
- });
1383
- it.sequential('run() exhausts retries on repeated recoverable model errors and returns failed result', async () => {
1384
- let runCount = 0;
1385
- const events = [];
1386
- registerProvider({
1387
- id: 'mock-retry-exhaust-provider',
1388
- label: 'Mock Retry Exhaust Provider',
1389
- createRunner: () => ({
1390
- run: async () => {
1391
- runCount++;
1392
- return wrapErrorAsAgentStream(new ModelBehaviorError('Tool bash not found in agent Explorer.'));
1393
- },
1394
- }),
1395
- fetchModels: async () => [{ id: 'mock-model' }],
1396
- });
1397
- const manager = new SubagentManager({
1398
- logger: createMockLogger(),
1399
- settings: createMockSettings({
1400
- 'agent.model': 'mock-model',
1401
- 'agent.provider': 'mock-retry-exhaust-provider',
1402
- 'agent.retryAttempts': 2,
1403
- }),
1404
- sessionContextService: createSessionContextService(),
1405
- onEvent: (event) => events.push(event),
1406
- });
1407
- const result = await manager.run({ role: 'explorer', task: 'find all files' });
1408
- expect(result.status).toBe('failed');
1409
- expect(result.error).toBeTruthy();
1410
- expect(result.error.includes('bash')).toBe(true);
1411
- // Should have tried: initial + MAX_SUBAGENT_MODEL_RETRIES retries.
1412
- expect(runCount).toBe(1 + MAX_SUBAGENT_MODEL_RETRIES);
1413
- const retryEvents = events.filter((e) => e.type === 'retry');
1414
- expect(retryEvents.length, 'should emit one retry event per retry attempt').toBe(MAX_SUBAGENT_MODEL_RETRIES);
1415
- });
1416
- it.sequential('run() does not retry on non-recoverable ModelBehaviorError', async () => {
1417
- let runCount = 0;
1418
- const events = [];
1419
- registerProvider({
1420
- id: 'mock-no-retry-non-recoverable-provider',
1421
- label: 'Mock No Retry Non-Recoverable Provider',
1422
- createRunner: () => ({
1423
- run: async () => {
1424
- runCount++;
1425
- throw new ModelBehaviorError('something else unrelated to tools');
1426
- },
1427
- }),
1428
- fetchModels: async () => [{ id: 'mock-model' }],
1429
- });
1430
- const manager = new SubagentManager({
1431
- logger: createMockLogger(),
1432
- settings: createMockSettings({
1433
- 'agent.model': 'mock-model',
1434
- 'agent.provider': 'mock-no-retry-non-recoverable-provider',
1435
- 'agent.retryAttempts': 2,
1436
- }),
1437
- sessionContextService: createSessionContextService(),
1438
- onEvent: (event) => events.push(event),
1439
- });
1440
- const result = await manager.run({ role: 'explorer', task: 'find all files' });
1441
- expect(result.status).toBe('failed');
1442
- expect(runCount, 'no retry should be attempted').toBe(1);
1443
- const retryEvents = events.filter((e) => e.type === 'retry');
1444
- expect(retryEvents.length).toBe(0);
1445
- });
1446
- it.sequential('run() aborted subagent returns cancelled status without model-error retry', async () => {
1447
- const events = [];
1448
- registerProvider({
1449
- id: 'mock-abort-no-retry-provider',
1450
- label: 'Mock Abort No Retry Provider',
1451
- createRunner: () => ({
1452
- run: async () => {
1453
- const err = new Error('The operation was aborted');
1454
- err.name = 'AbortError';
1455
- throw err;
1456
- },
1457
- }),
1458
- fetchModels: async () => [{ id: 'mock-model' }],
1459
- });
1460
- const manager = new SubagentManager({
1461
- logger: createMockLogger(),
1462
- settings: createMockSettings({
1463
- 'agent.model': 'mock-model',
1464
- 'agent.provider': 'mock-abort-no-retry-provider',
1465
- 'agent.retryAttempts': 2,
1466
- }),
1467
- sessionContextService: createSessionContextService(),
1468
- onEvent: (event) => events.push(event),
1469
- });
1470
- const result = await manager.run({ role: 'explorer', task: 'find all files' });
1471
- expect(result.status).toBe('cancelled');
1472
- const retryEvents = events.filter((e) => e.type === 'retry');
1473
- expect(retryEvents.length, 'abort errors should not trigger model-error retries').toBe(0);
1474
- });
1475
- it.sequential('run() does not restart read-only subagent from the beginning after a recoverable model error', async () => {
1476
- let runCount = 0;
1477
- const events = [];
1478
- registerProvider({
1479
- id: 'mock-explorer-read-then-crash-provider',
1480
- label: 'Mock Explorer Read Then Crash Provider',
1481
- createRunner: () => ({
1482
- run: async (agent) => {
1483
- runCount++;
1484
- if (runCount === 1) {
1485
- // Call a read tool then throw a recoverable error
1486
- const grep = agent.tools.find((tool) => tool.name === 'grep');
1487
- if (grep) {
1488
- await grep.invoke({}, JSON.stringify({ pattern: 'foo', path: '.' }), {}).catch(() => { });
1489
- }
1490
- throw new ModelBehaviorError('Tool bash not found in agent Explorer.');
1491
- }
1492
- const result = { status: 'completed', finalOutput: 'found it', history: [], messages: [] };
1493
- return wrapResultAsAgentStream(result);
1494
- },
1495
- }),
1496
- fetchModels: async () => [{ id: 'mock-model' }],
1497
- });
1498
- const manager = new SubagentManager({
1499
- logger: createMockLogger(),
1500
- settings: createMockSettings({
1501
- 'agent.model': 'mock-model',
1502
- 'agent.provider': 'mock-explorer-read-then-crash-provider',
1503
- 'agent.retryAttempts': 2,
1504
- }),
1505
- sessionContextService: createSessionContextService(),
1506
- onEvent: (event) => events.push(event),
1507
- });
1508
- const result = await manager.run({ role: 'explorer', task: 'search for something' });
1509
- expect(result.status).toBe('failed');
1510
- expect(result.error?.includes('bash')).toBe(true);
1511
- expect(runCount, 'subagent must not restart from the beginning when no resumable stream exists').toBe(1);
1512
- expect(events.filter((event) => event.type === 'retry').length).toBe(0);
1513
- });
1514
- it.sequential('subagent run injects warning into tool output when turns left <= 5', async () => {
1515
- let executeOutput = null;
1516
- registerProvider({
1517
- id: 'mock-subagent-maxturns-provider',
1518
- label: 'Mock Subagent MaxTurns Provider',
1519
- createRunner: () => ({
1520
- run: async (agent, _input, options) => {
1521
- if (options.callModelInputFilter) {
1522
- // Simulate 96 turns
1523
- for (let i = 0; i < 96; i++) {
1524
- await options.callModelInputFilter({
1525
- modelData: { input: [] },
1526
- agent,
1527
- context: options.context,
1528
- });
1529
- }
1530
- }
1531
- // Execute a tool to see if the warning is injected
1532
- const readFileTool = agent.tools.find((tool) => tool.name === 'read_file');
1533
- if (readFileTool) {
1534
- const mockRunContext = {
1535
- context: options.context,
1536
- };
1537
- executeOutput = await readFileTool.invoke(mockRunContext, JSON.stringify({ path: 'package.json' }), {});
1538
- }
1539
- const result = {
1540
- status: 'completed',
1541
- finalOutput: 'done',
1542
- history: [],
1543
- messages: [],
1544
- };
1545
- return options?.stream ? wrapResultAsAgentStream(result) : result;
1546
- },
1547
- }),
1548
- fetchModels: async () => [{ id: 'mock-model' }],
1549
- });
1550
- const manager = new SubagentManager({
1551
- logger: createMockLogger(),
1552
- settings: createMockSettings({
1553
- 'agent.model': 'mock-model',
1554
- 'agent.provider': 'mock-subagent-maxturns-provider',
1555
- }),
1556
- sessionContextService: createSessionContextService(),
1557
- });
1558
- await manager.run({ role: 'explorer', task: 'mock task' });
1559
- expect(executeOutput).toBeTruthy();
1560
- expect(executeOutput.includes('approaching the maximum turn limit')).toBe(true);
1561
- expect(executeOutput.includes('4 turns left')).toBe(true);
1562
- });
1563
- it.sequential('execution subagents select subagent-safe model-family prompts and append role instructions', async () => {
1564
- let constructedAgentExplorer = null;
1565
- let constructedAgentWorker = null;
1566
- let constructedAgentResearcher = null;
1567
- registerProvider({
1568
- id: 'mock-prompt-test-provider-gpt-5-codex',
1569
- label: 'Mock Prompt Test Provider GPT-5 Codex',
1570
- createRunner: () => ({
1571
- run: async (agent) => {
1572
- constructedAgentExplorer = agent;
1573
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1574
- return wrapResultAsAgentStream(result);
1575
- },
1576
- }),
1577
- fetchModels: async () => [{ id: 'gpt-5-codex' }],
1578
- });
1579
- registerProvider({
1580
- id: 'mock-prompt-test-provider-claude-3-sonnet',
1581
- label: 'Mock Prompt Test Provider Claude 3 Sonnet',
1582
- createRunner: () => ({
1583
- run: async (agent) => {
1584
- constructedAgentWorker = agent;
1585
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1586
- return wrapResultAsAgentStream(result);
1587
- },
1588
- }),
1589
- fetchModels: async () => [{ id: 'claude-3-sonnet' }],
1590
- });
1591
- registerProvider({
1592
- id: 'mock-prompt-test-provider-gpt-5-modern',
1593
- label: 'Mock Prompt Test Provider GPT-5 Modern',
1594
- createRunner: () => ({
1595
- run: async (agent) => {
1596
- constructedAgentResearcher = agent;
1597
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1598
- return wrapResultAsAgentStream(result);
1599
- },
1600
- }),
1601
- fetchModels: async () => [{ id: 'gpt-5' }],
1602
- });
1603
- // 1. Run explorer subagent with gpt-5-codex
1604
- const managerExplorer = new SubagentManager({
1605
- logger: createMockLogger(),
1606
- settings: createMockSettings({
1607
- 'agent.model': 'gpt-5-codex',
1608
- 'agent.provider': 'mock-prompt-test-provider-gpt-5-codex',
1609
- }),
1610
- sessionContextService: createSessionContextService(),
1611
- });
1612
- await managerExplorer.run({ role: 'explorer', task: 'explorer task' });
1613
- expect(constructedAgentExplorer).toBeTruthy();
1614
- expect(constructedAgentExplorer.instructions.includes('nested Codex-family subagent')).toBe(true);
1615
- expect(constructedAgentExplorer.instructions.includes('You are an explorer subagent.')).toBe(true);
1616
- expect(constructedAgentExplorer.instructions.includes('## Worktree Hygiene')).toBe(true);
1617
- expect(constructedAgentExplorer.instructions.includes('## Available Tool Guidance')).toBe(true);
1618
- const codexIdx = constructedAgentExplorer.instructions.indexOf('nested Codex-family subagent');
1619
- const explorerIdx = constructedAgentExplorer.instructions.indexOf('You are an explorer subagent');
1620
- expect(codexIdx < explorerIdx).toBe(true);
1621
- // 2. Run worker subagent with claude-3-sonnet
1622
- const managerWorker = new SubagentManager({
1623
- logger: createMockLogger(),
1624
- settings: createMockSettings({
1625
- 'agent.model': 'claude-3-sonnet',
1626
- 'agent.provider': 'mock-prompt-test-provider-claude-3-sonnet',
1627
- }),
1628
- sessionContextService: createSessionContextService(),
1629
- });
1630
- await managerWorker.run({ role: 'worker', task: 'worker task' });
1631
- expect(constructedAgentWorker).toBeTruthy();
1632
- expect(constructedAgentWorker.instructions.includes('nested Anthropic-family subagent')).toBe(true);
1633
- expect(constructedAgentWorker.instructions.includes('You are a worker subagent.')).toBe(true);
1634
- const sonnetIdx = constructedAgentWorker.instructions.indexOf('nested Anthropic-family subagent');
1635
- const workerIdx = constructedAgentWorker.instructions.indexOf('You are a worker subagent');
1636
- expect(sonnetIdx < workerIdx).toBe(true);
1637
- const managerResearcher = new SubagentManager({
1638
- logger: createMockLogger(),
1639
- settings: createMockSettings({
1640
- 'agent.model': 'gpt-5',
1641
- 'agent.provider': 'mock-prompt-test-provider-gpt-5-modern',
1642
- }),
1643
- sessionContextService: createSessionContextService(),
1644
- });
1645
- await managerResearcher.run({ role: 'researcher', task: 'research task' });
1646
- expect(constructedAgentResearcher).toBeTruthy();
1647
- expect(constructedAgentResearcher.instructions.includes('nested GPT-5-family subagent')).toBe(true);
1648
- expect(constructedAgentResearcher.instructions.includes('You are a researcher subagent.')).toBe(true);
1649
- });
1650
- it.sequential('execution subagent prompts exclude top-level-only prompt content', async () => {
1651
- let constructedAgent = null;
1652
- registerProvider({
1653
- id: 'mock-top-level-exclusion-provider',
1654
- label: 'Mock Top Level Exclusion Provider',
1655
- createRunner: () => ({
1656
- run: async (agent) => {
1657
- constructedAgent = agent;
1658
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1659
- return wrapResultAsAgentStream(result);
1660
- },
1661
- }),
1662
- fetchModels: async () => [{ id: 'gpt-5-codex' }],
1663
- });
1664
- const manager = new SubagentManager({
1665
- logger: createMockLogger(),
1666
- settings: createMockSettings({
1667
- 'agent.model': 'gpt-5-codex',
1668
- 'agent.provider': 'mock-top-level-exclusion-provider',
1669
- }),
1670
- sessionContextService: createSessionContextService(),
1671
- });
1672
- await manager.run({ role: 'worker', task: 'worker task' });
1673
- expect(constructedAgent).toBeTruthy();
1674
- expect(constructedAgent.instructions.includes('commentary channel')).toBe(false);
1675
- expect(constructedAgent.instructions.includes('final channel')).toBe(false);
1676
- expect(constructedAgent.instructions.includes('Intermediary updates')).toBe(false);
1677
- expect(constructedAgent.instructions.includes('Plan Mode Workflow')).toBe(false);
1678
- expect(constructedAgent.instructions.includes('You are Codex, a coding agent based on GPT-5.')).toBe(false);
1679
- });
1680
- it.sequential('mentor subagent is NOT affected by prompt profiles', async () => {
1681
- let mentorAgent = null;
1682
- registerProvider({
1683
- id: 'mock-prompt-test-provider-mentor',
1684
- label: 'Mock Prompt Test Provider Mentor',
1685
- createRunner: () => ({
1686
- run: async (agent) => {
1687
- mentorAgent = agent;
1688
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1689
- return wrapResultAsAgentStream(result);
1690
- },
1691
- }),
1692
- fetchModels: async () => [{ id: 'gpt-5-codex' }],
1693
- });
1694
- const manager = new SubagentManager({
1695
- logger: createMockLogger(),
1696
- settings: createMockSettings({
1697
- 'agent.model': 'main-model',
1698
- 'agent.provider': 'mock-prompt-test-provider-mentor',
1699
- 'agent.mentorModel': 'gpt-5-codex',
1700
- 'agent.mentorProvider': 'mock-prompt-test-provider-mentor',
1701
- 'app.mentorMode': false,
1702
- }),
1703
- sessionContextService: createSessionContextService(),
1704
- });
1705
- await manager.run({ role: 'mentor', task: 'advise me' });
1706
- expect(mentorAgent).toBeTruthy();
1707
- expect(mentorAgent.instructions.includes('You are Codex, a coding agent based on GPT-5.')).toBe(false);
1708
- expect(mentorAgent.instructions.includes('nested Codex-family subagent')).toBe(false);
1709
- expect(mentorAgent.instructions.includes('## Available Tool Guidance')).toBe(false);
1710
- expect(mentorAgent.instructions.includes('## Worktree Hygiene')).toBe(false);
1711
- expect(mentorAgent.instructions.includes('You are a senior architect')).toBe(true);
1712
- });
1713
- it.sequential('subagent tool definitions conditional registration for search tools', async () => {
1714
- let workerAgentShellTrue = null;
1715
- let workerAgentShellFalse = null;
1716
- registerProvider({
1717
- id: 'mock-tool-test-provider-shell-true',
1718
- label: 'Mock Tool Test Provider Shell True',
1719
- createRunner: () => ({
1720
- run: async (agent) => {
1721
- workerAgentShellTrue = agent;
1722
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1723
- return wrapResultAsAgentStream(result);
1724
- },
1725
- }),
1726
- fetchModels: async () => [{ id: 'gpt-5' }],
1727
- });
1728
- registerProvider({
1729
- id: 'mock-tool-test-provider-shell-false',
1730
- label: 'Mock Tool Test Provider Shell False',
1731
- createRunner: () => ({
1732
- run: async (agent) => {
1733
- workerAgentShellFalse = agent;
1734
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1735
- return wrapResultAsAgentStream(result);
1736
- },
1737
- }),
1738
- fetchModels: async () => [{ id: 'gpt-4o' }],
1739
- });
1740
- // 1. Model: gpt-5 (searchViaShell is true by default), canRunShell: true (from worker.md)
1741
- // Explorer/worker tools should NOT contain dedicated search tools: grep and find_files.
1742
- const managerShellTrue = new SubagentManager({
1743
- logger: createMockLogger(),
1744
- settings: createMockSettings({
1745
- 'agent.model': 'gpt-5',
1746
- 'agent.provider': 'mock-tool-test-provider-shell-true',
1747
- 'app.searchViaShell': 'auto',
1748
- }),
1749
- sessionContextService: createSessionContextService(),
1750
- });
1751
- await managerShellTrue.run({ role: 'worker', task: 'some task' });
1752
- expect(workerAgentShellTrue).toBeTruthy();
1753
- const toolNamesShellTrue = workerAgentShellTrue.tools.map((tool) => tool.name);
1754
- expect(toolNamesShellTrue.includes('grep')).toBe(false);
1755
- expect(toolNamesShellTrue.includes('find_files')).toBe(false);
1756
- expect(toolNamesShellTrue.includes('shell')).toBe(true);
1757
- expect(workerAgentShellTrue.instructions.includes('Registered tools:')).toBe(true);
1758
- expect(workerAgentShellTrue.instructions.includes('use `shell` with commands like `rg`')).toBe(true);
1759
- expect(workerAgentShellTrue.instructions.includes('`fd` for file search')).toBe(true);
1760
- expect(workerAgentShellTrue.instructions.includes('Use `grep` to search')).toBe(false);
1761
- expect(workerAgentShellTrue.instructions.includes('Use `find_files` to locate')).toBe(false);
1762
- expect(workerAgentShellTrue.instructions.includes('For workspace search, use the dedicated search tools')).toBe(false);
1763
- // 2. Model: gpt-4o (searchViaShell is false by default), canRunShell: true
1764
- // Tools should include dedicated grep and find_files.
1765
- const managerShellFalse = new SubagentManager({
1766
- logger: createMockLogger(),
1767
- settings: createMockSettings({
1768
- 'agent.model': 'gpt-4o',
1769
- 'agent.provider': 'mock-tool-test-provider-shell-false',
1770
- 'app.searchViaShell': 'auto',
1771
- }),
1772
- sessionContextService: createSessionContextService(),
1773
- });
1774
- await managerShellFalse.run({ role: 'worker', task: 'some task' });
1775
- expect(workerAgentShellFalse).toBeTruthy();
1776
- const toolNamesShellFalse = workerAgentShellFalse.tools.map((tool) => tool.name);
1777
- expect(toolNamesShellFalse.includes('grep')).toBe(true);
1778
- expect(toolNamesShellFalse.includes('find_files')).toBe(true);
1779
- expect(toolNamesShellFalse.includes('shell')).toBe(true);
1780
- expect(workerAgentShellFalse.instructions.includes('For workspace search, use the dedicated search tools')).toBe(true);
1781
- expect(workerAgentShellFalse.instructions.includes('`grep`')).toBe(true);
1782
- expect(workerAgentShellFalse.instructions.includes('`find_files`')).toBe(true);
1783
- expect(workerAgentShellFalse.instructions.includes('use `shell` with commands like `rg`')).toBe(false);
1784
- // 3. Model: gpt-5 with searchViaShell explicitly disabled still keeps dedicated search tools.
1785
- const managerShellOff = new SubagentManager({
1786
- logger: createMockLogger(),
1787
- settings: createMockSettings({
1788
- 'agent.model': 'gpt-5',
1789
- 'agent.provider': 'mock-tool-test-provider-shell-true',
1790
- 'app.searchViaShell': 'off',
1791
- }),
1792
- sessionContextService: createSessionContextService(),
1793
- });
1794
- await managerShellOff.run({ role: 'worker', task: 'some task' });
1795
- const toolNamesShellOff = workerAgentShellTrue.tools.map((tool) => tool.name);
1796
- expect(toolNamesShellOff.includes('grep')).toBe(true);
1797
- expect(toolNamesShellOff.includes('find_files')).toBe(true);
1798
- expect(toolNamesShellOff.includes('shell')).toBe(true);
1799
- expect(workerAgentShellTrue.instructions.includes('For workspace search, use the dedicated search tools')).toBe(true);
1800
- expect(workerAgentShellTrue.instructions.includes('use `shell` with commands like `rg`')).toBe(false);
1801
- });
1802
- it.sequential('explorer uses shell search when available and researcher keeps dedicated search tools', async () => {
1803
- let explorerAgent = null;
1804
- let researcherAgent = null;
1805
- registerProvider({
1806
- id: 'mock-tool-test-provider-explorer-shell',
1807
- label: 'Mock Tool Test Provider Explorer Shell',
1808
- createRunner: () => ({
1809
- run: async (agent) => {
1810
- explorerAgent = agent;
1811
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1812
- return wrapResultAsAgentStream(result);
1813
- },
1814
- }),
1815
- fetchModels: async () => [{ id: 'gpt-5' }],
1816
- });
1817
- registerProvider({
1818
- id: 'mock-tool-test-provider-researcher-dedicated',
1819
- label: 'Mock Tool Test Provider Researcher Dedicated',
1820
- createRunner: () => ({
1821
- run: async (agent) => {
1822
- researcherAgent = agent;
1823
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1824
- return wrapResultAsAgentStream(result);
1825
- },
1826
- }),
1827
- fetchModels: async () => [{ id: 'gpt-5' }],
1828
- });
1829
- await new SubagentManager({
1830
- logger: createMockLogger(),
1831
- settings: createMockSettings({
1832
- 'agent.model': 'gpt-5',
1833
- 'agent.provider': 'mock-tool-test-provider-explorer-shell',
1834
- 'app.searchViaShell': 'auto',
1835
- }),
1836
- sessionContextService: createSessionContextService(),
1837
- }).run({ role: 'explorer', task: 'find files' });
1838
- await new SubagentManager({
1839
- logger: createMockLogger(),
1840
- settings: createMockSettings({
1841
- 'agent.model': 'gpt-5',
1842
- 'agent.provider': 'mock-tool-test-provider-researcher-dedicated',
1843
- 'app.searchViaShell': 'auto',
1844
- }),
1845
- sessionContextService: createSessionContextService(),
1846
- }).run({ role: 'researcher', task: 'research files' });
1847
- expect(explorerAgent).toBeTruthy();
1848
- let toolNames = explorerAgent.tools.map((tool) => tool.name);
1849
- expect(toolNames.includes('shell')).toBe(true);
1850
- expect(toolNames.includes('grep')).toBe(false);
1851
- expect(toolNames.includes('find_files')).toBe(false);
1852
- expect(explorerAgent.instructions.includes('For workspace search, use `shell` with commands like `rg`')).toBe(true);
1853
- expect(explorerAgent.instructions.includes('For workspace search, use the dedicated search tools')).toBe(false);
1854
- expect(researcherAgent).toBeTruthy();
1855
- toolNames = researcherAgent.tools.map((tool) => tool.name);
1856
- expect(toolNames.includes('shell')).toBe(false);
1857
- expect(toolNames.includes('grep')).toBe(true);
1858
- expect(toolNames.includes('find_files')).toBe(true);
1859
- expect(researcherAgent.instructions.includes('For workspace search, use the dedicated search tools')).toBe(true);
1860
- expect(researcherAgent.instructions.includes('use `shell` with commands like `rg`')).toBe(false);
1861
- });
1862
- it.sequential('remote execution disables code-context tools and guidance', async () => {
1863
- let remoteAgent = null;
1864
- registerProvider({
1865
- id: 'mock-tool-test-provider-remote',
1866
- label: 'Mock Tool Test Provider Remote',
1867
- createRunner: () => ({
1868
- run: async (agent) => {
1869
- remoteAgent = agent;
1870
- const result = { status: 'completed', finalOutput: 'done', history: [], messages: [] };
1871
- return wrapResultAsAgentStream(result);
1872
- },
1873
- }),
1874
- fetchModels: async () => [{ id: 'gpt-4o' }],
1875
- });
1876
- const manager = new SubagentManager({
1877
- logger: createMockLogger(),
1878
- settings: createMockSettings({
1879
- 'agent.model': 'gpt-4o',
1880
- 'agent.provider': 'mock-tool-test-provider-remote',
1881
- }),
1882
- executionContext: {
1883
- getCwd: () => '/tmp/remote-workspace',
1884
- isRemote: () => true,
1885
- getSSHService: () => undefined,
1886
- },
1887
- sessionContextService: createSessionContextService(),
1888
- });
1889
- await manager.run({ role: 'explorer', task: 'inspect remote files' });
1890
- expect(remoteAgent).toBeTruthy();
1891
- const toolNames = remoteAgent.tools.map((tool) => tool.name);
1892
- expect(toolNames.includes('read_code_outline')).toBe(false);
1893
- expect(toolNames.includes('code_context_search')).toBe(false);
1894
- expect(remoteAgent.instructions.includes('Code-context tools are not available in this run.')).toBe(true);
1895
- expect(remoteAgent.instructions.includes('For code structure and symbol context, use:')).toBe(false);
1896
- });
1897
- it.sequential('run() aborted subagent retains toolsUsed and filesChanged', async () => {
1898
- const tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'term2-test-abort-'));
1899
- // TODO: // TODO: t.teardown(() => fs.rmSync(tmpDir, { recursive: true, force: true })) needs manual try/finally conversion;
1900
- registerProvider({
1901
- id: 'mock-abort-retain-provider',
1902
- label: 'Mock Abort Retain Provider',
1903
- createRunner: () => ({
1904
- run: async (agent) => {
1905
- // Simulate using a tool
1906
- const createFile = agent.tools.find((tool) => tool.name === 'create_file');
1907
- if (createFile) {
1908
- await createFile.invoke({}, JSON.stringify({ path: 'test.ts', content: 'x' }), {});
1909
- }
1910
- const err = new Error('The operation was aborted');
1911
- err.name = 'AbortError';
1912
- throw err;
1913
- },
1914
- }),
1915
- fetchModels: async () => [{ id: 'mock-model' }],
1916
- });
1917
- const manager = new SubagentManager({
1918
- logger: createMockLogger(),
1919
- settings: createMockSettings({
1920
- 'agent.model': 'mock-model',
1921
- 'agent.provider': 'mock-abort-retain-provider',
1922
- }),
1923
- sessionContextService: createSessionContextService(),
1924
- executionContext: {
1925
- getCwd: () => tmpDir,
1926
- isRemote: () => false,
1927
- getSSHService: () => undefined,
1928
- },
1929
- });
1930
- const result = await manager.run({ role: 'worker', task: 'find all files' });
1931
- expect(result.status).toBe('cancelled');
1932
- expect(result.toolsUsed.length).toBe(1);
1933
- expect(result.toolsUsed[0].toolName).toBe('create_file');
1934
- expect(result.filesChanged).toEqual(['test.ts']);
1935
- });
1936
- it.sequential('run() returns failed result when createClient factory is not provided', async () => {
1937
- const manager = new RealSubagentManager({
1938
- logger: createMockLogger(),
1939
- settings: createMockSettings({
1940
- 'agent.model': 'mock-model',
1941
- 'agent.provider': 'openai',
1942
- }),
1943
- sessionContextService: createSessionContextService(),
1944
- });
1945
- const result = await manager.run({ role: 'explorer', task: 'some task' });
1946
- expect(result.status).toBe('failed');
1947
- expect(result.error).toBe('SubagentManager: createClient factory not provided');
1948
- });
1949
- //# sourceMappingURL=subagent-manager.test.js.map