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.
- package/README.md +1 -1
- package/dist/drizzle/0023_wooden_mandrill.sql +2 -0
- package/dist/drizzle/meta/0023_snapshot.json +1496 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/src/{ListApp-D3DG0F8h.js → ListApp-Du7YVwj5.js} +2 -4
- package/dist/src/accounts-BgNJDBE6.js +206 -0
- package/dist/src/{accounts-BzEY8H3v.cjs → accounts-Bx-x3bmW.cjs} +99 -80
- package/dist/src/{accounts-DHHiXsy6.js → accounts-CMqkzrVf.js} +61 -36
- package/dist/src/{accounts-R3gfCR_g.js → accounts-xrUGFA6n.js} +60 -35
- package/dist/src/{agentic-utils-D6_gzOUF.js → agentic-utils-BKIN5PKu.js} +9 -10
- package/dist/src/{agents-CwM7re15.cjs → agents-B0f4HICh.cjs} +37 -40
- package/dist/src/{agents-Cnph5GLD.js → agents-C-dDThPK.js} +37 -37
- package/dist/src/{agents-C7BiinFI.cjs → agents-CErsqg5U.cjs} +19 -27
- package/dist/src/{agents-v4cW_ZgC.js → agents-CVIn-Utx.js} +19 -22
- package/dist/src/{agents-GiUianme.js → agents-CXknwsFX.js} +37 -40
- package/dist/src/{agents-DETIQHqF.js → agents-DeH4Gu94.js} +21 -28
- package/dist/src/{agents-DYIT-hQy.js → agents-Dy2YpZpa.js} +38 -41
- package/dist/src/{agents-Cao4i7AX.js → agents-aF4-T121.js} +19 -30
- package/dist/src/{aimlapi-DMF6v_vb.js → aimlapi-BAGZDo5G.js} +16 -18
- package/dist/src/{aimlapi-CMJpKK-B.js → aimlapi-BNfTBexL.js} +15 -17
- package/dist/src/{aimlapi-DtSf1ykJ.js → aimlapi-DHRKlBEA.js} +15 -4
- package/dist/src/{aimlapi-DoGLcQW_.cjs → aimlapi-tg0Gkcvr.cjs} +15 -16
- package/dist/src/app/assets/index-BFCZg7hQ.js +439 -0
- package/dist/src/app/assets/index-NCn4eVBv.css +1 -0
- package/dist/src/app/assets/{vendor-charts-CYyo8R8v.js → vendor-charts-CCl15Imd.js} +1 -1
- package/dist/src/app/assets/{vendor-markdown-DSmzq4Jh.js → vendor-markdown-0tekx3KX.js} +1 -1
- package/dist/src/app/index.html +4 -34
- package/dist/src/{audio-DUH4q0Xq.js → audio-BRODU0UK.js} +7 -9
- package/dist/src/{audio-BWjyvHn9.cjs → audio-BWeaWovU.cjs} +6 -7
- package/dist/src/{audio-U580w8jM.js → audio-CHQ4r-RV.js} +6 -5
- package/dist/src/{audio-BrJBFN2b.js → audio-tf_NBjlC.js} +6 -8
- package/dist/src/base-B0tcrnq_.js +193 -0
- package/dist/src/base-B4QJRyFS.js +194 -0
- package/dist/src/base-DBtwl2FR.cjs +222 -0
- package/dist/src/base-fEDN28WM.js +193 -0
- package/dist/src/{blobs-kt8v3UyH.js → blobs-BAU-dXan.js} +9 -12
- package/dist/src/{blobs-C9J2mVgo.js → blobs-Bpg5rH6i.js} +9 -12
- package/dist/src/{blobs-673H0jCl.cjs → blobs-DvS-O6be.cjs} +34 -37
- package/dist/src/blobs-qTYm-1PY.js +236 -0
- package/dist/src/{cache-BLLayYEN.js → cache-8XhNqPKW.js} +64 -67
- package/dist/src/cache-Bbn1Nyrd.cjs +5 -0
- package/dist/src/cache-BwsMSda7.js +6 -0
- package/dist/src/{cache-mIszOnuz.js → cache-CG0SlR1d.js} +64 -66
- package/dist/src/{cache-7xULbvt3.cjs → cache-COish3-W.cjs} +114 -117
- package/dist/src/cache-D3eqDYGU.js +739 -0
- package/dist/src/{chat-Fl6TZJRS.cjs → chat-2K608PeQ.cjs} +20 -21
- package/dist/src/chat-BKm79wib.js +764 -0
- package/dist/src/{chat-XPN9YHhr.js → chat-CM_kyI8B.js} +20 -9
- package/dist/src/{chat-DIywASPG.js → chat-CRWNNq73.js} +49 -49
- package/dist/src/{chat-C8Ei4f87.js → chat-CznLWr_D.js} +49 -49
- package/dist/src/{chat-CgyGj2hC.js → chat-DHMH-N64.js} +20 -22
- package/dist/src/{chat-C4zqjObh.cjs → chat-DaqekjFr.cjs} +69 -69
- package/dist/src/{chat-Cpz3O-Xl.js → chat-DxysjBvt.js} +21 -23
- package/dist/src/{chatkit-Dpxrq4eD.js → chatkit-65VXf5SR.js} +58 -58
- package/dist/src/{chatkit-DIrJX8xk.js → chatkit-Be-Q-a9F.js} +58 -60
- package/dist/src/{chatkit-DEls11hE.js → chatkit-BxFvW8KY.js} +58 -60
- package/dist/src/{chatkit-e25Ziu17.cjs → chatkit-DKyPi1Gs.cjs} +58 -60
- package/dist/src/chunk-DEq-mXcV.js +15 -0
- package/dist/src/chunk-DRamLcfz.js +16 -0
- package/dist/src/{claude-agent-sdk-6-xTaLwM.js → claude-agent-sdk-BLTu0WBO.js} +45 -31
- package/dist/src/{claude-agent-sdk-BzxF6NIJ.cjs → claude-agent-sdk-CJH22shf.cjs} +44 -29
- package/dist/src/{claude-agent-sdk-CmkTnKGH.js → claude-agent-sdk-D6_k9FKA.js} +45 -33
- package/dist/src/{claude-agent-sdk-rXCBLK_o.js → claude-agent-sdk-Dy5lT-Tx.js} +46 -21
- package/dist/src/{cloud-BMbRVJFw.js → cloud-Bc9526yV.js} +32 -12
- package/dist/src/cloud-DmE0EwsY.js +4 -0
- package/dist/src/{cloudflare-ai-CUg4BTcj.js → cloudflare-ai-C9r2sRhw.js} +16 -18
- package/dist/src/{cloudflare-ai-Z9X219gp.js → cloudflare-ai-CWWJCRim.js} +16 -4
- package/dist/src/{cloudflare-ai-BAQ0u_dg.cjs → cloudflare-ai-ClWSdor4.cjs} +16 -17
- package/dist/src/{cloudflare-ai-CobxMTR4.js → cloudflare-ai-ICsOuD-z.js} +17 -19
- package/dist/src/{cloudflare-gateway-C0sgfr_z.cjs → cloudflare-gateway-C2_-KG5o.cjs} +21 -22
- package/dist/src/{cloudflare-gateway-_itGuXry.js → cloudflare-gateway-D6O7AlYb.js} +23 -23
- package/dist/src/{cloudflare-gateway-D2_yi-Fh.js → cloudflare-gateway-D6xFc5pa.js} +21 -25
- package/dist/src/{cloudflare-gateway-Djf3F3_H.js → cloudflare-gateway-pXGHxJ47.js} +26 -14
- package/dist/src/{codex-sdk-ibXwdglL.js → codex-sdk-C6UMlxwV.js} +49 -32
- package/dist/src/{codex-sdk-BASDNkIl.js → codex-sdk-DUwKWezN.js} +49 -30
- package/dist/src/{codex-sdk-dSnGdgIp.js → codex-sdk-GGAw0qbD.js} +49 -32
- package/dist/src/{codex-sdk-wTEpMM_X.cjs → codex-sdk-fAO0c3yA.cjs} +49 -32
- package/dist/src/{cometapi-B01btbfb.js → cometapi-BasUi7-_.js} +17 -19
- package/dist/src/{cometapi-DHUAH6nK.js → cometapi-Bbjp5V4x.js} +16 -4
- package/dist/src/{cometapi-ChAaRjg5.js → cometapi-DkXrKi5z.js} +21 -24
- package/dist/src/{cometapi-JbvOJSCO.cjs → cometapi-vY6aDZgo.cjs} +21 -22
- package/dist/src/{completion-D9_MDlnd.js → completion-6Mx_iXxK.js} +11 -13
- package/dist/src/{completion-BBJ6zmG3.js → completion-C5rtR_9P.js} +11 -13
- package/dist/src/{completion-DDyL3Cb2.cjs → completion-CDOouNzq.cjs} +21 -23
- package/dist/src/completion-C_P3ypkJ.js +120 -0
- package/dist/src/createHash-CTQmL3G2.js +15 -0
- package/dist/src/createHash-CfZSc0b4.cjs +27 -0
- package/dist/src/createHash-Da8fMwqB.js +16 -0
- package/dist/src/createHash-DmPQkvBh.js +15 -0
- package/dist/src/{docker-JAAubMw3.js → docker-5KcG-_86.js} +18 -20
- package/dist/src/{docker-Ckw-j7Rr.cjs → docker-BwsKwxFs.cjs} +18 -19
- package/dist/src/{docker-vnOg96gi.js → docker-CZnqU1XV.js} +18 -7
- package/dist/src/{docker-BuButc4D.js → docker-DzxyDPIj.js} +19 -21
- package/dist/src/entrypoint.js +2 -3
- package/dist/src/{errors-DnGCbnx8.js → errors-P6ll7XSJ.js} +2 -2
- package/dist/src/{esm-CYhseqj4.js → esm-C03C-mv3.js} +17 -20
- package/dist/src/{esm-rDtG_2rg.js → esm-CaIwzWR5.js} +18 -21
- package/dist/src/esm-Cd1AjG1D.js +379 -0
- package/dist/src/{esm-BQkx5roy.cjs → esm-CnNt7sI4.cjs} +47 -49
- package/dist/src/eval-17JizQIv.js +15 -0
- package/dist/src/{eval-CYrbG57o.js → eval-DmFyWU7i.js} +49 -55
- package/dist/src/{evalResult-COsVttMA.js → evalResult-CDQiuUuf.js} +16 -12
- package/dist/src/{evalResult-6JaUIStC.js → evalResult-CTG2AHOS.js} +10 -11
- package/dist/src/evalResult-Cqj8pldJ.js +12 -0
- package/dist/src/{evalResult-DlRfu_Rq.cjs → evalResult-Dap2CekP.cjs} +20 -21
- package/dist/src/evalResult-DvcJAWJU.cjs +10 -0
- package/dist/src/evalResult-Hftn-S_i.js +10 -0
- package/dist/src/evaluator-B2CFNt-P.js +36 -0
- package/dist/src/{evaluator-3EJCMTs0.js → evaluator-DPFRbFIL.js} +210 -232
- package/dist/src/{extractor-LSYjrhK0.js → extractor-CFG6bcWJ.js} +23 -38
- package/dist/src/{extractor-DbhlYEeo.cjs → extractor-DX36oYEv.cjs} +37 -64
- package/dist/src/{extractor-Hs7la_19.js → extractor-M67RUtg6.js} +23 -38
- package/dist/src/extractor-YMU_Gvt8.js +374 -0
- package/dist/src/fetch-4M3YRaqL.js +780 -0
- package/dist/src/{fetch-18MuNu9i.js → fetch-60Gzydls.js} +60 -46
- package/dist/src/{fetch-SRsE6Ctl.js → fetch-BMv0O527.js} +41 -35
- package/dist/src/{fetch-ZMn_oemb.cjs → fetch-BxUk8odA.cjs} +268 -279
- package/dist/src/fetch-KV5kNASw.js +5 -0
- package/dist/src/{fileExtensions-ePDqouxn.js → fileExtensions-DnqA1y9x.js} +2 -2
- package/dist/src/{fileExtensions-BpuMmaFL.js → fileExtensions-Ds-foDzt.js} +2 -2
- package/dist/src/fileExtensions-LcDYkU4v.js +85 -0
- package/dist/src/{fileExtensions-DkJYkWUy.cjs → fileExtensions-bYh77CN8.cjs} +27 -28
- package/dist/src/{formatDuration-Doo0xq-z.js → formatDuration-DgBVMN65.js} +2 -2
- package/dist/src/{genaiTracer-Ce19n68P.js → genaiTracer-70Z8BIuV.js} +2 -3
- package/dist/src/{genaiTracer-CqNnnXrE.js → genaiTracer-C1rxGO8Q.js} +2 -3
- package/dist/src/genaiTracer-D3fD9dNV.js +256 -0
- package/dist/src/{genaiTracer-CQlpZkrp.cjs → genaiTracer-DN4dQywX.cjs} +13 -14
- package/dist/src/graders-Bu0H9nXi.js +32 -0
- package/dist/src/{graders-BaMCwIKp.js → graders-CHO8EPM4.js} +385 -417
- package/dist/src/graders-Cfhkvx-e.js +34 -0
- package/dist/src/{graders-QsALpIdy.js → graders-CpdqD9PI.js} +385 -417
- package/dist/src/graders-DClJVpGP.cjs +32 -0
- package/dist/src/{graders-DzUUnUjC.cjs → graders-DOXycdlG.cjs} +721 -753
- package/dist/src/graders-DcnJsrMO.js +32 -0
- package/dist/src/graders-R9rYUM0d.js +13466 -0
- package/dist/src/{image-BiEVdpdP.js → image-BmEZqVmk.js} +57 -18
- package/dist/src/{image-mhAGP07h.js → image-CBBVXWuT.js} +57 -18
- package/dist/src/{image-D10zEe1f.cjs → image-CDLQOcqT.cjs} +6 -7
- package/dist/src/{image-COCWy5dX.js → image-DJEvKveK.js} +6 -5
- package/dist/src/{image-C3BjJUAU.cjs → image-DTedmQPg.cjs} +77 -32
- package/dist/src/{image-DB4sHxdJ.js → image-gvmivTEe.js} +7 -9
- package/dist/src/image-pAX56tPG.js +257 -0
- package/dist/src/{image-BXt_7u0v.js → image-tL5hIOFh.js} +6 -8
- package/dist/src/index.cjs +696 -693
- package/dist/src/index.d.cts +113 -10
- package/dist/src/index.d.ts +113 -6
- package/dist/src/index.js +657 -658
- package/dist/src/{interactiveCheck-DU-MAhp5.js → interactiveCheck-BgLZUIt3.js} +7 -8
- package/dist/src/{invariant-DT20jrBd.js → invariant-BtWWVVhl.js} +2 -2
- package/dist/src/{invariant-1pAf2CD1.js → invariant-Ddh24eXh.js} +2 -2
- package/dist/src/{invariant-CKcJAQ6M.cjs → invariant-kfQ8Bu82.cjs} +7 -8
- package/dist/src/invariant-vgHWClmd.js +25 -0
- package/dist/src/{knowledgeBase-DotRBzUE.js → knowledgeBase-CLJybhnF.js} +19 -34
- package/dist/src/{knowledgeBase-XJQ0Qyez.js → knowledgeBase-CoU-UQBg.js} +17 -41
- package/dist/src/{knowledgeBase-CMvMlLZR.js → knowledgeBase-DjWPVqSb.js} +17 -43
- package/dist/src/{knowledgeBase-Bnb00xKs.cjs → knowledgeBase-wkxuRFhA.cjs} +17 -40
- package/dist/src/{litellm-CHrRmPAe.js → litellm-B9Hysuri.js} +16 -18
- package/dist/src/{litellm-CrLJrPIm.js → litellm-CTfa0hqi.js} +15 -17
- package/dist/src/{litellm-BrnZhMcL.cjs → litellm-NYpQ8RQu.cjs} +15 -16
- package/dist/src/{litellm-BECdjOTx.js → litellm-ePxtr9F1.js} +15 -4
- package/dist/src/{logger-w8Ozp0Td.js → logger-CT3IKMKA.js} +24 -41
- package/dist/src/{logger-BdZ-IqBc.cjs → logger-Cp1GPUjj.cjs} +166 -192
- package/dist/src/logger-DLcq4dWf.js +713 -0
- package/dist/src/{logger-BotXmWKW.js → logger-KkObSCzq.js} +27 -43
- package/dist/src/{luma-ray-C0RkI3lt.cjs → luma-ray-B0GGNRc1.cjs} +20 -21
- package/dist/src/{luma-ray-C-w6EsJm.js → luma-ray-BE2mOt6N.js} +20 -13
- package/dist/src/{luma-ray-BOeX-h0M.js → luma-ray-BW9IRGIc.js} +22 -21
- package/dist/src/{luma-ray-DgKLS0BF.js → luma-ray-Cm1KZBhs.js} +20 -23
- package/dist/src/main.js +1985 -2055
- package/dist/src/{messages-DXV3Qh8_.cjs → messages-1JrJs91T.cjs} +35 -34
- package/dist/src/{messages-D61tPFQo.js → messages-1x9atZmP.js} +25 -24
- package/dist/src/{messages-CDZYGNlS.js → messages-BLbWdsyt.js} +25 -24
- package/dist/src/messages-D8EA0oDc.js +240 -0
- package/dist/src/{meteor-P2rUE-Uz.js → meteor-44VjEACX.js} +3 -4
- package/dist/src/{meteor-SLNTgmXm.js → meteor-D-SotUw9.js} +3 -4
- package/dist/src/{meteor-odmwVbyG.cjs → meteor-DLZZ3osF.cjs} +3 -4
- package/dist/src/{meteor-Dj8cTkU_.js → meteor-DUiCJRC-.js} +3 -4
- package/dist/src/modelslab-C1OLRmVX.js +166 -0
- package/dist/src/modelslab-CqXBy3U8.js +168 -0
- package/dist/src/modelslab-DcOSFwKh.cjs +166 -0
- package/dist/src/modelslab-X5-4LroM.js +166 -0
- package/dist/src/{nova-reel-C2LFfVTf.js → nova-reel-BgS1ZWuK.js} +20 -13
- package/dist/src/{nova-reel-DtCjbD5O.js → nova-reel-D2ZkOSyr.js} +22 -21
- package/dist/src/{nova-reel-D9FXq3Mt.cjs → nova-reel-D9xfaMBs.cjs} +20 -21
- package/dist/src/{nova-reel-Bk5npr2q.js → nova-reel-DihqLeol.js} +20 -23
- package/dist/src/{nova-sonic-BoRSY_U6.cjs → nova-sonic-DVu3mMIy.cjs} +30 -31
- package/dist/src/{nova-sonic-D_qERM-K.js → nova-sonic-DezhVUYT.js} +30 -26
- package/dist/src/{nova-sonic-CgaWLDM1.js → nova-sonic-P-CdUMlV.js} +30 -31
- package/dist/src/{nova-sonic-BXRfQyF-.js → nova-sonic-Q3BOJeig.js} +31 -32
- package/dist/src/{openai-Bigwjgo1.cjs → openai-Cuif0GEt.cjs} +8 -9
- package/dist/src/{openai-Dz3surb_.js → openai-DElQ-fPX.js} +3 -4
- package/dist/src/{openai-CT5fwbve.js → openai-DhbB7eWK.js} +3 -4
- package/dist/src/openai-j-sE2O7r.js +44 -0
- package/dist/src/{openclaw-dHLcXUWZ.js → openclaw-BiSZPL7J.js} +20 -14
- package/dist/src/{openclaw-CpPrXwf6.js → openclaw-Bv1DINsX.js} +20 -27
- package/dist/src/{openclaw-B6XY2kUf.js → openclaw-D1D_ej1z.js} +21 -28
- package/dist/src/{openclaw-DDSfq5fp.cjs → openclaw-DAfWQn-o.cjs} +33 -39
- package/dist/src/opencode-sdk-C7m-wRfI.js +560 -0
- package/dist/src/opencode-sdk-CfaLN8PY.cjs +564 -0
- package/dist/src/opencode-sdk-D95s6SnR.js +562 -0
- package/dist/src/opencode-sdk-DxUPkLT7.js +560 -0
- package/dist/src/{otlpReceiver-DmRb0NBj.js → otlpReceiver--AIRW_S4.js} +53 -51
- package/dist/src/{otlpReceiver-Dg817agV.js → otlpReceiver-Bn5wGB1v.js} +53 -55
- package/dist/src/{otlpReceiver-B6Xo4KZM.cjs → otlpReceiver-Diec4cln.cjs} +53 -55
- package/dist/src/{otlpReceiver-BO0rbDzh.js → otlpReceiver-g3ByGaXs.js} +53 -55
- package/dist/src/{providerRegistry-Xf0qdqGQ.js → providerRegistry-B0RUOLI_.js} +7 -8
- package/dist/src/{providerRegistry-wCWd7sKQ.js → providerRegistry-CD8MEar9.js} +7 -8
- package/dist/src/{providerRegistry-lc7a7utN.cjs → providerRegistry-Civky8Ar.cjs} +12 -13
- package/dist/src/providerRegistry-DM8rZYol.js +45 -0
- package/dist/src/providers-B3HvufyI.js +33246 -0
- package/dist/src/{providers-BiNq_Iyc.js → providers-BKRJTjBz.js} +1743 -1795
- package/dist/src/providers-C1rOSHiR.js +32 -0
- package/dist/src/{providers-BlEhY5mi.js → providers-CFLy1_ji.js} +1750 -1802
- package/dist/src/{providers-BNKVY53V.cjs → providers-CFu-TZl-.cjs} +2111 -2163
- package/dist/src/providers-CxmDwEFf.cjs +31 -0
- package/dist/src/providers-Dodakqr0.js +30 -0
- package/dist/src/providers-GIQ2TcsA.js +30 -0
- package/dist/src/{pythonUtils-r1uBuA0n.js → pythonUtils-C3py6GC1.js} +18 -19
- package/dist/src/{pythonUtils-DZ6EbdY4.cjs → pythonUtils-CTU3Y3lw.cjs} +42 -43
- package/dist/src/{pythonUtils-vMlk9Qp5.js → pythonUtils-D5nxkQ0P.js} +18 -19
- package/dist/src/pythonUtils-D6fwaDSg.js +249 -0
- package/dist/src/quiverai-C2jVwbH1.js +213 -0
- package/dist/src/quiverai-CI6gYJVI.js +213 -0
- package/dist/src/quiverai-CLkWkyZc.cjs +213 -0
- package/dist/src/quiverai-MHSxbmmZ.js +215 -0
- package/dist/src/{render-CAZvKKkB.js → render-Drod8m7K.js} +4 -5
- package/dist/src/{responses-DLLjADw5.js → responses-BKqJmhhc.js} +34 -27
- package/dist/src/{responses-TsdODUpm.js → responses-CGw0DCzh.js} +34 -27
- package/dist/src/responses-jxdehPkC.js +660 -0
- package/dist/src/{responses-zOtKtnY_.cjs → responses-tD4Bd4dc.cjs} +49 -42
- package/dist/src/rubyUtils-BUHu6PhO.js +5 -0
- package/dist/src/{rubyUtils-Cs35SDYa.js → rubyUtils-BUVePouc.js} +27 -20
- package/dist/src/rubyUtils-BcuGX77l.js +222 -0
- package/dist/src/{rubyUtils-BtjlqyXt.js → rubyUtils-Boc4HZzX.js} +18 -19
- package/dist/src/rubyUtils-CP42kMvq.cjs +4 -0
- package/dist/src/{rubyUtils-DCVaJ3mc.cjs → rubyUtils-DhCAlxZr.cjs} +48 -50
- package/dist/src/{sagemaker-Du4LIR97.js → sagemaker-BK4Zb993.js} +75 -70
- package/dist/src/{sagemaker-CLdUAv5z.js → sagemaker-BfiWTmvn.js} +77 -77
- package/dist/src/{sagemaker-DwNnEVYt.cjs → sagemaker-CcQHM1jV.cjs} +75 -76
- package/dist/src/{sagemaker-BcgLu0U4.js → sagemaker-D2Q1c-sD.js} +75 -79
- package/dist/src/{scanner-Dyw21Wg_.js → scanner-J8CA3LsV.js} +149 -122
- package/dist/src/server/index.js +5620 -67302
- package/dist/src/{server-CgUQ25qW.cjs → server-B0PPuDw-.cjs} +57 -67
- package/dist/src/server-B1vi21hA.js +7 -0
- package/dist/src/{server-CbMTRQkg.js → server-BC7XJFgr.js} +19 -24
- package/dist/src/server-Cm9Kai_h.cjs +5 -0
- package/dist/src/{server-DWmZLfCy.js → server-DbFphssR.js} +26 -29
- package/dist/src/server-OAs3nBRT.js +229 -0
- package/dist/src/{signal-Bl32q42d.js → signal-BOTbd53Z.js} +9 -11
- package/dist/src/{slack-BtMkB6xP.cjs → slack-BmVAVGaK.cjs} +7 -8
- package/dist/src/{slack-OZYxoVON.js → slack-DCUPTzS2.js} +8 -8
- package/dist/src/{slack-DPqj42Ts.js → slack-DOdy_kyv.js} +7 -8
- package/dist/src/{slack-BfdBx2tO.js → slack-DXMKtA-f.js} +7 -9
- package/dist/src/store-BNmZ1KAz.cjs +5 -0
- package/dist/src/{store-BqwfFEyF.cjs → store-BSc-TF2w.cjs} +44 -45
- package/dist/src/store-BltJg2cd.js +6 -0
- package/dist/src/{store-D4gdn9ih.js → store-D1tv90v3.js} +34 -35
- package/dist/src/{store-2ocbYY9D.js → store-DQLEjuEO.js} +40 -36
- package/dist/src/store-Ub2vaGJ1.js +228 -0
- package/dist/src/{tables-D-NSwNIb.js → tables-5EvT_Bwn.js} +23 -23
- package/dist/src/{tables-B9E1kRp-.cjs → tables-C7K-XKWp.cjs} +93 -93
- package/dist/src/{tables-C7TT2XVn.js → tables-D36WTqKX.js} +25 -25
- package/dist/src/tables-xKANLRBD.js +288 -0
- package/dist/src/telemetry-5BCRNBbe.cjs +5 -0
- package/dist/src/{telemetry-DZ_7PaVq.js → telemetry-C15ziL8u.js} +17 -14
- package/dist/src/{telemetry-BXyVqyAg.js → telemetry-C2YDkUQH.js} +11 -13
- package/dist/src/{telemetry-D0_yFdtU.cjs → telemetry-CbrnxHp_.cjs} +21 -24
- package/dist/src/telemetry-D4W5hboe.js +7 -0
- package/dist/src/telemetry-DMb2Mpfm.js +171 -0
- package/dist/src/{text-Dm78AVGG.js → text-B_UCRPp2.js} +2 -2
- package/dist/src/{text-DF2hMKdg.cjs → text-CW1cyrwj.cjs} +12 -13
- package/dist/src/{text-DgMr_tiM.js → text-Db-Wt2u2.js} +2 -2
- package/dist/src/text-TIv0QYnd.js +22 -0
- package/dist/src/{tokenUsageUtils-FZd5O_4A.js → tokenUsageUtils-BDGe-iyI.js} +2 -2
- package/dist/src/{tokenUsageUtils-DmZSD2eU.js → tokenUsageUtils-DflFMjS0.js} +2 -2
- package/dist/src/tokenUsageUtils-NYT-WKS6.js +138 -0
- package/dist/src/{tokenUsageUtils-CXhxVj72.cjs → tokenUsageUtils-bVa1ga6f.cjs} +32 -33
- package/dist/src/{transcription-FNIz3YOe.cjs → transcription-CL78qbOU.cjs} +14 -15
- package/dist/src/{transcription-C-M81iDA.js → transcription-DAtxHhAM.js} +14 -7
- package/dist/src/{transcription-CYuY5sFO.js → transcription-LNZTNUUL.js} +14 -16
- package/dist/src/{transcription-Ch7S-LWw.js → transcription-QHh3AH6Z.js} +15 -17
- package/dist/src/{transform-CoP2bJ7P.js → transform-Cgi24fJ7.js} +94 -66
- package/dist/src/{transform-Kd6u-oNm.cjs → transform-CzK1Q0zl.cjs} +24 -26
- package/dist/src/{transform-D8dILpfZ.js → transform-DECvGmzp.js} +15 -13
- package/dist/src/{transform-DMaxQwDx.js → transform-DGLazrMm.js} +94 -66
- package/dist/src/transform-DGxXocjk.js +1506 -0
- package/dist/src/{transform-ivxEY4f7.cjs → transform-DOcQeLld.cjs} +234 -206
- package/dist/src/transform-DTGDnAzW.js +6 -0
- package/dist/src/{transform-CqTFr7KR.js → transform-DilY9wbS.js} +10 -12
- package/dist/src/transform-aa6tmVpZ.js +216 -0
- package/dist/src/transform-m3qNw4KP.cjs +5 -0
- package/dist/src/{transformersAvailability-DEU2naS1.js → transformersAvailability-CEVM2GNQ.js} +2 -2
- package/dist/src/{transformersAvailability-Bkep3ka7.cjs → transformersAvailability-CwayUSlh.cjs} +2 -3
- package/dist/src/{transformersAvailability-DwmezkVe.js → transformersAvailability-D6c6ROpT.js} +2 -2
- package/dist/src/{types-t52w-XsS.js → types-CH3Ge2sE.js} +103 -92
- package/dist/src/{types-DMVjYLpx.js → types-CLKiCBW3.js} +98 -91
- package/dist/src/types-CN_TZ2GJ.js +3260 -0
- package/dist/src/{types-BIfttHrT.cjs → types-LJ0r3wbR.cjs} +573 -566
- package/dist/src/util-5cB-L7U3.js +1430 -0
- package/dist/src/util-6-GqIvzS.js +599 -0
- package/dist/src/{util-vjscpUzy.js → util-B7T3SiBS.js} +5 -6
- package/dist/src/{util-Cl0zfT3V.js → util-Betm42rL.js} +44 -17
- package/dist/src/{util-CUEt0Vum.js → util-C-PPYSMq.js} +44 -17
- package/dist/src/{util-DkFTvieG.cjs → util-CchiqXh_.cjs} +35 -36
- package/dist/src/{util-mJ58qbbw.js → util-DaWTWKBK.js} +5 -6
- package/dist/src/{util-C08Kns6-.cjs → util-Db0a0AFH.cjs} +89 -62
- package/dist/src/{util-DiCePfDu.js → util-Dlz_Wvgm.js} +102 -53
- package/dist/src/{util-BSh4a_Q8.js → util-YT5HPZaS.js} +102 -53
- package/dist/src/{util-DUYOvxAy.cjs → util-Yz-1aEhW.cjs} +274 -219
- package/dist/src/util-ZZH-3QZz.js +293 -0
- package/dist/src/{utils-DFaZa6Rf.cjs → utils-Cz9qXqII.cjs} +32 -35
- package/dist/src/{utils-CVzb4YiI.js → utils-XiOAgly5.js} +4 -7
- package/dist/src/utils-dLokC-eR.js +94 -0
- package/dist/src/{utils-JaY9veb5.js → utils-f2-Moju7.js} +4 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -53
- package/dist/src/app/assets/index-BOgkICuY.css +0 -1
- package/dist/src/app/assets/index-CSgqn_Vd.js +0 -428
- package/dist/src/app/tsconfig.app.tsbuildinfo +0 -1
- package/dist/src/base-BaXmtXYp.js +0 -107
- package/dist/src/base-Dtp8b4_N.js +0 -106
- package/dist/src/base-f71xxWai.cjs +0 -111
- package/dist/src/cache-BUPcq0Ad.js +0 -6
- package/dist/src/cache-CVfRb-HD.cjs +0 -6
- package/dist/src/cache-O4EuX2JV.js +0 -8
- package/dist/src/chunk-DHDDz29n.js +0 -22
- package/dist/src/chunk-FhC4c-0y.js +0 -21
- package/dist/src/cloud-CZ4hytdm.js +0 -5
- package/dist/src/eval-CKHWqG9f.js +0 -16
- package/dist/src/evalResult-CxTP-LMm.cjs +0 -11
- package/dist/src/evalResult-CzLURDcP.js +0 -13
- package/dist/src/evalResult-DyttNQ_G.js +0 -11
- package/dist/src/evaluator-0PvfeBYh.js +0 -38
- package/dist/src/fetch-Bi0o-fdp.js +0 -4
- package/dist/src/fetch-CMptBDVg.cjs +0 -4
- package/dist/src/fetch-DAZkv3gV.js +0 -6
- package/dist/src/graders-BCytzXrb.js +0 -34
- package/dist/src/graders-CGZQShfJ.cjs +0 -33
- package/dist/src/graders-spkuVC-E.js +0 -36
- package/dist/src/opencode-sdk-CImWVqy9.js +0 -382
- package/dist/src/opencode-sdk-CuCztr4P.js +0 -380
- package/dist/src/opencode-sdk-DhcfRbBH.js +0 -376
- package/dist/src/opencode-sdk-mqF-Oj3f.cjs +0 -383
- package/dist/src/providers-BMZZmPBJ.cjs +0 -32
- package/dist/src/providers-CQQrNaJk.js +0 -32
- package/dist/src/providers-Ck8HyrC-.js +0 -34
- package/dist/src/quiverai-BNfIwKCO.cjs +0 -54
- package/dist/src/quiverai-BQigKdIH.js +0 -57
- package/dist/src/quiverai-Bfy2WnE2.js +0 -55
- package/dist/src/quiverai-CedIP0PJ.js +0 -43
- package/dist/src/rubyUtils-D7--T12C.js +0 -6
- package/dist/src/rubyUtils-DRRiMFV2.js +0 -5
- package/dist/src/rubyUtils-vb8OYFC-.cjs +0 -5
- package/dist/src/server-BUbS0Qfh.js +0 -6
- package/dist/src/server-XpGXFHkS.cjs +0 -6
- package/dist/src/server-gfOx5Zrk.js +0 -8
- package/dist/src/store-5u2yriTV.js +0 -7
- package/dist/src/store-D_lq_8oQ.js +0 -6
- package/dist/src/store-m5KT6Ly7.cjs +0 -6
- package/dist/src/telemetry-5RHFoCJh.js +0 -6
- package/dist/src/telemetry-Do8wMnA-.js +0 -8
- package/dist/src/telemetry-LojxPoFq.cjs +0 -6
- package/dist/src/transform-8eGmaH-7.js +0 -7
- package/dist/src/transform-BRVvWaG4.cjs +0 -6
- package/dist/src/transform-GybT0X0u.js +0 -8
- package/dist/src/transformersAvailability-DkAWaK5B.js +0 -35
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
const require_logger = require("./logger-Cp1GPUjj.cjs");
|
|
2
|
+
require("./types-LJ0r3wbR.cjs");
|
|
3
|
+
const require_fetch = require("./fetch-BxUk8odA.cjs");
|
|
4
|
+
const require_cache = require("./cache-COish3-W.cjs");
|
|
5
|
+
require("./accounts-Bx-x3bmW.cjs");
|
|
6
|
+
const require_blobs = require("./blobs-DvS-O6be.cjs");
|
|
7
|
+
require("./tables-C7K-XKWp.cjs");
|
|
8
|
+
const require_extractor = require("./extractor-DX36oYEv.cjs");
|
|
9
|
+
const require_text = require("./text-CW1cyrwj.cjs");
|
|
10
|
+
//#region src/providers/modelslab.ts
|
|
11
|
+
/**
|
|
12
|
+
* ModelsLab provider for text-to-image generation.
|
|
13
|
+
*
|
|
14
|
+
* Handles async polling: initial response may return {status: "processing"},
|
|
15
|
+
* in which case we poll the fetch endpoint until completion.
|
|
16
|
+
*
|
|
17
|
+
* API docs: https://docs.modelslab.com
|
|
18
|
+
*
|
|
19
|
+
* NOTE: ModelsLab uses key-in-body authentication (not Bearer header).
|
|
20
|
+
* The API key is sent as the "key" field in the JSON request body.
|
|
21
|
+
*/
|
|
22
|
+
const MODELSLAB_BASE_URL = "https://modelslab.com/api/v6";
|
|
23
|
+
const POLL_INTERVAL_MS = 3e3;
|
|
24
|
+
const MAX_POLL_ATTEMPTS = 60;
|
|
25
|
+
var ModelsLabImageProvider = class {
|
|
26
|
+
modelName;
|
|
27
|
+
apiKey;
|
|
28
|
+
config;
|
|
29
|
+
constructor(modelName, options = {}) {
|
|
30
|
+
const { config, id, env } = options;
|
|
31
|
+
this.modelName = modelName;
|
|
32
|
+
this.apiKey = config?.apiKey || env?.MODELSLAB_API_KEY || require_logger.getEnvString("MODELSLAB_API_KEY");
|
|
33
|
+
const { apiKey: _apiKey, ...restConfig } = config ?? {};
|
|
34
|
+
this.config = restConfig;
|
|
35
|
+
this.id = id ? () => id : this.id;
|
|
36
|
+
}
|
|
37
|
+
id() {
|
|
38
|
+
return `modelslab:image:${this.modelName}`;
|
|
39
|
+
}
|
|
40
|
+
toString() {
|
|
41
|
+
return `[ModelsLab Image Provider ${this.modelName}]`;
|
|
42
|
+
}
|
|
43
|
+
async callApi(prompt, context, _callApiOptions) {
|
|
44
|
+
if (!this.apiKey) return { error: "ModelsLab API key is not set. Set the MODELSLAB_API_KEY environment variable or add `apiKey` to the provider config." };
|
|
45
|
+
const config = {
|
|
46
|
+
...this.config,
|
|
47
|
+
...context?.prompt?.config
|
|
48
|
+
};
|
|
49
|
+
const requestBody = {
|
|
50
|
+
key: this.apiKey,
|
|
51
|
+
model_id: this.modelName,
|
|
52
|
+
prompt,
|
|
53
|
+
width: config.width ?? 512,
|
|
54
|
+
height: config.height ?? 512,
|
|
55
|
+
num_inference_steps: config.num_inference_steps ?? 30,
|
|
56
|
+
guidance_scale: config.guidance_scale ?? 7.5,
|
|
57
|
+
samples: config.samples ?? 1,
|
|
58
|
+
safety_checker: config.safety_checker ?? "no",
|
|
59
|
+
enhance_prompt: config.enhance_prompt ?? "no"
|
|
60
|
+
};
|
|
61
|
+
if (config.negative_prompt) requestBody.negative_prompt = config.negative_prompt;
|
|
62
|
+
if (config.seed !== void 0) requestBody.seed = config.seed;
|
|
63
|
+
try {
|
|
64
|
+
require_logger.logger.debug("[ModelsLab] Image generation request", {
|
|
65
|
+
model: this.modelName,
|
|
66
|
+
prompt: require_text.ellipsize(prompt, 50)
|
|
67
|
+
});
|
|
68
|
+
const response = await require_cache.fetchWithCache(`${MODELSLAB_BASE_URL}/images/text2img`, {
|
|
69
|
+
method: "POST",
|
|
70
|
+
headers: { "Content-Type": "application/json" },
|
|
71
|
+
body: JSON.stringify(requestBody)
|
|
72
|
+
}, require_fetch.REQUEST_TIMEOUT_MS, "json", true);
|
|
73
|
+
let data = response.data;
|
|
74
|
+
let cached = response.cached;
|
|
75
|
+
if (data.status === "processing") {
|
|
76
|
+
const requestId = data.request_id ?? String(data.id);
|
|
77
|
+
require_logger.logger.debug("[ModelsLab] Image is processing, polling for result", {
|
|
78
|
+
model: this.modelName,
|
|
79
|
+
requestId
|
|
80
|
+
});
|
|
81
|
+
data = await this.pollForCompletion(requestId);
|
|
82
|
+
cached = false;
|
|
83
|
+
}
|
|
84
|
+
if (data.status === "error") return {
|
|
85
|
+
cached,
|
|
86
|
+
error: `ModelsLab API error: ${data.message || "Unknown error"}`
|
|
87
|
+
};
|
|
88
|
+
if (data.status === "success") {
|
|
89
|
+
if (!data.output || data.output.length === 0) return { error: "ModelsLab returned no image URLs" };
|
|
90
|
+
const imageUrl = data.output[0];
|
|
91
|
+
const { url: resolvedUrl, blobRef } = await this.maybeDownloadToBlob(imageUrl);
|
|
92
|
+
return {
|
|
93
|
+
output: `![${require_text.ellipsize(prompt.replace(/\r?\n|\r/g, " ").replace(/\[/g, "(").replace(/\]/g, ")"), 50)}](${resolvedUrl})`,
|
|
94
|
+
cached,
|
|
95
|
+
...blobRef && { metadata: {
|
|
96
|
+
blobRef,
|
|
97
|
+
blobHash: blobRef.hash
|
|
98
|
+
} }
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return { error: `Unexpected ModelsLab response status: ${data.status}` };
|
|
102
|
+
} catch (err) {
|
|
103
|
+
return { error: `ModelsLab API call error: ${String(err)}` };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async maybeDownloadToBlob(imageUrl) {
|
|
107
|
+
if (!require_extractor.isBlobStorageEnabled()) return { url: imageUrl };
|
|
108
|
+
try {
|
|
109
|
+
const response = await require_fetch.fetchWithProxy(imageUrl);
|
|
110
|
+
if (!response.ok) {
|
|
111
|
+
require_logger.logger.warn("[ModelsLab] Failed to download image for blob storage", {
|
|
112
|
+
url: imageUrl,
|
|
113
|
+
status: response.status
|
|
114
|
+
});
|
|
115
|
+
return { url: imageUrl };
|
|
116
|
+
}
|
|
117
|
+
const { ref } = await require_blobs.storeBlob(Buffer.from(await response.arrayBuffer()), response.headers.get("content-type")?.split(";")[0] || "image/png", {
|
|
118
|
+
location: "response.output",
|
|
119
|
+
kind: "image"
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
url: ref.uri,
|
|
123
|
+
blobRef: ref
|
|
124
|
+
};
|
|
125
|
+
} catch (error) {
|
|
126
|
+
require_logger.logger.warn("[ModelsLab] Failed to store image as blob, using URL", {
|
|
127
|
+
url: imageUrl,
|
|
128
|
+
error: String(error)
|
|
129
|
+
});
|
|
130
|
+
return { url: imageUrl };
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async pollForCompletion(requestId) {
|
|
134
|
+
const fetchUrl = `${MODELSLAB_BASE_URL}/images/fetch/${requestId}`;
|
|
135
|
+
for (let attempt = 0; attempt < MAX_POLL_ATTEMPTS; attempt++) {
|
|
136
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
137
|
+
try {
|
|
138
|
+
const data = (await require_cache.fetchWithCache(fetchUrl, {
|
|
139
|
+
method: "POST",
|
|
140
|
+
headers: { "Content-Type": "application/json" },
|
|
141
|
+
body: JSON.stringify({ key: this.apiKey })
|
|
142
|
+
}, require_fetch.REQUEST_TIMEOUT_MS, "json", true)).data;
|
|
143
|
+
require_logger.logger.debug("[ModelsLab] Poll attempt", {
|
|
144
|
+
attempt: attempt + 1,
|
|
145
|
+
requestId,
|
|
146
|
+
status: data.status
|
|
147
|
+
});
|
|
148
|
+
if (data.status === "success" || data.status === "error") return data;
|
|
149
|
+
} catch (error) {
|
|
150
|
+
require_logger.logger.warn("[ModelsLab] Poll attempt failed", {
|
|
151
|
+
attempt: attempt + 1,
|
|
152
|
+
requestId,
|
|
153
|
+
error: String(error)
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
status: "error",
|
|
159
|
+
message: `ModelsLab image generation timed out after ${MAX_POLL_ATTEMPTS * POLL_INTERVAL_MS / 1e3}s`
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
//#endregion
|
|
164
|
+
exports.ModelsLabImageProvider = ModelsLabImageProvider;
|
|
165
|
+
|
|
166
|
+
//# sourceMappingURL=modelslab-DcOSFwKh.cjs.map
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { b as getEnvString, i as logger } from "./logger-DLcq4dWf.js";
|
|
2
|
+
import { p as REQUEST_TIMEOUT_MS, t as fetchWithProxy } from "./fetch-4M3YRaqL.js";
|
|
3
|
+
import "./accounts-BgNJDBE6.js";
|
|
4
|
+
import "./tables-xKANLRBD.js";
|
|
5
|
+
import "./types-CN_TZ2GJ.js";
|
|
6
|
+
import { r as fetchWithCache } from "./cache-D3eqDYGU.js";
|
|
7
|
+
import { i as storeBlob } from "./blobs-qTYm-1PY.js";
|
|
8
|
+
import { n as isBlobStorageEnabled } from "./extractor-YMU_Gvt8.js";
|
|
9
|
+
import { t as ellipsize } from "./text-TIv0QYnd.js";
|
|
10
|
+
//#region src/providers/modelslab.ts
|
|
11
|
+
/**
|
|
12
|
+
* ModelsLab provider for text-to-image generation.
|
|
13
|
+
*
|
|
14
|
+
* Handles async polling: initial response may return {status: "processing"},
|
|
15
|
+
* in which case we poll the fetch endpoint until completion.
|
|
16
|
+
*
|
|
17
|
+
* API docs: https://docs.modelslab.com
|
|
18
|
+
*
|
|
19
|
+
* NOTE: ModelsLab uses key-in-body authentication (not Bearer header).
|
|
20
|
+
* The API key is sent as the "key" field in the JSON request body.
|
|
21
|
+
*/
|
|
22
|
+
const MODELSLAB_BASE_URL = "https://modelslab.com/api/v6";
|
|
23
|
+
const POLL_INTERVAL_MS = 3e3;
|
|
24
|
+
const MAX_POLL_ATTEMPTS = 60;
|
|
25
|
+
var ModelsLabImageProvider = class {
|
|
26
|
+
modelName;
|
|
27
|
+
apiKey;
|
|
28
|
+
config;
|
|
29
|
+
constructor(modelName, options = {}) {
|
|
30
|
+
const { config, id, env } = options;
|
|
31
|
+
this.modelName = modelName;
|
|
32
|
+
this.apiKey = config?.apiKey || env?.MODELSLAB_API_KEY || getEnvString("MODELSLAB_API_KEY");
|
|
33
|
+
const { apiKey: _apiKey, ...restConfig } = config ?? {};
|
|
34
|
+
this.config = restConfig;
|
|
35
|
+
this.id = id ? () => id : this.id;
|
|
36
|
+
}
|
|
37
|
+
id() {
|
|
38
|
+
return `modelslab:image:${this.modelName}`;
|
|
39
|
+
}
|
|
40
|
+
toString() {
|
|
41
|
+
return `[ModelsLab Image Provider ${this.modelName}]`;
|
|
42
|
+
}
|
|
43
|
+
async callApi(prompt, context, _callApiOptions) {
|
|
44
|
+
if (!this.apiKey) return { error: "ModelsLab API key is not set. Set the MODELSLAB_API_KEY environment variable or add `apiKey` to the provider config." };
|
|
45
|
+
const config = {
|
|
46
|
+
...this.config,
|
|
47
|
+
...context?.prompt?.config
|
|
48
|
+
};
|
|
49
|
+
const requestBody = {
|
|
50
|
+
key: this.apiKey,
|
|
51
|
+
model_id: this.modelName,
|
|
52
|
+
prompt,
|
|
53
|
+
width: config.width ?? 512,
|
|
54
|
+
height: config.height ?? 512,
|
|
55
|
+
num_inference_steps: config.num_inference_steps ?? 30,
|
|
56
|
+
guidance_scale: config.guidance_scale ?? 7.5,
|
|
57
|
+
samples: config.samples ?? 1,
|
|
58
|
+
safety_checker: config.safety_checker ?? "no",
|
|
59
|
+
enhance_prompt: config.enhance_prompt ?? "no"
|
|
60
|
+
};
|
|
61
|
+
if (config.negative_prompt) requestBody.negative_prompt = config.negative_prompt;
|
|
62
|
+
if (config.seed !== void 0) requestBody.seed = config.seed;
|
|
63
|
+
try {
|
|
64
|
+
logger.debug("[ModelsLab] Image generation request", {
|
|
65
|
+
model: this.modelName,
|
|
66
|
+
prompt: ellipsize(prompt, 50)
|
|
67
|
+
});
|
|
68
|
+
const response = await fetchWithCache(`${MODELSLAB_BASE_URL}/images/text2img`, {
|
|
69
|
+
method: "POST",
|
|
70
|
+
headers: { "Content-Type": "application/json" },
|
|
71
|
+
body: JSON.stringify(requestBody)
|
|
72
|
+
}, REQUEST_TIMEOUT_MS, "json", true);
|
|
73
|
+
let data = response.data;
|
|
74
|
+
let cached = response.cached;
|
|
75
|
+
if (data.status === "processing") {
|
|
76
|
+
const requestId = data.request_id ?? String(data.id);
|
|
77
|
+
logger.debug("[ModelsLab] Image is processing, polling for result", {
|
|
78
|
+
model: this.modelName,
|
|
79
|
+
requestId
|
|
80
|
+
});
|
|
81
|
+
data = await this.pollForCompletion(requestId);
|
|
82
|
+
cached = false;
|
|
83
|
+
}
|
|
84
|
+
if (data.status === "error") return {
|
|
85
|
+
cached,
|
|
86
|
+
error: `ModelsLab API error: ${data.message || "Unknown error"}`
|
|
87
|
+
};
|
|
88
|
+
if (data.status === "success") {
|
|
89
|
+
if (!data.output || data.output.length === 0) return { error: "ModelsLab returned no image URLs" };
|
|
90
|
+
const imageUrl = data.output[0];
|
|
91
|
+
const { url: resolvedUrl, blobRef } = await this.maybeDownloadToBlob(imageUrl);
|
|
92
|
+
return {
|
|
93
|
+
output: `![${ellipsize(prompt.replace(/\r?\n|\r/g, " ").replace(/\[/g, "(").replace(/\]/g, ")"), 50)}](${resolvedUrl})`,
|
|
94
|
+
cached,
|
|
95
|
+
...blobRef && { metadata: {
|
|
96
|
+
blobRef,
|
|
97
|
+
blobHash: blobRef.hash
|
|
98
|
+
} }
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return { error: `Unexpected ModelsLab response status: ${data.status}` };
|
|
102
|
+
} catch (err) {
|
|
103
|
+
return { error: `ModelsLab API call error: ${String(err)}` };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async maybeDownloadToBlob(imageUrl) {
|
|
107
|
+
if (!isBlobStorageEnabled()) return { url: imageUrl };
|
|
108
|
+
try {
|
|
109
|
+
const response = await fetchWithProxy(imageUrl);
|
|
110
|
+
if (!response.ok) {
|
|
111
|
+
logger.warn("[ModelsLab] Failed to download image for blob storage", {
|
|
112
|
+
url: imageUrl,
|
|
113
|
+
status: response.status
|
|
114
|
+
});
|
|
115
|
+
return { url: imageUrl };
|
|
116
|
+
}
|
|
117
|
+
const { ref } = await storeBlob(Buffer.from(await response.arrayBuffer()), response.headers.get("content-type")?.split(";")[0] || "image/png", {
|
|
118
|
+
location: "response.output",
|
|
119
|
+
kind: "image"
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
url: ref.uri,
|
|
123
|
+
blobRef: ref
|
|
124
|
+
};
|
|
125
|
+
} catch (error) {
|
|
126
|
+
logger.warn("[ModelsLab] Failed to store image as blob, using URL", {
|
|
127
|
+
url: imageUrl,
|
|
128
|
+
error: String(error)
|
|
129
|
+
});
|
|
130
|
+
return { url: imageUrl };
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async pollForCompletion(requestId) {
|
|
134
|
+
const fetchUrl = `${MODELSLAB_BASE_URL}/images/fetch/${requestId}`;
|
|
135
|
+
for (let attempt = 0; attempt < MAX_POLL_ATTEMPTS; attempt++) {
|
|
136
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
137
|
+
try {
|
|
138
|
+
const data = (await fetchWithCache(fetchUrl, {
|
|
139
|
+
method: "POST",
|
|
140
|
+
headers: { "Content-Type": "application/json" },
|
|
141
|
+
body: JSON.stringify({ key: this.apiKey })
|
|
142
|
+
}, REQUEST_TIMEOUT_MS, "json", true)).data;
|
|
143
|
+
logger.debug("[ModelsLab] Poll attempt", {
|
|
144
|
+
attempt: attempt + 1,
|
|
145
|
+
requestId,
|
|
146
|
+
status: data.status
|
|
147
|
+
});
|
|
148
|
+
if (data.status === "success" || data.status === "error") return data;
|
|
149
|
+
} catch (error) {
|
|
150
|
+
logger.warn("[ModelsLab] Poll attempt failed", {
|
|
151
|
+
attempt: attempt + 1,
|
|
152
|
+
requestId,
|
|
153
|
+
error: String(error)
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
status: "error",
|
|
159
|
+
message: `ModelsLab image generation timed out after ${MAX_POLL_ATTEMPTS * POLL_INTERVAL_MS / 1e3}s`
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
//#endregion
|
|
164
|
+
export { ModelsLabImageProvider };
|
|
165
|
+
|
|
166
|
+
//# sourceMappingURL=modelslab-X5-4LroM.js.map
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as logger } from "./logger-DLcq4dWf.js";
|
|
2
|
+
import { d as sleep } from "./fetch-4M3YRaqL.js";
|
|
3
|
+
import "./accounts-BgNJDBE6.js";
|
|
4
|
+
import "./tables-xKANLRBD.js";
|
|
5
|
+
import "./types-CN_TZ2GJ.js";
|
|
6
|
+
import { i as storeBlob } from "./blobs-qTYm-1PY.js";
|
|
7
|
+
import "./telemetry-DMb2Mpfm.js";
|
|
8
|
+
import { t as ellipsize } from "./text-TIv0QYnd.js";
|
|
9
|
+
import { t as AwsBedrockGenericProvider } from "./base-fEDN28WM.js";
|
|
2
10
|
import * as fs$1 from "fs";
|
|
3
11
|
import * as path$1 from "path";
|
|
4
|
-
|
|
5
12
|
//#region src/providers/bedrock/nova-reel.ts
|
|
6
13
|
/**
|
|
7
14
|
* Amazon Nova Reel Video Generation Provider
|
|
@@ -121,7 +128,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
121
128
|
return { invocationArn: (await client.send(command)).invocationArn };
|
|
122
129
|
} catch (err) {
|
|
123
130
|
const error = err;
|
|
124
|
-
|
|
131
|
+
logger.error("[Nova Reel] Failed to start video generation", { error });
|
|
125
132
|
return { error: `Failed to start video generation: ${error.message || String(err)}` };
|
|
126
133
|
}
|
|
127
134
|
}
|
|
@@ -140,7 +147,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
140
147
|
while (Date.now() - startTime < maxPollTimeMs) {
|
|
141
148
|
const command = new GetAsyncInvokeCommand({ invocationArn });
|
|
142
149
|
const invocation = await client.send(command);
|
|
143
|
-
|
|
150
|
+
logger.debug(`[Nova Reel] Job status: ${invocation.status}`, {
|
|
144
151
|
invocationArn,
|
|
145
152
|
elapsedMs: Date.now() - startTime
|
|
146
153
|
});
|
|
@@ -157,7 +164,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
157
164
|
return { error: `Video generation timed out after ${maxPollTimeMs / 1e3} seconds` };
|
|
158
165
|
} catch (err) {
|
|
159
166
|
const error = err;
|
|
160
|
-
|
|
167
|
+
logger.error("[Nova Reel] Polling error", {
|
|
161
168
|
error,
|
|
162
169
|
invocationArn
|
|
163
170
|
});
|
|
@@ -179,7 +186,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
179
186
|
...credentials ? { credentials } : {}
|
|
180
187
|
});
|
|
181
188
|
const videoKey = keyPrefix.endsWith("/") ? `${keyPrefix}output.mp4` : `${keyPrefix}/output.mp4`;
|
|
182
|
-
|
|
189
|
+
logger.debug("[Nova Reel] Downloading video from S3", {
|
|
183
190
|
bucket,
|
|
184
191
|
key: videoKey
|
|
185
192
|
});
|
|
@@ -192,14 +199,14 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
192
199
|
kind: "video",
|
|
193
200
|
location: "response.video"
|
|
194
201
|
});
|
|
195
|
-
|
|
202
|
+
logger.debug(`[Nova Reel] Stored video to blob storage`, {
|
|
196
203
|
uri: ref.uri,
|
|
197
204
|
hash: ref.hash
|
|
198
205
|
});
|
|
199
206
|
return { blobRef: ref };
|
|
200
207
|
} catch (err) {
|
|
201
208
|
const error = err;
|
|
202
|
-
|
|
209
|
+
logger.error("[Nova Reel] S3 download error", {
|
|
203
210
|
error,
|
|
204
211
|
s3Uri
|
|
205
212
|
});
|
|
@@ -219,14 +226,14 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
219
226
|
const startTime = Date.now();
|
|
220
227
|
const { input: modelInput, error: buildError } = this.buildModelInput(prompt, config);
|
|
221
228
|
if (buildError || !modelInput) return { error: buildError || "Failed to build model input" };
|
|
222
|
-
|
|
229
|
+
logger.info(`[Nova Reel] Starting video generation job...`, {
|
|
223
230
|
taskType: config.taskType || "TEXT_VIDEO",
|
|
224
231
|
durationSeconds: config.durationSeconds || DEFAULT_DURATION_SECONDS,
|
|
225
232
|
s3OutputUri
|
|
226
233
|
});
|
|
227
234
|
const { invocationArn, error: startError } = await this.startVideoGeneration(modelInput, s3OutputUri);
|
|
228
235
|
if (startError || !invocationArn) return { error: startError || "Failed to start video generation" };
|
|
229
|
-
|
|
236
|
+
logger.info(`[Nova Reel] Job started`, { invocationArn });
|
|
230
237
|
const pollIntervalMs = config.pollIntervalMs || DEFAULT_POLL_INTERVAL_MS;
|
|
231
238
|
const maxPollTimeMs = config.maxPollTimeMs || DEFAULT_MAX_POLL_TIME_MS;
|
|
232
239
|
const { response, error: pollError } = await this.pollForCompletion(invocationArn, pollIntervalMs, maxPollTimeMs);
|
|
@@ -237,7 +244,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
237
244
|
const outputUrl = `${outputS3Uri}/output.mp4`;
|
|
238
245
|
if (config.downloadFromS3 !== false) {
|
|
239
246
|
const { blobRef: ref, error: downloadError } = await this.downloadAndStoreVideo(outputS3Uri);
|
|
240
|
-
if (downloadError)
|
|
247
|
+
if (downloadError) logger.warn(`[Nova Reel] Failed to download video: ${downloadError}. Using S3 URL.`);
|
|
241
248
|
else blobRef = ref;
|
|
242
249
|
}
|
|
243
250
|
const latencyMs = Date.now() - startTime;
|
|
@@ -267,7 +274,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
267
274
|
};
|
|
268
275
|
}
|
|
269
276
|
};
|
|
270
|
-
|
|
271
277
|
//#endregion
|
|
272
278
|
export { NovaReelVideoProvider };
|
|
273
|
-
|
|
279
|
+
|
|
280
|
+
//# sourceMappingURL=nova-reel-BgS1ZWuK.js.map
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import "./
|
|
3
|
-
import {
|
|
4
|
-
import "./accounts-
|
|
5
|
-
import
|
|
6
|
-
import "./
|
|
7
|
-
import "./
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { o as logger } from "./logger-KkObSCzq.js";
|
|
3
|
+
import { l as sleep } from "./fetch-BMv0O527.js";
|
|
4
|
+
import "./accounts-CMqkzrVf.js";
|
|
5
|
+
import "./cloud-Bc9526yV.js";
|
|
6
|
+
import "./telemetry-C2YDkUQH.js";
|
|
7
|
+
import "./types-CH3Ge2sE.js";
|
|
8
|
+
import { i as storeBlob } from "./blobs-BAU-dXan.js";
|
|
9
|
+
import "./tables-D36WTqKX.js";
|
|
10
|
+
import { t as ellipsize } from "./text-Db-Wt2u2.js";
|
|
11
|
+
import { t as AwsBedrockGenericProvider } from "./base-B4QJRyFS.js";
|
|
10
12
|
import * as fs$1 from "fs";
|
|
11
13
|
import * as path$1 from "path";
|
|
12
|
-
|
|
13
14
|
//#region src/providers/bedrock/nova-reel.ts
|
|
14
15
|
/**
|
|
15
16
|
* Amazon Nova Reel Video Generation Provider
|
|
@@ -129,7 +130,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
129
130
|
return { invocationArn: (await client.send(command)).invocationArn };
|
|
130
131
|
} catch (err) {
|
|
131
132
|
const error = err;
|
|
132
|
-
|
|
133
|
+
logger.error("[Nova Reel] Failed to start video generation", { error });
|
|
133
134
|
return { error: `Failed to start video generation: ${error.message || String(err)}` };
|
|
134
135
|
}
|
|
135
136
|
}
|
|
@@ -148,7 +149,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
148
149
|
while (Date.now() - startTime < maxPollTimeMs) {
|
|
149
150
|
const command = new GetAsyncInvokeCommand({ invocationArn });
|
|
150
151
|
const invocation = await client.send(command);
|
|
151
|
-
|
|
152
|
+
logger.debug(`[Nova Reel] Job status: ${invocation.status}`, {
|
|
152
153
|
invocationArn,
|
|
153
154
|
elapsedMs: Date.now() - startTime
|
|
154
155
|
});
|
|
@@ -165,7 +166,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
165
166
|
return { error: `Video generation timed out after ${maxPollTimeMs / 1e3} seconds` };
|
|
166
167
|
} catch (err) {
|
|
167
168
|
const error = err;
|
|
168
|
-
|
|
169
|
+
logger.error("[Nova Reel] Polling error", {
|
|
169
170
|
error,
|
|
170
171
|
invocationArn
|
|
171
172
|
});
|
|
@@ -187,7 +188,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
187
188
|
...credentials ? { credentials } : {}
|
|
188
189
|
});
|
|
189
190
|
const videoKey = keyPrefix.endsWith("/") ? `${keyPrefix}output.mp4` : `${keyPrefix}/output.mp4`;
|
|
190
|
-
|
|
191
|
+
logger.debug("[Nova Reel] Downloading video from S3", {
|
|
191
192
|
bucket,
|
|
192
193
|
key: videoKey
|
|
193
194
|
});
|
|
@@ -200,14 +201,14 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
200
201
|
kind: "video",
|
|
201
202
|
location: "response.video"
|
|
202
203
|
});
|
|
203
|
-
|
|
204
|
+
logger.debug(`[Nova Reel] Stored video to blob storage`, {
|
|
204
205
|
uri: ref.uri,
|
|
205
206
|
hash: ref.hash
|
|
206
207
|
});
|
|
207
208
|
return { blobRef: ref };
|
|
208
209
|
} catch (err) {
|
|
209
210
|
const error = err;
|
|
210
|
-
|
|
211
|
+
logger.error("[Nova Reel] S3 download error", {
|
|
211
212
|
error,
|
|
212
213
|
s3Uri
|
|
213
214
|
});
|
|
@@ -227,14 +228,14 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
227
228
|
const startTime = Date.now();
|
|
228
229
|
const { input: modelInput, error: buildError } = this.buildModelInput(prompt, config);
|
|
229
230
|
if (buildError || !modelInput) return { error: buildError || "Failed to build model input" };
|
|
230
|
-
|
|
231
|
+
logger.info(`[Nova Reel] Starting video generation job...`, {
|
|
231
232
|
taskType: config.taskType || "TEXT_VIDEO",
|
|
232
233
|
durationSeconds: config.durationSeconds || DEFAULT_DURATION_SECONDS,
|
|
233
234
|
s3OutputUri
|
|
234
235
|
});
|
|
235
236
|
const { invocationArn, error: startError } = await this.startVideoGeneration(modelInput, s3OutputUri);
|
|
236
237
|
if (startError || !invocationArn) return { error: startError || "Failed to start video generation" };
|
|
237
|
-
|
|
238
|
+
logger.info(`[Nova Reel] Job started`, { invocationArn });
|
|
238
239
|
const pollIntervalMs = config.pollIntervalMs || DEFAULT_POLL_INTERVAL_MS;
|
|
239
240
|
const maxPollTimeMs = config.maxPollTimeMs || DEFAULT_MAX_POLL_TIME_MS;
|
|
240
241
|
const { response, error: pollError } = await this.pollForCompletion(invocationArn, pollIntervalMs, maxPollTimeMs);
|
|
@@ -245,7 +246,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
245
246
|
const outputUrl = `${outputS3Uri}/output.mp4`;
|
|
246
247
|
if (config.downloadFromS3 !== false) {
|
|
247
248
|
const { blobRef: ref, error: downloadError } = await this.downloadAndStoreVideo(outputS3Uri);
|
|
248
|
-
if (downloadError)
|
|
249
|
+
if (downloadError) logger.warn(`[Nova Reel] Failed to download video: ${downloadError}. Using S3 URL.`);
|
|
249
250
|
else blobRef = ref;
|
|
250
251
|
}
|
|
251
252
|
const latencyMs = Date.now() - startTime;
|
|
@@ -275,7 +276,7 @@ var NovaReelVideoProvider = class extends AwsBedrockGenericProvider {
|
|
|
275
276
|
};
|
|
276
277
|
}
|
|
277
278
|
};
|
|
278
|
-
|
|
279
279
|
//#endregion
|
|
280
280
|
export { NovaReelVideoProvider };
|
|
281
|
-
|
|
281
|
+
|
|
282
|
+
//# sourceMappingURL=nova-reel-D2ZkOSyr.js.map
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
const require_logger = require(
|
|
2
|
-
require(
|
|
3
|
-
const require_fetch = require(
|
|
4
|
-
require(
|
|
5
|
-
const require_blobs = require(
|
|
6
|
-
require(
|
|
7
|
-
require(
|
|
8
|
-
const require_text = require(
|
|
9
|
-
const require_base = require(
|
|
1
|
+
const require_logger = require("./logger-Cp1GPUjj.cjs");
|
|
2
|
+
require("./types-LJ0r3wbR.cjs");
|
|
3
|
+
const require_fetch = require("./fetch-BxUk8odA.cjs");
|
|
4
|
+
require("./accounts-Bx-x3bmW.cjs");
|
|
5
|
+
const require_blobs = require("./blobs-DvS-O6be.cjs");
|
|
6
|
+
require("./tables-C7K-XKWp.cjs");
|
|
7
|
+
require("./telemetry-CbrnxHp_.cjs");
|
|
8
|
+
const require_text = require("./text-CW1cyrwj.cjs");
|
|
9
|
+
const require_base = require("./base-DBtwl2FR.cjs");
|
|
10
10
|
let fs = require("fs");
|
|
11
11
|
fs = require_logger.__toESM(fs);
|
|
12
12
|
let path = require("path");
|
|
13
13
|
path = require_logger.__toESM(path);
|
|
14
|
-
|
|
15
14
|
//#region src/providers/bedrock/nova-reel.ts
|
|
16
15
|
/**
|
|
17
16
|
* Amazon Nova Reel Video Generation Provider
|
|
@@ -131,7 +130,7 @@ var NovaReelVideoProvider = class extends require_base.AwsBedrockGenericProvider
|
|
|
131
130
|
return { invocationArn: (await client.send(command)).invocationArn };
|
|
132
131
|
} catch (err) {
|
|
133
132
|
const error = err;
|
|
134
|
-
require_logger.
|
|
133
|
+
require_logger.logger.error("[Nova Reel] Failed to start video generation", { error });
|
|
135
134
|
return { error: `Failed to start video generation: ${error.message || String(err)}` };
|
|
136
135
|
}
|
|
137
136
|
}
|
|
@@ -150,7 +149,7 @@ var NovaReelVideoProvider = class extends require_base.AwsBedrockGenericProvider
|
|
|
150
149
|
while (Date.now() - startTime < maxPollTimeMs) {
|
|
151
150
|
const command = new GetAsyncInvokeCommand({ invocationArn });
|
|
152
151
|
const invocation = await client.send(command);
|
|
153
|
-
require_logger.
|
|
152
|
+
require_logger.logger.debug(`[Nova Reel] Job status: ${invocation.status}`, {
|
|
154
153
|
invocationArn,
|
|
155
154
|
elapsedMs: Date.now() - startTime
|
|
156
155
|
});
|
|
@@ -167,7 +166,7 @@ var NovaReelVideoProvider = class extends require_base.AwsBedrockGenericProvider
|
|
|
167
166
|
return { error: `Video generation timed out after ${maxPollTimeMs / 1e3} seconds` };
|
|
168
167
|
} catch (err) {
|
|
169
168
|
const error = err;
|
|
170
|
-
require_logger.
|
|
169
|
+
require_logger.logger.error("[Nova Reel] Polling error", {
|
|
171
170
|
error,
|
|
172
171
|
invocationArn
|
|
173
172
|
});
|
|
@@ -189,7 +188,7 @@ var NovaReelVideoProvider = class extends require_base.AwsBedrockGenericProvider
|
|
|
189
188
|
...credentials ? { credentials } : {}
|
|
190
189
|
});
|
|
191
190
|
const videoKey = keyPrefix.endsWith("/") ? `${keyPrefix}output.mp4` : `${keyPrefix}/output.mp4`;
|
|
192
|
-
require_logger.
|
|
191
|
+
require_logger.logger.debug("[Nova Reel] Downloading video from S3", {
|
|
193
192
|
bucket,
|
|
194
193
|
key: videoKey
|
|
195
194
|
});
|
|
@@ -202,14 +201,14 @@ var NovaReelVideoProvider = class extends require_base.AwsBedrockGenericProvider
|
|
|
202
201
|
kind: "video",
|
|
203
202
|
location: "response.video"
|
|
204
203
|
});
|
|
205
|
-
require_logger.
|
|
204
|
+
require_logger.logger.debug(`[Nova Reel] Stored video to blob storage`, {
|
|
206
205
|
uri: ref.uri,
|
|
207
206
|
hash: ref.hash
|
|
208
207
|
});
|
|
209
208
|
return { blobRef: ref };
|
|
210
209
|
} catch (err) {
|
|
211
210
|
const error = err;
|
|
212
|
-
require_logger.
|
|
211
|
+
require_logger.logger.error("[Nova Reel] S3 download error", {
|
|
213
212
|
error,
|
|
214
213
|
s3Uri
|
|
215
214
|
});
|
|
@@ -229,14 +228,14 @@ var NovaReelVideoProvider = class extends require_base.AwsBedrockGenericProvider
|
|
|
229
228
|
const startTime = Date.now();
|
|
230
229
|
const { input: modelInput, error: buildError } = this.buildModelInput(prompt, config);
|
|
231
230
|
if (buildError || !modelInput) return { error: buildError || "Failed to build model input" };
|
|
232
|
-
require_logger.
|
|
231
|
+
require_logger.logger.info(`[Nova Reel] Starting video generation job...`, {
|
|
233
232
|
taskType: config.taskType || "TEXT_VIDEO",
|
|
234
233
|
durationSeconds: config.durationSeconds || DEFAULT_DURATION_SECONDS,
|
|
235
234
|
s3OutputUri
|
|
236
235
|
});
|
|
237
236
|
const { invocationArn, error: startError } = await this.startVideoGeneration(modelInput, s3OutputUri);
|
|
238
237
|
if (startError || !invocationArn) return { error: startError || "Failed to start video generation" };
|
|
239
|
-
require_logger.
|
|
238
|
+
require_logger.logger.info(`[Nova Reel] Job started`, { invocationArn });
|
|
240
239
|
const pollIntervalMs = config.pollIntervalMs || DEFAULT_POLL_INTERVAL_MS;
|
|
241
240
|
const maxPollTimeMs = config.maxPollTimeMs || DEFAULT_MAX_POLL_TIME_MS;
|
|
242
241
|
const { response, error: pollError } = await this.pollForCompletion(invocationArn, pollIntervalMs, maxPollTimeMs);
|
|
@@ -247,7 +246,7 @@ var NovaReelVideoProvider = class extends require_base.AwsBedrockGenericProvider
|
|
|
247
246
|
const outputUrl = `${outputS3Uri}/output.mp4`;
|
|
248
247
|
if (config.downloadFromS3 !== false) {
|
|
249
248
|
const { blobRef: ref, error: downloadError } = await this.downloadAndStoreVideo(outputS3Uri);
|
|
250
|
-
if (downloadError) require_logger.
|
|
249
|
+
if (downloadError) require_logger.logger.warn(`[Nova Reel] Failed to download video: ${downloadError}. Using S3 URL.`);
|
|
251
250
|
else blobRef = ref;
|
|
252
251
|
}
|
|
253
252
|
const latencyMs = Date.now() - startTime;
|
|
@@ -277,7 +276,7 @@ var NovaReelVideoProvider = class extends require_base.AwsBedrockGenericProvider
|
|
|
277
276
|
};
|
|
278
277
|
}
|
|
279
278
|
};
|
|
280
|
-
|
|
281
279
|
//#endregion
|
|
282
280
|
exports.NovaReelVideoProvider = NovaReelVideoProvider;
|
|
283
|
-
|
|
281
|
+
|
|
282
|
+
//# sourceMappingURL=nova-reel-D9xfaMBs.cjs.map
|