@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
@@ -1,4 +1,6 @@
1
1
  import type { ProviderInputItem } from '../contracts/provider-input.js';
2
+ /** Explicit compact-endpoint incompatibility, not a transient or history error. */
3
+ export declare function isCodexCompactionIncompatible(error: unknown): boolean;
2
4
  /**
3
5
  * Codex (chatgpt.com) does not accept Responses `context_management` on ordinary
4
6
  * turns. Compaction uses the Responses endpoint with a trailing
@@ -1 +1 @@
1
- {"version":3,"file":"codex-compact.d.ts","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAc9F"}
1
+ {"version":3,"file":"codex-compact.d.ts","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,mFAAmF;AACnF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWrE;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAc9F"}
@@ -1,4 +1,18 @@
1
1
  import { OPENAI_RESPONSES_OPAQUE_TAG } from './provider-opaque-compatibility.js';
2
+ /** Explicit compact-endpoint incompatibility, not a transient or history error. */
3
+ export function isCodexCompactionIncompatible(error) {
4
+ if (!error || typeof error !== 'object')
5
+ return false;
6
+ const record = error;
7
+ const status = record.status ?? record.statusCode;
8
+ if (status === 404 || status === 405)
9
+ return true;
10
+ if (status !== 400 && status !== 422)
11
+ return false;
12
+ const message = [record.message, record.error?.message].filter((value) => typeof value === 'string').join(' ');
13
+ return (/compaction_trigger|context_management|parallel_tool_calls|reasoning\.context/i.test(message) &&
14
+ /unsupported|not support|requires|unknown (?:field|parameter)|unrecognized/i.test(message));
15
+ }
2
16
  /**
3
17
  * Codex (chatgpt.com) does not accept Responses `context_management` on ordinary
4
18
  * turns. Compaction uses the Responses endpoint with a trailing
@@ -1 +1 @@
1
- {"version":3,"file":"codex-compact.js","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAA0B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE;aAC1D,CAAC;QACJ,CAAC;QACD,OAAO,MAA2B,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"codex-compact.js","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,mFAAmF;AACnF,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,MAAM,GAAG,KAAmG,CAAC;IACnH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC;IAClD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/G,OAAO,CACL,+EAA+E,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7F,4EAA4E,CAAC,IAAI,CAAC,OAAO,CAAC,CAC3F,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAA0B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE;aAC1D,CAAC;QACJ,CAAC;QACD,OAAO,MAA2B,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ContextCompactionSessionState, StreamedModelTurn, StreamedModelTurnEvent, StreamedModelTurnInput, StreamedModelTurnRequest } from '../contracts/streamed-model-turn.js';
1
+ import type { ContextCompactionSessionState, StreamedModelConversationResetOptions, StreamedModelTurn, StreamedModelTurnEvent, StreamedModelTurnInput, StreamedModelTurnRequest } from '../contracts/streamed-model-turn.js';
2
2
  import type { ISessionContextService, IProviderTraffic } from '../services/service-interfaces.js';
3
3
  import { type ProviderRequestCapture } from './provider-request-capture.js';
4
4
  import { type WebSocketReceiveTimeouts } from './websocket-receive-watchdog.js';
@@ -7,6 +7,13 @@ export type CodexResponsesTransportOptions = {
7
7
  supportsContextCompaction?: boolean;
8
8
  contextCompactionSessionState?: ContextCompactionSessionState;
9
9
  };
10
+ export type CodexTransportRequestContext = {
11
+ onConnectionAcquired?: (details: {
12
+ connectionId: string;
13
+ reused: boolean;
14
+ affinityKey?: string;
15
+ }) => void;
16
+ };
10
17
  /** Provider-owned transport seam used by Codex's HTTP and WebSocket models. */
11
18
  export declare class CodexResponsesTransport {
12
19
  #private;
@@ -24,7 +31,7 @@ export declare class CodexResponsesTransport {
24
31
  history: ReturnType<typeof compactOutputToProviderHistory>;
25
32
  }>;
26
33
  buildResponsesCreateRequest(request: StreamedModelTurnRequest, stream: boolean): any;
27
- fetchResponse(request: StreamedModelTurnRequest, stream: boolean, requestData: any): Promise<any>;
34
+ fetchResponse(request: StreamedModelTurnRequest, stream: boolean, requestData: any, requestContext?: CodexTransportRequestContext): Promise<any>;
28
35
  }
