@qduc/term2 0.19.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 (457) hide show
  1. package/dist/agent.d.ts +9 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +151 -93
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts +1 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +62 -36
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +122 -41
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  12. package/dist/commands/guarded-settings-command.js +33 -5
  13. package/dist/commands/guarded-settings-command.js.map +1 -1
  14. package/dist/commands/mode-commands.d.ts +17 -12
  15. package/dist/commands/mode-commands.d.ts.map +1 -1
  16. package/dist/commands/mode-commands.js +68 -44
  17. package/dist/commands/mode-commands.js.map +1 -1
  18. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  19. package/dist/components/input/ApplicationInputSurface.js +4 -0
  20. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  21. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  22. package/dist/components/input/MenuSurface.js +1 -0
  23. package/dist/components/input/MenuSurface.js.map +1 -1
  24. package/dist/components/input/ProfileMenuSession.d.ts +16 -0
  25. package/dist/components/input/ProfileMenuSession.d.ts.map +1 -0
  26. package/dist/components/input/ProfileMenuSession.js +64 -0
  27. package/dist/components/input/ProfileMenuSession.js.map +1 -0
  28. package/dist/components/input/determine-active-menu.d.ts +3 -0
  29. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  30. package/dist/components/input/determine-active-menu.js +6 -1
  31. package/dist/components/input/determine-active-menu.js.map +1 -1
  32. package/dist/components/input/menu-registry.d.ts.map +1 -1
  33. package/dist/components/input/menu-registry.js +2 -0
  34. package/dist/components/input/menu-registry.js.map +1 -1
  35. package/dist/components/input/menu-types.d.ts +4 -0
  36. package/dist/components/input/menu-types.d.ts.map +1 -1
  37. package/dist/components/input/triggers.d.ts +1 -0
  38. package/dist/components/input/triggers.d.ts.map +1 -1
  39. package/dist/components/input/triggers.js +26 -0
  40. package/dist/components/input/triggers.js.map +1 -1
  41. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  42. package/dist/components/layout/BackgroundTaskManager.js +6 -2
  43. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  44. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  45. package/dist/components/layout/BackgroundTasksPanel.js +16 -8
  46. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  47. package/dist/components/layout/Banner.d.ts.map +1 -1
  48. package/dist/components/layout/Banner.js +10 -5
  49. package/dist/components/layout/Banner.js.map +1 -1
  50. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  51. package/dist/components/layout/BottomArea.js +4 -3
  52. package/dist/components/layout/BottomArea.js.map +1 -1
  53. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  54. package/dist/components/layout/StatusBar.js +28 -13
  55. package/dist/components/layout/StatusBar.js.map +1 -1
  56. package/dist/components/menu/ProfileSelectionMenu.d.ts +12 -0
  57. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -0
  58. package/dist/components/menu/ProfileSelectionMenu.js +48 -0
  59. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -0
  60. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  61. package/dist/components/menu/ResumeSelectionMenu.js +6 -14
  62. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  63. package/dist/components/message/ChatMessage.js +1 -1
  64. package/dist/components/message/ChatMessage.js.map +1 -1
  65. package/dist/components/message/MessageList.d.ts.map +1 -1
  66. package/dist/components/message/MessageList.js +32 -16
  67. package/dist/components/message/MessageList.js.map +1 -1
  68. package/dist/components/message/command-grouping.d.ts +6 -6
  69. package/dist/components/message/command-grouping.d.ts.map +1 -1
  70. package/dist/components/message/command-grouping.js +21 -8
  71. package/dist/components/message/command-grouping.js.map +1 -1
  72. package/dist/context/InputContext.d.ts +1 -1
  73. package/dist/context/InputContext.d.ts.map +1 -1
  74. package/dist/context/InputContext.js +8 -0
  75. package/dist/context/InputContext.js.map +1 -1
  76. package/dist/contracts/session-rollover.d.ts +9 -1
  77. package/dist/contracts/session-rollover.d.ts.map +1 -1
  78. package/dist/contracts/streamed-model-turn.d.ts +20 -2
  79. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  80. package/dist/gateway/gateway.d.ts.map +1 -1
  81. package/dist/gateway/gateway.js +19 -23
  82. package/dist/gateway/gateway.js.map +1 -1
  83. package/dist/gateway/launcher-seam.d.ts.map +1 -1
  84. package/dist/gateway/launcher-seam.js +2 -19
  85. package/dist/gateway/launcher-seam.js.map +1 -1
  86. package/dist/gateway/settings-rpc.d.ts +1 -1
  87. package/dist/gateway/settings-rpc.d.ts.map +1 -1
  88. package/dist/gateway/settings-rpc.js +2 -0
  89. package/dist/gateway/settings-rpc.js.map +1 -1
  90. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  91. package/dist/hooks/settings-completion-config.js +25 -3
  92. package/dist/hooks/settings-completion-config.js.map +1 -1
  93. package/dist/hooks/use-app-commands.d.ts +3 -1
  94. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  95. package/dist/hooks/use-app-commands.js +21 -14
  96. package/dist/hooks/use-app-commands.js.map +1 -1
  97. package/dist/hooks/use-conversation.d.ts +2 -2
  98. package/dist/hooks/use-conversation.d.ts.map +1 -1
  99. package/dist/hooks/use-conversation.js +1 -1
  100. package/dist/hooks/use-conversation.js.map +1 -1
  101. package/dist/hooks/use-handoff-flow.d.ts +1 -0
  102. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  103. package/dist/hooks/use-handoff-flow.js +19 -12
  104. package/dist/hooks/use-handoff-flow.js.map +1 -1
  105. package/dist/hooks/use-profile-selection.d.ts +34 -0
  106. package/dist/hooks/use-profile-selection.d.ts.map +1 -0
  107. package/dist/hooks/use-profile-selection.js +103 -0
  108. package/dist/hooks/use-profile-selection.js.map +1 -0
  109. package/dist/hooks/use-resume-selection.d.ts +2 -0
  110. package/dist/hooks/use-resume-selection.d.ts.map +1 -1
  111. package/dist/hooks/use-resume-selection.js +11 -9
  112. package/dist/hooks/use-resume-selection.js.map +1 -1
  113. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  114. package/dist/hooks/use-settings-value-completion.js +16 -0
  115. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  116. package/dist/hooks/use-skill-selection.d.ts +5 -3
  117. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  118. package/dist/hooks/use-skill-selection.js +8 -6
  119. package/dist/hooks/use-skill-selection.js.map +1 -1
  120. package/dist/lib/agent-client.d.ts +18 -0
  121. package/dist/lib/agent-client.d.ts.map +1 -1
  122. package/dist/lib/agent-client.js +69 -14
  123. package/dist/lib/agent-client.js.map +1 -1
  124. package/dist/lib/agent-configuration.d.ts +8 -0
  125. package/dist/lib/agent-configuration.d.ts.map +1 -1
  126. package/dist/lib/agent-configuration.js +7 -4
  127. package/dist/lib/agent-configuration.js.map +1 -1
  128. package/dist/lib/agent-factory.d.ts +8 -0
  129. package/dist/lib/agent-factory.d.ts.map +1 -1
  130. package/dist/lib/agent-factory.js +65 -41
  131. package/dist/lib/agent-factory.js.map +1 -1
  132. package/dist/lib/harness-input-idle.d.ts +10 -0
  133. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  134. package/dist/lib/harness-input-idle.js +47 -5
  135. package/dist/lib/harness-input-idle.js.map +1 -1
  136. package/dist/non-interactive.d.ts.map +1 -1
  137. package/dist/non-interactive.js +6 -6
  138. package/dist/non-interactive.js.map +1 -1
  139. package/dist/prompts/memory.md +1 -1
  140. package/dist/prompts/prefix-quality.test.ts +8 -5
  141. package/dist/prompts/prompt-constructor.d.ts +5 -6
  142. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  143. package/dist/prompts/prompt-constructor.js +15 -7
  144. package/dist/prompts/prompt-constructor.js.map +1 -1
  145. package/dist/prompts/prompt-constructor.test.ts +73 -48
  146. package/dist/prompts/prompt-constructor.ts +21 -13
  147. package/dist/prompts/session-browser.md +2 -0
  148. package/dist/prompts/shell-auto-approval.d.ts +2 -2
  149. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  150. package/dist/prompts/shell-auto-approval.js +19 -16
  151. package/dist/prompts/shell-auto-approval.js.map +1 -1
  152. package/dist/prompts/shell-auto-approval.ts +19 -16
  153. package/dist/providers/aborted-stream-recorder.js +2 -1
  154. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  155. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  156. package/dist/providers/ai-sdk-streamed-model.js +7 -0
  157. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  158. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  159. package/dist/providers/codex-responses-model.js +75 -14
  160. package/dist/providers/codex-responses-model.js.map +1 -1
  161. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  162. package/dist/providers/codex-turn-converter.js +21 -4
  163. package/dist/providers/codex-turn-converter.js.map +1 -1
  164. package/dist/providers/codex.provider.d.ts.map +1 -1
  165. package/dist/providers/codex.provider.js +1 -0
  166. package/dist/providers/codex.provider.js.map +1 -1
  167. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  168. package/dist/providers/fetch/logging-middleware.js +22 -2
  169. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  170. package/dist/providers/openai-chat-completions-model.js +119 -50
  171. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  172. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  173. package/dist/providers/openai-responses-model.js +131 -15
  174. package/dist/providers/openai-responses-model.js.map +1 -1
  175. package/dist/providers/registry.d.ts +1 -1
  176. package/dist/providers/registry.d.ts.map +1 -1
  177. package/dist/providers/retrying-model.d.ts.map +1 -1
  178. package/dist/providers/retrying-model.js +11 -2
  179. package/dist/providers/retrying-model.js.map +1 -1
  180. package/dist/services/agent-runtime/application-run-loop.d.ts +3 -1
  181. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  182. package/dist/services/agent-runtime/application-run-loop.js +99 -19
  183. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  184. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts +2 -3
  185. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts.map +1 -1
  186. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +18 -9
  187. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  188. package/dist/services/agent-runtime/generation-guard.d.ts +25 -1
  189. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  190. package/dist/services/agent-runtime/generation-guard.js +105 -1
  191. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  192. package/dist/services/agent-stream.d.ts +2 -0
  193. package/dist/services/agent-stream.d.ts.map +1 -1
  194. package/dist/services/agent-stream.js.map +1 -1
  195. package/dist/services/approval/approval-decision-policy.js +2 -2
  196. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  197. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +5 -1
  198. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  199. package/dist/services/approval/shell-auto-approval-evaluator.js +42 -18
  200. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  201. package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
  202. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  203. package/dist/services/approval/shell-auto-approval-resolver.js +117 -20
  204. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  205. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  206. package/dist/services/approval/tool-approval-batch-coordinator.js +20 -3
  207. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  208. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  209. package/dist/services/conversation/conversation-adapter.js +2 -9
  210. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  211. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  212. package/dist/services/conversation/conversation-decoder.js +6 -2
  213. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  214. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  215. package/dist/services/conversation/conversation-orchestrator.js +22 -2
  216. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  217. package/dist/services/conversation/conversation-persistence.d.ts +30 -0
  218. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  219. package/dist/services/conversation/conversation-persistence.js +101 -7
  220. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  221. package/dist/services/conversation/conversation-replay.d.ts +2 -0
  222. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  223. package/dist/services/conversation/conversation-replay.js +71 -57
  224. package/dist/services/conversation/conversation-replay.js.map +1 -1
  225. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  226. package/dist/services/conversation/conversation-result-builder.js +21 -4
  227. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  228. package/dist/services/conversation/conversation-service.d.ts +3 -2
  229. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  230. package/dist/services/conversation/conversation-service.js +36 -15
  231. package/dist/services/conversation/conversation-service.js.map +1 -1
  232. package/dist/services/conversation/session-browser.d.ts +8 -1
  233. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  234. package/dist/services/conversation/session-browser.js +134 -16
  235. package/dist/services/conversation/session-browser.js.map +1 -1
  236. package/dist/services/handoff/handoff-session.d.ts +2 -0
  237. package/dist/services/handoff/handoff-session.d.ts.map +1 -1
  238. package/dist/services/handoff/handoff-session.js +19 -3
  239. package/dist/services/handoff/handoff-session.js.map +1 -1
  240. package/dist/services/logging/conversation-log-events.d.ts +30 -3
  241. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  242. package/dist/services/logging/conversation-log-events.js +1 -4
  243. package/dist/services/logging/conversation-log-events.js.map +1 -1
  244. package/dist/services/logging/logging-service.d.ts +1 -0
  245. package/dist/services/logging/logging-service.d.ts.map +1 -1
  246. package/dist/services/logging/logging-service.js +5 -2
  247. package/dist/services/logging/logging-service.js.map +1 -1
  248. package/dist/services/logging/provider-traffic.d.ts +8 -1
  249. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  250. package/dist/services/logging/provider-traffic.js +105 -10
  251. package/dist/services/logging/provider-traffic.js.map +1 -1
  252. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  253. package/dist/services/memory/memory-capabilities.js +17 -5
  254. package/dist/services/memory/memory-capabilities.js.map +1 -1
  255. package/dist/services/memory/memory-store.d.ts +17 -0
  256. package/dist/services/memory/memory-store.d.ts.map +1 -1
  257. package/dist/services/memory/memory-store.js +74 -27
  258. package/dist/services/memory/memory-store.js.map +1 -1
  259. package/dist/services/mode-notices.d.ts +12 -9
  260. package/dist/services/mode-notices.d.ts.map +1 -1
  261. package/dist/services/mode-notices.js +83 -54
  262. package/dist/services/mode-notices.js.map +1 -1
  263. package/dist/services/model-service.d.ts +22 -4
  264. package/dist/services/model-service.d.ts.map +1 -1
  265. package/dist/services/model-service.js +148 -1
  266. package/dist/services/model-service.js.map +1 -1
  267. package/dist/services/models/model-catalog-session.d.ts +6 -0
  268. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  269. package/dist/services/models/model-catalog-session.js +7 -3
  270. package/dist/services/models/model-catalog-session.js.map +1 -1
  271. package/dist/services/models/model-listing.d.ts +57 -0
  272. package/dist/services/models/model-listing.d.ts.map +1 -0
  273. package/dist/services/models/model-listing.js +96 -0
  274. package/dist/services/models/model-listing.js.map +1 -0
  275. package/dist/services/models/model-resolution.d.ts +88 -0
  276. package/dist/services/models/model-resolution.d.ts.map +1 -0
  277. package/dist/services/models/model-resolution.js +292 -0
  278. package/dist/services/models/model-resolution.js.map +1 -0
  279. package/dist/services/plan-mode-interceptor.d.ts.map +1 -1
  280. package/dist/services/plan-mode-interceptor.js +5 -6
  281. package/dist/services/plan-mode-interceptor.js.map +1 -1
  282. package/dist/services/profiles/active-profile.d.ts +5 -0
  283. package/dist/services/profiles/active-profile.d.ts.map +1 -0
  284. package/dist/services/profiles/active-profile.js +33 -0
  285. package/dist/services/profiles/active-profile.js.map +1 -0
  286. package/dist/services/profiles/index.d.ts +9 -0
  287. package/dist/services/profiles/index.d.ts.map +1 -0
  288. package/dist/services/profiles/index.js +9 -0
  289. package/dist/services/profiles/index.js.map +1 -0
  290. package/dist/services/profiles/labels.d.ts +7 -0
  291. package/dist/services/profiles/labels.d.ts.map +1 -0
  292. package/dist/services/profiles/labels.js +22 -0
  293. package/dist/services/profiles/labels.js.map +1 -0
  294. package/dist/services/profiles/legacy-adapter.d.ts +28 -0
  295. package/dist/services/profiles/legacy-adapter.d.ts.map +1 -0
  296. package/dist/services/profiles/legacy-adapter.js +69 -0
  297. package/dist/services/profiles/legacy-adapter.js.map +1 -0
  298. package/dist/services/profiles/profile-transition.d.ts +48 -0
  299. package/dist/services/profiles/profile-transition.d.ts.map +1 -0
  300. package/dist/services/profiles/profile-transition.js +109 -0
  301. package/dist/services/profiles/profile-transition.js.map +1 -0
  302. package/dist/services/profiles/registry.d.ts +17 -0
  303. package/dist/services/profiles/registry.d.ts.map +1 -0
  304. package/dist/services/profiles/registry.js +147 -0
  305. package/dist/services/profiles/registry.js.map +1 -0
  306. package/dist/services/profiles/resolver.d.ts +10 -0
  307. package/dist/services/profiles/resolver.d.ts.map +1 -0
  308. package/dist/services/profiles/resolver.js +573 -0
  309. package/dist/services/profiles/resolver.js.map +1 -0
  310. package/dist/services/profiles/schema.d.ts +960 -0
  311. package/dist/services/profiles/schema.d.ts.map +1 -0
  312. package/dist/services/profiles/schema.js +196 -0
  313. package/dist/services/profiles/schema.js.map +1 -0
  314. package/dist/services/profiles/types.d.ts +224 -0
  315. package/dist/services/profiles/types.d.ts.map +1 -0
  316. package/dist/services/profiles/types.js +9 -0
  317. package/dist/services/profiles/types.js.map +1 -0
  318. package/dist/services/retry/committed-tool-continuation.d.ts +5 -0
  319. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
  320. package/dist/services/retry/committed-tool-continuation.js +6 -3
  321. package/dist/services/retry/committed-tool-continuation.js.map +1 -1
  322. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  323. package/dist/services/retry/retry-classifier.js +13 -10
  324. package/dist/services/retry/retry-classifier.js.map +1 -1
  325. package/dist/services/retry/retry-error-classification.d.ts +7 -0
  326. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  327. package/dist/services/retry/retry-error-classification.js +32 -9
  328. package/dist/services/retry/retry-error-classification.js.map +1 -1
  329. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  330. package/dist/services/runtime-setting-router.js +76 -23
  331. package/dist/services/runtime-setting-router.js.map +1 -1
  332. package/dist/services/session/background-check-in-scheduler.d.ts +20 -4
  333. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -1
  334. package/dist/services/session/background-check-in-scheduler.js +73 -6
  335. package/dist/services/session/background-check-in-scheduler.js.map +1 -1
  336. package/dist/services/session/initial-turn-recovery-handler.js +4 -4
  337. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  338. package/dist/services/session/session-composition.d.ts.map +1 -1
  339. package/dist/services/session/session-composition.js +2 -1
  340. package/dist/services/session/session-composition.js.map +1 -1
  341. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  342. package/dist/services/session/session-input-planner.js +2 -9
  343. package/dist/services/session/session-input-planner.js.map +1 -1
  344. package/dist/services/session/session-manager.d.ts.map +1 -1
  345. package/dist/services/session/session-manager.js +4 -1
  346. package/dist/services/session/session-manager.js.map +1 -1
  347. package/dist/services/session-rollover/session-rollover-brief.d.ts +2 -1
  348. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  349. package/dist/services/session-rollover/session-rollover-brief.js +5 -3
  350. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  351. package/dist/services/settings/settings-persistence.js +1 -1
  352. package/dist/services/settings/settings-persistence.js.map +1 -1
  353. package/dist/services/settings/settings-schema.d.ts +124 -19
  354. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  355. package/dist/services/settings/settings-schema.js +111 -31
  356. package/dist/services/settings/settings-schema.js.map +1 -1
  357. package/dist/services/settings/settings-service.d.ts +3 -1
  358. package/dist/services/settings/settings-service.d.ts.map +1 -1
  359. package/dist/services/settings/settings-service.js +88 -91
  360. package/dist/services/settings/settings-service.js.map +1 -1
  361. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  362. package/dist/services/settings/settings-sources.js +13 -1
  363. package/dist/services/settings/settings-sources.js.map +1 -1
  364. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +3 -3
  365. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  366. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +15 -1
  367. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  368. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  369. package/dist/services/subagents/mentor-runner.js +5 -2
  370. package/dist/services/subagents/mentor-runner.js.map +1 -1
  371. package/dist/services/subagents/subagent-notification-store.d.ts +10 -2
  372. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  373. package/dist/services/subagents/subagent-notification-store.js +10 -5
  374. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  375. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  376. package/dist/services/subagents/tool-policy.js +10 -15
  377. package/dist/services/subagents/tool-policy.js.map +1 -1
  378. package/dist/services/tool-toggles.d.ts +20 -0
  379. package/dist/services/tool-toggles.d.ts.map +1 -0
  380. package/dist/services/tool-toggles.js +115 -0
  381. package/dist/services/tool-toggles.js.map +1 -0
  382. package/dist/slash-commands.d.ts +3 -0
  383. package/dist/slash-commands.d.ts.map +1 -1
  384. package/dist/slash-commands.js.map +1 -1
  385. package/dist/tools/agent/configure-task-check-in.d.ts +19 -0
  386. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -0
  387. package/dist/tools/agent/configure-task-check-in.js +82 -0
  388. package/dist/tools/agent/configure-task-check-in.js.map +1 -0
  389. package/dist/tools/agent/run-subagent-async.d.ts +11 -1
  390. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  391. package/dist/tools/agent/run-subagent-async.js +22 -1
  392. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  393. package/dist/tools/agent/run-subagent.d.ts +15 -0
  394. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  395. package/dist/tools/agent/run-subagent.js +24 -2
  396. package/dist/tools/agent/run-subagent.js.map +1 -1
  397. package/dist/tools/file/apply-patch.d.ts +2 -15
  398. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  399. package/dist/tools/file/apply-patch.js +163 -98
  400. package/dist/tools/file/apply-patch.js.map +1 -1
  401. package/dist/tools/file/read-file.d.ts.map +1 -1
  402. package/dist/tools/file/read-file.js +48 -0
  403. package/dist/tools/file/read-file.js.map +1 -1
  404. package/dist/tools/file/upstream-apply-patch.d.ts +31 -0
  405. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -0
  406. package/dist/tools/file/upstream-apply-patch.js +123 -0
  407. package/dist/tools/file/upstream-apply-patch.js.map +1 -0
  408. package/dist/tools/format-helpers.d.ts +2 -0
  409. package/dist/tools/format-helpers.d.ts.map +1 -1
  410. package/dist/tools/format-helpers.js +7 -0
  411. package/dist/tools/format-helpers.js.map +1 -1
  412. package/dist/tools/memory/memory-tools.js +1 -1
  413. package/dist/tools/memory/memory-tools.js.map +1 -1
  414. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
  415. package/dist/tools/session-browser/session-browser-tools.js +11 -1
  416. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  417. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  418. package/dist/tools/session-rollover/session-rollover-tool.js +10 -1
  419. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  420. package/dist/tools/system/shell.d.ts +12 -0
  421. package/dist/tools/system/shell.d.ts.map +1 -1
  422. package/dist/tools/system/shell.js +30 -4
  423. package/dist/tools/system/shell.js.map +1 -1
  424. package/dist/tools/types.d.ts +15 -2
  425. package/dist/tools/types.d.ts.map +1 -1
  426. package/dist/tools/types.js.map +1 -1
  427. package/dist/utils/ai/token-usage.d.ts +9 -0
  428. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  429. package/dist/utils/ai/token-usage.js +15 -3
  430. package/dist/utils/ai/token-usage.js.map +1 -1
  431. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  432. package/dist/utils/conversation/conversation-utils.js +40 -1
  433. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  434. package/dist/utils/conversation/message-buffer.d.ts +16 -0
  435. package/dist/utils/conversation/message-buffer.d.ts.map +1 -1
  436. package/dist/utils/conversation/message-buffer.js +33 -0
  437. package/dist/utils/conversation/message-buffer.js.map +1 -1
  438. package/dist/utils/output/trim-tool-output.d.ts +1 -1
  439. package/dist/utils/output/trim-tool-output.d.ts.map +1 -1
  440. package/dist/utils/output/trim-tool-output.js +20 -0
  441. package/dist/utils/output/trim-tool-output.js.map +1 -1
  442. package/dist/utils/resume-list.d.ts +2 -0
  443. package/dist/utils/resume-list.d.ts.map +1 -1
  444. package/dist/utils/resume-list.js +7 -14
  445. package/dist/utils/resume-list.js.map +1 -1
  446. package/dist/utils/settings-command.d.ts.map +1 -1
  447. package/dist/utils/settings-command.js +95 -14
  448. package/dist/utils/settings-command.js.map +1 -1
  449. package/dist/utils/streaming/streaming-session-factory.d.ts +3 -0
  450. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  451. package/dist/utils/streaming/streaming-session-factory.js +35 -17
  452. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  453. package/dist/utils/streaming/streaming-speed-tracker.d.ts +47 -6
  454. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -1
  455. package/dist/utils/streaming/streaming-speed-tracker.js +91 -23
  456. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -1
  457. package/package.json +3 -3
