@qduc/term2 0.5.0 → 0.6.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 (714) hide show
  1. package/dist/agent.d.ts +1 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +53 -7
  4. package/dist/agent.js.map +1 -1
  5. package/dist/agent.test.js +122 -10
  6. package/dist/agent.test.js.map +1 -1
  7. package/dist/app.d.ts +13 -0
  8. package/dist/app.d.ts.map +1 -1
  9. package/dist/app.js +63 -16
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.startup-banner.test.js +48 -1
  12. package/dist/app.startup-banner.test.js.map +1 -1
  13. package/dist/cli.js +197 -28
  14. package/dist/cli.js.map +1 -1
  15. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  16. package/dist/components/ApprovalPrompt.js +11 -35
  17. package/dist/components/ApprovalPrompt.js.map +1 -1
  18. package/dist/components/Banner.d.ts.map +1 -1
  19. package/dist/components/Banner.js +2 -7
  20. package/dist/components/Banner.js.map +1 -1
  21. package/dist/components/BottomArea.d.ts +7 -1
  22. package/dist/components/BottomArea.d.ts.map +1 -1
  23. package/dist/components/BottomArea.js +2 -2
  24. package/dist/components/BottomArea.js.map +1 -1
  25. package/dist/components/CommandMessage.d.ts.map +1 -1
  26. package/dist/components/CommandMessage.js +38 -42
  27. package/dist/components/CommandMessage.js.map +1 -1
  28. package/dist/components/CommandMessage.test.js +69 -0
  29. package/dist/components/CommandMessage.test.js.map +1 -1
  30. package/dist/components/DiffView.d.ts +7 -0
  31. package/dist/components/DiffView.d.ts.map +1 -0
  32. package/dist/components/DiffView.js +80 -0
  33. package/dist/components/DiffView.js.map +1 -0
  34. package/dist/components/DiffView.test.d.ts +2 -0
  35. package/dist/components/DiffView.test.d.ts.map +1 -0
  36. package/dist/components/DiffView.test.js +45 -0
  37. package/dist/components/DiffView.test.js.map +1 -0
  38. package/dist/components/Input/PopupManager.d.ts +7 -0
  39. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  40. package/dist/components/Input/PopupManager.js +4 -2
  41. package/dist/components/Input/PopupManager.js.map +1 -1
  42. package/dist/components/Input/determine-active-menu.d.ts.map +1 -1
  43. package/dist/components/Input/determine-active-menu.js +4 -1
  44. package/dist/components/Input/determine-active-menu.js.map +1 -1
  45. package/dist/components/Input/popup-props.d.ts +3 -1
  46. package/dist/components/Input/popup-props.d.ts.map +1 -1
  47. package/dist/components/Input/popup-props.js +7 -1
  48. package/dist/components/Input/popup-props.js.map +1 -1
  49. package/dist/components/InputBox.d.ts +6 -0
  50. package/dist/components/InputBox.d.ts.map +1 -1
  51. package/dist/components/InputBox.js +74 -11
  52. package/dist/components/InputBox.js.map +1 -1
  53. package/dist/components/InputBox.menu-logic.test.js +16 -1
  54. package/dist/components/InputBox.menu-logic.test.js.map +1 -1
  55. package/dist/components/InputBox.test.js +1 -0
  56. package/dist/components/InputBox.test.js.map +1 -1
  57. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  58. package/dist/components/MarkdownRenderer.js +52 -1
  59. package/dist/components/MarkdownRenderer.js.map +1 -1
  60. package/dist/components/MessageList.d.ts.map +1 -1
  61. package/dist/components/MessageList.js +3 -2
  62. package/dist/components/MessageList.js.map +1 -1
  63. package/dist/components/MessageList.test.js +16 -0
  64. package/dist/components/MessageList.test.js.map +1 -1
  65. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  66. package/dist/components/SettingsValueSelectionMenu.js +4 -1
  67. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  68. package/dist/components/StatusBar.d.ts.map +1 -1
  69. package/dist/components/StatusBar.js +5 -3
  70. package/dist/components/StatusBar.js.map +1 -1
  71. package/dist/components/StatusBar.test.js +24 -0
  72. package/dist/components/StatusBar.test.js.map +1 -1
  73. package/dist/components/SubagentActivityMessage.d.ts.map +1 -1
  74. package/dist/components/SubagentActivityMessage.js +16 -1
  75. package/dist/components/SubagentActivityMessage.js.map +1 -1
  76. package/dist/components/UndoSelectionMenu.d.ts +12 -0
  77. package/dist/components/UndoSelectionMenu.d.ts.map +1 -0
  78. package/dist/components/UndoSelectionMenu.js +46 -0
  79. package/dist/components/UndoSelectionMenu.js.map +1 -0
  80. package/dist/components/UndoSelectionMenu.test.d.ts +2 -0
  81. package/dist/components/UndoSelectionMenu.test.d.ts.map +1 -0
  82. package/dist/components/UndoSelectionMenu.test.js +40 -0
  83. package/dist/components/UndoSelectionMenu.test.js.map +1 -0
  84. package/dist/components/theme.d.ts +1 -1
  85. package/dist/components/theme.d.ts.map +1 -1
  86. package/dist/components/theme.js +1 -3
  87. package/dist/components/theme.js.map +1 -1
  88. package/dist/context/InputContext.d.ts +1 -1
  89. package/dist/context/InputContext.d.ts.map +1 -1
  90. package/dist/context/InputContext.js.map +1 -1
  91. package/dist/hooks/use-app-commands.d.ts +14 -2
  92. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  93. package/dist/hooks/use-app-commands.js +115 -32
  94. package/dist/hooks/use-app-commands.js.map +1 -1
  95. package/dist/hooks/use-app-commands.test.js +231 -1
  96. package/dist/hooks/use-app-commands.test.js.map +1 -1
  97. package/dist/hooks/use-conversation.d.ts +8 -1
  98. package/dist/hooks/use-conversation.d.ts.map +1 -1
  99. package/dist/hooks/use-conversation.js +79 -2
  100. package/dist/hooks/use-conversation.js.map +1 -1
  101. package/dist/hooks/use-conversation.resume.test.d.ts +2 -0
  102. package/dist/hooks/use-conversation.resume.test.d.ts.map +1 -0
  103. package/dist/hooks/use-conversation.resume.test.js +26 -0
  104. package/dist/hooks/use-conversation.resume.test.js.map +1 -0
  105. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  106. package/dist/hooks/use-escape-key.js +14 -7
  107. package/dist/hooks/use-escape-key.js.map +1 -1
  108. package/dist/hooks/use-escape-key.test.js +168 -4
  109. package/dist/hooks/use-escape-key.test.js.map +1 -1
  110. package/dist/hooks/use-input-history.d.ts +4 -3
  111. package/dist/hooks/use-input-history.d.ts.map +1 -1
  112. package/dist/hooks/use-input-history.js +10 -8
  113. package/dist/hooks/use-input-history.js.map +1 -1
  114. package/dist/hooks/use-input-history.test.d.ts +2 -0
  115. package/dist/hooks/use-input-history.test.d.ts.map +1 -0
  116. package/dist/hooks/use-input-history.test.js +43 -0
  117. package/dist/hooks/use-input-history.test.js.map +1 -0
  118. package/dist/hooks/use-mode-handlers.d.ts +10 -2
  119. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  120. package/dist/hooks/use-mode-handlers.js +21 -2
  121. package/dist/hooks/use-mode-handlers.js.map +1 -1
  122. package/dist/hooks/use-model-selection.d.ts +3 -0
  123. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  124. package/dist/hooks/use-model-selection.js +3 -0
  125. package/dist/hooks/use-model-selection.js.map +1 -1
  126. package/dist/hooks/use-path-completion.test.d.ts +2 -0
  127. package/dist/hooks/use-path-completion.test.d.ts.map +1 -0
  128. package/dist/hooks/use-path-completion.test.js +54 -0
  129. package/dist/hooks/use-path-completion.test.js.map +1 -0
  130. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  131. package/dist/hooks/use-runtime-settings.js +15 -6
  132. package/dist/hooks/use-runtime-settings.js.map +1 -1
  133. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  134. package/dist/hooks/use-settings-completion.js +0 -1
  135. package/dist/hooks/use-settings-completion.js.map +1 -1
  136. package/dist/hooks/use-settings-value-completion.d.ts +1 -0
  137. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  138. package/dist/hooks/use-settings-value-completion.js +25 -19
  139. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  140. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  141. package/dist/hooks/use-shell-mode.js +2 -1
  142. package/dist/hooks/use-shell-mode.js.map +1 -1
  143. package/dist/hooks/use-slash-commands.d.ts +1 -0
  144. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  145. package/dist/hooks/use-slash-commands.js +10 -1
  146. package/dist/hooks/use-slash-commands.js.map +1 -1
  147. package/dist/hooks/use-undo-selection.d.ts +19 -0
  148. package/dist/hooks/use-undo-selection.d.ts.map +1 -0
  149. package/dist/hooks/use-undo-selection.js +76 -0
  150. package/dist/hooks/use-undo-selection.js.map +1 -0
  151. package/dist/lib/openai-agent-client.d.ts +2 -0
  152. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  153. package/dist/lib/openai-agent-client.js +71 -5
  154. package/dist/lib/openai-agent-client.js.map +1 -1
  155. package/dist/lib/openai-agent-client.test.js +23 -0
  156. package/dist/lib/openai-agent-client.test.js.map +1 -1
  157. package/dist/non-interactive.d.ts +6 -1
  158. package/dist/non-interactive.d.ts.map +1 -1
  159. package/dist/non-interactive.js +70 -4
  160. package/dist/non-interactive.js.map +1 -1
  161. package/dist/non-interactive.test.js +176 -1
  162. package/dist/non-interactive.test.js.map +1 -1
  163. package/dist/prompts/gpt-5.md +7 -4
  164. package/dist/prompts/orchestrator.md +46 -0
  165. package/dist/prompts/plan-mode-info.md +17 -0
  166. package/dist/prompts/prompt-selector.d.ts +2 -1
  167. package/dist/prompts/prompt-selector.d.ts.map +1 -1
  168. package/dist/prompts/prompt-selector.js +5 -1
  169. package/dist/prompts/prompt-selector.js.map +1 -1
  170. package/dist/prompts/prompt-selector.test.js +7 -0
  171. package/dist/prompts/prompt-selector.test.js.map +1 -1
  172. package/dist/prompts/prompt-selector.test.ts +18 -0
  173. package/dist/prompts/prompt-selector.ts +7 -1
  174. package/dist/prompts/reasoning-efficiency.d.ts +7 -0
  175. package/dist/prompts/reasoning-efficiency.d.ts.map +1 -0
  176. package/dist/prompts/reasoning-efficiency.js +19 -0
  177. package/dist/prompts/reasoning-efficiency.js.map +1 -0
  178. package/dist/prompts/reasoning-efficiency.ts +18 -0
  179. package/dist/prompts/search-via-shell.test.js +17 -17
  180. package/dist/prompts/search-via-shell.test.js.map +1 -1
  181. package/dist/prompts/search-via-shell.test.ts +17 -17
  182. package/dist/prompts/shell-auto-approval.d.ts +3 -0
  183. package/dist/prompts/shell-auto-approval.d.ts.map +1 -0
  184. package/dist/prompts/shell-auto-approval.js +23 -0
  185. package/dist/prompts/shell-auto-approval.js.map +1 -0
  186. package/dist/prompts/shell-auto-approval.ts +23 -0
  187. package/dist/prompts/subagent-delegation.d.ts +10 -0
  188. package/dist/prompts/subagent-delegation.d.ts.map +1 -0
  189. package/dist/prompts/subagent-delegation.js +33 -0
  190. package/dist/prompts/subagent-delegation.js.map +1 -0
  191. package/dist/prompts/subagent-delegation.test.d.ts +2 -0
  192. package/dist/prompts/subagent-delegation.test.d.ts.map +1 -0
  193. package/dist/prompts/subagent-delegation.test.js +17 -0
  194. package/dist/prompts/subagent-delegation.test.js.map +1 -0
  195. package/dist/prompts/subagent-delegation.test.ts +21 -0
  196. package/dist/prompts/subagent-delegation.ts +40 -0
  197. package/dist/prompts/subagents/explorer.md +1 -2
  198. package/dist/prompts/subagents/mentor.md +0 -1
  199. package/dist/prompts/subagents/researcher.md +0 -1
  200. package/dist/prompts/subagents/worker.md +3 -4
  201. package/dist/providers/ai-sdk-anthropic.provider.d.ts +1 -0
  202. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
  203. package/dist/providers/ai-sdk-anthropic.provider.js +67 -1
  204. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
  205. package/dist/providers/ai-sdk-anthropic.provider.test.d.ts +2 -0
  206. package/dist/providers/ai-sdk-anthropic.provider.test.d.ts.map +1 -0
  207. package/dist/providers/ai-sdk-anthropic.provider.test.js +87 -0
  208. package/dist/providers/ai-sdk-anthropic.provider.test.js.map +1 -0
  209. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +0 -2
  210. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
  211. package/dist/providers/ai-sdk-openai-compatible.provider.js +4 -8
  212. package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
  213. package/dist/providers/ai-sdk-openai-compatible.provider.test.js +1 -119
  214. package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
  215. package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
  216. package/dist/providers/common/openai-compatible-messages.js +10 -4
  217. package/dist/providers/common/openai-compatible-messages.js.map +1 -1
  218. package/dist/providers/common/openai-compatible-messages.test.js +22 -0
  219. package/dist/providers/common/openai-compatible-messages.test.js.map +1 -1
  220. package/dist/providers/custom-provider-adapter.test.js +39 -1
  221. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  222. package/dist/providers/openai-compatible-behavior-gate.test.js +1 -42
  223. package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -1
  224. package/dist/providers/openai-compatible.provider.d.ts +11 -1
  225. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  226. package/dist/providers/openai-compatible.provider.js +122 -8
  227. package/dist/providers/openai-compatible.provider.js.map +1 -1
  228. package/dist/providers/openai-compatible.provider.test.js +61 -0
  229. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  230. package/dist/providers/openai.provider.test.d.ts +2 -0
  231. package/dist/providers/openai.provider.test.d.ts.map +1 -0
  232. package/dist/providers/openai.provider.test.js +22 -0
  233. package/dist/providers/openai.provider.test.js.map +1 -0
  234. package/dist/scripts/eval-auto-approval/dataset.d.ts +1 -1
  235. package/dist/services/agent-stream.d.ts +1 -0
  236. package/dist/services/agent-stream.d.ts.map +1 -1
  237. package/dist/services/approval-flow-coordinator.d.ts +2 -0
  238. package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
  239. package/dist/services/approval-flow-coordinator.js +45 -18
  240. package/dist/services/approval-flow-coordinator.js.map +1 -1
  241. package/dist/services/approval-flow-coordinator.test.js +87 -0
  242. package/dist/services/approval-flow-coordinator.test.js.map +1 -1
  243. package/dist/services/approval-state.d.ts +4 -0
  244. package/dist/services/approval-state.d.ts.map +1 -1
  245. package/dist/services/approval-state.js +2 -0
  246. package/dist/services/approval-state.js.map +1 -1
  247. package/dist/services/approval-state.test.js +21 -0
  248. package/dist/services/approval-state.test.js.map +1 -1
  249. package/dist/services/conversation-persistence.d.ts +52 -0
  250. package/dist/services/conversation-persistence.d.ts.map +1 -0
  251. package/dist/services/conversation-persistence.js +163 -0
  252. package/dist/services/conversation-persistence.js.map +1 -0
  253. package/dist/services/conversation-persistence.test.d.ts +2 -0
  254. package/dist/services/conversation-persistence.test.d.ts.map +1 -0
  255. package/dist/services/conversation-persistence.test.js +418 -0
  256. package/dist/services/conversation-persistence.test.js.map +1 -0
  257. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  258. package/dist/services/conversation-result-builder.js +13 -0
  259. package/dist/services/conversation-result-builder.js.map +1 -1
  260. package/dist/services/conversation-service.d.ts +22 -0
  261. package/dist/services/conversation-service.d.ts.map +1 -1
  262. package/dist/services/conversation-service.js +18 -0
  263. package/dist/services/conversation-service.js.map +1 -1
  264. package/dist/services/conversation-session.auto-approval.test.js +5 -9
  265. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  266. package/dist/services/conversation-session.d.ts +25 -0
  267. package/dist/services/conversation-session.d.ts.map +1 -1
  268. package/dist/services/conversation-session.js +144 -10
  269. package/dist/services/conversation-session.js.map +1 -1
  270. package/dist/services/conversation-store.d.ts +42 -0
  271. package/dist/services/conversation-store.d.ts.map +1 -1
  272. package/dist/services/conversation-store.js +182 -1
  273. package/dist/services/conversation-store.js.map +1 -1
  274. package/dist/services/conversation-store.test.js +310 -1
  275. package/dist/services/conversation-store.test.js.map +1 -1
  276. package/dist/services/history-service.d.ts +6 -1
  277. package/dist/services/history-service.d.ts.map +1 -1
  278. package/dist/services/history-service.js +46 -6
  279. package/dist/services/history-service.js.map +1 -1
  280. package/dist/services/history-service.test.d.ts +2 -0
  281. package/dist/services/history-service.test.d.ts.map +1 -0
  282. package/dist/services/history-service.test.js +77 -0
  283. package/dist/services/history-service.test.js.map +1 -0
  284. package/dist/services/input-surge-guard.d.ts +37 -0
  285. package/dist/services/input-surge-guard.d.ts.map +1 -0
  286. package/dist/services/input-surge-guard.js +190 -0
  287. package/dist/services/input-surge-guard.js.map +1 -0
  288. package/dist/services/input-surge-guard.test.d.ts +2 -0
  289. package/dist/services/input-surge-guard.test.d.ts.map +1 -0
  290. package/dist/services/input-surge-guard.test.js +126 -0
  291. package/dist/services/input-surge-guard.test.js.map +1 -0
  292. package/dist/services/mode-notices.d.ts +11 -0
  293. package/dist/services/mode-notices.d.ts.map +1 -0
  294. package/dist/services/mode-notices.js +16 -0
  295. package/dist/services/mode-notices.js.map +1 -0
  296. package/dist/services/plan-mode-interceptor.d.ts +10 -0
  297. package/dist/services/plan-mode-interceptor.d.ts.map +1 -0
  298. package/dist/services/plan-mode-interceptor.js +38 -0
  299. package/dist/services/plan-mode-interceptor.js.map +1 -0
  300. package/dist/services/plan-mode-interceptor.test.d.ts +2 -0
  301. package/dist/services/plan-mode-interceptor.test.d.ts.map +1 -0
  302. package/dist/services/plan-mode-interceptor.test.js +55 -0
  303. package/dist/services/plan-mode-interceptor.test.js.map +1 -0
  304. package/dist/services/service-interfaces.d.ts +4 -1
  305. package/dist/services/service-interfaces.d.ts.map +1 -1
  306. package/dist/services/settings-persistence.js +1 -1
  307. package/dist/services/settings-schema.d.ts +107 -4
  308. package/dist/services/settings-schema.d.ts.map +1 -1
  309. package/dist/services/settings-schema.js +103 -5
  310. package/dist/services/settings-schema.js.map +1 -1
  311. package/dist/services/settings-schema.test.js +35 -1
  312. package/dist/services/settings-schema.test.js.map +1 -1
  313. package/dist/services/settings-service.d.ts +3 -1
  314. package/dist/services/settings-service.d.ts.map +1 -1
  315. package/dist/services/settings-service.js +40 -4
  316. package/dist/services/settings-service.js.map +1 -1
  317. package/dist/services/settings-sources.d.ts.map +1 -1
  318. package/dist/services/settings-sources.js +2 -1
  319. package/dist/services/settings-sources.js.map +1 -1
  320. package/dist/services/settings-sources.test.js +4 -0
  321. package/dist/services/settings-sources.test.js.map +1 -1
  322. package/dist/services/shell-auto-approval-evaluator.d.ts +2 -1
  323. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  324. package/dist/services/shell-auto-approval-evaluator.js +12 -29
  325. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  326. package/dist/services/shell-auto-approval-evaluator.test.js +2 -4
  327. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  328. package/dist/services/shell-auto-approval-resolver.test.js +1 -1
  329. package/dist/services/shell-auto-approval-resolver.test.js.map +1 -1
  330. package/dist/services/stream-event-processor.d.ts.map +1 -1
  331. package/dist/services/stream-event-processor.js +5 -0
  332. package/dist/services/stream-event-processor.js.map +1 -1
  333. package/dist/services/stream-event-processor.test.js +27 -0
  334. package/dist/services/stream-event-processor.test.js.map +1 -1
  335. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  336. package/dist/services/subagents/subagent-manager.js +171 -31
  337. package/dist/services/subagents/subagent-manager.js.map +1 -1
  338. package/dist/services/subagents/subagent-manager.test.js +232 -42
  339. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  340. package/dist/services/subagents/types.d.ts +6 -0
  341. package/dist/services/subagents/types.d.ts.map +1 -1
  342. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  343. package/dist/services/terminal-result-collector.js +1 -2
  344. package/dist/services/terminal-result-collector.js.map +1 -1
  345. package/dist/slash-commands.d.ts +1 -0
  346. package/dist/slash-commands.d.ts.map +1 -1
  347. package/dist/slash-commands.js +8 -1
  348. package/dist/slash-commands.js.map +1 -1
  349. package/dist/slash-commands.test.d.ts +2 -0
  350. package/dist/slash-commands.test.d.ts.map +1 -0
  351. package/dist/slash-commands.test.js +22 -0
  352. package/dist/slash-commands.test.js.map +1 -0
  353. package/dist/tools/apply-patch.d.ts.map +1 -1
  354. package/dist/tools/apply-patch.js +2 -6
  355. package/dist/tools/apply-patch.js.map +1 -1
  356. package/dist/tools/apply-patch.test.js +2 -13
  357. package/dist/tools/apply-patch.test.js.map +1 -1
  358. package/dist/tools/code-context.test.js +4 -3
  359. package/dist/tools/code-context.test.js.map +1 -1
  360. package/dist/tools/create-file.d.ts.map +1 -1
  361. package/dist/tools/create-file.js +2 -3
  362. package/dist/tools/create-file.js.map +1 -1
  363. package/dist/tools/create-file.test.js +3 -14
  364. package/dist/tools/create-file.test.js.map +1 -1
  365. package/dist/tools/edit-healing.d.ts +3 -3
  366. package/dist/tools/edit-healing.d.ts.map +1 -1
  367. package/dist/tools/edit-healing.js.map +1 -1
  368. package/dist/tools/edit-healing.test.js +0 -1
  369. package/dist/tools/edit-healing.test.js.map +1 -1
  370. package/dist/tools/find-files.test.js +3 -2
  371. package/dist/tools/find-files.test.js.map +1 -1
  372. package/dist/tools/grep.d.ts +1 -0
  373. package/dist/tools/grep.d.ts.map +1 -1
  374. package/dist/tools/grep.js +65 -4
  375. package/dist/tools/grep.js.map +1 -1
  376. package/dist/tools/grep.test.js +39 -0
  377. package/dist/tools/grep.test.js.map +1 -0
  378. package/dist/tools/read-file.d.ts +1 -0
  379. package/dist/tools/read-file.d.ts.map +1 -1
  380. package/dist/tools/read-file.js +7 -5
  381. package/dist/tools/read-file.js.map +1 -1
  382. package/dist/tools/read-file.test.js +3 -2
  383. package/dist/tools/read-file.test.js.map +1 -1
  384. package/dist/tools/run-subagent.d.ts +1 -1
  385. package/dist/tools/run-subagent.d.ts.map +1 -1
  386. package/dist/tools/run-subagent.js +27 -23
  387. package/dist/tools/run-subagent.js.map +1 -1
  388. package/dist/tools/run-subagent.test.js +55 -8
  389. package/dist/tools/run-subagent.test.js.map +1 -1
  390. package/dist/tools/search-replace.d.ts +13 -5
  391. package/dist/tools/search-replace.d.ts.map +1 -1
  392. package/dist/tools/search-replace.js +46 -115
  393. package/dist/tools/search-replace.js.map +1 -1
  394. package/dist/tools/search-replace.test.js +275 -240
  395. package/dist/tools/search-replace.test.js.map +1 -1
  396. package/dist/tools/shell.d.ts +1 -0
  397. package/dist/tools/shell.d.ts.map +1 -1
  398. package/dist/tools/shell.js +14 -6
  399. package/dist/tools/shell.js.map +1 -1
  400. package/dist/tools/shell.test.js +52 -0
  401. package/dist/tools/shell.test.js.map +1 -1
  402. package/dist/tools/tool-parameter-schema.test.js +13 -4
  403. package/dist/tools/tool-parameter-schema.test.js.map +1 -1
  404. package/dist/tools/types.d.ts +1 -1
  405. package/dist/tools/types.d.ts.map +1 -1
  406. package/dist/tools/web-fetch.d.ts.map +1 -1
  407. package/dist/tools/web-fetch.js +29 -4
  408. package/dist/tools/web-fetch.js.map +1 -1
  409. package/dist/tools/web-fetch.test.js +64 -0
  410. package/dist/tools/web-fetch.test.js.map +1 -1
  411. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  412. package/dist/utils/conversation-event-handler.js +4 -0
  413. package/dist/utils/conversation-event-handler.js.map +1 -1
  414. package/dist/utils/conversation-event-handler.test.js +22 -0
  415. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  416. package/dist/utils/execute-shell.d.ts +2 -0
  417. package/dist/utils/execute-shell.d.ts.map +1 -1
  418. package/dist/utils/execute-shell.js +25 -1
  419. package/dist/utils/execute-shell.js.map +1 -1
  420. package/dist/utils/execute-shell.test.js +22 -0
  421. package/dist/utils/execute-shell.test.js.map +1 -1
  422. package/dist/utils/model-settings.d.ts.map +1 -1
  423. package/dist/utils/model-settings.js +18 -0
  424. package/dist/utils/model-settings.js.map +1 -1
  425. package/dist/utils/output-trim.d.ts.map +1 -1
  426. package/dist/utils/output-trim.js +14 -6
  427. package/dist/utils/output-trim.js.map +1 -1
  428. package/dist/utils/project-tree.d.ts +14 -0
  429. package/dist/utils/project-tree.d.ts.map +1 -0
  430. package/dist/utils/project-tree.js +111 -0
  431. package/dist/utils/project-tree.js.map +1 -0
  432. package/dist/utils/project-tree.test.d.ts +2 -0
  433. package/dist/utils/project-tree.test.d.ts.map +1 -0
  434. package/dist/utils/project-tree.test.js +149 -0
  435. package/dist/utils/project-tree.test.js.map +1 -0
  436. package/dist/utils/terminal-clear.d.ts +7 -0
  437. package/dist/utils/terminal-clear.d.ts.map +1 -0
  438. package/dist/utils/terminal-clear.js +5 -0
  439. package/dist/utils/terminal-clear.js.map +1 -0
  440. package/dist/utils/terminal-clear.test.d.ts +2 -0
  441. package/dist/utils/terminal-clear.test.d.ts.map +1 -0
  442. package/dist/utils/terminal-clear.test.js +13 -0
  443. package/dist/utils/terminal-clear.test.js.map +1 -0
  444. package/dist/utils/token-usage.test.js +31 -0
  445. package/dist/utils/token-usage.test.js.map +1 -1
  446. package/package.json +3 -3
  447. package/readme.md +271 -44
  448. package/dist/agent.lite-mode.test.d.ts +0 -2
  449. package/dist/agent.lite-mode.test.d.ts.map +0 -1
  450. package/dist/agent.lite-mode.test.js +0 -39
  451. package/dist/agent.lite-mode.test.js.map +0 -1
  452. package/dist/components/ApprovalPrompt.test.d.ts +0 -2
  453. package/dist/components/ApprovalPrompt.test.d.ts.map +0 -1
  454. package/dist/components/ApprovalPrompt.test.js +0 -23
  455. package/dist/components/ApprovalPrompt.test.js.map +0 -1
  456. package/dist/components/LiveResponse.test.d.ts +0 -2
  457. package/dist/components/LiveResponse.test.d.ts.map +0 -1
  458. package/dist/components/LiveResponse.test.js +0 -13
  459. package/dist/components/LiveResponse.test.js.map +0 -1
  460. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +0 -2
  461. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +0 -1
  462. package/dist/components/ModelSelectionMenu.error-tabs.test.js +0 -18
  463. package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +0 -1
  464. package/dist/components/TextInput.d.ts +0 -42
  465. package/dist/components/TextInput.d.ts.map +0 -1
  466. package/dist/components/TextInput.js +0 -398
  467. package/dist/components/TextInput.js.map +0 -1
  468. package/dist/components/TextInput.test.d.ts +0 -2
  469. package/dist/components/TextInput.test.d.ts.map +0 -1
  470. package/dist/components/TextInput.test.js +0 -75
  471. package/dist/components/TextInput.test.js.map +0 -1
  472. package/dist/debug_ask_mentor.d.ts +0 -2
  473. package/dist/debug_ask_mentor.d.ts.map +0 -1
  474. package/dist/debug_ask_mentor.js +0 -73
  475. package/dist/debug_ask_mentor.js.map +0 -1
  476. package/dist/lib/shell.d.ts +0 -7
  477. package/dist/lib/shell.d.ts.map +0 -1
  478. package/dist/lib/shell.js +0 -56
  479. package/dist/lib/shell.js.map +0 -1
  480. package/dist/modes/companion/command-index.d.ts +0 -26
  481. package/dist/modes/companion/command-index.d.ts.map +0 -1
  482. package/dist/modes/companion/command-index.js +0 -50
  483. package/dist/modes/companion/command-index.js.map +0 -1
  484. package/dist/modes/companion/command-index.test.d.ts +0 -2
  485. package/dist/modes/companion/command-index.test.d.ts.map +0 -1
  486. package/dist/modes/companion/command-index.test.js +0 -86
  487. package/dist/modes/companion/command-index.test.js.map +0 -1
  488. package/dist/modes/companion/companion-app.d.ts +0 -12
  489. package/dist/modes/companion/companion-app.d.ts.map +0 -1
  490. package/dist/modes/companion/companion-app.js +0 -297
  491. package/dist/modes/companion/companion-app.js.map +0 -1
  492. package/dist/modes/companion/companion-session.d.ts +0 -63
  493. package/dist/modes/companion/companion-session.d.ts.map +0 -1
  494. package/dist/modes/companion/companion-session.js +0 -146
  495. package/dist/modes/companion/companion-session.js.map +0 -1
  496. package/dist/modes/companion/companion-session.test.d.ts +0 -2
  497. package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
  498. package/dist/modes/companion/companion-session.test.js +0 -28
  499. package/dist/modes/companion/companion-session.test.js.map +0 -1
  500. package/dist/modes/companion/components/status-bar.d.ts +0 -13
  501. package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
  502. package/dist/modes/companion/components/status-bar.js +0 -26
  503. package/dist/modes/companion/components/status-bar.js.map +0 -1
  504. package/dist/modes/companion/context-buffer.d.ts +0 -65
  505. package/dist/modes/companion/context-buffer.d.ts.map +0 -1
  506. package/dist/modes/companion/context-buffer.js +0 -156
  507. package/dist/modes/companion/context-buffer.js.map +0 -1
  508. package/dist/modes/companion/context-buffer.test.d.ts +0 -2
  509. package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
  510. package/dist/modes/companion/context-buffer.test.js +0 -154
  511. package/dist/modes/companion/context-buffer.test.js.map +0 -1
  512. package/dist/modes/companion/event-detector.d.ts +0 -46
  513. package/dist/modes/companion/event-detector.d.ts.map +0 -1
  514. package/dist/modes/companion/event-detector.js +0 -169
  515. package/dist/modes/companion/event-detector.js.map +0 -1
  516. package/dist/modes/companion/event-detector.test.d.ts +0 -2
  517. package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
  518. package/dist/modes/companion/event-detector.test.js +0 -121
  519. package/dist/modes/companion/event-detector.test.js.map +0 -1
  520. package/dist/modes/companion/index.d.ts +0 -33
  521. package/dist/modes/companion/index.d.ts.map +0 -1
  522. package/dist/modes/companion/index.js +0 -21
  523. package/dist/modes/companion/index.js.map +0 -1
  524. package/dist/modes/companion/input-key-mapper.d.ts +0 -3
  525. package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
  526. package/dist/modes/companion/input-key-mapper.js +0 -31
  527. package/dist/modes/companion/input-key-mapper.js.map +0 -1
  528. package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
  529. package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
  530. package/dist/modes/companion/input-key-mapper.test.js +0 -26
  531. package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
  532. package/dist/modes/companion/input-parser.d.ts +0 -53
  533. package/dist/modes/companion/input-parser.d.ts.map +0 -1
  534. package/dist/modes/companion/input-parser.js +0 -114
  535. package/dist/modes/companion/input-parser.js.map +0 -1
  536. package/dist/modes/companion/input-parser.test.d.ts +0 -2
  537. package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
  538. package/dist/modes/companion/input-parser.test.js +0 -123
  539. package/dist/modes/companion/input-parser.test.js.map +0 -1
  540. package/dist/modes/companion/mode-manager.d.ts +0 -41
  541. package/dist/modes/companion/mode-manager.d.ts.map +0 -1
  542. package/dist/modes/companion/mode-manager.js +0 -56
  543. package/dist/modes/companion/mode-manager.js.map +0 -1
  544. package/dist/modes/companion/mode-manager.test.d.ts +0 -2
  545. package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
  546. package/dist/modes/companion/mode-manager.test.js +0 -65
  547. package/dist/modes/companion/mode-manager.test.js.map +0 -1
  548. package/dist/modes/companion/output-classifier.d.ts +0 -15
  549. package/dist/modes/companion/output-classifier.d.ts.map +0 -1
  550. package/dist/modes/companion/output-classifier.js +0 -77
  551. package/dist/modes/companion/output-classifier.js.map +0 -1
  552. package/dist/modes/companion/output-classifier.test.d.ts +0 -2
  553. package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
  554. package/dist/modes/companion/output-classifier.test.js +0 -133
  555. package/dist/modes/companion/output-classifier.test.js.map +0 -1
  556. package/dist/modes/companion/pty-wrapper.d.ts +0 -46
  557. package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
  558. package/dist/modes/companion/pty-wrapper.js +0 -143
  559. package/dist/modes/companion/pty-wrapper.js.map +0 -1
  560. package/dist/modes/companion/safety-classifier.d.ts +0 -31
  561. package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
  562. package/dist/modes/companion/safety-classifier.js +0 -140
  563. package/dist/modes/companion/safety-classifier.js.map +0 -1
  564. package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
  565. package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
  566. package/dist/modes/companion/safety-classifier.test.js +0 -151
  567. package/dist/modes/companion/safety-classifier.test.js.map +0 -1
  568. package/dist/modes/companion/summarizer.d.ts +0 -24
  569. package/dist/modes/companion/summarizer.d.ts.map +0 -1
  570. package/dist/modes/companion/summarizer.js +0 -132
  571. package/dist/modes/companion/summarizer.js.map +0 -1
  572. package/dist/modes/companion/terminal-history.d.ts +0 -27
  573. package/dist/modes/companion/terminal-history.d.ts.map +0 -1
  574. package/dist/modes/companion/terminal-history.js +0 -142
  575. package/dist/modes/companion/terminal-history.js.map +0 -1
  576. package/dist/prompts/simple-mentor.md +0 -215
  577. package/dist/providers/ai-sdk-openai.provider.d.ts +0 -14
  578. package/dist/providers/ai-sdk-openai.provider.d.ts.map +0 -1
  579. package/dist/providers/ai-sdk-openai.provider.js +0 -18
  580. package/dist/providers/ai-sdk-openai.provider.js.map +0 -1
  581. package/dist/providers/github-copilot/converters.d.ts +0 -45
  582. package/dist/providers/github-copilot/converters.d.ts.map +0 -1
  583. package/dist/providers/github-copilot/converters.js +0 -118
  584. package/dist/providers/github-copilot/converters.js.map +0 -1
  585. package/dist/providers/github-copilot/converters.test.d.ts +0 -2
  586. package/dist/providers/github-copilot/converters.test.d.ts.map +0 -1
  587. package/dist/providers/github-copilot/converters.test.js +0 -162
  588. package/dist/providers/github-copilot/converters.test.js.map +0 -1
  589. package/dist/providers/github-copilot/github-copilot.provider.d.ts +0 -2
  590. package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +0 -1
  591. package/dist/providers/github-copilot/github-copilot.provider.js +0 -75
  592. package/dist/providers/github-copilot/github-copilot.provider.js.map +0 -1
  593. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +0 -2
  594. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +0 -1
  595. package/dist/providers/github-copilot/github-copilot.provider.test.js +0 -26
  596. package/dist/providers/github-copilot/github-copilot.provider.test.js.map +0 -1
  597. package/dist/providers/github-copilot/index.d.ts +0 -4
  598. package/dist/providers/github-copilot/index.d.ts.map +0 -1
  599. package/dist/providers/github-copilot/index.js +0 -4
  600. package/dist/providers/github-copilot/index.js.map +0 -1
  601. package/dist/providers/github-copilot/model.d.ts +0 -24
  602. package/dist/providers/github-copilot/model.d.ts.map +0 -1
  603. package/dist/providers/github-copilot/model.delta.test.d.ts +0 -2
  604. package/dist/providers/github-copilot/model.delta.test.d.ts.map +0 -1
  605. package/dist/providers/github-copilot/model.delta.test.js +0 -15
  606. package/dist/providers/github-copilot/model.delta.test.js.map +0 -1
  607. package/dist/providers/github-copilot/model.js +0 -498
  608. package/dist/providers/github-copilot/model.js.map +0 -1
  609. package/dist/providers/github-copilot/model.test.d.ts +0 -2
  610. package/dist/providers/github-copilot/model.test.d.ts.map +0 -1
  611. package/dist/providers/github-copilot/model.test.js +0 -63
  612. package/dist/providers/github-copilot/model.test.js.map +0 -1
  613. package/dist/providers/github-copilot/provider.d.ts +0 -15
  614. package/dist/providers/github-copilot/provider.d.ts.map +0 -1
  615. package/dist/providers/github-copilot/provider.js +0 -25
  616. package/dist/providers/github-copilot/provider.js.map +0 -1
  617. package/dist/providers/github-copilot/provider.test.d.ts +0 -2
  618. package/dist/providers/github-copilot/provider.test.d.ts.map +0 -1
  619. package/dist/providers/github-copilot/provider.test.js +0 -52
  620. package/dist/providers/github-copilot/provider.test.js.map +0 -1
  621. package/dist/providers/github-copilot/utils.d.ts +0 -20
  622. package/dist/providers/github-copilot/utils.d.ts.map +0 -1
  623. package/dist/providers/github-copilot/utils.js +0 -142
  624. package/dist/providers/github-copilot/utils.js.map +0 -1
  625. package/dist/providers/github-copilot/utils.test.d.ts +0 -2
  626. package/dist/providers/github-copilot/utils.test.d.ts.map +0 -1
  627. package/dist/providers/github-copilot/utils.test.js +0 -21
  628. package/dist/providers/github-copilot/utils.test.js.map +0 -1
  629. package/dist/providers/openai-compatible/api.d.ts +0 -17
  630. package/dist/providers/openai-compatible/api.d.ts.map +0 -1
  631. package/dist/providers/openai-compatible/api.js +0 -58
  632. package/dist/providers/openai-compatible/api.js.map +0 -1
  633. package/dist/providers/openai-compatible/model.d.ts +0 -17
  634. package/dist/providers/openai-compatible/model.d.ts.map +0 -1
  635. package/dist/providers/openai-compatible/model.js +0 -473
  636. package/dist/providers/openai-compatible/model.js.map +0 -1
  637. package/dist/providers/openai-compatible/provider.d.ts +0 -22
  638. package/dist/providers/openai-compatible/provider.d.ts.map +0 -1
  639. package/dist/providers/openai-compatible/provider.js +0 -43
  640. package/dist/providers/openai-compatible/provider.js.map +0 -1
  641. package/dist/providers/openai-compatible/reasoning-content.test.d.ts +0 -2
  642. package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +0 -1
  643. package/dist/providers/openai-compatible/reasoning-content.test.js +0 -258
  644. package/dist/providers/openai-compatible/reasoning-content.test.js.map +0 -1
  645. package/dist/providers/openai-compatible/utils.d.ts +0 -3
  646. package/dist/providers/openai-compatible/utils.d.ts.map +0 -1
  647. package/dist/providers/openai-compatible/utils.js +0 -11
  648. package/dist/providers/openai-compatible/utils.js.map +0 -1
  649. package/dist/providers/openrouter/api.d.ts +0 -39
  650. package/dist/providers/openrouter/api.d.ts.map +0 -1
  651. package/dist/providers/openrouter/api.js +0 -164
  652. package/dist/providers/openrouter/api.js.map +0 -1
  653. package/dist/providers/openrouter/converters.d.ts +0 -8
  654. package/dist/providers/openrouter/converters.d.ts.map +0 -1
  655. package/dist/providers/openrouter/converters.js +0 -391
  656. package/dist/providers/openrouter/converters.js.map +0 -1
  657. package/dist/providers/openrouter/converters.test.d.ts +0 -2
  658. package/dist/providers/openrouter/converters.test.d.ts.map +0 -1
  659. package/dist/providers/openrouter/converters.test.js +0 -179
  660. package/dist/providers/openrouter/converters.test.js.map +0 -1
  661. package/dist/providers/openrouter/index.d.ts +0 -4
  662. package/dist/providers/openrouter/index.d.ts.map +0 -1
  663. package/dist/providers/openrouter/index.js +0 -4
  664. package/dist/providers/openrouter/index.js.map +0 -1
  665. package/dist/providers/openrouter/model.d.ts +0 -14
  666. package/dist/providers/openrouter/model.d.ts.map +0 -1
  667. package/dist/providers/openrouter/model.js +0 -457
  668. package/dist/providers/openrouter/model.js.map +0 -1
  669. package/dist/providers/openrouter/provider.d.ts +0 -15
  670. package/dist/providers/openrouter/provider.d.ts.map +0 -1
  671. package/dist/providers/openrouter/provider.js +0 -21
  672. package/dist/providers/openrouter/provider.js.map +0 -1
  673. package/dist/providers/openrouter/reasoning-content.test.d.ts +0 -2
  674. package/dist/providers/openrouter/reasoning-content.test.d.ts.map +0 -1
  675. package/dist/providers/openrouter/reasoning-content.test.js +0 -122
  676. package/dist/providers/openrouter/reasoning-content.test.js.map +0 -1
  677. package/dist/providers/openrouter/utils.d.ts +0 -11
  678. package/dist/providers/openrouter/utils.d.ts.map +0 -1
  679. package/dist/providers/openrouter/utils.js +0 -29
  680. package/dist/providers/openrouter/utils.js.map +0 -1
  681. package/dist/providers/openrouter.api.retry.test.d.ts +0 -2
  682. package/dist/providers/openrouter.api.retry.test.d.ts.map +0 -1
  683. package/dist/providers/openrouter.api.retry.test.js +0 -148
  684. package/dist/providers/openrouter.api.retry.test.js.map +0 -1
  685. package/dist/providers/openrouter.test.d.ts +0 -2
  686. package/dist/providers/openrouter.test.d.ts.map +0 -1
  687. package/dist/providers/openrouter.test.js +0 -1449
  688. package/dist/providers/openrouter.test.js.map +0 -1
  689. package/dist/safety-checker.js +0 -57
  690. package/dist/services/check_mock.d.ts +0 -2
  691. package/dist/services/check_mock.d.ts.map +0 -1
  692. package/dist/services/check_mock.js +0 -22
  693. package/dist/services/check_mock.js.map +0 -1
  694. package/dist/services/conversation-service.test.d.ts +0 -2
  695. package/dist/services/conversation-service.test.d.ts.map +0 -1
  696. package/dist/services/conversation-service.test.js +0 -156
  697. package/dist/services/conversation-service.test.js.map +0 -1
  698. package/dist/tools/bash.d.ts +0 -10
  699. package/dist/tools/bash.d.ts.map +0 -1
  700. package/dist/tools/bash.js +0 -55
  701. package/dist/tools/bash.js.map +0 -1
  702. package/dist/utils/command-safety.d.ts +0 -21
  703. package/dist/utils/command-safety.d.ts.map +0 -1
  704. package/dist/utils/command-safety.devnull.test.d.ts +0 -2
  705. package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
  706. package/dist/utils/command-safety.devnull.test.js +0 -13
  707. package/dist/utils/command-safety.devnull.test.js.map +0 -1
  708. package/dist/utils/command-safety.js +0 -348
  709. package/dist/utils/command-safety.js.map +0 -1
  710. package/dist/utils/extract-command-messages.test.d.ts +0 -2
  711. package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
  712. package/dist/utils/provider-traffic-extractor.repro.test.d.ts +0 -2
  713. package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +0 -1
  714. package/dist/utils/provider-traffic-extractor.repro.test.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Agent, run, tool as createTool } from '@openai/agents';