29
36
  export declare class OpenAIResponsesModel implements StreamedModelTurn {
30
37
  protected readonly client: any;
@@ -40,7 +47,7 @@ export declare class OpenAIResponsesModel implements StreamedModelTurn {
40
47
  history: ReturnType<typeof compactOutputToProviderHistory>;
41
48
  }>;
42
49
  protected buildResponsesCreateRequest(request: StreamedModelTurnRequest, stream: boolean): any;
43
- protected fetchResponse(request: StreamedModelTurnRequest, stream: boolean): Promise<any>;
50
+ protected fetchResponse(request: StreamedModelTurnRequest, stream: boolean, requestContext?: CodexTransportRequestContext): Promise<any>;
44
51
  protected fetchUnaryResponse(request: StreamedModelTurnRequest): Promise<any>;
45
52
  protected rawStream(request: StreamedModelTurnRequest): AsyncIterable<any>;
46
53
  stream(request: StreamedModelTurnRequest): AsyncIterable<StreamedModelTurnEvent>;
@@ -70,6 +77,19 @@ export declare class CodexResponsesWSModel extends OpenAIResponsesWSModel {
70
77
  private readonly requestTokens;
71
78
  private readonly websocketReceiveTimeouts;
72
79
  constructor(client: any, modelId: string, tokenManager: any, diagnosticLogger?: DiagnosticLogger | CodexResponsesTransport, providerTraffic?: IProviderTraffic | CodexResponsesTransport, sessionContextService?: ISessionContextService | CodexResponsesTransport, websocketReceiveTimeouts?: WebSocketReceiveTimeouts | CodexResponsesTransport, requestCapture?: ProviderRequestCapture | CodexResponsesTransport, transport?: CodexResponsesTransport);
80
+ /**
81
+ * Drop server-history bookkeeping for one logical scope while leaving the
82
+ * provider transport pool alive. Rollover supplies the predecessor key;
83
+ * refusing an unscoped reset protects live nested scopes sharing this model.
84
+ */
85
+ resetConversationState(options?: StreamedModelConversationResetOptions): void;
86
+ compactHistory(request: {
87
+ input: readonly StreamedModelTurnInput[];
88
+ instructions?: string;
89
+ signal?: AbortSignal;
90
+ }): Promise<{
91
+ history: ReturnType<typeof compactOutputToProviderHistory>;
92
+ }>;
73
93
  protected fetchUnaryResponse(request: StreamedModelTurnRequest): Promise<any>;
74
94
  protected rawStream(request: StreamedModelTurnRequest): AsyncIterable<any>;
75
95
  buildResponsesCreateRequest(request: StreamedModelTurnRequest, stream: boolean): any;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-responses-model.d.ts","sourceRoot":"","sources":["../../source/providers/codex-responses-model.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,6BAA6B,EAC7B,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAGjB,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAGL,KAAK,wBAAwB,EAE9B,MAAM,iCAAiC,CAAC;AAazC,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AA+BpE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;CAC/D,CAAC;AAEF,+EAA+E;AAC/E,qBAAa,uBAAuB;;IAMhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,YACmB,MAAM,GAAE,GAAQ,EAChB,KAAK,SAAK,EACV,SAAS,UAAQ,EACjB,OAAO,GAAE,8BAAmC,EAC3D;IAEJ,KAAK,IAAI,IAAI,CAEZ;IAEK,cAAc,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,OAAO,EAAE,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAA;KAAE,CAAC,CA+B1E;IAED,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAoCnF;IAEK,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAoGtG;CACF;AAED,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,uBAAuB,CAAC;IACnD,YAAY,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,uBAAuB,EAAE,SAAS,UAAQ,EAI7F;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAEK,cAAc,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAC;QACzC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAA;KAAE,CAAC,CAM1E;IAED,SAAS,CAAC,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAM7F;IAED,UAAgB,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAG9F;IAED,UAAgB,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,CAElF;IAED,UAAiB,SAAS,CAAC,OAAO,EAAE,wBAAwB,GAAG,aAAa,CAAC,GAAG,CAAC,CAsChF;IAEM,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAEtF;CACF;AAED,qBAAa,sBAAuB,SAAQ,oBAAoB;IAC9D,YAAY,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,uBAAuB,EAE1E;CACF;AAmLD,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAClE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACnE,CAAC;AAQF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE;AAyiBD,qBAAa,qBAAsB,SAAQ,sBAAsB;;IAoB7D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IApB/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA6B;IACtE,OAAO,CAAC,QAAQ,CAAC,0CAA0C,CAAkC;IAC7F,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAkC;IACnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA6B;IAMnE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6D;IAC9F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAC5E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA2B;IAEpE,YACE,MAAM,EAAE,GAAG,EACM,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,GAAG,EAClC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,uBAAuB,EAC7D,eAAe,CAAC,EAAE,gBAAgB,GAAG,uBAAuB,EAC5D,qBAAqB,CAAC,EAAE,sBAAsB,GAAG,uBAAuB,EACxE,wBAAwB,GAAE,wBAAwB,GAAG,uBAA4D,EACjH,cAAc,CAAC,EAAE,sBAAsB,GAAG,uBAAuB,EACjE,SAAS,CAAC,EAAE,uBAAuB,EA0BpC;IAghBD,UAAyB,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,CA6C3F;IAED,UAA0B,SAAS,CAAC,OAAO,EAAE,wBAAwB,GAAG,aAAa,CAAC,GAAG,CAAC,CAyEzF;IAuBQ,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAmB5F;IAED,UAAyB,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CA2HvG;CACF;AAED,qBAAa,mBAAoB,SAAQ,oBAAoB;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAyB;IAEzD,YACE,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,uBAAuB,EAC7D,cAAc,CAAC,EAAE,sBAAsB,GAAG,uBAAuB,EACjE,SAAS,CAAC,EAAE,uBAAuB,EAUpC;IAEQ,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,CAa5F;IAED,UAAyB,aAAa,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAOvG;CACF;AAmBD,wBAAuB,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,CAoGhH"}
1
+ {"version":3,"file":"codex-responses-model.d.ts","sourceRoot":"","sources":["../../source/providers/codex-responses-model.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { sanitizeHeaders } from '../utils/header-sanitizer.js';
6
6
  import { AbortedStreamRecorder } from './aborted-stream-recorder.js';
7
7
  import { isOrphanedChainedToolOutputError, OrphanedChainedToolOutputError } from '../lib/chained-input-filter.js';
8
8
  import { AmbiguousModelOutcomeError, ConversationStateNoProgressError } from '../services/retry/retry-errors.js';
9
+ import { isClassifiedCancellation } from '../services/retry/provider-failure-classification.js';
9
10
  import { fingerprintChainRequest } from '../services/retry/chain-recovery-fingerprint.js';
10
11
  import { ChainedWireState } from './chained-wire-state.js';
11
12
  import { LunaResponsesLiteWireProtocol } from './luna-responses-lite-wire-protocol.js';
@@ -32,6 +33,30 @@ function toCodexToolChoice(choice) {
32
33
  }
33
34
  throw new Error('Unsupported Codex tool choice.');
34
35
  }
36
+ function toCodexResponsesTool(tool) {
37
+ if (tool.type === 'custom') {
38
+ return {
39
+ type: 'custom',
40
+ name: tool.name,
41
+ ...(tool.description ? { description: tool.description } : {}),
42
+ format: tool.format,
43
+ };
44
+ }
45
+ return {
46
+ type: 'function',
47
+ name: tool.name,
48
+ ...(tool.description ? { description: tool.description } : {}),
49
+ parameters: tool.parameters,
50
+ ...(tool.strict !== undefined ? { strict: tool.strict } : {}),
51
+ };
52
+ }
53
+ function toCodexToolChoiceForTools(choice, tools) {
54
+ if (choice && typeof choice === 'object' && typeof choice.name === 'string') {
55
+ const selected = tools.find((tool) => tool.name === choice.name);
56
+ return { type: selected?.type === 'custom' ? 'custom' : 'function', name: choice.name };
57
+ }
58
+ return toCodexToolChoice(choice);
59
+ }
35
60
  const TERMINAL_RESPONSE_EVENT_TYPES = new Set([
36
61
  'response.completed',
37
62
  'response.failed',
@@ -64,10 +89,15 @@ export class CodexResponsesTransport {
64
89
  const stream = await this.client.responses.create({
65
90
  model: this.model,
66
91
  input: [...request.input, { type: 'compaction_trigger' }],
67
- parallel_tool_calls: true,
92
+ parallel_tool_calls: !isCodexResponsesLiteModel(this.model),
68
93
  stream: true,
69
94
  store: false,
70
95
  include: ['reasoning.encrypted_content'],
96
+ // The Responses-Lite lane rejects compaction without an explicit
97
+ // reasoning context (400 `requires reasoning.context all_turns`);
98
+ // ordinary turns already carry this via request normalization, but
99
+ // the compaction call builds its own body and must set it itself.
100
+ ...(isCodexResponsesLiteModel(this.model) ? { reasoning: { context: 'all_turns' } } : {}),
71
101
  ...(request.instructions !== undefined ? { instructions: request.instructions } : {}),
72
102
  }, request.signal ? { signal: request.signal } : undefined);
73
103
  let compactionItem;
@@ -102,8 +132,10 @@ export class CodexResponsesTransport {
102
132
  input: toCodexResponsesInput(request.input),
103
133
  stream,
104
134
  ...(request.instructions !== undefined ? { instructions: request.instructions } : {}),
105
- ...(request.tools.length > 0 ? { tools: request.tools.map((tool) => ({ type: 'function', ...tool })) } : {}),
106
- ...(request.toolChoice !== undefined ? { tool_choice: toCodexToolChoice(request.toolChoice) } : {}),
135
+ ...(request.tools.length > 0 ? { tools: request.tools.map(toCodexResponsesTool) } : {}),
136
+ ...(request.toolChoice !== undefined
137
+ ? { tool_choice: toCodexToolChoiceForTools(request.toolChoice, request.tools) }
138
+ : {}),
107
139
  ...(request.temperature !== undefined ? { temperature: request.temperature } : {}),
108
140
  ...(request.topP !== undefined ? { top_p: request.topP } : {}),
109
141
  ...(request.frequencyPenalty !== undefined ? { frequency_penalty: request.frequencyPenalty } : {}),
@@ -118,14 +150,23 @@ export class CodexResponsesTransport {
118
150
  },
119
151
  };
120
152
  }
121
- async fetchResponse(request, stream, requestData) {
153
+ async fetchResponse(request, stream, requestData, requestContext) {
122
154
  try {
123
155
  if (stream && this.websocket) {
124
156
  if (!(this.client instanceof OpenAI) && typeof this.client?.responses?.create === 'function') {
125
157
  return this.client.responses.create(requestData);
126
158
  }
127
159
  const headers = request.providerOptions?.extraHeaders;
128
- const socket = this.#sessions.acquire(headers);
160
+ const affinityKey = typeof request.codex?.promptCacheKey === 'string' && request.codex.promptCacheKey.length > 0
161
+ ? request.codex.promptCacheKey
162
+ : undefined;
163
+ const acquisition = this.#sessions.acquireWithMetadata(headers, { affinityKey });
164
+ const socket = acquisition.socket;
165
+ requestContext?.onConnectionAcquired?.({
166
+ connectionId: acquisition.connectionId,
167
+ reused: acquisition.reused,
168
+ ...(affinityKey ? { affinityKey } : {}),
169
+ });
129
170
  const messages = socket.stream();
130
171
  const requestEvent = { type: 'response.create', ...requestData };
131
172
  // Until the frame is written to an OPEN socket it is still ours, so a
@@ -177,6 +218,12 @@ export class CodexResponsesTransport {
177
218
  const event = message.message;
178
219
  if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
179
220
  terminalReceived = true;
221
+ // The terminal frame proves this lease is no longer in
222
+ // flight. Release before yielding it: the application can
223
+ // settle a rollover immediately after observing the
224
+ // terminal event, before this generator is resumed for its
225
+ // finally block.
226
+ release(true);
180
227
  }
181
228
  yield event;
182
229
  }
@@ -184,6 +231,7 @@ export class CodexResponsesTransport {
184
231
  const event = message.event;
185
232
  if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
186
233
  terminalReceived = true;
234
+ release(true);
187
235
  }
188
236
  yield event;
189
237
  }
@@ -254,9 +302,9 @@ export class OpenAIResponsesModel {
254
302
  }
255
303
  return built;
256
304
  }
257
- async fetchResponse(request, stream) {
305
+ async fetchResponse(request, stream, requestContext) {
258
306
  const built = this.buildResponsesCreateRequest(request, stream);
259
- return this.transport.fetchResponse(request, stream, built.requestData);
307
+ return this.transport.fetchResponse(request, stream, built.requestData, requestContext);
260
308
  }
261
309
  async fetchUnaryResponse(request) {
262
310
  return this.fetchResponse(request, false);
@@ -349,7 +397,8 @@ async function* convertCodexRawStream(source) {
349
397
  else if (event?.type === 'response.output_item.added' && event.output_item?.type === 'compaction') {
350
398
  yield { type: 'context_compaction_started', provider: OPENAI_RESPONSES_OPAQUE_TAG };
351
399
  }
352
- else if (event?.type === 'response.output_item.added' && event.output_item?.type === 'function_call') {
400
+ else if (event?.type === 'response.output_item.added' &&
401
+ (event.output_item?.type === 'function_call' || event.output_item?.type === 'custom_tool_call')) {
353
402
  const index = typeof event.output_index === 'number' ? event.output_index : event.output_item.id ?? 0;
354
403
  if (typeof event.output_item.name === 'string')
355
404
  toolNamesByIndex.set(index, event.output_item.name);
@@ -366,7 +415,8 @@ async function* convertCodexRawStream(source) {
366
415
  const toolName = toolNamesByIndex.get(index);
367
416
  yield { type: 'tool_call_streaming_delta', ...(toolName ? { toolName } : {}), argumentCharCount };
368
417
  }
369
- else if (event?.type === 'response.output_item.done' && event.item?.type === 'function_call') {
418
+ else if (event?.type === 'response.output_item.done' &&
419
+ (event.item?.type === 'function_call' || event.item?.type === 'custom_tool_call')) {
370
420
  const call = toCodexToolCallOutput(event.item);
371
421
  output.push(call);
372
422
  pendingToolCalls.push(call);
@@ -422,12 +472,24 @@ function toCodexToolCallOutput(item) {
422
472
  const name = codexString(item?.name);
423
473
  if (!id || !name)
424
474
  throw new Error('Codex function call output is missing its call id or name.');
425
- return { type: 'tool_call', id, name, arguments: typeof item.arguments === 'string' ? item.arguments : '{}' };
475
+ return {
476
+ type: 'tool_call',
477
+ id,
478
+ name,
479
+ arguments: item.type === 'custom_tool_call'
480
+ ? typeof item.input === 'string'
481
+ ? item.input
482
+ : ''
483
+ : typeof item.arguments === 'string'
484
+ ? item.arguments
485
+ : '{}',
486
+ ...(item.type === 'custom_tool_call' ? { toolType: 'custom' } : {}),
487
+ };
426
488
  }
427
489
  function toCodexOutputItem(item) {
428
490
  if (!item || typeof item !== 'object')
429
491
  throw new Error('Unsupported Codex response output item.');
430
- if (item.type === 'function_call')
492
+ if (item.type === 'function_call' || item.type === 'custom_tool_call')
431
493
  return toCodexToolCallOutput(item);
432
494
  if (item.type === 'message') {
433
495
  const content = Array.isArray(item.content) ? item.content : [];
@@ -485,11 +547,15 @@ function toCodexUsage(rawUsage) {
485
547
  return undefined;
486
548
  const cachedInputTokens = rawUsage.input_tokens_details?.cached_tokens ?? rawUsage.inputTokensDetails?.cachedTokens;
487
549
  const cacheWriteTokens = rawUsage.input_tokens_details?.cache_write_tokens ?? rawUsage.inputTokensDetails?.cacheWriteTokens;
550
+ const reasoningTokens = rawUsage.output_tokens_details?.reasoning_tokens ??
551
+ rawUsage.outputTokensDetails?.reasoningTokens ??
552
+ rawUsage.outputTokensDetails?.reasoning_tokens;
488
553
  return {
489
554
  ...(inputTokens !== undefined ? { inputTokens } : {}),
490
555
  ...(outputTokens !== undefined ? { outputTokens } : {}),
491
556
  ...(cachedInputTokens !== undefined ? { cachedInputTokens } : {}),
492
557
  ...(cacheWriteTokens !== undefined ? { cacheWriteTokens } : {}),
558
+ ...(reasoningTokens !== undefined ? { reasoningTokens } : {}),
493
559
  };
494
560
  }
495
561
  function codexString(value) {
@@ -677,6 +743,7 @@ const CODEX_SERVER_HISTORY_TOOL_RESULT_TYPES = new Set([
677
743
  'computer_call_output',
678
744
  'computer_call_result',
679
745
  'apply_patch_call_output',
746
+ 'custom_tool_call_output',
680
747
  ]);
681
748
  const normalizeCodexServerHistoryItem = (item) => {
682
749
  const record = asRecord(item);
@@ -690,7 +757,7 @@ const normalizeCodexServerHistoryItem = (item) => {
690
757
  type,
691
758
  itemId,
692
759
  callId,
693
- isFunctionCall: type === 'function_call' || type === 'tool_call',
760
+ isFunctionCall: type === 'function_call' || type === 'tool_call' || type === 'custom_tool_call',
694
761
  isToolResult: type === 'tool_result' || (typeof type === 'string' && CODEX_SERVER_HISTORY_TOOL_RESULT_TYPES.has(type)),
695
762
  };
696
763
  };
@@ -965,6 +1032,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
965
1032
  #lastSentChainFingerprint;
966
1033
  #lastRejectedChainFingerprint;
967
1034
  #lastLogicalRequestByKey = new Map();
1035
+ #transportDiagnosticsByRequest = new WeakMap();
968
1036
  providerTraffic;
969
1037
  diagnosticLogger;
970
1038
  sessionContextService;
@@ -998,10 +1066,31 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
998
1066
  : websocketReceiveTimeouts;
999
1067
  this.requestCapture = requestCapture instanceof CodexResponsesTransport ? undefined : requestCapture;
1000
1068
  }
1069
+ /**
1070
+ * Drop server-history bookkeeping for one logical scope while leaving the
1071
+ * provider transport pool alive. Rollover supplies the predecessor key;
1072
+ * refusing an unscoped reset protects live nested scopes sharing this model.
1073
+ */
1074
+ resetConversationState(options) {
1075
+ if (!options?.providerHistoryKey)
1076
+ return;
1077
+ this.#forgetCodexServerHistoryForKey(options.providerHistoryKey);
1078
+ }
1079
+ #transportDiagnostics(request) {
1080
+ return this.#transportDiagnosticsByRequest.get(request);
1081
+ }
1082
+ async compactHistory(request) {
1083
+ const result = await super.compactHistory(request);
1084
+ // A native compaction item replaces the provider's prior transcript. The
1085
+ // old Responses-Lite chain may still contain an unfinished function call,
1086
+ // so retaining it would combine the checkpoint with stale server debt.
1087
+ this.#forgetCodexServerHistoryForCurrentKey();
1088
+ return result;
1089
+ }
1001
1090
  #modelNameFallback() {
1002
1091
  return this.modelId;
1003
1092
  }
1004
- #logTrafficStarted(requestId, requestData, headers) {
1093
+ #logTrafficStarted(requestId, requestData, headers, transportDiagnostics) {
1005
1094
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
1006
1095
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
1007
1096
  const sanitizedHeaders = headers ? sanitizeHeaders(headers) : undefined;
@@ -1011,11 +1100,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1011
1100
  model,
1012
1101
  sentBody: requestData,
1013
1102
  headers: sanitizedHeaders,
1103
+ transportDiagnostics,
1014
1104
  modelClass: WS_RESPONSE_MODEL_CLASS,
1015
1105
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
1016
1106
  });
1017
1107
  }
1018
- #logTrafficReceived(requestId, requestData, response, receiveTiming) {
1108
+ #logTrafficReceived(requestId, requestData, response, receiveTiming, transportDiagnostics) {
1019
1109
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
1020
1110
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
1021
1111
  providerTraffic.recordResponseReceived({
@@ -1026,11 +1116,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1026
1116
  response: response,
1027
1117
  transport: 'websocket',
1028
1118
  ...(receiveTiming ? { receiveTiming } : {}),
1119
+ transportDiagnostics,
1029
1120
  modelClass: WS_RESPONSE_MODEL_CLASS,
1030
1121
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
1031
1122
  });
1032
1123
  }
1033
- #logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics) {
1124
+ #logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics, transportDiagnostics) {
1034
1125
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
1035
1126
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
1036
1127
  providerTraffic.recordRequestFailed({
@@ -1040,11 +1131,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1040
1131
  error,
1041
1132
  ...(receiveTiming ? { receiveTiming } : {}),
1042
1133
  ...(diagnostics ? { diagnostics } : {}),
1134
+ transportDiagnostics,
1043
1135
  modelClass: WS_RESPONSE_MODEL_CLASS,
1044
1136
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
1045
1137
  });
1046
1138
  }
1047
- #logTrafficClosed(requestId, requestData, outcome, eventCount, diagnostics) {
1139
+ #logTrafficClosed(requestId, requestData, outcome, eventCount, diagnostics, transportDiagnostics) {
1048
1140
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
1049
1141
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
1050
1142
  providerTraffic.recordResponseClosed({
@@ -1054,11 +1146,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1054
1146
  outcome,
1055
1147
  eventCount,
1056
1148
  ...(diagnostics ? { diagnostics } : {}),
1149
+ transportDiagnostics,
1057
1150
  modelClass: WS_RESPONSE_MODEL_CLASS,
1058
1151
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
1059
1152
  });
1060
1153
  }
1061
- async #withTrafficLogging(responseStream, requestId, requestData, wireStateKey, wireStateToken, signal, receiveTiming, asProvablyUnsent) {
1154
+ async #withTrafficLogging(responseStream, requestId, requestData, wireStateKey, wireStateToken, signal, receiveTiming, asProvablyUnsent, transportDiagnostics) {
1062
1155
  const logReceived = this.#logTrafficReceived.bind(this);
1063
1156
  const logFailed = this.#logTrafficFailed.bind(this);
1064
1157
  const logClosed = this.#logTrafficClosed.bind(this);
@@ -1091,7 +1184,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1091
1184
  if (wireStateKey && wireStateToken && typeof response.id === 'string' && response.id.length > 0) {
1092
1185
  wireState.recordResponse(wireStateKey, wireStateToken, response.id, response.output);
1093
1186
  }
1094
- logReceived(requestId, requestData, response, receiveTiming?.());
1187
+ logReceived(requestId, requestData, response, receiveTiming?.(), transportDiagnostics);
1095
1188
  }
1096
1189
  yield event;
1097
1190
  }
@@ -1106,11 +1199,22 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1106
1199
  // reached the wire; the wire-state decision above still keys off the
1107
1200
  // error as thrown.
1108
1201
  const failure = asProvablyUnsent?.(error) ?? error;
1109
- // Bounded evidence of whatever progress the recorder observed before
1110
- // the failure (category/counter/timing, no raw frame payload) — a
1111
- // stream that fails after thousands of frames (e.g. an abrupt close)
1112
- // must not lose that evidence the way an unrecorded failure would.
1113
- logFailed(requestId, requestData, failure, receiveTiming?.(), recorder.boundedDiagnostics());
1202
+ if (signal?.aborted && eventCount > 0 && isClassifiedCancellation(failure)) {
1203
+ // An active request can reject from the provider as soon as the
1204
+ // application's abort reaches the socket. Preserve the partial raw
1205
+ // transcript in the same aborted outcome used when the consumer
1206
+ // closes the iterator explicitly; otherwise a guard-triggered abort
1207
+ // would be reduced to bounded counters before the recorder's
1208
+ // finally block can retain it.
1209
+ logClosed(requestId, requestData, 'aborted', eventCount, recorder.diagnostics(), transportDiagnostics);
1210
+ }
1211
+ else {
1212
+ // Bounded evidence of whatever progress the recorder observed before
1213
+ // the failure (category/counter/timing, no raw frame payload) — a
1214
+ // stream that fails after thousands of frames (e.g. an abrupt close)
1215
+ // must not lose that evidence the way an unrecorded failure would.
1216
+ logFailed(requestId, requestData, failure, receiveTiming?.(), recorder.boundedDiagnostics(), transportDiagnostics);
1217
+ }
1114
1218
  throw failure;
1115
1219
  }
1116
1220
  finally {
@@ -1128,7 +1232,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1128
1232
  ? recorder.diagnostics()
1129
1233
  : outcome === 'failed'
1130
1234
  ? recorder.boundedDiagnostics()
1131
- : undefined);
1235
+ : undefined, transportDiagnostics);
1132
1236
  }
1133
1237
  recorder.release();
1134
1238
  if (wireStateKey && wireStateToken) {
@@ -1286,6 +1390,23 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1286
1390
  if (previousResponseId)
1287
1391
  this.codexConsumedToolResultCallIdsByResponseId.set(previousResponseId, consumed);
1288
1392
  }
1393
+ #forgetCodexServerHistoryForCurrentKey() {
1394
+ this.#forgetCodexServerHistoryForKey(this.#getCodexServerHistoryKey());
1395
+ }
1396
+ #forgetCodexServerHistoryForKey(key) {
1397
+ if (!key)
1398
+ return;
1399
+ const responseId = this.chainedWireState.getStoredResponseId(key);
1400
+ this.chainedWireState.invalidate(key);
1401
+ this.codexPreviousResponseIds.delete(key);
1402
+ this.codexTurnIdsBySession.delete(key);
1403
+ this.#lastLogicalRequestByKey.delete(key);
1404
+ if (responseId) {
1405
+ this.codexConsumedToolResultCallIdsByResponseId.delete(responseId);
1406
+ this.codexFunctionCallIdsByResponseId.delete(responseId);
1407
+ }
1408
+ this.#lastSentChainFingerprint = undefined;
1409
+ }
1289
1410
  #forgetCodexResponseId() {
