@qduc/term2 0.15.0 → 0.16.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 (587) hide show
  1. package/README.md +324 -316
  2. package/dist/agent.d.ts +3 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +15 -63
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts +1 -1
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +129 -19
  9. package/dist/app.js.map +1 -1
  10. package/dist/cli.js +25 -16
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/compact-command.d.ts.map +1 -1
  13. package/dist/commands/compact-command.js +4 -0
  14. package/dist/commands/compact-command.js.map +1 -1
  15. package/dist/commands/effort-command.js +1 -1
  16. package/dist/commands/effort-command.js.map +1 -1
  17. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  18. package/dist/commands/guarded-settings-command.js +4 -8
  19. package/dist/commands/guarded-settings-command.js.map +1 -1
  20. package/dist/commands/model-command.js +1 -1
  21. package/dist/commands/model-command.js.map +1 -1
  22. package/dist/commands/resume-command.d.ts +10 -0
  23. package/dist/commands/resume-command.d.ts.map +1 -0
  24. package/dist/commands/resume-command.js +40 -0
  25. package/dist/commands/resume-command.js.map +1 -0
  26. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  27. package/dist/components/ErrorBoundary.js +5 -4
  28. package/dist/components/ErrorBoundary.js.map +1 -1
  29. package/dist/components/InputBox.d.ts +2 -0
  30. package/dist/components/InputBox.d.ts.map +1 -1
  31. package/dist/components/InputBox.js +56 -18
  32. package/dist/components/InputBox.js.map +1 -1
  33. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  34. package/dist/components/MarkdownRenderer.js +16 -15
  35. package/dist/components/MarkdownRenderer.js.map +1 -1
  36. package/dist/components/common/MenuContainer.d.ts +25 -2
  37. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  38. package/dist/components/common/MenuContainer.js +35 -11
  39. package/dist/components/common/MenuContainer.js.map +1 -1
  40. package/dist/components/common/ScrollableTabBar.d.ts.map +1 -1
  41. package/dist/components/common/ScrollableTabBar.js +5 -4
  42. package/dist/components/common/ScrollableTabBar.js.map +1 -1
  43. package/dist/components/input/ApplicationInputSurface.d.ts +4 -5
  44. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  45. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  46. package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -1
  47. package/dist/components/input/FirstRunSetupPrompt.js +5 -4
  48. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
  49. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  50. package/dist/components/input/MenuSurface.js +10 -3
  51. package/dist/components/input/MenuSurface.js.map +1 -1
  52. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  53. package/dist/components/input/ModelMenuSession.js +2 -1
  54. package/dist/components/input/ModelMenuSession.js.map +1 -1
  55. package/dist/components/input/PendingQueueList.d.ts +2 -0
  56. package/dist/components/input/PendingQueueList.d.ts.map +1 -1
  57. package/dist/components/input/PendingQueueList.js +17 -14
  58. package/dist/components/input/PendingQueueList.js.map +1 -1
  59. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  60. package/dist/components/input/SettingsValueMenuSession.js +2 -1
  61. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  62. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  63. package/dist/components/layout/BackgroundTaskManager.js +12 -11
  64. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  65. package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -2
  66. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  67. package/dist/components/layout/BackgroundTasksPanel.js +10 -9
  68. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  69. package/dist/components/layout/Banner.d.ts +0 -1
  70. package/dist/components/layout/Banner.d.ts.map +1 -1
  71. package/dist/components/layout/Banner.js +43 -73
  72. package/dist/components/layout/Banner.js.map +1 -1
  73. package/dist/components/layout/BottomArea.d.ts +6 -5
  74. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  75. package/dist/components/layout/BottomArea.js +17 -9
  76. package/dist/components/layout/BottomArea.js.map +1 -1
  77. package/dist/components/layout/DiffView.js +5 -5
  78. package/dist/components/layout/DiffView.js.map +1 -1
  79. package/dist/components/layout/StatusBar.d.ts +4 -1
  80. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  81. package/dist/components/layout/StatusBar.js +305 -95
  82. package/dist/components/layout/StatusBar.js.map +1 -1
  83. package/dist/components/layout/background-task-clock.d.ts +43 -0
  84. package/dist/components/layout/background-task-clock.d.ts.map +1 -0
  85. package/dist/components/layout/background-task-clock.js +46 -0
  86. package/dist/components/layout/background-task-clock.js.map +1 -0
  87. package/dist/components/menu/CopyMenu.d.ts.map +1 -1
  88. package/dist/components/menu/CopyMenu.js +4 -3
  89. package/dist/components/menu/CopyMenu.js.map +1 -1
  90. package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -1
  91. package/dist/components/menu/MentorPoolSelectionMenu.js +28 -21
  92. package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -1
  93. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  94. package/dist/components/menu/ModelSelectionMenu.js +26 -13
  95. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  96. package/dist/components/menu/PathSelectionMenu.d.ts.map +1 -1
  97. package/dist/components/menu/PathSelectionMenu.js +4 -3
  98. package/dist/components/menu/PathSelectionMenu.js.map +1 -1
  99. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  100. package/dist/components/menu/ProviderSelectionMenu.js +46 -26
  101. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  102. package/dist/components/menu/RewindMenu.d.ts.map +1 -1
  103. package/dist/components/menu/RewindMenu.js +4 -3
  104. package/dist/components/menu/RewindMenu.js.map +1 -1
  105. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  106. package/dist/components/menu/SettingsSelectionMenu.js +26 -26
  107. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  108. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  109. package/dist/components/menu/SettingsValueSelectionMenu.js +22 -20
  110. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  111. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  112. package/dist/components/menu/SkillSelectionMenu.js +33 -23
  113. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  114. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  115. package/dist/components/menu/SlashCommandMenu.js +11 -6
  116. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  117. package/dist/components/message/ChatMessage.js +2 -2
  118. package/dist/components/message/ChatMessage.js.map +1 -1
  119. package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -1
  120. package/dist/components/message/CodeContextSearchRenderer.js +8 -11
  121. package/dist/components/message/CodeContextSearchRenderer.js.map +1 -1
  122. package/dist/components/message/CommandGroupSummary.d.ts.map +1 -1
  123. package/dist/components/message/CommandGroupSummary.js +15 -7
  124. package/dist/components/message/CommandGroupSummary.js.map +1 -1
  125. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  126. package/dist/components/message/CommandMessage.js +111 -91
  127. package/dist/components/message/CommandMessage.js.map +1 -1
  128. package/dist/components/message/GrepRenderer.d.ts.map +1 -1
  129. package/dist/components/message/GrepRenderer.js +5 -8
  130. package/dist/components/message/GrepRenderer.js.map +1 -1
  131. package/dist/components/message/MemoryRenderer.d.ts +1 -0
  132. package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
  133. package/dist/components/message/MemoryRenderer.js +19 -17
  134. package/dist/components/message/MemoryRenderer.js.map +1 -1
  135. package/dist/components/message/MessageList.d.ts +1 -2
  136. package/dist/components/message/MessageList.d.ts.map +1 -1
  137. package/dist/components/message/MessageList.js +12 -11
  138. package/dist/components/message/MessageList.js.map +1 -1
  139. package/dist/components/message/ReadFileRenderer.d.ts.map +1 -1
  140. package/dist/components/message/ReadFileRenderer.js +5 -6
  141. package/dist/components/message/ReadFileRenderer.js.map +1 -1
  142. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  143. package/dist/components/message/SubagentActivityMessage.js +17 -13
  144. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  145. package/dist/components/message/WebFetchRenderer.d.ts.map +1 -1
  146. package/dist/components/message/WebFetchRenderer.js +7 -11
  147. package/dist/components/message/WebFetchRenderer.js.map +1 -1
  148. package/dist/components/message/WebSearchRenderer.d.ts.map +1 -1
  149. package/dist/components/message/WebSearchRenderer.js +5 -10
  150. package/dist/components/message/WebSearchRenderer.js.map +1 -1
  151. package/dist/components/message/command-grouping.d.ts +29 -6
  152. package/dist/components/message/command-grouping.d.ts.map +1 -1
  153. package/dist/components/message/command-grouping.js +62 -20
  154. package/dist/components/message/command-grouping.js.map +1 -1
  155. package/dist/components/message/command-message-helpers.d.ts +5 -32
  156. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  157. package/dist/components/message/command-message-helpers.js +26 -8
  158. package/dist/components/message/command-message-helpers.js.map +1 -1
  159. package/dist/components/message/useCommandVisibility.d.ts.map +1 -1
  160. package/dist/components/message/useCommandVisibility.js +5 -4
  161. package/dist/components/message/useCommandVisibility.js.map +1 -1
  162. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  163. package/dist/components/prompt/ApprovalPrompt.js +190 -106
  164. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  165. package/dist/components/prompt/HandoffConfirmationPrompt.d.ts.map +1 -1
  166. package/dist/components/prompt/HandoffConfirmationPrompt.js +3 -2
  167. package/dist/components/prompt/HandoffConfirmationPrompt.js.map +1 -1
  168. package/dist/components/prompt/InputSurgeConfirmationPrompt.d.ts.map +1 -1
  169. package/dist/components/prompt/InputSurgeConfirmationPrompt.js +5 -4
  170. package/dist/components/prompt/InputSurgeConfirmationPrompt.js.map +1 -1
  171. package/dist/components/prompt/LargeUncachedConfirmationPrompt.d.ts.map +1 -1
  172. package/dist/components/prompt/LargeUncachedConfirmationPrompt.js +4 -3
  173. package/dist/components/prompt/LargeUncachedConfirmationPrompt.js.map +1 -1
  174. package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts.map +1 -1
  175. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js +4 -3
  176. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js.map +1 -1
  177. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  178. package/dist/components/prompt/QueuePausedPrompt.js +6 -5
  179. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  180. package/dist/components/prompt/StandardModeConfirmationPrompt.d.ts.map +1 -1
  181. package/dist/components/prompt/StandardModeConfirmationPrompt.js +3 -2
  182. package/dist/components/prompt/StandardModeConfirmationPrompt.js.map +1 -1
  183. package/dist/components/theme.d.ts +58 -3
  184. package/dist/components/theme.d.ts.map +1 -1
  185. package/dist/components/theme.js +84 -17
  186. package/dist/components/theme.js.map +1 -1
  187. package/dist/contracts/application-stream.d.ts +14 -0
  188. package/dist/contracts/application-stream.d.ts.map +1 -1
  189. package/dist/gateway/assertion.d.ts +4 -1
  190. package/dist/gateway/assertion.d.ts.map +1 -1
  191. package/dist/gateway/assertion.js +24 -2
  192. package/dist/gateway/assertion.js.map +1 -1
  193. package/dist/gateway/contracts.d.ts +21 -4
  194. package/dist/gateway/contracts.d.ts.map +1 -1
  195. package/dist/gateway/contracts.js +11 -0
  196. package/dist/gateway/contracts.js.map +1 -1
  197. package/dist/gateway/dynamic-workspace-registry.d.ts +76 -0
  198. package/dist/gateway/dynamic-workspace-registry.d.ts.map +1 -0
  199. package/dist/gateway/dynamic-workspace-registry.js +403 -0
  200. package/dist/gateway/dynamic-workspace-registry.js.map +1 -0
  201. package/dist/gateway/gateway.d.ts +24 -1
  202. package/dist/gateway/gateway.d.ts.map +1 -1
  203. package/dist/gateway/gateway.js +704 -21
  204. package/dist/gateway/gateway.js.map +1 -1
  205. package/dist/gateway/launcher-seam.d.ts +18 -0
  206. package/dist/gateway/launcher-seam.d.ts.map +1 -0
  207. package/dist/gateway/launcher-seam.js +43 -0
  208. package/dist/gateway/launcher-seam.js.map +1 -0
  209. package/dist/gateway/pairing.d.ts +25 -0
  210. package/dist/gateway/pairing.d.ts.map +1 -0
  211. package/dist/gateway/pairing.js +107 -0
  212. package/dist/gateway/pairing.js.map +1 -0
  213. package/dist/gateway/persistence/coordinator.d.ts +2 -0
  214. package/dist/gateway/persistence/coordinator.d.ts.map +1 -1
  215. package/dist/gateway/persistence/coordinator.js +13 -0
  216. package/dist/gateway/persistence/coordinator.js.map +1 -1
  217. package/dist/gateway/runtime-factory.d.ts +15 -6
  218. package/dist/gateway/runtime-factory.d.ts.map +1 -1
  219. package/dist/gateway/runtime-factory.js +38 -9
  220. package/dist/gateway/runtime-factory.js.map +1 -1
  221. package/dist/gateway/safe-log.d.ts.map +1 -1
  222. package/dist/gateway/safe-log.js +19 -0
  223. package/dist/gateway/safe-log.js.map +1 -1
  224. package/dist/gateway/server-session.d.ts.map +1 -1
  225. package/dist/gateway/server-session.js +36 -4
  226. package/dist/gateway/server-session.js.map +1 -1
  227. package/dist/gateway/server.d.ts +26 -3
  228. package/dist/gateway/server.d.ts.map +1 -1
  229. package/dist/gateway/server.js +105 -17
  230. package/dist/gateway/server.js.map +1 -1
  231. package/dist/gateway/settings-rpc.d.ts +95 -0
  232. package/dist/gateway/settings-rpc.d.ts.map +1 -0
  233. package/dist/gateway/settings-rpc.js +227 -0
  234. package/dist/gateway/settings-rpc.js.map +1 -0
  235. package/dist/gateway/trusted-clients.d.ts +27 -0
  236. package/dist/gateway/trusted-clients.d.ts.map +1 -0
  237. package/dist/gateway/trusted-clients.js +157 -0
  238. package/dist/gateway/trusted-clients.js.map +1 -0
  239. package/dist/gateway/worker-boundary.d.ts +6 -5
  240. package/dist/gateway/worker-boundary.d.ts.map +1 -1
  241. package/dist/gateway/worker-boundary.js +20 -10
  242. package/dist/gateway/worker-boundary.js.map +1 -1
  243. package/dist/gateway/workspace-admission.d.ts +11 -0
  244. package/dist/gateway/workspace-admission.d.ts.map +1 -1
  245. package/dist/gateway/workspace-admission.js +89 -16
  246. package/dist/gateway/workspace-admission.js.map +1 -1
  247. package/dist/gateway/workspace-boundary-probe.d.ts +18 -0
  248. package/dist/gateway/workspace-boundary-probe.d.ts.map +1 -0
  249. package/dist/gateway/workspace-boundary-probe.js +37 -0
  250. package/dist/gateway/workspace-boundary-probe.js.map +1 -0
  251. package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
  252. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  253. package/dist/hooks/conversation-ui-reducer.js +9 -1
  254. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  255. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  256. package/dist/hooks/settings-completion-config.js +11 -3
  257. package/dist/hooks/settings-completion-config.js.map +1 -1
  258. package/dist/hooks/use-app-commands.d.ts +6 -1
  259. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  260. package/dist/hooks/use-app-commands.js +22 -13
  261. package/dist/hooks/use-app-commands.js.map +1 -1
  262. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +1 -3
  263. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  264. package/dist/hooks/use-app-keyboard-shortcuts.js +11 -9
  265. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  266. package/dist/hooks/use-conversation.d.ts +8 -0
  267. package/dist/hooks/use-conversation.d.ts.map +1 -1
  268. package/dist/hooks/use-conversation.js +27 -18
  269. package/dist/hooks/use-conversation.js.map +1 -1
  270. package/dist/hooks/use-opencode-go-usage.d.ts +8 -0
  271. package/dist/hooks/use-opencode-go-usage.d.ts.map +1 -0
  272. package/dist/hooks/use-opencode-go-usage.js +45 -0
  273. package/dist/hooks/use-opencode-go-usage.js.map +1 -0
  274. package/dist/hooks/use-shell-mode.d.ts +3 -4
  275. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  276. package/dist/hooks/use-shell-mode.js +14 -12
  277. package/dist/hooks/use-shell-mode.js.map +1 -1
  278. package/dist/hooks/use-terminal-columns.d.ts +15 -0
  279. package/dist/hooks/use-terminal-columns.d.ts.map +1 -0
  280. package/dist/hooks/use-terminal-columns.js +45 -0
  281. package/dist/hooks/use-terminal-columns.js.map +1 -0
  282. package/dist/lib/agent-client.d.ts +2 -0
  283. package/dist/lib/agent-client.d.ts.map +1 -1
  284. package/dist/lib/agent-client.js +1 -0
  285. package/dist/lib/agent-client.js.map +1 -1
  286. package/dist/lib/agent-configuration.d.ts +3 -0
  287. package/dist/lib/agent-configuration.d.ts.map +1 -1
  288. package/dist/lib/agent-configuration.js +4 -0
  289. package/dist/lib/agent-configuration.js.map +1 -1
  290. package/dist/lib/agent-factory.d.ts +3 -0
  291. package/dist/lib/agent-factory.d.ts.map +1 -1
  292. package/dist/lib/agent-factory.js +9 -2
  293. package/dist/lib/agent-factory.js.map +1 -1
  294. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  295. package/dist/lib/harness-input-idle.js +1 -1
  296. package/dist/lib/harness-input-idle.js.map +1 -1
  297. package/dist/non-interactive.d.ts.map +1 -1
  298. package/dist/non-interactive.js +9 -2
  299. package/dist/non-interactive.js.map +1 -1
  300. package/dist/prompts/approval-model.md +22 -0
  301. package/dist/prompts/gpt-5.6.md +3 -2
  302. package/dist/prompts/mentor-mode-stub.md +3 -0
  303. package/dist/prompts/orchestrator-mode-stub.md +3 -0
  304. package/dist/prompts/prefix-quality.test.ts +10 -0
  305. package/dist/prompts/prompt-constructor.d.ts +2 -0
  306. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  307. package/dist/prompts/prompt-constructor.js +23 -13
  308. package/dist/prompts/prompt-constructor.js.map +1 -1
  309. package/dist/prompts/prompt-constructor.test.ts +39 -5
  310. package/dist/prompts/prompt-constructor.ts +27 -15
  311. package/dist/prompts/prompt-profiles.d.ts +1 -3
  312. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  313. package/dist/prompts/prompt-profiles.js +2 -7
  314. package/dist/prompts/prompt-profiles.js.map +1 -1
  315. package/dist/prompts/prompt-profiles.ts +3 -16
  316. package/dist/prompts/session-browser.md +3 -0
  317. package/dist/prompts/subagent-delegation.d.ts +3 -2
  318. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  319. package/dist/prompts/subagent-delegation.js +9 -13
  320. package/dist/prompts/subagent-delegation.js.map +1 -1
  321. package/dist/prompts/subagent-delegation.ts +9 -13
  322. package/dist/providers/chained-wire-state.d.ts +7 -2
  323. package/dist/providers/chained-wire-state.d.ts.map +1 -1
  324. package/dist/providers/chained-wire-state.js +16 -7
  325. package/dist/providers/chained-wire-state.js.map +1 -1
  326. package/dist/providers/codex-auth.d.ts +2 -5
  327. package/dist/providers/codex-auth.d.ts.map +1 -1
  328. package/dist/providers/codex-auth.js +2 -0
  329. package/dist/providers/codex-auth.js.map +1 -1
  330. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  331. package/dist/providers/codex-responses-model.js +22 -3
  332. package/dist/providers/codex-responses-model.js.map +1 -1
  333. package/dist/providers/grok-auth.d.ts +2 -5
  334. package/dist/providers/grok-auth.d.ts.map +1 -1
  335. package/dist/providers/grok-auth.js +2 -0
  336. package/dist/providers/grok-auth.js.map +1 -1
  337. package/dist/providers/oauth-account-store.d.ts +5 -0
  338. package/dist/providers/oauth-account-store.d.ts.map +1 -1
  339. package/dist/providers/oauth-account-store.js +56 -5
  340. package/dist/providers/oauth-account-store.js.map +1 -1
  341. package/dist/providers/oauth-pkce.d.ts +8 -0
  342. package/dist/providers/oauth-pkce.d.ts.map +1 -1
  343. package/dist/providers/oauth-pkce.js +91 -19
  344. package/dist/providers/oauth-pkce.js.map +1 -1
  345. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  346. package/dist/providers/openai-compatible.provider.js +8 -1
  347. package/dist/providers/openai-compatible.provider.js.map +1 -1
  348. package/dist/providers/opencode-go-usage.d.ts +24 -0
  349. package/dist/providers/opencode-go-usage.d.ts.map +1 -0
  350. package/dist/providers/opencode-go-usage.js +37 -0
  351. package/dist/providers/opencode-go-usage.js.map +1 -0
  352. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  353. package/dist/providers/openrouter.provider.js +8 -1
  354. package/dist/providers/openrouter.provider.js.map +1 -1
  355. package/dist/providers/responses-websocket-sessions.d.ts +1 -0
  356. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
  357. package/dist/providers/responses-websocket-sessions.js +16 -2
  358. package/dist/providers/responses-websocket-sessions.js.map +1 -1
  359. package/dist/providers/retrying-model.d.ts.map +1 -1
  360. package/dist/providers/retrying-model.js +31 -3
  361. package/dist/providers/retrying-model.js.map +1 -1
  362. package/dist/services/agent-runtime/application-run-loop.d.ts +5 -1
  363. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  364. package/dist/services/agent-runtime/application-run-loop.js +229 -149
  365. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  366. package/dist/services/agent-runtime/generation-guard.d.ts +39 -25
  367. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  368. package/dist/services/agent-runtime/generation-guard.js +98 -100
  369. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  370. package/dist/services/agent-runtime/run-budget.d.ts +1 -1
  371. package/dist/services/agent-runtime/run-budget.d.ts.map +1 -1
  372. package/dist/services/agent-runtime/run-budget.js +4 -0
  373. package/dist/services/agent-runtime/run-budget.js.map +1 -1
  374. package/dist/services/agent-stream.d.ts.map +1 -1
  375. package/dist/services/agent-stream.js +1 -0
  376. package/dist/services/agent-stream.js.map +1 -1
  377. package/dist/services/conversation/conversation-adapter.d.ts +13 -2
  378. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  379. package/dist/services/conversation/conversation-adapter.js +35 -7
  380. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  381. package/dist/services/conversation/conversation-admission-workflow.d.ts +3 -2
  382. package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
  383. package/dist/services/conversation/conversation-admission-workflow.js +6 -1
  384. package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
  385. package/dist/services/conversation/conversation-events.d.ts +43 -2
  386. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  387. package/dist/services/conversation/conversation-orchestrator.d.ts +14 -1
  388. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  389. package/dist/services/conversation/conversation-orchestrator.js +142 -11
  390. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  391. package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
  392. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  393. package/dist/services/conversation/conversation-persistence.d.ts +22 -1
  394. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  395. package/dist/services/conversation/conversation-persistence.js +61 -0
  396. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  397. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  398. package/dist/services/conversation/conversation-service.js +45 -29
  399. package/dist/services/conversation/conversation-service.js.map +1 -1
  400. package/dist/services/conversation/session-audit.d.ts +70 -0
  401. package/dist/services/conversation/session-audit.d.ts.map +1 -0
  402. package/dist/services/conversation/session-audit.js +164 -0
  403. package/dist/services/conversation/session-audit.js.map +1 -0
  404. package/dist/services/conversation/session-browser.d.ts +46 -0
  405. package/dist/services/conversation/session-browser.d.ts.map +1 -0
  406. package/dist/services/conversation/session-browser.js +380 -0
  407. package/dist/services/conversation/session-browser.js.map +1 -0
  408. package/dist/services/input-surge-approval.d.ts +21 -0
  409. package/dist/services/input-surge-approval.d.ts.map +1 -0
  410. package/dist/services/input-surge-approval.js +42 -0
  411. package/dist/services/input-surge-approval.js.map +1 -0
  412. package/dist/services/large-uncached-input-guard.js +4 -4
  413. package/dist/services/large-uncached-input-guard.js.map +1 -1
  414. package/dist/services/logging/assistant-turn-journal.d.ts +15 -0
  415. package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
  416. package/dist/services/logging/assistant-turn-journal.js +27 -0
  417. package/dist/services/logging/assistant-turn-journal.js.map +1 -1
  418. package/dist/services/memory/memory-capabilities.js +2 -2
  419. package/dist/services/memory/memory-search.d.ts +16 -0
  420. package/dist/services/memory/memory-search.d.ts.map +1 -0
  421. package/dist/services/memory/memory-search.js +55 -0
  422. package/dist/services/memory/memory-search.js.map +1 -0
  423. package/dist/services/memory/memory-store.d.ts +12 -0
  424. package/dist/services/memory/memory-store.d.ts.map +1 -1
  425. package/dist/services/memory/memory-store.js +14 -35
  426. package/dist/services/memory/memory-store.js.map +1 -1
  427. package/dist/services/mode-notices.d.ts +11 -0
  428. package/dist/services/mode-notices.d.ts.map +1 -1
  429. package/dist/services/mode-notices.js +37 -3
  430. package/dist/services/mode-notices.js.map +1 -1
  431. package/dist/services/queue/queue-controller.d.ts +13 -0
  432. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  433. package/dist/services/queue/queue-controller.js +32 -1
  434. package/dist/services/queue/queue-controller.js.map +1 -1
  435. package/dist/services/retry/in-loop-model-retry.d.ts +12 -0
  436. package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -0
  437. package/dist/services/retry/in-loop-model-retry.js +115 -0
  438. package/dist/services/retry/in-loop-model-retry.js.map +1 -0
  439. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  440. package/dist/services/retry/retry-classifier.js +18 -12
  441. package/dist/services/retry/retry-classifier.js.map +1 -1
  442. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  443. package/dist/services/retry/retry-error-classification.js +10 -6
  444. package/dist/services/retry/retry-error-classification.js.map +1 -1
  445. package/dist/services/retry/upstream-retry-policy.d.ts.map +1 -1
  446. package/dist/services/retry/upstream-retry-policy.js +40 -7
  447. package/dist/services/retry/upstream-retry-policy.js.map +1 -1
  448. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  449. package/dist/services/runtime-setting-router.js +7 -2
  450. package/dist/services/runtime-setting-router.js.map +1 -1
  451. package/dist/services/session/background-check-in-scheduler.d.ts +44 -0
  452. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -0
  453. package/dist/services/session/background-check-in-scheduler.js +88 -0
  454. package/dist/services/session/background-check-in-scheduler.js.map +1 -0
  455. package/dist/services/session/background-task-control.js +4 -1
  456. package/dist/services/session/background-task-control.js.map +1 -1
  457. package/dist/services/session/initial-input-preparer.d.ts +2 -1
  458. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  459. package/dist/services/session/initial-input-preparer.js +3 -1
  460. package/dist/services/session/initial-input-preparer.js.map +1 -1
  461. package/dist/services/session/repetition-detector.d.ts +0 -4
  462. package/dist/services/session/repetition-detector.d.ts.map +1 -1
  463. package/dist/services/session/repetition-detector.js +0 -7
  464. package/dist/services/session/repetition-detector.js.map +1 -1
  465. package/dist/services/session/session-composition.d.ts +6 -2
  466. package/dist/services/session/session-composition.d.ts.map +1 -1
  467. package/dist/services/session/session-composition.js +99 -29
  468. package/dist/services/session/session-composition.js.map +1 -1
  469. package/dist/services/session/session-lifecycle.d.ts +8 -0
  470. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  471. package/dist/services/session/session-lifecycle.js +4 -0
  472. package/dist/services/session/session-lifecycle.js.map +1 -1
  473. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  474. package/dist/services/session/session-stream-processor.js +5 -15
  475. package/dist/services/session/session-stream-processor.js.map +1 -1
  476. package/dist/services/session/turn-attempt-factory.d.ts +2 -1
  477. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  478. package/dist/services/session/turn-attempt-factory.js +1 -0
  479. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  480. package/dist/services/session/turn-attempt.d.ts +3 -0
  481. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  482. package/dist/services/session/turn-attempt.js +5 -0
  483. package/dist/services/session/turn-attempt.js.map +1 -1
  484. package/dist/services/session/turn-coordinator.d.ts +1 -1
  485. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  486. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  487. package/dist/services/session/turn-workflow.js +4 -1
  488. package/dist/services/session/turn-workflow.js.map +1 -1
  489. package/dist/services/settings/settings-schema.d.ts +27 -3
  490. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  491. package/dist/services/settings/settings-schema.js +35 -11
  492. package/dist/services/settings/settings-schema.js.map +1 -1
  493. package/dist/services/settings/settings-service.d.ts +9 -0
  494. package/dist/services/settings/settings-service.d.ts.map +1 -1
  495. package/dist/services/settings/settings-service.js +40 -0
  496. package/dist/services/settings/settings-service.js.map +1 -1
  497. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  498. package/dist/services/settings/settings-sources.js +5 -0
  499. package/dist/services/settings/settings-sources.js.map +1 -1
  500. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -1
  501. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  502. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +6 -0
  503. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  504. package/dist/services/shell/shell-interaction-session.d.ts +4 -5
  505. package/dist/services/shell/shell-interaction-session.d.ts.map +1 -1
  506. package/dist/services/shell/shell-interaction-session.js +8 -20
  507. package/dist/services/shell/shell-interaction-session.js.map +1 -1
  508. package/dist/services/stream-event-processor.d.ts.map +1 -1
  509. package/dist/services/stream-event-processor.js +15 -0
  510. package/dist/services/stream-event-processor.js.map +1 -1
  511. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  512. package/dist/services/subagents/mentor-runner.js +2 -0
  513. package/dist/services/subagents/mentor-runner.js.map +1 -1
  514. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  515. package/dist/services/subagents/nested-runner.js +34 -1
  516. package/dist/services/subagents/nested-runner.js.map +1 -1
  517. package/dist/services/subagents/subagent-async-registry.js +1 -1
  518. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  519. package/dist/services/subagents/subagent-notification-store.d.ts +28 -1
  520. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  521. package/dist/services/subagents/subagent-notification-store.js +11 -0
  522. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  523. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  524. package/dist/services/subagents/tool-policy.js +10 -5
  525. package/dist/services/subagents/tool-policy.js.map +1 -1
  526. package/dist/services/subagents/utils.d.ts +2 -0
  527. package/dist/services/subagents/utils.d.ts.map +1 -1
  528. package/dist/services/subagents/utils.js +29 -0
  529. package/dist/services/subagents/utils.js.map +1 -1
  530. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  531. package/dist/services/tool-execution-ledger.js +5 -1
  532. package/dist/services/tool-execution-ledger.js.map +1 -1
  533. package/dist/tools/agent/ask-user.d.ts.map +1 -1
  534. package/dist/tools/agent/ask-user.js +2 -0
  535. package/dist/tools/agent/ask-user.js.map +1 -1
  536. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  537. package/dist/tools/agent/run-subagent.js +40 -24
  538. package/dist/tools/agent/run-subagent.js.map +1 -1
  539. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  540. package/dist/tools/memory/memory-tools.js +322 -59
  541. package/dist/tools/memory/memory-tools.js.map +1 -1
  542. package/dist/tools/session-browser/session-browser-tools.d.ts +4 -0
  543. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -0
  544. package/dist/tools/session-browser/session-browser-tools.js +47 -0
  545. package/dist/tools/session-browser/session-browser-tools.js.map +1 -0
  546. package/dist/tools/system/shell.d.ts.map +1 -1
  547. package/dist/tools/system/shell.js +7 -0
  548. package/dist/tools/system/shell.js.map +1 -1
  549. package/dist/tools/types.d.ts +4 -0
  550. package/dist/tools/types.d.ts.map +1 -1
  551. package/dist/tools/types.js.map +1 -1
  552. package/dist/utils/busy-turn-guard.d.ts +17 -0
  553. package/dist/utils/busy-turn-guard.d.ts.map +1 -0
  554. package/dist/utils/busy-turn-guard.js +24 -0
  555. package/dist/utils/busy-turn-guard.js.map +1 -0
  556. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  557. package/dist/utils/conversation/conversation-event-handler.js +28 -7
  558. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  559. package/dist/utils/output/bounded-json.d.ts +33 -0
  560. package/dist/utils/output/bounded-json.d.ts.map +1 -0
  561. package/dist/utils/output/bounded-json.js +59 -0
  562. package/dist/utils/output/bounded-json.js.map +1 -0
  563. package/dist/utils/output/output-trim.d.ts.map +1 -1
  564. package/dist/utils/output/output-trim.js +7 -7
  565. package/dist/utils/output/output-trim.js.map +1 -1
  566. package/dist/utils/output/text-snippet.d.ts +6 -0
  567. package/dist/utils/output/text-snippet.d.ts.map +1 -0
  568. package/dist/utils/output/text-snippet.js +106 -0
  569. package/dist/utils/output/text-snippet.js.map +1 -0
  570. package/dist/utils/resume-list.d.ts +3 -1
  571. package/dist/utils/resume-list.d.ts.map +1 -1
  572. package/dist/utils/resume-list.js +3 -2
  573. package/dist/utils/resume-list.js.map +1 -1
  574. package/dist/utils/settings-command.d.ts.map +1 -1
  575. package/dist/utils/settings-command.js +15 -0
  576. package/dist/utils/settings-command.js.map +1 -1
  577. package/dist/utils/shell/sandbox/sandbox-policy.d.ts +2 -0
  578. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  579. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  580. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts +1 -0
  581. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
  582. package/dist/utils/shell/sandbox/shell-sandbox-runner.js +20 -1
  583. package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
  584. package/dist/utils/value-suggestions.d.ts.map +1 -1
  585. package/dist/utils/value-suggestions.js +1 -0
  586. package/dist/utils/value-suggestions.js.map +1 -1
  587. package/package.json +4 -2