1
+ import { Agent, run, tool as createTool, RunState } from '@openai/agents';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import path from 'node:path';
4
4
  import fs from 'node:fs';
@@ -7,7 +7,7 @@ import { SubagentSession } from './subagent-session.js';
7
7
  import { wrapToolInvoke } from '../../lib/tool-invoke.js';
8
8
  import { wrapNeedsApproval } from '../../lib/openai-agent-client.js';
9
9
  import { toOpenAIStrictToolSchema } from '../../lib/openai-strict-tool-schema.js';
10
- import { shouldUseStrictToolSchema } from '../../lib/tool-selection-policy.js';
10
+ import { shouldUseStrictToolSchema, shouldPreferPatchEditingModel } from '../../lib/tool-selection-policy.js';
11
11
  import { createReadFileToolDefinition } from '../../tools/read-file.js';
12
12
  import { createGrepToolDefinition } from '../../tools/grep.js';
13
13
  import { createFindFilesToolDefinition } from '../../tools/find-files.js';
@@ -17,11 +17,13 @@ import { createWebFetchToolDefinition } from '../../tools/web-fetch.js';
17
17
  import { createApplyPatchToolDefinition } from '../../tools/apply-patch.js';
18
18
  import { createSearchReplaceToolDefinition } from '../../tools/search-replace.js';