1290
1411
  this.#serverHistoryReuseDisabled = true;
1291
1412
  this.codexPreviousResponseIds.clear();
@@ -1362,39 +1483,47 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1362
1483
  return undefined;
1363
1484
  }
1364
1485
  const sessionContext = this.sessionContextService?.getContext();
1365
- const sessionId = sessionContext?.providerHistoryKey ?? sessionContext?.sessionId ?? requestId;
1366
- const threadId = sessionId;
1486
+ const logicalSessionId = sessionContext?.providerHistoryKey ?? sessionContext?.sessionId ?? requestId;
1487
+ // WebSocket handshake headers cannot change after a socket is opened. Use
1488
+ // the root cache affinity for that physical identity, while the per-frame
1489
+ // client metadata below continues to identify the current logical scope.
1490
+ // The backend's treatment of these two identity channels is not assumed;
1491
+ // the distinction is kept explicit in tests and telemetry.
1492
+ const transportSessionId = request.codex?.promptCacheKey ?? sessionContext?.promptCacheKey ?? logicalSessionId;
1493
+ const threadId = logicalSessionId;
1367
1494
  const hasPreviousResponseId = typeof request?.previousResponseId === 'string' && request.previousResponseId.length > 0;
1368
- const turnId = hasPreviousResponseId ? this.codexTurnIdsBySession.get(sessionId) ?? randomUUID() : randomUUID();
1369
- this.codexTurnIdsBySession.set(sessionId, turnId);
1495
+ const turnId = hasPreviousResponseId
1496
+ ? this.codexTurnIdsBySession.get(logicalSessionId) ?? randomUUID()
1497
+ : randomUUID();
1498
+ this.codexTurnIdsBySession.set(logicalSessionId, turnId);
1370
1499
  const windowId = `${threadId}:1`;
