@qduc/term2 0.21.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 (656) hide show
  1. package/dist/agent.d.ts +2 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +32 -10
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +83 -6
  7. package/dist/app.js.map +1 -1
  8. package/dist/cli.js +84 -2
  9. package/dist/cli.js.map +1 -1
  10. package/dist/components/InputBox.js +2 -3
  11. package/dist/components/InputBox.js.map +1 -1
  12. package/dist/components/common/MenuContainer.d.ts +5 -0
  13. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  14. package/dist/components/common/MenuContainer.js +13 -3
  15. package/dist/components/common/MenuContainer.js.map +1 -1
  16. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  17. package/dist/components/input/MenuSurface.js +12 -2
  18. package/dist/components/input/MenuSurface.js.map +1 -1
  19. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  20. package/dist/components/input/ModelMenuSession.js +67 -16
  21. package/dist/components/input/ModelMenuSession.js.map +1 -1
  22. package/dist/components/input/SettingsMenuSession.d.ts.map +1 -1
  23. package/dist/components/input/SettingsMenuSession.js +56 -17
  24. package/dist/components/input/SettingsMenuSession.js.map +1 -1
  25. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  26. package/dist/components/input/SettingsValueMenuSession.js +33 -3
  27. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  28. package/dist/components/input/menu-types.d.ts +1 -1
  29. package/dist/components/input/menu-types.d.ts.map +1 -1
  30. package/dist/components/input/triggers.js +2 -2
  31. package/dist/components/input/triggers.js.map +1 -1
  32. package/dist/components/layout/BackgroundTasksPanel.d.ts +0 -1
  33. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  34. package/dist/components/layout/BackgroundTasksPanel.js +4 -112
  35. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  36. package/dist/components/menu/ModelSelectionMenu.d.ts +10 -0
  37. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  38. package/dist/components/menu/ModelSelectionMenu.js +85 -16
  39. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  40. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -1
  41. package/dist/components/menu/ProfileSelectionMenu.js +5 -4
  42. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -1
  43. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  44. package/dist/components/menu/ResumeSelectionMenu.js +3 -5
  45. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  46. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  47. package/dist/components/menu/SettingsSelectionMenu.js +4 -32
  48. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  49. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  50. package/dist/components/menu/SettingsValueSelectionMenu.js +12 -5
  51. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  52. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  53. package/dist/components/menu/SkillSelectionMenu.js +3 -6
  54. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  55. package/dist/components/menu/SlashCommandMenu.d.ts +8 -0
  56. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  57. package/dist/components/menu/SlashCommandMenu.js +16 -6
  58. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  59. package/dist/components/menu/StandaloneModelPickerApp.d.ts +40 -0
  60. package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -0
  61. package/dist/components/menu/StandaloneModelPickerApp.js +106 -0
  62. package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -0
  63. package/dist/components/menu/settings-value-formatter.d.ts +11 -0
  64. package/dist/components/menu/settings-value-formatter.d.ts.map +1 -0
  65. package/dist/components/menu/settings-value-formatter.js +214 -0
  66. package/dist/components/menu/settings-value-formatter.js.map +1 -0
  67. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  68. package/dist/components/message/CommandMessage.js +22 -17
  69. package/dist/components/message/CommandMessage.js.map +1 -1
  70. package/dist/components/message/MessageList.d.ts.map +1 -1
  71. package/dist/components/message/MessageList.js +13 -2
  72. package/dist/components/message/MessageList.js.map +1 -1
  73. package/dist/components/message/RunCodeRenderer.d.ts +16 -0
  74. package/dist/components/message/RunCodeRenderer.d.ts.map +1 -0
  75. package/dist/components/message/RunCodeRenderer.js +25 -0
  76. package/dist/components/message/RunCodeRenderer.js.map +1 -0
  77. package/dist/components/message/command-message-helpers.d.ts +30 -0
  78. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  79. package/dist/components/message/command-message-helpers.js +85 -0
  80. package/dist/components/message/command-message-helpers.js.map +1 -1
  81. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  82. package/dist/components/prompt/ApprovalPrompt.js +12 -21
  83. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  84. package/dist/components/theme.d.ts +1 -0
  85. package/dist/components/theme.d.ts.map +1 -1
  86. package/dist/components/theme.js +1 -0
  87. package/dist/components/theme.js.map +1 -1
  88. package/dist/contracts/streamed-model-turn.d.ts +6 -0
  89. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  90. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  91. package/dist/hooks/conversation-ui-reducer.js +5 -2
  92. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  93. package/dist/hooks/settings-completion-config.d.ts +1 -1
  94. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  95. package/dist/hooks/settings-completion-config.js +4 -122
  96. package/dist/hooks/settings-completion-config.js.map +1 -1
  97. package/dist/hooks/settings-completion-logic.d.ts +1 -1
  98. package/dist/hooks/settings-completion-logic.d.ts.map +1 -1
  99. package/dist/hooks/settings-completion-logic.js.map +1 -1
  100. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  101. package/dist/hooks/use-app-keyboard-shortcuts.js +33 -20
  102. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  103. package/dist/hooks/use-conversation.d.ts +3 -0
  104. package/dist/hooks/use-conversation.d.ts.map +1 -1
  105. package/dist/hooks/use-conversation.js +107 -16
  106. package/dist/hooks/use-conversation.js.map +1 -1
  107. package/dist/hooks/use-model-selection.d.ts +33 -4
  108. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  109. package/dist/hooks/use-model-selection.js +204 -114
  110. package/dist/hooks/use-model-selection.js.map +1 -1
  111. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  112. package/dist/hooks/use-settings-completion.js +1 -6
  113. package/dist/hooks/use-settings-completion.js.map +1 -1
  114. package/dist/hooks/use-settings-value-completion.d.ts +1 -8
  115. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  116. package/dist/hooks/use-settings-value-completion.js +10 -100
  117. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  118. package/dist/hooks/use-standalone-model-picker.d.ts +64 -0
  119. package/dist/hooks/use-standalone-model-picker.d.ts.map +1 -0
  120. package/dist/hooks/use-standalone-model-picker.js +310 -0
  121. package/dist/hooks/use-standalone-model-picker.js.map +1 -0
  122. package/dist/lib/agent-client.d.ts +17 -1
  123. package/dist/lib/agent-client.d.ts.map +1 -1
  124. package/dist/lib/agent-client.js +173 -53
  125. package/dist/lib/agent-client.js.map +1 -1
  126. package/dist/lib/agent-configuration.d.ts +12 -3
  127. package/dist/lib/agent-configuration.d.ts.map +1 -1
  128. package/dist/lib/agent-configuration.js +26 -7
  129. package/dist/lib/agent-configuration.js.map +1 -1
  130. package/dist/lib/agent-factory.d.ts +3 -0
  131. package/dist/lib/agent-factory.d.ts.map +1 -1
  132. package/dist/lib/agent-factory.js +49 -7
  133. package/dist/lib/agent-factory.js.map +1 -1
  134. package/dist/lib/ask-user-answer-store.d.ts +1 -0
  135. package/dist/lib/ask-user-answer-store.d.ts.map +1 -1
  136. package/dist/lib/ask-user-answer-store.js +3 -0
  137. package/dist/lib/ask-user-answer-store.js.map +1 -1
  138. package/dist/lib/tool-invoke.d.ts +1 -0
  139. package/dist/lib/tool-invoke.d.ts.map +1 -1
  140. package/dist/lib/tool-invoke.js +1 -0
  141. package/dist/lib/tool-invoke.js.map +1 -1
  142. package/dist/non-interactive.d.ts +23 -0
  143. package/dist/non-interactive.d.ts.map +1 -1
  144. package/dist/non-interactive.js +225 -31
  145. package/dist/non-interactive.js.map +1 -1
  146. package/dist/prompts/background-shell.d.ts.map +1 -1
  147. package/dist/prompts/background-shell.js +4 -2
  148. package/dist/prompts/background-shell.js.map +1 -1
  149. package/dist/prompts/background-shell.ts +4 -2
  150. package/dist/prompts/codex.md +1 -3
  151. package/dist/prompts/fragments/gpt-6-astra.md +13 -0
  152. package/dist/prompts/gpt-5-modern.md +1 -3
  153. package/dist/prompts/gpt-5.4-mini.md +0 -2
  154. package/dist/prompts/gpt-5.5.md +0 -2
  155. package/dist/prompts/gpt-5.6.md +0 -1
  156. package/dist/prompts/lite.md +1 -6
  157. package/dist/prompts/memory.md +2 -2
  158. package/dist/prompts/orchestrator.md +4 -4
  159. package/dist/prompts/prompt-constructor.d.ts +2 -0
  160. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  161. package/dist/prompts/prompt-constructor.js +4 -2
  162. package/dist/prompts/prompt-constructor.js.map +1 -1
  163. package/dist/prompts/prompt-constructor.test.ts +178 -5
  164. package/dist/prompts/prompt-constructor.ts +7 -1
  165. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  166. package/dist/prompts/prompt-profiles.js +6 -0
  167. package/dist/prompts/prompt-profiles.js.map +1 -1
  168. package/dist/prompts/prompt-profiles.test.ts +6 -4
  169. package/dist/prompts/prompt-profiles.ts +6 -0
  170. package/dist/prompts/session-browser.md +4 -2
  171. package/dist/prompts/shell-auto-approval.d.ts +1 -1
  172. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  173. package/dist/prompts/shell-auto-approval.js +2 -2
  174. package/dist/prompts/shell-auto-approval.ts +2 -2
  175. package/dist/prompts/subagent-delegation.js +3 -3
  176. package/dist/prompts/subagent-delegation.js.map +1 -1
  177. package/dist/prompts/subagent-delegation.test.ts +3 -3
  178. package/dist/prompts/subagent-delegation.ts +3 -3
  179. package/dist/prompts/subagents/librarian.md +4 -4
  180. package/dist/prompts/subagents/worker-prompt.test.ts +7 -0
  181. package/dist/prompts/tool-surface-guidance.d.ts +4 -0
  182. package/dist/prompts/tool-surface-guidance.d.ts.map +1 -0
  183. package/dist/prompts/tool-surface-guidance.js +19 -0
  184. package/dist/prompts/tool-surface-guidance.js.map +1 -0
  185. package/dist/prompts/tool-surface-guidance.ts +20 -0
  186. package/dist/providers/codex-compact.d.ts +2 -0
  187. package/dist/providers/codex-compact.d.ts.map +1 -1
  188. package/dist/providers/codex-compact.js +14 -0
  189. package/dist/providers/codex-compact.js.map +1 -1
  190. package/dist/providers/codex-responses-model.d.ts +23 -3
  191. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  192. package/dist/providers/codex-responses-model.js +121 -33
  193. package/dist/providers/codex-responses-model.js.map +1 -1
  194. package/dist/providers/codex.provider.d.ts +2 -0
  195. package/dist/providers/codex.provider.d.ts.map +1 -1
  196. package/dist/providers/codex.provider.js +3 -2
  197. package/dist/providers/codex.provider.js.map +1 -1
  198. package/dist/providers/grok.provider.d.ts.map +1 -1
  199. package/dist/providers/grok.provider.js +5 -2
  200. package/dist/providers/grok.provider.js.map +1 -1
  201. package/dist/providers/model-catalog/catalog.generated.d.ts +453 -309
  202. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  203. package/dist/providers/model-catalog/catalog.generated.js +453 -309
  204. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  205. package/dist/providers/opencode-session.d.ts.map +1 -1
  206. package/dist/providers/opencode-session.js +5 -0
  207. package/dist/providers/opencode-session.js.map +1 -1
  208. package/dist/providers/openrouter.provider.js +8 -1
  209. package/dist/providers/openrouter.provider.js.map +1 -1
  210. package/dist/providers/responses-websocket-sessions.d.ts +10 -0
  211. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
  212. package/dist/providers/responses-websocket-sessions.js +9 -4
  213. package/dist/providers/responses-websocket-sessions.js.map +1 -1
  214. package/dist/providers/retrying-model.d.ts +2 -1
  215. package/dist/providers/retrying-model.d.ts.map +1 -1
  216. package/dist/providers/retrying-model.js +3 -0
  217. package/dist/providers/retrying-model.js.map +1 -1
  218. package/dist/services/agent-runtime/application-run-loop.d.ts +8 -1
  219. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  220. package/dist/services/agent-runtime/application-run-loop.js +30 -6
  221. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  222. package/dist/services/agent-runtime/context-compaction/index.d.ts +2 -0
  223. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -1
  224. package/dist/services/agent-runtime/context-compaction/index.js +30 -4
  225. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -1
  226. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +3 -0
  227. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
  228. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +15 -9
  229. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
  230. package/dist/services/agent-runtime/tool-invocation-context.d.ts +12 -0
  231. package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -1
  232. package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts +7 -1
  233. package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts.map +1 -1
  234. package/dist/services/agent-runtime/workflow/workflow-evaluator.js +78 -183
  235. package/dist/services/agent-runtime/workflow/workflow-evaluator.js.map +1 -1
  236. package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts +4 -3
  237. package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts.map +1 -1
  238. package/dist/services/agent-runtime/workflow/workflow-sandbox.js +9 -7
  239. package/dist/services/agent-runtime/workflow/workflow-sandbox.js.map +1 -1
  240. package/dist/services/agent-runtime/workflow/workflow-types.d.ts +1 -1
  241. package/dist/services/agent-runtime/workflow/workflow-types.d.ts.map +1 -1
  242. package/dist/services/agent-runtime/workflow/workflow-types.js.map +1 -1
  243. package/dist/services/approval/approval-decision-executor.d.ts +2 -1
  244. package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
  245. package/dist/services/approval/approval-decision-executor.js +22 -116
  246. package/dist/services/approval/approval-decision-executor.js.map +1 -1
  247. package/dist/services/approval/approval-descriptor.d.ts +10 -0
  248. package/dist/services/approval/approval-descriptor.d.ts.map +1 -0
  249. package/dist/services/approval/approval-descriptor.js +23 -0
  250. package/dist/services/approval/approval-descriptor.js.map +1 -0
  251. package/dist/services/approval/approval-flow-coordinator.d.ts +2 -1
  252. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  253. package/dist/services/approval/approval-flow-coordinator.js +2 -1
  254. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  255. package/dist/services/approval/approval-grant-executor.d.ts +25 -0
  256. package/dist/services/approval/approval-grant-executor.d.ts.map +1 -0
  257. package/dist/services/approval/approval-grant-executor.js +125 -0
  258. package/dist/services/approval/approval-grant-executor.js.map +1 -0
  259. package/dist/services/approval/background-subagent-approval-controller.d.ts +2 -1
  260. package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
  261. package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
  262. package/dist/services/approval/nested-approval-owner.d.ts +52 -0
  263. package/dist/services/approval/nested-approval-owner.d.ts.map +1 -0
  264. package/dist/services/approval/nested-approval-owner.js +194 -0
  265. package/dist/services/approval/nested-approval-owner.js.map +1 -0
  266. package/dist/services/approval/non-interactive-approval-policy.js +1 -1
  267. package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
  268. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  269. package/dist/services/approval/shell-auto-approval-evaluator.js +2 -4
  270. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  271. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  272. package/dist/services/approval/shell-auto-approval-resolver.js +4 -0
  273. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  274. package/dist/services/approval/tool-approval-batch-coordinator.d.ts +10 -3
  275. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  276. package/dist/services/approval/tool-approval-batch-coordinator.js +16 -5
  277. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  278. package/dist/services/approval/tool-approval-policy-registry.d.ts +13 -0
  279. package/dist/services/approval/tool-approval-policy-registry.d.ts.map +1 -1
  280. package/dist/services/approval/tool-approval-policy-registry.js +16 -1
  281. package/dist/services/approval/tool-approval-policy-registry.js.map +1 -1
  282. package/dist/services/conversation/conversation-adapter-factory.d.ts +3 -1
  283. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  284. package/dist/services/conversation/conversation-adapter-factory.js +3 -3
  285. package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
  286. package/dist/services/conversation/conversation-adapter.d.ts +3 -2
  287. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  288. package/dist/services/conversation/conversation-adapter.js +32 -23
  289. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  290. package/dist/services/conversation/conversation-orchestrator.d.ts +11 -0
  291. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  292. package/dist/services/conversation/conversation-orchestrator.js +65 -42
  293. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  294. package/dist/services/conversation/conversation-persistence.d.ts +6 -1
  295. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  296. package/dist/services/conversation/conversation-persistence.js +68 -19
  297. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  298. package/dist/services/conversation/conversation-result-builder.d.ts +3 -0
  299. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  300. package/dist/services/conversation/conversation-result-builder.js +27 -23
  301. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  302. package/dist/services/conversation/conversation-runtime-factory.d.ts +5 -0
  303. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  304. package/dist/services/conversation/conversation-runtime-factory.js +1 -0
  305. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  306. package/dist/services/conversation/conversation-service.d.ts +11 -1
  307. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  308. package/dist/services/conversation/conversation-service.js +68 -17
  309. package/dist/services/conversation/conversation-service.js.map +1 -1
  310. package/dist/services/conversation/session-browser.d.ts +34 -27
  311. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  312. package/dist/services/conversation/session-browser.js +221 -60
  313. package/dist/services/conversation/session-browser.js.map +1 -1
  314. package/dist/services/conversation/session-index/session-index-database.d.ts +138 -0
  315. package/dist/services/conversation/session-index/session-index-database.d.ts.map +1 -0
  316. package/dist/services/conversation/session-index/session-index-database.js +684 -0
  317. package/dist/services/conversation/session-index/session-index-database.js.map +1 -0
  318. package/dist/services/conversation/session-index/session-index-schema.d.ts +35 -0
  319. package/dist/services/conversation/session-index/session-index-schema.d.ts.map +1 -0
  320. package/dist/services/conversation/session-index/session-index-schema.js +156 -0
  321. package/dist/services/conversation/session-index/session-index-schema.js.map +1 -0
  322. package/dist/services/conversation/session-index/session-index-service.d.ts +30 -0
  323. package/dist/services/conversation/session-index/session-index-service.d.ts.map +1 -0
  324. package/dist/services/conversation/session-index/session-index-service.js +234 -0
  325. package/dist/services/conversation/session-index/session-index-service.js.map +1 -0
  326. package/dist/services/conversation/session-index/session-index-worker-client.d.ts +36 -0
  327. package/dist/services/conversation/session-index/session-index-worker-client.d.ts.map +1 -0
  328. package/dist/services/conversation/session-index/session-index-worker-client.js +143 -0
  329. package/dist/services/conversation/session-index/session-index-worker-client.js.map +1 -0
  330. package/dist/services/conversation/session-index/session-index-worker.d.ts +56 -0
  331. package/dist/services/conversation/session-index/session-index-worker.d.ts.map +1 -0
  332. package/dist/services/conversation/session-index/session-index-worker.js +96 -0
  333. package/dist/services/conversation/session-index/session-index-worker.js.map +1 -0
  334. package/dist/services/conversation/session-search-helpers.d.ts +4 -0
  335. package/dist/services/conversation/session-search-helpers.d.ts.map +1 -0
  336. package/dist/services/conversation/session-search-helpers.js +13 -0
  337. package/dist/services/conversation/session-search-helpers.js.map +1 -0
  338. package/dist/services/conversation-agent-client.d.ts +8 -0
  339. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  340. package/dist/services/execution-context.js +2 -2
  341. package/dist/services/execution-context.js.map +1 -1
  342. package/dist/services/hooks/hook-event-factory.d.ts +2 -1
  343. package/dist/services/hooks/hook-event-factory.d.ts.map +1 -1
  344. package/dist/services/hooks/hook-event-factory.js +2 -1
  345. package/dist/services/hooks/hook-event-factory.js.map +1 -1
  346. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  347. package/dist/services/logging/conversation-log-writer.js +50 -26
  348. package/dist/services/logging/conversation-log-writer.js.map +1 -1
  349. package/dist/services/logging/logging-service.d.ts.map +1 -1
  350. package/dist/services/logging/logging-service.js +1 -0
  351. package/dist/services/logging/logging-service.js.map +1 -1
  352. package/dist/services/logging/provider-traffic.d.ts +22 -2
  353. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  354. package/dist/services/logging/provider-traffic.js +147 -12
  355. package/dist/services/logging/provider-traffic.js.map +1 -1
  356. package/dist/services/model-service.d.ts +42 -0
  357. package/dist/services/model-service.d.ts.map +1 -1
  358. package/dist/services/model-service.js +161 -26
  359. package/dist/services/model-service.js.map +1 -1
  360. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  361. package/dist/services/models/model-catalog-session.js +11 -7
  362. package/dist/services/models/model-catalog-session.js.map +1 -1
  363. package/dist/services/models/model-favorites.d.ts +56 -0
  364. package/dist/services/models/model-favorites.d.ts.map +1 -0
  365. package/dist/services/models/model-favorites.js +93 -0
  366. package/dist/services/models/model-favorites.js.map +1 -0
  367. package/dist/services/models/model-listing.d.ts +40 -0
  368. package/dist/services/models/model-listing.d.ts.map +1 -1
  369. package/dist/services/models/model-listing.js +35 -2
  370. package/dist/services/models/model-listing.js.map +1 -1
  371. package/dist/services/models/model-nicknames.d.ts +113 -0
  372. package/dist/services/models/model-nicknames.d.ts.map +1 -0
  373. package/dist/services/models/model-nicknames.js +182 -0
  374. package/dist/services/models/model-nicknames.js.map +1 -0
  375. package/dist/services/models/model-picker-host.d.ts +72 -0
  376. package/dist/services/models/model-picker-host.d.ts.map +1 -0
  377. package/dist/services/models/model-picker-host.js +83 -0
  378. package/dist/services/models/model-picker-host.js.map +1 -0
  379. package/dist/services/models/model-resolution.d.ts +35 -3
  380. package/dist/services/models/model-resolution.d.ts.map +1 -1
  381. package/dist/services/models/model-resolution.js +276 -47
  382. package/dist/services/models/model-resolution.js.map +1 -1
  383. package/dist/services/models/reasoning-effort.d.ts +20 -0
  384. package/dist/services/models/reasoning-effort.d.ts.map +1 -0
  385. package/dist/services/models/reasoning-effort.js +28 -0
  386. package/dist/services/models/reasoning-effort.js.map +1 -0
  387. package/dist/services/models/unified-model-catalog.d.ts +4 -0
  388. package/dist/services/models/unified-model-catalog.d.ts.map +1 -0
  389. package/dist/services/models/unified-model-catalog.js +54 -0
  390. package/dist/services/models/unified-model-catalog.js.map +1 -0
  391. package/dist/services/retry/provider-failure-classification.d.ts +16 -0
  392. package/dist/services/retry/provider-failure-classification.d.ts.map +1 -1
  393. package/dist/services/retry/provider-failure-classification.js +45 -0
  394. package/dist/services/retry/provider-failure-classification.js.map +1 -1
  395. package/dist/services/retry/retry-recovery-budget.d.ts +26 -1
  396. package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -1
  397. package/dist/services/retry/retry-recovery-budget.js +33 -1
  398. package/dist/services/retry/retry-recovery-budget.js.map +1 -1
  399. package/dist/services/sandboxed-code-host/host-types.d.ts +135 -0
  400. package/dist/services/sandboxed-code-host/host-types.d.ts.map +1 -0
  401. package/dist/services/sandboxed-code-host/host-types.js +6 -0
  402. package/dist/services/sandboxed-code-host/host-types.js.map +1 -0
  403. package/dist/services/sandboxed-code-host/host-worker.d.ts +9 -0
  404. package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -0
  405. package/dist/services/sandboxed-code-host/host-worker.js +351 -0
  406. package/dist/services/sandboxed-code-host/host-worker.js.map +1 -0
  407. package/dist/services/sandboxed-code-host/sandbox.d.ts +16 -0
  408. package/dist/services/sandboxed-code-host/sandbox.d.ts.map +1 -0
  409. package/dist/services/sandboxed-code-host/sandbox.js +21 -0
  410. package/dist/services/sandboxed-code-host/sandbox.js.map +1 -0
  411. package/dist/services/sandboxed-code-host/sandboxed-code-host.d.ts +17 -0
  412. package/dist/services/sandboxed-code-host/sandboxed-code-host.d.ts.map +1 -0
  413. package/dist/services/sandboxed-code-host/sandboxed-code-host.js +347 -0
  414. package/dist/services/sandboxed-code-host/sandboxed-code-host.js.map +1 -0
  415. package/dist/services/service-interfaces.d.ts +32 -0
  416. package/dist/services/service-interfaces.d.ts.map +1 -1
  417. package/dist/services/session/background-task-control.d.ts +3 -1
  418. package/dist/services/session/background-task-control.d.ts.map +1 -1
  419. package/dist/services/session/background-task-control.js +4 -0
  420. package/dist/services/session/background-task-control.js.map +1 -1
  421. package/dist/services/session/continuation-plan-applier.d.ts +2 -1
  422. package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
  423. package/dist/services/session/continuation-plan-applier.js.map +1 -1
  424. package/dist/services/session/continuation-recovery-handler.d.ts +2 -1
  425. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  426. package/dist/services/session/continuation-recovery-handler.js +49 -5
  427. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  428. package/dist/services/session/initial-input-preparer.d.ts +2 -1
  429. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  430. package/dist/services/session/initial-input-preparer.js +2 -1
  431. package/dist/services/session/initial-input-preparer.js.map +1 -1
  432. package/dist/services/session/initial-turn-recovery-handler.d.ts +2 -1
  433. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  434. package/dist/services/session/initial-turn-recovery-handler.js +51 -16
  435. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  436. package/dist/services/session/post-execute-pending-registry.d.ts +2 -1
  437. package/dist/services/session/post-execute-pending-registry.d.ts.map +1 -1
  438. package/dist/services/session/post-execute-pending-registry.js +3 -2
  439. package/dist/services/session/post-execute-pending-registry.js.map +1 -1
  440. package/dist/services/session/session-client-factory.d.ts +4 -0
  441. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  442. package/dist/services/session/session-client-factory.js +12 -4
  443. package/dist/services/session/session-client-factory.js.map +1 -1
  444. package/dist/services/session/session-composition.d.ts +26 -2
  445. package/dist/services/session/session-composition.d.ts.map +1 -1
  446. package/dist/services/session/session-composition.js +97 -18
  447. package/dist/services/session/session-composition.js.map +1 -1
  448. package/dist/services/session/session-continuity-reset.d.ts +2 -1
  449. package/dist/services/session/session-continuity-reset.d.ts.map +1 -1
  450. package/dist/services/session/session-continuity-reset.js +5 -2
  451. package/dist/services/session/session-continuity-reset.js.map +1 -1
  452. package/dist/services/session/session-identity.d.ts +20 -0
  453. package/dist/services/session/session-identity.d.ts.map +1 -0
  454. package/dist/services/session/session-identity.js +43 -0
  455. package/dist/services/session/session-identity.js.map +1 -0
  456. package/dist/services/session/session-lifecycle.d.ts +5 -1
  457. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  458. package/dist/services/session/session-lifecycle.js +5 -1
  459. package/dist/services/session/session-lifecycle.js.map +1 -1
  460. package/dist/services/session/session-stream-processor.d.ts +2 -1
  461. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  462. package/dist/services/session/session-stream-processor.js +5 -4
  463. package/dist/services/session/session-stream-processor.js.map +1 -1
  464. package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -1
  465. package/dist/services/session/test-helpers/conversation-session-fixtures.js +14 -9
  466. package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -1
  467. package/dist/services/session/turn-coordinator.d.ts +2 -1
  468. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  469. package/dist/services/session/turn-coordinator.js +3 -0
  470. package/dist/services/session/turn-coordinator.js.map +1 -1
  471. package/dist/services/session/turn-workflow.d.ts +4 -1
  472. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  473. package/dist/services/session/turn-workflow.js +58 -21
  474. package/dist/services/session/turn-workflow.js.map +1 -1
  475. package/dist/services/session-rollover/session-rollover-brief.d.ts +8 -1
  476. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  477. package/dist/services/session-rollover/session-rollover-brief.js +14 -1
  478. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  479. package/dist/services/settings/setting-schema-utils.d.ts +2 -0
  480. package/dist/services/settings/setting-schema-utils.d.ts.map +1 -1
  481. package/dist/services/settings/setting-schema-utils.js +15 -27
  482. package/dist/services/settings/setting-schema-utils.js.map +1 -1
  483. package/dist/services/settings/settings-schema.d.ts +8 -0
  484. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  485. package/dist/services/settings/settings-schema.js +23 -6
  486. package/dist/services/settings/settings-schema.js.map +1 -1
  487. package/dist/services/settings/settings-sources.d.ts +207 -0
  488. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  489. package/dist/services/settings/settings-sources.js +48 -1
  490. package/dist/services/settings/settings-sources.js.map +1 -1
  491. package/dist/services/settings/settings-ui-metadata.d.ts +27 -0
  492. package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -0
  493. package/dist/services/settings/settings-ui-metadata.js +283 -0
  494. package/dist/services/settings/settings-ui-metadata.js.map +1 -0
  495. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +10 -0
  496. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  497. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +46 -0
  498. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  499. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  500. package/dist/services/subagents/execution-runner.js +8 -0
  501. package/dist/services/subagents/execution-runner.js.map +1 -1
  502. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  503. package/dist/services/subagents/role-loader.js +4 -0
  504. package/dist/services/subagents/role-loader.js.map +1 -1
  505. package/dist/services/subagents/subagent-client-types.d.ts +7 -0
  506. package/dist/services/subagents/subagent-client-types.d.ts.map +1 -1
  507. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  508. package/dist/services/subagents/subagent-manager.js +4 -1
  509. package/dist/services/subagents/subagent-manager.js.map +1 -1
  510. package/dist/services/subagents/subagent-notification-store.d.ts +2 -0
  511. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  512. package/dist/services/subagents/subagent-notification-store.js +4 -0
  513. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  514. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
  515. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +2 -1
  516. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
  517. package/dist/services/subagents/tool-policy.d.ts +8 -0
  518. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  519. package/dist/services/subagents/tool-policy.js +289 -41
  520. package/dist/services/subagents/tool-policy.js.map +1 -1
  521. package/dist/services/subagents/types.d.ts +2 -1
  522. package/dist/services/subagents/types.d.ts.map +1 -1
  523. package/dist/services/subagents/types.js.map +1 -1
  524. package/dist/test-helpers/conversation-session-with-adapter.d.ts +1 -1
  525. package/dist/test-helpers/conversation-session-with-adapter.d.ts.map +1 -1
  526. package/dist/test-helpers/conversation-session-with-adapter.js +6 -1
  527. package/dist/test-helpers/conversation-session-with-adapter.js.map +1 -1
  528. package/dist/test-helpers/vitest-cache-isolation.d.ts +2 -0
  529. package/dist/test-helpers/vitest-cache-isolation.d.ts.map +1 -0
  530. package/dist/test-helpers/vitest-cache-isolation.js +17 -0
  531. package/dist/test-helpers/vitest-cache-isolation.js.map +1 -0
  532. package/dist/tools/agent/activate-skill.d.ts.map +1 -1
  533. package/dist/tools/agent/activate-skill.js +1 -0
  534. package/dist/tools/agent/activate-skill.js.map +1 -1
  535. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -1
  536. package/dist/tools/agent/configure-task-check-in.js +1 -0
  537. package/dist/tools/agent/configure-task-check-in.js.map +1 -1
  538. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  539. package/dist/tools/agent/run-subagent-async.js +16 -12
  540. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  541. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  542. package/dist/tools/file/apply-patch.js +9 -11
  543. package/dist/tools/file/apply-patch.js.map +1 -1
  544. package/dist/tools/file/code-context.d.ts.map +1 -1
  545. package/dist/tools/file/code-context.js +40 -5
  546. package/dist/tools/file/code-context.js.map +1 -1
  547. package/dist/tools/file/create-file.d.ts.map +1 -1
  548. package/dist/tools/file/create-file.js +13 -8
  549. package/dist/tools/file/create-file.js.map +1 -1
  550. package/dist/tools/file/glob.d.ts.map +1 -1
  551. package/dist/tools/file/glob.js +49 -11
  552. package/dist/tools/file/glob.js.map +1 -1
  553. package/dist/tools/file/grep.d.ts.map +1 -1
  554. package/dist/tools/file/grep.js +32 -8
  555. package/dist/tools/file/grep.js.map +1 -1
  556. package/dist/tools/file/read-file.d.ts.map +1 -1
  557. package/dist/tools/file/read-file.js +109 -6
  558. package/dist/tools/file/read-file.js.map +1 -1
  559. package/dist/tools/file/search-replace.js +4 -4
  560. package/dist/tools/file/search-replace.js.map +1 -1
  561. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
  562. package/dist/tools/file/upstream-apply-patch.js +4 -1
  563. package/dist/tools/file/upstream-apply-patch.js.map +1 -1
  564. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  565. package/dist/tools/memory/memory-tools.js +19 -1
  566. package/dist/tools/memory/memory-tools.js.map +1 -1
  567. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
  568. package/dist/tools/session-browser/session-browser-tools.js +24 -8
  569. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  570. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  571. package/dist/tools/session-rollover/session-rollover-tool.js +8 -2
  572. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  573. package/dist/tools/system/run-code/index.d.ts +2 -0
  574. package/dist/tools/system/run-code/index.d.ts.map +1 -0
  575. package/dist/tools/system/run-code/index.js +2 -0
  576. package/dist/tools/system/run-code/index.js.map +1 -0
  577. package/dist/tools/system/run-code/run-code-telemetry.d.ts +92 -0
  578. package/dist/tools/system/run-code/run-code-telemetry.d.ts.map +1 -0
  579. package/dist/tools/system/run-code/run-code-telemetry.js +189 -0
  580. package/dist/tools/system/run-code/run-code-telemetry.js.map +1 -0
  581. package/dist/tools/system/run-code/run-code.d.ts +98 -0
  582. package/dist/tools/system/run-code/run-code.d.ts.map +1 -0
  583. package/dist/tools/system/run-code/run-code.js +1078 -0
  584. package/dist/tools/system/run-code/run-code.js.map +1 -0
  585. package/dist/tools/system/run-code/tools-header.d.ts +25 -0
  586. package/dist/tools/system/run-code/tools-header.d.ts.map +1 -0
  587. package/dist/tools/system/run-code/tools-header.js +136 -0
  588. package/dist/tools/system/run-code/tools-header.js.map +1 -0
  589. package/dist/tools/system/shell.d.ts.map +1 -1
  590. package/dist/tools/system/shell.js +58 -9
  591. package/dist/tools/system/shell.js.map +1 -1
  592. package/dist/tools/system/worktree.js +2 -2
  593. package/dist/tools/system/worktree.js.map +1 -1
  594. package/dist/tools/types.d.ts +24 -0
  595. package/dist/tools/types.d.ts.map +1 -1
  596. package/dist/tools/types.js.map +1 -1
  597. package/dist/tools/utils.d.ts +10 -0
  598. package/dist/tools/utils.d.ts.map +1 -1
  599. package/dist/tools/utils.js +13 -0
  600. package/dist/tools/utils.js.map +1 -1
  601. package/dist/tools/web/web-fetch.d.ts.map +1 -1
  602. package/dist/tools/web/web-fetch.js +14 -6
  603. package/dist/tools/web/web-fetch.js.map +1 -1
  604. package/dist/tools/web/web-search.d.ts.map +1 -1
  605. package/dist/tools/web/web-search.js +2 -1
  606. package/dist/tools/web/web-search.js.map +1 -1
  607. package/dist/utils/ai/model-settings.d.ts.map +1 -1
  608. package/dist/utils/ai/model-settings.js +0 -47
  609. package/dist/utils/ai/model-settings.js.map +1 -1
  610. package/dist/utils/conversation/apply-conversation-result.d.ts.map +1 -1
  611. package/dist/utils/conversation/apply-conversation-result.js +13 -0
  612. package/dist/utils/conversation/apply-conversation-result.js.map +1 -1
  613. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  614. package/dist/utils/conversation/conversation-utils.js +14 -0
  615. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  616. package/dist/utils/output/bound-tool-result.d.ts +23 -0
  617. package/dist/utils/output/bound-tool-result.d.ts.map +1 -1
  618. package/dist/utils/output/bound-tool-result.js +27 -0
  619. package/dist/utils/output/bound-tool-result.js.map +1 -1
  620. package/dist/utils/settings-command.d.ts +8 -0
  621. package/dist/utils/settings-command.d.ts.map +1 -1
  622. package/dist/utils/settings-command.js +45 -30
  623. package/dist/utils/settings-command.js.map +1 -1
  624. package/dist/utils/shell/execute-shell.d.ts +18 -0
  625. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  626. package/dist/utils/shell/execute-shell.js +48 -6
  627. package/dist/utils/shell/execute-shell.js.map +1 -1
  628. package/dist/utils/shell/shell-output.d.ts +7 -1
  629. package/dist/utils/shell/shell-output.d.ts.map +1 -1
  630. package/dist/utils/shell/shell-output.js +37 -7
  631. package/dist/utils/shell/shell-output.js.map +1 -1
  632. package/dist/utils/streaming/streaming-session-factory.d.ts +9 -0
  633. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  634. package/dist/utils/streaming/streaming-session-factory.js +1 -1
  635. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  636. package/dist/utils/tool-args-display.d.ts +21 -0
  637. package/dist/utils/tool-args-display.d.ts.map +1 -0
  638. package/dist/utils/tool-args-display.js +34 -0
  639. package/dist/utils/tool-args-display.js.map +1 -0
  640. package/dist/utils/value-suggestions.d.ts +4 -10
  641. package/dist/utils/value-suggestions.d.ts.map +1 -1
  642. package/dist/utils/value-suggestions.js +77 -144
  643. package/dist/utils/value-suggestions.js.map +1 -1
  644. package/dist/utils/worker-bootstrap.d.ts +3 -0
  645. package/dist/utils/worker-bootstrap.d.ts.map +1 -0
  646. package/dist/utils/worker-bootstrap.js +7 -0
  647. package/dist/utils/worker-bootstrap.js.map +1 -0
  648. package/dist/utils/worker-cwd-preload.cjs +23 -0
  649. package/dist/utils/worker-cwd-preload.cjs.map +1 -0
  650. package/dist/utils/worker-cwd-preload.d.cts +2 -0
  651. package/dist/utils/worker-cwd-preload.d.cts.map +1 -0
  652. package/package.json +5 -2
  653. package/dist/services/agent-runtime/workflow/workflow-worker.d.ts +0 -4
  654. package/dist/services/agent-runtime/workflow/workflow-worker.d.ts.map +0 -1
  655. package/dist/services/agent-runtime/workflow/workflow-worker.js +0 -55
  656. package/dist/services/agent-runtime/workflow/workflow-worker.js.map +0 -1
