@qduc/term2 0.11.1 → 0.12.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 (1258) hide show
  1. package/README.md +6 -4
  2. package/dist/agent.d.ts +21 -24
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +73 -21
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts +3 -1
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +283 -128
  9. package/dist/app.js.map +1 -1
  10. package/dist/cli.js +91 -27
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/auto-approve-command.js.map +1 -1
  13. package/dist/commands/mode-commands.js.map +1 -1
  14. package/dist/commands/retry-tool-command.d.ts +13 -0
  15. package/dist/commands/retry-tool-command.d.ts.map +1 -0
  16. package/dist/commands/retry-tool-command.js +20 -0
  17. package/dist/commands/retry-tool-command.js.map +1 -0
  18. package/dist/commands/rewind-command.d.ts +37 -0
  19. package/dist/commands/rewind-command.d.ts.map +1 -0
  20. package/dist/commands/rewind-command.js +97 -0
  21. package/dist/commands/rewind-command.js.map +1 -0
  22. package/dist/commands/sandbox-command.js.map +1 -1
  23. package/dist/components/InputBox.d.ts +18 -32
  24. package/dist/components/InputBox.d.ts.map +1 -1
  25. package/dist/components/InputBox.js +178 -579
  26. package/dist/components/InputBox.js.map +1 -1
  27. package/dist/components/input/ApplicationInputSurface.d.ts +37 -0
  28. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -0
  29. package/dist/components/input/ApplicationInputSurface.js +78 -0
  30. package/dist/components/input/ApplicationInputSurface.js.map +1 -0
  31. package/dist/components/input/MenuStackHost.d.ts +12 -0
  32. package/dist/components/input/MenuStackHost.d.ts.map +1 -0
  33. package/dist/components/input/MenuStackHost.js +13 -0
  34. package/dist/components/input/MenuStackHost.js.map +1 -0
  35. package/dist/components/input/MenuSurface.d.ts +13 -0
  36. package/dist/components/input/MenuSurface.d.ts.map +1 -0
  37. package/dist/components/input/MenuSurface.js +86 -0
  38. package/dist/components/input/MenuSurface.js.map +1 -0
  39. package/dist/components/input/ModelMenuSession.d.ts +19 -0
  40. package/dist/components/input/ModelMenuSession.d.ts.map +1 -0
  41. package/dist/components/input/ModelMenuSession.js +144 -0
  42. package/dist/components/input/ModelMenuSession.js.map +1 -0
  43. package/dist/components/input/PathMenuSession.d.ts +16 -0
  44. package/dist/components/input/PathMenuSession.d.ts.map +1 -0
  45. package/dist/components/input/PathMenuSession.js +68 -0
  46. package/dist/components/input/PathMenuSession.js.map +1 -0
  47. package/dist/components/input/PendingQueueList.d.ts +20 -0
  48. package/dist/components/input/PendingQueueList.d.ts.map +1 -0
  49. package/dist/components/input/PendingQueueList.js +26 -0
  50. package/dist/components/input/PendingQueueList.js.map +1 -0
  51. package/dist/components/input/ProviderMenuSession.d.ts +16 -0
  52. package/dist/components/input/ProviderMenuSession.d.ts.map +1 -0
  53. package/dist/components/input/ProviderMenuSession.js +93 -0
  54. package/dist/components/input/ProviderMenuSession.js.map +1 -0
  55. package/dist/components/input/RewindMenuSession.d.ts +14 -0
  56. package/dist/components/input/RewindMenuSession.d.ts.map +1 -0
  57. package/dist/components/input/RewindMenuSession.js +77 -0
  58. package/dist/components/input/RewindMenuSession.js.map +1 -0
  59. package/dist/components/input/SettingsMenuSession.d.ts +17 -0
  60. package/dist/components/input/SettingsMenuSession.d.ts.map +1 -0
  61. package/dist/components/input/SettingsMenuSession.js +136 -0
  62. package/dist/components/input/SettingsMenuSession.js.map +1 -0
  63. package/dist/components/input/SettingsValueMenuSession.d.ts +19 -0
  64. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -0
  65. package/dist/components/input/SettingsValueMenuSession.js +113 -0
  66. package/dist/components/input/SettingsValueMenuSession.js.map +1 -0
  67. package/dist/components/input/SkillsMenuSession.d.ts +16 -0
  68. package/dist/components/input/SkillsMenuSession.d.ts.map +1 -0
  69. package/dist/components/input/SkillsMenuSession.js +64 -0
  70. package/dist/components/input/SkillsMenuSession.js.map +1 -0
  71. package/dist/components/input/SlashMenuSession.d.ts +17 -0
  72. package/dist/components/input/SlashMenuSession.d.ts.map +1 -0
  73. package/dist/components/input/SlashMenuSession.js +57 -0
  74. package/dist/components/input/SlashMenuSession.js.map +1 -0
  75. package/dist/components/input/determine-active-menu.d.ts +2 -0
  76. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  77. package/dist/components/input/determine-active-menu.js +12 -4
  78. package/dist/components/input/determine-active-menu.js.map +1 -1
  79. package/dist/components/input/insertions.d.ts +0 -13
  80. package/dist/components/input/insertions.d.ts.map +1 -1
  81. package/dist/components/input/insertions.js +0 -26
  82. package/dist/components/input/insertions.js.map +1 -1
  83. package/dist/components/input/menu-controller.d.ts +52 -0
  84. package/dist/components/input/menu-controller.d.ts.map +1 -0
  85. package/dist/components/input/menu-controller.js +690 -0
  86. package/dist/components/input/menu-controller.js.map +1 -0
  87. package/dist/components/input/menu-editor.d.ts +9 -0
  88. package/dist/components/input/menu-editor.d.ts.map +1 -0
  89. package/dist/components/input/menu-editor.js +45 -0
  90. package/dist/components/input/menu-editor.js.map +1 -0
  91. package/dist/components/input/menu-registry.d.ts +20 -0
  92. package/dist/components/input/menu-registry.d.ts.map +1 -0
  93. package/dist/components/input/menu-registry.js +25 -0
  94. package/dist/components/input/menu-registry.js.map +1 -0
  95. package/dist/components/input/menu-types.d.ts +320 -0
  96. package/dist/components/input/menu-types.d.ts.map +1 -0
  97. package/dist/components/input/menu-types.js +2 -0
  98. package/dist/components/input/menu-types.js.map +1 -0
  99. package/dist/components/input/settings-intent-host.d.ts +22 -0
  100. package/dist/components/input/settings-intent-host.d.ts.map +1 -0
  101. package/dist/components/input/settings-intent-host.js +69 -0
  102. package/dist/components/input/settings-intent-host.js.map +1 -0
  103. package/dist/components/input/triggers.d.ts +3 -0
  104. package/dist/components/input/triggers.d.ts.map +1 -1
  105. package/dist/components/input/triggers.js +258 -0
  106. package/dist/components/input/triggers.js.map +1 -1
  107. package/dist/components/layout/BackgroundTaskManager.d.ts +16 -0
  108. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -0
  109. package/dist/components/layout/BackgroundTaskManager.js +236 -0
  110. package/dist/components/layout/BackgroundTaskManager.js.map +1 -0
  111. package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -2
  112. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  113. package/dist/components/layout/BackgroundTasksPanel.js +54 -33
  114. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  115. package/dist/components/layout/Banner.js.map +1 -1
  116. package/dist/components/layout/BottomArea.d.ts +23 -19
  117. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  118. package/dist/components/layout/BottomArea.js +74 -48
  119. package/dist/components/layout/BottomArea.js.map +1 -1
  120. package/dist/components/layout/StatusBar.d.ts +3 -1
  121. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  122. package/dist/components/layout/StatusBar.js +102 -83
  123. package/dist/components/layout/StatusBar.js.map +1 -1
  124. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  125. package/dist/components/menu/RewindMenu.d.ts +18 -0
  126. package/dist/components/menu/RewindMenu.d.ts.map +1 -0
  127. package/dist/components/menu/RewindMenu.js +59 -0
  128. package/dist/components/menu/RewindMenu.js.map +1 -0
  129. package/dist/components/message/ChatMessage.d.ts +2 -1
  130. package/dist/components/message/ChatMessage.d.ts.map +1 -1
  131. package/dist/components/message/ChatMessage.js +1 -1
  132. package/dist/components/message/ChatMessage.js.map +1 -1
  133. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  134. package/dist/components/message/CommandMessage.js +138 -17
  135. package/dist/components/message/CommandMessage.js.map +1 -1
  136. package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
  137. package/dist/components/message/MemoryRenderer.js +16 -10
  138. package/dist/components/message/MemoryRenderer.js.map +1 -1
  139. package/dist/components/message/MessageList.d.ts +20 -3
  140. package/dist/components/message/MessageList.d.ts.map +1 -1
  141. package/dist/components/message/MessageList.js +1 -1
  142. package/dist/components/message/MessageList.js.map +1 -1
  143. package/dist/components/message/SubagentActivityMessage.d.ts +5 -1
  144. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  145. package/dist/components/message/SubagentActivityMessage.js +12 -4
  146. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  147. package/dist/components/message/command-message-helpers.d.ts +37 -0
  148. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  149. package/dist/components/message/command-message-helpers.js +49 -8
  150. package/dist/components/message/command-message-helpers.js.map +1 -1
  151. package/dist/components/prompt/ApprovalPrompt.d.ts +1 -0
  152. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  153. package/dist/components/prompt/ApprovalPrompt.js +136 -59
  154. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  155. package/dist/context/InputContext.d.ts +15 -8
  156. package/dist/context/InputContext.d.ts.map +1 -1
  157. package/dist/context/InputContext.js +92 -15
  158. package/dist/context/InputContext.js.map +1 -1
  159. package/dist/contracts/application-stream.d.ts +38 -0
  160. package/dist/contracts/application-stream.d.ts.map +1 -0
  161. package/dist/contracts/application-stream.js +2 -0
  162. package/dist/contracts/application-stream.js.map +1 -0
  163. package/dist/contracts/continuation-handle.d.ts +18 -0
  164. package/dist/contracts/continuation-handle.d.ts.map +1 -0
  165. package/dist/contracts/continuation-handle.js +22 -0
  166. package/dist/contracts/continuation-handle.js.map +1 -0
  167. package/dist/contracts/conversation-items.d.ts +47 -0
  168. package/dist/contracts/conversation-items.d.ts.map +1 -0
  169. package/dist/contracts/conversation-items.js +2 -0
  170. package/dist/contracts/conversation-items.js.map +1 -0
  171. package/dist/contracts/conversation.d.ts +44 -4
  172. package/dist/contracts/conversation.d.ts.map +1 -1
  173. package/dist/contracts/conversation.js +9 -0
  174. package/dist/contracts/conversation.js.map +1 -1
  175. package/dist/contracts/model-errors.d.ts +10 -0
  176. package/dist/contracts/model-errors.d.ts.map +1 -0
  177. package/dist/contracts/model-errors.js +15 -0
  178. package/dist/contracts/model-errors.js.map +1 -0
  179. package/dist/contracts/model-types.d.ts +16 -0
  180. package/dist/contracts/model-types.d.ts.map +1 -0
  181. package/dist/contracts/model-types.js +2 -0
  182. package/dist/contracts/model-types.js.map +1 -0
  183. package/dist/contracts/patch.d.ts +17 -0
  184. package/dist/contracts/patch.d.ts.map +1 -0
  185. package/dist/contracts/patch.js +2 -0
  186. package/dist/contracts/patch.js.map +1 -0
  187. package/dist/contracts/provider-input.d.ts +34 -0
  188. package/dist/contracts/provider-input.d.ts.map +1 -0
  189. package/dist/contracts/provider-input.js +2 -0
  190. package/dist/contracts/provider-input.js.map +1 -0
  191. package/dist/contracts/streamed-model-turn.d.ts +230 -0
  192. package/dist/contracts/streamed-model-turn.d.ts.map +1 -0
  193. package/dist/contracts/streamed-model-turn.js +2 -0
  194. package/dist/contracts/streamed-model-turn.js.map +1 -0
  195. package/dist/env-setup.js +1 -1
  196. package/dist/hooks/conversation-ui-reducer.d.ts +22 -4
  197. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  198. package/dist/hooks/conversation-ui-reducer.js +43 -4
  199. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  200. package/dist/hooks/handoff-flow-reducer.d.ts +1 -36
  201. package/dist/hooks/handoff-flow-reducer.d.ts.map +1 -1
  202. package/dist/hooks/handoff-flow-reducer.js +3 -57
  203. package/dist/hooks/handoff-flow-reducer.js.map +1 -1
  204. package/dist/hooks/settings-completion-config.d.ts +1 -0
  205. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  206. package/dist/hooks/settings-completion-config.js +30 -6
  207. package/dist/hooks/settings-completion-config.js.map +1 -1
  208. package/dist/hooks/use-app-commands.d.ts +13 -11
  209. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  210. package/dist/hooks/use-app-commands.js +90 -63
  211. package/dist/hooks/use-app-commands.js.map +1 -1
  212. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +18 -1
  213. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  214. package/dist/hooks/use-app-keyboard-shortcuts.js +77 -8
  215. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  216. package/dist/hooks/use-conversation.d.ts +30 -13
  217. package/dist/hooks/use-conversation.d.ts.map +1 -1
  218. package/dist/hooks/use-conversation.js +84 -18
  219. package/dist/hooks/use-conversation.js.map +1 -1
  220. package/dist/hooks/use-escape-key.d.ts +4 -32
  221. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  222. package/dist/hooks/use-escape-key.js +27 -68
  223. package/dist/hooks/use-escape-key.js.map +1 -1
  224. package/dist/hooks/use-handoff-flow.d.ts +6 -6
  225. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  226. package/dist/hooks/use-handoff-flow.js +110 -118
  227. package/dist/hooks/use-handoff-flow.js.map +1 -1
  228. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  229. package/dist/hooks/use-model-selection.js +50 -59
  230. package/dist/hooks/use-model-selection.js.map +1 -1
  231. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  232. package/dist/hooks/use-path-completion.js +20 -11
  233. package/dist/hooks/use-path-completion.js.map +1 -1
  234. package/dist/hooks/use-provider-selection.d.ts.map +1 -1
  235. package/dist/hooks/use-provider-selection.js +19 -16
  236. package/dist/hooks/use-provider-selection.js.map +1 -1
  237. package/dist/hooks/use-rewind-selection.d.ts +30 -0
  238. package/dist/hooks/use-rewind-selection.d.ts.map +1 -0
  239. package/dist/hooks/{use-undo-selection.js → use-rewind-selection.js} +37 -28
  240. package/dist/hooks/use-rewind-selection.js.map +1 -0
  241. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  242. package/dist/hooks/use-runtime-settings.js +4 -3
  243. package/dist/hooks/use-runtime-settings.js.map +1 -1
  244. package/dist/hooks/use-selection.d.ts +1 -0
  245. package/dist/hooks/use-selection.d.ts.map +1 -1
  246. package/dist/hooks/use-selection.js +1 -1
  247. package/dist/hooks/use-selection.js.map +1 -1
  248. package/dist/hooks/use-setting.d.ts +3 -2
  249. package/dist/hooks/use-setting.d.ts.map +1 -1
  250. package/dist/hooks/use-setting.js +1 -1
  251. package/dist/hooks/use-setting.js.map +1 -1
  252. package/dist/hooks/use-settings-completion.d.ts +1 -0
  253. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  254. package/dist/hooks/use-settings-completion.js +22 -15
  255. package/dist/hooks/use-settings-completion.js.map +1 -1
  256. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  257. package/dist/hooks/use-settings-value-completion.js +40 -28
  258. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  259. package/dist/hooks/use-shell-mode.d.ts +3 -13
  260. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  261. package/dist/hooks/use-shell-mode.js +14 -53
  262. package/dist/hooks/use-shell-mode.js.map +1 -1
  263. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  264. package/dist/hooks/use-skill-selection.js +17 -11
  265. package/dist/hooks/use-skill-selection.js.map +1 -1
  266. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  267. package/dist/hooks/use-slash-commands.js +11 -10
  268. package/dist/hooks/use-slash-commands.js.map +1 -1
  269. package/dist/hooks/use-terminal-focus-notifier.js.map +1 -1
  270. package/dist/lib/agent-chat-service.d.ts +12 -8
  271. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  272. package/dist/lib/agent-chat-service.js +79 -44
  273. package/dist/lib/agent-chat-service.js.map +1 -1
  274. package/dist/lib/agent-client.d.ts +93 -17
  275. package/dist/lib/agent-client.d.ts.map +1 -1
  276. package/dist/lib/agent-client.js +398 -37
  277. package/dist/lib/agent-client.js.map +1 -1
  278. package/dist/lib/agent-configuration.d.ts +33 -15
  279. package/dist/lib/agent-configuration.d.ts.map +1 -1
  280. package/dist/lib/agent-configuration.js +104 -9
  281. package/dist/lib/agent-configuration.js.map +1 -1
  282. package/dist/lib/agent-factory.d.ts +22 -4
  283. package/dist/lib/agent-factory.d.ts.map +1 -1
  284. package/dist/lib/agent-factory.js +137 -101
  285. package/dist/lib/agent-factory.js.map +1 -1
  286. package/dist/lib/chained-input-filter.d.ts +7 -1
  287. package/dist/lib/chained-input-filter.d.ts.map +1 -1
  288. package/dist/lib/chained-input-filter.js +46 -62
  289. package/dist/lib/chained-input-filter.js.map +1 -1
  290. package/dist/lib/continuation-projection-mode.d.ts +3 -0
  291. package/dist/lib/continuation-projection-mode.d.ts.map +1 -0
  292. package/dist/lib/continuation-projection-mode.js +2 -0
  293. package/dist/lib/continuation-projection-mode.js.map +1 -0
  294. package/dist/lib/editor-impl.d.ts +1 -1
  295. package/dist/lib/editor-impl.d.ts.map +1 -1
  296. package/dist/lib/editor-impl.js +1 -1
  297. package/dist/lib/editor-impl.js.map +1 -1
  298. package/dist/lib/harness-invariant-error.d.ts +22 -0
  299. package/dist/lib/harness-invariant-error.d.ts.map +1 -0
  300. package/dist/lib/harness-invariant-error.js +30 -0
  301. package/dist/lib/harness-invariant-error.js.map +1 -0
  302. package/dist/lib/input-owner.d.ts +64 -0
  303. package/dist/lib/input-owner.d.ts.map +1 -0
  304. package/dist/lib/input-owner.js +34 -0
  305. package/dist/lib/input-owner.js.map +1 -0
  306. package/dist/lib/openai-strict-tool-schema.d.ts +7 -4
  307. package/dist/lib/openai-strict-tool-schema.d.ts.map +1 -1
  308. package/dist/lib/openai-strict-tool-schema.js +8 -0
  309. package/dist/lib/openai-strict-tool-schema.js.map +1 -1
  310. package/dist/lib/subagent-bridge.d.ts +36 -4
  311. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  312. package/dist/lib/subagent-bridge.js +92 -20
  313. package/dist/lib/subagent-bridge.js.map +1 -1
  314. package/dist/lib/tool-invoke.d.ts +18 -10
  315. package/dist/lib/tool-invoke.d.ts.map +1 -1
  316. package/dist/lib/tool-invoke.js +92 -44
  317. package/dist/lib/tool-invoke.js.map +1 -1
  318. package/dist/non-interactive.d.ts +14 -4
  319. package/dist/non-interactive.d.ts.map +1 -1
  320. package/dist/non-interactive.js +91 -84
  321. package/dist/non-interactive.js.map +1 -1
  322. package/dist/prompts/async-subagent-delegation.d.ts +1 -4
  323. package/dist/prompts/async-subagent-delegation.d.ts.map +1 -1
  324. package/dist/prompts/async-subagent-delegation.js +9 -47
  325. package/dist/prompts/async-subagent-delegation.js.map +1 -1
  326. package/dist/prompts/async-subagent-delegation.ts +9 -58
  327. package/dist/prompts/memory.md +1 -1
  328. package/dist/prompts/orchestrator-prompt.test.ts +15 -0
  329. package/dist/prompts/orchestrator.md +7 -5
  330. package/dist/prompts/plan-mode-info.md +1 -1
  331. package/dist/prompts/prompt-constructor.d.ts +1 -0
  332. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  333. package/dist/prompts/prompt-constructor.js +5 -7
  334. package/dist/prompts/prompt-constructor.js.map +1 -1
  335. package/dist/prompts/prompt-constructor.test.ts +9 -8
  336. package/dist/prompts/prompt-constructor.ts +6 -7
  337. package/dist/prompts/shell-auto-approval.d.ts +2 -2
  338. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  339. package/dist/prompts/shell-auto-approval.js +20 -5
  340. package/dist/prompts/shell-auto-approval.js.map +1 -1
  341. package/dist/prompts/shell-auto-approval.ts +20 -5
  342. package/dist/prompts/steering-notice.d.ts +16 -0
  343. package/dist/prompts/steering-notice.d.ts.map +1 -0
  344. package/dist/prompts/steering-notice.js +24 -0
  345. package/dist/prompts/steering-notice.js.map +1 -0
  346. package/dist/prompts/steering-notice.ts +24 -0
  347. package/dist/prompts/subagent-delegation.d.ts +6 -5
  348. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  349. package/dist/prompts/subagent-delegation.js +36 -13
  350. package/dist/prompts/subagent-delegation.js.map +1 -1
  351. package/dist/prompts/subagent-delegation.test.ts +9 -2
  352. package/dist/prompts/subagent-delegation.ts +54 -14
  353. package/dist/prompts/subagents/explorer.md +24 -14
  354. package/dist/prompts/subagents/worker-prompt.test.ts +2 -2
  355. package/dist/prompts/worktree-hygiene.md +1 -0
  356. package/dist/providers/ai-sdk-anthropic.provider.d.ts +3 -3
  357. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
  358. package/dist/providers/ai-sdk-anthropic.provider.js +8 -4
  359. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
  360. package/dist/providers/ai-sdk-google.provider.d.ts +5 -4
  361. package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -1
  362. package/dist/providers/ai-sdk-google.provider.js +23 -3
  363. package/dist/providers/ai-sdk-google.provider.js.map +1 -1
  364. package/dist/providers/ai-sdk-message-normalizer.d.ts +3 -7
  365. package/dist/providers/ai-sdk-message-normalizer.d.ts.map +1 -1
  366. package/dist/providers/ai-sdk-message-normalizer.js +27 -11
  367. package/dist/providers/ai-sdk-message-normalizer.js.map +1 -1
  368. package/dist/providers/ai-sdk-openrouter.provider.d.ts +5 -4
  369. package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
  370. package/dist/providers/ai-sdk-openrouter.provider.js +25 -3
  371. package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
  372. package/dist/providers/ai-sdk-provider-settings.d.ts +10 -0
  373. package/dist/providers/ai-sdk-provider-settings.d.ts.map +1 -0
  374. package/dist/providers/ai-sdk-provider-settings.js +37 -0
  375. package/dist/providers/ai-sdk-provider-settings.js.map +1 -0
  376. package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
  377. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -0
  378. package/dist/providers/ai-sdk-streamed-model.js +338 -0
  379. package/dist/providers/ai-sdk-streamed-model.js.map +1 -0
  380. package/dist/providers/codex-responses-model.d.ts +39 -12
  381. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  382. package/dist/providers/codex-responses-model.js +656 -155
  383. package/dist/providers/codex-responses-model.js.map +1 -1
  384. package/dist/providers/codex-turn-converter.d.ts +12 -0
  385. package/dist/providers/codex-turn-converter.d.ts.map +1 -0
  386. package/dist/providers/codex-turn-converter.js +168 -0
  387. package/dist/providers/codex-turn-converter.js.map +1 -0
  388. package/dist/providers/codex.provider.d.ts +21 -0
  389. package/dist/providers/codex.provider.d.ts.map +1 -1
  390. package/dist/providers/codex.provider.js +57 -27
  391. package/dist/providers/codex.provider.js.map +1 -1
  392. package/dist/providers/common/openai-compatible-message-contract.d.ts +8 -0
  393. package/dist/providers/common/openai-compatible-message-contract.d.ts.map +1 -0
  394. package/dist/providers/common/openai-compatible-message-contract.js +23 -0
  395. package/dist/providers/common/openai-compatible-message-contract.js.map +1 -0
  396. package/dist/providers/common/openai-compatible-messages.d.ts +0 -4
  397. package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
  398. package/dist/providers/common/openai-compatible-messages.js +0 -288
  399. package/dist/providers/common/openai-compatible-messages.js.map +1 -1
  400. package/dist/providers/fetch/composer.d.ts.map +1 -1
  401. package/dist/providers/fetch/composer.js +1 -0
  402. package/dist/providers/fetch/composer.js.map +1 -1
  403. package/dist/providers/model-catalog/catalog.d.ts +31 -0
  404. package/dist/providers/model-catalog/catalog.d.ts.map +1 -0
  405. package/dist/providers/model-catalog/catalog.generated.d.ts +3010 -0
  406. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -0
  407. package/dist/providers/model-catalog/catalog.generated.js +3004 -0
  408. package/dist/providers/model-catalog/catalog.generated.js.map +1 -0
  409. package/dist/providers/model-catalog/catalog.js +62 -0
  410. package/dist/providers/model-catalog/catalog.js.map +1 -0
  411. package/dist/providers/model-catalog/generate-catalog.d.ts +42 -0
  412. package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -0
  413. package/dist/providers/model-catalog/generate-catalog.js +96 -0
  414. package/dist/providers/model-catalog/generate-catalog.js.map +1 -0
  415. package/dist/providers/openai-chained-input-compatibility.d.ts +36 -0
  416. package/dist/providers/openai-chained-input-compatibility.d.ts.map +1 -0
  417. package/dist/providers/openai-chained-input-compatibility.js +60 -0
  418. package/dist/providers/openai-chained-input-compatibility.js.map +1 -0
  419. package/dist/providers/openai-chat-completions-model.d.ts +12 -0
  420. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -0
  421. package/dist/providers/openai-chat-completions-model.js +271 -0
  422. package/dist/providers/openai-chat-completions-model.js.map +1 -0
  423. package/dist/providers/openai-compatible-lazy.d.ts +1 -1
  424. package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
  425. package/dist/providers/openai-compatible-lazy.js +24 -36
  426. package/dist/providers/openai-compatible-lazy.js.map +1 -1
  427. package/dist/providers/openai-compatible-middleware.d.ts +4 -1
  428. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
  429. package/dist/providers/openai-compatible-middleware.js +15 -14
  430. package/dist/providers/openai-compatible-middleware.js.map +1 -1
  431. package/dist/providers/openai-compatible-response-normalizer.d.ts +10 -1
  432. package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
  433. package/dist/providers/openai-compatible-response-normalizer.js +15 -4
  434. package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
  435. package/dist/providers/openai-compatible.provider.d.ts +7 -10
  436. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  437. package/dist/providers/openai-compatible.provider.js +80 -78
  438. package/dist/providers/openai-compatible.provider.js.map +1 -1
  439. package/dist/providers/openai-request-prefix-binding.d.ts +28 -0
  440. package/dist/providers/openai-request-prefix-binding.d.ts.map +1 -0
  441. package/dist/providers/openai-request-prefix-binding.js +78 -0
  442. package/dist/providers/openai-request-prefix-binding.js.map +1 -0
  443. package/dist/providers/openai-responses-model.d.ts +43 -0
  444. package/dist/providers/openai-responses-model.d.ts.map +1 -0
  445. package/dist/providers/openai-responses-model.js +564 -0
  446. package/dist/providers/openai-responses-model.js.map +1 -0
  447. package/dist/providers/openai.provider.d.ts +11 -8
  448. package/dist/providers/openai.provider.d.ts.map +1 -1
  449. package/dist/providers/openai.provider.js +43 -91
  450. package/dist/providers/openai.provider.js.map +1 -1
  451. package/dist/providers/opencode-routing.d.ts +1 -1
  452. package/dist/providers/opencode-routing.d.ts.map +1 -1
  453. package/dist/providers/opencode-routing.js +4 -2
  454. package/dist/providers/opencode-routing.js.map +1 -1
  455. package/dist/providers/opencode-session.d.ts.map +1 -1
  456. package/dist/providers/opencode-session.js +28 -3
  457. package/dist/providers/opencode-session.js.map +1 -1
  458. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  459. package/dist/providers/openrouter.provider.js +33 -33
  460. package/dist/providers/openrouter.provider.js.map +1 -1
  461. package/dist/providers/provider-request-capture.d.ts +35 -0
  462. package/dist/providers/provider-request-capture.d.ts.map +1 -0
  463. package/dist/providers/provider-request-capture.js +22 -0
  464. package/dist/providers/provider-request-capture.js.map +1 -0
  465. package/dist/providers/provider-service.d.ts +9 -7
  466. package/dist/providers/provider-service.d.ts.map +1 -1
  467. package/dist/providers/provider-service.js +29 -28
  468. package/dist/providers/provider-service.js.map +1 -1
  469. package/dist/providers/registry.d.ts +14 -9
  470. package/dist/providers/registry.d.ts.map +1 -1
  471. package/dist/providers/registry.js.map +1 -1
  472. package/dist/providers/retrying-model.d.ts +8 -6
  473. package/dist/providers/retrying-model.d.ts.map +1 -1
  474. package/dist/providers/retrying-model.js +7 -20
  475. package/dist/providers/retrying-model.js.map +1 -1
  476. package/dist/providers/web-search/exa.provider.js.map +1 -1
  477. package/dist/providers/web-search/registry.js.map +1 -1
  478. package/dist/providers/web-search/tavily.provider.js.map +1 -1
  479. package/dist/providers/websocket-receive-watchdog.d.ts.map +1 -1
  480. package/dist/providers/websocket-receive-watchdog.js +9 -1
  481. package/dist/providers/websocket-receive-watchdog.js.map +1 -1
  482. package/dist/scripts/eval-auto-approval/runner.js +2 -0
  483. package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
  484. package/dist/services/agent-runtime/application-run-loop.d.ts +205 -0
  485. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -0
  486. package/dist/services/agent-runtime/application-run-loop.js +1236 -0
  487. package/dist/services/agent-runtime/application-run-loop.js.map +1 -0
  488. package/dist/services/agent-runtime/compose-agent-runtime.d.ts +3 -0
  489. package/dist/services/agent-runtime/compose-agent-runtime.d.ts.map +1 -1
  490. package/dist/services/agent-runtime/compose-agent-runtime.js +4 -0
  491. package/dist/services/agent-runtime/compose-agent-runtime.js.map +1 -1
  492. package/dist/services/agent-runtime/generation-guard.d.ts +69 -0
  493. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -0
  494. package/dist/services/agent-runtime/generation-guard.js +270 -0
  495. package/dist/services/agent-runtime/generation-guard.js.map +1 -0
  496. package/dist/services/agent-runtime/model-resolver.d.ts.map +1 -1
  497. package/dist/services/agent-runtime/model-resolver.js +7 -6
  498. package/dist/services/agent-runtime/model-resolver.js.map +1 -1
  499. package/dist/services/agent-runtime/structured-output.d.ts.map +1 -1
  500. package/dist/services/agent-runtime/structured-output.js +1 -21
  501. package/dist/services/agent-runtime/structured-output.js.map +1 -1
  502. package/dist/services/agent-runtime/tool-invocation-context.d.ts +73 -0
  503. package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -0
  504. package/dist/services/agent-runtime/tool-invocation-context.js +66 -0
  505. package/dist/services/agent-runtime/tool-invocation-context.js.map +1 -0
  506. package/dist/services/agent-stream.d.ts +41 -2
  507. package/dist/services/agent-stream.d.ts.map +1 -1
  508. package/dist/services/agent-stream.js +46 -1
  509. package/dist/services/agent-stream.js.map +1 -1
  510. package/dist/services/approval/approval-decision-executor.d.ts +42 -0
  511. package/dist/services/approval/approval-decision-executor.d.ts.map +1 -0
  512. package/dist/services/approval/approval-decision-executor.js +207 -0
  513. package/dist/services/approval/approval-decision-executor.js.map +1 -0
  514. package/dist/services/approval/approval-flow-coordinator.d.ts +25 -8
  515. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  516. package/dist/services/approval/approval-flow-coordinator.js +34 -167
  517. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  518. package/dist/services/approval/approval-replay.d.ts +52 -0
  519. package/dist/services/approval/approval-replay.d.ts.map +1 -0
  520. package/dist/services/approval/approval-replay.js +68 -0
  521. package/dist/services/approval/approval-replay.js.map +1 -0
  522. package/dist/services/approval/approval-state.d.ts +3 -6
  523. package/dist/services/approval/approval-state.d.ts.map +1 -1
  524. package/dist/services/approval/approval-state.js +0 -10
  525. package/dist/services/approval/approval-state.js.map +1 -1
  526. package/dist/services/approval/background-subagent-approval-controller.d.ts +25 -0
  527. package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -0
  528. package/dist/services/approval/background-subagent-approval-controller.js +65 -0
  529. package/dist/services/approval/background-subagent-approval-controller.js.map +1 -0
  530. package/dist/services/approval/background-subagent-approval-queue.d.ts +137 -0
  531. package/dist/services/approval/background-subagent-approval-queue.d.ts.map +1 -0
  532. package/dist/services/approval/background-subagent-approval-queue.js +200 -0
  533. package/dist/services/approval/background-subagent-approval-queue.js.map +1 -0
  534. package/dist/services/approval/non-interactive-approval-policy.d.ts +33 -0
  535. package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -0
  536. package/dist/services/approval/non-interactive-approval-policy.js +85 -0
  537. package/dist/services/approval/non-interactive-approval-policy.js.map +1 -0
  538. package/dist/services/approval/session-read-access.d.ts +10 -0
  539. package/dist/services/approval/session-read-access.d.ts.map +1 -1
  540. package/dist/services/approval/session-read-access.js +12 -0
  541. package/dist/services/approval/session-read-access.js.map +1 -1
  542. package/dist/services/approval/session-read-grant-target.d.ts +7 -0
  543. package/dist/services/approval/session-read-grant-target.d.ts.map +1 -0
  544. package/dist/services/approval/session-read-grant-target.js +36 -0
  545. package/dist/services/approval/session-read-grant-target.js.map +1 -0
  546. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +11 -3
  547. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  548. package/dist/services/approval/shell-auto-approval-evaluator.js +140 -46
  549. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  550. package/dist/services/approval/shell-auto-approval-resolver.d.ts +13 -0
  551. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  552. package/dist/services/approval/shell-auto-approval-resolver.js +74 -6
  553. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  554. package/dist/services/approval/shell-sandbox-approval.d.ts +22 -1
  555. package/dist/services/approval/shell-sandbox-approval.d.ts.map +1 -1
  556. package/dist/services/approval/shell-sandbox-approval.js +31 -4
  557. package/dist/services/approval/shell-sandbox-approval.js.map +1 -1
  558. package/dist/services/approval/tool-approval-batch-coordinator.d.ts +9 -0
  559. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  560. package/dist/services/approval/tool-approval-batch-coordinator.js +20 -4
  561. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  562. package/dist/services/approval/tool-owner.d.ts +5 -2
  563. package/dist/services/approval/tool-owner.d.ts.map +1 -1
  564. package/dist/services/approval/tool-owner.js +0 -56
  565. package/dist/services/approval/tool-owner.js.map +1 -1
  566. package/dist/services/approval/tool-ownership-registry.d.ts +25 -0
  567. package/dist/services/approval/tool-ownership-registry.d.ts.map +1 -0
  568. package/dist/services/approval/tool-ownership-registry.js +63 -0
  569. package/dist/services/approval/tool-ownership-registry.js.map +1 -0
  570. package/dist/services/command-message-streaming.d.ts +8 -4
  571. package/dist/services/command-message-streaming.d.ts.map +1 -1
  572. package/dist/services/command-message-streaming.js +13 -52
  573. package/dist/services/command-message-streaming.js.map +1 -1
  574. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  575. package/dist/services/conversation/conversation-adapter-factory.js +1 -0
  576. package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
  577. package/dist/services/conversation/conversation-adapter.d.ts +112 -13
  578. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  579. package/dist/services/conversation/conversation-adapter.js +270 -47
  580. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  581. package/dist/services/conversation/conversation-admission-workflow.d.ts +69 -0
  582. package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -0
  583. package/dist/services/conversation/conversation-admission-workflow.js +110 -0
  584. package/dist/services/conversation/conversation-admission-workflow.js.map +1 -0
  585. package/dist/services/conversation/conversation-decoder.d.ts +14 -0
  586. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -0
  587. package/dist/services/conversation/conversation-decoder.js +149 -0
  588. package/dist/services/conversation/conversation-decoder.js.map +1 -0
  589. package/dist/services/conversation/conversation-events.d.ts +50 -26
  590. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  591. package/dist/services/conversation/conversation-history-repair.d.ts.map +1 -1
  592. package/dist/services/conversation/conversation-history-repair.js +34 -37
  593. package/dist/services/conversation/conversation-history-repair.js.map +1 -1
  594. package/dist/services/conversation/conversation-message-projection.d.ts +27 -0
  595. package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -0
  596. package/dist/services/conversation/conversation-message-projection.js +59 -0
  597. package/dist/services/conversation/conversation-message-projection.js.map +1 -0
  598. package/dist/services/conversation/conversation-orchestrator.d.ts +23 -14
  599. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  600. package/dist/services/conversation/conversation-orchestrator.js +358 -159
  601. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  602. package/dist/services/conversation/conversation-orchestrator.types.d.ts +14 -11
  603. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  604. package/dist/services/conversation/conversation-persistence-types.d.ts +15 -38
  605. package/dist/services/conversation/conversation-persistence-types.d.ts.map +1 -1
  606. package/dist/services/conversation/conversation-persistence.d.ts +3 -10
  607. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  608. package/dist/services/conversation/conversation-persistence.js +66 -15
  609. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  610. package/dist/services/conversation/conversation-replay.d.ts +7 -5
  611. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  612. package/dist/services/conversation/conversation-replay.js +127 -66
  613. package/dist/services/conversation/conversation-replay.js.map +1 -1
  614. package/dist/services/conversation/conversation-result-builder.d.ts +16 -2
  615. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  616. package/dist/services/conversation/conversation-result-builder.js +51 -15
  617. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  618. package/dist/services/conversation/conversation-runtime-factory.d.ts +18 -0
  619. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  620. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  621. package/dist/services/conversation/conversation-service.d.ts +65 -12
  622. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  623. package/dist/services/conversation/conversation-service.js +129 -16
  624. package/dist/services/conversation/conversation-service.js.map +1 -1
  625. package/dist/services/conversation/conversation-state-projector.d.ts +3 -3
  626. package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
  627. package/dist/services/conversation/conversation-state-projector.js +18 -0
  628. package/dist/services/conversation/conversation-state-projector.js.map +1 -1
  629. package/dist/services/conversation/conversation-store.d.ts +69 -12
  630. package/dist/services/conversation/conversation-store.d.ts.map +1 -1
  631. package/dist/services/conversation/conversation-store.js +216 -119
  632. package/dist/services/conversation/conversation-store.js.map +1 -1
  633. package/dist/services/conversation/conversation-turn-items.d.ts +8 -2
  634. package/dist/services/conversation/conversation-turn-items.d.ts.map +1 -1
  635. package/dist/services/conversation/conversation-turn-items.js +96 -275
  636. package/dist/services/conversation/conversation-turn-items.js.map +1 -1
  637. package/dist/services/conversation/journal-to-ledger.d.ts.map +1 -1
  638. package/dist/services/conversation/journal-to-ledger.js +4 -24
  639. package/dist/services/conversation/journal-to-ledger.js.map +1 -1
  640. package/dist/services/conversation/run-item-normalizer.d.ts +5 -0
  641. package/dist/services/conversation/run-item-normalizer.d.ts.map +1 -0
  642. package/dist/services/conversation/run-item-normalizer.js +245 -0
  643. package/dist/services/conversation/run-item-normalizer.js.map +1 -0
  644. package/dist/services/conversation/user-turn-item.d.ts +14 -0
  645. package/dist/services/conversation/user-turn-item.d.ts.map +1 -0
  646. package/dist/services/conversation/user-turn-item.js +27 -0
  647. package/dist/services/conversation/user-turn-item.js.map +1 -0
  648. package/dist/services/conversation-agent-client.d.ts +77 -6
  649. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  650. package/dist/services/cost/model-cost.d.ts +147 -0
  651. package/dist/services/cost/model-cost.d.ts.map +1 -0
  652. package/dist/services/cost/model-cost.js +217 -0
  653. package/dist/services/cost/model-cost.js.map +1 -0
  654. package/dist/services/cost/pricing-overlay.d.ts +26 -0
  655. package/dist/services/cost/pricing-overlay.d.ts.map +1 -0
  656. package/dist/services/cost/pricing-overlay.js +39 -0
  657. package/dist/services/cost/pricing-overlay.js.map +1 -0
  658. package/dist/services/cost/pricing.d.ts +13 -0
  659. package/dist/services/cost/pricing.d.ts.map +1 -0
  660. package/dist/services/cost/pricing.js +76 -0
  661. package/dist/services/cost/pricing.js.map +1 -0
  662. package/dist/services/handoff/handoff-flow-reducer.d.ts +27 -0
  663. package/dist/services/handoff/handoff-flow-reducer.d.ts.map +1 -0
  664. package/dist/services/handoff/handoff-flow-reducer.js +26 -0
  665. package/dist/services/handoff/handoff-flow-reducer.js.map +1 -0
  666. package/dist/services/handoff/handoff-session.d.ts +35 -0
  667. package/dist/services/handoff/handoff-session.d.ts.map +1 -0
  668. package/dist/services/handoff/handoff-session.js +136 -0
  669. package/dist/services/handoff/handoff-session.js.map +1 -0
  670. package/dist/services/hooks/hook-contracts.d.ts +124 -0
  671. package/dist/services/hooks/hook-contracts.d.ts.map +1 -0
  672. package/dist/services/hooks/hook-contracts.js +92 -0
  673. package/dist/services/hooks/hook-contracts.js.map +1 -0
  674. package/dist/services/hooks/hook-discovery.d.ts +45 -0
  675. package/dist/services/hooks/hook-discovery.d.ts.map +1 -0
  676. package/dist/services/hooks/hook-discovery.js +255 -0
  677. package/dist/services/hooks/hook-discovery.js.map +1 -0
  678. package/dist/services/hooks/hook-editor-shim.d.ts +6 -0
  679. package/dist/services/hooks/hook-editor-shim.d.ts.map +1 -0
  680. package/dist/services/hooks/hook-editor-shim.js +190 -0
  681. package/dist/services/hooks/hook-editor-shim.js.map +1 -0
  682. package/dist/services/hooks/hook-event-factory.d.ts +19 -0
  683. package/dist/services/hooks/hook-event-factory.d.ts.map +1 -0
  684. package/dist/services/hooks/hook-event-factory.js +45 -0
  685. package/dist/services/hooks/hook-event-factory.js.map +1 -0
  686. package/dist/services/hooks/hook-module-loader.d.ts +38 -0
  687. package/dist/services/hooks/hook-module-loader.d.ts.map +1 -0
  688. package/dist/services/hooks/hook-module-loader.js +69 -0
  689. package/dist/services/hooks/hook-module-loader.js.map +1 -0
  690. package/dist/services/hooks/hook-registry.d.ts +47 -0
  691. package/dist/services/hooks/hook-registry.d.ts.map +1 -0
  692. package/dist/services/hooks/hook-registry.js +185 -0
  693. package/dist/services/hooks/hook-registry.js.map +1 -0
  694. package/dist/services/hooks/hook-service.d.ts +44 -0
  695. package/dist/services/hooks/hook-service.d.ts.map +1 -0
  696. package/dist/services/hooks/hook-service.js +138 -0
  697. package/dist/services/hooks/hook-service.js.map +1 -0
  698. package/dist/services/hooks/hook-tool-lifecycle.d.ts +6 -0
  699. package/dist/services/hooks/hook-tool-lifecycle.d.ts.map +1 -0
  700. package/dist/services/hooks/hook-tool-lifecycle.js +33 -0
  701. package/dist/services/hooks/hook-tool-lifecycle.js.map +1 -0
  702. package/dist/services/hooks/index.d.ts +2 -0
  703. package/dist/services/hooks/index.d.ts.map +1 -0
  704. package/dist/services/hooks/index.js +2 -0
  705. package/dist/services/hooks/index.js.map +1 -0
  706. package/dist/services/input-surge-guard.d.ts.map +1 -1
  707. package/dist/services/input-surge-guard.js +13 -34
  708. package/dist/services/input-surge-guard.js.map +1 -1
  709. package/dist/services/logging/assistant-turn-journal.d.ts +1 -1
  710. package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
  711. package/dist/services/logging/assistant-turn-journal.js +21 -36
  712. package/dist/services/logging/assistant-turn-journal.js.map +1 -1
  713. package/dist/services/logging/conversation-log-events.d.ts +62 -7
  714. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  715. package/dist/services/logging/conversation-log-events.js +9 -0
  716. package/dist/services/logging/conversation-log-events.js.map +1 -1
  717. package/dist/services/logging/conversation-log-writer.d.ts +9 -4
  718. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  719. package/dist/services/logging/conversation-log-writer.js +183 -56
  720. package/dist/services/logging/conversation-log-writer.js.map +1 -1
  721. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  722. package/dist/services/logging/conversation-logger.js +24 -1
  723. package/dist/services/logging/conversation-logger.js.map +1 -1
  724. package/dist/services/logging/logging-service.d.ts.map +1 -1
  725. package/dist/services/logging/logging-service.js +6 -2
  726. package/dist/services/logging/logging-service.js.map +1 -1
  727. package/dist/services/logging/provider-traffic.d.ts +2 -1
  728. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  729. package/dist/services/logging/provider-traffic.js +81 -5
  730. package/dist/services/logging/provider-traffic.js.map +1 -1
  731. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  732. package/dist/services/memory/memory-capabilities.js +13 -8
  733. package/dist/services/memory/memory-capabilities.js.map +1 -1
  734. package/dist/services/model-service.d.ts +3 -0
  735. package/dist/services/model-service.d.ts.map +1 -1
  736. package/dist/services/model-service.js +3 -1
  737. package/dist/services/model-service.js.map +1 -1
  738. package/dist/services/models/model-catalog-session.d.ts +24 -0
  739. package/dist/services/models/model-catalog-session.d.ts.map +1 -0
  740. package/dist/services/models/model-catalog-session.js +70 -0
  741. package/dist/services/models/model-catalog-session.js.map +1 -0
  742. package/dist/services/openai-candidate-observer.d.ts +18 -0
  743. package/dist/services/openai-candidate-observer.d.ts.map +1 -0
  744. package/dist/services/openai-candidate-observer.js +56 -0
  745. package/dist/services/openai-candidate-observer.js.map +1 -0
  746. package/dist/services/openai-root-checkpoint-lifecycle-observer.d.ts +20 -0
  747. package/dist/services/openai-root-checkpoint-lifecycle-observer.d.ts.map +1 -0
  748. package/dist/services/openai-root-checkpoint-lifecycle-observer.js +21 -0
  749. package/dist/services/openai-root-checkpoint-lifecycle-observer.js.map +1 -0
  750. package/dist/services/openai-root-provider-identity.d.ts +11 -0
  751. package/dist/services/openai-root-provider-identity.d.ts.map +1 -0
  752. package/dist/services/openai-root-provider-identity.js +16 -0
  753. package/dist/services/openai-root-provider-identity.js.map +1 -0
  754. package/dist/services/openai-root-selector-parity-observer.d.ts +53 -0
  755. package/dist/services/openai-root-selector-parity-observer.d.ts.map +1 -0
  756. package/dist/services/openai-root-selector-parity-observer.js +62 -0
  757. package/dist/services/openai-root-selector-parity-observer.js.map +1 -0
  758. package/dist/services/plan-mode-interceptor.js +2 -2
  759. package/dist/services/plan-mode-interceptor.js.map +1 -1
  760. package/dist/services/provider-continuity.d.ts +79 -0
  761. package/dist/services/provider-continuity.d.ts.map +1 -1
  762. package/dist/services/provider-continuity.js +170 -0
  763. package/dist/services/provider-continuity.js.map +1 -1
  764. package/dist/services/providers/provider-management-session.d.ts +12 -0
  765. package/dist/services/providers/provider-management-session.d.ts.map +1 -0
  766. package/dist/services/providers/provider-management-session.js +21 -0
  767. package/dist/services/providers/provider-management-session.js.map +1 -0
  768. package/dist/services/queue/queue-controller.d.ts +9 -14
  769. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  770. package/dist/services/queue/queue-controller.js +75 -60
  771. package/dist/services/queue/queue-controller.js.map +1 -1
  772. package/dist/services/retry/conversation-retry-policy.js +3 -3
  773. package/dist/services/retry/conversation-retry-policy.js.map +1 -1
  774. package/dist/services/retry/recovery-executor.d.ts.map +1 -1
  775. package/dist/services/retry/recovery-executor.js +7 -8
  776. package/dist/services/retry/recovery-executor.js.map +1 -1
  777. package/dist/services/retry/recovery-policy.d.ts.map +1 -1
  778. package/dist/services/retry/recovery-policy.js +4 -1
  779. package/dist/services/retry/recovery-policy.js.map +1 -1
  780. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  781. package/dist/services/retry/retry-classifier.js +2 -1
  782. package/dist/services/retry/retry-classifier.js.map +1 -1
  783. package/dist/services/retry/retry-contracts.d.ts +3 -5
  784. package/dist/services/retry/retry-contracts.d.ts.map +1 -1
  785. package/dist/services/retry/retry-error-classification.d.ts +1 -0
  786. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  787. package/dist/services/retry/retry-error-classification.js +28 -0
  788. package/dist/services/retry/retry-error-classification.js.map +1 -1
  789. package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
  790. package/dist/services/retry/retry-event-presenter.js +4 -1
  791. package/dist/services/retry/retry-event-presenter.js.map +1 -1
  792. package/dist/services/retry/upstream-retry-policy.js +3 -3
  793. package/dist/services/rtk-service.d.ts.map +1 -1
  794. package/dist/services/rtk-service.js +3 -15
  795. package/dist/services/rtk-service.js.map +1 -1
  796. package/dist/services/runtime-setting-router.d.ts +19 -0
  797. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  798. package/dist/services/runtime-setting-router.js +33 -0
  799. package/dist/services/runtime-setting-router.js.map +1 -1
  800. package/dist/services/service-interfaces.d.ts +19 -2
  801. package/dist/services/service-interfaces.d.ts.map +1 -1
  802. package/dist/services/session/background-task-control.d.ts +123 -0
  803. package/dist/services/session/background-task-control.d.ts.map +1 -0
  804. package/dist/services/session/background-task-control.js +183 -0
  805. package/dist/services/session/background-task-control.js.map +1 -0
  806. package/dist/services/session/continuation-call-id-resolver.d.ts +16 -9
  807. package/dist/services/session/continuation-call-id-resolver.d.ts.map +1 -1
  808. package/dist/services/session/continuation-call-id-resolver.js +34 -48
  809. package/dist/services/session/continuation-call-id-resolver.js.map +1 -1
  810. package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
  811. package/dist/services/session/continuation-plan-applier.js +1 -3
  812. package/dist/services/session/continuation-plan-applier.js.map +1 -1
  813. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  814. package/dist/services/session/continuation-recovery-handler.js +0 -2
  815. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  816. package/dist/services/session/continuation-state.d.ts +9 -5
  817. package/dist/services/session/continuation-state.d.ts.map +1 -1
  818. package/dist/services/session/continuation-state.js +1 -1
  819. package/dist/services/session/continuation-state.js.map +1 -1
  820. package/dist/services/session/live-run.d.ts +29 -0
  821. package/dist/services/session/live-run.d.ts.map +1 -0
  822. package/dist/services/session/live-run.js +111 -0
  823. package/dist/services/session/live-run.js.map +1 -0
  824. package/dist/services/session/nested-tool-compatibility-state.d.ts +20 -0
  825. package/dist/services/session/nested-tool-compatibility-state.d.ts.map +1 -0
  826. package/dist/services/session/nested-tool-compatibility-state.js +29 -0
  827. package/dist/services/session/nested-tool-compatibility-state.js.map +1 -0
  828. package/dist/services/session/pending-interaction-state.d.ts +60 -0
  829. package/dist/services/session/pending-interaction-state.d.ts.map +1 -0
  830. package/dist/services/session/pending-interaction-state.js +132 -0
  831. package/dist/services/session/pending-interaction-state.js.map +1 -0
  832. package/dist/services/session/post-execute-pause-capability.d.ts +17 -0
  833. package/dist/services/session/post-execute-pause-capability.d.ts.map +1 -0
  834. package/dist/services/session/post-execute-pause-capability.js +27 -0
  835. package/dist/services/session/post-execute-pause-capability.js.map +1 -0
  836. package/dist/services/session/post-execute-pause-policy.d.ts +20 -0
  837. package/dist/services/session/post-execute-pause-policy.d.ts.map +1 -0
  838. package/dist/services/session/post-execute-pause-policy.js +34 -0
  839. package/dist/services/session/post-execute-pause-policy.js.map +1 -0
  840. package/dist/services/session/post-execute-pending-registry.d.ts +63 -0
  841. package/dist/services/session/post-execute-pending-registry.d.ts.map +1 -0
  842. package/dist/services/session/post-execute-pending-registry.js +123 -0
  843. package/dist/services/session/post-execute-pending-registry.js.map +1 -0
  844. package/dist/services/session/session-access-state.d.ts +24 -0
  845. package/dist/services/session/session-access-state.d.ts.map +1 -0
  846. package/dist/services/session/session-access-state.js +91 -0
  847. package/dist/services/session/session-access-state.js.map +1 -0
  848. package/dist/services/session/session-client-factory.d.ts +61 -0
  849. package/dist/services/session/session-client-factory.d.ts.map +1 -0
  850. package/dist/services/session/session-client-factory.js +103 -0
  851. package/dist/services/session/session-client-factory.js.map +1 -0
  852. package/dist/services/session/session-composition.d.ts +58 -0
  853. package/dist/services/session/session-composition.d.ts.map +1 -1
  854. package/dist/services/session/session-composition.js +178 -13
  855. package/dist/services/session/session-composition.js.map +1 -1
  856. package/dist/services/session/session-input-planner.d.ts +6 -2
  857. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  858. package/dist/services/session/session-input-planner.js +4 -0
  859. package/dist/services/session/session-input-planner.js.map +1 -1
  860. package/dist/services/session/session-lifecycle.d.ts +5 -0
  861. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  862. package/dist/services/session/session-lifecycle.js +16 -6
  863. package/dist/services/session/session-lifecycle.js.map +1 -1
  864. package/dist/services/session/session-manager.d.ts +11 -1
  865. package/dist/services/session/session-manager.d.ts.map +1 -1
  866. package/dist/services/session/session-manager.js +16 -3
  867. package/dist/services/session/session-manager.js.map +1 -1
  868. package/dist/services/session/session-stream-processor.d.ts +5 -0
  869. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  870. package/dist/services/session/session-stream-processor.js +164 -35
  871. package/dist/services/session/session-stream-processor.js.map +1 -1
  872. package/dist/services/session/session-tool-tracker.d.ts +10 -21
  873. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  874. package/dist/services/session/session-tool-tracker.js +12 -52
  875. package/dist/services/session/session-tool-tracker.js.map +1 -1
  876. package/dist/services/session/terminal-result-collector.d.ts +8 -0
  877. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  878. package/dist/services/session/terminal-result-collector.js +18 -4
  879. package/dist/services/session/terminal-result-collector.js.map +1 -1
  880. package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -1
  881. package/dist/services/session/test-helpers/conversation-session-fixtures.js +8 -1
  882. package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -1
  883. package/dist/services/session/turn-attempt-factory.d.ts +2 -2
  884. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  885. package/dist/services/session/turn-attempt.d.ts +4 -2
  886. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  887. package/dist/services/session/turn-attempt.js +5 -0
  888. package/dist/services/session/turn-attempt.js.map +1 -1
  889. package/dist/services/session/turn-coordinator.d.ts +32 -2
  890. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  891. package/dist/services/session/turn-coordinator.js +180 -9
  892. package/dist/services/session/turn-coordinator.js.map +1 -1
  893. package/dist/services/session/turn-status-machine.d.ts +21 -6
  894. package/dist/services/session/turn-status-machine.d.ts.map +1 -1
  895. package/dist/services/session/turn-status-machine.js +50 -13
  896. package/dist/services/session/turn-status-machine.js.map +1 -1
  897. package/dist/services/session/turn-workflow.d.ts +35 -0
  898. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  899. package/dist/services/session/turn-workflow.js +373 -27
  900. package/dist/services/session/turn-workflow.js.map +1 -1
  901. package/dist/services/settings/ancillary-settings-migration.js +3 -3
  902. package/dist/services/settings/ancillary-settings-migration.js.map +1 -1
  903. package/dist/services/settings/custom-provider-normalization.d.ts +10 -0
  904. package/dist/services/settings/custom-provider-normalization.d.ts.map +1 -1
  905. package/dist/services/settings/custom-provider-normalization.js +35 -2
  906. package/dist/services/settings/custom-provider-normalization.js.map +1 -1
  907. package/dist/services/settings/settings-env.d.ts +3 -0
  908. package/dist/services/settings/settings-env.d.ts.map +1 -1
  909. package/dist/services/settings/settings-env.js +3 -3
  910. package/dist/services/settings/settings-env.js.map +1 -1
  911. package/dist/services/settings/settings-merger.d.ts +6 -5
  912. package/dist/services/settings/settings-merger.d.ts.map +1 -1
  913. package/dist/services/settings/settings-merger.js +9 -4
  914. package/dist/services/settings/settings-merger.js.map +1 -1
  915. package/dist/services/settings/settings-persistence.d.ts +17 -6
  916. package/dist/services/settings/settings-persistence.d.ts.map +1 -1
  917. package/dist/services/settings/settings-persistence.js +155 -28
  918. package/dist/services/settings/settings-persistence.js.map +1 -1
  919. package/dist/services/settings/settings-schema.d.ts +100 -4
  920. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  921. package/dist/services/settings/settings-schema.js +78 -8
  922. package/dist/services/settings/settings-schema.js.map +1 -1
  923. package/dist/services/settings/settings-service.d.ts +34 -5
  924. package/dist/services/settings/settings-service.d.ts.map +1 -1
  925. package/dist/services/settings/settings-service.js +200 -8
  926. package/dist/services/settings/settings-service.js.map +1 -1
  927. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  928. package/dist/services/settings/settings-sources.js +6 -0
  929. package/dist/services/settings/settings-sources.js.map +1 -1
  930. package/dist/services/shell/background-shell-registry.d.ts +110 -0
  931. package/dist/services/shell/background-shell-registry.d.ts.map +1 -0
  932. package/dist/services/shell/background-shell-registry.js +326 -0
  933. package/dist/services/shell/background-shell-registry.js.map +1 -0
  934. package/dist/services/shell/shell-interaction-session.d.ts +43 -0
  935. package/dist/services/shell/shell-interaction-session.d.ts.map +1 -0
  936. package/dist/services/shell/shell-interaction-session.js +113 -0
  937. package/dist/services/shell/shell-interaction-session.js.map +1 -0
  938. package/dist/services/stream-event-processor.d.ts +11 -12
  939. package/dist/services/stream-event-processor.d.ts.map +1 -1
  940. package/dist/services/stream-event-processor.js +115 -352
  941. package/dist/services/stream-event-processor.js.map +1 -1
  942. package/dist/services/stream-snapshot.d.ts +0 -1
  943. package/dist/services/stream-snapshot.d.ts.map +1 -1
  944. package/dist/services/stream-snapshot.js +0 -1
  945. package/dist/services/stream-snapshot.js.map +1 -1
  946. package/dist/services/subagents/codename-run-id.d.ts +43 -0
  947. package/dist/services/subagents/codename-run-id.d.ts.map +1 -0
  948. package/dist/services/subagents/codename-run-id.js +683 -0
  949. package/dist/services/subagents/codename-run-id.js.map +1 -0
  950. package/dist/services/subagents/execution-runner.d.ts +2 -0
  951. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  952. package/dist/services/subagents/execution-runner.js +13 -3
  953. package/dist/services/subagents/execution-runner.js.map +1 -1
  954. package/dist/services/subagents/foreground-subagent-lease.d.ts +77 -0
  955. package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -0
  956. package/dist/services/subagents/foreground-subagent-lease.js +156 -0
  957. package/dist/services/subagents/foreground-subagent-lease.js.map +1 -0
  958. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  959. package/dist/services/subagents/mentor-runner.js +43 -31
  960. package/dist/services/subagents/mentor-runner.js.map +1 -1
  961. package/dist/services/subagents/nested-runner.d.ts +47 -23
  962. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  963. package/dist/services/subagents/nested-runner.js +263 -64
  964. package/dist/services/subagents/nested-runner.js.map +1 -1
  965. package/dist/services/subagents/role-loader.d.ts +3 -3
  966. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  967. package/dist/services/subagents/role-loader.js +6 -7
  968. package/dist/services/subagents/role-loader.js.map +1 -1
  969. package/dist/services/subagents/runtime.d.ts +10 -0
  970. package/dist/services/subagents/runtime.d.ts.map +1 -1
  971. package/dist/services/subagents/runtime.js +15 -1
  972. package/dist/services/subagents/runtime.js.map +1 -1
  973. package/dist/services/subagents/subagent-async-registry.d.ts +21 -2
  974. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  975. package/dist/services/subagents/subagent-async-registry.js +156 -10
  976. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  977. package/dist/services/subagents/subagent-client-types.d.ts +2 -0
  978. package/dist/services/subagents/subagent-client-types.d.ts.map +1 -1
  979. package/dist/services/subagents/subagent-manager.d.ts +26 -7
  980. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  981. package/dist/services/subagents/subagent-manager.js +31 -1
  982. package/dist/services/subagents/subagent-manager.js.map +1 -1
  983. package/dist/services/subagents/subagent-notification-store.d.ts +72 -6
  984. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  985. package/dist/services/subagents/subagent-notification-store.js +118 -10
  986. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  987. package/dist/services/subagents/subagent-session.d.ts +12 -7
  988. package/dist/services/subagents/subagent-session.d.ts.map +1 -1
  989. package/dist/services/subagents/subagent-session.js +13 -14
  990. package/dist/services/subagents/subagent-session.js.map +1 -1
  991. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts +4 -5
  992. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
  993. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +66 -65
  994. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
  995. package/dist/services/subagents/tool-policy.d.ts +19 -17
  996. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  997. package/dist/services/subagents/tool-policy.js +89 -53
  998. package/dist/services/subagents/tool-policy.js.map +1 -1
  999. package/dist/services/subagents/types.d.ts +22 -3
  1000. package/dist/services/subagents/types.d.ts.map +1 -1
  1001. package/dist/services/subagents/types.js +2 -2
  1002. package/dist/services/subagents/types.js.map +1 -1
  1003. package/dist/services/subagents/utils.d.ts +8 -1
  1004. package/dist/services/subagents/utils.d.ts.map +1 -1
  1005. package/dist/services/subagents/utils.js +43 -16
  1006. package/dist/services/subagents/utils.js.map +1 -1
  1007. package/dist/services/test-helpers/mock-stream.d.ts +3 -0
  1008. package/dist/services/test-helpers/mock-stream.d.ts.map +1 -1
  1009. package/dist/services/test-helpers/mock-stream.js +8 -0
  1010. package/dist/services/test-helpers/mock-stream.js.map +1 -1
  1011. package/dist/services/tool-execution-ledger.d.ts +2 -0
  1012. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  1013. package/dist/services/tool-execution-ledger.js +59 -81
  1014. package/dist/services/tool-execution-ledger.js.map +1 -1
  1015. package/dist/test-helpers/conversation-session-with-adapter.d.ts +1 -1
  1016. package/dist/test-helpers/conversation-session-with-adapter.d.ts.map +1 -1
  1017. package/dist/test-helpers/conversation-session-with-adapter.js +5 -1
  1018. package/dist/test-helpers/conversation-session-with-adapter.js.map +1 -1
  1019. package/dist/test-helpers/ink-testing.d.ts.map +1 -1
  1020. package/dist/test-helpers/ink-testing.js +2 -1
  1021. package/dist/test-helpers/ink-testing.js.map +1 -1
  1022. package/dist/tools/agent/activate-skill.d.ts +6 -1
  1023. package/dist/tools/agent/activate-skill.d.ts.map +1 -1
  1024. package/dist/tools/agent/activate-skill.js.map +1 -1
  1025. package/dist/tools/agent/ask-mentor.d.ts +1 -1
  1026. package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
  1027. package/dist/tools/agent/ask-mentor.js.map +1 -1
  1028. package/dist/tools/agent/ask-orchestrator.d.ts +1 -1
  1029. package/dist/tools/agent/ask-orchestrator.d.ts.map +1 -1
  1030. package/dist/tools/agent/ask-user-constants.d.ts +6 -0
  1031. package/dist/tools/agent/ask-user-constants.d.ts.map +1 -1
  1032. package/dist/tools/agent/ask-user-constants.js +6 -0
  1033. package/dist/tools/agent/ask-user-constants.js.map +1 -1
  1034. package/dist/tools/agent/run-subagent-async.d.ts +6 -6
  1035. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  1036. package/dist/tools/agent/run-subagent-async.js +16 -52
  1037. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  1038. package/dist/tools/agent/run-subagent.d.ts +28 -14
  1039. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  1040. package/dist/tools/agent/run-subagent.js +173 -68
  1041. package/dist/tools/agent/run-subagent.js.map +1 -1
  1042. package/dist/tools/file/apply-patch.d.ts +3 -1
  1043. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  1044. package/dist/tools/file/apply-patch.js +34 -10
  1045. package/dist/tools/file/apply-patch.js.map +1 -1
  1046. package/dist/tools/file/code-context.d.ts +2 -2
  1047. package/dist/tools/file/code-context.d.ts.map +1 -1
  1048. package/dist/tools/file/code-context.js +1 -1
  1049. package/dist/tools/file/code-context.js.map +1 -1
  1050. package/dist/tools/file/create-file.d.ts +4 -2
  1051. package/dist/tools/file/create-file.d.ts.map +1 -1
  1052. package/dist/tools/file/create-file.js +10 -7
  1053. package/dist/tools/file/create-file.js.map +1 -1
  1054. package/dist/tools/file/edit-healing.d.ts.map +1 -1
  1055. package/dist/tools/file/edit-healing.js +54 -35
  1056. package/dist/tools/file/edit-healing.js.map +1 -1
  1057. package/dist/tools/file/glob-target.d.ts +12 -0
  1058. package/dist/tools/file/glob-target.d.ts.map +1 -0
  1059. package/dist/tools/file/glob-target.js +22 -0
  1060. package/dist/tools/file/glob-target.js.map +1 -0
  1061. package/dist/tools/file/glob.d.ts +9 -2
  1062. package/dist/tools/file/glob.d.ts.map +1 -1
  1063. package/dist/tools/file/glob.js +12 -16
  1064. package/dist/tools/file/glob.js.map +1 -1
  1065. package/dist/tools/file/grep.d.ts +8 -1
  1066. package/dist/tools/file/grep.d.ts.map +1 -1
  1067. package/dist/tools/file/grep.js +60 -4
  1068. package/dist/tools/file/grep.js.map +1 -1
  1069. package/dist/tools/file/read-file.d.ts +7 -1
  1070. package/dist/tools/file/read-file.d.ts.map +1 -1
  1071. package/dist/tools/file/read-file.js +3 -4
  1072. package/dist/tools/file/read-file.js.map +1 -1
  1073. package/dist/tools/file/search-replace.d.ts +5 -3
  1074. package/dist/tools/file/search-replace.d.ts.map +1 -1
  1075. package/dist/tools/file/search-replace.js +29 -19
  1076. package/dist/tools/file/search-replace.js.map +1 -1
  1077. package/dist/tools/format-helpers.d.ts +4 -3
  1078. package/dist/tools/format-helpers.d.ts.map +1 -1
  1079. package/dist/tools/format-helpers.js +16 -17
  1080. package/dist/tools/format-helpers.js.map +1 -1
  1081. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  1082. package/dist/tools/memory/memory-tools.js +61 -49
  1083. package/dist/tools/memory/memory-tools.js.map +1 -1
  1084. package/dist/tools/run-agent-workflow.d.ts +1 -1
  1085. package/dist/tools/run-agent-workflow.d.ts.map +1 -1
  1086. package/dist/tools/system/shell.d.ts +39 -3
  1087. package/dist/tools/system/shell.d.ts.map +1 -1
  1088. package/dist/tools/system/shell.js +380 -149
  1089. package/dist/tools/system/shell.js.map +1 -1
  1090. package/dist/tools/types.d.ts +102 -5
  1091. package/dist/tools/types.d.ts.map +1 -1
  1092. package/dist/tools/types.js +4 -1
  1093. package/dist/tools/types.js.map +1 -1
  1094. package/dist/tools/utils.d.ts +18 -0
  1095. package/dist/tools/utils.d.ts.map +1 -1
  1096. package/dist/tools/utils.js +78 -0
  1097. package/dist/tools/utils.js.map +1 -1
  1098. package/dist/tools/web/web-fetch.d.ts +1 -1
  1099. package/dist/tools/web/web-fetch.d.ts.map +1 -1
  1100. package/dist/tools/web/web-fetch.js.map +1 -1
  1101. package/dist/tools/web/web-search.d.ts +1 -1
  1102. package/dist/tools/web/web-search.d.ts.map +1 -1
  1103. package/dist/tools/web/web-search.js.map +1 -1
  1104. package/dist/types/message.d.ts +2 -0
  1105. package/dist/types/message.d.ts.map +1 -1
  1106. package/dist/types/message.js.map +1 -1
  1107. package/dist/utils/ai/model-settings.d.ts.map +1 -1
  1108. package/dist/utils/ai/model-settings.js +0 -6
  1109. package/dist/utils/ai/model-settings.js.map +1 -1
  1110. package/dist/utils/ai/token-usage.d.ts +10 -5
  1111. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  1112. package/dist/utils/ai/token-usage.js +48 -35
  1113. package/dist/utils/ai/token-usage.js.map +1 -1
  1114. package/dist/utils/apply-diff.d.ts +3 -0
  1115. package/dist/utils/apply-diff.d.ts.map +1 -0
  1116. package/dist/utils/apply-diff.js +192 -0
  1117. package/dist/utils/apply-diff.js.map +1 -0
  1118. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  1119. package/dist/utils/conversation/conversation-event-handler.js +72 -16
  1120. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  1121. package/dist/utils/conversation/conversation-utils.d.ts +5 -0
  1122. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  1123. package/dist/utils/conversation/conversation-utils.js +1 -0
  1124. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  1125. package/dist/utils/conversation/message-utils.d.ts +6 -0
  1126. package/dist/utils/conversation/message-utils.d.ts.map +1 -1
  1127. package/dist/utils/conversation/message-utils.js +17 -14
  1128. package/dist/utils/conversation/message-utils.js.map +1 -1
  1129. package/dist/utils/conversation/rewind-items.d.ts +32 -0
  1130. package/dist/utils/conversation/rewind-items.d.ts.map +1 -0
  1131. package/dist/utils/conversation/rewind-items.js +33 -0
  1132. package/dist/utils/conversation/rewind-items.js.map +1 -0
  1133. package/dist/utils/inject-warning-into-tool-output.d.ts +10 -0
  1134. package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -1
  1135. package/dist/utils/inject-warning-into-tool-output.js +17 -0
  1136. package/dist/utils/inject-warning-into-tool-output.js.map +1 -1
  1137. package/dist/utils/settings-command.d.ts.map +1 -1
  1138. package/dist/utils/settings-command.js +41 -4
  1139. package/dist/utils/settings-command.js.map +1 -1
  1140. package/dist/utils/shell/command-logger.js.map +1 -1
  1141. package/dist/utils/shell/command-safety/find-helpers.d.ts +3 -2
  1142. package/dist/utils/shell/command-safety/find-helpers.d.ts.map +1 -1
  1143. package/dist/utils/shell/command-safety/find-helpers.js +34 -17
  1144. package/dist/utils/shell/command-safety/find-helpers.js.map +1 -1
  1145. package/dist/utils/shell/command-safety/handlers/find-handler.d.ts.map +1 -1
  1146. package/dist/utils/shell/command-safety/handlers/find-handler.js +0 -2
  1147. package/dist/utils/shell/command-safety/handlers/find-handler.js.map +1 -1
  1148. package/dist/utils/shell/command-safety/handlers/git-handler.d.ts.map +1 -1
  1149. package/dist/utils/shell/command-safety/handlers/git-handler.js.map +1 -1
  1150. package/dist/utils/shell/command-safety/handlers/sed-handler.d.ts.map +1 -1
  1151. package/dist/utils/shell/command-safety/handlers/sed-handler.js +14 -9
  1152. package/dist/utils/shell/command-safety/handlers/sed-handler.js.map +1 -1
  1153. package/dist/utils/shell/command-safety/handlers/types.d.ts +5 -4
  1154. package/dist/utils/shell/command-safety/handlers/types.d.ts.map +1 -1
  1155. package/dist/utils/shell/command-safety/index.d.ts.map +1 -1
  1156. package/dist/utils/shell/command-safety/index.js +212 -88
  1157. package/dist/utils/shell/command-safety/index.js.map +1 -1
  1158. package/dist/utils/shell/command-safety/utils.d.ts +2 -1
  1159. package/dist/utils/shell/command-safety/utils.d.ts.map +1 -1
  1160. package/dist/utils/shell/command-safety/utils.js +5 -5
  1161. package/dist/utils/shell/command-safety/utils.js.map +1 -1
  1162. package/dist/utils/shell/execute-shell.d.ts +24 -3
  1163. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  1164. package/dist/utils/shell/execute-shell.js +228 -28
  1165. package/dist/utils/shell/execute-shell.js.map +1 -1
  1166. package/dist/utils/shell/sandbox/denied-read-stores.d.ts +1 -8
  1167. package/dist/utils/shell/sandbox/denied-read-stores.d.ts.map +1 -1
  1168. package/dist/utils/shell/sandbox/denied-read-stores.js +1 -8
  1169. package/dist/utils/shell/sandbox/denied-read-stores.js.map +1 -1
  1170. package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts +36 -6
  1171. package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts.map +1 -1
  1172. package/dist/utils/shell/sandbox/docker-host-control-grants.js +47 -17
  1173. package/dist/utils/shell/sandbox/docker-host-control-grants.js.map +1 -1
  1174. package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.d.ts +21 -0
  1175. package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.d.ts.map +1 -0
  1176. package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.js +66 -0
  1177. package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.js.map +1 -0
  1178. package/dist/utils/shell/shell-session.js.map +1 -1
  1179. package/dist/utils/slash-command-dispatch.d.ts +21 -0
  1180. package/dist/utils/slash-command-dispatch.d.ts.map +1 -0
  1181. package/dist/utils/slash-command-dispatch.js +34 -0
  1182. package/dist/utils/slash-command-dispatch.js.map +1 -0
  1183. package/dist/utils/streaming/extract-command-messages.d.ts.map +1 -1
  1184. package/dist/utils/streaming/extract-command-messages.js +29 -51
  1185. package/dist/utils/streaming/extract-command-messages.js.map +1 -1
  1186. package/dist/utils/value-suggestions.d.ts.map +1 -1
  1187. package/dist/utils/value-suggestions.js +0 -8
  1188. package/dist/utils/value-suggestions.js.map +1 -1
  1189. package/package.json +21 -19
  1190. package/dist/commands/retry-command.d.ts +0 -20
  1191. package/dist/commands/retry-command.d.ts.map +0 -1
  1192. package/dist/commands/retry-command.js +0 -39
  1193. package/dist/commands/retry-command.js.map +0 -1
  1194. package/dist/commands/undo-command.d.ts +0 -15
  1195. package/dist/commands/undo-command.d.ts.map +0 -1
  1196. package/dist/commands/undo-command.js +0 -28
  1197. package/dist/commands/undo-command.js.map +0 -1
  1198. package/dist/components/input/PopupManager.d.ts +0 -88
  1199. package/dist/components/input/PopupManager.d.ts.map +0 -1
  1200. package/dist/components/input/PopupManager.js +0 -21
  1201. package/dist/components/input/PopupManager.js.map +0 -1
  1202. package/dist/components/input/popup-key-navigation.d.ts +0 -18
  1203. package/dist/components/input/popup-key-navigation.d.ts.map +0 -1
  1204. package/dist/components/input/popup-key-navigation.js +0 -16
  1205. package/dist/components/input/popup-key-navigation.js.map +0 -1
  1206. package/dist/components/input/popup-props.d.ts +0 -24
  1207. package/dist/components/input/popup-props.d.ts.map +0 -1
  1208. package/dist/components/input/popup-props.js +0 -72
  1209. package/dist/components/input/popup-props.js.map +0 -1
  1210. package/dist/components/menu/UndoSelectionMenu.d.ts +0 -12
  1211. package/dist/components/menu/UndoSelectionMenu.d.ts.map +0 -1
  1212. package/dist/components/menu/UndoSelectionMenu.js +0 -19
  1213. package/dist/components/menu/UndoSelectionMenu.js.map +0 -1
  1214. package/dist/hooks/use-mode-handlers.d.ts +0 -79
  1215. package/dist/hooks/use-mode-handlers.d.ts.map +0 -1
  1216. package/dist/hooks/use-mode-handlers.js +0 -183
  1217. package/dist/hooks/use-mode-handlers.js.map +0 -1
  1218. package/dist/hooks/use-pending-turn-guards.d.ts +0 -43
  1219. package/dist/hooks/use-pending-turn-guards.d.ts.map +0 -1
  1220. package/dist/hooks/use-pending-turn-guards.js +0 -120
  1221. package/dist/hooks/use-pending-turn-guards.js.map +0 -1
  1222. package/dist/hooks/use-trigger-detection.d.ts +0 -49
  1223. package/dist/hooks/use-trigger-detection.d.ts.map +0 -1
  1224. package/dist/hooks/use-trigger-detection.js +0 -104
  1225. package/dist/hooks/use-trigger-detection.js.map +0 -1
  1226. package/dist/hooks/use-undo-selection.d.ts +0 -23
  1227. package/dist/hooks/use-undo-selection.d.ts.map +0 -1
  1228. package/dist/hooks/use-undo-selection.js.map +0 -1
  1229. package/dist/lib/agent-run-orchestrator.d.ts +0 -38
  1230. package/dist/lib/agent-run-orchestrator.d.ts.map +0 -1
  1231. package/dist/lib/agent-run-orchestrator.js +0 -266
  1232. package/dist/lib/agent-run-orchestrator.js.map +0 -1
  1233. package/dist/lib/retry-executor.d.ts +0 -16
  1234. package/dist/lib/retry-executor.d.ts.map +0 -1
  1235. package/dist/lib/retry-executor.js +0 -53
  1236. package/dist/lib/retry-executor.js.map +0 -1
  1237. package/dist/lib/runner-manager.d.ts +0 -22
  1238. package/dist/lib/runner-manager.d.ts.map +0 -1
  1239. package/dist/lib/runner-manager.js +0 -56
  1240. package/dist/lib/runner-manager.js.map +0 -1
  1241. package/dist/prompts/shell-sandbox.md +0 -18
  1242. package/dist/prompts/simple.md +0 -53
  1243. package/dist/prompts/simple_prev.md +0 -33
  1244. package/dist/prompts/simple_v2.md +0 -84
  1245. package/dist/prompts/simple_v3.md +0 -267
  1246. package/dist/prompts/subagents/researcher.md +0 -46
  1247. package/dist/providers/ai-sdk-agents-adapter.d.ts +0 -7
  1248. package/dist/providers/ai-sdk-agents-adapter.d.ts.map +0 -1
  1249. package/dist/providers/ai-sdk-agents-adapter.js +0 -80
  1250. package/dist/providers/ai-sdk-agents-adapter.js.map +0 -1
  1251. package/dist/providers/fallback-responses-model.d.ts +0 -46
  1252. package/dist/providers/fallback-responses-model.d.ts.map +0 -1
  1253. package/dist/providers/fallback-responses-model.js +0 -296
  1254. package/dist/providers/fallback-responses-model.js.map +0 -1
  1255. package/dist/services/stream-event-parsing.d.ts +0 -4
  1256. package/dist/services/stream-event-parsing.d.ts.map +0 -1
  1257. package/dist/services/stream-event-parsing.js +0 -79
  1258. package/dist/services/stream-event-parsing.js.map +0 -1
