promptfoo 0.120.24 → 0.120.26

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 (304) hide show
  1. package/README.md +35 -22
  2. package/dist/src/{ListApp-55OAHww3.js → ListApp-D3DG0F8h.js} +1 -1
  3. package/dist/src/{accounts-BwVGYllP.cjs → accounts-BzEY8H3v.cjs} +5 -5
  4. package/dist/src/{accounts-BOlMHrvn.js → accounts-DHHiXsy6.js} +6 -6
  5. package/dist/src/{accounts-DxR9x_En.js → accounts-R3gfCR_g.js} +5 -5
  6. package/dist/src/{agentic-utils-t9-1raty.js → agentic-utils-D6_gzOUF.js} +3 -3
  7. package/dist/src/{agents-DMpQ860j.cjs → agents-C7BiinFI.cjs} +7 -7
  8. package/dist/src/{agents-9Z7pO8yx.js → agents-Cao4i7AX.js} +8 -8
  9. package/dist/src/{agents-DjExVR3v.js → agents-Cnph5GLD.js} +2 -2
  10. package/dist/src/{agents-CI0Ad69d.cjs → agents-CwM7re15.cjs} +5 -5
  11. package/dist/src/{agents-BwI-Tm5m.js → agents-DETIQHqF.js} +7 -7
  12. package/dist/src/{agents-CRAmwjo-.js → agents-DYIT-hQy.js} +6 -6
  13. package/dist/src/{agents-BbIpDhgp.js → agents-GiUianme.js} +5 -5
  14. package/dist/src/{agents-yL5DzIKY.js → agents-v4cW_ZgC.js} +2 -2
  15. package/dist/src/{aimlapi-xHHqwNg8.js → aimlapi-CMJpKK-B.js} +13 -13
  16. package/dist/src/{aimlapi-BM9P45Bp.js → aimlapi-DMF6v_vb.js} +15 -15
  17. package/dist/src/{aimlapi-DKo7IxJg.cjs → aimlapi-DoGLcQW_.cjs} +14 -14
  18. package/dist/src/{aimlapi-ivzDkqbs.js → aimlapi-DtSf1ykJ.js} +2 -2
  19. package/dist/src/app/assets/index-BOgkICuY.css +1 -0
  20. package/dist/src/app/assets/index-CSgqn_Vd.js +428 -0
  21. package/dist/src/app/assets/{vendor-charts-DnwydkkY.js → vendor-charts-CYyo8R8v.js} +1 -1
  22. package/dist/src/app/assets/{vendor-markdown-DjKAU15k.js → vendor-markdown-DSmzq4Jh.js} +1 -1
  23. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +4 -0
  24. package/dist/src/app/assets/{vendor-syntax-Dc86c4Bu.js → vendor-syntax-D06x6TQF.js} +1 -1
  25. package/dist/src/app/index.html +6 -6
  26. package/dist/src/app/tsconfig.app.tsbuildinfo +1 -1
  27. package/dist/src/{audio-B3QGL6Nl.cjs → audio-BWjyvHn9.cjs} +4 -4
  28. package/dist/src/{audio-C-1oBiVZ.js → audio-BrJBFN2b.js} +4 -4
  29. package/dist/src/{audio-DnfDVjhL.js → audio-DUH4q0Xq.js} +5 -5
  30. package/dist/src/{audio-DQWHfAr8.js → audio-U580w8jM.js} +2 -2
  31. package/dist/src/{base-DHam07ip.js → base-BaXmtXYp.js} +3 -3
  32. package/dist/src/{base-BjsgxJp9.js → base-Dtp8b4_N.js} +3 -3
  33. package/dist/src/{base-Bso8ccGu.cjs → base-f71xxWai.cjs} +3 -3
  34. package/dist/src/{blobs-DOdc-E8L.cjs → blobs-673H0jCl.cjs} +3 -3
  35. package/dist/src/{blobs-Dcm272OH.js → blobs-C9J2mVgo.js} +3 -3
  36. package/dist/src/{blobs-MlVQyoSc.js → blobs-kt8v3UyH.js} +3 -3
  37. package/dist/src/{cache-KNsTJLKP.cjs → cache-7xULbvt3.cjs} +35 -8
  38. package/dist/src/{cache-BMl3AIo5.js → cache-BLLayYEN.js} +24 -9
  39. package/dist/src/{cache-B0ptF7sO.js → cache-BUPcq0Ad.js} +3 -3
  40. package/dist/src/cache-CVfRb-HD.cjs +6 -0
  41. package/dist/src/{cache-DPztwHxt.js → cache-O4EuX2JV.js} +4 -4
  42. package/dist/src/{cache-DHm8Pc8l.js → cache-mIszOnuz.js} +5 -22
  43. package/dist/src/{chat-DOQIJx7O.cjs → chat-C4zqjObh.cjs} +10 -10
  44. package/dist/src/{chat-DDGU7Tik.js → chat-C8Ei4f87.js} +9 -9
  45. package/dist/src/{chat-BnzIuoTQ.js → chat-CgyGj2hC.js} +12 -12
  46. package/dist/src/{chat-BRMJOuCv.js → chat-Cpz3O-Xl.js} +14 -14
  47. package/dist/src/{chat-CVOyOBYk.js → chat-DIywASPG.js} +11 -11
  48. package/dist/src/{chat-CrnXMbvh.cjs → chat-Fl6TZJRS.cjs} +13 -13
  49. package/dist/src/{chat-D8GcWK9l.js → chat-XPN9YHhr.js} +2 -2
  50. package/dist/src/{chatkit-IWIuhxFE.js → chatkit-DEls11hE.js} +4 -4
  51. package/dist/src/{chatkit-DlOZ-eNb.js → chatkit-DIrJX8xk.js} +4 -4
  52. package/dist/src/{chatkit-CcktkleS.js → chatkit-Dpxrq4eD.js} +2 -2
  53. package/dist/src/{chatkit-yeVtURUi.cjs → chatkit-e25Ziu17.cjs} +4 -4
  54. package/dist/src/{claude-agent-sdk-BiMgSH9g.js → claude-agent-sdk-6-xTaLwM.js} +48 -19
  55. package/dist/src/{claude-agent-sdk-Yj9Hq0cH.cjs → claude-agent-sdk-BzxF6NIJ.cjs} +48 -19
  56. package/dist/src/{claude-agent-sdk-rVqlUIJl.js → claude-agent-sdk-CmkTnKGH.js} +49 -20
  57. package/dist/src/{claude-agent-sdk-yid1kGsL.js → claude-agent-sdk-rXCBLK_o.js} +40 -11
  58. package/dist/src/{cloud-ByJVRSQI.js → cloud-BMbRVJFw.js} +3 -3
  59. package/dist/src/cloud-CZ4hytdm.js +5 -0
  60. package/dist/src/{cloudflare-ai-DmJZcvVx.cjs → cloudflare-ai-BAQ0u_dg.cjs} +14 -14
  61. package/dist/src/{cloudflare-ai-CWKYPCCF.js → cloudflare-ai-CUg4BTcj.js} +13 -13
  62. package/dist/src/{cloudflare-ai-goDJ5bwr.js → cloudflare-ai-CobxMTR4.js} +15 -15
  63. package/dist/src/{cloudflare-ai-CdKv38f6.js → cloudflare-ai-Z9X219gp.js} +2 -2
  64. package/dist/src/{cloudflare-gateway-BW8hcdB0.cjs → cloudflare-gateway-C0sgfr_z.cjs} +15 -15
  65. package/dist/src/{cloudflare-gateway-CDCOS1Os.js → cloudflare-gateway-D2_yi-Fh.js} +16 -16
  66. package/dist/src/{cloudflare-gateway-Dz_HCMGY.js → cloudflare-gateway-Djf3F3_H.js} +2 -2
  67. package/dist/src/{cloudflare-gateway-gzmTsXcd.js → cloudflare-gateway-_itGuXry.js} +14 -14
  68. package/dist/src/{codex-sdk-BlvhxMr0.js → codex-sdk-BASDNkIl.js} +90 -34
  69. package/dist/src/{codex-sdk-BC5qbCjh.js → codex-sdk-dSnGdgIp.js} +92 -36
  70. package/dist/src/{codex-sdk-CBpm53B8.js → codex-sdk-ibXwdglL.js} +91 -35
  71. package/dist/src/{codex-sdk-Cf5_CQch.cjs → codex-sdk-wTEpMM_X.cjs} +92 -36
  72. package/dist/src/{cometapi-DoaO5SLq.js → cometapi-B01btbfb.js} +16 -16
  73. package/dist/src/{cometapi-BUKGSUCw.js → cometapi-ChAaRjg5.js} +14 -14
  74. package/dist/src/{cometapi-C6BSw9k3.js → cometapi-DHUAH6nK.js} +2 -2
  75. package/dist/src/{cometapi-B3TzpkNI.cjs → cometapi-JbvOJSCO.cjs} +15 -15
  76. package/dist/src/{completion-BLe7SUA4.js → completion-BBJ6zmG3.js} +6 -6
  77. package/dist/src/{completion-1RAiLcwi.js → completion-D9_MDlnd.js} +6 -6
  78. package/dist/src/{completion-D6BTVt6e.cjs → completion-DDyL3Cb2.cjs} +6 -6
  79. package/dist/src/{docker-CkOzlD1W.js → docker-BuButc4D.js} +15 -15
  80. package/dist/src/{docker-BWsSX8Pn.cjs → docker-Ckw-j7Rr.cjs} +14 -14
  81. package/dist/src/{docker-CMf5SGLq.js → docker-JAAubMw3.js} +13 -13
  82. package/dist/src/{docker-C0AzMsuf.js → docker-vnOg96gi.js} +2 -2
  83. package/dist/src/errors-DnGCbnx8.js +36 -0
  84. package/dist/src/{esm-gWVPXn3r.cjs → esm-BQkx5roy.cjs} +2 -2
  85. package/dist/src/{esm-Lh6czAFT.js → esm-CYhseqj4.js} +2 -2
  86. package/dist/src/{esm-D40XsWlR.js → esm-rDtG_2rg.js} +2 -2
  87. package/dist/src/eval-CKHWqG9f.js +16 -0
  88. package/dist/src/{eval-WaSg64w3.js → eval-CYrbG57o.js} +106 -29
  89. package/dist/src/{evalResult-CGrGU_cG.js → evalResult-6JaUIStC.js} +7 -7
  90. package/dist/src/{evalResult-C_UM63nn.js → evalResult-COsVttMA.js} +7 -7
  91. package/dist/src/evalResult-CxTP-LMm.cjs +11 -0
  92. package/dist/src/evalResult-CzLURDcP.js +13 -0
  93. package/dist/src/{evalResult-BU4huold.cjs → evalResult-DlRfu_Rq.cjs} +7 -7
  94. package/dist/src/evalResult-DyttNQ_G.js +11 -0
  95. package/dist/src/evaluator-0PvfeBYh.js +38 -0
  96. package/dist/src/{evaluator-gmF3Vddp.js → evaluator-3EJCMTs0.js} +75 -49
  97. package/dist/src/{extractor-D-RM2m6A.cjs → extractor-DbhlYEeo.cjs} +23 -6
  98. package/dist/src/{extractor-Da8IxCeS.js → extractor-Hs7la_19.js} +23 -6
  99. package/dist/src/{extractor-BA90EtLq.js → extractor-LSYjrhK0.js} +23 -6
  100. package/dist/src/{fetch-BIfcW-Fd.js → fetch-18MuNu9i.js} +21 -7
  101. package/dist/src/{fetch-CW9GabAi.js → fetch-Bi0o-fdp.js} +2 -2
  102. package/dist/src/fetch-CMptBDVg.cjs +4 -0
  103. package/dist/src/fetch-DAZkv3gV.js +6 -0
  104. package/dist/src/{fetch-Mb7SbeM-.js → fetch-SRsE6Ctl.js} +21 -7
  105. package/dist/src/{fetch-MvWxCS5U.cjs → fetch-ZMn_oemb.cjs} +21 -7
  106. package/dist/src/{fileExtensions-CzcPkiKZ.js → fileExtensions-BpuMmaFL.js} +1 -1
  107. package/dist/src/{formatDuration-CCiZ-wBY.js → formatDuration-Doo0xq-z.js} +1 -1
  108. package/dist/src/{genaiTracer-BQ8AmajD.cjs → genaiTracer-CQlpZkrp.cjs} +2 -2
  109. package/dist/src/{genaiTracer-foKtbVa2.js → genaiTracer-CqNnnXrE.js} +1 -1
  110. package/dist/src/graders-BCytzXrb.js +34 -0
  111. package/dist/src/{graders-CwtelA9k.js → graders-BaMCwIKp.js} +212 -91
  112. package/dist/src/graders-CGZQShfJ.cjs +33 -0
  113. package/dist/src/{graders-2dabIkXs.cjs → graders-DzUUnUjC.cjs} +212 -91
  114. package/dist/src/{graders-BscQ6O1Q.js → graders-QsALpIdy.js} +211 -90
  115. package/dist/src/graders-spkuVC-E.js +36 -0
  116. package/dist/src/{image-Dv0o-Ab7.js → image-BXt_7u0v.js} +4 -4
  117. package/dist/src/{image-B6TV9l0v.js → image-BiEVdpdP.js} +7 -7
  118. package/dist/src/{image-DS9hlgSc.cjs → image-C3BjJUAU.cjs} +7 -7
  119. package/dist/src/{image-_jKUeeh9.js → image-COCWy5dX.js} +2 -2
  120. package/dist/src/{image-DqElR73O.cjs → image-D10zEe1f.cjs} +4 -4
  121. package/dist/src/{image-BVEVjrwl.js → image-DB4sHxdJ.js} +5 -5
  122. package/dist/src/{image-C1i3NoZo.js → image-mhAGP07h.js} +7 -7
  123. package/dist/src/index.cjs +305 -112
  124. package/dist/src/index.d.cts +137 -3
  125. package/dist/src/index.d.ts +137 -3
  126. package/dist/src/index.js +304 -111
  127. package/dist/src/{interactiveCheck-CjK2R4rB.js → interactiveCheck-DU-MAhp5.js} +2 -2
  128. package/dist/src/{knowledgeBase-K5fJN2kC.cjs → knowledgeBase-Bnb00xKs.cjs} +8 -8
  129. package/dist/src/{knowledgeBase-D-xthvn0.js → knowledgeBase-CMvMlLZR.js} +9 -9
  130. package/dist/src/{knowledgeBase-DJZHeJqg.js → knowledgeBase-DotRBzUE.js} +2 -2
  131. package/dist/src/{knowledgeBase-BSs2ldSR.js → knowledgeBase-XJQ0Qyez.js} +8 -8
  132. package/dist/src/{litellm-kPhaZkzz.js → litellm-BECdjOTx.js} +3 -3
  133. package/dist/src/{litellm-uRLukY7s.cjs → litellm-BrnZhMcL.cjs} +15 -15
  134. package/dist/src/{litellm-DH_rVIOd.js → litellm-CHrRmPAe.js} +16 -16
  135. package/dist/src/{litellm-DoXGHlpD.js → litellm-CrLJrPIm.js} +14 -14
  136. package/dist/src/{logger-CMp-NS-e.cjs → logger-BdZ-IqBc.cjs} +5 -2
  137. package/dist/src/{logger-Bzi5o47S.js → logger-BotXmWKW.js} +5 -2
  138. package/dist/src/{logger-q5I8CByj.js → logger-w8Ozp0Td.js} +5 -2
  139. package/dist/src/{luma-ray-B3GiVpuq.js → luma-ray-BOeX-h0M.js} +10 -10
  140. package/dist/src/{luma-ray-CPISsLu-.js → luma-ray-C-w6EsJm.js} +2 -2
  141. package/dist/src/{luma-ray-BrWrKIIB.cjs → luma-ray-C0RkI3lt.cjs} +10 -10
  142. package/dist/src/{luma-ray-gyI_GEy2.js → luma-ray-DgKLS0BF.js} +11 -11
  143. package/dist/src/main.js +3260 -2537
  144. package/dist/src/{messages-CJgEjRQF.js → messages-CDZYGNlS.js} +13 -10
  145. package/dist/src/{messages-BMkwrfmt.js → messages-D61tPFQo.js} +14 -11
  146. package/dist/src/{messages-B5HsO_dM.cjs → messages-DXV3Qh8_.cjs} +14 -11
  147. package/dist/src/{meteor-CBciquOS.js → meteor-Dj8cTkU_.js} +1 -1
  148. package/dist/src/{meteor-0cLf9TIn.js → meteor-P2rUE-Uz.js} +1 -1
  149. package/dist/src/{meteor-BQ6Ws9k2.js → meteor-SLNTgmXm.js} +2 -2
  150. package/dist/src/{meteor-DRuEfzuQ.cjs → meteor-odmwVbyG.cjs} +1 -1
  151. package/dist/src/{nova-reel-B5SOonY2.js → nova-reel-Bk5npr2q.js} +11 -11
  152. package/dist/src/{nova-reel-CT9ZuhJ3.js → nova-reel-C2LFfVTf.js} +2 -2
  153. package/dist/src/{nova-reel-ByTx85ed.cjs → nova-reel-D9FXq3Mt.cjs} +10 -10
  154. package/dist/src/{nova-reel-ChM7WaHR.js → nova-reel-DtCjbD5O.js} +10 -10
  155. package/dist/src/{nova-sonic-D4M3kKYu.js → nova-sonic-BXRfQyF-.js} +8 -8
  156. package/dist/src/{nova-sonic-C-H3eDvL.cjs → nova-sonic-BoRSY_U6.cjs} +7 -7
  157. package/dist/src/{nova-sonic-DgifpOKF.js → nova-sonic-CgaWLDM1.js} +7 -7
  158. package/dist/src/{nova-sonic-BqP59oOu.js → nova-sonic-D_qERM-K.js} +2 -2
  159. package/dist/src/{openai-BjpdxIOG.cjs → openai-Bigwjgo1.cjs} +2 -2
  160. package/dist/src/{openai-Cv9pEKxp.js → openai-CT5fwbve.js} +2 -2
  161. package/dist/src/{openai-CitF-gEN.js → openai-Dz3surb_.js} +2 -2
  162. package/dist/src/openclaw-B6XY2kUf.js +526 -0
  163. package/dist/src/openclaw-CpPrXwf6.js +524 -0
  164. package/dist/src/openclaw-DDSfq5fp.cjs +528 -0
  165. package/dist/src/openclaw-dHLcXUWZ.js +511 -0
  166. package/dist/src/{opencode-sdk-Dakn4QMp.js → opencode-sdk-CImWVqy9.js} +7 -7
  167. package/dist/src/{opencode-sdk-BcLvVMV-.js → opencode-sdk-CuCztr4P.js} +6 -6
  168. package/dist/src/{opencode-sdk-z7KKOCdB.js → opencode-sdk-DhcfRbBH.js} +3 -3
  169. package/dist/src/{opencode-sdk-Cqszt4br.cjs → opencode-sdk-mqF-Oj3f.cjs} +6 -6
  170. package/dist/src/{otlpReceiver-BvmMgacx.cjs → otlpReceiver-B6Xo4KZM.cjs} +6 -6
  171. package/dist/src/{otlpReceiver-DRNetlJH.js → otlpReceiver-BO0rbDzh.js} +6 -6
  172. package/dist/src/{otlpReceiver-Bhj_vnzl.js → otlpReceiver-Dg817agV.js} +6 -6
  173. package/dist/src/{otlpReceiver-Cpnk-Hjf.js → otlpReceiver-DmRb0NBj.js} +2 -2
  174. package/dist/src/{providerRegistry-D32Lt9vp.js → providerRegistry-Xf0qdqGQ.js} +2 -2
  175. package/dist/src/{providerRegistry-HGQd2MF6.cjs → providerRegistry-lc7a7utN.cjs} +2 -2
  176. package/dist/src/{providerRegistry-BdKWcUa8.js → providerRegistry-wCWd7sKQ.js} +2 -2
  177. package/dist/src/providers-BMZZmPBJ.cjs +32 -0
  178. package/dist/src/{providers-BWoVY_Wz.cjs → providers-BNKVY53V.cjs} +294 -782
  179. package/dist/src/{providers-Co_FGgH8.js → providers-BiNq_Iyc.js} +281 -769
  180. package/dist/src/{providers-CUCHJCHD.js → providers-BlEhY5mi.js} +286 -779
  181. package/dist/src/providers-CQQrNaJk.js +32 -0
  182. package/dist/src/providers-Ck8HyrC-.js +34 -0
  183. package/dist/src/{pythonUtils-rOCm9w_5.cjs → pythonUtils-DZ6EbdY4.cjs} +3 -3
  184. package/dist/src/{pythonUtils-B9JA-gsC.js → pythonUtils-r1uBuA0n.js} +3 -3
  185. package/dist/src/{pythonUtils-eNq6Wsfr.js → pythonUtils-vMlk9Qp5.js} +3 -3
  186. package/dist/src/{quiverai-BpWtOEQZ.cjs → quiverai-BNfIwKCO.cjs} +13 -13
  187. package/dist/src/{quiverai-Cj-PUa3p.js → quiverai-BQigKdIH.js} +14 -14
  188. package/dist/src/{quiverai-BN8OVvDE.js → quiverai-Bfy2WnE2.js} +12 -12
  189. package/dist/src/{quiverai-D5MSsd2c.js → quiverai-CedIP0PJ.js} +2 -2
  190. package/dist/src/{render-D2710HbA.js → render-CAZvKKkB.js} +4 -4
  191. package/dist/src/responses-DLLjADw5.js +653 -0
  192. package/dist/src/responses-TsdODUpm.js +654 -0
  193. package/dist/src/responses-zOtKtnY_.cjs +671 -0
  194. package/dist/src/{rubyUtils-Dn6MGcsk.js → rubyUtils-BtjlqyXt.js} +3 -3
  195. package/dist/src/{rubyUtils-LBsk3zIm.js → rubyUtils-Cs35SDYa.js} +3 -3
  196. package/dist/src/rubyUtils-D7--T12C.js +6 -0
  197. package/dist/src/{rubyUtils-rnCVDgH-.cjs → rubyUtils-DCVaJ3mc.cjs} +3 -3
  198. package/dist/src/rubyUtils-DRRiMFV2.js +5 -0
  199. package/dist/src/rubyUtils-vb8OYFC-.cjs +5 -0
  200. package/dist/src/{sagemaker-C8MeZIkH.js → sagemaker-BcgLu0U4.js} +18 -18
  201. package/dist/src/{sagemaker-4ukMNSN0.js → sagemaker-CLdUAv5z.js} +17 -17
  202. package/dist/src/{sagemaker-DyVHy2BW.js → sagemaker-Du4LIR97.js} +2 -2
  203. package/dist/src/{sagemaker-DB3Eojau.cjs → sagemaker-DwNnEVYt.cjs} +17 -17
  204. package/dist/src/{scanner-C28XVEq2.js → scanner-Dyw21Wg_.js} +12 -12
  205. package/dist/src/server/index.js +1818 -605
  206. package/dist/src/server-BUbS0Qfh.js +6 -0
  207. package/dist/src/{server-BF3HkMhe.js → server-CbMTRQkg.js} +8 -6
  208. package/dist/src/{server-CSbLW-UI.cjs → server-CgUQ25qW.cjs} +8 -6
  209. package/dist/src/{server-mycZbUH8.js → server-DWmZLfCy.js} +10 -7
  210. package/dist/src/server-XpGXFHkS.cjs +6 -0
  211. package/dist/src/server-gfOx5Zrk.js +8 -0
  212. package/dist/src/{signal-DM_SPNmi.js → signal-Bl32q42d.js} +3 -3
  213. package/dist/src/{slack-Ed1yyt_j.js → slack-BfdBx2tO.js} +2 -2
  214. package/dist/src/{slack-D1F9Y7CH.cjs → slack-BtMkB6xP.cjs} +2 -2
  215. package/dist/src/{slack-DkAF58Tr.js → slack-DPqj42Ts.js} +2 -2
  216. package/dist/src/{slack-BK312SXM.js → slack-OZYxoVON.js} +2 -2
  217. package/dist/src/{store-CT_e5OZX.js → store-2ocbYY9D.js} +3 -3
  218. package/dist/src/store-5u2yriTV.js +7 -0
  219. package/dist/src/{store-BpumNYCl.cjs → store-BqwfFEyF.cjs} +3 -3
  220. package/dist/src/{store-BFLqwuc_.js → store-D4gdn9ih.js} +3 -3
  221. package/dist/src/store-D_lq_8oQ.js +6 -0
  222. package/dist/src/store-m5KT6Ly7.cjs +6 -0
  223. package/dist/src/{tables-Dansasnu.cjs → tables-B9E1kRp-.cjs} +3 -3
  224. package/dist/src/{tables-BjaApSAB.js → tables-C7TT2XVn.js} +3 -3
  225. package/dist/src/{tables-Dwexr5Z6.js → tables-D-NSwNIb.js} +3 -3
  226. package/dist/src/telemetry-5RHFoCJh.js +6 -0
  227. package/dist/src/{telemetry-MVkZQxt9.js → telemetry-BXyVqyAg.js} +5 -4
  228. package/dist/src/{telemetry-DFDFKdnr.cjs → telemetry-D0_yFdtU.cjs} +5 -4
  229. package/dist/src/{telemetry-Ds5Nn81l.js → telemetry-DZ_7PaVq.js} +5 -4
  230. package/dist/src/telemetry-Do8wMnA-.js +8 -0
  231. package/dist/src/telemetry-LojxPoFq.cjs +6 -0
  232. package/dist/src/{text-PYISqVm1.cjs → text-DF2hMKdg.cjs} +1 -1
  233. package/dist/src/{text-DuYSUYPB.js → text-DgMr_tiM.js} +1 -1
  234. package/dist/src/{text-Dx0GJOCN.js → text-Dm78AVGG.js} +1 -1
  235. package/dist/src/{tokenUsageUtils-BtZd3sP7.cjs → tokenUsageUtils-CXhxVj72.cjs} +9 -4
  236. package/dist/src/{tokenUsageUtils-DoinwgKF.js → tokenUsageUtils-DmZSD2eU.js} +9 -4
  237. package/dist/src/{tokenUsageUtils-cFdLMERB.js → tokenUsageUtils-FZd5O_4A.js} +9 -4
  238. package/dist/src/{transcription-Cp19m_Mt.js → transcription-C-M81iDA.js} +2 -2
  239. package/dist/src/{transcription-CLRpAg07.js → transcription-CYuY5sFO.js} +10 -10
  240. package/dist/src/{transcription-D8ifIKOv.js → transcription-Ch7S-LWw.js} +11 -11
  241. package/dist/src/{transcription-CXXFEVM_.cjs → transcription-FNIz3YOe.cjs} +10 -10
  242. package/dist/src/transform-8eGmaH-7.js +7 -0
  243. package/dist/src/transform-BRVvWaG4.cjs +6 -0
  244. package/dist/src/{transform-Bn-lgBE2.js → transform-CoP2bJ7P.js} +44 -5
  245. package/dist/src/{transform-BFPYuBaW.js → transform-CqTFr7KR.js} +5 -5
  246. package/dist/src/{transform-DvQWeBSR.js → transform-D8dILpfZ.js} +4 -4
  247. package/dist/src/{transform-BUrxadlA.js → transform-DMaxQwDx.js} +44 -5
  248. package/dist/src/transform-GybT0X0u.js +8 -0
  249. package/dist/src/{transform-DshYLyBq.cjs → transform-Kd6u-oNm.cjs} +4 -4
  250. package/dist/src/{transform-Bw1IstDE.cjs → transform-ivxEY4f7.cjs} +55 -4
  251. package/dist/src/{transformersAvailability-BaoWHpu1.cjs → transformersAvailability-Bkep3ka7.cjs} +1 -1
  252. package/dist/src/{transformersAvailability-Dhh45n5P.js → transformersAvailability-DEU2naS1.js} +1 -1
  253. package/dist/src/{transformersAvailability-DtpwoeFC.js → transformersAvailability-DkAWaK5B.js} +1 -1
  254. package/dist/src/{transformersAvailability-O2YaCv9Z.js → transformersAvailability-DwmezkVe.js} +1 -1
  255. package/dist/src/{types-B-XUqfNs.cjs → types-BIfttHrT.cjs} +22 -2
  256. package/dist/src/{types-BsU_PxR3.js → types-DMVjYLpx.js} +16 -2
  257. package/dist/src/{types-CgrxBFgm.js → types-t52w-XsS.js} +19 -3
  258. package/dist/src/{util-M2MoNCUR.js → util-BSh4a_Q8.js} +7 -7
  259. package/dist/src/{util-DTJWKLkl.cjs → util-C08Kns6-.cjs} +18 -4
  260. package/dist/src/{util-DHBpsbZE.js → util-CUEt0Vum.js} +18 -4
  261. package/dist/src/{util-Bnw6EyZN.js → util-Cl0zfT3V.js} +18 -4
  262. package/dist/src/{util-C7A-PlKK.cjs → util-DUYOvxAy.cjs} +6 -6
  263. package/dist/src/{util-WYC3rB_p.js → util-DiCePfDu.js} +6 -6
  264. package/dist/src/{util-CV99ps44.cjs → util-DkFTvieG.cjs} +17 -5
  265. package/dist/src/{util-CfepsNVK.js → util-mJ58qbbw.js} +17 -5
  266. package/dist/src/{util-BZaMVBMq.js → util-vjscpUzy.js} +17 -5
  267. package/dist/src/{utils-BryuD3vq.js → utils-CVzb4YiI.js} +3 -3
  268. package/dist/src/{utils-Dezi3MBH.cjs → utils-DFaZa6Rf.cjs} +3 -3
  269. package/dist/src/{utils-GiyI2K4P.js → utils-JaY9veb5.js} +3 -3
  270. package/dist/tsconfig.tsbuildinfo +1 -1
  271. package/package.json +75 -77
  272. package/dist/src/app/assets/index-07dbAcWK.js +0 -427
  273. package/dist/src/app/assets/index-DnEcCQgk.css +0 -1
  274. package/dist/src/app/assets/vendor-react-DHoaNLma.js +0 -4
  275. package/dist/src/cache-BujOdYlc.cjs +0 -6
  276. package/dist/src/cloud-BHYz0XkH.js +0 -5
  277. package/dist/src/eval-0IFf8hON.js +0 -16
  278. package/dist/src/evalResult-BCCv6FXj.js +0 -13
  279. package/dist/src/evalResult-C8iVgVvr.js +0 -11
  280. package/dist/src/evalResult-CqFeWKYx.cjs +0 -11
  281. package/dist/src/evaluator-DwS5NAEj.js +0 -37
  282. package/dist/src/fetch-BH9KSaUC.cjs +0 -4
  283. package/dist/src/fetch-BL6kqunF.js +0 -6
  284. package/dist/src/graders-BK3LuhJ8.cjs +0 -32
  285. package/dist/src/graders-Bpjtip-E.js +0 -35
  286. package/dist/src/graders-KIf6Uej3.js +0 -33
  287. package/dist/src/providers-41mSodR_.js +0 -31
  288. package/dist/src/providers-CiZCpIxz.cjs +0 -31
  289. package/dist/src/providers-G531909f.js +0 -33
  290. package/dist/src/rubyUtils-BLd6EE1u.cjs +0 -5
  291. package/dist/src/rubyUtils-CVELPvUH.js +0 -6
  292. package/dist/src/rubyUtils-_t9Gmf7U.js +0 -5
  293. package/dist/src/server-Bc4T4XDt.cjs +0 -6
  294. package/dist/src/server-CMyxJ7ct.js +0 -6
  295. package/dist/src/server-D9FuxNYE.js +0 -8
  296. package/dist/src/store-CrMinjmN.cjs +0 -6
  297. package/dist/src/store-EaWZOoxz.js +0 -7
  298. package/dist/src/store-KXWnHB15.js +0 -6
  299. package/dist/src/telemetry-BXD2mCyr.cjs +0 -6
  300. package/dist/src/telemetry-CYiBm56v.js +0 -8
  301. package/dist/src/telemetry-lICYKIMB.js +0 -6
  302. package/dist/src/transform-DZI2t8-9.js +0 -8
  303. package/dist/src/transform-DZUV3qpO.js +0 -7
  304. package/dist/src/transform-XcotjzZX.cjs +0 -6
