@qduc/term2 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/dist/agent.d.ts +9 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +139 -68
  4. package/dist/agent.js.map +1 -1
  5. package/dist/agent.test.js +179 -16
  6. package/dist/agent.test.js.map +1 -1
  7. package/dist/app.d.ts +16 -3
  8. package/dist/app.d.ts.map +1 -1
  9. package/dist/app.js +186 -23
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.large-uncached-warning.test.d.ts +2 -0
  12. package/dist/app.large-uncached-warning.test.d.ts.map +1 -0
  13. package/dist/app.large-uncached-warning.test.js +15 -0
  14. package/dist/app.large-uncached-warning.test.js.map +1 -0
  15. package/dist/app.startup-banner.test.js +3 -19
  16. package/dist/app.startup-banner.test.js.map +1 -1
  17. package/dist/cli.js +170 -71
  18. package/dist/cli.js.map +1 -1
  19. package/dist/components/Banner.d.ts.map +1 -1
  20. package/dist/components/Banner.js +35 -17
  21. package/dist/components/Banner.js.map +1 -1
  22. package/dist/components/BottomArea.d.ts +7 -1
  23. package/dist/components/BottomArea.d.ts.map +1 -1
  24. package/dist/components/BottomArea.js +8 -6
  25. package/dist/components/BottomArea.js.map +1 -1
  26. package/dist/components/BottomArea.test.js +14 -1
  27. package/dist/components/BottomArea.test.js.map +1 -1
  28. package/dist/components/CommandMessage.d.ts.map +1 -1
  29. package/dist/components/CommandMessage.js +31 -1
  30. package/dist/components/CommandMessage.js.map +1 -1
  31. package/dist/components/CommandMessage.test.js +150 -31
  32. package/dist/components/CommandMessage.test.js.map +1 -1
  33. package/dist/components/Common/MenuContainer.d.ts +20 -0
  34. package/dist/components/Common/MenuContainer.d.ts.map +1 -0
  35. package/dist/components/Common/MenuContainer.js +52 -0
  36. package/dist/components/Common/MenuContainer.js.map +1 -0
  37. package/dist/components/Common/ScrollableTabBar.d.ts +26 -0
  38. package/dist/components/Common/ScrollableTabBar.d.ts.map +1 -0
  39. package/dist/components/Common/ScrollableTabBar.js +26 -0
  40. package/dist/components/Common/ScrollableTabBar.js.map +1 -0
  41. package/dist/components/Common/compute-visible-tabs.d.ts +16 -0
  42. package/dist/components/Common/compute-visible-tabs.d.ts.map +1 -0
  43. package/dist/components/Common/compute-visible-tabs.js +53 -0
  44. package/dist/components/Common/compute-visible-tabs.js.map +1 -0
  45. package/dist/components/Common/compute-visible-tabs.test.d.ts +2 -0
  46. package/dist/components/Common/compute-visible-tabs.test.d.ts.map +1 -0
  47. package/dist/components/Common/compute-visible-tabs.test.js +97 -0
  48. package/dist/components/Common/compute-visible-tabs.test.js.map +1 -0
  49. package/dist/components/HandoffConfirmationPrompt.d.ts +9 -0
  50. package/dist/components/HandoffConfirmationPrompt.d.ts.map +1 -0
  51. package/dist/components/HandoffConfirmationPrompt.js +38 -0
  52. package/dist/components/HandoffConfirmationPrompt.js.map +1 -0
  53. package/dist/components/HandoffConfirmationPrompt.test.d.ts +2 -0
  54. package/dist/components/HandoffConfirmationPrompt.test.d.ts.map +1 -0
  55. package/dist/components/HandoffConfirmationPrompt.test.js +12 -0
  56. package/dist/components/HandoffConfirmationPrompt.test.js.map +1 -0
  57. package/dist/components/Input/PopupManager.d.ts +5 -1
  58. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  59. package/dist/components/Input/PopupManager.js +2 -2
  60. package/dist/components/Input/PopupManager.js.map +1 -1
  61. package/dist/components/Input/popup-key-navigation.js +2 -2
  62. package/dist/components/Input/popup-key-navigation.js.map +1 -1
  63. package/dist/components/Input/popup-key-navigation.test.js +5 -3
  64. package/dist/components/Input/popup-key-navigation.test.js.map +1 -1
  65. package/dist/components/Input/popup-props.d.ts.map +1 -1
  66. package/dist/components/Input/popup-props.js +4 -0
  67. package/dist/components/Input/popup-props.js.map +1 -1
  68. package/dist/components/Input/popup-props.test.d.ts +2 -0
  69. package/dist/components/Input/popup-props.test.d.ts.map +1 -0
  70. package/dist/components/Input/popup-props.test.js +70 -0
  71. package/dist/components/Input/popup-props.test.js.map +1 -0
  72. package/dist/components/InputBox.d.ts +0 -1
  73. package/dist/components/InputBox.d.ts.map +1 -1
  74. package/dist/components/InputBox.js +66 -14
  75. package/dist/components/InputBox.js.map +1 -1
  76. package/dist/components/InputBox.test.js +192 -12
  77. package/dist/components/InputBox.test.js.map +1 -1
  78. package/dist/components/MessageList.d.ts +1 -0
  79. package/dist/components/MessageList.d.ts.map +1 -1
  80. package/dist/components/MessageList.js.map +1 -1
  81. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  82. package/dist/components/ModelSelectionMenu.debug.test.d.ts +2 -0
  83. package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +1 -0
  84. package/dist/components/ModelSelectionMenu.debug.test.js.map +1 -0
  85. package/dist/components/ModelSelectionMenu.js +29 -125
  86. package/dist/components/ModelSelectionMenu.js.map +1 -1
  87. package/dist/components/ModelSelectionMenu.test.js +9 -5
  88. package/dist/components/ModelSelectionMenu.test.js.map +1 -1
  89. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  90. package/dist/components/PathSelectionMenu.js +15 -55
  91. package/dist/components/PathSelectionMenu.js.map +1 -1
  92. package/dist/components/SettingsSelectionMenu.d.ts +4 -1
  93. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  94. package/dist/components/SettingsSelectionMenu.js +48 -104
  95. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  96. package/dist/components/SettingsSelectionMenu.scroll.test.js +140 -0
  97. package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -1
  98. package/dist/components/SettingsSelectionMenu.test.js +38 -5
  99. package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
  100. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  101. package/dist/components/SettingsValueSelectionMenu.js +24 -51
  102. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  103. package/dist/components/SlashCommandMenu.d.ts +1 -0
  104. package/dist/components/SlashCommandMenu.d.ts.map +1 -1
  105. package/dist/components/SlashCommandMenu.js +11 -14
  106. package/dist/components/SlashCommandMenu.js.map +1 -1
  107. package/dist/components/StatusBar.d.ts +2 -0
  108. package/dist/components/StatusBar.d.ts.map +1 -1
  109. package/dist/components/StatusBar.js +35 -2
  110. package/dist/components/StatusBar.js.map +1 -1
  111. package/dist/components/StatusBar.test.js +32 -0
  112. package/dist/components/StatusBar.test.js.map +1 -1
  113. package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
  114. package/dist/components/UndoSelectionMenu.js +6 -33
  115. package/dist/components/UndoSelectionMenu.js.map +1 -1
  116. package/dist/context/InputContext.stability.test.js +9 -7
  117. package/dist/context/InputContext.stability.test.js.map +1 -1
  118. package/dist/env-setup.js +1 -0
  119. package/dist/env-setup.js.map +1 -1
  120. package/dist/hooks/use-app-commands.d.ts +22 -2
  121. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  122. package/dist/hooks/use-app-commands.js +43 -3
  123. package/dist/hooks/use-app-commands.js.map +1 -1
  124. package/dist/hooks/use-app-commands.test.js +135 -1
  125. package/dist/hooks/use-app-commands.test.js.map +1 -1
  126. package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
  127. package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
  128. package/dist/hooks/use-conversation.clear.test.js +54 -0
  129. package/dist/hooks/use-conversation.clear.test.js.map +1 -0
  130. package/dist/hooks/use-conversation.d.ts +25 -2
  131. package/dist/hooks/use-conversation.d.ts.map +1 -1
  132. package/dist/hooks/use-conversation.js +90 -12
  133. package/dist/hooks/use-conversation.js.map +1 -1
  134. package/dist/hooks/use-escape-key.d.ts +8 -1
  135. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  136. package/dist/hooks/use-escape-key.js +15 -4
  137. package/dist/hooks/use-escape-key.js.map +1 -1
  138. package/dist/hooks/use-escape-key.test.js +135 -28
  139. package/dist/hooks/use-escape-key.test.js.map +1 -1
  140. package/dist/hooks/use-input-history.test.js +14 -8
  141. package/dist/hooks/use-input-history.test.js.map +1 -1
  142. package/dist/hooks/use-mode-handlers.d.ts +12 -1
  143. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  144. package/dist/hooks/use-mode-handlers.js +31 -1
  145. package/dist/hooks/use-mode-handlers.js.map +1 -1
  146. package/dist/hooks/use-model-selection.d.ts +6 -1
  147. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  148. package/dist/hooks/use-model-selection.js +50 -8
  149. package/dist/hooks/use-model-selection.js.map +1 -1
  150. package/dist/hooks/use-model-selection.test.js +306 -50
  151. package/dist/hooks/use-model-selection.test.js.map +1 -1
  152. package/dist/hooks/use-path-completion.d.ts +4 -0
  153. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  154. package/dist/hooks/use-path-completion.js +23 -17
  155. package/dist/hooks/use-path-completion.js.map +1 -1
  156. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  157. package/dist/hooks/use-runtime-settings.js +7 -2
  158. package/dist/hooks/use-runtime-settings.js.map +1 -1
  159. package/dist/hooks/use-runtime-settings.test.d.ts +2 -0
  160. package/dist/hooks/use-runtime-settings.test.d.ts.map +1 -0
  161. package/dist/hooks/use-runtime-settings.test.js +45 -0
  162. package/dist/hooks/use-runtime-settings.test.js.map +1 -0
  163. package/dist/hooks/use-selection.d.ts +6 -2
  164. package/dist/hooks/use-selection.d.ts.map +1 -1
  165. package/dist/hooks/use-selection.js +53 -16
  166. package/dist/hooks/use-selection.js.map +1 -1
  167. package/dist/hooks/use-selection.test.d.ts +2 -0
  168. package/dist/hooks/use-selection.test.d.ts.map +1 -0
  169. package/dist/hooks/use-selection.test.js +132 -0
  170. package/dist/hooks/use-selection.test.js.map +1 -0
  171. package/dist/hooks/use-settings-completion.d.ts +19 -0
  172. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  173. package/dist/hooks/use-settings-completion.js +106 -18
  174. package/dist/hooks/use-settings-completion.js.map +1 -1
  175. package/dist/hooks/use-settings-completion.scroll.test.js +68 -29
  176. package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -1
  177. package/dist/hooks/use-settings-completion.test.js +36 -1
  178. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  179. package/dist/hooks/use-settings-value-completion.d.ts +7 -1
  180. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  181. package/dist/hooks/use-settings-value-completion.js +18 -7
  182. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  183. package/dist/hooks/use-slash-commands.d.ts +5 -0
  184. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  185. package/dist/hooks/use-slash-commands.js +22 -2
  186. package/dist/hooks/use-slash-commands.js.map +1 -1
  187. package/dist/hooks/use-trigger-detection.test.js +9 -6
  188. package/dist/hooks/use-trigger-detection.test.js.map +1 -1
  189. package/dist/hooks/use-undo-selection.d.ts +4 -0
  190. package/dist/hooks/use-undo-selection.d.ts.map +1 -1
  191. package/dist/hooks/use-undo-selection.js +18 -1
  192. package/dist/hooks/use-undo-selection.js.map +1 -1
  193. package/dist/inspect_zod.d.ts +2 -0
  194. package/dist/inspect_zod.d.ts.map +1 -0
  195. package/dist/inspect_zod.js +16 -0
  196. package/dist/inspect_zod.js.map +1 -0
  197. package/dist/lib/openai-agent-client.chat.test.js +40 -0
  198. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  199. package/dist/lib/openai-agent-client.d.ts +18 -4
  200. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  201. package/dist/lib/openai-agent-client.js +228 -32
  202. package/dist/lib/openai-agent-client.js.map +1 -1
  203. package/dist/lib/openai-agent-client.public-methods.test.js +193 -0
  204. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  205. package/dist/lib/openai-agent-client.test.js +71 -1
  206. package/dist/lib/openai-agent-client.test.js.map +1 -1
  207. package/dist/lib/retry-executor.js +45 -7
  208. package/dist/lib/retry-executor.js.map +1 -1
  209. package/dist/lib/retry-executor.test.js +63 -0
  210. package/dist/lib/retry-executor.test.js.map +1 -1
  211. package/dist/lib/tool-invoke.d.ts +3 -2
  212. package/dist/lib/tool-invoke.d.ts.map +1 -1
  213. package/dist/lib/tool-invoke.js +213 -10
  214. package/dist/lib/tool-invoke.js.map +1 -1
  215. package/dist/lib/tool-invoke.test.js +103 -0
  216. package/dist/lib/tool-invoke.test.js.map +1 -1
  217. package/dist/non-interactive.d.ts +1 -0
  218. package/dist/non-interactive.d.ts.map +1 -1
  219. package/dist/non-interactive.js +3 -1
  220. package/dist/non-interactive.js.map +1 -1
  221. package/dist/non-interactive.test.js +8 -1
  222. package/dist/non-interactive.test.js.map +1 -1
  223. package/dist/prompts/codex.md +105 -97
  224. package/dist/prompts/fragments/gpt-5.3-codex.md +7 -0
  225. package/dist/prompts/fragments/gpt-5.4-small.md +6 -0
  226. package/dist/prompts/fragments/gpt-5.4.md +7 -0
  227. package/dist/prompts/fragments/gpt-5.5.md +7 -0
  228. package/dist/prompts/gpt-5-modern.md +96 -54
  229. package/dist/prompts/plan-mode-info.md +14 -3
  230. package/dist/prompts/prompt-constructor.d.ts +19 -0
  231. package/dist/prompts/prompt-constructor.d.ts.map +1 -0
  232. package/dist/prompts/prompt-constructor.js +53 -0
  233. package/dist/prompts/prompt-constructor.js.map +1 -0
  234. package/dist/prompts/prompt-constructor.test.d.ts +2 -0
  235. package/dist/prompts/prompt-constructor.test.d.ts.map +1 -0
  236. package/dist/prompts/prompt-constructor.test.js +99 -0
  237. package/dist/prompts/prompt-constructor.test.js.map +1 -0
  238. package/dist/prompts/prompt-constructor.test.ts +112 -0
  239. package/dist/prompts/prompt-constructor.ts +91 -0
  240. package/dist/prompts/prompt-profiles.d.ts +17 -0
  241. package/dist/prompts/prompt-profiles.d.ts.map +1 -0
  242. package/dist/prompts/prompt-profiles.js +61 -0
  243. package/dist/prompts/prompt-profiles.js.map +1 -0
  244. package/dist/prompts/prompt-profiles.ts +77 -0
  245. package/dist/prompts/prompt-selector.d.ts.map +1 -1
  246. package/dist/prompts/prompt-selector.js +3 -21
  247. package/dist/prompts/prompt-selector.js.map +1 -1
  248. package/dist/prompts/prompt-selector.ts +3 -25
  249. package/dist/prompts/reasoning-efficiency.d.ts.map +1 -1
  250. package/dist/prompts/reasoning-efficiency.js +2 -0
  251. package/dist/prompts/reasoning-efficiency.js.map +1 -1
  252. package/dist/prompts/reasoning-efficiency.test.d.ts +2 -0
  253. package/dist/prompts/reasoning-efficiency.test.d.ts.map +1 -0
  254. package/dist/prompts/reasoning-efficiency.test.js +11 -0
  255. package/dist/prompts/reasoning-efficiency.test.js.map +1 -0
  256. package/dist/prompts/reasoning-efficiency.test.ts +12 -0
  257. package/dist/prompts/reasoning-efficiency.ts +2 -0
  258. package/dist/prompts/search-via-shell.test.js +19 -16
  259. package/dist/prompts/search-via-shell.test.js.map +1 -1
  260. package/dist/prompts/search-via-shell.test.ts +20 -16
  261. package/dist/prompts/subagent-delegation.test.js +12 -10
  262. package/dist/prompts/subagent-delegation.test.js.map +1 -1
  263. package/dist/prompts/subagent-delegation.test.ts +13 -10
  264. package/dist/prompts/worktree-hygiene.md +9 -0
  265. package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
  266. package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
  267. package/dist/providers/ai-sdk-logging-fetch.js +145 -47
  268. package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
  269. package/dist/providers/ai-sdk-logging-fetch.test.js +202 -5
  270. package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
  271. package/dist/providers/codex-responses-model.d.ts +20 -0
  272. package/dist/providers/codex-responses-model.d.ts.map +1 -0
  273. package/dist/providers/codex-responses-model.js +170 -0
  274. package/dist/providers/codex-responses-model.js.map +1 -0
  275. package/dist/providers/codex-responses-model.test.d.ts +2 -0
  276. package/dist/providers/codex-responses-model.test.d.ts.map +1 -0
  277. package/dist/providers/codex-responses-model.test.js +240 -0
  278. package/dist/providers/codex-responses-model.test.js.map +1 -0
  279. package/dist/providers/codex.provider.d.ts +29 -0
  280. package/dist/providers/codex.provider.d.ts.map +1 -0
  281. package/dist/providers/codex.provider.js +486 -0
  282. package/dist/providers/codex.provider.js.map +1 -0
  283. package/dist/providers/codex.provider.test.d.ts +2 -0
  284. package/dist/providers/codex.provider.test.d.ts.map +1 -0
  285. package/dist/providers/codex.provider.test.js +634 -0
  286. package/dist/providers/codex.provider.test.js.map +1 -0
  287. package/dist/providers/custom-provider-adapter.test.js +56 -0
  288. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  289. package/dist/providers/fallback-responses-model.d.ts +20 -0
  290. package/dist/providers/fallback-responses-model.d.ts.map +1 -0
  291. package/dist/providers/fallback-responses-model.js +277 -0
  292. package/dist/providers/fallback-responses-model.js.map +1 -0
  293. package/dist/providers/fallback-responses-model.test.d.ts +2 -0
  294. package/dist/providers/fallback-responses-model.test.d.ts.map +1 -0
  295. package/dist/providers/fallback-responses-model.test.js +279 -0
  296. package/dist/providers/fallback-responses-model.test.js.map +1 -0
  297. package/dist/providers/fetch/compose.d.ts +7 -0
  298. package/dist/providers/fetch/compose.d.ts.map +1 -0
  299. package/dist/providers/fetch/compose.js +20 -0
  300. package/dist/providers/fetch/compose.js.map +1 -0
  301. package/dist/providers/fetch/composer.d.ts +13 -0
  302. package/dist/providers/fetch/composer.d.ts.map +1 -0
  303. package/dist/providers/fetch/composer.js +15 -0
  304. package/dist/providers/fetch/composer.js.map +1 -0
  305. package/dist/providers/fetch/composer.test.d.ts +2 -0
  306. package/dist/providers/fetch/composer.test.d.ts.map +1 -0
  307. package/dist/providers/fetch/composer.test.js +448 -0
  308. package/dist/providers/fetch/composer.test.js.map +1 -0
  309. package/dist/providers/fetch/logging-middleware.d.ts +16 -0
  310. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -0
  311. package/dist/providers/fetch/logging-middleware.js +214 -0
  312. package/dist/providers/fetch/logging-middleware.js.map +1 -0
  313. package/dist/providers/index.d.ts +1 -0
  314. package/dist/providers/index.d.ts.map +1 -1
  315. package/dist/providers/index.js +1 -0
  316. package/dist/providers/index.js.map +1 -1
  317. package/dist/providers/llama-cpp.provider.d.ts +3 -0
  318. package/dist/providers/llama-cpp.provider.d.ts.map +1 -0
  319. package/dist/providers/llama-cpp.provider.js +34 -0
  320. package/dist/providers/llama-cpp.provider.js.map +1 -0
  321. package/dist/providers/openai-compatible-middleware.d.ts +7 -0
  322. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -0
  323. package/dist/providers/openai-compatible-middleware.js +133 -0
  324. package/dist/providers/openai-compatible-middleware.js.map +1 -0
  325. package/dist/providers/openai-compatible-models.d.ts +6 -0
  326. package/dist/providers/openai-compatible-models.d.ts.map +1 -0
  327. package/dist/providers/openai-compatible-models.js +17 -0
  328. package/dist/providers/openai-compatible-models.js.map +1 -0
  329. package/dist/providers/openai-compatible-response-normalizer.d.ts +7 -0
  330. package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -0
  331. package/dist/providers/openai-compatible-response-normalizer.js +58 -0
  332. package/dist/providers/openai-compatible-response-normalizer.js.map +1 -0
  333. package/dist/providers/openai-compatible.provider.d.ts +4 -1
  334. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  335. package/dist/providers/openai-compatible.provider.js +68 -324
  336. package/dist/providers/openai-compatible.provider.js.map +1 -1
  337. package/dist/providers/openai-compatible.provider.test.js +106 -1
  338. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  339. package/dist/providers/openai.provider.js +53 -1
  340. package/dist/providers/openai.provider.js.map +1 -1
  341. package/dist/providers/opencode.provider.d.ts +19 -0
  342. package/dist/providers/opencode.provider.d.ts.map +1 -0
  343. package/dist/providers/opencode.provider.js +45 -0
  344. package/dist/providers/opencode.provider.js.map +1 -0
  345. package/dist/providers/openrouter.provider.d.ts +2 -1
  346. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  347. package/dist/providers/openrouter.provider.js +39 -22
  348. package/dist/providers/openrouter.provider.js.map +1 -1
  349. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
  350. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
  351. package/dist/providers/openrouter.provider.request-preprocessing.test.js +51 -0
  352. package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
  353. package/dist/providers/registry.d.ts +1 -0
  354. package/dist/providers/registry.d.ts.map +1 -1
  355. package/dist/providers/registry.js.map +1 -1
  356. package/dist/providers/registry.test.js +11 -2
  357. package/dist/providers/registry.test.js.map +1 -1
  358. package/dist/scripts/eval-auto-approval/dataset.d.ts +3 -3
  359. package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
  360. package/dist/services/approval-flow-coordinator.js +17 -1
  361. package/dist/services/approval-flow-coordinator.js.map +1 -1
  362. package/dist/services/approval-flow-coordinator.test.js +22 -0
  363. package/dist/services/approval-flow-coordinator.test.js.map +1 -1
  364. package/dist/services/command-message-streaming.d.ts.map +1 -1
  365. package/dist/services/command-message-streaming.js +0 -3
  366. package/dist/services/command-message-streaming.js.map +1 -1
  367. package/dist/services/command-message-streaming.test.js +4 -2
  368. package/dist/services/command-message-streaming.test.js.map +1 -1
  369. package/dist/services/conversation-clear-save.test.d.ts +2 -0
  370. package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
  371. package/dist/services/conversation-clear-save.test.js +57 -0
  372. package/dist/services/conversation-clear-save.test.js.map +1 -0
  373. package/dist/services/conversation-events.d.ts +44 -1
  374. package/dist/services/conversation-events.d.ts.map +1 -1
  375. package/dist/services/conversation-history-repair.d.ts +25 -0
  376. package/dist/services/conversation-history-repair.d.ts.map +1 -0
  377. package/dist/services/conversation-history-repair.js +227 -0
  378. package/dist/services/conversation-history-repair.js.map +1 -0
  379. package/dist/services/conversation-history-repair.test.d.ts +2 -0
  380. package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
  381. package/dist/services/conversation-history-repair.test.js +76 -0
  382. package/dist/services/conversation-history-repair.test.js.map +1 -0
  383. package/dist/services/conversation-integration.test.js +3 -1
  384. package/dist/services/conversation-integration.test.js.map +1 -1
  385. package/dist/services/conversation-log-events.d.ts +107 -0
  386. package/dist/services/conversation-log-events.d.ts.map +1 -0
  387. package/dist/services/conversation-log-events.js +12 -0
  388. package/dist/services/conversation-log-events.js.map +1 -0
  389. package/dist/services/conversation-log-writer.d.ts +40 -0
  390. package/dist/services/conversation-log-writer.d.ts.map +1 -0
  391. package/dist/services/conversation-log-writer.js +264 -0
  392. package/dist/services/conversation-log-writer.js.map +1 -0
  393. package/dist/services/conversation-persistence-types.d.ts +14 -0
  394. package/dist/services/conversation-persistence-types.d.ts.map +1 -0
  395. package/dist/services/conversation-persistence-types.js +2 -0
  396. package/dist/services/conversation-persistence-types.js.map +1 -0
  397. package/dist/services/conversation-persistence.d.ts +40 -38
  398. package/dist/services/conversation-persistence.d.ts.map +1 -1
  399. package/dist/services/conversation-persistence.js +312 -71
  400. package/dist/services/conversation-persistence.js.map +1 -1
  401. package/dist/services/conversation-persistence.test.js +485 -355
  402. package/dist/services/conversation-persistence.test.js.map +1 -1
  403. package/dist/services/conversation-replay.d.ts +26 -0
  404. package/dist/services/conversation-replay.d.ts.map +1 -0
  405. package/dist/services/conversation-replay.js +252 -0
  406. package/dist/services/conversation-replay.js.map +1 -0
  407. package/dist/services/conversation-replay.test.d.ts +2 -0
  408. package/dist/services/conversation-replay.test.d.ts.map +1 -0
  409. package/dist/services/conversation-replay.test.js +153 -0
  410. package/dist/services/conversation-replay.test.js.map +1 -0
  411. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  412. package/dist/services/conversation-result-builder.js +8 -2
  413. package/dist/services/conversation-result-builder.js.map +1 -1
  414. package/dist/services/conversation-result-builder.test.js +53 -0
  415. package/dist/services/conversation-result-builder.test.js.map +1 -1
  416. package/dist/services/conversation-retry-policy.d.ts +24 -0
  417. package/dist/services/conversation-retry-policy.d.ts.map +1 -1
  418. package/dist/services/conversation-retry-policy.js +68 -4
  419. package/dist/services/conversation-retry-policy.js.map +1 -1
  420. package/dist/services/conversation-retry-policy.test.js +99 -2
  421. package/dist/services/conversation-retry-policy.test.js.map +1 -1
  422. package/dist/services/conversation-service.d.ts +12 -2
  423. package/dist/services/conversation-service.d.ts.map +1 -1
  424. package/dist/services/conversation-service.js +29 -3
  425. package/dist/services/conversation-service.js.map +1 -1
  426. package/dist/services/conversation-session.auto-approval.test.js +2 -1
  427. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  428. package/dist/services/conversation-session.d.ts +17 -1
  429. package/dist/services/conversation-session.d.ts.map +1 -1
  430. package/dist/services/conversation-session.js +580 -134
  431. package/dist/services/conversation-session.js.map +1 -1
  432. package/dist/services/conversation-store.d.ts.map +1 -1
  433. package/dist/services/conversation-store.js +6 -5
  434. package/dist/services/conversation-store.js.map +1 -1
  435. package/dist/services/conversation-store.test.js +34 -0
  436. package/dist/services/conversation-store.test.js.map +1 -1
  437. package/dist/services/input-surge-guard.d.ts +4 -0
  438. package/dist/services/input-surge-guard.d.ts.map +1 -1
  439. package/dist/services/input-surge-guard.js +2 -2
  440. package/dist/services/input-surge-guard.js.map +1 -1
  441. package/dist/services/input-surge-guard.test.js +15 -1
  442. package/dist/services/input-surge-guard.test.js.map +1 -1
  443. package/dist/services/large-uncached-input-guard.d.ts +35 -0
  444. package/dist/services/large-uncached-input-guard.d.ts.map +1 -0
  445. package/dist/services/large-uncached-input-guard.js +127 -0
  446. package/dist/services/large-uncached-input-guard.js.map +1 -0
  447. package/dist/services/large-uncached-input-guard.test.d.ts +2 -0
  448. package/dist/services/large-uncached-input-guard.test.d.ts.map +1 -0
  449. package/dist/services/large-uncached-input-guard.test.js +160 -0
  450. package/dist/services/large-uncached-input-guard.test.js.map +1 -0
  451. package/dist/services/logging-contract.d.ts +1 -1
  452. package/dist/services/logging-service.d.ts +4 -0
  453. package/dist/services/logging-service.d.ts.map +1 -1
  454. package/dist/services/logging-service.js +91 -33
  455. package/dist/services/logging-service.js.map +1 -1
  456. package/dist/services/model-service.d.ts +2 -0
  457. package/dist/services/model-service.d.ts.map +1 -1
  458. package/dist/services/model-service.js +7 -1
  459. package/dist/services/model-service.js.map +1 -1
  460. package/dist/services/provider-traffic.d.ts +87 -0
  461. package/dist/services/provider-traffic.d.ts.map +1 -0
  462. package/dist/services/provider-traffic.js +603 -0
  463. package/dist/services/provider-traffic.js.map +1 -0
  464. package/dist/services/provider-traffic.test.d.ts +2 -0
  465. package/dist/services/provider-traffic.test.d.ts.map +1 -0
  466. package/dist/services/provider-traffic.test.js +475 -0
  467. package/dist/services/provider-traffic.test.js.map +1 -0
  468. package/dist/services/rtk-service.d.ts.map +1 -1
  469. package/dist/services/rtk-service.js +1 -2
  470. package/dist/services/rtk-service.js.map +1 -1
  471. package/dist/services/service-interfaces.d.ts +16 -0
  472. package/dist/services/service-interfaces.d.ts.map +1 -1
  473. package/dist/services/settings-schema.d.ts +36 -28
  474. package/dist/services/settings-schema.d.ts.map +1 -1
  475. package/dist/services/settings-schema.js +7 -2
  476. package/dist/services/settings-schema.js.map +1 -1
  477. package/dist/services/settings-service.js +6 -6
  478. package/dist/services/settings-service.js.map +1 -1
  479. package/dist/services/settings-sources.d.ts.map +1 -1
  480. package/dist/services/settings-sources.js +1 -0
  481. package/dist/services/settings-sources.js.map +1 -1
  482. package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
  483. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  484. package/dist/services/shell-auto-approval-evaluator.js +284 -81
  485. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  486. package/dist/services/shell-auto-approval-evaluator.test.js +215 -15
  487. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  488. package/dist/services/stream-event-processor.d.ts +4 -0
  489. package/dist/services/stream-event-processor.d.ts.map +1 -1
  490. package/dist/services/stream-event-processor.js +78 -39
  491. package/dist/services/stream-event-processor.js.map +1 -1
  492. package/dist/services/stream-event-processor.test.js +71 -0
  493. package/dist/services/stream-event-processor.test.js.map +1 -1
  494. package/dist/services/subagents/subagent-manager.d.ts +2 -0
  495. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  496. package/dist/services/subagents/subagent-manager.js +124 -21
  497. package/dist/services/subagents/subagent-manager.js.map +1 -1
  498. package/dist/services/subagents/subagent-manager.test.js +453 -0
  499. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  500. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  501. package/dist/services/terminal-result-collector.js +6 -1
  502. package/dist/services/terminal-result-collector.js.map +1 -1
  503. package/dist/services/tool-call-arguments.d.ts +20 -0
  504. package/dist/services/tool-call-arguments.d.ts.map +1 -0
  505. package/dist/services/tool-call-arguments.js +49 -0
  506. package/dist/services/tool-call-arguments.js.map +1 -0
  507. package/dist/services/tool-execution-ledger.d.ts +35 -0
  508. package/dist/services/tool-execution-ledger.d.ts.map +1 -0
  509. package/dist/services/tool-execution-ledger.js +204 -0
  510. package/dist/services/tool-execution-ledger.js.map +1 -0
  511. package/dist/services/tool-execution-ledger.test.d.ts +2 -0
  512. package/dist/services/tool-execution-ledger.test.d.ts.map +1 -0
  513. package/dist/services/tool-execution-ledger.test.js +96 -0
  514. package/dist/services/tool-execution-ledger.test.js.map +1 -0
  515. package/dist/tools/apply-patch.d.ts +8 -0
  516. package/dist/tools/apply-patch.d.ts.map +1 -1
  517. package/dist/tools/apply-patch.js +157 -2
  518. package/dist/tools/apply-patch.js.map +1 -1
  519. package/dist/tools/apply-patch.test.js +81 -0
  520. package/dist/tools/apply-patch.test.js.map +1 -1
  521. package/dist/tools/search-replace.d.ts.map +1 -1
  522. package/dist/tools/search-replace.js +92 -140
  523. package/dist/tools/search-replace.js.map +1 -1
  524. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  525. package/dist/utils/command-safety/path-analysis.js +143 -35
  526. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  527. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  528. package/dist/utils/conversation-event-handler.js +52 -4
  529. package/dist/utils/conversation-event-handler.js.map +1 -1
  530. package/dist/utils/conversation-event-handler.test.js +175 -0
  531. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  532. package/dist/utils/error-helpers.d.ts +1 -0
  533. package/dist/utils/error-helpers.d.ts.map +1 -1
  534. package/dist/utils/error-helpers.js +61 -0
  535. package/dist/utils/error-helpers.js.map +1 -1
  536. package/dist/utils/error-helpers.test.js +13 -1
  537. package/dist/utils/error-helpers.test.js.map +1 -1
  538. package/dist/utils/ink-render-options.d.ts +1 -1
  539. package/dist/utils/ink-render-options.d.ts.map +1 -1
  540. package/dist/utils/ink-render-options.js +1 -1
  541. package/dist/utils/ink-render-options.js.map +1 -1
  542. package/dist/utils/streaming-session-factory.d.ts +2 -0
  543. package/dist/utils/streaming-session-factory.d.ts.map +1 -1
  544. package/dist/utils/streaming-session-factory.js +4 -0
  545. package/dist/utils/streaming-session-factory.js.map +1 -1
  546. package/package.json +2 -2