@@ -3,7 +3,9 @@ import { createMessageIdFactory } from '../../utils/message-id-factory.js';
3
3
  import { isCommandMessage, isUserMessage } from '../../types/message.js';
4
4
  import { CHECK_IN_TOOL_NAME, isDeniedReadApproveAnswer } from '../../contracts/conversation.js';
5
5
  import { createStreamingSession } from '../../utils/streaming/streaming-session-factory.js';
6
+ import { DEFAULT_CHARS_PER_TOKEN } from '../../utils/streaming/streaming-speed-tracker.js';
6
7
  import { enhanceApiKeyError, isMaxTurnsError } from '../../utils/conversation/conversation-utils.js';
8
+ import { insertBeforeStreamingTail } from '../../utils/conversation/message-buffer.js';
7
9
  import { clearStreamingBotMessage, computeNextMessages } from '../../utils/conversation/apply-conversation-result.js';
8
10
  import { trimTrailingAssistantMessages } from '../../utils/conversation/message-utils.js';
9
11
  import { ASK_USER_NO_ANSWER_RESULT } from '../../tools/agent/ask-user-constants.js';
@@ -182,7 +184,7 @@ function formatBackgroundSubagentNotifications(notifications) {
182
184
  '',
183
185
  ...entries,
184
186
  '',
185
- 'Decide freely: doing nothing and letting it keep running is a valid choice. Only report to the user or intervene (steer or stop the task) if the elapsed time or task nature makes that the right call.',
187
+ 'Decide freely: doing nothing and letting it keep running is a valid choice. To adjust check-in frequency or silence future check-ins for a task, call configure_task_check_in. Only report to the user or intervene (steer or stop the task) if the elapsed time or task nature makes that the right call.',
186
188
  ].join('\n'));
