@qduc/term2 0.20.0 → 0.21.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 (424) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +146 -94
  3. package/dist/agent.js.map +1 -1
  4. package/dist/app.d.ts +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +62 -36
  7. package/dist/app.js.map +1 -1
  8. package/dist/cli.js +113 -36
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  11. package/dist/commands/guarded-settings-command.js +33 -5
  12. package/dist/commands/guarded-settings-command.js.map +1 -1
  13. package/dist/commands/mode-commands.d.ts +17 -12
  14. package/dist/commands/mode-commands.d.ts.map +1 -1
  15. package/dist/commands/mode-commands.js +68 -44
  16. package/dist/commands/mode-commands.js.map +1 -1
  17. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  18. package/dist/components/input/ApplicationInputSurface.js +4 -0
  19. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  20. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  21. package/dist/components/input/MenuSurface.js +1 -0
  22. package/dist/components/input/MenuSurface.js.map +1 -1
  23. package/dist/components/input/ProfileMenuSession.d.ts +16 -0
  24. package/dist/components/input/ProfileMenuSession.d.ts.map +1 -0
  25. package/dist/components/input/ProfileMenuSession.js +64 -0
  26. package/dist/components/input/ProfileMenuSession.js.map +1 -0
  27. package/dist/components/input/determine-active-menu.d.ts +3 -0
  28. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  29. package/dist/components/input/determine-active-menu.js +6 -1
  30. package/dist/components/input/determine-active-menu.js.map +1 -1
  31. package/dist/components/input/menu-registry.d.ts.map +1 -1
  32. package/dist/components/input/menu-registry.js +2 -0
  33. package/dist/components/input/menu-registry.js.map +1 -1
  34. package/dist/components/input/menu-types.d.ts +4 -0
  35. package/dist/components/input/menu-types.d.ts.map +1 -1
  36. package/dist/components/input/triggers.d.ts +1 -0
  37. package/dist/components/input/triggers.d.ts.map +1 -1
  38. package/dist/components/input/triggers.js +26 -0
  39. package/dist/components/input/triggers.js.map +1 -1
  40. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  41. package/dist/components/layout/BackgroundTaskManager.js +6 -2
  42. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  43. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  44. package/dist/components/layout/BackgroundTasksPanel.js +16 -8
  45. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  46. package/dist/components/layout/Banner.d.ts.map +1 -1
  47. package/dist/components/layout/Banner.js +10 -5
  48. package/dist/components/layout/Banner.js.map +1 -1
  49. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  50. package/dist/components/layout/StatusBar.js +25 -12
  51. package/dist/components/layout/StatusBar.js.map +1 -1
  52. package/dist/components/menu/ProfileSelectionMenu.d.ts +12 -0
  53. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -0
  54. package/dist/components/menu/ProfileSelectionMenu.js +48 -0
  55. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -0
  56. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  57. package/dist/components/menu/ResumeSelectionMenu.js +6 -14
  58. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  59. package/dist/components/message/ChatMessage.js +1 -1
  60. package/dist/components/message/ChatMessage.js.map +1 -1
  61. package/dist/components/message/MessageList.d.ts.map +1 -1
  62. package/dist/components/message/MessageList.js +15 -9
  63. package/dist/components/message/MessageList.js.map +1 -1
  64. package/dist/components/message/command-message-helpers.d.ts +5 -5
  65. package/dist/context/InputContext.d.ts +1 -1
  66. package/dist/context/InputContext.d.ts.map +1 -1
  67. package/dist/context/InputContext.js +8 -0
  68. package/dist/context/InputContext.js.map +1 -1
  69. package/dist/contracts/session-rollover.d.ts +9 -1
  70. package/dist/contracts/session-rollover.d.ts.map +1 -1
  71. package/dist/contracts/streamed-model-turn.d.ts +20 -2
  72. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  73. package/dist/gateway/gateway.d.ts.map +1 -1
  74. package/dist/gateway/gateway.js +19 -23
  75. package/dist/gateway/gateway.js.map +1 -1
  76. package/dist/gateway/launcher-seam.d.ts.map +1 -1
  77. package/dist/gateway/launcher-seam.js +2 -19
  78. package/dist/gateway/launcher-seam.js.map +1 -1
  79. package/dist/gateway/settings-rpc.d.ts +1 -1
  80. package/dist/gateway/settings-rpc.d.ts.map +1 -1
  81. package/dist/gateway/settings-rpc.js +2 -0
  82. package/dist/gateway/settings-rpc.js.map +1 -1
  83. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  84. package/dist/hooks/settings-completion-config.js +25 -1
  85. package/dist/hooks/settings-completion-config.js.map +1 -1
  86. package/dist/hooks/use-app-commands.d.ts +3 -1
  87. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  88. package/dist/hooks/use-app-commands.js +21 -14
  89. package/dist/hooks/use-app-commands.js.map +1 -1
  90. package/dist/hooks/use-conversation.d.ts +2 -2
  91. package/dist/hooks/use-conversation.d.ts.map +1 -1
  92. package/dist/hooks/use-conversation.js +1 -1
  93. package/dist/hooks/use-conversation.js.map +1 -1
  94. package/dist/hooks/use-handoff-flow.d.ts +1 -0
  95. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  96. package/dist/hooks/use-handoff-flow.js +19 -12
  97. package/dist/hooks/use-handoff-flow.js.map +1 -1
  98. package/dist/hooks/use-profile-selection.d.ts +34 -0
  99. package/dist/hooks/use-profile-selection.d.ts.map +1 -0
  100. package/dist/hooks/use-profile-selection.js +103 -0
  101. package/dist/hooks/use-profile-selection.js.map +1 -0
  102. package/dist/hooks/use-resume-selection.d.ts +2 -0
  103. package/dist/hooks/use-resume-selection.d.ts.map +1 -1
  104. package/dist/hooks/use-resume-selection.js +11 -9
  105. package/dist/hooks/use-resume-selection.js.map +1 -1
  106. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  107. package/dist/hooks/use-settings-value-completion.js +16 -0
  108. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  109. package/dist/hooks/use-skill-selection.d.ts +5 -3
  110. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  111. package/dist/hooks/use-skill-selection.js +8 -6
  112. package/dist/hooks/use-skill-selection.js.map +1 -1
  113. package/dist/lib/agent-client.d.ts.map +1 -1
  114. package/dist/lib/agent-client.js +50 -14
  115. package/dist/lib/agent-client.js.map +1 -1
  116. package/dist/lib/agent-configuration.d.ts.map +1 -1
  117. package/dist/lib/agent-configuration.js +1 -4
  118. package/dist/lib/agent-configuration.js.map +1 -1
  119. package/dist/lib/agent-factory.d.ts.map +1 -1
  120. package/dist/lib/agent-factory.js +63 -41
  121. package/dist/lib/agent-factory.js.map +1 -1
  122. package/dist/lib/harness-input-idle.d.ts +10 -0
  123. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  124. package/dist/lib/harness-input-idle.js +47 -5
  125. package/dist/lib/harness-input-idle.js.map +1 -1
  126. package/dist/non-interactive.d.ts.map +1 -1
  127. package/dist/non-interactive.js +6 -6
  128. package/dist/non-interactive.js.map +1 -1
  129. package/dist/prompts/memory.md +1 -1
  130. package/dist/prompts/prefix-quality.test.ts +8 -5
  131. package/dist/prompts/prompt-constructor.d.ts +5 -6
  132. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  133. package/dist/prompts/prompt-constructor.js +15 -7
  134. package/dist/prompts/prompt-constructor.js.map +1 -1
  135. package/dist/prompts/prompt-constructor.test.ts +73 -48
  136. package/dist/prompts/prompt-constructor.ts +21 -13
  137. package/dist/prompts/session-browser.md +2 -0
  138. package/dist/prompts/shell-auto-approval.d.ts +2 -2
  139. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  140. package/dist/prompts/shell-auto-approval.js +19 -16
  141. package/dist/prompts/shell-auto-approval.js.map +1 -1
  142. package/dist/prompts/shell-auto-approval.ts +19 -16
  143. package/dist/providers/aborted-stream-recorder.js +2 -1
  144. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  145. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  146. package/dist/providers/ai-sdk-streamed-model.js +7 -0
  147. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  148. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  149. package/dist/providers/codex-responses-model.js +75 -14
  150. package/dist/providers/codex-responses-model.js.map +1 -1
  151. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  152. package/dist/providers/codex-turn-converter.js +21 -4
  153. package/dist/providers/codex-turn-converter.js.map +1 -1
  154. package/dist/providers/codex.provider.d.ts.map +1 -1
  155. package/dist/providers/codex.provider.js +1 -0
  156. package/dist/providers/codex.provider.js.map +1 -1
  157. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  158. package/dist/providers/fetch/logging-middleware.js +22 -2
  159. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  160. package/dist/providers/openai-chat-completions-model.js +119 -50
  161. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  162. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  163. package/dist/providers/openai-responses-model.js +131 -15
  164. package/dist/providers/openai-responses-model.js.map +1 -1
  165. package/dist/providers/registry.d.ts +1 -1
  166. package/dist/providers/registry.d.ts.map +1 -1
  167. package/dist/providers/retrying-model.d.ts.map +1 -1
  168. package/dist/providers/retrying-model.js +11 -2
  169. package/dist/providers/retrying-model.js.map +1 -1
  170. package/dist/services/agent-runtime/application-run-loop.d.ts +3 -1
  171. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  172. package/dist/services/agent-runtime/application-run-loop.js +99 -19
  173. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  174. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts +2 -3
  175. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts.map +1 -1
  176. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +18 -9
  177. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  178. package/dist/services/agent-runtime/generation-guard.d.ts +25 -1
  179. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  180. package/dist/services/agent-runtime/generation-guard.js +105 -1
  181. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  182. package/dist/services/agent-stream.d.ts +2 -0
  183. package/dist/services/agent-stream.d.ts.map +1 -1
  184. package/dist/services/agent-stream.js.map +1 -1
  185. package/dist/services/approval/approval-decision-policy.js +2 -2
  186. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  187. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +5 -1
  188. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  189. package/dist/services/approval/shell-auto-approval-evaluator.js +42 -18
  190. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  191. package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
  192. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  193. package/dist/services/approval/shell-auto-approval-resolver.js +117 -20
  194. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  195. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  196. package/dist/services/approval/tool-approval-batch-coordinator.js +20 -3
  197. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  198. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  199. package/dist/services/conversation/conversation-adapter.js +2 -9
  200. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  201. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  202. package/dist/services/conversation/conversation-decoder.js +6 -2
  203. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  204. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  205. package/dist/services/conversation/conversation-orchestrator.js +14 -1
  206. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  207. package/dist/services/conversation/conversation-persistence.d.ts +30 -0
  208. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  209. package/dist/services/conversation/conversation-persistence.js +101 -7
  210. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  211. package/dist/services/conversation/conversation-replay.d.ts +2 -0
  212. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  213. package/dist/services/conversation/conversation-replay.js +71 -57
  214. package/dist/services/conversation/conversation-replay.js.map +1 -1
  215. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  216. package/dist/services/conversation/conversation-result-builder.js +21 -4
  217. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  218. package/dist/services/conversation/conversation-service.d.ts +3 -2
  219. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  220. package/dist/services/conversation/conversation-service.js +36 -15
  221. package/dist/services/conversation/conversation-service.js.map +1 -1
  222. package/dist/services/conversation/session-browser.d.ts +6 -1
  223. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  224. package/dist/services/conversation/session-browser.js +128 -18
  225. package/dist/services/conversation/session-browser.js.map +1 -1
  226. package/dist/services/handoff/handoff-session.d.ts +2 -0
  227. package/dist/services/handoff/handoff-session.d.ts.map +1 -1
  228. package/dist/services/handoff/handoff-session.js +19 -3
  229. package/dist/services/handoff/handoff-session.js.map +1 -1
  230. package/dist/services/logging/conversation-log-events.d.ts +30 -3
  231. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  232. package/dist/services/logging/conversation-log-events.js +1 -4
  233. package/dist/services/logging/conversation-log-events.js.map +1 -1
  234. package/dist/services/logging/logging-service.d.ts +1 -0
  235. package/dist/services/logging/logging-service.d.ts.map +1 -1
  236. package/dist/services/logging/logging-service.js +5 -2
  237. package/dist/services/logging/logging-service.js.map +1 -1
  238. package/dist/services/logging/provider-traffic.d.ts +8 -1
  239. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  240. package/dist/services/logging/provider-traffic.js +105 -10
  241. package/dist/services/logging/provider-traffic.js.map +1 -1
  242. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  243. package/dist/services/memory/memory-capabilities.js +17 -5
  244. package/dist/services/memory/memory-capabilities.js.map +1 -1
  245. package/dist/services/memory/memory-store.d.ts +17 -0
  246. package/dist/services/memory/memory-store.d.ts.map +1 -1
  247. package/dist/services/memory/memory-store.js +71 -26
  248. package/dist/services/memory/memory-store.js.map +1 -1
  249. package/dist/services/mode-notices.d.ts +12 -9
  250. package/dist/services/mode-notices.d.ts.map +1 -1
  251. package/dist/services/mode-notices.js +83 -54
  252. package/dist/services/mode-notices.js.map +1 -1
  253. package/dist/services/model-service.d.ts +22 -4
  254. package/dist/services/model-service.d.ts.map +1 -1
  255. package/dist/services/model-service.js +148 -1
  256. package/dist/services/model-service.js.map +1 -1
  257. package/dist/services/models/model-catalog-session.d.ts +6 -0
  258. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  259. package/dist/services/models/model-catalog-session.js +7 -3
  260. package/dist/services/models/model-catalog-session.js.map +1 -1
  261. package/dist/services/models/model-listing.d.ts +57 -0
  262. package/dist/services/models/model-listing.d.ts.map +1 -0
  263. package/dist/services/models/model-listing.js +96 -0
  264. package/dist/services/models/model-listing.js.map +1 -0
  265. package/dist/services/models/model-resolution.d.ts +88 -0
  266. package/dist/services/models/model-resolution.d.ts.map +1 -0
  267. package/dist/services/models/model-resolution.js +292 -0
  268. package/dist/services/models/model-resolution.js.map +1 -0
  269. package/dist/services/plan-mode-interceptor.d.ts.map +1 -1
  270. package/dist/services/plan-mode-interceptor.js +5 -6
  271. package/dist/services/plan-mode-interceptor.js.map +1 -1
  272. package/dist/services/profiles/active-profile.d.ts +5 -0
  273. package/dist/services/profiles/active-profile.d.ts.map +1 -0
  274. package/dist/services/profiles/active-profile.js +33 -0
  275. package/dist/services/profiles/active-profile.js.map +1 -0
  276. package/dist/services/profiles/index.d.ts +9 -0
  277. package/dist/services/profiles/index.d.ts.map +1 -0
  278. package/dist/services/profiles/index.js +9 -0
  279. package/dist/services/profiles/index.js.map +1 -0
  280. package/dist/services/profiles/labels.d.ts +7 -0
  281. package/dist/services/profiles/labels.d.ts.map +1 -0
  282. package/dist/services/profiles/labels.js +22 -0
  283. package/dist/services/profiles/labels.js.map +1 -0
  284. package/dist/services/profiles/legacy-adapter.d.ts +28 -0
  285. package/dist/services/profiles/legacy-adapter.d.ts.map +1 -0
  286. package/dist/services/profiles/legacy-adapter.js +69 -0
  287. package/dist/services/profiles/legacy-adapter.js.map +1 -0
  288. package/dist/services/profiles/profile-transition.d.ts +48 -0
  289. package/dist/services/profiles/profile-transition.d.ts.map +1 -0
  290. package/dist/services/profiles/profile-transition.js +109 -0
  291. package/dist/services/profiles/profile-transition.js.map +1 -0
  292. package/dist/services/profiles/registry.d.ts +17 -0
  293. package/dist/services/profiles/registry.d.ts.map +1 -0
  294. package/dist/services/profiles/registry.js +147 -0
  295. package/dist/services/profiles/registry.js.map +1 -0
  296. package/dist/services/profiles/resolver.d.ts +10 -0
  297. package/dist/services/profiles/resolver.d.ts.map +1 -0
  298. package/dist/services/profiles/resolver.js +573 -0
  299. package/dist/services/profiles/resolver.js.map +1 -0
  300. package/dist/services/profiles/schema.d.ts +960 -0
  301. package/dist/services/profiles/schema.d.ts.map +1 -0
  302. package/dist/services/profiles/schema.js +196 -0
  303. package/dist/services/profiles/schema.js.map +1 -0
  304. package/dist/services/profiles/types.d.ts +224 -0
  305. package/dist/services/profiles/types.d.ts.map +1 -0
  306. package/dist/services/profiles/types.js +9 -0
  307. package/dist/services/profiles/types.js.map +1 -0
  308. package/dist/services/retry/committed-tool-continuation.d.ts +5 -0
  309. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
  310. package/dist/services/retry/committed-tool-continuation.js +6 -3
  311. package/dist/services/retry/committed-tool-continuation.js.map +1 -1
  312. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  313. package/dist/services/retry/retry-classifier.js +13 -10
  314. package/dist/services/retry/retry-classifier.js.map +1 -1
  315. package/dist/services/retry/retry-error-classification.d.ts +7 -0
  316. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  317. package/dist/services/retry/retry-error-classification.js +32 -9
  318. package/dist/services/retry/retry-error-classification.js.map +1 -1
  319. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  320. package/dist/services/runtime-setting-router.js +76 -23
  321. package/dist/services/runtime-setting-router.js.map +1 -1
  322. package/dist/services/session/initial-turn-recovery-handler.js +4 -4
  323. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  324. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  325. package/dist/services/session/session-input-planner.js +2 -9
  326. package/dist/services/session/session-input-planner.js.map +1 -1
  327. package/dist/services/session/session-manager.d.ts.map +1 -1
  328. package/dist/services/session/session-manager.js +4 -1
  329. package/dist/services/session/session-manager.js.map +1 -1
  330. package/dist/services/session-rollover/session-rollover-brief.d.ts +2 -1
  331. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  332. package/dist/services/session-rollover/session-rollover-brief.js +5 -3
  333. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  334. package/dist/services/settings/settings-persistence.js +1 -1
  335. package/dist/services/settings/settings-persistence.js.map +1 -1
  336. package/dist/services/settings/settings-schema.d.ts +124 -15
  337. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  338. package/dist/services/settings/settings-schema.js +110 -26
  339. package/dist/services/settings/settings-schema.js.map +1 -1
  340. package/dist/services/settings/settings-service.d.ts +3 -1
  341. package/dist/services/settings/settings-service.d.ts.map +1 -1
  342. package/dist/services/settings/settings-service.js +88 -91
  343. package/dist/services/settings/settings-service.js.map +1 -1
  344. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  345. package/dist/services/settings/settings-sources.js +13 -0
  346. package/dist/services/settings/settings-sources.js.map +1 -1
  347. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -2
  348. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  349. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +15 -0
  350. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  351. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  352. package/dist/services/subagents/mentor-runner.js +5 -2
  353. package/dist/services/subagents/mentor-runner.js.map +1 -1
  354. package/dist/services/subagents/subagent-notification-store.d.ts +10 -2
  355. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  356. package/dist/services/subagents/subagent-notification-store.js +10 -5
  357. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  358. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  359. package/dist/services/subagents/tool-policy.js +10 -15
  360. package/dist/services/subagents/tool-policy.js.map +1 -1
  361. package/dist/services/tool-toggles.d.ts +20 -0
  362. package/dist/services/tool-toggles.d.ts.map +1 -0
  363. package/dist/services/tool-toggles.js +115 -0
  364. package/dist/services/tool-toggles.js.map +1 -0
  365. package/dist/slash-commands.d.ts +3 -0
  366. package/dist/slash-commands.d.ts.map +1 -1
  367. package/dist/slash-commands.js.map +1 -1
  368. package/dist/tools/agent/configure-task-check-in.d.ts +2 -0
  369. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -1
  370. package/dist/tools/agent/configure-task-check-in.js +14 -6
  371. package/dist/tools/agent/configure-task-check-in.js.map +1 -1
  372. package/dist/tools/file/apply-patch.d.ts +2 -15
  373. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  374. package/dist/tools/file/apply-patch.js +163 -98
  375. package/dist/tools/file/apply-patch.js.map +1 -1
  376. package/dist/tools/file/upstream-apply-patch.d.ts +31 -0
  377. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -0
  378. package/dist/tools/file/upstream-apply-patch.js +123 -0
  379. package/dist/tools/file/upstream-apply-patch.js.map +1 -0
  380. package/dist/tools/format-helpers.d.ts +2 -0
  381. package/dist/tools/format-helpers.d.ts.map +1 -1
  382. package/dist/tools/format-helpers.js.map +1 -1
  383. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
  384. package/dist/tools/session-browser/session-browser-tools.js +11 -1
  385. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  386. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  387. package/dist/tools/session-rollover/session-rollover-tool.js +10 -1
  388. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  389. package/dist/tools/system/shell.d.ts.map +1 -1
  390. package/dist/tools/system/shell.js +8 -2
  391. package/dist/tools/system/shell.js.map +1 -1
  392. package/dist/tools/types.d.ts +15 -2
  393. package/dist/tools/types.d.ts.map +1 -1
  394. package/dist/tools/types.js.map +1 -1
  395. package/dist/utils/ai/token-usage.d.ts +7 -0
  396. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  397. package/dist/utils/ai/token-usage.js +6 -2
  398. package/dist/utils/ai/token-usage.js.map +1 -1
  399. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  400. package/dist/utils/conversation/conversation-utils.js +40 -1
  401. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  402. package/dist/utils/conversation/message-buffer.d.ts +16 -0
  403. package/dist/utils/conversation/message-buffer.d.ts.map +1 -1
  404. package/dist/utils/conversation/message-buffer.js +33 -0
  405. package/dist/utils/conversation/message-buffer.js.map +1 -1
  406. package/dist/utils/output/trim-tool-output.d.ts +1 -1
  407. package/dist/utils/output/trim-tool-output.d.ts.map +1 -1
  408. package/dist/utils/output/trim-tool-output.js +20 -0
  409. package/dist/utils/output/trim-tool-output.js.map +1 -1
  410. package/dist/utils/resume-list.d.ts +2 -0
  411. package/dist/utils/resume-list.d.ts.map +1 -1
  412. package/dist/utils/resume-list.js +7 -14
  413. package/dist/utils/resume-list.js.map +1 -1
  414. package/dist/utils/settings-command.d.ts.map +1 -1
  415. package/dist/utils/settings-command.js +95 -9
  416. package/dist/utils/settings-command.js.map +1 -1
  417. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  418. package/dist/utils/streaming/streaming-session-factory.js +12 -0
  419. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  420. package/dist/utils/streaming/streaming-speed-tracker.d.ts +15 -0
  421. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -1
  422. package/dist/utils/streaming/streaming-speed-tracker.js +18 -1
  423. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -1
  424. package/package.json +3 -3
