@qduc/term2 0.8.0 → 0.9.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 (305) hide show
  1. package/README.md +397 -0
  2. package/dist/agent.d.ts +1 -9
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +2 -127
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +21 -12
  8. package/dist/app.js.map +1 -1
  9. package/dist/commands/effort-command.d.ts +2 -2
  10. package/dist/commands/effort-command.d.ts.map +1 -1
  11. package/dist/commands/effort-command.js +3 -3
  12. package/dist/commands/effort-command.js.map +1 -1
  13. package/dist/commands/guarded-settings-command.d.ts +2 -2
  14. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  15. package/dist/commands/guarded-settings-command.js +2 -2
  16. package/dist/commands/guarded-settings-command.js.map +1 -1
  17. package/dist/commands/model-command.d.ts +2 -2
  18. package/dist/commands/model-command.d.ts.map +1 -1
  19. package/dist/commands/model-command.js +2 -2
  20. package/dist/commands/model-command.js.map +1 -1
  21. package/dist/commands/skills-command.d.ts +1 -1
  22. package/dist/commands/skills-command.d.ts.map +1 -1
  23. package/dist/commands/skills-command.js +1 -1
  24. package/dist/commands/skills-command.js.map +1 -1
  25. package/dist/commands/undo-command.d.ts +2 -2
  26. package/dist/commands/undo-command.d.ts.map +1 -1
  27. package/dist/commands/undo-command.js +2 -2
  28. package/dist/commands/undo-command.js.map +1 -1
  29. package/dist/components/Input/insertions.d.ts +2 -0
  30. package/dist/components/Input/insertions.d.ts.map +1 -1
  31. package/dist/components/Input/insertions.js +6 -3
  32. package/dist/components/Input/insertions.js.map +1 -1
  33. package/dist/components/InputBox.d.ts.map +1 -1
  34. package/dist/components/InputBox.js +26 -12
  35. package/dist/components/InputBox.js.map +1 -1
  36. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  37. package/dist/components/MarkdownRenderer.js +2 -1
  38. package/dist/components/MarkdownRenderer.js.map +1 -1
  39. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  40. package/dist/components/layout/BottomArea.js +2 -0
  41. package/dist/components/layout/BottomArea.js.map +1 -1
  42. package/dist/components/layout/DiffView.d.ts.map +1 -1
  43. package/dist/components/layout/DiffView.js +33 -26
  44. package/dist/components/layout/DiffView.js.map +1 -1
  45. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  46. package/dist/components/layout/StatusBar.js +6 -3
  47. package/dist/components/layout/StatusBar.js.map +1 -1
  48. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  49. package/dist/components/message/CommandMessage.js +6 -4
  50. package/dist/components/message/CommandMessage.js.map +1 -1
  51. package/dist/components/message/command-message-helpers.d.ts +1 -1
  52. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  53. package/dist/components/message/command-message-helpers.js +8 -7
  54. package/dist/components/message/command-message-helpers.js.map +1 -1
  55. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  56. package/dist/components/prompt/ApprovalPrompt.js +101 -14
  57. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  58. package/dist/context/InputContext.d.ts +4 -0
  59. package/dist/context/InputContext.d.ts.map +1 -1
  60. package/dist/context/InputContext.js +5 -1
  61. package/dist/context/InputContext.js.map +1 -1
  62. package/dist/contracts/conversation.d.ts +22 -0
  63. package/dist/contracts/conversation.d.ts.map +1 -1
  64. package/dist/contracts/conversation.js +11 -1
  65. package/dist/contracts/conversation.js.map +1 -1
  66. package/dist/hooks/use-app-commands.d.ts +2 -2
  67. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  68. package/dist/hooks/use-app-commands.js +7 -7
  69. package/dist/hooks/use-app-commands.js.map +1 -1
  70. package/dist/hooks/use-conversation.d.ts.map +1 -1
  71. package/dist/hooks/use-conversation.js +13 -8
  72. package/dist/hooks/use-conversation.js.map +1 -1
  73. package/dist/hooks/use-handoff-flow.d.ts +3 -2
  74. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  75. package/dist/hooks/use-handoff-flow.js +28 -18
  76. package/dist/hooks/use-handoff-flow.js.map +1 -1
  77. package/dist/hooks/use-mode-handlers.js +1 -2
  78. package/dist/hooks/use-mode-handlers.js.map +1 -1
  79. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  80. package/dist/hooks/use-model-selection.js +6 -2
  81. package/dist/hooks/use-model-selection.js.map +1 -1
  82. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  83. package/dist/hooks/use-path-completion.js +4 -2
  84. package/dist/hooks/use-path-completion.js.map +1 -1
  85. package/dist/hooks/use-pending-turn-guards.d.ts +2 -2
  86. package/dist/hooks/use-pending-turn-guards.d.ts.map +1 -1
  87. package/dist/hooks/use-pending-turn-guards.js +8 -8
  88. package/dist/hooks/use-pending-turn-guards.js.map +1 -1
  89. package/dist/hooks/use-provider-selection.js +19 -18
  90. package/dist/hooks/use-provider-selection.js.map +1 -1
  91. package/dist/hooks/use-selection.d.ts.map +1 -1
  92. package/dist/hooks/use-selection.js +5 -1
  93. package/dist/hooks/use-selection.js.map +1 -1
  94. package/dist/hooks/use-setting.d.ts.map +1 -1
  95. package/dist/hooks/use-setting.js +3 -5
  96. package/dist/hooks/use-setting.js.map +1 -1
  97. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  98. package/dist/hooks/use-settings-completion.js +19 -7
  99. package/dist/hooks/use-settings-completion.js.map +1 -1
  100. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  101. package/dist/hooks/use-settings-value-completion.js +13 -2
  102. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  103. package/dist/hooks/use-shell-mode.d.ts +2 -2
  104. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  105. package/dist/hooks/use-shell-mode.js +5 -3
  106. package/dist/hooks/use-shell-mode.js.map +1 -1
  107. package/dist/hooks/use-skill-selection.js +3 -3
  108. package/dist/hooks/use-skill-selection.js.map +1 -1
  109. package/dist/hooks/use-slash-commands.js +3 -3
  110. package/dist/hooks/use-slash-commands.js.map +1 -1
  111. package/dist/hooks/use-terminal-width.js +2 -2
  112. package/dist/hooks/use-terminal-width.js.map +1 -1
  113. package/dist/hooks/use-undo-selection.d.ts.map +1 -1
  114. package/dist/hooks/use-undo-selection.js +3 -1
  115. package/dist/hooks/use-undo-selection.js.map +1 -1
  116. package/dist/lib/agent-chat-service.js +2 -2
  117. package/dist/lib/agent-chat-service.js.map +1 -1
  118. package/dist/lib/agent-run-orchestrator.js +1 -1
  119. package/dist/lib/agent-run-orchestrator.js.map +1 -1
  120. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  121. package/dist/lib/subagent-bridge.js +15 -3
  122. package/dist/lib/subagent-bridge.js.map +1 -1
  123. package/dist/non-interactive.d.ts.map +1 -1
  124. package/dist/non-interactive.js +0 -2
  125. package/dist/non-interactive.js.map +1 -1
  126. package/dist/prompts/anthropic.md +1 -0
  127. package/dist/prompts/codex.md +1 -0
  128. package/dist/prompts/gpt-5-modern.md +1 -0
  129. package/dist/prompts/gpt-5.5.md +1 -0
  130. package/dist/prompts/kimi.md +3 -1
  131. package/dist/prompts/prompt-constructor.js +2 -2
  132. package/dist/prompts/prompt-constructor.js.map +1 -1
  133. package/dist/prompts/prompt-constructor.ts +2 -2
  134. package/dist/prompts/subagent-delegation.js +1 -1
  135. package/dist/prompts/subagent-delegation.ts +1 -1
  136. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  137. package/dist/providers/codex-responses-model.js +4 -3
  138. package/dist/providers/codex-responses-model.js.map +1 -1
  139. package/dist/providers/openai-compatible-middleware.js +1 -1
  140. package/dist/providers/openai-compatible-middleware.js.map +1 -1
  141. package/dist/providers/openai-compatible.provider.js +1 -1
  142. package/dist/providers/openai-compatible.provider.js.map +1 -1
  143. package/dist/scripts/eval-auto-approval/runner.js +1 -1
  144. package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
  145. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  146. package/dist/services/approval/approval-flow-coordinator.js +41 -1
  147. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  148. package/dist/services/approval/shell-sandbox-approval.d.ts +2 -0
  149. package/dist/services/approval/shell-sandbox-approval.d.ts.map +1 -0
  150. package/dist/services/approval/shell-sandbox-approval.js +7 -0
  151. package/dist/services/approval/shell-sandbox-approval.js.map +1 -0
  152. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  153. package/dist/services/approval/tool-approval-batch-coordinator.js +4 -2
  154. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  155. package/dist/services/conversation/conversation-replay.js +1 -1
  156. package/dist/services/conversation/conversation-replay.js.map +1 -1
  157. package/dist/services/conversation/conversation-result-builder.d.ts +2 -0
  158. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  159. package/dist/services/conversation/conversation-result-builder.js +31 -2
  160. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  161. package/dist/services/logging/logging-service.js +2 -2
  162. package/dist/services/logging/logging-service.js.map +1 -1
  163. package/dist/services/rtk-service.d.ts.map +1 -1
  164. package/dist/services/rtk-service.js +6 -2
  165. package/dist/services/rtk-service.js.map +1 -1
  166. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  167. package/dist/services/session/session-input-planner.js +22 -2
  168. package/dist/services/session/session-input-planner.js.map +1 -1
  169. package/dist/services/session/session-tool-tracker.d.ts +13 -0
  170. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  171. package/dist/services/session/session-tool-tracker.js +18 -3
  172. package/dist/services/session/session-tool-tracker.js.map +1 -1
  173. package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts +12 -0
  174. package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -0
  175. package/dist/services/session/test-helpers/conversation-session-fixtures.js +29 -0
  176. package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -0
  177. package/dist/services/settings/settings-merger.d.ts.map +1 -1
  178. package/dist/services/settings/settings-merger.js +7 -5
  179. package/dist/services/settings/settings-merger.js.map +1 -1
  180. package/dist/services/settings/settings-persistence.js +1 -1
  181. package/dist/services/settings/settings-persistence.js.map +1 -1
  182. package/dist/services/settings/settings-schema.d.ts +25 -0
  183. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  184. package/dist/services/settings/settings-schema.js +23 -2
  185. package/dist/services/settings/settings-schema.js.map +1 -1
  186. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  187. package/dist/services/settings/settings-sources.js +5 -0
  188. package/dist/services/settings/settings-sources.js.map +1 -1
  189. package/dist/services/skills/skills-service.d.ts.map +1 -1
  190. package/dist/services/skills/skills-service.js +3 -10
  191. package/dist/services/skills/skills-service.js.map +1 -1
  192. package/dist/services/subagents/role-loader.js +3 -3
  193. package/dist/services/subagents/role-loader.js.map +1 -1
  194. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts +35 -0
  195. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -0
  196. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +174 -0
  197. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -0
  198. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  199. package/dist/services/subagents/tool-policy.js +18 -0
  200. package/dist/services/subagents/tool-policy.js.map +1 -1
  201. package/dist/services/tool-execution-ledger.d.ts +41 -0
  202. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  203. package/dist/services/tool-execution-ledger.js +113 -0
  204. package/dist/services/tool-execution-ledger.js.map +1 -1
  205. package/dist/tools/agent/activate-skill.js +1 -1
  206. package/dist/tools/agent/activate-skill.js.map +1 -1
  207. package/dist/tools/agent/ask-user.d.ts.map +1 -1
  208. package/dist/tools/agent/ask-user.js +4 -15
  209. package/dist/tools/agent/ask-user.js.map +1 -1
  210. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  211. package/dist/tools/agent/run-subagent.js +2 -5
  212. package/dist/tools/agent/run-subagent.js.map +1 -1
  213. package/dist/tools/file/apply-patch.js +2 -2
  214. package/dist/tools/file/apply-patch.js.map +1 -1
  215. package/dist/tools/file/create-file.d.ts.map +1 -1
  216. package/dist/tools/file/create-file.js +2 -5
  217. package/dist/tools/file/create-file.js.map +1 -1
  218. package/dist/tools/file/find-files.d.ts.map +1 -1
  219. package/dist/tools/file/find-files.js +21 -18
  220. package/dist/tools/file/find-files.js.map +1 -1
  221. package/dist/tools/file/read-file.d.ts.map +1 -1
  222. package/dist/tools/file/read-file.js +17 -3
  223. package/dist/tools/file/read-file.js.map +1 -1
  224. package/dist/tools/file/search-replace.d.ts.map +1 -1
  225. package/dist/tools/file/search-replace.js +2 -3
  226. package/dist/tools/file/search-replace.js.map +1 -1
  227. package/dist/tools/format-helpers.js +0 -2
  228. package/dist/tools/format-helpers.js.map +1 -1
  229. package/dist/tools/languages/csharp.js +1 -1
  230. package/dist/tools/languages/csharp.js.map +1 -1
  231. package/dist/tools/languages/java.js +1 -1
  232. package/dist/tools/languages/java.js.map +1 -1
  233. package/dist/tools/system/code-context.d.ts.map +1 -1
  234. package/dist/tools/system/code-context.js +28 -10
  235. package/dist/tools/system/code-context.js.map +1 -1
  236. package/dist/tools/system/grep.d.ts.map +1 -1
  237. package/dist/tools/system/grep.js +6 -14
  238. package/dist/tools/system/grep.js.map +1 -1
  239. package/dist/tools/system/shell.d.ts +9 -1
  240. package/dist/tools/system/shell.d.ts.map +1 -1
  241. package/dist/tools/system/shell.js +115 -7
  242. package/dist/tools/system/shell.js.map +1 -1
  243. package/dist/tools/utils.d.ts +4 -0
  244. package/dist/tools/utils.d.ts.map +1 -1
  245. package/dist/tools/utils.js +13 -0
  246. package/dist/tools/utils.js.map +1 -1
  247. package/dist/tools/web/web-fetch.js +1 -1
  248. package/dist/tools/web/web-fetch.js.map +1 -1
  249. package/dist/utils/conversation/conversation-event-handler.js +1 -1
  250. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  251. package/dist/utils/conversation/test-helpers/event-handler-fixtures.d.ts +31 -0
  252. package/dist/utils/conversation/test-helpers/event-handler-fixtures.d.ts.map +1 -0
  253. package/dist/utils/conversation/test-helpers/event-handler-fixtures.js +42 -0
  254. package/dist/utils/conversation/test-helpers/event-handler-fixtures.js.map +1 -0
  255. package/dist/utils/output/output-trim.d.ts +1 -1
  256. package/dist/utils/output/output-trim.js +1 -1
  257. package/dist/utils/project-tree.d.ts +7 -12
  258. package/dist/utils/project-tree.d.ts.map +1 -1
  259. package/dist/utils/project-tree.js +184 -83
  260. package/dist/utils/project-tree.js.map +1 -1
  261. package/dist/utils/settings-command.d.ts +2 -2
  262. package/dist/utils/settings-command.d.ts.map +1 -1
  263. package/dist/utils/settings-command.js +2 -2
  264. package/dist/utils/settings-command.js.map +1 -1
  265. package/dist/utils/shell/command-safety/find-helpers.js +1 -1
  266. package/dist/utils/shell/command-safety/find-helpers.js.map +1 -1
  267. package/dist/utils/shell/command-safety/handlers/git-handler.js +1 -1
  268. package/dist/utils/shell/command-safety/handlers/git-handler.js.map +1 -1
  269. package/dist/utils/shell/execute-shell.d.ts +2 -0
  270. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  271. package/dist/utils/shell/execute-shell.js +9 -6
  272. package/dist/utils/shell/execute-shell.js.map +1 -1
  273. package/dist/utils/shell/sandbox/denied-read-detector.d.ts +39 -0
  274. package/dist/utils/shell/sandbox/denied-read-detector.d.ts.map +1 -0
  275. package/dist/utils/shell/sandbox/denied-read-detector.js +250 -0
  276. package/dist/utils/shell/sandbox/denied-read-detector.js.map +1 -0
  277. package/dist/utils/shell/sandbox/denied-read-stores.d.ts +74 -0
  278. package/dist/utils/shell/sandbox/denied-read-stores.d.ts.map +1 -0
  279. package/dist/utils/shell/sandbox/denied-read-stores.js +166 -0
  280. package/dist/utils/shell/sandbox/denied-read-stores.js.map +1 -0
  281. package/dist/utils/shell/sandbox/sandbox-env.d.ts +3 -0
  282. package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -0
  283. package/dist/utils/shell/sandbox/sandbox-env.js +31 -0
  284. package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -0
  285. package/dist/utils/shell/sandbox/sandbox-policy.d.ts +41 -0
  286. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -0
  287. package/dist/utils/shell/sandbox/sandbox-policy.js +217 -0
  288. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -0
  289. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts +18 -0
  290. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -0
  291. package/dist/utils/shell/sandbox/shell-sandbox-runner.js +58 -0
  292. package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -0
  293. package/dist/utils/shell/shell-output.d.ts.map +1 -1
  294. package/dist/utils/shell/shell-output.js +8 -6
  295. package/dist/utils/shell/shell-output.js.map +1 -1
  296. package/dist/utils/shell/temp-dir.d.ts +2 -0
  297. package/dist/utils/shell/temp-dir.d.ts.map +1 -0
  298. package/dist/utils/shell/temp-dir.js +38 -0
  299. package/dist/utils/shell/temp-dir.js.map +1 -0
  300. package/dist/utils/skill-discovery-paths.d.ts +5 -0
  301. package/dist/utils/skill-discovery-paths.d.ts.map +1 -0
  302. package/dist/utils/skill-discovery-paths.js +18 -0
  303. package/dist/utils/skill-discovery-paths.js.map +1 -0
  304. package/package.json +10 -16
  305. package/readme.md +0 -887
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-event-handler.js","sourceRoot":"","sources":["../../../source/utils/conversation/conversation-event-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-event-handler.js","sourceRoot":"","sources":["../../../source/utils/conversation/conversation-event-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ConversationEventHandlerDeps } from '../conversation-event-handler.js';
2
+ export interface MockDeps extends ConversationEventHandlerDeps {
3
+ botResponseUpdater: {
4
+ push: (text: string) => void;
5
+ cancel: () => void;
6
+ flush: () => void;
7
+ };
8
+ reasoningUpdater: {
9
+ push: (text: string) => void;
10
+ cancel: () => void;
11
+ flush: () => void;
12
+ };
13
+ appendMessages: (messages: any[]) => void;
14
+ setMessages: (updater: (prev: any[]) => any[]) => void;
15
+ createMessageId: () => string;
16
+ trimMessages: (messages: any[]) => any[];
17
+ annotateCommandMessage: (msg: any) => any;
18
+ }
19
+ export declare function createMockDeps(): MockDeps & {
20
+ calls: {
21
+ botResponsePushes: string[];
22
+ botResponseCancelled: boolean;
23
+ botResponseFlushed: boolean;
24
+ reasoningPushes: string[];
25
+ reasoningFlushed: boolean;
26
+ reasoningCancelled: boolean;
27
+ appendedMessages: any[][];
28
+ setMessagesCalls: Array<(prev: any[]) => any[]>;
29
+ };
30
+ };
31
+ //# sourceMappingURL=event-handler-fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-handler-fixtures.d.ts","sourceRoot":"","sources":["../../../../source/utils/conversation/test-helpers/event-handler-fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAErF,MAAM,WAAW,QAAS,SAAQ,4BAA4B;IAC5D,kBAAkB,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC5F,gBAAgB,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC1F,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC1C,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,YAAY,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC;IACzC,sBAAsB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3C;AAED,wBAAgB,cAAc,IAAI,QAAQ,GAAG;IAC3C,KAAK,EAAE;QACL,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,oBAAoB,EAAE,OAAO,CAAC;QAC9B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,gBAAgB,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1B,gBAAgB,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;KACjD,CAAC;CACH,CAyCA"}
@@ -0,0 +1,42 @@
1
+ export function createMockDeps() {
2
+ const calls = {
3
+ botResponsePushes: [],
4
+ botResponseCancelled: false,
5
+ botResponseFlushed: false,
6
+ reasoningPushes: [],
7
+ reasoningFlushed: false,
8
+ reasoningCancelled: false,
9
+ appendedMessages: [],
10
+ setMessagesCalls: [],
11
+ };
12
+ return {
13
+ calls,
14
+ createMessageId: (() => {
15
+ let seq = 0;
16
+ return () => `msg-${seq++}`;
17
+ })(),
18
+ botResponseUpdater: {
19
+ push: (text) => calls.botResponsePushes.push(text),
20
+ cancel: () => {
21
+ calls.botResponseCancelled = true;
22
+ },
23
+ flush: () => {
24
+ calls.botResponseFlushed = true;
25
+ },
26
+ },
27
+ reasoningUpdater: {
28
+ push: (text) => calls.reasoningPushes.push(text),
29
+ cancel: () => {
30
+ calls.reasoningCancelled = true;
31
+ },
32
+ flush: () => {
33
+ calls.reasoningFlushed = true;
34
+ },
35
+ },
36
+ appendMessages: (messages) => calls.appendedMessages.push(messages),
37
+ setMessages: (updater) => calls.setMessagesCalls.push(updater),
38
+ trimMessages: (messages) => messages,
39
+ annotateCommandMessage: (msg) => ({ ...msg, annotated: true }),
40
+ };
41
+ }
42
+ //# sourceMappingURL=event-handler-fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-handler-fixtures.js","sourceRoot":"","sources":["../../../../source/utils/conversation/test-helpers/event-handler-fixtures.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,cAAc;IAY5B,MAAM,KAAK,GAAG;QACZ,iBAAiB,EAAE,EAAc;QACjC,oBAAoB,EAAE,KAAK;QAC3B,kBAAkB,EAAE,KAAK;QACzB,eAAe,EAAE,EAAc;QAC/B,gBAAgB,EAAE,KAAK;QACvB,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,EAAa;QAC/B,gBAAgB,EAAE,EAAmC;KACtD,CAAC;IAEF,OAAO;QACL,KAAK;QACL,eAAe,EAAE,CAAC,GAAG,EAAE;YACrB,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,OAAO,GAAG,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC;QAC9B,CAAC,CAAC,EAAE;QACJ,kBAAkB,EAAE;YAClB,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,MAAM,EAAE,GAAG,EAAE;gBACX,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACpC,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAClC,CAAC;SACF;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YACxD,MAAM,EAAE,GAAG,EAAE;gBACX,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAClC,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAChC,CAAC;SACF;QACD,cAAc,EAAE,CAAC,QAAe,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1E,WAAW,EAAE,CAAC,OAA+B,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;QACtF,YAAY,EAAE,CAAC,QAAe,EAAE,EAAE,CAAC,QAAQ;QAC3C,sBAAsB,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC"}
@@ -5,7 +5,7 @@
5
5
  export interface OutputTrimConfig {
6
6
  /** Maximum number of lines before trimming (default: 1000) */
7
7
  maxLines: number;
8
- /** Maximum size in characters before trimming (default: 10000) */
8
+ /** Maximum size in characters before trimming (default: 40000) */
9
9
  maxCharacters: number;
10
10
  }
