@qduc/term2 0.6.0 → 0.7.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 (546) hide show
  1. package/dist/agent.d.ts +9 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +139 -68
  4. package/dist/agent.js.map +1 -1
  5. package/dist/agent.test.js +179 -16
  6. package/dist/agent.test.js.map +1 -1
  7. package/dist/app.d.ts +16 -3
  8. package/dist/app.d.ts.map +1 -1
  9. package/dist/app.js +186 -23
  10. package/dist/app.js.map +1 -1
  11. package/dist/app.large-uncached-warning.test.d.ts +2 -0
  12. package/dist/app.large-uncached-warning.test.d.ts.map +1 -0
  13. package/dist/app.large-uncached-warning.test.js +15 -0
  14. package/dist/app.large-uncached-warning.test.js.map +1 -0
  15. package/dist/app.startup-banner.test.js +3 -19
  16. package/dist/app.startup-banner.test.js.map +1 -1
  17. package/dist/cli.js +170 -71
  18. package/dist/cli.js.map +1 -1
  19. package/dist/components/Banner.d.ts.map +1 -1
  20. package/dist/components/Banner.js +35 -17
  21. package/dist/components/Banner.js.map +1 -1
  22. package/dist/components/BottomArea.d.ts +7 -1
  23. package/dist/components/BottomArea.d.ts.map +1 -1
  24. package/dist/components/BottomArea.js +8 -6
  25. package/dist/components/BottomArea.js.map +1 -1
  26. package/dist/components/BottomArea.test.js +14 -1
  27. package/dist/components/BottomArea.test.js.map +1 -1
  28. package/dist/components/CommandMessage.d.ts.map +1 -1
  29. package/dist/components/CommandMessage.js +31 -1
  30. package/dist/components/CommandMessage.js.map +1 -1
  31. package/dist/components/CommandMessage.test.js +150 -31
  32. package/dist/components/CommandMessage.test.js.map +1 -1
  33. package/dist/components/Common/MenuContainer.d.ts +20 -0
  34. package/dist/components/Common/MenuContainer.d.ts.map +1 -0
  35. package/dist/components/Common/MenuContainer.js +52 -0
  36. package/dist/components/Common/MenuContainer.js.map +1 -0
  37. package/dist/components/Common/ScrollableTabBar.d.ts +26 -0
  38. package/dist/components/Common/ScrollableTabBar.d.ts.map +1 -0
  39. package/dist/components/Common/ScrollableTabBar.js +26 -0
  40. package/dist/components/Common/ScrollableTabBar.js.map +1 -0
  41. package/dist/components/Common/compute-visible-tabs.d.ts +16 -0
  42. package/dist/components/Common/compute-visible-tabs.d.ts.map +1 -0
  43. package/dist/components/Common/compute-visible-tabs.js +53 -0
  44. package/dist/components/Common/compute-visible-tabs.js.map +1 -0
  45. package/dist/components/Common/compute-visible-tabs.test.d.ts +2 -0
  46. package/dist/components/Common/compute-visible-tabs.test.d.ts.map +1 -0
  47. package/dist/components/Common/compute-visible-tabs.test.js +97 -0
  48. package/dist/components/Common/compute-visible-tabs.test.js.map +1 -0
  49. package/dist/components/HandoffConfirmationPrompt.d.ts +9 -0
  50. package/dist/components/HandoffConfirmationPrompt.d.ts.map +1 -0
  51. package/dist/components/HandoffConfirmationPrompt.js +38 -0
  52. package/dist/components/HandoffConfirmationPrompt.js.map +1 -0
  53. package/dist/components/HandoffConfirmationPrompt.test.d.ts +2 -0
  54. package/dist/components/HandoffConfirmationPrompt.test.d.ts.map +1 -0
  55. package/dist/components/HandoffConfirmationPrompt.test.js +12 -0
  56. package/dist/components/HandoffConfirmationPrompt.test.js.map +1 -0
  57. package/dist/components/Input/PopupManager.d.ts +5 -1
  58. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  59. package/dist/components/Input/PopupManager.js +2 -2
  60. package/dist/components/Input/PopupManager.js.map +1 -1
  61. package/dist/components/Input/popup-key-navigation.js +2 -2
  62. package/dist/components/Input/popup-key-navigation.js.map +1 -1
  63. package/dist/components/Input/popup-key-navigation.test.js +5 -3
  64. package/dist/components/Input/popup-key-navigation.test.js.map +1 -1
  65. package/dist/components/Input/popup-props.d.ts.map +1 -1
  66. package/dist/components/Input/popup-props.js +4 -0
  67. package/dist/components/Input/popup-props.js.map +1 -1
  68. package/dist/components/Input/popup-props.test.d.ts +2 -0
  69. package/dist/components/Input/popup-props.test.d.ts.map +1 -0
  70. package/dist/components/Input/popup-props.test.js +70 -0
  71. package/dist/components/Input/popup-props.test.js.map +1 -0
  72. package/dist/components/InputBox.d.ts +0 -1
  73. package/dist/components/InputBox.d.ts.map +1 -1
  74. package/dist/components/InputBox.js +66 -14
  75. package/dist/components/InputBox.js.map +1 -1
  76. package/dist/components/InputBox.test.js +192 -12
  77. package/dist/components/InputBox.test.js.map +1 -1
  78. package/dist/components/MessageList.d.ts +1 -0
  79. package/dist/components/MessageList.d.ts.map +1 -1
  80. package/dist/components/MessageList.js.map +1 -1
  81. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  82. package/dist/components/ModelSelectionMenu.debug.test.d.ts +2 -0
  83. package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +1 -0
  84. package/dist/components/ModelSelectionMenu.debug.test.js.map +1 -0
  85. package/dist/components/ModelSelectionMenu.js +29 -125
  86. package/dist/components/ModelSelectionMenu.js.map +1 -1
  87. package/dist/components/ModelSelectionMenu.test.js +9 -5
  88. package/dist/components/ModelSelectionMenu.test.js.map +1 -1
  89. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  90. package/dist/components/PathSelectionMenu.js +15 -55
  91. package/dist/components/PathSelectionMenu.js.map +1 -1
  92. package/dist/components/SettingsSelectionMenu.d.ts +4 -1
  93. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  94. package/dist/components/SettingsSelectionMenu.js +48 -104
  95. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  96. package/dist/components/SettingsSelectionMenu.scroll.test.js +140 -0
  97. package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -1
  98. package/dist/components/SettingsSelectionMenu.test.js +38 -5
  99. package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
  100. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  101. package/dist/components/SettingsValueSelectionMenu.js +24 -51
  102. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  103. package/dist/components/SlashCommandMenu.d.ts +1 -0
  104. package/dist/components/SlashCommandMenu.d.ts.map +1 -1
  105. package/dist/components/SlashCommandMenu.js +11 -14
  106. package/dist/components/SlashCommandMenu.js.map +1 -1
  107. package/dist/components/StatusBar.d.ts +2 -0
  108. package/dist/components/StatusBar.d.ts.map +1 -1
  109. package/dist/components/StatusBar.js +35 -2
  110. package/dist/components/StatusBar.js.map +1 -1
  111. package/dist/components/StatusBar.test.js +32 -0
  112. package/dist/components/StatusBar.test.js.map +1 -1
  113. package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
  114. package/dist/components/UndoSelectionMenu.js +6 -33
  115. package/dist/components/UndoSelectionMenu.js.map +1 -1
  116. package/dist/context/InputContext.stability.test.js +9 -7
  117. package/dist/context/InputContext.stability.test.js.map +1 -1
  118. package/dist/env-setup.js +1 -0
  119. package/dist/env-setup.js.map +1 -1
  120. package/dist/hooks/use-app-commands.d.ts +22 -2
  121. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  122. package/dist/hooks/use-app-commands.js +43 -3
  123. package/dist/hooks/use-app-commands.js.map +1 -1
  124. package/dist/hooks/use-app-commands.test.js +135 -1
  125. package/dist/hooks/use-app-commands.test.js.map +1 -1
  126. package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
  127. package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
  128. package/dist/hooks/use-conversation.clear.test.js +54 -0
  129. package/dist/hooks/use-conversation.clear.test.js.map +1 -0
  130. package/dist/hooks/use-conversation.d.ts +25 -2
  131. package/dist/hooks/use-conversation.d.ts.map +1 -1
  132. package/dist/hooks/use-conversation.js +90 -12
  133. package/dist/hooks/use-conversation.js.map +1 -1
  134. package/dist/hooks/use-escape-key.d.ts +8 -1
  135. package/dist/hooks/use-escape-key.d.ts.map +1 -1
  136. package/dist/hooks/use-escape-key.js +15 -4
  137. package/dist/hooks/use-escape-key.js.map +1 -1
  138. package/dist/hooks/use-escape-key.test.js +135 -28
  139. package/dist/hooks/use-escape-key.test.js.map +1 -1
  140. package/dist/hooks/use-input-history.test.js +14 -8
  141. package/dist/hooks/use-input-history.test.js.map +1 -1
  142. package/dist/hooks/use-mode-handlers.d.ts +12 -1
  143. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  144. package/dist/hooks/use-mode-handlers.js +31 -1
  145. package/dist/hooks/use-mode-handlers.js.map +1 -1
  146. package/dist/hooks/use-model-selection.d.ts +6 -1
  147. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  148. package/dist/hooks/use-model-selection.js +50 -8
  149. package/dist/hooks/use-model-selection.js.map +1 -1
  150. package/dist/hooks/use-model-selection.test.js +306 -50
  151. package/dist/hooks/use-model-selection.test.js.map +1 -1
  152. package/dist/hooks/use-path-completion.d.ts +4 -0
  153. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  154. package/dist/hooks/use-path-completion.js +23 -17
  155. package/dist/hooks/use-path-completion.js.map +1 -1
  156. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  157. package/dist/hooks/use-runtime-settings.js +7 -2
  158. package/dist/hooks/use-runtime-settings.js.map +1 -1
  159. package/dist/hooks/use-runtime-settings.test.d.ts +2 -0
  160. package/dist/hooks/use-runtime-settings.test.d.ts.map +1 -0
  161. package/dist/hooks/use-runtime-settings.test.js +45 -0
  162. package/dist/hooks/use-runtime-settings.test.js.map +1 -0
  163. package/dist/hooks/use-selection.d.ts +6 -2
  164. package/dist/hooks/use-selection.d.ts.map +1 -1
  165. package/dist/hooks/use-selection.js +53 -16
  166. package/dist/hooks/use-selection.js.map +1 -1
  167. package/dist/hooks/use-selection.test.d.ts +2 -0
  168. package/dist/hooks/use-selection.test.d.ts.map +1 -0
  169. package/dist/hooks/use-selection.test.js +132 -0
  170. package/dist/hooks/use-selection.test.js.map +1 -0
  171. package/dist/hooks/use-settings-completion.d.ts +19 -0
  172. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  173. package/dist/hooks/use-settings-completion.js +106 -18
  174. package/dist/hooks/use-settings-completion.js.map +1 -1
  175. package/dist/hooks/use-settings-completion.scroll.test.js +68 -29
  176. package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -1
  177. package/dist/hooks/use-settings-completion.test.js +36 -1
  178. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  179. package/dist/hooks/use-settings-value-completion.d.ts +7 -1
  180. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  181. package/dist/hooks/use-settings-value-completion.js +18 -7
  182. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  183. package/dist/hooks/use-slash-commands.d.ts +5 -0
  184. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  185. package/dist/hooks/use-slash-commands.js +22 -2
  186. package/dist/hooks/use-slash-commands.js.map +1 -1
  187. package/dist/hooks/use-trigger-detection.test.js +9 -6
  188. package/dist/hooks/use-trigger-detection.test.js.map +1 -1
  189. package/dist/hooks/use-undo-selection.d.ts +4 -0
  190. package/dist/hooks/use-undo-selection.d.ts.map +1 -1
  191. package/dist/hooks/use-undo-selection.js +18 -1
  192. package/dist/hooks/use-undo-selection.js.map +1 -1
  193. package/dist/inspect_zod.d.ts +2 -0
  194. package/dist/inspect_zod.d.ts.map +1 -0
  195. package/dist/inspect_zod.js +16 -0
  196. package/dist/inspect_zod.js.map +1 -0
  197. package/dist/lib/openai-agent-client.chat.test.js +40 -0
  198. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  199. package/dist/lib/openai-agent-client.d.ts +18 -4
  200. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  201. package/dist/lib/openai-agent-client.js +228 -32
  202. package/dist/lib/openai-agent-client.js.map +1 -1
  203. package/dist/lib/openai-agent-client.public-methods.test.js +193 -0
  204. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  205. package/dist/lib/openai-agent-client.test.js +71 -1
  206. package/dist/lib/openai-agent-client.test.js.map +1 -1
  207. package/dist/lib/retry-executor.js +45 -7
  208. package/dist/lib/retry-executor.js.map +1 -1
  209. package/dist/lib/retry-executor.test.js +63 -0
  210. package/dist/lib/retry-executor.test.js.map +1 -1
  211. package/dist/lib/tool-invoke.d.ts +3 -2
  212. package/dist/lib/tool-invoke.d.ts.map +1 -1
  213. package/dist/lib/tool-invoke.js +213 -10
  214. package/dist/lib/tool-invoke.js.map +1 -1
  215. package/dist/lib/tool-invoke.test.js +103 -0
  216. package/dist/lib/tool-invoke.test.js.map +1 -1
  217. package/dist/non-interactive.d.ts +1 -0
  218. package/dist/non-interactive.d.ts.map +1 -1
  219. package/dist/non-interactive.js +3 -1
  220. package/dist/non-interactive.js.map +1 -1
  221. package/dist/non-interactive.test.js +8 -1
  222. package/dist/non-interactive.test.js.map +1 -1
  223. package/dist/prompts/codex.md +105 -97
  224. package/dist/prompts/fragments/gpt-5.3-codex.md +7 -0
  225. package/dist/prompts/fragments/gpt-5.4-small.md +6 -0
  226. package/dist/prompts/fragments/gpt-5.4.md +7 -0
  227. package/dist/prompts/fragments/gpt-5.5.md +7 -0
  228. package/dist/prompts/gpt-5-modern.md +96 -54
  229. package/dist/prompts/plan-mode-info.md +14 -3
  230. package/dist/prompts/prompt-constructor.d.ts +19 -0
  231. package/dist/prompts/prompt-constructor.d.ts.map +1 -0
  232. package/dist/prompts/prompt-constructor.js +53 -0
  233. package/dist/prompts/prompt-constructor.js.map +1 -0
  234. package/dist/prompts/prompt-constructor.test.d.ts +2 -0
  235. package/dist/prompts/prompt-constructor.test.d.ts.map +1 -0
  236. package/dist/prompts/prompt-constructor.test.js +99 -0
  237. package/dist/prompts/prompt-constructor.test.js.map +1 -0
  238. package/dist/prompts/prompt-constructor.test.ts +112 -0
  239. package/dist/prompts/prompt-constructor.ts +91 -0
  240. package/dist/prompts/prompt-profiles.d.ts +17 -0
  241. package/dist/prompts/prompt-profiles.d.ts.map +1 -0
  242. package/dist/prompts/prompt-profiles.js +61 -0
  243. package/dist/prompts/prompt-profiles.js.map +1 -0
  244. package/dist/prompts/prompt-profiles.ts +77 -0
  245. package/dist/prompts/prompt-selector.d.ts.map +1 -1
  246. package/dist/prompts/prompt-selector.js +3 -21
  247. package/dist/prompts/prompt-selector.js.map +1 -1
  248. package/dist/prompts/prompt-selector.ts +3 -25
  249. package/dist/prompts/reasoning-efficiency.d.ts.map +1 -1
  250. package/dist/prompts/reasoning-efficiency.js +2 -0
  251. package/dist/prompts/reasoning-efficiency.js.map +1 -1
  252. package/dist/prompts/reasoning-efficiency.test.d.ts +2 -0
  253. package/dist/prompts/reasoning-efficiency.test.d.ts.map +1 -0
  254. package/dist/prompts/reasoning-efficiency.test.js +11 -0
  255. package/dist/prompts/reasoning-efficiency.test.js.map +1 -0
  256. package/dist/prompts/reasoning-efficiency.test.ts +12 -0
  257. package/dist/prompts/reasoning-efficiency.ts +2 -0
  258. package/dist/prompts/search-via-shell.test.js +19 -16
  259. package/dist/prompts/search-via-shell.test.js.map +1 -1
  260. package/dist/prompts/search-via-shell.test.ts +20 -16
  261. package/dist/prompts/subagent-delegation.test.js +12 -10
  262. package/dist/prompts/subagent-delegation.test.js.map +1 -1
  263. package/dist/prompts/subagent-delegation.test.ts +13 -10
  264. package/dist/prompts/worktree-hygiene.md +9 -0
  265. package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
  266. package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
  267. package/dist/providers/ai-sdk-logging-fetch.js +145 -47
  268. package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
  269. package/dist/providers/ai-sdk-logging-fetch.test.js +202 -5
  270. package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
  271. package/dist/providers/codex-responses-model.d.ts +20 -0
  272. package/dist/providers/codex-responses-model.d.ts.map +1 -0
  273. package/dist/providers/codex-responses-model.js +170 -0
  274. package/dist/providers/codex-responses-model.js.map +1 -0
  275. package/dist/providers/codex-responses-model.test.d.ts +2 -0
  276. package/dist/providers/codex-responses-model.test.d.ts.map +1 -0
  277. package/dist/providers/codex-responses-model.test.js +240 -0
  278. package/dist/providers/codex-responses-model.test.js.map +1 -0
  279. package/dist/providers/codex.provider.d.ts +29 -0
  280. package/dist/providers/codex.provider.d.ts.map +1 -0
  281. package/dist/providers/codex.provider.js +486 -0
  282. package/dist/providers/codex.provider.js.map +1 -0
  283. package/dist/providers/codex.provider.test.d.ts +2 -0
  284. package/dist/providers/codex.provider.test.d.ts.map +1 -0
  285. package/dist/providers/codex.provider.test.js +634 -0
  286. package/dist/providers/codex.provider.test.js.map +1 -0
  287. package/dist/providers/custom-provider-adapter.test.js +56 -0
  288. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  289. package/dist/providers/fallback-responses-model.d.ts +20 -0
  290. package/dist/providers/fallback-responses-model.d.ts.map +1 -0
  291. package/dist/providers/fallback-responses-model.js +277 -0
  292. package/dist/providers/fallback-responses-model.js.map +1 -0
  293. package/dist/providers/fallback-responses-model.test.d.ts +2 -0
  294. package/dist/providers/fallback-responses-model.test.d.ts.map +1 -0
  295. package/dist/providers/fallback-responses-model.test.js +279 -0
  296. package/dist/providers/fallback-responses-model.test.js.map +1 -0
  297. package/dist/providers/fetch/compose.d.ts +7 -0
  298. package/dist/providers/fetch/compose.d.ts.map +1 -0
  299. package/dist/providers/fetch/compose.js +20 -0
  300. package/dist/providers/fetch/compose.js.map +1 -0
  301. package/dist/providers/fetch/composer.d.ts +13 -0
  302. package/dist/providers/fetch/composer.d.ts.map +1 -0
  303. package/dist/providers/fetch/composer.js +15 -0
  304. package/dist/providers/fetch/composer.js.map +1 -0
  305. package/dist/providers/fetch/composer.test.d.ts +2 -0
  306. package/dist/providers/fetch/composer.test.d.ts.map +1 -0
  307. package/dist/providers/fetch/composer.test.js +448 -0
  308. package/dist/providers/fetch/composer.test.js.map +1 -0
  309. package/dist/providers/fetch/logging-middleware.d.ts +16 -0
  310. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -0
  311. package/dist/providers/fetch/logging-middleware.js +214 -0
  312. package/dist/providers/fetch/logging-middleware.js.map +1 -0
  313. package/dist/providers/index.d.ts +1 -0
  314. package/dist/providers/index.d.ts.map +1 -1
  315. package/dist/providers/index.js +1 -0
  316. package/dist/providers/index.js.map +1 -1
  317. package/dist/providers/llama-cpp.provider.d.ts +3 -0
  318. package/dist/providers/llama-cpp.provider.d.ts.map +1 -0
  319. package/dist/providers/llama-cpp.provider.js +34 -0
  320. package/dist/providers/llama-cpp.provider.js.map +1 -0
  321. package/dist/providers/openai-compatible-middleware.d.ts +7 -0
  322. package/dist/providers/openai-compatible-middleware.d.ts.map +1 -0
  323. package/dist/providers/openai-compatible-middleware.js +133 -0
  324. package/dist/providers/openai-compatible-middleware.js.map +1 -0
  325. package/dist/providers/openai-compatible-models.d.ts +6 -0
  326. package/dist/providers/openai-compatible-models.d.ts.map +1 -0
  327. package/dist/providers/openai-compatible-models.js +17 -0
  328. package/dist/providers/openai-compatible-models.js.map +1 -0
  329. package/dist/providers/openai-compatible-response-normalizer.d.ts +7 -0
  330. package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -0
  331. package/dist/providers/openai-compatible-response-normalizer.js +58 -0
  332. package/dist/providers/openai-compatible-response-normalizer.js.map +1 -0
  333. package/dist/providers/openai-compatible.provider.d.ts +4 -1
  334. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  335. package/dist/providers/openai-compatible.provider.js +68 -324
  336. package/dist/providers/openai-compatible.provider.js.map +1 -1
  337. package/dist/providers/openai-compatible.provider.test.js +106 -1
  338. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  339. package/dist/providers/openai.provider.js +53 -1
  340. package/dist/providers/openai.provider.js.map +1 -1
  341. package/dist/providers/opencode.provider.d.ts +19 -0
  342. package/dist/providers/opencode.provider.d.ts.map +1 -0
  343. package/dist/providers/opencode.provider.js +45 -0
  344. package/dist/providers/opencode.provider.js.map +1 -0
  345. package/dist/providers/openrouter.provider.d.ts +2 -1
  346. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  347. package/dist/providers/openrouter.provider.js +39 -22
  348. package/dist/providers/openrouter.provider.js.map +1 -1
  349. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
  350. package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
  351. package/dist/providers/openrouter.provider.request-preprocessing.test.js +51 -0
  352. package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
  353. package/dist/providers/registry.d.ts +1 -0
  354. package/dist/providers/registry.d.ts.map +1 -1
  355. package/dist/providers/registry.js.map +1 -1
  356. package/dist/providers/registry.test.js +11 -2
  357. package/dist/providers/registry.test.js.map +1 -1
  358. package/dist/scripts/eval-auto-approval/dataset.d.ts +3 -3
  359. package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
  360. package/dist/services/approval-flow-coordinator.js +17 -1
  361. package/dist/services/approval-flow-coordinator.js.map +1 -1
  362. package/dist/services/approval-flow-coordinator.test.js +22 -0
  363. package/dist/services/approval-flow-coordinator.test.js.map +1 -1
  364. package/dist/services/command-message-streaming.d.ts.map +1 -1
  365. package/dist/services/command-message-streaming.js +0 -3
  366. package/dist/services/command-message-streaming.js.map +1 -1
  367. package/dist/services/command-message-streaming.test.js +4 -2
  368. package/dist/services/command-message-streaming.test.js.map +1 -1
  369. package/dist/services/conversation-clear-save.test.d.ts +2 -0
  370. package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
  371. package/dist/services/conversation-clear-save.test.js +57 -0
  372. package/dist/services/conversation-clear-save.test.js.map +1 -0
  373. package/dist/services/conversation-events.d.ts +44 -1
  374. package/dist/services/conversation-events.d.ts.map +1 -1
  375. package/dist/services/conversation-history-repair.d.ts +25 -0
  376. package/dist/services/conversation-history-repair.d.ts.map +1 -0
  377. package/dist/services/conversation-history-repair.js +227 -0
  378. package/dist/services/conversation-history-repair.js.map +1 -0
  379. package/dist/services/conversation-history-repair.test.d.ts +2 -0
  380. package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
  381. package/dist/services/conversation-history-repair.test.js +76 -0
  382. package/dist/services/conversation-history-repair.test.js.map +1 -0
  383. package/dist/services/conversation-integration.test.js +3 -1
  384. package/dist/services/conversation-integration.test.js.map +1 -1
  385. package/dist/services/conversation-log-events.d.ts +107 -0
  386. package/dist/services/conversation-log-events.d.ts.map +1 -0
  387. package/dist/services/conversation-log-events.js +12 -0
  388. package/dist/services/conversation-log-events.js.map +1 -0
  389. package/dist/services/conversation-log-writer.d.ts +40 -0
  390. package/dist/services/conversation-log-writer.d.ts.map +1 -0
  391. package/dist/services/conversation-log-writer.js +264 -0
  392. package/dist/services/conversation-log-writer.js.map +1 -0
  393. package/dist/services/conversation-persistence-types.d.ts +14 -0
  394. package/dist/services/conversation-persistence-types.d.ts.map +1 -0
  395. package/dist/services/conversation-persistence-types.js +2 -0
  396. package/dist/services/conversation-persistence-types.js.map +1 -0
  397. package/dist/services/conversation-persistence.d.ts +40 -38
  398. package/dist/services/conversation-persistence.d.ts.map +1 -1
  399. package/dist/services/conversation-persistence.js +312 -71
  400. package/dist/services/conversation-persistence.js.map +1 -1
  401. package/dist/services/conversation-persistence.test.js +485 -355
  402. package/dist/services/conversation-persistence.test.js.map +1 -1
  403. package/dist/services/conversation-replay.d.ts +26 -0
  404. package/dist/services/conversation-replay.d.ts.map +1 -0
  405. package/dist/services/conversation-replay.js +252 -0
  406. package/dist/services/conversation-replay.js.map +1 -0
  407. package/dist/services/conversation-replay.test.d.ts +2 -0
  408. package/dist/services/conversation-replay.test.d.ts.map +1 -0
  409. package/dist/services/conversation-replay.test.js +153 -0
  410. package/dist/services/conversation-replay.test.js.map +1 -0
  411. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  412. package/dist/services/conversation-result-builder.js +8 -2
  413. package/dist/services/conversation-result-builder.js.map +1 -1
  414. package/dist/services/conversation-result-builder.test.js +53 -0
  415. package/dist/services/conversation-result-builder.test.js.map +1 -1
  416. package/dist/services/conversation-retry-policy.d.ts +24 -0
  417. package/dist/services/conversation-retry-policy.d.ts.map +1 -1
  418. package/dist/services/conversation-retry-policy.js +68 -4
  419. package/dist/services/conversation-retry-policy.js.map +1 -1
  420. package/dist/services/conversation-retry-policy.test.js +99 -2
  421. package/dist/services/conversation-retry-policy.test.js.map +1 -1
  422. package/dist/services/conversation-service.d.ts +12 -2
  423. package/dist/services/conversation-service.d.ts.map +1 -1
  424. package/dist/services/conversation-service.js +29 -3
  425. package/dist/services/conversation-service.js.map +1 -1
  426. package/dist/services/conversation-session.auto-approval.test.js +2 -1
  427. package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
  428. package/dist/services/conversation-session.d.ts +17 -1
  429. package/dist/services/conversation-session.d.ts.map +1 -1
  430. package/dist/services/conversation-session.js +580 -134
  431. package/dist/services/conversation-session.js.map +1 -1
  432. package/dist/services/conversation-store.d.ts.map +1 -1
  433. package/dist/services/conversation-store.js +6 -5
  434. package/dist/services/conversation-store.js.map +1 -1
  435. package/dist/services/conversation-store.test.js +34 -0
  436. package/dist/services/conversation-store.test.js.map +1 -1
  437. package/dist/services/input-surge-guard.d.ts +4 -0
  438. package/dist/services/input-surge-guard.d.ts.map +1 -1
  439. package/dist/services/input-surge-guard.js +2 -2
  440. package/dist/services/input-surge-guard.js.map +1 -1
  441. package/dist/services/input-surge-guard.test.js +15 -1
  442. package/dist/services/input-surge-guard.test.js.map +1 -1
  443. package/dist/services/large-uncached-input-guard.d.ts +35 -0
  444. package/dist/services/large-uncached-input-guard.d.ts.map +1 -0
  445. package/dist/services/large-uncached-input-guard.js +127 -0
  446. package/dist/services/large-uncached-input-guard.js.map +1 -0
  447. package/dist/services/large-uncached-input-guard.test.d.ts +2 -0
  448. package/dist/services/large-uncached-input-guard.test.d.ts.map +1 -0
  449. package/dist/services/large-uncached-input-guard.test.js +160 -0
  450. package/dist/services/large-uncached-input-guard.test.js.map +1 -0
  451. package/dist/services/logging-contract.d.ts +1 -1
  452. package/dist/services/logging-service.d.ts +4 -0
  453. package/dist/services/logging-service.d.ts.map +1 -1
  454. package/dist/services/logging-service.js +91 -33
  455. package/dist/services/logging-service.js.map +1 -1
  456. package/dist/services/model-service.d.ts +2 -0
  457. package/dist/services/model-service.d.ts.map +1 -1
  458. package/dist/services/model-service.js +7 -1
  459. package/dist/services/model-service.js.map +1 -1
  460. package/dist/services/provider-traffic.d.ts +87 -0
  461. package/dist/services/provider-traffic.d.ts.map +1 -0
  462. package/dist/services/provider-traffic.js +603 -0
  463. package/dist/services/provider-traffic.js.map +1 -0
  464. package/dist/services/provider-traffic.test.d.ts +2 -0
  465. package/dist/services/provider-traffic.test.d.ts.map +1 -0
  466. package/dist/services/provider-traffic.test.js +475 -0
  467. package/dist/services/provider-traffic.test.js.map +1 -0
  468. package/dist/services/rtk-service.d.ts.map +1 -1
  469. package/dist/services/rtk-service.js +1 -2
  470. package/dist/services/rtk-service.js.map +1 -1
  471. package/dist/services/service-interfaces.d.ts +16 -0
  472. package/dist/services/service-interfaces.d.ts.map +1 -1
  473. package/dist/services/settings-schema.d.ts +36 -28
  474. package/dist/services/settings-schema.d.ts.map +1 -1
  475. package/dist/services/settings-schema.js +7 -2
  476. package/dist/services/settings-schema.js.map +1 -1
  477. package/dist/services/settings-service.js +6 -6
  478. package/dist/services/settings-service.js.map +1 -1
  479. package/dist/services/settings-sources.d.ts.map +1 -1
  480. package/dist/services/settings-sources.js +1 -0
  481. package/dist/services/settings-sources.js.map +1 -1
  482. package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
  483. package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
  484. package/dist/services/shell-auto-approval-evaluator.js +284 -81
  485. package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
  486. package/dist/services/shell-auto-approval-evaluator.test.js +215 -15
  487. package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
  488. package/dist/services/stream-event-processor.d.ts +4 -0
  489. package/dist/services/stream-event-processor.d.ts.map +1 -1
  490. package/dist/services/stream-event-processor.js +78 -39
  491. package/dist/services/stream-event-processor.js.map +1 -1
  492. package/dist/services/stream-event-processor.test.js +71 -0
  493. package/dist/services/stream-event-processor.test.js.map +1 -1
  494. package/dist/services/subagents/subagent-manager.d.ts +2 -0
  495. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  496. package/dist/services/subagents/subagent-manager.js +124 -21
  497. package/dist/services/subagents/subagent-manager.js.map +1 -1
  498. package/dist/services/subagents/subagent-manager.test.js +453 -0
  499. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  500. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  501. package/dist/services/terminal-result-collector.js +6 -1
  502. package/dist/services/terminal-result-collector.js.map +1 -1
  503. package/dist/services/tool-call-arguments.d.ts +20 -0
  504. package/dist/services/tool-call-arguments.d.ts.map +1 -0
  505. package/dist/services/tool-call-arguments.js +49 -0
  506. package/dist/services/tool-call-arguments.js.map +1 -0
  507. package/dist/services/tool-execution-ledger.d.ts +35 -0
  508. package/dist/services/tool-execution-ledger.d.ts.map +1 -0
  509. package/dist/services/tool-execution-ledger.js +204 -0
  510. package/dist/services/tool-execution-ledger.js.map +1 -0
  511. package/dist/services/tool-execution-ledger.test.d.ts +2 -0
  512. package/dist/services/tool-execution-ledger.test.d.ts.map +1 -0
  513. package/dist/services/tool-execution-ledger.test.js +96 -0
  514. package/dist/services/tool-execution-ledger.test.js.map +1 -0
  515. package/dist/tools/apply-patch.d.ts +8 -0
  516. package/dist/tools/apply-patch.d.ts.map +1 -1
  517. package/dist/tools/apply-patch.js +157 -2
  518. package/dist/tools/apply-patch.js.map +1 -1
  519. package/dist/tools/apply-patch.test.js +81 -0
  520. package/dist/tools/apply-patch.test.js.map +1 -1
  521. package/dist/tools/search-replace.d.ts.map +1 -1
  522. package/dist/tools/search-replace.js +92 -140
  523. package/dist/tools/search-replace.js.map +1 -1
  524. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  525. package/dist/utils/command-safety/path-analysis.js +143 -35
  526. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  527. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  528. package/dist/utils/conversation-event-handler.js +52 -4
  529. package/dist/utils/conversation-event-handler.js.map +1 -1
  530. package/dist/utils/conversation-event-handler.test.js +175 -0
  531. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  532. package/dist/utils/error-helpers.d.ts +1 -0
  533. package/dist/utils/error-helpers.d.ts.map +1 -1
  534. package/dist/utils/error-helpers.js +61 -0
  535. package/dist/utils/error-helpers.js.map +1 -1
  536. package/dist/utils/error-helpers.test.js +13 -1
  537. package/dist/utils/error-helpers.test.js.map +1 -1
  538. package/dist/utils/ink-render-options.d.ts +1 -1
  539. package/dist/utils/ink-render-options.d.ts.map +1 -1
  540. package/dist/utils/ink-render-options.js +1 -1
  541. package/dist/utils/ink-render-options.js.map +1 -1
  542. package/dist/utils/streaming-session-factory.d.ts +2 -0
  543. package/dist/utils/streaming-session-factory.d.ts.map +1 -1
  544. package/dist/utils/streaming-session-factory.js +4 -0
  545. package/dist/utils/streaming-session-factory.js.map +1 -1
  546. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { Agent, run, tool as createTool, applyPatchTool } from '@openai/agents';
