@qduc/term2 0.1.5 → 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 (559) 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 +11 -32
  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.map +1 -1
  18. package/dist/components/BottomArea.js +4 -7
  19. package/dist/components/BottomArea.js.map +1 -1
  20. package/dist/components/BottomArea.test.js +4 -6
  21. package/dist/components/BottomArea.test.js.map +1 -1
  22. package/dist/components/ChatMessage.d.ts.map +1 -1
  23. package/dist/components/ChatMessage.js.map +1 -1
  24. package/dist/components/CommandMessage.d.ts.map +1 -1
  25. package/dist/components/CommandMessage.js +19 -30
  26. package/dist/components/CommandMessage.js.map +1 -1
  27. package/dist/components/CommandMessage.test.js +2 -2
  28. package/dist/components/CommandMessage.test.js.map +1 -1
  29. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  30. package/dist/components/ErrorBoundary.js +3 -9
  31. package/dist/components/ErrorBoundary.js.map +1 -1
  32. package/dist/components/ErrorBoundary.test.js +2 -2
  33. package/dist/components/ErrorBoundary.test.js.map +1 -1
  34. package/dist/components/Input/PopupManager.d.ts.map +1 -1
  35. package/dist/components/Input/PopupManager.js.map +1 -1
  36. package/dist/components/InputBox.d.ts.map +1 -1
  37. package/dist/components/InputBox.js +15 -33
  38. package/dist/components/InputBox.js.map +1 -1
  39. package/dist/components/InputBox.menu-logic.test.js +6 -7
  40. package/dist/components/InputBox.menu-logic.test.js.map +1 -1
  41. package/dist/components/InputBox.test.js +7 -9
  42. package/dist/components/InputBox.test.js.map +1 -1
  43. package/dist/components/LiveResponse.d.ts.map +1 -1
  44. package/dist/components/LiveResponse.js.map +1 -1
  45. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  46. package/dist/components/MarkdownRenderer.js +12 -12
  47. package/dist/components/MarkdownRenderer.js.map +1 -1
  48. package/dist/components/MessageList.d.ts.map +1 -1
  49. package/dist/components/MessageList.js.map +1 -1
  50. package/dist/components/MessageList.test.js +1 -1
  51. package/dist/components/MessageList.test.js.map +1 -1
  52. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  53. package/dist/components/ModelSelectionMenu.js +11 -16
  54. package/dist/components/ModelSelectionMenu.js.map +1 -1
  55. package/dist/components/ModelSelectionMenu.test.js +9 -9
  56. package/dist/components/ModelSelectionMenu.test.js.map +1 -1
  57. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  58. package/dist/components/PathSelectionMenu.js +1 -1
  59. package/dist/components/PathSelectionMenu.js.map +1 -1
  60. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  61. package/dist/components/SettingsSelectionMenu.js +1 -1
  62. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  63. package/dist/components/SettingsSelectionMenu.test.js +4 -4
  64. package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
  65. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  66. package/dist/components/SettingsValueSelectionMenu.js +5 -6
  67. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  68. package/dist/components/SettingsValueSelectionMenu.test.js +5 -5
  69. package/dist/components/SettingsValueSelectionMenu.test.js.map +1 -1
  70. package/dist/components/SlashCommandMenu.d.ts.map +1 -1
  71. package/dist/components/SlashCommandMenu.js +1 -1
  72. package/dist/components/SlashCommandMenu.js.map +1 -1
  73. package/dist/components/StatusBar.d.ts.map +1 -1
  74. package/dist/components/StatusBar.js +3 -4
  75. package/dist/components/StatusBar.js.map +1 -1
  76. package/dist/context/InputContext.d.ts.map +1 -1
  77. package/dist/context/InputContext.js.map +1 -1
  78. package/dist/context/InputContext.stability.test.js +1 -1
  79. package/dist/context/InputContext.stability.test.js.map +1 -1
  80. package/dist/context/InputContext.test.js +15 -15
  81. package/dist/context/InputContext.test.js.map +1 -1
  82. package/dist/hooks/use-conversation.d.ts +3 -13
  83. package/dist/hooks/use-conversation.d.ts.map +1 -1
  84. package/dist/hooks/use-conversation.js +35 -184
  85. package/dist/hooks/use-conversation.js.map +1 -1
  86. package/dist/hooks/use-input-history.d.ts.map +1 -1
  87. package/dist/hooks/use-input-history.js +1 -3
  88. package/dist/hooks/use-input-history.js.map +1 -1
  89. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  90. package/dist/hooks/use-model-selection.js +8 -10
  91. package/dist/hooks/use-model-selection.js.map +1 -1
  92. package/dist/hooks/use-path-completion.d.ts.map +1 -1
  93. package/dist/hooks/use-path-completion.js +6 -6
  94. package/dist/hooks/use-path-completion.js.map +1 -1
  95. package/dist/hooks/use-setting.d.ts.map +1 -1
  96. package/dist/hooks/use-setting.js +3 -6
  97. package/dist/hooks/use-setting.js.map +1 -1
  98. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  99. package/dist/hooks/use-settings-completion.js +10 -12
  100. package/dist/hooks/use-settings-completion.js.map +1 -1
  101. package/dist/hooks/use-settings-completion.test.js +46 -46
  102. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  103. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  104. package/dist/hooks/use-settings-value-completion.js +13 -43
  105. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  106. package/dist/hooks/use-settings-value-completion.test.js +12 -18
  107. package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
  108. package/dist/hooks/use-slash-commands.d.ts +1 -1
  109. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  110. package/dist/hooks/use-slash-commands.js +6 -11
  111. package/dist/hooks/use-slash-commands.js.map +1 -1
  112. package/dist/hooks/use-slash-commands.test.js +24 -24
  113. package/dist/hooks/use-slash-commands.test.js.map +1 -1
  114. package/dist/lib/editor-impl.d.ts.map +1 -1
  115. package/dist/lib/editor-impl.js +6 -16
  116. package/dist/lib/editor-impl.js.map +1 -1
  117. package/dist/lib/editor-impl.test.js.map +1 -1
  118. package/dist/lib/mentor-client.d.ts +41 -0
  119. package/dist/lib/mentor-client.d.ts.map +1 -0
  120. package/dist/lib/mentor-client.js +146 -0
  121. package/dist/lib/mentor-client.js.map +1 -0
  122. package/dist/lib/mentor-client.test.d.ts +2 -0
  123. package/dist/lib/mentor-client.test.d.ts.map +1 -0
  124. package/dist/lib/mentor-client.test.js +440 -0
  125. package/dist/lib/mentor-client.test.js.map +1 -0
  126. package/dist/lib/openai-agent-client.chat.test.js +33 -8
  127. package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
  128. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  129. package/dist/lib/openai-agent-client.flex-tier.test.js +5 -5
  130. package/dist/lib/openai-agent-client.flex-tier.test.js.map +1 -1
  131. package/dist/lib/openai-agent-client.js +87 -84
  132. package/dist/lib/openai-agent-client.js.map +1 -1
  133. package/dist/lib/openai-agent-client.public-methods.test.js +186 -12
  134. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
  135. package/dist/lib/openai-agent-client.test.js +17 -17
  136. package/dist/lib/openai-agent-client.test.js.map +1 -1
  137. package/dist/lib/retry-strategy.d.ts +43 -0
  138. package/dist/lib/retry-strategy.d.ts.map +1 -0
  139. package/dist/lib/retry-strategy.js +93 -0
  140. package/dist/lib/retry-strategy.js.map +1 -0
  141. package/dist/lib/retry-strategy.test.d.ts +2 -0
  142. package/dist/lib/retry-strategy.test.d.ts.map +1 -0
  143. package/dist/lib/retry-strategy.test.js +200 -0
  144. package/dist/lib/retry-strategy.test.js.map +1 -0
  145. package/dist/lib/tool-invoke.d.ts.map +1 -1
  146. package/dist/lib/tool-invoke.js.map +1 -1
  147. package/dist/lib/tool-invoke.test.js.map +1 -1
  148. package/dist/no-singleton-imports.test.js +1 -1
  149. package/dist/no-singleton-imports.test.js.map +1 -1
  150. package/dist/non-interactive.d.ts +20 -0
  151. package/dist/non-interactive.d.ts.map +1 -0
  152. package/dist/non-interactive.js +86 -0
  153. package/dist/non-interactive.js.map +1 -0
  154. package/dist/non-interactive.test.d.ts +2 -0
  155. package/dist/non-interactive.test.d.ts.map +1 -0
  156. package/dist/non-interactive.test.js +213 -0
  157. package/dist/non-interactive.test.js.map +1 -0
  158. package/dist/prompts/anthropic.md +11 -11
  159. package/dist/prompts/codex.md +63 -63
  160. package/dist/prompts/gpt-5.md +95 -95
  161. package/dist/prompts/mentor-addon.md +6 -5
  162. package/dist/prompts/prompt-selector.d.ts +8 -0
  163. package/dist/prompts/prompt-selector.d.ts.map +1 -0
  164. package/dist/prompts/prompt-selector.js +21 -0
  165. package/dist/prompts/prompt-selector.js.map +1 -0
  166. package/dist/prompts/prompt-selector.test.d.ts +2 -0
  167. package/dist/prompts/prompt-selector.test.d.ts.map +1 -0
  168. package/dist/prompts/prompt-selector.test.js +21 -0
  169. package/dist/prompts/prompt-selector.test.js.map +1 -0
  170. package/dist/prompts/prompt-selector.test.ts +32 -0
  171. package/dist/prompts/prompt-selector.ts +30 -0
  172. package/dist/prompts/simple.md +58 -58
  173. package/dist/providers/index.d.ts.map +1 -1
  174. package/dist/providers/index.js.map +1 -1
  175. package/dist/providers/openai-compatible/api.d.ts.map +1 -1
  176. package/dist/providers/openai-compatible/api.js.map +1 -1
  177. package/dist/providers/openai-compatible/model.d.ts.map +1 -1
  178. package/dist/providers/openai-compatible/model.js +19 -53
  179. package/dist/providers/openai-compatible/model.js.map +1 -1
  180. package/dist/providers/openai-compatible/provider.d.ts.map +1 -1
  181. package/dist/providers/openai-compatible/provider.js.map +1 -1
  182. package/dist/providers/openai-compatible/reasoning-content.test.js +2 -2
  183. package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -1
  184. package/dist/providers/openai-compatible/utils.d.ts.map +1 -1
  185. package/dist/providers/openai-compatible/utils.js.map +1 -1
  186. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  187. package/dist/providers/openai-compatible.provider.js +5 -1
  188. package/dist/providers/openai-compatible.provider.js.map +1 -1
  189. package/dist/providers/openai.provider.js +4 -0
  190. package/dist/providers/openai.provider.js.map +1 -1
  191. package/dist/providers/openrouter/api.d.ts.map +1 -1
  192. package/dist/providers/openrouter/api.js +5 -13
  193. package/dist/providers/openrouter/api.js.map +1 -1
  194. package/dist/providers/openrouter/converters.d.ts.map +1 -1
  195. package/dist/providers/openrouter/converters.js +9 -28
  196. package/dist/providers/openrouter/converters.js.map +1 -1
  197. package/dist/providers/openrouter/converters.test.js +7 -11
  198. package/dist/providers/openrouter/converters.test.js.map +1 -1
  199. package/dist/providers/openrouter/index.d.ts.map +1 -1
  200. package/dist/providers/openrouter/index.js.map +1 -1
  201. package/dist/providers/openrouter/model.d.ts.map +1 -1
  202. package/dist/providers/openrouter/model.js +19 -55
  203. package/dist/providers/openrouter/model.js.map +1 -1
  204. package/dist/providers/openrouter/provider.d.ts.map +1 -1
  205. package/dist/providers/openrouter/provider.js.map +1 -1
  206. package/dist/providers/openrouter/reasoning-content.test.js +1 -1
  207. package/dist/providers/openrouter/reasoning-content.test.js.map +1 -1
  208. package/dist/providers/openrouter/utils.d.ts.map +1 -1
  209. package/dist/providers/openrouter/utils.js +2 -3
  210. package/dist/providers/openrouter/utils.js.map +1 -1
  211. package/dist/providers/openrouter.api.retry.test.js.map +1 -1
  212. package/dist/providers/openrouter.provider.createRunner.test.js +1 -1
  213. package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
  214. package/dist/providers/openrouter.provider.js +6 -4
  215. package/dist/providers/openrouter.provider.js.map +1 -1
  216. package/dist/providers/openrouter.test.js +13 -17
  217. package/dist/providers/openrouter.test.js.map +1 -1
  218. package/dist/providers/registry.d.ts +5 -0
  219. package/dist/providers/registry.d.ts.map +1 -1
  220. package/dist/providers/registry.js.map +1 -1
  221. package/dist/providers/registry.test.js +11 -11
  222. package/dist/providers/registry.test.js.map +1 -1
  223. package/dist/providers/web-search/index.d.ts +1 -1
  224. package/dist/providers/web-search/index.d.ts.map +1 -1
  225. package/dist/providers/web-search/index.js.map +1 -1
  226. package/dist/providers/web-search/registry.d.ts.map +1 -1
  227. package/dist/providers/web-search/registry.js.map +1 -1
  228. package/dist/providers/web-search/registry.test.js +14 -14
  229. package/dist/providers/web-search/registry.test.js.map +1 -1
  230. package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
  231. package/dist/providers/web-search/tavily.provider.js +4 -4
  232. package/dist/providers/web-search/tavily.provider.js.map +1 -1
  233. package/dist/providers/web-search/tavily.provider.test.js +7 -7
  234. package/dist/providers/web-search/tavily.provider.test.js.map +1 -1
  235. package/dist/providers/web-search/types.d.ts.map +1 -1
  236. package/dist/scripts/extract-provider-traffic.d.ts +3 -0
  237. package/dist/scripts/extract-provider-traffic.d.ts.map +1 -0
  238. package/dist/scripts/extract-provider-traffic.js +32 -0
  239. package/dist/scripts/extract-provider-traffic.js.map +1 -0
  240. package/dist/services/approval-state.d.ts +24 -0
  241. package/dist/services/approval-state.d.ts.map +1 -0
  242. package/dist/services/approval-state.js +41 -0
  243. package/dist/services/approval-state.js.map +1 -0
  244. package/dist/services/approval-state.test.d.ts +2 -0
  245. package/dist/services/approval-state.test.d.ts.map +1 -0
  246. package/dist/services/approval-state.test.js +59 -0
  247. package/dist/services/approval-state.test.js.map +1 -0
  248. package/dist/services/command-message-streaming.d.ts +12 -0
  249. package/dist/services/command-message-streaming.d.ts.map +1 -0
  250. package/dist/services/command-message-streaming.js +68 -0
  251. package/dist/services/command-message-streaming.js.map +1 -0
  252. package/dist/services/command-message-streaming.test.d.ts +2 -0
  253. package/dist/services/command-message-streaming.test.d.ts.map +1 -0
  254. package/dist/services/command-message-streaming.test.js +78 -0
  255. package/dist/services/command-message-streaming.test.js.map +1 -0
  256. package/dist/services/conversation-events.d.ts +2 -13
  257. package/dist/services/conversation-events.d.ts.map +1 -1
  258. package/dist/services/conversation-integration.test.d.ts +2 -0
  259. package/dist/services/conversation-integration.test.d.ts.map +1 -0
  260. package/dist/services/conversation-integration.test.js +155 -0
  261. package/dist/services/conversation-integration.test.js.map +1 -0
  262. package/dist/services/conversation-result-builder.d.ts +41 -0
  263. package/dist/services/conversation-result-builder.d.ts.map +1 -0
  264. package/dist/services/conversation-result-builder.js +110 -0
  265. package/dist/services/conversation-result-builder.js.map +1 -0
  266. package/dist/services/conversation-result-builder.test.d.ts +2 -0
  267. package/dist/services/conversation-result-builder.test.d.ts.map +1 -0
  268. package/dist/services/conversation-result-builder.test.js +76 -0
  269. package/dist/services/conversation-result-builder.test.js.map +1 -0
  270. package/dist/services/conversation-service.d.ts +1 -1
  271. package/dist/services/conversation-service.d.ts.map +1 -1
  272. package/dist/services/conversation-service.js.map +1 -1
  273. package/dist/services/conversation-session-reasoning.test.js +3 -3
  274. package/dist/services/conversation-session-reasoning.test.js.map +1 -1
  275. package/dist/services/conversation-session.d.ts +5 -17
  276. package/dist/services/conversation-session.d.ts.map +1 -1
  277. package/dist/services/conversation-session.js +164 -275
  278. package/dist/services/conversation-session.js.map +1 -1
  279. package/dist/services/conversation-store.d.ts.map +1 -1
  280. package/dist/services/conversation-store.js +3 -9
  281. package/dist/services/conversation-store.js.map +1 -1
  282. package/dist/services/conversation-store.test.js +17 -14
  283. package/dist/services/conversation-store.test.js.map +1 -1
  284. package/dist/services/execution-context.d.ts.map +1 -1
  285. package/dist/services/execution-context.js.map +1 -1
  286. package/dist/services/execution-context.test.js +7 -7
  287. package/dist/services/execution-context.test.js.map +1 -1
  288. package/dist/services/file-service.d.ts.map +1 -1
  289. package/dist/services/file-service.js +5 -9
  290. package/dist/services/file-service.js.map +1 -1
  291. package/dist/services/history-service.d.ts.map +1 -1
  292. package/dist/services/history-service.js +3 -7
  293. package/dist/services/history-service.js.map +1 -1
  294. package/dist/services/logging-contract.d.ts +74 -0
  295. package/dist/services/logging-contract.d.ts.map +1 -0
  296. package/dist/services/logging-contract.js +157 -0
  297. package/dist/services/logging-contract.js.map +1 -0
  298. package/dist/services/logging-contract.test.d.ts +2 -0
  299. package/dist/services/logging-contract.test.d.ts.map +1 -0
  300. package/dist/services/logging-contract.test.js +66 -0
  301. package/dist/services/logging-contract.test.js.map +1 -0
  302. package/dist/services/logging-service.d.ts +5 -0
  303. package/dist/services/logging-service.d.ts.map +1 -1
  304. package/dist/services/logging-service.js +93 -21
  305. package/dist/services/logging-service.js.map +1 -1
  306. package/dist/services/model-service.d.ts.map +1 -1
  307. package/dist/services/model-service.js +2 -2
  308. package/dist/services/model-service.js.map +1 -1
  309. package/dist/services/model-service.test.js +6 -6
  310. package/dist/services/model-service.test.js.map +1 -1
  311. package/dist/services/service-interfaces.d.ts.map +1 -1
  312. package/dist/services/settings-env.d.ts +9 -0
  313. package/dist/services/settings-env.d.ts.map +1 -0
  314. package/dist/services/settings-env.js +75 -0
  315. package/dist/services/settings-env.js.map +1 -0
  316. package/dist/services/settings-env.test.d.ts +2 -0
  317. package/dist/services/settings-env.test.d.ts.map +1 -0
  318. package/dist/services/settings-env.test.js +32 -0
  319. package/dist/services/settings-env.test.js.map +1 -0
  320. package/dist/services/settings-merger.d.ts +26 -0
  321. package/dist/services/settings-merger.d.ts.map +1 -0
  322. package/dist/services/settings-merger.js +122 -0
  323. package/dist/services/settings-merger.js.map +1 -0
  324. package/dist/services/settings-merger.test.d.ts +2 -0
  325. package/dist/services/settings-merger.test.d.ts.map +1 -0
  326. package/dist/services/settings-merger.test.js +26 -0
  327. package/dist/services/settings-merger.test.js.map +1 -0
  328. package/dist/services/settings-persistence.d.ts +32 -0
  329. package/dist/services/settings-persistence.d.ts.map +1 -0
  330. package/dist/services/settings-persistence.js +134 -0
  331. package/dist/services/settings-persistence.js.map +1 -0
  332. package/dist/services/settings-persistence.test.d.ts +2 -0
  333. package/dist/services/settings-persistence.test.d.ts.map +1 -0
  334. package/dist/services/settings-persistence.test.js +51 -0
  335. package/dist/services/settings-persistence.test.js.map +1 -0
  336. package/dist/services/settings-schema.d.ts +320 -0
  337. package/dist/services/settings-schema.d.ts.map +1 -0
  338. package/dist/services/settings-schema.js +272 -0
  339. package/dist/services/settings-schema.js.map +1 -0
  340. package/dist/services/settings-service.d.ts +4 -248
  341. package/dist/services/settings-service.d.ts.map +1 -1
  342. package/dist/services/settings-service.js +45 -641
  343. package/dist/services/settings-service.js.map +1 -1
  344. package/dist/services/settings-service.mock.d.ts.map +1 -1
  345. package/dist/services/settings-service.mock.js.map +1 -1
  346. package/dist/services/singleton-deprecation.test.js +2 -2
  347. package/dist/services/singleton-deprecation.test.js.map +1 -1
  348. package/dist/services/ssh-service.d.ts.map +1 -1
  349. package/dist/services/ssh-service.js +8 -7
  350. package/dist/services/ssh-service.js.map +1 -1
  351. package/dist/services/ssh-service.test.js +15 -13
  352. package/dist/services/ssh-service.test.js.map +1 -1
  353. package/dist/services/stream-event-parsing.d.ts +4 -0
  354. package/dist/services/stream-event-parsing.d.ts.map +1 -0
  355. package/dist/services/stream-event-parsing.js +76 -0
  356. package/dist/services/stream-event-parsing.js.map +1 -0
  357. package/dist/services/stream-event-parsing.test.d.ts +2 -0
  358. package/dist/services/stream-event-parsing.test.d.ts.map +1 -0
  359. package/dist/services/stream-event-parsing.test.js +59 -0
  360. package/dist/services/stream-event-parsing.test.js.map +1 -0
  361. package/dist/services/stream-event-processor.d.ts +32 -0
  362. package/dist/services/stream-event-processor.d.ts.map +1 -0
  363. package/dist/services/stream-event-processor.js +344 -0
  364. package/dist/services/stream-event-processor.js.map +1 -0
  365. package/dist/services/stream-event-processor.test.d.ts +2 -0
  366. package/dist/services/stream-event-processor.test.d.ts.map +1 -0
  367. package/dist/services/stream-event-processor.test.js +117 -0
  368. package/dist/services/stream-event-processor.test.js.map +1 -0
  369. package/dist/tools/apply-patch.d.ts.map +1 -1
  370. package/dist/tools/apply-patch.js +45 -35
  371. package/dist/tools/apply-patch.js.map +1 -1
  372. package/dist/tools/apply-patch.test.js +23 -0
  373. package/dist/tools/apply-patch.test.js.map +1 -1
  374. package/dist/tools/ask-mentor.d.ts.map +1 -1
  375. package/dist/tools/ask-mentor.js +5 -15
  376. package/dist/tools/ask-mentor.js.map +1 -1
  377. package/dist/tools/ask-mentor.test.js +1 -1
  378. package/dist/tools/ask-mentor.test.js.map +1 -1
  379. package/dist/tools/create-file.d.ts.map +1 -1
  380. package/dist/tools/create-file.js +2 -2
  381. package/dist/tools/create-file.js.map +1 -1
  382. package/dist/tools/create-file.test.js.map +1 -1
  383. package/dist/tools/edit-healing.d.ts.map +1 -1
  384. package/dist/tools/edit-healing.js +5 -4
  385. package/dist/tools/edit-healing.js.map +1 -1
  386. package/dist/tools/edit-healing.test.js.map +1 -1
  387. package/dist/tools/find-files.d.ts.map +1 -1
  388. package/dist/tools/find-files.js +8 -23
  389. package/dist/tools/find-files.js.map +1 -1
  390. package/dist/tools/find-files.test.js +1 -2
  391. package/dist/tools/find-files.test.js.map +1 -1
  392. package/dist/tools/format-helpers.d.ts.map +1 -1
  393. package/dist/tools/format-helpers.js +2 -6
  394. package/dist/tools/format-helpers.js.map +1 -1
  395. package/dist/tools/grep.d.ts +1 -1
  396. package/dist/tools/grep.d.ts.map +1 -1
  397. package/dist/tools/grep.js +6 -21
  398. package/dist/tools/grep.js.map +1 -1
  399. package/dist/tools/read-file.d.ts.map +1 -1
  400. package/dist/tools/read-file.js +3 -7
  401. package/dist/tools/read-file.js.map +1 -1
  402. package/dist/tools/read-file.test.js.map +1 -1
  403. package/dist/tools/search-replace.d.ts.map +1 -1
  404. package/dist/tools/search-replace.js +14 -31
  405. package/dist/tools/search-replace.js.map +1 -1
  406. package/dist/tools/search-replace.test.js.map +1 -1
  407. package/dist/tools/search.d.ts +1 -1
  408. package/dist/tools/search.d.ts.map +1 -1
  409. package/dist/tools/search.js +6 -16
  410. package/dist/tools/search.js.map +1 -1
  411. package/dist/tools/shell.d.ts +1 -1
  412. package/dist/tools/shell.d.ts.map +1 -1
  413. package/dist/tools/shell.js +25 -51
  414. package/dist/tools/shell.js.map +1 -1
  415. package/dist/tools/shell.test.d.ts +2 -0
  416. package/dist/tools/shell.test.d.ts.map +1 -0
  417. package/dist/tools/shell.test.js +70 -0
  418. package/dist/tools/shell.test.js.map +1 -0
  419. package/dist/tools/tool-names.d.ts +3 -0
  420. package/dist/tools/tool-names.d.ts.map +1 -0
  421. package/dist/tools/tool-names.js +3 -0
  422. package/dist/tools/tool-names.js.map +1 -0
  423. package/dist/tools/tool-names.test.d.ts +2 -0
  424. package/dist/tools/tool-names.test.d.ts.map +1 -0
  425. package/dist/tools/tool-names.test.js +7 -0
  426. package/dist/tools/tool-names.test.js.map +1 -0
  427. package/dist/tools/types.d.ts.map +1 -1
  428. package/dist/tools/utils.d.ts.map +1 -1
  429. package/dist/tools/utils.js +3 -8
  430. package/dist/tools/utils.js.map +1 -1
  431. package/dist/tools/web-fetch.d.ts.map +1 -1
  432. package/dist/tools/web-fetch.js +4 -8
  433. package/dist/tools/web-fetch.js.map +1 -1
  434. package/dist/tools/web-fetch.test.js +3 -3
  435. package/dist/tools/web-fetch.test.js.map +1 -1
  436. package/dist/tools/web-search.d.ts.map +1 -1
  437. package/dist/tools/web-search.js +6 -10
  438. package/dist/tools/web-search.js.map +1 -1
  439. package/dist/tools/web-search.test.js +12 -14
  440. package/dist/tools/web-search.test.js.map +1 -1
  441. package/dist/types/messages.d.ts +29 -0
  442. package/dist/types/messages.d.ts.map +1 -0
  443. package/dist/types/messages.js +2 -0
  444. package/dist/types/messages.js.map +1 -0
  445. package/dist/utils/command-logger.d.ts.map +1 -1
  446. package/dist/utils/command-logger.js.map +1 -1
  447. package/dist/utils/command-safety/constants.d.ts.map +1 -1
  448. package/dist/utils/command-safety/constants.js +1 -9
  449. package/dist/utils/command-safety/constants.js.map +1 -1
  450. package/dist/utils/command-safety/find-helpers.d.ts.map +1 -1
  451. package/dist/utils/command-safety/find-helpers.js +4 -9
  452. package/dist/utils/command-safety/find-helpers.js.map +1 -1
  453. package/dist/utils/command-safety/handlers/find-handler.d.ts.map +1 -1
  454. package/dist/utils/command-safety/handlers/find-handler.js +3 -10
  455. package/dist/utils/command-safety/handlers/find-handler.js.map +1 -1
  456. package/dist/utils/command-safety/handlers/git-handler.d.ts.map +1 -1
  457. package/dist/utils/command-safety/handlers/git-handler.js +2 -4
  458. package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
  459. package/dist/utils/command-safety/handlers/index.d.ts +1 -1
  460. package/dist/utils/command-safety/handlers/index.d.ts.map +1 -1
  461. package/dist/utils/command-safety/handlers/index.js.map +1 -1
  462. package/dist/utils/command-safety/handlers/sed-handler.d.ts.map +1 -1
  463. package/dist/utils/command-safety/handlers/sed-handler.js.map +1 -1
  464. package/dist/utils/command-safety/handlers/types.d.ts.map +1 -1
  465. package/dist/utils/command-safety/index.d.ts.map +1 -1
  466. package/dist/utils/command-safety/index.js +4 -10
  467. package/dist/utils/command-safety/index.js.map +1 -1
  468. package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
  469. package/dist/utils/command-safety/path-analysis.js +9 -20
  470. package/dist/utils/command-safety/path-analysis.js.map +1 -1
  471. package/dist/utils/command-safety/utils.d.ts.map +1 -1
  472. package/dist/utils/command-safety/utils.js +1 -3
  473. package/dist/utils/command-safety/utils.js.map +1 -1
  474. package/dist/utils/command-safety.find.test.js +44 -87
  475. package/dist/utils/command-safety.find.test.js.map +1 -1
  476. package/dist/utils/command-safety.path.test.js +32 -67
  477. package/dist/utils/command-safety.path.test.js.map +1 -1
  478. package/dist/utils/conversation-event-handler.d.ts +4 -16
  479. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  480. package/dist/utils/conversation-event-handler.js +4 -8
  481. package/dist/utils/conversation-event-handler.js.map +1 -1
  482. package/dist/utils/conversation-event-handler.test.js +16 -18
  483. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  484. package/dist/utils/conversation-utils.d.ts.map +1 -1
  485. package/dist/utils/conversation-utils.js +5 -8
  486. package/dist/utils/conversation-utils.js.map +1 -1
  487. package/dist/utils/conversation-utils.test.js +45 -44
  488. package/dist/utils/conversation-utils.test.js.map +1 -1
  489. package/dist/utils/diff.d.ts.map +1 -1
  490. package/dist/utils/diff.js +2 -4
  491. package/dist/utils/diff.js.map +1 -1
  492. package/dist/utils/diff.test.js +12 -12
  493. package/dist/utils/diff.test.js.map +1 -1
  494. package/dist/utils/error-helpers.d.ts.map +1 -1
  495. package/dist/utils/error-helpers.js +2 -6
  496. package/dist/utils/error-helpers.js.map +1 -1
  497. package/dist/utils/error-helpers.test.js +32 -32
  498. package/dist/utils/error-helpers.test.js.map +1 -1
  499. package/dist/utils/execute-shell.d.ts.map +1 -1
  500. package/dist/utils/execute-shell.js.map +1 -1
  501. package/dist/utils/execute-shell.test.js.map +1 -1
  502. package/dist/utils/extract-command-messages.d.ts.map +1 -1
  503. package/dist/utils/extract-command-messages.js +16 -21
  504. package/dist/utils/extract-command-messages.js.map +1 -1
  505. package/dist/utils/ink-render-options.d.ts.map +1 -1
  506. package/dist/utils/ink-render-options.js.map +1 -1
  507. package/dist/utils/log-viewer-filters.d.ts +29 -0
  508. package/dist/utils/log-viewer-filters.d.ts.map +1 -0
  509. package/dist/utils/log-viewer-filters.js +49 -0
  510. package/dist/utils/log-viewer-filters.js.map +1 -0
  511. package/dist/utils/log-viewer-filters.test.d.ts +2 -0
  512. package/dist/utils/log-viewer-filters.test.d.ts.map +1 -0
  513. package/dist/utils/log-viewer-filters.test.js +48 -0
  514. package/dist/utils/log-viewer-filters.test.js.map +1 -0
  515. package/dist/utils/message-buffer.d.ts.map +1 -1
  516. package/dist/utils/message-buffer.js.map +1 -1
  517. package/dist/utils/message-buffer.test.js +4 -4
  518. package/dist/utils/message-buffer.test.js.map +1 -1
  519. package/dist/utils/output-trim.d.ts.map +1 -1
  520. package/dist/utils/output-trim.js.map +1 -1
  521. package/dist/utils/provider-credentials.d.ts.map +1 -1
  522. package/dist/utils/provider-credentials.js +1 -1
  523. package/dist/utils/provider-credentials.js.map +1 -1
  524. package/dist/utils/provider-traffic-extractor.d.ts +18 -0
  525. package/dist/utils/provider-traffic-extractor.d.ts.map +1 -0
  526. package/dist/utils/provider-traffic-extractor.js +121 -0
  527. package/dist/utils/provider-traffic-extractor.js.map +1 -0
  528. package/dist/utils/provider-traffic-extractor.test.d.ts +2 -0
  529. package/dist/utils/provider-traffic-extractor.test.d.ts.map +1 -0
  530. package/dist/utils/provider-traffic-extractor.test.js +84 -0
  531. package/dist/utils/provider-traffic-extractor.test.js.map +1 -0
  532. package/dist/utils/settings-command.d.ts.map +1 -1
  533. package/dist/utils/settings-command.js +5 -12
  534. package/dist/utils/settings-command.js.map +1 -1
  535. package/dist/utils/ssh-config-parser.d.ts.map +1 -1
  536. package/dist/utils/ssh-config-parser.js.map +1 -1
  537. package/dist/utils/ssh-config-parser.test.js.map +1 -1
  538. package/dist/utils/streaming-session-factory.d.ts +33 -0
  539. package/dist/utils/streaming-session-factory.d.ts.map +1 -0
  540. package/dist/utils/streaming-session-factory.js +75 -0
  541. package/dist/utils/streaming-session-factory.js.map +1 -0
  542. package/dist/utils/streaming-session-factory.test.d.ts +2 -0
  543. package/dist/utils/streaming-session-factory.test.d.ts.map +1 -0
  544. package/dist/utils/streaming-session-factory.test.js +74 -0
  545. package/dist/utils/streaming-session-factory.test.js.map +1 -0
  546. package/dist/utils/streaming-updater.d.ts.map +1 -1
  547. package/dist/utils/streaming-updater.js.map +1 -1
  548. package/dist/utils/throttle.d.ts.map +1 -1
  549. package/dist/utils/throttle.js.map +1 -1
  550. package/dist/utils/token-usage.d.ts.map +1 -1
  551. package/dist/utils/token-usage.js +1 -2
  552. package/dist/utils/token-usage.js.map +1 -1
  553. package/dist/utils/token-usage.test.js +8 -8
  554. package/dist/utils/token-usage.test.js.map +1 -1
  555. package/dist/utils/trim-tool-output.d.ts.map +1 -1
  556. package/dist/utils/trim-tool-output.js +1 -1
  557. package/dist/utils/trim-tool-output.js.map +1 -1
  558. package/package.json +117 -111
  559. package/readme.md +196 -145