@@ -1,5 +1,5 @@
1
- import { b as getEnvString, i as logger_default, w as cliState_default } from "./logger-q5I8CByj.js";
2
- import { i as resolvePackageEntryPoint, r as importModule } from "./esm-D40XsWlR.js";
1
+ import { b as getEnvString, i as logger_default, w as cliState_default } from "./logger-w8Ozp0Td.js";
2
+ import { i as resolvePackageEntryPoint, r as importModule } from "./esm-rDtG_2rg.js";
3
3
  import { n as withGenAISpan, t as getTraceparent } from "./genaiTracer-Ce19n68P.js";
4
4
  import fs from "fs";
5
5
  import path from "path";
@@ -40,37 +40,56 @@ async function loadCodexSDK() {
40
40
  }
41
41
  }
42
42
  const CODEX_MODEL_PRICING = {
43
+ "gpt-5.3-codex": {
44
+ input: 1.75,
45
+ output: 14,
46
+ cache_read: .175
47
+ },
48
+ "gpt-5.3-codex-spark": {
49
+ input: .5,
50
+ output: 4,
51
+ cache_read: .05
52
+ },
43
53
  "gpt-5.2": {
44
54
  input: 2,
45
- output: 8
55
+ output: 8,
56
+ cache_read: .2
46
57
  },
47
58
  "gpt-5.1-codex": {
48
59
  input: 2,
49
- output: 8
60
+ output: 8,
61
+ cache_read: .2
50
62
  },
51
63
  "gpt-5.1-codex-max": {
52
64
  input: 3,
53
- output: 12
65
+ output: 12,
66
+ cache_read: .3
54
67
  },
55
68
  "gpt-5.1-codex-mini": {
56
69
  input: .5,
57
- output: 2
70
+ output: 2,
71
+ cache_read: .05
58
72
  },
59
73
  "gpt-5-codex": {
60
74
  input: 2,
61
- output: 8
75
+ output: 8,
76
+ cache_read: .2
62
77
  },
63
78
  "gpt-5-codex-mini": {
64
79
  input: .5,
65
- output: 2
80
+ output: 2,
81
+ cache_read: .05
66
82
  },
67
83
  "gpt-5": {
68
84
  input: 2,
69
- output: 8
85
+ output: 8,
86
+ cache_read: .2
70
87
  }
71
88
  };