19
19
  import { createCreateFileToolDefinition } from '../../tools/create-file.js';
20
+ import { createShellToolDefinition } from '../../tools/shell.js';
20
21
  import { registerToolFormatters } from '../../tools/command-message-formatters.js';
21
22
  import { trimToolOutput } from '../../utils/trim-tool-output.js';
22
- import { extractUsage } from '../../utils/token-usage.js';
23
+ import { extractUsage, normalizeAgentRunUsage } from '../../utils/token-usage.js';
23
24
  import { getEnvInfo, getAgentsInstructions } from '../../agent.js';
24
25
  import { tryAcquireFileLock } from '../../tools/file-locks.js';
26
+ import { classifyCommand, SafetyStatus } from '../../utils/command-safety/index.js';
25
27
  const PROMPTS_DIR = path.join(import.meta.dirname, '../../prompts/subagents');
26
28
  const ROLE_MAX_TURNS_DEFAULT = 20;
27
29
  function parseFrontmatter(content) {
@@ -65,9 +67,17 @@ function loadRoleDefinition(role, settings) {
65
67
  }
66
68
  const content = fs.readFileSync(filePath, 'utf-8');
67
69
  const { frontmatter, body } = parseFrontmatter(content);
68
- const resolve = (value, settingKey, defaultValue) => {
70
+ const subagentPrefix = role === 'mentor' ? 'agent.mentor' : `agent.subagent${role.charAt(0).toUpperCase() + role.slice(1)}`;
71
+ const resolve = (value, subagentKey, fallbackKey, defaultValue) => {
69
72
  if (value === 'inherit' || value === undefined || value === null || value === '') {
70
- return settings.get(settingKey) ?? defaultValue;
73
+ const subagentVal = settings.get(subagentKey);
74
+ if (subagentVal !== undefined && subagentVal !== null) {
75
+ return subagentVal;
76
+ }
77
+ if (fallbackKey) {
78
+ return settings.get(fallbackKey) ?? defaultValue;
79
+ }
80
+ return defaultValue;
71
81
  }
72
82
  return value;
73
83
  };
@@ -80,9 +90,9 @@ function loadRoleDefinition(role, settings) {
80
90
  canSearchWeb: frontmatter.canSearchWeb ?? false,
81
91
  canRunShell: frontmatter.canRunShell ?? false,
82
92
  maxTurns: frontmatter.maxTurns ?? ROLE_MAX_TURNS_DEFAULT,
83
- model: resolve(frontmatter.model, 'agent.model', 'gpt-4o'),
84
- provider: resolve(frontmatter.provider, 'agent.provider', 'openai'),
85
- reasoningEffort: resolve(frontmatter.reasoningEffort, 'agent.reasoningEffort', 'default'),
93
+ model: resolve(frontmatter.model, `${subagentPrefix}Model`, 'agent.model', 'gpt-4o'),
94
+ provider: resolve(frontmatter.provider, `${subagentPrefix}Provider`, 'agent.provider', 'openai'),
95
+ reasoningEffort: resolve(frontmatter.reasoningEffort, `${subagentPrefix}ReasoningEffort`, undefined, 'default'),
86
96
  description: frontmatter.description ?? '',
87
97
  };
88
98
  }
@@ -102,10 +112,10 @@ function buildAgentTools(toolDefinitions, options) {
102
112
  description: definition.description,
103
113
  parameters: useStrictSchema ? toOpenAIStrictToolSchema(definition.parameters) : definition.parameters,
104
114
  needsApproval: wrapNeedsApproval(definition),
105
- execute: async (params, _context) => {
115
+ execute: async (params, _context, details) => {
106
116
  options.onToolStart?.(definition.name, params, formatRunningCommandMessages(definition, params));
107
117
  const maxOutputLength = options.settings.get('shell.maxOutputChars');
108
- const result = await definition.execute(params, _context);
118
+ const result = await definition.execute(params, _context, details);
109
119
  options.onToolComplete?.(definition.name);
110
120
  return trimToolOutput(result, undefined, maxOutputLength ?? undefined);
111
121
  },
@@ -191,6 +201,11 @@ function assistantText(raw) {
191
201
  * answer is the last assistant message that appears strictly after the last
192
202
  * tool item, so intermediate narration emitted between tool calls does not
193
203
  * leak into the parent agent context.
204
+ *
205
+ * When the run ends with a tool call and no trailing narration, falls back to
206
+ * the last assistant message found anywhere in the history (which may precede
207
+ * the last tool call) to avoid returning an empty string for runs that
208
+ * completed successfully via write operations.
194
209
  */
195
210
  function extractFinalText(result) {
196
211
  if (typeof result.finalOutput === 'string' && result.finalOutput) {
@@ -205,11 +220,20 @@ function extractFinalText(result) {
205
220
  break;
206
221
  }
207
222
  }
223
+ // Look for an assistant message after the last tool item.
208
224
  for (let i = history.length - 1; i > lastToolIndex; i--) {
209
225
  const text = assistantText(history[i]?.rawItem ?? history[i]);
210
226
  if (text !== null)
211
227
  return text;
212
228
  }
229
+ // Fallback: the run ended with a tool call and no narration. Return the
230
+ // last assistant message found anywhere so the caller gets a non-empty
231
+ // summary rather than an empty string.
232
+ for (let i = history.length - 1; i >= 0; i--) {
233
+ const text = assistantText(history[i]?.rawItem ?? history[i]);
234
+ if (text !== null)
235
+ return text;
236
+ }
213
237
  }
214
238
  return '';
215
239
  }
@@ -246,17 +270,24 @@ export class SubagentManager {
246
270
  this.#emit({ type: 'subagent_started', agentId, role: request.role, task: request.task });
247
271
  try {
248
272
  const result = request.role === 'mentor'
249
- ? await this.#runMentor(agentId, request.task)
273
+ ? await this.#runMentor(agentId, request.task, request.signal)
250
274
  : await this.#runSubagent(agentId, request, loadRoleDefinition(request.role, this.#settings));
251
275
  this.#emit({ type: 'subagent_completed', result });
252
276
  return result;
253
277
  }
254
278
  catch (error) {
255
279
  this.#logger.error('Subagent run failed', { agentId, role: request.role, error: error?.message });
280
+ // Detect abort-like errors (user cancellation, stream abort) and
281
+ // normalize to 'cancelled' status so the parent can distinguish
282
+ // intentional user-initiated cancellation from unexpected failures.
283
+ const isAbort = error?.name === 'AbortError' ||
284
+ error?.message?.includes('abort') ||
285
+ error?.message?.includes('cancel') ||
286
+ error?.code === 'ERR_ABORTED';
256
287
  const result = {
257
288
  agentId,
258
289
  role: request.role,
259
- status: 'failed',
290
+ status: isAbort ? 'cancelled' : 'failed',
260
291
  finalText: '',
261
292
  filesChanged: [],
262
293
  toolsUsed: [],
@@ -266,7 +297,7 @@ export class SubagentManager {
266
297
  return result;
267
298
  }
268
299
  }
269
- async #runMentor(agentId, task) {
300
+ async #runMentor(agentId, task, signal) {
270
301
  const mentorModel = this.#settings.get('agent.mentorModel');
271
302
  if (!mentorModel) {
272
303
  throw new Error('Mentor model is not configured');
@@ -312,7 +343,10 @@ export class SubagentManager {
312
343
  const providerDef = getProvider(mentorProvider);
313
344
  const supportsChaining = providerDef?.capabilities?.supportsConversationChaining ?? false;
314
345
  const input = this.#mentorSession.getInput(task, supportsChaining);
315
- const runOptions = this.#mentorSession.getRunOptions(supportsChaining, definition.maxTurns);
346
+ const runOptions = {
347
+ ...this.#mentorSession.getRunOptions(supportsChaining, definition.maxTurns),
348
+ ...(signal ? { signal } : {}),
349
+ };
316
350
  const result = await runWithProvider(mentorProvider, mentorRunner, mentorAgent, input, runOptions);
317
351
  this.#mentorSession.updateFromResult(result);
318
352
  return {
@@ -322,7 +356,7 @@ export class SubagentManager {
322
356
  finalText: extractFinalText(result),
323
357
  filesChanged: [],
324
358
  toolsUsed: [],
325
- usage: extractUsage(result),
359
+ usage: normalizeAgentRunUsage(result?.state?.usage) ?? extractUsage(result),
326
360
  };
327
361
  }
328
362
  async #runSubagent(agentId, request, definition) {
@@ -372,9 +406,17 @@ export class SubagentManager {
372
406
  instructions: fullInstructions,
373
407
  tools,
374
408
  });
375
- const result = await runWithProvider(providerId, runner, agent, request.task, {
409
+ // When resuming from a nested agent-tool run (e.g. worker approvals),
410
+ // restore the SDK RunState from the serialized resumeState string.
411
+ // This is populated by the SDK in the Agent.asTool path. When
412
+ // run_subagent is registered as a plain function tool,
413
+ // details.resumeState is not populated by the SDK, so this branch is
414
+ // dead code until run_subagent switches to Agent.asTool registration.
415
+ const runInput = request.resumeState ? await RunState.fromString(agent, request.resumeState) : request.task;
416
+ const result = await runWithProvider(providerId, runner, agent, runInput, {
376
417
  stream: false,
377
418
  maxTurns: definition.maxTurns,
419
+ ...(request.signal ? { signal: request.signal } : {}),
378
420
  });
379
421
  return {
380
422
  agentId,
@@ -383,7 +425,8 @@ export class SubagentManager {
383
425
  finalText: extractFinalText(result),
384
426
  filesChanged: [...new Set(filesChanged)],
385
427
  toolsUsed: aggregateToolUsage(toolCounts),
386
- usage: extractUsage(result),
428
+ usage: normalizeAgentRunUsage(result?.state?.usage) ?? extractUsage(result),
429
+ nestedRunResult: result,
387
430
  };
388
431
  }
389
432
  #buildToolDefinitions(definition, writeBoundary, filesChanged) {
@@ -399,20 +442,33 @@ export class SubagentManager {
399
442
  if (definition.canSearchWeb) {
400
443
  tools.push(createWebSearchToolDefinition({ settingsService: this.#settings, loggingService: this.#logger }), createWebFetchToolDefinition({ settingsService: this.#settings, loggingService: this.#logger }));
401
444
  }
402
- if (definition.canWrite) {
403
- tools.push(this.#wrapWriteTool(createApplyPatchToolDefinition({
445
+ if (definition.canRunShell) {
446
+ tools.push(this.#wrapShellTool(createShellToolDefinition({
404
447
  settingsService: this.#settings,
405
448
  loggingService: this.#logger,
406
449
  executionContext: this.#executionContext,
407
- }), writeBoundary, cwd, filesChanged, (params) => this.#extractPathsFromApplyPatch(params)), this.#wrapWriteTool(createSearchReplaceToolDefinition({
408
- settingsService: this.#settings,
409
- loggingService: this.#logger,
410
- executionContext: this.#executionContext,
411
- }), writeBoundary, cwd, filesChanged, (params) => this.#extractPathsFromSearchReplace(params)), this.#wrapWriteTool(createCreateFileToolDefinition({
412
- settingsService: this.#settings,
413
- loggingService: this.#logger,
414
- executionContext: this.#executionContext,
415
- }), writeBoundary, cwd, filesChanged, (params) => (params?.path ? [params.path] : [])));
450
+ }), writeBoundary, cwd, filesChanged));
451
+ }
452
+ if (definition.canWrite) {
453
+ const isGpt5 = shouldPreferPatchEditingModel(definition.model);
454
+ if (isGpt5) {
455
+ tools.push(this.#wrapWriteTool(createApplyPatchToolDefinition({
456
+ settingsService: this.#settings,
457
+ loggingService: this.#logger,
458
+ executionContext: this.#executionContext,
459
+ }), writeBoundary, cwd, filesChanged, (params) => this.#extractPathsFromApplyPatch(params)));
460
+ }
461
+ else {
462
+ tools.push(this.#wrapWriteTool(createSearchReplaceToolDefinition({
463
+ settingsService: this.#settings,
464
+ loggingService: this.#logger,
465
+ executionContext: this.#executionContext,
466
+ }), writeBoundary, cwd, filesChanged, (params) => this.#extractPathsFromSearchReplace(params)), this.#wrapWriteTool(createCreateFileToolDefinition({
467
+ settingsService: this.#settings,
468
+ loggingService: this.#logger,
469
+ executionContext: this.#executionContext,
470
+ }), writeBoundary, cwd, filesChanged, (params) => (params?.path ? [params.path] : [])));
471
+ }
416
472
  }
