@qduc/term2 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. package/dist/agent.d.ts +1 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +53 -7
  4. package/dist/agent.js.map +1 -1
  5. package/dist/agent.test.js +122 -10
  6. package/dist/agent.test.js.map +1 -1
  7. package/dist/app.d.ts +13 -0
  8. package/dist/app.d.ts.map +1 -1
  9. package/dist/app.js +63 -16
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.startup-banner.test.js +48 -1
  12. package/dist/app.startup-banner.test.js.map +1 -1
  13. package/dist/cli.js +197 -28
  14. package/dist/cli.js.map +1 -1
  15. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  16. package/dist/components/ApprovalPrompt.js +11 -35
  17. package/dist/components/ApprovalPrompt.js.map +1 -1
  18. package/dist/components/Banner.d.ts.map +1 -1
  19. package/dist/components/Banner.js +2 -7
  20. package/dist/components/Banner.js.map +1 -1
  21. package/dist/components/BottomArea.d.ts +7 -1
  22. package/dist/components/BottomArea.d.ts.map +1 -1
  23. package/dist/components/BottomArea.js +2 -2
  24. package/dist/components/BottomArea.js.map +1 -1
  25. package/dist/components/CommandMessage.d.ts.map +1 -1
  26. package/dist/components/CommandMessage.js +38 -42
  27. package/dist/components/CommandMessage.js.map +1 -1
  28. package/dist/components/CommandMessage.test.js +69 -0
  29. package/dist/components/CommandMessage.test.js.map +1 -1
  30. package/dist/components/DiffView.d.ts +7 -0
  31. package/dist/components/DiffView.d.ts.map +1 -0
  32. package/dist/components/DiffView.js +80 -0
  33. package/dist/components/DiffView.js.map +1 -0
  34. package/dist/components/DiffView.test.d.ts +2 -0
  35. package/dist/components/DiffView.test.d.ts.map +1 -0
  36. package/dist/components/DiffView.test.js +45 -0
  37. package/dist/components/DiffView.test.js.map +1 -0
  38. package/dist/components/Input/PopupManager.d.ts +7 -0
  39. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  40. package/dist/components/Input/PopupManager.js +4 -2
  41. package/dist/components/Input/PopupManager.js.map +1 -1
  42. package/dist/components/Input/determine-active-menu.d.ts.map +1 -1
  43. package/dist/components/Input/determine-active-menu.js +4 -1
  44. package/dist/components/Input/determine-active-menu.js.map +1 -1
  45. package/dist/components/Input/popup-props.d.ts +3 -1
  46. package/dist/components/Input/popup-props.d.ts.map +1 -1
  47. package/dist/components/Input/popup-props.js +7 -1
  48. package/dist/components/Input/popup-props.js.map +1 -1
  49. package/dist/components/InputBox.d.ts +6 -0
  50. package/dist/components/InputBox.d.ts.map +1 -1
  51. package/dist/components/InputBox.js +74 -11
  52. package/dist/components/InputBox.js.map +1 -1
  53. package/dist/components/InputBox.menu-logic.test.js +16 -1
  54. package/dist/components/InputBox.menu-logic.test.js.map +1 -1
  55. package/dist/components/InputBox.test.js +1 -0
  56. package/dist/components/InputBox.test.js.map +1 -1
  57. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  58. package/dist/components/MarkdownRenderer.js +52 -1
  59. package/dist/components/MarkdownRenderer.js.map +1 -1
  60. package/dist/components/MessageList.d.ts.map +1 -1
  61. package/dist/components/MessageList.js +3 -2
  62. package/dist/components/MessageList.js.map +1 -1
  63. package/dist/components/MessageList.test.js +16 -0
  64. package/dist/components/MessageList.test.js.map +1 -1
  65. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  66. package/dist/components/SettingsValueSelectionMenu.js +4 -1
  67. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  68. package/dist/components/StatusBar.d.ts.map +1 -1
  69. package/dist/components/StatusBar.js +5 -3
  70. package/dist/components/StatusBar.js.map +1 -1
  71. package/dist/components/StatusBar.test.js +24 -0
  72. package/dist/components/StatusBar.test.js.map +1 -1
  73. package/dist/components/SubagentActivityMessage.d.ts.map +1 -1
  74. package/dist/components/SubagentActivityMessage.js +16 -1
  75. package/dist/components/SubagentActivityMessage.js.map +1 -1
  76. package/dist/components/UndoSelectionMenu.d.ts +12 -0
  77. package/dist/components/UndoSelectionMenu.d.ts.map +1 -0
  78. package/dist/components/UndoSelectionMenu.js +46 -0
  79. package/dist/components/UndoSelectionMenu.js.map +1 -0
  80. package/dist/components/UndoSelectionMenu.test.d.ts +2 -0
  81. package/dist/components/UndoSelectionMenu.test.d.ts.map +1 -0
  82. package/dist/components/UndoSelectionMenu.test.js +40 -0
  83. package/dist/components/UndoSelectionMenu.test.js.map +1 -0
  84. package/dist/components/theme.d.ts +1 -1
  85. package/dist/components/theme.d.ts.map +1 -1
  86. package/dist/components/theme.js +1 -3
  87. package/dist/components/theme.js.map +1 -1
  88. package/dist/context/InputContext.d.ts +1 -1
  89. package/dist/context/InputContext.d.ts.map +1 -1
  90. package/dist/context/InputContext.js.map +1 -1
  91. package/dist/hooks/use-app-commands.d.ts +14 -2
  92. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  93. package/dist/hooks/use-app-commands.js +115 -32
  94. package/dist/hooks/use-app-commands.js.map +1 -1
  95. package/dist/hooks/use-app-commands.test.js +231 -1
  96. package/dist/hooks/use-app-commands.test.js.map +1 -1
  97. package/dist/hooks/use-conversation.d.ts +8 -1
  98. package/dist/hooks/use-conversation.d.ts.map +1 -1
  99. package/dist/hooks/use-conversation.js +79 -2
  100. package/dist/hooks/use-conversation.js.map +1 -1
  101. package/dist/hooks/use-conversation.resume.test.d.ts +2 -0
  102. package/dist/hooks/use-conversation.resume.test.d.ts.map +1 -0
  103. package/dist/hooks/use-conversation.resume.test.js +26 -0
  104. package/dist/hooks/use-conversation.resume.test.js.map +1 -0
  105. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  106. package/dist/hooks/use-escape-key.js +14 -7
  107. package/dist/hooks/use-escape-key.js.map +1 -1
  108. package/dist/hooks/use-escape-key.test.js +168 -4
  109. package/dist/hooks/use-escape-key.test.js.map +1 -1
  110. package/dist/hooks/use-input-history.d.ts +4 -3
  111. package/dist/hooks/use-input-history.d.ts.map +1 -1
  112. package/dist/hooks/use-input-history.js +10 -8
  113. package/dist/hooks/use-input-history.js.map +1 -1
  114. package/dist/hooks/use-input-history.test.d.ts +2 -0
  115. package/dist/hooks/use-input-history.test.d.ts.map +1 -0
  116. package/dist/hooks/use-input-history.test.js +43 -0
  117. package/dist/hooks/use-input-history.test.js.map +1 -0
  118. package/dist/hooks/use-mode-handlers.d.ts +10 -2
  119. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  120. package/dist/hooks/use-mode-handlers.js +21 -2
  121. package/dist/hooks/use-mode-handlers.js.map +1 -1
  122. package/dist/hooks/use-model-selection.d.ts +3 -0
  123. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  124. package/dist/hooks/use-model-selection.js +3 -0
  125. package/dist/hooks/use-model-selection.js.map +1 -1
  126. package/dist/hooks/use-path-completion.test.d.ts +2 -0
  127. package/dist/hooks/use-path-completion.test.d.ts.map +1 -0
  128. package/dist/hooks/use-path-completion.test.js +54 -0
  129. package/dist/hooks/use-path-completion.test.js.map +1 -0
  130. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  131. package/dist/hooks/use-runtime-settings.js +15 -6
  132. package/dist/hooks/use-runtime-settings.js.map +1 -1
  133. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  134. package/dist/hooks/use-settings-completion.js +0 -1
  135. package/dist/hooks/use-settings-completion.js.map +1 -1
  136. package/dist/hooks/use-settings-value-completion.d.ts +1 -0
  137. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  138. package/dist/hooks/use-settings-value-completion.js +25 -19
  139. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  140. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  141. package/dist/hooks/use-shell-mode.js +2 -1
  142. package/dist/hooks/use-shell-mode.js.map +1 -1
  143. package/dist/hooks/use-slash-commands.d.ts +1 -0
  144. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  145. package/dist/hooks/use-slash-commands.js +10 -1
  146. package/dist/hooks/use-slash-commands.js.map +1 -1
  147. package/dist/hooks/use-undo-selection.d.ts +19 -0
  148. package/dist/hooks/use-undo-selection.d.ts.map +1 -0
  149. package/dist/hooks/use-undo-selection.js +76 -0
  150. package/dist/hooks/use-undo-selection.js.map +1 -0
  151. package/dist/lib/openai-agent-client.d.ts +2 -0
  152. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  153. package/dist/lib/openai-agent-client.js +71 -5
  154. package/dist/lib/openai-agent-client.js.map +1 -1
  155. package/dist/lib/openai-agent-client.test.js +23 -0
  156. package/dist/lib/openai-agent-client.test.js.map +1 -1
  157. package/dist/non-interactive.d.ts +6 -1
  158. package/dist/non-interactive.d.ts.map +1 -1
  159. package/dist/non-interactive.js +70 -4
  160. package/dist/non-interactive.js.map +1 -1
  161. package/dist/non-interactive.test.js +176 -1
  162. package/dist/non-interactive.test.js.map +1 -1
  163. package/dist/prompts/gpt-5.md +7 -4
  164. package/dist/prompts/orchestrator.md +46 -0
  165. package/dist/prompts/plan-mode-info.md +17 -0
  166. package/dist/prompts/prompt-selector.d.ts +2 -1
  167. package/dist/prompts/prompt-selector.d.ts.map +1 -1
  168. package/dist/prompts/prompt-selector.js +5 -1
  169. package/dist/prompts/prompt-selector.js.map +1 -1
  170. package/dist/prompts/prompt-selector.test.js +7 -0
  171. package/dist/prompts/prompt-selector.test.js.map +1 -1
  172. package/dist/prompts/prompt-selector.test.ts +18 -0
  173. package/dist/prompts/prompt-selector.ts +7 -1
  174. package/dist/prompts/reasoning-efficiency.d.ts +7 -0
  175. package/dist/prompts/reasoning-efficiency.d.ts.map +1 -0
  176. package/dist/prompts/reasoning-efficiency.js +19 -0
  177. package/dist/prompts/reasoning-efficiency.js.map +1 -0
  178. package/dist/prompts/reasoning-efficiency.ts +18 -0
  179. package/dist/prompts/search-via-shell.test.js +17 -17
  180. package/dist/prompts/search-via-shell.test.js.map +1 -1
  181. package/dist/prompts/search-via-shell.test.ts +17 -17
  182. package/dist/prompts/shell-auto-approval.d.ts +3 -0
  183. package/dist/prompts/shell-auto-approval.d.ts.map +1 -0
  184. package/dist/prompts/shell-auto-approval.js +23 -0
  185. package/dist/prompts/shell-auto-approval.js.map +1 -0
  186. package/dist/prompts/shell-auto-approval.ts +23 -0
  187. package/dist/prompts/subagent-delegation.d.ts +10 -0
  188. package/dist/prompts/subagent-delegation.d.ts.map +1 -0
  189. package/dist/prompts/subagent-delegation.js +33 -0
  190. package/dist/prompts/subagent-delegation.js.map +1 -0
  191. package/dist/prompts/subagent-delegation.test.d.ts +2 -0
  192. package/dist/prompts/subagent-delegation.test.d.ts.map +1 -0
  193. package/dist/prompts/subagent-delegation.test.js +17 -0
  194. package/dist/prompts/subagent-delegation.test.js.map +1 -0
  195. package/dist/prompts/subagent-delegation.test.ts +21 -0
  196. package/dist/prompts/subagent-delegation.ts +40 -0
  197. package/dist/prompts/subagents/explorer.md +1 -2
  198. package/dist/prompts/subagents/mentor.md +0 -1
  199. package/dist/prompts/subagents/researcher.md +0 -1
  200. package/dist/prompts/subagents/worker.md +3 -4
  201. package/dist/providers/ai-sdk-anthropic.provider.d.ts +1 -0
  202. package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
  203. package/dist/providers/ai-sdk-anthropic.provider.js +67 -1
  204. package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
  205. package/dist/providers/ai-sdk-anthropic.provider.test.d.ts +2 -0
  206. package/dist/providers/ai-sdk-anthropic.provider.test.d.ts.map +1 -0
  207. package/dist/providers/ai-sdk-anthropic.provider.test.js +87 -0
  208. package/dist/providers/ai-sdk-anthropic.provider.test.js.map +1 -0
  209. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +0 -2
  210. package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
  211. package/dist/providers/ai-sdk-openai-compatible.provider.js +4 -8
  212. package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
  213. package/dist/providers/ai-sdk-openai-compatible.provider.test.js +1 -119
  214. package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
  215. package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
  216. package/dist/providers/common/openai-compatible-messages.js +10 -4
  217. package/dist/providers/common/openai-compatible-messages.js.map +1 -1
  218. package/dist/providers/common/openai-compatible-messages.test.js +22 -0
  219. package/dist/providers/common/openai-compatible-messages.test.js.map +1 -1
  220. package/dist/providers/custom-provider-adapter.test.js +39 -1
  221. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  222. package/dist/providers/openai-compatible-behavior-gate.test.js +1 -42
  223. package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -1
  224. package/dist/providers/openai-compatible.provider.d.ts +11 -1
  225. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  226. package/dist/providers/openai-compatible.provider.js +122 -8
  227. package/dist/providers/openai-compatible.provider.js.map +1 -1
  228. package/dist/providers/openai-compatible.provider.test.js +61 -0
  229. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  230. package/dist/providers/openai.provider.test.d.ts +2 -0
  231. package/dist/providers/openai.provider.test.d.ts.map +1 -0
  232. package/dist/providers/openai.provider.test.js +22 -0
  233. package/dist/providers/openai.provider.test.js.map +1 -0
  234. package/dist/scripts/eval-auto-approval/dataset.d.ts +1 -1
  235. package/dist/services/agent-stream.d.ts +1 -0
  236. package/dist/services/agent-stream.d.ts.map +1 -1
  237. package/dist/services/approval-flow-coordinator.d.ts +2 -0
  238. package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
  239. package/dist/services/approval-flow-coordinator.js +45 -18
  240. package/dist/services/approval-flow-coordinator.js.map +1 -1
  241. package/dist/services/approval-flow-coordinator.test.js +87 -0
  242. package/dist/services/approval-flow-coordinator.test.js.map +1 -1
  243. package/dist/services/approval-state.d.ts +4 -0
  244. package/dist/services/approval-state.d.ts.map +1 -1
  245. package/dist/services/approval-state.js +2 -0
  246. package/dist/services/approval-state.js.map +1 -1
  247. package/dist/services/approval-state.test.js +21 -0
  248. package/dist/services/approval-state.test.js.map +1 -1
  249. package/dist/services/conversation-persistence.d.ts +52 -0
  250. package/dist/services/conversation-persistence.d.ts.map +1 -0
  251. package/dist/services/conversation-persistence.js +163 -0
  252. package/dist/services/conversation-persistence.js.map +1 -0
  253. package/dist/services/conversation-persistence.test.d.ts +2 -0
  254. package/dist/services/conversation-persistence.test.d.ts.map +1 -0
  255. package/dist/services/conversation-persistence.test.js +418 -0
  256. package/dist/services/conversation-persistence.test.js.map +1 -0
  257. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  258. package/dist/services/conversation-result-builder.js +13 -0
  259. package/dist/services/conversation-result-builder.js.map +1 -1
  260. package/dist/services/conversation-service.d.ts +22 -0
  261. package/dist/services/conversation-service.d.ts.map +1 -1
  262. package/dist/services/conversation-service.js +18 -0
  263. package/dist/services/conversation-service.js.map +1 -1
  264. package/dist/services/conversation-session.auto-approval.test.js +5 -9
  265. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  266. package/dist/services/conversation-session.d.ts +25 -0
  267. package/dist/services/conversation-session.d.ts.map +1 -1
  268. package/dist/services/conversation-session.js +144 -10
  269. package/dist/services/conversation-session.js.map +1 -1
  270. package/dist/services/conversation-store.d.ts +42 -0
  271. package/dist/services/conversation-store.d.ts.map +1 -1
  272. package/dist/services/conversation-store.js +182 -1
  273. package/dist/services/conversation-store.js.map +1 -1
  274. package/dist/services/conversation-store.test.js +310 -1
  275. package/dist/services/conversation-store.test.js.map +1 -1
  276. package/dist/services/history-service.d.ts +6 -1
  277. package/dist/services/history-service.d.ts.map +1 -1
  278. package/dist/services/history-service.js +46 -6
  279. package/dist/services/history-service.js.map +1 -1
  280. package/dist/services/history-service.test.d.ts +2 -0
  281. package/dist/services/history-service.test.d.ts.map +1 -0
  282. package/dist/services/history-service.test.js +77 -0
  283. package/dist/services/history-service.test.js.map +1 -0
  284. package/dist/services/input-surge-guard.d.ts +37 -0
  285. package/dist/services/input-surge-guard.d.ts.map +1 -0
  286. package/dist/services/input-surge-guard.js +190 -0
  287. package/dist/services/input-surge-guard.js.map +1 -0
  288. package/dist/services/input-surge-guard.test.d.ts +2 -0
  289. package/dist/services/input-surge-guard.test.d.ts.map +1 -0
  290. package/dist/services/input-surge-guard.test.js +126 -0
  291. package/dist/services/input-surge-guard.test.js.map +1 -0
  292. package/dist/services/mode-notices.d.ts +11 -0
  293. package/dist/services/mode-notices.d.ts.map +1 -0
  294. package/dist/services/mode-notices.js +16 -0
  295. package/dist/services/mode-notices.js.map +1 -0
  296. package/dist/services/plan-mode-interceptor.d.ts +10 -0
  297. package/dist/services/plan-mode-interceptor.d.ts.map +1 -0
  298. package/dist/services/plan-mode-interceptor.js +38 -0
  299. package/dist/services/plan-mode-interceptor.js.map +1 -0
  300. package/dist/services/plan-mode-interceptor.test.d.ts +2 -0
  301. package/dist/services/plan-mode-interceptor.test.d.ts.map +1 -0
  302. package/dist/services/plan-mode-interceptor.test.js +55 -0
  303. package/dist/services/plan-mode-interceptor.test.js.map +1 -0
  304. package/dist/services/service-interfaces.d.ts +4 -1
  305. package/dist/services/service-interfaces.d.ts.map +1 -1
  306. package/dist/services/settings-persistence.js +1 -1
  307. package/dist/services/settings-schema.d.ts +107 -4
  308. package/dist/services/settings-schema.d.ts.map +1 -1
  309. package/dist/services/settings-schema.js +103 -5
  310. package/dist/services/settings-schema.js.map +1 -1
  311. package/dist/services/settings-schema.test.js +35 -1
  312. package/dist/services/settings-schema.test.js.map +1 -1
  313. package/dist/services/settings-service.d.ts +3 -1
  314. package/dist/services/settings-service.d.ts.map +1 -1
  315. package/dist/services/settings-service.js +40 -4
  316. package/dist/services/settings-service.js.map +1 -1
  317. package/dist/services/settings-sources.d.ts.map +1 -1
  318. package/dist/services/settings-sources.js +2 -1
  319. package/dist/services/settings-sources.js.map +1 -1
  320. package/dist/services/settings-sources.test.js +4 -0
  321. package/dist/services/settings-sources.test.js.map +1 -1
  322. package/dist/services/shell-auto-approval-evaluator.d.ts +2 -1
  323. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  324. package/dist/services/shell-auto-approval-evaluator.js +12 -29
  325. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  326. package/dist/services/shell-auto-approval-evaluator.test.js +2 -4
  327. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  328. package/dist/services/shell-auto-approval-resolver.test.js +1 -1
  329. package/dist/services/shell-auto-approval-resolver.test.js.map +1 -1
  330. package/dist/services/stream-event-processor.d.ts.map +1 -1
  331. package/dist/services/stream-event-processor.js +5 -0
  332. package/dist/services/stream-event-processor.js.map +1 -1
  333. package/dist/services/stream-event-processor.test.js +27 -0
  334. package/dist/services/stream-event-processor.test.js.map +1 -1
  335. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  336. package/dist/services/subagents/subagent-manager.js +171 -31
  337. package/dist/services/subagents/subagent-manager.js.map +1 -1
  338. package/dist/services/subagents/subagent-manager.test.js +232 -42
  339. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  340. package/dist/services/subagents/types.d.ts +6 -0
  341. package/dist/services/subagents/types.d.ts.map +1 -1
  342. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  343. package/dist/services/terminal-result-collector.js +1 -2
  344. package/dist/services/terminal-result-collector.js.map +1 -1
  345. package/dist/slash-commands.d.ts +1 -0
  346. package/dist/slash-commands.d.ts.map +1 -1
  347. package/dist/slash-commands.js +8 -1
  348. package/dist/slash-commands.js.map +1 -1
  349. package/dist/slash-commands.test.d.ts +2 -0
  350. package/dist/slash-commands.test.d.ts.map +1 -0
  351. package/dist/slash-commands.test.js +22 -0
  352. package/dist/slash-commands.test.js.map +1 -0
  353. package/dist/tools/apply-patch.d.ts.map +1 -1
  354. package/dist/tools/apply-patch.js +2 -6
  355. package/dist/tools/apply-patch.js.map +1 -1
  356. package/dist/tools/apply-patch.test.js +2 -13
  357. package/dist/tools/apply-patch.test.js.map +1 -1
  358. package/dist/tools/code-context.test.js +4 -3
  359. package/dist/tools/code-context.test.js.map +1 -1
  360. package/dist/tools/create-file.d.ts.map +1 -1
  361. package/dist/tools/create-file.js +2 -3
  362. package/dist/tools/create-file.js.map +1 -1
  363. package/dist/tools/create-file.test.js +3 -14
  364. package/dist/tools/create-file.test.js.map +1 -1
  365. package/dist/tools/edit-healing.d.ts +3 -3
  366. package/dist/tools/edit-healing.d.ts.map +1 -1
  367. package/dist/tools/edit-healing.js.map +1 -1
  368. package/dist/tools/edit-healing.test.js +0 -1
  369. package/dist/tools/edit-healing.test.js.map +1 -1
  370. package/dist/tools/find-files.test.js +3 -2
  371. package/dist/tools/find-files.test.js.map +1 -1
  372. package/dist/tools/grep.d.ts +1 -0
  373. package/dist/tools/grep.d.ts.map +1 -1
  374. package/dist/tools/grep.js +65 -4
  375. package/dist/tools/grep.js.map +1 -1
  376. package/dist/tools/grep.test.js +39 -0
  377. package/dist/tools/grep.test.js.map +1 -0
  378. package/dist/tools/read-file.d.ts +1 -0
  379. package/dist/tools/read-file.d.ts.map +1 -1
  380. package/dist/tools/read-file.js +7 -5
  381. package/dist/tools/read-file.js.map +1 -1
  382. package/dist/tools/read-file.test.js +3 -2
  383. package/dist/tools/read-file.test.js.map +1 -1
  384. package/dist/tools/run-subagent.d.ts +1 -1
  385. package/dist/tools/run-subagent.d.ts.map +1 -1
  386. package/dist/tools/run-subagent.js +27 -23
  387. package/dist/tools/run-subagent.js.map +1 -1
  388. package/dist/tools/run-subagent.test.js +55 -8
  389. package/dist/tools/run-subagent.test.js.map +1 -1
  390. package/dist/tools/search-replace.d.ts +13 -5
  391. package/dist/tools/search-replace.d.ts.map +1 -1
  392. package/dist/tools/search-replace.js +46 -115
  393. package/dist/tools/search-replace.js.map +1 -1
  394. package/dist/tools/search-replace.test.js +275 -240
  395. package/dist/tools/search-replace.test.js.map +1 -1
  396. package/dist/tools/shell.d.ts +1 -0
  397. package/dist/tools/shell.d.ts.map +1 -1
  398. package/dist/tools/shell.js +14 -6
  399. package/dist/tools/shell.js.map +1 -1
  400. package/dist/tools/shell.test.js +52 -0
  401. package/dist/tools/shell.test.js.map +1 -1
  402. package/dist/tools/tool-parameter-schema.test.js +13 -4
  403. package/dist/tools/tool-parameter-schema.test.js.map +1 -1
  404. package/dist/tools/types.d.ts +1 -1
  405. package/dist/tools/types.d.ts.map +1 -1
  406. package/dist/tools/web-fetch.d.ts.map +1 -1
  407. package/dist/tools/web-fetch.js +29 -4
  408. package/dist/tools/web-fetch.js.map +1 -1
  409. package/dist/tools/web-fetch.test.js +64 -0
  410. package/dist/tools/web-fetch.test.js.map +1 -1
  411. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  412. package/dist/utils/conversation-event-handler.js +4 -0
  413. package/dist/utils/conversation-event-handler.js.map +1 -1
  414. package/dist/utils/conversation-event-handler.test.js +22 -0
  415. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  416. package/dist/utils/execute-shell.d.ts +2 -0
  417. package/dist/utils/execute-shell.d.ts.map +1 -1
  418. package/dist/utils/execute-shell.js +25 -1
  419. package/dist/utils/execute-shell.js.map +1 -1
  420. package/dist/utils/execute-shell.test.js +22 -0
  421. package/dist/utils/execute-shell.test.js.map +1 -1
  422. package/dist/utils/model-settings.d.ts.map +1 -1
  423. package/dist/utils/model-settings.js +18 -0
  424. package/dist/utils/model-settings.js.map +1 -1
  425. package/dist/utils/output-trim.d.ts.map +1 -1
  426. package/dist/utils/output-trim.js +14 -6
  427. package/dist/utils/output-trim.js.map +1 -1
  428. package/dist/utils/project-tree.d.ts +14 -0
  429. package/dist/utils/project-tree.d.ts.map +1 -0
  430. package/dist/utils/project-tree.js +111 -0
  431. package/dist/utils/project-tree.js.map +1 -0
  432. package/dist/utils/project-tree.test.d.ts +2 -0
  433. package/dist/utils/project-tree.test.d.ts.map +1 -0
  434. package/dist/utils/project-tree.test.js +149 -0
  435. package/dist/utils/project-tree.test.js.map +1 -0
  436. package/dist/utils/terminal-clear.d.ts +7 -0
  437. package/dist/utils/terminal-clear.d.ts.map +1 -0
  438. package/dist/utils/terminal-clear.js +5 -0
  439. package/dist/utils/terminal-clear.js.map +1 -0
  440. package/dist/utils/terminal-clear.test.d.ts +2 -0
  441. package/dist/utils/terminal-clear.test.d.ts.map +1 -0
  442. package/dist/utils/terminal-clear.test.js +13 -0
  443. package/dist/utils/terminal-clear.test.js.map +1 -0
  444. package/dist/utils/token-usage.test.js +31 -0
  445. package/dist/utils/token-usage.test.js.map +1 -1
  446. package/package.json +3 -3
  447. package/readme.md +271 -44
  448. package/dist/agent.lite-mode.test.d.ts +0 -2
  449. package/dist/agent.lite-mode.test.d.ts.map +0 -1
  450. package/dist/agent.lite-mode.test.js +0 -39
  451. package/dist/agent.lite-mode.test.js.map +0 -1
  452. package/dist/components/ApprovalPrompt.test.d.ts +0 -2
  453. package/dist/components/ApprovalPrompt.test.d.ts.map +0 -1
  454. package/dist/components/ApprovalPrompt.test.js +0 -23
  455. package/dist/components/ApprovalPrompt.test.js.map +0 -1
  456. package/dist/components/LiveResponse.test.d.ts +0 -2
  457. package/dist/components/LiveResponse.test.d.ts.map +0 -1
  458. package/dist/components/LiveResponse.test.js +0 -13
  459. package/dist/components/LiveResponse.test.js.map +0 -1
  460. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +0 -2
  461. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +0 -1
  462. package/dist/components/ModelSelectionMenu.error-tabs.test.js +0 -18
  463. package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +0 -1
  464. package/dist/components/TextInput.d.ts +0 -42
  465. package/dist/components/TextInput.d.ts.map +0 -1
  466. package/dist/components/TextInput.js +0 -398
  467. package/dist/components/TextInput.js.map +0 -1
  468. package/dist/components/TextInput.test.d.ts +0 -2
  469. package/dist/components/TextInput.test.d.ts.map +0 -1
  470. package/dist/components/TextInput.test.js +0 -75
  471. package/dist/components/TextInput.test.js.map +0 -1
  472. package/dist/debug_ask_mentor.d.ts +0 -2
  473. package/dist/debug_ask_mentor.d.ts.map +0 -1
  474. package/dist/debug_ask_mentor.js +0 -73
  475. package/dist/debug_ask_mentor.js.map +0 -1
  476. package/dist/lib/shell.d.ts +0 -7
  477. package/dist/lib/shell.d.ts.map +0 -1
  478. package/dist/lib/shell.js +0 -56
  479. package/dist/lib/shell.js.map +0 -1
  480. package/dist/modes/companion/command-index.d.ts +0 -26
  481. package/dist/modes/companion/command-index.d.ts.map +0 -1
  482. package/dist/modes/companion/command-index.js +0 -50
  483. package/dist/modes/companion/command-index.js.map +0 -1
  484. package/dist/modes/companion/command-index.test.d.ts +0 -2
  485. package/dist/modes/companion/command-index.test.d.ts.map +0 -1
  486. package/dist/modes/companion/command-index.test.js +0 -86
  487. package/dist/modes/companion/command-index.test.js.map +0 -1
  488. package/dist/modes/companion/companion-app.d.ts +0 -12
  489. package/dist/modes/companion/companion-app.d.ts.map +0 -1
  490. package/dist/modes/companion/companion-app.js +0 -297
  491. package/dist/modes/companion/companion-app.js.map +0 -1
  492. package/dist/modes/companion/companion-session.d.ts +0 -63
  493. package/dist/modes/companion/companion-session.d.ts.map +0 -1
  494. package/dist/modes/companion/companion-session.js +0 -146
  495. package/dist/modes/companion/companion-session.js.map +0 -1
  496. package/dist/modes/companion/companion-session.test.d.ts +0 -2
  497. package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
  498. package/dist/modes/companion/companion-session.test.js +0 -28
  499. package/dist/modes/companion/companion-session.test.js.map +0 -1
  500. package/dist/modes/companion/components/status-bar.d.ts +0 -13
  501. package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
  502. package/dist/modes/companion/components/status-bar.js +0 -26
  503. package/dist/modes/companion/components/status-bar.js.map +0 -1
  504. package/dist/modes/companion/context-buffer.d.ts +0 -65
  505. package/dist/modes/companion/context-buffer.d.ts.map +0 -1
  506. package/dist/modes/companion/context-buffer.js +0 -156
  507. package/dist/modes/companion/context-buffer.js.map +0 -1
  508. package/dist/modes/companion/context-buffer.test.d.ts +0 -2
  509. package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
  510. package/dist/modes/companion/context-buffer.test.js +0 -154
  511. package/dist/modes/companion/context-buffer.test.js.map +0 -1
  512. package/dist/modes/companion/event-detector.d.ts +0 -46
  513. package/dist/modes/companion/event-detector.d.ts.map +0 -1
  514. package/dist/modes/companion/event-detector.js +0 -169
  515. package/dist/modes/companion/event-detector.js.map +0 -1
  516. package/dist/modes/companion/event-detector.test.d.ts +0 -2
  517. package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
  518. package/dist/modes/companion/event-detector.test.js +0 -121
  519. package/dist/modes/companion/event-detector.test.js.map +0 -1
  520. package/dist/modes/companion/index.d.ts +0 -33
  521. package/dist/modes/companion/index.d.ts.map +0 -1
  522. package/dist/modes/companion/index.js +0 -21
  523. package/dist/modes/companion/index.js.map +0 -1
  524. package/dist/modes/companion/input-key-mapper.d.ts +0 -3
  525. package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
  526. package/dist/modes/companion/input-key-mapper.js +0 -31
  527. package/dist/modes/companion/input-key-mapper.js.map +0 -1
  528. package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
  529. package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
  530. package/dist/modes/companion/input-key-mapper.test.js +0 -26
  531. package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
  532. package/dist/modes/companion/input-parser.d.ts +0 -53
  533. package/dist/modes/companion/input-parser.d.ts.map +0 -1
  534. package/dist/modes/companion/input-parser.js +0 -114
  535. package/dist/modes/companion/input-parser.js.map +0 -1
  536. package/dist/modes/companion/input-parser.test.d.ts +0 -2
  537. package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
  538. package/dist/modes/companion/input-parser.test.js +0 -123
  539. package/dist/modes/companion/input-parser.test.js.map +0 -1
  540. package/dist/modes/companion/mode-manager.d.ts +0 -41
  541. package/dist/modes/companion/mode-manager.d.ts.map +0 -1
  542. package/dist/modes/companion/mode-manager.js +0 -56
  543. package/dist/modes/companion/mode-manager.js.map +0 -1
  544. package/dist/modes/companion/mode-manager.test.d.ts +0 -2
  545. package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
  546. package/dist/modes/companion/mode-manager.test.js +0 -65
  547. package/dist/modes/companion/mode-manager.test.js.map +0 -1
  548. package/dist/modes/companion/output-classifier.d.ts +0 -15
  549. package/dist/modes/companion/output-classifier.d.ts.map +0 -1
  550. package/dist/modes/companion/output-classifier.js +0 -77
  551. package/dist/modes/companion/output-classifier.js.map +0 -1
  552. package/dist/modes/companion/output-classifier.test.d.ts +0 -2
  553. package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
  554. package/dist/modes/companion/output-classifier.test.js +0 -133
  555. package/dist/modes/companion/output-classifier.test.js.map +0 -1
  556. package/dist/modes/companion/pty-wrapper.d.ts +0 -46
  557. package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
  558. package/dist/modes/companion/pty-wrapper.js +0 -143
  559. package/dist/modes/companion/pty-wrapper.js.map +0 -1
  560. package/dist/modes/companion/safety-classifier.d.ts +0 -31
  561. package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
  562. package/dist/modes/companion/safety-classifier.js +0 -140
  563. package/dist/modes/companion/safety-classifier.js.map +0 -1
  564. package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
  565. package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
  566. package/dist/modes/companion/safety-classifier.test.js +0 -151
  567. package/dist/modes/companion/safety-classifier.test.js.map +0 -1
  568. package/dist/modes/companion/summarizer.d.ts +0 -24
  569. package/dist/modes/companion/summarizer.d.ts.map +0 -1
  570. package/dist/modes/companion/summarizer.js +0 -132
  571. package/dist/modes/companion/summarizer.js.map +0 -1
  572. package/dist/modes/companion/terminal-history.d.ts +0 -27
  573. package/dist/modes/companion/terminal-history.d.ts.map +0 -1
  574. package/dist/modes/companion/terminal-history.js +0 -142
  575. package/dist/modes/companion/terminal-history.js.map +0 -1
  576. package/dist/prompts/simple-mentor.md +0 -215
  577. package/dist/providers/ai-sdk-openai.provider.d.ts +0 -14
  578. package/dist/providers/ai-sdk-openai.provider.d.ts.map +0 -1
  579. package/dist/providers/ai-sdk-openai.provider.js +0 -18
  580. package/dist/providers/ai-sdk-openai.provider.js.map +0 -1
  581. package/dist/providers/github-copilot/converters.d.ts +0 -45
  582. package/dist/providers/github-copilot/converters.d.ts.map +0 -1
  583. package/dist/providers/github-copilot/converters.js +0 -118
  584. package/dist/providers/github-copilot/converters.js.map +0 -1
  585. package/dist/providers/github-copilot/converters.test.d.ts +0 -2
  586. package/dist/providers/github-copilot/converters.test.d.ts.map +0 -1
  587. package/dist/providers/github-copilot/converters.test.js +0 -162
  588. package/dist/providers/github-copilot/converters.test.js.map +0 -1
  589. package/dist/providers/github-copilot/github-copilot.provider.d.ts +0 -2
  590. package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +0 -1
  591. package/dist/providers/github-copilot/github-copilot.provider.js +0 -75
  592. package/dist/providers/github-copilot/github-copilot.provider.js.map +0 -1
  593. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +0 -2
  594. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +0 -1
  595. package/dist/providers/github-copilot/github-copilot.provider.test.js +0 -26
  596. package/dist/providers/github-copilot/github-copilot.provider.test.js.map +0 -1
  597. package/dist/providers/github-copilot/index.d.ts +0 -4
  598. package/dist/providers/github-copilot/index.d.ts.map +0 -1
  599. package/dist/providers/github-copilot/index.js +0 -4
  600. package/dist/providers/github-copilot/index.js.map +0 -1
  601. package/dist/providers/github-copilot/model.d.ts +0 -24
  602. package/dist/providers/github-copilot/model.d.ts.map +0 -1
  603. package/dist/providers/github-copilot/model.delta.test.d.ts +0 -2
  604. package/dist/providers/github-copilot/model.delta.test.d.ts.map +0 -1
  605. package/dist/providers/github-copilot/model.delta.test.js +0 -15
  606. package/dist/providers/github-copilot/model.delta.test.js.map +0 -1
  607. package/dist/providers/github-copilot/model.js +0 -498
  608. package/dist/providers/github-copilot/model.js.map +0 -1
  609. package/dist/providers/github-copilot/model.test.d.ts +0 -2
  610. package/dist/providers/github-copilot/model.test.d.ts.map +0 -1
  611. package/dist/providers/github-copilot/model.test.js +0 -63
  612. package/dist/providers/github-copilot/model.test.js.map +0 -1
  613. package/dist/providers/github-copilot/provider.d.ts +0 -15
  614. package/dist/providers/github-copilot/provider.d.ts.map +0 -1
  615. package/dist/providers/github-copilot/provider.js +0 -25
  616. package/dist/providers/github-copilot/provider.js.map +0 -1
  617. package/dist/providers/github-copilot/provider.test.d.ts +0 -2
  618. package/dist/providers/github-copilot/provider.test.d.ts.map +0 -1
  619. package/dist/providers/github-copilot/provider.test.js +0 -52
  620. package/dist/providers/github-copilot/provider.test.js.map +0 -1
  621. package/dist/providers/github-copilot/utils.d.ts +0 -20
  622. package/dist/providers/github-copilot/utils.d.ts.map +0 -1
  623. package/dist/providers/github-copilot/utils.js +0 -142
  624. package/dist/providers/github-copilot/utils.js.map +0 -1
  625. package/dist/providers/github-copilot/utils.test.d.ts +0 -2
  626. package/dist/providers/github-copilot/utils.test.d.ts.map +0 -1
  627. package/dist/providers/github-copilot/utils.test.js +0 -21
  628. package/dist/providers/github-copilot/utils.test.js.map +0 -1
  629. package/dist/providers/openai-compatible/api.d.ts +0 -17
  630. package/dist/providers/openai-compatible/api.d.ts.map +0 -1
  631. package/dist/providers/openai-compatible/api.js +0 -58
  632. package/dist/providers/openai-compatible/api.js.map +0 -1
  633. package/dist/providers/openai-compatible/model.d.ts +0 -17
  634. package/dist/providers/openai-compatible/model.d.ts.map +0 -1
  635. package/dist/providers/openai-compatible/model.js +0 -473
  636. package/dist/providers/openai-compatible/model.js.map +0 -1
  637. package/dist/providers/openai-compatible/provider.d.ts +0 -22
  638. package/dist/providers/openai-compatible/provider.d.ts.map +0 -1
  639. package/dist/providers/openai-compatible/provider.js +0 -43
  640. package/dist/providers/openai-compatible/provider.js.map +0 -1
  641. package/dist/providers/openai-compatible/reasoning-content.test.d.ts +0 -2
  642. package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +0 -1
  643. package/dist/providers/openai-compatible/reasoning-content.test.js +0 -258
  644. package/dist/providers/openai-compatible/reasoning-content.test.js.map +0 -1
  645. package/dist/providers/openai-compatible/utils.d.ts +0 -3
  646. package/dist/providers/openai-compatible/utils.d.ts.map +0 -1
  647. package/dist/providers/openai-compatible/utils.js +0 -11
  648. package/dist/providers/openai-compatible/utils.js.map +0 -1
  649. package/dist/providers/openrouter/api.d.ts +0 -39
  650. package/dist/providers/openrouter/api.d.ts.map +0 -1
  651. package/dist/providers/openrouter/api.js +0 -164
  652. package/dist/providers/openrouter/api.js.map +0 -1
  653. package/dist/providers/openrouter/converters.d.ts +0 -8
  654. package/dist/providers/openrouter/converters.d.ts.map +0 -1
  655. package/dist/providers/openrouter/converters.js +0 -391
  656. package/dist/providers/openrouter/converters.js.map +0 -1
  657. package/dist/providers/openrouter/converters.test.d.ts +0 -2
  658. package/dist/providers/openrouter/converters.test.d.ts.map +0 -1
  659. package/dist/providers/openrouter/converters.test.js +0 -179
  660. package/dist/providers/openrouter/converters.test.js.map +0 -1
  661. package/dist/providers/openrouter/index.d.ts +0 -4
  662. package/dist/providers/openrouter/index.d.ts.map +0 -1
  663. package/dist/providers/openrouter/index.js +0 -4
  664. package/dist/providers/openrouter/index.js.map +0 -1
  665. package/dist/providers/openrouter/model.d.ts +0 -14
  666. package/dist/providers/openrouter/model.d.ts.map +0 -1
  667. package/dist/providers/openrouter/model.js +0 -457
  668. package/dist/providers/openrouter/model.js.map +0 -1
  669. package/dist/providers/openrouter/provider.d.ts +0 -15
  670. package/dist/providers/openrouter/provider.d.ts.map +0 -1
  671. package/dist/providers/openrouter/provider.js +0 -21
  672. package/dist/providers/openrouter/provider.js.map +0 -1
  673. package/dist/providers/openrouter/reasoning-content.test.d.ts +0 -2
  674. package/dist/providers/openrouter/reasoning-content.test.d.ts.map +0 -1
  675. package/dist/providers/openrouter/reasoning-content.test.js +0 -122
  676. package/dist/providers/openrouter/reasoning-content.test.js.map +0 -1
  677. package/dist/providers/openrouter/utils.d.ts +0 -11
  678. package/dist/providers/openrouter/utils.d.ts.map +0 -1
  679. package/dist/providers/openrouter/utils.js +0 -29
  680. package/dist/providers/openrouter/utils.js.map +0 -1
  681. package/dist/providers/openrouter.api.retry.test.d.ts +0 -2
  682. package/dist/providers/openrouter.api.retry.test.d.ts.map +0 -1
  683. package/dist/providers/openrouter.api.retry.test.js +0 -148
  684. package/dist/providers/openrouter.api.retry.test.js.map +0 -1
  685. package/dist/providers/openrouter.test.d.ts +0 -2
  686. package/dist/providers/openrouter.test.d.ts.map +0 -1
  687. package/dist/providers/openrouter.test.js +0 -1449
  688. package/dist/providers/openrouter.test.js.map +0 -1
  689. package/dist/safety-checker.js +0 -57
  690. package/dist/services/check_mock.d.ts +0 -2
  691. package/dist/services/check_mock.d.ts.map +0 -1
  692. package/dist/services/check_mock.js +0 -22
  693. package/dist/services/check_mock.js.map +0 -1
  694. package/dist/services/conversation-service.test.d.ts +0 -2
  695. package/dist/services/conversation-service.test.d.ts.map +0 -1
  696. package/dist/services/conversation-service.test.js +0 -156
  697. package/dist/services/conversation-service.test.js.map +0 -1
  698. package/dist/tools/bash.d.ts +0 -10
  699. package/dist/tools/bash.d.ts.map +0 -1
  700. package/dist/tools/bash.js +0 -55
  701. package/dist/tools/bash.js.map +0 -1
  702. package/dist/utils/command-safety.d.ts +0 -21
  703. package/dist/utils/command-safety.d.ts.map +0 -1
  704. package/dist/utils/command-safety.devnull.test.d.ts +0 -2
  705. package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
  706. package/dist/utils/command-safety.devnull.test.js +0 -13
  707. package/dist/utils/command-safety.devnull.test.js.map +0 -1
  708. package/dist/utils/command-safety.js +0 -348
  709. package/dist/utils/command-safety.js.map +0 -1
  710. package/dist/utils/extract-command-messages.test.d.ts +0 -2
  711. package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
  712. package/dist/utils/provider-traffic-extractor.repro.test.d.ts +0 -2
  713. package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +0 -1
  714. package/dist/utils/provider-traffic-extractor.repro.test.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import React, { FC } from 'react';
