promptfoo 0.121.3 → 0.121.5

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 (394) hide show
  1. package/README.md +1 -1
  2. package/dist/src/{ListApp-Du7YVwj5.js → ListApp-BRUsT43Y.js} +1 -1
  3. package/dist/src/{accounts-BPyfpSeU.cjs → accounts-BIFntVWB.cjs} +5 -5
  4. package/dist/src/{accounts-CFLK3mnD.js → accounts-CLJHCDDb.js} +6 -6
  5. package/dist/src/{accounts-B2XmGjty.js → accounts-CaLNYnf7.js} +5 -5
  6. package/dist/src/{accounts-Xatc0RYb.js → accounts-bnyHT7Ju.js} +5 -5
  7. package/dist/src/{agentic-utils-36epdqwB.js → agentic-utils-B5krlibj.js} +3 -3
  8. package/dist/src/{agentic-utils-DIYAAYE7.js → agentic-utils-Ba67xmgs.js} +3 -3
  9. package/dist/src/{agentic-utils-D8yXo5Lm.js → agentic-utils-BclbiXiq.js} +4 -4
  10. package/dist/src/{agentic-utils-DAVsChuB.cjs → agentic-utils-D2x0wGhB.cjs} +3 -3
  11. package/dist/src/{agents-CLQ-P15P.js → agents-BGqaTDnr.js} +5 -7
  12. package/dist/src/{agents-wg3ohknq.js → agents-BV9yFpXX.js} +6 -7
  13. package/dist/src/{agents-CgBniSlI.js → agents-BYdMl1UE.js} +5 -9
  14. package/dist/src/{agents-Bqgfdokm.js → agents-DhxWMCtH.js} +35 -14
  15. package/dist/src/{agents-BBWxKSM0.cjs → agents-DiWmQYH9.cjs} +5 -7
  16. package/dist/src/{agents-CAYbM7qD.cjs → agents-WULPVjbH.cjs} +34 -12
  17. package/dist/src/{agents-DSSTV4bv.js → agents-emVcx3yh.js} +35 -13
  18. package/dist/src/{agents-BBVJCIYr.js → agents-n6vPqV3i.js} +35 -13
  19. package/dist/src/{aimlapi-BwGC1TtS.js → aimlapi-BxqK9HF_.js} +8 -14
  20. package/dist/src/{aimlapi-Bv8Fmc-b.cjs → aimlapi-BzLjZI_m.cjs} +8 -15
  21. package/dist/src/{aimlapi-MgSLdvy7.js → aimlapi-DR4pgeiC.js} +7 -14
  22. package/dist/src/{aimlapi-DaC3qZ-o.js → aimlapi-uPGp0Zdo.js} +7 -16
  23. package/dist/src/app/app/tsconfig.app.tsbuildinfo +1 -0
  24. package/dist/src/app/assets/Report-vjzrbgce.js +1 -0
  25. package/dist/src/app/assets/index-B3NQ8HTd.js +385 -0
  26. package/dist/src/app/assets/index-Cli2yAXv.css +1 -0
  27. package/dist/src/app/assets/rolldown-runtime-COnpUsM8.js +1 -0
  28. package/dist/src/app/assets/scroll-timeline-D9IT_e8Z.js +1 -0
  29. package/dist/src/app/assets/sync-IjzpWrOE.js +4 -0
  30. package/dist/src/app/assets/vendor-charts-BNdH8TCw.js +36 -0
  31. package/dist/src/app/assets/vendor-markdown-Ch00wnNI.js +29 -0
  32. package/dist/src/app/assets/vendor-react-CVvmk1UB.js +9 -0
  33. package/dist/src/app/assets/vendor-utils-BnEYbx2Q.js +37 -0
  34. package/dist/src/app/index.html +32 -7
  35. package/dist/src/{audio-Bn44pQxv.js → audio-BvpTOArF.js} +4 -4
  36. package/dist/src/{audio-DVFjQ67_.cjs → audio-C0vDeS0j.cjs} +4 -4
  37. package/dist/src/{audio-DjU9GswO.js → audio-CScmnmEB.js} +4 -5
  38. package/dist/src/{audio-DDA5WHdx.js → audio-Da8U9IS5.js} +4 -4
  39. package/dist/src/{base-CKjwebIH.js → base-BOMaNEes.js} +3 -3
  40. package/dist/src/{base-CqzQ4K8j.js → base-BTux96b1.js} +3 -3
  41. package/dist/src/{base-BboXIF_0.cjs → base-Tw6uhH8K.cjs} +3 -3
  42. package/dist/src/{base-Cz2ZC_iA.js → base-dYsl2hmL.js} +3 -3
  43. package/dist/src/{blobs-C6j0bvFz.cjs → blobs-B95F_7vE.cjs} +3 -3
  44. package/dist/src/{blobs-DXTl6J3H.js → blobs-BW4U31ue.js} +3 -3
  45. package/dist/src/{blobs-BUWmKWzo.js → blobs-D_gg8nbm.js} +4 -4
  46. package/dist/src/{blobs-B1JriOyi.js → blobs-DjLby-uP.js} +4 -4
  47. package/dist/src/cache-BI5BY7ey.js +280 -0
  48. package/dist/src/cache-BRkhlH3k.cjs +3 -0
  49. package/dist/src/cache-BlC6aeJ0.js +3 -0
  50. package/dist/src/cache-Bzttsk0X.js +310 -0
  51. package/dist/src/cache-Cr-qWIbP.js +310 -0
  52. package/dist/src/cache-DGg-yTZG.cjs +376 -0
  53. package/dist/src/{chat-BEwdgGEg.js → chat-BLOdH60v.js} +63 -37
  54. package/dist/src/{chat-B0iaWhoh.js → chat-Cx_LkwvZ.js} +63 -37
  55. package/dist/src/{chat-DK1U-eZ-.js → chat-D9nudO9b.js} +5 -14
  56. package/dist/src/{chat-pxmiVpWe.js → chat-DChSH_Es.js} +63 -37
  57. package/dist/src/{chat-B-52XYI1.js → chat-DG2LkwLq.js} +3 -13
  58. package/dist/src/{chat-BtIKkLKx.cjs → chat-DH97tVV9.cjs} +3 -13
  59. package/dist/src/{chat-BE0qTA8e.js → chat-aMQZw6R7.js} +4 -16
  60. package/dist/src/{chat-CM8qWR3_.cjs → chat-vYqqv1gP.cjs} +64 -38
  61. package/dist/src/{chatkit-_8eJqKcD.js → chatkit-B8X34dQc.js} +4 -4
  62. package/dist/src/{chatkit-BYGQlHlV.js → chatkit-BXu42Qwt.js} +4 -4
  63. package/dist/src/{chatkit-a2D6mY6s.js → chatkit-CbMRoeYw.js} +4 -4
  64. package/dist/src/{chatkit-Cx174XI3.cjs → chatkit-D44VyUyB.cjs} +4 -4
  65. package/dist/src/{claude-agent-sdk-8ddRp1L2.cjs → claude-agent-sdk-BRq0bbIK.cjs} +23 -18
  66. package/dist/src/{claude-agent-sdk-CMjh4LFH.js → claude-agent-sdk-BjriSVRZ.js} +20 -15
  67. package/dist/src/{claude-agent-sdk-HgbFioFw.js → claude-agent-sdk-BzNZeZ0N.js} +20 -15
  68. package/dist/src/{claude-agent-sdk-Bq5EArsX.js → claude-agent-sdk-DYv_AJ8u.js} +21 -17
  69. package/dist/src/cloud-CoD5OacT.js +3 -0
  70. package/dist/src/{cloud-z8KZpUoa.js → cloud-Da0bofJd.js} +25 -13
  71. package/dist/src/{cloudflare-ai-Bbp26N0L.js → cloudflare-ai-CXC4b1EU.js} +5 -14
  72. package/dist/src/{cloudflare-ai-BGyXlpXJ.js → cloudflare-ai-CyBoIs1Q.js} +7 -15
  73. package/dist/src/{cloudflare-ai-DdKP9TKT.js → cloudflare-ai-DGOwgexC.js} +6 -17
  74. package/dist/src/{cloudflare-ai-C62x6MQG.cjs → cloudflare-ai-DJv5qnyb.cjs} +6 -15
  75. package/dist/src/{cloudflare-gateway-DXhtXDRb.js → cloudflare-gateway-1sAoOyft.js} +6 -16
  76. package/dist/src/{cloudflare-gateway-D-e9i1Sn.js → cloudflare-gateway-D-dnkzCF.js} +5 -18
  77. package/dist/src/{cloudflare-gateway-Dx36ftqF.cjs → cloudflare-gateway-DKVjkDav.cjs} +4 -15
  78. package/dist/src/{cloudflare-gateway-BwAaUgeW.js → cloudflare-gateway-TJkVrZlB.js} +4 -15
  79. package/dist/src/codex-app-server-CCLjqCh9.js +1915 -0
  80. package/dist/src/codex-app-server-CCe0TiDc.js +1915 -0
  81. package/dist/src/codex-app-server-CPW1LFwh.js +1916 -0
  82. package/dist/src/codex-app-server-VMRnjZ68.cjs +1920 -0
  83. package/dist/src/codex-sdk-1jm_qPHf.js +3 -0
  84. package/dist/src/codex-sdk-Bd8UbO9q.cjs +1172 -0
  85. package/dist/src/codex-sdk-BgEFQ70r.js +1164 -0
  86. package/dist/src/codex-sdk-Bzb_TqX9.js +1165 -0
  87. package/dist/src/codex-sdk-Danroptg.cjs +2 -0
  88. package/dist/src/codex-sdk-DfvDTN33.js +1165 -0
  89. package/dist/src/{cometapi-BDyV-NNm.js → cometapi-B5ImDlSm.js} +9 -15
  90. package/dist/src/{cometapi-C3hOlM7-.cjs → cometapi-BgAkuYCw.cjs} +9 -16
  91. package/dist/src/{cometapi-hhL4TAh3.js → cometapi-CC7hWxmX.js} +8 -15
  92. package/dist/src/{cometapi-sp7sJpBD.js → cometapi-CCbpHkuF.js} +8 -17
  93. package/dist/src/{completion-DoYy49ti.js → completion-2iuYVxwi.js} +8 -57
  94. package/dist/src/{completion-BCimtq-h.js → completion-CrD6MQ93.js} +8 -57
  95. package/dist/src/{completion-DlXUhj5c.cjs → completion-DtQ72Bm3.cjs} +7 -62
  96. package/dist/src/{completion-DCjv7RZ3.js → completion-Vq_ad618.js} +8 -57
  97. package/dist/src/{createHash-CTQmL3G2.js → createHash-4gFQpDDv.js} +3 -3
  98. package/dist/src/{createHash-Da8fMwqB.js → createHash-DPpsZgFF.js} +3 -3
  99. package/dist/src/{createHash-DmPQkvBh.js → createHash-Un4Q_huE.js} +3 -3
  100. package/dist/src/{createHash-BYwImsYv.cjs → createHash-VvBIc-AW.cjs} +4 -4
  101. package/dist/src/{docker-CxCkwMzc.js → docker--3qzPa-6.js} +6 -14
  102. package/dist/src/{docker-Cqj2-QVi.cjs → docker-D3AY-5F5.cjs} +7 -15
  103. package/dist/src/{docker-FeBni2dw.js → docker-DCsCDvwM.js} +7 -14
  104. package/dist/src/{docker-DpguQj-w.js → docker-Dorv4_Dg.js} +6 -16
  105. package/dist/src/embedding-BXhN5lCH.cjs +63 -0
  106. package/dist/src/embedding-ChS1ivFS.js +58 -0
  107. package/dist/src/embedding-DNRvZwRN.js +59 -0
  108. package/dist/src/embedding-D_bI4NDq.js +58 -0
  109. package/dist/src/entrypoint.js +69 -6
  110. package/dist/src/{errors-P6ll7XSJ.js → errors-DFHe4L-n.js} +1 -1
  111. package/dist/src/{esm-SUNIX1x3.js → esm-B6whoAcf.js} +15 -6
  112. package/dist/src/{esm-CKWP3u_P.js → esm-BRkfNsYs.js} +16 -7
  113. package/dist/src/{esm-7UIl0pPM.js → esm-BX8fwlAO.js} +27 -18
  114. package/dist/src/{esm-CipptfDu.cjs → esm-B_rGuPTo.cjs} +15 -6
  115. package/dist/src/eval-BQPLBJbw.js +3 -0
  116. package/dist/src/{eval-BTqTn7lb.js → eval-DJ_4A-tr.js} +50 -21
  117. package/dist/src/evalResult-BBJAHAtw.cjs +2 -0
  118. package/dist/src/evalResult-BBK58h2B.js +3 -0
  119. package/dist/src/{evalResult-DpARzUCb.cjs → evalResult-Cx-8OWkb.cjs} +29 -11
  120. package/dist/src/{evalResult-DUDShQrm.js → evalResult-D6P5I5il.js} +29 -11
  121. package/dist/src/{evalResult-BkIhRdTe.js → evalResult-pSvGWFMo.js} +29 -11
  122. package/dist/src/evalResult-spPqh1G_.js +2 -0
  123. package/dist/src/{evaluator-BcvOGaam.js → evaluator-D-UIbbYq.js} +3975 -2152
  124. package/dist/src/evaluator-DgLKaZk8.js +3 -0
  125. package/dist/src/{extractor-D_wd8jxt.js → extractor-BM3jRERL.js} +6 -6
  126. package/dist/src/{extractor-DG3sSfXE.cjs → extractor-Dxr2J_wK.cjs} +6 -6
  127. package/dist/src/{extractor-CAZ2G3Kh.js → extractor-DxyiFhPk.js} +6 -6
  128. package/dist/src/{extractor-C8XwivI9.js → extractor-YlZbUMsL.js} +6 -6
  129. package/dist/src/fetch-8viavNv8.js +3 -0
  130. package/dist/src/{fetch-DoVRJZhJ.js → fetch-B6ch2nU2.js} +199 -60
  131. package/dist/src/{fetch-CVAtKnI3.js → fetch-D9xxyC1p.js} +404 -252
  132. package/dist/src/{fetch-BnR9wSnm.cjs → fetch-NuqXW1Xb.cjs} +415 -263
  133. package/dist/src/{fetch-BiYv2BZc.js → fetch-Y5qX_kST.js} +222 -70
  134. package/dist/src/{fileExtensions-LcDYkU4v.js → fileExtensions-8CjoL7vB.js} +1 -1
  135. package/dist/src/{fileExtensions-DnqA1y9x.js → fileExtensions-BGh-W-HT.js} +1 -1
  136. package/dist/src/{fileExtensions-bYh77CN8.cjs → fileExtensions-D9h-8Wxg.cjs} +1 -1
  137. package/dist/src/{fileExtensions-Ds-foDzt.js → fileExtensions-DysCsxNG.js} +1 -1
  138. package/dist/src/{formatDuration-DgBVMN65.js → formatDuration-Ch4A7G3o.js} +1 -1
  139. package/dist/src/{genaiTracer-BfxrvSUb.cjs → genaiTracer-BokHC-MW.cjs} +7 -3
  140. package/dist/src/{genaiTracer-C1rxGO8Q.js → genaiTracer-C3ZPQU60.js} +6 -2
  141. package/dist/src/{genaiTracer-70Z8BIuV.js → genaiTracer-CFny3gOy.js} +6 -2
  142. package/dist/src/{genaiTracer-D3fD9dNV.js → genaiTracer-DxODqT9e.js} +6 -2
  143. package/dist/src/golang/wrapper.go +1 -1
  144. package/dist/src/{graders-DG7mhg-b.js → graders-BoUqsCEm.js} +7402 -5699
  145. package/dist/src/{graders-BElhu9ZY.cjs → graders-Bw1wk_21.cjs} +5220 -3437
  146. package/dist/src/graders-C84JI-m5.js +2 -0
  147. package/dist/src/graders-CBbd0K0Q.cjs +2 -0
  148. package/dist/src/graders-CbQqpHSN.js +3 -0
  149. package/dist/src/{graders-RjHF8VfG.js → graders-CgPn32yp.js} +7400 -5697
  150. package/dist/src/{graders-BXAJ0sbS.js → graders-CwrbifOo.js} +6136 -4433
  151. package/dist/src/graders-DS42d3ZG.js +2 -0
  152. package/dist/src/{image-6WQXK8m8.js → image-BeWaInPF.js} +4 -4
  153. package/dist/src/{image-PoF6DN3x.js → image-BmilRNqO.js} +8 -8
  154. package/dist/src/{image--F58eEIn.cjs → image-CxJoa3aW.cjs} +8 -8
  155. package/dist/src/{image-fza3zuKs.cjs → image-D10dNAav.cjs} +4 -4
  156. package/dist/src/{image-DO0RYnjH.js → image-Dr_3I3nK.js} +4 -5
  157. package/dist/src/{image-B8b6f36E.js → image-DsGRlkh7.js} +8 -8
  158. package/dist/src/{image-CoxZp9PZ.js → image-a_SGUobh.js} +8 -8
  159. package/dist/src/{image-xNbw5ph2.js → image-qjO6FWPs.js} +4 -4
  160. package/dist/src/index.cjs +4835 -2582
  161. package/dist/src/index.d.cts +2782 -31
  162. package/dist/src/index.d.ts +2783 -32
  163. package/dist/src/index.js +4817 -2564
  164. package/dist/src/{interactiveCheck-BnMYOjMu.js → interactiveCheck-CCICw2cy.js} +2 -2
  165. package/dist/src/{invariant-BtWWVVhl.js → invariant-B2Rf6avk.js} +1 -1
  166. package/dist/src/{invariant-vgHWClmd.js → invariant-DIYf9sP1.js} +1 -1
  167. package/dist/src/{knowledgeBase-Bi7CmDbx.js → knowledgeBase-BBETc5-S.js} +6 -8
  168. package/dist/src/{knowledgeBase-DqrLX8fy.cjs → knowledgeBase-C8qOo26M.cjs} +6 -8
  169. package/dist/src/{knowledgeBase-DFRXPZl_.js → knowledgeBase-CzAi2rUI.js} +7 -8
  170. package/dist/src/{knowledgeBase-Ce3ofVan.js → knowledgeBase-Dr3Kib7F.js} +6 -10
  171. package/dist/src/{litellm-CKiAxnoM.js → litellm-BLSiANhk.js} +6 -14
  172. package/dist/src/{litellm-CnHI69aj.cjs → litellm-CaUmV7Mk.cjs} +6 -15
  173. package/dist/src/{litellm-Tc294Jhj.js → litellm-DQGo_juI.js} +5 -14
  174. package/dist/src/{litellm-Bo2gQXpo.js → litellm-DRc4qWfc.js} +5 -16
  175. package/dist/src/{logger-BcJBzSSA.js → logger-BbY6ypFL.js} +41 -12
  176. package/dist/src/{logger-D5iKBpu_.cjs → logger-COuQb2xB.cjs} +51 -10
  177. package/dist/src/{logger-DO8_zM18.js → logger-Ct2S6Yx-.js} +40 -11
  178. package/dist/src/{logger-BnkjG2jt.js → logger-KD8JjCRJ.js} +41 -12
  179. package/dist/src/{luma-ray-C9q8rdQe.js → luma-ray-B-tNZzqW.js} +6 -10
  180. package/dist/src/{luma-ray-DP0QA9qn.js → luma-ray-CtS3OlGq.js} +6 -10
  181. package/dist/src/{luma-ray-0ehMPt5N.js → luma-ray-PJJgUjOc.js} +6 -11
  182. package/dist/src/{luma-ray-m9Ku2meV.cjs → luma-ray-if-Ml4R9.cjs} +6 -10
  183. package/dist/src/main.d.ts +1 -26
  184. package/dist/src/main.js +1188 -679
  185. package/dist/src/messages-B9dSjrNf.js +544 -0
  186. package/dist/src/messages-BnsVHUnm.cjs +558 -0
  187. package/dist/src/messages-CI69Lasb.js +543 -0
  188. package/dist/src/messages-CewuNcNS.js +543 -0
  189. package/dist/src/{meteor-DLZZ3osF.cjs → meteor-BBGcGeCa.cjs} +1 -1
  190. package/dist/src/{meteor-DUiCJRC-.js → meteor-BKTM-7KS.js} +1 -1
  191. package/dist/src/{meteor-44VjEACX.js → meteor-CeGo0Lu2.js} +2 -2
  192. package/dist/src/{meteor-D-SotUw9.js → meteor-Wc_aUVvu.js} +2 -2
  193. package/dist/src/{modelslab-B5J-ZM5c.js → modelslab-BCLOtfek.js} +8 -10
  194. package/dist/src/{modelslab-IQbNg-r7.cjs → modelslab-BkapYJhh.cjs} +7 -10
  195. package/dist/src/{modelslab-BTOT8FUO.js → modelslab-D73OnKSx.js} +7 -10
  196. package/dist/src/{modelslab-BI458moT.js → modelslab-zpz9JcK0.js} +7 -12
  197. package/dist/src/{nova-reel-BZ9y-Y5s.js → nova-reel-B8F_TK5w.js} +7 -10
  198. package/dist/src/{nova-reel-Xw1SXLpg.js → nova-reel-Bx0NFV2f.js} +6 -10
  199. package/dist/src/{nova-reel-DEeQlnOJ.js → nova-reel-CNGJTLtG.js} +6 -12
  200. package/dist/src/{nova-reel-CE5etkv9.cjs → nova-reel-DkT7tnoB.cjs} +6 -10
  201. package/dist/src/{nova-sonic-Ogqf-csn.js → nova-sonic-BaXRN1cr.js} +5 -7
  202. package/dist/src/{nova-sonic-DXTLpi-r.js → nova-sonic-BeTRaFOh.js} +4 -7
  203. package/dist/src/{nova-sonic-DWswpN1E.js → nova-sonic-CL7Zqv0G.js} +4 -9
  204. package/dist/src/{nova-sonic-N0yCm0vb.cjs → nova-sonic-YT426juD.cjs} +4 -7
  205. package/dist/src/{openai-BcB5KlTk.js → openai-BMHD2Huo.js} +6 -3
  206. package/dist/src/{openai-BMcwgD5C.js → openai-BT-JvDse.js} +6 -3
  207. package/dist/src/{openai-CoxGAQwn.cjs → openai-Cy1XLs0c.cjs} +6 -3
  208. package/dist/src/{openai-D6wITiVn.js → openai-D4fxGvRx.js} +6 -3
  209. package/dist/src/openclaw-Bq7RVR3k.js +1200 -0
  210. package/dist/src/openclaw-DA8U4DsD.js +1201 -0
  211. package/dist/src/openclaw-DObVgpjC.js +1200 -0
  212. package/dist/src/openclaw-DUBZP3GL.cjs +1206 -0
  213. package/dist/src/{opencode-sdk-CHCs7dEb.js → opencode-sdk-BB40Wir1.js} +6 -8
  214. package/dist/src/{opencode-sdk-DDxj4QqH.js → opencode-sdk-BM1UAIv1.js} +6 -8
  215. package/dist/src/{opencode-sdk-WWJhnbKr.cjs → opencode-sdk-CeqiOcOU.cjs} +7 -9
  216. package/dist/src/{opencode-sdk-C71Z0ehR.js → opencode-sdk-ChdK7F7z.js} +6 -9
  217. package/dist/src/{otlpReceiver-CZL48YfC.js → otlpReceiver-C6thJRXi.js} +154 -98
  218. package/dist/src/{otlpReceiver-C9KlUtxh.js → otlpReceiver-CcdIikOu.js} +154 -98
  219. package/dist/src/{otlpReceiver-DHKqJlsz.cjs → otlpReceiver-DNSQj6bf.cjs} +154 -98
  220. package/dist/src/{otlpReceiver-CavGAA6k.js → otlpReceiver-UYMQx3sy.js} +154 -98
  221. package/dist/src/{providerRegistry-BkzVH5Ba.js → providerRegistry-1gB5vtzQ.js} +2 -2
  222. package/dist/src/{providerRegistry-BTDgfV5h.cjs → providerRegistry-BESeALrr.cjs} +2 -2
  223. package/dist/src/{providerRegistry-CUWki5mQ.js → providerRegistry-DoACwqhD.js} +2 -2
  224. package/dist/src/{providerRegistry-B9lh-_tx.js → providerRegistry-PMsleEzs.js} +2 -2
  225. package/dist/src/providers-BuyzKt7C.js +2 -0
  226. package/dist/src/providers-C7lNVBjX.cjs +3 -0
  227. package/dist/src/providers-CCE2COJi2.js +2 -0
  228. package/dist/src/{providers-Cn73d5sr.js → providers-CJh7iriU.js} +17180 -16823
  229. package/dist/src/providers-Ctcc592x.js +3 -0
  230. package/dist/src/{providers-DvddrgxL.js → providers-DRrerKra.js} +1052 -695
  231. package/dist/src/{providers-Ch6Mr0gn.js → providers-DT-GtF2t.js} +16716 -16359
  232. package/dist/src/{providers-CScd1wN6.cjs → providers-eDShy16E.cjs} +19893 -19506
  233. package/dist/src/python/persistent_wrapper.py +0 -5
  234. package/dist/src/{pythonUtils-Cpo0Ez1p.js → pythonUtils-C4tltmIn.js} +4 -4
  235. package/dist/src/{pythonUtils-dAVigVK-.cjs → pythonUtils-CoLaCwNY.cjs} +4 -4
  236. package/dist/src/{pythonUtils-Bzwbgpbg.js → pythonUtils-DMO68Jg7.js} +3 -3
  237. package/dist/src/{pythonUtils-wIqk7zAf.js → pythonUtils-DNqbnRdx.js} +3 -3
  238. package/dist/src/{quiverai-BeofbLVc.js → quiverai-BSS9a7wV.js} +4 -4
  239. package/dist/src/{quiverai-DVSEqJiq.js → quiverai-Bk1KrvL6.js} +4 -4
  240. package/dist/src/{quiverai-CcUhPIBg.cjs → quiverai-Bpx6MZ7T.cjs} +4 -4
  241. package/dist/src/{quiverai-CCQn73lq.js → quiverai-CPKhWgaT.js} +4 -5
  242. package/dist/src/render-7uNJ2V14.js +135 -0
  243. package/dist/src/render-DlscvAUJ.js +135 -0
  244. package/dist/src/render-eui5p5mL.js +136 -0
  245. package/dist/src/{render-BHl6QVq9.js → render-nj-UaPdn.js} +2 -3
  246. package/dist/src/render-tG6ir9_g.cjs +165 -0
  247. package/dist/src/{responses-CgNyTPsY.js → responses-1ztiVYsx.js} +56 -17
  248. package/dist/src/{responses-BKP_WYis.js → responses-B8haB-mD.js} +56 -17
  249. package/dist/src/{responses-CQb1Tj69.js → responses-BiaBguAu.js} +56 -17
  250. package/dist/src/{responses-mo0KQDbu.cjs → responses-CF-ayauu.cjs} +56 -17
  251. package/dist/src/rubyUtils-4hjGxvju.js +3 -0
  252. package/dist/src/{rubyUtils-DECSbsfY.js → rubyUtils-BI0p46eZ.js} +3 -3
  253. package/dist/src/{rubyUtils-CiVfln3g.js → rubyUtils-CIQFnVz4.js} +3 -3
  254. package/dist/src/rubyUtils-CO-tuszQ.cjs +2 -0
  255. package/dist/src/{rubyUtils-PgU-gHmx.js → rubyUtils-DGnoCYL2.js} +4 -4
  256. package/dist/src/{rubyUtils-CGeUtCfW.cjs → rubyUtils-DoifqkiA.cjs} +5 -4
  257. package/dist/src/{sagemaker-CqeASYE5.js → sagemaker-BDLeW29y.js} +14 -18
  258. package/dist/src/{sagemaker-MUbD5V3v.js → sagemaker-C5T60MKf.js} +14 -19
  259. package/dist/src/{sagemaker-CVv8W7so.js → sagemaker-ClS_NB07.js} +14 -18
  260. package/dist/src/{sagemaker-jiw1wQa-.cjs → sagemaker-ljtY12VM.cjs} +14 -18
  261. package/dist/src/{scanner-DVDeUz1r.js → scanner-nOCWNIXa.js} +130 -35
  262. package/dist/src/server/golang/wrapper.go +1 -1
  263. package/dist/src/server/index.js +4829 -2529
  264. package/dist/src/server/python/persistent_wrapper.py +0 -5
  265. package/dist/src/{server-BtoCXeXI.cjs → server-BEECpeGG.cjs} +140 -6
  266. package/dist/src/{server-DZ9MtCn0.js → server-ByiF3qlg.js} +129 -9
  267. package/dist/src/{server-Cns05F1j.js → server-ByxbqAcQ.js} +128 -8
  268. package/dist/src/server-C0XKRNB_.cjs +2 -0
  269. package/dist/src/server-C_15p79-.js +3 -0
  270. package/dist/src/{server-CP9qKM40.js → server-gyd6d4Hc.js} +126 -7
  271. package/dist/src/{signal-C3ZTsUgi.js → signal-DTtUuU3l.js} +3 -3
  272. package/dist/src/{slack-DCEV-vWP.js → slack-4zZX1OKP.js} +2 -2
  273. package/dist/src/{slack-94iG3T0s.cjs → slack-BLlsDpfG.cjs} +2 -2
  274. package/dist/src/{slack-BR0HtO3K.js → slack-BPYLQLgb.js} +2 -2
  275. package/dist/src/{slack-2sdpGzbt.js → slack-Bamy_7te.js} +2 -2
  276. package/dist/src/{store-CLyU7AtI.cjs → store-2K0kDi80.cjs} +3 -3
  277. package/dist/src/{store-VB0GP46K.js → store-2OXm_eBY.js} +3 -3
  278. package/dist/src/store-BELqNwvz.js +3 -0
  279. package/dist/src/{store-Cj258DgL.js → store-BPkzEyFM.js} +3 -3
  280. package/dist/src/{store-P8OKm19S.js → store-CPh25336.js} +3 -3
  281. package/dist/src/store-uQZ4AjPe.cjs +2 -0
  282. package/dist/src/{tables-BEIFz2tM.js → tables-BMSOS2Gg.js} +3 -3
  283. package/dist/src/{tables-BdZQEpRz.cjs → tables-CXbaZ9y1.cjs} +3 -3
  284. package/dist/src/{tables-DmzvLbeZ.js → tables-NlvH23ky.js} +3 -3
  285. package/dist/src/{tables-kC7R5kiK.js → tables-WgdUZ8Ck.js} +3 -3
  286. package/dist/src/{telemetry-DPXLd7UE.js → telemetry--iqaGyaS.js} +5 -4
  287. package/dist/src/{telemetry-re627Lre.cjs → telemetry-CEQxGnMZ.cjs} +8 -7
  288. package/dist/src/{telemetry-BugWqKiu.js → telemetry-CgdVGV8N.js} +5 -4
  289. package/dist/src/{telemetry-BnH5VJAU.js → telemetry-DWdGHvEf.js} +5 -4
  290. package/dist/src/telemetry-DjNoC_n3.cjs +2 -0
  291. package/dist/src/telemetry-ZdPZc0fm.js +3 -0
  292. package/dist/src/{text-CW1cyrwj.cjs → text-BiNME7QG.cjs} +1 -1
  293. package/dist/src/{text-Db-Wt2u2.js → text-D4lz-Jg_.js} +1 -1
  294. package/dist/src/{text-TIv0QYnd.js → text-DDQP0tuQ.js} +1 -1
  295. package/dist/src/{text-B_UCRPp2.js → text-NWvfMfkF.js} +1 -1
  296. package/dist/src/{tokenUsageUtils-DflFMjS0.js → tokenUsageUtils-2wIvAhB3.js} +7 -3
  297. package/dist/src/{tokenUsageUtils-BDGe-iyI.js → tokenUsageUtils-4c780gFd.js} +7 -3
  298. package/dist/src/{tokenUsageUtils-NYT-WKS6.js → tokenUsageUtils-BjVkdk18.js} +7 -3
  299. package/dist/src/{tokenUsageUtils-bVa1ga6f.cjs → tokenUsageUtils-C9odhsbW.cjs} +7 -3
  300. package/dist/src/{transcription-CaMivnjG.js → transcription-84t4ALo2.js} +7 -11
  301. package/dist/src/{transcription-Hb3VnC4M.js → transcription-Bm2emLmJ.js} +8 -11
  302. package/dist/src/{transcription-BvtsrzRG.cjs → transcription-CZ4LG5hQ.cjs} +9 -13
  303. package/dist/src/{transcription-DOMMTu01.js → transcription-D7Q0vJsh.js} +7 -13
  304. package/dist/src/{transform-DrleutM3.js → transform-B-b6Cq-q.js} +8 -6
  305. package/dist/src/transform-BQt0BeAW.js +3 -0
  306. package/dist/src/transform-Bq5oqC0s.cjs +2 -0
  307. package/dist/src/{transform-ZrG2dvlo.cjs → transform-C9izGX54.cjs} +5 -5
  308. package/dist/src/{transform-BzK09Q_9.js → transform-CwbAZ84V.js} +5 -5
  309. package/dist/src/{transform-0BwoBsvO.cjs → transform-Dg4LcO1Y.cjs} +18 -10
  310. package/dist/src/{transform-B2-jIv68.js → transform-DtooZqYY.js} +8 -6
  311. package/dist/src/{transform-ljLYHEPh.js → transform-DzCF-wqV.js} +5 -5
  312. package/dist/src/{transform-DyDAwEpE.js → transform-_DpNB4qp.js} +9 -7
  313. package/dist/src/{transform-BqPkNPYm.js → transform-eGiUAv86.js} +5 -5
  314. package/dist/src/{transformersAvailability-DKoRtQLy.cjs → transformersAvailability-B22swDxr.cjs} +1 -1
  315. package/dist/src/{transformersAvailability-BGkzavwb.js → transformersAvailability-lvCCvuPT.js} +1 -1
  316. package/dist/src/{transformersAvailability-D6c6ROpT.js → transformersAvailability-rJGPccjr.js} +1 -1
  317. package/dist/src/{types-Cd3ygw8W.js → types-BDjGOq4E.js} +354 -24
  318. package/dist/src/{types-CIhFeUC4.js → types-BVH9hjgW.js} +364 -23
  319. package/dist/src/{types-D8cGDZbL.cjs → types-CgG2rKiW.cjs} +534 -167
  320. package/dist/src/{types-q8GXGF65.js → types-DNRZVOue.js} +498 -167
  321. package/dist/src/{util-BLvy9qfE.js → util-3pBZZb_H.js} +151 -149
  322. package/dist/src/{util-CFj4YKIn.cjs → util-A5_ZsQUn.cjs} +66 -44
  323. package/dist/src/{util-BtoGs5Cb.js → util-B9CNhyac.js} +66 -44
  324. package/dist/src/{util-Bm3E9jpK.js → util-BQOCAHQC.js} +692 -690
  325. package/dist/src/{util-vNmDL5DT.js → util-BVXcTwXu.js} +138 -36
  326. package/dist/src/{util-CgDCK4KI.js → util-BlFVL0UF.js} +66 -44
  327. package/dist/src/{util-DM2rTn_6.js → util-C-kmRosx.js} +66 -44
  328. package/dist/src/{util-DbVG-yZU.js → util-DFPeFkiV.js} +138 -36
  329. package/dist/src/{util-DMFeUvLz.js → util-DN0-b81k.js} +138 -36
  330. package/dist/src/{util--9u9UVCt.cjs → util-Dpmm_dAI.cjs} +143 -35
  331. package/dist/src/{util-CMMkIxfU.js → util-Dub0f_ej.js} +693 -691
  332. package/dist/src/{util-CuLo2pMR.cjs → util-DvpHnLt0.cjs} +714 -719
  333. package/dist/src/{utils-DOjD4dTC.js → utils-BUMN8orw.js} +6 -4
  334. package/dist/src/{utils-DKw8mrgr.cjs → utils-DkVeShIB.cjs} +6 -4
  335. package/dist/src/{utils-DEuL4VNB.js → utils-kt7lv30R.js} +6 -4
  336. package/dist/src/{utils-CFxO9KGo.js → utils-o8S5huU2.js} +6 -4
  337. package/dist/src/version-0frU0UTr.js +16 -0
  338. package/dist/src/version-CbpiUINz.js +17 -0
  339. package/dist/src/version-CbuBKu2U.js +16 -0
  340. package/dist/src/version-D9zu9FWB.cjs +27 -0
  341. package/dist/tsconfig.tsbuildinfo +1 -1
  342. package/package.json +57 -46
  343. package/dist/src/app/assets/index-B6l9CVVb.js +0 -439
  344. package/dist/src/app/assets/index-DyZ0Ep37.css +0 -1
  345. package/dist/src/app/assets/scroll-timeline-BdJZVXlz.js +0 -1
  346. package/dist/src/app/assets/sync-CStkzc6u.js +0 -4
  347. package/dist/src/app/assets/vendor-charts-BnDWwBlI.js +0 -36
  348. package/dist/src/app/assets/vendor-markdown-Bz7N-ca6.js +0 -29
  349. package/dist/src/app/assets/vendor-react-AtKqiNEf.js +0 -4
  350. package/dist/src/app/assets/vendor-syntax-D06x6TQF.js +0 -2
  351. package/dist/src/app/assets/vendor-utils-BvMHZmO7.js +0 -37
  352. package/dist/src/cache-C5yFZ4gC.cjs +0 -816
  353. package/dist/src/cache-CaT5tPgo.js +0 -756
  354. package/dist/src/cache-CyCanoMu.js +0 -6
  355. package/dist/src/cache-DSqR6ezl.js +0 -726
  356. package/dist/src/cache-Df_QFDNu.cjs +0 -5
  357. package/dist/src/cache-HP0NP4k3.js +0 -756
  358. package/dist/src/cloud-DE3t1-ZI.js +0 -4
  359. package/dist/src/codex-sdk-BQEw16R_.js +0 -834
  360. package/dist/src/codex-sdk-C_07GuVS.js +0 -834
  361. package/dist/src/codex-sdk-DE5G18dx.js +0 -835
  362. package/dist/src/codex-sdk-ZLKfDjqP.cjs +0 -838
  363. package/dist/src/eval-7aEqoMs3.js +0 -15
  364. package/dist/src/evalResult-CYNHkk5A.js +0 -12
  365. package/dist/src/evalResult-CuvJeNiM.js +0 -10
  366. package/dist/src/evalResult-tGdilrWt.cjs +0 -10
  367. package/dist/src/evaluator-BBUqRhz1.js +0 -36
  368. package/dist/src/fetch-UWU706qb.js +0 -5
  369. package/dist/src/graders-BxfEguVY.js +0 -32
  370. package/dist/src/graders-CzVMbEnv.js +0 -34
  371. package/dist/src/graders-DjCXfj0l.cjs +0 -32
  372. package/dist/src/graders-kHzIWOKu.js +0 -32
  373. package/dist/src/messages-DJNo37Ko.js +0 -246
  374. package/dist/src/messages-Dy9QecMs.js +0 -245
  375. package/dist/src/messages-HJsyEh4o.cjs +0 -257
  376. package/dist/src/messages-biC_ex-p.js +0 -245
  377. package/dist/src/openclaw-0Sv7AK3O.js +0 -580
  378. package/dist/src/openclaw-CXxbKgDH.cjs +0 -586
  379. package/dist/src/openclaw-D1FSCps-.js +0 -580
  380. package/dist/src/openclaw-D2ENvu7a.js +0 -582
  381. package/dist/src/providers-BSLEaIQG.js +0 -32
  382. package/dist/src/providers-D-FnDg8k.cjs +0 -31
  383. package/dist/src/providers-DEYiFVAo.js +0 -30
  384. package/dist/src/providers-sS2WI8YD.js +0 -30
  385. package/dist/src/rubyUtils-B1HXG4ej.cjs +0 -4
  386. package/dist/src/rubyUtils-Rt6pKA96.js +0 -5
  387. package/dist/src/server-B0Xh1Gx-.js +0 -7
  388. package/dist/src/server-DJTKu9IR.cjs +0 -5
  389. package/dist/src/store-C5u6MgC8.js +0 -6
  390. package/dist/src/store-CNHk-De4.cjs +0 -5
  391. package/dist/src/telemetry-Yig0Tino.js +0 -7
  392. package/dist/src/telemetry-p8Pwqm1i.cjs +0 -5
  393. package/dist/src/transform-ChNIpHz7.js +0 -6
  394. package/dist/src/transform-PtQ6rAE3.cjs +0 -5