11
11
  /** Default trim configuration */
@@ -1,7 +1,7 @@
1
1
  /** Default trim configuration */
2
2
  export const DEFAULT_TRIM_CONFIG = {
3
3
  maxLines: 1000,
4
- maxCharacters: 10000,
4
+ maxCharacters: 40000,
5
5
  };
6
6
  /** Current trim configuration (can be modified at runtime) */
7
7
  let trimConfig = { ...DEFAULT_TRIM_CONFIG };
@@ -1,14 +1,9 @@
1
- export interface ProjectTreeOptions {
1
+ export type ProjectTreeOptions = {
2
2
  maxDepth?: number;
3
- maxChildrenPerDir?: number;
4
- maxTotalNodes?: number;
5
- }
6
- /**
7
- * Builds a compact ASCII tree representation of the project structure,
8
- * balanced by both depth and breadth, and respecting .gitignore.
9
- *
10
- * Gitignored directories are listed by name but their children are not expanded.
11
- * Hidden entries are shown, subject to the same limits as other entries.
12
- */
13
- export declare function buildProjectTree(cwd: string, options?: ProjectTreeOptions): string;
3
+ maxEntriesPerDir?: number;
4
+ maxTotalEntries?: number;
5
+ includeFiles?: boolean;
6
+ ignoredNames?: Set<string>;
7
+ };
8
+ export declare function getProjectTreeForPrompt(cwd: string, options?: ProjectTreeOptions): string;
14
9
  //# sourceMappingURL=project-tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-tree.d.ts","sourceRoot":"","sources":["../../source/utils/project-tree.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CA6FlF"}