@@ -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';
@@ -88,7 +89,7 @@ export class CodexResponsesTransport {
88
89
  const stream = await this.client.responses.create({
89
90
  model: this.model,
90
91
  input: [...request.input, { type: 'compaction_trigger' }],
91
- parallel_tool_calls: true,
92
+ parallel_tool_calls: !isCodexResponsesLiteModel(this.model),
92
93
  stream: true,
93
94
  store: false,
94
95
  include: ['reasoning.encrypted_content'],
@@ -149,14 +150,23 @@ export class CodexResponsesTransport {
149
150
  },
150
151
  };
151
152
  }
152
- async fetchResponse(request, stream, requestData) {
153
+ async fetchResponse(request, stream, requestData, requestContext) {
153
154
  try {
154
155
  if (stream && this.websocket) {
155
156
  if (!(this.client instanceof OpenAI) && typeof this.client?.responses?.create === 'function') {
156
157
  return this.client.responses.create(requestData);
157
158
  }
158
159
  const headers = request.providerOptions?.extraHeaders;
159
- 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
+ });
160
170
  const messages = socket.stream();
161
171
  const requestEvent = { type: 'response.create', ...requestData };
162
172
  // Until the frame is written to an OPEN socket it is still ours, so a
@@ -208,6 +218,12 @@ export class CodexResponsesTransport {
208
218
  const event = message.message;
209
219
  if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
210
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);
211
227
  }
212
228
  yield event;
213
229
  }
@@ -215,6 +231,7 @@ export class CodexResponsesTransport {
215
231
  const event = message.event;
216
232
  if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
217
233
  terminalReceived = true;
234
+ release(true);
218
235
  }
219
236
  yield event;
220
237
  }