72
89
  var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
73
90
  static OPENAI_MODELS = [
91
+ "gpt-5.3-codex",
92
+ "gpt-5.3-codex-spark",
74
93
  "gpt-5.2",
75
94
  "gpt-5.1-codex",
76
95
  "gpt-5.1-codex-max",
@@ -105,13 +124,20 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
105
124
  toString() {
106
125
  return "[OpenAI Codex SDK Provider]";
107
126
  }
127
+ /**
128
+ * Safely tear down a Codex instance by calling its cleanup method
129
+ * (destroy, cleanup, or close -- whichever is available).
130
+ */
131
+ async destroyInstance(instance) {
132
+ if (typeof instance.destroy === "function") await instance.destroy();
133
+ else if (typeof instance.cleanup === "function") await instance.cleanup();
134
+ else if (typeof instance.close === "function") await instance.close();
135
+ }
108
136
  async cleanup() {
109
137
  this.threads.clear();
110
138
  if (this.codexInstance) {
111
139
  try {
112
- if (typeof this.codexInstance.destroy === "function") await this.codexInstance.destroy();
113
- else if (typeof this.codexInstance.cleanup === "function") await this.codexInstance.cleanup();
114
- else if (typeof this.codexInstance.close === "function") await this.codexInstance.close();
140
+ await this.destroyInstance(this.codexInstance);
115
141
  } catch (error) {
116
142
  logger_default.warn("[CodexSDK] Error during cleanup", { error });
117
143
  }
@@ -166,6 +192,19 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
166
192
  To bypass this check, set skip_git_repo_check: true in your provider config.`);
167
193
  }
168
194
  }
195
+ /**
196
+ * Build Codex constructor options from provider config.
197
+ * Used when creating both local (deep-tracing) and cached instances.
198
+ */
199
+ buildCodexOptions(env, config) {
200
+ return {
201
+ env,
202
+ ...this.apiKey ? { apiKey: this.apiKey } : {},
203
+ ...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
204
+ ...config.base_url ? { baseUrl: config.base_url } : {},
205
+ ...config.cli_config ? { config: config.cli_config } : {}
206
+ };
207
+ }
169
208
  buildThreadOptions(config) {
170
209
  return {
171
210
  workingDirectory: config.working_dir,
@@ -175,9 +214,9 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
175
214
  ...config.sandbox_mode ? { sandboxMode: config.sandbox_mode } : {},
176
215
  ...config.model_reasoning_effort ? { modelReasoningEffort: config.model_reasoning_effort } : {},
177
216
  ...config.network_access_enabled !== void 0 ? { networkAccessEnabled: config.network_access_enabled } : {},
178
- ...config.web_search_enabled !== void 0 ? { webSearchEnabled: config.web_search_enabled } : {},
179
- ...config.approval_policy ? { approvalPolicy: config.approval_policy } : {},
180
- ...config.collaboration_mode ? { collaborationMode: config.collaboration_mode } : {}
217
+ ...config.web_search_mode ? { webSearchMode: config.web_search_mode } : {},
218
+ ...config.web_search_enabled !== void 0 && !config.web_search_mode ? { webSearchEnabled: config.web_search_enabled } : {},
219
+ ...config.approval_policy ? { approvalPolicy: config.approval_policy } : {}
181
220
  };
182
221
  }
183
222
  async getOrCreateThread(config, cacheKey, instance) {
@@ -305,10 +344,31 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
305
344
  });
306
345
  break;
307
346
  }
347
+ case "item.updated": {
348
+ const item = event.item;
349
+ if (item?.id) {
350
+ const itemId = String(item.id);
351
+ const span = activeSpans.get(itemId);
352
+ if (span) {
353
+ const updatedAttrs = this.getCompletionAttributesForItem(item);
354
+ for (const [key, value] of Object.entries(updatedAttrs)) span.setAttribute(key, value);
355
+ }
356
+ }
357
+ logger_default.debug("Codex item updated", {
358
+ itemId: item?.id,
359
+ type: item?.type
360
+ });
361
+ break;
362
+ }
308
363
  case "turn.completed":
309
364
  usage = event.usage;
310
365
  logger_default.debug("Codex turn completed", { usage });
311
366
  break;
367
+ case "turn.failed": {
368
+ const errorMsg = event.error?.message || "Turn failed";
369
+ logger_default.error("Codex turn failed", { error: errorMsg });
370
+ throw new Error(`Codex turn failed: ${errorMsg}`);
371
+ }
312
372
  default: logger_default.debug("Codex unknown event type", { type: event.type });
313
373
  }
314
374
  lastEventTime = eventTime;
@@ -428,6 +488,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
428
488
  model_reasoning_effort: config.model_reasoning_effort,
429
489
  network_access_enabled: config.network_access_enabled,
430
490
  web_search_enabled: config.web_search_enabled,
491
+ web_search_mode: config.web_search_mode,
431
492
  approval_policy: config.approval_policy,
432
493
  prompt
433
494
  };
@@ -504,11 +565,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
504
565
  logger_default.warn("[CodexSDK] deep_tracing is incompatible with thread persistence. Thread options (persist_threads, thread_id, thread_pool_size) are ignored when deep_tracing is enabled.");
505
566
  this.deepTracingWarningShown = true;
506
567
  }
507
- localInstance = new this.codexModule.Codex({
508
- env,
509
- ...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
510
- ...config.base_url ? { baseUrl: config.base_url } : {}
511
- });
568
+ localInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
512
569
  } else {
513
570
  const stableEnv = { ...env };
514
571
  delete stableEnv.TRACEPARENT;
@@ -518,19 +575,13 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
518
575
  if (envChanged && this.codexInstance) {
519
576
  logger_default.debug("[CodexSDK] Recreating instance due to configuration change");
520
577
  try {
521
- if (typeof this.codexInstance.destroy === "function") await this.codexInstance.destroy();
522
- else if (typeof this.codexInstance.cleanup === "function") await this.codexInstance.cleanup();
523
- else if (typeof this.codexInstance.close === "function") await this.codexInstance.close();
578
+ await this.destroyInstance(this.codexInstance);
524
579
  } catch (cleanupError) {
525
580
  logger_default.warn("[CodexSDK] Error cleaning up old instance", { error: cleanupError });
526
581
  }
527
582
  this.threads.clear();
528
583
  }
529
- this.codexInstance = new this.codexModule.Codex({
530
- env,
531
- ...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
532
- ...config.base_url ? { baseUrl: config.base_url } : {}
533
- });
584
+ this.codexInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
534
585
  this.codexInstanceEnvHash = envHash;
535
586
  }
536
587
  }
@@ -546,14 +597,21 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
546
597
  const output = turn.finalResponse || "";
547
598
  const raw = JSON.stringify(turn);
548
599
  const tokenUsage = turn.usage ? {
549
- prompt: turn.usage.input_tokens + (turn.usage.cached_input_tokens || 0),
600
+ prompt: turn.usage.input_tokens,
550
601
  completion: turn.usage.output_tokens,
551
- total: turn.usage.input_tokens + (turn.usage.cached_input_tokens || 0) + turn.usage.output_tokens
602
+ total: turn.usage.input_tokens + turn.usage.output_tokens,
603
+ cached: turn.usage.cached_input_tokens || 0
552
604
  } : void 0;
553
605
  let cost = 0;
554
606
  if (tokenUsage && config.model) {
555
607
  const pricing = CODEX_MODEL_PRICING[config.model];
556
- if (pricing) cost = (tokenUsage.prompt || 0) * (pricing.input / 1e6) + (tokenUsage.completion || 0) * (pricing.output / 1e6);
608
+ if (pricing) {
609
+ const cachedTokens = tokenUsage.cached || 0;
610
+ const inputCost = ((tokenUsage.prompt || 0) - cachedTokens) * (pricing.input / 1e6);
611
+ const cacheReadCost = cachedTokens * (pricing.cache_read / 1e6);
612
+ const outputCost = (tokenUsage.completion || 0) * (pricing.output / 1e6);
613
+ cost = inputCost + cacheReadCost + outputCost;
614
+ }
557
615
  }
558
616
  logger_default.debug("OpenAI Codex SDK response", {
559
617
  output,
@@ -577,9 +635,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
577
635
  } finally {
578
636
  if (!config.deep_tracing && !config.persist_threads && !config.thread_id && cacheKey) this.threads.delete(cacheKey);
579
637
  if (useLocalInstance && localInstance) try {
580
- if (typeof localInstance.destroy === "function") await localInstance.destroy();
581
- else if (typeof localInstance.cleanup === "function") await localInstance.cleanup();
582
- else if (typeof localInstance.close === "function") await localInstance.close();
638
+ await this.destroyInstance(localInstance);
583
639
  } catch (cleanupError) {
584
640
  logger_default.debug("[CodexSDK] Error cleaning up local instance", { error: cleanupError });
585
641
  }
@@ -589,4 +645,4 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
589
645
 
590
646
  //#endregion
591
647
  export { OpenAICodexSDKProvider };
592
- //# sourceMappingURL=codex-sdk-CBpm53B8.js.map
648
+ //# sourceMappingURL=codex-sdk-ibXwdglL.js.map
@@ -1,6 +1,6 @@
1
- const require_logger = require('./logger-CMp-NS-e.cjs');
2
- const require_esm = require('./esm-gWVPXn3r.cjs');
3
- const require_genaiTracer = require('./genaiTracer-BQ8AmajD.cjs');
1
+ const require_logger = require('./logger-BdZ-IqBc.cjs');
2
+ const require_esm = require('./esm-BQkx5roy.cjs');
3
+ const require_genaiTracer = require('./genaiTracer-CQlpZkrp.cjs');
4
4
  let fs = require("fs");
5
5
  fs = require_logger.__toESM(fs);
6
6
  let path = require("path");
@@ -44,37 +44,56 @@ async function loadCodexSDK() {
44
44
  }
45
45
  }
46
46
  const CODEX_MODEL_PRICING = {
47
+ "gpt-5.3-codex": {
48
+ input: 1.75,
49
+ output: 14,
50
+ cache_read: .175
51
+ },
52
+ "gpt-5.3-codex-spark": {
53
+ input: .5,
54
+ output: 4,
55
+ cache_read: .05
56
+ },
47
57
  "gpt-5.2": {
48
58
  input: 2,
49
- output: 8
59
+ output: 8,
60
+ cache_read: .2
50
61
  },
51
62
  "gpt-5.1-codex": {
52
63
  input: 2,
53
- output: 8
64
+ output: 8,
65
+ cache_read: .2
54
66
  },
55
67
  "gpt-5.1-codex-max": {
56
68
  input: 3,
57
- output: 12
69
+ output: 12,
70
+ cache_read: .3
58
71
  },
59
72
  "gpt-5.1-codex-mini": {
60
73
  input: .5,
61
- output: 2
74
+ output: 2,
75
+ cache_read: .05
62
76
  },
63
77
  "gpt-5-codex": {
64
78
  input: 2,
65
- output: 8
79
+ output: 8,
80
+ cache_read: .2
66
81
  },
67
82
  "gpt-5-codex-mini": {
68
83
  input: .5,
69
- output: 2
84
+ output: 2,
85
+ cache_read: .05
70
86
  },
71
87
  "gpt-5": {
72
88
  input: 2,
73
- output: 8
89
+ output: 8,
90
+ cache_read: .2
74
91
  }
75
92
  };
76
93
  var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
77
94
  static OPENAI_MODELS = [
95
+ "gpt-5.3-codex",
96
+ "gpt-5.3-codex-spark",
78
97
  "gpt-5.2",
79
98
  "gpt-5.1-codex",
80
99
  "gpt-5.1-codex-max",
@@ -109,13 +128,20 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
109
128
  toString() {
110
129
  return "[OpenAI Codex SDK Provider]";
111
130
  }
131
+ /**
132
+ * Safely tear down a Codex instance by calling its cleanup method
133
+ * (destroy, cleanup, or close -- whichever is available).
134
+ */
135
+ async destroyInstance(instance) {
136
+ if (typeof instance.destroy === "function") await instance.destroy();
137
+ else if (typeof instance.cleanup === "function") await instance.cleanup();
138
+ else if (typeof instance.close === "function") await instance.close();
139
+ }
112
140
  async cleanup() {
113
141
  this.threads.clear();
114
142
  if (this.codexInstance) {
115
143
  try {
116
- if (typeof this.codexInstance.destroy === "function") await this.codexInstance.destroy();
117
- else if (typeof this.codexInstance.cleanup === "function") await this.codexInstance.cleanup();
118
- else if (typeof this.codexInstance.close === "function") await this.codexInstance.close();
144
+ await this.destroyInstance(this.codexInstance);
119
145
  } catch (error) {
120
146
  require_logger.logger_default.warn("[CodexSDK] Error during cleanup", { error });
121
147
  }
@@ -170,6 +196,19 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
170
196
  To bypass this check, set skip_git_repo_check: true in your provider config.`);
171
197
  }
172
198
  }
