@qduc/term2 0.20.0 → 0.22.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 (896) hide show
  1. package/dist/agent.d.ts +2 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +176 -102
  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 +144 -41
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +197 -38
  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/InputBox.js +2 -3
  19. package/dist/components/InputBox.js.map +1 -1
  20. package/dist/components/common/MenuContainer.d.ts +5 -0
  21. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  22. package/dist/components/common/MenuContainer.js +13 -3
  23. package/dist/components/common/MenuContainer.js.map +1 -1
  24. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  25. package/dist/components/input/ApplicationInputSurface.js +4 -0
  26. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  27. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  28. package/dist/components/input/MenuSurface.js +13 -2
  29. package/dist/components/input/MenuSurface.js.map +1 -1
  30. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  31. package/dist/components/input/ModelMenuSession.js +67 -16
  32. package/dist/components/input/ModelMenuSession.js.map +1 -1
  33. package/dist/components/input/ProfileMenuSession.d.ts +16 -0
  34. package/dist/components/input/ProfileMenuSession.d.ts.map +1 -0
  35. package/dist/components/input/ProfileMenuSession.js +64 -0
  36. package/dist/components/input/ProfileMenuSession.js.map +1 -0
  37. package/dist/components/input/SettingsMenuSession.d.ts.map +1 -1
  38. package/dist/components/input/SettingsMenuSession.js +56 -17
  39. package/dist/components/input/SettingsMenuSession.js.map +1 -1
  40. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  41. package/dist/components/input/SettingsValueMenuSession.js +33 -3
  42. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  43. package/dist/components/input/determine-active-menu.d.ts +3 -0
  44. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  45. package/dist/components/input/determine-active-menu.js +6 -1
  46. package/dist/components/input/determine-active-menu.js.map +1 -1
  47. package/dist/components/input/menu-registry.d.ts.map +1 -1
  48. package/dist/components/input/menu-registry.js +2 -0
  49. package/dist/components/input/menu-registry.js.map +1 -1
  50. package/dist/components/input/menu-types.d.ts +5 -1
  51. package/dist/components/input/menu-types.d.ts.map +1 -1
  52. package/dist/components/input/triggers.d.ts +1 -0
  53. package/dist/components/input/triggers.d.ts.map +1 -1
  54. package/dist/components/input/triggers.js +28 -2
  55. package/dist/components/input/triggers.js.map +1 -1
  56. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  57. package/dist/components/layout/BackgroundTaskManager.js +6 -2
  58. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  59. package/dist/components/layout/BackgroundTasksPanel.d.ts +0 -1
  60. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  61. package/dist/components/layout/BackgroundTasksPanel.js +4 -104
  62. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  63. package/dist/components/layout/Banner.d.ts.map +1 -1
  64. package/dist/components/layout/Banner.js +10 -5
  65. package/dist/components/layout/Banner.js.map +1 -1
  66. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  67. package/dist/components/layout/StatusBar.js +25 -12
  68. package/dist/components/layout/StatusBar.js.map +1 -1
  69. package/dist/components/menu/ModelSelectionMenu.d.ts +10 -0
  70. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  71. package/dist/components/menu/ModelSelectionMenu.js +85 -16
  72. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  73. package/dist/components/menu/ProfileSelectionMenu.d.ts +12 -0
  74. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -0
  75. package/dist/components/menu/ProfileSelectionMenu.js +49 -0
  76. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -0
  77. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  78. package/dist/components/menu/ResumeSelectionMenu.js +9 -19
  79. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  80. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  81. package/dist/components/menu/SettingsSelectionMenu.js +4 -32
  82. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  83. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  84. package/dist/components/menu/SettingsValueSelectionMenu.js +12 -5
  85. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  86. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  87. package/dist/components/menu/SkillSelectionMenu.js +3 -6
  88. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  89. package/dist/components/menu/SlashCommandMenu.d.ts +8 -0
  90. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  91. package/dist/components/menu/SlashCommandMenu.js +16 -6
  92. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  93. package/dist/components/menu/StandaloneModelPickerApp.d.ts +40 -0
  94. package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -0
  95. package/dist/components/menu/StandaloneModelPickerApp.js +106 -0
  96. package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -0
  97. package/dist/components/menu/settings-value-formatter.d.ts +11 -0
  98. package/dist/components/menu/settings-value-formatter.d.ts.map +1 -0
  99. package/dist/components/menu/settings-value-formatter.js +214 -0
  100. package/dist/components/menu/settings-value-formatter.js.map +1 -0
  101. package/dist/components/message/ChatMessage.js +1 -1
  102. package/dist/components/message/ChatMessage.js.map +1 -1
  103. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  104. package/dist/components/message/CommandMessage.js +22 -17
  105. package/dist/components/message/CommandMessage.js.map +1 -1
  106. package/dist/components/message/MessageList.d.ts.map +1 -1
  107. package/dist/components/message/MessageList.js +28 -11
  108. package/dist/components/message/MessageList.js.map +1 -1
  109. package/dist/components/message/RunCodeRenderer.d.ts +16 -0
  110. package/dist/components/message/RunCodeRenderer.d.ts.map +1 -0
  111. package/dist/components/message/RunCodeRenderer.js +25 -0
  112. package/dist/components/message/RunCodeRenderer.js.map +1 -0
  113. package/dist/components/message/command-message-helpers.d.ts +35 -5
  114. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  115. package/dist/components/message/command-message-helpers.js +85 -0
  116. package/dist/components/message/command-message-helpers.js.map +1 -1
  117. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  118. package/dist/components/prompt/ApprovalPrompt.js +12 -21
  119. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  120. package/dist/components/theme.d.ts +1 -0
  121. package/dist/components/theme.d.ts.map +1 -1
  122. package/dist/components/theme.js +1 -0
  123. package/dist/components/theme.js.map +1 -1
  124. package/dist/context/InputContext.d.ts +1 -1
  125. package/dist/context/InputContext.d.ts.map +1 -1
  126. package/dist/context/InputContext.js +8 -0
  127. package/dist/context/InputContext.js.map +1 -1
  128. package/dist/contracts/session-rollover.d.ts +9 -1
  129. package/dist/contracts/session-rollover.d.ts.map +1 -1
  130. package/dist/contracts/streamed-model-turn.d.ts +26 -2
  131. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  132. package/dist/gateway/gateway.d.ts.map +1 -1
  133. package/dist/gateway/gateway.js +19 -23
  134. package/dist/gateway/gateway.js.map +1 -1
  135. package/dist/gateway/launcher-seam.d.ts.map +1 -1
  136. package/dist/gateway/launcher-seam.js +2 -19
  137. package/dist/gateway/launcher-seam.js.map +1 -1
  138. package/dist/gateway/settings-rpc.d.ts +1 -1
  139. package/dist/gateway/settings-rpc.d.ts.map +1 -1
  140. package/dist/gateway/settings-rpc.js +2 -0
  141. package/dist/gateway/settings-rpc.js.map +1 -1
  142. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  143. package/dist/hooks/conversation-ui-reducer.js +5 -2
  144. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  145. package/dist/hooks/settings-completion-config.d.ts +1 -1
  146. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  147. package/dist/hooks/settings-completion-config.js +16 -110
  148. package/dist/hooks/settings-completion-config.js.map +1 -1
  149. package/dist/hooks/settings-completion-logic.d.ts +1 -1
  150. package/dist/hooks/settings-completion-logic.d.ts.map +1 -1
  151. package/dist/hooks/settings-completion-logic.js.map +1 -1
  152. package/dist/hooks/use-app-commands.d.ts +3 -1
  153. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  154. package/dist/hooks/use-app-commands.js +21 -14
  155. package/dist/hooks/use-app-commands.js.map +1 -1
  156. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  157. package/dist/hooks/use-app-keyboard-shortcuts.js +33 -20
  158. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  159. package/dist/hooks/use-conversation.d.ts +5 -2
  160. package/dist/hooks/use-conversation.d.ts.map +1 -1
  161. package/dist/hooks/use-conversation.js +108 -17
  162. package/dist/hooks/use-conversation.js.map +1 -1
  163. package/dist/hooks/use-handoff-flow.d.ts +1 -0
  164. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  165. package/dist/hooks/use-handoff-flow.js +19 -12
  166. package/dist/hooks/use-handoff-flow.js.map +1 -1
  167. package/dist/hooks/use-model-selection.d.ts +33 -4
  168. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  169. package/dist/hooks/use-model-selection.js +204 -114
  170. package/dist/hooks/use-model-selection.js.map +1 -1
  171. package/dist/hooks/use-profile-selection.d.ts +34 -0
  172. package/dist/hooks/use-profile-selection.d.ts.map +1 -0
  173. package/dist/hooks/use-profile-selection.js +103 -0
  174. package/dist/hooks/use-profile-selection.js.map +1 -0
  175. package/dist/hooks/use-resume-selection.d.ts +2 -0
  176. package/dist/hooks/use-resume-selection.d.ts.map +1 -1
  177. package/dist/hooks/use-resume-selection.js +11 -9
  178. package/dist/hooks/use-resume-selection.js.map +1 -1
  179. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  180. package/dist/hooks/use-settings-completion.js +1 -6
  181. package/dist/hooks/use-settings-completion.js.map +1 -1
  182. package/dist/hooks/use-settings-value-completion.d.ts +1 -8
  183. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  184. package/dist/hooks/use-settings-value-completion.js +20 -94
  185. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  186. package/dist/hooks/use-skill-selection.d.ts +5 -3
  187. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  188. package/dist/hooks/use-skill-selection.js +8 -6
  189. package/dist/hooks/use-skill-selection.js.map +1 -1
  190. package/dist/hooks/use-standalone-model-picker.d.ts +64 -0
  191. package/dist/hooks/use-standalone-model-picker.d.ts.map +1 -0
  192. package/dist/hooks/use-standalone-model-picker.js +310 -0
  193. package/dist/hooks/use-standalone-model-picker.js.map +1 -0
  194. package/dist/lib/agent-client.d.ts +17 -1
  195. package/dist/lib/agent-client.d.ts.map +1 -1
  196. package/dist/lib/agent-client.js +211 -55
  197. package/dist/lib/agent-client.js.map +1 -1
  198. package/dist/lib/agent-configuration.d.ts +12 -3
  199. package/dist/lib/agent-configuration.d.ts.map +1 -1
  200. package/dist/lib/agent-configuration.js +27 -11
  201. package/dist/lib/agent-configuration.js.map +1 -1
  202. package/dist/lib/agent-factory.d.ts +3 -0
  203. package/dist/lib/agent-factory.d.ts.map +1 -1
  204. package/dist/lib/agent-factory.js +110 -46
  205. package/dist/lib/agent-factory.js.map +1 -1
  206. package/dist/lib/ask-user-answer-store.d.ts +1 -0
  207. package/dist/lib/ask-user-answer-store.d.ts.map +1 -1
  208. package/dist/lib/ask-user-answer-store.js +3 -0
  209. package/dist/lib/ask-user-answer-store.js.map +1 -1
  210. package/dist/lib/harness-input-idle.d.ts +10 -0
  211. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  212. package/dist/lib/harness-input-idle.js +47 -5
  213. package/dist/lib/harness-input-idle.js.map +1 -1
  214. package/dist/lib/tool-invoke.d.ts +1 -0
  215. package/dist/lib/tool-invoke.d.ts.map +1 -1
  216. package/dist/lib/tool-invoke.js +1 -0
  217. package/dist/lib/tool-invoke.js.map +1 -1
  218. package/dist/non-interactive.d.ts +23 -0
  219. package/dist/non-interactive.d.ts.map +1 -1
  220. package/dist/non-interactive.js +231 -37
  221. package/dist/non-interactive.js.map +1 -1
  222. package/dist/prompts/background-shell.d.ts.map +1 -1
  223. package/dist/prompts/background-shell.js +4 -2
  224. package/dist/prompts/background-shell.js.map +1 -1
  225. package/dist/prompts/background-shell.ts +4 -2
  226. package/dist/prompts/codex.md +1 -3
  227. package/dist/prompts/fragments/gpt-6-astra.md +13 -0
  228. package/dist/prompts/gpt-5-modern.md +1 -3
  229. package/dist/prompts/gpt-5.4-mini.md +0 -2
  230. package/dist/prompts/gpt-5.5.md +0 -2
  231. package/dist/prompts/gpt-5.6.md +0 -1
  232. package/dist/prompts/lite.md +1 -6
  233. package/dist/prompts/memory.md +2 -2
  234. package/dist/prompts/orchestrator.md +4 -4
  235. package/dist/prompts/prefix-quality.test.ts +8 -5
  236. package/dist/prompts/prompt-constructor.d.ts +7 -6
  237. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  238. package/dist/prompts/prompt-constructor.js +17 -7
  239. package/dist/prompts/prompt-constructor.js.map +1 -1
  240. package/dist/prompts/prompt-constructor.test.ts +250 -52
  241. package/dist/prompts/prompt-constructor.ts +27 -13
  242. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  243. package/dist/prompts/prompt-profiles.js +6 -0
  244. package/dist/prompts/prompt-profiles.js.map +1 -1
  245. package/dist/prompts/prompt-profiles.test.ts +6 -4
  246. package/dist/prompts/prompt-profiles.ts +6 -0
  247. package/dist/prompts/session-browser.md +5 -1
  248. package/dist/prompts/shell-auto-approval.d.ts +2 -2
  249. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  250. package/dist/prompts/shell-auto-approval.js +19 -16
  251. package/dist/prompts/shell-auto-approval.js.map +1 -1
  252. package/dist/prompts/shell-auto-approval.ts +19 -16
  253. package/dist/prompts/subagent-delegation.js +3 -3
  254. package/dist/prompts/subagent-delegation.js.map +1 -1
  255. package/dist/prompts/subagent-delegation.test.ts +3 -3
  256. package/dist/prompts/subagent-delegation.ts +3 -3
  257. package/dist/prompts/subagents/librarian.md +4 -4
  258. package/dist/prompts/subagents/worker-prompt.test.ts +7 -0
  259. package/dist/prompts/tool-surface-guidance.d.ts +4 -0
  260. package/dist/prompts/tool-surface-guidance.d.ts.map +1 -0
  261. package/dist/prompts/tool-surface-guidance.js +19 -0
  262. package/dist/prompts/tool-surface-guidance.js.map +1 -0
  263. package/dist/prompts/tool-surface-guidance.ts +20 -0
  264. package/dist/providers/aborted-stream-recorder.js +2 -1
  265. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  266. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  267. package/dist/providers/ai-sdk-streamed-model.js +7 -0
  268. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  269. package/dist/providers/codex-compact.d.ts +2 -0
  270. package/dist/providers/codex-compact.d.ts.map +1 -1
  271. package/dist/providers/codex-compact.js +14 -0
  272. package/dist/providers/codex-compact.js.map +1 -1
  273. package/dist/providers/codex-responses-model.d.ts +23 -3
  274. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  275. package/dist/providers/codex-responses-model.js +193 -44
  276. package/dist/providers/codex-responses-model.js.map +1 -1
  277. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  278. package/dist/providers/codex-turn-converter.js +21 -4
  279. package/dist/providers/codex-turn-converter.js.map +1 -1
  280. package/dist/providers/codex.provider.d.ts +2 -0
  281. package/dist/providers/codex.provider.d.ts.map +1 -1
  282. package/dist/providers/codex.provider.js +4 -2
  283. package/dist/providers/codex.provider.js.map +1 -1
  284. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  285. package/dist/providers/fetch/logging-middleware.js +22 -2
  286. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  287. package/dist/providers/grok.provider.d.ts.map +1 -1
  288. package/dist/providers/grok.provider.js +5 -2
  289. package/dist/providers/grok.provider.js.map +1 -1
  290. package/dist/providers/model-catalog/catalog.generated.d.ts +453 -309
  291. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  292. package/dist/providers/model-catalog/catalog.generated.js +453 -309
  293. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  294. package/dist/providers/openai-chat-completions-model.js +119 -50
  295. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  296. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  297. package/dist/providers/openai-responses-model.js +131 -15
  298. package/dist/providers/openai-responses-model.js.map +1 -1
  299. package/dist/providers/opencode-session.d.ts.map +1 -1
  300. package/dist/providers/opencode-session.js +5 -0
  301. package/dist/providers/opencode-session.js.map +1 -1
  302. package/dist/providers/openrouter.provider.js +8 -1
  303. package/dist/providers/openrouter.provider.js.map +1 -1
  304. package/dist/providers/registry.d.ts +1 -1
  305. package/dist/providers/registry.d.ts.map +1 -1
  306. package/dist/providers/responses-websocket-sessions.d.ts +10 -0
  307. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
  308. package/dist/providers/responses-websocket-sessions.js +9 -4
  309. package/dist/providers/responses-websocket-sessions.js.map +1 -1
  310. package/dist/providers/retrying-model.d.ts +2 -1
  311. package/dist/providers/retrying-model.d.ts.map +1 -1
  312. package/dist/providers/retrying-model.js +14 -2
  313. package/dist/providers/retrying-model.js.map +1 -1
  314. package/dist/services/agent-runtime/application-run-loop.d.ts +11 -2
  315. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  316. package/dist/services/agent-runtime/application-run-loop.js +128 -24
  317. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  318. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts +2 -3
  319. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts.map +1 -1
  320. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +18 -9
  321. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  322. package/dist/services/agent-runtime/context-compaction/index.d.ts +2 -0
  323. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -1
  324. package/dist/services/agent-runtime/context-compaction/index.js +30 -4
  325. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -1
  326. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +3 -0
  327. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
  328. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +15 -9
  329. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
  330. package/dist/services/agent-runtime/generation-guard.d.ts +25 -1
  331. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  332. package/dist/services/agent-runtime/generation-guard.js +105 -1
  333. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  334. package/dist/services/agent-runtime/tool-invocation-context.d.ts +12 -0
  335. package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -1
  336. package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts +7 -1
  337. package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts.map +1 -1
  338. package/dist/services/agent-runtime/workflow/workflow-evaluator.js +78 -183
  339. package/dist/services/agent-runtime/workflow/workflow-evaluator.js.map +1 -1
  340. package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts +4 -3
  341. package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts.map +1 -1
  342. package/dist/services/agent-runtime/workflow/workflow-sandbox.js +9 -7
  343. package/dist/services/agent-runtime/workflow/workflow-sandbox.js.map +1 -1
  344. package/dist/services/agent-runtime/workflow/workflow-types.d.ts +1 -1
  345. package/dist/services/agent-runtime/workflow/workflow-types.d.ts.map +1 -1
  346. package/dist/services/agent-runtime/workflow/workflow-types.js.map +1 -1
  347. package/dist/services/agent-stream.d.ts +2 -0
  348. package/dist/services/agent-stream.d.ts.map +1 -1
  349. package/dist/services/agent-stream.js.map +1 -1
  350. package/dist/services/approval/approval-decision-executor.d.ts +2 -1
  351. package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
  352. package/dist/services/approval/approval-decision-executor.js +22 -116
  353. package/dist/services/approval/approval-decision-executor.js.map +1 -1
  354. package/dist/services/approval/approval-decision-policy.js +2 -2
  355. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  356. package/dist/services/approval/approval-descriptor.d.ts +10 -0
  357. package/dist/services/approval/approval-descriptor.d.ts.map +1 -0
  358. package/dist/services/approval/approval-descriptor.js +23 -0
  359. package/dist/services/approval/approval-descriptor.js.map +1 -0
  360. package/dist/services/approval/approval-flow-coordinator.d.ts +2 -1
  361. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  362. package/dist/services/approval/approval-flow-coordinator.js +2 -1
  363. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  364. package/dist/services/approval/approval-grant-executor.d.ts +25 -0
  365. package/dist/services/approval/approval-grant-executor.d.ts.map +1 -0
  366. package/dist/services/approval/approval-grant-executor.js +125 -0
  367. package/dist/services/approval/approval-grant-executor.js.map +1 -0
  368. package/dist/services/approval/background-subagent-approval-controller.d.ts +2 -1
  369. package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
  370. package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
  371. package/dist/services/approval/nested-approval-owner.d.ts +52 -0
  372. package/dist/services/approval/nested-approval-owner.d.ts.map +1 -0
  373. package/dist/services/approval/nested-approval-owner.js +194 -0
  374. package/dist/services/approval/nested-approval-owner.js.map +1 -0
  375. package/dist/services/approval/non-interactive-approval-policy.js +1 -1
  376. package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
  377. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +5 -1
  378. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  379. package/dist/services/approval/shell-auto-approval-evaluator.js +44 -22
  380. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  381. package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
  382. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  383. package/dist/services/approval/shell-auto-approval-resolver.js +121 -20
  384. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  385. package/dist/services/approval/tool-approval-batch-coordinator.d.ts +10 -3
  386. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  387. package/dist/services/approval/tool-approval-batch-coordinator.js +36 -8
  388. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  389. package/dist/services/approval/tool-approval-policy-registry.d.ts +13 -0
  390. package/dist/services/approval/tool-approval-policy-registry.d.ts.map +1 -1
  391. package/dist/services/approval/tool-approval-policy-registry.js +16 -1
  392. package/dist/services/approval/tool-approval-policy-registry.js.map +1 -1
  393. package/dist/services/conversation/conversation-adapter-factory.d.ts +3 -1
  394. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  395. package/dist/services/conversation/conversation-adapter-factory.js +3 -3
  396. package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
  397. package/dist/services/conversation/conversation-adapter.d.ts +3 -2
  398. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  399. package/dist/services/conversation/conversation-adapter.js +34 -32
  400. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  401. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  402. package/dist/services/conversation/conversation-decoder.js +6 -2
  403. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  404. package/dist/services/conversation/conversation-orchestrator.d.ts +11 -0
  405. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  406. package/dist/services/conversation/conversation-orchestrator.js +79 -43
  407. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  408. package/dist/services/conversation/conversation-persistence.d.ts +35 -0
  409. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  410. package/dist/services/conversation/conversation-persistence.js +162 -19
  411. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  412. package/dist/services/conversation/conversation-replay.d.ts +2 -0
  413. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  414. package/dist/services/conversation/conversation-replay.js +71 -57
  415. package/dist/services/conversation/conversation-replay.js.map +1 -1
  416. package/dist/services/conversation/conversation-result-builder.d.ts +3 -0
  417. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  418. package/dist/services/conversation/conversation-result-builder.js +48 -27
  419. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  420. package/dist/services/conversation/conversation-runtime-factory.d.ts +5 -0
  421. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  422. package/dist/services/conversation/conversation-runtime-factory.js +1 -0
  423. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  424. package/dist/services/conversation/conversation-service.d.ts +14 -3
  425. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  426. package/dist/services/conversation/conversation-service.js +104 -32
  427. package/dist/services/conversation/conversation-service.js.map +1 -1
  428. package/dist/services/conversation/session-browser.d.ts +35 -23
  429. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  430. package/dist/services/conversation/session-browser.js +338 -67
  431. package/dist/services/conversation/session-browser.js.map +1 -1
  432. package/dist/services/conversation/session-index/session-index-database.d.ts +138 -0
  433. package/dist/services/conversation/session-index/session-index-database.d.ts.map +1 -0
  434. package/dist/services/conversation/session-index/session-index-database.js +684 -0
  435. package/dist/services/conversation/session-index/session-index-database.js.map +1 -0
  436. package/dist/services/conversation/session-index/session-index-schema.d.ts +35 -0
  437. package/dist/services/conversation/session-index/session-index-schema.d.ts.map +1 -0
  438. package/dist/services/conversation/session-index/session-index-schema.js +156 -0
  439. package/dist/services/conversation/session-index/session-index-schema.js.map +1 -0
  440. package/dist/services/conversation/session-index/session-index-service.d.ts +30 -0
  441. package/dist/services/conversation/session-index/session-index-service.d.ts.map +1 -0
  442. package/dist/services/conversation/session-index/session-index-service.js +234 -0
  443. package/dist/services/conversation/session-index/session-index-service.js.map +1 -0
  444. package/dist/services/conversation/session-index/session-index-worker-client.d.ts +36 -0
  445. package/dist/services/conversation/session-index/session-index-worker-client.d.ts.map +1 -0
  446. package/dist/services/conversation/session-index/session-index-worker-client.js +143 -0
  447. package/dist/services/conversation/session-index/session-index-worker-client.js.map +1 -0
  448. package/dist/services/conversation/session-index/session-index-worker.d.ts +56 -0
  449. package/dist/services/conversation/session-index/session-index-worker.d.ts.map +1 -0
  450. package/dist/services/conversation/session-index/session-index-worker.js +96 -0
  451. package/dist/services/conversation/session-index/session-index-worker.js.map +1 -0
  452. package/dist/services/conversation/session-search-helpers.d.ts +4 -0
  453. package/dist/services/conversation/session-search-helpers.d.ts.map +1 -0
  454. package/dist/services/conversation/session-search-helpers.js +13 -0
  455. package/dist/services/conversation/session-search-helpers.js.map +1 -0
  456. package/dist/services/conversation-agent-client.d.ts +8 -0
  457. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  458. package/dist/services/execution-context.js +2 -2
  459. package/dist/services/execution-context.js.map +1 -1
  460. package/dist/services/handoff/handoff-session.d.ts +2 -0
  461. package/dist/services/handoff/handoff-session.d.ts.map +1 -1
  462. package/dist/services/handoff/handoff-session.js +19 -3
  463. package/dist/services/handoff/handoff-session.js.map +1 -1
  464. package/dist/services/hooks/hook-event-factory.d.ts +2 -1
  465. package/dist/services/hooks/hook-event-factory.d.ts.map +1 -1
  466. package/dist/services/hooks/hook-event-factory.js +2 -1
  467. package/dist/services/hooks/hook-event-factory.js.map +1 -1
  468. package/dist/services/logging/conversation-log-events.d.ts +30 -3
  469. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  470. package/dist/services/logging/conversation-log-events.js +1 -4
  471. package/dist/services/logging/conversation-log-events.js.map +1 -1
  472. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  473. package/dist/services/logging/conversation-log-writer.js +50 -26
  474. package/dist/services/logging/conversation-log-writer.js.map +1 -1
  475. package/dist/services/logging/logging-service.d.ts +1 -0
  476. package/dist/services/logging/logging-service.d.ts.map +1 -1
  477. package/dist/services/logging/logging-service.js +6 -2
  478. package/dist/services/logging/logging-service.js.map +1 -1
  479. package/dist/services/logging/provider-traffic.d.ts +29 -2
  480. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  481. package/dist/services/logging/provider-traffic.js +251 -21
  482. package/dist/services/logging/provider-traffic.js.map +1 -1
  483. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  484. package/dist/services/memory/memory-capabilities.js +17 -5
  485. package/dist/services/memory/memory-capabilities.js.map +1 -1
  486. package/dist/services/memory/memory-store.d.ts +17 -0
  487. package/dist/services/memory/memory-store.d.ts.map +1 -1
  488. package/dist/services/memory/memory-store.js +71 -26
  489. package/dist/services/memory/memory-store.js.map +1 -1
  490. package/dist/services/mode-notices.d.ts +12 -9
  491. package/dist/services/mode-notices.d.ts.map +1 -1
  492. package/dist/services/mode-notices.js +83 -54
  493. package/dist/services/mode-notices.js.map +1 -1
  494. package/dist/services/model-service.d.ts +64 -4
  495. package/dist/services/model-service.d.ts.map +1 -1
  496. package/dist/services/model-service.js +303 -21
  497. package/dist/services/model-service.js.map +1 -1
  498. package/dist/services/models/model-catalog-session.d.ts +6 -0
  499. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  500. package/dist/services/models/model-catalog-session.js +18 -10
  501. package/dist/services/models/model-catalog-session.js.map +1 -1
  502. package/dist/services/models/model-favorites.d.ts +56 -0
  503. package/dist/services/models/model-favorites.d.ts.map +1 -0
  504. package/dist/services/models/model-favorites.js +93 -0
  505. package/dist/services/models/model-favorites.js.map +1 -0
  506. package/dist/services/models/model-listing.d.ts +97 -0
  507. package/dist/services/models/model-listing.d.ts.map +1 -0
  508. package/dist/services/models/model-listing.js +129 -0
  509. package/dist/services/models/model-listing.js.map +1 -0
  510. package/dist/services/models/model-nicknames.d.ts +113 -0
  511. package/dist/services/models/model-nicknames.d.ts.map +1 -0
  512. package/dist/services/models/model-nicknames.js +182 -0
  513. package/dist/services/models/model-nicknames.js.map +1 -0
  514. package/dist/services/models/model-picker-host.d.ts +72 -0
  515. package/dist/services/models/model-picker-host.d.ts.map +1 -0
  516. package/dist/services/models/model-picker-host.js +83 -0
  517. package/dist/services/models/model-picker-host.js.map +1 -0
  518. package/dist/services/models/model-resolution.d.ts +120 -0
  519. package/dist/services/models/model-resolution.d.ts.map +1 -0
  520. package/dist/services/models/model-resolution.js +521 -0
  521. package/dist/services/models/model-resolution.js.map +1 -0
  522. package/dist/services/models/reasoning-effort.d.ts +20 -0
  523. package/dist/services/models/reasoning-effort.d.ts.map +1 -0
  524. package/dist/services/models/reasoning-effort.js +28 -0
  525. package/dist/services/models/reasoning-effort.js.map +1 -0
  526. package/dist/services/models/unified-model-catalog.d.ts +4 -0
  527. package/dist/services/models/unified-model-catalog.d.ts.map +1 -0
  528. package/dist/services/models/unified-model-catalog.js +54 -0
  529. package/dist/services/models/unified-model-catalog.js.map +1 -0
  530. package/dist/services/plan-mode-interceptor.d.ts.map +1 -1
  531. package/dist/services/plan-mode-interceptor.js +5 -6
  532. package/dist/services/plan-mode-interceptor.js.map +1 -1
  533. package/dist/services/profiles/active-profile.d.ts +5 -0
  534. package/dist/services/profiles/active-profile.d.ts.map +1 -0
  535. package/dist/services/profiles/active-profile.js +33 -0
  536. package/dist/services/profiles/active-profile.js.map +1 -0
  537. package/dist/services/profiles/index.d.ts +9 -0
  538. package/dist/services/profiles/index.d.ts.map +1 -0
  539. package/dist/services/profiles/index.js +9 -0
  540. package/dist/services/profiles/index.js.map +1 -0
  541. package/dist/services/profiles/labels.d.ts +7 -0
  542. package/dist/services/profiles/labels.d.ts.map +1 -0
  543. package/dist/services/profiles/labels.js +22 -0
  544. package/dist/services/profiles/labels.js.map +1 -0
  545. package/dist/services/profiles/legacy-adapter.d.ts +28 -0
  546. package/dist/services/profiles/legacy-adapter.d.ts.map +1 -0
  547. package/dist/services/profiles/legacy-adapter.js +69 -0
  548. package/dist/services/profiles/legacy-adapter.js.map +1 -0
  549. package/dist/services/profiles/profile-transition.d.ts +48 -0
  550. package/dist/services/profiles/profile-transition.d.ts.map +1 -0
  551. package/dist/services/profiles/profile-transition.js +109 -0
  552. package/dist/services/profiles/profile-transition.js.map +1 -0
  553. package/dist/services/profiles/registry.d.ts +17 -0
  554. package/dist/services/profiles/registry.d.ts.map +1 -0
  555. package/dist/services/profiles/registry.js +147 -0
  556. package/dist/services/profiles/registry.js.map +1 -0
  557. package/dist/services/profiles/resolver.d.ts +10 -0
  558. package/dist/services/profiles/resolver.d.ts.map +1 -0
  559. package/dist/services/profiles/resolver.js +573 -0
  560. package/dist/services/profiles/resolver.js.map +1 -0
  561. package/dist/services/profiles/schema.d.ts +960 -0
  562. package/dist/services/profiles/schema.d.ts.map +1 -0
  563. package/dist/services/profiles/schema.js +196 -0
  564. package/dist/services/profiles/schema.js.map +1 -0
  565. package/dist/services/profiles/types.d.ts +224 -0
  566. package/dist/services/profiles/types.d.ts.map +1 -0
  567. package/dist/services/profiles/types.js +9 -0
  568. package/dist/services/profiles/types.js.map +1 -0
  569. package/dist/services/retry/committed-tool-continuation.d.ts +5 -0
  570. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
  571. package/dist/services/retry/committed-tool-continuation.js +6 -3
  572. package/dist/services/retry/committed-tool-continuation.js.map +1 -1
  573. package/dist/services/retry/provider-failure-classification.d.ts +16 -0
  574. package/dist/services/retry/provider-failure-classification.d.ts.map +1 -1
  575. package/dist/services/retry/provider-failure-classification.js +45 -0
  576. package/dist/services/retry/provider-failure-classification.js.map +1 -1
  577. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  578. package/dist/services/retry/retry-classifier.js +13 -10
  579. package/dist/services/retry/retry-classifier.js.map +1 -1
  580. package/dist/services/retry/retry-error-classification.d.ts +7 -0
  581. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  582. package/dist/services/retry/retry-error-classification.js +32 -9
  583. package/dist/services/retry/retry-error-classification.js.map +1 -1
  584. package/dist/services/retry/retry-recovery-budget.d.ts +26 -1
  585. package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -1
  586. package/dist/services/retry/retry-recovery-budget.js +33 -1
  587. package/dist/services/retry/retry-recovery-budget.js.map +1 -1
  588. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  589. package/dist/services/runtime-setting-router.js +76 -23
  590. package/dist/services/runtime-setting-router.js.map +1 -1
  591. package/dist/services/sandboxed-code-host/host-types.d.ts +135 -0
  592. package/dist/services/sandboxed-code-host/host-types.d.ts.map +1 -0
  593. package/dist/services/sandboxed-code-host/host-types.js +6 -0
  594. package/dist/services/sandboxed-code-host/host-types.js.map +1 -0
  595. package/dist/services/sandboxed-code-host/host-worker.d.ts +9 -0
  596. package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -0
  597. package/dist/services/sandboxed-code-host/host-worker.js +351 -0
  598. package/dist/services/sandboxed-code-host/host-worker.js.map +1 -0
  599. package/dist/services/sandboxed-code-host/sandbox.d.ts +16 -0
  600. package/dist/services/sandboxed-code-host/sandbox.d.ts.map +1 -0
  601. package/dist/services/sandboxed-code-host/sandbox.js +21 -0
  602. package/dist/services/sandboxed-code-host/sandbox.js.map +1 -0
  603. package/dist/services/sandboxed-code-host/sandboxed-code-host.d.ts +17 -0
  604. package/dist/services/sandboxed-code-host/sandboxed-code-host.d.ts.map +1 -0
  605. package/dist/services/sandboxed-code-host/sandboxed-code-host.js +347 -0
  606. package/dist/services/sandboxed-code-host/sandboxed-code-host.js.map +1 -0
  607. package/dist/services/service-interfaces.d.ts +32 -0
  608. package/dist/services/service-interfaces.d.ts.map +1 -1
  609. package/dist/services/session/background-task-control.d.ts +3 -1
  610. package/dist/services/session/background-task-control.d.ts.map +1 -1
  611. package/dist/services/session/background-task-control.js +4 -0
  612. package/dist/services/session/background-task-control.js.map +1 -1
  613. package/dist/services/session/continuation-plan-applier.d.ts +2 -1
  614. package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
  615. package/dist/services/session/continuation-plan-applier.js.map +1 -1
  616. package/dist/services/session/continuation-recovery-handler.d.ts +2 -1
  617. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  618. package/dist/services/session/continuation-recovery-handler.js +49 -5
  619. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  620. package/dist/services/session/initial-input-preparer.d.ts +2 -1
  621. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  622. package/dist/services/session/initial-input-preparer.js +2 -1
  623. package/dist/services/session/initial-input-preparer.js.map +1 -1
  624. package/dist/services/session/initial-turn-recovery-handler.d.ts +2 -1
  625. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  626. package/dist/services/session/initial-turn-recovery-handler.js +55 -20
  627. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  628. package/dist/services/session/post-execute-pending-registry.d.ts +2 -1
  629. package/dist/services/session/post-execute-pending-registry.d.ts.map +1 -1
  630. package/dist/services/session/post-execute-pending-registry.js +3 -2
  631. package/dist/services/session/post-execute-pending-registry.js.map +1 -1
  632. package/dist/services/session/session-client-factory.d.ts +4 -0
  633. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  634. package/dist/services/session/session-client-factory.js +12 -4
  635. package/dist/services/session/session-client-factory.js.map +1 -1
  636. package/dist/services/session/session-composition.d.ts +26 -2
  637. package/dist/services/session/session-composition.d.ts.map +1 -1
  638. package/dist/services/session/session-composition.js +97 -18
  639. package/dist/services/session/session-composition.js.map +1 -1
  640. package/dist/services/session/session-continuity-reset.d.ts +2 -1
  641. package/dist/services/session/session-continuity-reset.d.ts.map +1 -1
  642. package/dist/services/session/session-continuity-reset.js +5 -2
  643. package/dist/services/session/session-continuity-reset.js.map +1 -1
  644. package/dist/services/session/session-identity.d.ts +20 -0
  645. package/dist/services/session/session-identity.d.ts.map +1 -0
  646. package/dist/services/session/session-identity.js +43 -0
  647. package/dist/services/session/session-identity.js.map +1 -0
  648. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  649. package/dist/services/session/session-input-planner.js +2 -9
  650. package/dist/services/session/session-input-planner.js.map +1 -1
  651. package/dist/services/session/session-lifecycle.d.ts +5 -1
  652. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  653. package/dist/services/session/session-lifecycle.js +5 -1
  654. package/dist/services/session/session-lifecycle.js.map +1 -1
  655. package/dist/services/session/session-manager.d.ts.map +1 -1
  656. package/dist/services/session/session-manager.js +4 -1
  657. package/dist/services/session/session-manager.js.map +1 -1
  658. package/dist/services/session/session-stream-processor.d.ts +2 -1
  659. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  660. package/dist/services/session/session-stream-processor.js +5 -4
  661. package/dist/services/session/session-stream-processor.js.map +1 -1
  662. package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -1
  663. package/dist/services/session/test-helpers/conversation-session-fixtures.js +14 -9
  664. package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -1
  665. package/dist/services/session/turn-coordinator.d.ts +2 -1
  666. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  667. package/dist/services/session/turn-coordinator.js +3 -0
  668. package/dist/services/session/turn-coordinator.js.map +1 -1
  669. package/dist/services/session/turn-workflow.d.ts +4 -1
  670. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  671. package/dist/services/session/turn-workflow.js +58 -21
  672. package/dist/services/session/turn-workflow.js.map +1 -1
  673. package/dist/services/session-rollover/session-rollover-brief.d.ts +9 -1
  674. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  675. package/dist/services/session-rollover/session-rollover-brief.js +18 -3
  676. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  677. package/dist/services/settings/setting-schema-utils.d.ts +2 -0
  678. package/dist/services/settings/setting-schema-utils.d.ts.map +1 -1
  679. package/dist/services/settings/setting-schema-utils.js +15 -27
  680. package/dist/services/settings/setting-schema-utils.js.map +1 -1
  681. package/dist/services/settings/settings-persistence.js +1 -1
  682. package/dist/services/settings/settings-persistence.js.map +1 -1
  683. package/dist/services/settings/settings-schema.d.ts +132 -15
  684. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  685. package/dist/services/settings/settings-schema.js +133 -32
  686. package/dist/services/settings/settings-schema.js.map +1 -1
  687. package/dist/services/settings/settings-service.d.ts +3 -1
  688. package/dist/services/settings/settings-service.d.ts.map +1 -1
  689. package/dist/services/settings/settings-service.js +88 -91
  690. package/dist/services/settings/settings-service.js.map +1 -1
  691. package/dist/services/settings/settings-sources.d.ts +207 -0
  692. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  693. package/dist/services/settings/settings-sources.js +61 -1
  694. package/dist/services/settings/settings-sources.js.map +1 -1
  695. package/dist/services/settings/settings-ui-metadata.d.ts +27 -0
  696. package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -0
  697. package/dist/services/settings/settings-ui-metadata.js +283 -0
  698. package/dist/services/settings/settings-ui-metadata.js.map +1 -0
  699. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +12 -2
  700. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  701. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +61 -0
  702. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  703. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  704. package/dist/services/subagents/execution-runner.js +8 -0
  705. package/dist/services/subagents/execution-runner.js.map +1 -1
  706. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  707. package/dist/services/subagents/mentor-runner.js +5 -2
  708. package/dist/services/subagents/mentor-runner.js.map +1 -1
  709. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  710. package/dist/services/subagents/role-loader.js +4 -0
  711. package/dist/services/subagents/role-loader.js.map +1 -1
  712. package/dist/services/subagents/subagent-client-types.d.ts +7 -0
  713. package/dist/services/subagents/subagent-client-types.d.ts.map +1 -1
  714. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  715. package/dist/services/subagents/subagent-manager.js +4 -1
  716. package/dist/services/subagents/subagent-manager.js.map +1 -1
  717. package/dist/services/subagents/subagent-notification-store.d.ts +12 -2
  718. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  719. package/dist/services/subagents/subagent-notification-store.js +14 -5
  720. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  721. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
  722. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +2 -1
  723. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
  724. package/dist/services/subagents/tool-policy.d.ts +8 -0
  725. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  726. package/dist/services/subagents/tool-policy.js +299 -56
  727. package/dist/services/subagents/tool-policy.js.map +1 -1
  728. package/dist/services/subagents/types.d.ts +2 -1
  729. package/dist/services/subagents/types.d.ts.map +1 -1
  730. package/dist/services/subagents/types.js.map +1 -1
  731. package/dist/services/tool-toggles.d.ts +20 -0
  732. package/dist/services/tool-toggles.d.ts.map +1 -0
  733. package/dist/services/tool-toggles.js +115 -0
  734. package/dist/services/tool-toggles.js.map +1 -0
  735. package/dist/slash-commands.d.ts +3 -0
  736. package/dist/slash-commands.d.ts.map +1 -1
  737. package/dist/slash-commands.js.map +1 -1
  738. package/dist/test-helpers/conversation-session-with-adapter.d.ts +1 -1
  739. package/dist/test-helpers/conversation-session-with-adapter.d.ts.map +1 -1
  740. package/dist/test-helpers/conversation-session-with-adapter.js +6 -1
  741. package/dist/test-helpers/conversation-session-with-adapter.js.map +1 -1
  742. package/dist/test-helpers/vitest-cache-isolation.d.ts +2 -0
  743. package/dist/test-helpers/vitest-cache-isolation.d.ts.map +1 -0
  744. package/dist/test-helpers/vitest-cache-isolation.js +17 -0
  745. package/dist/test-helpers/vitest-cache-isolation.js.map +1 -0
  746. package/dist/tools/agent/activate-skill.d.ts.map +1 -1
  747. package/dist/tools/agent/activate-skill.js +1 -0
  748. package/dist/tools/agent/activate-skill.js.map +1 -1
  749. package/dist/tools/agent/configure-task-check-in.d.ts +2 -0
  750. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -1
  751. package/dist/tools/agent/configure-task-check-in.js +15 -6
  752. package/dist/tools/agent/configure-task-check-in.js.map +1 -1
  753. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  754. package/dist/tools/agent/run-subagent-async.js +16 -12
  755. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  756. package/dist/tools/file/apply-patch.d.ts +2 -15
  757. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  758. package/dist/tools/file/apply-patch.js +171 -108
  759. package/dist/tools/file/apply-patch.js.map +1 -1
  760. package/dist/tools/file/code-context.d.ts.map +1 -1
  761. package/dist/tools/file/code-context.js +40 -5
  762. package/dist/tools/file/code-context.js.map +1 -1
  763. package/dist/tools/file/create-file.d.ts.map +1 -1
  764. package/dist/tools/file/create-file.js +13 -8
  765. package/dist/tools/file/create-file.js.map +1 -1
  766. package/dist/tools/file/glob.d.ts.map +1 -1
  767. package/dist/tools/file/glob.js +49 -11
  768. package/dist/tools/file/glob.js.map +1 -1
  769. package/dist/tools/file/grep.d.ts.map +1 -1
  770. package/dist/tools/file/grep.js +32 -8
  771. package/dist/tools/file/grep.js.map +1 -1
  772. package/dist/tools/file/read-file.d.ts.map +1 -1
  773. package/dist/tools/file/read-file.js +109 -6
  774. package/dist/tools/file/read-file.js.map +1 -1
  775. package/dist/tools/file/search-replace.js +4 -4
  776. package/dist/tools/file/search-replace.js.map +1 -1
  777. package/dist/tools/file/upstream-apply-patch.d.ts +31 -0
  778. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -0
  779. package/dist/tools/file/upstream-apply-patch.js +126 -0
  780. package/dist/tools/file/upstream-apply-patch.js.map +1 -0
  781. package/dist/tools/format-helpers.d.ts +2 -0
  782. package/dist/tools/format-helpers.d.ts.map +1 -1
  783. package/dist/tools/format-helpers.js.map +1 -1
  784. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  785. package/dist/tools/memory/memory-tools.js +19 -1
  786. package/dist/tools/memory/memory-tools.js.map +1 -1
  787. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
  788. package/dist/tools/session-browser/session-browser-tools.js +33 -7
  789. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  790. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  791. package/dist/tools/session-rollover/session-rollover-tool.js +18 -3
  792. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  793. package/dist/tools/system/run-code/index.d.ts +2 -0
  794. package/dist/tools/system/run-code/index.d.ts.map +1 -0
  795. package/dist/tools/system/run-code/index.js +2 -0
  796. package/dist/tools/system/run-code/index.js.map +1 -0
  797. package/dist/tools/system/run-code/run-code-telemetry.d.ts +92 -0
  798. package/dist/tools/system/run-code/run-code-telemetry.d.ts.map +1 -0
  799. package/dist/tools/system/run-code/run-code-telemetry.js +189 -0
  800. package/dist/tools/system/run-code/run-code-telemetry.js.map +1 -0
  801. package/dist/tools/system/run-code/run-code.d.ts +98 -0
  802. package/dist/tools/system/run-code/run-code.d.ts.map +1 -0
  803. package/dist/tools/system/run-code/run-code.js +1078 -0
  804. package/dist/tools/system/run-code/run-code.js.map +1 -0
  805. package/dist/tools/system/run-code/tools-header.d.ts +25 -0
  806. package/dist/tools/system/run-code/tools-header.d.ts.map +1 -0
  807. package/dist/tools/system/run-code/tools-header.js +136 -0
  808. package/dist/tools/system/run-code/tools-header.js.map +1 -0
  809. package/dist/tools/system/shell.d.ts.map +1 -1
  810. package/dist/tools/system/shell.js +66 -11
  811. package/dist/tools/system/shell.js.map +1 -1
  812. package/dist/tools/system/worktree.js +2 -2
  813. package/dist/tools/system/worktree.js.map +1 -1
  814. package/dist/tools/types.d.ts +39 -2
  815. package/dist/tools/types.d.ts.map +1 -1
  816. package/dist/tools/types.js.map +1 -1
  817. package/dist/tools/utils.d.ts +10 -0
  818. package/dist/tools/utils.d.ts.map +1 -1
  819. package/dist/tools/utils.js +13 -0
  820. package/dist/tools/utils.js.map +1 -1
  821. package/dist/tools/web/web-fetch.d.ts.map +1 -1
  822. package/dist/tools/web/web-fetch.js +14 -6
  823. package/dist/tools/web/web-fetch.js.map +1 -1
  824. package/dist/tools/web/web-search.d.ts.map +1 -1
  825. package/dist/tools/web/web-search.js +2 -1
  826. package/dist/tools/web/web-search.js.map +1 -1
  827. package/dist/utils/ai/model-settings.d.ts.map +1 -1
  828. package/dist/utils/ai/model-settings.js +0 -47
  829. package/dist/utils/ai/model-settings.js.map +1 -1
  830. package/dist/utils/ai/token-usage.d.ts +7 -0
  831. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  832. package/dist/utils/ai/token-usage.js +6 -2
  833. package/dist/utils/ai/token-usage.js.map +1 -1
  834. package/dist/utils/conversation/apply-conversation-result.d.ts.map +1 -1
  835. package/dist/utils/conversation/apply-conversation-result.js +13 -0
  836. package/dist/utils/conversation/apply-conversation-result.js.map +1 -1
  837. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  838. package/dist/utils/conversation/conversation-utils.js +54 -1
  839. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  840. package/dist/utils/conversation/message-buffer.d.ts +16 -0
  841. package/dist/utils/conversation/message-buffer.d.ts.map +1 -1
  842. package/dist/utils/conversation/message-buffer.js +33 -0
  843. package/dist/utils/conversation/message-buffer.js.map +1 -1
  844. package/dist/utils/output/bound-tool-result.d.ts +23 -0
  845. package/dist/utils/output/bound-tool-result.d.ts.map +1 -1
  846. package/dist/utils/output/bound-tool-result.js +27 -0
  847. package/dist/utils/output/bound-tool-result.js.map +1 -1
  848. package/dist/utils/output/trim-tool-output.d.ts +1 -1
  849. package/dist/utils/output/trim-tool-output.d.ts.map +1 -1
  850. package/dist/utils/output/trim-tool-output.js +20 -0
  851. package/dist/utils/output/trim-tool-output.js.map +1 -1
  852. package/dist/utils/resume-list.d.ts +2 -0
  853. package/dist/utils/resume-list.d.ts.map +1 -1
  854. package/dist/utils/resume-list.js +7 -14
  855. package/dist/utils/resume-list.js.map +1 -1
  856. package/dist/utils/settings-command.d.ts +8 -0
  857. package/dist/utils/settings-command.d.ts.map +1 -1
  858. package/dist/utils/settings-command.js +138 -37
  859. package/dist/utils/settings-command.js.map +1 -1
  860. package/dist/utils/shell/execute-shell.d.ts +18 -0
  861. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  862. package/dist/utils/shell/execute-shell.js +48 -6
  863. package/dist/utils/shell/execute-shell.js.map +1 -1
  864. package/dist/utils/shell/shell-output.d.ts +7 -1
  865. package/dist/utils/shell/shell-output.d.ts.map +1 -1
  866. package/dist/utils/shell/shell-output.js +37 -7
  867. package/dist/utils/shell/shell-output.js.map +1 -1
  868. package/dist/utils/streaming/streaming-session-factory.d.ts +9 -0
  869. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  870. package/dist/utils/streaming/streaming-session-factory.js +13 -1
  871. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  872. package/dist/utils/streaming/streaming-speed-tracker.d.ts +15 -0
  873. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -1
  874. package/dist/utils/streaming/streaming-speed-tracker.js +18 -1
  875. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -1
  876. package/dist/utils/tool-args-display.d.ts +21 -0
  877. package/dist/utils/tool-args-display.d.ts.map +1 -0
  878. package/dist/utils/tool-args-display.js +34 -0
  879. package/dist/utils/tool-args-display.js.map +1 -0
  880. package/dist/utils/value-suggestions.d.ts +4 -10
  881. package/dist/utils/value-suggestions.d.ts.map +1 -1
  882. package/dist/utils/value-suggestions.js +77 -144
  883. package/dist/utils/value-suggestions.js.map +1 -1
  884. package/dist/utils/worker-bootstrap.d.ts +3 -0
  885. package/dist/utils/worker-bootstrap.d.ts.map +1 -0
  886. package/dist/utils/worker-bootstrap.js +7 -0
  887. package/dist/utils/worker-bootstrap.js.map +1 -0
  888. package/dist/utils/worker-cwd-preload.cjs +23 -0
  889. package/dist/utils/worker-cwd-preload.cjs.map +1 -0
  890. package/dist/utils/worker-cwd-preload.d.cts +2 -0
  891. package/dist/utils/worker-cwd-preload.d.cts.map +1 -0
  892. package/package.json +7 -4
  893. package/dist/services/agent-runtime/workflow/workflow-worker.d.ts +0 -4
  894. package/dist/services/agent-runtime/workflow/workflow-worker.d.ts.map +0 -1
  895. package/dist/services/agent-runtime/workflow/workflow-worker.js +0 -55
  896. package/dist/services/agent-runtime/workflow/workflow-worker.js.map +0 -1
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-replay.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-replay.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-replay.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { type ShellAutoApprovalResolver } from '../approval/shell-auto-approval-
10
10
  import type { PersistedAssistantTurnItem } from './conversation-persistence-types.js';