@@ -1,16 +1,23 @@
1
1
  import React from 'react';
2
2
  import { Box, Text } from 'ink';
3
3
  import { describeGroupFailures, summarizeCommandGroup } from './command-grouping.js';
4
- const COLOR_SUCCESS = '#A0A0A0';
5
- const COLOR_ERROR = 'red';
4
+ import { COLOR_DANGER, COLOR_TEXT_MUTED, TOOL_STATUS_COLOR, TOOL_STATUS_GLYPH } from '../theme.js';
6
5
  // A partly-failed run keeps a green marker and neutral summary: most of what it
7
6
  // did succeeded, and painting the whole line red would claim otherwise. The red
8
7
  // line underneath carries the bad news, and names the calls that failed so the
9
8
  // count is actionable. Only an entirely-failed run turns red.
10
9
  const MARKERS = {
11
- completed: { marker: '✔', markerColor: 'green', textColor: COLOR_SUCCESS },
12
- partial: { marker: '✔', markerColor: 'green', textColor: COLOR_SUCCESS },
13
- failed: { marker: '✖', markerColor: COLOR_ERROR, textColor: COLOR_ERROR },
10
+ completed: {
11
+ marker: TOOL_STATUS_GLYPH.completed,
12
+ markerColor: TOOL_STATUS_COLOR.completed,
13
+ textColor: COLOR_TEXT_MUTED,
14
+ },
15
+ partial: {
16
+ marker: TOOL_STATUS_GLYPH.completed,
17
+ markerColor: TOOL_STATUS_COLOR.completed,
18
+ textColor: COLOR_TEXT_MUTED,
19
+ },
20
+ failed: { marker: TOOL_STATUS_GLYPH.failed, markerColor: TOOL_STATUS_COLOR.failed, textColor: COLOR_DANGER },
14
21
  };