199
+ /**
200
+ * Build Codex constructor options from provider config.
201
+ * Used when creating both local (deep-tracing) and cached instances.
202
+ */
203
+ buildCodexOptions(env, config) {
204
+ return {
205
+ env,
206
+ ...this.apiKey ? { apiKey: this.apiKey } : {},
207
+ ...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
208
+ ...config.base_url ? { baseUrl: config.base_url } : {},
209
+ ...config.cli_config ? { config: config.cli_config } : {}
210
+ };
211
+ }
173
212
  buildThreadOptions(config) {
174
213
  return {
175
214
  workingDirectory: config.working_dir,
@@ -179,9 +218,9 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
179
218
  ...config.sandbox_mode ? { sandboxMode: config.sandbox_mode } : {},
180
219
  ...config.model_reasoning_effort ? { modelReasoningEffort: config.model_reasoning_effort } : {},
181
220
  ...config.network_access_enabled !== void 0 ? { networkAccessEnabled: config.network_access_enabled } : {},
182
- ...config.web_search_enabled !== void 0 ? { webSearchEnabled: config.web_search_enabled } : {},
183
- ...config.approval_policy ? { approvalPolicy: config.approval_policy } : {},
184
- ...config.collaboration_mode ? { collaborationMode: config.collaboration_mode } : {}
221
+ ...config.web_search_mode ? { webSearchMode: config.web_search_mode } : {},
222
+ ...config.web_search_enabled !== void 0 && !config.web_search_mode ? { webSearchEnabled: config.web_search_enabled } : {},
223
+ ...config.approval_policy ? { approvalPolicy: config.approval_policy } : {}
185
224
  };
186
225
  }
