@qduc/term2 0.13.0 → 0.15.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 (1013) hide show
  1. package/dist/agent.d.ts +2 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +17 -7
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app-helpers.d.ts +4 -0
  6. package/dist/app-helpers.d.ts.map +1 -1
  7. package/dist/app-helpers.js +6 -0
  8. package/dist/app-helpers.js.map +1 -1
  9. package/dist/app.d.ts +1 -1
  10. package/dist/app.d.ts.map +1 -1
  11. package/dist/app.js +142 -13
  12. package/dist/app.js.map +1 -1
  13. package/dist/cli.js +112 -28
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/auto-approve-command.js +3 -3
  16. package/dist/commands/auto-approve-command.js.map +1 -1
  17. package/dist/commands/compact-command.d.ts +6 -0
  18. package/dist/commands/compact-command.d.ts.map +1 -0
  19. package/dist/commands/compact-command.js +12 -0
  20. package/dist/commands/compact-command.js.map +1 -0
  21. package/dist/commands/guarded-settings-command.d.ts +3 -1
  22. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  23. package/dist/commands/guarded-settings-command.js +21 -5
  24. package/dist/commands/guarded-settings-command.js.map +1 -1
  25. package/dist/commands/mode-commands.d.ts +9 -2
  26. package/dist/commands/mode-commands.d.ts.map +1 -1
  27. package/dist/commands/mode-commands.js +12 -3
  28. package/dist/commands/mode-commands.js.map +1 -1
  29. package/dist/commands/usage-command.d.ts +10 -1
  30. package/dist/commands/usage-command.d.ts.map +1 -1
  31. package/dist/commands/usage-command.js +11 -1
  32. package/dist/commands/usage-command.js.map +1 -1
  33. package/dist/components/InputBox.js +14 -1
  34. package/dist/components/InputBox.js.map +1 -1
  35. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  36. package/dist/components/input/ApplicationInputSurface.js +2 -0
  37. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  38. package/dist/components/input/FirstRunSetupPrompt.js +1 -1
  39. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
  40. package/dist/components/input/MentorPoolMenuSession.d.ts +9 -0
  41. package/dist/components/input/MentorPoolMenuSession.d.ts.map +1 -0
  42. package/dist/components/input/MentorPoolMenuSession.js +131 -0
  43. package/dist/components/input/MentorPoolMenuSession.js.map +1 -0
  44. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  45. package/dist/components/input/MenuSurface.js +16 -3
  46. package/dist/components/input/MenuSurface.js.map +1 -1
  47. package/dist/components/input/PendingQueueList.d.ts.map +1 -1
  48. package/dist/components/input/PendingQueueList.js +22 -5
  49. package/dist/components/input/PendingQueueList.js.map +1 -1
  50. package/dist/components/input/ProviderMenuSession.d.ts.map +1 -1
  51. package/dist/components/input/ProviderMenuSession.js +1 -0
  52. package/dist/components/input/ProviderMenuSession.js.map +1 -1
  53. package/dist/components/input/SettingsMenuSession.d.ts.map +1 -1
  54. package/dist/components/input/SettingsMenuSession.js +35 -22
  55. package/dist/components/input/SettingsMenuSession.js.map +1 -1
  56. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  57. package/dist/components/input/SettingsValueMenuSession.js +6 -0
  58. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  59. package/dist/components/input/menu-controller.d.ts.map +1 -1
  60. package/dist/components/input/menu-controller.js +18 -1
  61. package/dist/components/input/menu-controller.js.map +1 -1
  62. package/dist/components/input/menu-registry.d.ts.map +1 -1
  63. package/dist/components/input/menu-registry.js +2 -0
  64. package/dist/components/input/menu-registry.js.map +1 -1
  65. package/dist/components/input/menu-types.d.ts +5 -0
  66. package/dist/components/input/menu-types.d.ts.map +1 -1
  67. package/dist/components/input/triggers.d.ts.map +1 -1
  68. package/dist/components/input/triggers.js +33 -0
  69. package/dist/components/input/triggers.js.map +1 -1
  70. package/dist/components/layout/BackgroundTaskManager.d.ts +2 -0
  71. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  72. package/dist/components/layout/BackgroundTaskManager.js +156 -64
  73. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  74. package/dist/components/layout/BackgroundTasksPanel.d.ts +12 -1
  75. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  76. package/dist/components/layout/BackgroundTasksPanel.js +208 -53
  77. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  78. package/dist/components/layout/BottomArea.d.ts +11 -1
  79. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  80. package/dist/components/layout/BottomArea.js +30 -13
  81. package/dist/components/layout/BottomArea.js.map +1 -1
  82. package/dist/components/layout/StatusBar.d.ts +5 -0
  83. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  84. package/dist/components/layout/StatusBar.js +45 -3
  85. package/dist/components/layout/StatusBar.js.map +1 -1
  86. package/dist/components/layout/live-task-rows.d.ts +16 -0
  87. package/dist/components/layout/live-task-rows.d.ts.map +1 -0
  88. package/dist/components/layout/live-task-rows.js +28 -0
  89. package/dist/components/layout/live-task-rows.js.map +1 -0
  90. package/dist/components/layout/terminal-text-budget.d.ts +4 -0
  91. package/dist/components/layout/terminal-text-budget.d.ts.map +1 -0
  92. package/dist/components/layout/terminal-text-budget.js +18 -0
  93. package/dist/components/layout/terminal-text-budget.js.map +1 -0
  94. package/dist/components/menu/CopyMenu.d.ts +1 -0
  95. package/dist/components/menu/CopyMenu.d.ts.map +1 -1
  96. package/dist/components/menu/CopyMenu.js +15 -2
  97. package/dist/components/menu/CopyMenu.js.map +1 -1
  98. package/dist/components/menu/MentorPoolSelectionMenu.d.ts +13 -0
  99. package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -0
  100. package/dist/components/menu/MentorPoolSelectionMenu.js +98 -0
  101. package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -0
  102. package/dist/components/menu/ModelSelectionMenu.d.ts +1 -0
  103. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  104. package/dist/components/menu/ModelSelectionMenu.js +22 -7
  105. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  106. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  107. package/dist/components/menu/ProviderSelectionMenu.js +27 -2
  108. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  109. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  110. package/dist/components/menu/SettingsSelectionMenu.js +5 -0
  111. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  112. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  113. package/dist/components/menu/SlashCommandMenu.js +12 -9
  114. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  115. package/dist/components/message/CommandGroupSummary.d.ts +9 -0
  116. package/dist/components/message/CommandGroupSummary.d.ts.map +1 -0
  117. package/dist/components/message/CommandGroupSummary.js +31 -0
  118. package/dist/components/message/CommandGroupSummary.js.map +1 -0
  119. package/dist/components/message/CommandMessage.d.ts +8 -0
  120. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  121. package/dist/components/message/CommandMessage.js +54 -25
  122. package/dist/components/message/CommandMessage.js.map +1 -1
  123. package/dist/components/message/MessageList.d.ts +6 -2
  124. package/dist/components/message/MessageList.d.ts.map +1 -1
  125. package/dist/components/message/MessageList.js +64 -10
  126. package/dist/components/message/MessageList.js.map +1 -1
  127. package/dist/components/message/SubagentActivityMessage.d.ts +1 -0
  128. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  129. package/dist/components/message/SubagentActivityMessage.js +18 -3
  130. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  131. package/dist/components/message/command-grouping.d.ts +43 -0
  132. package/dist/components/message/command-grouping.d.ts.map +1 -0
  133. package/dist/components/message/command-grouping.js +142 -0
  134. package/dist/components/message/command-grouping.js.map +1 -0
  135. package/dist/components/message/command-message-helpers.d.ts +6 -5
  136. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  137. package/dist/components/message/command-message-helpers.js +36 -0
  138. package/dist/components/message/command-message-helpers.js.map +1 -1
  139. package/dist/components/prompt/ApprovalPrompt.d.ts +1 -1
  140. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  141. package/dist/components/prompt/ApprovalPrompt.js +136 -90
  142. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  143. package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts +11 -0
  144. package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts.map +1 -0
  145. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js +50 -0
  146. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js.map +1 -0
  147. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  148. package/dist/components/prompt/QueuePausedPrompt.js +14 -8
  149. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  150. package/dist/context/InputContext.d.ts +1 -1
  151. package/dist/context/InputContext.d.ts.map +1 -1
  152. package/dist/context/InputContext.js +2 -0
  153. package/dist/context/InputContext.js.map +1 -1
  154. package/dist/contracts/application-stream.d.ts +14 -0
  155. package/dist/contracts/application-stream.d.ts.map +1 -1
  156. package/dist/contracts/conversation.d.ts +24 -1
  157. package/dist/contracts/conversation.d.ts.map +1 -1
  158. package/dist/contracts/conversation.js +8 -0
  159. package/dist/contracts/conversation.js.map +1 -1
  160. package/dist/contracts/provider-input.d.ts +15 -0
  161. package/dist/contracts/provider-input.d.ts.map +1 -1
  162. package/dist/contracts/provider-input.js +6 -1
  163. package/dist/contracts/provider-input.js.map +1 -1
  164. package/dist/contracts/streamed-model-turn.d.ts +22 -1
  165. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  166. package/dist/core/index.d.ts +9 -0
  167. package/dist/core/index.d.ts.map +1 -0
  168. package/dist/core/index.js +8 -0
  169. package/dist/core/index.js.map +1 -0
  170. package/dist/core/session-runtime.d.ts +10 -0
  171. package/dist/core/session-runtime.d.ts.map +1 -0
  172. package/dist/core/session-runtime.js +9 -0
  173. package/dist/core/session-runtime.js.map +1 -0
  174. package/dist/gateway/assertion.d.ts +38 -0
  175. package/dist/gateway/assertion.d.ts.map +1 -0
  176. package/dist/gateway/assertion.js +146 -0
  177. package/dist/gateway/assertion.js.map +1 -0
  178. package/dist/gateway/contracts.d.ts +124 -0
  179. package/dist/gateway/contracts.d.ts.map +1 -0
  180. package/dist/gateway/contracts.js +13 -0
  181. package/dist/gateway/contracts.js.map +1 -0
  182. package/dist/gateway/gateway.d.ts +72 -0
  183. package/dist/gateway/gateway.d.ts.map +1 -0
  184. package/dist/gateway/gateway.js +1277 -0
  185. package/dist/gateway/gateway.js.map +1 -0
  186. package/dist/gateway/index.d.ts +22 -0
  187. package/dist/gateway/index.d.ts.map +1 -0
  188. package/dist/gateway/index.js +22 -0
  189. package/dist/gateway/index.js.map +1 -0
  190. package/dist/gateway/interaction-protocol.d.ts +76 -0
  191. package/dist/gateway/interaction-protocol.d.ts.map +1 -0
  192. package/dist/gateway/interaction-protocol.js +548 -0
  193. package/dist/gateway/interaction-protocol.js.map +1 -0
  194. package/dist/gateway/launcher.d.ts +8 -0
  195. package/dist/gateway/launcher.d.ts.map +1 -0
  196. package/dist/gateway/launcher.js +20 -0
  197. package/dist/gateway/launcher.js.map +1 -0
  198. package/dist/gateway/lifecycle.d.ts +12 -0
  199. package/dist/gateway/lifecycle.d.ts.map +1 -0
  200. package/dist/gateway/lifecycle.js +38 -0
  201. package/dist/gateway/lifecycle.js.map +1 -0
  202. package/dist/gateway/persistence/admission-persistence.d.ts +82 -0
  203. package/dist/gateway/persistence/admission-persistence.d.ts.map +1 -0
  204. package/dist/gateway/persistence/admission-persistence.js +215 -0
  205. package/dist/gateway/persistence/admission-persistence.js.map +1 -0
  206. package/dist/gateway/persistence/contracts.d.ts +94 -0
  207. package/dist/gateway/persistence/contracts.d.ts.map +1 -0
  208. package/dist/gateway/persistence/contracts.js +32 -0
  209. package/dist/gateway/persistence/contracts.js.map +1 -0
  210. package/dist/gateway/persistence/coordinator.d.ts +25 -0
  211. package/dist/gateway/persistence/coordinator.d.ts.map +1 -0
  212. package/dist/gateway/persistence/coordinator.js +181 -0
  213. package/dist/gateway/persistence/coordinator.js.map +1 -0
  214. package/dist/gateway/persistence/event-journal.d.ts +31 -0
  215. package/dist/gateway/persistence/event-journal.d.ts.map +1 -0
  216. package/dist/gateway/persistence/event-journal.js +378 -0
  217. package/dist/gateway/persistence/event-journal.js.map +1 -0
  218. package/dist/gateway/persistence/interaction-checkpoint.d.ts +17 -0
  219. package/dist/gateway/persistence/interaction-checkpoint.d.ts.map +1 -0
  220. package/dist/gateway/persistence/interaction-checkpoint.js +75 -0
  221. package/dist/gateway/persistence/interaction-checkpoint.js.map +1 -0
  222. package/dist/gateway/persistence/projection.d.ts +53 -0
  223. package/dist/gateway/persistence/projection.d.ts.map +1 -0
  224. package/dist/gateway/persistence/projection.js +226 -0
  225. package/dist/gateway/persistence/projection.js.map +1 -0
  226. package/dist/gateway/persistence/retention.d.ts +16 -0
  227. package/dist/gateway/persistence/retention.d.ts.map +1 -0
  228. package/dist/gateway/persistence/retention.js +93 -0
  229. package/dist/gateway/persistence/retention.js.map +1 -0
  230. package/dist/gateway/persistence/session-index.d.ts +34 -0
  231. package/dist/gateway/persistence/session-index.d.ts.map +1 -0
  232. package/dist/gateway/persistence/session-index.js +348 -0
  233. package/dist/gateway/persistence/session-index.js.map +1 -0
  234. package/dist/gateway/persistence/session-persistence.d.ts +68 -0
  235. package/dist/gateway/persistence/session-persistence.d.ts.map +1 -0
  236. package/dist/gateway/persistence/session-persistence.js +165 -0
  237. package/dist/gateway/persistence/session-persistence.js.map +1 -0
  238. package/dist/gateway/persistence/storage.d.ts +13 -0
  239. package/dist/gateway/persistence/storage.d.ts.map +1 -0
  240. package/dist/gateway/persistence/storage.js +87 -0
  241. package/dist/gateway/persistence/storage.js.map +1 -0
  242. package/dist/gateway/replay-ledger.d.ts +30 -0
  243. package/dist/gateway/replay-ledger.d.ts.map +1 -0
  244. package/dist/gateway/replay-ledger.js +83 -0
  245. package/dist/gateway/replay-ledger.js.map +1 -0
  246. package/dist/gateway/runtime-factory.d.ts +84 -0
  247. package/dist/gateway/runtime-factory.d.ts.map +1 -0
  248. package/dist/gateway/runtime-factory.js +213 -0
  249. package/dist/gateway/runtime-factory.js.map +1 -0
  250. package/dist/gateway/safe-log.d.ts +15 -0
  251. package/dist/gateway/safe-log.d.ts.map +1 -0
  252. package/dist/gateway/safe-log.js +89 -0
  253. package/dist/gateway/safe-log.js.map +1 -0
  254. package/dist/gateway/server-session.d.ts +65 -0
  255. package/dist/gateway/server-session.d.ts.map +1 -0
  256. package/dist/gateway/server-session.js +252 -0
  257. package/dist/gateway/server-session.js.map +1 -0
  258. package/dist/gateway/server.d.ts +42 -0
  259. package/dist/gateway/server.d.ts.map +1 -0
  260. package/dist/gateway/server.js +126 -0
  261. package/dist/gateway/server.js.map +1 -0
  262. package/dist/gateway/worker-boundary.d.ts +40 -0
  263. package/dist/gateway/worker-boundary.d.ts.map +1 -0
  264. package/dist/gateway/worker-boundary.js +149 -0
  265. package/dist/gateway/worker-boundary.js.map +1 -0
  266. package/dist/gateway/workspace-admission.d.ts +37 -0
  267. package/dist/gateway/workspace-admission.d.ts.map +1 -0
  268. package/dist/gateway/workspace-admission.js +285 -0
  269. package/dist/gateway/workspace-admission.js.map +1 -0
  270. package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
  271. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  272. package/dist/hooks/conversation-ui-reducer.js +3 -0
  273. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  274. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  275. package/dist/hooks/settings-completion-config.js +39 -3
  276. package/dist/hooks/settings-completion-config.js.map +1 -1
  277. package/dist/hooks/use-app-commands.d.ts +5 -1
  278. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  279. package/dist/hooks/use-app-commands.js +17 -3
  280. package/dist/hooks/use-app-commands.js.map +1 -1
  281. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +5 -0
  282. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  283. package/dist/hooks/use-app-keyboard-shortcuts.js +11 -0
  284. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  285. package/dist/hooks/use-conversation.d.ts +1 -0
  286. package/dist/hooks/use-conversation.d.ts.map +1 -1
  287. package/dist/hooks/use-conversation.js +22 -4
  288. package/dist/hooks/use-conversation.js.map +1 -1
  289. package/dist/hooks/use-grok-credit-usage.d.ts +20 -0
  290. package/dist/hooks/use-grok-credit-usage.d.ts.map +1 -0
  291. package/dist/hooks/use-grok-credit-usage.js +48 -0
  292. package/dist/hooks/use-grok-credit-usage.js.map +1 -0
  293. package/dist/hooks/use-mentor-pool-selection.d.ts +103 -0
  294. package/dist/hooks/use-mentor-pool-selection.d.ts.map +1 -0
  295. package/dist/hooks/use-mentor-pool-selection.js +642 -0
  296. package/dist/hooks/use-mentor-pool-selection.js.map +1 -0
  297. package/dist/hooks/use-provider-selection.d.ts +10 -0
  298. package/dist/hooks/use-provider-selection.d.ts.map +1 -1
  299. package/dist/hooks/use-provider-selection.js +105 -6
  300. package/dist/hooks/use-provider-selection.js.map +1 -1
  301. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  302. package/dist/hooks/use-settings-value-completion.js +10 -2
  303. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  304. package/dist/lib/agent-chat-service.d.ts +3 -6
  305. package/dist/lib/agent-chat-service.d.ts.map +1 -1
  306. package/dist/lib/agent-chat-service.js +11 -1
  307. package/dist/lib/agent-chat-service.js.map +1 -1
  308. package/dist/lib/agent-client.d.ts +23 -3
  309. package/dist/lib/agent-client.d.ts.map +1 -1
  310. package/dist/lib/agent-client.js +227 -20
  311. package/dist/lib/agent-client.js.map +1 -1
  312. package/dist/lib/agent-configuration.d.ts +2 -0
  313. package/dist/lib/agent-configuration.d.ts.map +1 -1
  314. package/dist/lib/agent-configuration.js +8 -2
  315. package/dist/lib/agent-configuration.js.map +1 -1
  316. package/dist/lib/agent-factory.d.ts +2 -0
  317. package/dist/lib/agent-factory.d.ts.map +1 -1
  318. package/dist/lib/agent-factory.js +33 -7
  319. package/dist/lib/agent-factory.js.map +1 -1
  320. package/dist/lib/editor-impl.d.ts.map +1 -1
  321. package/dist/lib/editor-impl.js +14 -17
  322. package/dist/lib/editor-impl.js.map +1 -1
  323. package/dist/lib/harness-input-idle.d.ts +16 -0
  324. package/dist/lib/harness-input-idle.d.ts.map +1 -0
  325. package/dist/lib/harness-input-idle.js +51 -0
  326. package/dist/lib/harness-input-idle.js.map +1 -0
  327. package/dist/lib/input-owner.d.ts +3 -0
  328. package/dist/lib/input-owner.d.ts.map +1 -1
  329. package/dist/lib/input-owner.js +2 -0
  330. package/dist/lib/input-owner.js.map +1 -1
  331. package/dist/lib/subagent-bridge.d.ts +3 -3
  332. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  333. package/dist/lib/subagent-bridge.js +16 -9
  334. package/dist/lib/subagent-bridge.js.map +1 -1
  335. package/dist/lib/tool-invoke.d.ts +2 -0
  336. package/dist/lib/tool-invoke.d.ts.map +1 -1
  337. package/dist/lib/tool-invoke.js +3 -0
  338. package/dist/lib/tool-invoke.js.map +1 -1
  339. package/dist/non-interactive.d.ts.map +1 -1
  340. package/dist/non-interactive.js +5 -0
  341. package/dist/non-interactive.js.map +1 -1
  342. package/dist/prompts/context-compaction.d.ts +4 -0
  343. package/dist/prompts/context-compaction.d.ts.map +1 -0
  344. package/dist/prompts/context-compaction.js +18 -0
  345. package/dist/prompts/context-compaction.js.map +1 -0
  346. package/dist/prompts/context-compaction.ts +23 -0
  347. package/dist/prompts/explorer-delegation-contract.test.ts +44 -0
  348. package/dist/prompts/gpt-5.6.md +1 -1
  349. package/dist/prompts/kimi.md +1 -1
  350. package/dist/prompts/orchestrator.md +10 -1
  351. package/dist/prompts/plan-mode-info.md +4 -4
  352. package/dist/prompts/plan-mode-stub.md +7 -0
  353. package/dist/prompts/prefix-quality.test.ts +102 -0
  354. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  355. package/dist/prompts/prompt-constructor.js +4 -1
  356. package/dist/prompts/prompt-constructor.js.map +1 -1
  357. package/dist/prompts/prompt-constructor.test.ts +12 -4
  358. package/dist/prompts/prompt-constructor.ts +4 -1
  359. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  360. package/dist/prompts/subagent-delegation.js +4 -2
  361. package/dist/prompts/subagent-delegation.js.map +1 -1
  362. package/dist/prompts/subagent-delegation.test.ts +10 -0
  363. package/dist/prompts/subagent-delegation.ts +4 -2
  364. package/dist/prompts/subagents/explorer.md +16 -5
  365. package/dist/prompts/subagents/librarian.md +3 -1
  366. package/dist/prompts/subagents/mentor.md +2 -0
  367. package/dist/prompts/subagents/worker.md +3 -1
  368. package/dist/providers/aborted-stream-recorder.d.ts +20 -0
  369. package/dist/providers/aborted-stream-recorder.d.ts.map +1 -0
  370. package/dist/providers/aborted-stream-recorder.js +63 -0
  371. package/dist/providers/aborted-stream-recorder.js.map +1 -0
  372. package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
  373. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  374. package/dist/providers/ai-sdk-streamed-model.js +64 -1
  375. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  376. package/dist/providers/chained-wire-state.d.ts +6 -0
  377. package/dist/providers/chained-wire-state.d.ts.map +1 -1
  378. package/dist/providers/chained-wire-state.js +1 -3
  379. package/dist/providers/chained-wire-state.js.map +1 -1
  380. package/dist/providers/codex-auth.d.ts +73 -2
  381. package/dist/providers/codex-auth.d.ts.map +1 -1
  382. package/dist/providers/codex-auth.js +166 -2
  383. package/dist/providers/codex-auth.js.map +1 -1
  384. package/dist/providers/codex-responses-model.d.ts +10 -2
  385. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  386. package/dist/providers/codex-responses-model.js +348 -184
  387. package/dist/providers/codex-responses-model.js.map +1 -1
  388. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  389. package/dist/providers/codex-turn-converter.js +7 -1
  390. package/dist/providers/codex-turn-converter.js.map +1 -1
  391. package/dist/providers/codex.provider.d.ts +28 -4
  392. package/dist/providers/codex.provider.d.ts.map +1 -1
  393. package/dist/providers/codex.provider.js +106 -81
  394. package/dist/providers/codex.provider.js.map +1 -1
  395. package/dist/providers/common/provider-errors.d.ts +20 -0
  396. package/dist/providers/common/provider-errors.d.ts.map +1 -1
  397. package/dist/providers/common/provider-errors.js +35 -0
  398. package/dist/providers/common/provider-errors.js.map +1 -1
  399. package/dist/providers/grok-auth.d.ts +105 -0
  400. package/dist/providers/grok-auth.d.ts.map +1 -0
  401. package/dist/providers/grok-auth.js +316 -0
  402. package/dist/providers/grok-auth.js.map +1 -0
  403. package/dist/providers/grok-credit-usage.d.ts +53 -0
  404. package/dist/providers/grok-credit-usage.d.ts.map +1 -0
  405. package/dist/providers/grok-credit-usage.js +108 -0
  406. package/dist/providers/grok-credit-usage.js.map +1 -0
  407. package/dist/providers/grok.provider.d.ts +24 -0
  408. package/dist/providers/grok.provider.d.ts.map +1 -0
  409. package/dist/providers/grok.provider.js +153 -0
  410. package/dist/providers/grok.provider.js.map +1 -0
  411. package/dist/providers/index.d.ts +1 -0
  412. package/dist/providers/index.d.ts.map +1 -1
  413. package/dist/providers/index.js +1 -0
  414. package/dist/providers/index.js.map +1 -1
  415. package/dist/providers/jwt-claims.d.ts +12 -0
  416. package/dist/providers/jwt-claims.d.ts.map +1 -0
  417. package/dist/providers/jwt-claims.js +25 -0
  418. package/dist/providers/jwt-claims.js.map +1 -0
  419. package/dist/providers/luna-responses-lite-wire-protocol.d.ts +1 -0
  420. package/dist/providers/luna-responses-lite-wire-protocol.d.ts.map +1 -1
  421. package/dist/providers/luna-responses-lite-wire-protocol.js +19 -0
  422. package/dist/providers/luna-responses-lite-wire-protocol.js.map +1 -1
  423. package/dist/providers/model-catalog/catalog.generated.d.ts +643 -275
  424. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  425. package/dist/providers/model-catalog/catalog.generated.js +643 -275
  426. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  427. package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
  428. package/dist/providers/model-catalog/generate-catalog.js +21 -1
  429. package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
  430. package/dist/providers/oauth-account-store.d.ts +84 -0
  431. package/dist/providers/oauth-account-store.d.ts.map +1 -0
  432. package/dist/providers/oauth-account-store.js +142 -0
  433. package/dist/providers/oauth-account-store.js.map +1 -0
  434. package/dist/providers/oauth-accounts.d.ts +24 -0
  435. package/dist/providers/oauth-accounts.d.ts.map +1 -0
  436. package/dist/providers/oauth-accounts.js +37 -0
  437. package/dist/providers/oauth-accounts.js.map +1 -0
  438. package/dist/providers/oauth-pkce.d.ts +53 -0
  439. package/dist/providers/oauth-pkce.d.ts.map +1 -0
  440. package/dist/providers/oauth-pkce.js +200 -0
  441. package/dist/providers/oauth-pkce.js.map +1 -0
  442. package/dist/providers/oauth-session-account.d.ts +5 -0
  443. package/dist/providers/oauth-session-account.d.ts.map +1 -0
  444. package/dist/providers/oauth-session-account.js +24 -0
  445. package/dist/providers/oauth-session-account.js.map +1 -0
  446. package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
  447. package/dist/providers/openai-chat-completions-model.js +37 -16
  448. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  449. package/dist/providers/openai-compatible-lazy.js.map +1 -1
  450. package/dist/providers/openai-compatible.provider.d.ts +5 -0
  451. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  452. package/dist/providers/openai-compatible.provider.js +32 -2
  453. package/dist/providers/openai-compatible.provider.js.map +1 -1
  454. package/dist/providers/openai-responses-model.d.ts +22 -4
  455. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  456. package/dist/providers/openai-responses-model.js +126 -51
  457. package/dist/providers/openai-responses-model.js.map +1 -1
  458. package/dist/providers/openai.provider.d.ts.map +1 -1
  459. package/dist/providers/openai.provider.js +23 -2
  460. package/dist/providers/openai.provider.js.map +1 -1
  461. package/dist/providers/opencode-routing.d.ts +2 -0
  462. package/dist/providers/opencode-routing.d.ts.map +1 -1
  463. package/dist/providers/opencode-routing.js +12 -6
  464. package/dist/providers/opencode-routing.js.map +1 -1
  465. package/dist/providers/opencode-transport-discovery.d.ts +18 -0
  466. package/dist/providers/opencode-transport-discovery.d.ts.map +1 -0
  467. package/dist/providers/opencode-transport-discovery.js +115 -0
  468. package/dist/providers/opencode-transport-discovery.js.map +1 -0
  469. package/dist/providers/openrouter.provider.js.map +1 -1
  470. package/dist/providers/provider-opaque-compatibility.d.ts +58 -0
  471. package/dist/providers/provider-opaque-compatibility.d.ts.map +1 -0
  472. package/dist/providers/provider-opaque-compatibility.js +80 -0
  473. package/dist/providers/provider-opaque-compatibility.js.map +1 -0
  474. package/dist/providers/provider-service.d.ts +1 -1
  475. package/dist/providers/provider-service.d.ts.map +1 -1
  476. package/dist/providers/provider-service.js.map +1 -1
  477. package/dist/providers/registry.d.ts +10 -1
  478. package/dist/providers/registry.d.ts.map +1 -1
  479. package/dist/providers/registry.js.map +1 -1
  480. package/dist/providers/responses-websocket-sessions.d.ts +25 -0
  481. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -0
  482. package/dist/providers/responses-websocket-sessions.js +102 -0
  483. package/dist/providers/responses-websocket-sessions.js.map +1 -0
  484. package/dist/providers/websocket-close-evidence.d.ts +45 -0
  485. package/dist/providers/websocket-close-evidence.d.ts.map +1 -0
  486. package/dist/providers/websocket-close-evidence.js +78 -0
  487. package/dist/providers/websocket-close-evidence.js.map +1 -0
  488. package/dist/providers/websocket-receive-watchdog.d.ts +9 -1
  489. package/dist/providers/websocket-receive-watchdog.d.ts.map +1 -1
  490. package/dist/providers/websocket-receive-watchdog.js +27 -1
  491. package/dist/providers/websocket-receive-watchdog.js.map +1 -1
  492. package/dist/providers/websocket-request-dispatch.d.ts +35 -0
  493. package/dist/providers/websocket-request-dispatch.d.ts.map +1 -0
  494. package/dist/providers/websocket-request-dispatch.js +23 -0
  495. package/dist/providers/websocket-request-dispatch.js.map +1 -0
  496. package/dist/scripts/eval-context-compaction/runner.d.ts +2 -0
  497. package/dist/scripts/eval-context-compaction/runner.d.ts.map +1 -0
  498. package/dist/scripts/eval-context-compaction/runner.js +159 -0
  499. package/dist/scripts/eval-context-compaction/runner.js.map +1 -0
  500. package/dist/services/agent-runtime/agent-handle.d.ts.map +1 -1
  501. package/dist/services/agent-runtime/agent-handle.js +8 -5
  502. package/dist/services/agent-runtime/agent-handle.js.map +1 -1
  503. package/dist/services/agent-runtime/agent-runtime.d.ts +1 -1
  504. package/dist/services/agent-runtime/agent-runtime.js +1 -1
  505. package/dist/services/agent-runtime/application-run-loop.d.ts +61 -7
  506. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  507. package/dist/services/agent-runtime/application-run-loop.js +476 -141
  508. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  509. package/dist/services/agent-runtime/context-compaction/index.d.ts +56 -0
  510. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -0
  511. package/dist/services/agent-runtime/context-compaction/index.js +131 -0
  512. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -0
  513. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +81 -0
  514. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -0
  515. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +214 -0
  516. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -0
  517. package/dist/services/agent-runtime/executor.d.ts +1 -1
  518. package/dist/services/agent-runtime/executor.d.ts.map +1 -1
  519. package/dist/services/agent-runtime/executor.js +5 -5
  520. package/dist/services/agent-runtime/executor.js.map +1 -1
  521. package/dist/services/agent-runtime/generation-guard.d.ts +17 -2
  522. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  523. package/dist/services/agent-runtime/generation-guard.js +41 -4
  524. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  525. package/dist/services/agent-runtime/run-budget.d.ts +131 -0
  526. package/dist/services/agent-runtime/run-budget.d.ts.map +1 -0
  527. package/dist/services/agent-runtime/run-budget.js +268 -0
  528. package/dist/services/agent-runtime/run-budget.js.map +1 -0
  529. package/dist/services/agent-runtime/tool-invocation-context.d.ts +12 -0
  530. package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -1
  531. package/dist/services/agent-runtime/tool-invocation-context.js.map +1 -1
  532. package/dist/services/agent-runtime/types.d.ts +5 -4
  533. package/dist/services/agent-runtime/types.d.ts.map +1 -1
  534. package/dist/services/agent-stream.d.ts.map +1 -1
  535. package/dist/services/agent-stream.js +2 -1
  536. package/dist/services/agent-stream.js.map +1 -1
  537. package/dist/services/approval/approval-decision-executor.d.ts +6 -1
  538. package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
  539. package/dist/services/approval/approval-decision-executor.js +15 -3
  540. package/dist/services/approval/approval-decision-executor.js.map +1 -1
  541. package/dist/services/approval/approval-decision-policy.d.ts.map +1 -1
  542. package/dist/services/approval/approval-decision-policy.js +3 -0
  543. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  544. package/dist/services/approval/approval-flow-coordinator.d.ts +2 -0
  545. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  546. package/dist/services/approval/approval-flow-coordinator.js +14 -2
  547. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  548. package/dist/services/approval/background-subagent-approval-controller.d.ts +3 -1
  549. package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
  550. package/dist/services/approval/background-subagent-approval-controller.js +7 -4
  551. package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
  552. package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
  553. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  554. package/dist/services/approval/shell-auto-approval-resolver.js +8 -0
  555. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  556. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  557. package/dist/services/approval/tool-approval-batch-coordinator.js +20 -11
  558. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  559. package/dist/services/approval/tool-ownership-registry.d.ts +5 -1
  560. package/dist/services/approval/tool-ownership-registry.d.ts.map +1 -1
  561. package/dist/services/approval/tool-ownership-registry.js +5 -22
  562. package/dist/services/approval/tool-ownership-registry.js.map +1 -1
  563. package/dist/services/background-task-activity.d.ts +79 -0
  564. package/dist/services/background-task-activity.d.ts.map +1 -0
  565. package/dist/services/background-task-activity.js +34 -0
  566. package/dist/services/background-task-activity.js.map +1 -0
  567. package/dist/services/command-message-streaming.d.ts +4 -2
  568. package/dist/services/command-message-streaming.d.ts.map +1 -1
  569. package/dist/services/command-message-streaming.js +2 -2
  570. package/dist/services/command-message-streaming.js.map +1 -1
  571. package/dist/services/conversation/conversation-adapter-factory.d.ts +6 -2
  572. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  573. package/dist/services/conversation/conversation-adapter-factory.js +5 -1
  574. package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
  575. package/dist/services/conversation/conversation-adapter.d.ts +41 -9
  576. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  577. package/dist/services/conversation/conversation-adapter.js +218 -37
  578. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  579. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  580. package/dist/services/conversation/conversation-decoder.js +4 -0
  581. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  582. package/dist/services/conversation/conversation-events.d.ts +58 -2
  583. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  584. package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -1
  585. package/dist/services/conversation/conversation-message-projection.js +7 -3
  586. package/dist/services/conversation/conversation-message-projection.js.map +1 -1
  587. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  588. package/dist/services/conversation/conversation-orchestrator.js +103 -11
  589. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  590. package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -0
  591. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  592. package/dist/services/conversation/conversation-persistence.d.ts +38 -2
  593. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  594. package/dist/services/conversation/conversation-persistence.js +160 -16
  595. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  596. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  597. package/dist/services/conversation/conversation-replay.js +27 -0
  598. package/dist/services/conversation/conversation-replay.js.map +1 -1
  599. package/dist/services/conversation/conversation-result-builder.d.ts +6 -2
  600. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  601. package/dist/services/conversation/conversation-result-builder.js +60 -1
  602. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  603. package/dist/services/conversation/conversation-runtime-factory.d.ts +9 -1
  604. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  605. package/dist/services/conversation/conversation-runtime-factory.js +5 -1
  606. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  607. package/dist/services/conversation/conversation-service.d.ts +33 -3
  608. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  609. package/dist/services/conversation/conversation-service.js +149 -1
  610. package/dist/services/conversation/conversation-service.js.map +1 -1
  611. package/dist/services/conversation/conversation-state-projector.d.ts +9 -2
  612. package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
  613. package/dist/services/conversation/conversation-state-projector.js +51 -6
  614. package/dist/services/conversation/conversation-state-projector.js.map +1 -1
  615. package/dist/services/conversation/conversation-state-schema.d.ts +8 -4
  616. package/dist/services/conversation/conversation-state-schema.d.ts.map +1 -1
  617. package/dist/services/conversation/conversation-state-schema.js +24 -2
  618. package/dist/services/conversation/conversation-state-schema.js.map +1 -1
  619. package/dist/services/conversation/conversation-store.d.ts +2 -0
  620. package/dist/services/conversation/conversation-store.d.ts.map +1 -1
  621. package/dist/services/conversation/conversation-store.js +8 -0
  622. package/dist/services/conversation/conversation-store.js.map +1 -1
  623. package/dist/services/conversation/run-item-normalizer.d.ts.map +1 -1
  624. package/dist/services/conversation/run-item-normalizer.js +24 -1
  625. package/dist/services/conversation/run-item-normalizer.js.map +1 -1
  626. package/dist/services/conversation-agent-client.d.ts +30 -2
  627. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  628. package/dist/services/cost/model-cost.d.ts +13 -1
  629. package/dist/services/cost/model-cost.d.ts.map +1 -1
  630. package/dist/services/cost/model-cost.js +59 -0
  631. package/dist/services/cost/model-cost.js.map +1 -1
  632. package/dist/services/cost/subscription-providers.d.ts +2 -0
  633. package/dist/services/cost/subscription-providers.d.ts.map +1 -0
  634. package/dist/services/cost/subscription-providers.js +14 -0
  635. package/dist/services/cost/subscription-providers.js.map +1 -0
  636. package/dist/services/grok/grok-credit-usage-service.d.ts +62 -0
  637. package/dist/services/grok/grok-credit-usage-service.d.ts.map +1 -0
  638. package/dist/services/grok/grok-credit-usage-service.js +137 -0
  639. package/dist/services/grok/grok-credit-usage-service.js.map +1 -0
  640. package/dist/services/history-service.d.ts +9 -0
  641. package/dist/services/history-service.d.ts.map +1 -1
  642. package/dist/services/history-service.js +49 -2
  643. package/dist/services/history-service.js.map +1 -1
  644. package/dist/services/hooks/hook-composition.d.ts +17 -0
  645. package/dist/services/hooks/hook-composition.d.ts.map +1 -0
  646. package/dist/services/hooks/hook-composition.js +19 -0
  647. package/dist/services/hooks/hook-composition.js.map +1 -0
  648. package/dist/services/logging/conversation-log-events.d.ts +36 -2
  649. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  650. package/dist/services/logging/conversation-log-events.js +17 -0
  651. package/dist/services/logging/conversation-log-events.js.map +1 -1
  652. package/dist/services/logging/conversation-log-writer.d.ts +8 -1
  653. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  654. package/dist/services/logging/conversation-log-writer.js +145 -10
  655. package/dist/services/logging/conversation-log-writer.js.map +1 -1
  656. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  657. package/dist/services/logging/conversation-logger.js +18 -0
  658. package/dist/services/logging/conversation-logger.js.map +1 -1
  659. package/dist/services/logging/logging-service.d.ts +6 -6
  660. package/dist/services/logging/logging-service.d.ts.map +1 -1
  661. package/dist/services/logging/logging-service.js.map +1 -1
  662. package/dist/services/logging/provider-traffic.d.ts +18 -2
  663. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  664. package/dist/services/logging/provider-traffic.js +293 -142
  665. package/dist/services/logging/provider-traffic.js.map +1 -1
  666. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  667. package/dist/services/memory/memory-capabilities.js +20 -1
  668. package/dist/services/memory/memory-capabilities.js.map +1 -1
  669. package/dist/services/mode-notices.d.ts +1 -6
  670. package/dist/services/mode-notices.d.ts.map +1 -1
  671. package/dist/services/mode-notices.js +16 -3
  672. package/dist/services/mode-notices.js.map +1 -1
  673. package/dist/services/model-service.d.ts +2 -2
  674. package/dist/services/model-service.d.ts.map +1 -1
  675. package/dist/services/model-service.js.map +1 -1
  676. package/dist/services/queue/queue-controller.d.ts +1 -1
  677. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  678. package/dist/services/queue/queue-controller.js +19 -5
  679. package/dist/services/queue/queue-controller.js.map +1 -1
  680. package/dist/services/retry/chain-recovery-fingerprint.d.ts +10 -0
  681. package/dist/services/retry/chain-recovery-fingerprint.d.ts.map +1 -0
  682. package/dist/services/retry/chain-recovery-fingerprint.js +23 -0
  683. package/dist/services/retry/chain-recovery-fingerprint.js.map +1 -0
  684. package/dist/services/retry/recovery-executor.d.ts.map +1 -1
  685. package/dist/services/retry/recovery-executor.js +10 -9
  686. package/dist/services/retry/recovery-executor.js.map +1 -1
  687. package/dist/services/retry/recovery-policy.d.ts.map +1 -1
  688. package/dist/services/retry/recovery-policy.js +4 -0
  689. package/dist/services/retry/recovery-policy.js.map +1 -1
  690. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  691. package/dist/services/retry/retry-classifier.js +34 -2
  692. package/dist/services/retry/retry-classifier.js.map +1 -1
  693. package/dist/services/retry/retry-contracts.d.ts +14 -0
  694. package/dist/services/retry/retry-contracts.d.ts.map +1 -1
  695. package/dist/services/retry/retry-error-classification.d.ts +17 -3
  696. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  697. package/dist/services/retry/retry-error-classification.js +48 -7
  698. package/dist/services/retry/retry-error-classification.js.map +1 -1
  699. package/dist/services/retry/retry-errors.d.ts +4 -0
  700. package/dist/services/retry/retry-errors.d.ts.map +1 -1
  701. package/dist/services/retry/retry-errors.js +7 -0
  702. package/dist/services/retry/retry-errors.js.map +1 -1
  703. package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
  704. package/dist/services/retry/retry-event-presenter.js +20 -0
  705. package/dist/services/retry/retry-event-presenter.js.map +1 -1
  706. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  707. package/dist/services/runtime-setting-router.js +6 -0
  708. package/dist/services/runtime-setting-router.js.map +1 -1
  709. package/dist/services/service-interfaces.d.ts +111 -13
  710. package/dist/services/service-interfaces.d.ts.map +1 -1
  711. package/dist/services/session/background-task-control.d.ts +6 -0
  712. package/dist/services/session/background-task-control.d.ts.map +1 -1
  713. package/dist/services/session/background-task-control.js +31 -6
  714. package/dist/services/session/background-task-control.js.map +1 -1
  715. package/dist/services/session/background-task-liveness.d.ts +2 -18
  716. package/dist/services/session/background-task-liveness.d.ts.map +1 -1
  717. package/dist/services/session/background-task-liveness.js +7 -22
  718. package/dist/services/session/background-task-liveness.js.map +1 -1
  719. package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
  720. package/dist/services/session/continuation-plan-applier.js +23 -0
  721. package/dist/services/session/continuation-plan-applier.js.map +1 -1
  722. package/dist/services/session/continuation-recovery-handler.d.ts +2 -0
  723. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  724. package/dist/services/session/continuation-recovery-handler.js +7 -1
  725. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  726. package/dist/services/session/initial-turn-recovery-handler.d.ts +1 -0
  727. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  728. package/dist/services/session/initial-turn-recovery-handler.js +12 -2
  729. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  730. package/dist/services/session/session-client-factory.d.ts +3 -1
  731. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  732. package/dist/services/session/session-client-factory.js +2 -2
  733. package/dist/services/session/session-client-factory.js.map +1 -1
  734. package/dist/services/session/session-composition.d.ts +10 -0
  735. package/dist/services/session/session-composition.d.ts.map +1 -1
  736. package/dist/services/session/session-composition.js +130 -7
  737. package/dist/services/session/session-composition.js.map +1 -1
  738. package/dist/services/session/session-manager.d.ts +3 -0
  739. package/dist/services/session/session-manager.d.ts.map +1 -1
  740. package/dist/services/session/session-manager.js +6 -0
  741. package/dist/services/session/session-manager.js.map +1 -1
  742. package/dist/services/session/session-stream-processor.d.ts +2 -0
  743. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  744. package/dist/services/session/session-stream-processor.js +7 -1
  745. package/dist/services/session/session-stream-processor.js.map +1 -1
  746. package/dist/services/session/session-tool-tracker.d.ts +17 -6
  747. package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
  748. package/dist/services/session/session-tool-tracker.js +19 -7
  749. package/dist/services/session/session-tool-tracker.js.map +1 -1
  750. package/dist/services/session/terminal-result-collector.d.ts +2 -2
  751. package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
  752. package/dist/services/session/terminal-result-collector.js +2 -1
  753. package/dist/services/session/terminal-result-collector.js.map +1 -1
  754. package/dist/services/session/turn-attempt-factory.d.ts +1 -0
  755. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  756. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  757. package/dist/services/session/turn-coordinator.d.ts +1 -1
  758. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  759. package/dist/services/session/turn-coordinator.js +31 -6
  760. package/dist/services/session/turn-coordinator.js.map +1 -1
  761. package/dist/services/session/turn-workflow.d.ts +4 -1
  762. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  763. package/dist/services/session/turn-workflow.js +48 -7
  764. package/dist/services/session/turn-workflow.js.map +1 -1
  765. package/dist/services/settings/settings-persistence.d.ts +33 -0
  766. package/dist/services/settings/settings-persistence.d.ts.map +1 -1
  767. package/dist/services/settings/settings-persistence.js +102 -4
  768. package/dist/services/settings/settings-persistence.js.map +1 -1
  769. package/dist/services/settings/settings-schema.d.ts +122 -2
  770. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  771. package/dist/services/settings/settings-schema.js +120 -5
  772. package/dist/services/settings/settings-schema.js.map +1 -1
  773. package/dist/services/settings/settings-service.d.ts +57 -3
  774. package/dist/services/settings/settings-service.d.ts.map +1 -1
  775. package/dist/services/settings/settings-service.js +171 -28
  776. package/dist/services/settings/settings-service.js.map +1 -1
  777. package/dist/services/settings/settings-service.mock.d.ts +1 -1
  778. package/dist/services/settings/settings-service.mock.d.ts.map +1 -1
  779. package/dist/services/settings/settings-service.mock.js +3 -6
  780. package/dist/services/settings/settings-service.mock.js.map +1 -1
  781. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  782. package/dist/services/settings/settings-sources.js +18 -0
  783. package/dist/services/settings/settings-sources.js.map +1 -1
  784. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +27 -0
  785. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -0
  786. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +165 -0
  787. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -0
  788. package/dist/services/shell/background-shell-registry.d.ts +10 -0
  789. package/dist/services/shell/background-shell-registry.d.ts.map +1 -1
  790. package/dist/services/shell/background-shell-registry.js +9 -1
  791. package/dist/services/shell/background-shell-registry.js.map +1 -1
  792. package/dist/services/shell/background-shell-watches.d.ts +28 -3
  793. package/dist/services/shell/background-shell-watches.d.ts.map +1 -1
  794. package/dist/services/shell/background-shell-watches.js +41 -9
  795. package/dist/services/shell/background-shell-watches.js.map +1 -1
  796. package/dist/services/ssh-service.d.ts +81 -9
  797. package/dist/services/ssh-service.d.ts.map +1 -1
  798. package/dist/services/ssh-service.js +211 -37
  799. package/dist/services/ssh-service.js.map +1 -1
  800. package/dist/services/stream-event-processor.d.ts +2 -0
  801. package/dist/services/stream-event-processor.d.ts.map +1 -1
  802. package/dist/services/stream-event-processor.js +44 -8
  803. package/dist/services/stream-event-processor.js.map +1 -1
  804. package/dist/services/subagents/execution-runner.d.ts +1 -1
  805. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  806. package/dist/services/subagents/execution-runner.js +60 -23
  807. package/dist/services/subagents/execution-runner.js.map +1 -1
  808. package/dist/services/subagents/foreground-subagent-lease.d.ts +11 -1
  809. package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -1
  810. package/dist/services/subagents/foreground-subagent-lease.js +10 -1
  811. package/dist/services/subagents/foreground-subagent-lease.js.map +1 -1
  812. package/dist/services/subagents/mentor-runner.d.ts +1 -1
  813. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  814. package/dist/services/subagents/mentor-runner.js +121 -16
  815. package/dist/services/subagents/mentor-runner.js.map +1 -1
  816. package/dist/services/subagents/nested-runner.d.ts +11 -1
  817. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  818. package/dist/services/subagents/nested-runner.js +99 -35
  819. package/dist/services/subagents/nested-runner.js.map +1 -1
  820. package/dist/services/subagents/role-loader.d.ts +6 -0
  821. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  822. package/dist/services/subagents/role-loader.js +6 -1
  823. package/dist/services/subagents/role-loader.js.map +1 -1
  824. package/dist/services/subagents/runtime.d.ts.map +1 -1
  825. package/dist/services/subagents/runtime.js +7 -0
  826. package/dist/services/subagents/runtime.js.map +1 -1
  827. package/dist/services/subagents/subagent-async-registry.d.ts +4 -0
  828. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
  829. package/dist/services/subagents/subagent-async-registry.js +80 -16
  830. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  831. package/dist/services/subagents/subagent-manager.d.ts +1 -1
  832. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  833. package/dist/services/subagents/subagent-manager.js +4 -4
  834. package/dist/services/subagents/subagent-manager.js.map +1 -1
  835. package/dist/services/subagents/subagent-notification-store.d.ts +19 -1
  836. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  837. package/dist/services/subagents/subagent-notification-store.js +22 -0
  838. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  839. package/dist/services/subagents/subagent-run-control.d.ts +9 -1
  840. package/dist/services/subagents/subagent-run-control.d.ts.map +1 -1
  841. package/dist/services/subagents/subagent-run-control.js +12 -13
  842. package/dist/services/subagents/subagent-run-control.js.map +1 -1
  843. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  844. package/dist/services/subagents/tool-policy.js +11 -3
  845. package/dist/services/subagents/tool-policy.js.map +1 -1
  846. package/dist/services/subagents/types.d.ts +25 -2
  847. package/dist/services/subagents/types.d.ts.map +1 -1
  848. package/dist/services/subagents/types.js.map +1 -1
  849. package/dist/services/subagents/utils.d.ts +20 -1
  850. package/dist/services/subagents/utils.d.ts.map +1 -1
  851. package/dist/services/subagents/utils.js +40 -2
  852. package/dist/services/subagents/utils.js.map +1 -1
  853. package/dist/services/tool-execution-ledger.d.ts +26 -1
  854. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  855. package/dist/services/tool-execution-ledger.js +103 -33
  856. package/dist/services/tool-execution-ledger.js.map +1 -1
  857. package/dist/services/workspace/active-workspace-root.d.ts +6 -0
  858. package/dist/services/workspace/active-workspace-root.d.ts.map +1 -1
  859. package/dist/services/workspace/active-workspace-root.js +22 -0
  860. package/dist/services/workspace/active-workspace-root.js.map +1 -1
  861. package/dist/test-helpers/ink-testing.d.ts.map +1 -1
  862. package/dist/test-helpers/ink-testing.js +4 -1
  863. package/dist/test-helpers/ink-testing.js.map +1 -1
  864. package/dist/test-helpers/terminal-e2e.d.ts.map +1 -1
  865. package/dist/test-helpers/terminal-e2e.js +12 -2
  866. package/dist/test-helpers/terminal-e2e.js.map +1 -1
  867. package/dist/tools/agent/activate-skill.d.ts.map +1 -1
  868. package/dist/tools/agent/activate-skill.js +3 -2
  869. package/dist/tools/agent/activate-skill.js.map +1 -1
  870. package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
  871. package/dist/tools/agent/ask-mentor.js +7 -3
  872. package/dist/tools/agent/ask-mentor.js.map +1 -1
  873. package/dist/tools/agent/ask-user-constants.d.ts +2 -2
  874. package/dist/tools/agent/ask-user-constants.d.ts.map +1 -1
  875. package/dist/tools/agent/ask-user-constants.js +1 -1
  876. package/dist/tools/agent/ask-user-constants.js.map +1 -1
  877. package/dist/tools/agent/run-subagent-async.d.ts +2 -11
  878. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  879. package/dist/tools/agent/run-subagent-async.js +10 -2
  880. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  881. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  882. package/dist/tools/agent/run-subagent.js +15 -7
  883. package/dist/tools/agent/run-subagent.js.map +1 -1
  884. package/dist/tools/file/apply-patch.d.ts +2 -0
  885. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  886. package/dist/tools/file/apply-patch.js +64 -17
  887. package/dist/tools/file/apply-patch.js.map +1 -1
  888. package/dist/tools/file/code-context.d.ts +5 -0
  889. package/dist/tools/file/code-context.d.ts.map +1 -1
  890. package/dist/tools/file/code-context.js +20 -6
  891. package/dist/tools/file/code-context.js.map +1 -1
  892. package/dist/tools/file/create-file.d.ts.map +1 -1
  893. package/dist/tools/file/create-file.js +11 -5
  894. package/dist/tools/file/create-file.js.map +1 -1
  895. package/dist/tools/file/edit-healing.d.ts +7 -0
  896. package/dist/tools/file/edit-healing.d.ts.map +1 -1
  897. package/dist/tools/file/edit-healing.js +7 -7
  898. package/dist/tools/file/edit-healing.js.map +1 -1
  899. package/dist/tools/file/glob.d.ts +3 -0
  900. package/dist/tools/file/glob.d.ts.map +1 -1
  901. package/dist/tools/file/glob.js +10 -3
  902. package/dist/tools/file/glob.js.map +1 -1
  903. package/dist/tools/file/grep.d.ts +5 -0
  904. package/dist/tools/file/grep.d.ts.map +1 -1
  905. package/dist/tools/file/grep.js +11 -6
  906. package/dist/tools/file/grep.js.map +1 -1
  907. package/dist/tools/file/patch-healing.d.ts +31 -0
  908. package/dist/tools/file/patch-healing.d.ts.map +1 -0
  909. package/dist/tools/file/patch-healing.js +231 -0
  910. package/dist/tools/file/patch-healing.js.map +1 -0
  911. package/dist/tools/file/read-file.d.ts +5 -0
  912. package/dist/tools/file/read-file.d.ts.map +1 -1
  913. package/dist/tools/file/read-file.js +44 -17
  914. package/dist/tools/file/read-file.js.map +1 -1
  915. package/dist/tools/file/search-replace.d.ts.map +1 -1
  916. package/dist/tools/file/search-replace.js +24 -6
  917. package/dist/tools/file/search-replace.js.map +1 -1
  918. package/dist/tools/format-helpers.d.ts +6 -0
  919. package/dist/tools/format-helpers.d.ts.map +1 -1
  920. package/dist/tools/format-helpers.js +23 -0
  921. package/dist/tools/format-helpers.js.map +1 -1
  922. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  923. package/dist/tools/memory/memory-tools.js +2 -2
  924. package/dist/tools/memory/memory-tools.js.map +1 -1
  925. package/dist/tools/system/shell.d.ts +16 -1
  926. package/dist/tools/system/shell.d.ts.map +1 -1
  927. package/dist/tools/system/shell.js +91 -25
  928. package/dist/tools/system/shell.js.map +1 -1
  929. package/dist/tools/types.d.ts +9 -0
  930. package/dist/tools/types.d.ts.map +1 -1
  931. package/dist/tools/types.js.map +1 -1
  932. package/dist/tools/web/web-fetch.d.ts.map +1 -1
  933. package/dist/tools/web/web-fetch.js +12 -14
  934. package/dist/tools/web/web-fetch.js.map +1 -1
  935. package/dist/tools/web/web-search.d.ts.map +1 -1
  936. package/dist/tools/web/web-search.js +3 -2
  937. package/dist/tools/web/web-search.js.map +1 -1
  938. package/dist/types/message.d.ts +1 -1
  939. package/dist/types/message.d.ts.map +1 -1
  940. package/dist/utils/ai/provider-credentials.d.ts +1 -1
  941. package/dist/utils/ai/provider-credentials.d.ts.map +1 -1
  942. package/dist/utils/ai/provider-credentials.js +18 -2
  943. package/dist/utils/ai/provider-credentials.js.map +1 -1
  944. package/dist/utils/ai/token-usage.d.ts +3 -1
  945. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  946. package/dist/utils/ai/token-usage.js +7 -2
  947. package/dist/utils/ai/token-usage.js.map +1 -1
  948. package/dist/utils/apply-diff.d.ts.map +1 -1
  949. package/dist/utils/apply-diff.js +8 -0
  950. package/dist/utils/apply-diff.js.map +1 -1
  951. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  952. package/dist/utils/conversation/conversation-event-handler.js +73 -3
  953. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  954. package/dist/utils/error-helpers.d.ts.map +1 -1
  955. package/dist/utils/error-helpers.js +8 -0
  956. package/dist/utils/error-helpers.js.map +1 -1
  957. package/dist/utils/inject-warning-into-tool-output.d.ts +30 -0
  958. package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -1
  959. package/dist/utils/inject-warning-into-tool-output.js +39 -0
  960. package/dist/utils/inject-warning-into-tool-output.js.map +1 -1
  961. package/dist/utils/output/bound-tool-result.d.ts +42 -0
  962. package/dist/utils/output/bound-tool-result.d.ts.map +1 -0
  963. package/dist/utils/output/bound-tool-result.js +81 -0
  964. package/dist/utils/output/bound-tool-result.js.map +1 -0
  965. package/dist/utils/output/tty-osc.d.ts +1 -1
  966. package/dist/utils/output/tty-osc.js +1 -1
  967. package/dist/utils/settings-command.d.ts.map +1 -1
  968. package/dist/utils/settings-command.js +122 -8
  969. package/dist/utils/settings-command.js.map +1 -1
  970. package/dist/utils/shell/execute-shell.d.ts +8 -0
  971. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  972. package/dist/utils/shell/execute-shell.js +36 -30
  973. package/dist/utils/shell/execute-shell.js.map +1 -1
  974. package/dist/utils/shell/sandbox/sandbox-env.d.ts +1 -0
  975. package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -1
  976. package/dist/utils/shell/sandbox/sandbox-env.js +2 -0
  977. package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -1
  978. package/dist/utils/shell/sandbox/sandbox-policy.d.ts +2 -0
  979. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  980. package/dist/utils/shell/sandbox/sandbox-policy.js +1 -1
  981. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  982. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
  983. package/dist/utils/shell/sandbox/shell-sandbox-runner.js +1 -2
  984. package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
  985. package/dist/utils/shell/shell-child-registry.d.ts +11 -0
  986. package/dist/utils/shell/shell-child-registry.d.ts.map +1 -0
  987. package/dist/utils/shell/shell-child-registry.js +40 -0
  988. package/dist/utils/shell/shell-child-registry.js.map +1 -0
  989. package/dist/utils/shell/shell-output.d.ts +11 -0
  990. package/dist/utils/shell/shell-output.d.ts.map +1 -1
  991. package/dist/utils/shell/shell-output.js +24 -10
  992. package/dist/utils/shell/shell-output.js.map +1 -1
  993. package/dist/utils/shell/temp-sweep.d.ts +28 -0
  994. package/dist/utils/shell/temp-sweep.d.ts.map +1 -0
  995. package/dist/utils/shell/temp-sweep.js +140 -0
  996. package/dist/utils/shell/temp-sweep.js.map +1 -0
  997. package/dist/utils/streaming/extract-command-messages.d.ts +12 -5
  998. package/dist/utils/streaming/extract-command-messages.d.ts.map +1 -1
  999. package/dist/utils/streaming/extract-command-messages.js +29 -33
  1000. package/dist/utils/streaming/extract-command-messages.js.map +1 -1
  1001. package/dist/utils/streaming/streaming-session-factory.d.ts +8 -0
  1002. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  1003. package/dist/utils/streaming/streaming-session-factory.js +3 -0
  1004. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  1005. package/dist/utils/value-suggestions.d.ts +8 -0
  1006. package/dist/utils/value-suggestions.d.ts.map +1 -1
  1007. package/dist/utils/value-suggestions.js +71 -0
  1008. package/dist/utils/value-suggestions.js.map +1 -1
  1009. package/package.json +14 -10
  1010. package/dist/utils/output/synchronized-output.d.ts +0 -35
  1011. package/dist/utils/output/synchronized-output.d.ts.map +0 -1
  1012. package/dist/utils/output/synchronized-output.js +0 -66
  1013. package/dist/utils/output/synchronized-output.js.map +0 -1