15
22
  /** Concise-mode line(s) for a run of tool calls, e.g. "Searched for 1 pattern, read 3 files, ran 2 shell commands". */
16
23
  const CommandGroupSummary = ({ members, status }) => {
@@ -23,8 +30,9 @@ const CommandGroupSummary = ({ members, status }) => {
23
30
  ' ',
24
31
  summary),
25
32
  failures !== '' && status !== 'failed' && (React.createElement(Box, { paddingLeft: 2 },
26
- React.createElement(Text, { color: COLOR_ERROR, wrap: "truncate" },
27
- "\u2716 ",
33
+ React.createElement(Text, { color: COLOR_DANGER, wrap: "truncate" },
34
+ TOOL_STATUS_GLYPH.failed,
35
+ " ",
28
36
  failures)))));
29
37
  };
30
38
  export default React.memo(CommandGroupSummary);
@@ -1 +1 @@
1
- {"version":3,"file":"CommandGroupSummary.js","sourceRoot":"","sources":["../../../source/components/message/CommandGroupSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;AAE5G,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,WAAW,GAAG,KAAK,CAAC;AAO1B,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,8DAA8D;AAC9D,MAAM,OAAO,GAAwF;IACnG,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE;IAC1E,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE;IACxE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;CAC1E,CAAC;AAEF,uHAAuH;AACvH,MAAM,mBAAmB,GAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7D,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,UAAU;YACrC,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW,EAAE,IAAI,UAC3B,MAAM,CACF;YAAC,GAAG;YACV,OAAO,CACH;QACN,QAAQ,KAAK,EAAE,IAAI,MAAM,KAAK,QAAQ,IAAI,CACzC,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAC,UAAU;;gBACpC,QAAQ,CACN,CACH,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"CommandGroupSummary.js","sourceRoot":"","sources":["../../../source/components/message/CommandGroupSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOnG,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,8DAA8D;AAC9D,MAAM,OAAO,GAAwF;IACnG,SAAS,EAAE;QACT,MAAM,EAAE,iBAAiB,CAAC,SAAS;QACnC,WAAW,EAAE,iBAAiB,CAAC,SAAS;QACxC,SAAS,EAAE,gBAAgB;KAC5B;IACD,OAAO,EAAE;QACP,MAAM,EAAE,iBAAiB,CAAC,SAAS;QACnC,WAAW,EAAE,iBAAiB,CAAC,SAAS;QACxC,SAAS,EAAE,gBAAgB;KAC5B;IACD,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE;CAC7G,CAAC;AAEF,uHAAuH;AACvH,MAAM,mBAAmB,GAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7D,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,UAAU;YACrC,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW,EAAE,IAAI,UAC3B,MAAM,CACF;YAAC,GAAG;YACV,OAAO,CACH;QACN,QAAQ,KAAK,EAAE,IAAI,MAAM,KAAK,QAAQ,IAAI,CACzC,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAC,UAAU;gBACvC,iBAAiB,CAAC,MAAM;;gBAAG,QAAQ,CAC/B,CACH,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandMessage.d.ts","sourceRoot":"","sources":["../../../source/components/message/CommandMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAyDjF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,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,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"CommandMessage.d.ts","sourceRoot":"","sources":["../../../source/components/message/CommandMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0DjF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,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,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC"}
@@ -3,7 +3,7 @@ import { Box, Text } from 'ink';
3
3
  import { generateDiff } from '../../utils/output/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 { countDiffStats, extractErrorMessage, formatToolArgs, getFirstParagraph, getMatchCount, isSearchLikeTool, parseCodeOutlineOutput, parseFindFilesOutput, parseSubagentOutput, stripRgErrorLines, } from './command-message-helpers.js';
6
- import { COLOR_TOOL_OUTPUT, COLOR_MUTED as THEME_COLOR_MUTED } from '../theme.js';
6
+ import { COLOR_ACCENT, COLOR_ACCENT_ALT, COLOR_DANGER, COLOR_TEXT, COLOR_TEXT_MUTED, COLOR_TEXT_SUBTLE, COLOR_TOOL_OUTPUT, COLOR_WARNING, TOOL_STATUS_COLOR, TOOL_STATUS_GLYPH, } from '../theme.js';
7
7
  import DiffView from '../layout/DiffView.js';
8
8
  import { useCommandVisibility } from './useCommandVisibility.js';
9
9
  import ReadFileRenderer from './ReadFileRenderer.js';
@@ -12,16 +12,6 @@ import WebSearchRenderer from './WebSearchRenderer.js';
12
12
  import WebFetchRenderer from './WebFetchRenderer.js';
13
13
  import CodeContextSearchRenderer from './CodeContextSearchRenderer.js';
14
14
  import MemoryRenderer from './MemoryRenderer.js';
15
- // --- Command Message Theme Colors ---
16
- // Customize these values to change the color scheme per theme.
17
- const COLOR_ERROR = 'red';
18
- const COLOR_SUCCESS = '#A0A0A0';
19
- const COLOR_WARNING = 'yellow';
20
- const COLOR_INFO = 'cyan';
21
- const COLOR_MUTED = 'gray';
22
- const COLOR_CONTENT = 'white';
23
- const COLOR_LINK = 'blue';
24
- const COLOR_SPECIAL = 'magenta';
25
15
  const useRunningElapsedSeconds = (isRunning) => {
26
16
  const [elapsedSeconds, setElapsedSeconds] = useState(0);
27
17
  useEffect(() => {
@@ -58,10 +48,11 @@ const getConciseAskUserResponse = (output) => {
58
48
  };
59
49
  const CommandMessage = ({ command, output: rawOutput, status, success, failureReason, toolName, toolArgs, isApprovalRejection, autoApprovedByLlm, hadApproval, displayMode = 'standard', textColor, isSubagent = false, awaitingDecision = false, }) => {
60
50
  const { isVisible, isRunning } = useCommandVisibility(status);
61
- const isWaiting = isRunning && awaitingDecision;
51
+ const isWaiting = awaitingDecision;
52
+ const isQueued = status === 'pending' && !awaitingDecision;
62
53
  const isExecuting = isRunning && !awaitingDecision;
63
54
  const runningElapsedSeconds = useRunningElapsedSeconds(isExecuting);
64
- const runningElapsedLabel = isWaiting ? (React.createElement(Text, { color: COLOR_MUTED }, " (waiting)")) : isExecuting ? (React.createElement(Text, { color: COLOR_WARNING },
55
+ const runningElapsedLabel = isWaiting ? (React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, " (waiting)")) : isQueued ? (React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, " (queued)")) : isExecuting ? (React.createElement(Text, { color: COLOR_WARNING },
65
56
  " (",
66
57
  runningElapsedSeconds,
67
58
  "s)")) : null;
@@ -108,10 +99,8 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
108
99
  const isShell = !toolName || toolName === 'shell';
109
100
  if (isShell) {
110
101
  return (React.createElement(React.Fragment, null,
111
- React.createElement(Text, { color: COLOR_MUTED }, "$"),
112
- " ",
113
102
  React.createElement(Text, { bold: true }, command),
114
- runtime && React.createElement(Text, { color: COLOR_MUTED },
103
+ runtime && React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
115
104
  " (",
116
105
  runtime,
117
106
  ")")));
@@ -120,6 +109,7 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
120
109
  toolName === 'background_shell_notification' ||
121
110
  toolName === 'background_shell_output_notification' ||
122
111
  toolName === 'background_task_control_notification' ||
112
+ toolName === 'background_check_in_notification' ||
123
113
  !formattedArgs
124
114
  ? ''
125
115
  : ` ${formattedArgs}`;
@@ -272,41 +262,59 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
272
262
  }
273
263
  return renderAction('Background task control updated');
274
264
  }
265
+ case 'background_check_in_notification': {
266
+ const checkIns = Array.isArray(toolArgs?.checkIns) ? toolArgs.checkIns : [];
267
+ if (checkIns.length === 1) {
268
+ const [{ target, checkInIndex }] = checkIns;
269
+ const label = target?.kind === 'subagent'
270
+ ? `background subagent ${target.id ?? 'run'}`
271
+ : `background shell ${target?.id ?? 'job'}`;
272
+ const prefix = typeof checkInIndex === 'number' ? `Check-in #${checkInIndex}` : 'Check-in';
273
+ return renderAction(`${prefix} on ${label}`);
274
+ }
275
+ return renderAction(`Background check-in (${checkIns.length || 'task'})`);
276
+ }
275
277
  case 'memory_list':
276
278
  return renderAction('Listed memories');
277
279
  case 'memory_get':
278
280
  return renderAction('Retrieved memory');
279
281
  case 'memory_search':
280
282
  return renderAction('Searched memories');
283
+ case 'memory_retrieve':
284
+ return renderAction('Retrieved relevant memories');
281
285
  case 'memory_create':
282
286
  return renderAction('Saved memory');
283
287
  case 'memory_update':
284
288
  return renderAction('Updated memory');
285
289
  case 'memory_delete':
286
290
  return renderAction('Deleted memory');
291
+ case 'session_list':
292
+ return renderAction('Listed prior sessions');
293
+ case 'session_search':
294
+ return renderAction('Searched prior sessions');
295
+ case 'session_read':
296
+ return renderAction('Read prior session');
287
297
  default:
288
- return (React.createElement(React.Fragment, null,
289
- React.createElement(Text, { dimColor: true },
290
- "[",
291
- toolName,
292
- "]"),
293
- React.createElement(Text, null, argsText)));
298
+ return renderAction(toolName || 'Ran tool');
294
299
  }
295
300
  // Depend on the whole `toolArgs`, not `toolArgs?.runs`: the React Compiler infers the
296
301
  // former and refuses to preserve the memo when the declared deps are narrower.
297
302
  }, [toolName, command, runtime, formattedArgs, toolArgs, isBackgroundSubagentLaunch]);
298
303
  const renderStandardHeader = () => {
299
- const headerColor = success === false ? COLOR_ERROR : isWaiting ? COLOR_MUTED : isRunning ? COLOR_WARNING : COLOR_INFO;
300
- const isShell = !toolName || toolName === 'shell';
301
- if (isShell) {
302
- return (React.createElement(Box, null,
303
- React.createElement(Text, { color: headerColor },
304
- displayAction,
305
- runningElapsedLabel)));
306
- }
304
+ // isApprovalRejection carries no `success` value of its own — it is a distinct
305
+ // outcome from a normal failed run — so it is checked first and maps to the
306
+ // same 'failed' glyph/color as success === false.
307
+ const statusKind = isApprovalRejection || success === false
308
+ ? 'failed'
309
+ : isWaiting || isQueued
310
+ ? 'pending'
311
+ : isRunning
312
+ ? 'running'
313
+ : 'completed';
314
+ const headerColor = TOOL_STATUS_COLOR[statusKind];
307
315
  return (React.createElement(Box, null,
308
316
  React.createElement(Text, { color: headerColor },
309
- React.createElement(Text, { color: COLOR_MUTED }, "$"),
317
+ TOOL_STATUS_GLYPH[statusKind],
310
318
  " ",
311
319
  displayAction,
312
320
  runningElapsedLabel)));
@@ -328,11 +336,11 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
328
336
  const changeStatsElement = changeStats ? (React.createElement(React.Fragment, null,
329
337
  ' ',
330
338
  "(",
331
- React.createElement(Text, { color: "green" },
339
+ React.createElement(Text, { color: COLOR_TEXT_MUTED },
332
340
  "+",
333
341
  changeStats.added),
334
- " ",
335
- React.createElement(Text, { color: COLOR_ERROR },
342
+ ' ',
343
+ React.createElement(Text, { color: COLOR_DANGER },
336
344
  "-",
337
345
  changeStats.removed),
338
346
  ")")) : null;
@@ -341,18 +349,18 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
341
349
  return 0;
342
350
  if (!isSearchLikeTool(toolName, command))
343
351
  return 0;
344
- if (isRunning || isApprovalRejection)
352
+ if (isRunning || isQueued || isApprovalRejection)
345
353
  return 0;
346
354
  return getMatchCount(toolName, command, output);
347
- }, [displayMode, toolName, command, isRunning, isApprovalRejection, output]);
355
+ }, [displayMode, toolName, command, isRunning, isQueued, isApprovalRejection, output]);
348
356
  const matchCountElement = matchCount > 0 ? (React.createElement(Box, { paddingLeft: 2 },
349
- React.createElement(Text, { color: COLOR_MUTED },
357
+ React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
350
358
  "(",
351
359
  matchCount,
352
360
  " match",
353
361
  matchCount !== 1 ? 'es' : '',
354
362
  ")"))) : null;
355
- const autoApprovalLabel = autoApprovedByLlm ? React.createElement(Text, { color: COLOR_MUTED }, "(Auto approved by LLM)") : null;
363
+ const autoApprovalLabel = autoApprovedByLlm ? React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "(Auto approved by LLM)") : null;
356
364
  if (!isVisible && !isSubagent) {
357
365
  return null;
358
366
  }