1
+ import { Agent, run, tool as createTool, applyPatchTool, } from '@openai/agents';
2
2
  import { getProvider } from '../providers/index.js';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { getAgentDefinition } from '../agent.js';
@@ -10,6 +10,7 @@ import { executeWithRetry } from './retry-executor.js';
10
10
  import { shouldUseNativePatchTool, shouldUseStrictToolSchema } from './tool-selection-policy.js';
11
11
  import { isFlexServiceTierTimeout } from '../utils/flex-service-tier.js';
12
12
  import { SubagentManager } from '../services/subagents/subagent-manager.js';
13
+ import { fetchModels, getModelDefaultReasoningLevel } from '../services/model-service.js';
13
14
  /**
14
15
  * Wraps a tool definition's needsApproval so that structurally invalid params
15
16
  * (those that fail Zod schema validation) never trigger an approval prompt.
@@ -75,13 +76,21 @@ export class OpenAIAgentClient {
75
76
  #editor;
76
77
  #subagentManager;
77
78
  #subagentEventSink = null;
79
+ #activeSubagentsCount = 0;
80
+ #pendingClearSink = false;
78
81
  /**
79
82
  * Forward real-time subagent activity events to the active conversation
80
83
  * turn. The session sets this for the duration of a send and clears it
81
84
  * afterwards so events reach the UI's onEvent callback.
82
85
  */