187
226
  async getOrCreateThread(config, cacheKey, instance) {
@@ -309,10 +348,31 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
309
348
  });
310
349
  break;
311
350
  }
351
+ case "item.updated": {
352
+ const item = event.item;
353
+ if (item?.id) {
354
+ const itemId = String(item.id);
355
+ const span = activeSpans.get(itemId);
356
+ if (span) {
357
+ const updatedAttrs = this.getCompletionAttributesForItem(item);
358
+ for (const [key, value] of Object.entries(updatedAttrs)) span.setAttribute(key, value);
359
+ }
360
+ }
361
+ require_logger.logger_default.debug("Codex item updated", {
362
+ itemId: item?.id,
363
+ type: item?.type
364
+ });
365
+ break;
366
+ }
312
367
  case "turn.completed":
313
368
  usage = event.usage;
314
369
  require_logger.logger_default.debug("Codex turn completed", { usage });
315
370
  break;
371
+ case "turn.failed": {
372
+ const errorMsg = event.error?.message || "Turn failed";
373
+ require_logger.logger_default.error("Codex turn failed", { error: errorMsg });
374
+ throw new Error(`Codex turn failed: ${errorMsg}`);
375
+ }
316
376
  default: require_logger.logger_default.debug("Codex unknown event type", { type: event.type });