1371
1500
  const turnMetadata = JSON.stringify({
1372
1501
  installation_id: installationId,
1373
- session_id: sessionId,
1502
+ session_id: logicalSessionId,
1374
1503
  thread_id: threadId,
1375
1504
  turn_id: turnId,
1376
1505
  window_id: windowId,
1377
1506
  request_kind: 'turn',
1378
1507
  });
1379
1508
  return {
1380
- sessionId,
1509
+ sessionId: logicalSessionId,
1381
1510
  threadId,
1382
1511
  turnId,
1383
1512
  windowId,
1384
1513
  turnMetadata,
1385
1514
  clientMetadata: {
1386
1515
  'x-codex-installation-id': installationId,
1387
- session_id: sessionId,
1516
+ session_id: logicalSessionId,
1388
1517
  thread_id: threadId,
1389
1518
  'x-codex-window-id': windowId,
1390
1519
  turn_id: turnId,
1391
1520
  'x-codex-turn-metadata': turnMetadata,
1392
1521
  },
1393
1522
  headers: {
1394
- 'x-client-request-id': threadId,
1395
- 'session-id': sessionId,
1396
- 'thread-id': threadId,
1397
- 'x-codex-window-id': windowId,
1523
+ 'x-client-request-id': transportSessionId,
1524
+ 'session-id': transportSessionId,
1525
+ 'thread-id': transportSessionId,
1526
+ 'x-codex-window-id': transportSessionId + ':1',
1398
1527
  'x-codex-turn-metadata': turnMetadata,
1399
1528
  },
1400
1529
  };