@@ -0,0 +1,165 @@
1
+ const require_logger = require("./logger-COuQb2xB.cjs");
2
+ let nunjucks = require("nunjucks");
3
+ nunjucks = require_logger.__toESM(nunjucks);
4
+ //#region src/util/templates.ts
5
+ /**
6
+ * Get a Nunjucks engine instance with optional filters and configuration.
7
+ * @param filters - Optional map of custom Nunjucks filters.
8
+ * @param throwOnUndefined - Whether to throw an error on undefined variables.
9
+ * @param isGrader - Whether this engine is being used in a grader context.
10
+ * Nunjucks is always enabled in grader mode.
11
+ * @returns A configured Nunjucks environment.
12
+ */
13
+ function getNunjucksEngine(filters, throwOnUndefined = false, isGrader = false) {
14
+ if (!isGrader && require_logger.getEnvBool("PROMPTFOO_DISABLE_TEMPLATING")) return { renderString: (template) => template };
15
+ const env = nunjucks.default.configure({
16
+ autoescape: false,
17
+ throwOnUndefined
18
+ });
19
+ const envGlobals = {
20
+ ...require_logger.getEnvBool("PROMPTFOO_DISABLE_TEMPLATE_ENV_VARS", require_logger.getEnvBool("PROMPTFOO_SELF_HOSTED", false)) ? {} : process.env,
21
+ ...require_logger.state.config?.env
22
+ };
23
+ env.addGlobal("env", envGlobals);
24
+ env.addFilter("load", function(str) {
25
+ return JSON.parse(str);
26
+ });
27
+ if (filters) for (const [name, filter] of Object.entries(filters)) env.addFilter(name, filter);
28
+ return env;
29
+ }
30
+ /**
31
+ * Parse Nunjucks template to extract variables.
32
+ * @param template - The Nunjucks template string.
33
+ * @returns An array of variables used in the template.
34
+ */
35
+ function extractVariablesFromTemplate(template) {
36
+ const variableSet = /* @__PURE__ */ new Set();
37
+ const regex = /\{\{[\s]*([^{}\s|]+)[\s]*(?:\|[^}]+)?\}\}|\{%[\s]*(?:if|for)[\s]+([^{}\s]+)[\s]*.*?%\}/g;
38
+ template = template.replace(/\{#[\s\S]*?#\}/g, "");
39
+ let match;
40
+ while ((match = regex.exec(template)) !== null) {
41
+ const variable = match[1] || match[2];
42
+ if (variable) variableSet.add(variable);
43
+ }
44
+ const forLoopRegex = /\{%[\s]*for[\s]+(\w+)[\s]+in[\s]+(\w+)[\s]*%\}/g;
45
+ while ((match = forLoopRegex.exec(template)) !== null) {
46
+ variableSet.delete(match[1]);
47
+ variableSet.add(match[2]);
48
+ }
49
+ return Array.from(variableSet);
50
+ }
51
+ /**
52
+ * Extract variables from multiple Nunjucks templates.
53
+ * @param templates - An array of Nunjucks template strings.
54
+ * @returns An array of variables used in the templates.
55
+ */
56
+ function extractVariablesFromTemplates(templates) {
57
+ const variableSet = /* @__PURE__ */ new Set();
58
+ for (const template of templates) extractVariablesFromTemplate(template).forEach((variable) => variableSet.add(variable));
59
+ return Array.from(variableSet);
60
+ }
61
+ //#endregion
62
+ //#region src/util/render.ts
63
+ /**
64
+ * Renders ONLY environment variable templates in an object, leaving all other templates untouched.
65
+ * This allows env vars to be resolved at provider load time while preserving runtime var templates.
66
+ *
67
+ * Supports full Nunjucks syntax for env vars including filters and expressions:
68
+ * - {{ env.VAR_NAME }}
69
+ * - {{ env['VAR-NAME'] }}
70
+ * - {{ env["VAR-NAME"] }}
71
+ * - {{ env.VAR | default('fallback') }}
72
+ * - {{ env.VAR | upper }}
73
+ *
74
+ * Preserves non-env templates for runtime rendering:
75
+ * - {{ vars.x }} - preserved as literal
76
+ * - {{ prompt }} - preserved as literal
77
+ *
78
+ * Implementation: Uses regex to find env templates, delegates to Nunjucks for rendering.
79
+ * This ensures full Nunjucks feature support while preserving non-env templates.
80
+ *
81
+ * @param obj - The object to process
82
+ * @param envOverrides - Optional env vars to merge with (or replace) the base env
83
+ * @param replaceBase - If true, envOverrides replaces the base env entirely instead of merging
84
+ * @returns The object with only env templates rendered
85
+ */
86
+ function renderEnvOnlyInObject(obj, envOverrides, replaceBase) {
87
+ if (require_logger.getEnvBool("PROMPTFOO_DISABLE_TEMPLATING")) return obj;
88
+ if (typeof obj === "string") {
89
+ const nunjucks = getNunjucksEngine();
90
+ const baseEnvGlobals = nunjucks.getGlobal("env");
91
+ const envGlobals = replaceBase ? envOverrides ?? {} : envOverrides ? {
92
+ ...baseEnvGlobals,
93
+ ...envOverrides
94
+ } : baseEnvGlobals;
95
+ return obj.replace(/\{\{(?:[^}]|\}(?!\}))*\}\}/g, (match) => {
96
+ if (!match.match(/\benv\.|env\[/)) return match;
97
+ const varMatch = match.match(/env\.(\w+)|env\[['"]([^'"]+)['"]\]/);
98
+ const varName = varMatch?.[1] || varMatch?.[2];
99
+ if (match.includes("|") || varName && varName in envGlobals && envGlobals[varName] !== void 0) try {
100
+ return nunjucks.renderString(match, { env: envGlobals });
101
+ } catch (error) {
102
+ require_logger.logger.debug(`Failed to render env template "${match}": ${error instanceof Error ? error.message : String(error)}`);
103
+ return match;
104
+ }
105
+ return match;
106
+ });
107
+ }
108
+ if (Array.isArray(obj)) return obj.map((item) => renderEnvOnlyInObject(item, envOverrides, replaceBase));
109
+ if (typeof obj === "object" && obj !== null) {
110
+ const result = {};
111
+ for (const key in obj) {
112
+ if (key === "_conversation") {
113
+ result[key] = obj[key];
114
+ continue;
115
+ }
116
+ result[key] = renderEnvOnlyInObject(obj[key], envOverrides, replaceBase);
117
+ }
118
+ return result;
119
+ }
120
+ return obj;
121
+ }
122
+ function renderVarsInObject(obj, vars) {
123
+ if (!vars || require_logger.getEnvBool("PROMPTFOO_DISABLE_TEMPLATING")) return obj;
124
+ if (typeof obj === "string") return getNunjucksEngine().renderString(obj, vars);
125
+ if (Array.isArray(obj)) return obj.map((item) => renderVarsInObject(item, vars));
126
+ if (typeof obj === "object" && obj !== null) {
127
+ const result = {};
128
+ for (const key in obj) result[key] = renderVarsInObject(obj[key], vars);
129
+ return result;
130
+ } else if (typeof obj === "function") return renderVarsInObject(obj({ vars }));
131
+ return obj;
132
+ }
133
+ //#endregion
134
+ Object.defineProperty(exports, "extractVariablesFromTemplate", {
135
+ enumerable: true,
136
+ get: function() {
137
+ return extractVariablesFromTemplate;
138
+ }
139
+ });
140
+ Object.defineProperty(exports, "extractVariablesFromTemplates", {
141
+ enumerable: true,
142
+ get: function() {
143
+ return extractVariablesFromTemplates;
144
+ }
145
+ });
146
+ Object.defineProperty(exports, "getNunjucksEngine", {
147
+ enumerable: true,
148
+ get: function() {
149
+ return getNunjucksEngine;
150
+ }
151
+ });
152
+ Object.defineProperty(exports, "renderEnvOnlyInObject", {
153
+ enumerable: true,
154
+ get: function() {
155
+ return renderEnvOnlyInObject;
156
+ }
157
+ });
158
+ Object.defineProperty(exports, "renderVarsInObject", {
159
+ enumerable: true,
160
+ get: function() {
161
+ return renderVarsInObject;
162
+ }
163
+ });
164
+
165
+ //# sourceMappingURL=render-tG6ir9_g.cjs.map
@@ -1,11 +1,12 @@
1
- import { C as getEnvString, D as state, S as getEnvInt, a as logger, x as getEnvFloat } from "./logger-BnkjG2jt.js";
2
- import { f as LONG_RUNNING_MODEL_TIMEOUT_MS, p as REQUEST_TIMEOUT_MS } from "./fetch-BiYv2BZc.js";
3
- import { r as importModule } from "./esm-CKWP3u_P.js";
4
- import { i as isJavascriptFile } from "./fileExtensions-LcDYkU4v.js";
5
- import { r as fetchWithCache } from "./cache-HP0NP4k3.js";
6
- import { D as maybeLoadResponseFormatFromExternalFile, N as renderVarsInObject, O as maybeLoadToolsFromExternalFile } from "./util-BLvy9qfE.js";
7
- import { t as OpenAiGenericProvider } from "./openai-D6wITiVn.js";
8
- import { a as calculateOpenAICost, c as getTokenUsage$1, s as formatOpenAiError } from "./util-BtoGs5Cb.js";
1
+ import { C as getEnvFloat, T as getEnvString, a as logger, k as state, w as getEnvInt } from "./logger-KD8JjCRJ.js";
2
+ import { h as REQUEST_TIMEOUT_MS, m as LONG_RUNNING_MODEL_TIMEOUT_MS } from "./fetch-Y5qX_kST.js";
3
+ import { r as importModule } from "./esm-B6whoAcf.js";
4
+ import { n as renderVarsInObject } from "./render-7uNJ2V14.js";
5
+ import { i as isJavascriptFile } from "./fileExtensions-BGh-W-HT.js";
6
+ import { r as fetchWithCache } from "./cache-Cr-qWIbP.js";
7
+ import { M as maybeLoadToolsFromExternalFile, j as maybeLoadResponseFormatFromExternalFile } from "./util-3pBZZb_H.js";
8
+ import { t as OpenAiGenericProvider } from "./openai-BMHD2Huo.js";
9
+ import { a as calculateOpenAICost, c as getTokenUsage$1, s as formatOpenAiError } from "./util-B9CNhyac.js";
9
10
  import path from "path";