package/dist/cli.js CHANGED
@@ -3,7 +3,7 @@ import './env-setup.js';
3
3
  import React from 'react';
4
4
  import { render } from 'ink';
5
5
  import meow from 'meow';
6
- import App, { hasConversationContent } from './app.js';
6
+ import App from './app.js';
7
7
  import { getInkRenderOptions } from './utils/ink-render-options.js';
8
8
  import { OpenAIAgentClient } from './lib/openai-agent-client.js';
9
9
  import { ConversationService } from './services/conversation-service.js';
@@ -14,17 +14,20 @@ import { HistoryService } from './services/history-service.js';
14
14
  import { SSHService } from './services/ssh-service.js';
15
15
  import { ExecutionContext } from './services/execution-context.js';
16
16
  import { resolveSSHHost } from './utils/ssh-config-parser.js';
17
- import { createUsageAccumulator, formatSessionTokenUsage } from './utils/token-usage.js';
18
- import { generateId, getResumeCommand, loadConversationForProject, loadLastConversation, saveConversation, } from './services/conversation-persistence.js';
17
+ import { createUsageAccumulator, formatSessionUsageBreakdown } from './utils/token-usage.js';
18
+ import { generateId, getResumeCommand, loadConversationForProject, loadLastConversation, forkConversation, isConversationLocked, } from './services/conversation-persistence.js';
19
+ import { createConversationLogWriter, LockConflictError } from './services/conversation-log-writer.js';
20
+ import { AGENT_AFFECTING_SETTINGS } from './services/conversation-log-events.js';
19
21
  import { installPlanModeInterceptor } from './services/plan-mode-interceptor.js';
