@qduc/term2 0.9.1 → 0.9.3

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 (1161) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js.map +1 -1
  3. package/dist/app-helpers.d.ts.map +1 -1
  4. package/dist/app-helpers.js.map +1 -1
  5. package/dist/app.d.ts +1 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +101 -86
  8. package/dist/app.js.map +1 -1
  9. package/dist/app.large-uncached-warning.test.js.map +1 -1
  10. package/dist/cli.js +18 -16
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/mode-commands.d.ts +1 -1
  13. package/dist/commands/mode-commands.d.ts.map +1 -1
  14. package/dist/commands/sandbox-command.d.ts +10 -0
  15. package/dist/commands/sandbox-command.d.ts.map +1 -0
  16. package/dist/commands/sandbox-command.js +17 -0
  17. package/dist/commands/sandbox-command.js.map +1 -0
  18. package/dist/commands/skills-command.d.ts.map +1 -1
  19. package/dist/components/Common/MenuContainer.d.ts.map +1 -1
  20. package/dist/components/Common/MenuContainer.js.map +1 -1
  21. package/dist/components/Common/MenuContainer.test.d.ts.map +1 -1
  22. package/dist/components/Common/MenuContainer.test.js +24 -53
  23. package/dist/components/Common/MenuContainer.test.js.map +1 -1
  24. package/dist/components/Common/ScrollableTabBar.d.ts.map +1 -1
  25. package/dist/components/Common/ScrollableTabBar.js.map +1 -1
  26. package/dist/components/Common/compute-visible-tabs.d.ts.map +1 -1
  27. package/dist/components/Common/compute-visible-tabs.js.map +1 -1
  28. package/dist/components/Common/compute-visible-tabs.test.d.ts.map +1 -1
  29. package/dist/components/Common/compute-visible-tabs.test.js +28 -28
  30. package/dist/components/Common/compute-visible-tabs.test.js.map +1 -1
  31. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  32. package/dist/components/Input/PopupManager.d.ts +10 -2
  33. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  34. package/dist/components/Input/PopupManager.js +10 -8
  35. package/dist/components/Input/PopupManager.js.map +1 -1
  36. package/dist/components/Input/determine-active-menu.d.ts +3 -0
  37. package/dist/components/Input/determine-active-menu.d.ts.map +1 -1
  38. package/dist/components/Input/determine-active-menu.js +10 -2
  39. package/dist/components/Input/determine-active-menu.js.map +1 -1
  40. package/dist/components/Input/input-width.d.ts.map +1 -1
  41. package/dist/components/Input/input-width.js.map +1 -1
  42. package/dist/components/Input/insertions.d.ts +11 -1
  43. package/dist/components/Input/insertions.d.ts.map +1 -1
  44. package/dist/components/Input/insertions.js +18 -3
  45. package/dist/components/Input/insertions.js.map +1 -1
  46. package/dist/components/Input/popup-key-navigation.d.ts.map +1 -1
  47. package/dist/components/Input/popup-key-navigation.js.map +1 -1
  48. package/dist/components/Input/popup-key-navigation.test.d.ts.map +1 -1
  49. package/dist/components/Input/popup-key-navigation.test.js +21 -21
  50. package/dist/components/Input/popup-key-navigation.test.js.map +1 -1
  51. package/dist/components/Input/popup-props.d.ts +3 -1
  52. package/dist/components/Input/popup-props.d.ts.map +1 -1
  53. package/dist/components/Input/popup-props.js +8 -1
  54. package/dist/components/Input/popup-props.js.map +1 -1
  55. package/dist/components/Input/popup-props.test.d.ts.map +1 -1
  56. package/dist/components/Input/popup-props.test.js +10 -3
  57. package/dist/components/Input/popup-props.test.js.map +1 -1
  58. package/dist/components/Input/triggers.d.ts +1 -0
  59. package/dist/components/Input/triggers.d.ts.map +1 -1
  60. package/dist/components/Input/triggers.js +1 -0
  61. package/dist/components/Input/triggers.js.map +1 -1
  62. package/dist/components/InputBox.d.ts.map +1 -1
  63. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  64. package/dist/components/MarkdownRenderer.js.map +1 -1
  65. package/dist/components/ModelSelectionMenu.debug.test.d.ts +2 -0
  66. package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +1 -0
  67. package/dist/components/ModelSelectionMenu.debug.test.js.map +1 -0
  68. package/dist/components/layout/Banner.d.ts.map +1 -1
  69. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  70. package/dist/components/layout/DiffView.d.ts.map +1 -1
  71. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  72. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  73. package/dist/components/menu/PathSelectionMenu.d.ts.map +1 -1
  74. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  75. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  76. package/dist/components/menu/SettingsValueSelectionMenu.d.ts +1 -1
  77. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  78. package/dist/components/menu/SettingsValueSelectionMenu.js +1 -1
  79. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  80. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  81. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  82. package/dist/components/menu/UndoSelectionMenu.d.ts.map +1 -1
  83. package/dist/components/message/ChatMessage.d.ts.map +1 -1
  84. package/dist/components/message/CodeContextSearchRenderer.d.ts +8 -0
  85. package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -0
  86. package/dist/components/message/CodeContextSearchRenderer.js +49 -0
  87. package/dist/components/message/CodeContextSearchRenderer.js.map +1 -0
  88. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  89. package/dist/components/message/CommandMessage.js +27 -242
  90. package/dist/components/message/CommandMessage.js.map +1 -1
  91. package/dist/components/message/GrepRenderer.d.ts +8 -0
  92. package/dist/components/message/GrepRenderer.d.ts.map +1 -0
  93. package/dist/components/message/GrepRenderer.js +94 -0
  94. package/dist/components/message/GrepRenderer.js.map +1 -0
  95. package/dist/components/message/MessageList.d.ts.map +1 -1
  96. package/dist/components/message/MessageList.js +13 -0
  97. package/dist/components/message/MessageList.js.map +1 -1
  98. package/dist/components/message/ReadFileRenderer.d.ts +8 -0
  99. package/dist/components/message/ReadFileRenderer.d.ts.map +1 -0
  100. package/dist/components/message/ReadFileRenderer.js +53 -0
  101. package/dist/components/message/ReadFileRenderer.js.map +1 -0
  102. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  103. package/dist/components/message/WebFetchRenderer.d.ts +8 -0
  104. package/dist/components/message/WebFetchRenderer.d.ts.map +1 -0
  105. package/dist/components/message/WebFetchRenderer.js +46 -0
  106. package/dist/components/message/WebFetchRenderer.js.map +1 -0
  107. package/dist/components/message/WebSearchRenderer.d.ts +8 -0
  108. package/dist/components/message/WebSearchRenderer.d.ts.map +1 -0
  109. package/dist/components/message/WebSearchRenderer.js +35 -0
  110. package/dist/components/message/WebSearchRenderer.js.map +1 -0
  111. package/dist/components/message/command-message-helpers.d.ts +3 -3
  112. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  113. package/dist/components/message/command-message-helpers.js.map +1 -1
  114. package/dist/components/message/useCommandVisibility.d.ts +9 -0
  115. package/dist/components/message/useCommandVisibility.d.ts.map +1 -0
  116. package/dist/components/message/useCommandVisibility.js +25 -0
  117. package/dist/components/message/useCommandVisibility.js.map +1 -0
  118. package/dist/components/prompt/ApprovalPrompt.ask-user.test.js +12 -35
  119. package/dist/components/prompt/ApprovalPrompt.ask-user.test.js.map +1 -1
  120. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  121. package/dist/components/prompt/HandoffConfirmationPrompt.d.ts.map +1 -1
  122. package/dist/components/prompt/InputSurgeConfirmationPrompt.d.ts.map +1 -1
  123. package/dist/components/prompt/LargeUncachedConfirmationPrompt.d.ts.map +1 -1
  124. package/dist/components/prompt/StandardModeConfirmationPrompt.d.ts.map +1 -1
  125. package/dist/context/InputContext.d.ts +6 -6
  126. package/dist/context/InputContext.d.ts.map +1 -1
  127. package/dist/context/InputContext.js.map +1 -1
  128. package/dist/env-setup.js +1 -0
  129. package/dist/env-setup.js.map +1 -1
  130. package/dist/hooks/conversation-ui-reducer.ask-user-bugfix.test.js +7 -7
  131. package/dist/hooks/conversation-ui-reducer.ask-user-bugfix.test.js.map +1 -1
  132. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  133. package/dist/hooks/conversation-ui-reducer.multi-select.test.d.ts +2 -0
  134. package/dist/hooks/conversation-ui-reducer.multi-select.test.d.ts.map +1 -0
  135. package/dist/hooks/conversation-ui-reducer.multi-select.test.js +123 -0
  136. package/dist/hooks/conversation-ui-reducer.multi-select.test.js.map +1 -0
  137. package/dist/hooks/message-id.d.ts +1 -1
  138. package/dist/hooks/message-id.d.ts.map +1 -1
  139. package/dist/hooks/message-id.js +2 -15
  140. package/dist/hooks/message-id.js.map +1 -1
  141. package/dist/hooks/path-completion-filter.d.ts.map +1 -1
  142. package/dist/hooks/settings-completion-config.d.ts +26 -0
  143. package/dist/hooks/settings-completion-config.d.ts.map +1 -0
  144. package/dist/hooks/settings-completion-config.js +130 -0
  145. package/dist/hooks/settings-completion-config.js.map +1 -0
  146. package/dist/hooks/settings-completion-logic.d.ts +9 -0
  147. package/dist/hooks/settings-completion-logic.d.ts.map +1 -0
  148. package/dist/hooks/settings-completion-logic.js +82 -0
  149. package/dist/hooks/settings-completion-logic.js.map +1 -0
  150. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  151. package/dist/hooks/use-app-commands.js +3 -1
  152. package/dist/hooks/use-app-commands.js.map +1 -1
  153. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +28 -0
  154. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -0
  155. package/dist/hooks/use-app-keyboard-shortcuts.js +86 -0
  156. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -0
  157. package/dist/hooks/use-conversation-messages.js.map +1 -1
  158. package/dist/hooks/use-conversation.ask-user-multi-select.test.d.ts +2 -0
  159. package/dist/hooks/use-conversation.ask-user-multi-select.test.d.ts.map +1 -0
  160. package/dist/hooks/use-conversation.ask-user-multi-select.test.js +159 -0
  161. package/dist/hooks/use-conversation.ask-user-multi-select.test.js.map +1 -0
  162. package/dist/hooks/use-conversation.d.ts +7 -4
  163. package/dist/hooks/use-conversation.d.ts.map +1 -1
  164. package/dist/hooks/use-conversation.js +100 -521
  165. package/dist/hooks/use-conversation.js.map +1 -1
  166. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  167. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  168. package/dist/hooks/use-input-history.d.ts.map +1 -1
  169. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  170. package/dist/hooks/use-model-selection.d.ts +1 -1
  171. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  172. package/dist/hooks/use-model-selection.js.map +1 -1
  173. package/dist/hooks/use-path-completion.d.ts +1 -1
  174. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  175. package/dist/hooks/use-pending-turn-guards.d.ts.map +1 -1
  176. package/dist/hooks/use-provider-selection.d.ts.map +1 -1
  177. package/dist/hooks/use-provider-selection.js +5 -3
  178. package/dist/hooks/use-provider-selection.js.map +1 -1
  179. package/dist/hooks/use-runtime-settings.d.ts +5 -4
  180. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  181. package/dist/hooks/use-runtime-settings.js +8 -82
  182. package/dist/hooks/use-runtime-settings.js.map +1 -1
  183. package/dist/hooks/use-selection.js +1 -1
  184. package/dist/hooks/use-selection.js.map +1 -1
  185. package/dist/hooks/use-settings-completion.d.ts +4 -18
  186. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  187. package/dist/hooks/use-settings-completion.js +4 -199
  188. package/dist/hooks/use-settings-completion.js.map +1 -1
  189. package/dist/hooks/use-settings-value-completion.d.ts +2 -10
  190. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  191. package/dist/hooks/use-settings-value-completion.js +18 -235
  192. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  193. package/dist/hooks/use-shell-mode.d.ts +0 -6
  194. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  195. package/dist/hooks/use-shell-mode.js +9 -43
  196. package/dist/hooks/use-shell-mode.js.map +1 -1
  197. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  198. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  199. package/dist/hooks/use-terminal-focus-notifier.d.ts.map +1 -1
  200. package/dist/hooks/use-terminal-width.d.ts.map +1 -1
  201. package/dist/hooks/use-trigger-detection.d.ts.map +1 -1
  202. package/dist/hooks/use-trigger-detection.js.map +1 -1
  203. package/dist/inspect_zod.d.ts +2 -0
  204. package/dist/inspect_zod.d.ts.map +1 -0
  205. package/dist/inspect_zod.js +16 -0
  206. package/dist/inspect_zod.js.map +1 -0
  207. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  208. package/dist/lib/agent-chat-service.js.map +1 -1
  209. package/dist/lib/agent-client.d.ts.map +1 -1
  210. package/dist/lib/agent-client.js.map +1 -1
  211. package/dist/lib/agent-configuration.d.ts +4 -4
  212. package/dist/lib/agent-configuration.d.ts.map +1 -1
  213. package/dist/lib/agent-factory.test.js +0 -21
  214. package/dist/lib/agent-factory.test.js.map +1 -1
  215. package/dist/lib/agent-run-orchestrator.d.ts.map +1 -1
  216. package/dist/lib/agent-run-orchestrator.js.map +1 -1
  217. package/dist/lib/ask-user-answer-store.d.ts.map +1 -1
  218. package/dist/lib/chained-input-filter.d.ts +5 -0
  219. package/dist/lib/chained-input-filter.d.ts.map +1 -1
  220. package/dist/lib/chained-input-filter.js +17 -1
  221. package/dist/lib/chained-input-filter.js.map +1 -1
  222. package/dist/lib/editor-impl.d.ts +3 -3
  223. package/dist/lib/editor-impl.d.ts.map +1 -1
  224. package/dist/lib/editor-impl.js.map +1 -1
  225. package/dist/lib/editor-impl.test.js +29 -73
  226. package/dist/lib/editor-impl.test.js.map +1 -1
  227. package/dist/lib/openai-agent-client.public-methods.test.js +1 -9
  228. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  229. package/dist/lib/openai-strict-tool-schema.d.ts.map +1 -1
  230. package/dist/lib/runner-manager.d.ts.map +1 -1
  231. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  232. package/dist/lib/subagent-bridge.js +0 -1
  233. package/dist/lib/subagent-bridge.js.map +1 -1
  234. package/dist/lib/tool-interceptor-registry.d.ts.map +1 -1
  235. package/dist/lib/tool-invoke.d.ts.map +1 -1
  236. package/dist/lib/tool-invoke.js +2 -29
  237. package/dist/lib/tool-invoke.js.map +1 -1
  238. package/dist/non-interactive.d.ts +2 -0
  239. package/dist/non-interactive.d.ts.map +1 -1
  240. package/dist/non-interactive.js +22 -8
  241. package/dist/non-interactive.js.map +1 -1
  242. package/dist/prompts/gpt-5.md +7 -4
  243. package/dist/prompts/prompt-constructor.test.ts +1 -1
  244. package/dist/prompts/prompt-profiles.js +1 -1
  245. package/dist/prompts/prompt-profiles.ts +1 -1
  246. package/dist/prompts/search-via-shell.js.map +1 -1
  247. package/dist/prompts/simple_prev2.md +33 -0
  248. package/dist/prompts/simple_v4.md +25 -0
  249. package/dist/prompts/subagent-delegation.js.map +1 -1
  250. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
  251. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
  252. package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -1
  253. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +0 -2
  254. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
  255. package/dist/providers/ai-sdk-openai-compatible.provider.js +4 -8
  256. package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
  257. package/dist/providers/ai-sdk-openai-compatible.provider.test.js +1 -119
  258. package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
  259. package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
  260. package/dist/providers/codex-responses-model.d.ts +1 -6
  261. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  262. package/dist/providers/codex-responses-model.js +62 -80
  263. package/dist/providers/codex-responses-model.js.map +1 -1
  264. package/dist/providers/codex.provider.d.ts.map +1 -1
  265. package/dist/providers/codex.provider.js.map +1 -1
  266. package/dist/providers/common/provider-errors.d.ts.map +1 -1
  267. package/dist/providers/fallback-responses-model.d.ts +2 -2
  268. package/dist/providers/fallback-responses-model.d.ts.map +1 -1
  269. package/dist/providers/fallback-responses-model.js.map +1 -1
  270. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  271. package/dist/providers/openai-compatible-behavior-gate.test.js +1 -42
  272. package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -1
  273. package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
  274. package/dist/providers/openai-compatible-lazy.js +7 -3
  275. package/dist/providers/openai-compatible-lazy.js.map +1 -1
  276. package/dist/providers/openai-compatible.provider.d.ts +1 -0
  277. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  278. package/dist/providers/openai-compatible.provider.js +6 -3
  279. package/dist/providers/openai-compatible.provider.js.map +1 -1
  280. package/dist/providers/openai.provider.d.ts.map +1 -1
  281. package/dist/providers/openai.provider.js.map +1 -1
  282. package/dist/providers/openrouter.provider.js.map +1 -1
  283. package/dist/providers/provider-service.d.ts.map +1 -1
  284. package/dist/providers/provider-service.js +31 -20
  285. package/dist/providers/provider-service.js.map +1 -1
  286. package/dist/providers/retrying-model.d.ts.map +1 -1
  287. package/dist/providers/retrying-model.js.map +1 -1
  288. package/dist/scripts/eval-auto-approval/cache.d.ts.map +1 -1
  289. package/dist/scripts/eval-auto-approval/dataset.d.ts +3 -3
  290. package/dist/scripts/eval-auto-approval/leaderboard.js.map +1 -1
  291. package/dist/scripts/eval-auto-approval/report.js.map +1 -1
  292. package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
  293. package/dist/services/approval/approval-decision-policy.d.ts.map +1 -1
  294. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  295. package/dist/services/approval/approval-flow-coordinator.d.ts +7 -0
  296. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  297. package/dist/services/approval/approval-flow-coordinator.js +8 -0
  298. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  299. package/dist/services/approval/approval-presentation-policy.d.ts +1 -1
  300. package/dist/services/approval/approval-presentation-policy.d.ts.map +1 -1
  301. package/dist/services/approval/approval-presentation-policy.js.map +1 -1
  302. package/dist/services/approval/approval-state.d.ts.map +1 -1
  303. package/dist/services/approval/shell-auto-approval-resolver.d.ts +12 -0
  304. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  305. package/dist/services/approval/shell-auto-approval-resolver.js +28 -0
  306. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  307. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  308. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  309. package/dist/services/approval/tool-approval-policy-registry.d.ts.map +1 -1
  310. package/dist/services/approval/tool-owner.d.ts.map +1 -1
  311. package/dist/services/approval-flow-coordinator.js +1 -1
  312. package/dist/services/approval-flow-coordinator.js.map +1 -1
  313. package/dist/services/approval-state.d.ts +1 -1
  314. package/dist/services/approval-state.d.ts.map +1 -1
  315. package/dist/services/command-message-streaming.d.ts.map +1 -1
  316. package/dist/services/command-message-streaming.js.map +1 -1
  317. package/dist/services/continuation-driver.js +1 -1
  318. package/dist/services/continuation-driver.js.map +1 -1
  319. package/dist/services/conversation/conversation-adapter.d.ts +2 -0
  320. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  321. package/dist/services/conversation/conversation-adapter.js +9 -4
  322. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  323. package/dist/services/conversation/conversation-input-routing.d.ts +23 -0
  324. package/dist/services/conversation/conversation-input-routing.d.ts.map +1 -0
  325. package/dist/services/conversation/conversation-input-routing.js +20 -0
  326. package/dist/services/conversation/conversation-input-routing.js.map +1 -0
  327. package/dist/services/conversation/conversation-orchestrator.d.ts +36 -0
  328. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -0
  329. package/dist/services/conversation/conversation-orchestrator.js +440 -0
  330. package/dist/services/conversation/conversation-orchestrator.js.map +1 -0
  331. package/dist/services/conversation/conversation-orchestrator.types.d.ts +58 -0
  332. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -0
  333. package/dist/services/conversation/conversation-orchestrator.types.js +2 -0
  334. package/dist/services/conversation/conversation-orchestrator.types.js.map +1 -0
  335. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  336. package/dist/services/conversation/conversation-replay.js +46 -21
  337. package/dist/services/conversation/conversation-replay.js.map +1 -1
  338. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  339. package/dist/services/conversation/conversation-service.d.ts +2 -1
  340. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  341. package/dist/services/conversation/conversation-service.js +9 -0
  342. package/dist/services/conversation/conversation-service.js.map +1 -1
  343. package/dist/services/conversation/conversation-state-projector.d.ts +52 -0
  344. package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -0
  345. package/dist/services/conversation/conversation-state-projector.js +71 -0
  346. package/dist/services/conversation/conversation-state-projector.js.map +1 -0
  347. package/dist/services/conversation/conversation-state-schema.d.ts +44 -0
  348. package/dist/services/conversation/conversation-state-schema.d.ts.map +1 -0
  349. package/dist/services/conversation/conversation-state-schema.js +25 -0
  350. package/dist/services/conversation/conversation-state-schema.js.map +1 -0
  351. package/dist/services/conversation/conversation-store.d.ts +5 -1
  352. package/dist/services/conversation/conversation-store.d.ts.map +1 -1
  353. package/dist/services/conversation/conversation-store.js +5 -1
  354. package/dist/services/conversation/conversation-store.js.map +1 -1
  355. package/dist/services/conversation/conversation-turn-items.d.ts.map +1 -1
  356. package/dist/services/conversation/conversation-turn-items.js +13 -1
  357. package/dist/services/conversation/conversation-turn-items.js.map +1 -1
  358. package/dist/services/conversation/journal-to-ledger.d.ts +17 -0
  359. package/dist/services/conversation/journal-to-ledger.d.ts.map +1 -0
  360. package/dist/services/conversation/journal-to-ledger.js +220 -0
  361. package/dist/services/conversation/journal-to-ledger.js.map +1 -0
  362. package/dist/services/conversation-adapter.d.ts +2 -3
  363. package/dist/services/conversation-adapter.d.ts.map +1 -1
  364. package/dist/services/conversation-adapter.js +8 -10
  365. package/dist/services/conversation-adapter.js.map +1 -1
  366. package/dist/services/conversation-events.d.ts +1 -1
  367. package/dist/services/conversation-events.d.ts.map +1 -1
  368. package/dist/services/conversation-log-events.d.ts +1 -1
  369. package/dist/services/conversation-log-events.d.ts.map +1 -1
  370. package/dist/services/conversation-replay.d.ts +1 -1
  371. package/dist/services/conversation-replay.d.ts.map +1 -1
  372. package/dist/services/conversation-replay.js +1 -1
  373. package/dist/services/conversation-replay.js.map +1 -1
  374. package/dist/services/conversation-result-builder.d.ts +1 -1
  375. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  376. package/dist/services/conversation-result-builder.js +2 -2
  377. package/dist/services/conversation-result-builder.js.map +1 -1
  378. package/dist/services/conversation-result-builder.test.js +3 -3
  379. package/dist/services/conversation-result-builder.test.js.map +1 -1
  380. package/dist/services/conversation-result-resolver.d.ts +25 -0
  381. package/dist/services/conversation-result-resolver.d.ts.map +1 -0
  382. package/dist/services/conversation-result-resolver.js +79 -0
  383. package/dist/services/conversation-result-resolver.js.map +1 -0
  384. package/dist/services/conversation-result-resolver.test.d.ts +2 -0
  385. package/dist/services/conversation-result-resolver.test.d.ts.map +1 -0
  386. package/dist/services/conversation-result-resolver.test.js +186 -0
  387. package/dist/services/conversation-result-resolver.test.js.map +1 -0
  388. package/dist/services/conversation-service.test.js +2 -2
  389. package/dist/services/conversation-service.test.js.map +1 -1
  390. package/dist/services/conversation-session-composition.d.ts +1 -3
  391. package/dist/services/conversation-session-composition.d.ts.map +1 -1
  392. package/dist/services/conversation-session-composition.js +2 -3
  393. package/dist/services/conversation-session-composition.js.map +1 -1
  394. package/dist/services/conversation-session-factory.d.ts +1 -3
  395. package/dist/services/conversation-session-factory.d.ts.map +1 -1
  396. package/dist/services/conversation-session-factory.js +1 -7
  397. package/dist/services/conversation-session-factory.js.map +1 -1
  398. package/dist/services/conversation-session.characterization.test.js +13 -23
  399. package/dist/services/conversation-session.characterization.test.js.map +1 -1
  400. package/dist/services/conversation-store.merge-modes.test.d.ts.map +1 -1
  401. package/dist/services/conversation-store.merge-modes.test.js +160 -1
  402. package/dist/services/conversation-store.merge-modes.test.js.map +1 -1
  403. package/dist/services/conversation-turn-runner.d.ts +1 -2
  404. package/dist/services/conversation-turn-runner.d.ts.map +1 -1
  405. package/dist/services/execution-context.d.ts.map +1 -1
  406. package/dist/services/execution-context.js.map +1 -1
  407. package/dist/services/file-service.d.ts.map +1 -1
  408. package/dist/services/file-service.js.map +1 -1
  409. package/dist/services/generation-guard.d.ts.map +1 -1
  410. package/dist/services/history-service.d.ts.map +1 -1
  411. package/dist/services/input-surge-guard.d.ts.map +1 -1
  412. package/dist/services/input-surge-guard.js.map +1 -1
  413. package/dist/services/interruption-info.d.ts.map +1 -1
  414. package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
  415. package/dist/services/large-uncached-input-guard.js.map +1 -1
  416. package/dist/services/logging/assistant-turn-journal.d.ts +28 -3
  417. package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
  418. package/dist/services/logging/assistant-turn-journal.js +52 -3
  419. package/dist/services/logging/assistant-turn-journal.js.map +1 -1
  420. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  421. package/dist/services/logging/conversation-logger.d.ts +2 -2
  422. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  423. package/dist/services/logging/conversation-logger.js +4 -5
  424. package/dist/services/logging/conversation-logger.js.map +1 -1
  425. package/dist/services/logging/logging-contract.d.ts +1 -1
  426. package/dist/services/logging/logging-contract.d.ts.map +1 -1
  427. package/dist/services/logging/logging-service.d.ts.map +1 -1
  428. package/dist/services/logging/logging-service.js.map +1 -1
  429. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  430. package/dist/services/logging/provider-traffic.js.map +1 -1
  431. package/dist/services/logging-service.js +1 -1
  432. package/dist/services/logging-service.js.map +1 -1
  433. package/dist/services/mode-notices.d.ts.map +1 -1
  434. package/dist/services/model-service.js.map +1 -1
  435. package/dist/services/notification-service.js.map +1 -1
  436. package/dist/services/plan-mode-interceptor.d.ts.map +1 -1
  437. package/dist/services/provider-continuity.d.ts.map +1 -1
  438. package/dist/services/retry/conversation-retry-policy.d.ts.map +1 -1
  439. package/dist/services/retry/conversation-retry-policy.js.map +1 -1
  440. package/dist/services/retry/recovery-executor.d.ts.map +1 -1
  441. package/dist/services/retry/recovery-executor.js +22 -10
  442. package/dist/services/retry/recovery-executor.js.map +1 -1
  443. package/dist/services/retry/recovery-policy.d.ts.map +1 -1
  444. package/dist/services/retry/recovery-policy.js.map +1 -1
  445. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  446. package/dist/services/retry/retry-classifier.js +2 -1
  447. package/dist/services/retry/retry-classifier.js.map +1 -1
  448. package/dist/services/retry/retry-contracts.d.ts +3 -2
  449. package/dist/services/retry/retry-contracts.d.ts.map +1 -1
  450. package/dist/services/retry/retry-error-classification.d.ts +2 -2
  451. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  452. package/dist/services/retry/retry-error-classification.js.map +1 -1
  453. package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
  454. package/dist/services/retry/retry-event-presenter.js.map +1 -1
  455. package/dist/services/retry/upstream-retry-policy.d.ts.map +1 -1
  456. package/dist/services/rtk-service.js.map +1 -1
  457. package/dist/services/runtime-setting-router.d.ts +15 -0
  458. package/dist/services/runtime-setting-router.d.ts.map +1 -0
  459. package/dist/services/runtime-setting-router.js +52 -0
  460. package/dist/services/runtime-setting-router.js.map +1 -0
  461. package/dist/services/service-interfaces.d.ts +1 -1
  462. package/dist/services/service-interfaces.d.ts.map +1 -1
  463. package/dist/services/session/continuation-driver.d.ts.map +1 -1
  464. package/dist/services/session/continuation-driver.js.map +1 -1
  465. package/dist/services/session/continuation-driver.test.js +7 -169
  466. package/dist/services/session/continuation-driver.test.js.map +1 -1
  467. package/dist/services/session/continuation-plan-applier.d.ts +3 -2
  468. package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
  469. package/dist/services/session/continuation-plan-applier.js +2 -2
  470. package/dist/services/session/continuation-plan-applier.js.map +1 -1
  471. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  472. package/dist/services/session/continuation-recovery-handler.js +1 -1
  473. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  474. package/dist/services/session/continuation-recovery-handler.test.js +4 -3
  475. package/dist/services/session/continuation-recovery-handler.test.js.map +1 -1
  476. package/dist/services/session/continuation-state.d.ts +16 -4
  477. package/dist/services/session/continuation-state.d.ts.map +1 -1
  478. package/dist/services/session/continuation-state.js +6 -6
  479. package/dist/services/session/continuation-state.js.map +1 -1
  480. package/dist/services/session/continuation-stream-cycle.d.ts.map +1 -1
  481. package/dist/services/session/continuation-stream-cycle.js.map +1 -1
  482. package/dist/services/session/conversation-session.d.ts +0 -1
  483. package/dist/services/session/conversation-session.d.ts.map +1 -1
  484. package/dist/services/session/conversation-session.js.map +1 -1
  485. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  486. package/dist/services/session/initial-input-preparer.js.map +1 -1
  487. package/dist/services/session/initial-stream-cycle.d.ts.map +1 -1
  488. package/dist/services/session/initial-stream-cycle.js.map +1 -1
  489. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  490. package/dist/services/session/initial-turn-recovery-handler.js +2 -2
  491. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  492. package/dist/services/session/initial-turn-runner.d.ts.map +1 -1
  493. package/dist/services/session/initial-turn-runner.js.map +1 -1
  494. package/dist/services/session/session-adapter-bridge.d.ts +11 -1
  495. package/dist/services/session/session-adapter-bridge.d.ts.map +1 -1
  496. package/dist/services/session/session-adapter-bridge.js +10 -1
  497. package/dist/services/session/session-adapter-bridge.js.map +1 -1
  498. package/dist/services/session/session-composition.d.ts +8 -23
  499. package/dist/services/session/session-composition.d.ts.map +1 -1
  500. package/dist/services/session/session-composition.js +48 -98
  501. package/dist/services/session/session-composition.js.map +1 -1
  502. package/dist/services/session/session-context-service.d.ts.map +1 -1
  503. package/dist/services/session/session-continuity-reset.d.ts +23 -0
  504. package/dist/services/session/session-continuity-reset.d.ts.map +1 -0
  505. package/dist/services/session/session-continuity-reset.js +34 -0
  506. package/dist/services/session/session-continuity-reset.js.map +1 -0
  507. package/dist/services/session/session-factory.d.ts +3 -46
  508. package/dist/services/session/session-factory.d.ts.map +1 -1
  509. package/dist/services/session/session-factory.js +3 -44
  510. package/dist/services/session/session-factory.js.map +1 -1
  511. package/dist/services/session/session-factory.test.js +18 -17
  512. package/dist/services/session/session-factory.test.js.map +1 -1
  513. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  514. package/dist/services/session/session-lifecycle.d.ts +2 -8
  515. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  516. package/dist/services/session/session-lifecycle.js +25 -44
  517. package/dist/services/session/session-lifecycle.js.map +1 -1
  518. package/dist/services/session/session-manager.d.ts +1 -1
  519. package/dist/services/session/session-manager.d.ts.map +1 -1
  520. package/dist/services/session/session-manager.js +4 -5
  521. package/dist/services/session/session-manager.js.map +1 -1
  522. package/dist/services/session/session-runtime-controller.d.ts +2 -2
  523. package/dist/services/session/session-runtime-controller.d.ts.map +1 -1
  524. package/dist/services/session/session-runtime-controller.js +17 -8
  525. package/dist/services/session/session-runtime-controller.js.map +1 -1
  526. package/dist/services/session/session-stream-processor.d.ts +3 -3
  527. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  528. package/dist/services/session/session-stream-processor.js +1 -1
  529. package/dist/services/session/session-stream-processor.js.map +1 -1
  530. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  531. package/dist/services/session/session-tool-tracker.js +18 -9
  532. package/dist/services/session/session-tool-tracker.js.map +1 -1
  533. package/dist/services/session/terminal-result-collector.js.map +1 -1
  534. package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -1
  535. package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -1
  536. package/dist/services/session/turn-attempt-factory.d.ts +2 -0
  537. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  538. package/dist/services/session/turn-attempt-factory.js +1 -1
  539. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  540. package/dist/services/session/turn-attempt.d.ts +3 -3
  541. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  542. package/dist/services/session/turn-attempt.js +4 -4
  543. package/dist/services/session/turn-attempt.js.map +1 -1
  544. package/dist/services/session/turn-coordinator.d.ts +5 -12
  545. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  546. package/dist/services/session/turn-coordinator.js +4 -53
  547. package/dist/services/session/turn-coordinator.js.map +1 -1
  548. package/dist/services/session/turn-executor.d.ts.map +1 -1
  549. package/dist/services/session/turn-executor.js +2 -1
  550. package/dist/services/session/turn-executor.js.map +1 -1
  551. package/dist/services/session/turn-item-accumulator.d.ts.map +1 -1
  552. package/dist/services/session/turn-status-machine.d.ts +20 -0
  553. package/dist/services/session/turn-status-machine.d.ts.map +1 -1
  554. package/dist/services/session/turn-status-machine.js +28 -0
  555. package/dist/services/session/turn-status-machine.js.map +1 -1
  556. package/dist/services/session/turn-transition.js.map +1 -1
  557. package/dist/services/session/turn-workflow.d.ts +84 -0
  558. package/dist/services/session/turn-workflow.d.ts.map +1 -0
  559. package/dist/services/session/turn-workflow.js +648 -0
  560. package/dist/services/session/turn-workflow.js.map +1 -0
  561. package/dist/services/session-state-controller.test.d.ts +2 -0
  562. package/dist/services/session-state-controller.test.d.ts.map +1 -0
  563. package/dist/services/session-state-controller.test.js +125 -0
  564. package/dist/services/session-state-controller.test.js.map +1 -0
  565. package/dist/services/session-state-facade.d.ts +2 -2
  566. package/dist/services/session-state-facade.d.ts.map +1 -1
  567. package/dist/services/session-state-facade.js.map +1 -1
  568. package/dist/services/settings/custom-provider-normalization.d.ts +4 -0
  569. package/dist/services/settings/custom-provider-normalization.d.ts.map +1 -0
  570. package/dist/services/settings/custom-provider-normalization.js +26 -0
  571. package/dist/services/settings/custom-provider-normalization.js.map +1 -0
  572. package/dist/services/settings/setting-schema-utils.d.ts +19 -0
  573. package/dist/services/settings/setting-schema-utils.d.ts.map +1 -0
  574. package/dist/services/settings/setting-schema-utils.js +91 -0
  575. package/dist/services/settings/setting-schema-utils.js.map +1 -0
  576. package/dist/services/settings/settings-env.d.ts.map +1 -1
  577. package/dist/services/settings/settings-persistence.js.map +1 -1
  578. package/dist/services/settings/settings-schema.d.ts +155 -124
  579. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  580. package/dist/services/settings/settings-schema.js +27 -1
  581. package/dist/services/settings/settings-schema.js.map +1 -1
  582. package/dist/services/settings/settings-service.d.ts +2 -0
  583. package/dist/services/settings/settings-service.d.ts.map +1 -1
  584. package/dist/services/settings/settings-service.js +47 -3
  585. package/dist/services/settings/settings-service.js.map +1 -1
  586. package/dist/services/settings/settings-service.mock.js.map +1 -1
  587. package/dist/services/shell-auto-approval-evaluator.js +1 -1
  588. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  589. package/dist/services/skills/skills-service.d.ts.map +1 -1
  590. package/dist/services/skills/skills-service.js.map +1 -1
  591. package/dist/services/skills/skills-service.test.js +0 -19
  592. package/dist/services/skills/skills-service.test.js.map +1 -1
  593. package/dist/services/ssh-service.d.ts.map +1 -1
  594. package/dist/services/ssh-service.js.map +1 -1
  595. package/dist/services/stream-snapshot.d.ts.map +1 -1
  596. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  597. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  598. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  599. package/dist/services/subagents/nested-runner.js +13 -1
  600. package/dist/services/subagents/nested-runner.js.map +1 -1
  601. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  602. package/dist/services/subagents/role-loader.js +11 -0
  603. package/dist/services/subagents/role-loader.js.map +1 -1
  604. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  605. package/dist/services/subagents/subagent-session.d.ts.map +1 -1
  606. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
  607. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
  608. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  609. package/dist/services/subagents/types.d.ts +1 -1
  610. package/dist/services/subagents/types.d.ts.map +1 -1
  611. package/dist/services/test-helpers/mock-stream.d.ts.map +1 -1
  612. package/dist/services/tool-call-arguments.d.ts.map +1 -1
  613. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  614. package/dist/services/turn-execution-orchestrator.d.ts +79 -0
  615. package/dist/services/turn-execution-orchestrator.d.ts.map +1 -0
  616. package/dist/services/turn-execution-orchestrator.js +687 -0
  617. package/dist/services/turn-execution-orchestrator.js.map +1 -0
  618. package/dist/services/turn-execution-orchestrator.test.d.ts +2 -0
  619. package/dist/services/turn-execution-orchestrator.test.d.ts.map +1 -0
  620. package/dist/services/turn-execution-orchestrator.test.js +236 -0
  621. package/dist/services/turn-execution-orchestrator.test.js.map +1 -0
  622. package/dist/services/turn-item-accumulator.d.ts +1 -1
  623. package/dist/services/turn-item-accumulator.d.ts.map +1 -1
  624. package/dist/test-helpers/ink-testing.d.ts.map +1 -1
  625. package/dist/test-helpers/terminal-e2e.d.ts +21 -0
  626. package/dist/test-helpers/terminal-e2e.d.ts.map +1 -0
  627. package/dist/test-helpers/terminal-e2e.js +98 -0
  628. package/dist/test-helpers/terminal-e2e.js.map +1 -0
  629. package/dist/tools/agent/activate-skill.d.ts.map +1 -1
  630. package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
  631. package/dist/tools/agent/ask-user.d.ts.map +1 -1
  632. package/dist/tools/agent/ask-user.test.js +11 -50
  633. package/dist/tools/agent/ask-user.test.js.map +1 -1
  634. package/dist/tools/agent/run-subagent.d.ts +2 -2
  635. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  636. package/dist/tools/agent/run-subagent.js.map +1 -1
  637. package/dist/tools/command-message-formatters.d.ts +1 -1
  638. package/dist/tools/command-message-formatters.d.ts.map +1 -1
  639. package/dist/tools/file/apply-patch.d.ts +0 -3
  640. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  641. package/dist/tools/file/apply-patch.js +31 -0
  642. package/dist/tools/file/apply-patch.js.map +1 -1
  643. package/dist/tools/file/apply-patch.test.js +0 -27
  644. package/dist/tools/file/apply-patch.test.js.map +1 -1
  645. package/dist/tools/file/code-context.d.ts +1 -1
  646. package/dist/tools/file/code-context.d.ts.map +1 -1
  647. package/dist/tools/file/code-context.js.map +1 -1
  648. package/dist/tools/file/create-file.test.js +0 -24
  649. package/dist/tools/file/create-file.test.js.map +1 -1
  650. package/dist/tools/file/edit-healing.js.map +1 -1
  651. package/dist/tools/file/glob.d.ts.map +1 -1
  652. package/dist/tools/file/glob.js.map +1 -1
  653. package/dist/tools/file/grep.d.ts.map +1 -1
  654. package/dist/tools/file/grep.js.map +1 -1
  655. package/dist/tools/file/read-file.d.ts.map +1 -1
  656. package/dist/tools/file/read-file.js.map +1 -1
  657. package/dist/tools/file/search-replace-matcher.d.ts.map +1 -1
  658. package/dist/tools/file/search-replace.test.js +0 -30
  659. package/dist/tools/file/search-replace.test.js.map +1 -1
  660. package/dist/tools/format-helpers.d.ts.map +1 -1
  661. package/dist/tools/format-helpers.js.map +1 -1
  662. package/dist/tools/language-providers.d.ts.map +1 -1
  663. package/dist/tools/language-providers.js +379 -0
  664. package/dist/tools/language-providers.js.map +1 -1
  665. package/dist/tools/search.d.ts.map +1 -1
  666. package/dist/tools/search.js +1 -2
  667. package/dist/tools/search.js.map +1 -1
  668. package/dist/tools/system/shell.d.ts.map +1 -1
  669. package/dist/tools/system/shell.js +23 -18
  670. package/dist/tools/system/shell.js.map +1 -1
  671. package/dist/tools/tool-capabilities.d.ts.map +1 -1
  672. package/dist/tools/utils.js.map +1 -1
  673. package/dist/tools/web/web-fetch.d.ts.map +1 -1
  674. package/dist/tools/web/web-search.d.ts.map +1 -1
  675. package/dist/types/message.d.ts +1 -1
  676. package/dist/types/message.d.ts.map +1 -1
  677. package/dist/utils/ai/provider-credentials.d.ts.map +1 -1
  678. package/dist/utils/ai/token-usage.js.map +1 -1
  679. package/dist/utils/clipboard.js.map +1 -1
  680. package/dist/utils/command-safety/_scratch-classify.test.d.ts +2 -0
  681. package/dist/utils/command-safety/_scratch-classify.test.d.ts.map +1 -0
  682. package/dist/utils/command-safety/_scratch-classify.test.js +22 -0
  683. package/dist/utils/command-safety/_scratch-classify.test.js.map +1 -0
  684. package/dist/utils/command-safety/scratch-classify.test.d.ts +2 -0
  685. package/dist/utils/command-safety/scratch-classify.test.d.ts.map +1 -0
  686. package/dist/utils/command-safety/scratch-classify.test.js +22 -0
  687. package/dist/utils/command-safety/scratch-classify.test.js.map +1 -0
  688. package/dist/utils/command-safety/scratch-tally.test.d.ts +2 -0
  689. package/dist/utils/command-safety/scratch-tally.test.d.ts.map +1 -0
  690. package/dist/utils/command-safety/scratch-tally.test.js +68 -0
  691. package/dist/utils/command-safety/scratch-tally.test.js.map +1 -0
  692. package/dist/utils/conversation/apply-conversation-result.d.ts +1 -1
  693. package/dist/utils/conversation/apply-conversation-result.d.ts.map +1 -1
  694. package/dist/utils/conversation/conversation-event-handler.js +6 -6
  695. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  696. package/dist/utils/conversation/markdown-commit-frontier.d.ts.map +1 -1
  697. package/dist/utils/conversation/message-utils.d.ts +2 -2
  698. package/dist/utils/conversation/message-utils.d.ts.map +1 -1
  699. package/dist/utils/conversation/message-utils.js.map +1 -1
  700. package/dist/utils/error-helpers.d.ts.map +1 -1
  701. package/dist/utils/error-helpers.js.map +1 -1
  702. package/dist/utils/extract-command-messages.test.js +6 -6
  703. package/dist/utils/extract-command-messages.test.js.map +1 -1
  704. package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -1
  705. package/dist/utils/message-id-factory.d.ts +9 -0
  706. package/dist/utils/message-id-factory.d.ts.map +1 -0
  707. package/dist/utils/message-id-factory.js +21 -0
  708. package/dist/utils/message-id-factory.js.map +1 -0
  709. package/dist/utils/output/terminal-title.d.ts +6 -0
  710. package/dist/utils/output/terminal-title.d.ts.map +1 -0
  711. package/dist/utils/output/terminal-title.js +26 -0
  712. package/dist/utils/output/terminal-title.js.map +1 -0
  713. package/dist/utils/output/trim-tool-output.d.ts.map +1 -1
  714. package/dist/utils/output/tty-osc.js.map +1 -1
  715. package/dist/utils/project-tree.js.map +1 -1
  716. package/dist/utils/project-tree.test.d.ts +2 -0
  717. package/dist/utils/project-tree.test.d.ts.map +1 -0
  718. package/dist/utils/project-tree.test.js +149 -0
  719. package/dist/utils/project-tree.test.js.map +1 -0
  720. package/dist/utils/shell/execute-shell.d.ts +1 -0
  721. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  722. package/dist/utils/shell/execute-shell.js +87 -3
  723. package/dist/utils/shell/execute-shell.js.map +1 -1
  724. package/dist/utils/shell/sandbox/denied-read-stores.d.ts.map +1 -1
  725. package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -1
  726. package/dist/utils/shell/sandbox/sandbox-failure-classifier.d.ts +24 -0
  727. package/dist/utils/shell/sandbox/sandbox-failure-classifier.d.ts.map +1 -0
  728. package/dist/utils/shell/sandbox/sandbox-failure-classifier.js +43 -0
  729. package/dist/utils/shell/sandbox/sandbox-failure-classifier.js.map +1 -0
  730. package/dist/utils/shell/sandbox/sandbox-network-approval.d.ts +14 -0
  731. package/dist/utils/shell/sandbox/sandbox-network-approval.d.ts.map +1 -0
  732. package/dist/utils/shell/sandbox/sandbox-network-approval.js +50 -0
  733. package/dist/utils/shell/sandbox/sandbox-network-approval.js.map +1 -0
  734. package/dist/utils/shell/sandbox/sandbox-network-diagnostic.d.ts +6 -0
  735. package/dist/utils/shell/sandbox/sandbox-network-diagnostic.d.ts.map +1 -0
  736. package/dist/utils/shell/sandbox/sandbox-network-diagnostic.js +71 -0
  737. package/dist/utils/shell/sandbox/sandbox-network-diagnostic.js.map +1 -0
  738. package/dist/utils/shell/sandbox/sandbox-policy.d.ts +1 -0
  739. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  740. package/dist/utils/shell/sandbox/sandbox-policy.js +249 -4
  741. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  742. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
  743. package/dist/utils/shell/sandbox/shell-sandbox-runner.js +5 -1
  744. package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
  745. package/dist/utils/shell/shell-session.d.ts +22 -0
  746. package/dist/utils/shell/shell-session.d.ts.map +1 -0
  747. package/dist/utils/shell/shell-session.js +48 -0
  748. package/dist/utils/shell/shell-session.js.map +1 -0
  749. package/dist/utils/skill-discovery-paths.d.ts +1 -1
  750. package/dist/utils/skill-discovery-paths.d.ts.map +1 -1
  751. package/dist/utils/streaming/extract-command-messages.d.ts.map +1 -1
  752. package/dist/utils/streaming/extract-command-messages.js.map +1 -1
  753. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  754. package/dist/utils/streaming/streaming-session-factory.js +2 -1
  755. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  756. package/dist/utils/streaming/streaming-updater.d.ts.map +1 -1
  757. package/dist/utils/subsequence-filter.d.ts.map +1 -1
  758. package/dist/utils/terminal-clear.d.ts +7 -0
  759. package/dist/utils/terminal-clear.d.ts.map +1 -0
  760. package/dist/utils/terminal-clear.js +5 -0
  761. package/dist/utils/terminal-clear.js.map +1 -0
  762. package/dist/utils/terminal-clear.test.d.ts +2 -0
  763. package/dist/utils/terminal-clear.test.d.ts.map +1 -0
  764. package/dist/utils/terminal-clear.test.js +13 -0
  765. package/dist/utils/terminal-clear.test.js.map +1 -0
  766. package/dist/utils/test-render.d.ts +14 -0
  767. package/dist/utils/test-render.d.ts.map +1 -0
  768. package/dist/utils/test-render.js +44 -0
  769. package/dist/utils/test-render.js.map +1 -0
  770. package/dist/utils/throttle.d.ts.map +1 -1
  771. package/dist/utils/throttle.js.map +1 -1
  772. package/dist/utils/value-suggestions.d.ts +15 -0
  773. package/dist/utils/value-suggestions.d.ts.map +1 -0
  774. package/dist/utils/value-suggestions.js +266 -0
  775. package/dist/utils/value-suggestions.js.map +1 -0
  776. package/package.json +11 -5
  777. package/dist/agent.lite-mode.test.d.ts +0 -2
  778. package/dist/agent.lite-mode.test.d.ts.map +0 -1
  779. package/dist/agent.lite-mode.test.js +0 -39
  780. package/dist/agent.lite-mode.test.js.map +0 -1
  781. package/dist/app.large-uncached-warning.test.js +0 -15
  782. package/dist/components/ApprovalPrompt.test.d.ts +0 -2
  783. package/dist/components/ApprovalPrompt.test.d.ts.map +0 -1
  784. package/dist/components/ApprovalPrompt.test.js +0 -23
  785. package/dist/components/ApprovalPrompt.test.js.map +0 -1
  786. package/dist/components/LiveResponse.test.d.ts +0 -2
  787. package/dist/components/LiveResponse.test.d.ts.map +0 -1
  788. package/dist/components/LiveResponse.test.js +0 -13
  789. package/dist/components/LiveResponse.test.js.map +0 -1
  790. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +0 -2
  791. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +0 -1
  792. package/dist/components/ModelSelectionMenu.error-tabs.test.js +0 -18
  793. package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +0 -1
  794. package/dist/components/TextInput.d.ts +0 -42
  795. package/dist/components/TextInput.d.ts.map +0 -1
  796. package/dist/components/TextInput.js +0 -398
  797. package/dist/components/TextInput.js.map +0 -1
  798. package/dist/components/TextInput.test.d.ts +0 -2
  799. package/dist/components/TextInput.test.d.ts.map +0 -1
  800. package/dist/components/TextInput.test.js +0 -75
  801. package/dist/components/TextInput.test.js.map +0 -1
  802. package/dist/components/__test_act.test.d.ts +0 -2
  803. package/dist/components/__test_act.test.d.ts.map +0 -1
  804. package/dist/components/__test_act.test.js +0 -22
  805. package/dist/components/__test_act.test.js.map +0 -1
  806. package/dist/components/__test_act_test.d.ts +0 -2
  807. package/dist/components/__test_act_test.d.ts.map +0 -1
  808. package/dist/components/__test_act_test.js +0 -22
  809. package/dist/components/__test_act_test.js.map +0 -1
  810. package/dist/components/act-test.test.d.ts +0 -2
  811. package/dist/components/act-test.test.d.ts.map +0 -1
  812. package/dist/components/act-test.test.js +0 -22
  813. package/dist/components/act-test.test.js.map +0 -1
  814. package/dist/components/common/MenuContainer.d.ts +0 -19
  815. package/dist/components/common/MenuContainer.d.ts.map +0 -1
  816. package/dist/components/common/MenuContainer.js +0 -52
  817. package/dist/components/common/MenuContainer.js.map +0 -1
  818. package/dist/components/common/MenuContainer.test.d.ts +0 -2
  819. package/dist/components/common/MenuContainer.test.d.ts.map +0 -1
  820. package/dist/components/common/MenuContainer.test.js +0 -37
  821. package/dist/components/common/MenuContainer.test.js.map +0 -1
  822. package/dist/components/common/ScrollableTabBar.d.ts +0 -26
  823. package/dist/components/common/ScrollableTabBar.d.ts.map +0 -1
  824. package/dist/components/common/ScrollableTabBar.js +0 -26
  825. package/dist/components/common/ScrollableTabBar.js.map +0 -1
  826. package/dist/components/common/compute-visible-tabs.d.ts +0 -16
  827. package/dist/components/common/compute-visible-tabs.d.ts.map +0 -1
  828. package/dist/components/common/compute-visible-tabs.js +0 -53
  829. package/dist/components/common/compute-visible-tabs.js.map +0 -1
  830. package/dist/components/common/compute-visible-tabs.test.d.ts +0 -2
  831. package/dist/components/common/compute-visible-tabs.test.d.ts.map +0 -1
  832. package/dist/components/common/compute-visible-tabs.test.js +0 -97
  833. package/dist/components/common/compute-visible-tabs.test.js.map +0 -1
  834. package/dist/components/input/PopupManager.d.ts +0 -88
  835. package/dist/components/input/PopupManager.d.ts.map +0 -1
  836. package/dist/components/input/PopupManager.js +0 -21
  837. package/dist/components/input/PopupManager.js.map +0 -1
  838. package/dist/components/input/determine-active-menu.d.ts +0 -27
  839. package/dist/components/input/determine-active-menu.d.ts.map +0 -1
  840. package/dist/components/input/determine-active-menu.js +0 -81
  841. package/dist/components/input/determine-active-menu.js.map +0 -1
  842. package/dist/components/input/input-width.d.ts +0 -8
  843. package/dist/components/input/input-width.d.ts.map +0 -1
  844. package/dist/components/input/input-width.js +0 -24
  845. package/dist/components/input/input-width.js.map +0 -1
  846. package/dist/components/input/insertions.d.ts +0 -44
  847. package/dist/components/input/insertions.d.ts.map +0 -1
  848. package/dist/components/input/insertions.js +0 -67
  849. package/dist/components/input/insertions.js.map +0 -1
  850. package/dist/components/input/popup-key-navigation.d.ts +0 -18
  851. package/dist/components/input/popup-key-navigation.d.ts.map +0 -1
  852. package/dist/components/input/popup-key-navigation.js +0 -16
  853. package/dist/components/input/popup-key-navigation.js.map +0 -1
  854. package/dist/components/input/popup-key-navigation.test.d.ts +0 -2
  855. package/dist/components/input/popup-key-navigation.test.d.ts.map +0 -1
  856. package/dist/components/input/popup-key-navigation.test.js +0 -75
  857. package/dist/components/input/popup-key-navigation.test.js.map +0 -1
  858. package/dist/components/input/popup-props.d.ts +0 -24
  859. package/dist/components/input/popup-props.d.ts.map +0 -1
  860. package/dist/components/input/popup-props.js +0 -72
  861. package/dist/components/input/popup-props.js.map +0 -1
  862. package/dist/components/input/popup-props.test.d.ts +0 -2
  863. package/dist/components/input/popup-props.test.d.ts.map +0 -1
  864. package/dist/components/input/popup-props.test.js +0 -86
  865. package/dist/components/input/popup-props.test.js.map +0 -1
  866. package/dist/components/input/triggers.d.ts +0 -11
  867. package/dist/components/input/triggers.d.ts.map +0 -1
  868. package/dist/components/input/triggers.js +0 -27
  869. package/dist/components/input/triggers.js.map +0 -1
  870. package/dist/debug_ask_mentor.d.ts +0 -2
  871. package/dist/debug_ask_mentor.d.ts.map +0 -1
  872. package/dist/debug_ask_mentor.js +0 -73
  873. package/dist/debug_ask_mentor.js.map +0 -1
  874. package/dist/hooks/use-conversation.max-turns-undo.test.d.ts +0 -2
  875. package/dist/hooks/use-conversation.max-turns-undo.test.d.ts.map +0 -1
  876. package/dist/hooks/use-conversation.max-turns-undo.test.js +0 -118
  877. package/dist/hooks/use-conversation.max-turns-undo.test.js.map +0 -1
  878. package/dist/hooks/use-path-completion.repro.test.d.ts +0 -2
  879. package/dist/hooks/use-path-completion.repro.test.d.ts.map +0 -1
  880. package/dist/hooks/use-path-completion.repro.test.js.map +0 -1
  881. package/dist/lib/shell.d.ts +0 -7
  882. package/dist/lib/shell.d.ts.map +0 -1
  883. package/dist/lib/shell.js +0 -56
  884. package/dist/lib/shell.js.map +0 -1
  885. package/dist/modes/companion/command-index.d.ts +0 -26
  886. package/dist/modes/companion/command-index.d.ts.map +0 -1
  887. package/dist/modes/companion/command-index.js +0 -50
  888. package/dist/modes/companion/command-index.js.map +0 -1
  889. package/dist/modes/companion/command-index.test.d.ts +0 -2
  890. package/dist/modes/companion/command-index.test.d.ts.map +0 -1
  891. package/dist/modes/companion/command-index.test.js +0 -86
  892. package/dist/modes/companion/command-index.test.js.map +0 -1
  893. package/dist/modes/companion/companion-app.d.ts +0 -12
  894. package/dist/modes/companion/companion-app.d.ts.map +0 -1
  895. package/dist/modes/companion/companion-app.js +0 -297
  896. package/dist/modes/companion/companion-app.js.map +0 -1
  897. package/dist/modes/companion/companion-session.d.ts +0 -63
  898. package/dist/modes/companion/companion-session.d.ts.map +0 -1
  899. package/dist/modes/companion/companion-session.js +0 -146
  900. package/dist/modes/companion/companion-session.js.map +0 -1
  901. package/dist/modes/companion/companion-session.test.d.ts +0 -2
  902. package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
  903. package/dist/modes/companion/companion-session.test.js +0 -28
  904. package/dist/modes/companion/companion-session.test.js.map +0 -1
  905. package/dist/modes/companion/components/status-bar.d.ts +0 -13
  906. package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
  907. package/dist/modes/companion/components/status-bar.js +0 -26
  908. package/dist/modes/companion/components/status-bar.js.map +0 -1
  909. package/dist/modes/companion/context-buffer.d.ts +0 -65
  910. package/dist/modes/companion/context-buffer.d.ts.map +0 -1
  911. package/dist/modes/companion/context-buffer.js +0 -156
  912. package/dist/modes/companion/context-buffer.js.map +0 -1
  913. package/dist/modes/companion/context-buffer.test.d.ts +0 -2
  914. package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
  915. package/dist/modes/companion/context-buffer.test.js +0 -154
  916. package/dist/modes/companion/context-buffer.test.js.map +0 -1
  917. package/dist/modes/companion/event-detector.d.ts +0 -46
  918. package/dist/modes/companion/event-detector.d.ts.map +0 -1
  919. package/dist/modes/companion/event-detector.js +0 -169
  920. package/dist/modes/companion/event-detector.js.map +0 -1
  921. package/dist/modes/companion/event-detector.test.d.ts +0 -2
  922. package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
  923. package/dist/modes/companion/event-detector.test.js +0 -121
  924. package/dist/modes/companion/event-detector.test.js.map +0 -1
  925. package/dist/modes/companion/index.d.ts +0 -33
  926. package/dist/modes/companion/index.d.ts.map +0 -1
  927. package/dist/modes/companion/index.js +0 -21
  928. package/dist/modes/companion/index.js.map +0 -1
  929. package/dist/modes/companion/input-key-mapper.d.ts +0 -3
  930. package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
  931. package/dist/modes/companion/input-key-mapper.js +0 -31
  932. package/dist/modes/companion/input-key-mapper.js.map +0 -1
  933. package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
  934. package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
  935. package/dist/modes/companion/input-key-mapper.test.js +0 -26
  936. package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
  937. package/dist/modes/companion/input-parser.d.ts +0 -53
  938. package/dist/modes/companion/input-parser.d.ts.map +0 -1
  939. package/dist/modes/companion/input-parser.js +0 -114
  940. package/dist/modes/companion/input-parser.js.map +0 -1
  941. package/dist/modes/companion/input-parser.test.d.ts +0 -2
  942. package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
  943. package/dist/modes/companion/input-parser.test.js +0 -123
  944. package/dist/modes/companion/input-parser.test.js.map +0 -1
  945. package/dist/modes/companion/mode-manager.d.ts +0 -41
  946. package/dist/modes/companion/mode-manager.d.ts.map +0 -1
  947. package/dist/modes/companion/mode-manager.js +0 -56
  948. package/dist/modes/companion/mode-manager.js.map +0 -1
  949. package/dist/modes/companion/mode-manager.test.d.ts +0 -2
  950. package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
  951. package/dist/modes/companion/mode-manager.test.js +0 -65
  952. package/dist/modes/companion/mode-manager.test.js.map +0 -1
  953. package/dist/modes/companion/output-classifier.d.ts +0 -15
  954. package/dist/modes/companion/output-classifier.d.ts.map +0 -1
  955. package/dist/modes/companion/output-classifier.js +0 -77
  956. package/dist/modes/companion/output-classifier.js.map +0 -1
  957. package/dist/modes/companion/output-classifier.test.d.ts +0 -2
  958. package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
  959. package/dist/modes/companion/output-classifier.test.js +0 -133
  960. package/dist/modes/companion/output-classifier.test.js.map +0 -1
  961. package/dist/modes/companion/pty-wrapper.d.ts +0 -46
  962. package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
  963. package/dist/modes/companion/pty-wrapper.js +0 -143
  964. package/dist/modes/companion/pty-wrapper.js.map +0 -1
  965. package/dist/modes/companion/safety-classifier.d.ts +0 -31
  966. package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
  967. package/dist/modes/companion/safety-classifier.js +0 -140
  968. package/dist/modes/companion/safety-classifier.js.map +0 -1
  969. package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
  970. package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
  971. package/dist/modes/companion/safety-classifier.test.js +0 -151
  972. package/dist/modes/companion/safety-classifier.test.js.map +0 -1
  973. package/dist/modes/companion/summarizer.d.ts +0 -24
  974. package/dist/modes/companion/summarizer.d.ts.map +0 -1
  975. package/dist/modes/companion/summarizer.js +0 -132
  976. package/dist/modes/companion/summarizer.js.map +0 -1
  977. package/dist/modes/companion/terminal-history.d.ts +0 -27
  978. package/dist/modes/companion/terminal-history.d.ts.map +0 -1
  979. package/dist/modes/companion/terminal-history.js +0 -142
  980. package/dist/modes/companion/terminal-history.js.map +0 -1
  981. package/dist/prompts/simple-mentor.md +0 -215
  982. package/dist/providers/ai-sdk-openai.provider.d.ts +0 -14
  983. package/dist/providers/ai-sdk-openai.provider.d.ts.map +0 -1
  984. package/dist/providers/ai-sdk-openai.provider.js +0 -18
  985. package/dist/providers/ai-sdk-openai.provider.js.map +0 -1
  986. package/dist/providers/github-copilot/converters.d.ts +0 -45
  987. package/dist/providers/github-copilot/converters.d.ts.map +0 -1
  988. package/dist/providers/github-copilot/converters.js +0 -118
  989. package/dist/providers/github-copilot/converters.js.map +0 -1
  990. package/dist/providers/github-copilot/converters.test.d.ts +0 -2
  991. package/dist/providers/github-copilot/converters.test.d.ts.map +0 -1
  992. package/dist/providers/github-copilot/converters.test.js +0 -162
  993. package/dist/providers/github-copilot/converters.test.js.map +0 -1
  994. package/dist/providers/github-copilot/github-copilot.provider.d.ts +0 -2
  995. package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +0 -1
  996. package/dist/providers/github-copilot/github-copilot.provider.js +0 -75
  997. package/dist/providers/github-copilot/github-copilot.provider.js.map +0 -1
  998. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +0 -2
  999. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +0 -1
  1000. package/dist/providers/github-copilot/github-copilot.provider.test.js +0 -26
  1001. package/dist/providers/github-copilot/github-copilot.provider.test.js.map +0 -1
  1002. package/dist/providers/github-copilot/index.d.ts +0 -4
  1003. package/dist/providers/github-copilot/index.d.ts.map +0 -1
  1004. package/dist/providers/github-copilot/index.js +0 -4
  1005. package/dist/providers/github-copilot/index.js.map +0 -1
  1006. package/dist/providers/github-copilot/model.d.ts +0 -24
  1007. package/dist/providers/github-copilot/model.d.ts.map +0 -1
  1008. package/dist/providers/github-copilot/model.delta.test.d.ts +0 -2
  1009. package/dist/providers/github-copilot/model.delta.test.d.ts.map +0 -1
  1010. package/dist/providers/github-copilot/model.delta.test.js +0 -15
  1011. package/dist/providers/github-copilot/model.delta.test.js.map +0 -1
  1012. package/dist/providers/github-copilot/model.js +0 -498
  1013. package/dist/providers/github-copilot/model.js.map +0 -1
  1014. package/dist/providers/github-copilot/model.test.d.ts +0 -2
  1015. package/dist/providers/github-copilot/model.test.d.ts.map +0 -1
  1016. package/dist/providers/github-copilot/model.test.js +0 -63
  1017. package/dist/providers/github-copilot/model.test.js.map +0 -1
  1018. package/dist/providers/github-copilot/provider.d.ts +0 -15
  1019. package/dist/providers/github-copilot/provider.d.ts.map +0 -1
  1020. package/dist/providers/github-copilot/provider.js +0 -25
  1021. package/dist/providers/github-copilot/provider.js.map +0 -1
  1022. package/dist/providers/github-copilot/provider.test.d.ts +0 -2
  1023. package/dist/providers/github-copilot/provider.test.d.ts.map +0 -1
  1024. package/dist/providers/github-copilot/provider.test.js +0 -52
  1025. package/dist/providers/github-copilot/provider.test.js.map +0 -1
  1026. package/dist/providers/github-copilot/utils.d.ts +0 -20
  1027. package/dist/providers/github-copilot/utils.d.ts.map +0 -1
  1028. package/dist/providers/github-copilot/utils.js +0 -142
  1029. package/dist/providers/github-copilot/utils.js.map +0 -1
  1030. package/dist/providers/github-copilot/utils.test.d.ts +0 -2
  1031. package/dist/providers/github-copilot/utils.test.d.ts.map +0 -1
  1032. package/dist/providers/github-copilot/utils.test.js +0 -21
  1033. package/dist/providers/github-copilot/utils.test.js.map +0 -1
  1034. package/dist/providers/openai-compatible/api.d.ts +0 -17
  1035. package/dist/providers/openai-compatible/api.d.ts.map +0 -1
  1036. package/dist/providers/openai-compatible/api.js +0 -58
  1037. package/dist/providers/openai-compatible/api.js.map +0 -1
  1038. package/dist/providers/openai-compatible/model.d.ts +0 -17
  1039. package/dist/providers/openai-compatible/model.d.ts.map +0 -1
  1040. package/dist/providers/openai-compatible/model.js +0 -473
  1041. package/dist/providers/openai-compatible/model.js.map +0 -1
  1042. package/dist/providers/openai-compatible/provider.d.ts +0 -22
  1043. package/dist/providers/openai-compatible/provider.d.ts.map +0 -1
  1044. package/dist/providers/openai-compatible/provider.js +0 -43
  1045. package/dist/providers/openai-compatible/provider.js.map +0 -1
  1046. package/dist/providers/openai-compatible/reasoning-content.test.d.ts +0 -2
  1047. package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +0 -1
  1048. package/dist/providers/openai-compatible/reasoning-content.test.js +0 -258
  1049. package/dist/providers/openai-compatible/reasoning-content.test.js.map +0 -1
  1050. package/dist/providers/openai-compatible/utils.d.ts +0 -3
  1051. package/dist/providers/openai-compatible/utils.d.ts.map +0 -1
  1052. package/dist/providers/openai-compatible/utils.js +0 -11
  1053. package/dist/providers/openai-compatible/utils.js.map +0 -1
  1054. package/dist/providers/openrouter/api.d.ts +0 -39
  1055. package/dist/providers/openrouter/api.d.ts.map +0 -1
  1056. package/dist/providers/openrouter/api.js +0 -164
  1057. package/dist/providers/openrouter/api.js.map +0 -1
  1058. package/dist/providers/openrouter/converters.d.ts +0 -8
  1059. package/dist/providers/openrouter/converters.d.ts.map +0 -1
  1060. package/dist/providers/openrouter/converters.js +0 -391
  1061. package/dist/providers/openrouter/converters.js.map +0 -1
  1062. package/dist/providers/openrouter/converters.test.d.ts +0 -2
  1063. package/dist/providers/openrouter/converters.test.d.ts.map +0 -1
  1064. package/dist/providers/openrouter/converters.test.js +0 -179
  1065. package/dist/providers/openrouter/converters.test.js.map +0 -1
  1066. package/dist/providers/openrouter/index.d.ts +0 -4
  1067. package/dist/providers/openrouter/index.d.ts.map +0 -1
  1068. package/dist/providers/openrouter/index.js +0 -4
  1069. package/dist/providers/openrouter/index.js.map +0 -1
  1070. package/dist/providers/openrouter/model.d.ts +0 -14
  1071. package/dist/providers/openrouter/model.d.ts.map +0 -1
  1072. package/dist/providers/openrouter/model.js +0 -457
  1073. package/dist/providers/openrouter/model.js.map +0 -1
  1074. package/dist/providers/openrouter/provider.d.ts +0 -15
  1075. package/dist/providers/openrouter/provider.d.ts.map +0 -1
  1076. package/dist/providers/openrouter/provider.js +0 -21
  1077. package/dist/providers/openrouter/provider.js.map +0 -1
  1078. package/dist/providers/openrouter/reasoning-content.test.d.ts +0 -2
  1079. package/dist/providers/openrouter/reasoning-content.test.d.ts.map +0 -1
  1080. package/dist/providers/openrouter/reasoning-content.test.js +0 -122
  1081. package/dist/providers/openrouter/reasoning-content.test.js.map +0 -1
  1082. package/dist/providers/openrouter/utils.d.ts +0 -11
  1083. package/dist/providers/openrouter/utils.d.ts.map +0 -1
  1084. package/dist/providers/openrouter/utils.js +0 -29
  1085. package/dist/providers/openrouter/utils.js.map +0 -1
  1086. package/dist/providers/openrouter.api.retry.test.d.ts +0 -2
  1087. package/dist/providers/openrouter.api.retry.test.d.ts.map +0 -1
  1088. package/dist/providers/openrouter.api.retry.test.js +0 -148
  1089. package/dist/providers/openrouter.api.retry.test.js.map +0 -1
  1090. package/dist/providers/openrouter.test.d.ts +0 -2
  1091. package/dist/providers/openrouter.test.d.ts.map +0 -1
  1092. package/dist/providers/openrouter.test.js +0 -1449
  1093. package/dist/providers/openrouter.test.js.map +0 -1
  1094. package/dist/providers/protocol-client.d.ts +0 -17
  1095. package/dist/providers/protocol-client.d.ts.map +0 -1
  1096. package/dist/providers/protocol-client.js +0 -57
  1097. package/dist/providers/protocol-client.js.map +0 -1
  1098. package/dist/providers/protocol-client.test.d.ts +0 -2
  1099. package/dist/providers/protocol-client.test.d.ts.map +0 -1
  1100. package/dist/providers/protocol-client.test.js +0 -55
  1101. package/dist/providers/protocol-client.test.js.map +0 -1
  1102. package/dist/safety-checker.js +0 -57
  1103. package/dist/services/check_mock.d.ts +0 -2
  1104. package/dist/services/check_mock.d.ts.map +0 -1
  1105. package/dist/services/check_mock.js +0 -22
  1106. package/dist/services/check_mock.js.map +0 -1
  1107. package/dist/services/conversation-store.merge-modes.removed.d.ts +0 -2
  1108. package/dist/services/conversation-store.merge-modes.removed.d.ts.map +0 -1
  1109. package/dist/services/conversation-store.merge-modes.removed.js +0 -2
  1110. package/dist/services/conversation-store.merge-modes.removed.js.map +0 -1
  1111. package/dist/services/repro-error.test.d.ts +0 -2
  1112. package/dist/services/repro-error.test.d.ts.map +0 -1
  1113. package/dist/services/repro-error.test.js +0 -38
  1114. package/dist/services/repro-error.test.js.map +0 -1
  1115. package/dist/services/subagents/reasoning-inheritance.test.d.ts +0 -2
  1116. package/dist/services/subagents/reasoning-inheritance.test.d.ts.map +0 -1
  1117. package/dist/services/subagents/reasoning-inheritance.test.js +0 -73
  1118. package/dist/services/subagents/reasoning-inheritance.test.js.map +0 -1
  1119. package/dist/services/subagents/subagent-manager-abort-state.test.d.ts +0 -2
  1120. package/dist/services/subagents/subagent-manager-abort-state.test.d.ts.map +0 -1
  1121. package/dist/services/subagents/subagent-manager-abort-state.test.js +0 -36
  1122. package/dist/services/subagents/subagent-manager-abort-state.test.js.map +0 -1
  1123. package/dist/services/subagents/subagent-manager-abort.test.d.ts +0 -2
  1124. package/dist/services/subagents/subagent-manager-abort.test.d.ts.map +0 -1
  1125. package/dist/services/subagents/subagent-manager-abort.test.js +0 -3
  1126. package/dist/services/subagents/subagent-manager-abort.test.js.map +0 -1
  1127. package/dist/tools/bash.d.ts +0 -10
  1128. package/dist/tools/bash.d.ts.map +0 -1
  1129. package/dist/tools/bash.js +0 -55
  1130. package/dist/tools/bash.js.map +0 -1
  1131. package/dist/utils/command-safety/handlers/script-handler.d.ts +0 -3
  1132. package/dist/utils/command-safety/handlers/script-handler.d.ts.map +0 -1
  1133. package/dist/utils/command-safety/handlers/script-handler.js +0 -92
  1134. package/dist/utils/command-safety/handlers/script-handler.js.map +0 -1
  1135. package/dist/utils/command-safety/handlers/script-handler.test.d.ts +0 -2
  1136. package/dist/utils/command-safety/handlers/script-handler.test.d.ts.map +0 -1
  1137. package/dist/utils/command-safety/handlers/script-handler.test.js +0 -44
  1138. package/dist/utils/command-safety/handlers/script-handler.test.js.map +0 -1
  1139. package/dist/utils/command-safety/index.test.d.ts +0 -2
  1140. package/dist/utils/command-safety/index.test.d.ts.map +0 -1
  1141. package/dist/utils/command-safety/index.test.js +0 -22
  1142. package/dist/utils/command-safety/index.test.js.map +0 -1
  1143. package/dist/utils/command-safety.d.ts +0 -21
  1144. package/dist/utils/command-safety.d.ts.map +0 -1
  1145. package/dist/utils/command-safety.devnull.test.d.ts +0 -2
  1146. package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
  1147. package/dist/utils/command-safety.devnull.test.js +0 -13
  1148. package/dist/utils/command-safety.devnull.test.js.map +0 -1
  1149. package/dist/utils/command-safety.js +0 -348
  1150. package/dist/utils/command-safety.js.map +0 -1
  1151. package/dist/utils/provider-traffic-extractor.repro.test.d.ts +0 -2
  1152. package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +0 -1
  1153. package/dist/utils/provider-traffic-extractor.repro.test.js.map +0 -1
  1154. /package/dist/components/{input → Input}/input-width.test.d.ts +0 -0
  1155. /package/dist/components/{input → Input}/input-width.test.d.ts.map +0 -0
  1156. /package/dist/components/{input → Input}/input-width.test.js +0 -0
  1157. /package/dist/components/{input → Input}/input-width.test.js.map +0 -0
  1158. /package/dist/components/{input → Input}/insertions.test.d.ts +0 -0
  1159. /package/dist/components/{input → Input}/insertions.test.d.ts.map +0 -0
  1160. /package/dist/components/{input → Input}/insertions.test.js +0 -0
  1161. /package/dist/components/{input → Input}/insertions.test.js.map +0 -0