83
86
  setSubagentEventSink(sink) {
84
- this.#subagentEventSink = sink;
87
+ if (sink === null && this.#activeSubagentsCount > 0) {
88
+ this.#pendingClearSink = true;
89
+ }
90
+ else {
91
+ this.#subagentEventSink = sink;
92
+ this.#pendingClearSink = false;
93
+ }
85
94
  }
86
95
  #resetMentorState() {
87
96
  this.#subagentManager.resetMentorSession();
@@ -95,6 +104,7 @@ export class OpenAIAgentClient {
95
104
  settings: deps.settings,
96
105
  executionContext: deps.executionContext,
97
106
  onEvent: (event) => this.#subagentEventSink?.(event),
107
+ agentClient: { chat: (message, options) => this.chat(message, options) },
98
108
  });
99
109
  this.#editor = createEditorImpl({
100
110
  loggingService: this.#logger,
@@ -107,7 +117,7 @@ export class OpenAIAgentClient {
107
117
  this.#maxTurns = maxTurns ?? 20;
108
118
  this.#retryAttempts = retryAttempts ?? 2;
109
119
  this.#agent = this.#createAgent({ model, reasoningEffort });
110
- this.#runner = this.#createRunner(this.#provider);
120
+ this.#runner = null;
111
121
  // Subscribe to settings changes that affect agent definition (prompt,
112
122
  // tools, model, provider, modes) and rebuild the agent automatically.
113
123
  this.#settings.onChange?.((changedKey) => {
@@ -182,7 +192,7 @@ export class OpenAIAgentClient {
182
192
  model: this.#model,
183
193
  reasoningEffort: this.#reasoningEffort,
184
194
  });