@@ -1615,14 +1744,28 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1615
1744
  // transport's private fetch path. Capture it without changing the
1616
1745
  // prepared request or wire state.
1617
1746
  captureProviderRequest(this.requestCapture, { provider: 'codex', transport: 'websocket', requestData });
1618
- this.#logTrafficStarted(requestId, requestData, extraHeaders);
1747
+ const transportDiagnostics = {
1748
+ ...(request.codex?.promptCacheKey ?? this.sessionContextService?.getContext()?.promptCacheKey
1749
+ ? {
1750
+ affinityKey: request.codex?.promptCacheKey ?? this.sessionContextService?.getContext()?.promptCacheKey,
1751
+ }
1752
+ : {}),
1753
+ ...(this.#getCodexServerHistoryKey() ? { logicalHistoryKey: this.#getCodexServerHistoryKey() } : {}),
1754
+ };
1755
+ this.#logTrafficStarted(requestId, requestData, extraHeaders, transportDiagnostics);
1619
1756
  if (!stream) {
1620
1757
  try {
1621
- const response = await fetchAndReconstructUnaryResponse(async () => watchdog.wrap(await super.fetchResponse(updatedRequest, true)), this.diagnosticLogger);
1758
+ const response = await fetchAndReconstructUnaryResponse(async () => watchdog.wrap(await super.fetchResponse(updatedRequest, true, {
1759
+ onConnectionAcquired: (details) => this.#transportDiagnosticsByRequest.set(updatedRequest, {
1760
+ ...transportDiagnostics,
1761
+ connectionId: details.connectionId,
1762
+ reused: details.reused,
1763
+ }),
1764
+ })), this.diagnosticLogger);
1622
1765
  if (wireStateKey && wireStateToken && typeof response?.id === 'string' && response.id.length > 0) {
1623
1766
  this.chainedWireState.recordResponse(wireStateKey, wireStateToken, response.id, response.output);
1624
1767
  }
1625
- this.#logTrafficReceived(requestId, requestData, response, watchdog.receiveTiming());
1768
+ this.#logTrafficReceived(requestId, requestData, response, watchdog.receiveTiming(), this.#transportDiagnostics(updatedRequest));
1626
1769
  return response;
1627
1770
  }