2
2
  import type { SlashCommand } from '../slash-commands.js';
3
3
  import type { SettingsService } from '../services/settings-service.js';
4
4
  import type { LoggingService } from '../services/logging-service.js';
@@ -7,6 +7,7 @@ import type { SSHInfo } from '../hooks/use-shell-mode.js';
7
7
  import type { NormalizedUsage } from '../utils/token-usage.js';
8
8
  import type { PendingApproval } from '../contracts/conversation.js';
9
9
  import type { UserTurn } from '../types/user-turn.js';
10
+ import type { UndoItem } from '../hooks/use-undo-selection.js';
10
11
  export type BottomAreaProps = {
11
12
  pendingApproval: PendingApproval | null;
12
13
  waitingForApproval: boolean;
@@ -23,6 +24,11 @@ export type BottomAreaProps = {
23
24
  onApprove: () => void;
24
25
  onReject: () => void;
25
26
  sshInfo?: SSHInfo;
27
+ undoMenuRef?: React.MutableRefObject<{
28
+ open: (items: UndoItem[]) => void;
29
+ } | null>;
30
+ onUndoSelect?: (item: UndoItem) => void;
31
+ onSettingChange?: (key: string, value: any) => void;
26
32
  };
27
33
  declare const BottomArea: FC<BottomAreaProps>;
28
34
  export default BottomArea;
@@ -1 +1 @@
1
- {"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAKvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA2DnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAKvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAiEnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -3,7 +3,7 @@ import { Box, Text } from 'ink';
3
3
  import ApprovalPrompt from './ApprovalPrompt.js';
4
4
  import InputBox from './InputBox.js';
5
5
  import StatusBar from './StatusBar.js';
6
- const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, isProcessing, isShellMode = false, onSubmit, slashCommands, hasConversationHistory, settingsService, loggingService, historyService, onApprove, onReject, sshInfo, lastUsage, }) => {
6
+ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, isProcessing, isShellMode = false, onSubmit, slashCommands, hasConversationHistory, settingsService, loggingService, historyService, onApprove, onReject, sshInfo, lastUsage, undoMenuRef, onUndoSelect, onSettingChange, }) => {
7
7
  const [dotCount, setDotCount] = useState(1);
8
8
  useEffect(() => {
9
9
  if (!isProcessing) {
@@ -20,7 +20,7 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
20
20
  return (React.createElement(Box, { flexDirection: "column", width: "100%" },
21
21
  React.createElement(Box, { flexDirection: "column", marginTop: 1 }, showApprovalPrompt ? (React.createElement(ApprovalPrompt, { approval: pendingApproval, onApprove: onApprove, onReject: onReject })) : isProcessing ? (React.createElement(Text, { color: "#64748b" },
22
22
  "processing",
23
- '.'.repeat(dotCount))) : showInput ? (React.createElement(InputBox, { onSubmit: onSubmit, slashCommands: slashCommands, hasConversationHistory: hasConversationHistory, waitingForRejectionReason: waitingForRejectionReason, isShellMode: isShellMode, settingsService: settingsService, loggingService: loggingService, historyService: historyService })) : null),
23
+ '.'.repeat(dotCount))) : showInput ? (React.createElement(InputBox, { onSubmit: onSubmit, slashCommands: slashCommands, hasConversationHistory: hasConversationHistory, waitingForRejectionReason: waitingForRejectionReason, isShellMode: isShellMode, settingsService: settingsService, loggingService: loggingService, historyService: historyService, undoMenuRef: undoMenuRef, onUndoSelect: onUndoSelect, onSettingChange: onSettingChange })) : null),
24
24
  React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage })));
