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
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
import { t as OpenAiGenericProvider } from "./openai-
|
|
3
|
-
import { t as providerRegistry } from "./providerRegistry-
|
|
1
|
+
import { i as logger } from "./logger-DLcq4dWf.js";
|
|
2
|
+
import { t as OpenAiGenericProvider } from "./openai-j-sE2O7r.js";
|
|
3
|
+
import { t as providerRegistry } from "./providerRegistry-DM8rZYol.js";
|
|
4
4
|
import * as http$1 from "http";
|
|
5
5
|
import { chromium } from "playwright";
|
|
6
|
-
|
|
7
6
|
//#region src/providers/openai/chatkit-pool.ts
|
|
8
7
|
/**
|
|
9
8
|
* ChatKit Browser Pool
|
|
@@ -83,7 +82,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
83
82
|
} });
|
|
84
83
|
} else if (config) {
|
|
85
84
|
const existing = ChatKitBrowserPool.instance.config;
|
|
86
|
-
if (config.maxConcurrency !== void 0 && config.maxConcurrency !== existing.maxConcurrency || config.headless !== void 0 && config.headless !== existing.headless)
|
|
85
|
+
if (config.maxConcurrency !== void 0 && config.maxConcurrency !== existing.maxConcurrency || config.headless !== void 0 && config.headless !== existing.headless) logger.warn("[ChatKitPool] Pool already exists with different config, ignoring new config", {
|
|
87
86
|
existing: {
|
|
88
87
|
maxConcurrency: existing.maxConcurrency,
|
|
89
88
|
headless: existing.headless
|
|
@@ -102,7 +101,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
102
101
|
static resetInstance() {
|
|
103
102
|
if (ChatKitBrowserPool.instance) {
|
|
104
103
|
ChatKitBrowserPool.instance.shutdown().catch((err) => {
|
|
105
|
-
|
|
104
|
+
logger.debug("[ChatKitPool] Error during shutdown:", { error: String(err) });
|
|
106
105
|
});
|
|
107
106
|
ChatKitBrowserPool.instance = null;
|
|
108
107
|
}
|
|
@@ -120,7 +119,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
120
119
|
setTemplate(templateKey, html) {
|
|
121
120
|
if (this.templates.get(templateKey) !== html) {
|
|
122
121
|
this.templates.set(templateKey, html);
|
|
123
|
-
|
|
122
|
+
logger.debug("[ChatKitPool] Registered template", { templateKey });
|
|
124
123
|
for (const page of this.pages) if (page.templateKey === templateKey) page.ready = false;
|
|
125
124
|
}
|
|
126
125
|
}
|
|
@@ -135,7 +134,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
135
134
|
this.initPromise = null;
|
|
136
135
|
}
|
|
137
136
|
async doInitialize() {
|
|
138
|
-
|
|
137
|
+
logger.debug("[ChatKitPool] Initializing browser pool", { maxConcurrency: this.config.maxConcurrency });
|
|
139
138
|
this.server = http$1.createServer((req, res) => {
|
|
140
139
|
const pathParts = new URL(req.url || "/", `http://localhost`).pathname.split("/").filter(Boolean);
|
|
141
140
|
if (pathParts[0] === "template" && pathParts[1]) {
|
|
@@ -157,7 +156,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
157
156
|
this.server.listen(this.config.serverPort, () => {
|
|
158
157
|
const address = this.server.address();
|
|
159
158
|
this.serverPort = typeof address === "object" ? address?.port || 0 : 0;
|
|
160
|
-
|
|
159
|
+
logger.debug("[ChatKitPool] Server started", { port: this.serverPort });
|
|
161
160
|
resolve();
|
|
162
161
|
});
|
|
163
162
|
});
|
|
@@ -168,7 +167,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
168
167
|
throw error;
|
|
169
168
|
}
|
|
170
169
|
this.initialized = true;
|
|
171
|
-
|
|
170
|
+
logger.debug("[ChatKitPool] Browser pool initialized");
|
|
172
171
|
}
|
|
173
172
|
/**
|
|
174
173
|
* Acquire a page from the pool for a specific template.
|
|
@@ -182,7 +181,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
182
181
|
const available = this.pages.find((p) => !p.inUse && p.ready && p.templateKey === templateKey);
|
|
183
182
|
if (available) {
|
|
184
183
|
available.inUse = true;
|
|
185
|
-
|
|
184
|
+
logger.debug("[ChatKitPool] Acquired existing page", {
|
|
186
185
|
templateKey,
|
|
187
186
|
poolSize: this.pages.length
|
|
188
187
|
});
|
|
@@ -192,7 +191,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
192
191
|
if (needsRefresh) {
|
|
193
192
|
await this.refreshPooledPage(needsRefresh);
|
|
194
193
|
needsRefresh.inUse = true;
|
|
195
|
-
|
|
194
|
+
logger.debug("[ChatKitPool] Acquired and refreshed page", {
|
|
196
195
|
templateKey,
|
|
197
196
|
poolSize: this.pages.length
|
|
198
197
|
});
|
|
@@ -202,13 +201,13 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
202
201
|
const pooledPage = await this.createPooledPage(templateKey);
|
|
203
202
|
pooledPage.inUse = true;
|
|
204
203
|
this.pages.push(pooledPage);
|
|
205
|
-
|
|
204
|
+
logger.debug("[ChatKitPool] Created new page", {
|
|
206
205
|
templateKey,
|
|
207
206
|
poolSize: this.pages.length
|
|
208
207
|
});
|
|
209
208
|
return pooledPage;
|
|
210
209
|
}
|
|
211
|
-
|
|
210
|
+
logger.debug("[ChatKitPool] Waiting for available page", {
|
|
212
211
|
templateKey,
|
|
213
212
|
poolSize: this.pages.length,
|
|
214
213
|
waiting: this.waitQueue.length + 1
|
|
@@ -237,7 +236,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
237
236
|
try {
|
|
238
237
|
await this.refreshPooledPage(pooledPage);
|
|
239
238
|
} catch (error) {
|
|
240
|
-
|
|
239
|
+
logger.warn("[ChatKitPool] Failed to reset page, recreating", { error });
|
|
241
240
|
const index = this.pages.indexOf(pooledPage);
|
|
242
241
|
if (index >= 0) this.pages.splice(index, 1);
|
|
243
242
|
try {
|
|
@@ -248,7 +247,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
248
247
|
this.pages.push(newPage);
|
|
249
248
|
pooledPage = newPage;
|
|
250
249
|
} catch (createError) {
|
|
251
|
-
|
|
250
|
+
logger.warn("[ChatKitPool] Failed to create replacement page", { error: createError });
|
|
252
251
|
await this.tryServeWaiters();
|
|
253
252
|
this.scheduleIdleShutdown();
|
|
254
253
|
return;
|
|
@@ -278,13 +277,13 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
278
277
|
newPage.inUse = true;
|
|
279
278
|
this.pages.push(newPage);
|
|
280
279
|
waiter.resolve(newPage);
|
|
281
|
-
|
|
280
|
+
logger.debug("[ChatKitPool] Created page for waiting request", {
|
|
282
281
|
templateKey: waiter.templateKey,
|
|
283
282
|
poolSize: this.pages.length,
|
|
284
283
|
remainingWaiters: this.waitQueue.length
|
|
285
284
|
});
|
|
286
285
|
} catch (error) {
|
|
287
|
-
|
|
286
|
+
logger.warn("[ChatKitPool] Failed to create page for waiter", {
|
|
288
287
|
templateKey: waiter.templateKey,
|
|
289
288
|
error
|
|
290
289
|
});
|
|
@@ -299,12 +298,12 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
299
298
|
scheduleIdleShutdown() {
|
|
300
299
|
this.cancelIdleTimer();
|
|
301
300
|
if (this.pages.filter((p) => p.inUse).length === 0 && this.waitQueue.length === 0 && this.pages.length > 0) {
|
|
302
|
-
|
|
301
|
+
logger.debug("[ChatKitPool] Pool idle, scheduling shutdown", { delay: IDLE_SHUTDOWN_DELAY_MS });
|
|
303
302
|
this.idleTimer = setTimeout(() => {
|
|
304
303
|
if (this.pages.filter((p) => p.inUse).length === 0 && this.waitQueue.length === 0) {
|
|
305
|
-
|
|
304
|
+
logger.debug("[ChatKitPool] Auto-shutting down idle pool");
|
|
306
305
|
this.shutdown().catch((err) => {
|
|
307
|
-
|
|
306
|
+
logger.debug("[ChatKitPool] Error during idle shutdown", { error: String(err) });
|
|
308
307
|
});
|
|
309
308
|
ChatKitBrowserPool.instance = null;
|
|
310
309
|
}
|
|
@@ -351,7 +350,7 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
351
350
|
}
|
|
352
351
|
}
|
|
353
352
|
async refreshPooledPage(pooledPage) {
|
|
354
|
-
|
|
353
|
+
logger.debug("[ChatKitPool] Refreshing page", { timeout: PAGE_REFRESH_TIMEOUT_MS });
|
|
355
354
|
await pooledPage.page.reload({ waitUntil: "domcontentloaded" });
|
|
356
355
|
await pooledPage.page.waitForFunction(() => window.__state?.ready === true, { timeout: PAGE_REFRESH_TIMEOUT_MS });
|
|
357
356
|
pooledPage.ready = true;
|
|
@@ -371,10 +370,10 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
371
370
|
* Shutdown the pool and release all resources
|
|
372
371
|
*/
|
|
373
372
|
async shutdown() {
|
|
374
|
-
|
|
373
|
+
logger.debug("[ChatKitPool] Shutting down");
|
|
375
374
|
this.cancelIdleTimer();
|
|
376
375
|
if (this.waitQueue.length > 0) {
|
|
377
|
-
|
|
376
|
+
logger.debug("[ChatKitPool] Clearing pending waiters", { count: this.waitQueue.length });
|
|
378
377
|
this.waitQueue = [];
|
|
379
378
|
}
|
|
380
379
|
for (const pooledPage of this.pages) try {
|
|
@@ -393,10 +392,9 @@ var ChatKitBrowserPool = class ChatKitBrowserPool {
|
|
|
393
392
|
}
|
|
394
393
|
this.initialized = false;
|
|
395
394
|
this.templates.clear();
|
|
396
|
-
|
|
395
|
+
logger.debug("[ChatKitPool] Shutdown complete");
|
|
397
396
|
}
|
|
398
397
|
};
|
|
399
|
-
|
|
400
398
|
//#endregion
|
|
401
399
|
//#region src/providers/openai/chatkit.ts
|
|
402
400
|
/**
|
|
@@ -715,25 +713,25 @@ async function extractResponseFromFrame(page, maxRetries = 3) {
|
|
|
715
713
|
if (result.text && result.text.length > 0) {
|
|
716
714
|
const trimmed = result.text.trim();
|
|
717
715
|
if (trimmed === "ApproveReject" || trimmed === "Approve" || trimmed === "Reject") {
|
|
718
|
-
|
|
716
|
+
logger.debug("[ChatKitProvider] Skipping approval button text", { text: trimmed });
|
|
719
717
|
continue;
|
|
720
718
|
}
|
|
721
719
|
const cleaned = cleanAssistantResponse(result.text);
|
|
722
720
|
if (cleaned.length > 0) {
|
|
723
|
-
|
|
721
|
+
logger.debug("[ChatKitProvider] Extracted response", {
|
|
724
722
|
source: result.source,
|
|
725
723
|
length: cleaned.length,
|
|
726
724
|
preview: cleaned.substring(0, 100)
|
|
727
725
|
});
|
|
728
726
|
return cleaned;
|
|
729
727
|
}
|
|
730
|
-
|
|
728
|
+
logger.debug("[ChatKitProvider] No assistant content found after cleaning", {
|
|
731
729
|
originalLength: result.text.length,
|
|
732
730
|
source: result.source
|
|
733
731
|
});
|
|
734
732
|
}
|
|
735
733
|
} catch (e) {
|
|
736
|
-
|
|
734
|
+
logger.debug("[ChatKitProvider] Could not access frame", {
|
|
737
735
|
url,
|
|
738
736
|
error: e,
|
|
739
737
|
attempt
|
|
@@ -750,7 +748,7 @@ async function extractResponseFromFrame(page, maxRetries = 3) {
|
|
|
750
748
|
*/
|
|
751
749
|
async function getIframeContent(page) {
|
|
752
750
|
const frames = page.frames();
|
|
753
|
-
|
|
751
|
+
logger.debug("[ChatKitProvider] Checking frames", {
|
|
754
752
|
frameCount: frames.length,
|
|
755
753
|
frameUrls: frames.map((f) => f.url())
|
|
756
754
|
});
|
|
@@ -766,11 +764,11 @@ async function waitForContentStabilization(page, timeout, startTime) {
|
|
|
766
764
|
let lastChangeTime = Date.now();
|
|
767
765
|
const pollStartTime = Date.now();
|
|
768
766
|
let capturedAssistantResponse = "";
|
|
769
|
-
|
|
767
|
+
logger.debug("[ChatKitProvider] Starting content stabilization polling");
|
|
770
768
|
while (Date.now() - pollStartTime < timeout) {
|
|
771
769
|
const state = await page.evaluate(() => window.__state);
|
|
772
770
|
const pollElapsed = Date.now() - pollStartTime;
|
|
773
|
-
if (pollElapsed % 5e3 < CONTENT_POLL_MS)
|
|
771
|
+
if (pollElapsed % 5e3 < CONTENT_POLL_MS) logger.debug("[ChatKitProvider] Polling state", {
|
|
774
772
|
pollElapsedMs: pollElapsed,
|
|
775
773
|
responding: state.responding,
|
|
776
774
|
responseCount: state.responses?.length,
|
|
@@ -779,7 +777,7 @@ async function waitForContentStabilization(page, timeout, startTime) {
|
|
|
779
777
|
});
|
|
780
778
|
const currentContent = await getIframeContent(page) || "";
|
|
781
779
|
if (currentContent !== lastContent) {
|
|
782
|
-
|
|
780
|
+
logger.debug("[ChatKitProvider] Content changed", {
|
|
783
781
|
previousLength: lastContent.length,
|
|
784
782
|
newLength: currentContent.length,
|
|
785
783
|
preview: currentContent.substring(Math.max(0, currentContent.length - 200))
|
|
@@ -791,13 +789,13 @@ async function waitForContentStabilization(page, timeout, startTime) {
|
|
|
791
789
|
const timeSinceLastChange = Date.now() - lastChangeTime;
|
|
792
790
|
const assistantMatch = currentContent.match(/The assistant said:\s*\n*([\s\S]*)/i);
|
|
793
791
|
const assistantResponse = assistantMatch ? assistantMatch[1].trim() : currentContent;
|
|
794
|
-
if (!assistantMatch && currentContent.length > 0)
|
|
792
|
+
if (!assistantMatch && currentContent.length > 0) logger.debug("[ChatKitProvider] Assistant pattern not found, using full content for length check", { contentLength: currentContent.length });
|
|
795
793
|
capturedAssistantResponse = assistantResponse;
|
|
796
794
|
const isShortResponse = assistantResponse.length < SHORT_RESPONSE_THRESHOLD;
|
|
797
795
|
const effectiveStabilizationMs = isShortResponse ? CONTENT_STABILIZATION_MS * 2 : CONTENT_STABILIZATION_MS;
|
|
798
796
|
const effectiveMinWaitMs = isShortResponse ? MIN_WORKFLOW_WAIT_MS * 2 : MIN_WORKFLOW_WAIT_MS;
|
|
799
797
|
if (!state.responding && timeSinceLastChange >= effectiveStabilizationMs && timeSinceStart >= effectiveMinWaitMs) {
|
|
800
|
-
|
|
798
|
+
logger.debug("[ChatKitProvider] Content stabilized", {
|
|
801
799
|
timeSinceStart,
|
|
802
800
|
timeSinceLastChange,
|
|
803
801
|
contentLength: currentContent.length,
|
|
@@ -812,7 +810,7 @@ async function waitForContentStabilization(page, timeout, startTime) {
|
|
|
812
810
|
}
|
|
813
811
|
await page.waitForTimeout(CONTENT_POLL_MS);
|
|
814
812
|
}
|
|
815
|
-
|
|
813
|
+
logger.debug("[ChatKitProvider] Content stabilization timeout reached");
|
|
816
814
|
return {
|
|
817
815
|
assistantResponse: capturedAssistantResponse,
|
|
818
816
|
fullContent: lastContent
|
|
@@ -835,7 +833,7 @@ async function handleApproval(page, action) {
|
|
|
835
833
|
const button = await frame.$(selector);
|
|
836
834
|
if (button) {
|
|
837
835
|
if (await button.isVisible()) {
|
|
838
|
-
|
|
836
|
+
logger.debug("[ChatKitProvider] Found approval button, clicking", {
|
|
839
837
|
action,
|
|
840
838
|
selector
|
|
841
839
|
});
|
|
@@ -853,12 +851,12 @@ async function handleApproval(page, action) {
|
|
|
853
851
|
}
|
|
854
852
|
return false;
|
|
855
853
|
}, buttonText)) {
|
|
856
|
-
|
|
854
|
+
logger.debug("[ChatKitProvider] Clicked approval button via evaluate", { action });
|
|
857
855
|
await page.waitForTimeout(APPROVAL_CLICK_DELAY_MS);
|
|
858
856
|
return true;
|
|
859
857
|
}
|
|
860
858
|
} catch (e) {
|
|
861
|
-
|
|
859
|
+
logger.debug("[ChatKitProvider] Error checking for approval buttons", { error: e });
|
|
862
860
|
}
|
|
863
861
|
return false;
|
|
864
862
|
}
|
|
@@ -873,7 +871,7 @@ async function processApprovals(page, approvalHandling, maxApprovals, timeout) {
|
|
|
873
871
|
await page.waitForTimeout(APPROVAL_PROCESS_DELAY_MS);
|
|
874
872
|
if (!await handleApproval(page, approvalHandling)) break;
|
|
875
873
|
approvalCount++;
|
|
876
|
-
|
|
874
|
+
logger.debug("[ChatKitProvider] Processed approval", {
|
|
877
875
|
count: approvalCount,
|
|
878
876
|
max: maxApprovals
|
|
879
877
|
});
|
|
@@ -933,7 +931,7 @@ var OpenAiChatKitProvider = class OpenAiChatKitProvider extends OpenAiGenericPro
|
|
|
933
931
|
if (!apiKey) throw new Error("OpenAI API key is required for ChatKit provider");
|
|
934
932
|
const workflowId = this.chatKitConfig.workflowId;
|
|
935
933
|
if (!workflowId) throw new Error("ChatKit workflowId is required");
|
|
936
|
-
|
|
934
|
+
logger.debug("[ChatKitProvider] Initializing", {
|
|
937
935
|
workflowId,
|
|
938
936
|
version: this.chatKitConfig.version
|
|
939
937
|
});
|
|
@@ -949,7 +947,7 @@ var OpenAiChatKitProvider = class OpenAiChatKitProvider extends OpenAiGenericPro
|
|
|
949
947
|
this.server.listen(this.chatKitConfig.serverPort, () => {
|
|
950
948
|
const address = this.server.address();
|
|
951
949
|
this.serverPort = typeof address === "object" ? address?.port || 0 : 0;
|
|
952
|
-
|
|
950
|
+
logger.debug("[ChatKitProvider] Server started", { port: this.serverPort });
|
|
953
951
|
resolve();
|
|
954
952
|
});
|
|
955
953
|
});
|
|
@@ -968,17 +966,17 @@ Original error: ${errorMessage}`);
|
|
|
968
966
|
this.page = await this.context.newPage();
|
|
969
967
|
this.page.on("console", (msg) => {
|
|
970
968
|
const type = msg.type();
|
|
971
|
-
if (type === "error" || type === "warning")
|
|
969
|
+
if (type === "error" || type === "warning") logger.debug("[ChatKitProvider] Browser console", {
|
|
972
970
|
type,
|
|
973
971
|
text: msg.text()
|
|
974
972
|
});
|
|
975
973
|
});
|
|
976
974
|
await this.page.goto(`http://localhost:${this.serverPort}`, { waitUntil: "domcontentloaded" });
|
|
977
|
-
|
|
975
|
+
logger.debug("[ChatKitProvider] Waiting for ChatKit ready");
|
|
978
976
|
await this.page.waitForFunction(() => window.__state?.ready === true, { timeout: CHATKIT_READY_TIMEOUT_MS });
|
|
979
977
|
this.initialized = true;
|
|
980
978
|
if (!this.chatKitConfig.usePool) providerRegistry.register(this);
|
|
981
|
-
|
|
979
|
+
logger.debug("[ChatKitProvider] Initialized successfully");
|
|
982
980
|
}
|
|
983
981
|
/**
|
|
984
982
|
* Shutdown method for providerRegistry cleanup
|
|
@@ -1010,7 +1008,7 @@ Original error: ${errorMessage}`);
|
|
|
1010
1008
|
*/
|
|
1011
1009
|
async callApi(prompt, _context, _callApiOptions) {
|
|
1012
1010
|
const usePool = this.chatKitConfig.usePool && !this.chatKitConfig.stateful;
|
|
1013
|
-
|
|
1011
|
+
logger.debug("[ChatKitProvider] Starting call", {
|
|
1014
1012
|
prompt: prompt.substring(0, 100),
|
|
1015
1013
|
workflowId: this.chatKitConfig.workflowId,
|
|
1016
1014
|
usePool,
|
|
@@ -1027,7 +1025,7 @@ Original error: ${errorMessage}`);
|
|
|
1027
1025
|
}
|
|
1028
1026
|
const responseCount = await this.page.evaluate(() => window.__state?.responses?.length || 0);
|
|
1029
1027
|
const isFollowUp = this.chatKitConfig.stateful && responseCount > 0;
|
|
1030
|
-
|
|
1028
|
+
logger.debug("[ChatKitProvider] Sending message", {
|
|
1031
1029
|
stateful: this.chatKitConfig.stateful,
|
|
1032
1030
|
isFollowUp,
|
|
1033
1031
|
responseCount
|
|
@@ -1041,21 +1039,21 @@ Original error: ${errorMessage}`);
|
|
|
1041
1039
|
text: prompt,
|
|
1042
1040
|
newThread: !isFollowUp
|
|
1043
1041
|
});
|
|
1044
|
-
|
|
1042
|
+
logger.debug("[ChatKitProvider] Waiting for response");
|
|
1045
1043
|
const expectedResponseCount = responseCount + 1;
|
|
1046
1044
|
await this.page.waitForFunction((expected) => window.__state?.responses?.length >= expected, expectedResponseCount, { timeout: this.chatKitConfig.timeout });
|
|
1047
1045
|
const stabilizationResult = await waitForContentStabilization(this.page, this.chatKitConfig.timeout ?? DEFAULT_TIMEOUT_MS, startTime);
|
|
1048
1046
|
const approvalsHandled = await processApprovals(this.page, this.chatKitConfig.approvalHandling ?? "auto-approve", this.chatKitConfig.maxApprovals ?? DEFAULT_MAX_APPROVALS, this.chatKitConfig.timeout ?? DEFAULT_TIMEOUT_MS);
|
|
1049
|
-
if (approvalsHandled > 0)
|
|
1047
|
+
if (approvalsHandled > 0) logger.debug("[ChatKitProvider] Processed approvals", { count: approvalsHandled });
|
|
1050
1048
|
let responseText = await extractResponseFromFrame(this.page);
|
|
1051
1049
|
if (!responseText && stabilizationResult.assistantResponse) {
|
|
1052
|
-
|
|
1050
|
+
logger.debug("[ChatKitProvider] Using fallback content from stabilization", { fallbackLength: stabilizationResult.assistantResponse.length });
|
|
1053
1051
|
responseText = cleanAssistantResponse(stabilizationResult.assistantResponse);
|
|
1054
1052
|
}
|
|
1055
1053
|
const threadId = await this.page.evaluate(() => window.__state.threadId);
|
|
1056
1054
|
const finalResponseCount = await this.page.evaluate(() => window.__state?.responses?.length || 0);
|
|
1057
1055
|
const latencyMs = Date.now() - startTime;
|
|
1058
|
-
|
|
1056
|
+
logger.debug("[ChatKitProvider] Response received", {
|
|
1059
1057
|
threadId,
|
|
1060
1058
|
textLength: responseText.length,
|
|
1061
1059
|
turnNumber: finalResponseCount,
|
|
@@ -1076,7 +1074,7 @@ Original error: ${errorMessage}`);
|
|
|
1076
1074
|
};
|
|
1077
1075
|
} catch (error) {
|
|
1078
1076
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
1079
|
-
|
|
1077
|
+
logger.error("[ChatKitProvider] Call failed", { error: errorMessage });
|
|
1080
1078
|
if (this.page) try {
|
|
1081
1079
|
const stateError = await this.page.evaluate(() => window.__state?.error);
|
|
1082
1080
|
if (stateError) return { error: `ChatKit workflow error: ${stateError}` };
|
|
@@ -1108,7 +1106,7 @@ Original error: ${errorMessage}`);
|
|
|
1108
1106
|
try {
|
|
1109
1107
|
pooledPage = await pool.acquirePage(templateKey);
|
|
1110
1108
|
const page = pooledPage.page;
|
|
1111
|
-
|
|
1109
|
+
logger.debug("[ChatKitProvider] Acquired page from pool", { stats: pool.getStats() });
|
|
1112
1110
|
await page.evaluate((text) => {
|
|
1113
1111
|
return window.__chatkit.sendUserMessage({
|
|
1114
1112
|
text,
|
|
@@ -1118,15 +1116,15 @@ Original error: ${errorMessage}`);
|
|
|
1118
1116
|
await page.waitForFunction(() => window.__state?.responses?.length > 0, { timeout: this.chatKitConfig.timeout });
|
|
1119
1117
|
const stabilizationResult = await waitForContentStabilization(page, this.chatKitConfig.timeout ?? DEFAULT_TIMEOUT_MS, startTime);
|
|
1120
1118
|
const approvalsHandled = await processApprovals(page, this.chatKitConfig.approvalHandling ?? "auto-approve", this.chatKitConfig.maxApprovals ?? DEFAULT_MAX_APPROVALS, this.chatKitConfig.timeout ?? DEFAULT_TIMEOUT_MS);
|
|
1121
|
-
if (approvalsHandled > 0)
|
|
1119
|
+
if (approvalsHandled > 0) logger.debug("[ChatKitProvider] Pool processed approvals", { count: approvalsHandled });
|
|
1122
1120
|
let responseText = await extractResponseFromFrame(page);
|
|
1123
1121
|
if (!responseText && stabilizationResult.assistantResponse) {
|
|
1124
|
-
|
|
1122
|
+
logger.debug("[ChatKitProvider] Pool using fallback content from stabilization", { fallbackLength: stabilizationResult.assistantResponse.length });
|
|
1125
1123
|
responseText = cleanAssistantResponse(stabilizationResult.assistantResponse);
|
|
1126
1124
|
}
|
|
1127
1125
|
const threadId = await page.evaluate(() => window.__state.threadId);
|
|
1128
1126
|
const latencyMs = Date.now() - startTime;
|
|
1129
|
-
|
|
1127
|
+
logger.debug("[ChatKitProvider] Pool response received", {
|
|
1130
1128
|
threadId,
|
|
1131
1129
|
textLength: responseText.length,
|
|
1132
1130
|
latencyMs
|
|
@@ -1145,7 +1143,7 @@ Original error: ${errorMessage}`);
|
|
|
1145
1143
|
};
|
|
1146
1144
|
} catch (error) {
|
|
1147
1145
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
1148
|
-
|
|
1146
|
+
logger.error("[ChatKitProvider] Pool call failed", { error: errorMessage });
|
|
1149
1147
|
if (errorMessage.includes("Timeout") || errorMessage.includes("timeout")) return { error: `ChatKit response timeout after ${this.chatKitConfig.timeout}ms. Try increasing timeout or reducing concurrency.` };
|
|
1150
1148
|
return { error: `ChatKit provider error: ${errorMessage}` };
|
|
1151
1149
|
} finally {
|
|
@@ -1153,7 +1151,7 @@ Original error: ${errorMessage}`);
|
|
|
1153
1151
|
}
|
|
1154
1152
|
}
|
|
1155
1153
|
};
|
|
1156
|
-
|
|
1157
1154
|
//#endregion
|
|
1158
1155
|
export { OpenAiChatKitProvider };
|
|
1159
|
-
|
|
1156
|
+
|
|
1157
|
+
//# sourceMappingURL=chatkit-Be-Q-a9F.js.map
|