@@ -363,30 +371,37 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
363
371
  isApprovalRejection ||
364
372
  success === false ||
365
373
  Boolean(failureReason);
366
- const statusChar = isFailed ? '✖' : isWaiting ? '⏸' : isRunning ? '▶' : '✔';
374
+ const subagentStatusKind = isFailed
375
+ ? 'failed'
376
+ : isWaiting || isQueued
377
+ ? 'pending'
378
+ : isRunning
379
+ ? 'running'
380
+ : 'completed';
367
381
  const actionText = isFailed ? command : displayAction;
368
382
  return (React.createElement(Box, null,
369
- React.createElement(Text, { wrap: "truncate", color: THEME_COLOR_MUTED },
370
- statusChar,
371
- " ",
383
+ React.createElement(Text, { wrap: "truncate", color: COLOR_TEXT_SUBTLE },
384
+ React.createElement(Text, { color: TOOL_STATUS_COLOR[subagentStatusKind] }, TOOL_STATUS_GLYPH[subagentStatusKind]),
385
+ ' ',
372
386
  actionText,
373
- isRunning && runningElapsedLabel)));
387
+ runningElapsedLabel)));
374
388
  }
375
389
  if (isApprovalRejection) {
376
390
  return (React.createElement(Box, { flexDirection: "column" },
377
- React.createElement(Text, { color: textColor || COLOR_SUCCESS },
378
- React.createElement(Text, { color: COLOR_ERROR, bold: true }, "\u2716"),
391
+ React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
392
+ React.createElement(Text, { color: TOOL_STATUS_COLOR.rejected, bold: true }, TOOL_STATUS_GLYPH.rejected),
379
393
  ' ',
380
394
  displayAction,
381
395
  changeStatsElement),
382
- React.createElement(Text, { color: textColor || COLOR_SUCCESS },
396
+ React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
383
397
  " \u2192 DENIED: ",
384
398
  denialReason)));
385
399
  }