@@ -11,18 +11,17 @@ const mockLogger = {
11
11
  clearCorrelationId: () => { },
12
12
  log: () => { },
13
13
  };
14
- // Mock Settings
15
- const mockSettings = {
14
+ const createMockSettings = (providerId) => ({
16
15
  get: (key) => {
17
16
  if (key === 'agent.provider')
18
- return 'mock-provider-chat';
17
+ return providerId;
19
18
  if (key === 'agent.model')
20
19
  return 'mock-model';
21
20
  return undefined;
22
21
  },
23
22
  set: () => { },
24
23
  onChange: () => { },
25
- };
24
+ });
26
25
  // Mock Runner
27
26
  let lastRunOptions = null;
28
27
  class MockRunner {
@@ -41,28 +40,54 @@ test.before(() => {
41
40
  label: 'Mock Provider Chat',
42
41
  createRunner: () => new MockRunner(),
43
42
  fetchModels: async () => [{ id: 'mock-model' }],
43
+ capabilities: {
44
+ supportsConversationChaining: false,
45
+ supportsTracingControl: false,
46
+ },
47
+ });
48
+ registerProvider({
49
+ id: 'mock-provider-chat-tracing',
50
+ label: 'Mock Provider Chat Tracing',
51
+ createRunner: () => new MockRunner(),
52
+ fetchModels: async () => [{ id: 'mock-model' }],
53
+ capabilities: {
54
+ supportsConversationChaining: false,
55
+ supportsTracingControl: true,
56
+ },
44
57
  });
45
58
  });
