@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
@@ -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 [];
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-persistence.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-persistence.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-persistence.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface RestoredState {
10
10
  updatedAt?: string;
11
11
  projectPath?: string;
12
12
  sshHost?: string;
13
+ activeProfileId?: string;
13
14
  appMode?: SavedAppMode;
14
15
  model?: string;
15
16
  provider?: string;
@@ -23,6 +24,7 @@ export interface RestoredState {
23
24
  costRecords?: ModelRequestCost[];
24
25
  replayWarnings: string[];
25
26
  forkedFrom?: string;
27
+ rolloverFrom?: string;
26
28
  }
27
29
  export declare function replayEvents(envelopes: PersistedLogEnvelope[]): RestoredState;
28
30
  //# sourceMappingURL=conversation-replay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-replay.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAStE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAGb,MAAM,qCAAqC,CAAC;AAS7C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8pCD,wBAAgB,YAAY,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,aAAa,CA6I7E"}
1
+ {"version":3,"file":"conversation-replay.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAStE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAGb,MAAM,qCAAqC,CAAC;AAc7C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA4qCD,wBAAgB,YAAY,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,aAAa,CAgJ7E"}
@@ -5,6 +5,7 @@ import { projectPersistedAssistantItemToProviderHistory, synthesizeHistoryFromAs
5
5
  import { formatPatchOutputItems, coerceToText } from '../../tools/format-helpers.js';
6
6
  import { projectProviderHistory } from './conversation-state-projector.js';
7
7
  import { normalizeRunItems } from './run-item-normalizer.js';
8
+ import { legacyModeFromProfileId, profileIdFromLegacyMode, profileIdFromLegacyModeSetting, } from '../profiles/legacy-adapter.js';
8
9
  const INTERRUPTED_SYSTEM_MESSAGE = 'Previous turn was interrupted — send a message to continue.';
9
10
  const cloneSnapshot = (snap) => {
10
11
  try {
@@ -326,11 +327,13 @@ function applyEvent(state, event, ts) {
326
327
  state.createdAt = event.createdAt;
327
328
  state.projectPath = event.projectPath;
328
329
  state.sshHost = event.sshHost;
330
+ state.activeProfileId = event.activeProfileId;
329
331
  state.appMode = event.appMode;
330
332
  state.model = event.model;
331
333
  state.provider = event.provider;
332
334
  state.reasoningEffort = event.reasoningEffort;
333
335
  state.forkedFrom = event.forkedFrom;
336
+ state.rolloverFrom = event.rolloverFrom ?? state.rolloverFrom;
334
337
  return;
335
338
  }
336
339
  case 'settings_changed': {
@@ -348,23 +351,25 @@ function applyEvent(state, event, ts) {
348
351
  case 'app.liteMode':
349
352
  case 'app.planMode':
350
353
  case 'app.orchestratorMode': {
351
- const flag = event.key.substring('app.'.length);
352
- state.appMode = {
353
- mentorMode: false,
354
- liteMode: false,
355
- planMode: false,
356
- orchestratorMode: false,
357
- ...(state.appMode ?? {}),
358
- [flag]: Boolean(event.value),
359
- };
354
+ const currentProfileId = state.activeProfileId ?? profileIdFromLegacyMode(state.appMode);
355
+ const profileId = profileIdFromLegacyModeSetting(event.key, event.value, currentProfileId);
356
+ if (profileId) {
357
+ state.activeProfileId = profileId;
358
+ state.appMode = legacyModeFromProfileId(profileId);
359
+ }
360
360
  return;
361
361
  }
362
+ case 'app.activeProfileId':
363
+ if (typeof event.value === 'string')
364
+ state.activeProfileId = event.value;
365
+ return;
362
366
  default:
363
367
  return;
364
368
  }
365
369
  }
366
370
  case 'user_message': {
367
371
  state.messages.push(cloneMessage(event.message));
372
+ state.activeTurnStartIndex = state.messages.length;
368
373
  state.trailingUserMessage = true;
369
374
  state.history.push({
370
375
  role: 'user',
@@ -551,6 +556,27 @@ function applyEvent(state, event, ts) {
551
556
  ...(event.error ? { error: event.error } : {}),
552
557
  },
553
558
  });
559
+ const status = event.status === 'cancelled' ? 'aborted' : event.status === 'completed' ? 'completed' : 'failed';
560
+ state.messages.push({
561
+ id: `background-shell-${event.jobId}`,
562
+ sender: 'command',
563
+ status,
564
+ command: 'background_shell_notification',
565
+ output: event.output,
566
+ success: status === 'completed',
567
+ toolName: 'background_shell_notification',
568
+ toolArgs: {
569
+ jobs: [
570
+ {
571
+ jobId: event.jobId,
572
+ command: event.command,
573
+ status: event.status,
574
+ ...(event.error ? { error: event.error } : {}),
575
+ },
576
+ ],
577
+ },
578
+ });
579
+ state.activeTurnStartIndex = state.messages.length;
554
580
  return;
555
581
  }
556
582
  case 'background_shell_output': {
@@ -573,6 +599,26 @@ function applyEvent(state, event, ts) {
573
599
  return;
574
600
  job.firings = [...firings, firing];
575
601
  state.backgroundShellJobs.set(event.jobId, job);
602
+ state.messages.push({
603
+ id: `background-shell-output-${event.jobId}-${firing.watchId}-${firing.seq}`,
604
+ sender: 'command',
605
+ status: 'completed',
606
+ command: 'background_shell_output_notification',
607
+ output: firing.matchedLines,
608
+ success: true,
609
+ toolName: 'background_shell_output_notification',
610
+ toolArgs: {
611
+ jobId: event.jobId,
612
+ command: event.command,
613
+ watchId: firing.watchId,
614
+ seq: firing.seq,
615
+ matchedLines: firing.matchedLines,
616
+ ...(firing.coalescedCount !== undefined ? { coalescedCount: firing.coalescedCount } : {}),
617
+ ...(firing.seqRange !== undefined ? { seqRange: firing.seqRange } : {}),
618
+ ...(firing.droppedBytes !== undefined ? { droppedBytes: firing.droppedBytes } : {}),
619
+ },
620
+ });
621
+ state.activeTurnStartIndex = state.messages.length;
576
622
  return;
577
623
  }
578
624
  case 'error': {
@@ -582,22 +628,20 @@ function applyEvent(state, event, ts) {
582
628
  status: 'finalized',
583
629
  text: `Error: ${event.message}`,
584
630
  });
631
+ state.activeTurnStartIndex = state.messages.length;
585
632
  return;
586
633
  }
587
634
  case 'assistant_turn': {
588
635
  const currentUserTurnIndex = state.messages.filter((message) => message.sender === 'user').length;
589
636
  const lastUserIndex = state.messages.map((m) => m.sender).lastIndexOf('user');
590
- if (lastUserIndex !== -1) {
591
- state.messages = state.messages.slice(0, lastUserIndex + 1);
592
- }
593
- else {
594
- state.messages = [];
595
- }
637
+ const startIndex = state.trailingUserMessage && lastUserIndex !== -1 ? lastUserIndex + 1 : state.activeTurnStartIndex;
638
+ state.messages = state.messages.slice(0, startIndex);
596
639
  const turnId = `bot-turn-${state.messages.length}-${ts}`;
597
640
  const replayedMessages = replayAssistantTurn(event.turn, turnId, event.usage, event.displayUsage);
598
641
  for (const m of replayedMessages) {
599
642
  state.messages.push(m);
600
643
  }
644
+ state.activeTurnStartIndex = state.messages.length;
601
645
  const compactState = stateFromAssistantTurn(event);
602
646
  state.history = synthesizeHistoryFromAssistantTurn(state.history, event.turn);
603
647
  if (event.snapshot) {
@@ -665,63 +709,30 @@ function applyEvent(state, event, ts) {
665
709
  */
666
710
  function appendReplayedBackgroundShellJobs(state) {
667
711
  for (const job of state.backgroundShellJobs.values()) {
668
- // Monitor firings replay first, in stored order, so they sit ahead of the
669
- // job's terminal row exactly as they were produced before its settlement.
670
- for (const firing of job.firings ?? []) {
671
- state.messages.push({
672
- id: `background-shell-output-${job.jobId}-${firing.watchId}-${firing.seq}`,
673
- sender: 'command',
674
- status: 'completed',
675
- command: 'background_shell_output_notification',
676
- output: firing.matchedLines,
677
- success: true,
678
- toolName: 'background_shell_output_notification',
679
- toolArgs: {
680
- jobId: job.jobId,
681
- command: job.command,
682
- watchId: firing.watchId,
683
- seq: firing.seq,
684
- matchedLines: firing.matchedLines,
685
- ...(firing.coalescedCount !== undefined ? { coalescedCount: firing.coalescedCount } : {}),
686
- ...(firing.seqRange !== undefined ? { seqRange: firing.seqRange } : {}),
687
- ...(firing.droppedBytes !== undefined ? { droppedBytes: firing.droppedBytes } : {}),
688
- },
689
- });
690
- }
691
- const completed = job.completed;
692
- const interrupted = !completed;
693
- const jobStatus = interrupted ? 'interrupted' : completed.status;
694
- const output = interrupted
695
- ? 'Background shell job was interrupted when the previous session ended and was not restarted.'
696
- : completed.output;
697
- const error = interrupted ? 'Lost on restart.' : completed.error;
698
- const status = interrupted || completed.status === 'cancelled'
699
- ? 'aborted'
700
- : completed.status === 'completed'
701
- ? 'completed'
702
- : 'failed';
712
+ if (job.completed)
713
+ continue;
714
+ const output = 'Background shell job was interrupted when the previous session ended and was not restarted.';
715
+ const error = 'Lost on restart.';
703
716
  state.messages.push({
704
717
  id: `background-shell-${job.jobId}`,
705
718
  sender: 'command',
706
- status,
719
+ status: 'aborted',
707
720
  command: 'background_shell_notification',
708
721
  output,
709
- success: status === 'completed',
722
+ success: false,
710
723
  toolName: 'background_shell_notification',
711
724
  toolArgs: {
712
725
  jobs: [
713
726
  {
714
727
  jobId: job.jobId,
715
728
  command: job.command,
716
- status: jobStatus,
717
- ...(error ? { error } : {}),
729
+ status: 'interrupted',
730
+ error,
718
731
  },
719
732
  ],
720
733
  },
721
734
  });
722
- if (interrupted) {
723
- state.warnings.push(`Background shell job ${job.jobId} was interrupted by restart and was not restarted.`);
724
- }
735
+ state.warnings.push(`Background shell job ${job.jobId} was interrupted by restart and was not restarted.`);
725
736
  }
726
737
  }
727
738
  /**
@@ -1045,6 +1056,7 @@ export function replayEvents(envelopes) {
1045
1056
  pendingJournals: new Map(),
1046
1057
  pendingCommandMessages: [],
1047
1058
  backgroundShellJobs: new Map(),
1059
+ activeTurnStartIndex: 0,
1048
1060
  };
1049
1061
  for (const envelope of envelopes) {
1050
1062
  if (!envelope || envelope.event == null)
@@ -1139,6 +1151,7 @@ export function replayEvents(envelopes) {
1139
1151
  createdAt: state.createdAt,
1140
1152
  projectPath: state.projectPath,
1141
1153
  sshHost: state.sshHost,
1154
+ activeProfileId: state.activeProfileId,
1142
1155
  appMode: state.appMode,
1143
1156
  model: state.model,
1144
1157
  provider: state.provider,
@@ -1152,6 +1165,7 @@ export function replayEvents(envelopes) {
1152
1165
  costRecords,
1153
1166
  replayWarnings: state.warnings,
1154
1167
  forkedFrom: state.forkedFrom,
1168
+ rolloverFrom: state.rolloverFrom,
1155
1169
  };
1156
1170
  }
1157
1171
  //# sourceMappingURL=conversation-replay.js.map