386
- if (isRunning) {
400
+ if (isRunning || isQueued || isWaiting) {
401
+ const inFlightStatusKind = isWaiting || isQueued ? 'pending' : 'running';
387
402
  return (React.createElement(Box, null,
388
- React.createElement(Text, { color: isWaiting ? COLOR_MUTED : COLOR_WARNING },
389
- React.createElement(Text, { bold: true }, isWaiting ? '⏸' : '▶'),
403
+ React.createElement(Text, { color: TOOL_STATUS_COLOR[inFlightStatusKind] },
404
+ React.createElement(Text, { bold: true }, TOOL_STATUS_GLYPH[inFlightStatusKind]),
390
405
  " ",
391
406
  displayAction,
392
407
  runningElapsedLabel,
@@ -410,47 +425,47 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
410
425
  return displayErrorMsg;
411
426
  })();
412
427
  return (React.createElement(Box, { flexDirection: "column" },
413
- React.createElement(Text, { color: textColor || COLOR_SUCCESS },
414
- React.createElement(Text, { color: COLOR_ERROR, bold: true }, "\u2716"),
428
+ React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
429
+ React.createElement(Text, { color: TOOL_STATUS_COLOR.failed, bold: true }, TOOL_STATUS_GLYPH.failed),
415
430
  ' ',
416
431
  displayAction,
417
432
  changeStatsElement),
418
433
  matchCountElement,
419
- matchCount === 0 && React.createElement(Text, { color: textColor || COLOR_SUCCESS }, truncatedError)));
434
+ matchCount === 0 && React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED }, truncatedError)));
420
435
  }