@@ -285,9 +302,9 @@ export class OpenAIResponsesModel {
285
302
  }
286
303
  return built;
287
304
  }
288
- async fetchResponse(request, stream) {
305
+ async fetchResponse(request, stream, requestContext) {
289
306
  const built = this.buildResponsesCreateRequest(request, stream);
290
- return this.transport.fetchResponse(request, stream, built.requestData);
307
+ return this.transport.fetchResponse(request, stream, built.requestData, requestContext);
291
308
  }
292
309
  async fetchUnaryResponse(request) {
293
310
  return this.fetchResponse(request, false);
@@ -1015,6 +1032,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1015
1032
  #lastSentChainFingerprint;
1016
1033
  #lastRejectedChainFingerprint;
1017
1034
  #lastLogicalRequestByKey = new Map();
1035
+ #transportDiagnosticsByRequest = new WeakMap();
1018
1036
  providerTraffic;
1019
1037
  diagnosticLogger;
1020
1038
  sessionContextService;
@@ -1048,10 +1066,31 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1048
1066
  : websocketReceiveTimeouts;
1049
1067
  this.requestCapture = requestCapture instanceof CodexResponsesTransport ? undefined : requestCapture;
1050
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
+ }
1051
1090
  #modelNameFallback() {
1052
1091
  return this.modelId;
1053
1092
  }