317
377
  }
318
378
  lastEventTime = eventTime;
@@ -432,6 +492,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
432
492
  model_reasoning_effort: config.model_reasoning_effort,
433
493
  network_access_enabled: config.network_access_enabled,
434
494
  web_search_enabled: config.web_search_enabled,
495
+ web_search_mode: config.web_search_mode,
435
496
  approval_policy: config.approval_policy,
436
497
  prompt
437
498
  };
@@ -508,11 +569,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
508
569
  require_logger.logger_default.warn("[CodexSDK] deep_tracing is incompatible with thread persistence. Thread options (persist_threads, thread_id, thread_pool_size) are ignored when deep_tracing is enabled.");
509
570
  this.deepTracingWarningShown = true;
510
571
  }
511
- localInstance = new this.codexModule.Codex({
512
- env,
513
- ...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
514
- ...config.base_url ? { baseUrl: config.base_url } : {}
515
- });
572
+ localInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
516
573
  } else {
517
574
  const stableEnv = { ...env };
518
575
  delete stableEnv.TRACEPARENT;
@@ -522,19 +579,13 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
522
579
  if (envChanged && this.codexInstance) {
523
580
  require_logger.logger_default.debug("[CodexSDK] Recreating instance due to configuration change");
524
581
  try {
525
- if (typeof this.codexInstance.destroy === "function") await this.codexInstance.destroy();
526
- else if (typeof this.codexInstance.cleanup === "function") await this.codexInstance.cleanup();
527
- else if (typeof this.codexInstance.close === "function") await this.codexInstance.close();
582
+ await this.destroyInstance(this.codexInstance);
528
583
  } catch (cleanupError) {
529
584
  require_logger.logger_default.warn("[CodexSDK] Error cleaning up old instance", { error: cleanupError });
530
585
  }
531
586
  this.threads.clear();
532
587
  }
533
- this.codexInstance = new this.codexModule.Codex({
534
- env,
535
- ...config.codex_path_override ? { codexPathOverride: config.codex_path_override } : {},
536
- ...config.base_url ? { baseUrl: config.base_url } : {}
537
- });
588
+ this.codexInstance = new this.codexModule.Codex(this.buildCodexOptions(env, config));
538
589
  this.codexInstanceEnvHash = envHash;
539
590
  }