@@ -0,0 +1,26 @@
1
+ export type SettingCompletionItem = {
2
+ key: string;
3
+ description?: string;
4
+ currentValue?: string | number | boolean;
5
+ };
6
+ export type SettingsCategory = {
7
+ id: string;
8
+ label: string;
9
+ };
10
+ export declare const SETTINGS_CATEGORIES: SettingsCategory[];
11
+ export declare const SETTING_DESCRIPTIONS: Record<string, string>;
12
+ /**
13
+ * Settings that should be hidden from the UI (not for security, but for UX/workflow)
14
+ * - agent.provider: Can only be changed at the start of a new conversation via model menu
15
+ * - agent.autoApproveProvider: Controlled via model/provider selection workflows, hide from the general settings list
16
+ */
17
+ export declare const HIDDEN_SETTINGS: Set<string>;
18
+ export declare const COMMON_SETTINGS: string[];
19
+ export declare const CATEGORY_KEYS: {
20
+ readonly models: Set<string>;
21
+ readonly safety: Set<string>;
22
+ readonly tools: Set<string>;
23
+ readonly ui: Set<string>;
24
+ };
25
+ export declare const CATEGORY_ORDER: Array<keyof typeof CATEGORY_KEYS>;
26
+ //# sourceMappingURL=settings-completion-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-completion-config.d.ts","sourceRoot":"","sources":["../../source/hooks/settings-completion-config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAMjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwCvD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,aAyB1B,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,MAAM,EAInC,CAAC;AAEF,eAAO,MAAM,aAAa;aACxB,MAAM;aAcN,MAAM;aAQN,KAAK;aAYL,EAAE;CAUM,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,MAAM,OAAO,aAAa,CAAuC,CAAC"}
@@ -0,0 +1,130 @@
1
+ import { SETTING_KEYS } from '../services/settings/settings-service.js';
2
+ export const SETTINGS_CATEGORIES = [
3
+ { id: 'models', label: 'Models' },
4
+ { id: 'safety', label: 'Safety' },
5
+ { id: 'tools', label: 'Tools' },
6
+ { id: 'ui', label: 'UI' },
7
+ { id: 'misc', label: 'Misc' },
8
+ ];
9
+ export const SETTING_DESCRIPTIONS = {
10
+ [SETTING_KEYS.AGENT_MODEL]: 'The AI model to use (e.g. gpt-4, claude-3-opus)',
11
+ [SETTING_KEYS.AGENT_REASONING_EFFORT]: 'Reasoning effort (none|minimal|low|medium|high|xhigh|default)',
12
+ [SETTING_KEYS.AGENT_TEMPERATURE]: 'Model temperature (0-2, controls randomness)',
13
+ [SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER]: 'Use OpenAI Flex Service Tier to reduce costs (true|false, OpenAI only)',
14
+ [SETTING_KEYS.AGENT_MENTOR_MODEL]: 'Mentor model to use (optional, enables ask_mentor tool)',
15
+ [SETTING_KEYS.AGENT_MENTOR_PROVIDER]: 'Provider to use for mentor model (openai, openrouter, etc.)',
16
+ [SETTING_KEYS.AGENT_MENTOR_REASONING_EFFORT]: 'Reasoning effort for the mentor model (none|minimal|low|medium|high|xhigh|default)',
17
+ // agent.provider is hidden from UI - it can only be changed via model menu
18
+ [SETTING_KEYS.AGENT_MAX_TURNS]: 'Maximum conversation turns',
19
+ [SETTING_KEYS.AGENT_RETRY_ATTEMPTS]: 'Number of retry attempts for failed requests',
20
+ [SETTING_KEYS.AGENT_MAX_PARALLEL_TOOL_CALLS]: 'Maximum number of tool calls allowed to run at the same time',
21
+ [SETTING_KEYS.SHELL_TIMEOUT]: 'Shell command timeout in milliseconds',
22
+ [SETTING_KEYS.SHELL_MAX_OUTPUT_LINES]: 'Maximum lines of shell output to capture',
23
+ [SETTING_KEYS.SHELL_MAX_OUTPUT_CHARS]: 'Maximum characters of shell output to capture',
24
+ [SETTING_KEYS.UI_HISTORY_SIZE]: 'Number of history items to keep',
25
+ [SETTING_KEYS.UI_DISPLAY_MODE]: 'Display mode for rendering output (standard|concise)',
26
+ [SETTING_KEYS.LOGGING_LOG_LEVEL]: 'Logging level (debug, info, warn, error)',
27
+ [SETTING_KEYS.LOGGING_SUPPRESS_CONSOLE]: 'Suppress console output (true|false) to avoid interfering with Ink UI',
28
+ [SETTING_KEYS.TOOLS_ENABLE_EDIT_HEALING]: 'Use AI to automatically correct failed search_replace operations',
29
+ [SETTING_KEYS.TOOLS_EDIT_HEALING_MODEL]: 'Model to use for edit healing (fast/cheap)',
30
+ [SETTING_KEYS.TOOLS_EDIT_HEALING_PROVIDER]: 'Provider for the edit-healing model (optional)',
31
+ [SETTING_KEYS.SHELL_AUTO_APPROVE_MODE]: 'Shell command auto-approval mode (off|advisory|auto)',
32
+ [SETTING_KEYS.AGENT_AUTO_APPROVE_MODEL]: 'Model to use for auto-approval evaluation (fast/cheap)',
33
+ [SETTING_KEYS.AGENT_AUTO_APPROVE_PROVIDER]: 'Provider for the auto-approval model (optional)',
34
+ [SETTING_KEYS.APP_PLAN_MODE]: 'Plan mode: read-only research and implementation planning (true|false)',
35
+ [SETTING_KEYS.APP_ORCHESTRATOR_MODE]: 'Delegate tool-backed work through subagents (true|false)',
36
+ [SETTING_KEYS.APP_NOTIFICATIONS]: 'Enable desktop notifications when the terminal is unfocused (true|false)',
37
+ [SETTING_KEYS.APP_NOTIFICATIONS_ON_APPROVAL]: 'Notify when the agent needs tool-call approval (true|false)',
38
+ [SETTING_KEYS.APP_NOTIFICATIONS_ON_COMPLETE]: 'Notify when the agent finishes responding (true|false)',
39
+ [SETTING_KEYS.WEB_SEARCH_PROVIDER]: 'Web search provider (tavily, exa)',
40
+ [SETTING_KEYS.APP_SEARCH_VIA_SHELL]: 'Use shell commands (ripgrep/find) for codebase search instead of built-in tools (true|false)',
41
+ [SETTING_KEYS.SHELL_USE_RTK_COMPRESSION]: 'Use RTK (third-party) to compress shell command output; term2 downloads it automatically (true|false)',
42
+ [SETTING_KEYS.SANDBOX_ENABLED]: 'Enable sandbox mode for safer command execution (true|false)',
43
+ [SETTING_KEYS.SANDBOX_READ_POLICY]: 'File read policy for sandbox (standard|strict)',
44
+ [SETTING_KEYS.SANDBOX_ALLOW_READ_EXTRA]: 'Additional paths allowed for sandbox file reads (comma-separated)',
45
+ [SETTING_KEYS.SANDBOX_ALLOW_NETWORKING]: 'Allow sandboxed commands to access the network (true|false)',
46
+ };
47
+ /**
48
+ * Settings that should be hidden from the UI (not for security, but for UX/workflow)
49
+ * - agent.provider: Can only be changed at the start of a new conversation via model menu
50
+ * - agent.autoApproveProvider: Controlled via model/provider selection workflows, hide from the general settings list
51
+ */
52
+ export const HIDDEN_SETTINGS = new Set([
53
+ SETTING_KEYS.AGENT_PROVIDER,
54
+ SETTING_KEYS.AGENT_AUTO_APPROVE_PROVIDER,
55
+ SETTING_KEYS.AGENT_MENTOR_PROVIDER,
56
+ SETTING_KEYS.TOOLS_EDIT_HEALING_PROVIDER,
57
+ SETTING_KEYS.PROVIDER_ORDER,
58
+ SETTING_KEYS.LOGGING_DEBUG,
59
+ SETTING_KEYS.LOGGING_SUPPRESS_CONSOLE,
60
+ SETTING_KEYS.ENV_NODE_ENV,
61
+ SETTING_KEYS.APP_SHELL_PATH,
62
+ SETTING_KEYS.APP_MENTOR_MODE,
63
+ SETTING_KEYS.APP_LITE_MODE,
64
+ SETTING_KEYS.APP_PLAN_MODE,
65
+ SETTING_KEYS.APP_ORCHESTRATOR_MODE,
66
+ SETTING_KEYS.TOOLS_LOG_FILE_OPS,
67
+ SETTING_KEYS.DEBUG_BASH_TOOL,
68
+ SETTING_KEYS.SSH_ENABLED,
69
+ SETTING_KEYS.SSH_HOST,
70
+ SETTING_KEYS.SSH_PORT,
71
+ SETTING_KEYS.SSH_USERNAME,
72
+ SETTING_KEYS.SSH_REMOTE_DIR,
73
+ SETTING_KEYS.AGENT_SUBAGENT_EXPLORER_PROVIDER,
74
+ SETTING_KEYS.AGENT_SUBAGENT_WORKER_PROVIDER,
75
+ SETTING_KEYS.AGENT_SUBAGENT_RESEARCHER_PROVIDER,
76
+ SETTING_KEYS.SANDBOX_ALLOW_READ_EXTRA,
77
+ ]);
78
+ export const COMMON_SETTINGS = [
79
+ SETTING_KEYS.AGENT_MODEL,
80
+ SETTING_KEYS.AGENT_REASONING_EFFORT,
81
+ SETTING_KEYS.AGENT_TEMPERATURE,
82
+ ];
83
+ export const CATEGORY_KEYS = {
84
+ models: new Set([
85
+ SETTING_KEYS.AGENT_MODEL,
86
+ SETTING_KEYS.AGENT_REASONING_EFFORT,
87
+ SETTING_KEYS.AGENT_TEMPERATURE,
88
+ SETTING_KEYS.AGENT_MENTOR_MODEL,
89
+ SETTING_KEYS.AGENT_MENTOR_REASONING_EFFORT,
90
+ SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER,
91
+ SETTING_KEYS.AGENT_SUBAGENT_EXPLORER_MODEL,
92
+ SETTING_KEYS.AGENT_SUBAGENT_EXPLORER_REASONING_EFFORT,
93
+ SETTING_KEYS.AGENT_SUBAGENT_WORKER_MODEL,
94
+ SETTING_KEYS.AGENT_SUBAGENT_WORKER_REASONING_EFFORT,
95
+ SETTING_KEYS.AGENT_SUBAGENT_RESEARCHER_MODEL,
96
+ SETTING_KEYS.AGENT_SUBAGENT_RESEARCHER_REASONING_EFFORT,
97
+ ]),
98
+ safety: new Set([
99
+ SETTING_KEYS.SHELL_AUTO_APPROVE_MODE,
100
+ SETTING_KEYS.AGENT_AUTO_APPROVE_MODEL,
101
+ SETTING_KEYS.SANDBOX_ENABLED,
102
+ SETTING_KEYS.SANDBOX_READ_POLICY,
103
+ SETTING_KEYS.SANDBOX_ALLOW_READ_EXTRA,
104
+ SETTING_KEYS.SANDBOX_ALLOW_NETWORKING,
105
+ ]),
106
+ tools: new Set([
107
+ SETTING_KEYS.SHELL_TIMEOUT,
108
+ SETTING_KEYS.SHELL_MAX_OUTPUT_LINES,
109
+ SETTING_KEYS.SHELL_MAX_OUTPUT_CHARS,
110
+ SETTING_KEYS.SHELL_USE_RTK_COMPRESSION,
111
+ SETTING_KEYS.WEB_SEARCH_PROVIDER,
112
+ SETTING_KEYS.WEB_SEARCH_TAVILY_API_KEY,
113
+ SETTING_KEYS.WEB_SEARCH_EXA_API_KEY,
114
+ SETTING_KEYS.APP_SEARCH_VIA_SHELL,
115
+ SETTING_KEYS.TOOLS_ENABLE_EDIT_HEALING,
116
+ SETTING_KEYS.TOOLS_EDIT_HEALING_MODEL,
117
+ ]),
118
+ ui: new Set([
119
+ SETTING_KEYS.UI_HISTORY_SIZE,
120
+ SETTING_KEYS.UI_PASTE_THRESHOLD,
121
+ SETTING_KEYS.UI_DISPLAY_MODE,
122
+ SETTING_KEYS.LOGGING_LOG_LEVEL,
123
+ SETTING_KEYS.LOGGING_DISABLE,
124
+ SETTING_KEYS.APP_NOTIFICATIONS,
125
+ SETTING_KEYS.APP_NOTIFICATIONS_ON_APPROVAL,
126
+ SETTING_KEYS.APP_NOTIFICATIONS_ON_COMPLETE,
127
+ ]),
128
+ };
129
+ export const CATEGORY_ORDER = ['models', 'safety', 'tools', 'ui'];
130
+ //# sourceMappingURL=settings-completion-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-completion-config.js","sourceRoot":"","sources":["../../source/hooks/settings-completion-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type SettingCompletionItem, type SettingsCategory } from './settings-completion-config.js';
2
+ export declare function getSettingCategory(key: string): SettingsCategory;
3
+ export declare function buildSettingsList(settingKeys: Record<string, string>, descriptions: Record<string, string>, excludeSensitive?: boolean, getCurrentValue?: (key: string) => string | number | boolean | undefined): SettingCompletionItem[];
4
+ export declare function filterSettingsByQuery(settings: SettingCompletionItem[], query: string, maxResults?: number): SettingCompletionItem[];
5
+ export declare function filterSettingsByCategory<T extends {
6
+ key: string;
7
+ }>(settings: T[], categoryId: string): T[];
8
+ export declare function clampIndex(currentIndex: number, arrayLength: number): number;
9
+ //# sourceMappingURL=settings-completion-logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-completion-logic.d.ts","sourceRoot":"","sources":["../../source/hooks/settings-completion-logic.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAQzC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAQhE;AA4BD,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,gBAAgB,GAAE,OAAc,EAChC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GACvE,qBAAqB,EAAE,CAWzB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,qBAAqB,EAAE,EACjC,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAW,GACtB,qBAAqB,EAAE,CAyBzB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE,CAE1G;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAK5E"}
@@ -0,0 +1,82 @@
1
+ import { SENSITIVE_SETTINGS } from '../services/settings/settings-service.js';
2
+ import { scoreSubsequence } from '../utils/subsequence-filter.js';
3
+ import { CATEGORY_KEYS, CATEGORY_ORDER, COMMON_SETTINGS, HIDDEN_SETTINGS, SETTINGS_CATEGORIES, } from './settings-completion-config.js';
4
+ function findCategoryById(id) {
5
+ return (SETTINGS_CATEGORIES.find((category) => category.id === id) || SETTINGS_CATEGORIES[SETTINGS_CATEGORIES.length - 1]);
6
+ }
7
+ export function getSettingCategory(key) {
8
+ for (const categoryId of CATEGORY_ORDER) {
9
+ if (CATEGORY_KEYS[categoryId].has(key)) {
10
+ return findCategoryById(categoryId);
11
+ }
12
+ }
13
+ return findCategoryById('misc');
14
+ }
15
+ function categoryRank(key) {
16
+ const category = getSettingCategory(key);
17
+ const index = SETTINGS_CATEGORIES.findIndex((item) => item.id === category.id);
18
+ return index === -1 ? SETTINGS_CATEGORIES.length : index;
19
+ }
20
+ function sortSettings(a, b) {
21
+ const aCommonIndex = COMMON_SETTINGS.indexOf(a.key);
22
+ const bCommonIndex = COMMON_SETTINGS.indexOf(b.key);
23
+ const aIsCommon = aCommonIndex !== -1;
24
+ const bIsCommon = bCommonIndex !== -1;
25
+ if (aIsCommon && bIsCommon)
26
+ return aCommonIndex - bCommonIndex;
27
+ if (aIsCommon)
28
+ return -1;
29
+ if (bIsCommon)
30
+ return 1;
31
+ const aRank = categoryRank(a.key);
32
+ const bRank = categoryRank(b.key);
33
+ if (aRank !== bRank)
34
+ return aRank - bRank;
35
+ return a.key.localeCompare(b.key);
36
+ }
37
+ function getSensitiveSettingKeysSet() {
38
+ return new Set(Object.values(SENSITIVE_SETTINGS));
39
+ }
40
+ export function buildSettingsList(settingKeys, descriptions, excludeSensitive = true, getCurrentValue) {
41
+ const sensitiveKeys = excludeSensitive ? getSensitiveSettingKeysSet() : new Set();
42
+ return Object.values(settingKeys)
43
+ .filter((key) => !sensitiveKeys.has(key) && !HIDDEN_SETTINGS.has(key))
44
+ .map((key) => ({
45
+ key,
46
+ description: descriptions[key] || '',
47
+ currentValue: getCurrentValue?.(key),
48
+ }))
49
+ .sort(sortSettings);
50
+ }
51
+ export function filterSettingsByQuery(settings, query, maxResults = 10) {
52
+ const trimmed = query.trim();
53
+ if (!trimmed) {
54
+ return settings.slice(0, maxResults);
55
+ }
56
+ return settings
57
+ .map((item) => {
58
+ const keyScore = scoreSubsequence(trimmed, item.key);
59
+ const hasDescriptionSubstring = item.description
60
+ ? item.description.toLowerCase().includes(trimmed.toLowerCase())
61
+ : false;
62
+ const descriptionScore = item.description && hasDescriptionSubstring ? scoreSubsequence(trimmed, item.description) : -Infinity;
63
+ const weightedKey = keyScore === -Infinity ? -Infinity : keyScore * 3;
64
+ const weightedDescription = descriptionScore === -Infinity ? -Infinity : descriptionScore;
65
+ const score = Math.max(weightedKey, weightedDescription);
66
+ return { item, score };
67
+ })
68
+ .filter(({ score }) => score !== -Infinity)
69
+ .sort((a, b) => b.score - a.score)
70
+ .slice(0, maxResults)
71
+ .map(({ item }) => item);
72
+ }
73
+ export function filterSettingsByCategory(settings, categoryId) {
74
+ return settings.filter((item) => getSettingCategory(item.key).id === categoryId);
75
+ }
76
+ export function clampIndex(currentIndex, arrayLength) {
77
+ if (arrayLength === 0) {
78
+ return 0;
79
+ }
80
+ return Math.max(0, Math.min(currentIndex, arrayLength - 1));
81
+ }
82
+ //# sourceMappingURL=settings-completion-logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-completion-logic.js","sourceRoot":"","sources":["../../source/hooks/settings-completion-logic.ts"],"names":[],"mappings":"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"}
@@ -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;AActD,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,GAAI,6RAmB5B,mBAAmB;;;;CAgHrB,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;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"}
@@ -8,6 +8,7 @@ import { createRetrySlashCommand } from '../commands/retry-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';
11
+ import { createSandboxSlashCommand } from '../commands/sandbox-command.js';
11
12
  import { createEffortSlashCommand } from '../commands/effort-command.js';