1054
- #logTrafficStarted(requestId, requestData, headers) {
1093
+ #logTrafficStarted(requestId, requestData, headers, transportDiagnostics) {
1055
1094
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
1056
1095
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
1057
1096
  const sanitizedHeaders = headers ? sanitizeHeaders(headers) : undefined;
@@ -1061,11 +1100,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1061
1100
  model,
1062
1101
  sentBody: requestData,
1063
1102
  headers: sanitizedHeaders,
1103
+ transportDiagnostics,
1064
1104
  modelClass: WS_RESPONSE_MODEL_CLASS,
1065
1105
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
1066
1106
  });
1067
1107
  }
1068
- #logTrafficReceived(requestId, requestData, response, receiveTiming) {
1108
+ #logTrafficReceived(requestId, requestData, response, receiveTiming, transportDiagnostics) {
1069
1109
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
1070
1110
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
1071
1111
  providerTraffic.recordResponseReceived({
@@ -1076,11 +1116,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1076
1116
  response: response,
1077
1117
  transport: 'websocket',
1078
1118
  ...(receiveTiming ? { receiveTiming } : {}),
1119
+ transportDiagnostics,
1079
1120
  modelClass: WS_RESPONSE_MODEL_CLASS,
1080
1121
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
1081
1122
  });