540
591
  }
@@ -550,14 +601,21 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
550
601
  const output = turn.finalResponse || "";
551
602
  const raw = JSON.stringify(turn);
552
603
  const tokenUsage = turn.usage ? {
553
- prompt: turn.usage.input_tokens + (turn.usage.cached_input_tokens || 0),
604
+ prompt: turn.usage.input_tokens,
554
605
  completion: turn.usage.output_tokens,
555
- total: turn.usage.input_tokens + (turn.usage.cached_input_tokens || 0) + turn.usage.output_tokens
606
+ total: turn.usage.input_tokens + turn.usage.output_tokens,
607
+ cached: turn.usage.cached_input_tokens || 0
556
608
  } : void 0;
557
609
  let cost = 0;
558
610
  if (tokenUsage && config.model) {
559
611
  const pricing = CODEX_MODEL_PRICING[config.model];
560
- if (pricing) cost = (tokenUsage.prompt || 0) * (pricing.input / 1e6) + (tokenUsage.completion || 0) * (pricing.output / 1e6);
612
+ if (pricing) {
613
+ const cachedTokens = tokenUsage.cached || 0;
614
+ const inputCost = ((tokenUsage.prompt || 0) - cachedTokens) * (pricing.input / 1e6);
615
+ const cacheReadCost = cachedTokens * (pricing.cache_read / 1e6);
616
+ const outputCost = (tokenUsage.completion || 0) * (pricing.output / 1e6);
617
+ cost = inputCost + cacheReadCost + outputCost;
618
+ }
561
619
  }
