promptfoo 0.120.27 → 0.121.1

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 (352) hide show
  1. package/README.md +1 -1
  2. package/dist/src/{ListApp-8WOe2nT6.js → ListApp-Du7YVwj5.js} +2 -4
  3. package/dist/src/accounts-BgNJDBE6.js +206 -0
  4. package/dist/src/{accounts-Fl2J3_Fu.cjs → accounts-Bx-x3bmW.cjs} +77 -78
  5. package/dist/src/{accounts-DVINui-2.js → accounts-CMqkzrVf.js} +39 -34
  6. package/dist/src/{accounts-CPDRAMND.js → accounts-xrUGFA6n.js} +38 -33
  7. package/dist/src/{agentic-utils-D922n6mm.js → agentic-utils-BKIN5PKu.js} +9 -10
  8. package/dist/src/{agents-BO2n8Z0d.cjs → agents-B0f4HICh.cjs} +37 -40
  9. package/dist/src/{agents-BXLmVsxR.js → agents-C-dDThPK.js} +37 -37
  10. package/dist/src/{agents-DgJf2-ez.cjs → agents-CErsqg5U.cjs} +16 -17
  11. package/dist/src/{agents-BcsN_BgB.js → agents-CVIn-Utx.js} +16 -12
  12. package/dist/src/{agents-hqgSV-3o.js → agents-CXknwsFX.js} +37 -40
  13. package/dist/src/{agents-pMfppv9Z.js → agents-DeH4Gu94.js} +18 -18
  14. package/dist/src/{agents-BdUTAwi-.js → agents-Dy2YpZpa.js} +38 -41
  15. package/dist/src/{agents-DNvSH78i.js → agents-aF4-T121.js} +16 -20
  16. package/dist/src/{aimlapi-DOib86oE.js → aimlapi-BAGZDo5G.js} +16 -18
  17. package/dist/src/{aimlapi-DtgPI0nE.js → aimlapi-BNfTBexL.js} +15 -17
  18. package/dist/src/{aimlapi-DTPACCB1.js → aimlapi-DHRKlBEA.js} +15 -4
  19. package/dist/src/{aimlapi-BE_Tg9Fl.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
  20. package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
  21. package/dist/src/app/index.html +1 -1
  22. package/dist/src/{audio-BRYU0BFo.js → audio-BRODU0UK.js} +7 -9
  23. package/dist/src/{audio-Cwo68yZS.cjs → audio-BWeaWovU.cjs} +6 -7
  24. package/dist/src/{audio-BnRUGAm_.js → audio-CHQ4r-RV.js} +6 -5
  25. package/dist/src/{audio-MSRki4JU.js → audio-tf_NBjlC.js} +6 -8
  26. package/dist/src/{base-h961VXYk.js → base-B0tcrnq_.js} +11 -13
  27. package/dist/src/{base-XB2tDJrB.js → base-B4QJRyFS.js} +11 -13
  28. package/dist/src/{base-pGVmXNl4.cjs → base-DBtwl2FR.cjs} +36 -38
  29. package/dist/src/base-fEDN28WM.js +193 -0
  30. package/dist/src/{blobs-BM_e6hCa.js → blobs-BAU-dXan.js} +9 -12
  31. package/dist/src/{blobs-CR5C4Ihh.js → blobs-Bpg5rH6i.js} +9 -12
  32. package/dist/src/{blobs-B-KQAFhX.cjs → blobs-DvS-O6be.cjs} +34 -37
  33. package/dist/src/blobs-qTYm-1PY.js +236 -0
  34. package/dist/src/{cache-CIpsoBZR.js → cache-8XhNqPKW.js} +64 -67
  35. package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
  36. package/dist/src/cache-BwsMSda7.js +6 -0
  37. package/dist/src/{cache-jsiwsAJv.js → cache-CG0SlR1d.js} +64 -66
  38. package/dist/src/{cache-BTVYfbka.cjs → cache-COish3-W.cjs} +114 -117
  39. package/dist/src/cache-D3eqDYGU.js +739 -0
  40. package/dist/src/{chat-D31K7C4u.cjs → chat-2K608PeQ.cjs} +20 -21
  41. package/dist/src/chat-BKm79wib.js +764 -0
  42. package/dist/src/{chat-B84t99NW.js → chat-CM_kyI8B.js} +20 -9
  43. package/dist/src/{chat-BcPjZXIp.js → chat-CRWNNq73.js} +41 -44
  44. package/dist/src/{chat-CcUCysjU.js → chat-CznLWr_D.js} +41 -44
  45. package/dist/src/{chat-DwWifjxi.js → chat-DHMH-N64.js} +20 -22
  46. package/dist/src/{chat-BE44YOc6.cjs → chat-DaqekjFr.cjs} +61 -64
  47. package/dist/src/{chat-DZM2GUHO.js → chat-DxysjBvt.js} +21 -23
  48. package/dist/src/{chatkit-D67HS_0b.js → chatkit-65VXf5SR.js} +58 -58
  49. package/dist/src/{chatkit-DAB_qfzI.js → chatkit-Be-Q-a9F.js} +58 -60
  50. package/dist/src/{chatkit-Biqb_wsD.js → chatkit-BxFvW8KY.js} +58 -60
  51. package/dist/src/{chatkit-PGG4ZYIn.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
  52. package/dist/src/chunk-DEq-mXcV.js +15 -0
  53. package/dist/src/chunk-DRamLcfz.js +16 -0
  54. package/dist/src/{claude-agent-sdk-SVM6AdBu.js → claude-agent-sdk-BLTu0WBO.js} +31 -31
  55. package/dist/src/{claude-agent-sdk-C9SiaQub.cjs → claude-agent-sdk-CJH22shf.cjs} +31 -28
  56. package/dist/src/{claude-agent-sdk-C-IOTPfo.js → claude-agent-sdk-D6_k9FKA.js} +31 -29
  57. package/dist/src/{claude-agent-sdk-CiluSyW1.js → claude-agent-sdk-Dy5lT-Tx.js} +33 -20
  58. package/dist/src/{cloud-CZ-q9Ier.js → cloud-Bc9526yV.js} +7 -9
  59. package/dist/src/cloud-DmE0EwsY.js +4 -0
  60. package/dist/src/{cloudflare-ai-BahKHyhh.js → cloudflare-ai-C9r2sRhw.js} +16 -18
  61. package/dist/src/{cloudflare-ai-Dxyt50Nl.js → cloudflare-ai-CWWJCRim.js} +16 -4
  62. package/dist/src/{cloudflare-ai-Dfahv5SY.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
  63. package/dist/src/{cloudflare-ai-v_qZD6_q.js → cloudflare-ai-ICsOuD-z.js} +17 -19
  64. package/dist/src/{cloudflare-gateway-BPWoZIzJ.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
  65. package/dist/src/{cloudflare-gateway-Bi_FpOFy.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
  66. package/dist/src/{cloudflare-gateway-btS7h1OZ.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
  67. package/dist/src/{cloudflare-gateway-C0guUNwk.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
  68. package/dist/src/{codex-sdk-DSxAnbfT.js → codex-sdk-C6UMlxwV.js} +28 -29
  69. package/dist/src/{codex-sdk-IYVi9fuM.js → codex-sdk-DUwKWezN.js} +28 -27
  70. package/dist/src/{codex-sdk-DulY0ZRq.js → codex-sdk-GGAw0qbD.js} +28 -29
  71. package/dist/src/{codex-sdk-DFKMtAyf.cjs → codex-sdk-fAO0c3yA.cjs} +28 -29
  72. package/dist/src/{cometapi-DkNBMk0G.js → cometapi-BasUi7-_.js} +17 -19
  73. package/dist/src/{cometapi-DzrR3SR_.js → cometapi-Bbjp5V4x.js} +16 -4
  74. package/dist/src/{cometapi-C9EEpJzT.js → cometapi-DkXrKi5z.js} +21 -24
  75. package/dist/src/{cometapi-DIO64tf4.cjs → cometapi-vY6aDZgo.cjs} +21 -22
  76. package/dist/src/{completion-CG29bfKX.js → completion-6Mx_iXxK.js} +11 -13
  77. package/dist/src/{completion-Bgf1VJoq.js → completion-C5rtR_9P.js} +11 -13
  78. package/dist/src/{completion-CCRT4kX1.cjs → completion-CDOouNzq.cjs} +21 -23
  79. package/dist/src/completion-C_P3ypkJ.js +120 -0
  80. package/dist/src/{createHash-Dw_iLu31.js → createHash-CTQmL3G2.js} +2 -3
  81. package/dist/src/{createHash-CYQy4YeL.cjs → createHash-CfZSc0b4.cjs} +13 -14
  82. package/dist/src/{createHash-CJcfskIZ.js → createHash-Da8fMwqB.js} +2 -3
  83. package/dist/src/createHash-DmPQkvBh.js +15 -0
  84. package/dist/src/{docker-D-ayp2FW.js → docker-5KcG-_86.js} +18 -20
  85. package/dist/src/{docker-DNcLR4Ig.cjs → docker-BwsKwxFs.cjs} +18 -19
  86. package/dist/src/{docker-egERKxCF.js → docker-CZnqU1XV.js} +18 -7
  87. package/dist/src/{docker-B81N0t4e.js → docker-DzxyDPIj.js} +19 -21
  88. package/dist/src/entrypoint.js +2 -3
  89. package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
  90. package/dist/src/{esm-B9dPm_BF.js → esm-C03C-mv3.js} +17 -20
  91. package/dist/src/{esm-D2pZ87fL.js → esm-CaIwzWR5.js} +18 -21
  92. package/dist/src/esm-Cd1AjG1D.js +379 -0
  93. package/dist/src/{esm-Ct-Joyue.cjs → esm-CnNt7sI4.cjs} +47 -49
  94. package/dist/src/eval-17JizQIv.js +15 -0
  95. package/dist/src/{eval-C-Nr6wX_.js → eval-DmFyWU7i.js} +47 -54
  96. package/dist/src/{evalResult-4BzI2tmj.js → evalResult-CDQiuUuf.js} +16 -12
  97. package/dist/src/{evalResult-DXMWJ3sx.js → evalResult-CTG2AHOS.js} +10 -11
  98. package/dist/src/evalResult-Cqj8pldJ.js +12 -0
  99. package/dist/src/{evalResult-CX8wQecI.cjs → evalResult-Dap2CekP.cjs} +20 -21
  100. package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
  101. package/dist/src/evalResult-Hftn-S_i.js +10 -0
  102. package/dist/src/evaluator-B2CFNt-P.js +36 -0
  103. package/dist/src/{evaluator-8aGyV12L.js → evaluator-DPFRbFIL.js} +201 -229
  104. package/dist/src/{extractor-CD5yKL-G.js → extractor-CFG6bcWJ.js} +22 -24
  105. package/dist/src/{extractor-C031XmTA.cjs → extractor-DX36oYEv.cjs} +37 -39
  106. package/dist/src/{extractor-V5x_m1i0.js → extractor-M67RUtg6.js} +22 -24
  107. package/dist/src/extractor-YMU_Gvt8.js +374 -0
  108. package/dist/src/{fetch-D3OHf-lV.js → fetch-4M3YRaqL.js} +40 -45
  109. package/dist/src/fetch-60Gzydls.js +777 -0
  110. package/dist/src/{fetch-CXZI9RRr.js → fetch-BMv0O527.js} +23 -35
  111. package/dist/src/{fetch-BmbD-v1L.cjs → fetch-BxUk8odA.cjs} +244 -277
  112. package/dist/src/fetch-KV5kNASw.js +5 -0
  113. package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
  114. package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
  115. package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
  116. package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
  117. package/dist/src/{formatDuration-CdevI3An.js → formatDuration-DgBVMN65.js} +2 -2
  118. package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
  119. package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
  120. package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
  121. package/dist/src/{genaiTracer-Dres3qrN.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
  122. package/dist/src/graders-Bu0H9nXi.js +32 -0
  123. package/dist/src/{graders-DTeBrzWp.js → graders-CHO8EPM4.js} +349 -397
  124. package/dist/src/graders-Cfhkvx-e.js +34 -0
  125. package/dist/src/{graders--1y2u9HO.js → graders-CpdqD9PI.js} +349 -397
  126. package/dist/src/graders-DClJVpGP.cjs +32 -0
  127. package/dist/src/{graders-DohM2dir.cjs → graders-DOXycdlG.cjs} +684 -732
  128. package/dist/src/graders-DcnJsrMO.js +32 -0
  129. package/dist/src/graders-R9rYUM0d.js +13466 -0
  130. package/dist/src/{image-C3wHC9_h.js → image-BmEZqVmk.js} +9 -10
  131. package/dist/src/{image-O1u4bCFg.js → image-CBBVXWuT.js} +9 -10
  132. package/dist/src/{image-DpKl2F15.cjs → image-CDLQOcqT.cjs} +6 -7
  133. package/dist/src/{image-DmE-niFE.js → image-DJEvKveK.js} +6 -5
  134. package/dist/src/{image-CuKHuccK.cjs → image-DTedmQPg.cjs} +29 -30
  135. package/dist/src/{image-B0U4Hqll.js → image-gvmivTEe.js} +7 -9
  136. package/dist/src/image-pAX56tPG.js +257 -0
  137. package/dist/src/{image-DNEIf_aI.js → image-tL5hIOFh.js} +6 -8
  138. package/dist/src/index.cjs +605 -689
  139. package/dist/src/index.d.cts +11 -7
  140. package/dist/src/index.d.ts +11 -3
  141. package/dist/src/index.js +570 -658
  142. package/dist/src/{interactiveCheck-Bxj1Swex.js → interactiveCheck-BgLZUIt3.js} +7 -8
  143. package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
  144. package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
  145. package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
  146. package/dist/src/invariant-vgHWClmd.js +25 -0
  147. package/dist/src/{knowledgeBase-Be_zyW4L.js → knowledgeBase-CLJybhnF.js} +16 -16
  148. package/dist/src/{knowledgeBase-CEzQobWX.js → knowledgeBase-CoU-UQBg.js} +14 -9
  149. package/dist/src/{knowledgeBase-BZ41IFwq.js → knowledgeBase-DjWPVqSb.js} +14 -18
  150. package/dist/src/{knowledgeBase-D-5BMXlr.cjs → knowledgeBase-wkxuRFhA.cjs} +14 -15
  151. package/dist/src/{litellm-DnbRJ2if.js → litellm-B9Hysuri.js} +16 -18
  152. package/dist/src/{litellm-CRDqPhNI.js → litellm-CTfa0hqi.js} +15 -17
  153. package/dist/src/{litellm-hUSNM_M2.cjs → litellm-NYpQ8RQu.cjs} +15 -16
  154. package/dist/src/{litellm-9vR8zpfU.js → litellm-ePxtr9F1.js} +15 -4
  155. package/dist/src/{logger-CG1uZPbQ.js → logger-CT3IKMKA.js} +10 -29
  156. package/dist/src/{logger-B7sBeGa0.cjs → logger-Cp1GPUjj.cjs} +152 -180
  157. package/dist/src/logger-DLcq4dWf.js +713 -0
  158. package/dist/src/{logger-LSBxlt7a.js → logger-KkObSCzq.js} +13 -31
  159. package/dist/src/{luma-ray-Hm3d6VJE.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
  160. package/dist/src/{luma-ray-drvgdpP9.js → luma-ray-BE2mOt6N.js} +20 -13
  161. package/dist/src/{luma-ray-4blv9iZ2.js → luma-ray-BW9IRGIc.js} +22 -21
  162. package/dist/src/{luma-ray-B2__8lYH.js → luma-ray-Cm1KZBhs.js} +20 -23
  163. package/dist/src/main.js +1170 -1321
  164. package/dist/src/{messages-XhiwCbi4.cjs → messages-1JrJs91T.cjs} +32 -34
  165. package/dist/src/{messages-CGPPidQr.js → messages-1x9atZmP.js} +22 -24
  166. package/dist/src/{messages-Uee41Mj5.js → messages-BLbWdsyt.js} +22 -24
  167. package/dist/src/messages-D8EA0oDc.js +240 -0
  168. package/dist/src/{meteor-BYykdXrV.js → meteor-44VjEACX.js} +3 -4
  169. package/dist/src/{meteor-CsopaHrH.js → meteor-D-SotUw9.js} +3 -4
  170. package/dist/src/{meteor-e-E-2vVl.cjs → meteor-DLZZ3osF.cjs} +3 -4
  171. package/dist/src/{meteor-C8lGP6P4.js → meteor-DUiCJRC-.js} +3 -4
  172. package/dist/src/{modelslab-yKz-ZNB4.js → modelslab-C1OLRmVX.js} +17 -10
  173. package/dist/src/{modelslab-E9gO-bYd.js → modelslab-CqXBy3U8.js} +18 -20
  174. package/dist/src/{modelslab-lUVW0cmB.cjs → modelslab-DcOSFwKh.cjs} +17 -18
  175. package/dist/src/{modelslab-ClBkr8_9.js → modelslab-X5-4LroM.js} +17 -19
  176. package/dist/src/{nova-reel-Dk8jNpId.js → nova-reel-BgS1ZWuK.js} +20 -13
  177. package/dist/src/{nova-reel-u2eF2Cxm.js → nova-reel-D2ZkOSyr.js} +22 -21
  178. package/dist/src/{nova-reel-D8CuO6QH.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
  179. package/dist/src/{nova-reel-P9bwvtYX.js → nova-reel-DihqLeol.js} +20 -23
  180. package/dist/src/{nova-sonic-Ds1C-dpm.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
  181. package/dist/src/{nova-sonic-CK2rAiKi.js → nova-sonic-DezhVUYT.js} +30 -26
  182. package/dist/src/{nova-sonic-BaqWlkds.js → nova-sonic-P-CdUMlV.js} +30 -31
  183. package/dist/src/{nova-sonic-yZapPLv7.js → nova-sonic-Q3BOJeig.js} +31 -32
  184. package/dist/src/{openai-DUFopMrH.cjs → openai-Cuif0GEt.cjs} +8 -9
  185. package/dist/src/{openai-PblZ3jUE.js → openai-DElQ-fPX.js} +3 -4
  186. package/dist/src/{openai-CcN1B8Sb.js → openai-DhbB7eWK.js} +3 -4
  187. package/dist/src/openai-j-sE2O7r.js +44 -0
  188. package/dist/src/{openclaw-A-3_loM7.js → openclaw-BiSZPL7J.js} +20 -14
  189. package/dist/src/{openclaw-COn6QzDi.js → openclaw-Bv1DINsX.js} +20 -27
  190. package/dist/src/{openclaw-a3lylB-V.js → openclaw-D1D_ej1z.js} +21 -28
  191. package/dist/src/{openclaw-B6qqDr_u.cjs → openclaw-DAfWQn-o.cjs} +33 -39
  192. package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
  193. package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
  194. package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
  195. package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
  196. package/dist/src/{otlpReceiver-oyf5wLGC.js → otlpReceiver--AIRW_S4.js} +53 -51
  197. package/dist/src/{otlpReceiver-BmmTiMjA.js → otlpReceiver-Bn5wGB1v.js} +53 -55
  198. package/dist/src/{otlpReceiver-lXsYVbpj.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
  199. package/dist/src/{otlpReceiver-94URx7UW.js → otlpReceiver-g3ByGaXs.js} +53 -55
  200. package/dist/src/{providerRegistry-Cq_JK_CJ.js → providerRegistry-B0RUOLI_.js} +7 -8
  201. package/dist/src/{providerRegistry-DSSHjMKf.js → providerRegistry-CD8MEar9.js} +7 -8
  202. package/dist/src/{providerRegistry-CvHEVJad.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
  203. package/dist/src/providerRegistry-DM8rZYol.js +45 -0
  204. package/dist/src/providers-B3HvufyI.js +33246 -0
  205. package/dist/src/{providers-BnFpbY_s.js → providers-BKRJTjBz.js} +1536 -1669
  206. package/dist/src/providers-C1rOSHiR.js +32 -0
  207. package/dist/src/{providers-Iil64vk9.js → providers-CFLy1_ji.js} +1543 -1676
  208. package/dist/src/{providers-DHbjzW2e.cjs → providers-CFu-TZl-.cjs} +1896 -2029
  209. package/dist/src/providers-CxmDwEFf.cjs +31 -0
  210. package/dist/src/providers-Dodakqr0.js +30 -0
  211. package/dist/src/providers-GIQ2TcsA.js +30 -0
  212. package/dist/src/{pythonUtils-CcT5LH1M.js → pythonUtils-C3py6GC1.js} +18 -19
  213. package/dist/src/{pythonUtils-DBbuI3QJ.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
  214. package/dist/src/{pythonUtils-hZ8LeQLv.js → pythonUtils-D5nxkQ0P.js} +18 -19
  215. package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
  216. package/dist/src/{quiverai-BuI0tE39.js → quiverai-C2jVwbH1.js} +8 -7
  217. package/dist/src/{quiverai-DCGSZt4U.js → quiverai-CI6gYJVI.js} +8 -10
  218. package/dist/src/{quiverai-DiMVJQDz.cjs → quiverai-CLkWkyZc.cjs} +8 -9
  219. package/dist/src/{quiverai-fQNkExW4.js → quiverai-MHSxbmmZ.js} +9 -11
  220. package/dist/src/{render-Dj1smHEb.js → render-Drod8m7K.js} +4 -5
  221. package/dist/src/{responses-DOAFFENS.js → responses-BKqJmhhc.js} +22 -25
  222. package/dist/src/{responses-CxzoQoBe.js → responses-CGw0DCzh.js} +22 -25
  223. package/dist/src/responses-jxdehPkC.js +660 -0
  224. package/dist/src/{responses-ghR3IOfy.cjs → responses-tD4Bd4dc.cjs} +37 -40
  225. package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
  226. package/dist/src/{rubyUtils-CwbGmgYN.js → rubyUtils-BUVePouc.js} +27 -20
  227. package/dist/src/rubyUtils-BcuGX77l.js +222 -0
  228. package/dist/src/{rubyUtils-DudlFZed.js → rubyUtils-Boc4HZzX.js} +18 -19
  229. package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
  230. package/dist/src/{rubyUtils-C8MhKGHb.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
  231. package/dist/src/{sagemaker-gmskuyre.js → sagemaker-BK4Zb993.js} +75 -70
  232. package/dist/src/{sagemaker-DuM71dVU.js → sagemaker-BfiWTmvn.js} +77 -77
  233. package/dist/src/{sagemaker-77zbJ2Q2.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
  234. package/dist/src/{sagemaker-CcxhlOAR.js → sagemaker-D2Q1c-sD.js} +75 -79
  235. package/dist/src/{scanner-DJYiSXQj.js → scanner-J8CA3LsV.js} +100 -121
  236. package/dist/src/server/index.js +5505 -67416
  237. package/dist/src/{server-B5v33lvE.cjs → server-B0PPuDw-.cjs} +57 -67
  238. package/dist/src/server-B1vi21hA.js +7 -0
  239. package/dist/src/{server-RV_i_YX5.js → server-BC7XJFgr.js} +19 -24
  240. package/dist/src/server-Cm9Kai_h.cjs +5 -0
  241. package/dist/src/{server-BJ4m4f1D.js → server-DbFphssR.js} +26 -29
  242. package/dist/src/server-OAs3nBRT.js +229 -0
  243. package/dist/src/{signal-BW33JuId.js → signal-BOTbd53Z.js} +9 -11
  244. package/dist/src/{slack-DEURelTy.cjs → slack-BmVAVGaK.cjs} +7 -8
  245. package/dist/src/{slack-BQYeW9L3.js → slack-DCUPTzS2.js} +8 -8
  246. package/dist/src/{slack-BB6yuZzp.js → slack-DOdy_kyv.js} +7 -8
  247. package/dist/src/{slack-2pRrhhgJ.js → slack-DXMKtA-f.js} +7 -9
  248. package/dist/src/store-BNmZ1KAz.cjs +5 -0
  249. package/dist/src/{store-D7CgQzAR.cjs → store-BSc-TF2w.cjs} +44 -45
  250. package/dist/src/store-BltJg2cd.js +6 -0
  251. package/dist/src/{store-s3SftUwF.js → store-D1tv90v3.js} +34 -35
  252. package/dist/src/{store-DJNsD1iC.js → store-DQLEjuEO.js} +40 -36
  253. package/dist/src/store-Ub2vaGJ1.js +228 -0
  254. package/dist/src/{tables-DfTsNN7X.js → tables-5EvT_Bwn.js} +19 -21
  255. package/dist/src/{tables-BKTmd6u7.cjs → tables-C7K-XKWp.cjs} +89 -91
  256. package/dist/src/{tables-DMegD0Xf.js → tables-D36WTqKX.js} +21 -23
  257. package/dist/src/tables-xKANLRBD.js +288 -0
  258. package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
  259. package/dist/src/{telemetry-BedSm-bZ.js → telemetry-C15ziL8u.js} +17 -14
  260. package/dist/src/{telemetry--WAdAfVi.js → telemetry-C2YDkUQH.js} +11 -13
  261. package/dist/src/{telemetry-DQgVBCAb.cjs → telemetry-CbrnxHp_.cjs} +21 -24
  262. package/dist/src/telemetry-D4W5hboe.js +7 -0
  263. package/dist/src/telemetry-DMb2Mpfm.js +171 -0
  264. package/dist/src/{text-oiSbwSOI.js → text-B_UCRPp2.js} +2 -2
  265. package/dist/src/{text-oKzCBnK6.cjs → text-CW1cyrwj.cjs} +12 -13
  266. package/dist/src/{text-B_IrO4GZ.js → text-Db-Wt2u2.js} +2 -2
  267. package/dist/src/text-TIv0QYnd.js +22 -0
  268. package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
  269. package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
  270. package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
  271. package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
  272. package/dist/src/{transcription-BO1AHegO.cjs → transcription-CL78qbOU.cjs} +14 -15
  273. package/dist/src/{transcription-mYS9vd5v.js → transcription-DAtxHhAM.js} +14 -7
  274. package/dist/src/{transcription-X2-B4vkX.js → transcription-LNZTNUUL.js} +14 -16
  275. package/dist/src/{transcription-lzBLiTFJ.js → transcription-QHh3AH6Z.js} +15 -17
  276. package/dist/src/{transform-DeGlxb0D.js → transform-Cgi24fJ7.js} +39 -47
  277. package/dist/src/{transform-B1Hi5lWS.cjs → transform-CzK1Q0zl.cjs} +24 -26
  278. package/dist/src/{transform-CYDILYDe.js → transform-DECvGmzp.js} +15 -13
  279. package/dist/src/{transform-Dfl89yi4.js → transform-DGLazrMm.js} +39 -47
  280. package/dist/src/transform-DGxXocjk.js +1506 -0
  281. package/dist/src/{transform-D5PjiWiZ.cjs → transform-DOcQeLld.cjs} +179 -187
  282. package/dist/src/transform-DTGDnAzW.js +6 -0
  283. package/dist/src/{transform-BEgStbHK.js → transform-DilY9wbS.js} +10 -12
  284. package/dist/src/transform-aa6tmVpZ.js +216 -0
  285. package/dist/src/transform-m3qNw4KP.cjs +5 -0
  286. package/dist/src/{transformersAvailability-SZnTS3pJ.js → transformersAvailability-CEVM2GNQ.js} +2 -2
  287. package/dist/src/{transformersAvailability-D-glmEy7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
  288. package/dist/src/{transformersAvailability-CjeFXhuJ.js → transformersAvailability-D6c6ROpT.js} +2 -2
  289. package/dist/src/{types-CXQduE9o.js → types-CH3Ge2sE.js} +30 -90
  290. package/dist/src/{types-C5hEkb-x.js → types-CLKiCBW3.js} +25 -89
  291. package/dist/src/types-CN_TZ2GJ.js +3260 -0
  292. package/dist/src/{types-DWNf48sT.cjs → types-LJ0r3wbR.cjs} +500 -564
  293. package/dist/src/util-5cB-L7U3.js +1430 -0
  294. package/dist/src/util-6-GqIvzS.js +599 -0
  295. package/dist/src/{util-CoQjmE3u.js → util-B7T3SiBS.js} +4 -5
  296. package/dist/src/{util-D9eLdGfa.js → util-Betm42rL.js} +5 -6
  297. package/dist/src/{util-Bm_-UMD_.js → util-C-PPYSMq.js} +5 -6
  298. package/dist/src/{util-CyUdMzV0.cjs → util-CchiqXh_.cjs} +34 -35
  299. package/dist/src/{util-Du96oyYS.js → util-DaWTWKBK.js} +4 -5
  300. package/dist/src/{util-1wWM599Z.cjs → util-Db0a0AFH.cjs} +50 -51
  301. package/dist/src/{util-DQ984syk.js → util-Dlz_Wvgm.js} +37 -48
  302. package/dist/src/{util-_h4pVqrz.js → util-YT5HPZaS.js} +37 -48
  303. package/dist/src/{util-aLhtl3fe.cjs → util-Yz-1aEhW.cjs} +209 -220
  304. package/dist/src/util-ZZH-3QZz.js +293 -0
  305. package/dist/src/{utils-BjLy-Q72.cjs → utils-Cz9qXqII.cjs} +29 -32
  306. package/dist/src/{utils-CFMn2yHW.js → utils-XiOAgly5.js} +4 -7
  307. package/dist/src/utils-dLokC-eR.js +94 -0
  308. package/dist/src/{utils-DvWMzuMx.js → utils-f2-Moju7.js} +4 -7
  309. package/dist/tsconfig.tsbuildinfo +1 -1
  310. package/package.json +30 -30
  311. package/dist/src/app/assets/index-B2D0bCSI.js +0 -439
  312. package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
  313. package/dist/src/cache-ChPcurj7.js +0 -6
  314. package/dist/src/cache-VVu_W-yg.js +0 -8
  315. package/dist/src/cache-YLNCFEM2.cjs +0 -6
  316. package/dist/src/chunk-DHDDz29n.js +0 -22
  317. package/dist/src/chunk-FhC4c-0y.js +0 -21
  318. package/dist/src/cloud-BndfXy4H.js +0 -5
  319. package/dist/src/eval-BhHvMY82.js +0 -17
  320. package/dist/src/evalResult-Dq2gFNQY.js +0 -12
  321. package/dist/src/evalResult-nmcP5VKH.cjs +0 -12
  322. package/dist/src/evalResult-trqZjVYh.js +0 -14
  323. package/dist/src/evaluator-CnfPstzT.js +0 -39
  324. package/dist/src/fetch-IDPDue6F.cjs +0 -4
  325. package/dist/src/fetch-hKJ-It8q.js +0 -6
  326. package/dist/src/fetch-ouKnrWK-.js +0 -4
  327. package/dist/src/graders-CQn7WUsd.cjs +0 -34
  328. package/dist/src/graders-DC6QAbpW.js +0 -35
  329. package/dist/src/graders-DUWz3Y7j.js +0 -37
  330. package/dist/src/opencode-sdk-4bL9n-Gk.js +0 -382
  331. package/dist/src/opencode-sdk-BfC2zWcR.js +0 -376
  332. package/dist/src/opencode-sdk-DMJyuwMg.js +0 -380
  333. package/dist/src/opencode-sdk-Da-9adza.cjs +0 -383
  334. package/dist/src/providers-CsXB2Ix-.js +0 -35
  335. package/dist/src/providers-DO8ltjLC.js +0 -33
  336. package/dist/src/providers-Dtq-xnXd.cjs +0 -33
  337. package/dist/src/rubyUtils-BUbcND2f.js +0 -6
  338. package/dist/src/rubyUtils-Cr55X_KE.js +0 -5
  339. package/dist/src/rubyUtils-DlIiqoYo.cjs +0 -5
  340. package/dist/src/server-C2eQH4Gu.js +0 -6
  341. package/dist/src/server-CXWycu7H.cjs +0 -6
  342. package/dist/src/server-Q6OGlxxT.js +0 -8
  343. package/dist/src/store-B3EDO9Q3.js +0 -7
  344. package/dist/src/store-Dl9F8aw5.js +0 -6
  345. package/dist/src/store-SnrGrlt9.cjs +0 -6
  346. package/dist/src/telemetry-BGhiPZtl.js +0 -8
  347. package/dist/src/telemetry-CFfiYan6.cjs +0 -6
  348. package/dist/src/telemetry-DHzEduxX.js +0 -6
  349. package/dist/src/transform-C1x1ZlMQ.cjs +0 -6
  350. package/dist/src/transform-DYHjFmQu.js +0 -8
  351. package/dist/src/transform-rmwJT5JQ.js +0 -7
  352. package/dist/src/transformersAvailability-eJooj0gX.js +0 -35
@@ -1,383 +0,0 @@
1
- const require_logger = require('./logger-B7sBeGa0.cjs');
2
- const require_esm = require('./esm-Ct-Joyue.cjs');
3
- require('./fetch-BmbD-v1L.cjs');
4
- require('./cache-BTVYfbka.cjs');
5
- const require_cometapi = require('./cometapi-DIO64tf4.cjs');
6
- let fs = require("fs");
7
- fs = require_logger.__toESM(fs);
8
- let path = require("path");
9
- path = require_logger.__toESM(path);
10
- let node_module = require("node:module");
11
- let os = require("os");
12
- os = require_logger.__toESM(os);
13
- let dedent = require("dedent");
14
- dedent = require_logger.__toESM(dedent);
15
-
16
- //#region src/providers/opencode-sdk.ts
17
- /**
18
- * Check if promptfoo is in debug mode
19
- */
20
- function isDebugMode() {
21
- return require_logger.getLogLevel() === "debug";
22
- }
23
- /**
24
- * Maximum number of sessions to keep in memory to prevent unbounded growth
25
- */
26
- const MAX_SESSIONS = 100;
27
- /**
28
- * Resolve ESM-only package entry point by reading package.json exports
29
- * Handles packages that only have "import" condition (no "require" condition)
30
- *
31
- * @param packageName - The package name (e.g., '@opencode-ai/sdk')
32
- * @param basePath - Base path for resolution
33
- * @returns Absolute path to the ESM entry point
34
- */
35
- function resolveEsmPackage(packageName, basePath) {
36
- const require = (0, node_module.createRequire)(path.default.join(basePath, "package.json"));
37
- let packageJsonPath;
38
- try {
39
- packageJsonPath = require.resolve(`${packageName}/package.json`);
40
- } catch {
41
- packageJsonPath = path.default.join(basePath, "node_modules", ...packageName.split("/"), "package.json");
42
- if (!fs.default.existsSync(packageJsonPath)) throw new Error(`Cannot find ${packageName}/package.json`);
43
- }
44
- const packageDir = path.default.dirname(packageJsonPath);
45
- const packageJson = JSON.parse(fs.default.readFileSync(packageJsonPath, "utf-8"));
46
- let esmEntry;
47
- if (packageJson.exports) {
48
- const mainExport = packageJson.exports["."] || packageJson.exports;
49
- if (typeof mainExport === "string") esmEntry = mainExport;
50
- else if (typeof mainExport === "object") esmEntry = mainExport.import || mainExport.default;
51
- }
52
- if (!esmEntry) esmEntry = packageJson.module || packageJson.main;
53
- if (!esmEntry) throw new Error(`Cannot find ESM entry point in ${packageName}/package.json`);
54
- return path.default.join(packageDir, esmEntry);
55
- }
56
- /**
57
- * Helper to load the OpenCode SDK ESM module
58
- *
59
- * Uses a two-phase approach:
60
- * 1. Try simple dynamic import - works when SDK is in same node_modules tree
61
- * 2. Fall back to smart ESM resolution for edge cases (pnpm, global installs, monorepos)
62
- */
63
- async function loadOpenCodeSDK() {
64
- try {
65
- require_logger.logger_default.debug("Attempting simple dynamic import of @opencode-ai/sdk");
66
- return await import("@opencode-ai/sdk");
67
- } catch {
68
- require_logger.logger_default.debug("Simple import failed, falling back to smart ESM resolution");
69
- }
70
- try {
71
- const modulePath = resolveEsmPackage("@opencode-ai/sdk", require_logger.cliState_default.basePath && path.default.isAbsolute(require_logger.cliState_default.basePath) ? require_logger.cliState_default.basePath : process.cwd());
72
- require_logger.logger_default.debug(`Resolved OpenCode SDK path: ${modulePath}`);
73
- return await require_esm.importModule(modulePath);
74
- } catch (err) {
75
- require_logger.logger_default.error(`Failed to load OpenCode SDK: ${err}`);
76
- const stack = err.stack;
77
- if (stack) require_logger.logger_default.error(stack);
78
- throw new Error(dedent.default`The @opencode-ai/sdk package is required but not installed.
79
-
80
- To use the OpenCode SDK provider, install it with:
81
- npm install @opencode-ai/sdk
82
-
83
- For more information, see: https://www.promptfoo.dev/docs/providers/opencode-sdk/`);
84
- }
85
- }
86
- var OpenCodeSDKProvider = class {
87
- config;
88
- env;
89
- providerId = "opencode:sdk";
90
- opencodeModule;
91
- client;
92
- server;
93
- sessions = /* @__PURE__ */ new Map();
94
- sessionOrder = [];
95
- constructor(options = {}) {
96
- const { config, env, id } = options;
97
- this.config = config ?? {};
98
- this.env = env;
99
- this.providerId = id ?? this.providerId;
100
- }
101
- id() {
102
- return this.providerId;
103
- }
104
- /**
105
- * Get API key based on provider_id or common environment variables
106
- */
107
- getApiKey() {
108
- if (this.config?.apiKey) return this.config.apiKey;
109
- const providerId = this.config?.provider_id?.toLowerCase();
110
- if (providerId === "anthropic") return this.env?.ANTHROPIC_API_KEY || require_logger.getEnvString("ANTHROPIC_API_KEY");
111
- if (providerId === "openai") return this.env?.OPENAI_API_KEY || require_logger.getEnvString("OPENAI_API_KEY");
112
- if (providerId === "google") return this.env?.GOOGLE_API_KEY || require_logger.getEnvString("GOOGLE_API_KEY");
113
- return this.env?.ANTHROPIC_API_KEY || require_logger.getEnvString("ANTHROPIC_API_KEY") || this.env?.OPENAI_API_KEY || require_logger.getEnvString("OPENAI_API_KEY");
114
- }
115
- toString() {
116
- return "[OpenCode SDK Provider]";
117
- }
118
- async cleanup() {
119
- if (!this.config.persist_sessions) for (const sessionId of this.sessions.values()) try {
120
- await this.client?.session?.delete({ path: { id: sessionId } });
121
- } catch (err) {
122
- require_logger.logger_default.debug(`Failed to delete session ${sessionId}: ${err}`);
123
- }
124
- this.sessions.clear();
125
- this.sessionOrder = [];
126
- if (this.server) {
127
- try {
128
- this.server.close();
129
- } catch (err) {
130
- require_logger.logger_default.debug(`Failed to close OpenCode server: ${err}`);
131
- }
132
- this.server = void 0;
133
- }
134
- }
135
- /**
136
- * Build the tools configuration based on config and defaults
137
- */
138
- buildToolsConfig(config) {
139
- if (config.tools) return config.tools;
140
- if (!config.working_dir) return {
141
- bash: false,
142
- edit: false,
143
- write: false,
144
- read: false,
145
- grep: false,
146
- glob: false,
147
- list: false,
148
- patch: false,
149
- todowrite: false,
150
- todoread: false,
151
- webfetch: false,
152
- question: false,
153
- skill: false,
154
- lsp: false
155
- };
156
- return {
157
- bash: false,
158
- edit: false,
159
- write: false,
160
- read: true,
161
- grep: true,
162
- glob: true,
163
- list: true,
164
- patch: false,
165
- todowrite: false,
166
- todoread: false,
167
- webfetch: false,
168
- question: false,
169
- skill: false,
170
- lsp: false
171
- };
172
- }
173
- /**
174
- * Add a session to the cache with LRU eviction
175
- */
176
- addSession(cacheKey, sessionId) {
177
- while (this.sessions.size >= MAX_SESSIONS && this.sessionOrder.length > 0) {
178
- const oldestKey = this.sessionOrder.shift();
179
- if (oldestKey) {
180
- const oldSessionId = this.sessions.get(oldestKey);
181
- this.sessions.delete(oldestKey);
182
- if (oldSessionId) this.client?.session?.delete({ path: { id: oldSessionId } }).catch((err) => {
183
- require_logger.logger_default.debug(`Failed to delete evicted session ${oldSessionId}: ${err}`);
184
- });
185
- }
186
- }
187
- this.sessions.set(cacheKey, sessionId);
188
- this.sessionOrder.push(cacheKey);
189
- }
190
- async callApi(prompt, context, callOptions) {
191
- const config = {
192
- ...this.config,
193
- ...context?.prompt?.config
194
- };
195
- let isTempDir = false;
196
- let workingDir;
197
- if (config.working_dir) {
198
- workingDir = path.default.isAbsolute(config.working_dir) ? config.working_dir : path.default.resolve(process.cwd(), config.working_dir);
199
- let stats;
200
- try {
201
- stats = fs.default.statSync(workingDir);
202
- } catch (err) {
203
- throw new Error(`Working directory ${config.working_dir} (resolved to ${workingDir}) does not exist or isn't accessible: ${err.message}`);
204
- }
205
- if (!stats.isDirectory()) throw new Error(`Working directory ${config.working_dir} (resolved to ${workingDir}) is not a directory`);
206
- } else {
207
- isTempDir = true;
208
- workingDir = fs.default.mkdtempSync(path.default.join(os.default.tmpdir(), "promptfoo-opencode-sdk-"));
209
- }
210
- const mcpConfig = config.mcp && Object.keys(config.mcp).length > 0 ? config.mcp : void 0;
211
- const cacheResult = await require_cometapi.initializeAgenticCache({
212
- cacheKeyPrefix: "opencode:sdk",
213
- workingDir: config.working_dir ? workingDir : void 0,
214
- bustCache: context?.bustCache,
215
- mcp: mcpConfig,
216
- cacheMcp: config.cache_mcp
217
- }, {
218
- prompt,
219
- provider_id: config.provider_id,
220
- model: config.model,
221
- tools: this.buildToolsConfig(config),
222
- permission: config.permission,
223
- agent: config.agent,
224
- custom_agent: config.custom_agent
225
- });
226
- const cachedResponse = await require_cometapi.getCachedResponse(cacheResult, "OpenCode SDK");
227
- if (cachedResponse) return cachedResponse;
228
- if (callOptions?.abortSignal?.aborted) return { error: "OpenCode SDK call aborted before it started" };
229
- try {
230
- if (!this.opencodeModule) this.opencodeModule = await loadOpenCodeSDK();
231
- if (!this.client) {
232
- const { createOpencode, createOpencodeClient } = this.opencodeModule;
233
- if (config.baseUrl) this.client = createOpencodeClient({ baseUrl: config.baseUrl });
234
- else {
235
- const homeDir = os.default.homedir();
236
- const opencodeBinPath = path.default.join(homeDir, ".opencode", "bin");
237
- const serverEnv = { ...process.env };
238
- if (!serverEnv.PATH?.includes(opencodeBinPath)) {
239
- serverEnv.PATH = `${opencodeBinPath}:${serverEnv.PATH ?? ""}`;
240
- require_logger.logger_default.debug(`Added ${opencodeBinPath} to PATH for OpenCode CLI`);
241
- }
242
- if (config.log_level === "debug" || isDebugMode()) {
243
- serverEnv.DEBUG = serverEnv.DEBUG || "opencode:*";
244
- require_logger.logger_default.debug("[OpenCode SDK] Debug mode enabled, synced from promptfoo log level");
245
- }
246
- const serverOptions = {
247
- hostname: config.hostname ?? "127.0.0.1",
248
- port: config.port ?? 0,
249
- timeout: config.timeout ?? 3e4,
250
- env: serverEnv
251
- };
252
- const serverConfig = {};
253
- if (config.mcp && Object.keys(config.mcp).length > 0) {
254
- serverConfig.mcp = config.mcp;
255
- require_logger.logger_default.debug(`[OpenCode SDK] Configuring MCP servers: ${Object.keys(config.mcp).join(", ")}`);
256
- }
257
- if (config.custom_agent) {
258
- serverConfig.agent = { custom: {
259
- description: config.custom_agent.description,
260
- model: config.custom_agent.model,
261
- temperature: config.custom_agent.temperature,
262
- top_p: config.custom_agent.top_p,
263
- tools: config.custom_agent.tools,
264
- permission: config.custom_agent.permission,
265
- prompt: config.custom_agent.prompt,
266
- mode: config.custom_agent.mode ?? "primary",
267
- maxSteps: config.custom_agent.steps ?? config.custom_agent.maxSteps,
268
- color: config.custom_agent.color,
269
- disable: config.custom_agent.disable,
270
- hidden: config.custom_agent.hidden
271
- } };
272
- require_logger.logger_default.debug(`[OpenCode SDK] Configuring custom agent: ${config.custom_agent.description}`);
273
- }
274
- if (config.permission) {
275
- serverConfig.permission = config.permission;
276
- require_logger.logger_default.debug("[OpenCode SDK] Configuring global permissions");
277
- }
278
- const toolsConfig = this.buildToolsConfig(config);
279
- if (toolsConfig) serverConfig.tools = toolsConfig;
280
- if (Object.keys(serverConfig).length > 0) serverOptions.config = serverConfig;
281
- const opencode = await createOpencode(serverOptions);
282
- this.client = opencode.client;
283
- this.server = opencode.server;
284
- require_logger.logger_default.debug(`OpenCode server started at ${opencode.server.url}`);
285
- }
286
- }
287
- let sessionId;
288
- const sessionCacheKey = cacheResult.cacheKey;
289
- if (config.session_id) sessionId = config.session_id;
290
- else if (config.persist_sessions && sessionCacheKey && this.sessions.has(sessionCacheKey)) sessionId = this.sessions.get(sessionCacheKey);
291
- else {
292
- const createResult = await this.client.session.create({ body: { title: `promptfoo-${Date.now()}` } });
293
- const extractedId = createResult?.data?.id ?? createResult?.id;
294
- if (!extractedId) throw new Error("Failed to get session ID from OpenCode SDK response");
295
- sessionId = extractedId;
296
- if (config.persist_sessions && sessionCacheKey) this.addSession(sessionCacheKey, sessionId);
297
- }
298
- const promptBody = { parts: [{
299
- type: "text",
300
- text: prompt
301
- }] };
302
- if (config.provider_id || config.model) promptBody.model = {
303
- providerID: config.provider_id ?? "",
304
- modelID: config.model ?? ""
305
- };
306
- const toolsConfig = this.buildToolsConfig(config);
307
- if (toolsConfig) promptBody.tools = toolsConfig;
308
- if (config.agent) promptBody.agent = config.agent;
309
- else if (config.custom_agent) promptBody.agent = "custom";
310
- if (config.custom_agent?.prompt) promptBody.system = config.custom_agent.prompt;
311
- if (config.permission) promptBody.permission = config.permission;
312
- const promptOptions = {
313
- path: { id: sessionId },
314
- body: promptBody
315
- };
316
- if (config.working_dir) promptOptions.query = { directory: workingDir };
317
- require_logger.logger_default.debug(`OpenCode SDK prompt options:`, {
318
- path: promptOptions.path,
319
- body: promptBody,
320
- query: promptOptions.query
321
- });
322
- const response = await this.client.session.prompt(promptOptions);
323
- require_logger.logger_default.debug(`OpenCode SDK response received`);
324
- const responseData = response?.data;
325
- const assistantMessage = responseData?.info;
326
- const parts = responseData?.parts ?? [];
327
- let output = "";
328
- for (const part of parts) if (part.type === "text" && part.text) output += (output ? "\n" : "") + part.text;
329
- const raw = JSON.stringify(response);
330
- const tokens = assistantMessage?.tokens;
331
- const tokenUsage = tokens ? {
332
- prompt: tokens.input ?? 0,
333
- completion: tokens.output ?? 0,
334
- total: (tokens.input ?? 0) + (tokens.output ?? 0)
335
- } : void 0;
336
- const cost = assistantMessage?.cost ?? 0;
337
- const providerResponse = {
338
- output,
339
- tokenUsage,
340
- cost,
341
- raw,
342
- sessionId
343
- };
344
- await require_cometapi.cacheResponse(cacheResult, providerResponse, "OpenCode SDK");
345
- require_logger.logger_default.debug(`OpenCode SDK response: ${output.substring(0, 100)}...`);
346
- return providerResponse;
347
- } catch (error) {
348
- if (error?.name === "AbortError" || callOptions?.abortSignal?.aborted) {
349
- require_logger.logger_default.warn("OpenCode SDK call aborted");
350
- return { error: "OpenCode SDK call aborted" };
351
- }
352
- if (error?.code === "ENOENT" && error?.message?.includes("opencode")) {
353
- const cliError = dedent.default`The OpenCode CLI is required but not installed.
354
-
355
- The OpenCode SDK requires the 'opencode' CLI to be installed and available in your PATH.
356
-
357
- Install it with:
358
- curl -fsSL https://opencode.ai/install | bash
359
-
360
- Or see: https://opencode.ai for other installation methods.`;
361
- require_logger.logger_default.error(cliError);
362
- return { error: cliError };
363
- }
364
- require_logger.logger_default.error(`Error calling OpenCode SDK: ${error}`);
365
- return { error: `Error calling OpenCode SDK: ${error.message || error}` };
366
- } finally {
367
- if (isTempDir && workingDir) fs.default.rmSync(workingDir, {
368
- recursive: true,
369
- force: true
370
- });
371
- const sessionCacheKey = cacheResult.cacheKey;
372
- if (!config.persist_sessions && !config.session_id && sessionCacheKey) {
373
- this.sessions.delete(sessionCacheKey);
374
- const idx = this.sessionOrder.indexOf(sessionCacheKey);
375
- if (idx !== -1) this.sessionOrder.splice(idx, 1);
376
- }
377
- }
378
- }
379
- };
380
-
381
- //#endregion
382
- exports.OpenCodeSDKProvider = OpenCodeSDKProvider;
383
- //# sourceMappingURL=opencode-sdk-Da-9adza.cjs.map
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-DHDDz29n.js";
3
- import "./logger-LSBxlt7a.js";
4
- import "./fetch-CXZI9RRr.js";
5
- import "./accounts-DVINui-2.js";
6
- import "./cloud-CZ-q9Ier.js";
7
- import "./telemetry--WAdAfVi.js";
8
- import "./types-CXQduE9o.js";
9
- import "./server-BJ4m4f1D.js";
10
- import { a as resolveProviderConfigs, i as resolveProvider, n as loadApiProvider, r as loadApiProviders, t as getProviderIds } from "./providers-Iil64vk9.js";
11
- import "./cache-jsiwsAJv.js";
12
- import "./util-_h4pVqrz.js";
13
- import "./esm-B9dPm_BF.js";
14
- import "./pythonUtils-CcT5LH1M.js";
15
- import "./transform-BEgStbHK.js";
16
- import "./createHash-CJcfskIZ.js";
17
- import "./genaiTracer-CqNnnXrE.js";
18
- import "./chat-BcPjZXIp.js";
19
- import "./transform-DeGlxb0D.js";
20
- import "./messages-CGPPidQr.js";
21
- import "./util-CoQjmE3u.js";
22
- import "./responses-CxzoQoBe.js";
23
- import "./openai-CcN1B8Sb.js";
24
- import "./util-Bm_-UMD_.js";
25
- import "./completion-Bgf1VJoq.js";
26
- import "./blobs-BM_e6hCa.js";
27
- import "./tables-DMegD0Xf.js";
28
- import "./extractor-CD5yKL-G.js";
29
- import "./store-s3SftUwF.js";
30
- import "./base-XB2tDJrB.js";
31
- import "./image-O1u4bCFg.js";
32
- import "./providerRegistry-Cq_JK_CJ.js";
33
- import "./rubyUtils-DudlFZed.js";
34
-
35
- export { loadApiProvider, loadApiProviders };
@@ -1,33 +0,0 @@
1
- import "./chunk-FhC4c-0y.js";
2
- import "./logger-CG1uZPbQ.js";
3
- import "./esm-D2pZ87fL.js";
4
- import "./pythonUtils-hZ8LeQLv.js";
5
- import "./transform-CYDILYDe.js";
6
- import "./types-C5hEkb-x.js";
7
- import "./util-DQ984syk.js";
8
- import "./fetch-D3OHf-lV.js";
9
- import "./cache-CIpsoBZR.js";
10
- import { a as resolveProviderConfigs, i as resolveProvider, n as loadApiProvider, r as loadApiProviders, t as getProviderIds } from "./providers-BnFpbY_s.js";
11
- import "./createHash-Dw_iLu31.js";
12
- import "./genaiTracer-Ce19n68P.js";
13
- import "./chat-CcUCysjU.js";
14
- import "./transform-Dfl89yi4.js";
15
- import "./messages-Uee41Mj5.js";
16
- import "./util-Du96oyYS.js";
17
- import "./responses-DOAFFENS.js";
18
- import "./openai-PblZ3jUE.js";
19
- import "./util-D9eLdGfa.js";
20
- import "./completion-CG29bfKX.js";
21
- import "./accounts-CPDRAMND.js";
22
- import "./server-RV_i_YX5.js";
23
- import "./blobs-CR5C4Ihh.js";
24
- import "./tables-DfTsNN7X.js";
25
- import "./extractor-V5x_m1i0.js";
26
- import "./telemetry-BedSm-bZ.js";
27
- import "./store-DJNsD1iC.js";
28
- import "./base-h961VXYk.js";
29
- import "./image-C3wHC9_h.js";
30
- import "./providerRegistry-DSSHjMKf.js";
31
- import "./rubyUtils-CwbGmgYN.js";
32
-
33
- export { loadApiProvider, loadApiProviders };
@@ -1,33 +0,0 @@
1
- require('./logger-B7sBeGa0.cjs');
2
- require('./esm-Ct-Joyue.cjs');
3
- require('./pythonUtils-DBbuI3QJ.cjs');
4
- require('./transform-B1Hi5lWS.cjs');
5
- require('./types-DWNf48sT.cjs');
6
- require('./util-aLhtl3fe.cjs');
7
- require('./fetch-BmbD-v1L.cjs');
8
- require('./cache-BTVYfbka.cjs');
9
- const require_providers = require('./providers-DHbjzW2e.cjs');
10
- require('./createHash-CYQy4YeL.cjs');
11
- require('./genaiTracer-Dres3qrN.cjs');
12
- require('./chat-BE44YOc6.cjs');
13
- require('./transform-D5PjiWiZ.cjs');
14
- require('./messages-XhiwCbi4.cjs');
15
- require('./util-CyUdMzV0.cjs');
16
- require('./responses-ghR3IOfy.cjs');
17
- require('./openai-DUFopMrH.cjs');
18
- require('./util-1wWM599Z.cjs');
19
- require('./completion-CCRT4kX1.cjs');
20
- require('./accounts-Fl2J3_Fu.cjs');
21
- require('./server-B5v33lvE.cjs');
22
- require('./blobs-B-KQAFhX.cjs');
23
- require('./tables-BKTmd6u7.cjs');
24
- require('./extractor-C031XmTA.cjs');
25
- require('./telemetry-DQgVBCAb.cjs');
26
- require('./store-D7CgQzAR.cjs');
27
- require('./base-pGVmXNl4.cjs');
28
- require('./image-CuKHuccK.cjs');
29
- require('./providerRegistry-CvHEVJad.cjs');
30
- require('./rubyUtils-C8MhKGHb.cjs');
31
-
32
- exports.loadApiProvider = require_providers.loadApiProvider;
33
- exports.loadApiProviders = require_providers.loadApiProviders;
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./logger-LSBxlt7a.js";
3
- import "./esm-B9dPm_BF.js";
4
- import { a as validateRubyPath, i as tryPath, n as runRuby, r as state, t as getSysExecutable } from "./rubyUtils-DudlFZed.js";
5
-
6
- export { runRuby };
@@ -1,5 +0,0 @@
1
- import "./logger-CG1uZPbQ.js";
2
- import "./esm-D2pZ87fL.js";
3
- import { a as validateRubyPath, i as tryPath, n as runRuby, r as state, t as getSysExecutable } from "./rubyUtils-CwbGmgYN.js";
4
-
5
- export { runRuby };
@@ -1,5 +0,0 @@
1
- require('./logger-B7sBeGa0.cjs');
2
- require('./esm-Ct-Joyue.cjs');
3
- const require_rubyUtils = require('./rubyUtils-C8MhKGHb.cjs');
4
-
5
- exports.runRuby = require_rubyUtils.runRuby;
@@ -1,6 +0,0 @@
1
- import "./logger-CG1uZPbQ.js";
2
- import "./fetch-D3OHf-lV.js";
3
- import "./accounts-CPDRAMND.js";
4
- import { n as checkServerFeatureSupport, t as BrowserBehavior } from "./server-RV_i_YX5.js";
5
-
6
- export { checkServerFeatureSupport };
@@ -1,6 +0,0 @@
1
- require('./logger-B7sBeGa0.cjs');
2
- require('./fetch-BmbD-v1L.cjs');
3
- require('./accounts-Fl2J3_Fu.cjs');
4
- const require_server = require('./server-B5v33lvE.cjs');
5
-
6
- exports.checkServerFeatureSupport = require_server.checkServerFeatureSupport;
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./logger-LSBxlt7a.js";
3
- import "./fetch-CXZI9RRr.js";
4
- import "./accounts-DVINui-2.js";
5
- import "./cloud-CZ-q9Ier.js";
6
- import { a as openAuthBrowser, i as checkServerRunning, n as BrowserBehaviorNames, o as openBrowser, r as checkServerFeatureSupport, t as BrowserBehavior } from "./server-BJ4m4f1D.js";
7
-
8
- export { checkServerFeatureSupport };
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./logger-LSBxlt7a.js";
3
- import "./types-CXQduE9o.js";
4
- import "./tables-DMegD0Xf.js";
5
- import { n as getTraceStore, t as TraceStore } from "./store-s3SftUwF.js";
6
-
7
- export { getTraceStore };
@@ -1,6 +0,0 @@
1
- import "./logger-CG1uZPbQ.js";
2
- import "./types-C5hEkb-x.js";
3
- import "./tables-DfTsNN7X.js";
4
- import { n as getTraceStore, t as TraceStore } from "./store-DJNsD1iC.js";
5
-
6
- export { getTraceStore };
@@ -1,6 +0,0 @@
1
- require('./logger-B7sBeGa0.cjs');
2
- require('./types-DWNf48sT.cjs');
3
- require('./tables-BKTmd6u7.cjs');
4
- const require_store = require('./store-D7CgQzAR.cjs');
5
-
6
- exports.getTraceStore = require_store.getTraceStore;
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./logger-LSBxlt7a.js";
3
- import "./fetch-CXZI9RRr.js";
4
- import "./accounts-DVINui-2.js";
5
- import "./cloud-CZ-q9Ier.js";
6
- import { n as TelemetryEventSchema, r as telemetry_default, t as Telemetry } from "./telemetry--WAdAfVi.js";
7
-
8
- export { telemetry_default as default };
@@ -1,6 +0,0 @@
1
- require('./logger-B7sBeGa0.cjs');
2
- require('./fetch-BmbD-v1L.cjs');
3
- require('./accounts-Fl2J3_Fu.cjs');
4
- const require_telemetry = require('./telemetry-DQgVBCAb.cjs');
5
-
6
- exports.default = require_telemetry.telemetry_default;
@@ -1,6 +0,0 @@
1
- import "./logger-CG1uZPbQ.js";
2
- import "./fetch-D3OHf-lV.js";
3
- import "./accounts-CPDRAMND.js";
4
- import { n as telemetry_default, t as Telemetry } from "./telemetry-BedSm-bZ.js";
5
-
6
- export { telemetry_default as default };
@@ -1,6 +0,0 @@
1
- require('./logger-B7sBeGa0.cjs');
2
- require('./esm-Ct-Joyue.cjs');
3
- require('./pythonUtils-DBbuI3QJ.cjs');
4
- const require_transform = require('./transform-B1Hi5lWS.cjs');
5
-
6
- exports.TransformInputType = require_transform.TransformInputType;
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-DHDDz29n.js";
3
- import "./logger-LSBxlt7a.js";
4
- import "./esm-B9dPm_BF.js";
5
- import "./pythonUtils-CcT5LH1M.js";
6
- import { n as transform, t as TransformInputType } from "./transform-BEgStbHK.js";
7
-
8
- export { TransformInputType };
@@ -1,7 +0,0 @@
1
- import "./chunk-FhC4c-0y.js";
2
- import "./logger-CG1uZPbQ.js";
3
- import "./esm-D2pZ87fL.js";
4
- import "./pythonUtils-hZ8LeQLv.js";
5
- import { n as transform, t as TransformInputType } from "./transform-CYDILYDe.js";
6
-
7
- export { TransformInputType };
@@ -1,35 +0,0 @@
1
- //#region src/providers/transformersAvailability.ts
2
- /**
3
- * Utility for checking @huggingface/transformers availability.
4
- *
5
- * This module provides lazy checking of the optional @huggingface/transformers dependency
6
- * with caching to avoid repeated import attempts.
7
- */
8
- let transformersAvailableCache = null;
9
- /**
10
- * Checks if the @huggingface/transformers library is available.
11
- * Result is cached after first call for efficiency.
12
- */
13
- async function isTransformersAvailable() {
14
- if (transformersAvailableCache !== null) return transformersAvailableCache;
15
- try {
16
- await import("@huggingface/transformers");
17
- transformersAvailableCache = true;
18
- } catch {
19
- transformersAvailableCache = false;
20
- }
21
- return transformersAvailableCache;
22
- }
23
- /**
24
- * Validates that the @huggingface/transformers library is installed.
25
- * Throws an error with installation instructions if not available.
26
- *
27
- * Call this early (before pipeline creation) to fail fast with a helpful message.
28
- */
29
- async function validateTransformersDependency(checkTransformers = isTransformersAvailable) {
30
- if (!await checkTransformers()) throw new Error("@huggingface/transformers is required for local embedding and text generation providers.\nInstall it with: npm install @huggingface/transformers");
31
- }
32
-
33
- //#endregion
34
- export { validateTransformersDependency };
35
- //# sourceMappingURL=transformersAvailability-eJooj0gX.js.map