@qduc/term2 0.1.4 → 0.1.6

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 (575) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +4 -24
  3. package/dist/agent.js.map +1 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +12 -33
  6. package/dist/app.js.map +1 -1
  7. package/dist/app.parseInput.test.js +4 -4
  8. package/dist/app.parseInput.test.js.map +1 -1
  9. package/dist/cli.js +44 -29
  10. package/dist/cli.js.map +1 -1
  11. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  12. package/dist/components/ApprovalPrompt.js +14 -11
  13. package/dist/components/ApprovalPrompt.js.map +1 -1
  14. package/dist/components/Banner.d.ts.map +1 -1
  15. package/dist/components/Banner.js +4 -12
  16. package/dist/components/Banner.js.map +1 -1
  17. package/dist/components/BottomArea.d.ts +2 -0
  18. package/dist/components/BottomArea.d.ts.map +1 -1
  19. package/dist/components/BottomArea.js +6 -9
  20. package/dist/components/BottomArea.js.map +1 -1
  21. package/dist/components/BottomArea.test.js +4 -6
  22. package/dist/components/BottomArea.test.js.map +1 -1
  23. package/dist/components/ChatMessage.d.ts.map +1 -1
  24. package/dist/components/ChatMessage.js.map +1 -1
  25. package/dist/components/CommandMessage.d.ts.map +1 -1
  26. package/dist/components/CommandMessage.js +19 -30
  27. package/dist/components/CommandMessage.js.map +1 -1
  28. package/dist/components/CommandMessage.test.js +2 -2
  29. package/dist/components/CommandMessage.test.js.map +1 -1
  30. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  31. package/dist/components/ErrorBoundary.js +3 -9
  32. package/dist/components/ErrorBoundary.js.map +1 -1
  33. package/dist/components/ErrorBoundary.test.js +2 -2
  34. package/dist/components/ErrorBoundary.test.js.map +1 -1
  35. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  36. package/dist/components/Input/PopupManager.js.map +1 -1
  37. package/dist/components/InputBox.d.ts.map +1 -1
  38. package/dist/components/InputBox.js +15 -33
  39. package/dist/components/InputBox.js.map +1 -1
  40. package/dist/components/InputBox.menu-logic.test.js +6 -7
  41. package/dist/components/InputBox.menu-logic.test.js.map +1 -1
  42. package/dist/components/InputBox.test.js +7 -9
  43. package/dist/components/InputBox.test.js.map +1 -1
  44. package/dist/components/LiveResponse.d.ts.map +1 -1
  45. package/dist/components/LiveResponse.js.map +1 -1
  46. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  47. package/dist/components/MarkdownRenderer.js +12 -12
  48. package/dist/components/MarkdownRenderer.js.map +1 -1
  49. package/dist/components/MessageList.d.ts.map +1 -1
  50. package/dist/components/MessageList.js.map +1 -1
  51. package/dist/components/MessageList.test.js +1 -1
  52. package/dist/components/MessageList.test.js.map +1 -1
  53. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  54. package/dist/components/ModelSelectionMenu.js +35 -31
  55. package/dist/components/ModelSelectionMenu.js.map +1 -1
  56. package/dist/components/ModelSelectionMenu.test.js +9 -9
  57. package/dist/components/ModelSelectionMenu.test.js.map +1 -1
  58. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  59. package/dist/components/PathSelectionMenu.js +1 -1
  60. package/dist/components/PathSelectionMenu.js.map +1 -1
  61. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  62. package/dist/components/SettingsSelectionMenu.js +1 -1
  63. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  64. package/dist/components/SettingsSelectionMenu.test.js +4 -4
  65. package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
  66. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  67. package/dist/components/SettingsValueSelectionMenu.js +5 -6
  68. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  69. package/dist/components/SettingsValueSelectionMenu.test.js +5 -5
  70. package/dist/components/SettingsValueSelectionMenu.test.js.map +1 -1
  71. package/dist/components/SlashCommandMenu.d.ts.map +1 -1
  72. package/dist/components/SlashCommandMenu.js +1 -1
  73. package/dist/components/SlashCommandMenu.js.map +1 -1
  74. package/dist/components/StatusBar.d.ts +2 -0
  75. package/dist/components/StatusBar.d.ts.map +1 -1
  76. package/dist/components/StatusBar.js +45 -41
  77. package/dist/components/StatusBar.js.map +1 -1
  78. package/dist/components/StatusBar.test.d.ts +2 -0
  79. package/dist/components/StatusBar.test.d.ts.map +1 -0
  80. package/dist/components/StatusBar.test.js +19 -0
  81. package/dist/components/StatusBar.test.js.map +1 -0
  82. package/dist/context/InputContext.d.ts.map +1 -1
  83. package/dist/context/InputContext.js.map +1 -1
  84. package/dist/context/InputContext.stability.test.js +1 -1
  85. package/dist/context/InputContext.stability.test.js.map +1 -1
  86. package/dist/context/InputContext.test.js +15 -15
  87. package/dist/context/InputContext.test.js.map +1 -1
  88. package/dist/hooks/use-conversation.d.ts +5 -13
  89. package/dist/hooks/use-conversation.d.ts.map +1 -1
  90. package/dist/hooks/use-conversation.js +40 -148
  91. package/dist/hooks/use-conversation.js.map +1 -1
  92. package/dist/hooks/use-input-history.d.ts.map +1 -1
  93. package/dist/hooks/use-input-history.js +1 -3
  94. package/dist/hooks/use-input-history.js.map +1 -1
  95. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  96. package/dist/hooks/use-model-selection.js +9 -35
  97. package/dist/hooks/use-model-selection.js.map +1 -1
  98. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  99. package/dist/hooks/use-path-completion.js +6 -6
  100. package/dist/hooks/use-path-completion.js.map +1 -1
  101. package/dist/hooks/use-setting.d.ts.map +1 -1
  102. package/dist/hooks/use-setting.js +3 -6
  103. package/dist/hooks/use-setting.js.map +1 -1
  104. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  105. package/dist/hooks/use-settings-completion.js +10 -12
  106. package/dist/hooks/use-settings-completion.js.map +1 -1
  107. package/dist/hooks/use-settings-completion.test.js +46 -46
  108. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  109. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  110. package/dist/hooks/use-settings-value-completion.js +13 -43
  111. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  112. package/dist/hooks/use-settings-value-completion.test.js +12 -18
  113. package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
  114. package/dist/hooks/use-slash-commands.d.ts +1 -1
  115. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  116. package/dist/hooks/use-slash-commands.js +6 -11
  117. package/dist/hooks/use-slash-commands.js.map +1 -1
  118. package/dist/hooks/use-slash-commands.test.js +24 -24
  119. package/dist/hooks/use-slash-commands.test.js.map +1 -1
  120. package/dist/lib/editor-impl.d.ts.map +1 -1
  121. package/dist/lib/editor-impl.js +6 -16
  122. package/dist/lib/editor-impl.js.map +1 -1
  123. package/dist/lib/editor-impl.test.js.map +1 -1
  124. package/dist/lib/mentor-client.d.ts +41 -0
  125. package/dist/lib/mentor-client.d.ts.map +1 -0
  126. package/dist/lib/mentor-client.js +146 -0
  127. package/dist/lib/mentor-client.js.map +1 -0
  128. package/dist/lib/mentor-client.test.d.ts +2 -0
  129. package/dist/lib/mentor-client.test.d.ts.map +1 -0
  130. package/dist/lib/mentor-client.test.js +440 -0
  131. package/dist/lib/mentor-client.test.js.map +1 -0
  132. package/dist/lib/openai-agent-client.chat.test.js +33 -8
  133. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  134. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  135. package/dist/lib/openai-agent-client.flex-tier.test.js +5 -5
  136. package/dist/lib/openai-agent-client.flex-tier.test.js.map +1 -1
  137. package/dist/lib/openai-agent-client.js +99 -88
  138. package/dist/lib/openai-agent-client.js.map +1 -1
  139. package/dist/lib/openai-agent-client.public-methods.test.js +186 -12
  140. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  141. package/dist/lib/openai-agent-client.test.js +17 -17
  142. package/dist/lib/openai-agent-client.test.js.map +1 -1
  143. package/dist/lib/retry-strategy.d.ts +43 -0
  144. package/dist/lib/retry-strategy.d.ts.map +1 -0
  145. package/dist/lib/retry-strategy.js +93 -0
  146. package/dist/lib/retry-strategy.js.map +1 -0
  147. package/dist/lib/retry-strategy.test.d.ts +2 -0
  148. package/dist/lib/retry-strategy.test.d.ts.map +1 -0
  149. package/dist/lib/retry-strategy.test.js +200 -0
  150. package/dist/lib/retry-strategy.test.js.map +1 -0
  151. package/dist/lib/tool-invoke.d.ts.map +1 -1
  152. package/dist/lib/tool-invoke.js.map +1 -1
  153. package/dist/lib/tool-invoke.test.js.map +1 -1
  154. package/dist/no-singleton-imports.test.js +1 -1
  155. package/dist/no-singleton-imports.test.js.map +1 -1
  156. package/dist/non-interactive.d.ts +20 -0
  157. package/dist/non-interactive.d.ts.map +1 -0
  158. package/dist/non-interactive.js +86 -0
  159. package/dist/non-interactive.js.map +1 -0
  160. package/dist/non-interactive.test.d.ts +2 -0
  161. package/dist/non-interactive.test.d.ts.map +1 -0
  162. package/dist/non-interactive.test.js +213 -0
  163. package/dist/non-interactive.test.js.map +1 -0
  164. package/dist/prompts/anthropic.md +11 -11
  165. package/dist/prompts/codex.md +63 -63
  166. package/dist/prompts/gpt-5.md +95 -95
  167. package/dist/prompts/mentor-addon.md +6 -5
  168. package/dist/prompts/prompt-selector.d.ts +8 -0
  169. package/dist/prompts/prompt-selector.d.ts.map +1 -0
  170. package/dist/prompts/prompt-selector.js +21 -0
  171. package/dist/prompts/prompt-selector.js.map +1 -0
  172. package/dist/prompts/prompt-selector.test.d.ts +2 -0
  173. package/dist/prompts/prompt-selector.test.d.ts.map +1 -0
  174. package/dist/prompts/prompt-selector.test.js +21 -0
  175. package/dist/prompts/prompt-selector.test.js.map +1 -0
  176. package/dist/prompts/prompt-selector.test.ts +32 -0
  177. package/dist/prompts/prompt-selector.ts +30 -0
  178. package/dist/prompts/simple.md +58 -58
  179. package/dist/providers/index.d.ts.map +1 -1
  180. package/dist/providers/index.js.map +1 -1
  181. package/dist/providers/openai-compatible/api.d.ts.map +1 -1
  182. package/dist/providers/openai-compatible/api.js.map +1 -1
  183. package/dist/providers/openai-compatible/model.d.ts.map +1 -1
  184. package/dist/providers/openai-compatible/model.js +19 -53
  185. package/dist/providers/openai-compatible/model.js.map +1 -1
  186. package/dist/providers/openai-compatible/provider.d.ts.map +1 -1
  187. package/dist/providers/openai-compatible/provider.js.map +1 -1
  188. package/dist/providers/openai-compatible/reasoning-content.test.js +2 -2
  189. package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -1
  190. package/dist/providers/openai-compatible/utils.d.ts.map +1 -1
  191. package/dist/providers/openai-compatible/utils.js.map +1 -1
  192. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  193. package/dist/providers/openai-compatible.provider.js +5 -1
  194. package/dist/providers/openai-compatible.provider.js.map +1 -1
  195. package/dist/providers/openai.provider.js +4 -0
  196. package/dist/providers/openai.provider.js.map +1 -1
  197. package/dist/providers/openrouter/api.d.ts.map +1 -1
  198. package/dist/providers/openrouter/api.js +5 -13
  199. package/dist/providers/openrouter/api.js.map +1 -1
  200. package/dist/providers/openrouter/converters.d.ts.map +1 -1
  201. package/dist/providers/openrouter/converters.js +9 -28
  202. package/dist/providers/openrouter/converters.js.map +1 -1
  203. package/dist/providers/openrouter/converters.test.js +7 -11
  204. package/dist/providers/openrouter/converters.test.js.map +1 -1
  205. package/dist/providers/openrouter/index.d.ts.map +1 -1
  206. package/dist/providers/openrouter/index.js.map +1 -1
  207. package/dist/providers/openrouter/model.d.ts.map +1 -1
  208. package/dist/providers/openrouter/model.js +19 -55
  209. package/dist/providers/openrouter/model.js.map +1 -1
  210. package/dist/providers/openrouter/provider.d.ts.map +1 -1
  211. package/dist/providers/openrouter/provider.js.map +1 -1
  212. package/dist/providers/openrouter/reasoning-content.test.js +1 -1
  213. package/dist/providers/openrouter/reasoning-content.test.js.map +1 -1
  214. package/dist/providers/openrouter/utils.d.ts.map +1 -1
  215. package/dist/providers/openrouter/utils.js +2 -3
  216. package/dist/providers/openrouter/utils.js.map +1 -1
  217. package/dist/providers/openrouter.api.retry.test.js.map +1 -1
  218. package/dist/providers/openrouter.provider.createRunner.test.js +1 -1
  219. package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
  220. package/dist/providers/openrouter.provider.js +6 -4
  221. package/dist/providers/openrouter.provider.js.map +1 -1
  222. package/dist/providers/openrouter.test.js +13 -17
  223. package/dist/providers/openrouter.test.js.map +1 -1
  224. package/dist/providers/registry.d.ts +5 -0
  225. package/dist/providers/registry.d.ts.map +1 -1
  226. package/dist/providers/registry.js.map +1 -1
  227. package/dist/providers/registry.test.js +11 -11
  228. package/dist/providers/registry.test.js.map +1 -1
  229. package/dist/providers/web-search/index.d.ts +1 -1
  230. package/dist/providers/web-search/index.d.ts.map +1 -1
  231. package/dist/providers/web-search/index.js.map +1 -1
  232. package/dist/providers/web-search/registry.d.ts.map +1 -1
  233. package/dist/providers/web-search/registry.js.map +1 -1
  234. package/dist/providers/web-search/registry.test.js +14 -14
  235. package/dist/providers/web-search/registry.test.js.map +1 -1
  236. package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
  237. package/dist/providers/web-search/tavily.provider.js +4 -4
  238. package/dist/providers/web-search/tavily.provider.js.map +1 -1
  239. package/dist/providers/web-search/tavily.provider.test.js +7 -7
  240. package/dist/providers/web-search/tavily.provider.test.js.map +1 -1
  241. package/dist/providers/web-search/types.d.ts.map +1 -1
  242. package/dist/scripts/extract-provider-traffic.d.ts +3 -0
  243. package/dist/scripts/extract-provider-traffic.d.ts.map +1 -0
  244. package/dist/scripts/extract-provider-traffic.js +32 -0
  245. package/dist/scripts/extract-provider-traffic.js.map +1 -0
  246. package/dist/services/approval-state.d.ts +24 -0
  247. package/dist/services/approval-state.d.ts.map +1 -0
  248. package/dist/services/approval-state.js +41 -0
  249. package/dist/services/approval-state.js.map +1 -0
  250. package/dist/services/approval-state.test.d.ts +2 -0
  251. package/dist/services/approval-state.test.d.ts.map +1 -0
  252. package/dist/services/approval-state.test.js +59 -0
  253. package/dist/services/approval-state.test.js.map +1 -0
  254. package/dist/services/command-message-streaming.d.ts +12 -0
  255. package/dist/services/command-message-streaming.d.ts.map +1 -0
  256. package/dist/services/command-message-streaming.js +68 -0
  257. package/dist/services/command-message-streaming.js.map +1 -0
  258. package/dist/services/command-message-streaming.test.d.ts +2 -0
  259. package/dist/services/command-message-streaming.test.d.ts.map +1 -0
  260. package/dist/services/command-message-streaming.test.js +78 -0
  261. package/dist/services/command-message-streaming.test.js.map +1 -0
  262. package/dist/services/conversation-events.d.ts +5 -13
  263. package/dist/services/conversation-events.d.ts.map +1 -1
  264. package/dist/services/conversation-integration.test.d.ts +2 -0
  265. package/dist/services/conversation-integration.test.d.ts.map +1 -0
  266. package/dist/services/conversation-integration.test.js +155 -0
  267. package/dist/services/conversation-integration.test.js.map +1 -0
  268. package/dist/services/conversation-result-builder.d.ts +41 -0
  269. package/dist/services/conversation-result-builder.d.ts.map +1 -0
  270. package/dist/services/conversation-result-builder.js +110 -0
  271. package/dist/services/conversation-result-builder.js.map +1 -0
  272. package/dist/services/conversation-result-builder.test.d.ts +2 -0
  273. package/dist/services/conversation-result-builder.test.d.ts.map +1 -0
  274. package/dist/services/conversation-result-builder.test.js +76 -0
  275. package/dist/services/conversation-result-builder.test.js.map +1 -0
  276. package/dist/services/conversation-service.d.ts +1 -1
  277. package/dist/services/conversation-service.d.ts.map +1 -1
  278. package/dist/services/conversation-service.js.map +1 -1
  279. package/dist/services/conversation-session-reasoning.test.js +3 -3
  280. package/dist/services/conversation-session-reasoning.test.js.map +1 -1
  281. package/dist/services/conversation-session.d.ts +7 -17
  282. package/dist/services/conversation-session.d.ts.map +1 -1
  283. package/dist/services/conversation-session.js +290 -278
  284. package/dist/services/conversation-session.js.map +1 -1
  285. package/dist/services/conversation-session.usage.test.d.ts +2 -0
  286. package/dist/services/conversation-session.usage.test.d.ts.map +1 -0
  287. package/dist/services/conversation-session.usage.test.js +59 -0
  288. package/dist/services/conversation-session.usage.test.js.map +1 -0
  289. package/dist/services/conversation-store.d.ts.map +1 -1
  290. package/dist/services/conversation-store.js +3 -9
  291. package/dist/services/conversation-store.js.map +1 -1
  292. package/dist/services/conversation-store.test.js +17 -14
  293. package/dist/services/conversation-store.test.js.map +1 -1
  294. package/dist/services/execution-context.d.ts.map +1 -1
  295. package/dist/services/execution-context.js.map +1 -1
  296. package/dist/services/execution-context.test.js +7 -7
  297. package/dist/services/execution-context.test.js.map +1 -1
  298. package/dist/services/file-service.d.ts.map +1 -1
  299. package/dist/services/file-service.js +5 -9
  300. package/dist/services/file-service.js.map +1 -1
  301. package/dist/services/history-service.d.ts.map +1 -1
  302. package/dist/services/history-service.js +3 -7
  303. package/dist/services/history-service.js.map +1 -1
  304. package/dist/services/logging-contract.d.ts +74 -0
  305. package/dist/services/logging-contract.d.ts.map +1 -0
  306. package/dist/services/logging-contract.js +157 -0
  307. package/dist/services/logging-contract.js.map +1 -0
  308. package/dist/services/logging-contract.test.d.ts +2 -0
  309. package/dist/services/logging-contract.test.d.ts.map +1 -0
  310. package/dist/services/logging-contract.test.js +66 -0
  311. package/dist/services/logging-contract.test.js.map +1 -0
  312. package/dist/services/logging-service.d.ts +5 -0
  313. package/dist/services/logging-service.d.ts.map +1 -1
  314. package/dist/services/logging-service.js +93 -21
  315. package/dist/services/logging-service.js.map +1 -1
  316. package/dist/services/model-service.d.ts.map +1 -1
  317. package/dist/services/model-service.js +2 -2
  318. package/dist/services/model-service.js.map +1 -1
  319. package/dist/services/model-service.test.js +6 -6
  320. package/dist/services/model-service.test.js.map +1 -1
  321. package/dist/services/service-interfaces.d.ts.map +1 -1
  322. package/dist/services/settings-env.d.ts +9 -0
  323. package/dist/services/settings-env.d.ts.map +1 -0
  324. package/dist/services/settings-env.js +75 -0
  325. package/dist/services/settings-env.js.map +1 -0
  326. package/dist/services/settings-env.test.d.ts +2 -0
  327. package/dist/services/settings-env.test.d.ts.map +1 -0
  328. package/dist/services/settings-env.test.js +32 -0
  329. package/dist/services/settings-env.test.js.map +1 -0
  330. package/dist/services/settings-merger.d.ts +26 -0
  331. package/dist/services/settings-merger.d.ts.map +1 -0
  332. package/dist/services/settings-merger.js +122 -0
  333. package/dist/services/settings-merger.js.map +1 -0
  334. package/dist/services/settings-merger.test.d.ts +2 -0
  335. package/dist/services/settings-merger.test.d.ts.map +1 -0
  336. package/dist/services/settings-merger.test.js +26 -0
  337. package/dist/services/settings-merger.test.js.map +1 -0
  338. package/dist/services/settings-persistence.d.ts +32 -0
  339. package/dist/services/settings-persistence.d.ts.map +1 -0
  340. package/dist/services/settings-persistence.js +134 -0
  341. package/dist/services/settings-persistence.js.map +1 -0
  342. package/dist/services/settings-persistence.test.d.ts +2 -0
  343. package/dist/services/settings-persistence.test.d.ts.map +1 -0
  344. package/dist/services/settings-persistence.test.js +51 -0
  345. package/dist/services/settings-persistence.test.js.map +1 -0
  346. package/dist/services/settings-schema.d.ts +320 -0
  347. package/dist/services/settings-schema.d.ts.map +1 -0
  348. package/dist/services/settings-schema.js +272 -0
  349. package/dist/services/settings-schema.js.map +1 -0
  350. package/dist/services/settings-service.d.ts +4 -248
  351. package/dist/services/settings-service.d.ts.map +1 -1
  352. package/dist/services/settings-service.js +45 -641
  353. package/dist/services/settings-service.js.map +1 -1
  354. package/dist/services/settings-service.mock.d.ts.map +1 -1
  355. package/dist/services/settings-service.mock.js.map +1 -1
  356. package/dist/services/singleton-deprecation.test.js +2 -2
  357. package/dist/services/singleton-deprecation.test.js.map +1 -1
  358. package/dist/services/ssh-service.d.ts.map +1 -1
  359. package/dist/services/ssh-service.js +8 -7
  360. package/dist/services/ssh-service.js.map +1 -1
  361. package/dist/services/ssh-service.test.js +15 -13
  362. package/dist/services/ssh-service.test.js.map +1 -1
  363. package/dist/services/stream-event-parsing.d.ts +4 -0
  364. package/dist/services/stream-event-parsing.d.ts.map +1 -0
  365. package/dist/services/stream-event-parsing.js +76 -0
  366. package/dist/services/stream-event-parsing.js.map +1 -0
  367. package/dist/services/stream-event-parsing.test.d.ts +2 -0
  368. package/dist/services/stream-event-parsing.test.d.ts.map +1 -0
  369. package/dist/services/stream-event-parsing.test.js +59 -0
  370. package/dist/services/stream-event-parsing.test.js.map +1 -0
  371. package/dist/services/stream-event-processor.d.ts +32 -0
  372. package/dist/services/stream-event-processor.d.ts.map +1 -0
  373. package/dist/services/stream-event-processor.js +344 -0
  374. package/dist/services/stream-event-processor.js.map +1 -0
  375. package/dist/services/stream-event-processor.test.d.ts +2 -0
  376. package/dist/services/stream-event-processor.test.d.ts.map +1 -0
  377. package/dist/services/stream-event-processor.test.js +117 -0
  378. package/dist/services/stream-event-processor.test.js.map +1 -0
  379. package/dist/tools/apply-patch.d.ts.map +1 -1
  380. package/dist/tools/apply-patch.js +45 -35
  381. package/dist/tools/apply-patch.js.map +1 -1
  382. package/dist/tools/apply-patch.test.js +23 -0
  383. package/dist/tools/apply-patch.test.js.map +1 -1
  384. package/dist/tools/ask-mentor.d.ts.map +1 -1
  385. package/dist/tools/ask-mentor.js +5 -15
  386. package/dist/tools/ask-mentor.js.map +1 -1
  387. package/dist/tools/ask-mentor.test.js +1 -1
  388. package/dist/tools/ask-mentor.test.js.map +1 -1
  389. package/dist/tools/create-file.d.ts.map +1 -1
  390. package/dist/tools/create-file.js +2 -2
  391. package/dist/tools/create-file.js.map +1 -1
  392. package/dist/tools/create-file.test.js.map +1 -1
  393. package/dist/tools/edit-healing.d.ts.map +1 -1
  394. package/dist/tools/edit-healing.js +5 -4
  395. package/dist/tools/edit-healing.js.map +1 -1
  396. package/dist/tools/edit-healing.test.js.map +1 -1
  397. package/dist/tools/find-files.d.ts +1 -0
  398. package/dist/tools/find-files.d.ts.map +1 -1
  399. package/dist/tools/find-files.js +93 -24
  400. package/dist/tools/find-files.js.map +1 -1
  401. package/dist/tools/find-files.test.js +46 -2
  402. package/dist/tools/find-files.test.js.map +1 -1
  403. package/dist/tools/format-helpers.d.ts.map +1 -1
  404. package/dist/tools/format-helpers.js +2 -6
  405. package/dist/tools/format-helpers.js.map +1 -1
  406. package/dist/tools/grep.d.ts +1 -1
  407. package/dist/tools/grep.d.ts.map +1 -1
  408. package/dist/tools/grep.js +6 -21
  409. package/dist/tools/grep.js.map +1 -1
  410. package/dist/tools/read-file.d.ts.map +1 -1
  411. package/dist/tools/read-file.js +3 -7
  412. package/dist/tools/read-file.js.map +1 -1
  413. package/dist/tools/read-file.test.js.map +1 -1
  414. package/dist/tools/search-replace.d.ts.map +1 -1
  415. package/dist/tools/search-replace.js +14 -31
  416. package/dist/tools/search-replace.js.map +1 -1
  417. package/dist/tools/search-replace.test.js.map +1 -1
  418. package/dist/tools/search.d.ts +1 -1
  419. package/dist/tools/search.d.ts.map +1 -1
  420. package/dist/tools/search.js +6 -16
  421. package/dist/tools/search.js.map +1 -1
  422. package/dist/tools/shell.d.ts +1 -1
  423. package/dist/tools/shell.d.ts.map +1 -1
  424. package/dist/tools/shell.js +25 -51
  425. package/dist/tools/shell.js.map +1 -1
  426. package/dist/tools/shell.test.d.ts +2 -0
  427. package/dist/tools/shell.test.d.ts.map +1 -0
  428. package/dist/tools/shell.test.js +70 -0
  429. package/dist/tools/shell.test.js.map +1 -0
  430. package/dist/tools/tool-names.d.ts +3 -0
  431. package/dist/tools/tool-names.d.ts.map +1 -0
  432. package/dist/tools/tool-names.js +3 -0
  433. package/dist/tools/tool-names.js.map +1 -0
  434. package/dist/tools/tool-names.test.d.ts +2 -0
  435. package/dist/tools/tool-names.test.d.ts.map +1 -0
  436. package/dist/tools/tool-names.test.js +7 -0
  437. package/dist/tools/tool-names.test.js.map +1 -0
  438. package/dist/tools/types.d.ts.map +1 -1
  439. package/dist/tools/utils.d.ts.map +1 -1
  440. package/dist/tools/utils.js +3 -8
  441. package/dist/tools/utils.js.map +1 -1
  442. package/dist/tools/web-fetch.d.ts +4 -4
  443. package/dist/tools/web-fetch.d.ts.map +1 -1
  444. package/dist/tools/web-fetch.js +32 -249
  445. package/dist/tools/web-fetch.js.map +1 -1
  446. package/dist/tools/web-fetch.test.js +3 -3
  447. package/dist/tools/web-fetch.test.js.map +1 -1
  448. package/dist/tools/web-search.d.ts.map +1 -1
  449. package/dist/tools/web-search.js +6 -10
  450. package/dist/tools/web-search.js.map +1 -1
  451. package/dist/tools/web-search.test.js +12 -14
  452. package/dist/tools/web-search.test.js.map +1 -1
  453. package/dist/types/messages.d.ts +29 -0
  454. package/dist/types/messages.d.ts.map +1 -0
  455. package/dist/types/messages.js +2 -0
  456. package/dist/types/messages.js.map +1 -0
  457. package/dist/utils/command-logger.d.ts.map +1 -1
  458. package/dist/utils/command-logger.js.map +1 -1
  459. package/dist/utils/command-safety/constants.d.ts.map +1 -1
  460. package/dist/utils/command-safety/constants.js +1 -9
  461. package/dist/utils/command-safety/constants.js.map +1 -1
  462. package/dist/utils/command-safety/find-helpers.d.ts.map +1 -1
  463. package/dist/utils/command-safety/find-helpers.js +4 -9
  464. package/dist/utils/command-safety/find-helpers.js.map +1 -1
  465. package/dist/utils/command-safety/handlers/find-handler.d.ts.map +1 -1
  466. package/dist/utils/command-safety/handlers/find-handler.js +3 -10
  467. package/dist/utils/command-safety/handlers/find-handler.js.map +1 -1
  468. package/dist/utils/command-safety/handlers/git-handler.d.ts.map +1 -1
  469. package/dist/utils/command-safety/handlers/git-handler.js +2 -4
  470. package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
  471. package/dist/utils/command-safety/handlers/index.d.ts +1 -1
  472. package/dist/utils/command-safety/handlers/index.d.ts.map +1 -1
  473. package/dist/utils/command-safety/handlers/index.js.map +1 -1
  474. package/dist/utils/command-safety/handlers/sed-handler.d.ts.map +1 -1
  475. package/dist/utils/command-safety/handlers/sed-handler.js.map +1 -1
  476. package/dist/utils/command-safety/handlers/types.d.ts.map +1 -1
  477. package/dist/utils/command-safety/index.d.ts.map +1 -1
  478. package/dist/utils/command-safety/index.js +4 -10
  479. package/dist/utils/command-safety/index.js.map +1 -1
  480. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  481. package/dist/utils/command-safety/path-analysis.js +9 -20
  482. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  483. package/dist/utils/command-safety/utils.d.ts.map +1 -1
  484. package/dist/utils/command-safety/utils.js +1 -3
  485. package/dist/utils/command-safety/utils.js.map +1 -1
  486. package/dist/utils/command-safety.find.test.js +44 -87
  487. package/dist/utils/command-safety.find.test.js.map +1 -1
  488. package/dist/utils/command-safety.path.test.js +32 -67
  489. package/dist/utils/command-safety.path.test.js.map +1 -1
  490. package/dist/utils/conversation-event-handler.d.ts +4 -16
  491. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  492. package/dist/utils/conversation-event-handler.js +4 -8
  493. package/dist/utils/conversation-event-handler.js.map +1 -1
  494. package/dist/utils/conversation-event-handler.test.js +16 -18
  495. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  496. package/dist/utils/conversation-utils.d.ts.map +1 -1
  497. package/dist/utils/conversation-utils.js +5 -8
  498. package/dist/utils/conversation-utils.js.map +1 -1
  499. package/dist/utils/conversation-utils.test.js +45 -44
  500. package/dist/utils/conversation-utils.test.js.map +1 -1
  501. package/dist/utils/diff.d.ts.map +1 -1
  502. package/dist/utils/diff.js +2 -4
  503. package/dist/utils/diff.js.map +1 -1
  504. package/dist/utils/diff.test.js +12 -12
  505. package/dist/utils/diff.test.js.map +1 -1
  506. package/dist/utils/error-helpers.d.ts.map +1 -1
  507. package/dist/utils/error-helpers.js +2 -6
  508. package/dist/utils/error-helpers.js.map +1 -1
  509. package/dist/utils/error-helpers.test.js +32 -32
  510. package/dist/utils/error-helpers.test.js.map +1 -1
  511. package/dist/utils/execute-shell.d.ts.map +1 -1
  512. package/dist/utils/execute-shell.js.map +1 -1
  513. package/dist/utils/execute-shell.test.js.map +1 -1
  514. package/dist/utils/extract-command-messages.d.ts.map +1 -1
  515. package/dist/utils/extract-command-messages.js +16 -21
  516. package/dist/utils/extract-command-messages.js.map +1 -1
  517. package/dist/utils/ink-render-options.d.ts.map +1 -1
  518. package/dist/utils/ink-render-options.js.map +1 -1
  519. package/dist/utils/log-viewer-filters.d.ts +29 -0
  520. package/dist/utils/log-viewer-filters.d.ts.map +1 -0
  521. package/dist/utils/log-viewer-filters.js +49 -0
  522. package/dist/utils/log-viewer-filters.js.map +1 -0
  523. package/dist/utils/log-viewer-filters.test.d.ts +2 -0
  524. package/dist/utils/log-viewer-filters.test.d.ts.map +1 -0
  525. package/dist/utils/log-viewer-filters.test.js +48 -0
  526. package/dist/utils/log-viewer-filters.test.js.map +1 -0
  527. package/dist/utils/message-buffer.d.ts.map +1 -1
  528. package/dist/utils/message-buffer.js.map +1 -1
  529. package/dist/utils/message-buffer.test.js +4 -4
  530. package/dist/utils/message-buffer.test.js.map +1 -1
  531. package/dist/utils/output-trim.d.ts.map +1 -1
  532. package/dist/utils/output-trim.js.map +1 -1
  533. package/dist/utils/provider-credentials.d.ts.map +1 -1
  534. package/dist/utils/provider-credentials.js +1 -1
  535. package/dist/utils/provider-credentials.js.map +1 -1
  536. package/dist/utils/provider-traffic-extractor.d.ts +18 -0
  537. package/dist/utils/provider-traffic-extractor.d.ts.map +1 -0
  538. package/dist/utils/provider-traffic-extractor.js +121 -0
  539. package/dist/utils/provider-traffic-extractor.js.map +1 -0
  540. package/dist/utils/provider-traffic-extractor.test.d.ts +2 -0
  541. package/dist/utils/provider-traffic-extractor.test.d.ts.map +1 -0
  542. package/dist/utils/provider-traffic-extractor.test.js +84 -0
  543. package/dist/utils/provider-traffic-extractor.test.js.map +1 -0
  544. package/dist/utils/settings-command.d.ts.map +1 -1
  545. package/dist/utils/settings-command.js +5 -12
  546. package/dist/utils/settings-command.js.map +1 -1
  547. package/dist/utils/ssh-config-parser.d.ts.map +1 -1
  548. package/dist/utils/ssh-config-parser.js.map +1 -1
  549. package/dist/utils/ssh-config-parser.test.js.map +1 -1
  550. package/dist/utils/streaming-session-factory.d.ts +33 -0
  551. package/dist/utils/streaming-session-factory.d.ts.map +1 -0
  552. package/dist/utils/streaming-session-factory.js +75 -0
  553. package/dist/utils/streaming-session-factory.js.map +1 -0
  554. package/dist/utils/streaming-session-factory.test.d.ts +2 -0
  555. package/dist/utils/streaming-session-factory.test.d.ts.map +1 -0
  556. package/dist/utils/streaming-session-factory.test.js +74 -0
  557. package/dist/utils/streaming-session-factory.test.js.map +1 -0
  558. package/dist/utils/streaming-updater.d.ts.map +1 -1
  559. package/dist/utils/streaming-updater.js.map +1 -1
  560. package/dist/utils/throttle.d.ts.map +1 -1
  561. package/dist/utils/throttle.js.map +1 -1
  562. package/dist/utils/token-usage.d.ts +16 -0
  563. package/dist/utils/token-usage.d.ts.map +1 -0
  564. package/dist/utils/token-usage.js +109 -0
  565. package/dist/utils/token-usage.js.map +1 -0
  566. package/dist/utils/token-usage.test.d.ts +2 -0
  567. package/dist/utils/token-usage.test.d.ts.map +1 -0
  568. package/dist/utils/token-usage.test.js +38 -0
  569. package/dist/utils/token-usage.test.js.map +1 -0
  570. package/dist/utils/trim-tool-output.d.ts +2 -0
  571. package/dist/utils/trim-tool-output.d.ts.map +1 -0
  572. package/dist/utils/trim-tool-output.js +52 -0
  573. package/dist/utils/trim-tool-output.js.map +1 -0
  574. package/package.json +117 -110
  575. package/{README.md → readme.md} +208 -136