1082
1123
  }
1083
- #logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics) {
1124
+ #logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics, transportDiagnostics) {
1084
1125
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
1085
1126
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
1086
1127
  providerTraffic.recordRequestFailed({
@@ -1090,11 +1131,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1090
1131
  error,
1091
1132
  ...(receiveTiming ? { receiveTiming } : {}),
1092
1133
  ...(diagnostics ? { diagnostics } : {}),
1134
+ transportDiagnostics,
1093
1135
  modelClass: WS_RESPONSE_MODEL_CLASS,
1094
1136
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
1095
1137
  });
1096
1138
  }
1097
- #logTrafficClosed(requestId, requestData, outcome, eventCount, diagnostics) {
1139
+ #logTrafficClosed(requestId, requestData, outcome, eventCount, diagnostics, transportDiagnostics) {
1098
1140
  const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
1099
1141
  const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
1100
1142
  providerTraffic.recordResponseClosed({
@@ -1104,11 +1146,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1104
1146
  outcome,
1105
1147
  eventCount,
1106
1148
  ...(diagnostics ? { diagnostics } : {}),
1149
+ transportDiagnostics,
1107
1150
  modelClass: WS_RESPONSE_MODEL_CLASS,
1108
1151
  modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
1109
1152
  });
1110
1153
  }
