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
|
@@ -10,15 +10,15 @@ import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as
|
|
|
10
10
|
import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, n as markdownToSlackMrkdwnChunks, o as parseSlackBlocksInput, r as normalizeSlackOutboundText, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-D7hOGQmY.js";
|
|
11
11
|
import { $ as stripUndefinedFields, A as unpinMessageDiscord, At as resolveChannelEntryMatchWithFallback, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveDiscordSystemLocation, D as pinMessageDiscord, Dt as applyChannelMatchMeta, E as listThreadsDiscord, Et as fetchDiscord, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as buildChannelKeyCandidates, P as fetchChannelInfoDiscord, Q as sendDiscordText, R as kickMemberDiscord, S as deleteMessageDiscord, St as formatDiscordUserTag, T as listPinsDiscord, Tt as DiscordApiError, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as formatMention, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, et as fetchChannelPermissionsDiscord, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as addRoleDiscord, k as searchMessagesDiscord, kt as normalizeChannelSlug, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as fetchMessageDiscord, wt as resolveTimestampMs, x as createThreadDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listGuildChannelsDiscord } from "./send-DxlbTmGE.js";
|
|
12
12
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-D68-1Hhs.js";
|
|
13
|
-
import { C as createReplyToModeFilterForChannel, D as normalizeTargetForProvider, E as normalizeChannelTargetInput, O as getGlobalHookRunner, S as shouldSuppressReasoningPayload, T as buildTargetResolverSignature, _ as applyReplyThreading, a as normalizeReplyPayloadsForDelivery, b as isRenderablePayload, c as splitMediaFromOutput, d as toInternalMessageReceivedContext, f as toInternalMessageTranscribedContext, g as applyReplyTagsToPayload, h as fireAndForgetHook, i as normalizeOutboundPayloadsForJson, k as initializeGlobalHookRunner, l as deriveInboundMessageHookContext, m as toPluginMessageReceivedEvent, n as formatOutboundPayloadLog, o as throwIfAborted, p as toPluginMessageContext, r as normalizeOutboundPayloads, s as parseReplyDirectives, t as deliverOutboundPayloads, u as toInternalMessagePreprocessedContext, v as filterMessagingToolDuplicates, w as resolveReplyToMode, x as shouldSuppressMessagingToolReplies, y as filterMessagingToolMediaDuplicates } from "./deliver-
|
|
13
|
+
import { C as createReplyToModeFilterForChannel, D as normalizeTargetForProvider, E as normalizeChannelTargetInput, O as getGlobalHookRunner, S as shouldSuppressReasoningPayload, T as buildTargetResolverSignature, _ as applyReplyThreading, a as normalizeReplyPayloadsForDelivery, b as isRenderablePayload, c as splitMediaFromOutput, d as toInternalMessageReceivedContext, f as toInternalMessageTranscribedContext, g as applyReplyTagsToPayload, h as fireAndForgetHook, i as normalizeOutboundPayloadsForJson, k as initializeGlobalHookRunner, l as deriveInboundMessageHookContext, m as toPluginMessageReceivedEvent, n as formatOutboundPayloadLog, o as throwIfAborted, p as toPluginMessageContext, r as normalizeOutboundPayloads, s as parseReplyDirectives, t as deliverOutboundPayloads, u as toInternalMessagePreprocessedContext, v as filterMessagingToolDuplicates, w as resolveReplyToMode, x as shouldSuppressMessagingToolReplies, y as filterMessagingToolMediaDuplicates } from "./deliver-aL8yOYS1.js";
|
|
14
14
|
import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-C1FUUMnV.js";
|
|
15
15
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-Bw_h44Sz.js";
|
|
16
16
|
import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-D1wBrTyc.js";
|
|
17
17
|
import { A as mediaKindFromMime, C as imageMimeFromFormat, E as kindFromMime, O as MAX_IMAGE_BYTES, T as isGifMedia, _ as GATEWAY_CLIENT_IDS, b as detectMime, c as INTERNAL_MESSAGE_CHANNEL, d as isInternalMessageChannel, f as isMarkdownCapableMessageChannel, g as resolveMessageChannel, h as resolveGatewayMessageChannel, i as getImageMetadata, l as isDeliverableMessageChannel, m as normalizeMessageChannel, p as listDeliverableMessageChannels, s as resizeToJpeg, u as isGatewayMessageChannel, v as GATEWAY_CLIENT_MODES, w as isAudioFileName, x as extensionForMime, y as GATEWAY_CLIENT_NAMES } from "./image-ops-t3DLKnpb.js";
|
|
18
18
|
import { $ as removeChannelAllowFromStoreEntry, A as expandTextLinks, B as resolveTelegramThreadSpec, C as buildSenderName, D as buildTelegramThreadParams, E as buildTelegramParentPeer, F as resolveTelegramForumThreadId, G as firstDefined$1, H as normalizeAllowFrom$2, I as resolveTelegramGroupAllowFromContext, J as resolveGroupAllowFromSources, K as isSenderIdAllowed, L as resolveTelegramMediaPlaceholder, M as hasBotMention, N as normalizeForwardedContext, O as buildTypingThreadParams, P as resolveTelegramDirectPeerId, Q as readChannelAllowFromStore, R as resolveTelegramReplyId, S as buildSenderLabel, T as buildTelegramGroupPeerId, U as normalizeDmAllowFromWithStore$1, V as isSenderAllowed$1, W as resolveSenderAllowMatch$1, X as toLocationContext, Y as formatLocationText, Z as addChannelAllowFromStoreEntry, _ as splitTelegramCaption, a as reactMessageTelegram, at as isVoiceCompatibleAudio, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, et as upsertChannelPairingRequest, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, it as listPairingChannels, j as extractTelegramLocation, k as describeReplyTarget, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, nt as writeJsonFileAtomically, o as sendMessageTelegram, p as markdownToTelegramHtml, q as mergeDmAllowFromSources, r as deleteMessageTelegram, rt as getPairingAdapter, s as sendPollTelegram, t as buildInlineKeyboard, tt as readJsonFileWithFallback, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildTelegramGroupFrom, x as buildGroupLabel, y as loadCronStore, z as resolveTelegramStreamMode } from "./send-BMtsqKqs.js";
|
|
19
19
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-k9ASrJ8f.js";
|
|
20
|
-
import { $ as deliveryContextFromSession, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as resolveFreshSessionTotalTokens, D as isLikelyContextOverflowError, Dt as resolveMainSessionKey, E as isFailoverErrorMessage, Et as resolveExplicitAgentSessionKey, F as isTimeoutErrorMessage, Ft as resolveBrowserConfig, G as readSessionUpdatedAt, Gt as collectExplicitAllowlist, Ht as resolveSandboxConfigForAgent, I as ensureSandboxWorkspaceForSession, It as resolveProfile, J as updateLastRoute, Jt as stripPluginOnlyAllowlist, K as recordSessionMetaFromInbound, Kt as expandPolicyWithPluginGroups, L as resolveSandboxContext, Lt as getBridgeAuthForPort, M as parseImageSizeError, Mt as resolveSessionLockMaxHoldFromTimeout, N as sanitizeUserFacingText, Nt as createBrowserRouteContext, O as isRateLimitAssistantError, Ot as deriveSessionMetaPatch, P as isAuthPermanentErrorMessage, Pt as registerBrowserRoutes, Q as resolveCacheTtlMs$1, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as mergeSessionEntry, T as isFailoverAssistantError, Tt as canonicalizeMainSessionAlias, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as updateSessionStoreEntry, Xt as normalizeToolName, Y as updateSessionStore, Yt as expandToolGroups, Z as isCacheEnabled, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveChannelResetConfig, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as archiveSessionTranscripts, b as isAuthAssistantError, bt as resolveThreadFlag, c as extractToolCallsFromAssistant, ct as extractToolCallNames, d as downgradeOpenAIFunctionCallReasoningPairs, dt as applyInputProvenanceToUserMessage, en as buildBootstrapContextFiles, et as deliveryContextKey, f as downgradeOpenAIReasoningBlocks, ft as hasInterSessionUserProvenance, g as formatAssistantErrorText, gt as evaluateSessionFreshness, h as classifyFailoverReason, ht as resolveSessionKey, in as resolveBootstrapTotalMaxChars, it as normalizeAccountId$3, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as parseInlineDirectives$1, m as BILLING_ERROR_USER_MESSAGE, mt as jsonUtf8Bytes, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeDeliveryContext, o as normalizeTextForComparison, ot as capArrayByJsonBytes, p as isGoogleModelApi, pt as normalizeInputProvenance, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeSessionDeliveryFields, s as sanitizeSessionMessagesImages, st as countToolResults, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as mergeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as INPUT_PROVENANCE_KIND_VALUES, v as formatRawAssistantErrorForUi, vt as resolveSessionResetPolicy, w as isContextOverflowError, wt as setSessionRuntimeModel, x as isBillingAssistantError, xt as DEFAULT_RESET_TRIGGERS, y as getApiErrorPayloadFingerprint, yt as resolveSessionResetType, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-
|
|
21
|
-
import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-
|
|
20
|
+
import { $ as deliveryContextFromSession, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as resolveFreshSessionTotalTokens, D as isLikelyContextOverflowError, Dt as resolveMainSessionKey, E as isFailoverErrorMessage, Et as resolveExplicitAgentSessionKey, F as isTimeoutErrorMessage, Ft as resolveBrowserConfig, G as readSessionUpdatedAt, Gt as collectExplicitAllowlist, Ht as resolveSandboxConfigForAgent, I as ensureSandboxWorkspaceForSession, It as resolveProfile, J as updateLastRoute, Jt as stripPluginOnlyAllowlist, K as recordSessionMetaFromInbound, Kt as expandPolicyWithPluginGroups, L as resolveSandboxContext, Lt as getBridgeAuthForPort, M as parseImageSizeError, Mt as resolveSessionLockMaxHoldFromTimeout, N as sanitizeUserFacingText, Nt as createBrowserRouteContext, O as isRateLimitAssistantError, Ot as deriveSessionMetaPatch, P as isAuthPermanentErrorMessage, Pt as registerBrowserRoutes, Q as resolveCacheTtlMs$1, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as mergeSessionEntry, T as isFailoverAssistantError, Tt as canonicalizeMainSessionAlias, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as updateSessionStoreEntry, Xt as normalizeToolName, Y as updateSessionStore, Yt as expandToolGroups, Z as isCacheEnabled, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveChannelResetConfig, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as archiveSessionTranscripts, b as isAuthAssistantError, bt as resolveThreadFlag, c as extractToolCallsFromAssistant, ct as extractToolCallNames, d as downgradeOpenAIFunctionCallReasoningPairs, dt as applyInputProvenanceToUserMessage, en as buildBootstrapContextFiles, et as deliveryContextKey, f as downgradeOpenAIReasoningBlocks, ft as hasInterSessionUserProvenance, g as formatAssistantErrorText, gt as evaluateSessionFreshness, h as classifyFailoverReason, ht as resolveSessionKey, in as resolveBootstrapTotalMaxChars, it as normalizeAccountId$3, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as parseInlineDirectives$1, m as BILLING_ERROR_USER_MESSAGE, mt as jsonUtf8Bytes, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeDeliveryContext, o as normalizeTextForComparison, ot as capArrayByJsonBytes, p as isGoogleModelApi, pt as normalizeInputProvenance, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeSessionDeliveryFields, s as sanitizeSessionMessagesImages, st as countToolResults, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as mergeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as INPUT_PROVENANCE_KIND_VALUES, v as formatRawAssistantErrorForUi, vt as resolveSessionResetPolicy, w as isContextOverflowError, wt as setSessionRuntimeModel, x as isBillingAssistantError, xt as DEFAULT_RESET_TRIGGERS, y as getApiErrorPayloadFingerprint, yt as resolveSessionResetType, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-DYWYzEOC.js";
|
|
21
|
+
import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-BQDCalPp.js";
|
|
22
22
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BdeJ4sDE.js";
|
|
23
23
|
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DLHloUkx.js";
|
|
24
24
|
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-kK-uDSQK.js";
|
|
@@ -31,8 +31,8 @@ import { t as resolveIMessageAccount } from "./accounts-CiVJ9o2y.js";
|
|
|
31
31
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BeCJt7wC.js";
|
|
32
32
|
import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-UAKcGiUQ.js";
|
|
33
33
|
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-DPqIlL2c.js";
|
|
34
|
-
import { C as minimaxUnderstandImage, S as extractTextFromChatContent, _ as formatToolSummary, a as resolveProviderVisionModelFromConfig, b as findCodeRegions, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as resolveToolDisplay, w as ensureSquidClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-
|
|
35
|
-
import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-
|
|
34
|
+
import { C as minimaxUnderstandImage, S as extractTextFromChatContent, _ as formatToolSummary, a as resolveProviderVisionModelFromConfig, b as findCodeRegions, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as resolveToolDisplay, w as ensureSquidClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-DKZCmkET.js";
|
|
35
|
+
import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-B2BdTEps.js";
|
|
36
36
|
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-VsWmWmFU.js";
|
|
37
37
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-B_Wivh-n.js";
|
|
38
38
|
import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CzuxP5PA.js";
|
|
@@ -69,7 +69,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
|
|
|
69
69
|
import { EdgeTTS } from "node-edge-tts";
|
|
70
70
|
import { createServer } from "node:http";
|
|
71
71
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
72
|
-
import WebSocket, { WebSocket
|
|
72
|
+
import WebSocket$1, { WebSocket } from "ws";
|
|
73
73
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
74
74
|
import { createJiti } from "jiti";
|
|
75
75
|
import AjvPkg from "ajv";
|
|
@@ -8230,7 +8230,7 @@ var GatewayClient = class {
|
|
|
8230
8230
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
8231
8231
|
});
|
|
8232
8232
|
}
|
|
8233
|
-
this.ws = new WebSocket
|
|
8233
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
8234
8234
|
this.ws.on("open", () => {
|
|
8235
8235
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
8236
8236
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -8426,7 +8426,7 @@ var GatewayClient = class {
|
|
|
8426
8426
|
const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
|
|
8427
8427
|
if (this.connectTimer) clearTimeout(this.connectTimer);
|
|
8428
8428
|
this.connectTimer = setTimeout(() => {
|
|
8429
|
-
if (this.connectSent || this.ws?.readyState !== WebSocket
|
|
8429
|
+
if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
|
|
8430
8430
|
this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
|
|
8431
8431
|
this.ws?.close(1008, "connect challenge timeout");
|
|
8432
8432
|
}, connectChallengeTimeoutMs);
|
|
@@ -8468,7 +8468,7 @@ var GatewayClient = class {
|
|
|
8468
8468
|
return null;
|
|
8469
8469
|
}
|
|
8470
8470
|
async request(method, params, opts) {
|
|
8471
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
8471
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
8472
8472
|
const id = randomUUID();
|
|
8473
8473
|
const frame = {
|
|
8474
8474
|
type: "req",
|
|
@@ -9890,7 +9890,7 @@ function normalizeReplyPayload(payload, opts = {}) {
|
|
|
9890
9890
|
*/
|
|
9891
9891
|
let deliverRuntimePromise$2 = null;
|
|
9892
9892
|
function loadDeliverRuntime$2() {
|
|
9893
|
-
deliverRuntimePromise$2 ??= import("./deliver-runtime-
|
|
9893
|
+
deliverRuntimePromise$2 ??= import("./deliver-runtime-ChVR6sR3.js");
|
|
9894
9894
|
return deliverRuntimePromise$2;
|
|
9895
9895
|
}
|
|
9896
9896
|
/**
|
|
@@ -11178,7 +11178,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
|
|
|
11178
11178
|
const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
|
|
11179
11179
|
let subagentRegistryRuntimePromise = null;
|
|
11180
11180
|
function loadSubagentRegistryRuntime() {
|
|
11181
|
-
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-
|
|
11181
|
+
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-BlRAnw80.js");
|
|
11182
11182
|
return subagentRegistryRuntimePromise;
|
|
11183
11183
|
}
|
|
11184
11184
|
const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
|
|
@@ -14532,7 +14532,7 @@ async function runWithConcurrency(tasks, limit) {
|
|
|
14532
14532
|
//#region src/media-understanding/echo-transcript.ts
|
|
14533
14533
|
let deliverRuntimePromise$1 = null;
|
|
14534
14534
|
function loadDeliverRuntime$1() {
|
|
14535
|
-
deliverRuntimePromise$1 ??= import("./deliver-runtime-
|
|
14535
|
+
deliverRuntimePromise$1 ??= import("./deliver-runtime-ChVR6sR3.js");
|
|
14536
14536
|
return deliverRuntimePromise$1;
|
|
14537
14537
|
}
|
|
14538
14538
|
const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
|
|
@@ -51532,7 +51532,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
|
|
|
51532
51532
|
const log$10 = createSubsystemLogger("session-maintenance-warning");
|
|
51533
51533
|
let deliverRuntimePromise = null;
|
|
51534
51534
|
function loadDeliverRuntime() {
|
|
51535
|
-
deliverRuntimePromise ??= import("./deliver-runtime-
|
|
51535
|
+
deliverRuntimePromise ??= import("./deliver-runtime-ChVR6sR3.js");
|
|
51536
51536
|
return deliverRuntimePromise;
|
|
51537
51537
|
}
|
|
51538
51538
|
function shouldSendWarning() {
|
|
@@ -56509,7 +56509,7 @@ const VISION_PROVIDERS = [
|
|
|
56509
56509
|
];
|
|
56510
56510
|
let imageRuntimePromise = null;
|
|
56511
56511
|
function loadImageRuntime() {
|
|
56512
|
-
imageRuntimePromise ??= import("./image-runtime-
|
|
56512
|
+
imageRuntimePromise ??= import("./image-runtime-poRypm-b.js");
|
|
56513
56513
|
return imageRuntimePromise;
|
|
56514
56514
|
}
|
|
56515
56515
|
/**
|
|
@@ -58570,7 +58570,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
|
|
|
58570
58570
|
hasTypedText
|
|
58571
58571
|
};
|
|
58572
58572
|
try {
|
|
58573
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
58573
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DpCWFB4z.js");
|
|
58574
58574
|
if (params.abortSignal?.aborted) return {
|
|
58575
58575
|
hasAudioAttachment,
|
|
58576
58576
|
hasTypedText
|
|
@@ -65964,7 +65964,7 @@ let slackSenderRuntimePromise = null;
|
|
|
65964
65964
|
let signalSenderRuntimePromise = null;
|
|
65965
65965
|
let imessageSenderRuntimePromise = null;
|
|
65966
65966
|
function loadWhatsAppSenderRuntime() {
|
|
65967
|
-
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-
|
|
65967
|
+
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-CZj97m5A.js");
|
|
65968
65968
|
return whatsappSenderRuntimePromise;
|
|
65969
65969
|
}
|
|
65970
65970
|
function loadTelegramSenderRuntime() {
|
|
@@ -69668,7 +69668,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
69668
69668
|
return super.registerClient(client);
|
|
69669
69669
|
}
|
|
69670
69670
|
createWebSocket(url) {
|
|
69671
|
-
return new WebSocket(url, { agent: wsAgent });
|
|
69671
|
+
return new WebSocket$1(url, { agent: wsAgent });
|
|
69672
69672
|
}
|
|
69673
69673
|
}
|
|
69674
69674
|
return new ProxyGatewayPlugin();
|
|
@@ -78819,7 +78819,7 @@ function loadSlashCommandsRuntime() {
|
|
|
78819
78819
|
return slashCommandsRuntimePromise;
|
|
78820
78820
|
}
|
|
78821
78821
|
function loadSlashDispatchRuntime() {
|
|
78822
|
-
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-
|
|
78822
|
+
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DkcAYuyK.js");
|
|
78823
78823
|
return slashDispatchRuntimePromise;
|
|
78824
78824
|
}
|
|
78825
78825
|
function loadSlashSkillCommandsRuntime() {
|
|
@@ -82188,7 +82188,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
|
|
|
82188
82188
|
const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
|
|
82189
82189
|
let preflightTranscript;
|
|
82190
82190
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
|
|
82191
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
82191
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DpCWFB4z.js");
|
|
82192
82192
|
preflightTranscript = await transcribeFirstAudio({
|
|
82193
82193
|
ctx: {
|
|
82194
82194
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -85114,7 +85114,7 @@ function loadWebLoginQr() {
|
|
|
85114
85114
|
return webLoginQrPromise;
|
|
85115
85115
|
}
|
|
85116
85116
|
function loadWebChannel() {
|
|
85117
|
-
webChannelPromise ??= import("./web-
|
|
85117
|
+
webChannelPromise ??= import("./web-DddJa7ZT.js");
|
|
85118
85118
|
return webChannelPromise;
|
|
85119
85119
|
}
|
|
85120
85120
|
function loadWhatsAppActions() {
|
|
@@ -93377,7 +93377,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
93377
93377
|
* Throws if the connection is not open.
|
|
93378
93378
|
*/
|
|
93379
93379
|
send(event) {
|
|
93380
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
|
|
93380
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
|
|
93381
93381
|
this.ws.send(JSON.stringify(event));
|
|
93382
93382
|
}
|
|
93383
93383
|
/**
|
|
@@ -93394,7 +93394,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
93394
93394
|
* Returns true if the WebSocket is currently open and ready to send.
|
|
93395
93395
|
*/
|
|
93396
93396
|
isConnected() {
|
|
93397
|
-
return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
|
|
93397
|
+
return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
|
|
93398
93398
|
}
|
|
93399
93399
|
/**
|
|
93400
93400
|
* Permanently closes the WebSocket connection and disables auto-reconnect.
|
|
@@ -93404,7 +93404,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
93404
93404
|
this._cancelRetryTimer();
|
|
93405
93405
|
if (this.ws) {
|
|
93406
93406
|
this.ws.removeAllListeners();
|
|
93407
|
-
if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
|
|
93407
|
+
if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
|
|
93408
93408
|
this.ws = null;
|
|
93409
93409
|
}
|
|
93410
93410
|
}
|
|
@@ -93414,7 +93414,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
93414
93414
|
reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
|
|
93415
93415
|
return;
|
|
93416
93416
|
}
|
|
93417
|
-
const socket = new WebSocket(this.wsUrl, { headers: {
|
|
93417
|
+
const socket = new WebSocket$1(this.wsUrl, { headers: {
|
|
93418
93418
|
Authorization: `Bearer ${this.apiKey}`,
|
|
93419
93419
|
"OpenAI-Beta": "responses-websocket=v1"
|
|
93420
93420
|
} });
|
|
@@ -9,7 +9,7 @@ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug
|
|
|
9
9
|
import { _ as normalizeChatType, r as normalizeChannelId } from "./plugins-DXkm70nK.js";
|
|
10
10
|
import { t as generateSecureToken } from "./secure-random-CXrBi7Jq.js";
|
|
11
11
|
import { i as getImageMetadata, m as normalizeMessageChannel, n as buildImageResizeSideGrid, p as listDeliverableMessageChannels, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-CdgypS_g.js";
|
|
12
|
-
import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-
|
|
12
|
+
import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-CjxCwFA9.js";
|
|
13
13
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-CTV78w4q.js";
|
|
14
14
|
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DORgbZ1w.js";
|
|
15
15
|
import { n as extractErrorCode, r as formatErrorMessage } from "./errors-kkRuS2Cs.js";
|
|
@@ -1278,7 +1278,7 @@ function isModuleNotFoundError(err) {
|
|
|
1278
1278
|
}
|
|
1279
1279
|
async function loadPwAiModule(mode) {
|
|
1280
1280
|
try {
|
|
1281
|
-
return await import("./pw-ai-
|
|
1281
|
+
return await import("./pw-ai-BwRP3TWc.js");
|
|
1282
1282
|
} catch (err) {
|
|
1283
1283
|
if (mode === "soft") return null;
|
|
1284
1284
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3644,7 +3644,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
|
|
|
3644
3644
|
//#region src/browser/server-context.reset.ts
|
|
3645
3645
|
async function closePlaywrightBrowserConnection() {
|
|
3646
3646
|
try {
|
|
3647
|
-
await (await import("./pw-ai-
|
|
3647
|
+
await (await import("./pw-ai-BwRP3TWc.js")).closePlaywrightBrowserConnection();
|
|
3648
3648
|
} catch {}
|
|
3649
3649
|
}
|
|
3650
3650
|
function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveSquidClawUserDataDir }) {
|
|
@@ -6,7 +6,7 @@ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug
|
|
|
6
6
|
import { _ as normalizeChatType, r as normalizeChannelId } from "./plugins-DaMn-Hjl.js";
|
|
7
7
|
import { t as generateSecureToken } from "./secure-random-D68-1Hhs.js";
|
|
8
8
|
import { i as getImageMetadata, m as normalizeMessageChannel, n as buildImageResizeSideGrid, p as listDeliverableMessageChannels, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-t3DLKnpb.js";
|
|
9
|
-
import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-
|
|
9
|
+
import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-BQDCalPp.js";
|
|
10
10
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BdeJ4sDE.js";
|
|
11
11
|
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DLHloUkx.js";
|
|
12
12
|
import { n as extractErrorCode, r as formatErrorMessage } from "./errors-VR6fgqPc.js";
|
|
@@ -1275,7 +1275,7 @@ function isModuleNotFoundError(err) {
|
|
|
1275
1275
|
}
|
|
1276
1276
|
async function loadPwAiModule(mode) {
|
|
1277
1277
|
try {
|
|
1278
|
-
return await import("./pw-ai-
|
|
1278
|
+
return await import("./pw-ai-zFPBSxaL.js");
|
|
1279
1279
|
} catch (err) {
|
|
1280
1280
|
if (mode === "soft") return null;
|
|
1281
1281
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3641,7 +3641,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
|
|
|
3641
3641
|
//#region src/browser/server-context.reset.ts
|
|
3642
3642
|
async function closePlaywrightBrowserConnection() {
|
|
3643
3643
|
try {
|
|
3644
|
-
await (await import("./pw-ai-
|
|
3644
|
+
await (await import("./pw-ai-zFPBSxaL.js")).closePlaywrightBrowserConnection();
|
|
3645
3645
|
} catch {}
|
|
3646
3646
|
}
|
|
3647
3647
|
function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveSquidClawUserDataDir }) {
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { at as DEFAULT_ACCOUNT_ID, ot as normalizeAccountId, st as normalizeOptionalAccountId } from "./run-with-concurrency-5DMu9szx.js";
|
|
2
|
+
import { o as resolveOAuthDir } from "./paths-8xF5kDne.js";
|
|
3
|
+
import { Pr as formatCliCommand } from "./config-CrQ5bCrw.js";
|
|
4
|
+
import { B as success, E as resolveUserPath, G as getChildLogger, I as info, c as defaultRuntime, x as jidToE164 } from "./logger-DDdrdbDu.js";
|
|
5
|
+
import fs from "node:fs";
|
|
6
|
+
import path from "node:path";
|
|
7
|
+
import fs$1 from "node:fs/promises";
|
|
8
|
+
|
|
9
|
+
//#region src/channels/plugins/account-helpers.ts
|
|
10
|
+
function createAccountListHelpers(channelKey) {
|
|
11
|
+
function resolveConfiguredDefaultAccountId(cfg) {
|
|
12
|
+
const channel = cfg.channels?.[channelKey];
|
|
13
|
+
const preferred = normalizeOptionalAccountId(typeof channel?.defaultAccount === "string" ? channel.defaultAccount : void 0);
|
|
14
|
+
if (!preferred) return;
|
|
15
|
+
if (listAccountIds(cfg).some((id) => normalizeAccountId(id) === preferred)) return preferred;
|
|
16
|
+
}
|
|
17
|
+
function listConfiguredAccountIds(cfg) {
|
|
18
|
+
const accounts = (cfg.channels?.[channelKey])?.accounts;
|
|
19
|
+
if (!accounts || typeof accounts !== "object") return [];
|
|
20
|
+
return Object.keys(accounts).filter(Boolean);
|
|
21
|
+
}
|
|
22
|
+
function listAccountIds(cfg) {
|
|
23
|
+
const ids = listConfiguredAccountIds(cfg);
|
|
24
|
+
if (ids.length === 0) return [DEFAULT_ACCOUNT_ID];
|
|
25
|
+
return ids.toSorted((a, b) => a.localeCompare(b));
|
|
26
|
+
}
|
|
27
|
+
function resolveDefaultAccountId(cfg) {
|
|
28
|
+
const preferred = resolveConfiguredDefaultAccountId(cfg);
|
|
29
|
+
if (preferred) return preferred;
|
|
30
|
+
const ids = listAccountIds(cfg);
|
|
31
|
+
if (ids.includes(DEFAULT_ACCOUNT_ID)) return DEFAULT_ACCOUNT_ID;
|
|
32
|
+
return ids[0] ?? DEFAULT_ACCOUNT_ID;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
listConfiguredAccountIds,
|
|
36
|
+
listAccountIds,
|
|
37
|
+
resolveDefaultAccountId
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/routing/account-lookup.ts
|
|
43
|
+
function resolveAccountEntry(accounts, accountId) {
|
|
44
|
+
if (!accounts || typeof accounts !== "object") return;
|
|
45
|
+
if (Object.hasOwn(accounts, accountId)) return accounts[accountId];
|
|
46
|
+
const normalized = accountId.toLowerCase();
|
|
47
|
+
const matchKey = Object.keys(accounts).find((key) => key.toLowerCase() === normalized);
|
|
48
|
+
return matchKey ? accounts[matchKey] : void 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/web/auth-store.ts
|
|
53
|
+
function resolveDefaultWebAuthDir() {
|
|
54
|
+
return path.join(resolveOAuthDir(), "whatsapp", DEFAULT_ACCOUNT_ID);
|
|
55
|
+
}
|
|
56
|
+
const WA_WEB_AUTH_DIR = resolveDefaultWebAuthDir();
|
|
57
|
+
function resolveWebCredsPath(authDir) {
|
|
58
|
+
return path.join(authDir, "creds.json");
|
|
59
|
+
}
|
|
60
|
+
function resolveWebCredsBackupPath(authDir) {
|
|
61
|
+
return path.join(authDir, "creds.json.bak");
|
|
62
|
+
}
|
|
63
|
+
function hasWebCredsSync(authDir) {
|
|
64
|
+
try {
|
|
65
|
+
const stats = fs.statSync(resolveWebCredsPath(authDir));
|
|
66
|
+
return stats.isFile() && stats.size > 1;
|
|
67
|
+
} catch {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function readCredsJsonRaw(filePath) {
|
|
72
|
+
try {
|
|
73
|
+
if (!fs.existsSync(filePath)) return null;
|
|
74
|
+
const stats = fs.statSync(filePath);
|
|
75
|
+
if (!stats.isFile() || stats.size <= 1) return null;
|
|
76
|
+
return fs.readFileSync(filePath, "utf-8");
|
|
77
|
+
} catch {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function maybeRestoreCredsFromBackup(authDir) {
|
|
82
|
+
const logger = getChildLogger({ module: "web-session" });
|
|
83
|
+
try {
|
|
84
|
+
const credsPath = resolveWebCredsPath(authDir);
|
|
85
|
+
const backupPath = resolveWebCredsBackupPath(authDir);
|
|
86
|
+
const raw = readCredsJsonRaw(credsPath);
|
|
87
|
+
if (raw) {
|
|
88
|
+
JSON.parse(raw);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const backupRaw = readCredsJsonRaw(backupPath);
|
|
92
|
+
if (!backupRaw) return;
|
|
93
|
+
JSON.parse(backupRaw);
|
|
94
|
+
fs.copyFileSync(backupPath, credsPath);
|
|
95
|
+
try {
|
|
96
|
+
fs.chmodSync(credsPath, 384);
|
|
97
|
+
} catch {}
|
|
98
|
+
logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
|
|
99
|
+
} catch {}
|
|
100
|
+
}
|
|
101
|
+
async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
|
|
102
|
+
const resolvedAuthDir = resolveUserPath(authDir);
|
|
103
|
+
maybeRestoreCredsFromBackup(resolvedAuthDir);
|
|
104
|
+
const credsPath = resolveWebCredsPath(resolvedAuthDir);
|
|
105
|
+
try {
|
|
106
|
+
await fs$1.access(resolvedAuthDir);
|
|
107
|
+
} catch {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const stats = await fs$1.stat(credsPath);
|
|
112
|
+
if (!stats.isFile() || stats.size <= 1) return false;
|
|
113
|
+
const raw = await fs$1.readFile(credsPath, "utf-8");
|
|
114
|
+
JSON.parse(raw);
|
|
115
|
+
return true;
|
|
116
|
+
} catch {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async function clearLegacyBaileysAuthState(authDir) {
|
|
121
|
+
const entries = await fs$1.readdir(authDir, { withFileTypes: true });
|
|
122
|
+
const shouldDelete = (name) => {
|
|
123
|
+
if (name === "oauth.json") return false;
|
|
124
|
+
if (name === "creds.json" || name === "creds.json.bak") return true;
|
|
125
|
+
if (!name.endsWith(".json")) return false;
|
|
126
|
+
return /^(app-state-sync|session|sender-key|pre-key)-/.test(name);
|
|
127
|
+
};
|
|
128
|
+
await Promise.all(entries.map(async (entry) => {
|
|
129
|
+
if (!entry.isFile()) return;
|
|
130
|
+
if (!shouldDelete(entry.name)) return;
|
|
131
|
+
await fs$1.rm(path.join(authDir, entry.name), { force: true });
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
async function logoutWeb(params) {
|
|
135
|
+
const runtime = params.runtime ?? defaultRuntime;
|
|
136
|
+
const resolvedAuthDir = resolveUserPath(params.authDir ?? resolveDefaultWebAuthDir());
|
|
137
|
+
if (!await webAuthExists(resolvedAuthDir)) {
|
|
138
|
+
runtime.log(info("No WhatsApp Web session found; nothing to delete."));
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
if (params.isLegacyAuthDir) await clearLegacyBaileysAuthState(resolvedAuthDir);
|
|
142
|
+
else await fs$1.rm(resolvedAuthDir, {
|
|
143
|
+
recursive: true,
|
|
144
|
+
force: true
|
|
145
|
+
});
|
|
146
|
+
runtime.log(success("Cleared WhatsApp Web credentials."));
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
150
|
+
try {
|
|
151
|
+
const credsPath = resolveWebCredsPath(resolveUserPath(authDir));
|
|
152
|
+
if (!fs.existsSync(credsPath)) return {
|
|
153
|
+
e164: null,
|
|
154
|
+
jid: null
|
|
155
|
+
};
|
|
156
|
+
const raw = fs.readFileSync(credsPath, "utf-8");
|
|
157
|
+
const jid = JSON.parse(raw)?.me?.id ?? null;
|
|
158
|
+
return {
|
|
159
|
+
e164: jid ? jidToE164(jid, { authDir }) : null,
|
|
160
|
+
jid
|
|
161
|
+
};
|
|
162
|
+
} catch {
|
|
163
|
+
return {
|
|
164
|
+
e164: null,
|
|
165
|
+
jid: null
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Return the age (in milliseconds) of the cached WhatsApp web auth state, or null when missing.
|
|
171
|
+
* Helpful for heartbeats/observability to spot stale credentials.
|
|
172
|
+
*/
|
|
173
|
+
function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
|
|
174
|
+
try {
|
|
175
|
+
const stats = fs.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
|
|
176
|
+
return Date.now() - stats.mtimeMs;
|
|
177
|
+
} catch {
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
function logWebSelfId(authDir = resolveDefaultWebAuthDir(), runtime = defaultRuntime, includeChannelPrefix = false) {
|
|
182
|
+
const { e164, jid } = readWebSelfId(authDir);
|
|
183
|
+
const details = e164 || jid ? `${e164 ?? "unknown"}${jid ? ` (jid ${jid})` : ""}` : "unknown";
|
|
184
|
+
const prefix = includeChannelPrefix ? "Web Channel: " : "";
|
|
185
|
+
runtime.log(info(`${prefix}${details}`));
|
|
186
|
+
}
|
|
187
|
+
async function pickWebChannel(pref, authDir = resolveDefaultWebAuthDir()) {
|
|
188
|
+
const choice = pref === "auto" ? "web" : pref;
|
|
189
|
+
if (!await webAuthExists(authDir)) throw new Error(`No WhatsApp Web session found. Run \`${formatCliCommand("squidclaw channels login --channel whatsapp --verbose")}\` to link.`);
|
|
190
|
+
return choice;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region src/web/accounts.ts
|
|
195
|
+
const { listConfiguredAccountIds, listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("whatsapp");
|
|
196
|
+
const listWhatsAppAccountIds = listAccountIds;
|
|
197
|
+
const resolveDefaultWhatsAppAccountId = resolveDefaultAccountId;
|
|
198
|
+
function listWhatsAppAuthDirs(cfg) {
|
|
199
|
+
const oauthDir = resolveOAuthDir();
|
|
200
|
+
const whatsappDir = path.join(oauthDir, "whatsapp");
|
|
201
|
+
const authDirs = new Set([oauthDir, path.join(whatsappDir, DEFAULT_ACCOUNT_ID)]);
|
|
202
|
+
const accountIds = listConfiguredAccountIds(cfg);
|
|
203
|
+
for (const accountId of accountIds) authDirs.add(resolveWhatsAppAuthDir({
|
|
204
|
+
cfg,
|
|
205
|
+
accountId
|
|
206
|
+
}).authDir);
|
|
207
|
+
try {
|
|
208
|
+
const entries = fs.readdirSync(whatsappDir, { withFileTypes: true });
|
|
209
|
+
for (const entry of entries) {
|
|
210
|
+
if (!entry.isDirectory()) continue;
|
|
211
|
+
authDirs.add(path.join(whatsappDir, entry.name));
|
|
212
|
+
}
|
|
213
|
+
} catch {}
|
|
214
|
+
return Array.from(authDirs);
|
|
215
|
+
}
|
|
216
|
+
function hasAnyWhatsAppAuth(cfg) {
|
|
217
|
+
return listWhatsAppAuthDirs(cfg).some((authDir) => hasWebCredsSync(authDir));
|
|
218
|
+
}
|
|
219
|
+
function resolveAccountConfig(cfg, accountId) {
|
|
220
|
+
return resolveAccountEntry(cfg.channels?.whatsapp?.accounts, accountId);
|
|
221
|
+
}
|
|
222
|
+
function resolveDefaultAuthDir(accountId) {
|
|
223
|
+
return path.join(resolveOAuthDir(), "whatsapp", normalizeAccountId(accountId));
|
|
224
|
+
}
|
|
225
|
+
function resolveLegacyAuthDir() {
|
|
226
|
+
return resolveOAuthDir();
|
|
227
|
+
}
|
|
228
|
+
function legacyAuthExists(authDir) {
|
|
229
|
+
try {
|
|
230
|
+
return fs.existsSync(path.join(authDir, "creds.json"));
|
|
231
|
+
} catch {
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
function resolveWhatsAppAuthDir(params) {
|
|
236
|
+
const accountId = params.accountId.trim() || DEFAULT_ACCOUNT_ID;
|
|
237
|
+
const configured = resolveAccountConfig(params.cfg, accountId)?.authDir?.trim();
|
|
238
|
+
if (configured) return {
|
|
239
|
+
authDir: resolveUserPath(configured),
|
|
240
|
+
isLegacy: false
|
|
241
|
+
};
|
|
242
|
+
const defaultDir = resolveDefaultAuthDir(accountId);
|
|
243
|
+
if (accountId === DEFAULT_ACCOUNT_ID) {
|
|
244
|
+
const legacyDir = resolveLegacyAuthDir();
|
|
245
|
+
if (legacyAuthExists(legacyDir) && !legacyAuthExists(defaultDir)) return {
|
|
246
|
+
authDir: legacyDir,
|
|
247
|
+
isLegacy: true
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
return {
|
|
251
|
+
authDir: defaultDir,
|
|
252
|
+
isLegacy: false
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
function resolveWhatsAppAccount(params) {
|
|
256
|
+
const rootCfg = params.cfg.channels?.whatsapp;
|
|
257
|
+
const accountId = params.accountId?.trim() || resolveDefaultWhatsAppAccountId(params.cfg);
|
|
258
|
+
const accountCfg = resolveAccountConfig(params.cfg, accountId);
|
|
259
|
+
const enabled = accountCfg?.enabled !== false;
|
|
260
|
+
const { authDir, isLegacy } = resolveWhatsAppAuthDir({
|
|
261
|
+
cfg: params.cfg,
|
|
262
|
+
accountId
|
|
263
|
+
});
|
|
264
|
+
return {
|
|
265
|
+
accountId,
|
|
266
|
+
name: accountCfg?.name?.trim() || void 0,
|
|
267
|
+
enabled,
|
|
268
|
+
sendReadReceipts: accountCfg?.sendReadReceipts ?? rootCfg?.sendReadReceipts ?? true,
|
|
269
|
+
messagePrefix: accountCfg?.messagePrefix ?? rootCfg?.messagePrefix ?? params.cfg.messages?.messagePrefix,
|
|
270
|
+
authDir,
|
|
271
|
+
isLegacyAuthDir: isLegacy,
|
|
272
|
+
selfChatMode: accountCfg?.selfChatMode ?? rootCfg?.selfChatMode,
|
|
273
|
+
dmPolicy: accountCfg?.dmPolicy ?? rootCfg?.dmPolicy,
|
|
274
|
+
allowFrom: accountCfg?.allowFrom ?? rootCfg?.allowFrom,
|
|
275
|
+
groupAllowFrom: accountCfg?.groupAllowFrom ?? rootCfg?.groupAllowFrom,
|
|
276
|
+
groupPolicy: accountCfg?.groupPolicy ?? rootCfg?.groupPolicy,
|
|
277
|
+
textChunkLimit: accountCfg?.textChunkLimit ?? rootCfg?.textChunkLimit,
|
|
278
|
+
chunkMode: accountCfg?.chunkMode ?? rootCfg?.chunkMode,
|
|
279
|
+
mediaMaxMb: accountCfg?.mediaMaxMb ?? rootCfg?.mediaMaxMb,
|
|
280
|
+
blockStreaming: accountCfg?.blockStreaming ?? rootCfg?.blockStreaming,
|
|
281
|
+
ackReaction: accountCfg?.ackReaction ?? rootCfg?.ackReaction,
|
|
282
|
+
groups: accountCfg?.groups ?? rootCfg?.groups,
|
|
283
|
+
debounceMs: accountCfg?.debounceMs ?? rootCfg?.debounceMs
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
//#endregion
|
|
288
|
+
export { webAuthExists as _, resolveWhatsAppAuthDir as a, logWebSelfId as c, pickWebChannel as d, readCredsJsonRaw as f, resolveWebCredsPath as g, resolveWebCredsBackupPath as h, resolveWhatsAppAccount as i, logoutWeb as l, resolveDefaultWebAuthDir as m, listWhatsAppAccountIds as n, WA_WEB_AUTH_DIR as o, readWebSelfId as p, resolveDefaultWhatsAppAccountId as r, getWebAuthAgeMs as s, hasAnyWhatsAppAuth as t, maybeRestoreCredsFromBackup as u, resolveAccountEntry as v, createAccountListHelpers as y };
|
|
@@ -0,0 +1,46 @@
|
|
|
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/signal/accounts.ts
|
|
5
|
+
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
|
|
6
|
+
const listSignalAccountIds = listAccountIds;
|
|
7
|
+
const resolveDefaultSignalAccountId = resolveDefaultAccountId;
|
|
8
|
+
function resolveAccountConfig(cfg, accountId) {
|
|
9
|
+
return resolveAccountEntry(cfg.channels?.signal?.accounts, accountId);
|
|
10
|
+
}
|
|
11
|
+
function mergeSignalAccountConfig(cfg, accountId) {
|
|
12
|
+
const { accounts: _ignored, ...base } = cfg.channels?.signal ?? {};
|
|
13
|
+
const account = resolveAccountConfig(cfg, accountId) ?? {};
|
|
14
|
+
return {
|
|
15
|
+
...base,
|
|
16
|
+
...account
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function resolveSignalAccount(params) {
|
|
20
|
+
const accountId = normalizeAccountId(params.accountId);
|
|
21
|
+
const baseEnabled = params.cfg.channels?.signal?.enabled !== false;
|
|
22
|
+
const merged = mergeSignalAccountConfig(params.cfg, accountId);
|
|
23
|
+
const accountEnabled = merged.enabled !== false;
|
|
24
|
+
const enabled = baseEnabled && accountEnabled;
|
|
25
|
+
const host = merged.httpHost?.trim() || "127.0.0.1";
|
|
26
|
+
const port = merged.httpPort ?? 8080;
|
|
27
|
+
const baseUrl = merged.httpUrl?.trim() || `http://${host}:${port}`;
|
|
28
|
+
const configured = Boolean(merged.account?.trim() || merged.httpUrl?.trim() || merged.cliPath?.trim() || merged.httpHost?.trim() || typeof merged.httpPort === "number" || typeof merged.autoStart === "boolean");
|
|
29
|
+
return {
|
|
30
|
+
accountId,
|
|
31
|
+
enabled,
|
|
32
|
+
name: merged.name?.trim() || void 0,
|
|
33
|
+
baseUrl,
|
|
34
|
+
configured,
|
|
35
|
+
config: merged
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function listEnabledSignalAccounts(cfg) {
|
|
39
|
+
return listSignalAccountIds(cfg).map((accountId) => resolveSignalAccount({
|
|
40
|
+
cfg,
|
|
41
|
+
accountId
|
|
42
|
+
})).filter((account) => account.enabled);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { resolveSignalAccount as i, listSignalAccountIds as n, resolveDefaultSignalAccountId as r, listEnabledSignalAccounts as t };
|