package/dist/app.js CHANGED
@@ -15,7 +15,7 @@ import { ConversationConfigurationService } from './services/runtime-setting-rou
15
15
  import { useShellMode } from './hooks/use-shell-mode.js';
16
16
  import { ShellInteractionSession } from './services/shell/shell-interaction-session.js';
17
17
  import { useAppCommands } from './hooks/use-app-commands.js';
18
- import { EXCLUSIVE_MODE_KEYS } from './commands/mode-commands.js';
18
+ import { ProfileTransitionService } from './services/profiles/profile-transition.js';
19
19
  import { useHandoffFlow } from './hooks/use-handoff-flow.js';
20
20
  import { useTerminalFocusNotifier } from './hooks/use-terminal-focus-notifier.js';
21
21
  import { useAppKeyboardShortcuts } from './hooks/use-app-keyboard-shortcuts.js';
@@ -34,7 +34,7 @@ import { useFirstRunSetupGate } from './hooks/use-first-run-setup.js';
34
34
  import { TOOL_NAME_ASK_USER } from './tools/tool-names.js';
35
35
  import { copyToClipboard } from './utils/clipboard.js';
36
36
  import { isConversationLocked, listConversations, loadConversationForProject, loadLastConversation, } from './services/conversation/conversation-persistence.js';