185
- this.#runner = this.#createRunner(this.#provider);
195
+ this.#runner = null;
186
196
  this.#resetMentorState();
187
197
  }
188
198
  getProvider() {
@@ -233,6 +243,16 @@ export class OpenAIAgentClient {
233
243
  loggingService: this.#logger,
234
244
  });
235
245
  }
246
+ #getOrCreateRunner(providerId) {
247
+ if (providerId !== this.#provider) {
248
+ return this.#createRunner(providerId);
249
+ }
250
+ if (this.#runner) {
251
+ return this.#runner;
252
+ }
253
+ this.#runner = this.#createRunner(providerId);
254
+ return this.#runner;
255
+ }
236
256
  setRetryCallback(callback) {
237
257
  this.#retryCallback = callback;
238
258
  }
@@ -284,13 +304,25 @@ export class OpenAIAgentClient {
284
304
  this.#refreshAgent();
285
305
  this.#logger.debug('Conversation and agent refreshed');
286
306
  }
287
- async startStream(userInput, { previousResponseId } = {}) {
307
+ async startStream(userInput, { previousResponseId, sessionId } = {}) {
288
308
  // Abort any previous operation
289
309
  this.abort();
310
+ let agentRefreshed = false;
311
+ // Ensure Codex models are fetched/cached if reasoningEffort is default, so we can apply default_reasoning_level
312
+ if (this.#provider === 'codex' && this.#settings.get('agent.reasoningEffort') === 'default') {
313
+ try {
314
+ await fetchModels({ settingsService: this.#settings, loggingService: this.#logger }, 'codex');
315
+ this.#refreshAgent();
316
+ agentRefreshed = true;
317
+ }
318
+ catch (err) {
319
+ // ignore
320
+ }
321
+ }
290
322
  // Refresh agent instructions for the first message of a session to ensure
291
323
  // directory structure and AGENTS.md content are up to date.
292
324
  const isFirstMessage = !previousResponseId && (!Array.isArray(userInput) || (userInput.length > 0 && userInput.length <= 1));
293
- if (isFirstMessage) {
325
+ if (isFirstMessage && !agentRefreshed) {
294
326
  this.#refreshAgent();
295
327
  }
296
328
  // Create correlation ID for this stream
@@ -317,11 +349,12 @@ export class OpenAIAgentClient {
317
349
  maxTurns: this.#maxTurns,
318
350
  signal,
319
351
  };
352
+ const agentForRun = this.#getAgentForRun(this.#agent, { sessionId });
320
353
  const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
321
354
  if (supportsConversationChaining && previousResponseId) {
322
355
  options.previousResponseId = previousResponseId;
323
356
  }
324
- const result = await this.#executeWithRetry(() => this.#runAgent(this.#agent, userInput, options));
357
+ const result = await this.#executeWithRetry(() => this.#runAgent(agentForRun, userInput, options));
325
358
  return result;
326
359
  }
327
360
  catch (error) {
@@ -340,20 +373,21 @@ export class OpenAIAgentClient {
340
373
  throw error;
341
374
  }
342
375
  }
343
- async continueRun(state, { previousResponseId } = {}) {
376
+ async continueRun(state, { previousResponseId, sessionId } = {}) {
344
377
  this.abort();
345
378
  this.#currentAbortController = new AbortController();
346
379
  const signal = this.#currentAbortController.signal;
347
380
  const options = {
348
381
  signal,
349
382
  };
383
+ const agentForRun = this.#getAgentForRun(this.#agent, { sessionId });
350
384
  const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
351
385
  if (supportsConversationChaining && previousResponseId) {
352
386
  options.previousResponseId = previousResponseId;
353
387
  }
354
- return this.#executeWithRetry(() => this.#runAgent(this.#agent, state, options));
388
+ return this.#executeWithRetry(() => this.#runAgent(agentForRun, state, options));
355
389
  }
356
- async continueRunStream(state, { previousResponseId } = {}) {
390
+ async continueRunStream(state, { previousResponseId, sessionId } = {}) {
357
391
  this.abort();
358
392
  this.#currentAbortController = new AbortController();
359
393
  const signal = this.#currentAbortController.signal;
@@ -362,11 +396,12 @@ export class OpenAIAgentClient {
362
396
  maxTurns: this.#maxTurns,
363
397
  signal,
364
398
  };
399
+ const agentForRun = this.#getAgentForRun(this.#agent, { sessionId });
365
400
  const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
366
401
  if (supportsConversationChaining && previousResponseId) {
367
402
  options.previousResponseId = previousResponseId;
368
403
  }
369
- return this.#executeWithRetry(() => this.#runAgent(this.#agent, state, options));
404
+ return this.#executeWithRetry(() => this.#runAgent(agentForRun, state, options));
370
405
  }
371
406
  #runAgentWithProvider(providerId, runner, agent, input, options) {
372
407
  // The Agents SDK enables tracing by default and exports spans to OpenAI.
@@ -393,7 +428,7 @@ export class OpenAIAgentClient {
393
428
  async #runAgent(agent, input, options) {
394
429
  const shouldResetServiceTierOverride = this.#serviceTierOverrideForNextRequest === 'standard';
395
430
  try {
396
- return await this.#runAgentWithProvider(this.#provider, this.#runner, agent, input, options);
431
+ return await this.#runAgentWithProvider(this.#provider, this.#getOrCreateRunner(this.#provider), agent, input, options);
397
432
  }
398
433
  finally {
399
434
  if (shouldResetServiceTierOverride) {
@@ -420,6 +455,16 @@ export class OpenAIAgentClient {
420
455
  model: options.model || this.#model,
421
456
  provider: tempProvider,
422
457
  });
458
+ const isDefaultSetting = this.#settings.get('agent.reasoningEffort') === 'default';
459
+ if (tempProvider === 'codex' && isDefaultSetting) {
460
+ try {
461
+ await fetchModels({ settingsService: this.#settings, loggingService: this.#logger }, 'codex');
462
+ this.#refreshAgent();
463
+ }
464
+ catch (err) {
465
+ // ignore
466
+ }
467
+ }
423
468
  try {
424
469
  // Create a temporary agent for this specific chat request if params differ
425
470
  let agentForChat = this.#agent;
@@ -427,9 +472,16 @@ export class OpenAIAgentClient {
427
472
  const tempEffort = options.reasoningEffort || this.#reasoningEffort;
428
473
  if (options.model || options.reasoningEffort || options.instructions || options.provider) {
429
474
  const modelSettings = {};
430
- if (tempEffort && tempEffort !== 'default') {
475
+ let effectiveEffort = tempEffort;
476
+ if (tempProvider === 'codex' && isDefaultSetting && (!effectiveEffort || effectiveEffort === 'default')) {
477
+ const defaultReasoningLevel = getModelDefaultReasoningLevel('codex', tempModel);
478
+ if (defaultReasoningLevel) {
479
+ effectiveEffort = defaultReasoningLevel;
480
+ }
481
+ }
482
+ if (effectiveEffort && effectiveEffort !== 'default') {
431
483
  modelSettings.reasoning = {
432
- effort: tempEffort,
484
+ effort: effectiveEffort,
433
485
  summary: 'auto',
434
486
  };
435
487
  }
@@ -442,10 +494,7 @@ export class OpenAIAgentClient {
442
494
  });
443
495
  }
444
496
  // If provider is different from main provider, we need a separate runner
445
- let runnerForChat = this.#runner;
446
- if (tempProvider !== this.#provider) {
447
- runnerForChat = this.#createRunner(tempProvider);
448
- }
497
+ const runnerForChat = this.#getOrCreateRunner(tempProvider);
449
498
  // We use a simplified run flow for chat
450
499
  const result = await this.#runAgentWithProvider(tempProvider, runnerForChat, agentForChat, message, {
451
500
  stream: false,
@@ -460,6 +509,61 @@ export class OpenAIAgentClient {
460
509
  throw error; // Propagate error
461
510
  }
462
511
  }
512
+ async chatJson(message, options) {
513
+ const tempProvider = options.provider || this.#provider;
514
+ this.#logger.debug('Agent structured chat request', {
515
+ messageLength: message.length,
516
+ model: options.model || this.#model,
517
+ provider: tempProvider,
518
+ });
519
+ const isDefaultSetting = this.#settings.get('agent.reasoningEffort') === 'default';
520
+ if (tempProvider === 'codex' && isDefaultSetting) {
521
+ try {
522
+ await fetchModels({ settingsService: this.#settings, loggingService: this.#logger }, 'codex');
523
+ this.#refreshAgent();
524
+ }
525
+ catch (err) {
526
+ // ignore
527
+ }
528
+ }
529
+ try {
530
+ const tempModel = options.model || this.#model;
531
+ const tempEffort = options.reasoningEffort || this.#reasoningEffort;
532
+ const modelSettings = {};
533
+ let effectiveEffort = tempEffort;
534
+ if (tempProvider === 'codex' && isDefaultSetting && (!effectiveEffort || effectiveEffort === 'default')) {
535
+ const defaultReasoningLevel = getModelDefaultReasoningLevel('codex', tempModel);
536
+ if (defaultReasoningLevel) {
537
+ effectiveEffort = defaultReasoningLevel;
538
+ }
539
+ }
540
+ if (effectiveEffort && effectiveEffort !== 'default') {
541
+ modelSettings.reasoning = {
542
+ effort: effectiveEffort,
543
+ summary: 'auto',
544
+ };
545
+ }
546
+ const agentForChat = new Agent({
547
+ name: 'Chat',
548
+ model: tempModel,
549
+ ...(Object.keys(modelSettings).length > 0 ? { modelSettings } : {}),
550
+ instructions: options.instructions || 'You are a helpful assistant.',
551
+ outputType: options.outputType,
552
+ });
553
+ const runnerForChat = this.#getOrCreateRunner(tempProvider);
554
+ const result = await this.#runAgentWithProvider(tempProvider, runnerForChat, agentForChat, message, {
555
+ stream: false,
556
+ maxTurns: 1,
557
+ });
558
+ return result.finalOutput ?? this.#extractResponse(result);
559
+ }
560
+ catch (error) {
561
+ this.#logger.error('Agent structured chat failed', {
562
+ error: error instanceof Error ? error.message : String(error),
563
+ });
564
+ throw error;
565
+ }
566
+ }
463
567
  #extractResponse(result) {
464
568
  if (result.finalOutput) {
465
569
  return result.finalOutput;
@@ -478,7 +582,19 @@ export class OpenAIAgentClient {
478
582
  }
479
583
  return '';
480
584
  }
585
+ #getAgentForRun(agent, { sessionId } = {}) {
586
+ if (this.#provider !== 'codex' || !sessionId) {
587
+ return agent;
588
+ }
589
+ return agent.clone({
590
+ modelSettings: {
591
+ ...(agent.modelSettings || {}),
592
+ prompt_cache_key: sessionId,
593
+ },
594
+ });
595
+ }
481
596
  #createMentor = async (question) => {
597
+ this.#activeSubagentsCount++;
482
598
  try {
483
599
  const result = await this.#subagentManager.run({ role: 'mentor', task: question });
484
600
  if (result.status === 'failed') {
@@ -492,6 +608,13 @@ export class OpenAIAgentClient {
492
608
  });
493
609
  throw error;
494
610
  }
611
+ finally {
612
+ this.#activeSubagentsCount--;
613
+ if (this.#activeSubagentsCount === 0 && this.#pendingClearSink) {
614
+ this.#subagentEventSink = null;
615
+ this.#pendingClearSink = false;
616
+ }
617
+ }
495
618
  };
496
619
  #runSubagent = async (params, _context, details) => {
497
620
  // Forward any resumeState from the SDK (populated in the Agent.asTool
@@ -503,13 +626,23 @@ export class OpenAIAgentClient {
503
626
  ...(detailsRecord?.resumeState ? { resumeState: detailsRecord.resumeState } : {}),
504
627
  ...(detailsRecord?.signal ? { signal: detailsRecord.signal } : {}),
505
628
  };
506
- const result = await this.#subagentManager.run(request);
507
- // saveAgentToolRunResult is not exported as a public API from
508
- // @openai/agents-core, so we cannot call it here. The nestedRunResult
509
- // is preserved on the SubagentResult for use by the caller and will
510
- // be propagated back through the conversation result builder when the
511
- // run_subagent is registered via Agent.asTool (future work).
512
- return result;
629
+ this.#activeSubagentsCount++;
630
+ try {
631
+ const result = await this.#subagentManager.run(request);
632
+ // saveAgentToolRunResult is not exported as a public API from
633
+ // @openai/agents-core, so we cannot call it here. The nestedRunResult
634
+ // is preserved on the SubagentResult for use by the caller and will
635
+ // be propagated back through the conversation result builder when the
636
+ // run_subagent is registered via Agent.asTool (future work).
637
+ return result;
638
+ }
639
+ finally {
640
+ this.#activeSubagentsCount--;
641
+ if (this.#activeSubagentsCount === 0 && this.#pendingClearSink) {
642
+ this.#subagentEventSink = null;
643
+ this.#pendingClearSink = false;
644
+ }
645
+ }
513
646
  };
514
647
  #createAgent({ model, reasoningEffort, temperature, } = {}) {
515
648
  const resolvedModel = model?.trim() || this.#settings.get('agent.model');
@@ -533,8 +666,18 @@ export class OpenAIAgentClient {
533
666
  resolvedModel,
534
667
  shouldUseNativePatchTool: shouldUseNativePatchToolForModel,
535
668
  });
669
+ let effectiveReasoningEffort = reasoningEffort;
670
+ const isDefaultSetting = this.#settings.get('agent.reasoningEffort') === 'default';
671
+ if (this.#provider === 'codex' &&
672
+ isDefaultSetting &&
673
+ (!effectiveReasoningEffort || effectiveReasoningEffort === 'default')) {
674
+ const defaultReasoningLevel = getModelDefaultReasoningLevel('codex', resolvedModel);
675
+ if (defaultReasoningLevel) {
676
+ effectiveReasoningEffort = defaultReasoningLevel;
677
+ }
678
+ }
536
679
  const modelSettings = this.#buildModelSettings({
537
- reasoningEffort,
680
+ reasoningEffort: effectiveReasoningEffort,
538
681
  resolvedTemperature,
539
682
  });
540
683
  const agent = new Agent({
@@ -547,11 +690,11 @@ export class OpenAIAgentClient {
547
690
  // Only add defaultRunOptions if an explicit effort is set (not
548
691
  // 'default'). This ensures the API receives the param only when
549
692
  // intended.
550
- if (reasoningEffort && reasoningEffort !== 'default') {
693
+ if (effectiveReasoningEffort && effectiveReasoningEffort !== 'default') {
551
694
  agent.defaultRunOptions = {
552
695
  ...(agent.defaultRunOptions || {}),
553
696
  // Pass through to underlying client for models that support it
554
- reasoning: { effort: reasoningEffort },
697
+ reasoning: { effort: effectiveReasoningEffort },
555
698
  };
556
699
  }
557
700
  return agent;
@@ -599,11 +742,32 @@ export class OpenAIAgentClient {
599
742
  });
600
743
  return trimToolOutput(rejected, undefined, maxOutputLengthValue ?? undefined);
601
744
  }
602
- // Normal execution
603
- const result = await definition.execute(params, _context, details);
604
- return trimToolOutput(result, undefined, maxOutputLengthValue ?? undefined);
745
+ // Combine parent abort signal with any tool timeout signal passed by details
746
+ const parentSignal = this.#currentAbortController?.signal;
747
+ const toolSignal = details?.signal;
748
+ const combined = combineAbortSignals(parentSignal, toolSignal);
749
+ const combinedSignal = combined?.signal;
750
+ const cleanupSignal = combined?.cleanup;
751
+ const wrappedDetails = details
752
+ ? Object.create(Object.getPrototypeOf(details), {
753
+ ...Object.getOwnPropertyDescriptors(details),
754
+ ...(combinedSignal
755
+ ? { signal: { value: combinedSignal, writable: true, enumerable: true, configurable: true } }
756
+ : {}),
757
+ })
758
+ : combinedSignal
759
+ ? { signal: combinedSignal }
760
+ : undefined;
761
+ try {
762
+ // Normal execution with combined abort signal
763
+ const result = await definition.execute(params, _context, wrappedDetails);
764
+ return trimToolOutput(result, undefined, maxOutputLengthValue ?? undefined);
765
+ }
766
+ finally {
767
+ cleanupSignal?.();
768
+ }
605
769
  },
606
- })));
770
+ }), definition.parameters));
607
771
  // Add native applyPatchTool for gpt-5.1 on OpenAI provider