1111
- async #withTrafficLogging(responseStream, requestId, requestData, wireStateKey, wireStateToken, signal, receiveTiming, asProvablyUnsent) {
1154
+ async #withTrafficLogging(responseStream, requestId, requestData, wireStateKey, wireStateToken, signal, receiveTiming, asProvablyUnsent, transportDiagnostics) {
1112
1155
  const logReceived = this.#logTrafficReceived.bind(this);
1113
1156
  const logFailed = this.#logTrafficFailed.bind(this);
1114
1157
  const logClosed = this.#logTrafficClosed.bind(this);
@@ -1141,7 +1184,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1141
1184
  if (wireStateKey && wireStateToken && typeof response.id === 'string' && response.id.length > 0) {
1142
1185
  wireState.recordResponse(wireStateKey, wireStateToken, response.id, response.output);
1143
1186
  }
1144
- logReceived(requestId, requestData, response, receiveTiming?.());
1187
+ logReceived(requestId, requestData, response, receiveTiming?.(), transportDiagnostics);
1145
1188
  }
1146
1189
  yield event;
1147
1190
  }
@@ -1156,21 +1199,21 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1156
1199
  // reached the wire; the wire-state decision above still keys off the
1157
1200
  // error as thrown.
1158
1201
  const failure = asProvablyUnsent?.(error) ?? error;
