@qduc/term2 0.15.0 → 0.17.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 (696) hide show
  1. package/README.md +324 -316
  2. package/dist/agent.d.ts +5 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +16 -64
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts +1 -1
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +129 -19
  9. package/dist/app.js.map +1 -1
  10. package/dist/cli.js +52 -17
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/auto-approve-command.d.ts +2 -1
  13. package/dist/commands/auto-approve-command.d.ts.map +1 -1
  14. package/dist/commands/auto-approve-command.js +16 -27
  15. package/dist/commands/auto-approve-command.js.map +1 -1
  16. package/dist/commands/compact-command.d.ts.map +1 -1
  17. package/dist/commands/compact-command.js +4 -0
  18. package/dist/commands/compact-command.js.map +1 -1
  19. package/dist/commands/effort-command.js +1 -1
  20. package/dist/commands/effort-command.js.map +1 -1
  21. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  22. package/dist/commands/guarded-settings-command.js +4 -8
  23. package/dist/commands/guarded-settings-command.js.map +1 -1
  24. package/dist/commands/model-command.js +1 -1
  25. package/dist/commands/model-command.js.map +1 -1
  26. package/dist/commands/resume-command.d.ts +11 -0
  27. package/dist/commands/resume-command.d.ts.map +1 -0
  28. package/dist/commands/resume-command.js +41 -0
  29. package/dist/commands/resume-command.js.map +1 -0
  30. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  31. package/dist/components/ErrorBoundary.js +5 -4
  32. package/dist/components/ErrorBoundary.js.map +1 -1
  33. package/dist/components/InputBox.d.ts +2 -0
  34. package/dist/components/InputBox.d.ts.map +1 -1
  35. package/dist/components/InputBox.js +56 -18
  36. package/dist/components/InputBox.js.map +1 -1
  37. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  38. package/dist/components/MarkdownRenderer.js +16 -15
  39. package/dist/components/MarkdownRenderer.js.map +1 -1
  40. package/dist/components/common/MenuContainer.d.ts +25 -2
  41. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  42. package/dist/components/common/MenuContainer.js +35 -11
  43. package/dist/components/common/MenuContainer.js.map +1 -1
  44. package/dist/components/common/ScrollableTabBar.d.ts.map +1 -1
  45. package/dist/components/common/ScrollableTabBar.js +5 -4
  46. package/dist/components/common/ScrollableTabBar.js.map +1 -1
  47. package/dist/components/input/ApplicationInputSurface.d.ts +7 -5
  48. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  49. package/dist/components/input/ApplicationInputSurface.js +7 -0
  50. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  51. package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -1
  52. package/dist/components/input/FirstRunSetupPrompt.js +5 -4
  53. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
  54. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  55. package/dist/components/input/MenuSurface.js +10 -3
  56. package/dist/components/input/MenuSurface.js.map +1 -1
  57. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  58. package/dist/components/input/ModelMenuSession.js +2 -1
  59. package/dist/components/input/ModelMenuSession.js.map +1 -1
  60. package/dist/components/input/PendingQueueList.d.ts +2 -0
  61. package/dist/components/input/PendingQueueList.d.ts.map +1 -1
  62. package/dist/components/input/PendingQueueList.js +17 -14
  63. package/dist/components/input/PendingQueueList.js.map +1 -1
  64. package/dist/components/input/ResumeMenuSession.d.ts +17 -0
  65. package/dist/components/input/ResumeMenuSession.d.ts.map +1 -0
  66. package/dist/components/input/ResumeMenuSession.js +57 -0
  67. package/dist/components/input/ResumeMenuSession.js.map +1 -0
  68. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  69. package/dist/components/input/SettingsValueMenuSession.js +2 -1
  70. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  71. package/dist/components/input/determine-active-menu.d.ts +3 -0
  72. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  73. package/dist/components/input/determine-active-menu.js +10 -5
  74. package/dist/components/input/determine-active-menu.js.map +1 -1
  75. package/dist/components/input/menu-registry.d.ts.map +1 -1
  76. package/dist/components/input/menu-registry.js +2 -0
  77. package/dist/components/input/menu-registry.js.map +1 -1
  78. package/dist/components/input/menu-types.d.ts +4 -0
  79. package/dist/components/input/menu-types.d.ts.map +1 -1
  80. package/dist/components/input/triggers.d.ts +1 -0
  81. package/dist/components/input/triggers.d.ts.map +1 -1
  82. package/dist/components/input/triggers.js +26 -0
  83. package/dist/components/input/triggers.js.map +1 -1
  84. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  85. package/dist/components/layout/BackgroundTaskManager.js +12 -11
  86. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  87. package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -2
  88. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  89. package/dist/components/layout/BackgroundTasksPanel.js +10 -9
  90. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  91. package/dist/components/layout/Banner.d.ts +0 -1
  92. package/dist/components/layout/Banner.d.ts.map +1 -1
  93. package/dist/components/layout/Banner.js +43 -73
  94. package/dist/components/layout/Banner.js.map +1 -1
  95. package/dist/components/layout/BottomArea.d.ts +8 -5
  96. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  97. package/dist/components/layout/BottomArea.js +17 -9
  98. package/dist/components/layout/BottomArea.js.map +1 -1
  99. package/dist/components/layout/DiffView.js +5 -5
  100. package/dist/components/layout/DiffView.js.map +1 -1
  101. package/dist/components/layout/StatusBar.d.ts +4 -1
  102. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  103. package/dist/components/layout/StatusBar.js +305 -95
  104. package/dist/components/layout/StatusBar.js.map +1 -1
  105. package/dist/components/layout/background-task-clock.d.ts +43 -0
  106. package/dist/components/layout/background-task-clock.d.ts.map +1 -0
  107. package/dist/components/layout/background-task-clock.js +46 -0
  108. package/dist/components/layout/background-task-clock.js.map +1 -0
  109. package/dist/components/menu/CopyMenu.d.ts.map +1 -1
  110. package/dist/components/menu/CopyMenu.js +4 -3
  111. package/dist/components/menu/CopyMenu.js.map +1 -1
  112. package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -1
  113. package/dist/components/menu/MentorPoolSelectionMenu.js +28 -21
  114. package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -1
  115. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  116. package/dist/components/menu/ModelSelectionMenu.js +26 -13
  117. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  118. package/dist/components/menu/PathSelectionMenu.d.ts.map +1 -1
  119. package/dist/components/menu/PathSelectionMenu.js +4 -3
  120. package/dist/components/menu/PathSelectionMenu.js.map +1 -1
  121. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  122. package/dist/components/menu/ProviderSelectionMenu.js +46 -26
  123. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  124. package/dist/components/menu/ResumeSelectionMenu.d.ts +11 -0
  125. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -0
  126. package/dist/components/menu/ResumeSelectionMenu.js +91 -0
  127. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -0
  128. package/dist/components/menu/RewindMenu.d.ts.map +1 -1
  129. package/dist/components/menu/RewindMenu.js +4 -3
  130. package/dist/components/menu/RewindMenu.js.map +1 -1
  131. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  132. package/dist/components/menu/SettingsSelectionMenu.js +26 -26
  133. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  134. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  135. package/dist/components/menu/SettingsValueSelectionMenu.js +22 -20
  136. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  137. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  138. package/dist/components/menu/SkillSelectionMenu.js +33 -23
  139. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  140. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  141. package/dist/components/menu/SlashCommandMenu.js +11 -6
  142. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  143. package/dist/components/message/ChatMessage.js +2 -2
  144. package/dist/components/message/ChatMessage.js.map +1 -1
  145. package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -1
  146. package/dist/components/message/CodeContextSearchRenderer.js +8 -11
  147. package/dist/components/message/CodeContextSearchRenderer.js.map +1 -1
  148. package/dist/components/message/CommandGroupSummary.d.ts.map +1 -1
  149. package/dist/components/message/CommandGroupSummary.js +21 -9
  150. package/dist/components/message/CommandGroupSummary.js.map +1 -1
  151. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  152. package/dist/components/message/CommandMessage.js +111 -91
  153. package/dist/components/message/CommandMessage.js.map +1 -1
  154. package/dist/components/message/GrepRenderer.d.ts.map +1 -1
  155. package/dist/components/message/GrepRenderer.js +5 -8
  156. package/dist/components/message/GrepRenderer.js.map +1 -1
  157. package/dist/components/message/MemoryRenderer.d.ts +1 -0
  158. package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
  159. package/dist/components/message/MemoryRenderer.js +19 -17
  160. package/dist/components/message/MemoryRenderer.js.map +1 -1
  161. package/dist/components/message/MessageList.d.ts +1 -2
  162. package/dist/components/message/MessageList.d.ts.map +1 -1
  163. package/dist/components/message/MessageList.js +12 -11
  164. package/dist/components/message/MessageList.js.map +1 -1
  165. package/dist/components/message/ReadFileRenderer.d.ts.map +1 -1
  166. package/dist/components/message/ReadFileRenderer.js +5 -6
  167. package/dist/components/message/ReadFileRenderer.js.map +1 -1
  168. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  169. package/dist/components/message/SubagentActivityMessage.js +17 -13
  170. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  171. package/dist/components/message/WebFetchRenderer.d.ts.map +1 -1
  172. package/dist/components/message/WebFetchRenderer.js +7 -11
  173. package/dist/components/message/WebFetchRenderer.js.map +1 -1
  174. package/dist/components/message/WebSearchRenderer.d.ts.map +1 -1
  175. package/dist/components/message/WebSearchRenderer.js +5 -10
  176. package/dist/components/message/WebSearchRenderer.js.map +1 -1
  177. package/dist/components/message/command-grouping.d.ts +29 -6
  178. package/dist/components/message/command-grouping.d.ts.map +1 -1
  179. package/dist/components/message/command-grouping.js +62 -20
  180. package/dist/components/message/command-grouping.js.map +1 -1
  181. package/dist/components/message/command-message-helpers.d.ts +10 -37
  182. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  183. package/dist/components/message/command-message-helpers.js +26 -8
  184. package/dist/components/message/command-message-helpers.js.map +1 -1
  185. package/dist/components/message/useCommandVisibility.d.ts.map +1 -1
  186. package/dist/components/message/useCommandVisibility.js +5 -4
  187. package/dist/components/message/useCommandVisibility.js.map +1 -1
  188. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  189. package/dist/components/prompt/ApprovalPrompt.js +232 -106
  190. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  191. package/dist/components/prompt/HandoffConfirmationPrompt.d.ts.map +1 -1
  192. package/dist/components/prompt/HandoffConfirmationPrompt.js +3 -2
  193. package/dist/components/prompt/HandoffConfirmationPrompt.js.map +1 -1
  194. package/dist/components/prompt/InputSurgeConfirmationPrompt.d.ts.map +1 -1
  195. package/dist/components/prompt/InputSurgeConfirmationPrompt.js +5 -4
  196. package/dist/components/prompt/InputSurgeConfirmationPrompt.js.map +1 -1
  197. package/dist/components/prompt/LargeUncachedConfirmationPrompt.d.ts.map +1 -1
  198. package/dist/components/prompt/LargeUncachedConfirmationPrompt.js +4 -3
  199. package/dist/components/prompt/LargeUncachedConfirmationPrompt.js.map +1 -1
  200. package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts.map +1 -1
  201. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js +4 -3
  202. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js.map +1 -1
  203. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  204. package/dist/components/prompt/QueuePausedPrompt.js +6 -5
  205. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  206. package/dist/components/prompt/StandardModeConfirmationPrompt.d.ts.map +1 -1
  207. package/dist/components/prompt/StandardModeConfirmationPrompt.js +3 -2
  208. package/dist/components/prompt/StandardModeConfirmationPrompt.js.map +1 -1
  209. package/dist/components/theme.d.ts +58 -3
  210. package/dist/components/theme.d.ts.map +1 -1
  211. package/dist/components/theme.js +84 -17
  212. package/dist/components/theme.js.map +1 -1
  213. package/dist/context/InputContext.d.ts +1 -1
  214. package/dist/context/InputContext.d.ts.map +1 -1
  215. package/dist/context/InputContext.js +2 -0
  216. package/dist/context/InputContext.js.map +1 -1
  217. package/dist/contracts/application-stream.d.ts +14 -0
  218. package/dist/contracts/application-stream.d.ts.map +1 -1
  219. package/dist/contracts/streamed-model-turn.d.ts +13 -1
  220. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  221. package/dist/gateway/assertion.d.ts +4 -1
  222. package/dist/gateway/assertion.d.ts.map +1 -1
  223. package/dist/gateway/assertion.js +24 -2
  224. package/dist/gateway/assertion.js.map +1 -1
  225. package/dist/gateway/contracts.d.ts +21 -4
  226. package/dist/gateway/contracts.d.ts.map +1 -1
  227. package/dist/gateway/contracts.js +11 -0
  228. package/dist/gateway/contracts.js.map +1 -1
  229. package/dist/gateway/dynamic-workspace-registry.d.ts +76 -0
  230. package/dist/gateway/dynamic-workspace-registry.d.ts.map +1 -0
  231. package/dist/gateway/dynamic-workspace-registry.js +403 -0
  232. package/dist/gateway/dynamic-workspace-registry.js.map +1 -0
  233. package/dist/gateway/gateway.d.ts +24 -1
  234. package/dist/gateway/gateway.d.ts.map +1 -1
  235. package/dist/gateway/gateway.js +704 -21
  236. package/dist/gateway/gateway.js.map +1 -1
  237. package/dist/gateway/launcher-seam.d.ts +18 -0
  238. package/dist/gateway/launcher-seam.d.ts.map +1 -0
  239. package/dist/gateway/launcher-seam.js +43 -0
  240. package/dist/gateway/launcher-seam.js.map +1 -0
  241. package/dist/gateway/pairing.d.ts +25 -0
  242. package/dist/gateway/pairing.d.ts.map +1 -0
  243. package/dist/gateway/pairing.js +107 -0
  244. package/dist/gateway/pairing.js.map +1 -0
  245. package/dist/gateway/persistence/coordinator.d.ts +2 -0
  246. package/dist/gateway/persistence/coordinator.d.ts.map +1 -1
  247. package/dist/gateway/persistence/coordinator.js +13 -0
  248. package/dist/gateway/persistence/coordinator.js.map +1 -1
  249. package/dist/gateway/runtime-factory.d.ts +15 -6
  250. package/dist/gateway/runtime-factory.d.ts.map +1 -1
  251. package/dist/gateway/runtime-factory.js +38 -9
  252. package/dist/gateway/runtime-factory.js.map +1 -1
  253. package/dist/gateway/safe-log.d.ts.map +1 -1
  254. package/dist/gateway/safe-log.js +19 -0
  255. package/dist/gateway/safe-log.js.map +1 -1
  256. package/dist/gateway/server-session.d.ts.map +1 -1
  257. package/dist/gateway/server-session.js +36 -4
  258. package/dist/gateway/server-session.js.map +1 -1
  259. package/dist/gateway/server.d.ts +26 -3
  260. package/dist/gateway/server.d.ts.map +1 -1
  261. package/dist/gateway/server.js +105 -17
  262. package/dist/gateway/server.js.map +1 -1
  263. package/dist/gateway/settings-rpc.d.ts +95 -0
  264. package/dist/gateway/settings-rpc.d.ts.map +1 -0
  265. package/dist/gateway/settings-rpc.js +227 -0
  266. package/dist/gateway/settings-rpc.js.map +1 -0
  267. package/dist/gateway/trusted-clients.d.ts +27 -0
  268. package/dist/gateway/trusted-clients.d.ts.map +1 -0
  269. package/dist/gateway/trusted-clients.js +157 -0
  270. package/dist/gateway/trusted-clients.js.map +1 -0
  271. package/dist/gateway/worker-boundary.d.ts +6 -5
  272. package/dist/gateway/worker-boundary.d.ts.map +1 -1
  273. package/dist/gateway/worker-boundary.js +20 -10
  274. package/dist/gateway/worker-boundary.js.map +1 -1
  275. package/dist/gateway/workspace-admission.d.ts +11 -0
  276. package/dist/gateway/workspace-admission.d.ts.map +1 -1
  277. package/dist/gateway/workspace-admission.js +89 -16
  278. package/dist/gateway/workspace-admission.js.map +1 -1
  279. package/dist/gateway/workspace-boundary-probe.d.ts +18 -0
  280. package/dist/gateway/workspace-boundary-probe.d.ts.map +1 -0
  281. package/dist/gateway/workspace-boundary-probe.js +37 -0
  282. package/dist/gateway/workspace-boundary-probe.js.map +1 -0
  283. package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
  284. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  285. package/dist/hooks/conversation-ui-reducer.js +9 -1
  286. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  287. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  288. package/dist/hooks/settings-completion-config.js +11 -3
  289. package/dist/hooks/settings-completion-config.js.map +1 -1
  290. package/dist/hooks/use-app-commands.d.ts +6 -1
  291. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  292. package/dist/hooks/use-app-commands.js +23 -14
  293. package/dist/hooks/use-app-commands.js.map +1 -1
  294. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +1 -3
  295. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  296. package/dist/hooks/use-app-keyboard-shortcuts.js +11 -9
  297. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  298. package/dist/hooks/use-conversation.d.ts +8 -0
  299. package/dist/hooks/use-conversation.d.ts.map +1 -1
  300. package/dist/hooks/use-conversation.js +27 -18
  301. package/dist/hooks/use-conversation.js.map +1 -1
  302. package/dist/hooks/use-opencode-go-usage.d.ts +8 -0
  303. package/dist/hooks/use-opencode-go-usage.d.ts.map +1 -0
  304. package/dist/hooks/use-opencode-go-usage.js +45 -0
  305. package/dist/hooks/use-opencode-go-usage.js.map +1 -0
  306. package/dist/hooks/use-resume-selection.d.ts +22 -0
  307. package/dist/hooks/use-resume-selection.d.ts.map +1 -0
  308. package/dist/hooks/use-resume-selection.js +76 -0
  309. package/dist/hooks/use-resume-selection.js.map +1 -0
  310. package/dist/hooks/use-shell-mode.d.ts +3 -4
  311. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  312. package/dist/hooks/use-shell-mode.js +14 -12
  313. package/dist/hooks/use-shell-mode.js.map +1 -1
  314. package/dist/hooks/use-terminal-columns.d.ts +15 -0
  315. package/dist/hooks/use-terminal-columns.d.ts.map +1 -0
  316. package/dist/hooks/use-terminal-columns.js +45 -0
  317. package/dist/hooks/use-terminal-columns.js.map +1 -0
  318. package/dist/lib/agent-client.d.ts +14 -1
  319. package/dist/lib/agent-client.d.ts.map +1 -1
  320. package/dist/lib/agent-client.js +112 -37
  321. package/dist/lib/agent-client.js.map +1 -1
  322. package/dist/lib/agent-configuration.d.ts +5 -0
  323. package/dist/lib/agent-configuration.d.ts.map +1 -1
  324. package/dist/lib/agent-configuration.js +14 -5
  325. package/dist/lib/agent-configuration.js.map +1 -1
  326. package/dist/lib/agent-factory.d.ts +7 -2
  327. package/dist/lib/agent-factory.d.ts.map +1 -1
  328. package/dist/lib/agent-factory.js +22 -11
  329. package/dist/lib/agent-factory.js.map +1 -1
  330. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  331. package/dist/lib/harness-input-idle.js +1 -1
  332. package/dist/lib/harness-input-idle.js.map +1 -1
  333. package/dist/non-interactive.d.ts +3 -0
  334. package/dist/non-interactive.d.ts.map +1 -1
  335. package/dist/non-interactive.js +106 -22
  336. package/dist/non-interactive.js.map +1 -1
  337. package/dist/prompts/approval-model.md +22 -0
  338. package/dist/prompts/gpt-5.6.md +3 -2
  339. package/dist/prompts/mentor-mode-stub.md +3 -0
  340. package/dist/prompts/orchestrator-mode-stub.md +3 -0
  341. package/dist/prompts/prefix-quality.test.ts +10 -0
  342. package/dist/prompts/prompt-constructor.d.ts +2 -0
  343. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  344. package/dist/prompts/prompt-constructor.js +23 -13
  345. package/dist/prompts/prompt-constructor.js.map +1 -1
  346. package/dist/prompts/prompt-constructor.test.ts +39 -5
  347. package/dist/prompts/prompt-constructor.ts +27 -15
  348. package/dist/prompts/prompt-profiles.d.ts +1 -3
  349. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  350. package/dist/prompts/prompt-profiles.js +2 -7
  351. package/dist/prompts/prompt-profiles.js.map +1 -1
  352. package/dist/prompts/prompt-profiles.ts +3 -16
  353. package/dist/prompts/session-browser.md +3 -0
  354. package/dist/prompts/subagent-delegation.d.ts +4 -3
  355. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  356. package/dist/prompts/subagent-delegation.js +14 -18
  357. package/dist/prompts/subagent-delegation.js.map +1 -1
  358. package/dist/prompts/subagent-delegation.test.ts +2 -2
  359. package/dist/prompts/subagent-delegation.ts +13 -20
  360. package/dist/providers/chained-wire-state.d.ts +7 -2
  361. package/dist/providers/chained-wire-state.d.ts.map +1 -1
  362. package/dist/providers/chained-wire-state.js +16 -7
  363. package/dist/providers/chained-wire-state.js.map +1 -1
  364. package/dist/providers/codex-auth.d.ts +2 -5
  365. package/dist/providers/codex-auth.d.ts.map +1 -1
  366. package/dist/providers/codex-auth.js +2 -0
  367. package/dist/providers/codex-auth.js.map +1 -1
  368. package/dist/providers/codex-compact.d.ts +9 -0
  369. package/dist/providers/codex-compact.d.ts.map +1 -0
  370. package/dist/providers/codex-compact.js +23 -0
  371. package/dist/providers/codex-compact.js.map +1 -0
  372. package/dist/providers/codex-responses-model.d.ts +17 -1
  373. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  374. package/dist/providers/codex-responses-model.js +75 -8
  375. package/dist/providers/codex-responses-model.js.map +1 -1
  376. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  377. package/dist/providers/codex-turn-converter.js +8 -4
  378. package/dist/providers/codex-turn-converter.js.map +1 -1
  379. package/dist/providers/codex.provider.js +2 -2
  380. package/dist/providers/codex.provider.js.map +1 -1
  381. package/dist/providers/grok-auth.d.ts +2 -5
  382. package/dist/providers/grok-auth.d.ts.map +1 -1
  383. package/dist/providers/grok-auth.js +2 -0
  384. package/dist/providers/grok-auth.js.map +1 -1
  385. package/dist/providers/oauth-account-store.d.ts +5 -0
  386. package/dist/providers/oauth-account-store.d.ts.map +1 -1
  387. package/dist/providers/oauth-account-store.js +56 -5
  388. package/dist/providers/oauth-account-store.js.map +1 -1
  389. package/dist/providers/oauth-pkce.d.ts +8 -0
  390. package/dist/providers/oauth-pkce.d.ts.map +1 -1
  391. package/dist/providers/oauth-pkce.js +91 -19
  392. package/dist/providers/oauth-pkce.js.map +1 -1
  393. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  394. package/dist/providers/openai-compatible.provider.js +8 -1
  395. package/dist/providers/openai-compatible.provider.js.map +1 -1
  396. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  397. package/dist/providers/openai-responses-model.js +2 -0
  398. package/dist/providers/openai-responses-model.js.map +1 -1
  399. package/dist/providers/opencode-go-usage.d.ts +24 -0
  400. package/dist/providers/opencode-go-usage.d.ts.map +1 -0
  401. package/dist/providers/opencode-go-usage.js +37 -0
  402. package/dist/providers/opencode-go-usage.js.map +1 -0
  403. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  404. package/dist/providers/openrouter.provider.js +8 -1
  405. package/dist/providers/openrouter.provider.js.map +1 -1
  406. package/dist/providers/responses-websocket-sessions.d.ts +1 -0
  407. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
  408. package/dist/providers/responses-websocket-sessions.js +16 -2
  409. package/dist/providers/responses-websocket-sessions.js.map +1 -1
  410. package/dist/providers/retrying-model.d.ts +1 -0
  411. package/dist/providers/retrying-model.d.ts.map +1 -1
  412. package/dist/providers/retrying-model.js +37 -3
  413. package/dist/providers/retrying-model.js.map +1 -1
  414. package/dist/services/agent-runtime/application-run-loop.d.ts +5 -1
  415. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  416. package/dist/services/agent-runtime/application-run-loop.js +231 -149
  417. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  418. package/dist/services/agent-runtime/generation-guard.d.ts +39 -25
  419. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  420. package/dist/services/agent-runtime/generation-guard.js +98 -100
  421. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  422. package/dist/services/agent-runtime/run-budget.d.ts +1 -1
  423. package/dist/services/agent-runtime/run-budget.d.ts.map +1 -1
  424. package/dist/services/agent-runtime/run-budget.js +4 -0
  425. package/dist/services/agent-runtime/run-budget.js.map +1 -1
  426. package/dist/services/agent-stream.d.ts.map +1 -1
  427. package/dist/services/agent-stream.js +1 -0
  428. package/dist/services/agent-stream.js.map +1 -1
  429. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +3 -1
  430. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  431. package/dist/services/approval/shell-auto-approval-evaluator.js +4 -2
  432. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  433. package/dist/services/approval/shell-auto-approval-resolver.d.ts +2 -0
  434. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  435. package/dist/services/approval/shell-auto-approval-resolver.js +2 -0
  436. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  437. package/dist/services/conversation/conversation-adapter.d.ts +13 -2
  438. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  439. package/dist/services/conversation/conversation-adapter.js +35 -7
  440. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  441. package/dist/services/conversation/conversation-admission-workflow.d.ts +3 -2
  442. package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
  443. package/dist/services/conversation/conversation-admission-workflow.js +6 -1
  444. package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
  445. package/dist/services/conversation/conversation-events.d.ts +43 -2
  446. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  447. package/dist/services/conversation/conversation-orchestrator.d.ts +14 -1
  448. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  449. package/dist/services/conversation/conversation-orchestrator.js +142 -11
  450. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  451. package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
  452. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  453. package/dist/services/conversation/conversation-persistence.d.ts +22 -1
  454. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  455. package/dist/services/conversation/conversation-persistence.js +61 -0
  456. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  457. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  458. package/dist/services/conversation/conversation-service.js +45 -29
  459. package/dist/services/conversation/conversation-service.js.map +1 -1
  460. package/dist/services/conversation/session-audit.d.ts +70 -0
  461. package/dist/services/conversation/session-audit.d.ts.map +1 -0
  462. package/dist/services/conversation/session-audit.js +164 -0
  463. package/dist/services/conversation/session-audit.js.map +1 -0
  464. package/dist/services/conversation/session-browser.d.ts +49 -0
  465. package/dist/services/conversation/session-browser.d.ts.map +1 -0
  466. package/dist/services/conversation/session-browser.js +411 -0
  467. package/dist/services/conversation/session-browser.js.map +1 -0
  468. package/dist/services/input-surge-approval.d.ts +21 -0
  469. package/dist/services/input-surge-approval.d.ts.map +1 -0
  470. package/dist/services/input-surge-approval.js +42 -0
  471. package/dist/services/input-surge-approval.js.map +1 -0
  472. package/dist/services/large-uncached-input-guard.js +4 -4
  473. package/dist/services/large-uncached-input-guard.js.map +1 -1
  474. package/dist/services/logging/assistant-turn-journal.d.ts +15 -0
  475. package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
  476. package/dist/services/logging/assistant-turn-journal.js +27 -0
  477. package/dist/services/logging/assistant-turn-journal.js.map +1 -1
  478. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  479. package/dist/services/memory/memory-capabilities.js +7 -4
  480. package/dist/services/memory/memory-capabilities.js.map +1 -1
  481. package/dist/services/memory/memory-search.d.ts +16 -0
  482. package/dist/services/memory/memory-search.d.ts.map +1 -0
  483. package/dist/services/memory/memory-search.js +55 -0
  484. package/dist/services/memory/memory-search.js.map +1 -0
  485. package/dist/services/memory/memory-store.d.ts +12 -0
  486. package/dist/services/memory/memory-store.d.ts.map +1 -1
  487. package/dist/services/memory/memory-store.js +14 -35
  488. package/dist/services/memory/memory-store.js.map +1 -1
  489. package/dist/services/mode-notices.d.ts +11 -0
  490. package/dist/services/mode-notices.d.ts.map +1 -1
  491. package/dist/services/mode-notices.js +37 -3
  492. package/dist/services/mode-notices.js.map +1 -1
  493. package/dist/services/queue/queue-controller.d.ts +13 -0
  494. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  495. package/dist/services/queue/queue-controller.js +32 -1
  496. package/dist/services/queue/queue-controller.js.map +1 -1
  497. package/dist/services/retry/in-loop-model-retry.d.ts +16 -0
  498. package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -0
  499. package/dist/services/retry/in-loop-model-retry.js +125 -0
  500. package/dist/services/retry/in-loop-model-retry.js.map +1 -0
  501. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  502. package/dist/services/retry/retry-classifier.js +18 -12
  503. package/dist/services/retry/retry-classifier.js.map +1 -1
  504. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  505. package/dist/services/retry/retry-error-classification.js +10 -6
  506. package/dist/services/retry/retry-error-classification.js.map +1 -1
  507. package/dist/services/retry/upstream-retry-policy.d.ts.map +1 -1
  508. package/dist/services/retry/upstream-retry-policy.js +40 -7
  509. package/dist/services/retry/upstream-retry-policy.js.map +1 -1
  510. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  511. package/dist/services/runtime-setting-router.js +7 -2
  512. package/dist/services/runtime-setting-router.js.map +1 -1
  513. package/dist/services/session/background-check-in-scheduler.d.ts +44 -0
  514. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -0
  515. package/dist/services/session/background-check-in-scheduler.js +88 -0
  516. package/dist/services/session/background-check-in-scheduler.js.map +1 -0
  517. package/dist/services/session/background-task-control.js +4 -1
  518. package/dist/services/session/background-task-control.js.map +1 -1
  519. package/dist/services/session/initial-input-preparer.d.ts +2 -1
  520. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  521. package/dist/services/session/initial-input-preparer.js +4 -1
  522. package/dist/services/session/initial-input-preparer.js.map +1 -1
  523. package/dist/services/session/repetition-detector.d.ts +0 -4
  524. package/dist/services/session/repetition-detector.d.ts.map +1 -1
  525. package/dist/services/session/repetition-detector.js +0 -7
  526. package/dist/services/session/repetition-detector.js.map +1 -1
  527. package/dist/services/session/session-access-state.d.ts +3 -0
  528. package/dist/services/session/session-access-state.d.ts.map +1 -1
  529. package/dist/services/session/session-access-state.js +12 -0
  530. package/dist/services/session/session-access-state.js.map +1 -1
  531. package/dist/services/session/session-client-factory.d.ts +3 -1
  532. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  533. package/dist/services/session/session-client-factory.js +2 -1
  534. package/dist/services/session/session-client-factory.js.map +1 -1
  535. package/dist/services/session/session-composition.d.ts +6 -2
  536. package/dist/services/session/session-composition.d.ts.map +1 -1
  537. package/dist/services/session/session-composition.js +148 -29
  538. package/dist/services/session/session-composition.js.map +1 -1
  539. package/dist/services/session/session-input-planner.d.ts +9 -0
  540. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  541. package/dist/services/session/session-input-planner.js +23 -0
  542. package/dist/services/session/session-input-planner.js.map +1 -1
  543. package/dist/services/session/session-lifecycle.d.ts +8 -0
  544. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  545. package/dist/services/session/session-lifecycle.js +4 -0
  546. package/dist/services/session/session-lifecycle.js.map +1 -1
  547. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  548. package/dist/services/session/session-stream-processor.js +5 -15
  549. package/dist/services/session/session-stream-processor.js.map +1 -1
  550. package/dist/services/session/turn-attempt-factory.d.ts +2 -1
  551. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  552. package/dist/services/session/turn-attempt-factory.js +1 -0
  553. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  554. package/dist/services/session/turn-attempt.d.ts +3 -0
  555. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  556. package/dist/services/session/turn-attempt.js +5 -0
  557. package/dist/services/session/turn-attempt.js.map +1 -1
  558. package/dist/services/session/turn-coordinator.d.ts +1 -1
  559. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  560. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  561. package/dist/services/session/turn-workflow.js +4 -1
  562. package/dist/services/session/turn-workflow.js.map +1 -1
  563. package/dist/services/settings/settings-schema.d.ts +27 -3
  564. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  565. package/dist/services/settings/settings-schema.js +35 -11
  566. package/dist/services/settings/settings-schema.js.map +1 -1
  567. package/dist/services/settings/settings-service.d.ts +9 -0
  568. package/dist/services/settings/settings-service.d.ts.map +1 -1
  569. package/dist/services/settings/settings-service.js +40 -0
  570. package/dist/services/settings/settings-service.js.map +1 -1
  571. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  572. package/dist/services/settings/settings-sources.js +5 -0
  573. package/dist/services/settings/settings-sources.js.map +1 -1
  574. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -1
  575. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  576. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +6 -0
  577. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  578. package/dist/services/shell/shell-interaction-session.d.ts +4 -5
  579. package/dist/services/shell/shell-interaction-session.d.ts.map +1 -1
  580. package/dist/services/shell/shell-interaction-session.js +8 -20
  581. package/dist/services/shell/shell-interaction-session.js.map +1 -1
  582. package/dist/services/stream-event-processor.d.ts.map +1 -1
  583. package/dist/services/stream-event-processor.js +15 -0
  584. package/dist/services/stream-event-processor.js.map +1 -1
  585. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  586. package/dist/services/subagents/mentor-runner.js +2 -0
  587. package/dist/services/subagents/mentor-runner.js.map +1 -1
  588. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  589. package/dist/services/subagents/nested-runner.js +34 -1
  590. package/dist/services/subagents/nested-runner.js.map +1 -1
  591. package/dist/services/subagents/subagent-async-registry.js +1 -1
  592. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  593. package/dist/services/subagents/subagent-notification-store.d.ts +28 -1
  594. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  595. package/dist/services/subagents/subagent-notification-store.js +11 -0
  596. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  597. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  598. package/dist/services/subagents/tool-policy.js +10 -5
  599. package/dist/services/subagents/tool-policy.js.map +1 -1
  600. package/dist/services/subagents/utils.d.ts +2 -0
  601. package/dist/services/subagents/utils.d.ts.map +1 -1
  602. package/dist/services/subagents/utils.js +29 -0
  603. package/dist/services/subagents/utils.js.map +1 -1
  604. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  605. package/dist/services/tool-execution-ledger.js +5 -1
  606. package/dist/services/tool-execution-ledger.js.map +1 -1
  607. package/dist/slash-commands.d.ts +3 -0
  608. package/dist/slash-commands.d.ts.map +1 -1
  609. package/dist/slash-commands.js.map +1 -1
  610. package/dist/tools/agent/ask-user.d.ts.map +1 -1
  611. package/dist/tools/agent/ask-user.js +2 -0
  612. package/dist/tools/agent/ask-user.js.map +1 -1
  613. package/dist/tools/agent/run-subagent-async.d.ts +0 -1
  614. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  615. package/dist/tools/agent/run-subagent-async.js +3 -3
  616. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  617. package/dist/tools/agent/run-subagent.d.ts +2 -2
  618. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  619. package/dist/tools/agent/run-subagent.js +44 -28
  620. package/dist/tools/agent/run-subagent.js.map +1 -1
  621. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  622. package/dist/tools/file/apply-patch.js +11 -3
  623. package/dist/tools/file/apply-patch.js.map +1 -1
  624. package/dist/tools/file/create-file.d.ts.map +1 -1
  625. package/dist/tools/file/create-file.js +12 -4
  626. package/dist/tools/file/create-file.js.map +1 -1
  627. package/dist/tools/file/search-replace.d.ts.map +1 -1
  628. package/dist/tools/file/search-replace.js +10 -3
  629. package/dist/tools/file/search-replace.js.map +1 -1
  630. package/dist/tools/memory/memory-tools.d.ts +5 -1
  631. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  632. package/dist/tools/memory/memory-tools.js +445 -62
  633. package/dist/tools/memory/memory-tools.js.map +1 -1
  634. package/dist/tools/session-browser/session-browser-tools.d.ts +4 -0
  635. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -0
  636. package/dist/tools/session-browser/session-browser-tools.js +47 -0
  637. package/dist/tools/session-browser/session-browser-tools.js.map +1 -0
  638. package/dist/tools/system/shell.d.ts.map +1 -1
  639. package/dist/tools/system/shell.js +7 -0
  640. package/dist/tools/system/shell.js.map +1 -1
  641. package/dist/tools/types.d.ts +4 -0
  642. package/dist/tools/types.d.ts.map +1 -1
  643. package/dist/tools/types.js.map +1 -1
  644. package/dist/utils/busy-turn-guard.d.ts +17 -0
  645. package/dist/utils/busy-turn-guard.d.ts.map +1 -0
  646. package/dist/utils/busy-turn-guard.js +24 -0
  647. package/dist/utils/busy-turn-guard.js.map +1 -0
  648. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  649. package/dist/utils/conversation/conversation-event-handler.js +28 -7
  650. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  651. package/dist/utils/output/bounded-json.d.ts +33 -0
  652. package/dist/utils/output/bounded-json.d.ts.map +1 -0
  653. package/dist/utils/output/bounded-json.js +59 -0
  654. package/dist/utils/output/bounded-json.js.map +1 -0
  655. package/dist/utils/output/output-trim.d.ts.map +1 -1
  656. package/dist/utils/output/output-trim.js +7 -7
  657. package/dist/utils/output/output-trim.js.map +1 -1
  658. package/dist/utils/output/text-snippet.d.ts +6 -0
  659. package/dist/utils/output/text-snippet.d.ts.map +1 -0
  660. package/dist/utils/output/text-snippet.js +106 -0
  661. package/dist/utils/output/text-snippet.js.map +1 -0
  662. package/dist/utils/resume-list.d.ts +3 -1
  663. package/dist/utils/resume-list.d.ts.map +1 -1
  664. package/dist/utils/resume-list.js +3 -2
  665. package/dist/utils/resume-list.js.map +1 -1
  666. package/dist/utils/settings-command.d.ts.map +1 -1
  667. package/dist/utils/settings-command.js +15 -0
  668. package/dist/utils/settings-command.js.map +1 -1
  669. package/dist/utils/shell/command-safety/handlers/index.d.ts.map +1 -1
  670. package/dist/utils/shell/command-safety/handlers/index.js +3 -0
  671. package/dist/utils/shell/command-safety/handlers/index.js.map +1 -1
  672. package/dist/utils/shell/command-safety/handlers/rm-handler.d.ts +3 -0
  673. package/dist/utils/shell/command-safety/handlers/rm-handler.d.ts.map +1 -0
  674. package/dist/utils/shell/command-safety/handlers/rm-handler.js +97 -0
  675. package/dist/utils/shell/command-safety/handlers/rm-handler.js.map +1 -0
  676. package/dist/utils/shell/command-safety/handlers/types.d.ts +1 -0
  677. package/dist/utils/shell/command-safety/handlers/types.d.ts.map +1 -1
  678. package/dist/utils/shell/command-safety/index.d.ts +6 -2
  679. package/dist/utils/shell/command-safety/index.d.ts.map +1 -1
  680. package/dist/utils/shell/command-safety/index.js +13 -12
  681. package/dist/utils/shell/command-safety/index.js.map +1 -1
  682. package/dist/utils/shell/sandbox/sandbox-policy.d.ts +2 -0
  683. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  684. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  685. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts +1 -0
  686. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
  687. package/dist/utils/shell/sandbox/shell-sandbox-runner.js +20 -1
  688. package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
  689. package/dist/utils/shell/temp-dir.d.ts +1 -0
  690. package/dist/utils/shell/temp-dir.d.ts.map +1 -1
  691. package/dist/utils/shell/temp-dir.js +12 -4
  692. package/dist/utils/shell/temp-dir.js.map +1 -1
  693. package/dist/utils/value-suggestions.d.ts.map +1 -1
  694. package/dist/utils/value-suggestions.js +1 -0
  695. package/dist/utils/value-suggestions.js.map +1 -1
  696. package/package.json +4 -2