11
11
  import { type GenerationToken } from '../generation-guard.js';
12
12
  import { type CommandMessage } from '../../tools/types.js';
13
+ import type { ToolApprovalPolicyRegistry } from '../approval/tool-approval-policy-registry.js';
13
14
  import type { DeniedReadMetadata, PostExecuteApprovalToken } from '../../contracts/conversation.js';
14
15
  import type { SessionAccessState } from '../session/session-access-state.js';
15
16
  import type { NestedToolCompatibilityState } from '../session/nested-tool-compatibility-state.js';
@@ -34,6 +35,8 @@ export interface ResultBuilderDeps {
34
35
  shellAutoApproval: ShellAutoApprovalResolver;
35
36
  logger: ILoggingService;
36
37
  sessionId: string;
38
+ /** Policy authority owned by the active tool graph. */
39
+ approvalPolicyRegistry: ToolApprovalPolicyRegistry;
37
40
  /** Handle-owned root capability; omitted only by nested compatibility callers. */
38
41
  sessionAccess?: SessionAccessState;
39
42
  /** Explicit nested/test-only legacy approval state. */
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-result-builder.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-result-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACZ,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAI1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAI7F,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAA4B,KAAK,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACvH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAGtF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQ3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAElG,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE;QAAE,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAA;CAAE,GACnG;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,uBAAuB,CAAC;IACtC,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACrC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,yBAAyB,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,0BAA0B,EAAE,CAAC;CACpD;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,gCAAgC,EAAE,cAAc,CAAC;IACzE,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAClC,GAAG,wBAAwB,CAoB3B;AAcD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAuP7B;AA6BD,eAAO,MAAM,eAAe,WAAY,oBAAoB,KAAG,iBA8B9D,CAAC"}
1
+ {"version":3,"file":"conversation-result-builder.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-result-builder.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
- import path from 'node:path';
2
1
  import { ModelBehaviorError } from '../../contracts/model-errors.js';
3
2
  import { CHECK_IN_TOOL_NAME } from '../../contracts/conversation.js';
4
3
  import { extractUsage } from '../../utils/ai/token-usage.js';
5
- import { getActiveWorkspaceRoot } from '../workspace/active-workspace-root.js';
6
4
  import { extractCommandMessages } from '../../utils/streaming/extract-command-messages.js';
7
5
  import { attachCachedArguments } from '../command-message-streaming.js';
8
6
  import { createInvalidToolCallDiagnostic } from '../logging/logging-contract.js';
9
7
  import { asRecord, getCallIdFromObject, getString, getToolInfoFromInterruption } from '../interruption-info.js';
10
8
  import { selectAgentStreamItems } from '../agent-stream.js';
11
9
  import { createContinuationHandle } from '../../contracts/continuation-handle.js';
12
- import { shouldBypassToolApproval } from '../approval/shell-auto-approval-resolver.js';
10
+ import { shouldBypassToolApproval, isAutoApprovableTool, extractToolTargetPaths, } from '../approval/shell-auto-approval-resolver.js';
11
+ import { supportsFolderSessionRead } from '../../contracts/conversation.js';
12
+ import { resolveSessionReadFolder } from '../approval/session-read-grant-target.js';
13
13
  import { parseToolCallArguments } from '../tool-call-arguments.js';
14
14
  import { buildPersistedAssistantTurnItems } from './conversation-turn-items.js';
15
- import { toolApprovalPolicyRegistry } from '../approval/tool-approval-policy-registry.js';
16
15
  import { isRunBudgetInteraction } from '../agent-runtime/run-budget.js';
17
16
  import { isDockerHostControlShellApproval, isUnsandboxedShell, requiresHumanShellApproval, } from '../approval/shell-sandbox-approval.js';
17
+ import { resolveOutsideWorkspaceEdit } from '../approval/approval-descriptor.js';
18
18
  export function createApprovalRequiredTerminal(options) {
19
19
  return {
20
20
  type: 'approval_required',
@@ -48,7 +48,7 @@ const resolveFinalText = (streamedText, completedText) => {
48
48
  };
49
49
  export async function buildConversationResult(input, deps) {
50
50
  const { result, finalOutputOverride, reasoningOutputOverride, emittedCommandIds, usage, toolCallArgumentsById } = input;
51
- const { approvalFlow, shellAutoApproval, logger, sessionId, sessionAccess, nestedCompatibility } = deps;
51
+ const { approvalFlow, shellAutoApproval, logger, sessionId, approvalPolicyRegistry, sessionAccess, nestedCompatibility, } = deps;
52
52
  const runBudgetInteraction = result.interruptions?.find(isRunBudgetInteraction);
53
53
  if (runBudgetInteraction) {
54
54
  approvalFlow.recordPending({
@@ -153,11 +153,35 @@ export async function buildConversationResult(input, deps) {
153
153
  argumentsText,
154
154
  };
155
155
  }
156
- const registryDecision = await toolApprovalPolicyRegistry.evaluate({
156
+ const registryDecision = await approvalPolicyRegistry.evaluate({
157
157
  toolName,
158
158
  args: parseResult.arguments,
159
159
  context: runContext,
160
160
  });
161
+ if (registryDecision.kind === 'error' || registryDecision.kind === 'interceptor_denied') {
162
+ logger.warn('Tool approval policy refused a direct call', {
163
+ eventType: 'approval.policy_denied',
164
+ category: 'approval',
165
+ phase: 'approval',
166
+ sessionId,
167
+ callId,
168
+ toolName,
169
+ policy: registryDecision.kind,
170
+ });
171
+ approvalFlow.clearPending();
172
+ throw new ModelBehaviorError(`Tool approval policy ${registryDecision.kind} refused ${toolName ?? 'the requested tool'}; execution was not allowed.`);
173
+ }
174
+ const unknownPolicy = registryDecision.kind === 'unknown';
175
+ if (unknownPolicy) {
176
+ logger.debug('Tool approval policy was unknown; using advisory/manual resolution', {
177
+ eventType: 'approval.policy_unknown',
178
+ category: 'approval',
179
+ phase: 'approval',
180
+ sessionId,
181
+ callId,
182
+ toolName,
183
+ });
184
+ }
161
185
  if (!forceHumanApproval &&
162
186
  !isUnsandboxedShell(toolName, parseResult.arguments) &&
163
187
  registryDecision.kind === 'auto_approve') {
@@ -176,7 +200,7 @@ export async function buildConversationResult(input, deps) {
176
200
  };
177
201
  }
178
202
  let llmAdvisory;
179
- if ((toolName === 'shell' || toolName === 'bash') && !forceHumanApproval) {
203
+ if (isAutoApprovableTool(toolName) && !forceHumanApproval) {
180
204
  if (shellAutoApproval.getAutoApproveMode() === 'always') {
181
205
  return {
182
206
  kind: 'auto_approve',
@@ -189,16 +213,31 @@ export async function buildConversationResult(input, deps) {
189
213
  siblings: result.interruptions || [],
190
214
  });
191
215
  if (shellAutoApproval.shouldAutoApprove(llmAdvisory)) {
192
- logger.debug('Shell command auto-approved by LLM', {
216
+ logger.debug('Tool auto-approved by LLM', {
193
217
  eventType: 'approval.auto_approved',
194
218
  category: 'approval',
195
219
  phase: 'approval',
196
220
  sessionId,
197
221
  callId,
198
- command: argumentsText,
222
+ toolName,
223
+ arguments: argumentsText,
199
224
  model: llmAdvisory.model,
200
225
  reasoning: llmAdvisory.reasoning,
201
226
  });
227
+ if (supportsFolderSessionRead(toolName)) {
228
+ const folder = resolveSessionReadFolder(toolName, parseResult.arguments);
229
+ if (folder && sessionAccess) {
230
+ sessionAccess.allowReadFolder(folder);
231
+ }
232
+ }
233
+ if (toolName === 'create_file' || toolName === 'search_replace' || toolName === 'apply_patch') {
234
+ const targetPaths = extractToolTargetPaths(toolName, parseResult.arguments);
235
+ if (sessionAccess) {
236
+ for (const p of targetPaths) {
237
+ sessionAccess.allowEditFile(p);
238
+ }
239
+ }
240
+ }
202
241
  return {
203
242
  kind: 'auto_approve',
204
243
  advisory: llmAdvisory,
@@ -267,24 +306,6 @@ function formatRunBudgetInteraction(event) {
267
306
  const { evidence } = event;
268
307
  return `Run budget ${event.stage} check-in\n${evidence.dimension}: ${evidence.used}/${evidence.limit} (headroom ${evidence.headroom})`;
269
308
  }
270
- function resolveOutsideWorkspaceEdit(toolName, args) {
271
- if (toolName !== 'apply_patch' && toolName !== 'create_file' && toolName !== 'search_replace')
272
- return undefined;
273
- const record = args && typeof args === 'object' ? args : undefined;
274
- const operation = Array.isArray(record?.operations) ? record.operations[0] : record;
275
- const rawPath = operation && typeof operation === 'object' ? operation.path : undefined;
276
- if (typeof rawPath !== 'string')
277
- return undefined;
278
- // Both the relative-path resolution and the membership test must use the
279
- // leased root: resolving against the process cwd would place a worktree-
280
- // relative edit in the main checkout and mis-detect it as outside the
281
- // workspace.
282
- const workspace = path.resolve(getActiveWorkspaceRoot());
283
- const target = path.resolve(workspace, rawPath);
284
- if (target === workspace || target.startsWith(`${workspace}${path.sep}`))
285
- return undefined;
286
- return { path: target, folder: path.dirname(target) };
287
- }
288
309
  export const toTerminalEvent = (result) => {
289
310
  if (result.type === 'approval_required') {
290
311
  return {