10
11
  //#region src/providers/functionCallbackUtils.ts
11
12
  /**
@@ -451,7 +452,9 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
451
452
  "gpt-5.4-pro-2026-03-05",
452
453
  "gpt-audio",
453
454
  "gpt-audio-2025-08-28",
455
+ "gpt-audio-1.5",
454
456
  "gpt-audio-mini",
457
+ "gpt-audio-mini-2025-12-15",
455
458
  "gpt-audio-mini-2025-10-06",
456
459
  "computer-use-preview",
457
460
  "computer-use-preview-2025-03-11",
@@ -481,7 +484,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
481
484
  config;
482
485
  constructor(modelName, options = {}) {
483
486
  super(modelName, options);
484
- this.config = options.config || {};
487
+ this.config = options.config ? { ...options.config } : {};
485
488
  this.processor = new ResponsesProcessor({
486
489
  modelName: this.modelName,
487
490
  providerType: "openai",
@@ -498,6 +501,30 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
498
501
  supportsTemperature() {
499
502
  return !this.isReasoningModel();
500
503
  }
504
+ isAzureOpenAiEndpoint(value) {
505
+ if (!value) return false;
506
+ const endpoint = /^[a-z][a-z0-9+.-]*:\/\//i.test(value) ? value : `https://${value}`;
507
+ try {
508
+ const hostname = new URL(endpoint).hostname.toLowerCase();
509
+ return hostname === "openai.azure.com" || hostname.endsWith(".openai.azure.com");
510
+ } catch {
511
+ return false;
512
+ }
513
+ }
514
+ getDeploymentCapabilities(config) {
515
+ const hasAzureCustomDeploymentHost = [
516
+ config.apiHost,
517
+ config.apiBaseUrl,
518
+ this.getApiUrl()
519
+ ].some((endpoint) => this.isAzureOpenAiEndpoint(endpoint));
520
+ const isAzureResponsesDeploymentWithReasoningConfig = hasAzureCustomDeploymentHost && (config.reasoning !== void 0 || config.reasoning_effort !== void 0);
521
+ const isAzureResponsesDeploymentWithVerbosityConfig = hasAzureCustomDeploymentHost && config.verbosity !== void 0;
522
+ return {
523
+ isAzureResponsesDeploymentWithReasoningConfig,
524
+ isReasoningModel: this.isReasoningModel() || isAzureResponsesDeploymentWithReasoningConfig,
525
+ isGPT5Model: this.isGPT5Model() || isAzureResponsesDeploymentWithVerbosityConfig
526
+ };
527
+ }
501
528
  async getOpenAiBody(prompt, context, _callApiOptions) {
502
529
  const config = {
503
530
  ...this.config,
@@ -511,10 +538,17 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
511
538
  } catch {
512
539
  input = prompt;
513
540
  }
514
- const isReasoningModel = this.isReasoningModel();
515
- const maxOutputTokens = config.max_output_tokens ?? (isReasoningModel ? getEnvInt("OPENAI_MAX_COMPLETION_TOKENS") : getEnvInt("OPENAI_MAX_TOKENS", 1024));
516
- const temperature = this.supportsTemperature() ? config.temperature ?? getEnvFloat("OPENAI_TEMPERATURE", 0) : void 0;
517
- const reasoningEffort = isReasoningModel ? renderVarsInObject(config.reasoning_effort, context?.vars) : void 0;
541
+ const { isAzureResponsesDeploymentWithReasoningConfig, isReasoningModel, isGPT5Model } = this.getDeploymentCapabilities(config);
542
+ const maxOutputTokensDefault = config.omitDefaults ? getEnvString("OPENAI_MAX_TOKENS") === void 0 ? void 0 : getEnvInt("OPENAI_MAX_TOKENS") : getEnvInt("OPENAI_MAX_TOKENS", 1024);
543
+ const reasoningMaxOutputTokensDefault = getEnvInt("OPENAI_MAX_COMPLETION_TOKENS") ?? getEnvInt("OPENAI_MAX_TOKENS");
544
+ const maxOutputTokens = config.max_output_tokens ?? (isReasoningModel ? reasoningMaxOutputTokensDefault : maxOutputTokensDefault);
545
+ const renderedReasoning = renderVarsInObject(config.reasoning, context?.vars);
546
+ const renderedReasoningEffort = isReasoningModel ? renderVarsInObject(config.reasoning_effort, context?.vars) : void 0;
547
+ const effectiveReasoningEffort = renderedReasoning?.effort ?? renderedReasoningEffort;
548
+ const hasAzureReasoningEffort = isAzureResponsesDeploymentWithReasoningConfig && effectiveReasoningEffort !== void 0 && effectiveReasoningEffort !== "none";
549
+ const temperatureDefault = config.omitDefaults ? getEnvString("OPENAI_TEMPERATURE") === void 0 ? void 0 : getEnvFloat("OPENAI_TEMPERATURE") : getEnvFloat("OPENAI_TEMPERATURE", 0);
550
+ const temperature = this.supportsTemperature() && !hasAzureReasoningEffort ? config.temperature ?? temperatureDefault : void 0;
551
+ const reasoningEffort = isReasoningModel ? effectiveReasoningEffort : void 0;
518
552
  const instructions = config.instructions;
519
553
  const responseFormat = maybeLoadResponseFormatFromExternalFile(config.response_format, context?.vars);
520
554
  let textFormat;
@@ -529,7 +563,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
529
563
  } };
530
564
  } else textFormat = { format: { type: "text" } };
531
565
  else textFormat = { format: { type: "text" } };
532
- if (this.isGPT5Model() && config.verbosity) textFormat = {
566
+ if (isGPT5Model && config.verbosity) textFormat = {
533
567
  ...textFormat,
534
568
  verbosity: config.verbosity
535
569
  };
@@ -557,7 +591,12 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
557
591
  ...config.user ? { user: config.user } : {},
558
592
  ...config.passthrough || {}
559
593
  };
560
- if (config.reasoning && this.isReasoningModel()) body.reasoning = config.reasoning;
594
+ if (renderedReasoning && isReasoningModel) body.reasoning = {
595
+ ...body.reasoning,
596
+ ...renderedReasoning
597
+ };
598
+ if ("max_tokens" in body) delete body.max_tokens;
599
+ if ("max_tokens" in body) delete body.max_tokens;
561
600
  return {
562
601
  body,
563
602
  config: {
@@ -568,7 +607,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
568
607
  };
569
608
  }
570
609
  async callApi(prompt, context, callApiOptions) {
571
- if (this.requiresApiKey() && !this.getApiKey()) throw new Error("OpenAI API key is not set. Set the OPENAI_API_KEY environment variable or add `apiKey` to the provider config.");
610
+ if (this.requiresApiKey() && !this.getApiKey()) throw new Error(this.getMissingApiKeyErrorMessage());
572
611
  const { body, config } = await this.getOpenAiBody(prompt, context, callApiOptions);
573
612
  const isDeepResearchModel = this.modelName.includes("deep-research");
574
613
  if (isDeepResearchModel) {
@@ -661,4 +700,4 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
661
700
  //#endregion
662
701
  export { ResponsesProcessor as n, FunctionCallbackHandler as r, OpenAiResponsesProvider as t };
663
702
 
664
- //# sourceMappingURL=responses-CgNyTPsY.js.map
703
+ //# sourceMappingURL=responses-1ztiVYsx.js.map
@@ -1,12 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import { E as getEnvString, T as getEnvInt, j as state, s as logger, w as getEnvFloat } from "./logger-BcJBzSSA.js";
3
- import { d as LONG_RUNNING_MODEL_TIMEOUT_MS, f as REQUEST_TIMEOUT_MS } from "./fetch-DoVRJZhJ.js";
4
- import { a as fetchWithCache } from "./cache-DSqR6ezl.js";
5
- import { i as isJavascriptFile } from "./fileExtensions-Ds-foDzt.js";
6
- import { g as maybeLoadToolsFromExternalFile, h as maybeLoadResponseFormatFromExternalFile, x as renderVarsInObject } from "./util-Bm3E9jpK.js";
7
- import { r as importModule } from "./esm-7UIl0pPM.js";
8
- import { t as OpenAiGenericProvider } from "./openai-BMcwgD5C.js";
9
- import { a as calculateOpenAICost, c as getTokenUsage$1, s as formatOpenAiError } from "./util-DM2rTn_6.js";
2
+ import { D as getEnvInt, E as getEnvFloat, N as state, O as getEnvString, s as logger } from "./logger-BbY6ypFL.js";
3
+ import { m as REQUEST_TIMEOUT_MS, p as LONG_RUNNING_MODEL_TIMEOUT_MS } from "./fetch-B6ch2nU2.js";
4
+ import { r as importModule } from "./esm-BX8fwlAO.js";
5
+ import { n as renderVarsInObject } from "./render-eui5p5mL.js";
6
+ import { a as fetchWithCache } from "./cache-BI5BY7ey.js";
7
+ import { i as isJavascriptFile } from "./fileExtensions-DysCsxNG.js";
8
+ import { M as maybeLoadResponseFormatFromExternalFile, N as maybeLoadToolsFromExternalFile } from "./util-BQOCAHQC.js";
9
+ import { t as OpenAiGenericProvider } from "./openai-BT-JvDse.js";
10
+ import { a as calculateOpenAICost, c as getTokenUsage$1, s as formatOpenAiError } from "./util-C-kmRosx.js";
10
11
  import path from "path";
11
12
  //#region src/providers/functionCallbackUtils.ts
12
13
  /**
@@ -452,7 +453,9 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
452
453
  "gpt-5.4-pro-2026-03-05",
453
454
  "gpt-audio",
454
455
  "gpt-audio-2025-08-28",
456
+ "gpt-audio-1.5",
455
457
  "gpt-audio-mini",
458
+ "gpt-audio-mini-2025-12-15",
456
459
  "gpt-audio-mini-2025-10-06",
457
460
  "computer-use-preview",
458
461
  "computer-use-preview-2025-03-11",
@@ -482,7 +485,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
482
485
  config;
483
486
  constructor(modelName, options = {}) {
484
487
  super(modelName, options);
485
- this.config = options.config || {};
488
+ this.config = options.config ? { ...options.config } : {};
486
489
  this.processor = new ResponsesProcessor({
487
490
  modelName: this.modelName,
488
491
  providerType: "openai",
@@ -499,6 +502,30 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
499
502
  supportsTemperature() {
500
503
  return !this.isReasoningModel();
501
504
  }
505
+ isAzureOpenAiEndpoint(value) {
506
+ if (!value) return false;
507
+ const endpoint = /^[a-z][a-z0-9+.-]*:\/\//i.test(value) ? value : `https://${value}`;
508
+ try {
509
+ const hostname = new URL(endpoint).hostname.toLowerCase();
510
+ return hostname === "openai.azure.com" || hostname.endsWith(".openai.azure.com");
511
+ } catch {
512
+ return false;
513
+ }
514
+ }
515
+ getDeploymentCapabilities(config) {
516
+ const hasAzureCustomDeploymentHost = [
517
+ config.apiHost,
518
+ config.apiBaseUrl,
519
+ this.getApiUrl()
520
+ ].some((endpoint) => this.isAzureOpenAiEndpoint(endpoint));
521
+ const isAzureResponsesDeploymentWithReasoningConfig = hasAzureCustomDeploymentHost && (config.reasoning !== void 0 || config.reasoning_effort !== void 0);
522
+ const isAzureResponsesDeploymentWithVerbosityConfig = hasAzureCustomDeploymentHost && config.verbosity !== void 0;
523
+ return {
524
+ isAzureResponsesDeploymentWithReasoningConfig,
525
+ isReasoningModel: this.isReasoningModel() || isAzureResponsesDeploymentWithReasoningConfig,
526
+ isGPT5Model: this.isGPT5Model() || isAzureResponsesDeploymentWithVerbosityConfig
527
+ };
528
+ }
502
529
  async getOpenAiBody(prompt, context, _callApiOptions) {
503
530
  const config = {
504
531
  ...this.config,
@@ -512,10 +539,17 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
512
539
  } catch {
513
540
  input = prompt;
514
541
  }
515
- const isReasoningModel = this.isReasoningModel();
516
- const maxOutputTokens = config.max_output_tokens ?? (isReasoningModel ? getEnvInt("OPENAI_MAX_COMPLETION_TOKENS") : getEnvInt("OPENAI_MAX_TOKENS", 1024));
517
- const temperature = this.supportsTemperature() ? config.temperature ?? getEnvFloat("OPENAI_TEMPERATURE", 0) : void 0;
518
- const reasoningEffort = isReasoningModel ? renderVarsInObject(config.reasoning_effort, context?.vars) : void 0;
542
+ const { isAzureResponsesDeploymentWithReasoningConfig, isReasoningModel, isGPT5Model } = this.getDeploymentCapabilities(config);
543
+ const maxOutputTokensDefault = config.omitDefaults ? getEnvString("OPENAI_MAX_TOKENS") === void 0 ? void 0 : getEnvInt("OPENAI_MAX_TOKENS") : getEnvInt("OPENAI_MAX_TOKENS", 1024);
544
+ const reasoningMaxOutputTokensDefault = getEnvInt("OPENAI_MAX_COMPLETION_TOKENS") ?? getEnvInt("OPENAI_MAX_TOKENS");
545
+ const maxOutputTokens = config.max_output_tokens ?? (isReasoningModel ? reasoningMaxOutputTokensDefault : maxOutputTokensDefault);
546
+ const renderedReasoning = renderVarsInObject(config.reasoning, context?.vars);
547
+ const renderedReasoningEffort = isReasoningModel ? renderVarsInObject(config.reasoning_effort, context?.vars) : void 0;
548
+ const effectiveReasoningEffort = renderedReasoning?.effort ?? renderedReasoningEffort;
549
+ const hasAzureReasoningEffort = isAzureResponsesDeploymentWithReasoningConfig && effectiveReasoningEffort !== void 0 && effectiveReasoningEffort !== "none";
550
+ const temperatureDefault = config.omitDefaults ? getEnvString("OPENAI_TEMPERATURE") === void 0 ? void 0 : getEnvFloat("OPENAI_TEMPERATURE") : getEnvFloat("OPENAI_TEMPERATURE", 0);
551
+ const temperature = this.supportsTemperature() && !hasAzureReasoningEffort ? config.temperature ?? temperatureDefault : void 0;
552
+ const reasoningEffort = isReasoningModel ? effectiveReasoningEffort : void 0;
519
553
  const instructions = config.instructions;
520
554
  const responseFormat = maybeLoadResponseFormatFromExternalFile(config.response_format, context?.vars);
521
555
  let textFormat;
@@ -530,7 +564,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
530
564
  } };
531
565
  } else textFormat = { format: { type: "text" } };
532
566
  else textFormat = { format: { type: "text" } };
533
- if (this.isGPT5Model() && config.verbosity) textFormat = {
567
+ if (isGPT5Model && config.verbosity) textFormat = {
534
568
  ...textFormat,
535
569
  verbosity: config.verbosity
536
570
  };
@@ -558,7 +592,12 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
558
592
  ...config.user ? { user: config.user } : {},
559
593
  ...config.passthrough || {}
560
594
  };
561
- if (config.reasoning && this.isReasoningModel()) body.reasoning = config.reasoning;
595
+ if (renderedReasoning && isReasoningModel) body.reasoning = {
596
+ ...body.reasoning,
597
+ ...renderedReasoning
598
+ };
599
+ if ("max_tokens" in body) delete body.max_tokens;
600
+ if ("max_tokens" in body) delete body.max_tokens;
562
601
  return {
563
602
  body,
564
603
  config: {
@@ -569,7 +608,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
569
608
  };
570
609
  }
571
610
  async callApi(prompt, context, callApiOptions) {
572
- if (this.requiresApiKey() && !this.getApiKey()) throw new Error("OpenAI API key is not set. Set the OPENAI_API_KEY environment variable or add `apiKey` to the provider config.");
611
+ if (this.requiresApiKey() && !this.getApiKey()) throw new Error(this.getMissingApiKeyErrorMessage());
573
612
  const { body, config } = await this.getOpenAiBody(prompt, context, callApiOptions);
574
613
  const isDeepResearchModel = this.modelName.includes("deep-research");
575
614
  if (isDeepResearchModel) {
@@ -662,4 +701,4 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
662
701
  //#endregion
663
702
  export { ResponsesProcessor as n, FunctionCallbackHandler as r, OpenAiResponsesProvider as t };
664
703
 
665
- //# sourceMappingURL=responses-BKP_WYis.js.map
704
+ //# sourceMappingURL=responses-B8haB-mD.js.map
@@ -1,11 +1,12 @@
1
- import { C as getEnvString, D as state, S as getEnvInt, a as logger, x as getEnvFloat } from "./logger-DO8_zM18.js";
2
- import { r as importModule } from "./esm-SUNIX1x3.js";
3
- import { i as isJavascriptFile } from "./fileExtensions-DnqA1y9x.js";
4
- import { d as maybeLoadToolsFromExternalFile, g as renderVarsInObject, u as maybeLoadResponseFormatFromExternalFile } from "./util-CMMkIxfU.js";
5
- import { f as LONG_RUNNING_MODEL_TIMEOUT_MS, p as REQUEST_TIMEOUT_MS } from "./fetch-CVAtKnI3.js";
6
- import { r as fetchWithCache } from "./cache-CaT5tPgo.js";
7
- import { t as OpenAiGenericProvider } from "./openai-BcB5KlTk.js";
8
- import { a as calculateOpenAICost, c as getTokenUsage$1, s as formatOpenAiError } from "./util-CgDCK4KI.js";
1
+ import { C as getEnvFloat, T as getEnvString, a as logger, k as state, w as getEnvInt } from "./logger-Ct2S6Yx-.js";
2
+ import { l as LONG_RUNNING_MODEL_TIMEOUT_MS, u as REQUEST_TIMEOUT_MS } from "./fetch-D9xxyC1p.js";
3
+ import { r as importModule } from "./esm-BRkfNsYs.js";
4
+ import { n as renderVarsInObject } from "./render-DlscvAUJ.js";
5
+ import { i as isJavascriptFile } from "./fileExtensions-8CjoL7vB.js";
6
+ import { D as maybeLoadResponseFormatFromExternalFile, O as maybeLoadToolsFromExternalFile } from "./util-Dub0f_ej.js";
7
+ import { r as fetchWithCache } from "./cache-Bzttsk0X.js";
8
+ import { t as OpenAiGenericProvider } from "./openai-D4fxGvRx.js";
9
+ import { a as calculateOpenAICost, c as getTokenUsage$1, s as formatOpenAiError } from "./util-BlFVL0UF.js";
9
10
  import path from "path";
10
11
  //#region src/providers/functionCallbackUtils.ts
11
12
  /**
@@ -451,7 +452,9 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
451
452
  "gpt-5.4-pro-2026-03-05",
452
453
  "gpt-audio",
453
454
  "gpt-audio-2025-08-28",
455
+ "gpt-audio-1.5",
454
456
  "gpt-audio-mini",
457
+ "gpt-audio-mini-2025-12-15",
455
458
  "gpt-audio-mini-2025-10-06",
456
459
  "computer-use-preview",
457
460
  "computer-use-preview-2025-03-11",
@@ -481,7 +484,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
481
484
  config;
482
485
  constructor(modelName, options = {}) {
483
486
  super(modelName, options);
484
- this.config = options.config || {};
487
+ this.config = options.config ? { ...options.config } : {};
485
488
  this.processor = new ResponsesProcessor({
486
489
  modelName: this.modelName,
487
490
  providerType: "openai",
@@ -498,6 +501,30 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
498
501
  supportsTemperature() {
499
502
  return !this.isReasoningModel();
500
503
  }
504
+ isAzureOpenAiEndpoint(value) {
505
+ if (!value) return false;
506
+ const endpoint = /^[a-z][a-z0-9+.-]*:\/\//i.test(value) ? value : `https://${value}`;
507
+ try {
508
+ const hostname = new URL(endpoint).hostname.toLowerCase();
509
+ return hostname === "openai.azure.com" || hostname.endsWith(".openai.azure.com");
510
+ } catch {
511
+ return false;
512
+ }
513
+ }
514
+ getDeploymentCapabilities(config) {
515
+ const hasAzureCustomDeploymentHost = [
516
+ config.apiHost,
517
+ config.apiBaseUrl,
518
+ this.getApiUrl()
519
+ ].some((endpoint) => this.isAzureOpenAiEndpoint(endpoint));
520
+ const isAzureResponsesDeploymentWithReasoningConfig = hasAzureCustomDeploymentHost && (config.reasoning !== void 0 || config.reasoning_effort !== void 0);
521
+ const isAzureResponsesDeploymentWithVerbosityConfig = hasAzureCustomDeploymentHost && config.verbosity !== void 0;
522
+ return {
523
+ isAzureResponsesDeploymentWithReasoningConfig,
524
+ isReasoningModel: this.isReasoningModel() || isAzureResponsesDeploymentWithReasoningConfig,
525
+ isGPT5Model: this.isGPT5Model() || isAzureResponsesDeploymentWithVerbosityConfig
526
+ };
527
+ }
501
528
  async getOpenAiBody(prompt, context, _callApiOptions) {
502
529
  const config = {
503
530
  ...this.config,
@@ -511,10 +538,17 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
511
538
  } catch {
512
539
  input = prompt;
513
540
  }
514
- const isReasoningModel = this.isReasoningModel();
515
- const maxOutputTokens = config.max_output_tokens ?? (isReasoningModel ? getEnvInt("OPENAI_MAX_COMPLETION_TOKENS") : getEnvInt("OPENAI_MAX_TOKENS", 1024));
516
- const temperature = this.supportsTemperature() ? config.temperature ?? getEnvFloat("OPENAI_TEMPERATURE", 0) : void 0;
517
- const reasoningEffort = isReasoningModel ? renderVarsInObject(config.reasoning_effort, context?.vars) : void 0;
541
+ const { isAzureResponsesDeploymentWithReasoningConfig, isReasoningModel, isGPT5Model } = this.getDeploymentCapabilities(config);
542
+ const maxOutputTokensDefault = config.omitDefaults ? getEnvString("OPENAI_MAX_TOKENS") === void 0 ? void 0 : getEnvInt("OPENAI_MAX_TOKENS") : getEnvInt("OPENAI_MAX_TOKENS", 1024);
543
+ const reasoningMaxOutputTokensDefault = getEnvInt("OPENAI_MAX_COMPLETION_TOKENS") ?? getEnvInt("OPENAI_MAX_TOKENS");
544
+ const maxOutputTokens = config.max_output_tokens ?? (isReasoningModel ? reasoningMaxOutputTokensDefault : maxOutputTokensDefault);
545
+ const renderedReasoning = renderVarsInObject(config.reasoning, context?.vars);
546
+ const renderedReasoningEffort = isReasoningModel ? renderVarsInObject(config.reasoning_effort, context?.vars) : void 0;
547
+ const effectiveReasoningEffort = renderedReasoning?.effort ?? renderedReasoningEffort;
548
+ const hasAzureReasoningEffort = isAzureResponsesDeploymentWithReasoningConfig && effectiveReasoningEffort !== void 0 && effectiveReasoningEffort !== "none";
549
+ const temperatureDefault = config.omitDefaults ? getEnvString("OPENAI_TEMPERATURE") === void 0 ? void 0 : getEnvFloat("OPENAI_TEMPERATURE") : getEnvFloat("OPENAI_TEMPERATURE", 0);
550
+ const temperature = this.supportsTemperature() && !hasAzureReasoningEffort ? config.temperature ?? temperatureDefault : void 0;
551
+ const reasoningEffort = isReasoningModel ? effectiveReasoningEffort : void 0;
518
552
  const instructions = config.instructions;
519
553
  const responseFormat = maybeLoadResponseFormatFromExternalFile(config.response_format, context?.vars);
520
554
  let textFormat;
@@ -529,7 +563,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
529
563
  } };
530
564
  } else textFormat = { format: { type: "text" } };
531
565
  else textFormat = { format: { type: "text" } };
532
- if (this.isGPT5Model() && config.verbosity) textFormat = {
566
+ if (isGPT5Model && config.verbosity) textFormat = {
533
567
  ...textFormat,
534
568
  verbosity: config.verbosity
535
569
  };
@@ -557,7 +591,12 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
557
591
  ...config.user ? { user: config.user } : {},
558
592
  ...config.passthrough || {}
559
593
  };
560
- if (config.reasoning && this.isReasoningModel()) body.reasoning = config.reasoning;
594
+ if (renderedReasoning && isReasoningModel) body.reasoning = {
595
+ ...body.reasoning,
596
+ ...renderedReasoning
597
+ };
598
+ if ("max_tokens" in body) delete body.max_tokens;
599
+ if ("max_tokens" in body) delete body.max_tokens;
561
600
  return {
562
601
  body,
563
602
  config: {
@@ -568,7 +607,7 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
568
607
  };
569
608
  }
570
609
  async callApi(prompt, context, callApiOptions) {
571
- if (this.requiresApiKey() && !this.getApiKey()) throw new Error("OpenAI API key is not set. Set the OPENAI_API_KEY environment variable or add `apiKey` to the provider config.");
610
+ if (this.requiresApiKey() && !this.getApiKey()) throw new Error(this.getMissingApiKeyErrorMessage());
572
611
  const { body, config } = await this.getOpenAiBody(prompt, context, callApiOptions);
573
612
  const isDeepResearchModel = this.modelName.includes("deep-research");
574
613
  if (isDeepResearchModel) {
@@ -661,4 +700,4 @@ var OpenAiResponsesProvider = class extends OpenAiGenericProvider {
661
700
  //#endregion
662
701
  export { ResponsesProcessor as n, FunctionCallbackHandler as r, OpenAiResponsesProvider as t };
663
702
 
664
- //# sourceMappingURL=responses-CQb1Tj69.js.map
703
+ //# sourceMappingURL=responses-BiaBguAu.js.map