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,13 @@
|
|
|
1
|
+
import "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import "./config-DYbtdrsT.js";
|
|
3
|
+
import "./logger-Bg4vIUJn.js";
|
|
4
|
+
import "./paths-Duwviem_.js";
|
|
5
|
+
import "./accounts-CxUSDHsT.js";
|
|
6
|
+
import "./plugins-DSs2-fnK.js";
|
|
7
|
+
import "./thinking-1UCPuD9d.js";
|
|
8
|
+
import "./accounts-PSzw-z3S.js";
|
|
9
|
+
import "./accounts-kr-Gz1hk.js";
|
|
10
|
+
import "./github-copilot-token-C0y6vp3r.js";
|
|
11
|
+
import { f as resolveCommandArgMenu, n as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-DwZAJuut.js";
|
|
12
|
+
|
|
13
|
+
export { buildCommandTextFromArgs, findCommandByNativeName, listNativeCommandSpecsForConfig, parseCommandArgs, resolveCommandArgMenu };
|
|
@@ -0,0 +1,13 @@
|
|
|
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 "./logger-DDdrdbDu.js";
|
|
7
|
+
import "./thinking-D41FMh9T.js";
|
|
8
|
+
import "./plugins-D5cdn70e.js";
|
|
9
|
+
import "./accounts-CcS9IAhD.js";
|
|
10
|
+
import "./accounts-CGTYP7Rh.js";
|
|
11
|
+
import { f as resolveCommandArgMenu, n as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-CcdEPxVg.js";
|
|
12
|
+
|
|
13
|
+
export { buildCommandTextFromArgs, findCommandByNativeName, listNativeCommandSpecsForConfig, parseCommandArgs, resolveCommandArgMenu };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import "./config-DYbtdrsT.js";
|
|
3
|
+
import "./logger-Bg4vIUJn.js";
|
|
4
|
+
import "./paths-Duwviem_.js";
|
|
5
|
+
import "./accounts-CxUSDHsT.js";
|
|
6
|
+
import "./plugins-DSs2-fnK.js";
|
|
7
|
+
import "./thinking-1UCPuD9d.js";
|
|
8
|
+
import "./accounts-PSzw-z3S.js";
|
|
9
|
+
import "./send-D9CSOGul.js";
|
|
10
|
+
import "./common-CqnO92P8.js";
|
|
11
|
+
import { H as finalizeInboundContext, O as resolveAgentRoute, S as dispatchReplyWithDispatcher, o as deliverSlackSlashReplies, r as recordInboundSessionMetaSafe, u as createReplyPrefixOptions } from "./reply-CWWUd_JS.js";
|
|
12
|
+
import "./image-ops-CMsocOob.js";
|
|
13
|
+
import { rn as resolveConversationLabel } from "./pi-embedded-helpers-BDJ_4Plh.js";
|
|
14
|
+
import "./accounts-kr-Gz1hk.js";
|
|
15
|
+
import "./send-DLKxJJYV.js";
|
|
16
|
+
import "./github-copilot-token-C0y6vp3r.js";
|
|
17
|
+
import "./paths-CP67O8eN.js";
|
|
18
|
+
import "./send-BeLBlAsQ.js";
|
|
19
|
+
import "./tokens-DAL_5WHL.js";
|
|
20
|
+
import "./audio-transcription-runner-Dwc0Eh-B.js";
|
|
21
|
+
import "./image-rycGCqJO.js";
|
|
22
|
+
import "./chrome-diV5m81I.js";
|
|
23
|
+
import "./skills-BzXN4uev.js";
|
|
24
|
+
import "./path-alias-guards-DA0MhfkG.js";
|
|
25
|
+
import "./redact-DfACyt0X.js";
|
|
26
|
+
import "./errors-9oVz7reJ.js";
|
|
27
|
+
import "./fs-safe-DFbwq9CS.js";
|
|
28
|
+
import "./proxy-env-Ib4-LUh-.js";
|
|
29
|
+
import "./store-DnJhFFW5.js";
|
|
30
|
+
import "./tool-images-RX4QTMnt.js";
|
|
31
|
+
import "./fetch-guard-Or5BCq0E.js";
|
|
32
|
+
import "./api-key-rotation-DE4gr5YM.js";
|
|
33
|
+
import "./local-roots-1xVosTZ4.js";
|
|
34
|
+
import "./proxy-fetch-Cf3IUSDw.js";
|
|
35
|
+
import "./deliver-DG_7Uagn.js";
|
|
36
|
+
import "./commands-registry-DwZAJuut.js";
|
|
37
|
+
import "./skill-commands-Bv7EZypt.js";
|
|
38
|
+
import "./fetch-D3HDdlk7.js";
|
|
39
|
+
import "./diagnostic-CT7v_kM2.js";
|
|
40
|
+
import "./pi-model-discovery-Mk0GTDJl.js";
|
|
41
|
+
import { m as resolveChunkMode, s as resolveMarkdownTableMode } from "./ir-DihI2SIz.js";
|
|
42
|
+
import "./render-95l30zcf.js";
|
|
43
|
+
import "./send-BP1fSEBR.js";
|
|
44
|
+
import "./outbound-attachment-Dtp3hQgc.js";
|
|
45
|
+
import "./send-XZ6IXCtL.js";
|
|
46
|
+
import "./channel-activity-XajEg_DL.js";
|
|
47
|
+
import "./tables-CpmqssLF.js";
|
|
48
|
+
import "./proxy-BOZmkV9K.js";
|
|
49
|
+
import "./manager-DrzOPeMD.js";
|
|
50
|
+
import "./query-expansion-CzjwW461.js";
|
|
51
|
+
|
|
52
|
+
export { createReplyPrefixOptions, deliverSlackSlashReplies, dispatchReplyWithDispatcher, finalizeInboundContext, recordInboundSessionMetaSafe, resolveAgentRoute, resolveChunkMode, resolveConversationLabel, resolveMarkdownTableMode };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import "./run-with-concurrency-5DMu9szx.js";
|
|
2
|
+
import "./accounts-BNuRM3rG.js";
|
|
3
|
+
import { N as finalizeInboundContext, X as createReplyPrefixOptions, a as deliverSlackSlashReplies, m as dispatchReplyWithDispatcher, n as recordInboundSessionMetaSafe, v as resolveAgentRoute } from "./reply-CQUX_haM.js";
|
|
4
|
+
import "./paths-8xF5kDne.js";
|
|
5
|
+
import "./github-copilot-token-Dy-0-Kh3.js";
|
|
6
|
+
import "./config-CrQ5bCrw.js";
|
|
7
|
+
import "./logger-DDdrdbDu.js";
|
|
8
|
+
import "./thinking-D41FMh9T.js";
|
|
9
|
+
import "./image-ops-BjK2qZZn.js";
|
|
10
|
+
import { rn as resolveConversationLabel } from "./pi-embedded-helpers-C-B9B6Sp.js";
|
|
11
|
+
import "./plugins-D5cdn70e.js";
|
|
12
|
+
import "./accounts-CcS9IAhD.js";
|
|
13
|
+
import "./accounts-CGTYP7Rh.js";
|
|
14
|
+
import "./send-DbxOJ_BC.js";
|
|
15
|
+
import "./paths-C6W4VHoa.js";
|
|
16
|
+
import "./fetch-B_RcOnt9.js";
|
|
17
|
+
import "./redact-BoNEjbpF.js";
|
|
18
|
+
import "./errors-B8oJXuCF.js";
|
|
19
|
+
import "./channel-activity-gPvD1D7S.js";
|
|
20
|
+
import "./path-alias-guards-gBhrAn14.js";
|
|
21
|
+
import "./fs-safe-Dqmpk-Fr.js";
|
|
22
|
+
import "./ssrf-2WBi1Tzx.js";
|
|
23
|
+
import "./fetch-guard-C55uvn27.js";
|
|
24
|
+
import "./local-roots-DmOKwiNW.js";
|
|
25
|
+
import { d as resolveChunkMode, i as resolveMarkdownTableMode } from "./ir-CS7uuQhN.js";
|
|
26
|
+
import "./render-HmipMDlP.js";
|
|
27
|
+
import "./tables-CrDYcv_b.js";
|
|
28
|
+
import "./send-uCPS53j8.js";
|
|
29
|
+
import "./send-BU4OoR7u.js";
|
|
30
|
+
import "./tool-images-CWc54lpI.js";
|
|
31
|
+
import "./target-errors-aOwE-MIU.js";
|
|
32
|
+
import "./send-BACEu1Un.js";
|
|
33
|
+
import "./audio-transcription-runner-RXsskMMk.js";
|
|
34
|
+
import "./tokens-CTIYTLWu.js";
|
|
35
|
+
import "./skill-commands-BK1KDKmS.js";
|
|
36
|
+
import "./skills-D4am-zkO.js";
|
|
37
|
+
import "./chrome-9Y_LcUg1.js";
|
|
38
|
+
import "./deliver-D3xr5AkB.js";
|
|
39
|
+
import "./diagnostic-BXkLYs_9.js";
|
|
40
|
+
import "./store-BKDMuvyn.js";
|
|
41
|
+
import "./commands-registry-CcdEPxVg.js";
|
|
42
|
+
import "./image-3xW7IJdq.js";
|
|
43
|
+
import "./api-key-rotation-Bhck7wki.js";
|
|
44
|
+
import "./proxy-fetch-ZPEvp58f.js";
|
|
45
|
+
import "./pi-model-discovery-BGEeoPzN.js";
|
|
46
|
+
import "./send-n932vjT5.js";
|
|
47
|
+
import "./outbound-attachment-BoFx05zw.js";
|
|
48
|
+
import "./proxy-BKdNrmWL.js";
|
|
49
|
+
import "./manager-DiXPCubI.js";
|
|
50
|
+
import "./query-expansion-eeVz_aEm.js";
|
|
51
|
+
|
|
52
|
+
export { createReplyPrefixOptions, deliverSlackSlashReplies, dispatchReplyWithDispatcher, finalizeInboundContext, recordInboundSessionMetaSafe, resolveAgentRoute, resolveChunkMode, resolveConversationLabel, resolveMarkdownTableMode };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import "./config-DYbtdrsT.js";
|
|
3
|
+
import "./logger-Bg4vIUJn.js";
|
|
4
|
+
import "./paths-Duwviem_.js";
|
|
5
|
+
import "./accounts-CxUSDHsT.js";
|
|
6
|
+
import "./plugins-DSs2-fnK.js";
|
|
7
|
+
import "./thinking-1UCPuD9d.js";
|
|
8
|
+
import "./accounts-PSzw-z3S.js";
|
|
9
|
+
import "./accounts-kr-Gz1hk.js";
|
|
10
|
+
import "./github-copilot-token-C0y6vp3r.js";
|
|
11
|
+
import "./skills-BzXN4uev.js";
|
|
12
|
+
import "./path-alias-guards-DA0MhfkG.js";
|
|
13
|
+
import "./commands-registry-DwZAJuut.js";
|
|
14
|
+
import { n as listSkillCommandsForAgents } from "./skill-commands-Bv7EZypt.js";
|
|
15
|
+
|
|
16
|
+
export { listSkillCommandsForAgents };
|
|
@@ -0,0 +1,16 @@
|
|
|
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 "./logger-DDdrdbDu.js";
|
|
7
|
+
import "./thinking-D41FMh9T.js";
|
|
8
|
+
import "./plugins-D5cdn70e.js";
|
|
9
|
+
import "./accounts-CcS9IAhD.js";
|
|
10
|
+
import "./accounts-CGTYP7Rh.js";
|
|
11
|
+
import "./path-alias-guards-gBhrAn14.js";
|
|
12
|
+
import { n as listSkillCommandsForAgents } from "./skill-commands-BK1KDKmS.js";
|
|
13
|
+
import "./skills-D4am-zkO.js";
|
|
14
|
+
import "./commands-registry-CcdEPxVg.js";
|
|
15
|
+
|
|
16
|
+
export { listSkillCommandsForAgents };
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { $ as parseCanonicalIpAddress, G as isBlockedSpecialUseIpv4Address, J as isIpv4Address, K as isBlockedSpecialUseIpv6Address, W as extractEmbeddedIpv4FromIpv6, Y as isLegacyIpv4Literal, et as parseLooseIpAddress, q as isCanonicalDottedDecimalIPv4 } from "./config-CrQ5bCrw.js";
|
|
2
|
+
import { Agent } from "undici";
|
|
3
|
+
import { lookup } from "node:dns";
|
|
4
|
+
import { lookup as lookup$1 } from "node:dns/promises";
|
|
5
|
+
|
|
6
|
+
//#region src/infra/net/proxy-env.ts
|
|
7
|
+
const PROXY_ENV_KEYS = [
|
|
8
|
+
"HTTP_PROXY",
|
|
9
|
+
"HTTPS_PROXY",
|
|
10
|
+
"ALL_PROXY",
|
|
11
|
+
"http_proxy",
|
|
12
|
+
"https_proxy",
|
|
13
|
+
"all_proxy"
|
|
14
|
+
];
|
|
15
|
+
function hasProxyEnvConfigured(env = process.env) {
|
|
16
|
+
for (const key of PROXY_ENV_KEYS) {
|
|
17
|
+
const value = env[key];
|
|
18
|
+
if (typeof value === "string" && value.trim().length > 0) return true;
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/infra/net/hostname.ts
|
|
25
|
+
function normalizeHostname(hostname) {
|
|
26
|
+
const normalized = hostname.trim().toLowerCase().replace(/\.$/, "");
|
|
27
|
+
if (normalized.startsWith("[") && normalized.endsWith("]")) return normalized.slice(1, -1);
|
|
28
|
+
return normalized;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/infra/net/ssrf.ts
|
|
33
|
+
var SsrFBlockedError = class extends Error {
|
|
34
|
+
constructor(message) {
|
|
35
|
+
super(message);
|
|
36
|
+
this.name = "SsrFBlockedError";
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const BLOCKED_HOSTNAMES = new Set([
|
|
40
|
+
"localhost",
|
|
41
|
+
"localhost.localdomain",
|
|
42
|
+
"metadata.google.internal"
|
|
43
|
+
]);
|
|
44
|
+
function normalizeHostnameSet(values) {
|
|
45
|
+
if (!values || values.length === 0) return /* @__PURE__ */ new Set();
|
|
46
|
+
return new Set(values.map((value) => normalizeHostname(value)).filter(Boolean));
|
|
47
|
+
}
|
|
48
|
+
function normalizeHostnameAllowlist(values) {
|
|
49
|
+
if (!values || values.length === 0) return [];
|
|
50
|
+
return Array.from(new Set(values.map((value) => normalizeHostname(value)).filter((value) => value !== "*" && value !== "*." && value.length > 0)));
|
|
51
|
+
}
|
|
52
|
+
function isPrivateNetworkAllowedByPolicy(policy) {
|
|
53
|
+
return policy?.dangerouslyAllowPrivateNetwork === true || policy?.allowPrivateNetwork === true;
|
|
54
|
+
}
|
|
55
|
+
function resolveIpv4SpecialUseBlockOptions(policy) {
|
|
56
|
+
return { allowRfc2544BenchmarkRange: policy?.allowRfc2544BenchmarkRange === true };
|
|
57
|
+
}
|
|
58
|
+
function isHostnameAllowedByPattern(hostname, pattern) {
|
|
59
|
+
if (pattern.startsWith("*.")) {
|
|
60
|
+
const suffix = pattern.slice(2);
|
|
61
|
+
if (!suffix || hostname === suffix) return false;
|
|
62
|
+
return hostname.endsWith(`.${suffix}`);
|
|
63
|
+
}
|
|
64
|
+
return hostname === pattern;
|
|
65
|
+
}
|
|
66
|
+
function matchesHostnameAllowlist(hostname, allowlist) {
|
|
67
|
+
if (allowlist.length === 0) return true;
|
|
68
|
+
return allowlist.some((pattern) => isHostnameAllowedByPattern(hostname, pattern));
|
|
69
|
+
}
|
|
70
|
+
function looksLikeUnsupportedIpv4Literal(address) {
|
|
71
|
+
const parts = address.split(".");
|
|
72
|
+
if (parts.length === 0 || parts.length > 4) return false;
|
|
73
|
+
if (parts.some((part) => part.length === 0)) return true;
|
|
74
|
+
return parts.every((part) => /^[0-9]+$/.test(part) || /^0x/i.test(part));
|
|
75
|
+
}
|
|
76
|
+
function isPrivateIpAddress(address, policy) {
|
|
77
|
+
let normalized = address.trim().toLowerCase();
|
|
78
|
+
if (normalized.startsWith("[") && normalized.endsWith("]")) normalized = normalized.slice(1, -1);
|
|
79
|
+
if (!normalized) return false;
|
|
80
|
+
const blockOptions = resolveIpv4SpecialUseBlockOptions(policy);
|
|
81
|
+
const strictIp = parseCanonicalIpAddress(normalized);
|
|
82
|
+
if (strictIp) {
|
|
83
|
+
if (isIpv4Address(strictIp)) return isBlockedSpecialUseIpv4Address(strictIp, blockOptions);
|
|
84
|
+
if (isBlockedSpecialUseIpv6Address(strictIp)) return true;
|
|
85
|
+
const embeddedIpv4 = extractEmbeddedIpv4FromIpv6(strictIp);
|
|
86
|
+
if (embeddedIpv4) return isBlockedSpecialUseIpv4Address(embeddedIpv4, blockOptions);
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
if (normalized.includes(":") && !parseLooseIpAddress(normalized)) return true;
|
|
90
|
+
if (!isCanonicalDottedDecimalIPv4(normalized) && isLegacyIpv4Literal(normalized)) return true;
|
|
91
|
+
if (looksLikeUnsupportedIpv4Literal(normalized)) return true;
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
function isBlockedHostname(hostname) {
|
|
95
|
+
const normalized = normalizeHostname(hostname);
|
|
96
|
+
if (!normalized) return false;
|
|
97
|
+
return isBlockedHostnameNormalized(normalized);
|
|
98
|
+
}
|
|
99
|
+
function isBlockedHostnameNormalized(normalized) {
|
|
100
|
+
if (BLOCKED_HOSTNAMES.has(normalized)) return true;
|
|
101
|
+
return normalized.endsWith(".localhost") || normalized.endsWith(".local") || normalized.endsWith(".internal");
|
|
102
|
+
}
|
|
103
|
+
function isBlockedHostnameOrIp(hostname, policy) {
|
|
104
|
+
const normalized = normalizeHostname(hostname);
|
|
105
|
+
if (!normalized) return false;
|
|
106
|
+
return isBlockedHostnameNormalized(normalized) || isPrivateIpAddress(normalized, policy);
|
|
107
|
+
}
|
|
108
|
+
const BLOCKED_HOST_OR_IP_MESSAGE = "Blocked hostname or private/internal/special-use IP address";
|
|
109
|
+
const BLOCKED_RESOLVED_IP_MESSAGE = "Blocked: resolves to private/internal/special-use IP address";
|
|
110
|
+
function assertAllowedHostOrIpOrThrow(hostnameOrIp, policy) {
|
|
111
|
+
if (isBlockedHostnameOrIp(hostnameOrIp, policy)) throw new SsrFBlockedError(BLOCKED_HOST_OR_IP_MESSAGE);
|
|
112
|
+
}
|
|
113
|
+
function assertAllowedResolvedAddressesOrThrow(results, policy) {
|
|
114
|
+
for (const entry of results) if (isBlockedHostnameOrIp(entry.address, policy)) throw new SsrFBlockedError(BLOCKED_RESOLVED_IP_MESSAGE);
|
|
115
|
+
}
|
|
116
|
+
function createPinnedLookup(params) {
|
|
117
|
+
const normalizedHost = normalizeHostname(params.hostname);
|
|
118
|
+
const fallback = params.fallback ?? lookup;
|
|
119
|
+
const fallbackLookup = fallback;
|
|
120
|
+
const fallbackWithOptions = fallback;
|
|
121
|
+
const records = params.addresses.map((address) => ({
|
|
122
|
+
address,
|
|
123
|
+
family: address.includes(":") ? 6 : 4
|
|
124
|
+
}));
|
|
125
|
+
let index = 0;
|
|
126
|
+
return ((host, options, callback) => {
|
|
127
|
+
const cb = typeof options === "function" ? options : callback;
|
|
128
|
+
if (!cb) return;
|
|
129
|
+
const normalized = normalizeHostname(host);
|
|
130
|
+
if (!normalized || normalized !== normalizedHost) {
|
|
131
|
+
if (typeof options === "function" || options === void 0) return fallbackLookup(host, cb);
|
|
132
|
+
return fallbackWithOptions(host, options, cb);
|
|
133
|
+
}
|
|
134
|
+
const opts = typeof options === "object" && options !== null ? options : {};
|
|
135
|
+
const requestedFamily = typeof options === "number" ? options : typeof opts.family === "number" ? opts.family : 0;
|
|
136
|
+
const candidates = requestedFamily === 4 || requestedFamily === 6 ? records.filter((entry) => entry.family === requestedFamily) : records;
|
|
137
|
+
const usable = candidates.length > 0 ? candidates : records;
|
|
138
|
+
if (opts.all) {
|
|
139
|
+
cb(null, usable);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const chosen = usable[index % usable.length];
|
|
143
|
+
index += 1;
|
|
144
|
+
cb(null, chosen.address, chosen.family);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function dedupeAndPreferIpv4(results) {
|
|
148
|
+
const seen = /* @__PURE__ */ new Set();
|
|
149
|
+
const ipv4 = [];
|
|
150
|
+
const otherFamilies = [];
|
|
151
|
+
for (const entry of results) {
|
|
152
|
+
if (seen.has(entry.address)) continue;
|
|
153
|
+
seen.add(entry.address);
|
|
154
|
+
if (entry.family === 4) {
|
|
155
|
+
ipv4.push(entry.address);
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
otherFamilies.push(entry.address);
|
|
159
|
+
}
|
|
160
|
+
return [...ipv4, ...otherFamilies];
|
|
161
|
+
}
|
|
162
|
+
async function resolvePinnedHostnameWithPolicy(hostname, params = {}) {
|
|
163
|
+
const normalized = normalizeHostname(hostname);
|
|
164
|
+
if (!normalized) throw new Error("Invalid hostname");
|
|
165
|
+
const allowPrivateNetwork = isPrivateNetworkAllowedByPolicy(params.policy);
|
|
166
|
+
const allowedHostnames = normalizeHostnameSet(params.policy?.allowedHostnames);
|
|
167
|
+
const hostnameAllowlist = normalizeHostnameAllowlist(params.policy?.hostnameAllowlist);
|
|
168
|
+
const isExplicitAllowed = allowedHostnames.has(normalized);
|
|
169
|
+
const skipPrivateNetworkChecks = allowPrivateNetwork || isExplicitAllowed;
|
|
170
|
+
if (!matchesHostnameAllowlist(normalized, hostnameAllowlist)) throw new SsrFBlockedError(`Blocked hostname (not in allowlist): ${hostname}`);
|
|
171
|
+
if (!skipPrivateNetworkChecks) assertAllowedHostOrIpOrThrow(normalized, params.policy);
|
|
172
|
+
const results = await (params.lookupFn ?? lookup$1)(normalized, { all: true });
|
|
173
|
+
if (results.length === 0) throw new Error(`Unable to resolve hostname: ${hostname}`);
|
|
174
|
+
if (!skipPrivateNetworkChecks) assertAllowedResolvedAddressesOrThrow(results, params.policy);
|
|
175
|
+
const addresses = dedupeAndPreferIpv4(results);
|
|
176
|
+
if (addresses.length === 0) throw new Error(`Unable to resolve hostname: ${hostname}`);
|
|
177
|
+
return {
|
|
178
|
+
hostname: normalized,
|
|
179
|
+
addresses,
|
|
180
|
+
lookup: createPinnedLookup({
|
|
181
|
+
hostname: normalized,
|
|
182
|
+
addresses
|
|
183
|
+
})
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
function createPinnedDispatcher(pinned) {
|
|
187
|
+
return new Agent({ connect: { lookup: pinned.lookup } });
|
|
188
|
+
}
|
|
189
|
+
async function closeDispatcher(dispatcher) {
|
|
190
|
+
if (!dispatcher) return;
|
|
191
|
+
const candidate = dispatcher;
|
|
192
|
+
try {
|
|
193
|
+
if (typeof candidate.close === "function") {
|
|
194
|
+
await candidate.close();
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
if (typeof candidate.destroy === "function") candidate.destroy();
|
|
198
|
+
} catch {}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
//#endregion
|
|
202
|
+
export { isBlockedHostnameOrIp as a, resolvePinnedHostnameWithPolicy as c, isBlockedHostname as i, normalizeHostname as l, closeDispatcher as n, isPrivateIpAddress as o, createPinnedDispatcher as r, isPrivateNetworkAllowedByPolicy as s, SsrFBlockedError as t, hasProxyEnvConfigured as u };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { w as resolveConfigDir } from "./logger-DDdrdbDu.js";
|
|
2
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-BjK2qZZn.js";
|
|
3
|
+
import { createWriteStream } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import fs$1 from "node:fs/promises";
|
|
6
|
+
import crypto from "node:crypto";
|
|
7
|
+
import { pipeline } from "node:stream/promises";
|
|
8
|
+
import { request } from "node:https";
|
|
9
|
+
|
|
10
|
+
//#region src/media/store.ts
|
|
11
|
+
const resolveMediaDir = () => path.join(resolveConfigDir(), "media");
|
|
12
|
+
const MEDIA_MAX_BYTES = 5 * 1024 * 1024;
|
|
13
|
+
const MAX_BYTES = MEDIA_MAX_BYTES;
|
|
14
|
+
const DEFAULT_TTL_MS = 120 * 1e3;
|
|
15
|
+
const MEDIA_FILE_MODE = 420;
|
|
16
|
+
/**
|
|
17
|
+
* Sanitize a filename for cross-platform safety.
|
|
18
|
+
* Removes chars unsafe on Windows/SharePoint/all platforms.
|
|
19
|
+
* Keeps: alphanumeric, dots, hyphens, underscores, Unicode letters/numbers.
|
|
20
|
+
*/
|
|
21
|
+
function sanitizeFilename(name) {
|
|
22
|
+
const trimmed = name.trim();
|
|
23
|
+
if (!trimmed) return "";
|
|
24
|
+
return trimmed.replace(/[^\p{L}\p{N}._-]+/gu, "_").replace(/_+/g, "_").replace(/^_|_$/g, "").slice(0, 60);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Extract original filename from path if it matches the embedded format.
|
|
28
|
+
* Pattern: {original}---{uuid}.{ext} → returns "{original}.{ext}"
|
|
29
|
+
* Falls back to basename if no pattern match, or "file.bin" if empty.
|
|
30
|
+
*/
|
|
31
|
+
function extractOriginalFilename(filePath) {
|
|
32
|
+
const basename = path.basename(filePath);
|
|
33
|
+
if (!basename) return "file.bin";
|
|
34
|
+
const ext = path.extname(basename);
|
|
35
|
+
const match = path.basename(basename, ext).match(/^(.+)---[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i);
|
|
36
|
+
if (match?.[1]) return `${match[1]}${ext}`;
|
|
37
|
+
return basename;
|
|
38
|
+
}
|
|
39
|
+
function getMediaDir() {
|
|
40
|
+
return resolveMediaDir();
|
|
41
|
+
}
|
|
42
|
+
async function ensureMediaDir() {
|
|
43
|
+
const mediaDir = resolveMediaDir();
|
|
44
|
+
await fs$1.mkdir(mediaDir, {
|
|
45
|
+
recursive: true,
|
|
46
|
+
mode: 448
|
|
47
|
+
});
|
|
48
|
+
return mediaDir;
|
|
49
|
+
}
|
|
50
|
+
async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes = MAX_BYTES, originalFilename) {
|
|
51
|
+
if (buffer.byteLength > maxBytes) throw new Error(`Media exceeds ${(maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
|
|
52
|
+
const dir = path.join(resolveMediaDir(), subdir);
|
|
53
|
+
await fs$1.mkdir(dir, {
|
|
54
|
+
recursive: true,
|
|
55
|
+
mode: 448
|
|
56
|
+
});
|
|
57
|
+
const uuid = crypto.randomUUID();
|
|
58
|
+
const headerExt = extensionForMime(contentType?.split(";")[0]?.trim() ?? void 0);
|
|
59
|
+
const mime = await detectMime({
|
|
60
|
+
buffer,
|
|
61
|
+
headerMime: contentType
|
|
62
|
+
});
|
|
63
|
+
const ext = headerExt ?? extensionForMime(mime) ?? "";
|
|
64
|
+
let id;
|
|
65
|
+
if (originalFilename) {
|
|
66
|
+
const base = path.parse(originalFilename).name;
|
|
67
|
+
const sanitized = sanitizeFilename(base);
|
|
68
|
+
id = sanitized ? `${sanitized}---${uuid}${ext}` : `${uuid}${ext}`;
|
|
69
|
+
} else id = ext ? `${uuid}${ext}` : uuid;
|
|
70
|
+
const dest = path.join(dir, id);
|
|
71
|
+
await fs$1.writeFile(dest, buffer, { mode: MEDIA_FILE_MODE });
|
|
72
|
+
return {
|
|
73
|
+
id,
|
|
74
|
+
path: dest,
|
|
75
|
+
size: buffer.byteLength,
|
|
76
|
+
contentType: mime
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
export { saveMediaBuffer as a, getMediaDir as i, ensureMediaDir as n, extractOriginalFilename as r, MEDIA_MAX_BYTES as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as resolveConfigDir } from "./logger-
|
|
2
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
1
|
+
import { _ as resolveConfigDir } from "./logger-Bg4vIUJn.js";
|
|
2
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-CMsocOob.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import fs$1 from "node:fs/promises";
|
|
5
5
|
import crypto from "node:crypto";
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import "./config-DYbtdrsT.js";
|
|
3
|
+
import "./logger-Bg4vIUJn.js";
|
|
4
|
+
import "./paths-Duwviem_.js";
|
|
5
|
+
import "./accounts-CxUSDHsT.js";
|
|
6
|
+
import "./plugins-DSs2-fnK.js";
|
|
7
|
+
import "./thinking-1UCPuD9d.js";
|
|
8
|
+
import "./accounts-PSzw-z3S.js";
|
|
9
|
+
import "./send-D9CSOGul.js";
|
|
10
|
+
import "./common-CqnO92P8.js";
|
|
11
|
+
import { F as resolveRequesterForChildSession, M as countPendingDescendantRuns, N as countPendingDescendantRunsExcludingRun, P as isSubagentSessionRunActive, j as countActiveDescendantRuns } from "./reply-CWWUd_JS.js";
|
|
12
|
+
import "./image-ops-CMsocOob.js";
|
|
13
|
+
import "./pi-embedded-helpers-BDJ_4Plh.js";
|
|
14
|
+
import "./accounts-kr-Gz1hk.js";
|
|
15
|
+
import "./send-DLKxJJYV.js";
|
|
16
|
+
import "./github-copilot-token-C0y6vp3r.js";
|
|
17
|
+
import "./paths-CP67O8eN.js";
|
|
18
|
+
import "./send-BeLBlAsQ.js";
|
|
19
|
+
import "./tokens-DAL_5WHL.js";
|
|
20
|
+
import "./audio-transcription-runner-Dwc0Eh-B.js";
|
|
21
|
+
import "./image-rycGCqJO.js";
|
|
22
|
+
import "./chrome-diV5m81I.js";
|
|
23
|
+
import "./skills-BzXN4uev.js";
|
|
24
|
+
import "./path-alias-guards-DA0MhfkG.js";
|
|
25
|
+
import "./redact-DfACyt0X.js";
|
|
26
|
+
import "./errors-9oVz7reJ.js";
|
|
27
|
+
import "./fs-safe-DFbwq9CS.js";
|
|
28
|
+
import "./proxy-env-Ib4-LUh-.js";
|
|
29
|
+
import "./store-DnJhFFW5.js";
|
|
30
|
+
import "./tool-images-RX4QTMnt.js";
|
|
31
|
+
import "./fetch-guard-Or5BCq0E.js";
|
|
32
|
+
import "./api-key-rotation-DE4gr5YM.js";
|
|
33
|
+
import "./local-roots-1xVosTZ4.js";
|
|
34
|
+
import "./proxy-fetch-Cf3IUSDw.js";
|
|
35
|
+
import "./deliver-DG_7Uagn.js";
|
|
36
|
+
import "./commands-registry-DwZAJuut.js";
|
|
37
|
+
import "./skill-commands-Bv7EZypt.js";
|
|
38
|
+
import "./fetch-D3HDdlk7.js";
|
|
39
|
+
import "./diagnostic-CT7v_kM2.js";
|
|
40
|
+
import "./pi-model-discovery-Mk0GTDJl.js";
|
|
41
|
+
import "./ir-DihI2SIz.js";
|
|
42
|
+
import "./render-95l30zcf.js";
|
|
43
|
+
import "./send-BP1fSEBR.js";
|
|
44
|
+
import "./outbound-attachment-Dtp3hQgc.js";
|
|
45
|
+
import "./send-XZ6IXCtL.js";
|
|
46
|
+
import "./channel-activity-XajEg_DL.js";
|
|
47
|
+
import "./tables-CpmqssLF.js";
|
|
48
|
+
import "./proxy-BOZmkV9K.js";
|
|
49
|
+
import "./manager-DrzOPeMD.js";
|
|
50
|
+
import "./query-expansion-CzjwW461.js";
|
|
51
|
+
|
|
52
|
+
export { countActiveDescendantRuns, countPendingDescendantRuns, countPendingDescendantRunsExcludingRun, isSubagentSessionRunActive, resolveRequesterForChildSession };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import "./run-with-concurrency-5DMu9szx.js";
|
|
2
|
+
import "./accounts-BNuRM3rG.js";
|
|
3
|
+
import { C as countPendingDescendantRunsExcludingRun, S as countPendingDescendantRuns, T as resolveRequesterForChildSession, w as isSubagentSessionRunActive, x as countActiveDescendantRuns } from "./reply-CQUX_haM.js";
|
|
4
|
+
import "./paths-8xF5kDne.js";
|
|
5
|
+
import "./github-copilot-token-Dy-0-Kh3.js";
|
|
6
|
+
import "./config-CrQ5bCrw.js";
|
|
7
|
+
import "./logger-DDdrdbDu.js";
|
|
8
|
+
import "./thinking-D41FMh9T.js";
|
|
9
|
+
import "./image-ops-BjK2qZZn.js";
|
|
10
|
+
import "./pi-embedded-helpers-C-B9B6Sp.js";
|
|
11
|
+
import "./plugins-D5cdn70e.js";
|
|
12
|
+
import "./accounts-CcS9IAhD.js";
|
|
13
|
+
import "./accounts-CGTYP7Rh.js";
|
|
14
|
+
import "./send-DbxOJ_BC.js";
|
|
15
|
+
import "./paths-C6W4VHoa.js";
|
|
16
|
+
import "./fetch-B_RcOnt9.js";
|
|
17
|
+
import "./redact-BoNEjbpF.js";
|
|
18
|
+
import "./errors-B8oJXuCF.js";
|
|
19
|
+
import "./channel-activity-gPvD1D7S.js";
|
|
20
|
+
import "./path-alias-guards-gBhrAn14.js";
|
|
21
|
+
import "./fs-safe-Dqmpk-Fr.js";
|
|
22
|
+
import "./ssrf-2WBi1Tzx.js";
|
|
23
|
+
import "./fetch-guard-C55uvn27.js";
|
|
24
|
+
import "./local-roots-DmOKwiNW.js";
|
|
25
|
+
import "./ir-CS7uuQhN.js";
|
|
26
|
+
import "./render-HmipMDlP.js";
|
|
27
|
+
import "./tables-CrDYcv_b.js";
|
|
28
|
+
import "./send-uCPS53j8.js";
|
|
29
|
+
import "./send-BU4OoR7u.js";
|
|
30
|
+
import "./tool-images-CWc54lpI.js";
|
|
31
|
+
import "./target-errors-aOwE-MIU.js";
|
|
32
|
+
import "./send-BACEu1Un.js";
|
|
33
|
+
import "./audio-transcription-runner-RXsskMMk.js";
|
|
34
|
+
import "./tokens-CTIYTLWu.js";
|
|
35
|
+
import "./skill-commands-BK1KDKmS.js";
|
|
36
|
+
import "./skills-D4am-zkO.js";
|
|
37
|
+
import "./chrome-9Y_LcUg1.js";
|
|
38
|
+
import "./deliver-D3xr5AkB.js";
|
|
39
|
+
import "./diagnostic-BXkLYs_9.js";
|
|
40
|
+
import "./store-BKDMuvyn.js";
|
|
41
|
+
import "./commands-registry-CcdEPxVg.js";
|
|
42
|
+
import "./image-3xW7IJdq.js";
|
|
43
|
+
import "./api-key-rotation-Bhck7wki.js";
|
|
44
|
+
import "./proxy-fetch-ZPEvp58f.js";
|
|
45
|
+
import "./pi-model-discovery-BGEeoPzN.js";
|
|
46
|
+
import "./send-n932vjT5.js";
|
|
47
|
+
import "./outbound-attachment-BoFx05zw.js";
|
|
48
|
+
import "./proxy-BKdNrmWL.js";
|
|
49
|
+
import "./manager-DiXPCubI.js";
|
|
50
|
+
import "./query-expansion-eeVz_aEm.js";
|
|
51
|
+
|
|
52
|
+
export { countActiveDescendantRuns, countPendingDescendantRuns, countPendingDescendantRunsExcludingRun, isSubagentSessionRunActive, resolveRequesterForChildSession };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { r as markdownToIRWithMeta } from "./ir-CS7uuQhN.js";
|
|
2
|
+
import { t as renderMarkdownWithMarkers } from "./render-HmipMDlP.js";
|
|
3
|
+
|
|
4
|
+
//#region src/markdown/tables.ts
|
|
5
|
+
const MARKDOWN_STYLE_MARKERS = {
|
|
6
|
+
bold: {
|
|
7
|
+
open: "**",
|
|
8
|
+
close: "**"
|
|
9
|
+
},
|
|
10
|
+
italic: {
|
|
11
|
+
open: "_",
|
|
12
|
+
close: "_"
|
|
13
|
+
},
|
|
14
|
+
strikethrough: {
|
|
15
|
+
open: "~~",
|
|
16
|
+
close: "~~"
|
|
17
|
+
},
|
|
18
|
+
code: {
|
|
19
|
+
open: "`",
|
|
20
|
+
close: "`"
|
|
21
|
+
},
|
|
22
|
+
code_block: {
|
|
23
|
+
open: "```\n",
|
|
24
|
+
close: "```"
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
function convertMarkdownTables(markdown, mode) {
|
|
28
|
+
if (!markdown || mode === "off") return markdown;
|
|
29
|
+
const { ir, hasTables } = markdownToIRWithMeta(markdown, {
|
|
30
|
+
linkify: false,
|
|
31
|
+
autolink: false,
|
|
32
|
+
headingStyle: "none",
|
|
33
|
+
blockquotePrefix: "",
|
|
34
|
+
tableMode: mode
|
|
35
|
+
});
|
|
36
|
+
if (!hasTables) return markdown;
|
|
37
|
+
return renderMarkdownWithMarkers(ir, {
|
|
38
|
+
styleMarkers: MARKDOWN_STYLE_MARKERS,
|
|
39
|
+
escapeText: (text) => text,
|
|
40
|
+
buildLink: (link, text) => {
|
|
41
|
+
const href = link.href.trim();
|
|
42
|
+
if (!href) return null;
|
|
43
|
+
if (!text.slice(link.start, link.end)) return null;
|
|
44
|
+
return {
|
|
45
|
+
start: link.start,
|
|
46
|
+
end: link.end,
|
|
47
|
+
open: "[",
|
|
48
|
+
close: `](${href})`
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
export { convertMarkdownTables as t };
|