promptfoo 0.120.26 → 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 (366) hide show
  1. package/README.md +1 -1
  2. package/dist/drizzle/0023_wooden_mandrill.sql +2 -0
  3. package/dist/drizzle/meta/0023_snapshot.json +1496 -0
  4. package/dist/drizzle/meta/_journal.json +7 -0
  5. package/dist/src/{ListApp-D3DG0F8h.js → ListApp-Du7YVwj5.js} +2 -4
  6. package/dist/src/accounts-BgNJDBE6.js +206 -0
  7. package/dist/src/{accounts-BzEY8H3v.cjs → accounts-Bx-x3bmW.cjs} +99 -80
  8. package/dist/src/{accounts-DHHiXsy6.js → accounts-CMqkzrVf.js} +61 -36
  9. package/dist/src/{accounts-R3gfCR_g.js → accounts-xrUGFA6n.js} +60 -35
  10. package/dist/src/{agentic-utils-D6_gzOUF.js → agentic-utils-BKIN5PKu.js} +9 -10
  11. package/dist/src/{agents-CwM7re15.cjs → agents-B0f4HICh.cjs} +37 -40
  12. package/dist/src/{agents-Cnph5GLD.js → agents-C-dDThPK.js} +37 -37
  13. package/dist/src/{agents-C7BiinFI.cjs → agents-CErsqg5U.cjs} +19 -27
  14. package/dist/src/{agents-v4cW_ZgC.js → agents-CVIn-Utx.js} +19 -22
  15. package/dist/src/{agents-GiUianme.js → agents-CXknwsFX.js} +37 -40
  16. package/dist/src/{agents-DETIQHqF.js → agents-DeH4Gu94.js} +21 -28
  17. package/dist/src/{agents-DYIT-hQy.js → agents-Dy2YpZpa.js} +38 -41
  18. package/dist/src/{agents-Cao4i7AX.js → agents-aF4-T121.js} +19 -30
  19. package/dist/src/{aimlapi-DMF6v_vb.js → aimlapi-BAGZDo5G.js} +16 -18
  20. package/dist/src/{aimlapi-CMJpKK-B.js → aimlapi-BNfTBexL.js} +15 -17
  21. package/dist/src/{aimlapi-DtSf1ykJ.js → aimlapi-DHRKlBEA.js} +15 -4
  22. package/dist/src/{aimlapi-DoGLcQW_.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
  23. package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
  24. package/dist/src/app/assets/index-NCn4eVBv.css +1 -0
  25. package/dist/src/app/assets/{vendor-charts-CYyo8R8v.js → vendor-charts-CCl15Imd.js} +1 -1
  26. package/dist/src/app/assets/{vendor-markdown-DSmzq4Jh.js → vendor-markdown-0tekx3KX.js} +1 -1
  27. package/dist/src/app/index.html +4 -34
  28. package/dist/src/{audio-DUH4q0Xq.js → audio-BRODU0UK.js} +7 -9
  29. package/dist/src/{audio-BWjyvHn9.cjs → audio-BWeaWovU.cjs} +6 -7
  30. package/dist/src/{audio-U580w8jM.js → audio-CHQ4r-RV.js} +6 -5
  31. package/dist/src/{audio-BrJBFN2b.js → audio-tf_NBjlC.js} +6 -8
  32. package/dist/src/base-B0tcrnq_.js +193 -0
  33. package/dist/src/base-B4QJRyFS.js +194 -0
  34. package/dist/src/base-DBtwl2FR.cjs +222 -0
  35. package/dist/src/base-fEDN28WM.js +193 -0
  36. package/dist/src/{blobs-kt8v3UyH.js → blobs-BAU-dXan.js} +9 -12
  37. package/dist/src/{blobs-C9J2mVgo.js → blobs-Bpg5rH6i.js} +9 -12
  38. package/dist/src/{blobs-673H0jCl.cjs → blobs-DvS-O6be.cjs} +34 -37
  39. package/dist/src/blobs-qTYm-1PY.js +236 -0
  40. package/dist/src/{cache-BLLayYEN.js → cache-8XhNqPKW.js} +64 -67
  41. package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
  42. package/dist/src/cache-BwsMSda7.js +6 -0
  43. package/dist/src/{cache-mIszOnuz.js → cache-CG0SlR1d.js} +64 -66
  44. package/dist/src/{cache-7xULbvt3.cjs → cache-COish3-W.cjs} +114 -117
  45. package/dist/src/cache-D3eqDYGU.js +739 -0
  46. package/dist/src/{chat-Fl6TZJRS.cjs → chat-2K608PeQ.cjs} +20 -21
  47. package/dist/src/chat-BKm79wib.js +764 -0
  48. package/dist/src/{chat-XPN9YHhr.js → chat-CM_kyI8B.js} +20 -9
  49. package/dist/src/{chat-DIywASPG.js → chat-CRWNNq73.js} +49 -49
  50. package/dist/src/{chat-C8Ei4f87.js → chat-CznLWr_D.js} +49 -49
  51. package/dist/src/{chat-CgyGj2hC.js → chat-DHMH-N64.js} +20 -22
  52. package/dist/src/{chat-C4zqjObh.cjs → chat-DaqekjFr.cjs} +69 -69
  53. package/dist/src/{chat-Cpz3O-Xl.js → chat-DxysjBvt.js} +21 -23
  54. package/dist/src/{chatkit-Dpxrq4eD.js → chatkit-65VXf5SR.js} +58 -58
  55. package/dist/src/{chatkit-DIrJX8xk.js → chatkit-Be-Q-a9F.js} +58 -60
  56. package/dist/src/{chatkit-DEls11hE.js → chatkit-BxFvW8KY.js} +58 -60
  57. package/dist/src/{chatkit-e25Ziu17.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
  58. package/dist/src/chunk-DEq-mXcV.js +15 -0
  59. package/dist/src/chunk-DRamLcfz.js +16 -0
  60. package/dist/src/{claude-agent-sdk-6-xTaLwM.js → claude-agent-sdk-BLTu0WBO.js} +45 -31
  61. package/dist/src/{claude-agent-sdk-BzxF6NIJ.cjs → claude-agent-sdk-CJH22shf.cjs} +44 -29
  62. package/dist/src/{claude-agent-sdk-CmkTnKGH.js → claude-agent-sdk-D6_k9FKA.js} +45 -33
  63. package/dist/src/{claude-agent-sdk-rXCBLK_o.js → claude-agent-sdk-Dy5lT-Tx.js} +46 -21
  64. package/dist/src/{cloud-BMbRVJFw.js → cloud-Bc9526yV.js} +32 -12
  65. package/dist/src/cloud-DmE0EwsY.js +4 -0
  66. package/dist/src/{cloudflare-ai-CUg4BTcj.js → cloudflare-ai-C9r2sRhw.js} +16 -18
  67. package/dist/src/{cloudflare-ai-Z9X219gp.js → cloudflare-ai-CWWJCRim.js} +16 -4
  68. package/dist/src/{cloudflare-ai-BAQ0u_dg.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
  69. package/dist/src/{cloudflare-ai-CobxMTR4.js → cloudflare-ai-ICsOuD-z.js} +17 -19
  70. package/dist/src/{cloudflare-gateway-C0sgfr_z.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
  71. package/dist/src/{cloudflare-gateway-_itGuXry.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
  72. package/dist/src/{cloudflare-gateway-D2_yi-Fh.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
  73. package/dist/src/{cloudflare-gateway-Djf3F3_H.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
  74. package/dist/src/{codex-sdk-ibXwdglL.js → codex-sdk-C6UMlxwV.js} +49 -32
  75. package/dist/src/{codex-sdk-BASDNkIl.js → codex-sdk-DUwKWezN.js} +49 -30
  76. package/dist/src/{codex-sdk-dSnGdgIp.js → codex-sdk-GGAw0qbD.js} +49 -32
  77. package/dist/src/{codex-sdk-wTEpMM_X.cjs → codex-sdk-fAO0c3yA.cjs} +49 -32
  78. package/dist/src/{cometapi-B01btbfb.js → cometapi-BasUi7-_.js} +17 -19
  79. package/dist/src/{cometapi-DHUAH6nK.js → cometapi-Bbjp5V4x.js} +16 -4
  80. package/dist/src/{cometapi-ChAaRjg5.js → cometapi-DkXrKi5z.js} +21 -24
  81. package/dist/src/{cometapi-JbvOJSCO.cjs → cometapi-vY6aDZgo.cjs} +21 -22
  82. package/dist/src/{completion-D9_MDlnd.js → completion-6Mx_iXxK.js} +11 -13
  83. package/dist/src/{completion-BBJ6zmG3.js → completion-C5rtR_9P.js} +11 -13
  84. package/dist/src/{completion-DDyL3Cb2.cjs → completion-CDOouNzq.cjs} +21 -23
  85. package/dist/src/completion-C_P3ypkJ.js +120 -0
  86. package/dist/src/createHash-CTQmL3G2.js +15 -0
  87. package/dist/src/createHash-CfZSc0b4.cjs +27 -0
  88. package/dist/src/createHash-Da8fMwqB.js +16 -0
  89. package/dist/src/createHash-DmPQkvBh.js +15 -0
  90. package/dist/src/{docker-JAAubMw3.js → docker-5KcG-_86.js} +18 -20
  91. package/dist/src/{docker-Ckw-j7Rr.cjs → docker-BwsKwxFs.cjs} +18 -19
  92. package/dist/src/{docker-vnOg96gi.js → docker-CZnqU1XV.js} +18 -7
  93. package/dist/src/{docker-BuButc4D.js → docker-DzxyDPIj.js} +19 -21
  94. package/dist/src/entrypoint.js +2 -3
  95. package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
  96. package/dist/src/{esm-CYhseqj4.js → esm-C03C-mv3.js} +17 -20
  97. package/dist/src/{esm-rDtG_2rg.js → esm-CaIwzWR5.js} +18 -21
  98. package/dist/src/esm-Cd1AjG1D.js +379 -0
  99. package/dist/src/{esm-BQkx5roy.cjs → esm-CnNt7sI4.cjs} +47 -49
  100. package/dist/src/eval-17JizQIv.js +15 -0
  101. package/dist/src/{eval-CYrbG57o.js → eval-DmFyWU7i.js} +49 -55
  102. package/dist/src/{evalResult-COsVttMA.js → evalResult-CDQiuUuf.js} +16 -12
  103. package/dist/src/{evalResult-6JaUIStC.js → evalResult-CTG2AHOS.js} +10 -11
  104. package/dist/src/evalResult-Cqj8pldJ.js +12 -0
  105. package/dist/src/{evalResult-DlRfu_Rq.cjs → evalResult-Dap2CekP.cjs} +20 -21
  106. package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
  107. package/dist/src/evalResult-Hftn-S_i.js +10 -0
  108. package/dist/src/evaluator-B2CFNt-P.js +36 -0
  109. package/dist/src/{evaluator-3EJCMTs0.js → evaluator-DPFRbFIL.js} +210 -232
  110. package/dist/src/{extractor-LSYjrhK0.js → extractor-CFG6bcWJ.js} +23 -38
  111. package/dist/src/{extractor-DbhlYEeo.cjs → extractor-DX36oYEv.cjs} +37 -64
  112. package/dist/src/{extractor-Hs7la_19.js → extractor-M67RUtg6.js} +23 -38
  113. package/dist/src/extractor-YMU_Gvt8.js +374 -0
  114. package/dist/src/fetch-4M3YRaqL.js +780 -0
  115. package/dist/src/{fetch-18MuNu9i.js → fetch-60Gzydls.js} +60 -46
  116. package/dist/src/{fetch-SRsE6Ctl.js → fetch-BMv0O527.js} +41 -35
  117. package/dist/src/{fetch-ZMn_oemb.cjs → fetch-BxUk8odA.cjs} +268 -279
  118. package/dist/src/fetch-KV5kNASw.js +5 -0
  119. package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
  120. package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
  121. package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
  122. package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
  123. package/dist/src/{formatDuration-Doo0xq-z.js → formatDuration-DgBVMN65.js} +2 -2
  124. package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
  125. package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
  126. package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
  127. package/dist/src/{genaiTracer-CQlpZkrp.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
  128. package/dist/src/graders-Bu0H9nXi.js +32 -0
  129. package/dist/src/{graders-BaMCwIKp.js → graders-CHO8EPM4.js} +385 -417
  130. package/dist/src/graders-Cfhkvx-e.js +34 -0
  131. package/dist/src/{graders-QsALpIdy.js → graders-CpdqD9PI.js} +385 -417
  132. package/dist/src/graders-DClJVpGP.cjs +32 -0
  133. package/dist/src/{graders-DzUUnUjC.cjs → graders-DOXycdlG.cjs} +721 -753
  134. package/dist/src/graders-DcnJsrMO.js +32 -0
  135. package/dist/src/graders-R9rYUM0d.js +13466 -0
  136. package/dist/src/{image-BiEVdpdP.js → image-BmEZqVmk.js} +57 -18
  137. package/dist/src/{image-mhAGP07h.js → image-CBBVXWuT.js} +57 -18
  138. package/dist/src/{image-D10zEe1f.cjs → image-CDLQOcqT.cjs} +6 -7
  139. package/dist/src/{image-COCWy5dX.js → image-DJEvKveK.js} +6 -5
  140. package/dist/src/{image-C3BjJUAU.cjs → image-DTedmQPg.cjs} +77 -32
  141. package/dist/src/{image-DB4sHxdJ.js → image-gvmivTEe.js} +7 -9
  142. package/dist/src/image-pAX56tPG.js +257 -0
  143. package/dist/src/{image-BXt_7u0v.js → image-tL5hIOFh.js} +6 -8
  144. package/dist/src/index.cjs +696 -693
  145. package/dist/src/index.d.cts +113 -10
  146. package/dist/src/index.d.ts +113 -6
  147. package/dist/src/index.js +657 -658
  148. package/dist/src/{interactiveCheck-DU-MAhp5.js → interactiveCheck-BgLZUIt3.js} +7 -8
  149. package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
  150. package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
  151. package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
  152. package/dist/src/invariant-vgHWClmd.js +25 -0
  153. package/dist/src/{knowledgeBase-DotRBzUE.js → knowledgeBase-CLJybhnF.js} +19 -34
  154. package/dist/src/{knowledgeBase-XJQ0Qyez.js → knowledgeBase-CoU-UQBg.js} +17 -41
  155. package/dist/src/{knowledgeBase-CMvMlLZR.js → knowledgeBase-DjWPVqSb.js} +17 -43
  156. package/dist/src/{knowledgeBase-Bnb00xKs.cjs → knowledgeBase-wkxuRFhA.cjs} +17 -40
  157. package/dist/src/{litellm-CHrRmPAe.js → litellm-B9Hysuri.js} +16 -18
  158. package/dist/src/{litellm-CrLJrPIm.js → litellm-CTfa0hqi.js} +15 -17
  159. package/dist/src/{litellm-BrnZhMcL.cjs → litellm-NYpQ8RQu.cjs} +15 -16
  160. package/dist/src/{litellm-BECdjOTx.js → litellm-ePxtr9F1.js} +15 -4
  161. package/dist/src/{logger-w8Ozp0Td.js → logger-CT3IKMKA.js} +24 -41
  162. package/dist/src/{logger-BdZ-IqBc.cjs → logger-Cp1GPUjj.cjs} +166 -192
  163. package/dist/src/logger-DLcq4dWf.js +713 -0
  164. package/dist/src/{logger-BotXmWKW.js → logger-KkObSCzq.js} +27 -43
  165. package/dist/src/{luma-ray-C0RkI3lt.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
  166. package/dist/src/{luma-ray-C-w6EsJm.js → luma-ray-BE2mOt6N.js} +20 -13
  167. package/dist/src/{luma-ray-BOeX-h0M.js → luma-ray-BW9IRGIc.js} +22 -21
  168. package/dist/src/{luma-ray-DgKLS0BF.js → luma-ray-Cm1KZBhs.js} +20 -23
  169. package/dist/src/main.js +1985 -2055
  170. package/dist/src/{messages-DXV3Qh8_.cjs → messages-1JrJs91T.cjs} +35 -34
  171. package/dist/src/{messages-D61tPFQo.js → messages-1x9atZmP.js} +25 -24
  172. package/dist/src/{messages-CDZYGNlS.js → messages-BLbWdsyt.js} +25 -24
  173. package/dist/src/messages-D8EA0oDc.js +240 -0
  174. package/dist/src/{meteor-P2rUE-Uz.js → meteor-44VjEACX.js} +3 -4
  175. package/dist/src/{meteor-SLNTgmXm.js → meteor-D-SotUw9.js} +3 -4
  176. package/dist/src/{meteor-odmwVbyG.cjs → meteor-DLZZ3osF.cjs} +3 -4
  177. package/dist/src/{meteor-Dj8cTkU_.js → meteor-DUiCJRC-.js} +3 -4
  178. package/dist/src/modelslab-C1OLRmVX.js +166 -0
  179. package/dist/src/modelslab-CqXBy3U8.js +168 -0
  180. package/dist/src/modelslab-DcOSFwKh.cjs +166 -0
  181. package/dist/src/modelslab-X5-4LroM.js +166 -0
  182. package/dist/src/{nova-reel-C2LFfVTf.js → nova-reel-BgS1ZWuK.js} +20 -13
  183. package/dist/src/{nova-reel-DtCjbD5O.js → nova-reel-D2ZkOSyr.js} +22 -21
  184. package/dist/src/{nova-reel-D9FXq3Mt.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
  185. package/dist/src/{nova-reel-Bk5npr2q.js → nova-reel-DihqLeol.js} +20 -23
  186. package/dist/src/{nova-sonic-BoRSY_U6.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
  187. package/dist/src/{nova-sonic-D_qERM-K.js → nova-sonic-DezhVUYT.js} +30 -26
  188. package/dist/src/{nova-sonic-CgaWLDM1.js → nova-sonic-P-CdUMlV.js} +30 -31
  189. package/dist/src/{nova-sonic-BXRfQyF-.js → nova-sonic-Q3BOJeig.js} +31 -32
  190. package/dist/src/{openai-Bigwjgo1.cjs → openai-Cuif0GEt.cjs} +8 -9
  191. package/dist/src/{openai-Dz3surb_.js → openai-DElQ-fPX.js} +3 -4
  192. package/dist/src/{openai-CT5fwbve.js → openai-DhbB7eWK.js} +3 -4
  193. package/dist/src/openai-j-sE2O7r.js +44 -0
  194. package/dist/src/{openclaw-dHLcXUWZ.js → openclaw-BiSZPL7J.js} +20 -14
  195. package/dist/src/{openclaw-CpPrXwf6.js → openclaw-Bv1DINsX.js} +20 -27
  196. package/dist/src/{openclaw-B6XY2kUf.js → openclaw-D1D_ej1z.js} +21 -28
  197. package/dist/src/{openclaw-DDSfq5fp.cjs → openclaw-DAfWQn-o.cjs} +33 -39
  198. package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
  199. package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
  200. package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
  201. package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
  202. package/dist/src/{otlpReceiver-DmRb0NBj.js → otlpReceiver--AIRW_S4.js} +53 -51
  203. package/dist/src/{otlpReceiver-Dg817agV.js → otlpReceiver-Bn5wGB1v.js} +53 -55
  204. package/dist/src/{otlpReceiver-B6Xo4KZM.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
  205. package/dist/src/{otlpReceiver-BO0rbDzh.js → otlpReceiver-g3ByGaXs.js} +53 -55
  206. package/dist/src/{providerRegistry-Xf0qdqGQ.js → providerRegistry-B0RUOLI_.js} +7 -8
  207. package/dist/src/{providerRegistry-wCWd7sKQ.js → providerRegistry-CD8MEar9.js} +7 -8
  208. package/dist/src/{providerRegistry-lc7a7utN.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
  209. package/dist/src/providerRegistry-DM8rZYol.js +45 -0
  210. package/dist/src/providers-B3HvufyI.js +33246 -0
  211. package/dist/src/{providers-BiNq_Iyc.js → providers-BKRJTjBz.js} +1743 -1795
  212. package/dist/src/providers-C1rOSHiR.js +32 -0
  213. package/dist/src/{providers-BlEhY5mi.js → providers-CFLy1_ji.js} +1750 -1802
  214. package/dist/src/{providers-BNKVY53V.cjs → providers-CFu-TZl-.cjs} +2111 -2163
  215. package/dist/src/providers-CxmDwEFf.cjs +31 -0
  216. package/dist/src/providers-Dodakqr0.js +30 -0
  217. package/dist/src/providers-GIQ2TcsA.js +30 -0
  218. package/dist/src/{pythonUtils-r1uBuA0n.js → pythonUtils-C3py6GC1.js} +18 -19
  219. package/dist/src/{pythonUtils-DZ6EbdY4.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
  220. package/dist/src/{pythonUtils-vMlk9Qp5.js → pythonUtils-D5nxkQ0P.js} +18 -19
  221. package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
  222. package/dist/src/quiverai-C2jVwbH1.js +213 -0
  223. package/dist/src/quiverai-CI6gYJVI.js +213 -0
  224. package/dist/src/quiverai-CLkWkyZc.cjs +213 -0
  225. package/dist/src/quiverai-MHSxbmmZ.js +215 -0
  226. package/dist/src/{render-CAZvKKkB.js → render-Drod8m7K.js} +4 -5
  227. package/dist/src/{responses-DLLjADw5.js → responses-BKqJmhhc.js} +34 -27
  228. package/dist/src/{responses-TsdODUpm.js → responses-CGw0DCzh.js} +34 -27
  229. package/dist/src/responses-jxdehPkC.js +660 -0
  230. package/dist/src/{responses-zOtKtnY_.cjs → responses-tD4Bd4dc.cjs} +49 -42
  231. package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
  232. package/dist/src/{rubyUtils-Cs35SDYa.js → rubyUtils-BUVePouc.js} +27 -20
  233. package/dist/src/rubyUtils-BcuGX77l.js +222 -0
  234. package/dist/src/{rubyUtils-BtjlqyXt.js → rubyUtils-Boc4HZzX.js} +18 -19
  235. package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
  236. package/dist/src/{rubyUtils-DCVaJ3mc.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
  237. package/dist/src/{sagemaker-Du4LIR97.js → sagemaker-BK4Zb993.js} +75 -70
  238. package/dist/src/{sagemaker-CLdUAv5z.js → sagemaker-BfiWTmvn.js} +77 -77
  239. package/dist/src/{sagemaker-DwNnEVYt.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
  240. package/dist/src/{sagemaker-BcgLu0U4.js → sagemaker-D2Q1c-sD.js} +75 -79
  241. package/dist/src/{scanner-Dyw21Wg_.js → scanner-J8CA3LsV.js} +149 -122
  242. package/dist/src/server/index.js +5620 -67302
  243. package/dist/src/{server-CgUQ25qW.cjs → server-B0PPuDw-.cjs} +57 -67
  244. package/dist/src/server-B1vi21hA.js +7 -0
  245. package/dist/src/{server-CbMTRQkg.js → server-BC7XJFgr.js} +19 -24
  246. package/dist/src/server-Cm9Kai_h.cjs +5 -0
  247. package/dist/src/{server-DWmZLfCy.js → server-DbFphssR.js} +26 -29
  248. package/dist/src/server-OAs3nBRT.js +229 -0
  249. package/dist/src/{signal-Bl32q42d.js → signal-BOTbd53Z.js} +9 -11
  250. package/dist/src/{slack-BtMkB6xP.cjs → slack-BmVAVGaK.cjs} +7 -8
  251. package/dist/src/{slack-OZYxoVON.js → slack-DCUPTzS2.js} +8 -8
  252. package/dist/src/{slack-DPqj42Ts.js → slack-DOdy_kyv.js} +7 -8
  253. package/dist/src/{slack-BfdBx2tO.js → slack-DXMKtA-f.js} +7 -9
  254. package/dist/src/store-BNmZ1KAz.cjs +5 -0
  255. package/dist/src/{store-BqwfFEyF.cjs → store-BSc-TF2w.cjs} +44 -45
  256. package/dist/src/store-BltJg2cd.js +6 -0
  257. package/dist/src/{store-D4gdn9ih.js → store-D1tv90v3.js} +34 -35
  258. package/dist/src/{store-2ocbYY9D.js → store-DQLEjuEO.js} +40 -36
  259. package/dist/src/store-Ub2vaGJ1.js +228 -0
  260. package/dist/src/{tables-D-NSwNIb.js → tables-5EvT_Bwn.js} +23 -23
  261. package/dist/src/{tables-B9E1kRp-.cjs → tables-C7K-XKWp.cjs} +93 -93
  262. package/dist/src/{tables-C7TT2XVn.js → tables-D36WTqKX.js} +25 -25
  263. package/dist/src/tables-xKANLRBD.js +288 -0
  264. package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
  265. package/dist/src/{telemetry-DZ_7PaVq.js → telemetry-C15ziL8u.js} +17 -14
  266. package/dist/src/{telemetry-BXyVqyAg.js → telemetry-C2YDkUQH.js} +11 -13
  267. package/dist/src/{telemetry-D0_yFdtU.cjs → telemetry-CbrnxHp_.cjs} +21 -24
  268. package/dist/src/telemetry-D4W5hboe.js +7 -0
  269. package/dist/src/telemetry-DMb2Mpfm.js +171 -0
  270. package/dist/src/{text-Dm78AVGG.js → text-B_UCRPp2.js} +2 -2
  271. package/dist/src/{text-DF2hMKdg.cjs → text-CW1cyrwj.cjs} +12 -13
  272. package/dist/src/{text-DgMr_tiM.js → text-Db-Wt2u2.js} +2 -2
  273. package/dist/src/text-TIv0QYnd.js +22 -0
  274. package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
  275. package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
  276. package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
  277. package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
  278. package/dist/src/{transcription-FNIz3YOe.cjs → transcription-CL78qbOU.cjs} +14 -15
  279. package/dist/src/{transcription-C-M81iDA.js → transcription-DAtxHhAM.js} +14 -7
  280. package/dist/src/{transcription-CYuY5sFO.js → transcription-LNZTNUUL.js} +14 -16
  281. package/dist/src/{transcription-Ch7S-LWw.js → transcription-QHh3AH6Z.js} +15 -17
  282. package/dist/src/{transform-CoP2bJ7P.js → transform-Cgi24fJ7.js} +94 -66
  283. package/dist/src/{transform-Kd6u-oNm.cjs → transform-CzK1Q0zl.cjs} +24 -26
  284. package/dist/src/{transform-D8dILpfZ.js → transform-DECvGmzp.js} +15 -13
  285. package/dist/src/{transform-DMaxQwDx.js → transform-DGLazrMm.js} +94 -66
  286. package/dist/src/transform-DGxXocjk.js +1506 -0
  287. package/dist/src/{transform-ivxEY4f7.cjs → transform-DOcQeLld.cjs} +234 -206
  288. package/dist/src/transform-DTGDnAzW.js +6 -0
  289. package/dist/src/{transform-CqTFr7KR.js → transform-DilY9wbS.js} +10 -12
  290. package/dist/src/transform-aa6tmVpZ.js +216 -0
  291. package/dist/src/transform-m3qNw4KP.cjs +5 -0
  292. package/dist/src/{transformersAvailability-DEU2naS1.js → transformersAvailability-CEVM2GNQ.js} +2 -2
  293. package/dist/src/{transformersAvailability-Bkep3ka7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
  294. package/dist/src/{transformersAvailability-DwmezkVe.js → transformersAvailability-D6c6ROpT.js} +2 -2
  295. package/dist/src/{types-t52w-XsS.js → types-CH3Ge2sE.js} +103 -92
  296. package/dist/src/{types-DMVjYLpx.js → types-CLKiCBW3.js} +98 -91
  297. package/dist/src/types-CN_TZ2GJ.js +3260 -0
  298. package/dist/src/{types-BIfttHrT.cjs → types-LJ0r3wbR.cjs} +573 -566
  299. package/dist/src/util-5cB-L7U3.js +1430 -0
  300. package/dist/src/util-6-GqIvzS.js +599 -0
  301. package/dist/src/{util-vjscpUzy.js → util-B7T3SiBS.js} +5 -6
  302. package/dist/src/{util-Cl0zfT3V.js → util-Betm42rL.js} +44 -17
  303. package/dist/src/{util-CUEt0Vum.js → util-C-PPYSMq.js} +44 -17
  304. package/dist/src/{util-DkFTvieG.cjs → util-CchiqXh_.cjs} +35 -36
  305. package/dist/src/{util-mJ58qbbw.js → util-DaWTWKBK.js} +5 -6
  306. package/dist/src/{util-C08Kns6-.cjs → util-Db0a0AFH.cjs} +89 -62
  307. package/dist/src/{util-DiCePfDu.js → util-Dlz_Wvgm.js} +102 -53
  308. package/dist/src/{util-BSh4a_Q8.js → util-YT5HPZaS.js} +102 -53
  309. package/dist/src/{util-DUYOvxAy.cjs → util-Yz-1aEhW.cjs} +274 -219
  310. package/dist/src/util-ZZH-3QZz.js +293 -0
  311. package/dist/src/{utils-DFaZa6Rf.cjs → utils-Cz9qXqII.cjs} +32 -35
  312. package/dist/src/{utils-CVzb4YiI.js → utils-XiOAgly5.js} +4 -7
  313. package/dist/src/utils-dLokC-eR.js +94 -0
  314. package/dist/src/{utils-JaY9veb5.js → utils-f2-Moju7.js} +4 -7
  315. package/dist/tsconfig.tsbuildinfo +1 -1
  316. package/package.json +59 -53
  317. package/dist/src/app/assets/index-BOgkICuY.css +0 -1
  318. package/dist/src/app/assets/index-CSgqn_Vd.js +0 -428
  319. package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
  320. package/dist/src/base-BaXmtXYp.js +0 -107
  321. package/dist/src/base-Dtp8b4_N.js +0 -106
  322. package/dist/src/base-f71xxWai.cjs +0 -111
  323. package/dist/src/cache-BUPcq0Ad.js +0 -6
  324. package/dist/src/cache-CVfRb-HD.cjs +0 -6
  325. package/dist/src/cache-O4EuX2JV.js +0 -8
  326. package/dist/src/chunk-DHDDz29n.js +0 -22
  327. package/dist/src/chunk-FhC4c-0y.js +0 -21
  328. package/dist/src/cloud-CZ4hytdm.js +0 -5
  329. package/dist/src/eval-CKHWqG9f.js +0 -16
  330. package/dist/src/evalResult-CxTP-LMm.cjs +0 -11
  331. package/dist/src/evalResult-CzLURDcP.js +0 -13
  332. package/dist/src/evalResult-DyttNQ_G.js +0 -11
  333. package/dist/src/evaluator-0PvfeBYh.js +0 -38
  334. package/dist/src/fetch-Bi0o-fdp.js +0 -4
  335. package/dist/src/fetch-CMptBDVg.cjs +0 -4
  336. package/dist/src/fetch-DAZkv3gV.js +0 -6
  337. package/dist/src/graders-BCytzXrb.js +0 -34
  338. package/dist/src/graders-CGZQShfJ.cjs +0 -33
  339. package/dist/src/graders-spkuVC-E.js +0 -36
  340. package/dist/src/opencode-sdk-CImWVqy9.js +0 -382
  341. package/dist/src/opencode-sdk-CuCztr4P.js +0 -380
  342. package/dist/src/opencode-sdk-DhcfRbBH.js +0 -376
  343. package/dist/src/opencode-sdk-mqF-Oj3f.cjs +0 -383
  344. package/dist/src/providers-BMZZmPBJ.cjs +0 -32
  345. package/dist/src/providers-CQQrNaJk.js +0 -32
  346. package/dist/src/providers-Ck8HyrC-.js +0 -34
  347. package/dist/src/quiverai-BNfIwKCO.cjs +0 -54
  348. package/dist/src/quiverai-BQigKdIH.js +0 -57
  349. package/dist/src/quiverai-Bfy2WnE2.js +0 -55
  350. package/dist/src/quiverai-CedIP0PJ.js +0 -43
  351. package/dist/src/rubyUtils-D7--T12C.js +0 -6
  352. package/dist/src/rubyUtils-DRRiMFV2.js +0 -5
  353. package/dist/src/rubyUtils-vb8OYFC-.cjs +0 -5
  354. package/dist/src/server-BUbS0Qfh.js +0 -6
  355. package/dist/src/server-XpGXFHkS.cjs +0 -6
  356. package/dist/src/server-gfOx5Zrk.js +0 -8
  357. package/dist/src/store-5u2yriTV.js +0 -7
  358. package/dist/src/store-D_lq_8oQ.js +0 -6
  359. package/dist/src/store-m5KT6Ly7.cjs +0 -6
  360. package/dist/src/telemetry-5RHFoCJh.js +0 -6
  361. package/dist/src/telemetry-Do8wMnA-.js +0 -8
  362. package/dist/src/telemetry-LojxPoFq.cjs +0 -6
  363. package/dist/src/transform-8eGmaH-7.js +0 -7
  364. package/dist/src/transform-BRVvWaG4.cjs +0 -6
  365. package/dist/src/transform-GybT0X0u.js +0 -8
  366. package/dist/src/transformersAvailability-DkAWaK5B.js +0 -35
@@ -0,0 +1,193 @@
1
+ import { b as getEnvString, i as logger, y as getEnvInt } from "./logger-CT3IKMKA.js";
2
+ import { t as telemetry } from "./telemetry-C15ziL8u.js";
3
+ //#region src/providers/bedrock/util.ts
4
+ const REQUEST_TIMEOUT_MS = 3e5;
5
+ function hasProxyEnv() {
6
+ return Boolean(getEnvString("HTTP_PROXY") || getEnvString("HTTPS_PROXY"));
7
+ }
8
+ /**
9
+ * Creates a NodeHttpHandler (HTTP/1.1) for Bedrock SDK clients.
10
+ *
11
+ * The @aws-sdk/client-bedrock-runtime package defaults to HTTP/2, which causes
12
+ * "http2 request did not get a response" errors in many environments (see #7756).
13
+ * This function forces HTTP/1.1 via NodeHttpHandler.
14
+ *
15
+ * For @aws-sdk/client-bedrock-agent-runtime (which already defaults to HTTP/1.1),
16
+ * this is only needed when proxy or API key authentication is required.
17
+ */
18
+ async function createBedrockRequestHandler(options) {
19
+ const hasProxy = hasProxyEnv();
20
+ try {
21
+ const { NodeHttpHandler } = await import("@smithy/node-http-handler");
22
+ let proxyAgent;
23
+ if (hasProxy) {
24
+ const { ProxyAgent } = await import("proxy-agent");
25
+ proxyAgent = new ProxyAgent();
26
+ }
27
+ const handler = new NodeHttpHandler({
28
+ ...proxyAgent ? { httpsAgent: proxyAgent } : {},
29
+ requestTimeout: REQUEST_TIMEOUT_MS
30
+ });
31
+ if (options?.apiKey) {
32
+ const originalHandle = handler.handle.bind(handler);
33
+ handler.handle = async (request, handlerOptions) => {
34
+ request.headers = {
35
+ ...request.headers,
36
+ Authorization: `Bearer ${options.apiKey}`
37
+ };
38
+ return originalHandle(request, handlerOptions);
39
+ };
40
+ }
41
+ return handler;
42
+ } catch {
43
+ const reason = options?.apiKey ? "API key authentication requires the @smithy/node-http-handler package" : hasProxy ? "Proxy configuration requires the @smithy/node-http-handler package" : "Bedrock provider requires the @smithy/node-http-handler package";
44
+ throw new Error(`${reason}. Please install it in your project or globally.`);
45
+ }
46
+ }
47
+ function novaOutputFromMessage(response) {
48
+ if (response.output?.message?.content.some((block) => block.toolUse?.toolUseId)) return response.output?.message?.content.map((block) => {
49
+ if (block.text) return null;
50
+ return JSON.stringify(block.toolUse);
51
+ }).filter((block) => block).join("\n\n");
52
+ return response.output?.message?.content.map((block) => {
53
+ return block.text;
54
+ }).join("\n\n");
55
+ }
56
+ function novaParseMessages(messages) {
57
+ try {
58
+ const parsed = JSON.parse(messages);
59
+ if (Array.isArray(parsed)) {
60
+ const systemMessage = parsed.find((msg) => msg.role === "system");
61
+ return {
62
+ extractedMessages: parsed.filter((msg) => msg.role !== "system").map((msg) => ({
63
+ role: msg.role,
64
+ content: Array.isArray(msg.content) ? msg.content : [{ text: msg.content }]
65
+ })),
66
+ system: systemMessage ? Array.isArray(systemMessage.content) ? systemMessage.content : [{ text: systemMessage.content }] : void 0
67
+ };
68
+ }
69
+ } catch {}
70
+ const lines = messages.split("\n").map((line) => line.trim()).filter((line) => line);
71
+ let system;
72
+ const extractedMessages = [];
73
+ let currentRole = null;
74
+ let currentContent = [];
75
+ const pushMessage = () => {
76
+ if (currentRole && currentContent.length > 0) {
77
+ extractedMessages.push({
78
+ role: currentRole,
79
+ content: [{ text: currentContent.join("\n") }]
80
+ });
81
+ currentContent = [];
82
+ }
83
+ };
84
+ for (const line of lines) if (line.startsWith("system:")) system = [{ text: line.slice(7).trim() }];
85
+ else if (line.startsWith("user:") || line.startsWith("assistant:")) {
86
+ pushMessage();
87
+ currentRole = line.startsWith("user:") ? "user" : "assistant";
88
+ currentContent.push(line.slice(line.indexOf(":") + 1).trim());
89
+ } else if (currentRole) currentContent.push(line);
90
+ else {
91
+ currentRole = "user";
92
+ currentContent.push(line);
93
+ }
94
+ pushMessage();
95
+ if (extractedMessages.length === 0 && !system) extractedMessages.push({
96
+ role: "user",
97
+ content: [{ text: messages.trim() }]
98
+ });
99
+ return {
100
+ system,
101
+ extractedMessages
102
+ };
103
+ }
104
+ //#endregion
105
+ //#region src/providers/bedrock/base.ts
106
+ /**
107
+ * AWS Bedrock Base Provider
108
+ *
109
+ * Contains the abstract base class for all Bedrock providers.
110
+ * This is extracted to avoid circular dependency issues.
111
+ */
112
+ var AwsBedrockGenericProvider = class {
113
+ modelName;
114
+ env;
115
+ bedrock;
116
+ config;
117
+ constructor(modelName, options = {}) {
118
+ const { config, id, env } = options;
119
+ this.env = env;
120
+ this.modelName = modelName;
121
+ this.config = config || {};
122
+ this.id = id ? () => id : this.id;
123
+ if (this.config.guardrailIdentifier) telemetry.record("feature_used", {
124
+ feature: "guardrail",
125
+ provider: "bedrock"
126
+ });
127
+ }
128
+ id() {
129
+ return `bedrock:${this.modelName}`;
130
+ }
131
+ toString() {
132
+ return `[Amazon Bedrock Provider ${this.modelName}]`;
133
+ }
134
+ requiresApiKey() {
135
+ return false;
136
+ }
137
+ getApiKey() {
138
+ return this.config.apiKey || getEnvString("AWS_BEARER_TOKEN_BEDROCK");
139
+ }
140
+ async getCredentials() {
141
+ if (this.config.accessKeyId && this.config.secretAccessKey) {
142
+ logger.debug(`Using credentials from config file`);
143
+ return {
144
+ accessKeyId: this.config.accessKeyId,
145
+ secretAccessKey: this.config.secretAccessKey,
146
+ sessionToken: this.config.sessionToken
147
+ };
148
+ }
149
+ if (this.getApiKey()) {
150
+ logger.debug(`Using Bedrock API key authentication`);
151
+ return;
152
+ }
153
+ if (this.config.profile) {
154
+ logger.debug(`Using SSO profile: ${this.config.profile}`);
155
+ try {
156
+ const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
157
+ return fromSSO({ profile: this.config.profile });
158
+ } catch (err) {
159
+ logger.error(`Error loading @aws-sdk/credential-provider-sso: ${err}`);
160
+ throw new Error("The @aws-sdk/credential-provider-sso package is required for SSO profiles. Please install it: npm install @aws-sdk/credential-provider-sso");
161
+ }
162
+ }
163
+ logger.debug(`No explicit credentials in config, falling back to AWS default chain`);
164
+ }
165
+ async getBedrockInstance() {
166
+ if (!this.bedrock) {
167
+ const handler = await createBedrockRequestHandler({ apiKey: this.getApiKey() });
168
+ try {
169
+ const { BedrockRuntime } = await import("@aws-sdk/client-bedrock-runtime");
170
+ const credentials = await this.getCredentials();
171
+ this.bedrock = new BedrockRuntime({
172
+ region: this.getRegion(),
173
+ maxAttempts: getEnvInt("AWS_BEDROCK_MAX_RETRIES", 10),
174
+ retryMode: "adaptive",
175
+ requestHandler: handler,
176
+ ...credentials ? { credentials } : {},
177
+ ...this.config.endpoint ? { endpoint: this.config.endpoint } : {}
178
+ });
179
+ } catch (err) {
180
+ logger.error(`Error creating BedrockRuntime: ${err}`);
181
+ throw new Error("The @aws-sdk/client-bedrock-runtime package is required as a peer dependency. Please install it in your project or globally.");
182
+ }
183
+ }
184
+ return this.bedrock;
185
+ }
186
+ getRegion() {
187
+ return this.config?.region || this.env?.AWS_BEDROCK_REGION || getEnvString("AWS_BEDROCK_REGION") || "us-east-1";
188
+ }
189
+ };
190
+ //#endregion
191
+ export { novaParseMessages as a, novaOutputFromMessage as i, createBedrockRequestHandler as n, hasProxyEnv as r, AwsBedrockGenericProvider as t };
192
+
193
+ //# sourceMappingURL=base-B0tcrnq_.js.map
@@ -0,0 +1,194 @@
1
+ #!/usr/bin/env node
2
+ import { C as getEnvString, S as getEnvInt, o as logger } from "./logger-KkObSCzq.js";
3
+ import { r as telemetry } from "./telemetry-C2YDkUQH.js";
4
+ //#region src/providers/bedrock/util.ts
5
+ const REQUEST_TIMEOUT_MS = 3e5;
6
+ function hasProxyEnv() {
7
+ return Boolean(getEnvString("HTTP_PROXY") || getEnvString("HTTPS_PROXY"));
8
+ }
9
+ /**
10
+ * Creates a NodeHttpHandler (HTTP/1.1) for Bedrock SDK clients.
11
+ *
12
+ * The @aws-sdk/client-bedrock-runtime package defaults to HTTP/2, which causes
13
+ * "http2 request did not get a response" errors in many environments (see #7756).
14
+ * This function forces HTTP/1.1 via NodeHttpHandler.
15
+ *
16
+ * For @aws-sdk/client-bedrock-agent-runtime (which already defaults to HTTP/1.1),
17
+ * this is only needed when proxy or API key authentication is required.
18
+ */
19
+ async function createBedrockRequestHandler(options) {
20
+ const hasProxy = hasProxyEnv();
21
+ try {
22
+ const { NodeHttpHandler } = await import("@smithy/node-http-handler");
23
+ let proxyAgent;
24
+ if (hasProxy) {
25
+ const { ProxyAgent } = await import("proxy-agent");
26
+ proxyAgent = new ProxyAgent();
27
+ }
28
+ const handler = new NodeHttpHandler({
29
+ ...proxyAgent ? { httpsAgent: proxyAgent } : {},
30
+ requestTimeout: REQUEST_TIMEOUT_MS
31
+ });
32
+ if (options?.apiKey) {
33
+ const originalHandle = handler.handle.bind(handler);
34
+ handler.handle = async (request, handlerOptions) => {
35
+ request.headers = {
36
+ ...request.headers,
37
+ Authorization: `Bearer ${options.apiKey}`
38
+ };
39
+ return originalHandle(request, handlerOptions);
40
+ };
41
+ }
42
+ return handler;
43
+ } catch {
44
+ const reason = options?.apiKey ? "API key authentication requires the @smithy/node-http-handler package" : hasProxy ? "Proxy configuration requires the @smithy/node-http-handler package" : "Bedrock provider requires the @smithy/node-http-handler package";
45
+ throw new Error(`${reason}. Please install it in your project or globally.`);
46
+ }
47
+ }
48
+ function novaOutputFromMessage(response) {
49
+ if (response.output?.message?.content.some((block) => block.toolUse?.toolUseId)) return response.output?.message?.content.map((block) => {
50
+ if (block.text) return null;
51
+ return JSON.stringify(block.toolUse);
52
+ }).filter((block) => block).join("\n\n");
53
+ return response.output?.message?.content.map((block) => {
54
+ return block.text;
55
+ }).join("\n\n");
56
+ }
57
+ function novaParseMessages(messages) {
58
+ try {
59
+ const parsed = JSON.parse(messages);
60
+ if (Array.isArray(parsed)) {
61
+ const systemMessage = parsed.find((msg) => msg.role === "system");
62
+ return {
63
+ extractedMessages: parsed.filter((msg) => msg.role !== "system").map((msg) => ({
64
+ role: msg.role,
65
+ content: Array.isArray(msg.content) ? msg.content : [{ text: msg.content }]
66
+ })),
67
+ system: systemMessage ? Array.isArray(systemMessage.content) ? systemMessage.content : [{ text: systemMessage.content }] : void 0
68
+ };
69
+ }
70
+ } catch {}
71
+ const lines = messages.split("\n").map((line) => line.trim()).filter((line) => line);
72
+ let system;
73
+ const extractedMessages = [];
74
+ let currentRole = null;
75
+ let currentContent = [];
76
+ const pushMessage = () => {
77
+ if (currentRole && currentContent.length > 0) {
78
+ extractedMessages.push({
79
+ role: currentRole,
80
+ content: [{ text: currentContent.join("\n") }]
81
+ });
82
+ currentContent = [];
83
+ }
84
+ };
85
+ for (const line of lines) if (line.startsWith("system:")) system = [{ text: line.slice(7).trim() }];
86
+ else if (line.startsWith("user:") || line.startsWith("assistant:")) {
87
+ pushMessage();
88
+ currentRole = line.startsWith("user:") ? "user" : "assistant";
89
+ currentContent.push(line.slice(line.indexOf(":") + 1).trim());
90
+ } else if (currentRole) currentContent.push(line);
91
+ else {
92
+ currentRole = "user";
93
+ currentContent.push(line);
94
+ }
95
+ pushMessage();
96
+ if (extractedMessages.length === 0 && !system) extractedMessages.push({
97
+ role: "user",
98
+ content: [{ text: messages.trim() }]
99
+ });
100
+ return {
101
+ system,
102
+ extractedMessages
103
+ };
104
+ }
105
+ //#endregion
106
+ //#region src/providers/bedrock/base.ts
107
+ /**
108
+ * AWS Bedrock Base Provider
109
+ *
110
+ * Contains the abstract base class for all Bedrock providers.
111
+ * This is extracted to avoid circular dependency issues.
112
+ */
113
+ var AwsBedrockGenericProvider = class {
114
+ modelName;
115
+ env;
116
+ bedrock;
117
+ config;
118
+ constructor(modelName, options = {}) {
119
+ const { config, id, env } = options;
120
+ this.env = env;
121
+ this.modelName = modelName;
122
+ this.config = config || {};
123
+ this.id = id ? () => id : this.id;
124
+ if (this.config.guardrailIdentifier) telemetry.record("feature_used", {
125
+ feature: "guardrail",
126
+ provider: "bedrock"
127
+ });
128
+ }
129
+ id() {
130
+ return `bedrock:${this.modelName}`;
131
+ }
132
+ toString() {
133
+ return `[Amazon Bedrock Provider ${this.modelName}]`;
134
+ }
135
+ requiresApiKey() {
136
+ return false;
137
+ }
138
+ getApiKey() {
139
+ return this.config.apiKey || getEnvString("AWS_BEARER_TOKEN_BEDROCK");
140
+ }
141
+ async getCredentials() {
142
+ if (this.config.accessKeyId && this.config.secretAccessKey) {
143
+ logger.debug(`Using credentials from config file`);
144
+ return {
145
+ accessKeyId: this.config.accessKeyId,
146
+ secretAccessKey: this.config.secretAccessKey,
147
+ sessionToken: this.config.sessionToken
148
+ };
149
+ }
150
+ if (this.getApiKey()) {
151
+ logger.debug(`Using Bedrock API key authentication`);
152
+ return;
153
+ }
154
+ if (this.config.profile) {
155
+ logger.debug(`Using SSO profile: ${this.config.profile}`);
156
+ try {
157
+ const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
158
+ return fromSSO({ profile: this.config.profile });
159
+ } catch (err) {
160
+ logger.error(`Error loading @aws-sdk/credential-provider-sso: ${err}`);
161
+ throw new Error("The @aws-sdk/credential-provider-sso package is required for SSO profiles. Please install it: npm install @aws-sdk/credential-provider-sso");
162
+ }
163
+ }
164
+ logger.debug(`No explicit credentials in config, falling back to AWS default chain`);
165
+ }
166
+ async getBedrockInstance() {
167
+ if (!this.bedrock) {
168
+ const handler = await createBedrockRequestHandler({ apiKey: this.getApiKey() });
169
+ try {
170
+ const { BedrockRuntime } = await import("@aws-sdk/client-bedrock-runtime");
171
+ const credentials = await this.getCredentials();
172
+ this.bedrock = new BedrockRuntime({
173
+ region: this.getRegion(),
174
+ maxAttempts: getEnvInt("AWS_BEDROCK_MAX_RETRIES", 10),
175
+ retryMode: "adaptive",
176
+ requestHandler: handler,
177
+ ...credentials ? { credentials } : {},
178
+ ...this.config.endpoint ? { endpoint: this.config.endpoint } : {}
179
+ });
180
+ } catch (err) {
181
+ logger.error(`Error creating BedrockRuntime: ${err}`);
182
+ throw new Error("The @aws-sdk/client-bedrock-runtime package is required as a peer dependency. Please install it in your project or globally.");
183
+ }
184
+ }
185
+ return this.bedrock;
186
+ }
187
+ getRegion() {
188
+ return this.config?.region || this.env?.AWS_BEDROCK_REGION || getEnvString("AWS_BEDROCK_REGION") || "us-east-1";
189
+ }
190
+ };
191
+ //#endregion
192
+ export { novaParseMessages as a, novaOutputFromMessage as i, createBedrockRequestHandler as n, hasProxyEnv as r, AwsBedrockGenericProvider as t };
193
+
194
+ //# sourceMappingURL=base-B4QJRyFS.js.map
@@ -0,0 +1,222 @@
1
+ const require_logger = require("./logger-Cp1GPUjj.cjs");
2
+ const require_telemetry = require("./telemetry-CbrnxHp_.cjs");
3
+ //#region src/providers/bedrock/util.ts
4
+ const REQUEST_TIMEOUT_MS = 3e5;
5
+ function hasProxyEnv() {
6
+ return Boolean(require_logger.getEnvString("HTTP_PROXY") || require_logger.getEnvString("HTTPS_PROXY"));
7
+ }
8
+ /**
9
+ * Creates a NodeHttpHandler (HTTP/1.1) for Bedrock SDK clients.
10
+ *
11
+ * The @aws-sdk/client-bedrock-runtime package defaults to HTTP/2, which causes
12
+ * "http2 request did not get a response" errors in many environments (see #7756).
13
+ * This function forces HTTP/1.1 via NodeHttpHandler.
14
+ *
15
+ * For @aws-sdk/client-bedrock-agent-runtime (which already defaults to HTTP/1.1),
16
+ * this is only needed when proxy or API key authentication is required.
17
+ */
18
+ async function createBedrockRequestHandler(options) {
19
+ const hasProxy = hasProxyEnv();
20
+ try {
21
+ const { NodeHttpHandler } = await import("@smithy/node-http-handler");
22
+ let proxyAgent;
23
+ if (hasProxy) {
24
+ const { ProxyAgent } = await import("proxy-agent");
25
+ proxyAgent = new ProxyAgent();
26
+ }
27
+ const handler = new NodeHttpHandler({
28
+ ...proxyAgent ? { httpsAgent: proxyAgent } : {},
29
+ requestTimeout: REQUEST_TIMEOUT_MS
30
+ });
31
+ if (options?.apiKey) {
32
+ const originalHandle = handler.handle.bind(handler);
33
+ handler.handle = async (request, handlerOptions) => {
34
+ request.headers = {
35
+ ...request.headers,
36
+ Authorization: `Bearer ${options.apiKey}`
37
+ };
38
+ return originalHandle(request, handlerOptions);
39
+ };
40
+ }
41
+ return handler;
42
+ } catch {
43
+ const reason = options?.apiKey ? "API key authentication requires the @smithy/node-http-handler package" : hasProxy ? "Proxy configuration requires the @smithy/node-http-handler package" : "Bedrock provider requires the @smithy/node-http-handler package";
44
+ throw new Error(`${reason}. Please install it in your project or globally.`);
45
+ }
46
+ }
47
+ function novaOutputFromMessage(response) {
48
+ if (response.output?.message?.content.some((block) => block.toolUse?.toolUseId)) return response.output?.message?.content.map((block) => {
49
+ if (block.text) return null;
50
+ return JSON.stringify(block.toolUse);
51
+ }).filter((block) => block).join("\n\n");
52
+ return response.output?.message?.content.map((block) => {
53
+ return block.text;
54
+ }).join("\n\n");
55
+ }
56
+ function novaParseMessages(messages) {
57
+ try {
58
+ const parsed = JSON.parse(messages);
59
+ if (Array.isArray(parsed)) {
60
+ const systemMessage = parsed.find((msg) => msg.role === "system");
61
+ return {
62
+ extractedMessages: parsed.filter((msg) => msg.role !== "system").map((msg) => ({
63
+ role: msg.role,
64
+ content: Array.isArray(msg.content) ? msg.content : [{ text: msg.content }]
65
+ })),
66
+ system: systemMessage ? Array.isArray(systemMessage.content) ? systemMessage.content : [{ text: systemMessage.content }] : void 0
67
+ };
68
+ }
69
+ } catch {}
70
+ const lines = messages.split("\n").map((line) => line.trim()).filter((line) => line);
71
+ let system;
72
+ const extractedMessages = [];
73
+ let currentRole = null;
74
+ let currentContent = [];
75
+ const pushMessage = () => {
76
+ if (currentRole && currentContent.length > 0) {
77
+ extractedMessages.push({
78
+ role: currentRole,
79
+ content: [{ text: currentContent.join("\n") }]
80
+ });
81
+ currentContent = [];
82
+ }
83
+ };
84
+ for (const line of lines) if (line.startsWith("system:")) system = [{ text: line.slice(7).trim() }];
85
+ else if (line.startsWith("user:") || line.startsWith("assistant:")) {
86
+ pushMessage();
87
+ currentRole = line.startsWith("user:") ? "user" : "assistant";
88
+ currentContent.push(line.slice(line.indexOf(":") + 1).trim());
89
+ } else if (currentRole) currentContent.push(line);
90
+ else {
91
+ currentRole = "user";
92
+ currentContent.push(line);
93
+ }
94
+ pushMessage();
95
+ if (extractedMessages.length === 0 && !system) extractedMessages.push({
96
+ role: "user",
97
+ content: [{ text: messages.trim() }]
98
+ });
99
+ return {
100
+ system,
101
+ extractedMessages
102
+ };
103
+ }
104
+ //#endregion
105
+ //#region src/providers/bedrock/base.ts
106
+ /**
107
+ * AWS Bedrock Base Provider
108
+ *
109
+ * Contains the abstract base class for all Bedrock providers.
110
+ * This is extracted to avoid circular dependency issues.
111
+ */
112
+ var AwsBedrockGenericProvider = class {
113
+ modelName;
114
+ env;
115
+ bedrock;
116
+ config;
117
+ constructor(modelName, options = {}) {
118
+ const { config, id, env } = options;
119
+ this.env = env;
120
+ this.modelName = modelName;
121
+ this.config = config || {};
122
+ this.id = id ? () => id : this.id;
123
+ if (this.config.guardrailIdentifier) require_telemetry.telemetry.record("feature_used", {
124
+ feature: "guardrail",
125
+ provider: "bedrock"
126
+ });
127
+ }
128
+ id() {
129
+ return `bedrock:${this.modelName}`;
130
+ }
131
+ toString() {
132
+ return `[Amazon Bedrock Provider ${this.modelName}]`;
133
+ }
134
+ requiresApiKey() {
135
+ return false;
136
+ }
137
+ getApiKey() {
138
+ return this.config.apiKey || require_logger.getEnvString("AWS_BEARER_TOKEN_BEDROCK");
139
+ }
140
+ async getCredentials() {
141
+ if (this.config.accessKeyId && this.config.secretAccessKey) {
142
+ require_logger.logger.debug(`Using credentials from config file`);
143
+ return {
144
+ accessKeyId: this.config.accessKeyId,
145
+ secretAccessKey: this.config.secretAccessKey,
146
+ sessionToken: this.config.sessionToken
147
+ };
148
+ }
149
+ if (this.getApiKey()) {
150
+ require_logger.logger.debug(`Using Bedrock API key authentication`);
151
+ return;
152
+ }
153
+ if (this.config.profile) {
154
+ require_logger.logger.debug(`Using SSO profile: ${this.config.profile}`);
155
+ try {
156
+ const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
157
+ return fromSSO({ profile: this.config.profile });
158
+ } catch (err) {
159
+ require_logger.logger.error(`Error loading @aws-sdk/credential-provider-sso: ${err}`);
160
+ throw new Error("The @aws-sdk/credential-provider-sso package is required for SSO profiles. Please install it: npm install @aws-sdk/credential-provider-sso");
161
+ }
162
+ }
163
+ require_logger.logger.debug(`No explicit credentials in config, falling back to AWS default chain`);
164
+ }
165
+ async getBedrockInstance() {
166
+ if (!this.bedrock) {
167
+ const handler = await createBedrockRequestHandler({ apiKey: this.getApiKey() });
168
+ try {
169
+ const { BedrockRuntime } = await import("@aws-sdk/client-bedrock-runtime");
170
+ const credentials = await this.getCredentials();
171
+ this.bedrock = new BedrockRuntime({
172
+ region: this.getRegion(),
173
+ maxAttempts: require_logger.getEnvInt("AWS_BEDROCK_MAX_RETRIES", 10),
174
+ retryMode: "adaptive",
175
+ requestHandler: handler,
176
+ ...credentials ? { credentials } : {},
177
+ ...this.config.endpoint ? { endpoint: this.config.endpoint } : {}
178
+ });
179
+ } catch (err) {
180
+ require_logger.logger.error(`Error creating BedrockRuntime: ${err}`);
181
+ throw new Error("The @aws-sdk/client-bedrock-runtime package is required as a peer dependency. Please install it in your project or globally.");
182
+ }
183
+ }
184
+ return this.bedrock;
185
+ }
186
+ getRegion() {
187
+ return this.config?.region || this.env?.AWS_BEDROCK_REGION || require_logger.getEnvString("AWS_BEDROCK_REGION") || "us-east-1";
188
+ }
189
+ };
190
+ //#endregion
191
+ Object.defineProperty(exports, "AwsBedrockGenericProvider", {
192
+ enumerable: true,
193
+ get: function() {
194
+ return AwsBedrockGenericProvider;
195
+ }
196
+ });
197
+ Object.defineProperty(exports, "createBedrockRequestHandler", {
198
+ enumerable: true,
199
+ get: function() {
200
+ return createBedrockRequestHandler;
201
+ }
202
+ });
203
+ Object.defineProperty(exports, "hasProxyEnv", {
204
+ enumerable: true,
205
+ get: function() {
206
+ return hasProxyEnv;
207
+ }
208
+ });
209
+ Object.defineProperty(exports, "novaOutputFromMessage", {
210
+ enumerable: true,
211
+ get: function() {
212
+ return novaOutputFromMessage;
213
+ }
214
+ });
215
+ Object.defineProperty(exports, "novaParseMessages", {
216
+ enumerable: true,
217
+ get: function() {
218
+ return novaParseMessages;
219
+ }
220
+ });
221
+
222
+ //# sourceMappingURL=base-DBtwl2FR.cjs.map