@@ -1,5 +1,5 @@
1
- import { Agent, run, tool as createTool, webSearchTool, applyPatchTool, } from '@openai/agents';
2
- import { APIConnectionError, APIConnectionTimeoutError, InternalServerError, RateLimitError, } from 'openai';
1
+ import { Agent, run, tool as createTool, webSearchTool, applyPatchTool } from '@openai/agents';
2
+ import { APIConnectionError, APIConnectionTimeoutError, InternalServerError, RateLimitError } from 'openai';
3
3
  import { OpenRouterError } from '../providers/openrouter.js';
4
4
  import { OpenAICompatibleError } from '../providers/openai-compatible/api.js';
5
5
  import { getProvider } from '../providers/index.js';
@@ -8,6 +8,7 @@ import { getAgentDefinition, getEnvInfo, getAgentsInstructions } from '../agent.
8
8
  import { normalizeToolInput, wrapToolInvoke } from './tool-invoke.js';
9
9
  import { createEditorImpl } from './editor-impl.js';
10
10
  import { ConversationStore } from '../services/conversation-store.js';
11
+ import { trimToolOutput } from '../utils/trim-tool-output.js';
11
12
  /**
12
13
  * Minimal adapter that isolates usage of @openai/agents.
13
14
  * Swap this module to change the underlying agent provider without touching the UI.
@@ -35,6 +36,16 @@ export class OpenAIAgentClient {
35
36
  #mentorAgent = null;
36
37
  #mentorStore = null;
37
38
  #mentorPreviousResponseId = null;
39
+ #resetMentorState() {
40
+ if (this.#mentorStore) {
41
+ this.#mentorStore.clear();
42
+ }
43
+ this.#mentorPreviousResponseId = null;
44
+ this.#mentorStore = null;
45
+ this.#mentorRunner = null;
46
+ this.#mentorProvider = null;
47
+ this.#mentorAgent = null;
48
+ }
38
49
  constructor({ model, reasoningEffort, maxTurns, retryAttempts, deps, }) {
39
50
  this.#logger = deps.logger;
40
51
  this.#settings = deps.settings;
@@ -46,8 +57,7 @@ export class OpenAIAgentClient {
46
57
  });
47
58
  this.#reasoningEffort = reasoningEffort;
48
59
  this.#temperature = this.#settings.get('agent.temperature');
49
- this.#provider =
50
- this.#settings.get('agent.provider') || 'openai';
60
+ this.#provider = this.#settings.get('agent.provider') || 'openai';
51
61
  this.#maxTurns = maxTurns ?? 20;
52
62
  this.#retryAttempts = retryAttempts ?? 2;
53
63
  this.#agent = this.#createAgent({ model, reasoningEffort });
@@ -65,6 +75,7 @@ export class OpenAIAgentClient {
65
75
  model,
66
76
  reasoningEffort: this.#reasoningEffort,
67
77
  });
78
+ this.#resetMentorState();
68
79
  }
69
80
  setReasoningEffort(effort) {
70
81
  this.#reasoningEffort = effort;
@@ -89,6 +100,7 @@ export class OpenAIAgentClient {
89
100
  reasoningEffort: this.#reasoningEffort,
90
101
  });
91
102
  this.#runner = this.#createRunner(this.#provider);
103
+ this.#resetMentorState();
92
104
  }
93
105
  getProvider() {
94
106
  return this.#provider;
@@ -96,7 +108,7 @@ export class OpenAIAgentClient {
96
108
  addToolInterceptor(interceptor) {
97
109
  this.#toolInterceptors.push(interceptor);
98
110
  return () => {
99
- this.#toolInterceptors = this.#toolInterceptors.filter(i => i !== interceptor);
111
+ this.#toolInterceptors = this.#toolInterceptors.filter((i) => i !== interceptor);
100
112
  };
101
113
  }
102
114
  async #checkToolInterceptors(name, params, toolCallId) {
@@ -119,6 +131,13 @@ export class OpenAIAgentClient {
119
131
  }
120
132
  return null;
121
133
  }
134
+ #getProviderCapabilities(providerId) {
135
+ const providerDef = getProvider(providerId);
136
+ return {
137
+ supportsConversationChaining: providerDef?.capabilities?.supportsConversationChaining ?? false,
138
+ supportsTracingControl: providerDef?.capabilities?.supportsTracingControl ?? false,
139
+ };
140
+ }
122
141
  #createRunner(providerId) {
123
142
  const providerDef = getProvider(providerId);
124
143
  if (!providerDef?.createRunner) {
@@ -138,13 +157,14 @@ export class OpenAIAgentClient {
138
157
  reasoningEffort: this.#reasoningEffort,
139
158
  temperature: this.#temperature,
140
159
  });
141
- // Null out mentor agent so it also gets fresh instructions on next use
142
- this.#mentorAgent = null;
160
+ // Refreshing core agent should not keep stale mentor state/instructions.
161
+ this.#resetMentorState();
143
162
  }
144
163
  /**
145
164
  * Abort the current running stream/operation
146
165
  */