1159
- if (signal?.aborted && eventCount > 0) {
1202
+ if (signal?.aborted && eventCount > 0 && isClassifiedCancellation(failure)) {
1160
1203
  // An active request can reject from the provider as soon as the
1161
1204
  // application's abort reaches the socket. Preserve the partial raw
1162
1205
  // transcript in the same aborted outcome used when the consumer
1163
1206
  // closes the iterator explicitly; otherwise a guard-triggered abort
1164
1207
  // would be reduced to bounded counters before the recorder's
1165
1208
  // finally block can retain it.
1166
- logClosed(requestId, requestData, 'aborted', eventCount, recorder.diagnostics());
1209
+ logClosed(requestId, requestData, 'aborted', eventCount, recorder.diagnostics(), transportDiagnostics);
1167
1210
  }
1168
1211
  else {
1169
1212
  // Bounded evidence of whatever progress the recorder observed before
1170
1213
  // the failure (category/counter/timing, no raw frame payload) — a
1171
1214
  // stream that fails after thousands of frames (e.g. an abrupt close)
1172
1215
  // must not lose that evidence the way an unrecorded failure would.
1173
- logFailed(requestId, requestData, failure, receiveTiming?.(), recorder.boundedDiagnostics());
1216
+ logFailed(requestId, requestData, failure, receiveTiming?.(), recorder.boundedDiagnostics(), transportDiagnostics);
1174
1217
  }
1175
1218
  throw failure;
1176
1219
  }