421
436
  // Success (one line)
422
437
  if (toolName === 'ask_user') {
423
438
  const responseText = getConciseAskUserResponse(output);
424
439
  return (React.createElement(Box, { flexDirection: "column" },
425
- React.createElement(Text, { color: textColor || COLOR_SUCCESS },
426
- React.createElement(Text, { color: 'green', bold: true }, "\u2714"),
440
+ React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
441
+ React.createElement(Text, { color: TOOL_STATUS_COLOR.completed, bold: true }, TOOL_STATUS_GLYPH.completed),
427
442
  ' ',
428
443
  displayAction),
429
- React.createElement(Text, { color: textColor || COLOR_SUCCESS },
444
+ React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
430
445
  " Response: ",
431
446
  responseText)));
432
447
  }
433
448
  if (toolName === 'ask_mentor') {
434
449
  const firstParagraph = getFirstParagraph(output, 200);
435
450
  return (React.createElement(Box, { flexDirection: "column" },
436
- React.createElement(Text, { color: textColor || COLOR_SUCCESS },
437
- React.createElement(Text, { color: 'green', bold: true }, "\u2714"),
451
+ React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
452
+ React.createElement(Text, { color: TOOL_STATUS_COLOR.completed, bold: true }, TOOL_STATUS_GLYPH.completed),
438
453
  ' ',
439
454
  displayAction),
440
- React.createElement(Text, { color: textColor || COLOR_SUCCESS },
455
+ React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
441
456
  " Response: ",
442
457
  firstParagraph)));
443
458
  }