147
166
  abort() {
167
+ const traceIdBeforeClear = this.#currentCorrelationId ?? this.#logger.getCorrelationId?.();
148
168
  if (this.#currentAbortController) {
149
169
  this.#currentAbortController.abort();
150
170
  this.#currentAbortController = null;
@@ -153,7 +173,12 @@ export class OpenAIAgentClient {
153
173
  this.#logger.clearCorrelationId();
154
174
  this.#currentCorrelationId = null;
155
175
  }
156
- this.#logger.debug('Agent operation aborted');
176
+ this.#logger.debug('Agent operation aborted', {
177
+ eventType: 'stream.aborted',
178
+ category: 'stream',
179
+ phase: 'abort',
180
+ traceId: traceIdBeforeClear,
181
+ });
157
182
  }
158
183
  clearConversations() {
159
184
  const providerDef = getProvider(this.#provider);
@@ -161,15 +186,6 @@ export class OpenAIAgentClient {
161
186
  providerDef.clearConversations();
162
187
  }
163
188
  this.#refreshAgent();
164
- // Also clear mentor conversation
165
- if (this.#mentorStore) {
166
- this.#mentorStore.clear();
167
- }
168
- this.#mentorPreviousResponseId = null;
169
- this.#mentorStore = null;
170
- this.#mentorRunner = null;
171
- this.#mentorProvider = null;
172
- this.#mentorAgent = null;
173
189
  this.#logger.info('Conversation and agent refreshed');
174
190
  }
175
191
  async startStream(userInput, { previousResponseId } = {}) {
@@ -177,9 +193,7 @@ export class OpenAIAgentClient {
177
193
  this.abort();
178
194
  // Refresh agent instructions for the first message of a session to ensure
179
195
  // directory structure and AGENTS.md content are up to date.
180
- const isFirstMessage = !previousResponseId &&
181
- (!Array.isArray(userInput) ||
182
- (userInput.length > 0 && userInput.length <= 1));
196
+ const isFirstMessage = !previousResponseId && (!Array.isArray(userInput) || (userInput.length > 0 && userInput.length <= 1));
183
197
  if (isFirstMessage) {
184
198
  this.#refreshAgent();
185
199
  }
@@ -189,6 +203,12 @@ export class OpenAIAgentClient {
189
203
  this.#currentAbortController = new AbortController();
190
204
  const signal = this.#currentAbortController.signal;
191
205
  this.#logger.info('Agent stream started', {
206
+ eventType: 'provider.request.started',
207
+ category: 'provider',
208
+ phase: 'request_start',
209
+ traceId: this.#currentCorrelationId,
210
+ provider: this.#provider,
211
+ model: this.#model,
192
212
  inputType: Array.isArray(userInput) ? 'array' : typeof userInput,
193
213
  inputLength: typeof userInput === 'string' ? userInput.length : undefined,
194
214
  inputItems: Array.isArray(userInput) ? userInput.length : undefined,
@@ -200,8 +220,8 @@ export class OpenAIAgentClient {
200
220
  maxTurns: this.#maxTurns,
201
221
  signal,
202
222
  };
203
- // Only pass previousResponseId for OpenAI provider (server-managed conversation chaining)
204
- if (this.#provider === 'openai' && previousResponseId) {
223
+ const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
224
+ if (supportsConversationChaining && previousResponseId) {
205
225
  options.previousResponseId = previousResponseId;
206
226
  }
207
227
  const result = await this.#executeWithRetry(() => this.#runAgent(this.#agent, userInput, options));
@@ -209,16 +229,16 @@ export class OpenAIAgentClient {
209
229
  }
210
230
  catch (error) {
211
231
  this.#logger.error('Agent stream failed', {
232
+ eventType: 'provider.response.failed',
233
+ category: 'provider',
234
+ phase: 'provider_response',
235
+ traceId: this.#currentCorrelationId,
236
+ provider: this.#provider,
237
+ model: this.#model,
212
238
  error: error instanceof Error ? error.message : String(error),
213
- inputType: Array.isArray(userInput)
214
- ? 'array'
215
- : typeof userInput,
216
- inputLength: typeof userInput === 'string'
217
- ? userInput.length
218
- : undefined,
219
- inputItems: Array.isArray(userInput)
220
- ? userInput.length
221
- : undefined,
239
+ inputType: Array.isArray(userInput) ? 'array' : typeof userInput,
240
+ inputLength: typeof userInput === 'string' ? userInput.length : undefined,
241
+ inputItems: Array.isArray(userInput) ? userInput.length : undefined,
222
242
  });
223
243
  throw error;
224
244
  }
@@ -230,8 +250,8 @@ export class OpenAIAgentClient {
230
250
  const options = {
231
251
  signal,
232
252
  };
233
- // Only pass previousResponseId for OpenAI provider (server-managed conversation chaining)
234
- if (this.#provider === 'openai' && previousResponseId) {
253
+ const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
254
+ if (supportsConversationChaining && previousResponseId) {
235
255
  options.previousResponseId = previousResponseId;
236
256
  }
237
257
  return this.#executeWithRetry(() => this.#runAgent(this.#agent, state, options));
@@ -245,8 +265,8 @@ export class OpenAIAgentClient {
245
265
  maxTurns: this.#maxTurns,
246
266
  signal,
247
267
  };
248
- // Only pass previousResponseId for OpenAI provider (server-managed conversation chaining)
249
- if (this.#provider === 'openai' && previousResponseId) {
268
+ const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
269
+ if (supportsConversationChaining && previousResponseId) {
250
270
  options.previousResponseId = previousResponseId;
251
271
  }
252
272
  return this.#executeWithRetry(() => this.#runAgent(this.#agent, state, options));
@@ -256,7 +276,8 @@ export class OpenAIAgentClient {
256
276
  // When using non-OpenAI providers (e.g., OpenRouter), this export can fail noisily
257
277
  // (e.g., 503 errors). Disable tracing per-run for any non-OpenAI provider.
258
278
  const effectiveOptions = options ? { ...options } : {};
259
- if (providerId !== 'openai') {
279
+ const { supportsTracingControl } = this.#getProviderCapabilities(providerId);
280
+ if (!supportsTracingControl) {
260
281
  effectiveOptions.tracingDisabled = true;
261
282
  }
262
283
  // Check if provider is configured but runner failed to initialize
@@ -289,24 +310,16 @@ export class OpenAIAgentClient {
289
310
  error instanceof InternalServerError ||
290
311
  error instanceof RateLimitError;
291
312
  // Check if it's an OpenRouter error with retryable status
292
- const isOpenRouterRetryable = error instanceof OpenRouterError &&
293
- (error.status === 429 || error.status >= 500);
294
- const isOpenAICompatibleRetryable = error instanceof OpenAICompatibleError &&
295
- (error.status === 429 || error.status >= 500);
296
- const isRetryable = retries > 0 &&
297
- (isTransientError ||
298
- isOpenRouterRetryable ||
299
- isOpenAICompatibleRetryable);
313
+ const isOpenRouterRetryable = error instanceof OpenRouterError && (error.status === 429 || error.status >= 500);
314
+ const isOpenAICompatibleRetryable = error instanceof OpenAICompatibleError && (error.status === 429 || error.status >= 500);
315
+ const isRetryable = retries > 0 && (isTransientError || isOpenRouterRetryable || isOpenAICompatibleRetryable);
300
316
  if (isRetryable) {
301
317
  const attemptIndex = this.#retryAttempts - retries;
302
318
  let delay;
303
319
  // Check for Retry-After header (both OpenAI and OpenRouter)
304
- const retryAfterHeader = (error instanceof RateLimitError &&
305
- error.headers?.['retry-after']) ||
306
- (error instanceof OpenRouterError &&
307
- error.headers['retry-after']) ||
308
- (error instanceof OpenAICompatibleError &&
309
- error.headers['retry-after']);
320
+ const retryAfterHeader = (error instanceof RateLimitError && error.headers?.['retry-after']) ||
321
+ (error instanceof OpenRouterError && error.headers['retry-after']) ||
322
+ (error instanceof OpenAICompatibleError && error.headers['retry-after']);
310
323
  if (retryAfterHeader) {
311
324
  // Respect the Retry-After header
312
325
  delay = parseInt(retryAfterHeader, 10) * 1000;
@@ -323,8 +336,16 @@ export class OpenAIAgentClient {
323
336
  // Apply full jitter: random value between 0 and cappedDelay
324
337
  delay = Math.random() * cappedDelay;
325
338
  }
326
- await new Promise(resolve => setTimeout(resolve, delay));
339
+ await new Promise((resolve) => setTimeout(resolve, delay));
327
340
  this.#logger.warn('Agent operation retry', {
341
+ eventType: 'retry.upstream',
342
+ category: 'retry',
343
+ phase: 'retry',
344
+ traceId: this.#currentCorrelationId,
345
+ provider: this.#provider,
346
+ model: this.#model,
347
+ retryType: 'upstream',
348
+ retryAttempt: attemptIndex + 1,
328
349
  errorType: error.constructor.name,
329
350
  retriesRemaining: retries - 1,
330
351
  delayMs: Math.round(delay),
@@ -366,9 +387,7 @@ export class OpenAIAgentClient {
366
387
  agentForChat = new Agent({
367
388
  name: 'Mentor',
368
389
  model: tempModel,
369
- ...(Object.keys(modelSettings).length > 0
370
- ? { modelSettings }
371
- : {}),
390
+ ...(Object.keys(modelSettings).length > 0 ? { modelSettings } : {}),
372
391
  instructions: options.instructions || 'You are a helpful mentor assistant.',
373
392
  });
374
393
  // Ensure runner is compatible or use run()
@@ -402,9 +421,7 @@ export class OpenAIAgentClient {
402
421
  return lastMessage.content;
403
422
  }
404
423
  if (Array.isArray(lastMessage.content)) {
405
- return lastMessage.content
406
- .map((part) => part.text || part.value || '')
407
- .join('');
424
+ return lastMessage.content.map((part) => part.text || part.value || '').join('');
408
425
  }
409
426
  }
410
427
  }
@@ -433,14 +450,12 @@ export class OpenAIAgentClient {
433
450
  '- Suggest alternatives they may have dismissed too quickly\n' +
434
451
  '- Ask for evidence when confidence seems misplaced\n\n' +
435
452
  'When satisfied, give clear approval with specific next steps. When not, say exactly what needs more investigation.\n\n' +
436
- 'Be concise. Push back hard, but don\'t block unnecessarily.'
453
+ "Be concise. Push back hard, but don't block unnecessarily."
437
454
  : 'You are a helpful mentor assistant. Provide advice and guidance on technical problems. Be concise and actionable.';
438
455
  // Add environment info and AGENTS.md context
439
456
  const envInfo = getEnvInfo(this.#settings, this.#executionContext);
440
457
  const cwd = this.#executionContext?.getCwd() ?? process.cwd();
441
- const agentsInstructions = this.#executionContext?.isRemote()
442
- ? ''
443
- : getAgentsInstructions(cwd);
458
+ const agentsInstructions = this.#executionContext?.isRemote() ? '' : getAgentsInstructions(cwd);
444
459
  const instructions = `${baseInstructions}\n\nEnvironment: ${envInfo}${agentsInstructions}`;
445
460
  // If mentor provider changed, reset mentor state to avoid mixing stores/prev ids across providers
446
461
  if (this.#mentorProvider !== mentorProvider) {
@@ -466,9 +481,7 @@ export class OpenAIAgentClient {
466
481
  this.#mentorAgent = new Agent({
467
482
  name: 'Mentor',
468
483
  model: mentorModel,
469
- ...(Object.keys(modelSettings).length > 0
470
- ? { modelSettings }
471
- : {}),
484
+ ...(Object.keys(modelSettings).length > 0 ? { modelSettings } : {}),
472
485
  instructions,
473
486
  });
474
487
  this.#mentorStore = new ConversationStore();
@@ -479,19 +492,18 @@ export class OpenAIAgentClient {
479
492
  // Determine input based on provider
480
493
  // OpenAI uses previousResponseId for server-side history
481
494
  // Others need full conversation history from store
482
- const input = mentorProvider !== 'openai'
483
- ? this.#mentorStore.getHistory()
484
- : question;
495
+ const { supportsConversationChaining } = this.#getProviderCapabilities(mentorProvider);
496
+ const input = supportsConversationChaining ? question : this.#mentorStore.getHistory();
485
497
  const result = await this.#runAgentWithProvider(mentorProvider, this.#mentorRunner, this.#mentorAgent, input, {
486
498
  stream: false,
487
499
  maxTurns: 1,
488
- ...(mentorProvider === 'openai' && this.#mentorPreviousResponseId
500
+ ...(supportsConversationChaining && this.#mentorPreviousResponseId
489
501
  ? { previousResponseId: this.#mentorPreviousResponseId }
490
502
  : {}),
491
503
  });
492
504
  // Update conversation store with result
493
505
  this.#mentorStore.updateFromResult(result);
494
- // Track previousResponseId for OpenAI
506
+ // Track previousResponseId when provided by the provider.
495
507
  if (result.responseId) {
496
508
  this.#mentorPreviousResponseId = result.responseId;
497
509
  }
@@ -507,9 +519,7 @@ export class OpenAIAgentClient {
507
519
  response = lastMessage.content;
508
520
  }
509
521
  else if (Array.isArray(lastMessage.content)) {
510
- response = lastMessage.content
511
- .map((part) => part.text || part.value || '')
512
- .join('');
522
+ response = lastMessage.content.map((part) => part.text || part.value || '').join('');
513
523
  }
514
524
  }
515
525
  }
@@ -525,8 +535,7 @@ export class OpenAIAgentClient {
525
535
  #createAgent({ model, reasoningEffort, temperature, } = {}) {
526
536
  const resolvedModel = model?.trim() || this.#settings.get('agent.model');
527
537
  this.#model = resolvedModel;
528
- const resolvedTemperature = temperature ??
529
- this.#settings.get('agent.temperature');
538
+ const resolvedTemperature = temperature ?? this.#settings.get('agent.temperature');
530
539
  const { name, instructions, tools: toolDefinitions, } = getAgentDefinition({
531
540
  settingsService: this.#settings,
532
541
  loggingService: this.#logger,
@@ -537,20 +546,20 @@ export class OpenAIAgentClient {
537
546
  // Determine if we should use the native applyPatchTool
538
547
  const shouldUseNativePatchTool = this.#provider === 'openai' && resolvedModel.startsWith('gpt-5.1');
539
548
  const tools = toolDefinitions
540
- .filter(definition => {
549
+ .filter((definition) => {
541
550
  // Exclude custom apply_patch if we're using native one
542
- if (shouldUseNativePatchTool &&
543
- definition.name === 'apply_patch') {
551
+ if (shouldUseNativePatchTool && definition.name === 'apply_patch') {
544
552
  return false;
545
553
  }
546
554
  return true;
547
555
  })
548
- .map(definition => wrapToolInvoke(createTool({
556
+ .map((definition) => wrapToolInvoke(createTool({
549
557
  name: definition.name,
550
558
  description: definition.description,
551
559
  parameters: definition.parameters,
552
560
  needsApproval: async (context, params) => definition.needsApproval(params, context),
553
561
  execute: async (params, _context, details) => {
562
+ const maxOutputLengthValue = this.#settings.get('shell.maxOutputChars');
554
563
  // Extract tool call ID from details if available
555
564
  const toolCallId = details?.toolCall?.callId;
556
565
  // Check if this execution should be intercepted
@@ -561,7 +570,7 @@ export class OpenAIAgentClient {
561
570
  params: JSON.stringify(params).substring(0, 100),
562
571
  });
563
572
  // Return a failure response that all tools should understand
564
- return JSON.stringify({
573
+ const rejected = JSON.stringify({
565
574
  output: [
566
575
  {
567
576
  success: false,
@@ -569,9 +578,11 @@ export class OpenAIAgentClient {
569
578
  },
570
579
  ],
571
580
  });
581
+ return trimToolOutput(rejected, undefined, maxOutputLengthValue ?? undefined);
572
582
  }
573
583
  // Normal execution
574
- return definition.execute(params, _context);
584
+ const result = await definition.execute(params, _context);
585
+ return trimToolOutput(result, undefined, maxOutputLengthValue ?? undefined);
575
586
  },
576
587
  })));
577
588
  // Add native applyPatchTool for gpt-5.1 on OpenAI provider
@@ -590,10 +601,7 @@ export class OpenAIAgentClient {
590
601
  const normalizedInput = normalizeToolInput(input);
591
602
  let params;
592
603
  try {
593
- params =
594
- typeof input === 'string'
595
- ? JSON.parse(input)
596
- : input;
604
+ params = typeof input === 'string' ? JSON.parse(input) : input;
597
605
  }
598
606
  catch {
599
607
  params = input;
@@ -605,7 +613,7 @@ export class OpenAIAgentClient {
605
613
  toolCallId,
606
614
  params: JSON.stringify(params).substring(0, 100),
607
615
  });
608
- return JSON.stringify({
616
+ const rejected = JSON.stringify({
609
617
  output: [
610
618
  {
611
619
  success: false,
@@ -613,8 +621,12 @@ export class OpenAIAgentClient {
613
621
  },
614
622
  ],
615
623
  });
624
+ const maxOutputLengthValue = this.#settings.get('shell.maxOutputChars');
625
+ return trimToolOutput(rejected, undefined, maxOutputLengthValue ?? undefined);
616
626
  }
617
- return originalInvoke.call(nativePatchTool, runContext, normalizedInput, details);
627
+ const result = await originalInvoke.call(nativePatchTool, runContext, normalizedInput, details);
628
+ const maxOutputLengthValue = this.#settings.get('shell.maxOutputChars');
629
+ return trimToolOutput(result, undefined, maxOutputLengthValue ?? undefined);
618
630
  };
619
631
  }
620
632
  tools.push(nativePatchTool);
@@ -651,8 +663,7 @@ export class OpenAIAgentClient {
651
663
  }
652
664
  // Temperature: only pass when explicitly set (number). Undefined means
653
665
  // provider/model default.
654
- if (typeof resolvedTemperature === 'number' &&
655
- Number.isFinite(resolvedTemperature)) {
666
+ if (typeof resolvedTemperature === 'number' && Number.isFinite(resolvedTemperature)) {
656
667
  modelSettings.temperature = resolvedTemperature;
657
668
  }
658
669
  // OpenAI Flex Service Tier: only pass when enabled and using OpenAI provider
@@ -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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"}