37
- import { normalizeAppModes } from './services/settings/settings-schema.js';
37
+ import { profileIdFromLegacyMode } from './services/profiles/legacy-adapter.js';
38
38
  import { composeSessionRolloverBrief } from './services/session-rollover/session-rollover-brief.js';
39
39
  export { appendStartupBannerId, clearTerminalForRedraw, clearVisibleForResize, messagesHaveNonSystemContent, scheduleExitSideEffects, TERMINAL_REDRAW_CLEAR, } from './app-helpers.js';
40
40
  /**
@@ -65,6 +65,8 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
65
65
  const [backgroundTaskManagerOpen, setBackgroundTaskManagerOpen] = useState(false);
66
66
  const handleClearConversationRef = useRef(null);
67
67
  const sessionRolloverHandlerRef = useRef(null);
68
+ const latestRotatedSessionIdRef = useRef(undefined);
69
+ const pendingRolloverSuccessorIdRef = useRef(undefined);
68
70
  const pendingSkillRef = useRef(null);
69
71
  const sandboxApprovalCoordinatorRef = useRef(null);
70
72
  const [sandboxPromptRequest, setSandboxPromptRequest] = useState(null);
@@ -111,16 +113,21 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
111
113
  // rolls out the adopted-subagent approval channel.
112
114
  const backgroundApprovalState = backgroundSubagentApproval ?? { revision: 0, current: null, pendingCount: 0, closed: false };
113
115
  const backgroundApprovalEntry = backgroundApprovalState.current;
116
+ const rolloverSourceSessionIdRef = useRef(undefined);
114
117
  // Notify cli.tsx when the conversation has content so it can decide whether
115
118
  // to show the "To resume this conversation" message.
116
119
  useEffect(() => {
117
120
  onHasConversationContent?.(messagesHaveNonSystemContent(messages));
118
121
  }, [messages, onHasConversationContent]);
119
122
  const handleClearConversation = useCallback(async () => {
120
- const newId = generateId();
123
+ const newId = pendingRolloverSuccessorIdRef.current ?? generateId();
124
+ pendingRolloverSuccessorIdRef.current = undefined;
125
+ latestRotatedSessionIdRef.current = newId;
121
126
  const newCreatedAt = new Date().toISOString();
127
+ const rolloverFrom = rolloverSourceSessionIdRef.current;
128
+ rolloverSourceSessionIdRef.current = undefined;
122
129
  if (onRotateWriter) {
123
- onRotateWriter(newId);
130
+ onRotateWriter(newId, newCreatedAt, rolloverFrom);
124
131
  }
125
132
  conversationService.resetWithNewId(newId);
126
133
  setSessionId(newId);
@@ -138,6 +145,12 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
138
145
  conversationService,
139
146
  settingsService,
140
147
  }), [setModel, setReasoningEffort, setTemperature, conversationService, settingsService]);
148
+ const queueModeNotice = useCallback((text) => conversationService.queueModeNotice(text), [conversationService]);
149
+ const profileTransitionService = useMemo(() => new ProfileTransitionService({
150
+ settingsService,
151
+ rebuildAgent: () => setModel(settingsService.get('agent.model')),
152
+ queueModeNotice,
153
+ }), [setModel, queueModeNotice, settingsService]);
141
154
  const applyRuntimeSetting = useCallback((key, value) => configurationService.applyRuntimeSetting(key, value), [configurationService]);
142
155
  const applySetupProvider = useCallback((provider) => {
143
156
  configurationService.apply([{ key: 'agent.provider', value: provider, persistence: 'runtime' }]);
@@ -166,9 +179,37 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
166
179
  setMessageListEpoch((epoch) => epoch + 1);
167
180
  }, [clearConversation, onPrintUsage]);
168
181
  sessionRolloverHandlerRef.current = async (request) => {
169
- const briefing = composeSessionRolloverBrief({ previousSessionId: sessionId, request });
170
- conversationService.logSessionRollover(request);
182
+ const sourceSessionId = sessionId;
183
+ conversationService.logSessionRollover({
184
+ type: 'session_rollover',
185
+ phase: 'requested',
186
+ rolloverId: request.rolloverId,
187
+ sourceSessionId,
188
+ ...(request.reason ? { reason: request.reason } : {}),
189
+ briefSize: request.brief.length,
190
+ ...(request.providerInputTokens !== undefined ? { providerInputTokens: request.providerInputTokens } : {}),
191
+ });
192
+ const plannedSuccessorId = generateId();
193
+ pendingRolloverSuccessorIdRef.current = plannedSuccessorId;
194
+ latestRotatedSessionIdRef.current = plannedSuccessorId;
195
+ rolloverSourceSessionIdRef.current = sessionId;
171
196
  await clearConversationAndRefreshBanner();
197
+ const successorSessionId = latestRotatedSessionIdRef.current;
198
+ if (!successorSessionId)
199
+ throw new Error('Session rollover completed without a successor session ID.');
200
+ const settlementLatencyMs = Math.max(0, Date.now() - request.requestedAt);
201
+ conversationService.logSessionRollover({
202
+ type: 'session_rollover',
203
+ phase: 'completed',
204
+ rolloverId: request.rolloverId,
205
+ sourceSessionId,
206
+ successorSessionId,
207
+ ...(request.reason ? { reason: request.reason } : {}),
208
+ briefSize: request.brief.length,
209
+ ...(request.providerInputTokens !== undefined ? { providerInputTokens: request.providerInputTokens } : {}),
210
+ settlementLatencyMs,
211
+ });
212
+ const briefing = composeSessionRolloverBrief({ previousSessionId: sourceSessionId, successorSessionId, request });
172
213
  await sendSessionRolloverBrief(briefing);
173
214
  };
174
215
  const handoff = useHandoffFlow({
@@ -179,6 +220,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
179
220
  controller,
180
221
  settingsService,
181
222
  applyRuntimeSetting,
223
+ queueModeNotice,
182
224
  setModel,
183
225
  configurationService,
184
226
  });
@@ -244,22 +286,13 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
244
286
  const handleModeSwitchConfirm = useCallback(async () => {
245
287
  if (!pendingModeSwitch)
246
288
  return;
247
- const { modeKey, modeLabel, targetValue, enabledDetail } = pendingModeSwitch;
289
+ const { targetProfileId, modeLabel, targetValue, enabledDetail } = pendingModeSwitch;
248
290
  setPendingModeSwitch(null);
249
291
  await clearConversationAndRefreshBanner();
250
- if (targetValue) {
251
- for (const key of EXCLUSIVE_MODE_KEYS) {
252
- if (key !== modeKey && settingsService.get(key)) {
253
- settingsService.set(key, false);
254
- applyRuntimeSetting(key, false);
255
- }
256
- }
257
- }
258
- settingsService.set(modeKey, targetValue);
259
- applyRuntimeSetting(modeKey, targetValue);
292
+ profileTransitionService.activate(targetProfileId);
260
293
  addSystemMessage('Welcome to term²! Type a message to start chatting.');
261
294
  addSystemMessage(`${modeLabel} mode ${targetValue ? `enabled${enabledDetail ?? ''}` : 'disabled'}`);
262
- }, [pendingModeSwitch, clearConversationAndRefreshBanner, settingsService, applyRuntimeSetting, addSystemMessage]);
295
+ }, [pendingModeSwitch, clearConversationAndRefreshBanner, profileTransitionService, addSystemMessage]);
263
296
  const handleModeSwitchDecline = useCallback(() => {
264
297
  setPendingModeSwitch(null);
265
298
  }, []);
@@ -285,6 +318,12 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
285
318
  addSystemMessage(`Conversation ${target} belongs to a different project.`);
286
319
  return;
287
320
  }
321
+ if (result.status === 'ambiguous') {
322
+ addSystemMessage(`Conversation reference ${target} is ambiguous. Candidates: ${result.candidates
323
+ .map((candidate) => `${candidate.shortRef} (${candidate.id})`)
324
+ .join(', ')}.`);
325
+ return;
326
+ }
288
327
  if (result.status === 'unreadable') {
289
328
  addSystemMessage(`Conversation ${target} could not be read.`);
290
329
  return;
@@ -314,14 +353,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
314
353
  onRotateWriter?.(restored.id, restored.createdAt);
315
354
  }
316
355
  conversationService.resetWithNewId(restored.id);
317
- const mode = restored.appMode
318
- ? normalizeAppModes({
319
- orchestratorMode: Boolean(restored.appMode.orchestratorMode),
320
- liteMode: restored.appMode.liteMode,
321
- planMode: restored.appMode.planMode,
322
- mentorMode: restored.appMode.mentorMode,
323
- })
324
- : undefined;
356
+ const profileId = restored.activeProfileId ?? (restored.appMode ? profileIdFromLegacyMode(restored.appMode) : undefined);
325
357
  const changes = [
326
358
  ...(restored.model ? [{ key: 'agent.model', value: restored.model, persistence: 'runtime' }] : []),
327
359
  ...(restored.provider
@@ -331,14 +363,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
331
363
  ['default', 'none', 'minimal', 'low', 'medium', 'high', 'xhigh'].includes(restored.reasoningEffort)
332
364
  ? [{ key: 'agent.reasoningEffort', value: restored.reasoningEffort, persistence: 'runtime' }]
333
365
  : []),
334
- ...(mode
335
- ? [
336
- { key: 'app.orchestratorMode', value: mode.orchestratorMode, persistence: 'runtime' },
337
- { key: 'app.liteMode', value: mode.liteMode, persistence: 'runtime' },
338
- { key: 'app.planMode', value: mode.planMode, persistence: 'runtime' },
339
- { key: 'app.mentorMode', value: mode.mentorMode, persistence: 'runtime' },
340
- ]
341
- : []),
366
+ ...(profileId ? [{ key: 'app.activeProfileId', value: profileId, persistence: 'runtime' }] : []),
342
367
  ];
343
368
  configurationService.apply(changes);
344
369
  const savedProviderMatches = !restored.provider || restored.provider === settingsService.get('agent.provider');
@@ -478,6 +503,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
478
503
  }, [addSystemMessage]);
479
504
  const { slashCommands, cycleAppModes } = useAppCommands({
480
505
  settingsService,
506
+ transitionService: profileTransitionService,
481
507
  addSystemMessage,
482
508
  applyRuntimeSetting,
483
509
  replaceInput,
@@ -673,8 +699,8 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
673
699
  setTerminalTitle(buildTerminalTitleLabel(terminalTitleBase, isOverallBusy));
674
700
  }, [isOverallBusy, terminalTitleBase]);
675
701
  useEffect(() => {
676
- publishHarnessInputState({ owner: inputOwner.kind, processing: effectiveIsProcessing });
677
- }, [effectiveIsProcessing, inputOwner.kind]);
702
+ publishHarnessInputState({ owner: inputOwner.kind, processing: effectiveIsProcessing, inputValue: input });
703
+ }, [effectiveIsProcessing, input, inputOwner.kind]);
678
704
  const handleNavigateQuestion = useCallback((direction) => {
679
705
  if (direction === 'prev') {
680
706
  goToPreviousQuestion();
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -25,7 +25,7 @@ import { killLiveShellChildren } from './utils/shell/execute-shell.js';
25
25
  import { createConversationLogWriter, LockConflictError } from './services/logging/conversation-log-writer.js';
26
26
  import { AGENT_AFFECTING_SETTINGS } from './services/logging/conversation-log-events.js';
27
27
  import { installPlanModeInterceptor } from './services/plan-mode-interceptor.js';
28
- import { normalizeAppModes } from './services/settings/settings-schema.js';
28
+ import { legacyModeFromProfileId, LITE_PROFILE_ID, profileIdFromLegacyMode, } from './services/profiles/legacy-adapter.js';
29
29
  import { createOwnedSessionClientFactory } from './services/session/session-client-factory.js';
30
30
  import os from 'os';
31
31
  import fs from 'fs';
@@ -117,7 +117,7 @@ const cli = meow(`
117
117
  $ term2 [options] --resume [conversation-id|ls]
118
118
 
119
119
  Options
120
- -m, --model <model> Override the configured model (e.g. gpt-5.4)
120
+ -m, --model <model> Model pattern or ID, supports provider/id and optional :<thinking>
121
121
  -p, --provider <provider> Override the configured provider (e.g. openai, openrouter)
122
122
  -r, --reasoning <effort> Set reasoning effort (default, none, minimal, low, medium, high, xhigh)
123
123
  -l, --lite Start in lite mode (minimal context, session-only)
@@ -130,6 +130,7 @@ const cli = meow(`
130
130
  --ssh-port <port> SSH port (default: 22)
131
131
  --grok-login Log in to Grok in a browser (OAuth) and exit
132
132
  --codex-login Log in to Codex/ChatGPT in a browser (OAuth) and exit
133
+ --list-models [search] Print available models grouped by provider, filtered by an optional search term
133
134
  -R, --resume [conversation-id|ls] Resume the last conversation, a specific ID, or list recent conversations
134
135
  --fork Fork the resumed conversation into a new session (requires --resume)
135
136
  -h, --help Show help
@@ -153,6 +154,8 @@ const cli = meow(`
153
154
  $ term2 --resume ls
154
155
  $ term2 --grok-login
155
156
  $ term2 --codex-login
157
+ $ term2 --list-models
158
+ $ term2 --list-models gpt-5
156
159
  $ term2 --ssh user@host --remote-dir /path/to/project
157
160
  $ term2 --ssh user@host --remote-dir /path/to/project --ssh-port 2222
158
161
  `, {
@@ -219,6 +222,10 @@ const cli = meow(`
219
222
  type: 'boolean',
220
223
  default: false,
221
224
  },
225
+ listModels: {
226
+ type: 'boolean',
227
+ default: false,
228
+ },
222
229
  },
223
230
  });
224
231
  function oauthLoginIo(providerLabel) {
@@ -260,6 +267,45 @@ if (cli.flags.codexLogin) {
260
267
  process.exit(1);
261
268
  }
262
269
  }
270
+ // Model listing is a standalone errand like the logins above: it prints and
271
+ // exits before any Ink, session, or profile setup. It does need settings,
272
+ // because model availability is credential-gated at the same boundary the
273
+ // /model picker uses. The optional positional search term is consumed here,
274
+ // ahead of the resume/prompt positional handling below.
275
+ if (cli.flags.listModels) {
276
+ // --list-models is a standalone errand and does not start or touch a
277
+ // session, so it cannot coexist with flags that select or manipulate a
278
+ // conversation: --resume/--fork consume the same leading positional this
279
+ // block reads as a search term, and would otherwise be silently
280
+ // misinterpreted rather than honored. Flags that only affect model
281
+ // resolution, output shape, or session startup once a session actually
282
+ // begins (--model, --provider, --reasoning, --lite, --auto-approve,
283
+ // --quiet, --show-reasoning, --json, --ssh, --remote-dir, --ssh-port) are
284
+ // harmless alongside a listing and are intentionally not rejected here.
285
+ if (cli.flags.resume || cli.flags.fork) {
286
+ console.error('Error: --list-models cannot be combined with --resume or --fork.');
287
+ process.exit(1);
288
+ }
289
+ if (cli.input.length > 1) {
290
+ console.error('Error: --list-models accepts at most one search term.');
291
+ process.exit(1);
292
+ }
293
+ const { runListModels } = await import('./services/models/model-listing.js');
294
+ const listingLogger = new LoggingService({ sessionContextService: new SessionContextService() });
295
+ const listingSettings = new SettingsService({ env: buildEnvOverrides(), loggingService: listingLogger });
296
+ const outcome = await runListModels({
297
+ settingsService: listingSettings,
298
+ loggingService: listingLogger,
299
+ search: cli.input[0]?.trim(),
300
+ });
301
+ for (const warning of outcome.warnings)
302
+ console.error(warning);
303
+ if (outcome.error)
304
+ console.error(outcome.error);
305
+ if (outcome.output)
306
+ console.log(outcome.output);
307
+ process.exit(outcome.exitCode);
308
+ }
263
309
  const resumeRequested = Boolean(cli.flags.resume);
264
310
  const forkRequested = Boolean(cli.flags.fork);
265
311
  const resumeTarget = resumeRequested ? cli.input[0]?.trim() : undefined;
@@ -330,6 +376,13 @@ if (resumeRequested) {
330
376
  const result = resumeProjectPath
331
377
  ? loadConversationForProject(resumeTarget, resumeProjectPath, expectedSshHost)
332
378
  : { status: 'not_found' };
379
+ if (result.status === 'ambiguous') {
380
+ console.error(`Error: Conversation reference ${resumeTarget} is ambiguous.`);
381
+ for (const candidate of result.candidates) {
382
+ console.error(` ${candidate.shortRef} ${candidate.id}`);
383
+ }
384
+ process.exit(1);
385
+ }
333
386
  if (result.status === 'project_mismatch') {
334
387
  console.error(`Error: Conversation ${resumeTarget} belongs to a different project path (${result.conversation.projectPath ?? 'unknown'}).`);
335
388
  console.error(`Current project path: ${resumeProjectPath ?? 'unknown'}`);
@@ -385,10 +438,7 @@ if (resumedConversation) {
385
438
  if (resumedConversation.appMode) {
386
439
  cliOverrides.app = {
387
440
  ...cliOverrides.app,
388
- mentorMode: resumedConversation.appMode.mentorMode,
389
- liteMode: resumedConversation.appMode.liteMode,
390
- planMode: resumedConversation.appMode.planMode,
391
- orchestratorMode: resumedConversation.appMode.orchestratorMode ?? false,
441
+ activeProfileId: resumedConversation.activeProfileId ?? profileIdFromLegacyMode(resumedConversation.appMode),
392
442
  };
393
443
  }
394
444
  }
@@ -409,8 +459,8 @@ const sessionContextService = new SessionContextService();
409
459
  const logger = new LoggingService({
410
460
  sessionContextService,
411
461
  });
412
- // Build settings with CLI overrides applied first so we can read persisted
413
- // exclusive modes before deciding the implicit lite default.
462
+ // Build settings with CLI overrides applied first so we can read the canonical
463
+ // Profile selection before deciding the implicit lite default.
414
464
  const settings = new SettingsService({
415
465
  env: buildEnvOverrides(),
416
466
  cli: Object.keys(cliOverrides).length > 0
@@ -430,39 +480,67 @@ if (providerFlag && !getProviderIds().includes(providerFlag)) {
430
480
  console.error('\nYou can configure custom providers in your settings.json file.');
431
481
  process.exit(1);
432
482
  }
483
+ if (modelFlag) {
484
+ const { resolveModelFlag } = await import('./services/models/model-resolution.js');
485
+ const resolution = await resolveModelFlag({
486
+ modelFlag,
487
+ providerFlag,
488
+ settingsService: settings,
489
+ loggingService: logger,
490
+ });
491
+ if (resolution.status === 'no_match') {
492
+ console.error(resolution.error);
493
+ process.exit(1);
494
+ }
495
+ if (resolution.status === 'cancelled') {
496
+ console.error('Cancelled.');
497
+ process.exit(1);
498
+ }
499
+ // Surfaces provider catalogs that failed to load while resolution still
500
+ // proceeded, so a partial outage never silently narrows what was matched.
501
+ if ('warnings' in resolution && resolution.warnings) {
502
+ for (const warning of resolution.warnings) {
503
+ console.error(warning);
504
+ }
505
+ }
506
+ // --model is a per-session override like every other CLI flag; it must not
507
+ // rewrite the user's persisted defaults (set() persists by default).
508
+ settings.set('agent.model', resolution.modelId, { persist: false });
509
+ if (resolution.provider) {
510
+ settings.set('agent.provider', resolution.provider, { persist: false });
511
+ }
512
+ if (resolution.reasoningEffort && !validatedReasoningEffort) {
513
+ settings.set('agent.reasoningEffort', resolution.reasoningEffort, { persist: false });
514
+ }
515
+ }
433
516
  // Fresh sessions honor --lite/non-interactive defaults. Resumed sessions keep
434
517
  // the saved mode profile so prompt/tool behavior matches the conversation.
435
518
  // IMPORTANT: only apply the implicit lite default when no other exclusive mode
436
519
  // is already active (orchestrator or mentor take precedence).
437
520
  {
438
- let resolvedLiteMode;
521
+ let profileId;
439
522
  if (resumedConversation) {
440
- resolvedLiteMode = cliOverrides.app?.liteMode ?? false;
523
+ profileId = cli.flags.lite
524
+ ? LITE_PROFILE_ID
525
+ : resumedConversation.activeProfileId ??
526
+ (resumedConversation.appMode
527
+ ? profileIdFromLegacyMode(resumedConversation.appMode)
528
+ : String(settings.get('app.activeProfileId')));
441
529
  }
442
530
  else if (cli.flags.lite) {
443
- resolvedLiteMode = true;
531
+ profileId = LITE_PROFILE_ID;
444
532
  }
445
533
  else {
446
534
  const implicitLite = Boolean(hasPositionalPrompt && !cli.flags.autoApprove);
447
- const persistedOrchestrator = settings.get('app.orchestratorMode');
448
- const persistedMentor = settings.get('app.mentorMode');
535
+ const persistedProfileId = String(settings.get('app.activeProfileId'));
449
536
  // Implicit lite must not override a higher-precedence mode already persisted.
450
- resolvedLiteMode = implicitLite && !persistedOrchestrator && !persistedMentor;
537
+ profileId =
538
+ implicitLite && persistedProfileId !== 'builtin:orchestrator' && persistedProfileId !== 'builtin:mentor'
539
+ ? LITE_PROFILE_ID
540
+ : persistedProfileId;
451
541
  }
452
- settings.set('app.liteMode', resolvedLiteMode, { persist: false });
542
+ settings.set('app.activeProfileId', profileId, { persist: false });
453
543
  }
454
- // Normalize all mode flags to enforce mutual exclusion with a consistent
455
- // precedence: orchestratorMode > liteMode > planMode > mentorMode.
456
- const normalized = normalizeAppModes({
457
- orchestratorMode: settings.get('app.orchestratorMode'),
458
- liteMode: settings.get('app.liteMode'),
459
- planMode: settings.get('app.planMode'),
460
- mentorMode: settings.get('app.mentorMode'),
461
- });
462
- settings.set('app.orchestratorMode', normalized.orchestratorMode, { persist: false });
463
- settings.set('app.liteMode', normalized.liteMode, { persist: false });
464
- settings.set('app.planMode', normalized.planMode, { persist: false });
465
- settings.set('app.mentorMode', normalized.mentorMode, { persist: false });
466
544
  // SSH Handling
467
545
  const sshFlag = cli.flags.ssh;
468
546
  const remoteDirFlag = cli.flags.remoteDir;
@@ -742,23 +820,22 @@ const logWriterDir = getConversationsDir();
742
820
  // once at startup; sidecars for still-resumable crashed sessions are kept.
743
821
  collectOrphanedDeltaSidecars();
744
822
  const logWriter = createConversationLogWriter({ sessionId: effectiveSessionId, dir: logWriterDir, logger });
745
- function buildInitMeta(id, createdAt) {
823
+ function buildInitMeta(id, createdAt, rolloverFrom) {
746
824
  const cwd = executionContext?.getCwd();
825
+ const persistedRolloverFrom = rolloverFrom ?? (resumedConversation?.id === id ? resumedConversation.rolloverFrom : undefined);
826
+ const activeProfileId = settings.get('app.activeProfileId');
747
827
  return {
748
828
  id,
749
829
  createdAt,
750
830
  ...(cwd ? { projectPath: cwd } : {}),
751
831
  ...(sshInfo?.host ? { sshHost: sshInfo.host } : {}),
752
- appMode: {
753
- mentorMode: settings.get('app.mentorMode') ?? false,
754
- liteMode: settings.get('app.liteMode') ?? false,
755
- planMode: settings.get('app.planMode') ?? false,
756
- orchestratorMode: settings.get('app.orchestratorMode') ?? false,
757
- },
832
+ activeProfileId,
833
+ appMode: legacyModeFromProfileId(activeProfileId),
758
834
  ...(settings.get('agent.model') ? { model: settings.get('agent.model') } : {}),
759
835
  ...(settings.get('agent.provider') ? { provider: settings.get('agent.provider') } : {}),
760
836
  ...(settings.get('agent.reasoningEffort') ? { reasoningEffort: settings.get('agent.reasoningEffort') } : {}),
761
837
  ...(resumedConversation?.forkedFrom ? { forkedFrom: resumedConversation.forkedFrom } : {}),
838
+ ...(persistedRolloverFrom ? { rolloverFrom: persistedRolloverFrom } : {}),
762
839
  };
763
840
  }
764
841
  try {
@@ -791,9 +868,9 @@ import { InputProvider } from './context/InputContext.js';
791
868
  // individual write() breaks that frame-level atomicity and makes the terminal
792
869
  // paint blank/partial intermediate frames — visible flicker while streaming.
793
870
  const { waitUntilExit } = render((React.createElement(InputProvider, null,
794
- React.createElement(App, { conversationService: conversationService, settingsService: settings, historyService: history, loggingService: logger, skillsService: skillsService, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, subagentUsageAccumulator: subagentUsageAccumulator, costAccumulator: sessionCostAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages, restoredStaticMessageIds: restoredStaticMessageIds, logWriter: logWriter, onRotateWriter: (newId, createdAt) => {
871
+ React.createElement(App, { conversationService: conversationService, settingsService: settings, historyService: history, loggingService: logger, skillsService: skillsService, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, subagentUsageAccumulator: subagentUsageAccumulator, costAccumulator: sessionCostAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages, restoredStaticMessageIds: restoredStaticMessageIds, logWriter: logWriter, onRotateWriter: (newId, createdAt, rolloverFrom) => {
795
872
  logWriter.append({ type: 'session_cleared' });
796
- logWriter.rotate(newId, buildInitMeta(newId, createdAt ?? new Date().toISOString()));
873
+ logWriter.rotate(newId, buildInitMeta(newId, createdAt ?? new Date().toISOString(), rolloverFrom));
797
874
  effectiveHasConversationContent = false;
798
875
  }, generateId: generateId, onSessionIdChange: (newId, createdAt) => {
799
876
  effectiveSessionId = newId;