444
459
  return (React.createElement(Box, { flexDirection: "column" },
445
- React.createElement(Text, { color: textColor || COLOR_SUCCESS },
446
- React.createElement(Text, { color: 'green', bold: true }, "\u2714"),
460
+ React.createElement(Text, { color: textColor || COLOR_TEXT_MUTED },
461
+ React.createElement(Text, { color: TOOL_STATUS_COLOR.completed, bold: true }, TOOL_STATUS_GLYPH.completed),
447
462
  ' ',
448
463
  displayAction,
449
464
  changeStatsElement),
450
465
  matchCountElement,
451
466
  autoApprovalLabel));
452
467
  }
453
- const outputText = output?.trim() ? output : isRunning ? '(running...)' : '(no output)';
468
+ const outputText = output?.trim() ? output : isRunning ? '(running...)' : isQueued ? '(queued)' : '(no output)';
454
469
  const displayed = outputText && outputText !== '(no output)'
455
470
  ? (() => {
456
471
  const trimmedOutput = (output || '').trimEnd();
@@ -468,41 +483,41 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
468
483
  if (toolName === TOOL_NAME_APPLY_PATCH && toolArgs) {
469
484
  if (hadApproval) {
470
485
  return (React.createElement(Box, { flexDirection: "column" },
471
- React.createElement(Text, { color: success === false ? COLOR_ERROR : COLOR_TOOL_OUTPUT }, displayed)));
486
+ React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
472
487
  }
473
488
  return (React.createElement(Box, { flexDirection: "column" },
474
489
  renderStandardHeader(),
475
490
  toolArgs.diff && success !== false && React.createElement(DiffView, { diff: toolArgs.diff }),
476
- failureReason && React.createElement(Text, { color: COLOR_ERROR },
491
+ failureReason && React.createElement(Text, { color: COLOR_DANGER },
477
492
  "Error: ",
478
493
  failureReason),
479
- React.createElement(Text, { color: success === false ? COLOR_ERROR : COLOR_TOOL_OUTPUT }, displayed)));
494
+ React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
480
495
  }
481
496
  // Special handling for search_replace
482
497
  if (toolName === TOOL_NAME_SEARCH_REPLACE && toolArgs) {
483
498
  // For search_replace that had an approval prompt (user said 'y'), only show output
484
499
  if (hadApproval) {
485
500
  return (React.createElement(Box, { flexDirection: "column" },
486
- React.createElement(Text, { color: success === false ? COLOR_ERROR : COLOR_TOOL_OUTPUT }, displayed)));
501
+ React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
487
502
  }
488
503
  // For auto-approved search_replace (no approval prompt), show diff + output
489
504
  return (React.createElement(Box, { flexDirection: "column" },
490
505
  renderStandardHeader(),
491
506
  React.createElement(DiffView, { diff: diff }),
492
- failureReason && React.createElement(Text, { color: COLOR_ERROR },
507
+ failureReason && React.createElement(Text, { color: COLOR_DANGER },
493
508
  "Error: ",
494
509
  failureReason),
495
- React.createElement(Text, { color: success === false ? COLOR_ERROR : COLOR_TOOL_OUTPUT }, displayed)));
510
+ React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
496
511
  }
497
512
  // Special handling for create_file
498
513
  if (toolName === TOOL_NAME_CREATE_FILE && toolArgs) {
499
514
  return (React.createElement(Box, { flexDirection: "column" },
500
515
  renderStandardHeader(),
501
516
  success !== false && React.createElement(DiffView, { diff: createFileDiffLines }),
502
- failureReason && React.createElement(Text, { color: COLOR_ERROR },
517
+ failureReason && React.createElement(Text, { color: COLOR_DANGER },
503
518
  "Error: ",
504
519
  failureReason),
505
- React.createElement(Text, { color: success === false ? COLOR_ERROR : COLOR_TOOL_OUTPUT }, displayed)));
520
+ React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed)));
506
521
  }
507
522
  if ((toolName === 'run_subagent_async' || isBackgroundSubagentLaunch) && success === false) {
508
523
  let launchError = output;
@@ -516,10 +531,10 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
516
531
  return (React.createElement(Box, { flexDirection: "column" },
517
532
  renderStandardHeader(),
518
533
  React.createElement(Box, { paddingLeft: 2, marginTop: 0.5 },
519
- React.createElement(Text, { color: COLOR_ERROR }, launchError))));
534
+ React.createElement(Text, { color: COLOR_DANGER }, launchError))));
520
535
  }