46
- test('OpenAIAgentClient.chat falls back to messages if finalOutput is missing', async (t) => {
59
+ test.serial('OpenAIAgentClient.chat falls back to messages if finalOutput is missing', async (t) => {
47
60
  const client = new OpenAIAgentClient({
48
61
  deps: {
49
62
  logger: mockLogger,
50
- settings: mockSettings,
63
+ settings: createMockSettings('mock-provider-chat'),
51
64
  },
52
65
  });
53
66
  const response = await client.chat('Hello');
54
67
  t.is(response, 'Fallback content');
55
68
  });
56
- test('disables Agents SDK tracing for non-OpenAI providers', async (t) => {
69
+ test.serial('disables Agents SDK tracing for non-OpenAI providers', async (t) => {
57
70
  lastRunOptions = null;
58
71
  const client = new OpenAIAgentClient({
59
72
  deps: {
60
73
  logger: mockLogger,
61
- settings: mockSettings,
74
+ settings: createMockSettings('mock-provider-chat'),
62
75
  },
63
76
  });
64
77
  await client.chat('Hello again');
65
78
  t.truthy(lastRunOptions);
66
79
  t.is(lastRunOptions.tracingDisabled, true);
67
80
  });
81
+ test.serial('keeps Agents SDK tracing enabled when provider supports it', async (t) => {
82
+ lastRunOptions = null;
83
+ const client = new OpenAIAgentClient({
84
+ deps: {
85
+ logger: mockLogger,
86
+ settings: createMockSettings('mock-provider-chat-tracing'),
87
+ },
88
+ });
89
+ await client.chat('Hello tracing');
90
+ t.truthy(lastRunOptions);
91
+ t.false(!!lastRunOptions.tracingDisabled);
92
+ });
68
93
  //# sourceMappingURL=openai-agent-client.chat.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-agent-client.chat.test.js","sourceRoot":"","sources":["../../source/lib/openai-agent-client.chat.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAM1D,cAAc;AACd,MAAM,UAAU,GAAoB;IAChC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;CACT,CAAC;AAET,gBAAgB;AAChB,MAAM,YAAY,GAAqB;IACnC,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;QACjB,IAAI,GAAG,KAAK,gBAAgB;YAAE,OAAO,oBAAoB,CAAC;QAC1D,IAAI,GAAG,KAAK,aAAa;YAAE,OAAO,YAAY,CAAC;QAC/C,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;IACb,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACd,CAAC;AAET,cAAc;AACd,IAAI,cAAc,GAAQ,IAAI,CAAC;AAC/B,MAAM,UAAU;IACZ,KAAK,CAAC,GAAG,CAAC,MAAW,EAAE,MAAW,EAAE,QAAa;QAC7C,cAAc,GAAG,QAAQ,CAAC;QAC1B,OAAO;YACH,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAC,CAAC;YAC5D,yBAAyB;SAC5B,CAAC;IACN,CAAC;CACJ;AAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;IACb,gBAAgB,CAAC;QACb,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,oBAAoB;QAC3B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,EAAS;QAC3C,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,YAAY,EAAC,CAAC;KAChD,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACtF,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACjC,IAAI,EAAE;YACF,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,YAAY;SACzB;KACJ,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,cAAc,GAAG,IAAI,CAAC;IAEtB,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACjC,IAAI,EAAE;YACF,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,YAAY;SACzB;KACJ,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"openai-agent-client.chat.test.js","sourceRoot":"","sources":["../../source/lib/openai-agent-client.chat.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openai-agent-client.d.ts","sourceRoot":"","sources":["../../source/lib/openai-agent-client.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,KAAK,4BAA4B,EAAC,MAAM,2BAA2B,CAAC;AAI5E,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAKpE;;;GAGG;AACH,qBAAa,iBAAiB;;gBA4Bd,EACR,KAAK,EACL,eAAe,EACf,QAAQ,EACR,aAAa,EACb,IAAI,GACP,EAAE;QACC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;QAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE;YACF,MAAM,EAAE,eAAe,CAAC;YACxB,QAAQ,EAAE,gBAAgB,CAAC;YAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;SACvC,CAAC;KACL;IA4BD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO7B,kBAAkB,CACd,MAAM,CAAC,EAAE,4BAA4B,GAAG,SAAS,GAClD,IAAI;IAQP,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUnC,WAAW,IAAI,MAAM;IAIrB,kBAAkB,CACd,WAAW,EAAE,CACT,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAC5B,MAAM,IAAI;IAgDb,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAc5C;;OAEG;IACH,KAAK,IAAI,IAAI;IAYb,kBAAkB,IAAI,IAAI;IAqBpB,WAAW,CACb,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,EACzB,EAAC,kBAAkB,EAAC,GAAE;QAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAM,GAChE,OAAO,CAAC,GAAG,CAAC;IAgET,WAAW,CACb,KAAK,EAAE,GAAG,EACV,EAAC,kBAAkB,EAAC,GAAE;QAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAM,GAChE,OAAO,CAAC,GAAG,CAAC;IAmBT,iBAAiB,CACnB,KAAK,EAAE,GAAG,EACV,EAAC,kBAAkB,EAAC,GAAE;QAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAM,GAChE,OAAO,CAAC,GAAG,CAAC;IAoJT,IAAI,CACN,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;QAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;KACpB,GACP,OAAO,CAAC,MAAM,CAAC;CAqdrB"}
1
+ {"version":3,"file":"openai-agent-client.d.ts","sourceRoot":"","sources":["../../source/lib/openai-agent-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAI9E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAKpE;;;GAGG;AACH,qBAAa,iBAAiB;;gBAmChB,EACV,KAAK,EACL,eAAe,EACf,QAAQ,EACR,aAAa,EACb,IAAI,GACL,EAAE;QACD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;QAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE;YACJ,MAAM,EAAE,eAAe,CAAC;YACxB,QAAQ,EAAE,gBAAgB,CAAC;YAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;SACrC,CAAC;KACH;IAyBD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ7B,kBAAkB,CAAC,MAAM,CAAC,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI;IAQ3E,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAWnC,WAAW,IAAI,MAAM;IAIrB,kBAAkB,CAChB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GACtF,MAAM,IAAI;IAkDb,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAc5C;;OAEG;IACH,KAAK,IAAI,IAAI;IAkBb,kBAAkB,IAAI,IAAI;IAWpB,WAAW,CACf,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,EACzB,EAAE,kBAAkB,EAAE,GAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,GAClE,OAAO,CAAC,GAAG,CAAC;IAgET,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,kBAAkB,EAAE,GAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB1G,iBAAiB,CACrB,KAAK,EAAE,GAAG,EACV,EAAE,kBAAkB,EAAE,GAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO,GAClE,OAAO,CAAC,GAAG,CAAC;IAsIT,IAAI,CACR,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;QAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,GACL,OAAO,CAAC,MAAM,CAAC;CA+XnB"}
@@ -10,7 +10,7 @@ const getTestSettingsDir = () => {
10
10
  testCounter += 1;
11
11
  return path.join(TEST_BASE_DIR, `test-${testCounter}`);
12
12
  };
13
- test('OpenAI Flex Service Tier setting can be enabled', t => {
13
+ test('OpenAI Flex Service Tier setting can be enabled', (t) => {
14
14
  const settings = new SettingsService({
15
15
  settingsDir: getTestSettingsDir(),
16
16
  disableFilePersistence: true,
@@ -22,7 +22,7 @@ test('OpenAI Flex Service Tier setting can be enabled', t => {
22
22
  const value = settings.get(SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER);
23
23
  t.is(value, true);
24
24
  });
25
- test('OpenAI Flex Service Tier setting is disabled by default', t => {
25
+ test('OpenAI Flex Service Tier setting is disabled by default', (t) => {
26
26
  const settings = new SettingsService({
27
27
  settingsDir: getTestSettingsDir(),
28
28
  disableFilePersistence: true,
@@ -32,7 +32,7 @@ test('OpenAI Flex Service Tier setting is disabled by default', t => {
32
32
  const value = settings.get(SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER);
33
33
  t.is(value, false);
34
34
  });
35
- test('OpenAI Flex Service Tier setting can be disabled', t => {
35
+ test('OpenAI Flex Service Tier setting can be disabled', (t) => {
36
36
  const settings = new SettingsService({
37
37
  settingsDir: getTestSettingsDir(),
38
38
  disableFilePersistence: true,
@@ -45,7 +45,7 @@ test('OpenAI Flex Service Tier setting can be disabled', t => {
45
45
  const value = settings.get(SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER);
46
46
  t.is(value, false);
47
47
  });
48
- test('OpenAI Flex Service Tier setting is runtime modifiable', t => {
48
+ test('OpenAI Flex Service Tier setting is runtime modifiable', (t) => {
49
49
  const settings = new SettingsService({
50
50
  settingsDir: getTestSettingsDir(),
51
51
  disableFilePersistence: true,
@@ -54,7 +54,7 @@ test('OpenAI Flex Service Tier setting is runtime modifiable', t => {
54
54
  // Verify the setting is runtime modifiable
55
55
  t.true(settings.isRuntimeModifiable(SETTING_KEYS.AGENT_USE_FLEX_SERVICE_TIER));
56
56
  });
57
- test('OpenAI Flex Service Tier setting is included in getAll()', t => {
57
+ test('OpenAI Flex Service Tier setting is included in getAll()', (t) => {
58
58
  const settings = new SettingsService({
59
59
  settingsDir: getTestSettingsDir(),
60
60
  disableFilePersistence: true,
@@ -1 +1 @@
1
- {"version":3,"file":"openai-agent-client.flex-tier.test.js","sourceRoot":"","sources":["../../source/lib/openai-agent-client.flex-tier.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-agent-client.flex-tier.test.js","sourceRoot":"","sources":["../../source/lib/openai-agent-client.flex-tier.test.ts"],"names":[],"mappings":"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"}
@@ -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';
@@ -36,6 +36,16 @@ export class OpenAIAgentClient {
36
36
  #mentorAgent = null;
37
37
  #mentorStore = null;
38
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
+ }
39
49
  constructor({ model, reasoningEffort, maxTurns, retryAttempts, deps, }) {
40
50
  this.#logger = deps.logger;
41
51
  this.#settings = deps.settings;
@@ -47,8 +57,7 @@ export class OpenAIAgentClient {
47
57
  });
48
58
  this.#reasoningEffort = reasoningEffort;
49
59
  this.#temperature = this.#settings.get('agent.temperature');
50
- this.#provider =
51
- this.#settings.get('agent.provider') || 'openai';
60
+ this.#provider = this.#settings.get('agent.provider') || 'openai';
52
61
  this.#maxTurns = maxTurns ?? 20;
53
62
  this.#retryAttempts = retryAttempts ?? 2;
54
63
  this.#agent = this.#createAgent({ model, reasoningEffort });
@@ -66,6 +75,7 @@ export class OpenAIAgentClient {
66
75
  model,
67
76
  reasoningEffort: this.#reasoningEffort,
68
77
  });
78
+ this.#resetMentorState();
69
79
  }
70
80
  setReasoningEffort(effort) {
71
81
  this.#reasoningEffort = effort;
@@ -90,6 +100,7 @@ export class OpenAIAgentClient {
90
100
  reasoningEffort: this.#reasoningEffort,
91
101
  });
92
102
  this.#runner = this.#createRunner(this.#provider);
103
+ this.#resetMentorState();
93
104
  }
94
105
  getProvider() {
95
106
  return this.#provider;
@@ -97,7 +108,7 @@ export class OpenAIAgentClient {
97
108
  addToolInterceptor(interceptor) {
98
109
  this.#toolInterceptors.push(interceptor);
99
110
  return () => {
100
- this.#toolInterceptors = this.#toolInterceptors.filter(i => i !== interceptor);
111
+ this.#toolInterceptors = this.#toolInterceptors.filter((i) => i !== interceptor);
101
112
  };
102
113
  }
103
114
  async #checkToolInterceptors(name, params, toolCallId) {
@@ -120,6 +131,13 @@ export class OpenAIAgentClient {
120
131
  }
121
132
  return null;
122
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
+ }
123
141
  #createRunner(providerId) {
124
142
  const providerDef = getProvider(providerId);
125
143
  if (!providerDef?.createRunner) {
@@ -139,13 +157,14 @@ export class OpenAIAgentClient {
139
157
  reasoningEffort: this.#reasoningEffort,
140
158
  temperature: this.#temperature,
141
159
  });
142
- // Null out mentor agent so it also gets fresh instructions on next use
143
- this.#mentorAgent = null;
160
+ // Refreshing core agent should not keep stale mentor state/instructions.
161
+ this.#resetMentorState();
144
162
  }
145
163
  /**
146
164
  * Abort the current running stream/operation
147
165
  */
148
166
  abort() {
167
+ const traceIdBeforeClear = this.#currentCorrelationId ?? this.#logger.getCorrelationId?.();
149
168
  if (this.#currentAbortController) {
150
169
  this.#currentAbortController.abort();
151
170
  this.#currentAbortController = null;
@@ -154,7 +173,12 @@ export class OpenAIAgentClient {
154
173
  this.#logger.clearCorrelationId();
155
174
  this.#currentCorrelationId = null;
156
175
  }
157
- 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
+ });
158
182
  }
159
183
  clearConversations() {
160
184
  const providerDef = getProvider(this.#provider);
@@ -162,15 +186,6 @@ export class OpenAIAgentClient {
162
186
  providerDef.clearConversations();
163
187
  }
164
188
  this.#refreshAgent();
165
- // Also clear mentor conversation
166
- if (this.#mentorStore) {
167
- this.#mentorStore.clear();
168
- }
169
- this.#mentorPreviousResponseId = null;
170
- this.#mentorStore = null;
171
- this.#mentorRunner = null;
172
- this.#mentorProvider = null;
173
- this.#mentorAgent = null;
174
189
  this.#logger.info('Conversation and agent refreshed');
175
190
  }
176
191
  async startStream(userInput, { previousResponseId } = {}) {
@@ -178,9 +193,7 @@ export class OpenAIAgentClient {
178
193
  this.abort();
179
194
  // Refresh agent instructions for the first message of a session to ensure
180
195
  // directory structure and AGENTS.md content are up to date.
181
- const isFirstMessage = !previousResponseId &&
182
- (!Array.isArray(userInput) ||
183
- (userInput.length > 0 && userInput.length <= 1));
196
+ const isFirstMessage = !previousResponseId && (!Array.isArray(userInput) || (userInput.length > 0 && userInput.length <= 1));
184
197
  if (isFirstMessage) {
185
198
  this.#refreshAgent();
186
199
  }
@@ -190,6 +203,12 @@ export class OpenAIAgentClient {
190
203
  this.#currentAbortController = new AbortController();
191
204
  const signal = this.#currentAbortController.signal;
192
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,
193
212
  inputType: Array.isArray(userInput) ? 'array' : typeof userInput,
194
213
  inputLength: typeof userInput === 'string' ? userInput.length : undefined,
195
214
  inputItems: Array.isArray(userInput) ? userInput.length : undefined,
@@ -201,8 +220,8 @@ export class OpenAIAgentClient {
201
220
  maxTurns: this.#maxTurns,
202
221
  signal,
203
222
  };
204
- // Only pass previousResponseId for OpenAI provider (server-managed conversation chaining)
205
- if (this.#provider === 'openai' && previousResponseId) {
223
+ const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
224
+ if (supportsConversationChaining && previousResponseId) {
206
225
  options.previousResponseId = previousResponseId;
207
226
  }
208
227
  const result = await this.#executeWithRetry(() => this.#runAgent(this.#agent, userInput, options));
@@ -210,16 +229,16 @@ export class OpenAIAgentClient {
210
229
  }
211
230
  catch (error) {
212
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,
213
238
  error: error instanceof Error ? error.message : String(error),
214
- inputType: Array.isArray(userInput)
215
- ? 'array'
216
- : typeof userInput,
217
- inputLength: typeof userInput === 'string'
218
- ? userInput.length
219
- : undefined,
220
- inputItems: Array.isArray(userInput)
221
- ? userInput.length
222
- : 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,
223
242
  });
224
243
  throw error;
225
244
  }
@@ -231,8 +250,8 @@ export class OpenAIAgentClient {
231
250
  const options = {
232
251
  signal,
233
252
  };
234
- // Only pass previousResponseId for OpenAI provider (server-managed conversation chaining)
235
- if (this.#provider === 'openai' && previousResponseId) {
253
+ const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
254
+ if (supportsConversationChaining && previousResponseId) {
236
255
  options.previousResponseId = previousResponseId;
237
256
  }
238
257
  return this.#executeWithRetry(() => this.#runAgent(this.#agent, state, options));
@@ -246,8 +265,8 @@ export class OpenAIAgentClient {
246
265
  maxTurns: this.#maxTurns,
247
266
  signal,
248
267
  };
249
- // Only pass previousResponseId for OpenAI provider (server-managed conversation chaining)
250
- if (this.#provider === 'openai' && previousResponseId) {
268
+ const { supportsConversationChaining } = this.#getProviderCapabilities(this.#provider);
269
+ if (supportsConversationChaining && previousResponseId) {
251
270
  options.previousResponseId = previousResponseId;
252
271
  }
253
272
  return this.#executeWithRetry(() => this.#runAgent(this.#agent, state, options));
@@ -257,7 +276,8 @@ export class OpenAIAgentClient {
257
276
  // When using non-OpenAI providers (e.g., OpenRouter), this export can fail noisily
258
277
  // (e.g., 503 errors). Disable tracing per-run for any non-OpenAI provider.
259
278
  const effectiveOptions = options ? { ...options } : {};
260
- if (providerId !== 'openai') {
279
+ const { supportsTracingControl } = this.#getProviderCapabilities(providerId);
280
+ if (!supportsTracingControl) {
261
281
  effectiveOptions.tracingDisabled = true;
262
282
  }
263
283
  // Check if provider is configured but runner failed to initialize
@@ -290,24 +310,16 @@ export class OpenAIAgentClient {
290
310
  error instanceof InternalServerError ||
291
311
  error instanceof RateLimitError;
292
312
  // Check if it's an OpenRouter error with retryable status
293
- const isOpenRouterRetryable = error instanceof OpenRouterError &&
294
- (error.status === 429 || error.status >= 500);
295
- const isOpenAICompatibleRetryable = error instanceof OpenAICompatibleError &&
296
- (error.status === 429 || error.status >= 500);
297
- const isRetryable = retries > 0 &&
298
- (isTransientError ||
299
- isOpenRouterRetryable ||
300
- 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);
301
316
  if (isRetryable) {
302
317
  const attemptIndex = this.#retryAttempts - retries;
303
318
  let delay;
304
319
  // Check for Retry-After header (both OpenAI and OpenRouter)
305
- const retryAfterHeader = (error instanceof RateLimitError &&
306
- error.headers?.['retry-after']) ||
307
- (error instanceof OpenRouterError &&
308
- error.headers['retry-after']) ||
309
- (error instanceof OpenAICompatibleError &&
310
- 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']);
311
323
  if (retryAfterHeader) {
312
324
  // Respect the Retry-After header
313
325
  delay = parseInt(retryAfterHeader, 10) * 1000;
@@ -324,8 +336,16 @@ export class OpenAIAgentClient {
324
336
  // Apply full jitter: random value between 0 and cappedDelay
325
337
  delay = Math.random() * cappedDelay;
326
338
  }
327
- await new Promise(resolve => setTimeout(resolve, delay));
339
+ await new Promise((resolve) => setTimeout(resolve, delay));
328
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,
329
349
  errorType: error.constructor.name,
330
350
  retriesRemaining: retries - 1,
331
351
  delayMs: Math.round(delay),
@@ -367,9 +387,7 @@ export class OpenAIAgentClient {
367
387
  agentForChat = new Agent({
368
388
  name: 'Mentor',
369
389
  model: tempModel,
370
- ...(Object.keys(modelSettings).length > 0
371
- ? { modelSettings }
372
- : {}),
390
+ ...(Object.keys(modelSettings).length > 0 ? { modelSettings } : {}),
373
391
  instructions: options.instructions || 'You are a helpful mentor assistant.',
374
392
  });
375
393
  // Ensure runner is compatible or use run()
@@ -403,9 +421,7 @@ export class OpenAIAgentClient {
403
421
  return lastMessage.content;
404
422
  }
405
423
  if (Array.isArray(lastMessage.content)) {
406
- return lastMessage.content
407
- .map((part) => part.text || part.value || '')
408
- .join('');
424
+ return lastMessage.content.map((part) => part.text || part.value || '').join('');
409
425
  }
410
426
  }
411
427
  }
@@ -434,14 +450,12 @@ export class OpenAIAgentClient {
434
450
  '- Suggest alternatives they may have dismissed too quickly\n' +
435
451
  '- Ask for evidence when confidence seems misplaced\n\n' +
436
452
  'When satisfied, give clear approval with specific next steps. When not, say exactly what needs more investigation.\n\n' +
437
- 'Be concise. Push back hard, but don\'t block unnecessarily.'
453
+ "Be concise. Push back hard, but don't block unnecessarily."
438
454
  : 'You are a helpful mentor assistant. Provide advice and guidance on technical problems. Be concise and actionable.';
439
455
  // Add environment info and AGENTS.md context
440
456
  const envInfo = getEnvInfo(this.#settings, this.#executionContext);
441
457
  const cwd = this.#executionContext?.getCwd() ?? process.cwd();
442
- const agentsInstructions = this.#executionContext?.isRemote()
443
- ? ''
444
- : getAgentsInstructions(cwd);
458
+ const agentsInstructions = this.#executionContext?.isRemote() ? '' : getAgentsInstructions(cwd);
445
459
  const instructions = `${baseInstructions}\n\nEnvironment: ${envInfo}${agentsInstructions}`;
446
460
  // If mentor provider changed, reset mentor state to avoid mixing stores/prev ids across providers
447
461
  if (this.#mentorProvider !== mentorProvider) {
@@ -467,9 +481,7 @@ export class OpenAIAgentClient {
467
481
  this.#mentorAgent = new Agent({
468
482
  name: 'Mentor',
469
483
  model: mentorModel,
470
- ...(Object.keys(modelSettings).length > 0
471
- ? { modelSettings }
472
- : {}),
484
+ ...(Object.keys(modelSettings).length > 0 ? { modelSettings } : {}),
473
485
  instructions,
474
486
  });
475
487
  this.#mentorStore = new ConversationStore();
@@ -480,19 +492,18 @@ export class OpenAIAgentClient {
480
492
  // Determine input based on provider
481
493
  // OpenAI uses previousResponseId for server-side history
482
494
  // Others need full conversation history from store
483
- const input = mentorProvider !== 'openai'
484
- ? this.#mentorStore.getHistory()
485
- : question;
495
+ const { supportsConversationChaining } = this.#getProviderCapabilities(mentorProvider);
496
+ const input = supportsConversationChaining ? question : this.#mentorStore.getHistory();
486
497
  const result = await this.#runAgentWithProvider(mentorProvider, this.#mentorRunner, this.#mentorAgent, input, {
487
498
  stream: false,
488
499
  maxTurns: 1,
489
- ...(mentorProvider === 'openai' && this.#mentorPreviousResponseId
500
+ ...(supportsConversationChaining && this.#mentorPreviousResponseId
490
501
  ? { previousResponseId: this.#mentorPreviousResponseId }
491
502
  : {}),
492
503
  });
493
504
  // Update conversation store with result
494
505
  this.#mentorStore.updateFromResult(result);
495
- // Track previousResponseId for OpenAI
506
+ // Track previousResponseId when provided by the provider.
496
507
  if (result.responseId) {
497
508
  this.#mentorPreviousResponseId = result.responseId;
498
509
  }
@@ -508,9 +519,7 @@ export class OpenAIAgentClient {
508
519
  response = lastMessage.content;
509
520
  }
510
521
  else if (Array.isArray(lastMessage.content)) {
511
- response = lastMessage.content
512
- .map((part) => part.text || part.value || '')
513
- .join('');
522
+ response = lastMessage.content.map((part) => part.text || part.value || '').join('');
514
523
  }
515
524
  }
516
525
  }
@@ -526,8 +535,7 @@ export class OpenAIAgentClient {
526
535
  #createAgent({ model, reasoningEffort, temperature, } = {}) {
527
536
  const resolvedModel = model?.trim() || this.#settings.get('agent.model');
528
537
  this.#model = resolvedModel;
529
- const resolvedTemperature = temperature ??
530
- this.#settings.get('agent.temperature');
538
+ const resolvedTemperature = temperature ?? this.#settings.get('agent.temperature');
531
539
  const { name, instructions, tools: toolDefinitions, } = getAgentDefinition({
532
540
  settingsService: this.#settings,
533
541
  loggingService: this.#logger,
@@ -538,15 +546,14 @@ export class OpenAIAgentClient {
538
546
  // Determine if we should use the native applyPatchTool
539
547
  const shouldUseNativePatchTool = this.#provider === 'openai' && resolvedModel.startsWith('gpt-5.1');
540
548
  const tools = toolDefinitions
541
- .filter(definition => {
549
+ .filter((definition) => {
542
550
  // Exclude custom apply_patch if we're using native one
543
- if (shouldUseNativePatchTool &&
544
- definition.name === 'apply_patch') {
551
+ if (shouldUseNativePatchTool && definition.name === 'apply_patch') {
545
552
  return false;
546
553
  }
547
554
  return true;
548
555
  })
549
- .map(definition => wrapToolInvoke(createTool({
556
+ .map((definition) => wrapToolInvoke(createTool({
550
557
  name: definition.name,
551
558
  description: definition.description,
552
559
  parameters: definition.parameters,
@@ -594,10 +601,7 @@ export class OpenAIAgentClient {
594
601
  const normalizedInput = normalizeToolInput(input);
595
602
  let params;
596
603
  try {
597
- params =
598
- typeof input === 'string'
599
- ? JSON.parse(input)
600
- : input;
604
+ params = typeof input === 'string' ? JSON.parse(input) : input;
601
605
  }
602
606
  catch {
603
607
  params = input;
@@ -659,8 +663,7 @@ export class OpenAIAgentClient {
659
663
  }
660
664
  // Temperature: only pass when explicitly set (number). Undefined means
661
665
  // provider/model default.
662
- if (typeof resolvedTemperature === 'number' &&
663
- Number.isFinite(resolvedTemperature)) {
666
+ if (typeof resolvedTemperature === 'number' && Number.isFinite(resolvedTemperature)) {
664
667
  modelSettings.temperature = resolvedTemperature;
665
668
  }
666
669
  // OpenAI Flex Service Tier: only pass when enabled and using OpenAI provider