608
772
  if (shouldUseNativePatchTool) {
609
773
  const nativePatchTool = applyPatchTool({
@@ -690,10 +854,42 @@ export class OpenAIAgentClient {
690
854
  service_tier: 'flex',
691
855
  };
692
856
  }
857
+ if (this.#provider === 'codex') {
858
+ modelSettings.store = false;
859
+ modelSettings.include = ['reasoning.encrypted_content'];
860
+ }
693
861
  return modelSettings;
694
862
  }
695
863
  getSettings() {
696
864
  return this.#settings;
697
865
  }
698
866
  }
867
+ export function combineAbortSignals(signal1, signal2) {
868
+ if (!signal1 && !signal2)
869
+ return undefined;
870
+ if (!signal1)
871
+ return { signal: signal2, cleanup: () => { } };
872
+ if (!signal2)
873
+ return { signal: signal1, cleanup: () => { } };
874
+ if (typeof AbortSignal.any === 'function') {
875
+ return { signal: AbortSignal.any([signal1, signal2]), cleanup: () => { } };
876
+ }
877
+ const controller = new AbortController();
878
+ const onAbort = () => {
879
+ controller.abort();
880
+ cleanup();
881
+ };
882
+ const cleanup = () => {
883
+ signal1.removeEventListener('abort', onAbort);
884
+ signal2.removeEventListener('abort', onAbort);
885
+ };
886
+ if (signal1.aborted || signal2.aborted) {
887
+ controller.abort();
888
+ }
889
+ else {
890
+ signal1.addEventListener('abort', onAbort);
891
+ signal2.addEventListener('abort', onAbort);
892
+ }
893
+ return { signal: controller.signal, cleanup };
894
+ }
699
895
  //# sourceMappingURL=openai-agent-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-agent-client.js","sourceRoot":"","sources":["../../source/lib/openai-agent-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-agent-client.js","sourceRoot":"","sources":["../../source/lib/openai-agent-client.ts"],"names":[],"mappings":"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"}