521
536
  // Standard mode custom tool renderers
522
- if (displayMode === 'standard' && success !== false && !failureReason && !isRunning) {
537
+ if (displayMode === 'standard' && success !== false && !failureReason && !isRunning && !isQueued && !isWaiting) {
523
538
  if (toolName === 'read_file' || toolName === 'view_file') {
524
539
  const result = ReadFileRenderer({ output, renderStandardHeader });
525
540
  if (result)
@@ -545,17 +560,17 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
545
560
  const parsed = parseSubagentOutput(output, toolArgs);
546
561
  if (parsed) {
547
562
  const { role: _role, status, toolsUsed, filesChanged, mainText } = parsed;
548
- const _statusColor = status === 'completed' ? COLOR_SUCCESS : status === 'failed' ? COLOR_ERROR : COLOR_WARNING;
563
+ const _statusColor = status === 'completed' ? COLOR_TEXT_MUTED : status === 'failed' ? COLOR_DANGER : COLOR_WARNING;
549
564
  return (React.createElement(Box, { flexDirection: "column" },
550
565
  renderStandardHeader(),
551
566
  (toolsUsed || filesChanged) && (React.createElement(Box, { flexDirection: "column", paddingLeft: 2, marginY: 0.5 },
552
- toolsUsed && (React.createElement(Text, { color: COLOR_MUTED },
567
+ toolsUsed && (React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
553
568
  "Tools: ",
554
- React.createElement(Text, { color: COLOR_CONTENT }, toolsUsed))),
555
- filesChanged && (React.createElement(Text, { color: COLOR_MUTED },
569
+ React.createElement(Text, { color: COLOR_TEXT }, toolsUsed))),
570
+ filesChanged && (React.createElement(Text, { color: COLOR_TEXT_SUBTLE },
556
571
  "Changed: ",
557
- React.createElement(Text, { color: COLOR_CONTENT }, filesChanged))))),
558
- mainText && (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderColor: COLOR_INFO, paddingX: 1, marginTop: 1 },
572
+ React.createElement(Text, { color: COLOR_TEXT }, filesChanged))))),
573
+ mainText && (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderColor: COLOR_ACCENT, paddingX: 1, marginTop: 1 },
559
574
  React.createElement(Text, { color: COLOR_TOOL_OUTPUT }, mainText)))));
560
575
  }
561
576
  }
@@ -572,8 +587,8 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
572
587
  return (React.createElement(Box, { flexDirection: "column" },
573
588
  renderStandardHeader(),
574
589
  React.createElement(Box, { paddingLeft: 2, marginTop: 0.5 },
575
- React.createElement(Text, { color: COLOR_MUTED }, "RunId: "),
576
- React.createElement(Text, { color: COLOR_SUCCESS }, runId || output))));
590
+ React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "RunId: "),
591
+ React.createElement(Text, { color: COLOR_TEXT_MUTED }, runId || output))));
577
592
  }
578
593
  if (toolName === 'web_search') {
579
594
  const result = WebSearchRenderer({ output, renderStandardHeader });
@@ -588,8 +603,8 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
588
603
  if (toolName === 'ask_mentor') {
589
604
  return (React.createElement(Box, { flexDirection: "column" },
590
605
  renderStandardHeader(),
591
- React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: COLOR_SPECIAL, paddingX: 1, marginTop: 1 },
592
- React.createElement(Text, { color: COLOR_SPECIAL, bold: true }, "Mentor Response"),
606
+ React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: COLOR_ACCENT_ALT, paddingX: 1, marginTop: 1 },
607
+ React.createElement(Text, { color: COLOR_ACCENT_ALT, bold: true }, "Mentor Response"),
593
608
  React.createElement(Text, { color: COLOR_TOOL_OUTPUT }, output))));
594
609
  }
595
610
  if (toolName === 'ask_user') {
@@ -597,16 +612,16 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
597
612
  return (React.createElement(Box, { flexDirection: "column" },
598
613
  renderStandardHeader(),
599
614
  options && Array.isArray(options) && options.length > 0 && (React.createElement(Box, { paddingLeft: 2, marginY: 0.5 },
600
- React.createElement(Text, { color: COLOR_MUTED }, "Options: "),
601
- options.map((opt, idx) => (React.createElement(Text, { key: idx, color: idx === 0 ? COLOR_SUCCESS : COLOR_CONTENT },
615
+ React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Options: "),
616
+ options.map((opt, idx) => (React.createElement(Text, { key: idx, color: idx === 0 ? COLOR_TEXT_MUTED : COLOR_TEXT },
602
617
  idx > 0 ? ', ' : '',
603
618
  "[",
604
619
  opt,
605
620
  "]",
606
621
  idx === 0 ? ' (Recommended)' : ''))))),
607
622
  React.createElement(Box, { paddingLeft: 2, marginTop: 0.5 },
608
- React.createElement(Text, { color: COLOR_MUTED }, "Response: "),
609
- React.createElement(Text, { color: COLOR_SUCCESS, bold: true }, output || 'No response yet'))));
623
+ React.createElement(Text, { color: COLOR_TEXT_SUBTLE }, "Response: "),
624
+ React.createElement(Text, { color: COLOR_TEXT_MUTED, bold: true }, output || 'No response yet'))));
610
625
  }
611
626
  if (toolName === 'read_code_outline') {
612
627
  const parsed = parseCodeOutlineOutput(output);
@@ -621,13 +636,13 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
621
636
  "\u2022 ",
622
637
  imp))))),
623
638
  exports && exports.length > 0 && (React.createElement(Box, { flexDirection: "column", marginBottom: 1, paddingLeft: 2 },
624
- React.createElement(Text, { color: COLOR_SUCCESS, bold: true }, "Exports:"),
639
+ React.createElement(Text, { color: COLOR_TEXT_MUTED, bold: true }, "Exports:"),
625
640
  exports.map((exp, idx) => (React.createElement(Text, { key: idx, color: COLOR_TOOL_OUTPUT },
626
641
  ' ',
627
642
  "\u2022 ",
628
643
  exp))))),
629
644
  decls && decls.length > 0 && (React.createElement(Box, { flexDirection: "column", paddingLeft: 2 },
630
- React.createElement(Text, { color: COLOR_LINK, bold: true }, "Declarations:"),
645
+ React.createElement(Text, { color: COLOR_ACCENT, bold: true }, "Declarations:"),
631
646
  decls.map((decl, idx) => (React.createElement(Text, { key: idx, color: COLOR_TOOL_OUTPUT },
632
647
  ' ',
633
648
  "\u2022 ",
@@ -640,7 +655,12 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
640
655
  return result;
641
656
  }
642
657
  if (toolName && toolName.startsWith('memory_')) {
643
- const result = MemoryRenderer({ output, toolName, renderStandardHeader });
658
+ const result = MemoryRenderer({
659
+ output,
660
+ toolName,
661
+ query: typeof toolArgs?.query === 'string' ? toolArgs.query : undefined,
662
+ renderStandardHeader,
663
+ });
644
664
  if (result)
645
665
  return result;
646
666
  }
@@ -650,16 +670,16 @@ const CommandMessage = ({ command, output: rawOutput, status, success, failureRe
650
670
  if (isApprovalRejection) {
651
671
  return (React.createElement(Box, { flexDirection: "column" },
652
672
  renderStandardHeader(),
653
- React.createElement(Text, { color: COLOR_ERROR },
673
+ React.createElement(Text, { color: COLOR_DANGER },
654
674
  "\u2192 DENIED: ",
655
675
  denialReason)));
656
676
  }
657
677
  return (React.createElement(Box, { flexDirection: "column" },
658
678
  renderStandardHeader(),
659
- failureReason && React.createElement(Text, { color: COLOR_ERROR },
679
+ failureReason && React.createElement(Text, { color: COLOR_DANGER },
660
680
  "Error: ",
661
681
  failureReason),
662
- React.createElement(Text, { color: success === false ? COLOR_ERROR : COLOR_TOOL_OUTPUT }, displayed),
682
+ React.createElement(Text, { color: success === false ? COLOR_DANGER : COLOR_TOOL_OUTPUT }, displayed),
663
683
  autoApprovalLabel));
664
684
  };
665
685
  export default React.memo(CommandMessage);