20
22
  import { normalizeAppModes } from './services/settings-schema.js';
21
23
  import os from 'os';
22
24
  import fs from 'fs';
23
25
  import path from 'path';
24
26
  const sessionUsageAccumulator = createUsageAccumulator();
27
+ const subagentUsageAccumulator = createUsageAccumulator();
25
28
  let usagePrinted = false;
26
29
  const printUsage = () => {
27
- process.stdout.write(`\n${formatSessionTokenUsage(sessionUsageAccumulator.get())}\n`);
30
+ process.stdout.write(`\n${formatSessionUsageBreakdown(sessionUsageAccumulator.get(), subagentUsageAccumulator.get())}\n`);
28
31
  };
29
32
  const printUsageOnce = () => {
30
33
  if (usagePrinted)
@@ -32,18 +35,25 @@ const printUsageOnce = () => {
32
35
  usagePrinted = true;
33
36
  printUsage();
34
37
  };
35
- // Shared ref for saving conversation on exit (populated by App component)
36
- let pendingMessages = [];
37
- let saveConversationOnExit = null;
38
+ let activeLogWriter = null;
38
39
  // Global Ctrl+C handler for immediate exit paths outside Ink's input handling.
39
- process.on('SIGINT', async () => {
40
- if (saveConversationOnExit) {
41
- await saveConversationOnExit(pendingMessages);
42
- }
43
- else {
40
+ process.on('SIGINT', () => {
41
+ void (activeLogWriter ? activeLogWriter.flush() : Promise.resolve()).finally(() => {
44
42
  printUsageOnce();
43
+ process.exit(130);
44
+ });
45
+ });
46
+ // Best-effort release of lock + close on uncatchable exits (caught process.exit).
47
+ process.on('exit', () => {
48
+ if (activeLogWriter) {
49
+ try {
50
+ // Synchronous close path: the writer's close() does sync work and unlinks the lock.
51
+ void activeLogWriter.close();
52
+ }
53
+ catch {
54
+ /* ignore */
55
+ }
45
56
  }
46
- process.exit(0);
47
57
  });
48
58
  const cli = meow(`
49
59
  Usage
@@ -108,14 +118,23 @@ const cli = meow(`
108
118
  alias: 'R',
109
119
  default: false,
110
120
  },
121
+ fork: {
122
+ type: 'boolean',
123
+ default: false,
124
+ },
111
125
  },
112
126
  });
113
127
  const resumeRequested = Boolean(cli.flags.resume);
128
+ const forkRequested = Boolean(cli.flags.fork);
114
129
  const resumeTarget = resumeRequested ? cli.input[0]?.trim() : undefined;
115
130
  if (resumeRequested && cli.input.length > 1) {
116
131
  console.error('Error: --resume accepts at most one conversation id.');
117
132
  process.exit(1);
118
133
  }
134
+ if (forkRequested && !resumeRequested) {
135
+ console.error('Error: --fork can only be used with --resume.');
136
+ process.exit(1);
137
+ }
119
138
  const positionalPrompt = resumeRequested ? '' : cli.input.join(' ').trim();
120
139
  const hasPositionalPrompt = positionalPrompt.length > 0;
121
140
  // If the user passed an explicit empty prompt (e.g. `term2 ""`), show help.
@@ -146,22 +165,49 @@ const validatedReasoningEffort = reasoningEffort && validReasoningEfforts.includ
146
165
  ? reasoningEffort
147
166
  : undefined;
148
167
  const resumeProjectPath = cli.flags.ssh ? cli.flags.remoteDir?.trim() || undefined : process.cwd();
168
+ const expectedSshHost = cli.flags.ssh
169
+ ? cli.flags.ssh.includes('@')
170
+ ? cli.flags.ssh.split('@')[1]
171
+ : cli.flags.ssh
172
+ : undefined;
149
173
  let resumedConversation = null;
174
+ let resumedSourceId;
150
175
  if (resumeRequested) {
151
176
  if (resumeTarget) {
152
177
  const result = resumeProjectPath
153
- ? loadConversationForProject(resumeTarget, resumeProjectPath)
178
+ ? loadConversationForProject(resumeTarget, resumeProjectPath, expectedSshHost)
154
179
  : { status: 'not_found' };
155
180
  if (result.status === 'project_mismatch') {
156
181
  console.error(`Error: Conversation ${resumeTarget} belongs to a different project path (${result.conversation.projectPath ?? 'unknown'}).`);
157
182
  console.error(`Current project path: ${resumeProjectPath ?? 'unknown'}`);
183
+ if (result.conversation.sshHost || expectedSshHost) {
184
+ console.error(`Conversation SSH Host: ${result.conversation.sshHost ?? 'none'}`);
185
+ console.error(`Current SSH Host: ${expectedSshHost ?? 'none'}`);
186
+ }
158
187
  process.exit(1);
159
188
  }
160
189
  resumedConversation = result.status === 'loaded' ? result.conversation : null;
190
+ resumedSourceId = resumeTarget;
161
191
  }
162
192
  else {
163
- resumedConversation = loadLastConversation(resumeProjectPath);
193
+ resumedConversation = loadLastConversation(resumeProjectPath, expectedSshHost);
194
+ resumedSourceId = resumedConversation?.id;
195
+ }
196
+ }
197
+ // If --fork was requested, copy the source jsonl to a new id and resume from the copy.
198
+ if (forkRequested) {
199
+ if (!resumedSourceId || !resumedConversation) {
200
+ console.error('Error: --fork requires an existing conversation to fork from.');
201
+ process.exit(1);
202
+ }
203
+ const forkedId = generateId();
204
+ if (!forkConversation(resumedSourceId, forkedId)) {
205
+ console.error(`Error: Could not fork conversation ${resumedSourceId}.`);
206
+ process.exit(1);
164
207
  }
208
+ console.log(`Forked conversation ${resumedSourceId} → ${forkedId}`);
209
+ resumedConversation = { ...resumedConversation, id: forkedId, forkedFrom: resumedSourceId };
210
+ resumedSourceId = forkedId;
165
211
  }
166
212
  // Apply CLI overrides to settings service
167
213
  const cliOverrides = {};
@@ -220,8 +266,11 @@ const settings = new SettingsService({
220
266
  if (resumedConversation) {
221
267
  resolvedLiteMode = cliOverrides.app?.liteMode ?? false;
222
268
  }
269
+ else if (cli.flags.lite) {
270
+ resolvedLiteMode = true;
271
+ }
223
272
  else {
224
- const implicitLite = Boolean(cli.flags.lite || (hasPositionalPrompt && !cli.flags.autoApprove));
273
+ const implicitLite = Boolean(hasPositionalPrompt && !cli.flags.autoApprove);
225
274
  const persistedOrchestrator = settings.get('app.orchestratorMode');
226
275
  const persistedMentor = settings.get('app.mentorMode');
227
276
  // Implicit lite must not override a higher-precedence mode already persisted.
@@ -361,87 +410,137 @@ if (hasPositionalPrompt) {
361
410
  });
362
411
  process.exit(exitCode);
363
412
  }
413
+ // Generate session UUID and handle resume
414
+ let effectiveSessionId = generateId();
415
+ let effectiveCreatedAt = new Date().toISOString();
416
+ let initialMessages = [];
417
+ let effectiveHasConversationContent = false;
418
+ if (resumedConversation) {
419
+ effectiveSessionId = resumedConversation.id;
420
+ effectiveCreatedAt = resumedConversation.createdAt;
421
+ initialMessages = resumedConversation.messages;
422
+ if (resumedConversation.usage) {
423
+ sessionUsageAccumulator.add(resumedConversation.usage);
424
+ }
425
+ if (resumedConversation.subagentUsage) {
426
+ subagentUsageAccumulator.add(resumedConversation.subagentUsage);
427
+ }
428
+ }
429
+ else if (resumeRequested) {
430
+ const target = resumeTarget ?? 'last';
431
+ console.warn(`No conversation found to resume (${target}). Starting new conversation.`);
432
+ }
433
+ // Refuse to open a session whose log file is locked by another writer (live or stale).
434
+ // --fork (handled above) is the documented escape hatch.
435
+ if (!forkRequested) {
436
+ const lockInfo = isConversationLocked(effectiveSessionId);
437
+ if (lockInfo) {
438
+ const pid = lockInfo.pid;
439
+ const host = lockInfo.host;
440
+ const startedAt = lockInfo.startedAt;
441
+ console.error(`Conversation ${effectiveSessionId} is locked (pid ${pid}, started ${startedAt}, host ${host}).\n` +
442
+ `- If another terminal still has it open, close that one first.\n` +
443
+ `- If a previous run crashed and left the lock behind, fork into a new\n` +
444
+ ` conversation that branches from the same state:\n` +
445
+ ` term2 --resume ${effectiveSessionId} --fork\n`);
446
+ process.exit(1);
447
+ }
448
+ }
364
449
  const conversationService = new ConversationService({
365
450
  agentClient,
451
+ sessionId: effectiveSessionId,
366
452
  deps: {
367
453
  logger: logger,
368
454
  settingsService: settings,
369
455
  },
370
456
  });
371
- // Generate session UUID and handle resume
372
- let effectiveSessionId = generateId();
373
- let effectiveCreatedAt = new Date().toISOString();
374
- let initialMessages = [];
375
457
  if (resumedConversation) {
376
458
  const savedProviderMatches = !resumedConversation.provider || resumedConversation.provider === settings.get('agent.provider');
377
459
  const savedModelMatches = !resumedConversation.model || resumedConversation.model === settings.get('agent.model');
378
460
  const previousResponseId = savedProviderMatches && savedModelMatches ? resumedConversation.previousResponseId : null;
379
- // Restore agent conversation history.
380
461
  conversationService.importState({
381
462
  history: resumedConversation.history,
382
463
  previousResponseId,
464
+ toolLedger: resumedConversation.toolLedger,
465
+ updatedAt: resumedConversation.updatedAt,
383
466
  });
384
- // Use the original conversation ID for saving updates.
467
+ for (const warning of resumedConversation.replayWarnings) {
468
+ console.warn(`Conversation replay: ${warning}`);
469
+ }
385
470
  console.log(`Resumed conversation: ${resumedConversation.id}`);
386
- effectiveSessionId = resumedConversation.id;
387
- effectiveCreatedAt = resumedConversation.createdAt;
388
- initialMessages = resumedConversation.messages;
389
- pendingMessages = initialMessages;
390
471
  }
391
- else if (resumeRequested) {
392
- const target = resumeTarget ?? 'last';
393
- console.warn(`No conversation found to resume (${target}). Starting new conversation.`);
472
+ // Open the append-only log writer for the active session.
473
+ import envPaths from 'env-paths';
474
+ const logWriterDir = path.join(envPaths('term2').log, 'conversations');
475
+ const logWriter = createConversationLogWriter({ sessionId: effectiveSessionId, dir: logWriterDir, logger });
476
+ function buildInitMeta(id, createdAt) {
477
+ const cwd = executionContext?.getCwd();
478
+ return {
479
+ id,
480
+ createdAt,
481
+ ...(cwd ? { projectPath: cwd } : {}),
482
+ ...(sshInfo?.host ? { sshHost: sshInfo.host } : {}),
483
+ appMode: {
484
+ mentorMode: settings.get('app.mentorMode') ?? false,
485
+ liteMode: settings.get('app.liteMode') ?? false,
486
+ planMode: settings.get('app.planMode') ?? false,
487
+ orchestratorMode: settings.get('app.orchestratorMode') ?? false,
488
+ },
489
+ ...(settings.get('agent.model') ? { model: settings.get('agent.model') } : {}),
490
+ ...(settings.get('agent.provider') ? { provider: settings.get('agent.provider') } : {}),
491
+ ...(settings.get('agent.reasoningEffort')
492
+ ? { reasoningEffort: settings.get('agent.reasoningEffort') }
493
+ : {}),
494
+ ...(resumedConversation?.forkedFrom ? { forkedFrom: resumedConversation.forkedFrom } : {}),
495
+ };
496
+ }
497
+ try {
498
+ logWriter.init(buildInitMeta(effectiveSessionId, effectiveCreatedAt));
394
499
  }
500
+ catch (err) {
501
+ if (err instanceof LockConflictError) {
502
+ const info = err.lockInfo;
503
+ console.error(`Conversation ${effectiveSessionId} is locked (pid ${info?.pid}, started ${info?.startedAt}, host ${info?.host}).\n` +
504
+ `- If another terminal still has it open, close that one first.\n` +
505
+ `- If a previous run crashed and left the lock behind, fork into a new\n` +
506
+ ` conversation that branches from the same state:\n` +
507
+ ` term2 --resume ${effectiveSessionId} --fork\n`);
508
+ process.exit(1);
509
+ }
510
+ throw err;
511
+ }
512
+ activeLogWriter = logWriter;
513
+ conversationService.setLogSink((event) => logWriter.append(event));
514
+ // Persist agent-affecting settings changes as they happen.
515
+ settings.onChange((key) => {
516
+ if (!key || !AGENT_AFFECTING_SETTINGS.has(key))
517
+ return;
518
+ logWriter.append({ type: 'settings_changed', key, value: settings.get(key) });
519
+ });
395
520
  import { InputProvider } from './context/InputContext.js';
396
521
  import { patchStdoutForSynchronizedOutput } from './utils/synchronized-output.js';
397
522
  // Enable DEC Mode 2026 synchronized output to prevent flickering in iTerm2.
398
523
  // This wraps every stdout.write() in begin/end markers so the terminal
399
524
  // buffers the entire Ink render frame and paints it atomically.
400
525
  patchStdoutForSynchronizedOutput(process.stdout);
401
- // Save conversation on exit and print resume command
402
- let conversationSavedForExit = false;
403
- const saveAndPrintResume = async (messages) => {
404
- if (conversationSavedForExit) {
405
- return;
406
- }
407
- conversationSavedForExit = true;
408
- if (!hasConversationContent(messages)) {
409
- printUsageOnce();
410
- return;
411
- }
412
- const state = conversationService.exportState();
413
- const model = settings.get('agent.model');
414
- const provider = settings.get('agent.provider');
415
- const reasoningEffortVal = settings.get('agent.reasoningEffort');
416
- saveConversation({
417
- id: effectiveSessionId,
418
- createdAt: effectiveCreatedAt,
419
- updatedAt: new Date().toISOString(),
420
- projectPath: executionContext.getCwd(),
421
- appMode: {
422
- mentorMode: settings.get('app.mentorMode') ?? false,
423
- liteMode: settings.get('app.liteMode') ?? false,
424
- planMode: settings.get('app.planMode') ?? false,
425
- orchestratorMode: settings.get('app.orchestratorMode') ?? false,
426
- },
427
- model,
428
- provider,
429
- reasoningEffort: reasoningEffortVal ?? undefined,
430
- previousResponseId: state.previousResponseId,
431
- history: state.history,
432
- messages: messages,
433
- });
434
- const resumeCmd = getResumeCommand(effectiveSessionId);
435
- printUsageOnce();
436
- console.log(`\nTo resume this conversation: ${resumeCmd}`);
437
- };
438
- // Register the save callback for SIGINT handling
439
- saveConversationOnExit = saveAndPrintResume;
440
526
  const { waitUntilExit } = render((React.createElement(InputProvider, null,
441
- React.createElement(App, { conversationService: conversationService, settingsService: settings, historyService: history, loggingService: logger, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages, onSaveConversation: saveAndPrintResume, onMessagesChange: (msgs) => {
442
- pendingMessages = msgs;
527
+ React.createElement(App, { conversationService: conversationService, settingsService: settings, historyService: history, loggingService: logger, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, subagentUsageAccumulator: subagentUsageAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages, logWriter: logWriter, onRotateWriter: (newId) => {
528
+ logWriter.append({ type: 'session_cleared' });
529
+ logWriter.rotate(newId, buildInitMeta(newId, new Date().toISOString()));
530
+ effectiveHasConversationContent = false;
531
+ }, generateId: generateId, onSessionIdChange: (newId, createdAt) => {
532
+ effectiveSessionId = newId;
533
+ effectiveCreatedAt = createdAt;
534
+ }, onHasConversationContent: (hasContent) => {
535
+ effectiveHasConversationContent = hasContent;
443
536
  } }))), getInkRenderOptions());
444
537
  await waitUntilExit();
445
- await saveAndPrintResume(pendingMessages);
538
+ await logWriter.close();
539
+ activeLogWriter = null;
540
+ const resumeCmd = getResumeCommand(effectiveSessionId, sshFlag, sshInfo?.remoteDir, cli.flags.sshPort);
541
+ printUsageOnce();
542
+ if (effectiveHasConversationContent) {
543
+ console.log(`\nTo resume this conversation: ${resumeCmd}`);
544
+ }
446
545
  process.exit(0);
447
546
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../source/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,UAAU,WAAW;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAwG3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../source/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,UAAU,WAAW;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAiI3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -5,6 +5,8 @@ import { getProvider } from '../providers/index.js';
5
5
  const Banner = ({ settingsService, isShellMode = false }) => {
6
6
  const mentorMode = useSetting(settingsService, 'app.mentorMode') ?? false;
7
7
  const liteMode = useSetting(settingsService, 'app.liteMode') ?? false;
8
+ const planMode = useSetting(settingsService, 'app.planMode') ?? false;
9
+ const orchestratorMode = useSetting(settingsService, 'app.orchestratorMode') ?? false;
8
10
  const model = useSetting(settingsService, 'agent.model');
9
11
  const mentorModel = useSetting(settingsService, 'agent.mentorModel');
10
12
  const providerKey = useSetting(settingsService, 'agent.provider') ?? 'openai';
@@ -18,29 +20,45 @@ const Banner = ({ settingsService, isShellMode = false }) => {
18
20
  const purple = '#a78bfa'; // Soft purple for mentor
19
21
  const cyan = '#22d3ee'; // Soft cyan for provider
20
22
  const lightSlate = '#94a3b8';
21
- return (React.createElement(Box, { flexDirection: "column", width: "100%", borderStyle: "round", borderColor: accent, paddingX: 2, paddingY: 1 },
23
+ const Pill = ({ bg, label }) => (React.createElement(Text, { backgroundColor: bg, color: "white", bold: true },
24
+ ' ',
25
+ label,
26
+ ' '));
27
+ const baseMode = orchestratorMode
28
+ ? 'ORCHESTRATOR'
29
+ : planMode
30
+ ? 'PLAN'
31
+ : liteMode
32
+ ? isShellMode
33
+ ? 'SHELL'
34
+ : 'LITE'
35
+ : 'STANDARD';
36
+ const pills = [
37
+ {
38
+ show: true,
39
+ label: baseMode,
40
+ bg: baseMode === 'ORCHESTRATOR'
41
+ ? '#be123c'
42
+ : baseMode === 'PLAN'
43
+ ? '#0369a1'
44
+ : baseMode === 'SHELL'
45
+ ? '#ca8a04'
46
+ : baseMode === 'LITE'
47
+ ? '#059669'
48
+ : '#0f766e',
49
+ },
50
+ { show: mentorMode, label: 'MENTOR', bg: '#7c3aed' },
51
+ ];
52
+ return (React.createElement(Box, { flexDirection: "column", width: "100%", borderStyle: "round", borderColor: accent, paddingX: 2, paddingY: 1, marginBottom: 1 },
22
53
  React.createElement(Box, { justifyContent: "space-between", alignItems: "center" },
23
54
  React.createElement(Box, { alignItems: "center" },
24
55
  React.createElement(Text, { color: glow, bold: true }, '▌'),
25
56
  React.createElement(Text, { color: accent, bold: true },
26
57
  ' ',
27
58
  "term\u00B2")),
28
- React.createElement(Box, { gap: 1 },
29
- liteMode && isShellMode ? (React.createElement(Text, { backgroundColor: "#ca8a04", color: "white", bold: true },
30
- ' ',
31
- "SHELL",
32
- ' ')) : (liteMode && (React.createElement(Text, { backgroundColor: "#059669", color: "white", bold: true },
33
- ' ',
34
- "LITE",
35
- ' '))),
36
- mentorMode && (React.createElement(Text, { backgroundColor: "#7c3aed", color: "white", bold: true },
37
- ' ',
38
- "MENTOR",
39
- ' ')),
40
- !mentorMode && !liteMode && (React.createElement(Text, { backgroundColor: "#0f766e", color: "white", bold: true },
41
- ' ',
42
- "STANDARD",
43
- ' ')))),
59
+ React.createElement(Box, { gap: 1 }, pills
60
+ .filter((p) => p.show)
61
+ .map((p) => (React.createElement(Pill, { key: p.label, bg: p.bg, label: p.label }))))),
44
62
  React.createElement(Box, { justifyContent: "space-between", marginTop: 1, flexWrap: "wrap" },
45
63
  React.createElement(Box, { flexDirection: "column", marginRight: 3 },
46
64
  React.createElement(Text, { color: slate },
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../source/components/Banner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../source/components/Banner.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import React, { FC } from 'react';
2
+ import type { HandoffState } from '../app.js';
2
3
  import type { SlashCommand } from '../slash-commands.js';
3
4
  import type { SettingsService } from '../services/settings-service.js';
4
5
  import type { LoggingService } from '../services/logging-service.js';
5
6
  import type { HistoryService } from '../services/history-service.js';
6
7
  import type { SSHInfo } from '../hooks/use-shell-mode.js';
7
8
  import type { NormalizedUsage } from '../utils/token-usage.js';
9
+ import type { CodexRateLimitInfo } from '../services/conversation-events.js';
8
10
  import type { PendingApproval } from '../contracts/conversation.js';
9
11
  import type { UserTurn } from '../types/user-turn.js';
10
12
  import type { UndoItem } from '../hooks/use-undo-selection.js';
@@ -15,9 +17,9 @@ export type BottomAreaProps = {
15
17
  isProcessing: boolean;
16
18
  isShellMode?: boolean;
17
19
  lastUsage?: NormalizedUsage | null;
20
+ lastCodexRateLimit?: CodexRateLimitInfo | null;
18
21
  onSubmit: (value: UserTurn) => Promise<void>;
19
22
  slashCommands: SlashCommand[];
20
- hasConversationHistory: boolean;
21
23
  settingsService: SettingsService;
22
24
  loggingService: LoggingService;
23
25
  historyService: HistoryService;
@@ -29,6 +31,10 @@ export type BottomAreaProps = {
29
31
  } | null>;
30
32
  onUndoSelect?: (item: UndoItem) => void;
31
33
  onSettingChange?: (key: string, value: any) => void;
34
+ handoffState?: HandoffState | null;
35
+ onHandoffConfirm?: () => void;
36
+ onHandoffDecline?: () => void;
37
+ onHandoffCancel?: () => void;
32
38
  };
33
39
  declare const BottomArea: FC<BottomAreaProps>;
34
40
  export default BottomArea;
@@ -1 +1 @@
1
- {"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAKvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACrD,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAiEnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAMvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACpD,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkFnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -3,7 +3,8 @@ import { Box, Text } from 'ink';
3
3
  import ApprovalPrompt from './ApprovalPrompt.js';
4
4
  import InputBox from './InputBox.js';
5
5
  import StatusBar from './StatusBar.js';
6
- const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, isProcessing, isShellMode = false, onSubmit, slashCommands, hasConversationHistory, settingsService, loggingService, historyService, onApprove, onReject, sshInfo, lastUsage, undoMenuRef, onUndoSelect, onSettingChange, }) => {
6
+ import HandoffConfirmationPrompt from './HandoffConfirmationPrompt.js';
7
+ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, isProcessing, isShellMode = false, onSubmit, slashCommands, settingsService, loggingService, historyService, onApprove, onReject, sshInfo, lastUsage, lastCodexRateLimit, undoMenuRef, onUndoSelect, onSettingChange, handoffState, onHandoffConfirm, onHandoffDecline, onHandoffCancel, }) => {
7
8
  const [dotCount, setDotCount] = useState(1);
8
9
  useEffect(() => {
9
10
  if (!isProcessing) {
@@ -15,13 +16,14 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
15
16
  }, 800);
16
17
  return () => clearInterval(interval);
17
18
  }, [isProcessing]);
18
- const showApprovalPrompt = waitingForApproval && !isProcessing && !waitingForRejectionReason && pendingApproval;
19
- const showInput = (!isProcessing && !waitingForApproval) || waitingForRejectionReason;
19
+ const showHandoffConfirm = handoffState?.stage === 'confirm_model';
20
+ const showApprovalPrompt = !showHandoffConfirm && waitingForApproval && !isProcessing && !waitingForRejectionReason && pendingApproval;
21
+ const showInput = !showHandoffConfirm && ((!isProcessing && !waitingForApproval) || waitingForRejectionReason);
20
22
  return (React.createElement(Box, { flexDirection: "column", width: "100%" },
21
- React.createElement(Box, { flexDirection: "column", marginTop: 1 }, showApprovalPrompt ? (React.createElement(ApprovalPrompt, { approval: pendingApproval, onApprove: onApprove, onReject: onReject })) : isProcessing ? (React.createElement(Text, { color: "#64748b" },
23
+ React.createElement(Box, { flexDirection: "column", marginTop: 1 }, showHandoffConfirm ? (React.createElement(HandoffConfirmationPrompt, { onConfirm: onHandoffConfirm || (() => { }), onDecline: onHandoffDecline || (() => { }), onCancel: onHandoffCancel || (() => { }) })) : showApprovalPrompt ? (React.createElement(ApprovalPrompt, { approval: pendingApproval, onApprove: onApprove, onReject: onReject })) : isProcessing ? (React.createElement(Text, { color: "#64748b" },
22
24
  "processing",
23
- '.'.repeat(dotCount))) : showInput ? (React.createElement(InputBox, { onSubmit: onSubmit, slashCommands: slashCommands, hasConversationHistory: hasConversationHistory, waitingForRejectionReason: waitingForRejectionReason, isShellMode: isShellMode, settingsService: settingsService, loggingService: loggingService, historyService: historyService, undoMenuRef: undoMenuRef, onUndoSelect: onUndoSelect, onSettingChange: onSettingChange })) : null),
24
- React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage })));
25
+ '.'.repeat(dotCount))) : showInput ? (React.createElement(InputBox, { onSubmit: onSubmit, slashCommands: slashCommands, waitingForRejectionReason: waitingForRejectionReason, isShellMode: isShellMode, settingsService: settingsService, loggingService: loggingService, historyService: historyService, undoMenuRef: undoMenuRef, onUndoSelect: onUndoSelect, onSettingChange: onSettingChange })) : null),
26
+ React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage, lastCodexRateLimit: lastCodexRateLimit })));
25
27
  };
26
28
  export default BottomArea;
27
29
  //# sourceMappingURL=BottomArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAgCvC,MAAM,UAAU,GAAwB,CAAC,EACvC,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,YAAY,IAAI,CAAC,yBAAyB,IAAI,eAAe,CAAC;IAChH,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,yBAAyB,CAAC;IAEtF,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM;QACtC,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,IACrC,kBAAkB,CAAC,CAAC,CAAC,CACpB,oBAAC,cAAc,IAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACxF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CACjB,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAQ,CAC9D,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,oBAAC,QAAQ,IACP,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAChC,CACH,CAAC,CAAC,CAAC,IAAI,CACJ;QAEN,oBAAC,SAAS,IAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,CAC7G,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"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"}