1628
1771
  catch (error) {
@@ -1639,15 +1782,21 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1639
1782
  this.chainedWireState.invalidate(wireStateKey);
1640
1783
  }
1641
1784
  }
1642
- this.#logTrafficFailed(requestId, requestData, failure, receiveTiming);
1785
+ this.#logTrafficFailed(requestId, requestData, failure, receiveTiming, undefined, this.#transportDiagnostics(updatedRequest));
1643
1786
  throw failure;
1644
1787
  }
1645
1788
  }
1646
1789
  try {
1647
- const response = (await super.fetchResponse(updatedRequest, stream));
1790
+ const response = (await super.fetchResponse(updatedRequest, stream, {
1791
+ onConnectionAcquired: (details) => this.#transportDiagnosticsByRequest.set(updatedRequest, {
1792
+ ...transportDiagnostics,
1793
+ connectionId: details.connectionId,
1794
+ reused: details.reused,
1795
+ }),
1796
+ }));
1648
1797
  const patched = wrapCodexStream(watchdog.wrap(response), this.diagnosticLogger);
1649
1798
  return this.#withTrafficLogging(patched, requestId, requestData, wireStateKey, wireStateToken, updatedRequest.signal, () => watchdog.receiveTiming(), (error) => asProvablyUnsentTimeout(watchdog.timeoutError(), watchdog.receiveTiming(), updatedRequest) ??
