@qduc/term2 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/dist/agent.d.ts +9 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +139 -68
  4. package/dist/agent.js.map +1 -1
  5. package/dist/agent.test.js +179 -16
  6. package/dist/agent.test.js.map +1 -1
  7. package/dist/app.d.ts +16 -3
  8. package/dist/app.d.ts.map +1 -1
  9. package/dist/app.js +186 -23
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.large-uncached-warning.test.d.ts +2 -0
  12. package/dist/app.large-uncached-warning.test.d.ts.map +1 -0
  13. package/dist/app.large-uncached-warning.test.js +15 -0
  14. package/dist/app.large-uncached-warning.test.js.map +1 -0
  15. package/dist/app.startup-banner.test.js +3 -19
  16. package/dist/app.startup-banner.test.js.map +1 -1
  17. package/dist/cli.js +170 -71
  18. package/dist/cli.js.map +1 -1
  19. package/dist/components/Banner.d.ts.map +1 -1
  20. package/dist/components/Banner.js +35 -17
  21. package/dist/components/Banner.js.map +1 -1
  22. package/dist/components/BottomArea.d.ts +7 -1
  23. package/dist/components/BottomArea.d.ts.map +1 -1
  24. package/dist/components/BottomArea.js +8 -6
  25. package/dist/components/BottomArea.js.map +1 -1
  26. package/dist/components/BottomArea.test.js +14 -1
  27. package/dist/components/BottomArea.test.js.map +1 -1
  28. package/dist/components/CommandMessage.d.ts.map +1 -1
  29. package/dist/components/CommandMessage.js +31 -1
  30. package/dist/components/CommandMessage.js.map +1 -1
  31. package/dist/components/CommandMessage.test.js +150 -31
  32. package/dist/components/CommandMessage.test.js.map +1 -1
  33. package/dist/components/Common/MenuContainer.d.ts +20 -0
  34. package/dist/components/Common/MenuContainer.d.ts.map +1 -0
  35. package/dist/components/Common/MenuContainer.js +52 -0
  36. package/dist/components/Common/MenuContainer.js.map +1 -0
  37. package/dist/components/Common/ScrollableTabBar.d.ts +26 -0
  38. package/dist/components/Common/ScrollableTabBar.d.ts.map +1 -0
  39. package/dist/components/Common/ScrollableTabBar.js +26 -0
  40. package/dist/components/Common/ScrollableTabBar.js.map +1 -0
  41. package/dist/components/Common/compute-visible-tabs.d.ts +16 -0
  42. package/dist/components/Common/compute-visible-tabs.d.ts.map +1 -0
  43. package/dist/components/Common/compute-visible-tabs.js +53 -0
  44. package/dist/components/Common/compute-visible-tabs.js.map +1 -0
  45. package/dist/components/Common/compute-visible-tabs.test.d.ts +2 -0
  46. package/dist/components/Common/compute-visible-tabs.test.d.ts.map +1 -0
  47. package/dist/components/Common/compute-visible-tabs.test.js +97 -0
  48. package/dist/components/Common/compute-visible-tabs.test.js.map +1 -0
  49. package/dist/components/HandoffConfirmationPrompt.d.ts +9 -0
  50. package/dist/components/HandoffConfirmationPrompt.d.ts.map +1 -0
  51. package/dist/components/HandoffConfirmationPrompt.js +38 -0
  52. package/dist/components/HandoffConfirmationPrompt.js.map +1 -0
  53. package/dist/components/HandoffConfirmationPrompt.test.d.ts +2 -0
  54. package/dist/components/HandoffConfirmationPrompt.test.d.ts.map +1 -0
  55. package/dist/components/HandoffConfirmationPrompt.test.js +12 -0
  56. package/dist/components/HandoffConfirmationPrompt.test.js.map +1 -0
  57. package/dist/components/Input/PopupManager.d.ts +5 -1
  58. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  59. package/dist/components/Input/PopupManager.js +2 -2
  60. package/dist/components/Input/PopupManager.js.map +1 -1
  61. package/dist/components/Input/popup-key-navigation.js +2 -2
  62. package/dist/components/Input/popup-key-navigation.js.map +1 -1
  63. package/dist/components/Input/popup-key-navigation.test.js +5 -3
  64. package/dist/components/Input/popup-key-navigation.test.js.map +1 -1
  65. package/dist/components/Input/popup-props.d.ts.map +1 -1
  66. package/dist/components/Input/popup-props.js +4 -0
  67. package/dist/components/Input/popup-props.js.map +1 -1
  68. package/dist/components/Input/popup-props.test.d.ts +2 -0
  69. package/dist/components/Input/popup-props.test.d.ts.map +1 -0
  70. package/dist/components/Input/popup-props.test.js +70 -0
  71. package/dist/components/Input/popup-props.test.js.map +1 -0
  72. package/dist/components/InputBox.d.ts +0 -1
  73. package/dist/components/InputBox.d.ts.map +1 -1
  74. package/dist/components/InputBox.js +66 -14
  75. package/dist/components/InputBox.js.map +1 -1
  76. package/dist/components/InputBox.test.js +192 -12
  77. package/dist/components/InputBox.test.js.map +1 -1
  78. package/dist/components/MessageList.d.ts +1 -0
  79. package/dist/components/MessageList.d.ts.map +1 -1
  80. package/dist/components/MessageList.js.map +1 -1
  81. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  82. package/dist/components/ModelSelectionMenu.debug.test.d.ts +2 -0
  83. package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +1 -0
  84. package/dist/components/ModelSelectionMenu.debug.test.js.map +1 -0
  85. package/dist/components/ModelSelectionMenu.js +29 -125
  86. package/dist/components/ModelSelectionMenu.js.map +1 -1
  87. package/dist/components/ModelSelectionMenu.test.js +9 -5
  88. package/dist/components/ModelSelectionMenu.test.js.map +1 -1
  89. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  90. package/dist/components/PathSelectionMenu.js +15 -55
  91. package/dist/components/PathSelectionMenu.js.map +1 -1
  92. package/dist/components/SettingsSelectionMenu.d.ts +4 -1
  93. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  94. package/dist/components/SettingsSelectionMenu.js +48 -104
  95. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  96. package/dist/components/SettingsSelectionMenu.scroll.test.js +140 -0
  97. package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -1
  98. package/dist/components/SettingsSelectionMenu.test.js +38 -5
  99. package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
  100. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  101. package/dist/components/SettingsValueSelectionMenu.js +24 -51
  102. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  103. package/dist/components/SlashCommandMenu.d.ts +1 -0
  104. package/dist/components/SlashCommandMenu.d.ts.map +1 -1
  105. package/dist/components/SlashCommandMenu.js +11 -14
  106. package/dist/components/SlashCommandMenu.js.map +1 -1
  107. package/dist/components/StatusBar.d.ts +2 -0
  108. package/dist/components/StatusBar.d.ts.map +1 -1
  109. package/dist/components/StatusBar.js +35 -2
  110. package/dist/components/StatusBar.js.map +1 -1
  111. package/dist/components/StatusBar.test.js +32 -0
  112. package/dist/components/StatusBar.test.js.map +1 -1
  113. package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
  114. package/dist/components/UndoSelectionMenu.js +6 -33
  115. package/dist/components/UndoSelectionMenu.js.map +1 -1
  116. package/dist/context/InputContext.stability.test.js +9 -7
  117. package/dist/context/InputContext.stability.test.js.map +1 -1
  118. package/dist/env-setup.js +1 -0
  119. package/dist/env-setup.js.map +1 -1
  120. package/dist/hooks/use-app-commands.d.ts +22 -2
  121. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  122. package/dist/hooks/use-app-commands.js +43 -3
  123. package/dist/hooks/use-app-commands.js.map +1 -1
  124. package/dist/hooks/use-app-commands.test.js +135 -1
  125. package/dist/hooks/use-app-commands.test.js.map +1 -1
  126. package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
  127. package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
  128. package/dist/hooks/use-conversation.clear.test.js +54 -0
  129. package/dist/hooks/use-conversation.clear.test.js.map +1 -0
  130. package/dist/hooks/use-conversation.d.ts +25 -2
  131. package/dist/hooks/use-conversation.d.ts.map +1 -1
  132. package/dist/hooks/use-conversation.js +90 -12
  133. package/dist/hooks/use-conversation.js.map +1 -1
  134. package/dist/hooks/use-escape-key.d.ts +8 -1
  135. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  136. package/dist/hooks/use-escape-key.js +15 -4
  137. package/dist/hooks/use-escape-key.js.map +1 -1
  138. package/dist/hooks/use-escape-key.test.js +135 -28
  139. package/dist/hooks/use-escape-key.test.js.map +1 -1
  140. package/dist/hooks/use-input-history.test.js +14 -8
  141. package/dist/hooks/use-input-history.test.js.map +1 -1
  142. package/dist/hooks/use-mode-handlers.d.ts +12 -1
  143. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  144. package/dist/hooks/use-mode-handlers.js +31 -1
  145. package/dist/hooks/use-mode-handlers.js.map +1 -1
  146. package/dist/hooks/use-model-selection.d.ts +6 -1
  147. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  148. package/dist/hooks/use-model-selection.js +50 -8
  149. package/dist/hooks/use-model-selection.js.map +1 -1
  150. package/dist/hooks/use-model-selection.test.js +306 -50
  151. package/dist/hooks/use-model-selection.test.js.map +1 -1
  152. package/dist/hooks/use-path-completion.d.ts +4 -0
  153. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  154. package/dist/hooks/use-path-completion.js +23 -17
  155. package/dist/hooks/use-path-completion.js.map +1 -1
  156. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  157. package/dist/hooks/use-runtime-settings.js +7 -2
  158. package/dist/hooks/use-runtime-settings.js.map +1 -1
  159. package/dist/hooks/use-runtime-settings.test.d.ts +2 -0
  160. package/dist/hooks/use-runtime-settings.test.d.ts.map +1 -0
  161. package/dist/hooks/use-runtime-settings.test.js +45 -0
  162. package/dist/hooks/use-runtime-settings.test.js.map +1 -0
  163. package/dist/hooks/use-selection.d.ts +6 -2
  164. package/dist/hooks/use-selection.d.ts.map +1 -1
  165. package/dist/hooks/use-selection.js +53 -16
  166. package/dist/hooks/use-selection.js.map +1 -1
  167. package/dist/hooks/use-selection.test.d.ts +2 -0
  168. package/dist/hooks/use-selection.test.d.ts.map +1 -0
  169. package/dist/hooks/use-selection.test.js +132 -0
  170. package/dist/hooks/use-selection.test.js.map +1 -0
  171. package/dist/hooks/use-settings-completion.d.ts +19 -0
  172. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  173. package/dist/hooks/use-settings-completion.js +106 -18
  174. package/dist/hooks/use-settings-completion.js.map +1 -1
  175. package/dist/hooks/use-settings-completion.scroll.test.js +68 -29
  176. package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -1
  177. package/dist/hooks/use-settings-completion.test.js +36 -1
  178. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  179. package/dist/hooks/use-settings-value-completion.d.ts +7 -1
  180. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  181. package/dist/hooks/use-settings-value-completion.js +18 -7
  182. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  183. package/dist/hooks/use-slash-commands.d.ts +5 -0
  184. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  185. package/dist/hooks/use-slash-commands.js +22 -2
  186. package/dist/hooks/use-slash-commands.js.map +1 -1
  187. package/dist/hooks/use-trigger-detection.test.js +9 -6
  188. package/dist/hooks/use-trigger-detection.test.js.map +1 -1
  189. package/dist/hooks/use-undo-selection.d.ts +4 -0
  190. package/dist/hooks/use-undo-selection.d.ts.map +1 -1
  191. package/dist/hooks/use-undo-selection.js +18 -1
  192. package/dist/hooks/use-undo-selection.js.map +1 -1
  193. package/dist/inspect_zod.d.ts +2 -0
  194. package/dist/inspect_zod.d.ts.map +1 -0
  195. package/dist/inspect_zod.js +16 -0
  196. package/dist/inspect_zod.js.map +1 -0
  197. package/dist/lib/openai-agent-client.chat.test.js +40 -0
  198. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  199. package/dist/lib/openai-agent-client.d.ts +18 -4
  200. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  201. package/dist/lib/openai-agent-client.js +228 -32
  202. package/dist/lib/openai-agent-client.js.map +1 -1
  203. package/dist/lib/openai-agent-client.public-methods.test.js +193 -0
  204. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  205. package/dist/lib/openai-agent-client.test.js +71 -1
  206. package/dist/lib/openai-agent-client.test.js.map +1 -1
  207. package/dist/lib/retry-executor.js +45 -7
  208. package/dist/lib/retry-executor.js.map +1 -1
  209. package/dist/lib/retry-executor.test.js +63 -0
  210. package/dist/lib/retry-executor.test.js.map +1 -1
  211. package/dist/lib/tool-invoke.d.ts +3 -2
  212. package/dist/lib/tool-invoke.d.ts.map +1 -1
  213. package/dist/lib/tool-invoke.js +213 -10
  214. package/dist/lib/tool-invoke.js.map +1 -1
  215. package/dist/lib/tool-invoke.test.js +103 -0
  216. package/dist/lib/tool-invoke.test.js.map +1 -1
  217. package/dist/non-interactive.d.ts +1 -0
  218. package/dist/non-interactive.d.ts.map +1 -1
  219. package/dist/non-interactive.js +3 -1
  220. package/dist/non-interactive.js.map +1 -1
  221. package/dist/non-interactive.test.js +8 -1
  222. package/dist/non-interactive.test.js.map +1 -1
  223. package/dist/prompts/codex.md +105 -97
  224. package/dist/prompts/fragments/gpt-5.3-codex.md +7 -0
  225. package/dist/prompts/fragments/gpt-5.4-small.md +6 -0
  226. package/dist/prompts/fragments/gpt-5.4.md +7 -0
  227. package/dist/prompts/fragments/gpt-5.5.md +7 -0
  228. package/dist/prompts/gpt-5-modern.md +96 -54
  229. package/dist/prompts/plan-mode-info.md +14 -3
  230. package/dist/prompts/prompt-constructor.d.ts +19 -0
  231. package/dist/prompts/prompt-constructor.d.ts.map +1 -0
  232. package/dist/prompts/prompt-constructor.js +53 -0
  233. package/dist/prompts/prompt-constructor.js.map +1 -0
  234. package/dist/prompts/prompt-constructor.test.d.ts +2 -0
  235. package/dist/prompts/prompt-constructor.test.d.ts.map +1 -0
  236. package/dist/prompts/prompt-constructor.test.js +99 -0
  237. package/dist/prompts/prompt-constructor.test.js.map +1 -0
  238. package/dist/prompts/prompt-constructor.test.ts +112 -0
  239. package/dist/prompts/prompt-constructor.ts +91 -0
  240. package/dist/prompts/prompt-profiles.d.ts +17 -0
  241. package/dist/prompts/prompt-profiles.d.ts.map +1 -0
  242. package/dist/prompts/prompt-profiles.js +61 -0
  243. package/dist/prompts/prompt-profiles.js.map +1 -0
  244. package/dist/prompts/prompt-profiles.ts +77 -0
  245. package/dist/prompts/prompt-selector.d.ts.map +1 -1
  246. package/dist/prompts/prompt-selector.js +3 -21
  247. package/dist/prompts/prompt-selector.js.map +1 -1
  248. package/dist/prompts/prompt-selector.ts +3 -25
  249. package/dist/prompts/reasoning-efficiency.d.ts.map +1 -1
  250. package/dist/prompts/reasoning-efficiency.js +2 -0
  251. package/dist/prompts/reasoning-efficiency.js.map +1 -1
  252. package/dist/prompts/reasoning-efficiency.test.d.ts +2 -0
  253. package/dist/prompts/reasoning-efficiency.test.d.ts.map +1 -0
  254. package/dist/prompts/reasoning-efficiency.test.js +11 -0
  255. package/dist/prompts/reasoning-efficiency.test.js.map +1 -0
  256. package/dist/prompts/reasoning-efficiency.test.ts +12 -0
  257. package/dist/prompts/reasoning-efficiency.ts +2 -0
  258. package/dist/prompts/search-via-shell.test.js +19 -16
  259. package/dist/prompts/search-via-shell.test.js.map +1 -1
  260. package/dist/prompts/search-via-shell.test.ts +20 -16
  261. package/dist/prompts/subagent-delegation.test.js +12 -10
  262. package/dist/prompts/subagent-delegation.test.js.map +1 -1
  263. package/dist/prompts/subagent-delegation.test.ts +13 -10
  264. package/dist/prompts/worktree-hygiene.md +9 -0
  265. package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
  266. package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
  267. package/dist/providers/ai-sdk-logging-fetch.js +145 -47
  268. package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
  269. package/dist/providers/ai-sdk-logging-fetch.test.js +202 -5
  270. package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
  271. package/dist/providers/codex-responses-model.d.ts +20 -0
  272. package/dist/providers/codex-responses-model.d.ts.map +1 -0
  273. package/dist/providers/codex-responses-model.js +170 -0
  274. package/dist/providers/codex-responses-model.js.map +1 -0
  275. package/dist/providers/codex-responses-model.test.d.ts +2 -0
  276. package/dist/providers/codex-responses-model.test.d.ts.map +1 -0
  277. package/dist/providers/codex-responses-model.test.js +240 -0
  278. package/dist/providers/codex-responses-model.test.js.map +1 -0
  279. package/dist/providers/codex.provider.d.ts +29 -0
  280. package/dist/providers/codex.provider.d.ts.map +1 -0
  281. package/dist/providers/codex.provider.js +486 -0
  282. package/dist/providers/codex.provider.js.map +1 -0
  283. package/dist/providers/codex.provider.test.d.ts +2 -0
  284. package/dist/providers/codex.provider.test.d.ts.map +1 -0
  285. package/dist/providers/codex.provider.test.js +634 -0
  286. package/dist/providers/codex.provider.test.js.map +1 -0
  287. package/dist/providers/custom-provider-adapter.test.js +56 -0
  288. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  289. package/dist/providers/fallback-responses-model.d.ts +20 -0
  290. package/dist/providers/fallback-responses-model.d.ts.map +1 -0
  291. package/dist/providers/fallback-responses-model.js +277 -0
  292. package/dist/providers/fallback-responses-model.js.map +1 -0
  293. package/dist/providers/fallback-responses-model.test.d.ts +2 -0
  294. package/dist/providers/fallback-responses-model.test.d.ts.map +1 -0
  295. package/dist/providers/fallback-responses-model.test.js +279 -0
  296. package/dist/providers/fallback-responses-model.test.js.map +1 -0
  297. package/dist/providers/fetch/compose.d.ts +7 -0
  298. package/dist/providers/fetch/compose.d.ts.map +1 -0
  299. package/dist/providers/fetch/compose.js +20 -0
  300. package/dist/providers/fetch/compose.js.map +1 -0
  301. package/dist/providers/fetch/composer.d.ts +13 -0
  302. package/dist/providers/fetch/composer.d.ts.map +1 -0
  303. package/dist/providers/fetch/composer.js +15 -0
  304. package/dist/providers/fetch/composer.js.map +1 -0
  305. package/dist/providers/fetch/composer.test.d.ts +2 -0
  306. package/dist/providers/fetch/composer.test.d.ts.map +1 -0
  307. package/dist/providers/fetch/composer.test.js +448 -0
  308. package/dist/providers/fetch/composer.test.js.map +1 -0
  309. package/dist/providers/fetch/logging-middleware.d.ts +16 -0
  310. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -0
  311. package/dist/providers/fetch/logging-middleware.js +214 -0
  312. package/dist/providers/fetch/logging-middleware.js.map +1 -0
  313. package/dist/providers/index.d.ts +1 -0
  314. package/dist/providers/index.d.ts.map +1 -1
  315. package/dist/providers/index.js +1 -0
  316. package/dist/providers/index.js.map +1 -1
  317. package/dist/providers/llama-cpp.provider.d.ts +3 -0
  318. package/dist/providers/llama-cpp.provider.d.ts.map +1 -0
  319. package/dist/providers/llama-cpp.provider.js +34 -0
  320. package/dist/providers/llama-cpp.provider.js.map +1 -0
  321. package/dist/providers/openai-compatible-middleware.d.ts +7 -0
  322. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -0
  323. package/dist/providers/openai-compatible-middleware.js +133 -0
  324. package/dist/providers/openai-compatible-middleware.js.map +1 -0
  325. package/dist/providers/openai-compatible-models.d.ts +6 -0
  326. package/dist/providers/openai-compatible-models.d.ts.map +1 -0
  327. package/dist/providers/openai-compatible-models.js +17 -0
  328. package/dist/providers/openai-compatible-models.js.map +1 -0
  329. package/dist/providers/openai-compatible-response-normalizer.d.ts +7 -0
  330. package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -0
  331. package/dist/providers/openai-compatible-response-normalizer.js +58 -0
  332. package/dist/providers/openai-compatible-response-normalizer.js.map +1 -0
  333. package/dist/providers/openai-compatible.provider.d.ts +4 -1
  334. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  335. package/dist/providers/openai-compatible.provider.js +68 -324
  336. package/dist/providers/openai-compatible.provider.js.map +1 -1
  337. package/dist/providers/openai-compatible.provider.test.js +106 -1
  338. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  339. package/dist/providers/openai.provider.js +53 -1
  340. package/dist/providers/openai.provider.js.map +1 -1
  341. package/dist/providers/opencode.provider.d.ts +19 -0
  342. package/dist/providers/opencode.provider.d.ts.map +1 -0
  343. package/dist/providers/opencode.provider.js +45 -0
  344. package/dist/providers/opencode.provider.js.map +1 -0
  345. package/dist/providers/openrouter.provider.d.ts +2 -1
  346. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  347. package/dist/providers/openrouter.provider.js +39 -22
  348. package/dist/providers/openrouter.provider.js.map +1 -1
  349. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
  350. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
  351. package/dist/providers/openrouter.provider.request-preprocessing.test.js +51 -0
  352. package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
  353. package/dist/providers/registry.d.ts +1 -0
  354. package/dist/providers/registry.d.ts.map +1 -1
  355. package/dist/providers/registry.js.map +1 -1
  356. package/dist/providers/registry.test.js +11 -2
  357. package/dist/providers/registry.test.js.map +1 -1
  358. package/dist/scripts/eval-auto-approval/dataset.d.ts +3 -3
  359. package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
  360. package/dist/services/approval-flow-coordinator.js +17 -1
  361. package/dist/services/approval-flow-coordinator.js.map +1 -1
  362. package/dist/services/approval-flow-coordinator.test.js +22 -0
  363. package/dist/services/approval-flow-coordinator.test.js.map +1 -1
  364. package/dist/services/command-message-streaming.d.ts.map +1 -1
  365. package/dist/services/command-message-streaming.js +0 -3
  366. package/dist/services/command-message-streaming.js.map +1 -1
  367. package/dist/services/command-message-streaming.test.js +4 -2
  368. package/dist/services/command-message-streaming.test.js.map +1 -1
  369. package/dist/services/conversation-clear-save.test.d.ts +2 -0
  370. package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
  371. package/dist/services/conversation-clear-save.test.js +57 -0
  372. package/dist/services/conversation-clear-save.test.js.map +1 -0
  373. package/dist/services/conversation-events.d.ts +44 -1
  374. package/dist/services/conversation-events.d.ts.map +1 -1
  375. package/dist/services/conversation-history-repair.d.ts +25 -0
  376. package/dist/services/conversation-history-repair.d.ts.map +1 -0
  377. package/dist/services/conversation-history-repair.js +227 -0
  378. package/dist/services/conversation-history-repair.js.map +1 -0
  379. package/dist/services/conversation-history-repair.test.d.ts +2 -0
  380. package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
  381. package/dist/services/conversation-history-repair.test.js +76 -0
  382. package/dist/services/conversation-history-repair.test.js.map +1 -0
  383. package/dist/services/conversation-integration.test.js +3 -1
  384. package/dist/services/conversation-integration.test.js.map +1 -1
  385. package/dist/services/conversation-log-events.d.ts +107 -0
  386. package/dist/services/conversation-log-events.d.ts.map +1 -0
  387. package/dist/services/conversation-log-events.js +12 -0
  388. package/dist/services/conversation-log-events.js.map +1 -0
  389. package/dist/services/conversation-log-writer.d.ts +40 -0
  390. package/dist/services/conversation-log-writer.d.ts.map +1 -0
  391. package/dist/services/conversation-log-writer.js +264 -0
  392. package/dist/services/conversation-log-writer.js.map +1 -0
  393. package/dist/services/conversation-persistence-types.d.ts +14 -0
  394. package/dist/services/conversation-persistence-types.d.ts.map +1 -0
  395. package/dist/services/conversation-persistence-types.js +2 -0
  396. package/dist/services/conversation-persistence-types.js.map +1 -0
  397. package/dist/services/conversation-persistence.d.ts +40 -38
  398. package/dist/services/conversation-persistence.d.ts.map +1 -1
  399. package/dist/services/conversation-persistence.js +312 -71
  400. package/dist/services/conversation-persistence.js.map +1 -1
  401. package/dist/services/conversation-persistence.test.js +485 -355
  402. package/dist/services/conversation-persistence.test.js.map +1 -1
  403. package/dist/services/conversation-replay.d.ts +26 -0
  404. package/dist/services/conversation-replay.d.ts.map +1 -0
  405. package/dist/services/conversation-replay.js +252 -0
  406. package/dist/services/conversation-replay.js.map +1 -0
  407. package/dist/services/conversation-replay.test.d.ts +2 -0
  408. package/dist/services/conversation-replay.test.d.ts.map +1 -0
  409. package/dist/services/conversation-replay.test.js +153 -0
  410. package/dist/services/conversation-replay.test.js.map +1 -0
  411. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  412. package/dist/services/conversation-result-builder.js +8 -2
  413. package/dist/services/conversation-result-builder.js.map +1 -1
  414. package/dist/services/conversation-result-builder.test.js +53 -0
  415. package/dist/services/conversation-result-builder.test.js.map +1 -1
  416. package/dist/services/conversation-retry-policy.d.ts +24 -0
  417. package/dist/services/conversation-retry-policy.d.ts.map +1 -1
  418. package/dist/services/conversation-retry-policy.js +68 -4
  419. package/dist/services/conversation-retry-policy.js.map +1 -1
  420. package/dist/services/conversation-retry-policy.test.js +99 -2
  421. package/dist/services/conversation-retry-policy.test.js.map +1 -1
  422. package/dist/services/conversation-service.d.ts +12 -2
  423. package/dist/services/conversation-service.d.ts.map +1 -1
  424. package/dist/services/conversation-service.js +29 -3
  425. package/dist/services/conversation-service.js.map +1 -1
  426. package/dist/services/conversation-session.auto-approval.test.js +2 -1
  427. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  428. package/dist/services/conversation-session.d.ts +17 -1
  429. package/dist/services/conversation-session.d.ts.map +1 -1
  430. package/dist/services/conversation-session.js +580 -134
  431. package/dist/services/conversation-session.js.map +1 -1
  432. package/dist/services/conversation-store.d.ts.map +1 -1
  433. package/dist/services/conversation-store.js +6 -5
  434. package/dist/services/conversation-store.js.map +1 -1
  435. package/dist/services/conversation-store.test.js +34 -0
  436. package/dist/services/conversation-store.test.js.map +1 -1
  437. package/dist/services/input-surge-guard.d.ts +4 -0
  438. package/dist/services/input-surge-guard.d.ts.map +1 -1
  439. package/dist/services/input-surge-guard.js +2 -2
  440. package/dist/services/input-surge-guard.js.map +1 -1
  441. package/dist/services/input-surge-guard.test.js +15 -1
  442. package/dist/services/input-surge-guard.test.js.map +1 -1
  443. package/dist/services/large-uncached-input-guard.d.ts +35 -0
  444. package/dist/services/large-uncached-input-guard.d.ts.map +1 -0
  445. package/dist/services/large-uncached-input-guard.js +127 -0
  446. package/dist/services/large-uncached-input-guard.js.map +1 -0
  447. package/dist/services/large-uncached-input-guard.test.d.ts +2 -0
  448. package/dist/services/large-uncached-input-guard.test.d.ts.map +1 -0
  449. package/dist/services/large-uncached-input-guard.test.js +160 -0
  450. package/dist/services/large-uncached-input-guard.test.js.map +1 -0
  451. package/dist/services/logging-contract.d.ts +1 -1
  452. package/dist/services/logging-service.d.ts +4 -0
  453. package/dist/services/logging-service.d.ts.map +1 -1
  454. package/dist/services/logging-service.js +91 -33
  455. package/dist/services/logging-service.js.map +1 -1
  456. package/dist/services/model-service.d.ts +2 -0
  457. package/dist/services/model-service.d.ts.map +1 -1
  458. package/dist/services/model-service.js +7 -1
  459. package/dist/services/model-service.js.map +1 -1
  460. package/dist/services/provider-traffic.d.ts +87 -0
  461. package/dist/services/provider-traffic.d.ts.map +1 -0
  462. package/dist/services/provider-traffic.js +603 -0
  463. package/dist/services/provider-traffic.js.map +1 -0
  464. package/dist/services/provider-traffic.test.d.ts +2 -0
  465. package/dist/services/provider-traffic.test.d.ts.map +1 -0
  466. package/dist/services/provider-traffic.test.js +475 -0
  467. package/dist/services/provider-traffic.test.js.map +1 -0
  468. package/dist/services/rtk-service.d.ts.map +1 -1
  469. package/dist/services/rtk-service.js +1 -2
  470. package/dist/services/rtk-service.js.map +1 -1
  471. package/dist/services/service-interfaces.d.ts +16 -0
  472. package/dist/services/service-interfaces.d.ts.map +1 -1
  473. package/dist/services/settings-schema.d.ts +36 -28
  474. package/dist/services/settings-schema.d.ts.map +1 -1
  475. package/dist/services/settings-schema.js +7 -2
  476. package/dist/services/settings-schema.js.map +1 -1
  477. package/dist/services/settings-service.js +6 -6
  478. package/dist/services/settings-service.js.map +1 -1
  479. package/dist/services/settings-sources.d.ts.map +1 -1
  480. package/dist/services/settings-sources.js +1 -0
  481. package/dist/services/settings-sources.js.map +1 -1
  482. package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
  483. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  484. package/dist/services/shell-auto-approval-evaluator.js +284 -81
  485. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  486. package/dist/services/shell-auto-approval-evaluator.test.js +215 -15
  487. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  488. package/dist/services/stream-event-processor.d.ts +4 -0
  489. package/dist/services/stream-event-processor.d.ts.map +1 -1
  490. package/dist/services/stream-event-processor.js +78 -39
  491. package/dist/services/stream-event-processor.js.map +1 -1
  492. package/dist/services/stream-event-processor.test.js +71 -0
  493. package/dist/services/stream-event-processor.test.js.map +1 -1
  494. package/dist/services/subagents/subagent-manager.d.ts +2 -0
  495. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  496. package/dist/services/subagents/subagent-manager.js +124 -21
  497. package/dist/services/subagents/subagent-manager.js.map +1 -1
  498. package/dist/services/subagents/subagent-manager.test.js +453 -0
  499. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  500. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  501. package/dist/services/terminal-result-collector.js +6 -1
  502. package/dist/services/terminal-result-collector.js.map +1 -1
  503. package/dist/services/tool-call-arguments.d.ts +20 -0
  504. package/dist/services/tool-call-arguments.d.ts.map +1 -0
  505. package/dist/services/tool-call-arguments.js +49 -0
  506. package/dist/services/tool-call-arguments.js.map +1 -0
  507. package/dist/services/tool-execution-ledger.d.ts +35 -0
  508. package/dist/services/tool-execution-ledger.d.ts.map +1 -0
  509. package/dist/services/tool-execution-ledger.js +204 -0
  510. package/dist/services/tool-execution-ledger.js.map +1 -0
  511. package/dist/services/tool-execution-ledger.test.d.ts +2 -0
  512. package/dist/services/tool-execution-ledger.test.d.ts.map +1 -0
  513. package/dist/services/tool-execution-ledger.test.js +96 -0
  514. package/dist/services/tool-execution-ledger.test.js.map +1 -0
  515. package/dist/tools/apply-patch.d.ts +8 -0
  516. package/dist/tools/apply-patch.d.ts.map +1 -1
  517. package/dist/tools/apply-patch.js +157 -2
  518. package/dist/tools/apply-patch.js.map +1 -1
  519. package/dist/tools/apply-patch.test.js +81 -0
  520. package/dist/tools/apply-patch.test.js.map +1 -1
  521. package/dist/tools/search-replace.d.ts.map +1 -1
  522. package/dist/tools/search-replace.js +92 -140
  523. package/dist/tools/search-replace.js.map +1 -1
  524. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  525. package/dist/utils/command-safety/path-analysis.js +143 -35
  526. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  527. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  528. package/dist/utils/conversation-event-handler.js +52 -4
  529. package/dist/utils/conversation-event-handler.js.map +1 -1
  530. package/dist/utils/conversation-event-handler.test.js +175 -0
  531. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  532. package/dist/utils/error-helpers.d.ts +1 -0
  533. package/dist/utils/error-helpers.d.ts.map +1 -1
  534. package/dist/utils/error-helpers.js +61 -0
  535. package/dist/utils/error-helpers.js.map +1 -1
  536. package/dist/utils/error-helpers.test.js +13 -1
  537. package/dist/utils/error-helpers.test.js.map +1 -1
  538. package/dist/utils/ink-render-options.d.ts +1 -1
  539. package/dist/utils/ink-render-options.d.ts.map +1 -1
  540. package/dist/utils/ink-render-options.js +1 -1
  541. package/dist/utils/ink-render-options.js.map +1 -1
  542. package/dist/utils/streaming-session-factory.d.ts +2 -0
  543. package/dist/utils/streaming-session-factory.d.ts.map +1 -1
  544. package/dist/utils/streaming-session-factory.js +4 -0
  545. package/dist/utils/streaming-session-factory.js.map +1 -1
  546. package/package.json +2 -2