@@ -5,6 +5,7 @@ export const SETTINGS_CATEGORIES = [
5
5
  { id: 'tools', label: 'Tools' },
6
6
  { id: 'ui', label: 'UI' },
7
7
  { id: 'memory', label: 'Memory' },
8
+ { id: 'hooks', label: 'Hooks' },
8
9
  { id: 'misc', label: 'Misc' },
9
10
  ];
10
11
  export const SETTING_DESCRIPTIONS = {
@@ -22,11 +23,16 @@ export const SETTING_DESCRIPTIONS = {
22
23
  [SETTING_KEYS.AGENT_REASONING_EFFORT]: 'Reasoning effort (none|minimal|low|medium|high|xhigh|default)',
23
24
  [SETTING_KEYS.AGENT_TEMPERATURE]: 'Model temperature (0-2, controls randomness)',
24
25
  [SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER]: 'Use OpenAI Flex Service Tier to reduce costs (true|false, OpenAI only)',
26
+ [SETTING_KEYS.AGENT_CONTEXT_COMPACTION_ENABLED]: 'Enable OpenAI server-side context compaction (true|false, OpenAI only)',
27
+ [SETTING_KEYS.AGENT_CONTEXT_COMPACTION_COMPACT_THRESHOLD]: 'Context-window ratio for OpenAI server-side context compaction (0-1, 0%-100%)',
25
28
  [SETTING_KEYS.AGENT_MENTOR_MODEL]: 'Mentor model to use (optional, enables ask_mentor tool)',
26
29
  [SETTING_KEYS.AGENT_MENTOR_PROVIDER]: 'Provider to use for mentor model (openai, openrouter, etc.)',
27
30
  [SETTING_KEYS.AGENT_MENTOR_REASONING_EFFORT]: 'Reasoning effort for the mentor model (none|minimal|low|medium|high|xhigh|default)',
28
31
  // agent.provider is hidden from UI - it can only be changed via model menu
29
32
  [SETTING_KEYS.AGENT_MAX_TURNS]: 'Maximum conversation turns',
33
+ [SETTING_KEYS.AGENT_MAX_OUTPUT_TOKENS]: 'Maximum tokens generated by one model request',
34
+ [SETTING_KEYS.AGENT_MAX_STREAM_OUTPUT_CHARS]: 'Maximum streamed text, reasoning, or tool-argument characters per model request',
35
+ [SETTING_KEYS.AGENT_MAX_MODEL_REQUEST_DURATION_MS]: 'Maximum duration of one model request, in milliseconds',
30
36
  [SETTING_KEYS.AGENT_RETRY_ATTEMPTS]: 'Number of retry attempts for failed requests',
31
37
  [SETTING_KEYS.AGENT_MAX_PARALLEL_TOOL_CALLS]: 'Maximum number of tool calls allowed to run at the same time',
32
38
  [SETTING_KEYS.AGENT_CODEX_WEBSOCKET_FIRST_FRAME_TIMEOUT_MS]: 'Codex WebSocket timeout before the first response frame, in milliseconds',
@@ -44,6 +50,7 @@ export const SETTING_DESCRIPTIONS = {
44
50
  [SETTING_KEYS.SHELL_AUTO_APPROVE_MODE]: 'Shell command auto-approval mode (off|advisory|auto)',
45
51
  [SETTING_KEYS.AGENT_AUTO_APPROVE_MODEL]: 'Model to use for auto-approval evaluation (fast/cheap)',
46
52
  [SETTING_KEYS.AGENT_AUTO_APPROVE_PROVIDER]: 'Provider for the auto-approval model (optional)',
53
+ [SETTING_KEYS.AGENT_AUTO_APPROVE_REASONING_EFFORT]: 'Reasoning effort for risky shell auto-approval reviews (none|minimal|low|medium|high|xhigh)',
47
54
  [SETTING_KEYS.APP_PLAN_MODE]: 'Plan mode: read-only research and implementation planning (true|false)',
48
55
  [SETTING_KEYS.APP_ORCHESTRATOR_MODE]: 'Delegate tool-backed work through subagents (true|false)',
49
56
  [SETTING_KEYS.APP_NOTIFICATIONS]: 'Enable desktop notifications when the terminal is unfocused (true|false)',
@@ -62,6 +69,13 @@ export const SETTING_DESCRIPTIONS = {
62
69
  [SETTING_KEYS.MEMORY_CONTEXT_BUDGET_CHARS]: 'Character budget for memory summaries in initial context (number)',
63
70
  [SETTING_KEYS.MEMORY_SEARCH_DEFAULT_LIMIT]: 'Default number of search results to return (number)',
64
71
  [SETTING_KEYS.MEMORY_SEARCH_MAX_LIMIT]: 'Maximum number of search results to return (number)',
72
+ [SETTING_KEYS.HOOKS_USER_ENABLED]: 'Load trusted user hooks from ~/.term2/hooks (true|false)',
73
+ [SETTING_KEYS.HOOKS_PROJECT_ENABLED]: 'Discover project hooks when the project root is trusted (true|false)',
74
+ [SETTING_KEYS.HOOKS_TRUSTED_PROJECT_ROOTS]: 'Canonical project roots trusted to load hooks (JSON array)',
75
+ [SETTING_KEYS.HOOKS_INCLUDE_USER_TEXT]: 'Include user turn text in hook payloads (true|false)',
76
+ [SETTING_KEYS.HOOKS_INCLUDE_TOOL_ARGUMENTS]: 'Include full tool arguments in hook payloads (true|false)',
77
+ [SETTING_KEYS.HOOKS_INCLUDE_TOOL_RESULTS]: 'Include full tool results in hook payloads (true|false)',
78
+ [SETTING_KEYS.HOOKS_TIMEOUT_MS]: 'Maximum time to await one hook callback in milliseconds',
65
79
  [SETTING_KEYS.AGENT_SUBAGENT_LIBRARIAN_MODEL]: 'Model override for the librarian subagent (falls back to agent.model)',
66
80
  [SETTING_KEYS.AGENT_SUBAGENT_LIBRARIAN_PROVIDER]: 'Provider override for the librarian subagent (falls back to agent.provider)',
67
81
  [SETTING_KEYS.AGENT_SUBAGENT_LIBRARIAN_REASONING_EFFORT]: 'Reasoning effort for the librarian subagent (none|minimal|low|medium|high|xhigh|default)',
@@ -110,9 +124,6 @@ export const HIDDEN_SETTINGS = new Set([
110
124
  SETTING_KEYS.AGENT_SUBAGENT_WORKER_PROVIDER,
111
125
  SETTING_KEYS.AGENT_SUBAGENT_WORKER_MODEL,
112
126
  SETTING_KEYS.AGENT_SUBAGENT_WORKER_REASONING_EFFORT,
113
- SETTING_KEYS.AGENT_SUBAGENT_RESEARCHER_PROVIDER,
114
- SETTING_KEYS.AGENT_SUBAGENT_RESEARCHER_MODEL,
115
- SETTING_KEYS.AGENT_SUBAGENT_RESEARCHER_REASONING_EFFORT,
116
127
  SETTING_KEYS.AGENT_SUBAGENT_LIBRARIAN_PROVIDER,
117
128
  SETTING_KEYS.AGENT_SUBAGENT_LIBRARIAN_MODEL,
118
129
  SETTING_KEYS.AGENT_SUBAGENT_LIBRARIAN_REASONING_EFFORT,
@@ -138,18 +149,22 @@ export const CATEGORY_KEYS = {
138
149
  SETTING_KEYS.AGENT_MENTOR_MODEL,
139
150
  SETTING_KEYS.AGENT_MENTOR_REASONING_EFFORT,
140
151
  SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER,
152
+ SETTING_KEYS.AGENT_CONTEXT_COMPACTION_ENABLED,
153
+ SETTING_KEYS.AGENT_CONTEXT_COMPACTION_COMPACT_THRESHOLD,
141
154
  SETTING_KEYS.AGENT_SUBAGENT_EXPLORER_MODEL,
142
155
  SETTING_KEYS.AGENT_SUBAGENT_EXPLORER_REASONING_EFFORT,
143
156
  SETTING_KEYS.AGENT_SUBAGENT_WORKER_MODEL,
144
157
  SETTING_KEYS.AGENT_SUBAGENT_WORKER_REASONING_EFFORT,
145
- SETTING_KEYS.AGENT_SUBAGENT_RESEARCHER_MODEL,
146
- SETTING_KEYS.AGENT_SUBAGENT_RESEARCHER_REASONING_EFFORT,
147
158
  SETTING_KEYS.AGENT_SUBAGENT_LIBRARIAN_MODEL,
148
159
  SETTING_KEYS.AGENT_SUBAGENT_LIBRARIAN_REASONING_EFFORT,
149
160
  ]),
150
161
  safety: new Set([
162
+ SETTING_KEYS.AGENT_MAX_OUTPUT_TOKENS,
163
+ SETTING_KEYS.AGENT_MAX_STREAM_OUTPUT_CHARS,
164
+ SETTING_KEYS.AGENT_MAX_MODEL_REQUEST_DURATION_MS,
151
165
  SETTING_KEYS.SHELL_AUTO_APPROVE_MODE,
152
166
  SETTING_KEYS.AGENT_AUTO_APPROVE_MODEL,
167
+ SETTING_KEYS.AGENT_AUTO_APPROVE_REASONING_EFFORT,
153
168
  SETTING_KEYS.SANDBOX_ENABLED,
154
169
  SETTING_KEYS.SANDBOX_READ_POLICY,
155
170
  SETTING_KEYS.SANDBOX_ALLOW_READ_EXTRA,
@@ -188,6 +203,15 @@ export const CATEGORY_KEYS = {
188
203
  SETTING_KEYS.MEMORY_SEARCH_DEFAULT_LIMIT,
189
204
  SETTING_KEYS.MEMORY_SEARCH_MAX_LIMIT,
190
205
  ]),
206
+ hooks: new Set([
207
+ SETTING_KEYS.HOOKS_USER_ENABLED,
208
+ SETTING_KEYS.HOOKS_PROJECT_ENABLED,
209
+ SETTING_KEYS.HOOKS_TRUSTED_PROJECT_ROOTS,
210
+ SETTING_KEYS.HOOKS_INCLUDE_USER_TEXT,
211
+ SETTING_KEYS.HOOKS_INCLUDE_TOOL_ARGUMENTS,
212
+ SETTING_KEYS.HOOKS_INCLUDE_TOOL_RESULTS,
213
+ SETTING_KEYS.HOOKS_TIMEOUT_MS,
214
+ ]),
191
215
  };
192
- export const CATEGORY_ORDER = ['models', 'safety', 'tools', 'ui', 'memory'];
216
+ export const CATEGORY_ORDER = ['models', 'safety', 'tools', 'ui', 'memory', 'hooks'];
193
217
  //# sourceMappingURL=settings-completion-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-completion-config.js","sourceRoot":"","sources":["../../source/hooks/settings-completion-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-completion-config.js","sourceRoot":"","sources":["../../source/hooks/settings-completion-config.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import type { SlashCommand } from '../slash-commands.js';
2
2
  import type { SettingsService } from '../services/settings/settings-service.js';
3
3
  import type { UserTurn } from '../types/user-turn.js';
4
+ import { type RewindDisposition } from '../commands/rewind-command.js';
4
5
  import type { SkillsService, SkillInfo } from '../services/skills/skills-service.js';
5
6
  import type { Message } from '../types/message.js';
7
+ import type { RewindItem } from '../utils/conversation/rewind-items.js';
6
8
  interface UseAppCommandsProps {
7
9
  settingsService: SettingsService;
8
10
  addSystemMessage: (text: string) => void;
@@ -13,30 +15,30 @@ interface UseAppCommandsProps {
13
15
  exit: () => void;
14
16
  messages: Message[];
15
17
  setModel: (model: string) => void;
16
- undoLastUserMessage: () => {
18
+ getRewindItems: () => readonly RewindItem[];
19
+ rewindToTarget: (item: RewindItem) => {
17
20
  text: string;
18
21
  images?: UserTurn['images'];
19
22
  } | null;
20
- openUndoMenu: () => void;
23
+ restoreTurnToInput: (turn: {
24
+ text: string;
25
+ images?: UserTurn['images'];
26
+ }) => void;
27
+ openRewindMenu: (disposition: RewindDisposition) => void;
21
28
  openProvidersMenu: () => void;
22
- onUndo?: () => void;
29
+ onRewind?: () => void;
23
30
  onHandoff?: (capturedText: string) => void;
24
31
  sendUserMessage: (input: string | UserTurn) => Promise<void>;
25
32
  retryLastToolOutput: () => Promise<boolean>;
26
- listUserTurns: () => {
27
- index: number;
28
- text: string;
29
- imageCount: number;
30
- }[];
31
33
  skillsService: SkillsService;
32
34
  onSkillSelected: (skill: SkillInfo) => void;
33
35
  }
34
36
  export { getLastFinalAssistantText } from '../utils/conversation/message-utils.js';
35
37
  export { createCopySlashCommand } from '../commands/copy-command.js';
36
38
  export { createUsageSlashCommand } from '../commands/usage-command.js';
37
- export { createUndoSlashCommand } from '../commands/undo-command.js';
38
- export { createRetrySlashCommand } from '../commands/retry-command.js';
39
- export declare const useAppCommands: ({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, clearConversation, getSessionUsage, exit, messages, undoLastUserMessage, openUndoMenu, openProvidersMenu, onUndo, onHandoff, sendUserMessage, retryLastToolOutput, listUserTurns, skillsService, onSkillSelected, }: UseAppCommandsProps) => {
39
+ export { createRewindSlashCommand } from '../commands/rewind-command.js';
40
+ export { createRetryToolSlashCommand } from '../commands/retry-tool-command.js';
41
+ export declare const useAppCommands: ({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, clearConversation, getSessionUsage, exit, messages, getRewindItems, rewindToTarget, restoreTurnToInput, openRewindMenu, openProvidersMenu, onRewind, onHandoff, sendUserMessage, retryLastToolOutput, skillsService, onSkillSelected, }: UseAppCommandsProps) => {
40
42
  slashCommands: SlashCommand[];
41
43
  togglePlanMode: () => void;
42
44
  cycleAppModes: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-app-commands.d.ts","sourceRoot":"","sources":["../../source/hooks/use-app-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAetD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,UAAU,mBAAmB;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mBAAmB,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAChF,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,mBAAmB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,aAAa,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3E,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CAC7C;AAGD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,eAAO,MAAM,cAAc,gSAmBxB,mBAAmB;;;;CAiHrB,CAAC"}
1
+ {"version":3,"file":"use-app-commands.d.ts","sourceRoot":"","sources":["../../source/hooks/use-app-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKtD,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAUjG,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAExE,UAAU,mBAAmB;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;IAC5C,cAAc,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3F,kBAAkB,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAClF,cAAc,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACzD,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,mBAAmB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CAC7C;AAGD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF,eAAO,MAAM,cAAc,oTAoBxB,mBAAmB;;;;CA0IrB,CAAC"}
@@ -3,8 +3,8 @@ import { useModeHelpers, createModeToggleCommand } from '../commands/mode-comman
3
3
  import { createCopySlashCommand } from '../commands/copy-command.js';
4
4
  import { createUsageSlashCommand } from '../commands/usage-command.js';
5
5
  import { createClearSlashCommand } from '../commands/clear-command.js';
6
- import { createUndoSlashCommand } from '../commands/undo-command.js';
7
- import { createRetrySlashCommand } from '../commands/retry-command.js';
6
+ import { createRewindSlashCommand } from '../commands/rewind-command.js';
7
+ import { createRetryToolSlashCommand } from '../commands/retry-tool-command.js';
8
8
  import { createQuitSlashCommand } from '../commands/quit-command.js';
9
9
  import { createModelSlashCommand } from '../commands/model-command.js';
10
10
  import { createAutoApproveSlashCommand } from '../commands/auto-approve-command.js';
@@ -17,72 +17,98 @@ import { createSkillsSlashCommand } from '../commands/skills-command.js';
17
17
  export { getLastFinalAssistantText } from '../utils/conversation/message-utils.js';
18
18
  export { createCopySlashCommand } from '../commands/copy-command.js';
19
19
  export { createUsageSlashCommand } from '../commands/usage-command.js';
20
- export { createUndoSlashCommand } from '../commands/undo-command.js';
21
- export { createRetrySlashCommand } from '../commands/retry-command.js';
22
- export const useAppCommands = ({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, clearConversation, getSessionUsage, exit, messages, undoLastUserMessage, openUndoMenu, openProvidersMenu, onUndo, onHandoff, sendUserMessage, retryLastToolOutput, listUserTurns, skillsService, onSkillSelected, }) => {
20
+ export { createRewindSlashCommand } from '../commands/rewind-command.js';
21
+ export { createRetryToolSlashCommand } from '../commands/retry-tool-command.js';
22
+ export const useAppCommands = ({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, clearConversation, getSessionUsage, exit, messages, getRewindItems, rewindToTarget, restoreTurnToInput, openRewindMenu, openProvidersMenu, onRewind, onHandoff, sendUserMessage, retryLastToolOutput, skillsService, onSkillSelected, }) => {
23
23
  const { disableOtherModes, togglePlanMode, cycleAppModes } = useModeHelpers({
24
24
  settingsService,
25
25
  applyRuntimeSetting,
26
26
  addSystemMessage,
27
27
  });
28
- const slashCommands = useMemo(() => [
29
- createModelSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage, replaceInput }),
30
- createEffortSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage, replaceInput }),
31
- createClearSlashCommand(clearConversation, addSystemMessage),
32
- createCopySlashCommand({ messages, addSystemMessage }),
33
- createUsageSlashCommand(addSystemMessage, getSessionUsage),
34
- createUndoSlashCommand({ undoLastUserMessage, replaceInput, addSystemMessage, openUndoMenu, onUndo }),
35
- createRetrySlashCommand({
36
- undoLastUserMessage,
28
+ const slashCommands = useMemo(() => {
29
+ // Shared by /rewind and its two aliases so they cannot drift apart.
30
+ const rewindDeps = {
31
+ getRewindItems,
32
+ rewindToTarget,
33
+ restoreTurnToInput,
37
34
  sendUserMessage,
38
- retryLastToolOutput,
39
35
  addSystemMessage,
40
- listUserTurns,
41
- onUndo,
42
- }),
43
- createModeToggleCommand('app.liteMode', 'lite', 'Toggle lite mode (minimal context, session-only)', ' - using minimal prompt, no codebase context', {
44
- settingsService,
45
- applyRuntimeSetting,
46
- addSystemMessage,
47
- disableOtherModes,
48
- messages,
49
- }),
50
- createModeToggleCommand('app.mentorMode', 'mentor', 'Toggle mentor mode (collaborative mode with mentor model)', ' - using simplified mentor prompt and ask_mentor tool', {
51
- settingsService,
52
- applyRuntimeSetting,
53
- addSystemMessage,
54
- disableOtherModes,
55
- }),
56
- createModeToggleCommand('app.orchestratorMode', 'orchestrator', 'Toggle orchestrator mode (delegate all tool-backed work)', ' - tool-backed work must use subagents', {
57
- settingsService,
58
- applyRuntimeSetting,
59
- addSystemMessage,
60
- disableOtherModes,
61
- messages,
62
- }),
63
- createAutoApproveSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage }),
64
- {
65
- name: 'plan',
66
- description: 'Toggle plan mode (read-only research/planning mode)',
67
- action: () => {
68
- togglePlanMode();
69
- return true;
36
+ openRewindMenu,
37
+ onRewind,
38
+ };
39
+ return [
40
+ createModelSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage, replaceInput }),
41
+ createEffortSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage, replaceInput }),
42
+ createClearSlashCommand(clearConversation, addSystemMessage),
43
+ createCopySlashCommand({ messages, addSystemMessage }),
44
+ createUsageSlashCommand(addSystemMessage, getSessionUsage),
45
+ createRewindSlashCommand({
46
+ name: 'rewind',
47
+ defaultDisposition: 'edit',
48
+ bareTarget: 'picker',
49
+ ...rewindDeps,
50
+ }),
51
+ // Aliases keep existing muscle memory working: bare /undo opened a picker
52
+ // and bare /retry acted on the last turn immediately, so each keeps that.
53
+ createRewindSlashCommand({
54
+ name: 'undo',
55
+ aliasOf: 'rewind',
56
+ defaultDisposition: 'edit',
57
+ bareTarget: 'picker',
58
+ ...rewindDeps,
59
+ }),
60
+ createRewindSlashCommand({
61
+ name: 'retry',
62
+ aliasOf: 'rewind',
63
+ defaultDisposition: 'resend',
64
+ bareTarget: 'last',
65
+ ...rewindDeps,
66
+ }),
67
+ createRetryToolSlashCommand({ retryLastToolOutput, addSystemMessage }),
68
+ createModeToggleCommand('app.liteMode', 'lite', 'Toggle lite mode (minimal context, session-only)', ' - using minimal prompt, no codebase context', {
69
+ settingsService,
70
+ applyRuntimeSetting,
71
+ addSystemMessage,
72
+ disableOtherModes,
73
+ messages,
74
+ }),
75
+ createModeToggleCommand('app.mentorMode', 'mentor', 'Toggle mentor mode (collaborative mode with mentor model)', ' - using simplified mentor prompt and ask_mentor tool', {
76
+ settingsService,
77
+ applyRuntimeSetting,
78
+ addSystemMessage,
79
+ disableOtherModes,
80
+ }),
81
+ createModeToggleCommand('app.orchestratorMode', 'orchestrator', 'Toggle orchestrator mode (delegate all tool-backed work)', ' - tool-backed work must use subagents', {
82
+ settingsService,
83
+ applyRuntimeSetting,
84
+ addSystemMessage,
85
+ disableOtherModes,
86
+ messages,
87
+ }),
88
+ createAutoApproveSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage }),
89
+ {
90
+ name: 'plan',
91
+ description: 'Toggle plan mode (read-only research/planning mode)',
92
+ action: () => {
93
+ togglePlanMode();
94
+ return true;
95
+ },
70
96
  },
71
- },
72
- createHandoffSlashCommand({ messages, addSystemMessage, onHandoff }),
73
- createGuardedSettingsCommand({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, messages }),
74
- createSandboxSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage }),
75
- {
76
- name: 'providers',
77
- description: 'Manage API providers (list, add, edit, delete)',
78
- action: () => {
79
- openProvidersMenu();
80
- return true;
97
+ createHandoffSlashCommand({ messages, addSystemMessage, onHandoff }),
98
+ createGuardedSettingsCommand({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, messages }),
99
+ createSandboxSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage }),
100
+ {
101
+ name: 'providers',
102
+ description: 'Manage API providers (list, add, edit, delete)',
103
+ action: () => {
104
+ openProvidersMenu();
105
+ return true;
106
+ },
81
107
  },
82
- },
83
- createSkillsSlashCommand({ skillsService, onSkillSelected, addSystemMessage, replaceInput }),
84
- createQuitSlashCommand(exit),
85
- ], [
108
+ createSkillsSlashCommand({ skillsService, onSkillSelected, addSystemMessage, replaceInput }),
109
+ createQuitSlashCommand(exit),
110
+ ];
111
+ }, [
86
112
  addSystemMessage,
87
113
  applyRuntimeSetting,
88
114
  clearConversation,
@@ -92,14 +118,15 @@ export const useAppCommands = ({ settingsService, addSystemMessage, applyRuntime
92
118
  messages,
93
119
  replaceInput,
94
120
  settingsService,
95
- undoLastUserMessage,
96
- openUndoMenu,
121
+ getRewindItems,
122
+ rewindToTarget,
123
+ restoreTurnToInput,
124
+ openRewindMenu,
97
125
  openProvidersMenu,
98
- onUndo,
126
+ onRewind,
99
127
  onHandoff,
100
128
  sendUserMessage,
101
129
  retryLastToolOutput,
102
- listUserTurns,
103
130
  togglePlanMode,
104
131
  skillsService,
105
132
  onSkillSelected,
@@ -1 +1 @@
1
- {"version":3,"file":"use-app-commands.js","sourceRoot":"","sources":["../../source/hooks/use-app-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-app-commands.js","sourceRoot":"","sources":["../../source/hooks/use-app-commands.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,14 @@ import type { MutableRefObject } from 'react';
2
2
  import type { InputMode } from '../context/InputContext.js';
3
3
  import type { SkillInfo } from '../services/skills/skills-service.js';
4
4
  import type { UserTurn } from '../types/user-turn.js';
5
+ import type { InputOwner } from '../lib/input-owner.js';
5
6
  type HandoffState = {
6
7
  stage: string;
7
8
  } | null;
9
+ export type UseAppKeyboardShortcutsResult = {
10
+ /** True while a second Escape would interrupt the in-flight turn. */
11
+ interruptConfirmVisible: boolean;
12
+ };
8
13
  export type UseAppKeyboardShortcutsOptions = {
9
14
  exitWithUsage: () => void;
10
15
  pendingSkillRef: MutableRefObject<SkillInfo | null>;
@@ -13,6 +18,12 @@ export type UseAppKeyboardShortcutsOptions = {
13
18
  waitingForRejectionReason: boolean;
14
19
  setWaitingForRejectionReason: (value: boolean) => void;
15
20
  inputMode: InputMode;
21
+ /**
22
+ * Current composer text. Escape clears a non-empty buffer (handled by
23
+ * `use-escape-key.ts`), so the interrupt confirmation only claims Escape when
24
+ * this is empty. The emptiness predicate must match that hook's exactly.
25
+ */
26
+ inputValue: string;
16
27
  isProcessing: boolean;
17
28
  waitingForApproval: boolean;
18
29
  stopProcessing: () => void;
@@ -24,7 +35,13 @@ export type UseAppKeyboardShortcutsOptions = {
24
35
  cycleAppModes: () => void;
25
36
  replaceInput: (value: string) => void;
26
37
  onSkillActivationCancelled: () => void;
38
+ /**
39
+ * Resolved owner of keyboard input. When a non-`'input'` owner is active,
40
+ * a modal confirmation prompt owns input and the shortcut handler stays
41
+ * suppressed — except Ctrl+C, which is handled separately below.
42
+ */
43
+ inputOwner: InputOwner;
27
44
  };
28
- export declare const useAppKeyboardShortcuts: ({ exitWithUsage, pendingSkillRef, waitingForAskUserAnswer, setWaitingForAskUserAnswer, waitingForRejectionReason, setWaitingForRejectionReason, inputMode, isProcessing, waitingForApproval, stopProcessing, handoffState, cancelHandoff, pendingLargeUncachedTurn, liteMode, toggleShellMode, cycleAppModes, replaceInput, onSkillActivationCancelled, }: UseAppKeyboardShortcutsOptions) => void;
45
+ export declare const useAppKeyboardShortcuts: ({ exitWithUsage, pendingSkillRef, waitingForAskUserAnswer, setWaitingForAskUserAnswer, waitingForRejectionReason, setWaitingForRejectionReason, inputMode, inputValue, isProcessing, waitingForApproval, stopProcessing, handoffState, cancelHandoff, pendingLargeUncachedTurn, liteMode, toggleShellMode, cycleAppModes, replaceInput, onSkillActivationCancelled, inputOwner, }: UseAppKeyboardShortcutsOptions) => UseAppKeyboardShortcutsResult;
29
46
  export {};
30
47
  //# sourceMappingURL=use-app-keyboard-shortcuts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-app-keyboard-shortcuts.d.ts","sourceRoot":"","sources":["../../source/hooks/use-app-keyboard-shortcuts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC;AAET,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,OAAO,CAAC;IACjC,0BAA0B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,wBAAwB,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,0BAA0B,EAAE,MAAM,IAAI,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,uBAAuB,8VAmBjC,8BAA8B,KAAG,IAgGnC,CAAC"}
1
+ {"version":3,"file":"use-app-keyboard-shortcuts.d.ts","sourceRoot":"","sources":["../../source/hooks/use-app-keyboard-shortcuts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC;AAST,MAAM,MAAM,6BAA6B,GAAG;IAC1C,qEAAqE;IACrE,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,OAAO,CAAC;IACjC,0BAA0B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,wBAAwB,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,0BAA0B,EAAE,MAAM,IAAI,CAAC;IACvC;;;;OAIG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,sXAqBjC,8BAA8B,KAAG,6BA+KnC,CAAC"}
@@ -1,6 +1,27 @@
1
- import { useRef } from 'react';
1
+ import { useEffect, useRef, useState } from 'react';
2
2
  import { useInput } from 'ink';
3
- export const useAppKeyboardShortcuts = ({ exitWithUsage, pendingSkillRef, waitingForAskUserAnswer, setWaitingForAskUserAnswer, waitingForRejectionReason, setWaitingForRejectionReason, inputMode, isProcessing, waitingForApproval, stopProcessing, handoffState, cancelHandoff, pendingLargeUncachedTurn, liteMode, toggleShellMode, cycleAppModes, replaceInput, onSkillActivationCancelled, }) => {
3
+ /**
4
+ * How long the "press Escape again to interrupt" confirmation stays armed.
5
+ * Matches the double-Escape window used to clear the input buffer
6
+ * (`use-escape-key.ts`) so both gestures feel the same.
7
+ */
8
+ const INTERRUPT_CONFIRM_TIMEOUT_MS = 2000;
9
+ export const useAppKeyboardShortcuts = ({ exitWithUsage, pendingSkillRef, waitingForAskUserAnswer, setWaitingForAskUserAnswer, waitingForRejectionReason, setWaitingForRejectionReason, inputMode, inputValue, isProcessing, waitingForApproval, stopProcessing, handoffState, cancelHandoff, pendingLargeUncachedTurn, liteMode, toggleShellMode, cycleAppModes, replaceInput, onSkillActivationCancelled, inputOwner, }) => {
10
+ // `armedRef` — not the state below — is what the key handler reads. A user can
11
+ // press Escape twice faster than React commits a render, so the confirmation
12
+ // must not depend on the re-render landing between the two presses. The state
13
+ // exists only to show the hint.
14
+ const armedRef = useRef(false);
15
+ const [interruptConfirmVisible, setInterruptConfirmVisible] = useState(false);
16
+ const interruptTimeoutRef = useRef(null);
17
+ const disarmInterrupt = () => {
18
+ armedRef.current = false;
19
+ if (interruptTimeoutRef.current) {
20
+ clearTimeout(interruptTimeoutRef.current);
21
+ interruptTimeoutRef.current = null;
22
+ }
23
+ setInterruptConfirmVisible(false);
24
+ };
4
25
  const stateRef = useRef({
5
26
  pendingSkillRef,
6
27
  waitingForAskUserAnswer,
@@ -8,6 +29,7 @@ export const useAppKeyboardShortcuts = ({ exitWithUsage, pendingSkillRef, waitin
8
29
  waitingForRejectionReason,
9
30
  setWaitingForRejectionReason,
10
31
  inputMode,
32
+ inputValue,
11
33
  isProcessing,
12
34
  waitingForApproval,
13
35
  stopProcessing,
@@ -28,6 +50,7 @@ export const useAppKeyboardShortcuts = ({ exitWithUsage, pendingSkillRef, waitin
28
50
  waitingForRejectionReason,
29
51
  setWaitingForRejectionReason,
30
52
  inputMode,
53
+ inputValue,
31
54
  isProcessing,
32
55
  waitingForApproval,
33
56
  stopProcessing,
@@ -41,12 +64,25 @@ export const useAppKeyboardShortcuts = ({ exitWithUsage, pendingSkillRef, waitin
41
64
  onSkillActivationCancelled,
42
65
  exitWithUsage,
43
66
  };
67
+ // `inputOwner` is read here via a ref-like pattern: Ink's `isActive` option
68
+ // captures the value at render time, and this hook re-runs on every render,
69
+ // so a fresh `isActive` boolean is passed to `useInput` whenever the owner
70
+ // changes. The `inputOwner` value held by the closure below is therefore also
71
+ // current as of this render.
72
+ // Ctrl+C (emergency exit) remains global: it must work even while a prompt
73
+ // owns input. All other shortcuts are suppressed via `isActive` when a modal
74
+ // prompt is up, so they cannot double-fire against the prompt's own handler.
44
75
  useInput((input, key) => {
45
- const current = stateRef.current;
46
76
  if (key.ctrl && input === 'c') {
47
- current.exitWithUsage();
48
- return;
77
+ stateRef.current.exitWithUsage();
49
78
  }
79
+ }, { isActive: true });
80
+ // Non-emergency shortcuts. Suppressed entirely while a modal confirmation
81
+ // prompt owns input (Esc, Shift-Tab, skill/ask-user/rejection-cancel paths).
82
+ // This closes the Ink fan-out coupling: the prompt's own `useInput` is the
83
+ // sole handler for its keys while it is mounted.
84
+ useInput((input, key) => {
85
+ const current = stateRef.current;
50
86
  if (key.escape) {
51
87
  if (current.pendingSkillRef.current) {
52
88
  current.pendingSkillRef.current = null;
@@ -63,8 +99,28 @@ export const useAppKeyboardShortcuts = ({ exitWithUsage, pendingSkillRef, waitin
63
99
  current.replaceInput('');
64
100
  return;
65
101
  }
66
- if (current.inputMode === 'text' && (current.isProcessing || current.waitingForApproval)) {
67
- current.stopProcessing();
102
+ if (current.inputMode === 'text' &&
103
+ (current.isProcessing || current.waitingForApproval) &&
104
+ // A non-empty composer means Escape belongs to the clear-buffer
105
+ // gesture in `use-escape-key.ts`; interrupting only claims Escape once
106
+ // there is nothing left to clear.
107
+ current.inputValue.length === 0) {
108
+ // Interrupting a turn throws away real work, and Escape is easy to hit
109
+ // by accident (stray key, leftover terminal escape sequence). Require a
110
+ // second Escape inside a short window to confirm.
111
+ if (armedRef.current) {
112
+ disarmInterrupt();
113
+ current.stopProcessing();
114
+ return;
115
+ }
116
+ armedRef.current = true;
117
+ setInterruptConfirmVisible(true);
118
+ if (interruptTimeoutRef.current)
119
+ clearTimeout(interruptTimeoutRef.current);
120
+ interruptTimeoutRef.current = setTimeout(() => {
121
+ interruptTimeoutRef.current = null;
122
+ disarmInterrupt();
123
+ }, INTERRUPT_CONFIRM_TIMEOUT_MS);
68
124
  return;
69
125
  }
70
126
  if (current.handoffState?.stage === 'entering_message') {
@@ -83,6 +139,19 @@ export const useAppKeyboardShortcuts = ({ exitWithUsage, pendingSkillRef, waitin
83
139
  return;
84
140
  }
85
141
  current.cycleAppModes();
86
- });
142
+ }, { isActive: inputOwner.kind === 'input' });
143
+ // Disarm as soon as the turn ends — or as soon as the user types, since
144
+ // Escape then means "clear the buffer" — so an armed confirmation can never
145
+ // be completed by a later, unrelated Escape.
146
+ useEffect(() => {
147
+ if ((!isProcessing && !waitingForApproval) || inputValue.length > 0) {
148
+ disarmInterrupt();
149
+ }
150
+ }, [isProcessing, waitingForApproval, inputValue]);
151
+ useEffect(() => () => {
152
+ if (interruptTimeoutRef.current)
153
+ clearTimeout(interruptTimeoutRef.current);
154
+ }, []);
155
+ return { interruptConfirmVisible };
87
156
  };
88
157
  //# sourceMappingURL=use-app-keyboard-shortcuts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-app-keyboard-shortcuts.js","sourceRoot":"","sources":["../../source/hooks/use-app-keyboard-shortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AA+B/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,YAAY,EACZ,0BAA0B,GACK,EAAQ,EAAE;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC;QACtB,eAAe;QACf,uBAAuB;QACvB,0BAA0B;QAC1B,yBAAyB;QACzB,4BAA4B;QAC5B,SAAS;QACT,YAAY;QACZ,kBAAkB;QAClB,cAAc;QACd,YAAY;QACZ,aAAa;QACb,wBAAwB;QACxB,QAAQ;QACR,eAAe;QACf,aAAa;QACb,YAAY;QACZ,0BAA0B;QAC1B,aAAa;KACd,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,GAAG;QACjB,eAAe;QACf,uBAAuB;QACvB,0BAA0B;QAC1B,yBAAyB;QACzB,4BAA4B;QAC5B,SAAS;QACT,YAAY;QACZ,kBAAkB;QAClB,cAAc;QACd,YAAY;QACZ,aAAa;QACb,wBAAwB;QACxB,QAAQ;QACR,eAAe;QACf,aAAa;QACb,YAAY;QACZ,0BAA0B;QAC1B,aAAa;KACd,CAAC;IAEF,QAAQ,CAAC,CAAC,KAAa,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEjC,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBACpC,OAAO,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvC,OAAO,CAAC,0BAA0B,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACpC,OAAO,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBAC1C,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACtC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAC5C,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACzF,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACvD,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,UAAU,CAAC;QAClE,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"use-app-keyboard-shortcuts.js","sourceRoot":"","sources":["../../source/hooks/use-app-keyboard-shortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAW/B;;;;GAIG;AACH,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAwC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,SAAS,EACT,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,YAAY,EACZ,0BAA0B,EAC1B,UAAU,GACqB,EAAiC,EAAE;IAClE,+EAA+E;IAC/E,6EAA6E;IAC7E,8EAA8E;IAC9E,gCAAgC;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAE/E,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAChC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1C,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC;QACtB,eAAe;QACf,uBAAuB;QACvB,0BAA0B;QAC1B,yBAAyB;QACzB,4BAA4B;QAC5B,SAAS;QACT,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,cAAc;QACd,YAAY;QACZ,aAAa;QACb,wBAAwB;QACxB,QAAQ;QACR,eAAe;QACf,aAAa;QACb,YAAY;QACZ,0BAA0B;QAC1B,aAAa;KACd,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,GAAG;QACjB,eAAe;QACf,uBAAuB;QACvB,0BAA0B;QAC1B,yBAAyB;QACzB,4BAA4B;QAC5B,SAAS;QACT,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,cAAc;QACd,YAAY;QACZ,aAAa;QACb,wBAAwB;QACxB,QAAQ;QACR,eAAe;QACf,aAAa;QACb,YAAY;QACZ,0BAA0B;QAC1B,aAAa;KACd,CAAC;IAEF,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,8EAA8E;IAC9E,6BAA6B;IAE7B,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,QAAQ,CACN,CAAC,KAAa,EAAE,GAAG,EAAE,EAAE;QACrB,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;IAEF,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,iDAAiD;IACjD,QAAQ,CACN,CAAC,KAAa,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEjC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBACpC,OAAO,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvC,OAAO,CAAC,0BAA0B,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACpC,OAAO,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBAC1C,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACtC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAC5C,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IACE,OAAO,CAAC,SAAS,KAAK,MAAM;gBAC5B,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;gBACpD,gEAAgE;gBAChE,uEAAuE;gBACvE,kCAAkC;gBAClC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAC/B,CAAC;gBACD,uEAAuE;gBACvE,wEAAwE;gBACxE,kDAAkD;gBAClD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,eAAe,EAAE,CAAC;oBAClB,OAAO,CAAC,cAAc,EAAE,CAAC;oBACzB,OAAO;gBACT,CAAC;gBAED,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBACxB,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,mBAAmB,CAAC,OAAO;oBAAE,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC3E,mBAAmB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5C,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnC,eAAe,EAAE,CAAC;gBACpB,CAAC,EAAE,4BAA4B,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACvD,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,UAAU,CAAC;QAClE,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC,EACD,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAC1C,CAAC;IAEF,wEAAwE;IACxE,4EAA4E;IAC5E,6CAA6C;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,eAAe,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnD,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,IAAI,mBAAmB,CAAC,OAAO;YAAE,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACrC,CAAC,CAAC"}