1
+ {"version":3,"file":"project-tree.d.ts","sourceRoot":"","sources":["../../source/utils/project-tree.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AA8GF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CA4H7F"}
@@ -1,111 +1,212 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { default as createIgnore } from 'ignore';
4
- const DEFAULT_OPTIONS = {
5
- maxDepth: 3,
6
- maxChildrenPerDir: 12,
7
- maxTotalNodes: 150,
8
- };
9
- function readGitignoreLines(dir) {
10
- const gitignorePath = path.join(dir, '.gitignore');
4
+ // Non-hidden build output, caches, and OS noise across ecosystems. Hidden
5
+ // directories (`.idea`, `.vscode`, `.github`, `.gradle`, `.venv`, …) are pruned
6
+ // separately by isPrunedHiddenEntry, so they are not duplicated here.
7
+ const ALWAYS_IGNORE = [
8
+ // Node / JS
9
+ 'node_modules',
10
+ 'dist',
11
+ 'build',
12
+ 'out',
13
+ 'coverage',
14
+ '.turbo',
15
+ // Python
16
+ '__pycache__',
17
+ '.mypy_cache',
18
+ '.pytest_cache',
19
+ '.ruff_cache',
20
+ '.tox',
21
+ 'venv',
22
+ // Rust / JVM / mobile
23
+ 'target',
24
+ '.gradle',
25
+ 'Pods',
26
+ 'DerivedData',
27
+ '.dart_tool',
28
+ // OS noise
29
+ '.DS_Store',
30
+ 'Thumbs.db',
31
+ '.cache',
32
+ ];
33
+ const ALWAYS_INCLUDE = new Set([
34
+ // Docs
35
+ 'README.md',
36
+ 'readme.md',
37
+ 'README.rst',
38
+ 'README.txt',
39
+ // JS / TS
40
+ 'package.json',
41
+ 'tsconfig.json',
42
+ // Python
43
+ 'pyproject.toml',
44
+ 'setup.py',
45
+ 'setup.cfg',
46
+ 'requirements.txt',
47
+ // Rust
48
+ 'Cargo.toml',
49
+ // Go
50
+ 'go.mod',
51
+ // JVM
52
+ 'pom.xml',
53
+ 'build.gradle',
54
+ 'build.gradle.kts',
55
+ // Ruby / C/C++ / Elixir / PHP / Swift
56
+ 'Gemfile',
57
+ 'Rakefile',
58
+ 'CMakeLists.txt',
59
+ 'Makefile',
60
+ 'mix.exs',
61
+ 'composer.json',
62
+ 'Package.swift',
63
+ // Config
64
+ '.gitignore',
65
+ '.env.example',
66
+ '.editorconfig',
67
+ ]);
68
+ const SENSITIVE_PATTERNS = [/^\.env$/, /^\.env\./, /secret/i, /private/i, /credential/i, /token/i];
69
+ function isSensitiveFile(name) {
70
+ return SENSITIVE_PATTERNS.some((pattern) => pattern.test(name));
71
+ }
72
+ // Leading-dot directories are IDE/CI/agent/cache state (`.idea`, `.vscode`,
73
+ // `.github`, `.husky`, `.claude`, `.agents`, `.next`, `.gradle`, `.venv`, …)
74
+ // and are never useful navigation targets. Hidden *files* are still shown when
75
+ // they are in ALWAYS_INCLUDE (`.gitignore`, `.env.example`, …); all other
76
+ // hidden files are pruned. This single rule avoids chasing every new tool's
77
+ // dot-directory by name across ecosystems.
78
+ function isPrunedHiddenEntry(name, isDirectory) {
79
+ if (!name.startsWith('.'))
80
+ return false;
81
+ if (isDirectory)
82
+ return true;
83
+ return !ALWAYS_INCLUDE.has(name);
84
+ }
85
+ function createProjectIgnore(cwd) {
86
+ const ig = createIgnore();
87
+ ig.add(ALWAYS_IGNORE);
88
+ const gitignorePath = path.join(cwd, '.gitignore');
11
89
  try {
12
- const content = fs.readFileSync(gitignorePath, 'utf-8');
13
- return content
14
- .split('\n')
15
- .map((l) => l.trim())
16
- .filter((l) => l && !l.startsWith('#'));
90
+ if (fs.existsSync(gitignorePath)) {
91
+ ig.add(fs.readFileSync(gitignorePath, 'utf8'));
92
+ }
17
93
  }
18
94
  catch {
19
- return [];
95
+ // If .gitignore cannot be read, continue with default ignores.
20
96
  }
97
+ // Note: ALWAYS_INCLUDE precedence is enforced upstream in the walk filter,
98
+ // which short-circuits allowlisted entries to "keep" before this is called.
99
+ return {
100
+ ignores(relativePath) {
101
+ return ig.ignores(relativePath.split(path.sep).join('/'));
102
+ },
103
+ };
21
104
  }
22
- function isDirIgnored(ignorer, relPath) {
23
- // Handle both "dir" and "dir/" patterns in .gitignore
24
- return ignorer.ignores(relPath) || ignorer.ignores(relPath + '/');
25
- }
26
- /**
27
- * Builds a compact ASCII tree representation of the project structure,
28
- * balanced by both depth and breadth, and respecting .gitignore.
29
- *
30
- * Gitignored directories are listed by name but their children are not expanded.
31
- * Hidden entries are shown, subject to the same limits as other entries.
32
- */
33
- export function buildProjectTree(cwd, options) {
34
- const opts = { ...DEFAULT_OPTIONS, ...options };
35
- // Parse root .gitignore
36
- const gitignorePatterns = readGitignoreLines(cwd);
37
- const ignorer = gitignorePatterns.length > 0 ? createIgnore().add(gitignorePatterns) : null;
38
- let nodeCount = 0;
39
- let hitTotalLimit = false;
40
- function buildTree(currentPath, depth) {
41
- if (hitTotalLimit)
105
+ export function getProjectTreeForPrompt(cwd, options = {}) {
106
+ const { maxDepth = 2, maxEntriesPerDir = 10, maxTotalEntries = 100, includeFiles = true } = options;
107
+ const INDENT = ' ';
108
+ let totalEntries = 0;
109
+ // Entries that fit within the per-directory cap but could not be rendered
110
+ // because the global `maxTotalEntries` budget was exhausted. Reported once in
111
+ // the footer. Per-directory cap truncation is surfaced inline as
112
+ // `... (N more)` markers instead, so the two kinds of omissions are never
113
+ // conflated in a single number.
114
+ let omittedByTotal = 0;
115
+ const projectIgnore = createProjectIgnore(cwd);
116
+ function walk(dir, depth) {
117
+ if (totalEntries >= maxTotalEntries)
42
118
  return [];
43
119
  let entries;
44
120
  try {
45
- entries = fs.readdirSync(currentPath, { withFileTypes: true });
121
+ entries = fs.readdirSync(dir, { withFileTypes: true });
46
122
  }
47
- catch {
48
- return [];
123
+ catch (e) {
124
+ return [`[failed to read: ${e.message}]`];
49
125
  }
50
- // Separate directories and files, sort alphabetically (directories first)
51
- const dirs = entries
52
- .filter((e) => e.isDirectory())
53
- .sort((a, b) => a.name.localeCompare(b.name));
54
- const files = entries
55
- .filter((e) => !e.isDirectory())
56
- .sort((a, b) => a.name.localeCompare(b.name));
57
- const sorted = [...dirs, ...files];
58
- const hasMore = sorted.length > opts.maxChildrenPerDir;
59
- const limited = sorted.slice(0, opts.maxChildrenPerDir);
60
- const moreCount = sorted.length - opts.maxChildrenPerDir;
61
- const nodes = [];
62
- for (const entry of limited) {
63
- if (nodeCount >= opts.maxTotalNodes) {
64
- hitTotalLimit = true;
126
+ const filtered = entries
127
+ .filter((entry) => {
128
+ const absolutePath = path.join(dir, entry.name);
129
+ const relativePath = path.relative(cwd, absolutePath).split(path.sep).join('/');
130
+ // An explicitly allowlisted entry is always shown — the allowlist is the
131
+ // authoritative "keep" decision and wins over hidden-pruning,
132
+ // sensitive-name pruning, and .gitignore. This lets `.env.example`
133
+ // (a safe template) survive the `/^\.env\./` sensitive pattern.
134
+ if (ALWAYS_INCLUDE.has(entry.name)) {
135
+ return true;
136
+ }
137
+ if (isPrunedHiddenEntry(entry.name, entry.isDirectory())) {
138
+ return false;
139
+ }
140
+ if (isSensitiveFile(entry.name)) {
141
+ return false;
142
+ }
143
+ if (projectIgnore.ignores(relativePath)) {
144
+ return false;
145
+ }
146
+ if (!includeFiles && !entry.isDirectory()) {
147
+ return false;
148
+ }
149
+ return true;
150
+ })
151
+ .sort((a, b) => {
152
+ if (a.isDirectory() && !b.isDirectory())
153
+ return -1;
154
+ if (!a.isDirectory() && b.isDirectory())
155
+ return 1;
156
+ return a.name.localeCompare(b.name);
157
+ });
158
+ if (filtered.length === 0)
159
+ return [];
160
+ const shown = filtered.slice(0, maxEntriesPerDir);
161
+ const perDirOmitted = Math.max(0, filtered.length - shown.length);
162
+ const lines = [];
163
+ const indent = INDENT.repeat(depth);
164
+ // Depth-first rendering: each directory's children are emitted immediately
165
+ // after the directory entry and before any later siblings. This keeps the
166
+ // visual nesting correct — a child is always indented one level deeper
167
+ // than its parent and appears directly beneath it.
168
+ let budgetReached = false;
169
+ for (let index = 0; index < shown.length; index++) {
170
+ if (totalEntries >= maxTotalEntries) {
171
+ omittedByTotal += shown.length - index;
172
+ budgetReached = true;
65
173
  break;
66
174
  }
175
+ const entry = shown[index];
176
+ totalEntries++;
177
+ const displayName = entry.isDirectory() ? `${entry.name}/` : entry.name;
178
+ lines.push(`${indent}${displayName}`);
67
179
  if (entry.isDirectory()) {
68
- const relPath = path.relative(cwd, path.join(currentPath, entry.name));
69
- const isGitIgnored = ignorer !== null && isDirIgnored(ignorer, relPath);
70
- const atDepthLimit = depth >= opts.maxDepth;
71
- nodeCount++;
72
- if (isGitIgnored || atDepthLimit) {
73
- // Show directory name but don't recurse
74
- nodes.push({ name: entry.name + '/', children: undefined, hasMore: false, moreCount: 0 });
180
+ if (depth >= maxDepth) {
181
+ // Depth-termination marker not an omitted entry, just signals
182
+ // that this directory has unlisted contents.
183
+ lines.push(`${indent}${INDENT}…`);
75
184
  }
76
185
  else {
77
- const children = buildTree(path.join(currentPath, entry.name), depth + 1);
78
- nodes.push({ name: entry.name + '/', children, hasMore: false, moreCount: 0 });
186
+ lines.push(...walk(path.join(dir, entry.name), depth + 1));
187
+ if (totalEntries >= maxTotalEntries) {
188
+ budgetReached = true;
189
+ }
79
190
  }
80
191
  }
81
- else {
82
- nodeCount++;
83
- nodes.push({ name: entry.name, children: undefined, hasMore: false, moreCount: 0 });
84
- }
85
192
  }
86
- if ((hasMore || hitTotalLimit) && moreCount > 0) {
87
- nodes.push({ name: `... (+${moreCount} more)`, children: undefined, hasMore: false, moreCount: 0 });
193
+ // Surface per-directory truncation inline so the reader can see exactly
194
+ // which directory was capped (and by how much). Budget cuts are reported
195
+ // separately via the footer, so we never mix the two counts.
196
+ if (!budgetReached && perDirOmitted > 0) {
197
+ lines.push(`${indent}... (${perDirOmitted} more)`);
88
198
  }
89
- return nodes;
199
+ return lines;
90
200
  }
91
- const tree = buildTree(cwd, 0);
92
- // Format tree into ASCII string
93
- const lines = [];
94
- function appendNode(node, prefix, isLast) {
95
- const connector = isLast ? '└── ' : '├── ';
96
- lines.push(prefix + connector + node.name);
97
- if (node.children && node.children.length > 0) {
98
- const childPrefix = prefix + (isLast ? ' ' : '│ ');
99
- for (let i = 0; i < node.children.length; i++) {
100
- appendNode(node.children[i], childPrefix, i === node.children.length - 1);
101
- }
201
+ try {
202
+ const lines = ['Project structure:', '.', ...walk(cwd, 1), ''];
203
+ if (omittedByTotal > 0) {
204
+ lines.push(`- Omitted due to total-entry limit: ${omittedByTotal}`);
102
205
  }
206
+ return lines.join('\n');
103
207
  }
104
- const header = `project tree (depth=${opts.maxDepth}, max=${opts.maxChildrenPerDir} per dir):`;
105
- lines.push(header);
106
- for (let i = 0; i < tree.length; i++) {
107
- appendNode(tree[i], '', i === tree.length - 1);
208
+ catch (e) {
209
+ return `Project structure:\n[failed to read ${cwd}: ${e.message}]`;
108
210
  }
109
- return lines.join('\n');
110
211
  }
111
212
  //# sourceMappingURL=project-tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-tree.js","sourceRoot":"","sources":["../../source/utils/project-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-tree.js","sourceRoot":"","sources":["../../source/utils/project-tree.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ interface CreateSettingsCommandDeps {
6
6
  settingsService: SettingsService;
7
7
  addSystemMessage: (message: string) => void;
8
8
  applyRuntimeSetting?: (key: string, value: any) => void;
9
- setInput: (value: string) => void;
9
+ replaceInput: (value: string) => void;
10
10
  }
11
- export declare function createSettingsCommand({ settingsService, addSystemMessage, applyRuntimeSetting, setInput, }: CreateSettingsCommandDeps): SlashCommand;
11
+ export declare function createSettingsCommand({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, }: CreateSettingsCommandDeps): SlashCommand;
12
12
  export {};
13
13
  //# sourceMappingURL=settings-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-command.d.ts","sourceRoot":"","sources":["../../source/utils/settings-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAMrG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAYlD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CA2F3E;AAED,UAAU,yBAAyB;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,qBAAqB,CAAC,EACpC,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,GACT,EAAE,yBAAyB,GAAG,YAAY,CAgH1C"}
1
+ {"version":3,"file":"settings-command.d.ts","sourceRoot":"","sources":["../../source/utils/settings-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAMrG,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAYlD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CA2F3E;AAED,UAAU,yBAAyB;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACxD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,qBAAqB,CAAC,EACpC,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,GACb,EAAE,yBAAyB,GAAG,YAAY,CAgH1C"}
@@ -105,7 +105,7 @@ export function formatSettingsSummary(settings) {
105
105
  }
106
106
  return lines.join('\n');
107
107
  }
108
- export function createSettingsCommand({ settingsService, addSystemMessage, applyRuntimeSetting, setInput, }) {
108
+ export function createSettingsCommand({ settingsService, addSystemMessage, applyRuntimeSetting, replaceInput, }) {
109
109
  return {
110
110
  name: 'settings',
111
111
  description: 'View or modify settings',
@@ -115,7 +115,7 @@ export function createSettingsCommand({ settingsService, addSystemMessage, apply
115
115
  const trimmedArgs = args?.trim() ?? '';
116
116
  // No args: prompt for setting name with autocomplete
117
117
  if (!trimmedArgs) {
118
- setInput('/settings ');
118
+ replaceInput('/settings ');
119
119
  return false;
120
120
  }
121
121
  const parts = trimmedArgs.split(/\s+/).filter(Boolean);