@@ -1,9 +1,17 @@
1
- import React from 'react';
2
- import { Box, Text } from 'ink';
3
- const TASK_LABEL_LIMIT = 60;
1
+ import React, { useRef } from 'react';
2
+ import { Box, Text, useStdout } from 'ink';
3
+ import { normalizeLiveTaskRows } from './live-task-rows.js';
4
+ import { terminalTextWidth, truncateTerminalText } from './terminal-text-budget.js';
5
+ export const BACKGROUND_TASK_PANEL_NARROW_LABEL_LIMIT = 24;
6
+ export const BACKGROUND_TASK_PANEL_MEDIUM_LABEL_LIMIT = 36;
7
+ export const BACKGROUND_TASK_PANEL_WIDE_LABEL_LIMIT = 60;
4
8
  const TOOL_LABEL_LIMIT = 60;
5
9
  const NAME_LIMIT = 24;
6
- const truncate = (value, limit) => value.length > limit ? `${value.slice(0, limit - 1)}…` : value;
10
+ export const BACKGROUND_TASK_PANEL_MEDIUM_COLUMNS = 72;
11
+ export const BACKGROUND_TASK_PANEL_WIDE_COLUMNS = 104;
12
+ export const BACKGROUND_TASK_PANEL_HIGH_CONTEXT_RATIO = 0.8;
13
+ const BACKGROUND_TASK_PANEL_MIN_IDENTITY_COLUMNS = 6;
14
+ const truncate = truncateTerminalText;
7
15
  // Multi-line prompts are common for subagent tasks; only the first line is a label.
