squidclaw 3.0.3 → 3.0.4
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/dist/{audio-preflight-BTYxAJjy.js → audio-preflight-BKgdc7dS.js} +4 -4
- package/dist/{audio-preflight-Dkl6Z32z.js → audio-preflight-DpCWFB4z.js} +4 -4
- package/dist/{audio-transcription-runner-Gi_h5HEE.js → audio-transcription-runner-B2BdTEps.js} +1 -1
- package/dist/{audio-transcription-runner-DBkDgluo.js → audio-transcription-runner-BnbdYMDl.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chrome-CAd6FQEn.js → chrome-BQDCalPp.js} +8 -8
- package/dist/{chrome-pBkBuWci.js → chrome-CjxCwFA9.js} +8 -8
- package/dist/{command-registry-CvgCFxfY.js → command-registry-CxiSVXru.js} +6 -6
- package/dist/{completion-cli-BGM1V6EN.js → completion-cli-s0fxD0OE.js} +2 -2
- package/dist/{completion-cli-OrgUDc2S.js → completion-cli-slzdOlRV.js} +1 -1
- package/dist/{config-cli-DbBvjvpS.js → config-cli-C0mk9eRl.js} +1 -1
- package/dist/{config-cli-uIP4r17f.js → config-cli-DhHEA_Nc.js} +1 -1
- package/dist/{configure-BGvoAfbs.js → configure-CeLdVVyh.js} +8 -1
- package/dist/{configure-BOsTXjBw.js → configure-FRd92XZ8.js} +8 -1
- package/dist/{deliver-DBXe-ZmL.js → deliver-D-f6Wa3i.js} +1 -1
- package/dist/{deliver-BJuiq0GS.js → deliver-aL8yOYS1.js} +1 -1
- package/dist/{deliver-runtime-DHKcNQzq.js → deliver-runtime-ChVR6sR3.js} +3 -3
- package/dist/{deliver-runtime-GlnBJNCj.js → deliver-runtime-_egya0QZ.js} +3 -3
- package/dist/{deps-send-whatsapp.runtime-DdxKewuy.js → deps-send-whatsapp.runtime-CZj97m5A.js} +7 -7
- package/dist/{deps-send-whatsapp.runtime-CslTuV47.js → deps-send-whatsapp.runtime-CiG6xd2e.js} +7 -7
- package/dist/{doctor-completion-42wcUATu.js → doctor-completion-I-WDZUs1.js} +1 -1
- package/dist/{doctor-completion-D6RGDBD5.js → doctor-completion-mnJOkoQ_.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/extensionAPI.js +6 -6
- package/dist/{gateway-cli-CG3mshpO.js → gateway-cli-B5rTNvd7.js} +1 -1
- package/dist/{gateway-cli-BbPfLLT6.js → gateway-cli-BHfkbI0u.js} +1 -1
- package/dist/{image-j_UomzVG.js → image-C-C7hQ26.js} +1 -1
- package/dist/{image-sRW3RpTY.js → image-DKZCmkET.js} +1 -1
- package/dist/{image-runtime-BNh3IfMj.js → image-runtime-D7n4dID4.js} +3 -3
- package/dist/{image-runtime-SUtf9jqh.js → image-runtime-poRypm-b.js} +3 -3
- package/dist/index.js +1 -1
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{onboard-ChxvwUze.js → onboard-BP2Cr_Xy.js} +1 -1
- package/dist/{onboard-1KfKwvMR.js → onboard-CCJCvPgf.js} +1 -1
- package/dist/{onboarding-D6kMb3yv.js → onboarding-D5G87dvM.js} +1 -1
- package/dist/{onboarding-DuUMPrqA.js → onboarding-D7CIbxzd.js} +1 -1
- package/dist/{onboarding.finalize-KTOhO1-l.js → onboarding.finalize-B1MmYTFV.js} +4 -4
- package/dist/{onboarding.finalize-bphDUwZy.js → onboarding.finalize-Cxzl-fYU.js} +3 -3
- package/dist/{pi-embedded-BP2UlUm_.js → pi-embedded-CHzwPt6X.js} +24 -24
- package/dist/{pi-embedded-BGz_qdCc.js → pi-embedded-MktS4l8v.js} +24 -24
- package/dist/{pi-embedded-helpers-CmLnmKlb.js → pi-embedded-helpers-Bse_QhEf.js} +3 -3
- package/dist/{pi-embedded-helpers-BruaFB5l.js → pi-embedded-helpers-DYWYzEOC.js} +3 -3
- package/dist/plugin-sdk/accounts-BNuRM3rG.js +288 -0
- package/dist/plugin-sdk/accounts-CGTYP7Rh.js +46 -0
- package/dist/plugin-sdk/accounts-CcS9IAhD.js +35 -0
- package/dist/plugin-sdk/{accounts-YTdQYQFr.js → accounts-CxUSDHsT.js} +3 -3
- package/dist/plugin-sdk/{accounts-h__dTrLK.js → accounts-PSzw-z3S.js} +2 -2
- package/dist/plugin-sdk/{accounts-DghIDNk2.js → accounts-kr-Gz1hk.js} +2 -2
- package/dist/plugin-sdk/{active-listener-_PRYjtJv.js → active-listener-BQNrTcR3.js} +2 -2
- package/dist/plugin-sdk/active-listener-CTsLn1AX.js +50 -0
- package/dist/plugin-sdk/{api-key-rotation-mVDSAkKQ.js → api-key-rotation-Bhck7wki.js} +2 -2
- package/dist/plugin-sdk/api-key-rotation-DE4gr5YM.js +181 -0
- package/dist/plugin-sdk/audio-preflight-CRGLqp-g.js +69 -0
- package/dist/plugin-sdk/{audio-preflight-BZlQM-qX.js → audio-preflight-_xgGaeho.js} +26 -26
- package/dist/plugin-sdk/{audio-transcription-runner-CrYTX8py.js → audio-transcription-runner-Dwc0Eh-B.js} +11 -11
- package/dist/plugin-sdk/audio-transcription-runner-RXsskMMk.js +2176 -0
- package/dist/plugin-sdk/audit-membership-runtime-B9b-zRwg.js +58 -0
- package/dist/plugin-sdk/{audit-membership-runtime-Xl20kCBe.js → audit-membership-runtime-DHQDvH4u.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-gwxRn4wF.js → channel-activity-XajEg_DL.js} +3 -3
- package/dist/plugin-sdk/channel-activity-gPvD1D7S.js +94 -0
- package/dist/plugin-sdk/{channel-web-1WF-Nabe.js → channel-web-KtqCp4mz.js} +18 -18
- package/dist/plugin-sdk/channel-web-LGl1zPJt.js +2256 -0
- package/dist/plugin-sdk/chrome-9Y_LcUg1.js +2415 -0
- package/dist/plugin-sdk/{chrome-BXbYwXRH.js → chrome-diV5m81I.js} +6 -6
- package/dist/plugin-sdk/commands-registry-CcdEPxVg.js +1125 -0
- package/dist/plugin-sdk/{commands-registry-0w-aZenK.js → commands-registry-DwZAJuut.js} +4 -4
- package/dist/plugin-sdk/{common-DBOCt6Yv.js → common-CqnO92P8.js} +2 -2
- package/dist/plugin-sdk/config-CrQ5bCrw.js +17912 -0
- package/dist/plugin-sdk/{config-pRtEoVyZ.js → config-DYbtdrsT.js} +7 -7
- package/dist/plugin-sdk/deliver-D3xr5AkB.js +1694 -0
- package/dist/plugin-sdk/{deliver-FjlJrtZk.js → deliver-DG_7Uagn.js} +10 -10
- package/dist/plugin-sdk/deliver-runtime-B79ZQu69.js +32 -0
- package/dist/plugin-sdk/deliver-runtime-BdTC7uKE.js +32 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-BOQZIqC8.js +23 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-CObCNMt3.js +23 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-CuHOc9Ka.js +22 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-DlWgi2DH.js +22 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-Cz7FT8J8.js +21 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-iPynghkE.js +21 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-D4vDoRsg.js +19 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-DNTbE5jS.js +19 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-7CR-xtCF.js +24 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-DjTVED_m.js +24 -0
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-CRWOIKRC.js +57 -0
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-bUi8kghi.js +57 -0
- package/dist/plugin-sdk/diagnostic-BXkLYs_9.js +319 -0
- package/dist/plugin-sdk/{diagnostic-Dt2i3afe.js → diagnostic-CT7v_kM2.js} +2 -2
- package/dist/plugin-sdk/{errors-CgRPdp3o.js → errors-9oVz7reJ.js} +1 -1
- package/dist/plugin-sdk/errors-B8oJXuCF.js +54 -0
- package/dist/plugin-sdk/fetch-guard-C55uvn27.js +156 -0
- package/dist/plugin-sdk/{fetch-guard-DyPZh8r2.js → fetch-guard-Or5BCq0E.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DqCO1D4C.js → fs-safe-DFbwq9CS.js} +3 -3
- package/dist/plugin-sdk/fs-safe-Dqmpk-Fr.js +352 -0
- package/dist/plugin-sdk/image-3xW7IJdq.js +2310 -0
- package/dist/plugin-sdk/image-ops-BjK2qZZn.js +584 -0
- package/dist/plugin-sdk/{image-ops-sw0uZ0GN.js → image-ops-CMsocOob.js} +2 -2
- package/dist/plugin-sdk/image-runtime-CZZJJqcW.js +25 -0
- package/dist/plugin-sdk/image-runtime-Cjz368oj.js +25 -0
- package/dist/plugin-sdk/{image-CQ9TZ9vq.js → image-rycGCqJO.js} +6 -6
- package/dist/plugin-sdk/index.js +50 -50
- package/dist/plugin-sdk/ir-CS7uuQhN.js +1296 -0
- package/dist/plugin-sdk/{ir-BVZ5kUMb.js → ir-DihI2SIz.js} +7 -7
- package/dist/plugin-sdk/{local-roots-fO3ZgW3G.js → local-roots-1xVosTZ4.js} +4 -4
- package/dist/plugin-sdk/local-roots-DmOKwiNW.js +186 -0
- package/dist/plugin-sdk/{logger-DIb2cGHp.js → logger-Bg4vIUJn.js} +2 -2
- package/dist/plugin-sdk/logger-DDdrdbDu.js +1163 -0
- package/dist/plugin-sdk/login-BSEeU27Y.js +57 -0
- package/dist/plugin-sdk/{login-Dg5cxB_3.js → login-YhFrVUWo.js} +4 -4
- package/dist/plugin-sdk/login-qr-BwWJsDSj.js +320 -0
- package/dist/plugin-sdk/{login-qr-C3Vn30cq.js → login-qr-SpUTuwYv.js} +5 -5
- package/dist/plugin-sdk/manager-DiXPCubI.js +3917 -0
- package/dist/plugin-sdk/{manager-BR-TwWTH.js → manager-DrzOPeMD.js} +8 -8
- package/dist/plugin-sdk/manager-runtime-CF55pBNe.js +15 -0
- package/dist/plugin-sdk/manager-runtime-Ct0m9UJC.js +15 -0
- package/dist/plugin-sdk/mattermost.js +3 -3
- package/dist/plugin-sdk/{outbound-1a3Z_QJ2.js → outbound-Cc4cUn9K.js} +5 -5
- package/dist/plugin-sdk/outbound-attachment-BoFx05zw.js +19 -0
- package/dist/plugin-sdk/{outbound-attachment-BTQjD4YE.js → outbound-attachment-Dtp3hQgc.js} +2 -2
- package/dist/plugin-sdk/outbound-cpqK1GFe.js +212 -0
- package/dist/plugin-sdk/{path-alias-guards-TnxupPQC.js → path-alias-guards-DA0MhfkG.js} +1 -1
- package/dist/plugin-sdk/path-alias-guards-gBhrAn14.js +43 -0
- package/dist/plugin-sdk/paths-C6W4VHoa.js +166 -0
- package/dist/plugin-sdk/{paths-B7_75Pdr.js → paths-CP67O8eN.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-DZRNadD8.js → pi-embedded-helpers-BDJ_4Plh.js} +16 -16
- package/dist/plugin-sdk/pi-embedded-helpers-C-B9B6Sp.js +9627 -0
- package/dist/plugin-sdk/pi-model-discovery-BGEeoPzN.js +134 -0
- package/dist/plugin-sdk/{pi-model-discovery-DGh6xekX.js → pi-model-discovery-Mk0GTDJl.js} +1 -1
- package/dist/plugin-sdk/pi-model-discovery-runtime-BHZ_Htob.js +8 -0
- package/dist/plugin-sdk/pi-model-discovery-runtime-BrwtJHPU.js +8 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-ByN_xThw.js +354 -0
- package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-BZ9XgG_x.js → pi-tools.before-tool-call.runtime-DV72wTDb.js} +4 -4
- package/dist/plugin-sdk/plugins-D5cdn70e.js +864 -0
- package/dist/plugin-sdk/{plugins-B8pWVYug.js → plugins-DSs2-fnK.js} +4 -4
- package/dist/plugin-sdk/{proxy-env-BOlkiW1-.js → proxy-env-Ib4-LUh-.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-Dt5BedH8.js → proxy-fetch-Cf3IUSDw.js} +1 -1
- package/dist/plugin-sdk/proxy-fetch-ZPEvp58f.js +38 -0
- package/dist/plugin-sdk/pw-ai-C_QOIuin.js +1938 -0
- package/dist/plugin-sdk/{pw-ai-C17A1o4w.js → pw-ai-DIx2wpkY.js} +9 -9
- package/dist/plugin-sdk/qmd-manager-6bozlfFg.js +1448 -0
- package/dist/plugin-sdk/{qmd-manager-Bei6TaFq.js → qmd-manager-Ov9ElEfG.js} +7 -7
- package/dist/plugin-sdk/{query-expansion-POz2za8a.js → query-expansion-CzjwW461.js} +4 -4
- package/dist/plugin-sdk/query-expansion-eeVz_aEm.js +1011 -0
- package/dist/plugin-sdk/{redact-9WsNyb7S.js → redact-BoNEjbpF.js} +1 -1
- package/dist/plugin-sdk/redact-DfACyt0X.js +319 -0
- package/dist/plugin-sdk/reply-CQUX_haM.js +98828 -0
- package/dist/plugin-sdk/{reply-BFbijn6_.js → reply-CWWUd_JS.js} +73 -73
- package/dist/plugin-sdk/{resolve-outbound-target-B9iFEh0y.js → resolve-outbound-target-BOkvxZtM.js} +2 -2
- package/dist/plugin-sdk/resolve-outbound-target-Dbz0O8cR.js +40 -0
- package/dist/plugin-sdk/run-with-concurrency-5DMu9szx.js +1994 -0
- package/dist/plugin-sdk/{run-with-concurrency-DmTrN5JG.js → run-with-concurrency-kVooFCVo.js} +1 -1
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DitS0I1z.js +10 -0
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-OthrtsLL.js +10 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-CYCr6A3v.js +19 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-Q2HL0zL3.js +19 -0
- package/dist/plugin-sdk/send-BACEu1Un.js +414 -0
- package/dist/plugin-sdk/{send-BGZo6HW1.js → send-BP1fSEBR.js} +5 -5
- package/dist/plugin-sdk/send-BU4OoR7u.js +2587 -0
- package/dist/plugin-sdk/{send-BqkUDZed.js → send-BeLBlAsQ.js} +13 -13
- package/dist/plugin-sdk/{send-BisREGBZ.js → send-D9CSOGul.js} +6 -6
- package/dist/plugin-sdk/{send-D6_nNvi0.js → send-DLKxJJYV.js} +8 -8
- package/dist/plugin-sdk/send-DbxOJ_BC.js +3135 -0
- package/dist/plugin-sdk/{send-Dj7XEcZN.js → send-XZ6IXCtL.js} +7 -7
- package/dist/plugin-sdk/send-n932vjT5.js +540 -0
- package/dist/plugin-sdk/send-uCPS53j8.js +503 -0
- package/dist/plugin-sdk/session-DenDKR_-.js +169 -0
- package/dist/plugin-sdk/{session-D4KDs7Hq.js → session-DtLUYWvY.js} +3 -3
- package/dist/plugin-sdk/skill-commands-BK1KDKmS.js +342 -0
- package/dist/plugin-sdk/{skill-commands-D_xeseiI.js → skill-commands-Bv7EZypt.js} +4 -4
- package/dist/plugin-sdk/{skills-Bs2b3JfV.js → skills-BzXN4uev.js} +6 -6
- package/dist/plugin-sdk/skills-D4am-zkO.js +1428 -0
- package/dist/plugin-sdk/slash-commands.runtime-Bx1K1iqP.js +13 -0
- package/dist/plugin-sdk/slash-commands.runtime-DWfFqMZw.js +13 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-DVn338JI.js +52 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-pnWH5AjM.js +52 -0
- package/dist/plugin-sdk/slash-skill-commands.runtime-Dbi_YzPO.js +16 -0
- package/dist/plugin-sdk/slash-skill-commands.runtime-DxvNWv_E.js +16 -0
- package/dist/plugin-sdk/ssrf-2WBi1Tzx.js +202 -0
- package/dist/plugin-sdk/store-BKDMuvyn.js +81 -0
- package/dist/plugin-sdk/{store-B7ESm9_L.js → store-DnJhFFW5.js} +2 -2
- package/dist/plugin-sdk/subagent-registry-runtime-FhP0l-Rw.js +52 -0
- package/dist/plugin-sdk/subagent-registry-runtime-hH9ADku1.js +52 -0
- package/dist/plugin-sdk/{tables-1vhBJPK_.js → tables-CpmqssLF.js} +1 -1
- package/dist/plugin-sdk/tables-CrDYcv_b.js +55 -0
- package/dist/plugin-sdk/target-errors-aOwE-MIU.js +195 -0
- package/dist/plugin-sdk/{thinking-DjaClmzi.js → thinking-1UCPuD9d.js} +7 -7
- package/dist/plugin-sdk/thinking-D41FMh9T.js +1206 -0
- package/dist/plugin-sdk/{tokens-CLE20fRI.js → tokens-CTIYTLWu.js} +1 -1
- package/dist/plugin-sdk/tokens-DAL_5WHL.js +52 -0
- package/dist/plugin-sdk/{tool-images-B95xcwiR.js → tool-images-CWc54lpI.js} +2 -2
- package/dist/plugin-sdk/tool-images-RX4QTMnt.js +274 -0
- package/dist/plugin-sdk/web-AtEy-48y.js +56 -0
- package/dist/plugin-sdk/web-DjKONHqF.js +56 -0
- package/dist/plugin-sdk/{whatsapp-actions-BYpcWkTN.js → whatsapp-actions-BF6ih4Gi.js} +17 -17
- package/dist/plugin-sdk/whatsapp-actions-DEZcm_CZ.js +80 -0
- package/dist/plugin-sdk/whatsapp.js +50 -50
- package/dist/{program-xNEHPhT8.js → program-2J-jgdfk.js} +2 -2
- package/dist/{program-context-J_FyEsaS.js → program-context-SjYSWx_N.js} +8 -8
- package/dist/{prompt-select-styled-B1LjjgQ0.js → prompt-select-styled-Baiu3mAU.js} +1 -1
- package/dist/{prompt-select-styled-BRiogP_P.js → prompt-select-styled-DPnVmH8f.js} +1 -1
- package/dist/{pw-ai-7kHgUGj0.js → pw-ai-BwRP3TWc.js} +1 -1
- package/dist/{pw-ai-BmGrTicP.js → pw-ai-zFPBSxaL.js} +1 -1
- package/dist/{register.configure-DezZ4Q1p.js → register.configure-Ao1K2uze.js} +1 -1
- package/dist/{register.configure-C4p9ad2q.js → register.configure-CCkfhF-7.js} +1 -1
- package/dist/{register.maintenance-CzMKTC2a.js → register.maintenance-DMbs8w2m.js} +4 -4
- package/dist/{register.maintenance-CTvFmkAm.js → register.maintenance-pLpE2oF-.js} +5 -5
- package/dist/{register.onboard-C39xhpv1.js → register.onboard-Cb8xLIye.js} +2 -2
- package/dist/{register.onboard-DZt2kSAg.js → register.onboard-IMrHOeW_.js} +2 -2
- package/dist/{register.setup-04L_8wfA.js → register.setup-CX8IUmew.js} +2 -2
- package/dist/{register.setup-DWctFmOd.js → register.setup-DU7IDzAv.js} +2 -2
- package/dist/{register.subclis-C3TphbCF.js → register.subclis-BIbL6FBV.js} +3 -3
- package/dist/{run-main-7tknx04F.js → run-main-CpDZPsC_.js} +5 -5
- package/dist/{slash-dispatch.runtime-BL3qA1O3.js → slash-dispatch.runtime-DkcAYuyK.js} +6 -6
- package/dist/{slash-dispatch.runtime-Dh2L_3Tg.js → slash-dispatch.runtime-DuJRl-LD.js} +6 -6
- package/dist/{subagent-registry-runtime-MtjBCcgn.js → subagent-registry-runtime-BlRAnw80.js} +6 -6
- package/dist/{subagent-registry-runtime-BRNDawlJ.js → subagent-registry-runtime-COygB9b1.js} +6 -6
- package/dist/{update-cli-0UiUaT3q.js → update-cli-BwhvSo1R.js} +5 -5
- package/dist/{update-cli-C-uyQcFS.js → update-cli-TQEfxhWF.js} +4 -4
- package/dist/{web-D1ZoRVB0.js → web-DddJa7ZT.js} +6 -6
- package/dist/{web-B7kbCskR.js → web-DyCuTR9b.js} +6 -6
- package/package.json +7 -7
- package/dist/plugin-sdk/deliver-runtime-DEzvpBW1.js +0 -32
- package/dist/plugin-sdk/deps-send-discord.runtime-Bhusa_Hi.js +0 -23
- package/dist/plugin-sdk/deps-send-imessage.runtime-bmakPm5f.js +0 -22
- package/dist/plugin-sdk/deps-send-signal.runtime-n00sfFto.js +0 -21
- package/dist/plugin-sdk/deps-send-slack.runtime-BvM3Z-Mr.js +0 -19
- package/dist/plugin-sdk/deps-send-telegram.runtime-CPuMkcmo.js +0 -24
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-BzO6S-KX.js +0 -57
- package/dist/plugin-sdk/image-runtime-17_mTqsy.js +0 -25
- package/dist/plugin-sdk/manager-runtime-CvI9wF8N.js +0 -15
- package/dist/plugin-sdk/pi-model-discovery-runtime-DjjBdPYt.js +0 -8
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DzhkSmLi.js +0 -10
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DyILWezU.js +0 -19
- package/dist/plugin-sdk/slash-commands.runtime-CUb5sqqf.js +0 -13
- package/dist/plugin-sdk/slash-dispatch.runtime-DCB6bGjB.js +0 -52
- package/dist/plugin-sdk/slash-skill-commands.runtime-BqEweE4K.js +0 -16
- package/dist/plugin-sdk/subagent-registry-runtime-CCUW4SbM.js +0 -52
- package/dist/plugin-sdk/web-DeRmHQ4_.js +0 -56
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ot as normalizeAccountId } from "./run-with-concurrency-5DMu9szx.js";
|
|
2
|
+
import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-BNuRM3rG.js";
|
|
3
|
+
|
|
4
|
+
//#region src/imessage/accounts.ts
|
|
5
|
+
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
|
|
6
|
+
const listIMessageAccountIds = listAccountIds;
|
|
7
|
+
const resolveDefaultIMessageAccountId = resolveDefaultAccountId;
|
|
8
|
+
function resolveAccountConfig(cfg, accountId) {
|
|
9
|
+
return resolveAccountEntry(cfg.channels?.imessage?.accounts, accountId);
|
|
10
|
+
}
|
|
11
|
+
function mergeIMessageAccountConfig(cfg, accountId) {
|
|
12
|
+
const { accounts: _ignored, ...base } = cfg.channels?.imessage ?? {};
|
|
13
|
+
const account = resolveAccountConfig(cfg, accountId) ?? {};
|
|
14
|
+
return {
|
|
15
|
+
...base,
|
|
16
|
+
...account
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function resolveIMessageAccount(params) {
|
|
20
|
+
const accountId = normalizeAccountId(params.accountId);
|
|
21
|
+
const baseEnabled = params.cfg.channels?.imessage?.enabled !== false;
|
|
22
|
+
const merged = mergeIMessageAccountConfig(params.cfg, accountId);
|
|
23
|
+
const accountEnabled = merged.enabled !== false;
|
|
24
|
+
const configured = Boolean(merged.cliPath?.trim() || merged.dbPath?.trim() || merged.service || merged.region?.trim() || merged.allowFrom && merged.allowFrom.length > 0 || merged.groupAllowFrom && merged.groupAllowFrom.length > 0 || merged.dmPolicy || merged.groupPolicy || typeof merged.includeAttachments === "boolean" || merged.attachmentRoots && merged.attachmentRoots.length > 0 || merged.remoteAttachmentRoots && merged.remoteAttachmentRoots.length > 0 || typeof merged.mediaMaxMb === "number" || typeof merged.textChunkLimit === "number" || merged.groups && Object.keys(merged.groups).length > 0);
|
|
25
|
+
return {
|
|
26
|
+
accountId,
|
|
27
|
+
enabled: baseEnabled && accountEnabled,
|
|
28
|
+
name: merged.name?.trim() || void 0,
|
|
29
|
+
config: merged,
|
|
30
|
+
configured
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { resolveDefaultIMessageAccountId as n, resolveIMessageAccount as r, listIMessageAccountIds as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { at as DEFAULT_ACCOUNT_ID, ot as normalizeAccountId, st as normalizeOptionalAccountId } from "./run-with-concurrency-
|
|
2
|
-
import { Tr as formatCliCommand } from "./config-
|
|
3
|
-
import { B as success, G as getChildLogger, I as info, j as defaultRuntime, m as jidToE164, y as resolveUserPath } from "./logger-
|
|
1
|
+
import { at as DEFAULT_ACCOUNT_ID, ot as normalizeAccountId, st as normalizeOptionalAccountId } from "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import { Tr as formatCliCommand } from "./config-DYbtdrsT.js";
|
|
3
|
+
import { B as success, G as getChildLogger, I as info, j as defaultRuntime, m as jidToE164, y as resolveUserPath } from "./logger-Bg4vIUJn.js";
|
|
4
4
|
import { o as resolveOAuthDir } from "./paths-Duwviem_.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ot as normalizeAccountId } from "./run-with-concurrency-
|
|
2
|
-
import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-
|
|
1
|
+
import { ot as normalizeAccountId } from "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-CxUSDHsT.js";
|
|
3
3
|
|
|
4
4
|
//#region src/imessage/accounts.ts
|
|
5
5
|
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ot as normalizeAccountId } from "./run-with-concurrency-
|
|
2
|
-
import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-
|
|
1
|
+
import { ot as normalizeAccountId } from "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import { v as resolveAccountEntry, y as createAccountListHelpers } from "./accounts-CxUSDHsT.js";
|
|
3
3
|
|
|
4
4
|
//#region src/signal/accounts.ts
|
|
5
5
|
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { at as DEFAULT_ACCOUNT_ID } from "./run-with-concurrency-
|
|
2
|
-
import { Tr as formatCliCommand } from "./config-
|
|
1
|
+
import { at as DEFAULT_ACCOUNT_ID } from "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import { Tr as formatCliCommand } from "./config-DYbtdrsT.js";
|
|
3
3
|
import crypto from "node:crypto";
|
|
4
4
|
|
|
5
5
|
//#region src/logging/redact-identifier.ts
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { at as DEFAULT_ACCOUNT_ID } from "./run-with-concurrency-5DMu9szx.js";
|
|
2
|
+
import { Pr as formatCliCommand } from "./config-CrQ5bCrw.js";
|
|
3
|
+
import crypto from "node:crypto";
|
|
4
|
+
|
|
5
|
+
//#region src/logging/redact-identifier.ts
|
|
6
|
+
function sha256HexPrefix(value, len = 12) {
|
|
7
|
+
const safeLen = Number.isFinite(len) ? Math.max(1, Math.floor(len)) : 12;
|
|
8
|
+
return crypto.createHash("sha256").update(value).digest("hex").slice(0, safeLen);
|
|
9
|
+
}
|
|
10
|
+
function redactIdentifier(value, opts) {
|
|
11
|
+
const trimmed = value?.trim();
|
|
12
|
+
if (!trimmed) return "-";
|
|
13
|
+
return `sha256:${sha256HexPrefix(trimmed, opts?.len ?? 12)}`;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/web/active-listener.ts
|
|
18
|
+
const listeners = /* @__PURE__ */ new Map();
|
|
19
|
+
function resolveWebAccountId(accountId) {
|
|
20
|
+
return (accountId ?? "").trim() || DEFAULT_ACCOUNT_ID;
|
|
21
|
+
}
|
|
22
|
+
function requireActiveWebListener(accountId) {
|
|
23
|
+
const id = resolveWebAccountId(accountId);
|
|
24
|
+
const listener = listeners.get(id) ?? null;
|
|
25
|
+
if (!listener) throw new Error(`No active WhatsApp Web listener (account: ${id}). Start the gateway, then link WhatsApp with: ${formatCliCommand(`squidclaw channels login --channel whatsapp --account ${id}`)}.`);
|
|
26
|
+
return {
|
|
27
|
+
accountId: id,
|
|
28
|
+
listener
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function setActiveWebListener(accountIdOrListener, maybeListener) {
|
|
32
|
+
const { accountId, listener } = typeof accountIdOrListener === "string" ? {
|
|
33
|
+
accountId: accountIdOrListener,
|
|
34
|
+
listener: maybeListener ?? null
|
|
35
|
+
} : {
|
|
36
|
+
accountId: DEFAULT_ACCOUNT_ID,
|
|
37
|
+
listener: accountIdOrListener ?? null
|
|
38
|
+
};
|
|
39
|
+
const id = resolveWebAccountId(accountId);
|
|
40
|
+
if (!listener) listeners.delete(id);
|
|
41
|
+
else listeners.set(id, listener);
|
|
42
|
+
if (id === DEFAULT_ACCOUNT_ID) {}
|
|
43
|
+
}
|
|
44
|
+
function getActiveWebListener(accountId) {
|
|
45
|
+
const id = resolveWebAccountId(accountId);
|
|
46
|
+
return listeners.get(id) ?? null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { redactIdentifier as i, requireActiveWebListener as n, setActiveWebListener as r, getActiveWebListener as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as formatErrorMessage } from "./errors-
|
|
1
|
+
import { jn as normalizeProviderId } from "./config-CrQ5bCrw.js";
|
|
2
|
+
import { r as formatErrorMessage } from "./errors-B8oJXuCF.js";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/gemini-auth.ts
|
|
5
5
|
/**
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { Ht as normalizeProviderId } from "./config-DYbtdrsT.js";
|
|
2
|
+
import { r as formatErrorMessage } from "./errors-9oVz7reJ.js";
|
|
3
|
+
|
|
4
|
+
//#region src/infra/gemini-auth.ts
|
|
5
|
+
/**
|
|
6
|
+
* Shared Gemini authentication utilities.
|
|
7
|
+
*
|
|
8
|
+
* Supports both traditional API keys and OAuth JSON format.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Parse Gemini API key and return appropriate auth headers.
|
|
12
|
+
*
|
|
13
|
+
* OAuth format: `{"token": "...", "projectId": "..."}`
|
|
14
|
+
*
|
|
15
|
+
* @param apiKey - Either a traditional API key string or OAuth JSON
|
|
16
|
+
* @returns Headers object with appropriate authentication
|
|
17
|
+
*/
|
|
18
|
+
function parseGeminiAuth(apiKey) {
|
|
19
|
+
if (apiKey.startsWith("{")) try {
|
|
20
|
+
const parsed = JSON.parse(apiKey);
|
|
21
|
+
if (typeof parsed.token === "string" && parsed.token) return { headers: {
|
|
22
|
+
Authorization: `Bearer ${parsed.token}`,
|
|
23
|
+
"Content-Type": "application/json"
|
|
24
|
+
} };
|
|
25
|
+
} catch {}
|
|
26
|
+
return { headers: {
|
|
27
|
+
"x-goog-api-key": apiKey,
|
|
28
|
+
"Content-Type": "application/json"
|
|
29
|
+
} };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/agents/live-auth-keys.ts
|
|
34
|
+
const KEY_SPLIT_RE = /[\s,;]+/g;
|
|
35
|
+
const GOOGLE_LIVE_SINGLE_KEY = "SQUIDCLAW_LIVE_GEMINI_KEY";
|
|
36
|
+
const PROVIDER_PREFIX_OVERRIDES = {
|
|
37
|
+
google: "GEMINI",
|
|
38
|
+
"google-vertex": "GEMINI"
|
|
39
|
+
};
|
|
40
|
+
const PROVIDER_API_KEY_CONFIG = {
|
|
41
|
+
anthropic: {
|
|
42
|
+
liveSingle: "SQUIDCLAW_LIVE_ANTHROPIC_KEY",
|
|
43
|
+
listVar: "SQUIDCLAW_LIVE_ANTHROPIC_KEYS",
|
|
44
|
+
primaryVar: "ANTHROPIC_API_KEY",
|
|
45
|
+
prefixedVar: "ANTHROPIC_API_KEY_"
|
|
46
|
+
},
|
|
47
|
+
google: {
|
|
48
|
+
liveSingle: GOOGLE_LIVE_SINGLE_KEY,
|
|
49
|
+
listVar: "GEMINI_API_KEYS",
|
|
50
|
+
primaryVar: "GEMINI_API_KEY",
|
|
51
|
+
prefixedVar: "GEMINI_API_KEY_"
|
|
52
|
+
},
|
|
53
|
+
"google-vertex": {
|
|
54
|
+
liveSingle: GOOGLE_LIVE_SINGLE_KEY,
|
|
55
|
+
listVar: "GEMINI_API_KEYS",
|
|
56
|
+
primaryVar: "GEMINI_API_KEY",
|
|
57
|
+
prefixedVar: "GEMINI_API_KEY_"
|
|
58
|
+
},
|
|
59
|
+
openai: {
|
|
60
|
+
liveSingle: "SQUIDCLAW_LIVE_OPENAI_KEY",
|
|
61
|
+
listVar: "OPENAI_API_KEYS",
|
|
62
|
+
primaryVar: "OPENAI_API_KEY",
|
|
63
|
+
prefixedVar: "OPENAI_API_KEY_"
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
function parseKeyList(raw) {
|
|
67
|
+
if (!raw) return [];
|
|
68
|
+
return raw.split(KEY_SPLIT_RE).map((value) => value.trim()).filter(Boolean);
|
|
69
|
+
}
|
|
70
|
+
function collectEnvPrefixedKeys(prefix) {
|
|
71
|
+
const keys = [];
|
|
72
|
+
for (const [name, value] of Object.entries(process.env)) {
|
|
73
|
+
if (!name.startsWith(prefix)) continue;
|
|
74
|
+
const trimmed = value?.trim();
|
|
75
|
+
if (!trimmed) continue;
|
|
76
|
+
keys.push(trimmed);
|
|
77
|
+
}
|
|
78
|
+
return keys;
|
|
79
|
+
}
|
|
80
|
+
function resolveProviderApiKeyConfig(provider) {
|
|
81
|
+
const normalized = normalizeProviderId(provider);
|
|
82
|
+
const custom = PROVIDER_API_KEY_CONFIG[normalized];
|
|
83
|
+
const base = PROVIDER_PREFIX_OVERRIDES[normalized] ?? normalized.toUpperCase().replace(/-/g, "_");
|
|
84
|
+
const liveSingle = custom?.liveSingle ?? `SQUIDCLAW_LIVE_${base}_KEY`;
|
|
85
|
+
const listVar = custom?.listVar ?? `${base}_API_KEYS`;
|
|
86
|
+
const primaryVar = custom?.primaryVar ?? `${base}_API_KEY`;
|
|
87
|
+
const prefixedVar = custom?.prefixedVar ?? `${base}_API_KEY_`;
|
|
88
|
+
if (normalized === "google" || normalized === "google-vertex") return {
|
|
89
|
+
liveSingle,
|
|
90
|
+
listVar,
|
|
91
|
+
primaryVar,
|
|
92
|
+
prefixedVar,
|
|
93
|
+
fallbackVars: ["GOOGLE_API_KEY"]
|
|
94
|
+
};
|
|
95
|
+
return {
|
|
96
|
+
liveSingle,
|
|
97
|
+
listVar,
|
|
98
|
+
primaryVar,
|
|
99
|
+
prefixedVar,
|
|
100
|
+
fallbackVars: []
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function collectProviderApiKeys(provider) {
|
|
104
|
+
const config = resolveProviderApiKeyConfig(provider);
|
|
105
|
+
const forcedSingle = config.liveSingle ? process.env[config.liveSingle]?.trim() : void 0;
|
|
106
|
+
if (forcedSingle) return [forcedSingle];
|
|
107
|
+
const fromList = parseKeyList(config.listVar ? process.env[config.listVar] : void 0);
|
|
108
|
+
const primary = config.primaryVar ? process.env[config.primaryVar]?.trim() : void 0;
|
|
109
|
+
const fromPrefixed = config.prefixedVar ? collectEnvPrefixedKeys(config.prefixedVar) : [];
|
|
110
|
+
const fallback = config.fallbackVars.map((envVar) => process.env[envVar]?.trim()).filter(Boolean);
|
|
111
|
+
const seen = /* @__PURE__ */ new Set();
|
|
112
|
+
const add = (value) => {
|
|
113
|
+
if (!value) return;
|
|
114
|
+
if (seen.has(value)) return;
|
|
115
|
+
seen.add(value);
|
|
116
|
+
};
|
|
117
|
+
for (const value of fromList) add(value);
|
|
118
|
+
add(primary);
|
|
119
|
+
for (const value of fromPrefixed) add(value);
|
|
120
|
+
for (const value of fallback) add(value);
|
|
121
|
+
return Array.from(seen);
|
|
122
|
+
}
|
|
123
|
+
function isApiKeyRateLimitError(message) {
|
|
124
|
+
const lower = message.toLowerCase();
|
|
125
|
+
if (lower.includes("rate_limit")) return true;
|
|
126
|
+
if (lower.includes("rate limit")) return true;
|
|
127
|
+
if (lower.includes("429")) return true;
|
|
128
|
+
if (lower.includes("quota exceeded") || lower.includes("quota_exceeded")) return true;
|
|
129
|
+
if (lower.includes("resource exhausted") || lower.includes("resource_exhausted")) return true;
|
|
130
|
+
if (lower.includes("too many requests")) return true;
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
//#endregion
|
|
135
|
+
//#region src/agents/api-key-rotation.ts
|
|
136
|
+
function dedupeApiKeys(raw) {
|
|
137
|
+
const seen = /* @__PURE__ */ new Set();
|
|
138
|
+
const keys = [];
|
|
139
|
+
for (const value of raw) {
|
|
140
|
+
const apiKey = value.trim();
|
|
141
|
+
if (!apiKey || seen.has(apiKey)) continue;
|
|
142
|
+
seen.add(apiKey);
|
|
143
|
+
keys.push(apiKey);
|
|
144
|
+
}
|
|
145
|
+
return keys;
|
|
146
|
+
}
|
|
147
|
+
function collectProviderApiKeysForExecution(params) {
|
|
148
|
+
const { primaryApiKey, provider } = params;
|
|
149
|
+
return dedupeApiKeys([primaryApiKey?.trim() ?? "", ...collectProviderApiKeys(provider)]);
|
|
150
|
+
}
|
|
151
|
+
async function executeWithApiKeyRotation(params) {
|
|
152
|
+
const keys = dedupeApiKeys(params.apiKeys);
|
|
153
|
+
if (keys.length === 0) throw new Error(`No API keys configured for provider "${params.provider}".`);
|
|
154
|
+
let lastError;
|
|
155
|
+
for (let attempt = 0; attempt < keys.length; attempt += 1) {
|
|
156
|
+
const apiKey = keys[attempt];
|
|
157
|
+
try {
|
|
158
|
+
return await params.execute(apiKey);
|
|
159
|
+
} catch (error) {
|
|
160
|
+
lastError = error;
|
|
161
|
+
const message = formatErrorMessage(error);
|
|
162
|
+
if (!(params.shouldRetry ? params.shouldRetry({
|
|
163
|
+
apiKey,
|
|
164
|
+
error,
|
|
165
|
+
attempt,
|
|
166
|
+
message
|
|
167
|
+
}) : isApiKeyRateLimitError(message)) || attempt + 1 >= keys.length) break;
|
|
168
|
+
params.onRetry?.({
|
|
169
|
+
apiKey,
|
|
170
|
+
error,
|
|
171
|
+
attempt,
|
|
172
|
+
message
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (lastError === void 0) throw new Error(`Failed to run API request for ${params.provider}.`);
|
|
177
|
+
throw lastError;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
//#endregion
|
|
181
|
+
export { executeWithApiKeyRotation as n, parseGeminiAuth as r, collectProviderApiKeysForExecution as t };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import "./run-with-concurrency-5DMu9szx.js";
|
|
2
|
+
import "./accounts-BNuRM3rG.js";
|
|
3
|
+
import "./paths-8xF5kDne.js";
|
|
4
|
+
import "./github-copilot-token-Dy-0-Kh3.js";
|
|
5
|
+
import "./config-CrQ5bCrw.js";
|
|
6
|
+
import { L as logVerbose, z as shouldLogVerbose } from "./logger-DDdrdbDu.js";
|
|
7
|
+
import "./thinking-D41FMh9T.js";
|
|
8
|
+
import "./image-ops-BjK2qZZn.js";
|
|
9
|
+
import "./pi-embedded-helpers-C-B9B6Sp.js";
|
|
10
|
+
import "./plugins-D5cdn70e.js";
|
|
11
|
+
import "./accounts-CcS9IAhD.js";
|
|
12
|
+
import "./accounts-CGTYP7Rh.js";
|
|
13
|
+
import "./paths-C6W4VHoa.js";
|
|
14
|
+
import "./redact-BoNEjbpF.js";
|
|
15
|
+
import "./errors-B8oJXuCF.js";
|
|
16
|
+
import "./path-alias-guards-gBhrAn14.js";
|
|
17
|
+
import "./fs-safe-Dqmpk-Fr.js";
|
|
18
|
+
import "./ssrf-2WBi1Tzx.js";
|
|
19
|
+
import "./fetch-guard-C55uvn27.js";
|
|
20
|
+
import "./local-roots-DmOKwiNW.js";
|
|
21
|
+
import "./tool-images-CWc54lpI.js";
|
|
22
|
+
import { f as isAudioAttachment, i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-RXsskMMk.js";
|
|
23
|
+
import "./skills-D4am-zkO.js";
|
|
24
|
+
import "./chrome-9Y_LcUg1.js";
|
|
25
|
+
import "./store-BKDMuvyn.js";
|
|
26
|
+
import "./image-3xW7IJdq.js";
|
|
27
|
+
import "./api-key-rotation-Bhck7wki.js";
|
|
28
|
+
import "./proxy-fetch-ZPEvp58f.js";
|
|
29
|
+
|
|
30
|
+
//#region src/media-understanding/audio-preflight.ts
|
|
31
|
+
/**
|
|
32
|
+
* Transcribes the first audio attachment BEFORE mention checking.
|
|
33
|
+
* This allows voice notes to be processed in group chats with requireMention: true.
|
|
34
|
+
* Returns the transcript or undefined if transcription fails or no audio is found.
|
|
35
|
+
*/
|
|
36
|
+
async function transcribeFirstAudio(params) {
|
|
37
|
+
const { ctx, cfg } = params;
|
|
38
|
+
const audioConfig = cfg.tools?.media?.audio;
|
|
39
|
+
if (!audioConfig || audioConfig.enabled === false) return;
|
|
40
|
+
const attachments = normalizeMediaAttachments(ctx);
|
|
41
|
+
if (!attachments || attachments.length === 0) return;
|
|
42
|
+
const firstAudio = attachments.find((att) => att && isAudioAttachment(att) && !att.alreadyTranscribed);
|
|
43
|
+
if (!firstAudio) return;
|
|
44
|
+
if (shouldLogVerbose()) logVerbose(`audio-preflight: transcribing attachment ${firstAudio.index} for mention check`);
|
|
45
|
+
try {
|
|
46
|
+
const { transcript } = await runAudioTranscription({
|
|
47
|
+
ctx,
|
|
48
|
+
cfg,
|
|
49
|
+
attachments,
|
|
50
|
+
agentDir: params.agentDir,
|
|
51
|
+
providers: params.providers,
|
|
52
|
+
activeModel: params.activeModel,
|
|
53
|
+
localPathRoots: resolveMediaAttachmentLocalRoots({
|
|
54
|
+
cfg,
|
|
55
|
+
ctx
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
if (!transcript) return;
|
|
59
|
+
firstAudio.alreadyTranscribed = true;
|
|
60
|
+
if (shouldLogVerbose()) logVerbose(`audio-preflight: transcribed ${transcript.length} chars from attachment ${firstAudio.index}`);
|
|
61
|
+
return transcript;
|
|
62
|
+
} catch (err) {
|
|
63
|
+
if (shouldLogVerbose()) logVerbose(`audio-preflight: transcription failed: ${String(err)}`);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
export { transcribeFirstAudio };
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import "./run-with-concurrency-
|
|
2
|
-
import "./config-
|
|
3
|
-
import { L as logVerbose, z as shouldLogVerbose } from "./logger-
|
|
1
|
+
import "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import "./config-DYbtdrsT.js";
|
|
3
|
+
import { L as logVerbose, z as shouldLogVerbose } from "./logger-Bg4vIUJn.js";
|
|
4
4
|
import "./paths-Duwviem_.js";
|
|
5
|
-
import "./accounts-
|
|
6
|
-
import "./plugins-
|
|
7
|
-
import "./thinking-
|
|
8
|
-
import "./accounts-
|
|
9
|
-
import "./image-ops-
|
|
10
|
-
import "./pi-embedded-helpers-
|
|
11
|
-
import "./accounts-
|
|
5
|
+
import "./accounts-CxUSDHsT.js";
|
|
6
|
+
import "./plugins-DSs2-fnK.js";
|
|
7
|
+
import "./thinking-1UCPuD9d.js";
|
|
8
|
+
import "./accounts-PSzw-z3S.js";
|
|
9
|
+
import "./image-ops-CMsocOob.js";
|
|
10
|
+
import "./pi-embedded-helpers-BDJ_4Plh.js";
|
|
11
|
+
import "./accounts-kr-Gz1hk.js";
|
|
12
12
|
import "./github-copilot-token-C0y6vp3r.js";
|
|
13
|
-
import "./paths-
|
|
14
|
-
import { i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, p as isAudioAttachment, t as runAudioTranscription } from "./audio-transcription-runner-
|
|
15
|
-
import "./image-
|
|
16
|
-
import "./chrome-
|
|
17
|
-
import "./skills-
|
|
18
|
-
import "./path-alias-guards-
|
|
19
|
-
import "./redact-
|
|
20
|
-
import "./errors-
|
|
21
|
-
import "./fs-safe-
|
|
22
|
-
import "./proxy-env-
|
|
23
|
-
import "./store-
|
|
24
|
-
import "./tool-images-
|
|
25
|
-
import "./fetch-guard-
|
|
26
|
-
import "./api-key-rotation-
|
|
27
|
-
import "./local-roots-
|
|
28
|
-
import "./proxy-fetch-
|
|
13
|
+
import "./paths-CP67O8eN.js";
|
|
14
|
+
import { i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, p as isAudioAttachment, t as runAudioTranscription } from "./audio-transcription-runner-Dwc0Eh-B.js";
|
|
15
|
+
import "./image-rycGCqJO.js";
|
|
16
|
+
import "./chrome-diV5m81I.js";
|
|
17
|
+
import "./skills-BzXN4uev.js";
|
|
18
|
+
import "./path-alias-guards-DA0MhfkG.js";
|
|
19
|
+
import "./redact-DfACyt0X.js";
|
|
20
|
+
import "./errors-9oVz7reJ.js";
|
|
21
|
+
import "./fs-safe-DFbwq9CS.js";
|
|
22
|
+
import "./proxy-env-Ib4-LUh-.js";
|
|
23
|
+
import "./store-DnJhFFW5.js";
|
|
24
|
+
import "./tool-images-RX4QTMnt.js";
|
|
25
|
+
import "./fetch-guard-Or5BCq0E.js";
|
|
26
|
+
import "./api-key-rotation-DE4gr5YM.js";
|
|
27
|
+
import "./local-roots-1xVosTZ4.js";
|
|
28
|
+
import "./proxy-fetch-Cf3IUSDw.js";
|
|
29
29
|
|
|
30
30
|
//#region src/media-understanding/audio-preflight.ts
|
|
31
31
|
/**
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { O as runExec, U as resolveAgentModelFallbackValues, W as resolveAgentModelPrimaryValue } from "./run-with-concurrency-
|
|
2
|
-
import { Fn as resolveSquidClawAgentDir, Ht as normalizeProviderId, Yt as normalizeGoogleModelId, dn as resolveApiKeyForProvider, f as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, h as resolveIMessageAttachmentRoots, m as mergeInboundPathRoots, n as loadConfig, p as isInboundPathAllowed, un as requireApiKey } from "./config-
|
|
3
|
-
import { L as logVerbose, O as createSubsystemLogger, Y as resolvePreferredSquidClawTmpDir, z as shouldLogVerbose } from "./logger-
|
|
4
|
-
import { _ as normalizeChatType } from "./plugins-
|
|
5
|
-
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-
|
|
6
|
-
import { C as ensureSquidClawModelsJson, t as describeImageWithModel } from "./image-
|
|
1
|
+
import { O as runExec, U as resolveAgentModelFallbackValues, W as resolveAgentModelPrimaryValue } from "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import { Fn as resolveSquidClawAgentDir, Ht as normalizeProviderId, Yt as normalizeGoogleModelId, dn as resolveApiKeyForProvider, f as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, h as resolveIMessageAttachmentRoots, m as mergeInboundPathRoots, n as loadConfig, p as isInboundPathAllowed, un as requireApiKey } from "./config-DYbtdrsT.js";
|
|
3
|
+
import { L as logVerbose, O as createSubsystemLogger, Y as resolvePreferredSquidClawTmpDir, z as shouldLogVerbose } from "./logger-Bg4vIUJn.js";
|
|
4
|
+
import { _ as normalizeChatType } from "./plugins-DSs2-fnK.js";
|
|
5
|
+
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-CMsocOob.js";
|
|
6
|
+
import { C as ensureSquidClawModelsJson, t as describeImageWithModel } from "./image-rycGCqJO.js";
|
|
7
7
|
import { n as fetchWithTimeout } from "./fetch-timeout-CR10Uz2k.js";
|
|
8
|
-
import { t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
9
|
-
import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-
|
|
10
|
-
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-
|
|
11
|
-
import { n as resolveProxyFetchFromEnv } from "./proxy-fetch-
|
|
8
|
+
import { t as fetchWithSsrFGuard } from "./fetch-guard-Or5BCq0E.js";
|
|
9
|
+
import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-DE4gr5YM.js";
|
|
10
|
+
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-1xVosTZ4.js";
|
|
11
|
+
import { n as resolveProxyFetchFromEnv } from "./proxy-fetch-Cf3IUSDw.js";
|
|
12
12
|
import path from "node:path";
|
|
13
13
|
import { constants } from "node:fs";
|
|
14
14
|
import os from "node:os";
|
|
@@ -990,7 +990,7 @@ var MediaAttachmentCache = class {
|
|
|
990
990
|
const log = createSubsystemLogger("model-catalog");
|
|
991
991
|
let modelCatalogPromise = null;
|
|
992
992
|
let hasLoggedModelCatalogError = false;
|
|
993
|
-
const defaultImportPiSdk = () => import("./pi-model-discovery-
|
|
993
|
+
const defaultImportPiSdk = () => import("./pi-model-discovery-Mk0GTDJl.js").then((n) => n.r);
|
|
994
994
|
let importPiSdk = defaultImportPiSdk;
|
|
995
995
|
const CODEX_PROVIDER = "openai-codex";
|
|
996
996
|
const OPENAI_CODEX_GPT53_MODEL_ID = "gpt-5.3-codex";
|