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
@@ -1,18 +1,8 @@
1
- #!/usr/bin/env node
2
- import { E as getEnvString, s as logger } from "./logger-BcJBzSSA.js";
3
- import "./fetch-DoVRJZhJ.js";
4
- import "./cloud-z8KZpUoa.js";
5
- import "./types-CIhFeUC4.js";
6
- import { a as fetchWithCache } from "./cache-DSqR6ezl.js";
7
- import "./util-Bm3E9jpK.js";
8
- import "./esm-7UIl0pPM.js";
9
- import "./pythonUtils-wIqk7zAf.js";
10
- import "./genaiTracer-C1rxGO8Q.js";
11
- import { t as OpenAiChatCompletionProvider } from "./chat-BEwdgGEg.js";
12
- import "./transform-DrleutM3.js";
13
- import "./openai-BMcwgD5C.js";
14
- import "./util-DM2rTn_6.js";
15
- import { n as OpenAiEmbeddingProvider, t as OpenAiCompletionProvider } from "./completion-DoYy49ti.js";
1
+ import { T as getEnvString, a as logger } from "./logger-Ct2S6Yx-.js";
2
+ import { r as fetchWithCache } from "./cache-Bzttsk0X.js";
3
+ import { t as OpenAiChatCompletionProvider } from "./chat-Cx_LkwvZ.js";
4
+ import { t as OpenAiEmbeddingProvider } from "./embedding-ChS1ivFS.js";
5
+ import { t as OpenAiCompletionProvider } from "./completion-CrD6MQ93.js";
16
6
  //#region src/providers/docker.ts