1650
- asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0));
1799
+ asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0), this.#transportDiagnostics(updatedRequest));
1651
1800
  }
1652
1801
  catch (error) {
1653
1802
  const timeoutError = watchdog.timeoutError();
@@ -1663,7 +1812,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1663
1812
  this.chainedWireState.invalidate(wireStateKey);
1664
1813
  }
1665
1814
  }
1666
- this.#logTrafficFailed(requestId, requestData, failure, receiveTiming);
1815
+ this.#logTrafficFailed(requestId, requestData, failure, receiveTiming, undefined, this.#transportDiagnostics(updatedRequest));
1667
1816
  throw failure;
1668
1817
  }
1669
1818
  }
@@ -1730,7 +1879,7 @@ export async function* wrapCodexStream(source, logger) {
1730
1879
  });
1731
1880
  throw new Error(`Codex provider stream error: ${errMsg}`);
1732
1881
  }
1733
- if (type === 'response.function_call_arguments.done' &&
1882
+ if ((type === 'response.function_call_arguments.done' || type === 'response.custom_tool_call_input.done') &&
1734
1883
  typeof event.call_id === 'string' &&
1735
1884
  typeof event.item_id === 'string') {
1736
1885
  // Capture the authoritative call_id from the arguments-done event.
@@ -1743,7 +1892,7 @@ export async function* wrapCodexStream(source, logger) {
1743
1892
  // from the itemCallIds map so the inherited transport's
1744
1893
  // convertToOutputItem picks up the correct identifier and the continuation
1745
1894
  // request sends the right call_id.
1746
- if (itemRecord?.type === 'function_call' &&
1895
+ if ((itemRecord?.type === 'function_call' || itemRecord?.type === 'custom_tool_call') &&
1747
1896
  !stringValue(itemRecord?.call_id) &&
1748
1897
  typeof itemRecord?.id === 'string') {
1749
1898
  const knownCallId = itemCallIds.get(itemRecord.id);