@@ -1189,7 +1232,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1189
1232
  ? recorder.diagnostics()
1190
1233
  : outcome === 'failed'
1191
1234
  ? recorder.boundedDiagnostics()
1192
- : undefined);
1235
+ : undefined, transportDiagnostics);
1193
1236
  }
1194
1237
  recorder.release();
1195
1238
  if (wireStateKey && wireStateToken) {
@@ -1347,6 +1390,23 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1347
1390
  if (previousResponseId)
1348
1391
  this.codexConsumedToolResultCallIdsByResponseId.set(previousResponseId, consumed);
1349
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
+ }
1350
1410
  #forgetCodexResponseId() {
1351
1411
  this.#serverHistoryReuseDisabled = true;
1352
1412
  this.codexPreviousResponseIds.clear();
@@ -1423,39 +1483,47 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1423
1483
  return undefined;
1424
1484
  }
1425
1485
  const sessionContext = this.sessionContextService?.getContext();
1426
- const sessionId = sessionContext?.providerHistoryKey ?? sessionContext?.sessionId ?? requestId;
1427
- 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;
1428
1494
  const hasPreviousResponseId = typeof request?.previousResponseId === 'string' && request.previousResponseId.length > 0;
1429
- const turnId = hasPreviousResponseId ? this.codexTurnIdsBySession.get(sessionId) ?? randomUUID() : randomUUID();
1430
- this.codexTurnIdsBySession.set(sessionId, turnId);
1495
+ const turnId = hasPreviousResponseId
1496
+ ? this.codexTurnIdsBySession.get(logicalSessionId) ?? randomUUID()
1497
+ : randomUUID();
1498
+ this.codexTurnIdsBySession.set(logicalSessionId, turnId);
1431
1499
  const windowId = `${threadId}:1`;
1432
1500
  const turnMetadata = JSON.stringify({
1433
1501
  installation_id: installationId,
1434
- session_id: sessionId,
1502
+ session_id: logicalSessionId,
1435
1503
  thread_id: threadId,
1436
1504
  turn_id: turnId,
1437
1505
  window_id: windowId,
1438
1506
  request_kind: 'turn',
1439
1507
  });
1440
1508
  return {
1441
- sessionId,
1509
+ sessionId: logicalSessionId,
1442
1510
  threadId,
1443
1511
  turnId,
1444
1512
  windowId,
1445
1513
  turnMetadata,
1446
1514
  clientMetadata: {
1447
1515
  'x-codex-installation-id': installationId,
1448
- session_id: sessionId,
1516
+ session_id: logicalSessionId,
1449
1517
  thread_id: threadId,
1450
1518
  'x-codex-window-id': windowId,
1451
1519
  turn_id: turnId,
1452
1520
  'x-codex-turn-metadata': turnMetadata,
1453
1521
  },
1454
1522
  headers: {
1455
- 'x-client-request-id': threadId,
1456
- 'session-id': sessionId,
1457
- 'thread-id': threadId,
1458
- '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',
1459
1527
  'x-codex-turn-metadata': turnMetadata,
1460
1528
  },
1461
1529
  };
@@ -1676,14 +1744,28 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1676
1744
  // transport's private fetch path. Capture it without changing the
1677
1745
  // prepared request or wire state.
1678
1746
  captureProviderRequest(this.requestCapture, { provider: 'codex', transport: 'websocket', requestData });
1679
- 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);
1680
1756
  if (!stream) {
1681
1757
  try {
1682
- 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);
1683
1765
  if (wireStateKey && wireStateToken && typeof response?.id === 'string' && response.id.length > 0) {
1684
1766
  this.chainedWireState.recordResponse(wireStateKey, wireStateToken, response.id, response.output);
1685
1767
  }
1686
- this.#logTrafficReceived(requestId, requestData, response, watchdog.receiveTiming());
1768
+ this.#logTrafficReceived(requestId, requestData, response, watchdog.receiveTiming(), this.#transportDiagnostics(updatedRequest));
1687
1769
  return response;
1688
1770
  }
1689
1771
  catch (error) {
@@ -1700,15 +1782,21 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1700
1782
  this.chainedWireState.invalidate(wireStateKey);
1701
1783
  }
1702
1784
  }
1703
- this.#logTrafficFailed(requestId, requestData, failure, receiveTiming);
1785
+ this.#logTrafficFailed(requestId, requestData, failure, receiveTiming, undefined, this.#transportDiagnostics(updatedRequest));
1704
1786
  throw failure;
1705
1787
  }
1706
1788
  }
1707
1789
  try {
1708
- 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
+ }));
1709
1797
  const patched = wrapCodexStream(watchdog.wrap(response), this.diagnosticLogger);
1710
1798
  return this.#withTrafficLogging(patched, requestId, requestData, wireStateKey, wireStateToken, updatedRequest.signal, () => watchdog.receiveTiming(), (error) => asProvablyUnsentTimeout(watchdog.timeoutError(), watchdog.receiveTiming(), updatedRequest) ??
1711
- asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0));
1799
+ asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0), this.#transportDiagnostics(updatedRequest));
1712
1800
  }
1713
1801
  catch (error) {
1714
1802
  const timeoutError = watchdog.timeoutError();
@@ -1724,7 +1812,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
1724
1812
  this.chainedWireState.invalidate(wireStateKey);
1725
1813
  }
1726
1814
  }
1727
- this.#logTrafficFailed(requestId, requestData, failure, receiveTiming);
1815
+ this.#logTrafficFailed(requestId, requestData, failure, receiveTiming, undefined, this.#transportDiagnostics(updatedRequest));
1728
1816
  throw failure;
1729
1817
  }
1730
1818
  }