17
7
  async function fetchLocalModels(apiBaseUrl) {
18
8
  try {
@@ -88,4 +78,4 @@ var DMREmbeddingProvider = class extends OpenAiEmbeddingProvider {
88
78
  //#endregion
89
79
  export { createDockerProvider };
90
80
 
91
- //# sourceMappingURL=docker-DpguQj-w.js.map
81
+ //# sourceMappingURL=docker-Dorv4_Dg.js.map
@@ -0,0 +1,63 @@
1
+ const require_logger = require("./logger-COuQb2xB.cjs");
2
+ const require_fetch = require("./fetch-NuqXW1Xb.cjs");
3
+ const require_cache = require("./cache-DGg-yTZG.cjs");
4
+ const require_openai = require("./openai-Cy1XLs0c.cjs");
5
+ const require_util = require("./util-A5_ZsQUn.cjs");
6
+ //#region src/providers/openai/embedding.ts
7
+ var OpenAiEmbeddingProvider = class extends require_openai.OpenAiGenericProvider {
8
+ async callEmbeddingApi(text) {
9
+ if (this.requiresApiKey() && !this.getApiKey()) return { error: this.getMissingApiKeyErrorMessage() };
10
+ if (typeof text !== "string") return { error: `Invalid input type for embedding API. Expected string, got ${typeof text}. Input: ${JSON.stringify(text)}` };
11
+ const body = {
12
+ input: text,
13
+ model: this.modelName
14
+ };
15
+ let data;
16
+ let status;
17
+ let statusText;
18
+ let deleteFromCache;
19
+ let cached = false;
20
+ let latencyMs;
21
+ try {
22
+ const apiKey = this.getApiKey();
23
+ const response = await require_cache.fetchWithCache(`${this.getApiUrl()}/embeddings`, {
24
+ method: "POST",
25
+ headers: {
26
+ "Content-Type": "application/json",
27
+ ...apiKey ? { Authorization: `Bearer ${apiKey}` } : {},
28
+ ...this.getOrganization() ? { "OpenAI-Organization": this.getOrganization() } : {},
29
+ ...this.config.headers
30
+ },
31
+ body: JSON.stringify(body)
32
+ }, require_fetch.REQUEST_TIMEOUT_MS, "json", false, this.config.maxRetries);
33
+ ({data, cached, status, statusText, latencyMs, deleteFromCache} = response);
34
+ if (status && (status < 200 || status >= 300)) return { error: `API error: ${status} ${statusText || "Unknown error"}\n${typeof data === "string" ? data : JSON.stringify(data)}` };
35
+ } catch (err) {
36
+ require_logger.logger.error(`API call error: ${String(err)}`);
37
+ await deleteFromCache?.();
38
+ return { error: `API call error: ${String(err)}` };
39
+ }
40
+ try {
41
+ const embedding = data?.data?.[0]?.embedding;
42
+ if (!embedding) return { error: "No embedding found in OpenAI embeddings API response" };
43
+ return {
44
+ embedding,
45
+ latencyMs,
46
+ tokenUsage: require_util.getTokenUsage(data, cached)
47
+ };
48
+ } catch (err) {
49
+ require_logger.logger.error(`Response parsing error: ${String(err)}`);
50
+ await deleteFromCache?.();
51
+ return { error: `API error: ${String(err)}: ${JSON.stringify(data)}` };
52
+ }
53
+ }
54
+ };
55
+ //#endregion
56
+ Object.defineProperty(exports, "OpenAiEmbeddingProvider", {
57
+ enumerable: true,
58
+ get: function() {
59
+ return OpenAiEmbeddingProvider;
60
+ }
61
+ });
62
+
63
+ //# sourceMappingURL=embedding-BXhN5lCH.cjs.map
@@ -0,0 +1,58 @@
1
+ import { a as logger } from "./logger-Ct2S6Yx-.js";
2
+ import { u as REQUEST_TIMEOUT_MS } from "./fetch-D9xxyC1p.js";
3
+ import { r as fetchWithCache } from "./cache-Bzttsk0X.js";
4
+ import { t as OpenAiGenericProvider } from "./openai-D4fxGvRx.js";
5
+ import { c as getTokenUsage } from "./util-BlFVL0UF.js";
6
+ //#region src/providers/openai/embedding.ts
7
+ var OpenAiEmbeddingProvider = class extends OpenAiGenericProvider {
8
+ async callEmbeddingApi(text) {
9
+ if (this.requiresApiKey() && !this.getApiKey()) return { error: this.getMissingApiKeyErrorMessage() };
10
+ if (typeof text !== "string") return { error: `Invalid input type for embedding API. Expected string, got ${typeof text}. Input: ${JSON.stringify(text)}` };
11
+ const body = {
12
+ input: text,
13
+ model: this.modelName
14
+ };
15
+ let data;
16
+ let status;
17
+ let statusText;
18
+ let deleteFromCache;
19
+ let cached = false;
20
+ let latencyMs;
21
+ try {
22
+ const apiKey = this.getApiKey();
23
+ const response = await fetchWithCache(`${this.getApiUrl()}/embeddings`, {
24
+ method: "POST",
25
+ headers: {
26
+ "Content-Type": "application/json",
27
+ ...apiKey ? { Authorization: `Bearer ${apiKey}` } : {},
28
+ ...this.getOrganization() ? { "OpenAI-Organization": this.getOrganization() } : {},
29
+ ...this.config.headers
30
+ },
31
+ body: JSON.stringify(body)
32
+ }, REQUEST_TIMEOUT_MS, "json", false, this.config.maxRetries);
33
+ ({data, cached, status, statusText, latencyMs, deleteFromCache} = response);
34
+ if (status && (status < 200 || status >= 300)) return { error: `API error: ${status} ${statusText || "Unknown error"}\n${typeof data === "string" ? data : JSON.stringify(data)}` };
35
+ } catch (err) {
36
+ logger.error(`API call error: ${String(err)}`);
37
+ await deleteFromCache?.();
38
+ return { error: `API call error: ${String(err)}` };
39
+ }
40
+ try {
41
+ const embedding = data?.data?.[0]?.embedding;
42
+ if (!embedding) return { error: "No embedding found in OpenAI embeddings API response" };
43
+ return {
44
+ embedding,
45
+ latencyMs,
46
+ tokenUsage: getTokenUsage(data, cached)
47
+ };
48
+ } catch (err) {
49
+ logger.error(`Response parsing error: ${String(err)}`);
50
+ await deleteFromCache?.();
51
+ return { error: `API error: ${String(err)}: ${JSON.stringify(data)}` };
52
+ }
53
+ }
54
+ };
55
+ //#endregion
56
+ export { OpenAiEmbeddingProvider as t };
57
+
58
+ //# sourceMappingURL=embedding-ChS1ivFS.js.map
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ import { s as logger } from "./logger-BbY6ypFL.js";
3
+ import { m as REQUEST_TIMEOUT_MS } from "./fetch-B6ch2nU2.js";
4
+ import { a as fetchWithCache } from "./cache-BI5BY7ey.js";
5
+ import { t as OpenAiGenericProvider } from "./openai-BT-JvDse.js";
6
+ import { c as getTokenUsage } from "./util-C-kmRosx.js";
7
+ //#region src/providers/openai/embedding.ts
8
+ var OpenAiEmbeddingProvider = class extends OpenAiGenericProvider {
9
+ async callEmbeddingApi(text) {
10
+ if (this.requiresApiKey() && !this.getApiKey()) return { error: this.getMissingApiKeyErrorMessage() };
11
+ if (typeof text !== "string") return { error: `Invalid input type for embedding API. Expected string, got ${typeof text}. Input: ${JSON.stringify(text)}` };
12
+ const body = {
13
+ input: text,
14
+ model: this.modelName
15
+ };
16
+ let data;
17
+ let status;
18
+ let statusText;
19
+ let deleteFromCache;
20
+ let cached = false;
21
+ let latencyMs;
22
+ try {
23
+ const apiKey = this.getApiKey();
24
+ const response = await fetchWithCache(`${this.getApiUrl()}/embeddings`, {
25
+ method: "POST",
26
+ headers: {
27
+ "Content-Type": "application/json",
28
+ ...apiKey ? { Authorization: `Bearer ${apiKey}` } : {},
29
+ ...this.getOrganization() ? { "OpenAI-Organization": this.getOrganization() } : {},
30
+ ...this.config.headers
31
+ },
32
+ body: JSON.stringify(body)
33
+ }, REQUEST_TIMEOUT_MS, "json", false, this.config.maxRetries);
34
+ ({data, cached, status, statusText, latencyMs, deleteFromCache} = response);
35
+ if (status && (status < 200 || status >= 300)) return { error: `API error: ${status} ${statusText || "Unknown error"}\n${typeof data === "string" ? data : JSON.stringify(data)}` };
36
+ } catch (err) {
37
+ logger.error(`API call error: ${String(err)}`);
38
+ await deleteFromCache?.();
39
+ return { error: `API call error: ${String(err)}` };
40
+ }
41
+ try {
42
+ const embedding = data?.data?.[0]?.embedding;
43
+ if (!embedding) return { error: "No embedding found in OpenAI embeddings API response" };
44
+ return {
45
+ embedding,
46
+ latencyMs,
47
+ tokenUsage: getTokenUsage(data, cached)
48
+ };
49
+ } catch (err) {
50
+ logger.error(`Response parsing error: ${String(err)}`);
51
+ await deleteFromCache?.();
52
+ return { error: `API error: ${String(err)}: ${JSON.stringify(data)}` };
53
+ }
54
+ }
55
+ };
56
+ //#endregion
57
+ export { OpenAiEmbeddingProvider as t };
58
+
59
+ //# sourceMappingURL=embedding-DNRvZwRN.js.map
@@ -0,0 +1,58 @@
1
+ import { a as logger } from "./logger-KD8JjCRJ.js";
2
+ import { h as REQUEST_TIMEOUT_MS } from "./fetch-Y5qX_kST.js";
3
+ import { r as fetchWithCache } from "./cache-Cr-qWIbP.js";
4
+ import { t as OpenAiGenericProvider } from "./openai-BMHD2Huo.js";
5
+ import { c as getTokenUsage } from "./util-B9CNhyac.js";
6
+ //#region src/providers/openai/embedding.ts
7
+ var OpenAiEmbeddingProvider = class extends OpenAiGenericProvider {
8
+ async callEmbeddingApi(text) {
9
+ if (this.requiresApiKey() && !this.getApiKey()) return { error: this.getMissingApiKeyErrorMessage() };
10
+ if (typeof text !== "string") return { error: `Invalid input type for embedding API. Expected string, got ${typeof text}. Input: ${JSON.stringify(text)}` };
11
+ const body = {
12
+ input: text,
13
+ model: this.modelName
14
+ };
15
+ let data;
16
+ let status;
17
+ let statusText;
18
+ let deleteFromCache;
19
+ let cached = false;
20
+ let latencyMs;
21
+ try {
22
+ const apiKey = this.getApiKey();
23
+ const response = await fetchWithCache(`${this.getApiUrl()}/embeddings`, {
24
+ method: "POST",
25
+ headers: {
26
+ "Content-Type": "application/json",
27
+ ...apiKey ? { Authorization: `Bearer ${apiKey}` } : {},
28
+ ...this.getOrganization() ? { "OpenAI-Organization": this.getOrganization() } : {},
29
+ ...this.config.headers
30
+ },
31
+ body: JSON.stringify(body)
32
+ }, REQUEST_TIMEOUT_MS, "json", false, this.config.maxRetries);
33
+ ({data, cached, status, statusText, latencyMs, deleteFromCache} = response);
34
+ if (status && (status < 200 || status >= 300)) return { error: `API error: ${status} ${statusText || "Unknown error"}\n${typeof data === "string" ? data : JSON.stringify(data)}` };
35
+ } catch (err) {
36
+ logger.error(`API call error: ${String(err)}`);
37
+ await deleteFromCache?.();
38
+ return { error: `API call error: ${String(err)}` };
39
+ }
40
+ try {
41
+ const embedding = data?.data?.[0]?.embedding;
42
+ if (!embedding) return { error: "No embedding found in OpenAI embeddings API response" };
43
+ return {
44
+ embedding,
45
+ latencyMs,
46
+ tokenUsage: getTokenUsage(data, cached)
47
+ };
48
+ } catch (err) {
49
+ logger.error(`Response parsing error: ${String(err)}`);
50
+ await deleteFromCache?.();
51
+ return { error: `API error: ${String(err)}: ${JSON.stringify(data)}` };
52
+ }
53
+ }
54
+ };
55
+ //#endregion
56
+ export { OpenAiEmbeddingProvider as t };
57
+
58
+ //# sourceMappingURL=embedding-D_bI4NDq.js.map
@@ -11,17 +11,80 @@ import { fileURLToPath } from "node:url";
11
11
  * that cause cryptic syntax errors on Node.js < 20. By checking the version first,
12
12
  * we can provide a helpful error message instead.
13
13
  */
14
- const minNodeVersion = 20;
14
+ const nodeEngineRange = "^20.20.0 || >=22.22.0";
15
+ const nodeEngineComparatorSets = [[{
16
+ "operator": ">=",
17
+ "version": "20.20.0"
18
+ }, {
19
+ "operator": "<",
20
+ "version": "21.0.0-0"
21
+ }], [{
22
+ "operator": ">=",
23
+ "version": "22.22.0"
24
+ }]];
25
+ function parseNodeEngineVersion(version, options = {}) {
26
+ const match = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+.*)?$/.exec(version);
27
+ if (!match) return null;
28
+ if (!options.allowPrerelease && match[4]) return null;
29
+ return [
30
+ Number.parseInt(match[1], 10),
31
+ Number.parseInt(match[2], 10),
32
+ Number.parseInt(match[3], 10)
33
+ ];
34
+ }
35
+ function compareNodeEngineVersion(left, right) {
36
+ for (let index = 0; index < left.length; index++) {
37
+ if (left[index] > right[index]) return 1;
38
+ if (left[index] < right[index]) return -1;
39
+ }
40
+ return 0;
41
+ }
42
+ function satisfiesNodeEngineComparator(currentVersion, comparator) {
43
+ const comparatorVersion = parseNodeEngineVersion(comparator.version, { allowPrerelease: true });
44
+ if (!comparatorVersion) return false;
45
+ const comparison = compareNodeEngineVersion(currentVersion, comparatorVersion);
46
+ switch (comparator.operator || "=") {
47
+ case "=": return comparison === 0;
48
+ case ">": return comparison > 0;
49
+ case ">=": return comparison >= 0;
50
+ case "<": return comparison < 0;
51
+ case "<=": return comparison <= 0;
52
+ default: return false;
53
+ }
54
+ }
55
+ function isSupportedNodeEngineVersion(currentVersion) {
56
+ const parsedCurrentVersion = parseNodeEngineVersion(currentVersion);
57
+ if (!parsedCurrentVersion) return null;
58
+ return nodeEngineComparatorSets.some((comparatorSet) => comparatorSet.length === 0 || comparatorSet.every((comparator) => satisfiesNodeEngineComparator(parsedCurrentVersion, comparator)));
59
+ }
60
+ function formatUnsupportedNodeVersionMessage(currentVersion) {
61
+ return [
62
+ "\x1B[33mpromptfoo requires a supported Node.js runtime.",
63
+ "",
64
+ `Detected: ${currentVersion}`,
65
+ `Required: ${nodeEngineRange}`,
66
+ "",
67
+ "Install a supported Node.js version and try again.\x1B[0m"
68
+ ].join("\n");
69
+ }
70
+ function formatMalformedNodeVersionMessage(currentVersion) {
71
+ return [
72
+ `\x1b[33mUnable to parse the current Node.js version: ${currentVersion}`,
73
+ `Required: ${nodeEngineRange}`,
74
+ "",
75
+ "Install a supported Node.js version and try again.\x1B[0m"
76
+ ].join("\n");
77
+ }
15
78
  const isBun = typeof globalThis.Bun !== "undefined";
16
79
  const isDeno = typeof globalThis.Deno !== "undefined";
17
80
  if (!isBun && !isDeno) {
18
- const major = parseInt(process.version.slice(1), 10);
19
- if (Number.isNaN(major)) {
20
- console.error(`\x1b[33mUnexpected Node.js version format: ${process.version}. Please use Node.js ${minNodeVersion} or later.\x1b[0m`);
81
+ const isSupportedVersion = isSupportedNodeEngineVersion(process.version);
82
+ if (isSupportedVersion === null) {
83
+ console.error(formatMalformedNodeVersionMessage(process.version));
21
84
  process.exit(1);
22
85
  }
23
- if (major < minNodeVersion) {
24
- console.error(`\x1b[33mNode.js ${process.version} is not supported. Please upgrade to Node.js ${minNodeVersion} or later.\x1b[0m`);
86
+ if (!isSupportedVersion) {
87
+ console.error(formatUnsupportedNodeVersionMessage(process.version));
25
88
  process.exit(1);
26
89
  }
27
90
  }
@@ -33,4 +33,4 @@ function isTransientConnectionError(error) {
33
33
  //#endregion
34
34
  export { isNonTransientHttpStatus as n, isTransientConnectionError as r, NON_TRANSIENT_HTTP_STATUSES as t };
35
35
 
36
- //# sourceMappingURL=errors-P6ll7XSJ.js.map
36
+ //# sourceMappingURL=errors-DFHe4L-n.js.map
@@ -1,4 +1,4 @@
1
- import { a as logger } from "./logger-DO8_zM18.js";
1
+ import { a as logger } from "./logger-KD8JjCRJ.js";
2
2
  import { createRequire } from "node:module";
3
3
  import path from "path";
4
4
  import path$1 from "node:path";
@@ -164,6 +164,18 @@ function resolvePackageEntryPoint(packageName, baseDir) {
164
164
  });
165
165
  return resolved ? path$1.normalize(resolved) : null;
166
166
  }
167
+ let tsxLoaderPromise;
168
+ async function ensureTypescriptLoader(modulePath) {
169
+ if (!/\.[cm]?ts$/.test(modulePath)) return;
170
+ if (!tsxLoaderPromise) {
171
+ logger.debug("TypeScript module detected, registering tsx loader");
172
+ tsxLoaderPromise = import("tsx").catch((err) => {
173
+ tsxLoaderPromise = void 0;
174
+ throw err;
175
+ });
176
+ }
177
+ await tsxLoaderPromise;
178
+ }
167
179
  /**
168
180
  * ESM replacement for __dirname - guarded for dual CJS/ESM builds.
169
181
  *
@@ -197,10 +209,7 @@ async function importModule(modulePath, functionName) {
197
209
  moduleId: modulePath
198
210
  })}`);
199
211
  try {
200
- if (modulePath.endsWith(".ts") || modulePath.endsWith(".mjs")) {
201
- logger.debug("TypeScript/ESM module detected, importing tsx/cjs");
202
- await import("tsx/cjs");
203
- }
212
+ await ensureTypescriptLoader(modulePath);
204
213
  const resolvedPath = pathToFileURL(safeResolve(modulePath));
205
214
  const resolvedPathStr = resolvedPath.toString();
206
215
  logger.debug(`Attempting ESM import from: ${resolvedPathStr}`);
@@ -376,4 +385,4 @@ function loadCjsModule(modulePath) {
376
385
  //#endregion
377
386
  export { safeJoin as a, resolvePackageEntryPoint as i, getWrapperDir as n, safeResolve as o, importModule as r, getDirectory as t };
378
387
 
379
- //# sourceMappingURL=esm-SUNIX1x3.js.map
388
+ //# sourceMappingURL=esm-B6whoAcf.js.map
@@ -1,9 +1,9 @@
1
- import { a as logger } from "./logger-BnkjG2jt.js";
1
+ import { a as logger } from "./logger-Ct2S6Yx-.js";
2
2
  import { createRequire } from "node:module";
3
3
  import path from "path";
4
- import fs from "node:fs";
5
4
  import path$1 from "node:path";
6
5
  import { fileURLToPath, pathToFileURL } from "node:url";
6
+ import fs from "node:fs";
7
7
  import fsPromises from "node:fs/promises";
8
8
  import vm from "node:vm";
9
9
  import { resolveModulePath } from "exsolve";
@@ -164,6 +164,18 @@ function resolvePackageEntryPoint(packageName, baseDir) {
164
164
  });
165
165
  return resolved ? path$1.normalize(resolved) : null;
166
166
  }
167
+ let tsxLoaderPromise;
168
+ async function ensureTypescriptLoader(modulePath) {
169
+ if (!/\.[cm]?ts$/.test(modulePath)) return;
170
+ if (!tsxLoaderPromise) {
171
+ logger.debug("TypeScript module detected, registering tsx loader");
172
+ tsxLoaderPromise = import("tsx").catch((err) => {
173
+ tsxLoaderPromise = void 0;
174
+ throw err;
175
+ });
176
+ }
177
+ await tsxLoaderPromise;
178
+ }
167
179
  /**
168
180
  * ESM replacement for __dirname - guarded for dual CJS/ESM builds.
169
181
  *
@@ -197,10 +209,7 @@ async function importModule(modulePath, functionName) {
197
209
  moduleId: modulePath
198
210
  })}`);
199
211
  try {
200
- if (modulePath.endsWith(".ts") || modulePath.endsWith(".mjs")) {
201
- logger.debug("TypeScript/ESM module detected, importing tsx/cjs");
202
- await import("tsx/cjs");
203
- }
212
+ await ensureTypescriptLoader(modulePath);
204
213
  const resolvedPath = pathToFileURL(safeResolve(modulePath));
205
214
  const resolvedPathStr = resolvedPath.toString();
206
215
  logger.debug(`Attempting ESM import from: ${resolvedPathStr}`);
@@ -376,4 +385,4 @@ function loadCjsModule(modulePath) {
376
385
  //#endregion
377
386
  export { safeJoin as a, resolvePackageEntryPoint as i, getWrapperDir as n, safeResolve as o, importModule as r, getDirectory as t };
378
387
 
379
- //# sourceMappingURL=esm-CKWP3u_P.js.map
388
+ //# sourceMappingURL=esm-BRkfNsYs.js.map
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
- import { s as logger } from "./logger-BcJBzSSA.js";
2
+ import { s as logger } from "./logger-BbY6ypFL.js";
3
3
  import { createRequire } from "node:module";
4
4
  import { fileURLToPath, pathToFileURL } from "node:url";
5
+ import path from "path";
6
+ import path$1 from "node:path";
5
7
  import fs from "node:fs";
6
- import path from "node:path";
7
- import path$1 from "path";
8
8
  import fsPromises from "node:fs/promises";
9
9
  import vm from "node:vm";
10
10
  import { resolveModulePath } from "exsolve";
11
11
  //#region node_modules/tsdown/esm-shims.js
12
12
  const getFilename = () => fileURLToPath(import.meta.url);
13
- const getDirname = () => path.dirname(getFilename());
13
+ const getDirname = () => path$1.dirname(getFilename());
14
14
  const __dirname = /* @__PURE__ */ getDirname();
15
15
  //#endregion
16
16
  //#region src/util/pathUtils.ts
@@ -26,13 +26,13 @@ function isAbsolute$1(filePath) {
26
26
  if (!filePath) return false;
27
27
  if (/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(filePath)) {
28
28
  if (filePath.startsWith("file://")) try {
29
- return path$1.isAbsolute(fileURLToPath(filePath));
29
+ return path.isAbsolute(fileURLToPath(filePath));
30
30
  } catch {
31
31
  return true;
32
32
  }
33
33
  return true;
34
34
  }
35
- return path$1.isAbsolute(filePath);
35
+ return path.isAbsolute(filePath);
36
36
  }
37
37
  /**
38
38
  * Safely resolves a path - only calls resolve() if the last path is relative
@@ -44,7 +44,7 @@ function isAbsolute$1(filePath) {
44
44
  function safeResolve(...paths) {
45
45
  const lastPath = paths[paths.length - 1] || "";
46
46
  if (isAbsolute$1(lastPath)) return lastPath;
47
- return path$1.resolve(...paths);
47
+ return path.resolve(...paths);
48
48
  }
49
49
  /**
50
50
  * Safely joins paths - only joins if the last path is relative
@@ -56,7 +56,7 @@ function safeResolve(...paths) {
56
56
  function safeJoin(...paths) {
57
57
  const lastPath = paths[paths.length - 1] || "";
58
58
  if (isAbsolute$1(lastPath)) return lastPath;
59
- return path$1.join(...paths);
59
+ return path.join(...paths);
60
60
  }
61
61
  //#endregion
62
62
  //#region src/esm.ts
@@ -103,7 +103,7 @@ const wrapperDirCache = {};
103
103
  function getWrapperDir(type) {
104
104
  if (wrapperDirCache[type]) return wrapperDirCache[type];
105
105
  const baseDir = getDirectory();
106
- const result = path.join(baseDir, WRAPPER_SUBDIRS[type]);
106
+ const result = path$1.join(baseDir, WRAPPER_SUBDIRS[type]);
107
107
  wrapperDirCache[type] = result;
108
108
  logger.debug(`Resolved ${type} wrapper directory: ${result}`);
109
109
  return result;
@@ -152,7 +152,7 @@ function getWrapperDir(type) {
152
152
  * ```
153
153
  */
154
154
  function resolvePackageEntryPoint(packageName, baseDir) {
155
- const from = pathToFileURL(path.join(baseDir, "package.json")).href;
155
+ const from = pathToFileURL(path$1.join(baseDir, "package.json")).href;
156
156
  const resolved = resolveModulePath(packageName, {
157
157
  from,
158
158
  conditions: [
@@ -163,7 +163,19 @@ function resolvePackageEntryPoint(packageName, baseDir) {
163
163
  ],
164
164
  try: true
165
165
  });
166
- return resolved ? path.normalize(resolved) : null;
166
+ return resolved ? path$1.normalize(resolved) : null;
167
+ }
168
+ let tsxLoaderPromise;
169
+ async function ensureTypescriptLoader(modulePath) {
170
+ if (!/\.[cm]?ts$/.test(modulePath)) return;
171
+ if (!tsxLoaderPromise) {
172
+ logger.debug("TypeScript module detected, registering tsx loader");
173
+ tsxLoaderPromise = import("tsx").catch((err) => {
174
+ tsxLoaderPromise = void 0;
175
+ throw err;
176
+ });
177
+ }
178
+ await tsxLoaderPromise;
167
179
  }
168
180
  /**
169
181
  * ESM replacement for __dirname - guarded for dual CJS/ESM builds.
@@ -183,7 +195,7 @@ function resolvePackageEntryPoint(packageName, baseDir) {
183
195
  function getDirectory() {
184
196
  try {
185
197
  const url = import.meta.url;
186
- if (url && url !== "") return path.dirname(fileURLToPath(url));
198
+ if (url && url !== "") return path$1.dirname(fileURLToPath(url));
187
199
  } catch {}
188
200
  if (typeof __dirname !== "undefined") return __dirname;
189
201
  throw new Error("Unable to determine directory: neither import.meta.url nor __dirname available. This indicates an unsupported module environment.");
@@ -198,10 +210,7 @@ async function importModule(modulePath, functionName) {
198
210
  moduleId: modulePath
199
211
  })}`);
200
212
  try {
201
- if (modulePath.endsWith(".ts") || modulePath.endsWith(".mjs")) {
202
- logger.debug("TypeScript/ESM module detected, importing tsx/cjs");
203
- await import("tsx/cjs");
204
- }
213
+ await ensureTypescriptLoader(modulePath);
205
214
  const resolvedPath = pathToFileURL(safeResolve(modulePath));
206
215
  const resolvedPathStr = resolvedPath.toString();
207
216
  logger.debug(`Attempting ESM import from: ${resolvedPathStr}`);
@@ -286,7 +295,7 @@ function isCjsInEsmError(message) {
286
295
  */
287
296
  function loadCjsModule(modulePath) {
288
297
  const code = fs.readFileSync(modulePath, "utf-8");
289
- const dirname = path.dirname(modulePath);
298
+ const dirname = path$1.dirname(modulePath);
290
299
  const filename = modulePath;
291
300
  const moduleRequire = createRequire(pathToFileURL(modulePath).href);
292
301
  const moduleObj = { exports: {} };
@@ -377,4 +386,4 @@ function loadCjsModule(modulePath) {
377
386
  //#endregion
378
387
  export { safeJoin as a, resolvePackageEntryPoint as i, getWrapperDir as n, safeResolve as o, importModule as r, getDirectory as t };
379
388
 
380
- //# sourceMappingURL=esm-7UIl0pPM.js.map
389
+ //# sourceMappingURL=esm-BX8fwlAO.js.map
@@ -1,4 +1,4 @@
1
- const require_logger = require("./logger-D5iKBpu_.cjs");
1
+ const require_logger = require("./logger-COuQb2xB.cjs");
2
2
  let path = require("path");
3
3
  path = require_logger.__toESM(path);
4
4
  let node_fs = require("node:fs");
@@ -164,6 +164,18 @@ function resolvePackageEntryPoint(packageName, baseDir) {
164
164
  });
165
165
  return resolved ? node_path.default.normalize(resolved) : null;
166
166
  }
167
+ let tsxLoaderPromise;
168
+ async function ensureTypescriptLoader(modulePath) {
169
+ if (!/\.[cm]?ts$/.test(modulePath)) return;
170
+ if (!tsxLoaderPromise) {
171
+ require_logger.logger.debug("TypeScript module detected, registering tsx loader");
172
+ tsxLoaderPromise = import("tsx").catch((err) => {
173
+ tsxLoaderPromise = void 0;
174
+ throw err;
175
+ });
176
+ }
177
+ await tsxLoaderPromise;
178
+ }
167
179
  /**
168
180
  * ESM replacement for __dirname - guarded for dual CJS/ESM builds.
169
181
  *
@@ -192,10 +204,7 @@ async function importModule(modulePath, functionName) {
192
204
  moduleId: modulePath
193
205
  })}`);
194
206
  try {
195
- if (modulePath.endsWith(".ts") || modulePath.endsWith(".mjs")) {
196
- require_logger.logger.debug("TypeScript/ESM module detected, importing tsx/cjs");
197
- await import("tsx/cjs");
198
- }
207
+ await ensureTypescriptLoader(modulePath);
199
208
  const resolvedPath = (0, node_url.pathToFileURL)(safeResolve(modulePath));
200
209
  const resolvedPathStr = resolvedPath.toString();
201
210
  require_logger.logger.debug(`Attempting ESM import from: ${resolvedPathStr}`);
@@ -406,4 +415,4 @@ Object.defineProperty(exports, "safeResolve", {
406
415
  }
407
416
  });
408
417
 
409
- //# sourceMappingURL=esm-CipptfDu.cjs.map
418
+ //# sourceMappingURL=esm-B_rGuPTo.cjs.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { t as Eval } from "./eval-DJ_4A-tr.js";
3
+ export { Eval as default };