187
189
  }
188
190
  if (userControls.length > 0) {
@@ -314,6 +316,8 @@ export class ConversationOrchestrator {
314
316
  #stoppingByUser = false;
315
317
  /** Stranded rows already reported, so the warning stays one per occurrence. */
316
318
  #reportedStrandedCallIds = new Set();
319
+ /** Live tok/s char ratio, calibrated from completed requests in this conversation. */
320
+ #charsPerToken = DEFAULT_CHARS_PER_TOKEN;
317
321
  constructor(config) {
318
322
  this.config = config;
319
323
  this.createMessageId = config.createMessageId ?? createMessageIdFactory(config.now);
@@ -970,7 +974,10 @@ export class ConversationOrchestrator {
970
974
  const shellOutputs = newlyDisplayed.filter((notification) => notification.kind === 'shell_output');
971
975
  const userControls = newlyDisplayed.filter((notification) => notification.kind === 'user_control');
972
976
  const checkIns = newlyDisplayed.filter((notification) => notification.kind === 'check_in');
973
- this.config.messages.appendMessages([
977
+ // Settled background rows go above the live streaming slots. Appending
978
+ // them puts the row under the moving text, where it visibly jumps back up
979
+ // once the stream finalizes.
980
+ this.#appendAboveStreamingTail([
974
981
  ...(subagentNotifications.length > 0
975
982
  ? [
976
983
  {
@@ -1069,6 +1076,15 @@ export class ConversationOrchestrator {
1069
1076
  : []),
1070
1077
  ]);
1071
1078
  }
1079
+ /**
1080
+ * Adds already-settled rows just above any live streaming bot/reasoning
1081
+ * slots, so the row keeps one stable position for its whole life.
1082
+ */
1083
+ #appendAboveStreamingTail(additions) {
1084
+ if (additions.length === 0)
1085
+ return;
1086
+ this.config.messages.setMessages((prev) => this.config.messages.trimMessages(insertBeforeStreamingTail(prev, additions, Number.POSITIVE_INFINITY)));
1087
+ }
1072
1088
  /**
1073
1089
  * Offer settled runs to the turn already in flight.
1074
1090
  *
@@ -1162,6 +1178,10 @@ export class ConversationOrchestrator {
1162
1178
  setCodexRateLimit: (rateLimit) => this.config.ui.onRateLimitUpdate(rateLimit),
1163
1179
  setStreamingSpeed: (speed) => this.config.ui.onStreamingSpeedUpdate?.(speed),
1164
1180
  setRunBudgetNotice: (event) => this.config.ui.onRunBudgetNotice?.(event),
1181
+ charsPerToken: this.#charsPerToken,
1182
+ onCharsPerTokenCalibrated: (ratio) => {
1183
+ this.#charsPerToken = ratio;
1184
+ },
1165
1185
  reasoningThrottleMs: REASONING_RESPONSE_THROTTLE_MS,
1166
1186
  now: this.config.now,
1167
1187
  }, label);
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-orchestrator.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-orchestrator.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,15 @@ export type { RestoredState } from './conversation-replay.js';
6
6
  export type LoadConversationForProjectResult = {
7
7
  status: 'loaded';
8
8
  conversation: RestoredState;
9
+ sourceVersion?: string;
9
10
  } | {
10
11
  status: 'not_found';
12
+ } | {
13
+ status: 'ambiguous';
14
+ candidates: Array<{
15
+ id: string;
16
+ shortRef: string;
17
+ }>;
11
18
  } | {
12
19
  status: 'project_mismatch';
13
20
  conversation: RestoredState;
@@ -19,6 +26,8 @@ export type LoadConversationForProjectResult = {
19
26
  export type BrowseConversationsForProjectResult = {
20
27
  conversations: RestoredState[];
21
28
  unavailable: number;
29
+ sourceVersions: Map<string, string>;
30
+ directoryVersion?: string;
22
31
  };
23
32
  export declare function getConversationsDir(): string;
24
33
  export declare function getConversationsDirForTest(): string;
@@ -34,6 +43,14 @@ export declare function isPidAlive(pid: number): boolean;
34
43
  export declare function setPidAlivenessCheckForTest(check: ((pid: number) => boolean) | null): void;
35
44
  declare function getConversationPath(id: string): string;
36
45
  declare function getLockPath(id: string): string;
46
+ /**
47
+ * Cheap read-only version of the complete source replayed by the browser.
48
+ * The delta sidecar is included because an interrupted live turn can change
49
+ * the restored transcript without changing the canonical JSONL file.
50
+ */
51
+ export declare function getConversationSourceVersionReadOnly(id: string): string | null;
52
+ /** Directory membership version used to invalidate cached short references. */
53
+ export declare function getConversationsDirectoryVersionReadOnly(): string | null;
37
54
  export declare function generateId(): string;
38
55
  /**
39
56
  * Delete delta sidecars whose canonical conversation log no longer exists.
@@ -59,6 +76,17 @@ export declare function loadConversationForProjectReadOnly(id: string, expectedP
59
76
  * as resume. Unlike the UI list, this reports malformed candidates generically.
60
77
  */
61
78
  export declare function browseConversationsForProject(expectedProjectPath: string, expectedSshHost?: string): BrowseConversationsForProjectResult;
79
+ export declare function resolveConversationReference(reference: string, conversations: readonly Pick<RestoredState, 'id'>[]): {
80
+ kind: 'resolved';
81
+ id: string;
82
+ } | {
83
+ kind: 'ambiguous';
84
+ candidates: Array<{
85
+ id: string;
86
+ shortRef: string;
87
+ }>;
88
+ };
89
+ export declare function uniqueConversationShortRefs(conversations: readonly Pick<RestoredState, 'id'>[]): Map<string, string>;
62
90
  export declare function loadLastConversation(expectedProjectPath?: string, expectedSshHost?: string): RestoredState | null;
63
91
  export type ConversationLockDiagnostic = {
64
92
  status: 'held';
@@ -77,10 +105,12 @@ export declare function isConversationLocked(id: string): ConversationLockDiagno
77
105
  export declare function deleteConversation(id: string): boolean;
78
106
  export interface ConversationListEntry {
79
107
  id: string;
108
+ shortRef?: string;
80
109
  updatedAt: string;
81
110
  projectPath?: string;
82
111
  sshHost?: string;
83
112
  firstUserMessage?: string;
113
+ activeProfileId?: string;
84
114
  appMode?: SavedAppMode;
85
115
  model?: string;
86
116
  provider?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-persistence.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-persistence.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-persistence.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const paths = envPaths('term2');
11
11
  const CONVERSATIONS_DIR = path.join(paths.data, 'conversations');
12
12
  const LOG_CONVERSATIONS_DIR = path.join(paths.log, 'conversations');
13
13
  const MIGRATION_SENTINEL = '.migrated-from-log';
14
+ const SAFE_SESSION_ID = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
14
15
  let conversationsDirOverride = null;
15
16
  let pidAlivenessOverride = null;
16
17
  export function getConversationsDir() {
@@ -96,6 +97,36 @@ function getLockPath(id) {
96
97
  function getLastConversationPath() {
97
98
  return path.join(getConversationsDir(), 'last.json');
98
99
  }
100
+ function statVersion(filePath) {
101
+ try {
102
+ const stat = fs.statSync(filePath);
103
+ return JSON.stringify([stat.dev, stat.ino, stat.mode, stat.size, stat.mtimeMs, stat.ctimeMs]);
104
+ }
105
+ catch {
106
+ return null;
107
+ }
108
+ }
109
+ /**
110
+ * Cheap read-only version of the complete source replayed by the browser.
111
+ * The delta sidecar is included because an interrupted live turn can change
112
+ * the restored transcript without changing the canonical JSONL file.
113
+ */
114
+ export function getConversationSourceVersionReadOnly(id) {
115
+ if (!SAFE_SESSION_ID.test(id))
116
+ return null;
117
+ const fileVersion = statVersion(getConversationPath(id));
118
+ if (!fileVersion)
119
+ return null;
120
+ const sidecarPath = deltaSidecarPathFor(getConversationPath(id));
121
+ const sidecarVersion = fs.existsSync(sidecarPath) ? statVersion(sidecarPath) : 'absent';
122
+ if (!sidecarVersion)
123
+ return null;
124
+ return JSON.stringify([fileVersion, sidecarVersion]);
125
+ }
126
+ /** Directory membership version used to invalidate cached short references. */
127
+ export function getConversationsDirectoryVersionReadOnly() {
128
+ return statVersion(getConversationsDir());
129
+ }
99
130
  function normalizeProjectPath(projectPath) {
100
131
  const normalized = path.normalize(projectPath);
101
132
  return normalized.endsWith(path.sep) && normalized !== path.sep ? normalized.slice(0, -1) : normalized;
@@ -261,7 +292,13 @@ export function loadConversation(id, expectedProjectPath, expectedSshHost) {
261
292
  }
262
293
  export function loadConversationForProject(id, expectedProjectPath, expectedSshHost) {
263
294
  ensureConversationsDir();
264
- return loadConversationForProjectReadOnly(id, expectedProjectPath, expectedSshHost);
295
+ if (fs.existsSync(getConversationPath(id))) {
296
+ return loadConversationForProjectReadOnly(id, expectedProjectPath, expectedSshHost);
297
+ }
298
+ const resolution = resolveConversationReference(id, browseConversationsForProject(expectedProjectPath, expectedSshHost).conversations);
299
+ if (resolution.kind === 'ambiguous')
300
+ return { status: 'ambiguous', candidates: resolution.candidates };
301
+ return loadConversationForProjectReadOnly(resolution.id, expectedProjectPath, expectedSshHost);
265
302
  }
266
303
  /** Browser-only load that must not trigger directory creation or legacy migration. */
267
304
  export function loadConversationForProjectReadOnly(id, expectedProjectPath, expectedSshHost) {
@@ -270,6 +307,7 @@ export function loadConversationForProjectReadOnly(id, expectedProjectPath, expe
270
307
  return { status: 'not_found' };
271
308
  }
272
309
  try {
310
+ const sourceVersionBefore = getConversationSourceVersionReadOnly(id);
273
311
  const envelopes = readEnvelopes(filePath);
274
312
  const conversation = replayEvents(envelopes);
275
313
  conversation.updatedAt = restoredUpdatedAt(filePath, envelopes);
@@ -279,7 +317,14 @@ export function loadConversationForProjectReadOnly(id, expectedProjectPath, expe
279
317
  if (!conversationMatchesProject(conversation, expectedProjectPath, expectedSshHost)) {
280
318
  return { status: 'project_mismatch', conversation };
281
319
  }
282
- return { status: 'loaded', conversation };
320
+ const sourceVersionAfter = getConversationSourceVersionReadOnly(id);
321
+ return {
322
+ status: 'loaded',
323
+ conversation,
324
+ ...(sourceVersionBefore && sourceVersionBefore === sourceVersionAfter
325
+ ? { sourceVersion: sourceVersionBefore }
326
+ : {}),
327
+ };
283
328
  }
284
329
  catch (error) {
285
330
  // A raw read failure must settle as a typed unreadable result so the CLI
@@ -287,23 +332,24 @@ export function loadConversationForProjectReadOnly(id, expectedProjectPath, expe
287
332
  return { status: 'unreadable', error };
288
333
  }
289
334
  }
290
- const SAFE_SESSION_ID = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
291
335
  /**
292
336
  * Enumerates canonical local logs through the same decoder/replay/context path
293
337
  * as resume. Unlike the UI list, this reports malformed candidates generically.
294
338
  */
295
339
  export function browseConversationsForProject(expectedProjectPath, expectedSshHost) {
296
340
  const dir = getConversationsDir();
341
+ const directoryVersionBefore = getConversationsDirectoryVersionReadOnly();
297
342
  let files;
298
343
  try {
299
344
  if (!fs.existsSync(dir))
300
- return { conversations: [], unavailable: 0 };
345
+ return { conversations: [], unavailable: 0, sourceVersions: new Map() };
301
346
  files = fs.readdirSync(dir).filter((file) => file.endsWith('.jsonl'));
302
347
  }
303
348
  catch {
304
- return { conversations: [], unavailable: 0 };
349
+ return { conversations: [], unavailable: 0, sourceVersions: new Map() };
305
350
  }
306
351
  const conversations = [];
352
+ const sourceVersions = new Map();
307
353
  let unavailable = 0;
308
354
  for (const file of files) {
309
355
  const id = file.slice(0, -'.jsonl'.length);
@@ -315,13 +361,58 @@ export function browseConversationsForProject(expectedProjectPath, expectedSshHo
315
361
  const loaded = loadConversationForProjectReadOnly(id, expectedProjectPath, expectedSshHost);
316
362
  if (loaded.status === 'loaded' && loaded.conversation.id === id && loaded.conversation.createdAt) {
317
363
  conversations.push(loaded.conversation);
364
+ if (loaded.sourceVersion)
365
+ sourceVersions.set(id, loaded.sourceVersion);
318
366
  }
319
367
  else if (loaded.status === 'unreadable' ||
320
368
  (loaded.status === 'loaded' && (loaded.conversation.id !== id || !loaded.conversation.createdAt))) {
321
369
  unavailable++;
322
370
  }
323
371
  }
324
- return { conversations, unavailable };
372
+ const directoryVersionAfter = getConversationsDirectoryVersionReadOnly();
373
+ return {
374
+ conversations,
375
+ unavailable,
376
+ sourceVersions,
377
+ ...(directoryVersionBefore && directoryVersionBefore === directoryVersionAfter
378
+ ? { directoryVersion: directoryVersionBefore }
379
+ : {}),
380
+ };
381
+ }
382
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
383
+ const UUID_PREFIX = /^[0-9a-f-]{4,36}$/i;
384
+ export function resolveConversationReference(reference, conversations) {
385
+ const exact = conversations.find((conversation) => conversation.id === reference);
386
+ if (exact || UUID.test(reference) || !UUID_PREFIX.test(reference)) {
387
+ return { kind: 'resolved', id: exact?.id ?? reference };
388
+ }
389
+ const matches = conversations.filter((conversation) => UUID.test(conversation.id) && conversation.id.toLowerCase().startsWith(reference.toLowerCase()));
390
+ if (matches.length === 1)
391
+ return { kind: 'resolved', id: matches[0].id };
392
+ if (matches.length > 1) {
393
+ const refs = uniqueConversationShortRefs(conversations);
394
+ return {
395
+ kind: 'ambiguous',
396
+ candidates: matches.map((conversation) => ({
397
+ id: conversation.id,
398
+ shortRef: refs.get(conversation.id) ?? conversation.id,
399
+ })),
400
+ };
401
+ }
402
+ return { kind: 'resolved', id: reference };
403
+ }
404
+ export function uniqueConversationShortRefs(conversations) {
405
+ const ids = conversations.map((conversation) => conversation.id);
406
+ return new Map(ids.map((id) => {
407
+ if (!UUID.test(id))
408
+ return [id, id];
409
+ let length = Math.min(8, id.length);
410
+ while (length < id.length &&
411
+ ids.some((candidate) => candidate !== id && candidate.toLowerCase().startsWith(id.slice(0, length).toLowerCase()))) {
412
+ length += 1;
413
+ }
414
+ return [id, id.slice(0, length)];
415
+ }));
325
416
  }
326
417
  export function loadLastConversation(expectedProjectPath, expectedSshHost) {
327
418
  ensureConversationsDir();
@@ -483,6 +574,7 @@ export function listConversations(expectedProjectPath, expectedSshHost) {
483
574
  ...(init.projectPath ? { projectPath: init.projectPath } : {}),
484
575
  ...(init.sshHost ? { sshHost: init.sshHost } : {}),
485
576
  firstUserMessage,
577
+ activeProfileId: init.activeProfileId,
486
578
  appMode: init.appMode,
487
579
  model: init.model,
488
580
  provider: init.provider,
@@ -499,7 +591,9 @@ export function listConversations(expectedProjectPath, expectedSshHost) {
499
591
  // skip
500
592
  }
501
593
  }
502
- return entries.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
594
+ const sorted = entries.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
595
+ const shortRefs = uniqueConversationShortRefs(sorted);
596
+ return sorted.map((entry) => ({ ...entry, shortRef: shortRefs.get(entry.id) ?? entry.id }));
503
597
  }
504
598
  catch {
505
599
  return [];