8
16
  const firstLine = (value) => value
9
17
  .split('\n')
@@ -17,11 +25,11 @@ const formatRole = (role) => {
17
25
  const isControlTask = (task) => 'id' in task;
18
26
  const formatTaskLabel = (task) => {
19
27
  if (task.kind === 'shell') {
20
- return truncate(firstLine(task.command).replaceAll(/\s+/g, ' '), TASK_LABEL_LIMIT);
28
+ return firstLine(task.command).replaceAll(/\s+/g, ' ');
21
29
  }
22
30
  const normalized = firstLine('taskPreview' in task ? task.taskPreview : task.task).replaceAll(/\s+/g, ' ');
23
31
  const label = normalized || `${formatRole(task.role)} background task`;
24
- return truncate(label, TASK_LABEL_LIMIT);
32
+ return 'name' in task && task.name ? `${truncate(task.name, NAME_LIMIT)} ${label}` : label;
25
33
  };
26
34
  const formatContextTokens = (tokens) => {
27
35
  if (tokens < 1_000)
@@ -42,7 +50,123 @@ export const formatBackgroundTaskElapsed = (elapsedMs) => {
42
50
  const seconds = totalSeconds % 60;
43
51
  return minutes > 0 ? `${minutes}m ${String(seconds).padStart(2, '0')}s` : `${seconds}s`;
44
52
  };
45
- const formatBackgroundTaskActivityAge = (now, lastActivityAt) => `last activity ${formatBackgroundTaskElapsed(now - lastActivityAt)} ago`;
53
+ const formatObservation = (task) => {
54
+ const observation = task.activity?.lastObservation;
55
+ if (!observation)
56
+ return 'No observation recorded';
57
+ switch (observation.kind) {
58
+ case 'request_dispatched':
59
+ return 'Request handed to model runtime';
60
+ case 'response_started':
61
+ return 'Response started';
62
+ case 'text_received':
63
+ return 'Text received';
64
+ case 'tool_started':
65
+ return `Tool started: ${observation.toolName}`;
66
+ case 'tool_completed': {
67
+ return observation.toolName ? `Tool completed: ${observation.toolName}` : 'Tool completed';
68
+ }
69
+ case 'retrying':
70
+ return `Retrying ${observation.attempt} of ${observation.maxRetries}`;
71
+ case 'approval_requested':
72
+ return 'Approval requested';
73
+ case 'question_asked':
74
+ return 'Question asked';
75
+ case 'shell_started':
76
+ return 'Shell started';
77
+ case 'shell_output_received':
78
+ return 'Shell output received';
79
+ case 'stop_requested':
80
+ return 'Stop requested';
81
+ case 'settled':
82
+ return 'Task settled';
83
+ }
84
+ };
85
+ const formatPhase = (task, now) => {
86
+ const elapsed = formatBackgroundTaskElapsed(now - task.startedAt);
87
+ const activity = task.activity;
88
+ if (!activity)
89
+ return `Running · ${elapsed}`;
90
+ if (activity.phase === 'waiting')
91
+ return `Awaiting ${activity.reason ?? 'provider'} response · ${elapsed}`;
92
+ if (activity.phase === 'cancelling')
93
+ return `Cancelling · ${elapsed}`;
94
+ if (activity.phase === 'settled')
95
+ return formatTerminalStatus(task);
96
+ return `Active · ${elapsed}`;
97
+ };
98
+ const formatCompactPhase = (task, now, isNarrow) => {
99
+ const activity = task.activity;
100
+ if (activity?.phase === 'settled')
101
+ return formatTerminalStatus(task);
102
+ const base = !activity
103
+ ? 'Running'
104
+ : activity.phase === 'waiting'
105
+ ? 'Waiting'
106
+ : activity.phase === 'cancelling'
107
+ ? 'Cancelling'
108
+ : 'Active';
109
+ if (isNarrow)
110
+ return base;
111
+ return `${base} · ${formatBackgroundTaskElapsed(now - task.startedAt)}`;
112
+ };
113
+ const formatCompactTerminalStatus = (task) => {
114
+ switch (task.status) {
115
+ case 'completed':
116
+ return 'Completed';
117
+ case 'failed':
118
+ return 'Failed';
119
+ case 'cancelled':
120
+ return 'Cancelled';
121
+ case 'timed_out':
122
+ return 'Timed out';
123
+ default:
124
+ return 'Running';
125
+ }
126
+ };
127
+ const formatFirstLine = ({ task, placement, columns, now, isWide, isNarrow, }) => {
128
+ const controlTask = isControlTask(task) ? task : undefined;
129
+ const badge = `[${task.kind === 'shell' ? 'Shell' : formatRole(task.role)}${placement === 'foreground' ? ' · foreground' : ''}]`;
130
+ const rawPhase = isTerminal(task)
131
+ ? isNarrow
132
+ ? formatCompactTerminalStatus(task)
133
+ : formatTerminalStatus(task)
134
+ : controlTask
135
+ ? isWide
136
+ ? formatPhase(controlTask, now)
137
+ : formatCompactPhase(controlTask, now, isNarrow)
138
+ : isNarrow
139
+ ? 'Running'
140
+ : formatLiveStatus(task, now);
141
+ const fixedColumns = 2 + terminalTextWidth(badge) + 1 + 3;
142
+ const phase = truncate(rawPhase, Math.max(1, columns - fixedColumns - BACKGROUND_TASK_PANEL_MIN_IDENTITY_COLUMNS));
143
+ // "• " + badge + " " + identity + " · " + phase. Reserve every
144
+ // mandatory cell except identity before allocating the task label.
145
+ const mandatoryColumns = fixedColumns + terminalTextWidth(phase);
146
+ const physicalBudget = Math.max(1, columns - mandatoryColumns);
147
+ const classBudget = isNarrow
148
+ ? BACKGROUND_TASK_PANEL_NARROW_LABEL_LIMIT
149
+ : isWide
150
+ ? BACKGROUND_TASK_PANEL_WIDE_LABEL_LIMIT
151
+ : BACKGROUND_TASK_PANEL_MEDIUM_LABEL_LIMIT;
152
+ return { badge, identity: truncate(formatTaskLabel(task), Math.min(physicalBudget, classBudget)), phase };
153
+ };
154
+ const SHELL_OUTPUT_PREVIEW_LIMIT = 80;
155
+ /** Last non-empty output line, for a live preview of what a running shell is producing. */
156
+ const formatShellOutputPreview = (task) => {
157
+ if (task.kind !== 'shell' || !task.output)
158
+ return undefined;
159
+ const lines = task.output.split('\n').filter((line) => line.trim());
160
+ const last = lines.at(-1);
161
+ return last ? truncate(last.trim(), SHELL_OUTPUT_PREVIEW_LIMIT) : undefined;
162
+ };
163
+ const formatLiveness = (task) => {
164
+ const liveness = task.activity?.liveness;
165
+ if (!liveness)
166
+ return '';
167
+ const age = formatBackgroundTaskElapsed(liveness.ageMs);
168
+ return liveness.state === 'quiet' ? `no activity observed for ${age}` : `${age} ago`;
169
+ };
46
170
  const formatTerminalStatus = (task) => {
47
171
  switch (task.status) {
48
172
  case 'completed':
@@ -66,60 +190,91 @@ const formatTerminalStatus = (task) => {
66
190
  };
67
191
  const isTerminal = (task) => task.status === 'completed' || task.status === 'failed' || task.status === 'timed_out' || task.status === 'cancelled';
68
192
  const formatLiveStatus = (task, now) => {
193
+ const startedAt = 'startedAt' in task && typeof task.startedAt === 'number' ? task.startedAt : now;
69
194
  if (!isControlTask(task) || !task.activity)
70
- return `Running · ${formatBackgroundTaskElapsed(now - task.startedAt)}`;
71
- const activityAge = formatBackgroundTaskActivityAge(now, task.activity.lastActivityAt);
72
- switch (task.activity.state) {
73
- case 'active':
74
- return `Active · ${formatBackgroundTaskElapsed(now - task.startedAt)} · ${activityAge}`;
75
- case 'waiting':
76
- return `Waiting for ${task.activity.reason ?? 'provider'} · ${activityAge}`;
77
- case 'quiet':
78
- return `Quiet · no observed progress · ${activityAge} · still running`;
79
- case 'cancelling':
80
- return `Cancelling · ${activityAge}`;
81
- case 'settled':
82
- return formatTerminalStatus(task);
83
- }
195
+ return `Running · ${formatBackgroundTaskElapsed(now - startedAt)}`;
196
+ return `${formatPhase(task, now)} · ${formatLiveness(task)}`;
84
197
  };
85
- const BackgroundTasksPanel = ({ tasks, now }) => {
86
- if (tasks.length === 0)
198
+ /** How long a settled task stays on the panel after it finishes. */
199
+ export const BACKGROUND_TASKS_PANEL_GRACE_MS = 5_000;
200
+ const BackgroundTasksPanel = ({ tasks, now, columns: testColumns }) => {
201
+ const { stdout } = useStdout();
202
+ const columns = testColumns ?? stdout.columns ?? BACKGROUND_TASK_PANEL_MEDIUM_COLUMNS;
203
+ const rows = normalizeLiveTaskRows(tasks);
204
+ // The registry keeps terminal entries around indefinitely, so each settled row
205
+ // lingers briefly — long enough to read its outcome — then drops off on its own.
206
+ const settledAtRef = useRef(new Map());
207
+ const settledAt = settledAtRef.current;
208
+ const liveKeys = new Set(rows.map((row) => row.key));
209
+ for (const key of settledAt.keys())
210
+ if (!liveKeys.has(key))
211
+ settledAt.delete(key);
212
+ const visible = rows.filter((row) => {
213
+ if (!isTerminal(row.task)) {
214
+ settledAt.delete(row.key);
215
+ return true;
216
+ }
217
+ const since = settledAt.get(row.key) ?? now;
218
+ settledAt.set(row.key, since);
219
+ return now - since < BACKGROUND_TASKS_PANEL_GRACE_MS;
220
+ });
221
+ if (visible.length === 0)
87
222
  return null;
88
- const activeCount = tasks.filter((task) => !isTerminal(task)).length;
223
+ const activeCount = visible.filter((row) => !isTerminal(row.task)).length;
89
224
  return (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
90
225
  React.createElement(Text, { color: "#94a3b8" },
91
- "Background tasks \u00B7 ",
226
+ "Tasks \u00B7 ",
92
227
  activeCount,
93
228
  " active \u00B7 Ctrl+G manage"),
94
- tasks.map((task) => (React.createElement(Box, { key: task.kind === 'shell' ? ('id' in task ? task.id : task.jobId) : 'id' in task ? task.id : task.runId, flexDirection: "column" },
95
- React.createElement(Box, { flexDirection: "row" },
96
- React.createElement(Box, { flexGrow: 1, flexShrink: 1, minWidth: 0 },
97
- React.createElement(Text, { wrap: "truncate-end" },
98
- React.createElement(Text, { color: "#64748b" }, "\u2022 "),
99
- React.createElement(Text, { color: "#a5b4fc" },
100
- "[",
101
- task.kind === 'shell' ? 'Shell' : formatRole(task.role),
102
- "]"),
103
- task.kind !== 'shell' && task.name && React.createElement(Text, { color: "#c4b5fd" },
104
- " ",
105
- truncate(task.name, NAME_LIMIT)),
106
- React.createElement(Text, null,
229
+ visible.map(({ key, placement, task }) => {
230
+ const controlTask = isControlTask(task) ? task : undefined;
231
+ const subagentTask = controlTask?.kind === 'subagent' ? controlTask : undefined;
232
+ const context = subagentTask?.latestUsage?.prompt_tokens;
233
+ const ratio = context !== undefined && subagentTask?.model?.contextWindow
234
+ ? context / subagentTask.model.contextWindow
235
+ : undefined;
236
+ const showHighContext = columns >= BACKGROUND_TASK_PANEL_WIDE_COLUMNS &&
237
+ ratio !== undefined &&
238
+ ratio >= BACKGROUND_TASK_PANEL_HIGH_CONTEXT_RATIO;
239
+ const isNarrow = columns < BACKGROUND_TASK_PANEL_MEDIUM_COLUMNS;
240
+ const isWide = columns >= BACKGROUND_TASK_PANEL_WIDE_COLUMNS;
241
+ const firstLine = formatFirstLine({ task, placement, columns, now, isWide, isNarrow });
242
+ const isStalled = controlTask?.activity?.liveness.state === 'quiet';
243
+ const toolCallCount = subagentTask ? Object.values(subagentTask.toolCounts).reduce((sum, n) => sum + n, 0) : 0;
244
+ const modelLabel = subagentTask?.model?.id;
245
+ const shellOutputPreview = controlTask ? formatShellOutputPreview(controlTask) : undefined;
246
+ return (React.createElement(Box, { key: key, flexDirection: "column" },
247
+ React.createElement(Text, null,
248
+ React.createElement(Text, { color: "#64748b" }, "\u2022 "),
249
+ React.createElement(Text, { color: "#a5b4fc" }, firstLine.badge),
250
+ " ",
251
+ React.createElement(Text, null, firstLine.identity),
252
+ " \u00B7",
253
+ ' ',
254
+ React.createElement(Text, null, firstLine.phase)),
255
+ !isNarrow && controlTask && !isTerminal(task) && (React.createElement(Text, { color: "#94a3b8", wrap: "truncate-end" },
256
+ ' ',
257
+ shellOutputPreview ? `"${shellOutputPreview}"` : formatObservation(controlTask),
258
+ isWide ? (React.createElement(React.Fragment, null,
259
+ ' · ',
260
+ React.createElement(Text, { color: isStalled ? '#f59e0b' : undefined }, formatLiveness(controlTask)))) : (''),
261
+ isWide && toolCallCount > 0 ? ` · ${toolCallCount} tool${toolCallCount === 1 ? '' : 's'}` : '',
262
+ isWide && modelLabel ? ` · ${modelLabel}` : '',
263
+ showHighContext
264
+ ? ` · Ctx ${formatContextTokens(context)} / ${formatContextTokens(subagentTask.model.contextWindow)} (${(ratio * 100).toFixed(1)}%)`
265
+ : '')),
266
+ task.kind !== 'shell' &&
267
+ !isControlTask(task) &&
268
+ task.status === 'running' &&
269
+ 'lastTool' in task &&
270
+ task.lastTool && (React.createElement(Box, { flexDirection: "row" },
271
+ React.createElement(Text, { color: "#475569" }, ' └ '),
272
+ React.createElement(Box, { flexGrow: 1, flexShrink: 1, minWidth: 0 },
273
+ React.createElement(Text, { color: "#64748b", wrap: "truncate-end" },
274
+ TOOL_STATE_MARKER[task.lastTool.state],
107
275
  " ",
108
- formatTaskLabel(task)))),
109
- React.createElement(Box, { flexShrink: 0 },
110
- React.createElement(Text, { color: "#94a3b8", wrap: "truncate-end" },
111
- ' ',
112
- !isTerminal(task) ? formatLiveStatus(task, now) : formatTerminalStatus(task),
113
- task.kind !== 'shell' && !isControlTask(task) && task.usage?.prompt_tokens != null
114
- ? ` · Ctx ${formatContextTokens(task.usage.prompt_tokens)}`
115
- : ''))),
116
- task.kind !== 'shell' && !isControlTask(task) && task.status === 'running' && task.lastTool && (React.createElement(Box, { flexDirection: "row" },
117
- React.createElement(Text, { color: "#475569" }, ' └ '),
118
- React.createElement(Box, { flexGrow: 1, flexShrink: 1, minWidth: 0 },
119
- React.createElement(Text, { color: "#64748b", wrap: "truncate-end" },
120
- TOOL_STATE_MARKER[task.lastTool.state],
121
- " ",
122
- formatToolLabel(task.lastTool))))))))));
276
+ formatToolLabel(task.lastTool)))))));
277
+ })));
123
278
  };
124
279
  export default BackgroundTasksPanel;
125
280
  //# sourceMappingURL=BackgroundTasksPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackgroundTasksPanel.js","sourceRoot":"","sources":["../../../source/components/layout/BackgroundTasksPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BackgroundTasksPanel.js","sourceRoot":"","sources":["../../../source/components/layout/BackgroundTasksPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { FC } from 'react';
2
+ import type { PendingModeSwitch } from '../../commands/mode-commands.js';
2
3
  import type { HandoffState } from '../../hooks/use-handoff-flow.js';
3
4
  import type { SlashCommand } from '../../slash-commands.js';
4
5
  import type { SettingsService } from '../../services/settings/settings-service.js';
@@ -6,7 +7,9 @@ import type { LoggingService } from '../../services/logging/logging-service.js';
6
7
  import type { HistoryService } from '../../services/history-service.js';
7
8
  import type { SSHInfo } from '../../services/shell/shell-interaction-session.js';
8
9
  import type { NormalizedUsage } from '../../utils/ai/token-usage.js';
10
+ import type { RunBudgetEvent } from '../../services/agent-runtime/run-budget.js';
9
11
  import type { CodexRateLimitInfo } from '../../services/conversation/conversation-events.js';
12
+ import type { GrokCreditUsage } from '../../providers/grok-credit-usage.js';
10
13
  import type { PendingApproval } from '../../contracts/conversation.js';
11
14
  import type { UserTurn } from '../../types/user-turn.js';
12
15
  import type { SkillInfo, SkillsService } from '../../services/skills/skills-service.js';
@@ -36,6 +39,8 @@ export type BottomAreaProps = {
36
39
  isShellMode?: boolean;
37
40
  lastUsage?: NormalizedUsage | null;
38
41
  lastCodexRateLimit?: CodexRateLimitInfo | null;
42
+ runBudgetNotice?: RunBudgetEvent | null;
43
+ grokCreditUsage?: GrokCreditUsage | null;
39
44
  onSubmit: (value: UserTurn, options?: {
40
45
  busyMode?: 'steer' | 'follow_up';
41
46
  }) => Promise<void>;
@@ -47,7 +52,7 @@ export type BottomAreaProps = {
47
52
  onApprove: (answer?: string) => void;
48
53
  onReject: () => void;
49
54
  onCancel?: () => void;
50
- onTypeAnswer?: () => void;
55
+ onTypeAnswer?: (initialAnswer?: string) => void;
51
56
  onNavigateQuestion?: (direction: 'prev' | 'next') => void;
52
57
  sshInfo?: SSHInfo;
53
58
  onSettingChange?: (key: string, value: any) => void;
@@ -58,6 +63,9 @@ export type BottomAreaProps = {
58
63
  onHandoffCancel?: () => void;
59
64
  onStandardModeConfirm?: () => void;
60
65
  onStandardModeDecline?: () => void;
66
+ pendingModeSwitch?: PendingModeSwitch | null;
67
+ onModeSwitchConfirm?: () => void;
68
+ onModeSwitchDecline?: () => void;
61
69
  largeUncachedWarning?: import('../../services/large-uncached-input-guard.js').LargeUncachedInputDecision | null;
62
70
  pendingLargeUncachedTurn?: UserTurn | null;
63
71
  pendingLargeUncachedTokens?: number;
@@ -92,6 +100,8 @@ export type BottomAreaProps = {
92
100
  getForegroundTaskTransferCandidate?: BackgroundTaskControlPort['getForegroundTransferCandidate'];
93
101
  listForegroundTaskTransferCandidates?: BackgroundTaskControlPort['listForegroundTransferCandidates'];
94
102
  moveForegroundTaskToBackground?: BackgroundTaskControlPort['moveForegroundToBackground'];
103
+ backgroundTaskManagerOpen: boolean;
104
+ onBackgroundTaskManagerOpenChange: (open: boolean) => void;
95
105
  backgroundApprovalPendingCount?: number;
96
106
  firstRunSetup?: {
97
107
  active: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../../source/components/layout/BottomArea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../../source/components/layout/BottomArea.tsx"],"names":[],"mappings":"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"}
@@ -5,18 +5,19 @@ import ApplicationInputSurface from '../input/ApplicationInputSurface.js';
5
5
  import StatusBar from './StatusBar.js';
6
6
  import HandoffConfirmationPrompt from '../prompt/HandoffConfirmationPrompt.js';
7
7
  import StandardModeConfirmationPrompt from '../prompt/StandardModeConfirmationPrompt.js';
8
+ import ModeSwitchConfirmationPrompt from '../prompt/ModeSwitchConfirmationPrompt.js';
8
9
  import LargeUncachedConfirmationPrompt from '../prompt/LargeUncachedConfirmationPrompt.js';
9
10
  import InputSurgeConfirmationPrompt from '../prompt/InputSurgeConfirmationPrompt.js';
10
11
  import QueuePausedPrompt from '../prompt/QueuePausedPrompt.js';
11
12
  import BackgroundTasksPanel from './BackgroundTasksPanel.js';
12
13
  import BackgroundTaskManager from './BackgroundTaskManager.js';
14
+ import { mergeLiveTaskRows } from './live-task-rows.js';
13
15
  import { deriveInputOwner } from '../../lib/input-owner.js';
14
16
  import { useInputState } from '../../context/InputContext.js';
15
17
  import FirstRunSetupPrompt from '../input/FirstRunSetupPrompt.js';
16
- const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, waitingForAskUserAnswer = false, currentAskUserQuestionIndex = 0, isProcessing, interruptConfirmVisible = false, thinkingStartedAt = null, toolCallStreamingInfo = null, isShellMode = false, onSubmit, onRejectionReasonInputReady, slashCommands, settingsService, loggingService, historyService, onApprove, onReject, onCancel, onTypeAnswer, onNavigateQuestion, sshInfo, lastUsage, lastCodexRateLimit, onSettingChange, onSystemMessage, handoffState, onHandoffConfirm, onHandoffDecline, onHandoffCancel, onStandardModeConfirm, onStandardModeDecline, largeUncachedWarning, pendingLargeUncachedTurn, pendingLargeUncachedTokens = 0, onLargeUncachedApprove, onLargeUncachedDecline, pendingSurgeTurn, pendingSurgeReason = '', onSurgeApprove, onSurgeDecline, skillsService, staticCommitBlocker = null, queuePaused = false, queueLength = 0, costSummary, queuePauseReason, onResumeQueue, onDiscardQueue, pendingQueuedMessages = [], onRetractQueuedMessage, onEditQueuedMessage, backgroundSubagentTasks = [], backgroundSubagentTasksNow = Date.now(), backgroundTaskDetails, backgroundTaskDetailsNow = backgroundSubagentTasksNow, listBackgroundTaskDetails, getBackgroundTaskDetails, stopBackgroundTask, getForegroundTaskTransferCandidate, listForegroundTaskTransferCandidates, moveForegroundTaskToBackground, backgroundApprovalPendingCount = 0, firstRunSetup, onProviderSelected, onUnavailableModelSelected, onSkillSelected, onCopySelection, }) => {
18
+ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, waitingForAskUserAnswer = false, currentAskUserQuestionIndex = 0, isProcessing, interruptConfirmVisible = false, thinkingStartedAt = null, toolCallStreamingInfo = null, isShellMode = false, onSubmit, onRejectionReasonInputReady, slashCommands, settingsService, loggingService, historyService, onApprove, onReject, onCancel, onTypeAnswer, onNavigateQuestion, sshInfo, lastUsage, lastCodexRateLimit, runBudgetNotice, grokCreditUsage, onSettingChange, onSystemMessage, handoffState, onHandoffConfirm, onHandoffDecline, onHandoffCancel, onStandardModeConfirm, onStandardModeDecline, pendingModeSwitch, onModeSwitchConfirm, onModeSwitchDecline, largeUncachedWarning, pendingLargeUncachedTurn, pendingLargeUncachedTokens = 0, onLargeUncachedApprove, onLargeUncachedDecline, pendingSurgeTurn, pendingSurgeReason = '', onSurgeApprove, onSurgeDecline, skillsService, staticCommitBlocker = null, queuePaused = false, queueLength = 0, costSummary, queuePauseReason, onResumeQueue, onDiscardQueue, pendingQueuedMessages = [], onRetractQueuedMessage, onEditQueuedMessage, backgroundSubagentTasks = [], backgroundSubagentTasksNow = Date.now(), backgroundTaskDetails, backgroundTaskDetailsNow = backgroundSubagentTasksNow, listBackgroundTaskDetails, getBackgroundTaskDetails, stopBackgroundTask, getForegroundTaskTransferCandidate, listForegroundTaskTransferCandidates, moveForegroundTaskToBackground, backgroundTaskManagerOpen, onBackgroundTaskManagerOpenChange, backgroundApprovalPendingCount = 0, firstRunSetup, onProviderSelected, onUnavailableModelSelected, onSkillSelected, onCopySelection, }) => {
17
19
  const { controller } = useInputState();
18
20
  const [dotCount, setDotCount] = useState(1);
19
- const [backgroundTaskManagerOpen, setBackgroundTaskManagerOpen] = useState(false);
20
21
  const [thinkingElapsedSeconds, setThinkingElapsedSeconds] = useState(() => thinkingStartedAt == null ? 0 : Math.max(0, Math.floor((Date.now() - thinkingStartedAt) / 1000)));
21
22
  useEffect(() => {
22
23
  if (!isProcessing) {
@@ -43,11 +44,12 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
43
44
  return () => clearInterval(interval);
44
45
  }, [thinkingStartedAt]);
45
46
  // `inputOwner` is the single source of truth for which surface owns keyboard
46
- // input, derived from the same state that drives rendering. It mirrors the
47
- // mutual-exclusivity chain below so "what is rendered" and "who owns input"
48
- // stay in sync. See source/lib/input-owner.ts.
47
+ // input. Most prompt rendering follows it, but the ask_user prompt remains
48
+ // visible as context while its custom-answer composer owns input. See
49
+ // source/lib/input-owner.ts.
49
50
  const inputOwner = deriveInputOwner({
50
51
  handoffStage: handoffState?.stage ?? null,
52
+ pendingModeSwitch,
51
53
  pendingSurgeTurn,
52
54
  pendingLargeUncachedTurn,
53
55
  waitingForApproval,
@@ -62,28 +64,40 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
62
64
  });
63
65
  const showHandoffConfirm = inputOwner.kind === 'handoff-confirm';
64
66
  const showStandardModeConfirm = inputOwner.kind === 'standard-mode-confirm';
67
+ const showModeSwitchConfirm = inputOwner.kind === 'mode-switch-confirm';
65
68
  const showSurgePrompt = inputOwner.kind === 'input-surge';
66
69
  const showLargeUncachedPrompt = inputOwner.kind === 'large-uncached';
67
- const showApprovalPrompt = inputOwner.kind === 'approval';
70
+ // Ask-user answers are typed in the composer, so inputOwner intentionally
71
+ // becomes `input`; keep the question rendered as context while that happens.
72
+ const showApprovalPrompt = inputOwner.kind === 'approval' || (waitingForAskUserAnswer && pendingApproval?.toolName === 'ask_user');
68
73
  const showQueuePausedPrompt = inputOwner.kind === 'queue-paused';
69
74
  const showBackgroundTaskManager = inputOwner.kind === 'background-tasks';
70
75
  const foregroundTransferCandidate = getForegroundTaskTransferCandidate?.() ?? null;
76
+ // A higher-priority prompt replaces this branch and unmounts the manager.
77
+ // Close the lifted owner state with it so reopening the branch cannot leave
78
+ // an empty manager with its previous local task snapshot gone.
71
79
  useEffect(() => {
72
80
  if (backgroundTaskManagerOpen &&
73
- (showHandoffConfirm || showStandardModeConfirm || showSurgePrompt || showLargeUncachedPrompt)) {
74
- setBackgroundTaskManagerOpen(false);
81
+ (showHandoffConfirm ||
82
+ showStandardModeConfirm ||
83
+ showModeSwitchConfirm ||
84
+ showSurgePrompt ||
85
+ showLargeUncachedPrompt)) {
86
+ onBackgroundTaskManagerOpenChange(false);
75
87
  }
76
88
  }, [
77
89
  backgroundTaskManagerOpen,
90
+ onBackgroundTaskManagerOpenChange,
78
91
  showHandoffConfirm,
79
92
  showLargeUncachedPrompt,
93
+ showModeSwitchConfirm,
80
94
  showStandardModeConfirm,
81
95
  showSurgePrompt,
82
96
  ]);
83
97
  return (React.createElement(Box, { flexDirection: "column", width: "100%" },
84
98
  React.createElement(Box, { flexDirection: "column", marginTop: 1 },
85
99
  firstRunSetup?.active && firstRunSetup.phase && (React.createElement(FirstRunSetupPrompt, { phase: firstRunSetup.phase, provider: firstRunSetup.provider })),
86
- showHandoffConfirm ? (React.createElement(HandoffConfirmationPrompt, { onConfirm: onHandoffConfirm || (() => { }), onDecline: onHandoffDecline || (() => { }), onCancel: onHandoffCancel || (() => { }) })) : showStandardModeConfirm ? (React.createElement(StandardModeConfirmationPrompt, { onConfirm: onStandardModeConfirm || (() => { }), onDecline: onStandardModeDecline || (() => { }), onCancel: onHandoffCancel || (() => { }) })) : showSurgePrompt ? (React.createElement(InputSurgeConfirmationPrompt, { reason: pendingSurgeReason, onConfirm: onSurgeApprove || (() => { }), onDecline: onSurgeDecline || (() => { }) })) : showLargeUncachedPrompt ? (React.createElement(LargeUncachedConfirmationPrompt, { usage: lastUsage, onConfirm: onLargeUncachedApprove || (() => { }), onDecline: onLargeUncachedDecline || (() => { }) })) : (React.createElement(Box, { flexDirection: "column" },
100
+ showHandoffConfirm ? (React.createElement(HandoffConfirmationPrompt, { onConfirm: onHandoffConfirm || (() => { }), onDecline: onHandoffDecline || (() => { }), onCancel: onHandoffCancel || (() => { }) })) : showStandardModeConfirm ? (React.createElement(StandardModeConfirmationPrompt, { onConfirm: onStandardModeConfirm || (() => { }), onDecline: onStandardModeDecline || (() => { }), onCancel: onHandoffCancel || (() => { }) })) : showModeSwitchConfirm && pendingModeSwitch ? (React.createElement(ModeSwitchConfirmationPrompt, { modeLabel: pendingModeSwitch.modeLabel, targetValue: pendingModeSwitch.targetValue ?? true, onConfirm: onModeSwitchConfirm || (() => { }), onDecline: onModeSwitchDecline || (() => { }), onCancel: onModeSwitchDecline || (() => { }) })) : showSurgePrompt ? (React.createElement(InputSurgeConfirmationPrompt, { reason: pendingSurgeReason, onConfirm: onSurgeApprove || (() => { }), onDecline: onSurgeDecline || (() => { }) })) : showLargeUncachedPrompt ? (React.createElement(LargeUncachedConfirmationPrompt, { usage: lastUsage, onConfirm: onLargeUncachedApprove || (() => { }), onDecline: onLargeUncachedDecline || (() => { }) })) : (React.createElement(Box, { flexDirection: "column" },
87
101
  showApprovalPrompt && pendingApproval && (React.createElement(Box, { flexDirection: "column" },
88
102
  backgroundApprovalPendingCount > 1 && (React.createElement(Text, { color: "#f59e0b" },
89
103
  "Background approval \u00B7 ",
@@ -104,10 +118,13 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
104
118
  isProcessing && !toolCallStreamingInfo && thinkingStartedAt == null && (React.createElement(Text, { color: "#64748b" },
105
119
  "processing",
106
120
  '.'.repeat(dotCount))),
107
- foregroundTransferCandidate && React.createElement(Text, { color: "#64748b" }, "Foreground shell running \u00B7 Ctrl+G manage"),
108
121
  interruptConfirmVisible && React.createElement(Text, { color: "#f59e0b" }, "Press ESC again to interrupt"),
109
- React.createElement(BackgroundTasksPanel, { tasks: backgroundTaskDetails ?? backgroundSubagentTasks, now: backgroundTaskDetails ? backgroundTaskDetailsNow : backgroundSubagentTasksNow }),
110
- listBackgroundTaskDetails && getBackgroundTaskDetails && stopBackgroundTask && (React.createElement(BackgroundTaskManager, { enabled: inputOwner.kind === 'input' || showBackgroundTaskManager, listDetails: listBackgroundTaskDetails, getDetails: getBackgroundTaskDetails, requestStop: stopBackgroundTask, getForegroundTransferCandidate: getForegroundTaskTransferCandidate, listForegroundTransferCandidates: listForegroundTaskTransferCandidates, moveForegroundToBackground: moveForegroundTaskToBackground, onOpenChange: setBackgroundTaskManagerOpen })),
122
+ React.createElement(BackgroundTasksPanel, { tasks: mergeLiveTaskRows({
123
+ foreground: listForegroundTaskTransferCandidates?.() ??
124
+ (foregroundTransferCandidate ? [foregroundTransferCandidate] : []),
125
+ background: backgroundTaskDetails ?? backgroundSubagentTasks,
126
+ }), now: backgroundTaskDetails ? backgroundTaskDetailsNow : backgroundSubagentTasksNow }),
127
+ listBackgroundTaskDetails && getBackgroundTaskDetails && stopBackgroundTask && (React.createElement(BackgroundTaskManager, { enabled: inputOwner.kind === 'input' || showBackgroundTaskManager, open: backgroundTaskManagerOpen, listDetails: listBackgroundTaskDetails, getDetails: getBackgroundTaskDetails, requestStop: stopBackgroundTask, getForegroundTransferCandidate: getForegroundTaskTransferCandidate, listForegroundTransferCandidates: listForegroundTaskTransferCandidates, moveForegroundToBackground: moveForegroundTaskToBackground, onOpenChange: onBackgroundTaskManagerOpenChange })),
111
128
  showQueuePausedPrompt && (React.createElement(QueuePausedPrompt, { queueLength: queueLength, pauseReason: queuePauseReason, onResume: onResumeQueue || (() => { }), onDiscard: onDiscardQueue || (() => { }) })))),
112
129
  React.createElement(ApplicationInputSurface, { enabled: inputOwner.kind === 'input' || inputOwner.kind === 'menu', onSubmit: onSubmit, onRejectionReasonInputReady: onRejectionReasonInputReady, slashCommands: slashCommands, waitingForRejectionReason: waitingForRejectionReason, isShellMode: isShellMode, settingsService: settingsService, loggingService: loggingService, historyService: historyService, onSettingChange: onSettingChange, onSystemMessage: onSystemMessage, skillsService: skillsService, turnInFlight: isProcessing, pendingQueuedMessages: pendingQueuedMessages, onRetractQueuedMessage: onRetractQueuedMessage, onEditQueuedMessage: onEditQueuedMessage, onProviderSelected: onProviderSelected, onUnavailableModelSelected: onUnavailableModelSelected, onSkillSelected: onSkillSelected, onCopySelection: onCopySelection, promptLabel: waitingForAskUserAnswer
113
130
  ? 'Answer: '
@@ -118,7 +135,7 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
118
135
  : handoffState?.stage === 'selecting_effort'
119
136
  ? 'Select reasoning effort level: '
120
137
  : undefined, allowEmptySubmit: handoffState?.stage === 'entering_message' || waitingForAskUserAnswer })),
121
- React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage, lastCodexRateLimit: lastCodexRateLimit, largeUncachedWarning: largeUncachedWarning, hasPendingConfirmation: (pendingLargeUncachedTurn !== null && pendingLargeUncachedTokens > 0) || pendingSurgeTurn !== null, pendingLargeUncachedTokens: pendingLargeUncachedTokens, staticCommitBlocker: staticCommitBlocker, queueLength: queueLength, costSummary: costSummary })));
138
+ React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage, lastCodexRateLimit: lastCodexRateLimit, runBudgetNotice: runBudgetNotice, grokCreditUsage: grokCreditUsage, largeUncachedWarning: largeUncachedWarning, hasPendingConfirmation: (pendingLargeUncachedTurn !== null && pendingLargeUncachedTokens > 0) || pendingSurgeTurn !== null, pendingLargeUncachedTokens: pendingLargeUncachedTokens, staticCommitBlocker: staticCommitBlocker, queueLength: queueLength, costSummary: costSummary })));
122
139
  };
123
140
  export default BottomArea;
124
141
  //# sourceMappingURL=BottomArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../../source/components/layout/BottomArea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../../source/components/layout/BottomArea.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { FC } from 'react';
2
+ import type { GrokCreditUsage } from '../../providers/grok-credit-usage.js';
2
3
  import type { SettingsService } from '../../services/settings/settings-service.js';
3
4
  import type { SSHInfo } from '../../services/shell/shell-interaction-session.js';
5
+ import type { RunBudgetEvent } from '../../services/agent-runtime/run-budget.js';
4
6
  import { type NormalizedUsage } from '../../utils/ai/token-usage.js';
5
7
  import type { CodexRateLimitInfo } from '../../services/conversation/conversation-events.js';
6
8
  import type { StaticCommitBlocker } from '../message/MessageList.js';
@@ -11,6 +13,7 @@ interface StatusBarProps {
11
13
  sshInfo?: SSHInfo;
12
14
  lastUsage?: NormalizedUsage | null;
13
15
  lastCodexRateLimit?: CodexRateLimitInfo | null;
16
+ grokCreditUsage?: GrokCreditUsage | null;
14
17
  largeUncachedWarning?: {
15
18
  estimatedTokens: number;
16
19
  } | null;
@@ -19,6 +22,8 @@ interface StatusBarProps {
19
22
  staticCommitBlocker?: StaticCommitBlocker | null;
20
23
  queueLength?: number;
21
24
  costSummary?: SessionCostSummary | null;
25
+ /** Latest run-budget evidence that did not stop the run (warn mode). */
26
+ runBudgetNotice?: RunBudgetEvent | null;
22
27
  }
23
28
  declare const StatusBar: FC<StatusBarProps>;
24
29
  export default StatusBar;
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../source/components/layout/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAwB,MAAM,oDAAoD,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAiB7F,UAAU,cAAc;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,oBAAoB,CAAC,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA+QjC,CAAC;eAEa,SAAS"}
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../source/components/layout/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAwB,MAAM,oDAAoD,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAiB7F,UAAU,cAAc;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,oBAAoB,CAAC,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,wEAAwE;IACxE,eAAe,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAwUjC,CAAC;eAEa,SAAS"}