25
25
  };
26
26
  export default BottomArea;
@@ -1 +1 @@
1
- {"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AA4BvC,MAAM,UAAU,GAAwB,CAAC,EACvC,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,YAAY,IAAI,CAAC,yBAAyB,IAAI,eAAe,CAAC;IAChH,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,yBAAyB,CAAC;IAEtF,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM;QACtC,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,IACrC,kBAAkB,CAAC,CAAC,CAAC,CACpB,oBAAC,cAAc,IAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACxF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CACjB,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAQ,CAC9D,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,oBAAC,QAAQ,IACP,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC,CAAC,CAAC,IAAI,CACJ;QAEN,oBAAC,SAAS,IAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,CAC7G,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAgCvC,MAAM,UAAU,GAAwB,CAAC,EACvC,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,YAAY,IAAI,CAAC,yBAAyB,IAAI,eAAe,CAAC;IAChH,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,yBAAyB,CAAC;IAEtF,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM;QACtC,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,IACrC,kBAAkB,CAAC,CAAC,CAAC,CACpB,oBAAC,cAAc,IAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACxF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CACjB,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAQ,CAC9D,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,oBAAC,QAAQ,IACP,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAChC,CACH,CAAC,CAAC,CAAC,IAAI,CACJ;QAEN,oBAAC,SAAS,IAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,CAC7G,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandMessage.d.ts","sourceRoot":"","sources":["../../source/components/CommandMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAMhE,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;AAwRF,wBAA0C"}
1
+ {"version":3,"file":"CommandMessage.d.ts","sourceRoot":"","sources":["../../source/components/CommandMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAOhE,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;AAsQF,wBAA0C"}
@@ -3,36 +3,7 @@ import { Box, Text } from 'ink';
3
3
  import { generateDiff } from '../utils/diff.js';
4
4
  import { TOOL_NAME_APPLY_PATCH, TOOL_NAME_CREATE_FILE, TOOL_NAME_SEARCH_REPLACE } from '../tools/tool-names.js';
5
5
  import { COLOR_TOOL_OUTPUT } from './theme.js';
6
- const DiffView = ({ diff }) => {
7
- try {
8
- const lines = diff.split('\n');
9
- const maxLines = 30;
10
- const truncated = lines.length > maxLines;
11
- const displayLines = truncated ? lines.slice(0, maxLines) : lines;
12
- return (React.createElement(Box, { flexDirection: "column", marginLeft: 2 },
13
- displayLines.map((line, i) => {
14
- let color;
15
- if (line.startsWith('+')) {
16
- color = 'green';
17
- }
18
- else if (line.startsWith('-')) {
19
- color = 'red';
20
- }
21
- else if (line.startsWith('@@')) {
22
- color = 'cyan';
23
- }
24
- return (React.createElement(Text, { key: i, color: color || COLOR_TOOL_OUTPUT }, line));
25
- }),
26
- truncated && React.createElement(Text, { color: COLOR_TOOL_OUTPUT },
27
- "... (",
28
- lines.length - maxLines,
29
- " more lines)")));
30
- }
31
- catch (error) {
32
- return (React.createElement(Box, { flexDirection: "row", marginLeft: 2 },
33
- React.createElement(Text, { color: "red" }, "[Failed to render diff preview]")));
34
- }
35
- };
6
+ import DiffView from './DiffView.js';
36
7
  const formatToolArgs = (toolName, args) => {
37
8
  if (!args || !toolName) {
38
9
  return '';
@@ -84,12 +55,24 @@ const formatToolArgs = (toolName, args) => {
84
55
  return `${type} ${path}`;
85
56
  }
86
57
  case TOOL_NAME_SEARCH_REPLACE: {
87
- const searchContent = normalizedArgs.search_content || '';
88
- const replaceContent = normalizedArgs.replace_content || '';
89
58
  const path = normalizedArgs.path || 'unknown';
90
- const search = searchContent.length > 30 ? `${searchContent.slice(0, 30)}...` : searchContent;
91
- const replace = replaceContent.length > 30 ? `${replaceContent.slice(0, 30)}...` : replaceContent;
92
- return `"${search}" "${replace}" "${path}"`;
59
+ if (normalizedArgs.replacements) {
60
+ const replacements = normalizedArgs.replacements || [];
61
+ const firstRep = replacements[0] || {};
62
+ const searchContent = firstRep.search_content || '';
63
+ const replaceContent = firstRep.replace_content || '';
64
+ const search = searchContent.length > 30 ? `${searchContent.slice(0, 30)}...` : searchContent;
65
+ const replace = replaceContent.length > 30 ? `${replaceContent.slice(0, 30)}...` : replaceContent;
66
+ const countText = replacements.length > 1 ? ` (+ ${replacements.length - 1} more)` : '';
67
+ return `"${search}" → "${replace}" "${path}"${countText}`;
68
+ }
69
+ else {
70
+ const searchContent = normalizedArgs.search_content || '';
71
+ const replaceContent = normalizedArgs.replace_content || '';
72
+ const search = searchContent.length > 30 ? `${searchContent.slice(0, 30)}...` : searchContent;
73
+ const replace = replaceContent.length > 30 ? `${replaceContent.slice(0, 30)}...` : replaceContent;
74
+ return `"${search}" → "${replace}" "${path}"`;
75
+ }
93
76
  }
94
77
  case TOOL_NAME_CREATE_FILE: {
95
78
  const filePath = normalizedArgs.path || 'unknown';
@@ -123,9 +106,16 @@ const formatToolArgs = (toolName, args) => {
123
106
  const CommandMessage = ({ command, output, status, success, failureReason, toolName, toolArgs, hadApproval, }) => {
124
107
  const isRunning = status === 'pending' || status === 'running';
125
108
  const [isVisible, setIsVisible] = useState(!isRunning);
126
- const diff = useMemo(() => toolName === TOOL_NAME_SEARCH_REPLACE && toolArgs
127
- ? generateDiff(toolArgs.search_content, toolArgs.replace_content)
128
- : '', [toolName, toolArgs?.search_content, toolArgs?.replace_content]);
109
+ const diff = useMemo(() => {
110
+ if (toolName !== TOOL_NAME_SEARCH_REPLACE || !toolArgs)
111
+ return '';
112
+ if (toolArgs.replacements) {
113
+ return (toolArgs.replacements || [])
114
+ .map((rep) => generateDiff(rep.search_content, rep.replace_content))
115
+ .join('\n');
116
+ }
117
+ return generateDiff(toolArgs.search_content, toolArgs.replace_content);
118
+ }, [toolName, toolArgs?.search_content, toolArgs?.replace_content, toolArgs?.replacements]);
129
119
  const createFileDiffLines = useMemo(() => toolName === TOOL_NAME_CREATE_FILE && toolArgs
130
120
  ? (toolArgs.content ?? '')
131
121
  .split('\n')
@@ -148,8 +138,15 @@ const CommandMessage = ({ command, output, status, success, failureReason, toolN
148
138
  const outputText = output?.trim() ? output : isRunning ? '(running...)' : '(no output)';
149
139
  const displayed = outputText && outputText !== '(no output)'
150
140
  ? (() => {
151
- const lines = (output || '').split('\n');
152
- return lines.length > 3 ? `${lines.slice(0, 3).join('\n')}\n... (${lines.length - 3} more lines)` : output;
141
+ const trimmedOutput = (output || '').trimEnd();
142
+ const lines = trimmedOutput.split('\n');
143
+ const maxLines = 3;
144
+ if (lines.length > maxLines + 1) {
145
+ const firstPart = lines.slice(0, maxLines).join('\n');
146
+ const lastLine = lines[lines.length - 1];
147
+ return `${firstPart}\n... (${lines.length - maxLines - 1} more lines)\n${lastLine}`;
148
+ }
149
+ return output;
153
150
  })()
154
151
  : outputText;
155
152
  // Special handling for apply_patch
@@ -184,8 +181,7 @@ const CommandMessage = ({ command, output, status, success, failureReason, toolN
184
181
  React.createElement(Text, { color: "yellow", bold: true }, "[SEARCH & REPLACE]"),
185
182
  React.createElement(Text, null,
186
183
  " ",
187
- toolArgs.path),
188
- toolArgs.replace_all && React.createElement(Text, { color: "magenta" }, " (all occurrences)")),
184
+ toolArgs.path)),
189
185
  React.createElement(DiffView, { diff: diff }),
190
186
  failureReason && React.createElement(Text, { color: "red" },
191
187
  "Error: ",
@@ -1 +1 @@
1
- {"version":3,"file":"CommandMessage.js","sourceRoot":"","sources":["../../source/components/CommandMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandMessage.js","sourceRoot":"","sources":["../../source/components/CommandMessage.tsx"],"names":[],"mappings":"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"}
@@ -122,4 +122,73 @@ test('CommandMessage renders create_file failure in red', async (t) => {
122
122
  t.true(output.includes('[CREATE]'), `Expected "[CREATE]" in output: ${output}`);
123
123
  t.true(output.includes('Error'), `Expected error message in output: ${output}`);
124
124
  });
125
+ test('CommandMessage truncates output and shows the last line when output is longer than 4 lines', async (t) => {
126
+ const props = {
127
+ command: 'shell: echo',
128
+ toolName: 'shell',
129
+ toolArgs: { command: 'echo' },
130
+ status: 'completed',
131
+ success: true,
132
+ output: 'line 1\nline 2\nline 3\nline 4\nline 5\nline 6',
133
+ };
134
+ const { lastFrame } = render(React.createElement(CommandMessage, { ...props }));
135
+ const output = lastFrame() ?? '';
136
+ t.true(output.includes('line 1'), `Expected "line 1" in output: ${output}`);
137
+ t.true(output.includes('line 2'), `Expected "line 2" in output: ${output}`);
138
+ t.true(output.includes('line 3'), `Expected "line 3" in output: ${output}`);
139
+ t.false(output.includes('line 4'), `Expected "line 4" to be truncated: ${output}`);
140
+ t.false(output.includes('line 5'), `Expected "line 5" to be truncated: ${output}`);
141
+ t.true(output.includes('line 6'), `Expected "line 6" (the last line) in output: ${output}`);
142
+ t.true(output.includes('... (2 more lines)'), `Expected truncation count of 2: ${output}`);
143
+ });
144
+ test('CommandMessage does not truncate output and shows all lines when output is exactly 4 lines', async (t) => {
145
+ const props = {
146
+ command: 'shell: echo',
147
+ toolName: 'shell',
148
+ toolArgs: { command: 'echo' },
149
+ status: 'completed',
150
+ success: true,
151
+ output: 'line 1\nline 2\nline 3\nline 4',
152
+ };
153
+ const { lastFrame } = render(React.createElement(CommandMessage, { ...props }));
154
+ const output = lastFrame() ?? '';
155
+ t.true(output.includes('line 1'));
156
+ t.true(output.includes('line 2'));
157
+ t.true(output.includes('line 3'));
158
+ t.true(output.includes('line 4'));
159
+ t.false(output.includes('more lines'));
160
+ });
161
+ test('CommandMessage does not truncate output when output is 3 lines', async (t) => {
162
+ const props = {
163
+ command: 'shell: echo',
164
+ toolName: 'shell',
165
+ toolArgs: { command: 'echo' },
166
+ status: 'completed',
167
+ success: true,
168
+ output: 'line 1\nline 2\nline 3',
169
+ };
170
+ const { lastFrame } = render(React.createElement(CommandMessage, { ...props }));
171
+ const output = lastFrame() ?? '';
172
+ t.true(output.includes('line 1'));
173
+ t.true(output.includes('line 2'));
174
+ t.true(output.includes('line 3'));
175
+ t.false(output.includes('more lines'));
176
+ });
177
+ test('CommandMessage trims trailing newlines when checking for truncation', async (t) => {
178
+ const props = {
179
+ command: 'shell: echo',
180
+ toolName: 'shell',
181
+ toolArgs: { command: 'echo' },
182
+ status: 'completed',
183
+ success: true,
184
+ output: 'line 1\nline 2\nline 3\nline 4\n\n\n',
185
+ };
186
+ const { lastFrame } = render(React.createElement(CommandMessage, { ...props }));
187
+ const output = lastFrame() ?? '';
188
+ t.true(output.includes('line 1'));
189
+ t.true(output.includes('line 2'));
190
+ t.true(output.includes('line 3'));
191
+ t.true(output.includes('line 4'));
192
+ t.false(output.includes('more lines'));
193
+ });
125
194
  //# sourceMappingURL=CommandMessage.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandMessage.test.js","sourceRoot":"","sources":["../../source/components/CommandMessage.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandMessage.test.js","sourceRoot":"","sources":["../../source/components/CommandMessage.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ interface DiffViewProps {
3
+ diff: string;
4
+ }
5
+ export declare const DiffView: FC<DiffViewProps>;
6
+ export default DiffView;
7
+ //# sourceMappingURL=DiffView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffView.d.ts","sourceRoot":"","sources":["../../source/components/DiffView.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAgDD,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA0CtC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,80 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ import { COLOR_TOOL_OUTPUT } from './theme.js';
4
+ const collapseUnchangedLines = (lines) => {
5
+ const result = [];
6
+ let i = 0;
7
+ while (i < lines.length) {
8
+ const line = lines[i];
9
+ const isUnchanged = (l) => l !== undefined && !l.startsWith('+') && !l.startsWith('-') && !l.startsWith('@@');
10
+ if (!isUnchanged(line)) {
11
+ result.push(line);
12
+ i++;
13
+ continue;
14
+ }
15
+ // Find the end of the consecutive unchanged lines block
16
+ let j = i;
17
+ while (j < lines.length && isUnchanged(lines[j])) {
18
+ j++;
19
+ }
20
+ const unchangedCount = j - i;
21
+ const maxUnchangedContext = 3;
22
+ if (unchangedCount <= maxUnchangedContext * 2 + 1) {
23
+ for (let k = i; k < j; k++) {
24
+ result.push(lines[k]);
25
+ }
26
+ }
27
+ else {
28
+ // Keep first 3 lines
29
+ for (let k = i; k < i + maxUnchangedContext; k++) {
30
+ result.push(lines[k]);
31
+ }
32
+ // Add placeholder line
33
+ const skippedCount = unchangedCount - maxUnchangedContext * 2;
34
+ result.push(` ... (${skippedCount} unchanged lines) ...`);
35
+ // Keep last 3 lines
36
+ for (let k = j - maxUnchangedContext; k < j; k++) {
37
+ result.push(lines[k]);
38
+ }
39
+ }
40
+ i = j;
41
+ }
42
+ return result;
43
+ };
44
+ export const DiffView = ({ diff }) => {
45
+ try {
46
+ const trimmedDiff = diff.trimEnd();
47
+ const rawLines = trimmedDiff.split('\n');
48
+ const collapsedLines = collapseUnchangedLines(rawLines);
49
+ const maxLines = 30;
50
+ const truncated = collapsedLines.length > maxLines + 1;
51
+ const displayLines = truncated ? collapsedLines.slice(0, maxLines) : collapsedLines;
52
+ const lastLine = truncated ? collapsedLines[collapsedLines.length - 1] : null;
53
+ const renderLine = (line, key) => {
54
+ let color;
55
+ if (line.startsWith('+')) {
56
+ color = 'green';
57
+ }
58
+ else if (line.startsWith('-')) {
59
+ color = 'red';
60
+ }
61
+ else if (line.startsWith('@@')) {
62
+ color = 'cyan';
63
+ }
64
+ return (React.createElement(Text, { key: key, color: color || COLOR_TOOL_OUTPUT }, line));
65
+ };
66
+ return (React.createElement(Box, { flexDirection: "column", marginLeft: 2 },
67
+ displayLines.map((line, i) => renderLine(line, i)),
68
+ truncated && React.createElement(Text, { color: COLOR_TOOL_OUTPUT },
69
+ "... (",
70
+ collapsedLines.length - maxLines - 1,
71
+ " more lines)"),
72
+ truncated && lastLine !== null && renderLine(lastLine, 'last')));
73
+ }
74
+ catch (error) {
75
+ return (React.createElement(Box, { flexDirection: "column", marginLeft: 2 },
76
+ React.createElement(Text, { color: "red" }, "[Failed to render diff preview]")));
77
+ }
78
+ };
79
+ export default DiffView;
80
+ //# sourceMappingURL=DiffView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffView.js","sourceRoot":"","sources":["../../source/components/DiffView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DiffView.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffView.test.d.ts","sourceRoot":"","sources":["../../source/components/DiffView.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import test from 'ava';
2
+ import React from 'react';
3
+ import { render } from 'ink-testing-library';
4
+ import DiffView from './DiffView.js';
5
+ test('DiffView renders small diff without collapsing', (t) => {
6
+ const diff = [' line 1', ' line 2', '-old line', '+new line', ' line 3', ' line 4'].join('\n');
7
+ const { lastFrame } = render(React.createElement(DiffView, { diff: diff }));
8
+ const output = lastFrame() ?? '';
9
+ t.true(output.includes('line 1'));
10
+ t.true(output.includes('-old line'));
11
+ t.true(output.includes('+new line'));
12
+ t.true(output.includes('line 4'));
13
+ t.false(output.includes('unchanged lines'));
14
+ });
15
+ test('DiffView collapses large number of consecutive unchanged lines', (t) => {
16
+ const diff = [
17
+ ' line 1',
18
+ ' line 2',
19
+ ' line 3',
20
+ ' line 4',
21
+ ' line 5',
22
+ ' line 6',
23
+ ' line 7',
24
+ ' line 8',
25
+ '-old line',
26
+ '+new line',
27
+ ' line 9',
28
+ ' line 10',
29
+ ].join('\n');
30
+ const { lastFrame } = render(React.createElement(DiffView, { diff: diff }));
31
+ const output = lastFrame() ?? '';
32
+ // The first 8 lines are unchanged. Max context is 3. So it should show:
33
+ // line 1, line 2, line 3, then a placeholder, then line 6, line 7, line 8.
34
+ // Skipped: 8 - 3 - 3 = 2 lines (line 4, 5)
35
+ t.true(output.includes('line 1'));
36
+ t.true(output.includes('line 2'));
37
+ t.true(output.includes('line 3'));
38
+ t.false(output.includes('line 4'));
39
+ t.false(output.includes('line 5'));
40
+ t.true(output.includes('line 6'));
41
+ t.true(output.includes('line 7'));
42
+ t.true(output.includes('line 8'));
43
+ t.true(output.includes('2 unchanged lines'));
44
+ });
45
+ //# sourceMappingURL=DiffView.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffView.test.js","sourceRoot":"","sources":["../../source/components/DiffView.test.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,IAAI,CAAC,gDAAgD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/F,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IAEjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3E,MAAM,IAAI,GAAG;QACX,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,WAAW;QACX,WAAW;QACX,SAAS;QACT,UAAU;KACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IAEjC,wEAAwE;IACxE,2EAA2E;IAC3E,2CAA2C;IAC3C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC"}
@@ -5,6 +5,7 @@ import type { SettingCompletionItem } from '../../hooks/use-settings-completion.
5
5
  import type { SettingValueSuggestion } from '../../hooks/use-settings-value-completion.js';
6
6
  import type { ModelInfo } from '../../services/model-service.js';
7
7
  import type { SettingsService } from '../../services/settings-service.js';
8
+ import type { UndoItem } from '../../hooks/use-undo-selection.js';
8
9
  interface PopupManagerProps {
9
10
  slash: {
10
11
  isOpen: boolean;
@@ -48,6 +49,12 @@ interface PopupManagerProps {
48
49
  query: string;
49
50
  isNumericSettings?: boolean;
50
51
  };
52
+ undo: {
53
+ isOpen: boolean;
54
+ items: UndoItem[];
55
+ selectedIndex: number;
56
+ scrollOffset?: number;
57
+ };
51
58
  settingsService: SettingsService;
52
59
  }
53
60
  export declare const PopupManager: FC<PopupManagerProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.d.ts","sourceRoot":"","sources":["../../../source/components/Input/PopupManager.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E,UAAU,iBAAiB;IACzB,KAAK,EAAE;QACL,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE;QACJ,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa,EAAE;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAChC,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAuD9C,CAAC"}
1
+ {"version":3,"file":"PopupManager.d.ts","sourceRoot":"","sources":["../../../source/components/Input/PopupManager.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAM5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAElE,UAAU,iBAAiB;IACzB,KAAK,EAAE;QACL,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE;QACJ,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa,EAAE;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAChC,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,IAAI,EAAE;QACJ,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CA2D9C,CAAC"}
@@ -4,12 +4,14 @@ import PathSelectionMenu from '../PathSelectionMenu.js';
4
4
  import SettingsSelectionMenu from '../SettingsSelectionMenu.js';
5
5
  import SettingsValueSelectionMenu from '../SettingsValueSelectionMenu.js';
6
6
  import ModelSelectionMenu from '../ModelSelectionMenu.js';
7
- export const PopupManager = ({ slash, path, models, settings, settingsValue, settingsService, }) => {
7
+ import UndoSelectionMenu from '../UndoSelectionMenu.js';
8
+ export const PopupManager = ({ slash, path, models, settings, settingsValue, undo, settingsService, }) => {
8
9
  return (React.createElement(React.Fragment, null,
9
10
  models.isOpen && (React.createElement(ModelSelectionMenu, { items: models.items, selectedIndex: models.selectedIndex, query: models.query, loading: models.loading, error: models.error, provider: models.provider, scrollOffset: models.scrollOffset, canSwitchProvider: models.canSwitchProvider, settingsService: settingsService })),
10
11
  path.isOpen && (React.createElement(PathSelectionMenu, { items: path.items, selectedIndex: path.selectedIndex, scrollOffset: path.scrollOffset, query: path.query, loading: path.loading, error: path.error })),
11
12
  slash.isOpen && (React.createElement(SlashCommandMenu, { commands: slash.commands, selectedIndex: slash.selectedIndex, filter: slash.filter })),
12
13
  settings.isOpen && (React.createElement(SettingsSelectionMenu, { items: settings.items, selectedIndex: settings.selectedIndex, scrollOffset: settings.scrollOffset, query: settings.query })),
13
- settingsValue.isOpen && settingsValue.settingKey && (React.createElement(SettingsValueSelectionMenu, { settingKey: settingsValue.settingKey, items: settingsValue.items, selectedIndex: settingsValue.selectedIndex, query: settingsValue.query, isNumericSettings: settingsValue.isNumericSettings }))));
14
+ settingsValue.isOpen && settingsValue.settingKey && (React.createElement(SettingsValueSelectionMenu, { settingKey: settingsValue.settingKey, items: settingsValue.items, selectedIndex: settingsValue.selectedIndex, query: settingsValue.query, isNumericSettings: settingsValue.isNumericSettings })),
15
+ undo.isOpen && (React.createElement(UndoSelectionMenu, { items: undo.items, selectedIndex: undo.selectedIndex, scrollOffset: undo.scrollOffset }))));
14
16
  };
15
17
  //# sourceMappingURL=PopupManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../source/components/Input/PopupManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAChE,OAAO,0BAA0B,MAAM,kCAAkC,CAAC;AAC1E,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAqD1D,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAClD,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,EAAE,EAAE;IACH,OAAO,CACL;QACG,MAAM,CAAC,MAAM,IAAI,CAChB,oBAAC,kBAAkB,IACjB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAC3C,eAAe,EAAE,eAAe,GAChC,CACH;QACA,IAAI,CAAC,MAAM,IAAI,CACd,oBAAC,iBAAiB,IAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,GACjB,CACH;QACA,KAAK,CAAC,MAAM,IAAI,CACf,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,CACzG;QACA,QAAQ,CAAC,MAAM,IAAI,CAClB,oBAAC,qBAAqB,IACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,aAAa,EAAE,QAAQ,CAAC,aAAa,EACrC,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,GACrB,CACH;QACA,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,UAAU,IAAI,CACnD,oBAAC,0BAA0B,IACzB,UAAU,EAAE,aAAa,CAAC,UAAU,EACpC,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,aAAa,EAAE,aAAa,CAAC,aAAa,EAC1C,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,GAClD,CACH,CACA,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../source/components/Input/PopupManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,qBAAqB,MAAM,6BAA6B,CAAC;AAChE,OAAO,0BAA0B,MAAM,kCAAkC,CAAC;AAC1E,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AA4DxD,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAClD,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,eAAe,GAChB,EAAE,EAAE;IACH,OAAO,CACL;QACG,MAAM,CAAC,MAAM,IAAI,CAChB,oBAAC,kBAAkB,IACjB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAC3C,eAAe,EAAE,eAAe,GAChC,CACH;QACA,IAAI,CAAC,MAAM,IAAI,CACd,oBAAC,iBAAiB,IAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,GACjB,CACH;QACA,KAAK,CAAC,MAAM,IAAI,CACf,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,CACzG;QACA,QAAQ,CAAC,MAAM,IAAI,CAClB,oBAAC,qBAAqB,IACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,aAAa,EAAE,QAAQ,CAAC,aAAa,EACrC,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,GACrB,CACH;QACA,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,UAAU,IAAI,CACnD,oBAAC,0BAA0B,IACzB,UAAU,EAAE,aAAa,CAAC,UAAU,EACpC,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,aAAa,EAAE,aAAa,CAAC,aAAa,EAC1C,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,GAClD,CACH;QACA,IAAI,CAAC,MAAM,IAAI,CACd,oBAAC,iBAAiB,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,GAAI,CAC7G,CACA,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"determine-active-menu.d.ts","sourceRoot":"","sources":["../../../source/components/Input/determine-active-menu.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,yBAAyB,CAAC;AAUpF,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAQhE,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,cAAc,MAAM,EAAE,WAAU,YAAY,EAAO,KAAG,UAgExG,CAAC"}
1
+ {"version":3,"file":"determine-active-menu.d.ts","sourceRoot":"","sources":["../../../source/components/Input/determine-active-menu.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,yBAAyB,CAAC;AAapF,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAQhE,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,cAAc,MAAM,EAAE,WAAU,YAAY,EAAO,KAAG,UAgExG,CAAC"}
@@ -1,10 +1,13 @@
1
- import { MODEL_TRIGGER, MENTOR_TRIGGER, AUTO_APPROVE_MODEL_TRIGGER, EDIT_HEALING_MODEL_TRIGGER, } from '../../hooks/use-model-selection.js';
1
+ import { MODEL_TRIGGER, MENTOR_TRIGGER, AUTO_APPROVE_MODEL_TRIGGER, EDIT_HEALING_MODEL_TRIGGER, SUBAGENT_EXPLORER_MODEL_TRIGGER, SUBAGENT_WORKER_MODEL_TRIGGER, SUBAGENT_RESEARCHER_MODEL_TRIGGER, } from '../../hooks/use-model-selection.js';
2
2
  import { findPathTrigger } from './triggers.js';
3
3
  const MODEL_SETTING_TRIGGERS = [
4
4
  MODEL_TRIGGER,
5
5
  MENTOR_TRIGGER,
6
6
  AUTO_APPROVE_MODEL_TRIGGER,
7
7
  EDIT_HEALING_MODEL_TRIGGER,
8
+ SUBAGENT_EXPLORER_MODEL_TRIGGER,
9
+ SUBAGENT_WORKER_MODEL_TRIGGER,
10
+ SUBAGENT_RESEARCHER_MODEL_TRIGGER,
8
11
  ];
9
12
  const hasCompletion = (completion) => completion !== undefined;
10
13
  const getCommandCompletions = (commands = []) => commands.map((command) => command.completion).filter(hasCompletion);
@@ -1 +1 @@
1
- {"version":3,"file":"determine-active-menu.js","sourceRoot":"","sources":["../../../source/components/Input/determine-active-menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"determine-active-menu.js","sourceRoot":"","sources":["../../../source/components/Input/determine-active-menu.ts"],"names":[],"mappings":"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"}