@@ -3,6 +3,15 @@ import { SETTING_KEYS, SENSITIVE_SETTINGS } from '../services/settings-service.j
3
3
  import { useInputContext } from '../context/InputContext.js';
4
4
  import { useSelection } from './use-selection.js';
5
5
  import { scoreSubsequence } from '../utils/subsequence-filter.js';
6
+ export const SETTINGS_CATEGORIES = [
7
+ { id: 'model', label: 'Model & Reasoning' },
8
+ { id: 'subagents', label: 'Subagents' },
9
+ { id: 'approvals', label: 'Safety & Approvals' },
10
+ { id: 'shell', label: 'Shell Execution' },
11
+ { id: 'search', label: 'Search & Web' },
12
+ { id: 'uiLogging', label: 'UI & Logging' },
13
+ { id: 'advanced', label: 'Advanced' },
14
+ ];
6
15
  const SETTING_DESCRIPTIONS = {
7
16
  [SETTING_KEYS.AGENT_MODEL]: 'The AI model to use (e.g. gpt-4, claude-3-opus)',
8
17
  [SETTING_KEYS.AGENT_REASONING_EFFORT]: 'Reasoning effort (none|minimal|low|medium|high|xhigh|default)',
@@ -26,6 +35,8 @@ const SETTING_DESCRIPTIONS = {
26
35
  [SETTING_KEYS.SHELL_AUTO_APPROVE_MODE]: 'Shell command auto-approval mode (off|advisory|auto)',
27
36
  [SETTING_KEYS.AGENT_AUTO_APPROVE_MODEL]: 'Model to use for auto-approval evaluation (fast/cheap)',
28
37
  [SETTING_KEYS.AGENT_AUTO_APPROVE_PROVIDER]: 'Provider for the auto-approval model (optional)',
38
+ [SETTING_KEYS.APP_PLAN_MODE]: 'Plan mode: read-only research and implementation planning (true|false)',
39
+ [SETTING_KEYS.APP_ORCHESTRATOR_MODE]: 'Delegate tool-backed work through subagents (true|false)',
29
40
  [SETTING_KEYS.WEB_SEARCH_PROVIDER]: 'Web search provider (tavily, exa)',
30
41
  [SETTING_KEYS.APP_SEARCH_VIA_SHELL]: 'Use shell commands (ripgrep/find) for codebase search instead of built-in tools (true|false)',
31
42
  [SETTING_KEYS.SHELL_USE_RTK_COMPRESSION]: 'Use RTK (third-party) to compress shell command output; term2 downloads it automatically (true|false)',
@@ -46,6 +57,8 @@ const HIDDEN_SETTINGS = new Set([
46
57
  SETTING_KEYS.APP_SHELL_PATH,
47
58
  SETTING_KEYS.APP_MENTOR_MODE,
48
59
  SETTING_KEYS.APP_LITE_MODE,
60
+ SETTING_KEYS.APP_PLAN_MODE,
61
+ SETTING_KEYS.APP_ORCHESTRATOR_MODE,
49
62
  SETTING_KEYS.TOOLS_LOG_FILE_OPS,
50
63
  SETTING_KEYS.DEBUG_BASH_TOOL,
51
64
  SETTING_KEYS.SSH_ENABLED,
@@ -59,22 +72,52 @@ const COMMON_SETTINGS = [
59
72
  SETTING_KEYS.AGENT_MODEL,
60
73
  SETTING_KEYS.AGENT_REASONING_EFFORT,
61
74
  SETTING_KEYS.AGENT_TEMPERATURE,
62
- SETTING_KEYS.AGENT_MAX_TURNS,
63
- SETTING_KEYS.LOGGING_LOG_LEVEL,
64
- SETTING_KEYS.SHELL_TIMEOUT,
65
75
  ];
76
+ function findCategoryById(id) {
77
+ return (SETTINGS_CATEGORIES.find((category) => category.id === id) || SETTINGS_CATEGORIES[SETTINGS_CATEGORIES.length - 1]);
78
+ }
79
+ export function getSettingCategory(key) {
80
+ if (key === SETTING_KEYS.AGENT_MODEL ||
81
+ key === SETTING_KEYS.AGENT_REASONING_EFFORT ||
82
+ key === SETTING_KEYS.AGENT_TEMPERATURE ||
83
+ key === SETTING_KEYS.AGENT_MENTOR_MODEL ||
84
+ key === SETTING_KEYS.AGENT_MENTOR_REASONING_EFFORT ||
85
+ key === SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER) {
86
+ return findCategoryById('model');
87
+ }
88
+ if (key === SETTING_KEYS.APP_PLAN_MODE ||
89
+ key === SETTING_KEYS.APP_ORCHESTRATOR_MODE ||
90
+ key === SETTING_KEYS.APP_MENTOR_MODE ||
91
+ key === SETTING_KEYS.APP_LITE_MODE) {
92
+ return findCategoryById('modes');
93
+ }
94
+ if (key === SETTING_KEYS.SHELL_AUTO_APPROVE_MODE || key === SETTING_KEYS.AGENT_AUTO_APPROVE_MODEL) {
95
+ return findCategoryById('approvals');
96
+ }
97
+ if (key === SETTING_KEYS.SHELL_TIMEOUT ||
98
+ key === SETTING_KEYS.SHELL_MAX_OUTPUT_LINES ||
99
+ key === SETTING_KEYS.SHELL_MAX_OUTPUT_CHARS ||
100
+ key === SETTING_KEYS.SHELL_USE_RTK_COMPRESSION) {
101
+ return findCategoryById('shell');
102
+ }
103
+ if (key === SETTING_KEYS.WEB_SEARCH_PROVIDER || key === SETTING_KEYS.APP_SEARCH_VIA_SHELL) {
104
+ return findCategoryById('search');
105
+ }
106
+ if (key.toLowerCase().includes('subagent')) {
107
+ return findCategoryById('subagents');
108
+ }
109
+ if (key === SETTING_KEYS.UI_HISTORY_SIZE ||
110
+ key === SETTING_KEYS.UI_PASTE_THRESHOLD ||
111
+ key === SETTING_KEYS.LOGGING_LOG_LEVEL ||
112
+ key === SETTING_KEYS.LOGGING_DISABLE) {
113
+ return findCategoryById('uiLogging');
114
+ }
115
+ return findCategoryById('advanced');
116
+ }
66
117
  function categoryRank(key) {
67
- const prefix = key.split('.')[0] || '';
68
- const ranks = {
69
- common: 0,
70
- agent: 1,
71
- shell: 2,
72
- ui: 3,
73
- logging: 4,
74
- providers: 5,
75
- webSearch: 6,
76
- };
77
- return ranks[prefix] ?? 50;
118
+ const category = getSettingCategory(key);
119
+ const index = SETTINGS_CATEGORIES.findIndex((item) => item.id === category.id);
120
+ return index === -1 ? SETTINGS_CATEGORIES.length : index;
78
121
  }
79
122
  function sortSettings(a, b) {
80
123
  const aCommonIndex = COMMON_SETTINGS.indexOf(a.key);
@@ -135,7 +178,10 @@ export function filterSettingsByQuery(settings, query, maxResults = 10) {
135
178
  return settings
136
179
  .map((item) => {
137
180
  const keyScore = scoreSubsequence(trimmed, item.key);
138
- const descriptionScore = item.description ? scoreSubsequence(trimmed, item.description) : -Infinity;
181
+ const hasDescriptionSubstring = item.description
182
+ ? item.description.toLowerCase().includes(trimmed.toLowerCase())
183
+ : false;
184
+ const descriptionScore = item.description && hasDescriptionSubstring ? scoreSubsequence(trimmed, item.description) : -Infinity;
139
185
  const weightedKey = keyScore === -Infinity ? -Infinity : keyScore * 3;
140
186
  const weightedDescription = descriptionScore === -Infinity ? -Infinity : descriptionScore;
141
187
  const score = Math.max(weightedKey, weightedDescription);
@@ -146,6 +192,9 @@ export function filterSettingsByQuery(settings, query, maxResults = 10) {
146
192
  .slice(0, maxResults)
147
193
  .map(({ item }) => item);
148
194
  }
195
+ export function filterSettingsByCategory(settings, categoryId) {
196
+ return settings.filter((item) => getSettingCategory(item.key).id === categoryId);
197
+ }
149
198
  export function clampIndex(currentIndex, arrayLength) {
150
199
  if (arrayLength === 0) {
151
200
  return 0;
@@ -176,15 +225,43 @@ export const useSettingsCompletion = (settingsService) => {
176
225
  const allSettings = useMemo(() => {
177
226
  return buildSettingsList(SETTING_KEYS, SETTING_DESCRIPTIONS, true, (key) => getCurrentSettingValue(settingsService, key));
178
227
  }, [settingsVersion, settingsService]);
228
+ const categories = useMemo(() => {
229
+ const presentCategoryIds = new Set(allSettings.map((item) => getSettingCategory(item.key).id));
230
+ return SETTINGS_CATEGORIES.filter((category) => presentCategoryIds.has(category.id));
231
+ }, [allSettings]);
232
+ const [activeCategoryId, setActiveCategoryId] = useState(() => SETTINGS_CATEGORIES[0]?.id ?? 'model');
233
+ const resolvedActiveCategoryId = useMemo(() => {
234
+ if (categories.some((category) => category.id === activeCategoryId)) {
235
+ return activeCategoryId;
236
+ }
237
+ return categories[0]?.id ?? activeCategoryId;
238
+ }, [activeCategoryId, categories]);
239
+ const isSearchingAll = query.trim().length > 0;
179
240
  const filteredEntries = useMemo(() => {
180
- return filterSettingsByQuery(allSettings, query, allSettings.length);
181
- }, [allSettings, query]);
182
- const { selectedIndex, setSelectedIndex, moveUp, moveDown, getSelectedItem } = useSelection(filteredEntries);
241
+ const candidateSettings = isSearchingAll
242
+ ? allSettings
243
+ : filterSettingsByCategory(allSettings, resolvedActiveCategoryId);
244
+ return filterSettingsByQuery(candidateSettings, query, candidateSettings.length);
245
+ }, [allSettings, isSearchingAll, query, resolvedActiveCategoryId]);
246
+ const { selectedIndex, setSelectedIndex, moveUp, moveDown, moveHome, moveEnd, pageUp, pageDown, getSelectedItem } = useSelection(filteredEntries);
183
247
  const [scrollOffset, setScrollOffset] = useState(0);
184
248
  const [targetKey, setTargetKey] = useState(null);
185
249
  useEffect(() => {
186
250
  setScrollOffset(0);
187
251
  }, [query]);
252
+ const switchCategory = useCallback((direction = 'next') => {
253
+ if (categories.length === 0)
254
+ return;
255
+ const currentIndex = Math.max(0, categories.findIndex((category) => category.id === resolvedActiveCategoryId));
256
+ const delta = direction === 'next' ? 1 : -1;
257
+ const nextIndex = (currentIndex + delta + categories.length) % categories.length;
258
+ const nextCategory = categories[nextIndex];
259
+ if (!nextCategory)
260
+ return;
261
+ setActiveCategoryId(nextCategory.id);
262
+ setSelectedIndex(0);
263
+ setScrollOffset(0);
264
+ }, [categories, resolvedActiveCategoryId, setSelectedIndex]);
188
265
  useEffect(() => {
189
266
  if (selectedIndex < scrollOffset) {
190
267
  setScrollOffset(selectedIndex);
@@ -210,6 +287,7 @@ export const useSettingsCompletion = (settingsService) => {
210
287
  setMode('settings_completion');
211
288
  setTriggerIndex(startIndex);
212
289
  if (initialSelectionKey) {
290
+ setActiveCategoryId(getSettingCategory(initialSelectionKey).id);
213
291
  setTargetKey(initialSelectionKey);
214
292
  }
215
293
  else {
@@ -232,11 +310,21 @@ export const useSettingsCompletion = (settingsService) => {
232
310
  filteredEntries,
233
311
  selectedIndex,
234
312
  scrollOffset,
313
+ isSearchingAll,
314
+ categories,
315
+ activeCategoryId: resolvedActiveCategoryId,
235
316
  open,
236
317
  close,
237
318
  // updateQuery,
238
319
  moveUp,
239
320
  moveDown,
321
+ moveHome,
322
+ moveEnd,
323
+ pageUp,
324
+ pageDown,
325
+ moveLeft: () => switchCategory('prev'),
326
+ moveRight: () => switchCategory('next'),
327
+ switchCategory,
240
328
  getSelectedItem,
241
329
  };
242
330
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-settings-completion.js","sourceRoot":"","sources":["../../source/hooks/use-settings-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-settings-completion.js","sourceRoot":"","sources":["../../source/hooks/use-settings-completion.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
+ // @ts-ignore
2
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
1
3
  import test from 'ava';
2
- import React, { useEffect } from 'react';
4
+ import React, { useEffect, act } from 'react';
3
5
  import { render } from 'ink-testing-library';
4
6
  import { InputProvider, useInputContext } from '../context/InputContext.js';
5
- import { useSettingsCompletion } from './use-settings-completion.js';
7
+ import { SETTINGS_TRIGGER } from '../components/Input/triggers.js';
8
+ import { useSettingsCompletion, getSettingCategory } from './use-settings-completion.js';
6
9
  import { createMockSettingsService } from '../services/settings-service.mock.js';
7
10
  import { Text } from 'ink';
8
11
  const settingsService = createMockSettingsService({
@@ -12,10 +15,10 @@ const TestComponent = ({ onResults }) => {
12
15
  const { setInput, setCursorOffset, setMode, setTriggerIndex } = useInputContext();
13
16
  const settings = useSettingsCompletion(settingsService);
14
17
  useEffect(() => {
15
- const input = '/settings ';
18
+ const input = SETTINGS_TRIGGER;
16
19
  setInput(input);
17
20
  setCursorOffset(input.length);
18
- setTriggerIndex('/settings '.length);
21
+ setTriggerIndex(SETTINGS_TRIGGER.length);
19
22
  setMode('settings_completion');
20
23
  }, [setCursorOffset, setInput, setMode, setTriggerIndex]);
21
24
  useEffect(() => {
@@ -23,33 +26,69 @@ const TestComponent = ({ onResults }) => {
23
26
  }, [onResults, settings]);
24
27
  return React.createElement(Text, null, settings.query);
25
28
  };
26
- test.serial('useSettingsCompletion keeps matches beyond MAX_RESULTS reachable and scrolls selection into view', async (t) => {
29
+ const SearchComponent = ({ onResults }) => {
30
+ const { setInput, setCursorOffset, setMode, setTriggerIndex } = useInputContext();
31
+ const settings = useSettingsCompletion(settingsService);
32
+ useEffect(() => {
33
+ const input = `${SETTINGS_TRIGGER}timeout`;
34
+ setInput(input);
35
+ setCursorOffset(input.length);
36
+ setTriggerIndex(SETTINGS_TRIGGER.length);
37
+ setMode('settings_completion');
38
+ }, [setCursorOffset, setInput, setMode, setTriggerIndex]);
39
+ useEffect(() => {
40
+ onResults(settings);
41
+ }, [onResults, settings]);
42
+ return React.createElement(Text, null, settings.query);
43
+ };
44
+ test('useSettingsCompletion filters settings by active task tab and switches tabs', (t) => {
27
45
  let capturedSettings;
28
- render(React.createElement(InputProvider, null, React.createElement(TestComponent, {
29
- onResults: (results) => {
30
- capturedSettings = results;
31
- },
32
- })));
33
- for (let attempt = 0; attempt < 20; attempt++) {
34
- if (capturedSettings?.isOpen && capturedSettings.filteredEntries.length > 10) {
35
- break;
36
- }
37
- await new Promise((resolve) => setTimeout(resolve, 10));
38
- }
39
- t.true(capturedSettings.filteredEntries.length > 10);
46
+ let renderer;
47
+ act(() => {
48
+ renderer = render(React.createElement(InputProvider, null, React.createElement(TestComponent, {
49
+ onResults: (results) => {
50
+ capturedSettings = results;
51
+ },
52
+ })));
53
+ });
54
+ // Verify initial state
55
+ const categories = capturedSettings.categories;
56
+ t.true(categories.length > 1, 'Should have at least 2 categories to switch');
57
+ const initialCategoryId = categories[0].id;
58
+ const nextCategoryId = categories[1].id;
59
+ t.is(capturedSettings.activeCategoryId, initialCategoryId);
60
+ t.true(capturedSettings.filteredEntries.length > 0);
61
+ t.true(capturedSettings.filteredEntries.every((item) => getSettingCategory(item.key).id === initialCategoryId));
40
62
  t.is(capturedSettings.selectedIndex, 0);
41
63
  t.is(capturedSettings.scrollOffset, 0);
42
- for (let index = 0; index < 11; index++) {
43
- capturedSettings.moveDown();
44
- await new Promise((resolve) => setTimeout(resolve, 0));
45
- }
46
- for (let attempt = 0; attempt < 20; attempt++) {
47
- if (capturedSettings.selectedIndex > 9 && capturedSettings.scrollOffset > 0) {
48
- break;
49
- }
50
- await new Promise((resolve) => setTimeout(resolve, 10));
51
- }
52
- t.true(capturedSettings.selectedIndex > 9);
53
- t.true(capturedSettings.scrollOffset > 0);
64
+ // Switch category
65
+ act(() => {
66
+ capturedSettings.switchCategory('next');
67
+ });
68
+ t.is(capturedSettings.activeCategoryId, nextCategoryId);
69
+ t.true(capturedSettings.filteredEntries.length > 0);
70
+ t.true(capturedSettings.filteredEntries.every((item) => getSettingCategory(item.key).id === nextCategoryId));
71
+ t.is(capturedSettings.selectedIndex, 0);
72
+ t.is(capturedSettings.scrollOffset, 0);
73
+ act(() => {
74
+ renderer.unmount();
75
+ });
76
+ });
77
+ test('useSettingsCompletion searches all task tabs when query is present', (t) => {
78
+ let capturedSettings;
79
+ let renderer;
80
+ act(() => {
81
+ renderer = render(React.createElement(InputProvider, null, React.createElement(SearchComponent, {
82
+ onResults: (results) => {
83
+ capturedSettings = results;
84
+ },
85
+ })));
86
+ });
87
+ t.is(capturedSettings.activeCategoryId, capturedSettings.categories[0].id);
88
+ t.true(capturedSettings.isSearchingAll);
89
+ t.true(capturedSettings.filteredEntries.some((item) => item.key === 'shell.timeout'));
90
+ act(() => {
91
+ renderer.unmount();
92
+ });
54
93
  });
55
94
  //# sourceMappingURL=use-settings-completion.scroll.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-settings-completion.scroll.test.js","sourceRoot":"","sources":["../../source/hooks/use-settings-completion.scroll.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-settings-completion.scroll.test.js","sourceRoot":"","sources":["../../source/hooks/use-settings-completion.scroll.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import test from 'ava';
2
- import { buildSettingsList, filterSettingsByQuery, clampIndex } from './use-settings-completion.js';
2
+ import { buildSettingsList, filterSettingsByQuery, clampIndex, getSettingCategory, filterSettingsByCategory, SETTINGS_CATEGORIES, } from './use-settings-completion.js';
3
3
  // Mock setting keys for testing (matching actual SETTING_KEYS structure)
4
4
  const MOCK_SETTING_KEYS = {
5
5
  AGENT_MODEL: 'agent.model',
@@ -198,6 +198,26 @@ test('buildSettingsList - no duplicate keys', (t) => {
198
198
  const uniqueKeys = new Set(keys);
199
199
  t.is(keys.length, uniqueKeys.size, 'Duplicate keys found');
200
200
  });
201
+ test('getSettingCategory - groups settings by task-oriented menu tabs', (t) => {
202
+ const categoryIds = new Set(SETTINGS_CATEGORIES.map((c) => c.id));
203
+ // Check that the returned category is always a valid category in SETTINGS_CATEGORIES
204
+ t.true(categoryIds.has(getSettingCategory('agent.model').id));
205
+ t.true(categoryIds.has(getSettingCategory('shell.timeout').id));
206
+ t.true(categoryIds.has(getSettingCategory('app.planMode').id));
207
+ // Verify specific expected mappings for key settings
208
+ t.is(getSettingCategory('agent.model').id, 'model');
209
+ t.is(getSettingCategory('agent.mentorModel').id, 'model');
210
+ t.is(getSettingCategory('shell.autoApproveMode').id, 'approvals');
211
+ t.is(getSettingCategory('shell.timeout').id, 'shell');
212
+ t.is(getSettingCategory('app.searchViaShell').id, 'search');
213
+ t.is(getSettingCategory('agent.subagentWorkerModel').id, 'subagents');
214
+ t.is(getSettingCategory('ui.pasteThreshold').id, 'uiLogging');
215
+ });
216
+ test('filterSettingsByCategory - limits visible settings to the active task tab', (t) => {
217
+ const settings = [{ key: 'agent.model' }, { key: 'shell.timeout' }, { key: 'webSearch.provider' }];
218
+ const result = filterSettingsByCategory(settings, 'shell');
219
+ t.deepEqual(result.map((item) => item.key), ['shell.timeout']);
220
+ });
201
221
  // filterSettingsByQuery tests
202
222
  test('filterSettingsByQuery - empty query returns limited settings', (t) => {
203
223
  const settings = buildSettingsList(MOCK_SETTING_KEYS, MOCK_DESCRIPTIONS);
@@ -278,6 +298,21 @@ test('filterSettingsByQuery - handles empty settings array', (t) => {
278
298
  const result = filterSettingsByQuery([], 'agent', 10);
279
299
  t.is(result.length, 0);
280
300
  });
301
+ test('filterSettingsByQuery - description matching requires substring match, not loose subsequence', (t) => {
302
+ const settings = [
303
+ {
304
+ key: 'app.searchViaShell',
305
+ description: 'Use shell commands (ripgrep/find) for codebase search instead of built-in tools (true|false)',
306
+ },
307
+ ];
308
+ // "model" is a subsequence in the description but not a substring
309
+ const result = filterSettingsByQuery(settings, 'model', 10);
310
+ t.is(result.length, 0);
311
+ // "shell" is a substring in the description
312
+ const result2 = filterSettingsByQuery(settings, 'shell', 10);
313
+ t.is(result2.length, 1);
314
+ t.is(result2[0].key, 'app.searchViaShell');
315
+ });
281
316
  // clampIndex tests
282
317
  test('clampIndex - returns 0 when array is empty', (t) => {
283
318
  t.is(clampIndex(0, 0), 0);
@@ -1 +1 @@
1
- {"version":3,"file":"use-settings-completion.test.js","sourceRoot":"","sources":["../../source/hooks/use-settings-completion.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAEpG,yEAAyE;AACzE,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,aAAa;IAC1B,sBAAsB,EAAE,uBAAuB;IAC/C,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,gBAAgB;IACjC,oBAAoB,EAAE,qBAAqB;IAC3C,wBAAwB,EAAE,yBAAyB;IACnD,yBAAyB,EAAE,0BAA0B;IACrD,yBAAyB,EAAE,2BAA2B;IACtD,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,mBAAmB;IACvC,qBAAqB,EAAE,sBAAsB;IAC7C,6BAA6B,EAAE,6BAA6B;IAC5D,aAAa,EAAE,eAAe;IAC9B,sBAAsB,EAAE,sBAAsB;IAC9C,sBAAsB,EAAE,sBAAsB;IAC9C,eAAe,EAAE,gBAAgB;IACjC,iBAAiB,EAAE,kBAAkB;IACrC,eAAe,EAAE,wBAAwB;IACzC,aAAa,EAAE,sBAAsB;IACrC,wBAAwB,EAAE,+BAA+B;IACzD,YAAY,EAAE,qBAAqB;IACnC,cAAc,EAAE,eAAe;IAC/B,kBAAkB,EAAE,yBAAyB;IAC7C,eAAe,EAAE,qBAAqB;IACtC,mBAAmB,EAAE,oBAAoB;CACjC,CAAC;AAEX,MAAM,iBAAiB,GAA2B;IAChD,aAAa,EAAE,iDAAiD;IAChE,uBAAuB,EAAE,qDAAqD;IAC9E,gBAAgB,EAAE,kCAAkC;IACpD,gBAAgB,EAAE,4BAA4B;IAC9C,qBAAqB,EAAE,8CAA8C;IACrE,yBAAyB,EAAE,oBAAoB;IAC/C,0BAA0B,EAAE,qBAAqB;IACjD,2BAA2B,EAAE,qBAAqB;IAClD,wBAAwB,EAAE,kBAAkB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,6BAA6B,EAAE,yBAAyB;IACxD,eAAe,EAAE,uCAAuC;IACxD,sBAAsB,EAAE,0CAA0C;IAClE,sBAAsB,EAAE,+CAA+C;IACvE,gBAAgB,EAAE,iCAAiC;IACnD,kBAAkB,EAAE,0CAA0C;IAC9D,wBAAwB,EAAE,qBAAqB;IAC/C,sBAAsB,EAAE,sBAAsB;IAC9C,+BAA+B,EAAE,0DAA0D;IAC3F,qBAAqB,EAAE,4CAA4C;IACnE,eAAe,EAAE,0BAA0B;IAC3C,yBAAyB,EAAE,6BAA6B;IACxD,qBAAqB,EAAE,4BAA4B;IACnD,oBAAoB,EAAE,mCAAmC;CAC1D,CAAC;AAEF,0BAA0B;AAC1B,IAAI,CAAC,6DAA6D,EAAE,CAAC,CAAC,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;QAC3B,gBAAgB;QAChB,sBAAsB;QACtB,yBAAyB;QACzB,0BAA0B;QAC1B,2BAA2B;QAC3B,wBAAwB;QACxB,sBAAsB;QACtB,+BAA+B;QAC/B,qBAAqB;QACrB,eAAe;QACf,yBAAyB;QACzB,qBAAqB;KACtB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACtG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC,EAAE,EAAE;IACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,wCAAwC;IACxC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAEnC,wCAAwC;IACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mEAAmE,EAAE,CAAC,CAAC,EAAE,EAAE;IAC9E,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QACzB,gBAAgB;QAChB,sBAAsB;QACtB,sBAAsB;QACtB,+BAA+B;QAC/B,qBAAqB;QACrB,eAAe;QACf,yBAAyB;QACzB,qBAAqB;KACtB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAEpG,mFAAmF;IACnF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IACnC,2CAA2C;IAC3C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,CAAC,CAAC,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5C,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG;QACvB,aAAa;QACb,uBAAuB;QACvB,gBAAgB;QAChB,eAAe;QACf,kBAAkB;KACnB,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,CAAC,CAAC,EAAE,EAAE;IACtE,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAA6B,EAAE;QACrE,MAAM,MAAM,GAA8C;YACxD,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,MAAM;YACvB,kBAAkB,EAAE,MAAM;SAC3B,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAElG,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAC;IAExE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/D,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAyC,EAAE;QACjF,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAElG,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAEzE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/E,MAAM,sBAAsB,GAAG;QAC7B,aAAa,EAAE,mBAAmB;KACnC,CAAC;IAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAEzE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,CAAC,CAAC,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAExD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;QAC3B,gBAAgB;QAChB,sBAAsB;QACtB,yBAAyB;QACzB,0BAA0B;QAC1B,2BAA2B;QAC3B,wBAAwB;QACxB,sBAAsB;QACtB,+BAA+B;QAC/B,qBAAqB;QACrB,eAAe;QACf,yBAAyB;QACzB,qBAAqB;KACtB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACtG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE,EAAE;IAClD,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAEjC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,8BAA8B;AAC9B,IAAI,CAAC,8DAA8D,EAAE,CAAC,CAAC,EAAE,EAAE;IACzE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wEAAwE,EAAE,CAAC,CAAC,EAAE,EAAE;IACnF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC,EAAE,EAAE;IACnE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,CAAC,CAAC,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAG;QACZ,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE;QACjD,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE;QACjD,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE;KAClD,CAAC;IAEF,KAAK,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,KAAK,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,KAAK,yBAAyB,CAAC,CAAC;QACpE,CAAC,CAAC,IAAI,CACJ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAC9D,UAAU,KAAK,kCAAkC,oBAAoB,GAAG,CACzE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,KAAK,GAAG;QACZ,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE;QAClD,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE;QAC9C,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE;KACtD,CAAC;IAEF,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,KAAK,yBAAyB,CAAC,CAAC;QACpE,CAAC,CAAC,IAAI,CACJ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,WAAW,CAAC,EAC/C,UAAU,KAAK,sBAAsB,WAAW,GAAG,CACpD,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0EAA0E,EAAE,CAAC,CAAC,EAAE,EAAE;IACrF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,mDAAmD;IACnD,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAE5B,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAE5B,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAE/D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,CAAC,CAAC,EAAE,EAAE;IAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE,EAAE;IACjE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAEpE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC,EAAE,EAAE;IACvD,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/D,MAAM,KAAK,GAAG;QACZ,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;QACpC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;QACpC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;KACrC,CAAC;IAEF,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;QAChD,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,KAAK,cAAc,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,CAAC,CAAC,EAAE,EAAE;IAChE,MAAM,KAAK,GAAG;QACZ,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;QACpC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;QACrC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;KACvC,CAAC;IAEF,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;QAChD,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,KAAK,sBAAsB,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC7C,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC7D,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,IAAI,CAAC,yEAAyE,EAAE,CAAC,CAAC,EAAE,EAAE;IACpF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,6CAA6C;IAC7C,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,uBAAuB;IACvB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAE7D,4CAA4C;IAC5C,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"use-settings-completion.test.js","sourceRoot":"","sources":["../../source/hooks/use-settings-completion.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ export type SettingValueSuggestion = {
5
5
  };
6
6
  export declare function buildSettingValueSuggestions(key: string): SettingValueSuggestion[];
7
7
  export declare function filterSettingValueSuggestionsByQuery(suggestions: SettingValueSuggestion[], query: string, maxResults?: number, key?: string): SettingValueSuggestion[];
8
- export declare const useSettingsValueCompletion: (settingsService: SettingsService) => {
8
+ export declare const useSettingsValueCompletion: (settingsService: SettingsService, options?: {
9
+ onReset?: (key: string) => void;
10
+ }) => {
9
11
  isOpen: boolean;
10
12
  triggerIndex: number | null;
11
13
  settingKey: string | null;
@@ -17,6 +19,10 @@ export declare const useSettingsValueCompletion: (settingsService: SettingsServi
17
19
  resetCurrentSetting: () => void;
18
20
  moveUp: () => void;
19
21
  moveDown: () => void;
22
+ moveHome: () => void;
23
+ moveEnd: () => void;
24
+ pageUp: () => void;
25
+ pageDown: () => void;
20
26
  getSelectedItem: () => SettingValueSuggestion | undefined;
21
27
  isNumericSettings: boolean;
22
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-settings-value-completion.d.ts","sourceRoot":"","sources":["../../source/hooks/use-settings-value-completion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAuGF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAGlF;AAED,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,sBAAsB,EAAE,EACrC,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAoB,EAChC,GAAG,CAAC,EAAE,MAAM,GACX,sBAAsB,EAAE,CAsC1B;AAED,eAAO,MAAM,0BAA0B,GAAI,iBAAiB,eAAe;;;;;;;gBAqCjE,MAAM,mBAAmB,MAAM;;;;;;;CA4DxC,CAAC"}
1
+ {"version":3,"file":"use-settings-value-completion.d.ts","sourceRoot":"","sources":["../../source/hooks/use-settings-value-completion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAyGF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAGlF;AAED,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,sBAAsB,EAAE,EACrC,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAoB,EAChC,GAAG,CAAC,EAAE,MAAM,GACX,sBAAsB,EAAE,CAsC1B;AAED,eAAO,MAAM,0BAA0B,GACrC,iBAAiB,eAAe,EAChC,UAAU;IAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE;;;;;;;gBAuCrC,MAAM,mBAAmB,MAAM;;;;;;;;;;;CAoExC,CAAC"}
@@ -28,6 +28,7 @@ const PROVIDER_VALUE_SUGGESTIONS = [
28
28
  { value: 'openai-compatible', description: 'Local models/Ollama' },
29
29
  { value: 'anthropic', description: 'Anthropic Claude' },
30
30
  { value: 'google', description: 'Google Gemini' },
31
+ { value: 'codex', description: 'ChatGPT Codex (OAuth)' },
31
32
  ];
32
33
  // A small, curated set of value suggestions for common settings.
33
34
  // This is intentionally conservative: it's better to suggest a few helpful values
@@ -89,8 +90,9 @@ const VALUE_SUGGESTIONS_BY_KEY = {
89
90
  { value: 'exa', description: 'Exa (formerly Metaphor) Search API' },
90
91
  ],
91
92
  'app.searchViaShell': [
92
- { value: 'true', description: 'Use shell commands (ripgrep/find) for search' },
93
- { value: 'false', description: 'Use built-in search tools' },
93
+ { value: 'auto', description: 'Auto-enable for gpt-5 models' },
94
+ { value: 'on', description: 'Always use shell commands (ripgrep/find) for search' },
95
+ { value: 'off', description: 'Always use built-in search tools' },
94
96
  ],
95
97
  'shell.useRtkCompression': [
96
98
  { value: 'true', description: 'Enable RTK compression (downloaded automatically if needed)' },
@@ -135,7 +137,7 @@ export function filterSettingValueSuggestionsByQuery(suggestions, query, maxResu
135
137
  }
136
138
  return results.slice(0, maxResults);
137
139
  }
138
- export const useSettingsValueCompletion = (settingsService) => {
140
+ export const useSettingsValueCompletion = (settingsService, options) => {
139
141
  const { mode, setMode, input, cursorOffset, triggerIndex, setTriggerIndex } = useInputContext();
140
142
  const isOpen = mode === 'settings_value_completion';
141
143
  const [settingKey, setSettingKey] = useState(null);
@@ -164,7 +166,7 @@ export const useSettingsValueCompletion = (settingsService) => {
164
166
  const filteredEntries = useMemo(() => {
165
167
  return filterSettingValueSuggestionsByQuery(allSuggestions, query, MAX_RESULTS, settingKey ?? undefined);
166
168
  }, [allSuggestions, query, settingKey]);
167
- const { selectedIndex, setSelectedIndex, moveUp, moveDown, getSelectedItem } = useSelection(filteredEntries);
169
+ const { selectedIndex, setSelectedIndex, moveUp, moveDown, moveHome, moveEnd, pageUp, pageDown, getSelectedItem } = useSelection(filteredEntries);
168
170
  const open = useCallback((key, valueStartIndex) => {
169
171
  if (mode === 'settings_value_completion' && settingKey === key) {
170
172
  return;
@@ -195,10 +197,15 @@ export const useSettingsValueCompletion = (settingsService) => {
195
197
  }, [mode, setMode, setTriggerIndex]);
196
198
  const resetCurrentSetting = useCallback(() => {
197
199
  if (settingKey) {
198
- settingsService.reset(settingKey);
200
+ const key = settingKey;
201
+ settingsService.reset(key);
202
+ close();
203
+ options?.onReset?.(key);
199
204
  }
200
- close();
201
- }, [settingKey, settingsService, close]);
205
+ else {
206
+ close();
207
+ }
208
+ }, [settingKey, settingsService, close, options]);
202
209
  const isNumericSettings = useMemo(() => {
203
210
  return settingKey ? NUMBER_SETTING_KEYS.has(settingKey) : false;
204
211
  }, [settingKey]);
@@ -214,6 +221,10 @@ export const useSettingsValueCompletion = (settingsService) => {
214
221
  resetCurrentSetting,
215
222
  moveUp,
216
223
  moveDown,
224
+ moveHome,
225
+ moveEnd,
226
+ pageUp,
227
+ pageDown,
217
228
  getSelectedItem,
218
229
  isNumericSettings,
219
230
  };