417
473
  registerToolFormatters(tools);
418
474
  return tools;
@@ -424,9 +480,6 @@ export class SubagentManager {
424
480
  return params?.path ? [params.path] : [];
425
481
  }
426
482
  #extractPathsFromSearchReplace(params) {
427
- if (Array.isArray(params?.replacements)) {
428
- return params.replacements.map((replacement) => replacement?.path).filter(Boolean);
429
- }
430
483
  return params?.path ? [params.path] : [];
431
484
  }
432
485
  #extractSuccessfulWritePaths(result) {
@@ -467,6 +520,93 @@ export class SubagentManager {
467
520
  }
468
521
  };
469
522
  }
523
+ /**
524
+ * Wraps the shell tool for worker subagents:
525
+ * - Sets needsApproval to always return false. Workers run synchronously
526
+ * inside a blocked parent tool call and have no foreground approval channel,
527
+ * so SDK interruptions (triggered by needsApproval returning true) would
528
+ * silently hang or fail.
529
+ * - Gates execution via command safety classification instead. Safe (GREEN)
530
+ * commands execute normally; dangerous (YELLOW/RED) commands are blocked
531
+ * and return an error string to the model without executing.
532
+ * - For GREEN commands that perform write operations (redirects to paths
533
+ * within the workspace), enforces the worker write boundary and acquires
534
+ * file locks so that shell-based writes and structured writes (apply_patch,
535
+ * create_file) share the same safety guarantees.
536
+ */
537
+ /**
538
+ * Parse a shell command string and extract file paths used as redirect
539
+ * targets or explicit path arguments that look like write operations.
540
+ * Returns resolved absolute paths.
541
+ */
542
+ #extractPathsFromCommand(command, cwd) {
543
+ const paths = [];
544
+ try {
545
+ classifyCommand(command, this.#logger);
546
+ // classifyCommand only returns a status, not parsed paths. For now
547
+ // we tokenize the command to find redirect targets and path-like
548
+ // arguments. This is a simple heuristic — comprehensive path
549
+ // extraction from AST is tracked as future work.
550
+ const tokens = command.match(/>\s*(\S+)|>>\s*(\S+)|tee\s+(\S+)/gi);
551
+ if (tokens) {
552
+ for (const token of tokens) {
553
+ const match = token.match(/>+\s*(\S+)|tee\s+(\S+)/);
554
+ if (match) {
555
+ const p = match[1] ?? match[2];
556
+ if (p) {
557
+ const resolved = path.resolve(cwd, p);
558
+ paths.push(resolved);
559
+ }
560
+ }
561
+ }
562
+ }
563
+ }
564
+ catch {
565
+ // Parsing failure is non-fatal — proceed without path extraction
566
+ }
567
+ return [...new Set(paths)];
568
+ }
569
+ #wrapShellTool(definition, writeBoundary, cwd, filesChanged) {
570
+ const originalExecute = definition.execute.bind(definition);
571
+ return {
572
+ ...definition,
573
+ needsApproval: () => false,
574
+ execute: async (params, context, details) => {
575
+ const command = typeof params?.command === 'string' ? params.command : '';
576
+ if (!command) {
577
+ return originalExecute(params, context, details);
578
+ }
579
+ const status = classifyCommand(command, this.#logger);
580
+ if (status === SafetyStatus.YELLOW || status === SafetyStatus.RED) {
581
+ return `Error: command blocked for safety (${status}). Workers cannot run commands that require interactive approval. Command: ${command}`;
582
+ }
583
+ // For GREEN commands, extract any file paths referenced in the
584
+ // command (redirect targets, arguments that look like paths) and
585
+ // enforce the write boundary and file locks.
586
+ const extractedPaths = this.#extractPathsFromCommand(command, cwd);
587
+ if (extractedPaths.length > 0) {
588
+ for (const filePath of extractedPaths) {
589
+ if (!this.#isWithinWriteBoundary(filePath, writeBoundary, cwd)) {
590
+ return `Error: command blocked — target path "${filePath}" is outside the allowed write boundary. Command: ${command}`;
591
+ }
592
+ }
593
+ const releaseWorkerLocks = this.#tryAcquireWorkerWriteLocks(extractedPaths, cwd);
594
+ if (!releaseWorkerLocks) {
595
+ return 'Error: command blocked — one or more target files are already being modified by another worker.';
596
+ }
597
+ try {
598
+ const result = await originalExecute(params, context, details);
599
+ filesChanged.push(...extractedPaths);
600
+ return result;
601
+ }
602
+ finally {
603
+ releaseWorkerLocks();
604
+ }
605
+ }
606
+ return originalExecute(params, context, details);
607
+ },
608
+ };
609
+ }
470
610
  // An explicit writeBoundary narrows where a worker may write. When omitted it