@@ -4,7 +4,7 @@ import { buildPromptSpec } from './prompt-constructor.js';
4
4
  it('buildPromptSpec preserves mode precedence for base prompts', () => {
5
5
  expect(buildPromptSpec({ model: 'gpt-5.5', liteMode: true, orchestratorMode: true }).basePromptFile).toBe('lite.md');
6
6
  expect(buildPromptSpec({ model: 'gpt-5.5', liteMode: false, orchestratorMode: true }).basePromptFile).toBe(
7
- 'orchestrator.md',
7
+ 'gpt-5.5.md',
8
8
  );
9
9
  expect(buildPromptSpec({ model: 'claude-3-sonnet', liteMode: false }).basePromptFile).toBe('anthropic.md');
10
10
  expect(buildPromptSpec({ model: 'gpt-5.3-codex', liteMode: false }).basePromptFile).toBe('codex.md');
@@ -27,7 +27,7 @@ it('buildPromptSpec keeps gpt-5.6 codex variants on the codex base prompt', () =
27
27
  it('buildPromptSpec still applies mode precedence over the gpt-5.6 profile', () => {
28
28
  expect(buildPromptSpec({ model: 'gpt-5.6', liteMode: true }).basePromptFile).toBe('lite.md');
29
29
  expect(buildPromptSpec({ model: 'gpt-5.6', liteMode: false, orchestratorMode: true }).basePromptFile).toBe(
30
- 'orchestrator.md',
30
+ 'gpt-5.6.md',
31
31
  );
32
32
  });
33
33
 
@@ -64,11 +64,30 @@ it('buildPromptSpec composes file fragments in stable order', () => {
64
64
  searchViaShell: true,
65
65
  });
66
66
 
67
- expect(spec.fragmentFiles).toEqual(['worktree-hygiene.md', 'mentor-addon.md', 'plan-mode-stub.md']);
67
+ expect(spec.fragmentFiles).toEqual([
68
+ 'approval-model.md',
69
+ 'worktree-hygiene.md',
70
+ 'plan-mode-stub.md',
71
+ 'mentor-mode-stub.md',
72
+ 'orchestrator-mode-stub.md',
73
+ ]);
68
74
 
69
75
  expect(spec.inlineSections).toContainEqual(expect.stringContaining('## Shell Sandbox'));
70
76
  });
71
77
 
78
+ it('buildPromptSpec ships the approval mechanism to every non-lite profile', () => {
79
+ for (const model of ['gpt-5.6-sol', 'gpt-5.5', 'gpt-5.4', 'gpt-4o', 'claude-opus-4', 'kimi-k2']) {
80
+ const spec = buildPromptSpec({ model, liteMode: false });
81
+ expect(spec.fragmentFiles).toContain('approval-model.md');
82
+ }
83
+
84
+ const orchestrator = buildPromptSpec({ model: 'gpt-5.6-sol', liteMode: false, orchestratorMode: true });
85
+ expect(orchestrator.fragmentFiles).toContain('approval-model.md');
86
+
87
+ const lite = buildPromptSpec({ model: 'gpt-5.6-sol', liteMode: true });
88
+ expect(lite.fragmentFiles).not.toContain('approval-model.md');
89
+ });
90
+
72
91
  it('buildPromptSpec attaches the Plan Mode stub in standard and plan mode so the instruction prefix stays cache-stable', () => {
73
92
  const standard = buildPromptSpec({ model: 'gpt-4o', liteMode: false, planMode: false });
74
93
  expect(standard.fragmentFiles.includes('plan-mode-stub.md')).toBe(true);
@@ -80,14 +99,29 @@ it('buildPromptSpec attaches the Plan Mode stub in standard and plan mode so the
80
99
  expect(plan.fragmentFiles).toEqual(standard.fragmentFiles);
81
100
  });
82
101
 
83
- it('buildPromptSpec excludes Plan Mode fragments in lite and orchestrator modes', () => {
102
+ it('buildPromptSpec keeps all non-lite mode stubs stable while lite stays minimal', () => {
84
103
  const lite = buildPromptSpec({ model: 'gpt-5.5', liteMode: true, planMode: false });
85
104
  expect(lite.fragmentFiles.includes('plan-mode-info.md')).toBe(false);
86
105
  expect(lite.fragmentFiles.includes('plan-mode-stub.md')).toBe(false);
106
+ expect(lite.fragmentFiles.includes('mentor-mode-stub.md')).toBe(false);
107
+ expect(lite.fragmentFiles.includes('orchestrator-mode-stub.md')).toBe(false);
87
108
 
88
109
  const orchestrator = buildPromptSpec({ model: 'gpt-5.5', liteMode: false, orchestratorMode: true, planMode: false });
89
110
  expect(orchestrator.fragmentFiles.includes('plan-mode-info.md')).toBe(false);
90
- expect(orchestrator.fragmentFiles.includes('plan-mode-stub.md')).toBe(false);
111
+ expect(orchestrator.fragmentFiles.includes('plan-mode-stub.md')).toBe(true);
112
+ expect(orchestrator.fragmentFiles.includes('mentor-mode-stub.md')).toBe(true);
113
+ expect(orchestrator.fragmentFiles.includes('orchestrator-mode-stub.md')).toBe(true);
114
+ });
115
+
116
+ it('buildPromptSpec keeps the non-lite instruction prefix identical across modes', () => {
117
+ const standard = buildPromptSpec({ model: 'gpt-4o', liteMode: false });
118
+ const plan = buildPromptSpec({ model: 'gpt-4o', liteMode: false, planMode: true });
119
+ const mentor = buildPromptSpec({ model: 'gpt-4o', liteMode: false, mentorMode: true });
120
+ const orchestrator = buildPromptSpec({ model: 'gpt-4o', liteMode: false, orchestratorMode: true });
121
+
122
+ expect(plan).toEqual(standard);
123
+ expect(mentor).toEqual(standard);
124
+ expect(orchestrator).toEqual(standard);
91
125
  });
92
126
 
93
127
  it('buildPromptSpec includes subagent delegation for orchestrator mode', () => {
@@ -8,6 +8,7 @@ import { getBackgroundShellAddendum } from './background-shell.js';
8
8
  export type PromptConstructorOptions = {
9
9
  model: string;
10
10
  liteMode: boolean;
11
+ /** Runtime-only mode flags; mode-specific workflows are sent as notices. */
11
12
  orchestratorMode?: boolean;
12
13
  mentorMode?: boolean;
13
14
  planMode?: boolean;
@@ -21,6 +22,7 @@ export type PromptConstructorOptions = {
21
22
  sandboxEnabled?: boolean;
22
23
  memoryEnabled?: boolean;
23
24
  memoryGuidance?: string;
25
+ sessionBrowserEnabled?: boolean;
24
26
  executionContext?: ExecutionContext;
25
27
  };
26
28
 
@@ -34,8 +36,6 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
34
36
  const {
35
37
  model,
36
38
  liteMode,
37
- orchestratorMode = false,
38
- mentorMode = false,
39
39
  searchViaShell = false,
40
40
  runSubagentEnabled = false,
41
41
  runSubagentForegroundEnabled = false,
@@ -45,19 +45,29 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
45
45
  sandboxEnabled = true,
46
46
  memoryEnabled = false,
47
47
  memoryGuidance = '',
48
+ sessionBrowserEnabled = false,
48
49
  executionContext,
49
50
  } = options;
50
51
 
51
- const profile = selectPromptProfile({ model, liteMode, orchestratorMode });
52
+ // Runtime modes are intentionally absent from profile selection. Their full
53
+ // workflows ride on the next user turn so rebuilding the agent does not
54
+ // invalidate the provider's instruction prefix.
55
+ const profile = selectPromptProfile({ model, liteMode });
52
56
  const fragmentFiles = [...(profile.fragmentFiles ?? [])];
53
57
  const inlineSections: string[] = [];
54
58
 
55
59
  const isRegularMode = !liteMode;
56
- const isAgentMode = !orchestratorMode;
57
60
  // Orchestrators can directly modify the worktree, so every non-lite prompt
58
61
  // receives the shared dirty-state and validation safeguards.
59
62
  const shouldIncludeWorktreeHygiene = !liteMode;
60
63
 
64
+ // Every non-lite prompt states how the approval layer works. Without it a
65
+ // model has no mechanism for "requires confirmation" other than stopping the
66
+ // turn to ask, which it then does even under auto-approval.
67
+ if (!liteMode) {
68
+ fragmentFiles.push('approval-model.md');
69
+ }
70
+
61
71
  if (shouldIncludeWorktreeHygiene) {
62
72
  fragmentFiles.push('worktree-hygiene.md');
63
73
  }
@@ -70,11 +80,7 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
70
80
  inlineSections.push(getBackgroundShellAddendum());
71
81
  }
72
82
 
73
- if (mentorMode && isRegularMode) {
74
- fragmentFiles.push('mentor-addon.md');
75
- }
76
-
77
- if (isAgentMode && searchViaShell) {
83
+ if (isRegularMode && searchViaShell) {
78
84
  inlineSections.push(getSearchViaShellAddendum({ executionContext }));
79
85
  }
80
86
 
@@ -82,7 +88,7 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
82
88
  inlineSections.push(
83
89
  getSubagentDelegationAddendum({
84
90
  memoryEnabled,
85
- orchestratorMode,
91
+ orchestratorMode: false,
86
92
  foregroundEnabled: runSubagentForegroundEnabled,
87
93
  backgroundEnabled: runSubagentAsyncEnabled,
88
94
  controlsEnabled: asyncSubagentControlsEnabled,
@@ -90,17 +96,23 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
90
96
  );
91
97
  }
92
98
 
93
- if (isRegularMode && isAgentMode) {
94
- // Always the stub. The workflow body rides on PLAN_MODE_ENTER_NOTICE so a
95
- // toggle cannot change the instruction prefix (prompt cache + chained
96
- // Responses-Lite HTTP omit developer instructions).
99
+ if (isRegularMode) {
100
+ // Keep all mode stubs in every non-lite prompt. The full workflows ride on
101
+ // mode notices so a toggle cannot change the instruction prefix (prompt
102
+ // cache + chained Responses-Lite HTTP omit developer instructions).
97
103
  fragmentFiles.push('plan-mode-stub.md');
104
+ fragmentFiles.push('mentor-mode-stub.md');
105
+ fragmentFiles.push('orchestrator-mode-stub.md');
98
106
  }
99
107
 
100
- if (memoryEnabled && isAgentMode) {
108
+ if (memoryEnabled && isRegularMode) {
101
109
  fragmentFiles.push('memory.md');
102
110
  }
103
111
 
112
+ if (sessionBrowserEnabled) {
113
+ fragmentFiles.push('session-browser.md');
114
+ }
115
+
104
116
  if (memoryGuidance) {
105
117
  inlineSections.push(memoryGuidance);
106
118
  }
@@ -5,13 +5,11 @@ export type PromptProfile = {
5
5
  matches: (options: {
6
6
  normalizedModel: string;
7
7
  liteMode: boolean;
8
- orchestratorMode?: boolean;
9
8
  }) => boolean;
10
9
  };
11
10
  export declare const PROMPT_PROFILES: PromptProfile[];
12
- export declare function selectPromptProfile({ model, liteMode, orchestratorMode, }: {
11
+ export declare function selectPromptProfile({ model, liteMode }: {
13
12
  model: string;
14
13
  liteMode: boolean;
15
- orchestratorMode?: boolean;
16
14
  }): PromptProfile;
17
15
  //# sourceMappingURL=prompt-profiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-profiles.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-profiles.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;CAC3G,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,aAAa,EA8D1C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,aAAa,CAGhB"}
1
+ {"version":3,"file":"prompt-profiles.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-profiles.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,CAAC,OAAO,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;CAC/E,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,aAAa,EAyD1C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,aAAa,CAG5G"}
@@ -4,11 +4,6 @@ export const PROMPT_PROFILES = [
4
4
  basePromptFile: 'lite.md',
5
5
  matches: ({ liteMode }) => liteMode,
6
6
  },
7
- {
8
- id: 'orchestrator',
9
- basePromptFile: 'orchestrator.md',
10
- matches: ({ orchestratorMode }) => Boolean(orchestratorMode),
11
- },
12
7
  {
13
8
  id: 'anthropic',
14
9
  basePromptFile: 'anthropic.md',
@@ -60,8 +55,8 @@ export const PROMPT_PROFILES = [
60
55
  matches: () => true,
61
56
  },
62
57
  ];
63
- export function selectPromptProfile({ model, liteMode, orchestratorMode, }) {
58
+ export function selectPromptProfile({ model, liteMode }) {
64
59
  const normalizedModel = model.trim().toLowerCase();
65
- return PROMPT_PROFILES.find((profile) => profile.matches({ normalizedModel, liteMode, orchestratorMode }));
60
+ return PROMPT_PROFILES.find((profile) => profile.matches({ normalizedModel, liteMode }));
66
61
  }
67
62
  //# sourceMappingURL=prompt-profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-profiles.js","sourceRoot":"","sources":["../../source/prompts/prompt-profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-profiles.js","sourceRoot":"","sources":["../../source/prompts/prompt-profiles.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C;QACE,EAAE,EAAE,MAAM;QACV,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ;KACpC;IACD;QACE,EAAE,EAAE,WAAW;QACf,cAAc,EAAE,cAAc;QAC9B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC1G;IACD;QACE,EAAE,EAAE,eAAe;QACnB,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC3G;IACD;QACE,EAAE,EAAE,aAAa;QACjB,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KACzG;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,YAAY;QAC5B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;KACtE;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,YAAY;QAC5B,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;KACtE;IACD;QACE,EAAE,EAAE,eAAe;QACnB,cAAc,EAAE,iBAAiB;QACjC,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAC/B,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAChH;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,iBAAiB;QACjC,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;KACtE;IACD;QACE,EAAE,EAAE,cAAc;QAClB,cAAc,EAAE,iBAAiB;QACjC,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KACpE;IACD;QACE,EAAE,EAAE,MAAM;QACV,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACrE;IACD;QACE,EAAE,EAAE,SAAS;QACb,cAAc,EAAE,cAAc;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACpB;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAwC;IAC3F,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAE,CAAC;AAC5F,CAAC"}
@@ -2,7 +2,7 @@ export type PromptProfile = {
2
2
  id: string;
3
3
  basePromptFile: string;
4
4
  fragmentFiles?: string[];
5
- matches: (options: { normalizedModel: string; liteMode: boolean; orchestratorMode?: boolean }) => boolean;
5
+ matches: (options: { normalizedModel: string; liteMode: boolean }) => boolean;
6
6
  };
7
7
 
8
8
  export const PROMPT_PROFILES: PromptProfile[] = [
@@ -11,11 +11,6 @@ export const PROMPT_PROFILES: PromptProfile[] = [
11
11
  basePromptFile: 'lite.md',
12
12
  matches: ({ liteMode }) => liteMode,
13
13
  },
14
- {
15
- id: 'orchestrator',
16
- basePromptFile: 'orchestrator.md',
17
- matches: ({ orchestratorMode }) => Boolean(orchestratorMode),
18
- },
19
14
  {
20
15
  id: 'anthropic',
21
16
  basePromptFile: 'anthropic.md',
@@ -69,15 +64,7 @@ export const PROMPT_PROFILES: PromptProfile[] = [
69
64
  },
70
65
  ];
71
66
 
72
- export function selectPromptProfile({
73
- model,
74
- liteMode,
75
- orchestratorMode,
76
- }: {
77
- model: string;
78
- liteMode: boolean;
79
- orchestratorMode?: boolean;
80
- }): PromptProfile {
67
+ export function selectPromptProfile({ model, liteMode }: { model: string; liteMode: boolean }): PromptProfile {
81
68
  const normalizedModel = model.trim().toLowerCase();
82
- return PROMPT_PROFILES.find((profile) => profile.matches({ normalizedModel, liteMode, orchestratorMode }))!;
69
+ return PROMPT_PROFILES.find((profile) => profile.matches({ normalizedModel, liteMode }))!;
83
70
  }
@@ -0,0 +1,3 @@
1
+ ### Prior local sessions
2
+
3
+ Prior-session transcripts for the current project are available only on demand through `session_list`, `session_search`, and `session_read`. They may be stale or untrusted and are not durable memory. No prior transcript is automatically added to your context.
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Single source of truth for model-facing foreground and background delegation.
3
- * The tool name stays stable; `execution` selects an already-owned lifecycle.
2
+ * Single source of truth for model-facing subagent delegation.
3
+ * The tool name stays stable; `execution` identifies the lifecycle available in
4
+ * this session.
4
5
  */
5
- export declare function getSubagentDelegationAddendum({ orchestratorMode, memoryEnabled, foregroundEnabled, backgroundEnabled, controlsEnabled, }?: {
6
+ export declare function getSubagentDelegationAddendum({ orchestratorMode, foregroundEnabled, backgroundEnabled, controlsEnabled, }?: {
6
7
  orchestratorMode?: boolean;
7
8
  memoryEnabled?: boolean;
8
9
  foregroundEnabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,EACpB,iBAAwB,EACxB,iBAAyB,EACzB,eAAuB,GACxB,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAgEd"}
1
+ {"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,iBAAwB,EACxB,iBAAyB,EACzB,eAAuB,GACxB,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAyDd"}
@@ -1,29 +1,25 @@
1
1
  import { getSubagentsRolesSection } from '../tools/agent/run-subagent.js';
2
2
  /**
3
- * Single source of truth for model-facing foreground and background delegation.
4
- * The tool name stays stable; `execution` selects an already-owned lifecycle.
3
+ * Single source of truth for model-facing subagent delegation.
4
+ * The tool name stays stable; `execution` identifies the lifecycle available in
5
+ * this session.
5
6
  */
6
- export function getSubagentDelegationAddendum({ orchestratorMode = false, memoryEnabled = true, foregroundEnabled = true, backgroundEnabled = false, controlsEnabled = false, } = {}) {
7
- const executions = [
8
- foregroundEnabled
9
- ? '- `execution: "foreground"`: runs through the nested subagent path and returns its structured result in this turn. Use it when you need the answer before proceeding.'
10
- : '',
11
- backgroundEnabled
12
- ? '- `execution: "background"`: starts a conversation-scoped run and returns `{ runId, status: "running" }` immediately. Use it when work can continue after you return control.'
13
- : '',
14
- ]
15
- .filter(Boolean)
16
- .join('\n');
7
+ export function getSubagentDelegationAddendum({ orchestratorMode = false, foregroundEnabled = true, backgroundEnabled = false, controlsEnabled = false, } = {}) {
8
+ const executions = backgroundEnabled
9
+ ? '- `execution: "background"`: the only execution mode in this session. It starts a conversation-scoped run and returns `{ runId, status: "running" }` immediately.'
10
+ : foregroundEnabled
11
+ ? '- `execution: "foreground"`: the only execution mode in this session. It runs through the nested subagent path and returns its structured result in this turn.'
12
+ : '';
17
13
  const header = `### Delegating to subagents
18
14
 
19
- You have one \`run_subagent\` tool. A subagent runs in its own context and returns only a summary, keeping your own context focused on high-level reasoning. Its required \`execution\` field selects the lifecycle available in this session:
15
+ You have one \`run_subagent\` tool. A subagent runs in its own context and returns only a summary, keeping your own context focused on high-level reasoning. Its required \`execution\` field identifies the only lifecycle available in this session:
20
16
 
21
17
  ${executions}`;
22
18
  const triggers = `**Delegate when it provides meaningful leverage:**
23
19
  - Need bounded evidence collection, context compression, or current external information (library docs, best practices, version-specific behavior) → \`explorer\`.
24
20
  ${backgroundEnabled
25
21
  ? '- About to commit to a non-trivial plan or tricky debugging direction and want it pressure-tested → `mentor`.\n'
26
- : ''}${memoryEnabled ? '- Need relevant persistent-memory context or memory maintenance → `librarian`.\n' : ''}- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.
22
+ : ''}- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.
27
23
 
28
24
  Explorer is an evidence collector, not a reasoning delegate. Ask it to locate and organize concrete facts, files, symbols, logs, tests, or sources for a bounded question. Do not pass the user's entire investigation, diagnosis, review, or planning task to explorer. You retain responsibility for hypotheses, causal analysis, judgments, and recommendations.${orchestratorMode
29
25
  ? `
@@ -36,8 +32,8 @@ Otherwise, just do it yourself — especially when the task needs mid-flight cou
36
32
  ? `**Background execution rules:**
37
33
  - A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit.
38
34
  - Do NOT call \`get_subagent_result\` immediately after a background launch. Active runs are refused rather than awaited. End the current turn and wait for the completion notification, which inlines the full result so you can continue directly.
39
- - Fresh background runs support explorer, worker, mentor, and librarian. They persist across ordinary parent-turn completion in process memory until the 30-minute sliding TTL expires or the 50-session cap evicts them.
40
- - Use \`get_subagent_result\` only with the exact \`runId\` from a completed run when you need to re-fetch a result already received. Mentor and librarian fresh calls reuse their default session; explorer fresh calls start a new session. Worker runs are always fresh and cannot be continued. Only completed non-worker runs support \`continue_run_id\`; do not invent runIds or continue active, failed, cancelled, missing, or evicted runs.${controlsEnabled
35
+ - Fresh background runs support explorer, worker, and mentor. They persist across ordinary parent-turn completion in process memory until the 30-minute sliding TTL expires or the 50-session cap evicts them.
36
+ - Use \`get_subagent_result\` only with the exact \`runId\` from a completed run when you need to re-fetch a result already received. Mentor fresh calls reuse their default session; explorer fresh calls start a new session. Worker runs are always fresh and cannot be continued. Only completed non-worker runs support \`continue_run_id\`; do not invent runIds or continue active, failed, cancelled, missing, or evicted runs.${controlsEnabled
41
37
  ? `
42
38
  - Address \`send_message\` and \`cancel_run\` by the active name or runId; runId remains canonical. \`send_message\` non-blockingly steers an active execution run or answers a waiting \`ask_orchestrator\` question with \`reply_to\`; \`cancel_run\` non-blockingly requests cancellation.
43
39
  - Steering never waits for a result. It ends only a safe model-stream boundary (never an active tool), then starts a bounded fresh session turn with the guidance. This is not SDK live injection or RunState continuation. A run accepts a maximum of three continuation segments. Mentor runs do not support steering; cancel them if needed.
@@ -49,7 +45,7 @@ Otherwise, just do it yourself — especially when the task needs mid-flight cou
49
45
 
50
46
  Do not repeat automatically supplied context: role instructions, generic tool guidance, worktree hygiene, environment metadata, root \`AGENTS.md\`, or skills catalog. The subagent does not see your conversation or reasoning, so include only objective, task-specific scope, non-discoverable parent findings or decisions, constraints, deliverable or acceptance criteria, and validation when applicable.`;
51
47
  return `${header}\n\n${triggers}${backgroundRules ? `\n\n${backgroundRules}` : ''}\n\n${planningStep}\n\n${getSubagentsRolesSection({
52
- includeLibrarian: memoryEnabled,
48
+ includeLibrarian: false,
53
49
  includeMentor: backgroundEnabled,
54
50
  })}`;
55
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,EACpB,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,KAAK,EACzB,eAAe,GAAG,KAAK,GACxB,GAMG,EAAE;IACJ,MAAM,UAAU,GAAG;QACjB,iBAAiB;YACf,CAAC,CAAC,uKAAuK;YACzK,CAAC,CAAC,EAAE;QACN,iBAAiB;YACf,CAAC,CAAC,+KAA+K;YACjL,CAAC,CAAC,EAAE;KACP;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG;;;;EAIf,UAAU,EAAE,CAAC;IAEb,MAAM,QAAQ,GAAG;;EAGjB,iBAAiB;QACf,CAAC,CAAC,iHAAiH;QACnH,CAAC,CAAC,EACN,GACI,aAAa,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC,CAAC,EACvG;;qWAGE,gBAAgB;QACd,CAAC,CAAC;;8VAEsV;QACxV,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC;;;;ubAKE,eAAe;YACb,CAAC,CAAC;;;;gHAIoG;YACtG,CAAC,CAAC,EACN,EAAE;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG;;iZAE0X,CAAC;IAEhZ,OAAO,GAAG,MAAM,OAAO,QAAQ,GAC7B,eAAe,CAAC,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC,CAAC,CAAC,EAC/C,OAAO,YAAY,OAAO,wBAAwB,CAAC;QACjD,gBAAgB,EAAE,aAAa;QAC/B,aAAa,EAAE,iBAAiB;KACjC,CAAC,EAAE,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,KAAK,EACzB,eAAe,GAAG,KAAK,GACxB,GAMG,EAAE;IACJ,MAAM,UAAU,GAAG,iBAAiB;QAClC,CAAC,CAAC,mKAAmK;QACrK,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,gKAAgK;YAClK,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,MAAM,GAAG;;;;EAIf,UAAU,EAAE,CAAC;IAEb,MAAM,QAAQ,GAAG;;EAGjB,iBAAiB;QACf,CAAC,CAAC,iHAAiH;QACnH,CAAC,CAAC,EACN;;qWAGI,gBAAgB;QACd,CAAC,CAAC;;8VAEsV;QACxV,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC;;;;yaAKE,eAAe;YACb,CAAC,CAAC;;;;gHAIoG;YACtG,CAAC,CAAC,EACN,EAAE;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG;;iZAE0X,CAAC;IAEhZ,OAAO,GAAG,MAAM,OAAO,QAAQ,GAC7B,eAAe,CAAC,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC,CAAC,CAAC,EAC/C,OAAO,YAAY,OAAO,wBAAwB,CAAC;QACjD,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,iBAAiB;KACjC,CAAC,EAAE,CAAC;AACP,CAAC"}
@@ -79,9 +79,9 @@ it('retains worker autonomy without mandatory pre-delegation ceremony', () => {
79
79
  expect(result).not.toContain('Before any `run_subagent` call, plan silently');
80
80
  });
81
81
 
82
- it('includes librarian delegation trigger when persistent memory is enabled', () => {
82
+ it('uses the direct synthesis operation instead of advertising librarian delegation', () => {
83
83
  const result = getSubagentDelegationAddendum({ memoryEnabled: true });
84
- expect(result.includes('librarian')).toBe(true);
84
+ expect(result.includes('librarian')).toBe(false);
85
85
  });
86
86
 
87
87
  it('does not advertise the librarian when persistent memory is disabled', () => {
@@ -1,12 +1,12 @@
1
1
  import { getSubagentsRolesSection } from '../tools/agent/run-subagent.js';
2
2
 
3
3
  /**
4
- * Single source of truth for model-facing foreground and background delegation.
5
- * The tool name stays stable; `execution` selects an already-owned lifecycle.
4
+ * Single source of truth for model-facing subagent delegation.
5
+ * The tool name stays stable; `execution` identifies the lifecycle available in
6
+ * this session.
6
7
  */
7
8
  export function getSubagentDelegationAddendum({
8
9
  orchestratorMode = false,
9
- memoryEnabled = true,
10
10
  foregroundEnabled = true,
11
11
  backgroundEnabled = false,
12
12
  controlsEnabled = false,
@@ -17,20 +17,15 @@ export function getSubagentDelegationAddendum({
17
17
  backgroundEnabled?: boolean;
18
18
  controlsEnabled?: boolean;
19
19
  } = {}): string {
20
- const executions = [
21
- foregroundEnabled
22
- ? '- `execution: "foreground"`: runs through the nested subagent path and returns its structured result in this turn. Use it when you need the answer before proceeding.'
23
- : '',
24
- backgroundEnabled
25
- ? '- `execution: "background"`: starts a conversation-scoped run and returns `{ runId, status: "running" }` immediately. Use it when work can continue after you return control.'
26
- : '',
27
- ]
28
- .filter(Boolean)
29
- .join('\n');
20
+ const executions = backgroundEnabled
21
+ ? '- `execution: "background"`: the only execution mode in this session. It starts a conversation-scoped run and returns `{ runId, status: "running" }` immediately.'
22
+ : foregroundEnabled
23
+ ? '- `execution: "foreground"`: the only execution mode in this session. It runs through the nested subagent path and returns its structured result in this turn.'
24
+ : '';
30
25
 
31
26
  const header = `### Delegating to subagents
32
27
 
33
- You have one \`run_subagent\` tool. A subagent runs in its own context and returns only a summary, keeping your own context focused on high-level reasoning. Its required \`execution\` field selects the lifecycle available in this session:
28
+ You have one \`run_subagent\` tool. A subagent runs in its own context and returns only a summary, keeping your own context focused on high-level reasoning. Its required \`execution\` field identifies the only lifecycle available in this session:
34
29
 
35
30
  ${executions}`;
36
31
 
@@ -40,9 +35,7 @@ ${
40
35
  backgroundEnabled
41
36
  ? '- About to commit to a non-trivial plan or tricky debugging direction and want it pressure-tested → `mentor`.\n'
42
37
  : ''
43
- }${
44
- memoryEnabled ? '- Need relevant persistent-memory context or memory maintenance → `librarian`.\n' : ''
45
- }- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.
38
+ }- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.
46
39
 
47
40
  Explorer is an evidence collector, not a reasoning delegate. Ask it to locate and organize concrete facts, files, symbols, logs, tests, or sources for a bounded question. Do not pass the user's entire investigation, diagnosis, review, or planning task to explorer. You retain responsibility for hypotheses, causal analysis, judgments, and recommendations.${
48
41
  orchestratorMode
@@ -58,8 +51,8 @@ Otherwise, just do it yourself — especially when the task needs mid-flight cou
58
51
  ? `**Background execution rules:**
59
52
  - A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit.
60
53
  - Do NOT call \`get_subagent_result\` immediately after a background launch. Active runs are refused rather than awaited. End the current turn and wait for the completion notification, which inlines the full result so you can continue directly.
61
- - Fresh background runs support explorer, worker, mentor, and librarian. They persist across ordinary parent-turn completion in process memory until the 30-minute sliding TTL expires or the 50-session cap evicts them.
62
- - Use \`get_subagent_result\` only with the exact \`runId\` from a completed run when you need to re-fetch a result already received. Mentor and librarian fresh calls reuse their default session; explorer fresh calls start a new session. Worker runs are always fresh and cannot be continued. Only completed non-worker runs support \`continue_run_id\`; do not invent runIds or continue active, failed, cancelled, missing, or evicted runs.${
54
+ - Fresh background runs support explorer, worker, and mentor. They persist across ordinary parent-turn completion in process memory until the 30-minute sliding TTL expires or the 50-session cap evicts them.
55
+ - Use \`get_subagent_result\` only with the exact \`runId\` from a completed run when you need to re-fetch a result already received. Mentor fresh calls reuse their default session; explorer fresh calls start a new session. Worker runs are always fresh and cannot be continued. Only completed non-worker runs support \`continue_run_id\`; do not invent runIds or continue active, failed, cancelled, missing, or evicted runs.${
63
56
  controlsEnabled
64
57
  ? `
65
58
  - Address \`send_message\` and \`cancel_run\` by the active name or runId; runId remains canonical. \`send_message\` non-blockingly steers an active execution run or answers a waiting \`ask_orchestrator\` question with \`reply_to\`; \`cancel_run\` non-blockingly requests cancellation.
@@ -77,7 +70,7 @@ Do not repeat automatically supplied context: role instructions, generic tool gu
77
70
  return `${header}\n\n${triggers}${
78
71
  backgroundRules ? `\n\n${backgroundRules}` : ''
79
72
  }\n\n${planningStep}\n\n${getSubagentsRolesSection({
80
- includeLibrarian: memoryEnabled,
73
+ includeLibrarian: false,
81
74
  includeMentor: backgroundEnabled,
82
75
  })}`;
83
76
  }
@@ -73,8 +73,9 @@ export declare class ChainedWireState {
73
73
  *
74
74
  * Stores the request as pending so a future `recordResponse` call can
75
75
  * correlate it. If a stored response chain exists for the same key and the
76
- * fingerprints and `previous_response_id` match, the request input is
77
- * trimmed to a delta.
76
+ * fingerprints match, the request input is trimmed to a delta. A matching
77
+ * `previous_response_id` is used when the caller supplies one; otherwise the
78
+ * stored id is adopted so callers that do not track response IDs still chain.
78
79
  */
79
80
  prepare(key: ChainedWireStateKey, token: ChainedRequestToken, requestData: Record<string, unknown>): PreparedChainedRequest;
80
81
  /**
@@ -90,6 +91,10 @@ export declare class ChainedWireState {
90
91
  * Remove all state (stored and pending) for a single key.
91
92
  */
92
93
  invalidate(key: ChainedWireStateKey): void;
94
+ /**
95
+ * Return the active stored response ID for a key, if any.
96
+ */
97
+ getStoredResponseId(key: ChainedWireStateKey): string | undefined;
93
98
  /**
94
99
  * Remove all state across every key. Safe to call on an empty instance.
95
100
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chained-wire-state.d.ts","sourceRoot":"","sources":["../../source/providers/chained-wire-state.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;IAE1D,yEAAyE;IACzE,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAEhF;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE/E;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAEvC;;;;OAIG;IACH,oBAAoB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IAE1D;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;CACnD;AAED,kDAAkD;AAClD,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,sDAAsD;IACtD,SAAS,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AA8BD;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IAKf,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiD;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4E;IACpG,OAAO,CAAC,YAAY,CAAK;IAEzB,YAA6B,QAAQ,EAAE,mBAAmB,EAAI;IAE9D;;;;;;;OAOG;IACH,OAAO,CACL,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,mBAAmB,EAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,sBAAsB,CA+CxB;IAED;;;OAGG;IACH,cAAc,CACZ,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,EAAE,GACrB,IAAI,CAmBN;IAED;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAQlE;IAED;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAGzC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAGZ;CACF"}
1
+ {"version":3,"file":"chained-wire-state.d.ts","sourceRoot":"","sources":["../../source/providers/chained-wire-state.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;IAE1D,yEAAyE;IACzE,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAEhF;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE/E;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAEvC;;;;OAIG;IACH,oBAAoB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IAE1D;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;CACnD;AAED,kDAAkD;AAClD,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,sDAAsD;IACtD,SAAS,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AA8BD;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IAKf,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiD;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4E;IACpG,OAAO,CAAC,YAAY,CAAK;IAEzB,YAA6B,QAAQ,EAAE,mBAAmB,EAAI;IAE9D;;;;;;;;OAQG;IACH,OAAO,CACL,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,mBAAmB,EAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,sBAAsB,CAiDxB;IAED;;;OAGG;IACH,cAAc,CACZ,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,EAAE,GACrB,IAAI,CAmBN;IAED;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAQlE;IAED;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAGzC;IAED;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAEhE;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAGZ;CACF"}
@@ -36,8 +36,9 @@ export class ChainedWireState {
36
36
  *
37
37
  * Stores the request as pending so a future `recordResponse` call can
38
38
  * correlate it. If a stored response chain exists for the same key and the
39
- * fingerprints and `previous_response_id` match, the request input is
40
- * trimmed to a delta.
39
+ * fingerprints match, the request input is trimmed to a delta. A matching
40
+ * `previous_response_id` is used when the caller supplies one; otherwise the
41
+ * stored id is adopted so callers that do not track response IDs still chain.
41
42
  */
42
43
  prepare(key, token, requestData) {
43
44
  const input = this.protocol.getInput(requestData);
@@ -54,13 +55,15 @@ export class ChainedWireState {
54
55
  input: [...input],
55
56
  sequence: existingPending?.sequence ?? this.nextSequence++,
56
57
  });
57
- const previousResponseId = this.protocol.getPreviousResponseId(requestData);
58
+ const requestedPreviousResponseId = this.protocol.getPreviousResponseId(requestData);
58
59
  const stored = this.stored.get(key);
59
- // No stored chain, missing previous_response_id, or stale response id →
60
- // full request.
61
- if (!stored || !previousResponseId || stored.responseId !== previousResponseId) {
60
+ // No stored chain, or the caller named a stale response id → full request.
61
+ // Omitting previous_response_id is not a break: nested Luna explorers never
62
+ // track the id, so the stored chain is the continuation the server holds.
63
+ if (!stored || (requestedPreviousResponseId && stored.responseId !== requestedPreviousResponseId)) {
62
64
  return { requestData, usedDelta: false, token };
63
65
  }
66
+ const previousResponseId = requestedPreviousResponseId ?? stored.responseId;
64
67
  // Fingerprint changed → incompatible chain, full request.
65
68
  if (stored.fingerprint !== fingerprint) {
66
69
  return { requestData, usedDelta: false, token };
@@ -75,7 +78,7 @@ export class ChainedWireState {
75
78
  return { requestData, usedDelta: false, token };
76
79
  }
77
80
  return {
78
- requestData: { ...requestData, input: delta },
81
+ requestData: { ...requestData, previous_response_id: previousResponseId, input: delta },
79
82
  usedDelta: true,
80
83
  token,
81
84
  };
@@ -123,6 +126,12 @@ export class ChainedWireState {
123
126
  this.stored.delete(key);
124
127
  this.pending.delete(key);
125
128
  }
129
+ /**
130
+ * Return the active stored response ID for a key, if any.
131
+ */
132
+ getStoredResponseId(key) {
133
+ return this.stored.get(key)?.responseId;
134
+ }
126
135
  /**
127
136
  * Remove all state across every key. Safe to call on an empty instance.
128
137
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chained-wire-state.js","sourceRoot":"","sources":["../../source/providers/chained-wire-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chained-wire-state.js","sourceRoot":"","sources":["../../source/providers/chained-wire-state.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PkceLoginConfig } from './oauth-pkce.js';
1
+ import type { PkceLoginConfig, PkceLoginOptions } from './oauth-pkce.js';
2
2
  import { OAuthAccountStore } from './oauth-account-store.js';
3
3
  import type { OAuthAccount } from './oauth-account-store.js';
4
4
  /**
@@ -70,8 +70,5 @@ export declare const CODEX_PKCE_CONFIG: PkceLoginConfig;
70
70
  export declare function loginToCodex(options?: {
71
71
  fetchImpl?: typeof fetch;
72
72
  authPath?: string;
73
- openBrowser?: (url: string) => void;
74
- onPrompt?: (url: string) => void;
75
- signal?: AbortSignal;
76
- }): Promise<CodexTokens>;
73
+ } & PkceLoginOptions): Promise<CodexTokens>;
77
74
  //# sourceMappingURL=codex-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-auth.d.ts","sourceRoot":"","sources":["../../source/providers/codex-auth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG9E;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAC5D,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AACpE,eAAO,MAAM,wBAAwB,4CAA0C,CAAC;AAChF,eAAO,MAAM,oBAAoB,wCAAsC,CAAC;AACxE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAe,CAAC;AACjD,eAAO,MAAM,mBAAmB,QAA0B,CAAC;AAC3D,eAAO,MAAM,gBAAgB,SAAU,MAAM,WAA6C,CAAC;AAC3F,eAAO,MAAM,kBAAkB,QAAwC,CAAC;AACxE,gGAAgG;AAChG,eAAO,MAAM,YAAY,UAOxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,yBAAyB,IAAI,MAAM,CAGlD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CA4BrD;AAgBD,wBAAgB,uBAAuB,CAAC,QAAQ,SAA8B,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAiB9G;AAED,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,QAAQ,SAA8B,GAAG,WAAW,GAAG,IAAI,CAEhG;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,SAA8B,GAAG,IAAI,CAEjG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,SAA8B,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAErG;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,SAA8B,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAE9G;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAA8B,GAAG,OAAO,CAExG;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAA8B,GAAG,OAAO,CAErG;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAevE;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,eAAO,MAAM,iBAAiB,EAAE,eAkB/B,CAAC;AAEF;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE;IAC3C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,WAAW,CAAC,CAevB"}
1
+ {"version":3,"file":"codex-auth.d.ts","sourceRoot":"","sources":["../../source/providers/codex-auth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG9E;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAC5D,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AACpE,eAAO,MAAM,wBAAwB,4CAA0C,CAAC;AAChF,eAAO,MAAM,oBAAoB,wCAAsC,CAAC;AACxE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAe,CAAC;AACjD,eAAO,MAAM,mBAAmB,QAA0B,CAAC;AAC3D,eAAO,MAAM,gBAAgB,SAAU,MAAM,WAA6C,CAAC;AAC3F,eAAO,MAAM,kBAAkB,QAAwC,CAAC;AACxE,gGAAgG;AAChG,eAAO,MAAM,YAAY,UAOxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,yBAAyB,IAAI,MAAM,CAGlD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CA4BrD;AAgBD,wBAAgB,uBAAuB,CAAC,QAAQ,SAA8B,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAiB9G;AAED,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,QAAQ,SAA8B,GAAG,WAAW,GAAG,IAAI,CAEhG;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,SAA8B,GAAG,IAAI,CAEjG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,SAA8B,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAErG;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,SAA8B,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAE9G;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAA8B,GAAG,OAAO,CAExG;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAA8B,GAAG,OAAO,CAErG;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAevE;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,eAAO,MAAM,iBAAiB,EAAE,eAkB/B,CAAC;AAEF;;;GAGG;AACH,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,gBAAgB,GACnB,OAAO,CAAC,WAAW,CAAC,CAiBtB"}
@@ -187,6 +187,8 @@ export async function loginToCodex(options) {
187
187
  openBrowser: options?.openBrowser,
188
188
  onPrompt: options?.onPrompt,
189
189
  signal: options?.signal,
190
+ pasteInput: options?.pasteInput,
191
+ onPasteRejected: options?.onPasteRejected,
190
192
  });
191
193
  const tokens = {
192
194
  access_token: body.access_token,