12
13
  import { createHandoffSlashCommand } from '../commands/handoff-command.js';
13
14
  import { createGuardedSettingsCommand } from '../commands/guarded-settings-command.js';
@@ -70,6 +71,7 @@ export const useAppCommands = ({ settingsService, addSystemMessage, applyRuntime
70
71
  },
71
72
  createHandoffSlashCommand({ messages, addSystemMessage, onHandoff }),
72
73
  createGuardedSettingsCommand({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, messages }),
74
+ createSandboxSlashCommand({ settingsService, applyRuntimeSetting, addSystemMessage }),
73
75
  {
74
76
  name: 'providers',
75
77
  description: 'Manage API providers (list, add, edit, delete)',
@@ -78,8 +80,8 @@ export const useAppCommands = ({ settingsService, addSystemMessage, applyRuntime
78
80
  return true;
79
81
  },
80
82
  },
81
- createQuitSlashCommand(exit),
82
83
  createSkillsSlashCommand({ skillsService, onSkillSelected, addSystemMessage, replaceInput }),
84
+ createQuitSlashCommand(exit),
83
85
  ], [
84
86
  addSystemMessage,
85
87
  applyRuntimeSetting,
@@ -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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"}
@@ -0,0 +1,28 @@
1
+ import type { MutableRefObject } from 'react';
2
+ import type { SkillInfo } from '../services/skills/skills-service.js';
3
+ import type { UserTurn } from '../types/user-turn.js';
4
+ type HandoffState = {
5
+ stage: string;
6
+ } | null;
7
+ export type UseAppKeyboardShortcutsOptions = {
8
+ exitWithUsage: () => void;
9
+ pendingSkillRef: MutableRefObject<SkillInfo | null>;
10
+ waitingForAskUserAnswer: boolean;
11
+ setWaitingForAskUserAnswer: (value: boolean) => void;
12
+ waitingForRejectionReason: boolean;
13
+ setWaitingForRejectionReason: (value: boolean) => void;
14
+ isProcessing: boolean;
15
+ waitingForApproval: boolean;
16
+ stopProcessing: () => void;
17
+ handoffState: HandoffState;
18
+ cancelHandoff: () => void;
19
+ pendingLargeUncachedTurn: UserTurn | null;
20
+ liteMode: boolean;
21
+ toggleShellMode: () => void;
22
+ cycleAppModes: () => void;
23
+ replaceInput: (value: string) => void;
24
+ onSkillActivationCancelled: () => void;
25
+ };
26
+ export declare const useAppKeyboardShortcuts: ({ exitWithUsage, pendingSkillRef, waitingForAskUserAnswer, setWaitingForAskUserAnswer, waitingForRejectionReason, setWaitingForRejectionReason, isProcessing, waitingForApproval, stopProcessing, handoffState, cancelHandoff, pendingLargeUncachedTurn, liteMode, toggleShellMode, cycleAppModes, replaceInput, onSkillActivationCancelled, }: UseAppKeyboardShortcutsOptions) => void;
27
+ export {};
28
+ //# sourceMappingURL=use-app-keyboard-shortcuts.d.ts.map
@@ -0,0 +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,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,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,mVAkBjC,8BAA8B,KAAG,IA8FnC,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { useRef } from 'react';
2
+ import { useInput } from 'ink';
3
+ export const useAppKeyboardShortcuts = ({ exitWithUsage, pendingSkillRef, waitingForAskUserAnswer, setWaitingForAskUserAnswer, waitingForRejectionReason, setWaitingForRejectionReason, isProcessing, waitingForApproval, stopProcessing, handoffState, cancelHandoff, pendingLargeUncachedTurn, liteMode, toggleShellMode, cycleAppModes, replaceInput, onSkillActivationCancelled, }) => {
4
+ const stateRef = useRef({
5
+ pendingSkillRef,
6
+ waitingForAskUserAnswer,
7
+ setWaitingForAskUserAnswer,
8
+ waitingForRejectionReason,
9
+ setWaitingForRejectionReason,
10
+ isProcessing,
11
+ waitingForApproval,
12
+ stopProcessing,
13
+ handoffState,
14
+ cancelHandoff,
15
+ pendingLargeUncachedTurn,
16
+ liteMode,
17
+ toggleShellMode,
18
+ cycleAppModes,
19
+ replaceInput,
20
+ onSkillActivationCancelled,
21
+ exitWithUsage,
22
+ });
23
+ stateRef.current = {
24
+ pendingSkillRef,
25
+ waitingForAskUserAnswer,
26
+ setWaitingForAskUserAnswer,
27
+ waitingForRejectionReason,
28
+ setWaitingForRejectionReason,
29
+ isProcessing,
30
+ waitingForApproval,
31
+ stopProcessing,
32
+ handoffState,
33
+ cancelHandoff,
34
+ pendingLargeUncachedTurn,
35
+ liteMode,
36
+ toggleShellMode,
37
+ cycleAppModes,
38
+ replaceInput,
39
+ onSkillActivationCancelled,
40
+ exitWithUsage,
41
+ };
42
+ useInput((input, key) => {
43
+ const current = stateRef.current;
44
+ if (key.ctrl && input === 'c') {
45
+ current.exitWithUsage();
46
+ return;
47
+ }
48
+ if (key.escape) {
49
+ if (current.pendingSkillRef.current) {
50
+ current.pendingSkillRef.current = null;
51
+ current.onSkillActivationCancelled();
52
+ return;
53
+ }
54
+ if (current.waitingForAskUserAnswer) {
55
+ current.setWaitingForAskUserAnswer(false);
56
+ current.replaceInput('');
57
+ return;
58
+ }
59
+ if (current.waitingForRejectionReason) {
60
+ current.setWaitingForRejectionReason(false);
61
+ current.replaceInput('');
62
+ return;
63
+ }
64
+ if (current.isProcessing || current.waitingForApproval) {
65
+ current.stopProcessing();
66
+ return;
67
+ }
68
+ if (current.handoffState?.stage === 'entering_message') {
69
+ current.cancelHandoff();
70
+ }
71
+ return;
72
+ }
73
+ const isShiftTab = (key.shift && key.tab) || input === '\u001b[Z';
74
+ if (!isShiftTab)
75
+ return;
76
+ if (current.pendingLargeUncachedTurn) {
77
+ return;
78
+ }
79
+ if (current.liteMode) {
80
+ current.toggleShellMode();
81
+ return;
82
+ }
83
+ current.cycleAppModes();
84
+ });
85
+ };
86
+ //# sourceMappingURL=use-app-keyboard-shortcuts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-app-keyboard-shortcuts.js","sourceRoot":"","sources":["../../source/hooks/use-app-keyboard-shortcuts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation-messages.js","sourceRoot":"","sources":["../../source/hooks/use-conversation-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAOlD,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,MAAM,UAAU,uBAAuB,CAAC,EACtC,eAAe,GAAG,EAAE,EACpB,eAAe,GAAG,yBAAyB,MACV,EAAE;IACnC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,IAAe,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,EACpE,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,SAAoB,EAAE,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAC9B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5F,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAY,EAAE,EAAE;QACf,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,QAAQ;gBAChB,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAAe,EAAE,MAAc,EAAE,QAAuB,EAAE,QAAiB,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,QAAQ;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,KAAK,CAAC;oBAChB,CAAC,CAAC,QAAQ,QAAQ,EAAE;oBACpB,CAAC,CAAC,SAAS,CAAC;QAEd,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBACxC,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,aAAa;gBACb,QAAQ,EAAE,OAAO;aACA;SACpB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAwC,EAAE;QAC5E,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO;QACL,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,eAAe;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"use-conversation-messages.js","sourceRoot":"","sources":["../../source/hooks/use-conversation-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAOlD,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,MAAM,UAAU,uBAAuB,CAAC,EACtC,eAAe,GAAG,EAAE,EACpB,eAAe,GAAG,yBAAyB,GAC5C,GAAkC,EAAE;IACnC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,IAAe,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,EACpE,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,SAAoB,EAAE,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAC9B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5F,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAY,EAAE,EAAE;QACf,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,QAAQ;gBAChB,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAAe,EAAE,MAAc,EAAE,QAAuB,EAAE,QAAiB,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,QAAQ;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,KAAK,CAAC;oBAChB,CAAC,CAAC,QAAQ,QAAQ,EAAE;oBACpB,CAAC,CAAC,SAAS,CAAC;QAEd,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBACxC,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,aAAa;gBACb,QAAQ,EAAE,OAAO;aACA;SACpB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAwC,EAAE;QAC5E,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO;QACL,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=use-conversation.ask-user-multi-select.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-conversation.ask-user-multi-select.test.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.ask-user-multi-select.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,159 @@
1
+ // @ts-ignore
2
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
3
+ import { it, expect, vi } from 'vitest';
4
+ import React, { act } from 'react';
5
+ import { Text } from 'ink';
6
+ import { useConversation } from './use-conversation.js';
7
+ import { renderInAct } from '../test-helpers/ink-testing.js';
8
+ const loggingService = {
9
+ debug() { },
10
+ error() { },
11
+ };
12
+ it.sequential('useConversation ask_user multi-question correctly parses multi-select on second question', async () => {
13
+ // This test reproduces the bug where the second question's multi-select answer
14
+ // was incorrectly stored as a JSON string instead of an array.
15
+ // The root cause was that `askUserAnswers` in the closure of handleApprovalDecision
16
+ // was stale because of React's batching behavior.
17
+ const mockConversationService = {
18
+ sessionId: 'test-session',
19
+ handleApprovalDecision: vi.fn().mockResolvedValue({ messages: [] }),
20
+ };
21
+ // Approval with two questions: single-select first, multi-select second
22
+ const approval = {
23
+ agentName: 'Agent',
24
+ toolName: 'ask_user',
25
+ argumentsText: JSON.stringify({
26
+ questions: [
27
+ {
28
+ question: 'First question (single-select)',
29
+ options: ['Option A', 'Option B'],
30
+ is_multi_select: false,
31
+ },
32
+ {
33
+ question: 'Second question (multi-select)',
34
+ options: ['Tool X', 'Tool Y', 'Tool Z'],
35
+ is_multi_select: true,
36
+ },
37
+ ],
38
+ }),
39
+ rawInterruption: { type: 'ask_user' },
40
+ };
41
+ let handleApprovalFn = async () => { };
42
+ let askUserAnswersCapture = [];
43
+ let currentIndexCapture = 0;
44
+ const Harness = () => {
45
+ const [showApproval, setShowApproval] = React.useState(false);
46
+ const { handleApprovalDecision, askUserAnswers, currentAskUserQuestionIndex, waitingForApproval, } = useConversation({
47
+ conversationService: mockConversationService,
48
+ loggingService,
49
+ initialMessages: [],
50
+ sessionId: 'test-session',
51
+ });
52
+ handleApprovalFn = handleApprovalDecision;
53
+ askUserAnswersCapture = askUserAnswers;
54
+ currentIndexCapture = currentAskUserQuestionIndex;
55
+ React.useEffect(() => {
56
+ // Simulate the approval being requested
57
+ if (!showApproval) {
58
+ setShowApproval(true);
59
+ }
60
+ }, []);
61
+ return React.createElement(Text, null, waitingForApproval ? 'waiting' : 'not-waiting');
62
+ };
63
+ // We need to manually dispatch the approval request since useConversation
64
+ // doesn't expose a way to trigger it from outside
65
+ const { lastFrame } = await renderInAct(React.createElement(Harness, null));
66
+ expect(lastFrame).toBeTruthy();
67
+ // Wait for the component to render
68
+ await act(async () => {
69
+ await new Promise((resolve) => setTimeout(resolve, 10));
70
+ });
71
+ // Answer first question (single-select)
72
+ await act(async () => {
73
+ await handleApprovalFn('y', undefined, 'Option A');
74
+ });
75
+ // After first answer, should have advanced to question index 1
76
+ expect(currentIndexCapture).toBe(1);
77
+ expect(askUserAnswersCapture).toEqual(['Option A']);
78
+ // Answer second question (multi-select)
79
+ // The UI would send JSON.stringify(['Tool X', 'Tool Z'])
80
+ await act(async () => {
81
+ await handleApprovalFn('y', undefined, JSON.stringify(['Tool X', 'Tool Z']));
82
+ });
83
+ // BUG FIX VERIFICATION:
84
+ // Before the fix, askUserAnswers would be ['Option A', '["Tool X","Tool Z"]']
85
+ // After the fix, it should be ['Option A', ['Tool X', 'Tool Z']]
86
+ expect(askUserAnswersCapture).toHaveLength(2);
87
+ expect(askUserAnswersCapture[0]).toBe('Option A');
88
+ expect(Array.isArray(askUserAnswersCapture[1])).toBe(true);
89
+ expect(askUserAnswersCapture[1]).toEqual(['Tool X', 'Tool Z']);
90
+ // Verify the final answer sent to conversation service is correctly formatted
91
+ expect(mockConversationService.handleApprovalDecision).toHaveBeenCalledWith('y', undefined, expect.objectContaining({
92
+ approvalAnswer: JSON.stringify(['Option A', ['Tool X', 'Tool Z']]),
93
+ }));
94
+ });
95
+ it.sequential('useConversation ask_user three questions with mixed select types', async () => {
96
+ // Test a more complex scenario: single -> multi -> single
97
+ const mockConversationService = {
98
+ sessionId: 'test-session',
99
+ handleApprovalDecision: vi.fn().mockResolvedValue({ messages: [] }),
100
+ };
101
+ const approval = {
102
+ agentName: 'Agent',
103
+ toolName: 'ask_user',
104
+ argumentsText: JSON.stringify({
105
+ questions: [
106
+ {
107
+ question: 'First (single)',
108
+ options: ['A', 'B'],
109
+ is_multi_select: false,
110
+ },
111
+ {
112
+ question: 'Second (multi)',
113
+ options: ['X', 'Y', 'Z'],
114
+ is_multi_select: true,
115
+ },
116
+ {
117
+ question: 'Third (single)',
118
+ options: ['P', 'Q'],
119
+ is_multi_select: false,
120
+ },
121
+ ],
122
+ }),
123
+ rawInterruption: { type: 'ask_user' },
124
+ };
125
+ let handleApprovalFn = async () => { };
126
+ let askUserAnswersCapture = [];
127
+ const Harness = () => {
128
+ const { handleApprovalDecision, askUserAnswers } = useConversation({
129
+ conversationService: mockConversationService,
130
+ loggingService,
131
+ initialMessages: [],
132
+ sessionId: 'test-session',
133
+ });
134
+ handleApprovalFn = handleApprovalDecision;
135
+ askUserAnswersCapture = askUserAnswers;
136
+ return React.createElement(Text, null, "test");
137
+ };
138
+ await renderInAct(React.createElement(Harness, null));
139
+ // Answer Q1: single-select
140
+ await act(async () => {
141
+ await handleApprovalFn('y', undefined, 'B');
142
+ });
143
+ expect(askUserAnswersCapture).toEqual(['B']);
144
+ // Answer Q2: multi-select
145
+ await act(async () => {
146
+ await handleApprovalFn('y', undefined, JSON.stringify(['X', 'Z']));
147
+ });
148
+ expect(askUserAnswersCapture).toEqual(['B', ['X', 'Z']]);
149
+ // Answer Q3: single-select
150
+ await act(async () => {
151
+ await handleApprovalFn('y', undefined, 'Q');
152
+ });
153
+ expect(askUserAnswersCapture).toEqual(['B', ['X', 'Z'], 'Q']);
154
+ // Verify final answer structure
155
+ expect(mockConversationService.handleApprovalDecision).toHaveBeenCalledWith('y', undefined, expect.objectContaining({
156
+ approvalAnswer: JSON.stringify(['B', ['X', 'Z'], 'Q']),
157
+ }));
158
+ });
159
+ //# sourceMappingURL=use-conversation.ask-user-multi-select.test.js.map