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,342 @@
|
|
|
1
|
+
import { c as resolveAgentWorkspaceDir, r as listAgentIds, s as resolveAgentSkillsFilter } from "./run-with-concurrency-5DMu9szx.js";
|
|
2
|
+
import { c as resolveStateDir } from "./paths-8xF5kDne.js";
|
|
3
|
+
import { E as resolveUserPath, L as logVerbose, a as createSubsystemLogger, f as CONFIG_DIR } from "./logger-DDdrdbDu.js";
|
|
4
|
+
import { t as createAsyncLock } from "./json-files-DJe5SBCd.js";
|
|
5
|
+
import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-D4am-zkO.js";
|
|
6
|
+
import { i as listChatCommands } from "./commands-registry-CcdEPxVg.js";
|
|
7
|
+
import fs from "node:fs";
|
|
8
|
+
import path from "node:path";
|
|
9
|
+
import os from "node:os";
|
|
10
|
+
import { randomBytes, randomUUID } from "node:crypto";
|
|
11
|
+
import chokidar from "chokidar";
|
|
12
|
+
|
|
13
|
+
//#region src/infra/pairing-files.ts
|
|
14
|
+
function resolvePairingPaths(baseDir, subdir) {
|
|
15
|
+
const root = baseDir ?? resolveStateDir();
|
|
16
|
+
const dir = path.join(root, subdir);
|
|
17
|
+
return {
|
|
18
|
+
dir,
|
|
19
|
+
pendingPath: path.join(dir, "pending.json"),
|
|
20
|
+
pairedPath: path.join(dir, "paired.json")
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function pruneExpiredPending(pendingById, nowMs, ttlMs) {
|
|
24
|
+
for (const [id, req] of Object.entries(pendingById)) if (nowMs - req.ts > ttlMs) delete pendingById[id];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/infra/pairing-pending.ts
|
|
29
|
+
async function rejectPendingPairingRequest(params) {
|
|
30
|
+
const state = await params.loadState();
|
|
31
|
+
const pending = state.pendingById[params.requestId];
|
|
32
|
+
if (!pending) return null;
|
|
33
|
+
delete state.pendingById[params.requestId];
|
|
34
|
+
await params.persistState(state);
|
|
35
|
+
return {
|
|
36
|
+
requestId: params.requestId,
|
|
37
|
+
[params.idKey]: params.getId(pending)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/infra/pairing-token.ts
|
|
43
|
+
const PAIRING_TOKEN_BYTES = 32;
|
|
44
|
+
function generatePairingToken() {
|
|
45
|
+
return randomBytes(PAIRING_TOKEN_BYTES).toString("base64url");
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/agents/skills/refresh.ts
|
|
50
|
+
const log$1 = createSubsystemLogger("gateway/skills");
|
|
51
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
52
|
+
const workspaceVersions = /* @__PURE__ */ new Map();
|
|
53
|
+
const watchers = /* @__PURE__ */ new Map();
|
|
54
|
+
let globalVersion = 0;
|
|
55
|
+
const DEFAULT_SKILLS_WATCH_IGNORED = [
|
|
56
|
+
/(^|[\\/])\.git([\\/]|$)/,
|
|
57
|
+
/(^|[\\/])node_modules([\\/]|$)/,
|
|
58
|
+
/(^|[\\/])dist([\\/]|$)/,
|
|
59
|
+
/(^|[\\/])\.venv([\\/]|$)/,
|
|
60
|
+
/(^|[\\/])venv([\\/]|$)/,
|
|
61
|
+
/(^|[\\/])__pycache__([\\/]|$)/,
|
|
62
|
+
/(^|[\\/])\.mypy_cache([\\/]|$)/,
|
|
63
|
+
/(^|[\\/])\.pytest_cache([\\/]|$)/,
|
|
64
|
+
/(^|[\\/])build([\\/]|$)/,
|
|
65
|
+
/(^|[\\/])\.cache([\\/]|$)/
|
|
66
|
+
];
|
|
67
|
+
function bumpVersion(current) {
|
|
68
|
+
const now = Date.now();
|
|
69
|
+
return now <= current ? current + 1 : now;
|
|
70
|
+
}
|
|
71
|
+
function emit(event) {
|
|
72
|
+
for (const listener of listeners) try {
|
|
73
|
+
listener(event);
|
|
74
|
+
} catch (err) {
|
|
75
|
+
log$1.warn(`skills change listener failed: ${String(err)}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function resolveWatchPaths(workspaceDir, config) {
|
|
79
|
+
const paths = [];
|
|
80
|
+
if (workspaceDir.trim()) {
|
|
81
|
+
paths.push(path.join(workspaceDir, "skills"));
|
|
82
|
+
paths.push(path.join(workspaceDir, ".agents", "skills"));
|
|
83
|
+
}
|
|
84
|
+
paths.push(path.join(CONFIG_DIR, "skills"));
|
|
85
|
+
paths.push(path.join(os.homedir(), ".agents", "skills"));
|
|
86
|
+
const extraDirs = (config?.skills?.load?.extraDirs ?? []).map((d) => typeof d === "string" ? d.trim() : "").filter(Boolean).map((dir) => resolveUserPath(dir));
|
|
87
|
+
paths.push(...extraDirs);
|
|
88
|
+
const pluginSkillDirs = resolvePluginSkillDirs({
|
|
89
|
+
workspaceDir,
|
|
90
|
+
config
|
|
91
|
+
});
|
|
92
|
+
paths.push(...pluginSkillDirs);
|
|
93
|
+
return paths;
|
|
94
|
+
}
|
|
95
|
+
function toWatchGlobRoot(raw) {
|
|
96
|
+
return raw.replaceAll("\\", "/").replace(/\/+$/, "");
|
|
97
|
+
}
|
|
98
|
+
function resolveWatchTargets(workspaceDir, config) {
|
|
99
|
+
const targets = /* @__PURE__ */ new Set();
|
|
100
|
+
for (const root of resolveWatchPaths(workspaceDir, config)) {
|
|
101
|
+
const globRoot = toWatchGlobRoot(root);
|
|
102
|
+
targets.add(`${globRoot}/SKILL.md`);
|
|
103
|
+
targets.add(`${globRoot}/*/SKILL.md`);
|
|
104
|
+
}
|
|
105
|
+
return Array.from(targets).toSorted();
|
|
106
|
+
}
|
|
107
|
+
function bumpSkillsSnapshotVersion(params) {
|
|
108
|
+
const reason = params?.reason ?? "manual";
|
|
109
|
+
const changedPath = params?.changedPath;
|
|
110
|
+
if (params?.workspaceDir) {
|
|
111
|
+
const next = bumpVersion(workspaceVersions.get(params.workspaceDir) ?? 0);
|
|
112
|
+
workspaceVersions.set(params.workspaceDir, next);
|
|
113
|
+
emit({
|
|
114
|
+
workspaceDir: params.workspaceDir,
|
|
115
|
+
reason,
|
|
116
|
+
changedPath
|
|
117
|
+
});
|
|
118
|
+
return next;
|
|
119
|
+
}
|
|
120
|
+
globalVersion = bumpVersion(globalVersion);
|
|
121
|
+
emit({
|
|
122
|
+
reason,
|
|
123
|
+
changedPath
|
|
124
|
+
});
|
|
125
|
+
return globalVersion;
|
|
126
|
+
}
|
|
127
|
+
function getSkillsSnapshotVersion(workspaceDir) {
|
|
128
|
+
if (!workspaceDir) return globalVersion;
|
|
129
|
+
const local = workspaceVersions.get(workspaceDir) ?? 0;
|
|
130
|
+
return Math.max(globalVersion, local);
|
|
131
|
+
}
|
|
132
|
+
function ensureSkillsWatcher(params) {
|
|
133
|
+
const workspaceDir = params.workspaceDir.trim();
|
|
134
|
+
if (!workspaceDir) return;
|
|
135
|
+
const watchEnabled = params.config?.skills?.load?.watch !== false;
|
|
136
|
+
const debounceMsRaw = params.config?.skills?.load?.watchDebounceMs;
|
|
137
|
+
const debounceMs = typeof debounceMsRaw === "number" && Number.isFinite(debounceMsRaw) ? Math.max(0, debounceMsRaw) : 250;
|
|
138
|
+
const existing = watchers.get(workspaceDir);
|
|
139
|
+
if (!watchEnabled) {
|
|
140
|
+
if (existing) {
|
|
141
|
+
watchers.delete(workspaceDir);
|
|
142
|
+
if (existing.timer) clearTimeout(existing.timer);
|
|
143
|
+
existing.watcher.close().catch(() => {});
|
|
144
|
+
}
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const watchTargets = resolveWatchTargets(workspaceDir, params.config);
|
|
148
|
+
const pathsKey = watchTargets.join("|");
|
|
149
|
+
if (existing && existing.pathsKey === pathsKey && existing.debounceMs === debounceMs) return;
|
|
150
|
+
if (existing) {
|
|
151
|
+
watchers.delete(workspaceDir);
|
|
152
|
+
if (existing.timer) clearTimeout(existing.timer);
|
|
153
|
+
existing.watcher.close().catch(() => {});
|
|
154
|
+
}
|
|
155
|
+
const watcher = chokidar.watch(watchTargets, {
|
|
156
|
+
ignoreInitial: true,
|
|
157
|
+
awaitWriteFinish: {
|
|
158
|
+
stabilityThreshold: debounceMs,
|
|
159
|
+
pollInterval: 100
|
|
160
|
+
},
|
|
161
|
+
ignored: DEFAULT_SKILLS_WATCH_IGNORED
|
|
162
|
+
});
|
|
163
|
+
const state = {
|
|
164
|
+
watcher,
|
|
165
|
+
pathsKey,
|
|
166
|
+
debounceMs
|
|
167
|
+
};
|
|
168
|
+
const schedule = (changedPath) => {
|
|
169
|
+
state.pendingPath = changedPath ?? state.pendingPath;
|
|
170
|
+
if (state.timer) clearTimeout(state.timer);
|
|
171
|
+
state.timer = setTimeout(() => {
|
|
172
|
+
const pendingPath = state.pendingPath;
|
|
173
|
+
state.pendingPath = void 0;
|
|
174
|
+
state.timer = void 0;
|
|
175
|
+
bumpSkillsSnapshotVersion({
|
|
176
|
+
workspaceDir,
|
|
177
|
+
reason: "watch",
|
|
178
|
+
changedPath: pendingPath
|
|
179
|
+
});
|
|
180
|
+
}, debounceMs);
|
|
181
|
+
};
|
|
182
|
+
watcher.on("add", (p) => schedule(p));
|
|
183
|
+
watcher.on("change", (p) => schedule(p));
|
|
184
|
+
watcher.on("unlink", (p) => schedule(p));
|
|
185
|
+
watcher.on("error", (err) => {
|
|
186
|
+
log$1.warn(`skills watcher error (${workspaceDir}): ${String(err)}`);
|
|
187
|
+
});
|
|
188
|
+
watchers.set(workspaceDir, state);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region src/infra/node-pairing.ts
|
|
193
|
+
const PENDING_TTL_MS = 300 * 1e3;
|
|
194
|
+
const withLock = createAsyncLock();
|
|
195
|
+
|
|
196
|
+
//#endregion
|
|
197
|
+
//#region src/infra/skills-remote.ts
|
|
198
|
+
const log = createSubsystemLogger("gateway/skills-remote");
|
|
199
|
+
const remoteNodes = /* @__PURE__ */ new Map();
|
|
200
|
+
function isMacPlatform(platform, deviceFamily) {
|
|
201
|
+
const platformNorm = String(platform ?? "").trim().toLowerCase();
|
|
202
|
+
const familyNorm = String(deviceFamily ?? "").trim().toLowerCase();
|
|
203
|
+
if (platformNorm.includes("mac")) return true;
|
|
204
|
+
if (platformNorm.includes("darwin")) return true;
|
|
205
|
+
if (familyNorm === "mac") return true;
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
function supportsSystemRun(commands) {
|
|
209
|
+
return Array.isArray(commands) && commands.includes("system.run");
|
|
210
|
+
}
|
|
211
|
+
function getRemoteSkillEligibility() {
|
|
212
|
+
const macNodes = [...remoteNodes.values()].filter((node) => isMacPlatform(node.platform, node.deviceFamily) && supportsSystemRun(node.commands));
|
|
213
|
+
if (macNodes.length === 0) return;
|
|
214
|
+
const bins = /* @__PURE__ */ new Set();
|
|
215
|
+
for (const node of macNodes) for (const bin of node.bins) bins.add(bin);
|
|
216
|
+
const labels = macNodes.map((node) => node.displayName ?? node.nodeId).filter(Boolean);
|
|
217
|
+
return {
|
|
218
|
+
platforms: ["darwin"],
|
|
219
|
+
hasBin: (bin) => bins.has(bin),
|
|
220
|
+
hasAnyBin: (required) => required.some((bin) => bins.has(bin)),
|
|
221
|
+
note: labels.length > 0 ? `Remote macOS node available (${labels.join(", ")}). Run macOS-only skills via nodes.run on that node.` : "Remote macOS node available. Run macOS-only skills via nodes.run on that node."
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
//#endregion
|
|
226
|
+
//#region src/auto-reply/skill-commands.ts
|
|
227
|
+
function listReservedChatSlashCommandNames(extraNames = []) {
|
|
228
|
+
const reserved = /* @__PURE__ */ new Set();
|
|
229
|
+
for (const command of listChatCommands()) {
|
|
230
|
+
if (command.nativeName) reserved.add(command.nativeName.toLowerCase());
|
|
231
|
+
for (const alias of command.textAliases) {
|
|
232
|
+
const trimmed = alias.trim();
|
|
233
|
+
if (!trimmed.startsWith("/")) continue;
|
|
234
|
+
reserved.add(trimmed.slice(1).toLowerCase());
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
for (const name of extraNames) {
|
|
238
|
+
const trimmed = name.trim().toLowerCase();
|
|
239
|
+
if (trimmed) reserved.add(trimmed);
|
|
240
|
+
}
|
|
241
|
+
return reserved;
|
|
242
|
+
}
|
|
243
|
+
function listSkillCommandsForWorkspace(params) {
|
|
244
|
+
return buildWorkspaceSkillCommandSpecs(params.workspaceDir, {
|
|
245
|
+
config: params.cfg,
|
|
246
|
+
skillFilter: params.skillFilter,
|
|
247
|
+
eligibility: { remote: getRemoteSkillEligibility() },
|
|
248
|
+
reservedNames: listReservedChatSlashCommandNames()
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
function listSkillCommandsForAgents(params) {
|
|
252
|
+
const mergeSkillFilters = (existing, incoming) => {
|
|
253
|
+
if (existing === void 0 || incoming === void 0) return;
|
|
254
|
+
if (existing.length === 0) return Array.from(new Set(incoming));
|
|
255
|
+
if (incoming.length === 0) return Array.from(new Set(existing));
|
|
256
|
+
return Array.from(new Set([...existing, ...incoming]));
|
|
257
|
+
};
|
|
258
|
+
const agentIds = params.agentIds ?? listAgentIds(params.cfg);
|
|
259
|
+
const used = listReservedChatSlashCommandNames();
|
|
260
|
+
const entries = [];
|
|
261
|
+
const workspaceFilters = /* @__PURE__ */ new Map();
|
|
262
|
+
for (const agentId of agentIds) {
|
|
263
|
+
const workspaceDir = resolveAgentWorkspaceDir(params.cfg, agentId);
|
|
264
|
+
if (!fs.existsSync(workspaceDir)) {
|
|
265
|
+
logVerbose(`Skipping agent "${agentId}": workspace does not exist: ${workspaceDir}`);
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
let canonicalDir;
|
|
269
|
+
try {
|
|
270
|
+
canonicalDir = fs.realpathSync(workspaceDir);
|
|
271
|
+
} catch {
|
|
272
|
+
logVerbose(`Skipping agent "${agentId}": cannot resolve workspace: ${workspaceDir}`);
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
const skillFilter = resolveAgentSkillsFilter(params.cfg, agentId);
|
|
276
|
+
const existing = workspaceFilters.get(canonicalDir);
|
|
277
|
+
if (existing) {
|
|
278
|
+
existing.skillFilter = mergeSkillFilters(existing.skillFilter, skillFilter);
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
workspaceFilters.set(canonicalDir, {
|
|
282
|
+
workspaceDir,
|
|
283
|
+
skillFilter
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
for (const { workspaceDir, skillFilter } of workspaceFilters.values()) {
|
|
287
|
+
const commands = buildWorkspaceSkillCommandSpecs(workspaceDir, {
|
|
288
|
+
config: params.cfg,
|
|
289
|
+
skillFilter,
|
|
290
|
+
eligibility: { remote: getRemoteSkillEligibility() },
|
|
291
|
+
reservedNames: used
|
|
292
|
+
});
|
|
293
|
+
for (const command of commands) {
|
|
294
|
+
used.add(command.name.toLowerCase());
|
|
295
|
+
entries.push(command);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
return entries;
|
|
299
|
+
}
|
|
300
|
+
function normalizeSkillCommandLookup(value) {
|
|
301
|
+
return value.trim().toLowerCase().replace(/[\s_]+/g, "-");
|
|
302
|
+
}
|
|
303
|
+
function findSkillCommand(skillCommands, rawName) {
|
|
304
|
+
const trimmed = rawName.trim();
|
|
305
|
+
if (!trimmed) return;
|
|
306
|
+
const lowered = trimmed.toLowerCase();
|
|
307
|
+
const normalized = normalizeSkillCommandLookup(trimmed);
|
|
308
|
+
return skillCommands.find((entry) => {
|
|
309
|
+
if (entry.name.toLowerCase() === lowered) return true;
|
|
310
|
+
if (entry.skillName.toLowerCase() === lowered) return true;
|
|
311
|
+
return normalizeSkillCommandLookup(entry.name) === normalized || normalizeSkillCommandLookup(entry.skillName) === normalized;
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
function resolveSkillCommandInvocation(params) {
|
|
315
|
+
const trimmed = params.commandBodyNormalized.trim();
|
|
316
|
+
if (!trimmed.startsWith("/")) return null;
|
|
317
|
+
const match = trimmed.match(/^\/([^\s]+)(?:\s+([\s\S]+))?$/);
|
|
318
|
+
if (!match) return null;
|
|
319
|
+
const commandName = match[1]?.trim().toLowerCase();
|
|
320
|
+
if (!commandName) return null;
|
|
321
|
+
if (commandName === "skill") {
|
|
322
|
+
const remainder = match[2]?.trim();
|
|
323
|
+
if (!remainder) return null;
|
|
324
|
+
const skillMatch = remainder.match(/^([^\s]+)(?:\s+([\s\S]+))?$/);
|
|
325
|
+
if (!skillMatch) return null;
|
|
326
|
+
const skillCommand = findSkillCommand(params.skillCommands, skillMatch[1] ?? "");
|
|
327
|
+
if (!skillCommand) return null;
|
|
328
|
+
return {
|
|
329
|
+
command: skillCommand,
|
|
330
|
+
args: skillMatch[2]?.trim() || void 0
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
const command = params.skillCommands.find((entry) => entry.name.toLowerCase() === commandName);
|
|
334
|
+
if (!command) return null;
|
|
335
|
+
return {
|
|
336
|
+
command,
|
|
337
|
+
args: match[2]?.trim() || void 0
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
//#endregion
|
|
342
|
+
export { getRemoteSkillEligibility as a, generatePairingToken as c, resolvePairingPaths as d, resolveSkillCommandInvocation as i, rejectPendingPairingRequest as l, listSkillCommandsForAgents as n, ensureSkillsWatcher as o, listSkillCommandsForWorkspace as r, getSkillsSnapshotVersion as s, listReservedChatSlashCommandNames as t, pruneExpiredPending as u };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as resolveAgentWorkspaceDir, r as listAgentIds, s as resolveAgentSkillsFilter } from "./run-with-concurrency-
|
|
2
|
-
import { L as logVerbose, O as createSubsystemLogger, a as CONFIG_DIR, y as resolveUserPath } from "./logger-
|
|
1
|
+
import { c as resolveAgentWorkspaceDir, r as listAgentIds, s as resolveAgentSkillsFilter } from "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import { L as logVerbose, O as createSubsystemLogger, a as CONFIG_DIR, y as resolveUserPath } from "./logger-Bg4vIUJn.js";
|
|
3
3
|
import { c as resolveStateDir } from "./paths-Duwviem_.js";
|
|
4
4
|
import { t as createAsyncLock } from "./json-files-DtF9ARSD.js";
|
|
5
|
-
import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-
|
|
6
|
-
import { i as listChatCommands } from "./commands-registry-
|
|
5
|
+
import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-BzXN4uev.js";
|
|
6
|
+
import { i as listChatCommands } from "./commands-registry-DwZAJuut.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fs from "node:fs";
|
|
9
9
|
import os from "node:os";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { E as resolveSquidClawPackageRootSync, H as normalizeSkillFilter, z as isPathInside } from "./run-with-concurrency-
|
|
2
|
-
import { $n as parseBooleanValue, J as resolveMemorySlotDecision, K as normalizePluginsConfig, U as LEGACY_MANIFEST_KEYS, W as MANIFEST_KEY, Xn as isDangerousHostEnvVarName, kn as isPathInsideWithRealpath, nr as normalizeResolvedSecretInputString, q as resolveEffectiveEnableState, z as loadPluginManifestRegistry } from "./config-
|
|
3
|
-
import { O as createSubsystemLogger, Y as resolvePreferredSquidClawTmpDir, a as CONFIG_DIR, y as resolveUserPath } from "./logger-
|
|
4
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
1
|
+
import { E as resolveSquidClawPackageRootSync, H as normalizeSkillFilter, z as isPathInside } from "./run-with-concurrency-kVooFCVo.js";
|
|
2
|
+
import { $n as parseBooleanValue, J as resolveMemorySlotDecision, K as normalizePluginsConfig, U as LEGACY_MANIFEST_KEYS, W as MANIFEST_KEY, Xn as isDangerousHostEnvVarName, kn as isPathInsideWithRealpath, nr as normalizeResolvedSecretInputString, q as resolveEffectiveEnableState, z as loadPluginManifestRegistry } from "./config-DYbtdrsT.js";
|
|
3
|
+
import { O as createSubsystemLogger, Y as resolvePreferredSquidClawTmpDir, a as CONFIG_DIR, y as resolveUserPath } from "./logger-Bg4vIUJn.js";
|
|
4
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-DA0MhfkG.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs";
|
|
7
7
|
import os from "node:os";
|
|
8
|
-
import
|
|
8
|
+
import json5 from "json5";
|
|
9
9
|
import { URL as URL$1, fileURLToPath } from "node:url";
|
|
10
10
|
import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
|
11
11
|
import YAML from "yaml";
|
|
@@ -285,7 +285,7 @@ function resolveSquidClawManifestBlock(params) {
|
|
|
285
285
|
const raw = getFrontmatterString(params.frontmatter, params.key ?? "metadata");
|
|
286
286
|
if (!raw) return;
|
|
287
287
|
try {
|
|
288
|
-
const parsed =
|
|
288
|
+
const parsed = json5.parse(raw);
|
|
289
289
|
if (!parsed || typeof parsed !== "object") return;
|
|
290
290
|
const manifestKeys = [MANIFEST_KEY, ...LEGACY_MANIFEST_KEYS];
|
|
291
291
|
for (const key of manifestKeys) {
|