471
611
  // defaults to the workspace root, so writes outside the workspace are always
472
612
  // rejected even without an explicit boundary.
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-manager.js","sourceRoot":"","sources":["../../../source/services/subagents/subagent-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,IAAI,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EACL,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AAC9E,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,WAAW,GAAwB,EAAE,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,SAAS;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1C,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChH,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAkB,EAAE,QAA0B;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IAEtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,6BAA6B,QAAQ,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,UAAkB,EAAE,YAAiB,EAAO,EAAE;QACzE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjF,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,IAAI;QAC9B,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,KAAK;QACrC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,KAAK;QACvC,YAAY,EAAE,WAAW,CAAC,YAAY,IAAI,KAAK;QAC/C,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,KAAK;QAC7C,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,sBAAsB;QACxD,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;QAC1D,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC;QACnE,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,uBAAuB,EAAE,SAAS,CAAC;QACzF,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,eAAiC,EACjC,OAMC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG;QACnB,4BAA4B,EAAE,WAAW,EAAE,YAAY,EAAE,4BAA4B,IAAI,KAAK;QAC9F,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,sBAAsB,IAAI,KAAK;QAClF,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB;KACtE,CAAC;IACF,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAChD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,YAAY;KACb,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACxC,cAAc,CACZ,UAAU,CAAC;QACT,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU;QACrG,aAAa,EAAE,iBAAiB,CAAC,UAAU,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAClC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,4BAA4B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YACjG,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB,sBAAsB,CAAC,CAAC;YACzF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1D,OAAO,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,IAAI,SAAS,CAAC,CAAC;QACzE,CAAC;KACF,CAAC,CACH,CACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,UAA0B,EAAE,MAAe;IAC/E,MAAM,MAAM,GAAG,iBAAiB,UAAU,EAAE,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG;QACX,EAAE,EAAE,MAAM;QACV,OAAO,EAAE;YACP,EAAE,EAAE,MAAM;YACV,MAAM;YACN,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,EAAE;SACX;KACF,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,GAAG,OAAO;gBACV,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,EAAE;gBACxB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,SAAS;gBAClB,aAAa,EAAE,SAAS;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI;gBAC7C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM;aACrC,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;IAC/E,CAAC;IAED,OAAO;QACL;YACE,EAAE,EAAE,GAAG,MAAM,IAAI;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,UAAU,CAAC,IAAI;YACxB,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,UAAU,CAAC,IAAI;YACzB,QAAQ,EAAE,MAAM;SACjB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,MAAW,EAAE,KAAY,EAAE,KAAU,EAAE,OAAY;IAC9F,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,sBAAsB,GAAG,WAAW,EAAE,YAAY,EAAE,sBAAsB,IAAI,KAAK,CAAC;IAC1F,MAAM,gBAAgB,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IACxC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,UAAU,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,+CAA+C;YACrD,2EAA2E,CAC9E,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAQ;IACjC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,GAAG,EAAE,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,aAAa,CAAC,GAAQ;IAC7B,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;IAC7B,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACvB,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAAW;IACnC,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACjE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,aAAa,GAAG,CAAC,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA+B;IACzD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,OAAO,eAAe;IAC1B,OAAO,CAAkB;IACzB,SAAS,CAAmB;IAC5B,iBAAiB,CAAoB;IACrC,QAAQ,CAAsC;IAC9C,cAAc,CAAkB;IAEhC,YAAY,IAKX;QACC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAwB;QAC5B,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAwB;QAChC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1F,IAAI,CAAC;YACH,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,KAAK,QAAQ;gBACvB,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAClG,MAAM,MAAM,GAAmB;gBAC7B,OAAO;gBACP,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,EAAE;gBACb,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;aACvC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,IAAY;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAS,mBAAmB,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,cAAc,GAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAS,sBAAsB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAS,gBAAgB,CAAC,IAAI,QAAQ,CAAC;QACjH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAU,gBAAgB,CAAC,CAAC;QAEjE,wEAAwE;QACxE,4EAA4E;QAC5E,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,gBAAgB,GAAG,UAAU;YACjC,CAAC,CAAC,0HAA0H;gBAC1H,yDAAyD;gBACzD,6DAA6D;gBAC7D,mEAAmE;gBACnE,8DAA8D;gBAC9D,wDAAwD;gBACxD,wHAAwH;gBACxH,4DAA4D;YAC9D,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;QAE5B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,GAAG,gBAAgB,oBAAoB,OAAO,GAAG,kBAAkB,EAAE,CAAC;QAE3F,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE;YACnF,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,EAAE;YACvD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAS,6BAA6B,CAAC,CAAC;YAClF,MAAM,aAAa,GAAQ,EAAE,CAAC;YAC9B,IAAI,eAAe,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACrD,aAAa,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACzE,CAAC;YAED,OAAO,IAAI,KAAK,CAAC;gBACf,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,WAAW;gBAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,YAAY;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,WAAW,EAAE,YAAY,EAAE,4BAA4B,IAAI,KAAK,CAAC;QAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE5F,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO;YACP,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;YACnC,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,OAAwB,EACxB,UAA8B;QAE9B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAEpG,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;QACvC,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,EAAE;YAC7C,UAAU;YACV,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE;gBAC9C,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,KAAK,CAAC;oBACT,IAAI,EAAE,uBAAuB;oBAC7B,OAAO;oBACP,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,QAAQ,EAAE,IAAI;oBACd,eAAe;iBAChB,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,MAAM,GACV,UAAU,KAAK,QAAQ;YACrB,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI;YACxG,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,aAAa,GAAQ,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC3E,aAAa,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACpF,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEhG,MAAM,gBAAgB,GAAG;YACvB,UAAU,CAAC,YAAY;YACvB,gBAAgB,OAAO,GAAG,kBAAkB,EAAE;YAC9C,OAAO,CAAC,aAAa,EAAE,MAAM;gBAC3B,CAAC,CAAC,uDAAuD,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3F,CAAC,CAAC,EAAE;SACP;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,YAAY,EAAE,gBAAgB;YAC9B,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE;YAC5E,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CAAC;QAEH,OAAO;YACL,OAAO;YACP,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC;YACnC,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YACxC,SAAS,EAAE,kBAAkB,CAAC,UAAU,CAAC;YACzC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,qBAAqB,CACnB,UAA8B,EAC9B,aAAmC,EACnC,YAAsB;QAEtB,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC;QAE7D,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CACR,4BAA4B,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EACxG,wBAAwB,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,EACtE,6BAA6B,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAC5E,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CACR,mCAAmC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,EACjF,qCAAqC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CACR,6BAA6B,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAChG,4BAA4B,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAChG,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,cAAc,CACjB,8BAA8B,CAAC;gBAC7B,eAAe,EAAE,IAAI,CAAC,SAAS;gBAC/B,cAAc,EAAE,IAAI,CAAC,OAAO;gBAC5B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;aACzC,CAAC,EACF,aAAa,EACb,GAAG,EACH,YAAY,EACZ,CAAC,MAAW,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAC1D,EACD,IAAI,CAAC,cAAc,CACjB,iCAAiC,CAAC;gBAChC,eAAe,EAAE,IAAI,CAAC,SAAS;gBAC/B,cAAc,EAAE,IAAI,CAAC,OAAO;gBAC5B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;aACzC,CAAC,EACF,aAAa,EACb,GAAG,EACH,YAAY,EACZ,CAAC,MAAW,EAAE,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAC7D,EACD,IAAI,CAAC,cAAc,CACjB,8BAA8B,CAAC;gBAC7B,eAAe,EAAE,IAAI,CAAC,SAAS;gBAC/B,cAAc,EAAE,IAAI,CAAC,OAAO;gBAC5B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;aACzC,CAAC,EACF,aAAa,EACb,GAAG,EACH,YAAY,EACZ,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACrD,CACF,CAAC;QACJ,CAAC;QAED,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAE9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B,CAAC,MAAW;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,8BAA8B,CAAC,MAAW;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,4BAA4B,CAAC,MAAe;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAClC,OAAO,MAAM,CAAC,MAAM;qBACjB,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC;qBAC/E,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2BAA2B,CAAC,KAAe,EAAE,GAAW;QACtD,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAsB,EAAE,CAAC;QAEvC,KAAK,MAAM,YAAY,IAAI,mBAAmB,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;oBACxC,MAAM,EAAE,CAAC;gBACX,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxC,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,8CAA8C;IAC9C,sBAAsB,CAAC,QAAgB,EAAE,aAAmC,EAAE,GAAW;QACvF,MAAM,UAAU,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrD,OAAO,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CACZ,UAA0B,EAC1B,aAAmC,EACnC,GAAW,EACX,YAAsB,EACtB,YAAuC;QAEvC,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5D,OAAO;YACL,GAAG,UAAU;YACb,yEAAyE;YACzE,mEAAmE;YACnE,2EAA2E;YAC3E,0EAA0E;YAC1E,gEAAgE;YAChE,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;YAC1B,OAAO,EAAE,KAAK,EAAE,MAAW,EAAE,OAAiB,EAAE,EAAE;gBAChD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;gBAEnC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;oBAC7B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;wBAC/D,OAAO,IAAI,CAAC,SAAS,CAAC;4BACpB,MAAM,EAAE;gCACN;oCACE,OAAO,EAAE,KAAK;oCACd,KAAK,EAAE,yBAAyB,QAAQ,0CAA0C;iCACnF;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxE,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC,SAAS,CAAC;wBACpB,MAAM,EAAE;4BACN;gCACE,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,wFAAwF;6BAChG;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACtD,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACpC,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;wBAAS,CAAC;oBACT,kBAAkB,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"subagent-manager.js","sourceRoot":"","sources":["../../../source/services/subagents/subagent-manager.ts"],"names":[],"mappings":"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"}