562
620
  require_logger.logger_default.debug("OpenAI Codex SDK response", {
563
621
  output,
@@ -581,9 +639,7 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
581
639
  } finally {
582
640
  if (!config.deep_tracing && !config.persist_threads && !config.thread_id && cacheKey) this.threads.delete(cacheKey);
583
641
  if (useLocalInstance && localInstance) try {
584
- if (typeof localInstance.destroy === "function") await localInstance.destroy();
585
- else if (typeof localInstance.cleanup === "function") await localInstance.cleanup();
586
- else if (typeof localInstance.close === "function") await localInstance.close();
642
+ await this.destroyInstance(localInstance);
587
643
  } catch (cleanupError) {
588
644
  require_logger.logger_default.debug("[CodexSDK] Error cleaning up local instance", { error: cleanupError });
589
645
  }
@@ -593,4 +649,4 @@ var OpenAICodexSDKProvider = class OpenAICodexSDKProvider {
593
649
 
594
650
  //#endregion
595
651
  exports.OpenAICodexSDKProvider = OpenAICodexSDKProvider;
596
- //# sourceMappingURL=codex-sdk-Cf5_CQch.cjs.map
652
+ //# sourceMappingURL=codex-sdk-wTEpMM_X.cjs.map
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import "./chunk-DHDDz29n.js";
3
- import { C as getEnvString } from "./logger-Bzi5o47S.js";
4
- import "./fetch-Mb7SbeM-.js";
5
- import "./cloud-ByJVRSQI.js";
6
- import "./types-CgrxBFgm.js";
7
- import "./cache-DHm8Pc8l.js";
8
- import "./util-M2MoNCUR.js";
9
- import "./esm-Lh6czAFT.js";
10
- import "./pythonUtils-B9JA-gsC.js";
11
- import "./genaiTracer-foKtbVa2.js";
12
- import { t as OpenAiChatCompletionProvider } from "./chat-CVOyOBYk.js";
13
- import "./transform-Bn-lgBE2.js";
14
- import "./openai-Cv9pEKxp.js";
15
- import "./util-DHBpsbZE.js";
16
- import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-BLe7SUA4.js";
17
- import { t as OpenAiImageProvider } from "./image-C1i3NoZo.js";
3
+ import { C as getEnvString } from "./logger-BotXmWKW.js";
4
+ import "./fetch-SRsE6Ctl.js";
5
+ import "./cloud-BMbRVJFw.js";
6
+ import "./types-t52w-XsS.js";
7
+ import "./cache-mIszOnuz.js";
8
+ import "./util-BSh4a_Q8.js";
9
+ import "./esm-CYhseqj4.js";
10
+ import "./pythonUtils-r1uBuA0n.js";
11
+ import "./genaiTracer-CqNnnXrE.js";
12
+ import { t as OpenAiChatCompletionProvider } from "./chat-DIywASPG.js";
13
+ import "./transform-CoP2bJ7P.js";
14
+ import "./openai-CT5fwbve.js";
15
+ import "./util-CUEt0Vum.js";
16
+ import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-BBJ6zmG3.js";
17
+ import { t as OpenAiImageProvider } from "./image-mhAGP07h.js";
18
18
 
19
19
  //#region src/providers/cometapi.ts
20
20
  /**
@@ -63,4 +63,4 @@ function createCometApiProvider(providerPath, options = {}) {
63
63
 
64
64
  //#endregion
65
65
  export { createCometApiProvider };
66
- //# sourceMappingURL=cometapi-DoaO5SLq.js.map
66
+ //# sourceMappingURL=cometapi-B01btbfb.js.map
@@ -1,18 +1,18 @@
1
1
  import "./chunk-FhC4c-0y.js";
2
- import { b as getEnvString, i as logger_default } from "./logger-q5I8CByj.js";
3
- import "./esm-D40XsWlR.js";
4
- import "./pythonUtils-eNq6Wsfr.js";
5
- import "./types-BsU_PxR3.js";
6
- import "./util-WYC3rB_p.js";
7
- import "./fetch-BIfcW-Fd.js";
8
- import { o as getCache, s as isCacheEnabled } from "./cache-BMl3AIo5.js";
2
+ import { b as getEnvString, i as logger_default } from "./logger-w8Ozp0Td.js";
3
+ import "./esm-rDtG_2rg.js";
4
+ import "./pythonUtils-vMlk9Qp5.js";
5
+ import "./types-DMVjYLpx.js";
6
+ import "./util-DiCePfDu.js";
7
+ import "./fetch-18MuNu9i.js";
8
+ import { o as getCache, s as isCacheEnabled } from "./cache-BLLayYEN.js";
9
9
  import "./genaiTracer-Ce19n68P.js";
10
- import { t as OpenAiChatCompletionProvider } from "./chat-DDGU7Tik.js";
11
- import "./transform-BUrxadlA.js";
12
- import "./openai-CitF-gEN.js";
13
- import "./util-Bnw6EyZN.js";
14
- import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-1RAiLcwi.js";
15
- import { t as OpenAiImageProvider } from "./image-B6TV9l0v.js";
10
+ import { t as OpenAiChatCompletionProvider } from "./chat-C8Ei4f87.js";
11
+ import "./transform-DMaxQwDx.js";
12
+ import "./openai-Dz3surb_.js";
13
+ import "./util-Cl0zfT3V.js";
14
+ import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-D9_MDlnd.js";
15
+ import { t as OpenAiImageProvider } from "./image-BiEVdpdP.js";
16
16
  import fs from "fs";
17
17
  import path from "path";
18
18
  import dedent from "dedent";
@@ -210,4 +210,4 @@ function createCometApiProvider(providerPath, options = {}) {
210
210
 
211
211
  //#endregion
212
212
  export { createCometApiProvider, getCachedResponse as n, initializeAgenticCache as r, cacheResponse as t };
213
- //# sourceMappingURL=cometapi-BUKGSUCw.js.map
213
+ //# sourceMappingURL=cometapi-ChAaRjg5.js.map
@@ -1,4 +1,4 @@
1
- import { P as getEnvString, c as OpenAiChatCompletionProvider, n as OpenAiCompletionProvider, r as OpenAiImageProvider, s as OpenAiEmbeddingProvider } from "./server/index.js";
1
+ import { I as getEnvString, c as OpenAiEmbeddingProvider, l as OpenAiChatCompletionProvider, n as OpenAiCompletionProvider, r as OpenAiImageProvider } from "./server/index.js";
2
2
 
3
3
  //#region src/providers/cometapi.ts
4
4
  /**
@@ -47,4 +47,4 @@ function createCometApiProvider(providerPath, options = {}) {
47
47
 
48
48
  //#endregion
49
49
  export { createCometApiProvider };
50
- //# sourceMappingURL=cometapi-C6BSw9k3.js.map
50
+ //# sourceMappingURL=cometapi-DHUAH6nK.js.map
@@ -1,17 +1,17 @@
1
- const require_logger = require('./logger-CMp-NS-e.cjs');
2
- require('./esm-gWVPXn3r.cjs');
3
- require('./pythonUtils-rOCm9w_5.cjs');
4
- require('./types-B-XUqfNs.cjs');
5
- require('./util-C7A-PlKK.cjs');
6
- require('./fetch-MvWxCS5U.cjs');
7
- const require_cache = require('./cache-KNsTJLKP.cjs');
8
- require('./genaiTracer-BQ8AmajD.cjs');
9
- const require_chat = require('./chat-DOQIJx7O.cjs');
10
- require('./transform-Bw1IstDE.cjs');
11
- require('./openai-BjpdxIOG.cjs');
12
- require('./util-DTJWKLkl.cjs');
13
- const require_completion = require('./completion-D6BTVt6e.cjs');
14
- const require_image = require('./image-DS9hlgSc.cjs');
1
+ const require_logger = require('./logger-BdZ-IqBc.cjs');
2
+ require('./esm-BQkx5roy.cjs');
3
+ require('./pythonUtils-DZ6EbdY4.cjs');
4
+ require('./types-BIfttHrT.cjs');
5
+ require('./util-DUYOvxAy.cjs');
6
+ require('./fetch-ZMn_oemb.cjs');
7
+ const require_cache = require('./cache-7xULbvt3.cjs');
8
+ require('./genaiTracer-CQlpZkrp.cjs');
9
+ const require_chat = require('./chat-C4zqjObh.cjs');
10
+ require('./transform-ivxEY4f7.cjs');
11
+ require('./openai-Bigwjgo1.cjs');
12
+ require('./util-C08Kns6-.cjs');
13
+ const require_completion = require('./completion-DDyL3Cb2.cjs');
14
+ const require_image = require('./image-C3BjJUAU.cjs');
15
15
  let fs = require("fs");
16
16
  fs = require_logger.__toESM(fs);
17
17
  let path = require("path");
@@ -216,4 +216,4 @@ exports.cacheResponse = cacheResponse;
216
216
  exports.createCometApiProvider = createCometApiProvider;
217
217
  exports.getCachedResponse = getCachedResponse;
218
218
  exports.initializeAgenticCache = initializeAgenticCache;
219
- //# sourceMappingURL=cometapi-B3TzpkNI.cjs.map
219
+ //# sourceMappingURL=cometapi-JbvOJSCO.cjs.map
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
- import { C as getEnvString, S as getEnvInt, o as logger_default, x as getEnvFloat } from "./logger-Bzi5o47S.js";
3
- import { d as REQUEST_TIMEOUT_MS } from "./fetch-Mb7SbeM-.js";
4
- import { a as fetchWithCache } from "./cache-DHm8Pc8l.js";
5
- import { t as OpenAiGenericProvider } from "./openai-Cv9pEKxp.js";
6
- import { a as calculateOpenAICost, c as getTokenUsage, n as OPENAI_COMPLETION_MODELS, s as formatOpenAiError } from "./util-DHBpsbZE.js";
2
+ import { C as getEnvString, S as getEnvInt, o as logger_default, x as getEnvFloat } from "./logger-BotXmWKW.js";
3
+ import { d as REQUEST_TIMEOUT_MS } from "./fetch-SRsE6Ctl.js";
4
+ import { a as fetchWithCache } from "./cache-mIszOnuz.js";
5
+ import { t as OpenAiGenericProvider } from "./openai-CT5fwbve.js";
6
+ import { a as calculateOpenAICost, c as getTokenUsage, n as OPENAI_COMPLETION_MODELS, s as formatOpenAiError } from "./util-CUEt0Vum.js";
7
7
 
8
8
  //#region src/providers/openai/embedding.ts
9
9
  var OpenAiEmbeddingProvider = class extends OpenAiGenericProvider {
@@ -120,4 +120,4 @@ var OpenAiCompletionProvider = class OpenAiCompletionProvider extends OpenAiGene
120
120
 
121
121
  //#endregion
122
122
  export { OpenAiEmbeddingProvider as n, OpenAiCompletionProvider as t };
123
- //# sourceMappingURL=completion-BLe7SUA4.js.map
123
+ //# sourceMappingURL=completion-BBJ6zmG3.js.map
@@ -1,8 +1,8 @@
1
- import { b as getEnvString, i as logger_default, v as getEnvFloat, y as getEnvInt } from "./logger-q5I8CByj.js";
2
- import { h as REQUEST_TIMEOUT_MS } from "./fetch-BIfcW-Fd.js";
3
- import { a as fetchWithCache } from "./cache-BMl3AIo5.js";
4
- import { t as OpenAiGenericProvider } from "./openai-CitF-gEN.js";
5
- import { a as calculateOpenAICost, c as getTokenUsage, n as OPENAI_COMPLETION_MODELS, s as formatOpenAiError } from "./util-Bnw6EyZN.js";
1
+ import { b as getEnvString, i as logger_default, v as getEnvFloat, y as getEnvInt } from "./logger-w8Ozp0Td.js";
2
+ import { h as REQUEST_TIMEOUT_MS } from "./fetch-18MuNu9i.js";
3
+ import { a as fetchWithCache } from "./cache-BLLayYEN.js";
4
+ import { t as OpenAiGenericProvider } from "./openai-Dz3surb_.js";
5
+ import { a as calculateOpenAICost, c as getTokenUsage, n as OPENAI_COMPLETION_MODELS, s as formatOpenAiError } from "./util-Cl0zfT3V.js";
6
6
 
7
7
  //#region src/providers/openai/embedding.ts
8
8
  var OpenAiEmbeddingProvider = class extends OpenAiGenericProvider {
@@ -119,4 +119,4 @@ var OpenAiCompletionProvider = class OpenAiCompletionProvider extends OpenAiGene
119
119
 
120
120
  //#endregion
121
121
  export { OpenAiEmbeddingProvider as n, OpenAiCompletionProvider as t };
122
- //# sourceMappingURL=completion-1RAiLcwi.js.map
122
+ //# sourceMappingURL=completion-D9_MDlnd.js.map