squidclaw 3.0.27 → 3.0.29
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/{accounts-C7pGQPcS.js → accounts-A_9Khwyv.js} +2 -2
- package/dist/{accounts-DjhBQg_8.js → accounts-Cz_Fvguv.js} +2 -2
- package/dist/{accounts-DwGoZKGm.js → accounts-f6iuhXVV.js} +17 -17
- package/dist/{active-listener-DPc_PGsA.js → active-listener-Cpv61XW5.js} +2 -2
- package/dist/{agents-SHmmlinC.js → agents-C45efJT7.js} +4 -4
- package/dist/{agents.config-C4bgEbdA.js → agents.config-C8v65qN9.js} +1 -1
- package/dist/{agents.config-CKbSiVW4.js → agents.config-Clini93W.js} +1 -1
- package/dist/{api-key-rotation-DVyYtQxC.js → api-key-rotation-6zH7pb_E.js} +2 -2
- package/dist/{audio-preflight-BUCBED7N.js → audio-preflight-DsLwB4dE.js} +32 -32
- package/dist/{audio-transcription-runner-Cv0Q47cM.js → audio-transcription-runner-zGqnorSY.js} +12 -12
- package/dist/{audit-membership-runtime-DyLj-uhz.js → audit-membership-runtime-By9-qSwl.js} +4 -4
- package/dist/{auth-choice-nbbKEYIm.js → auth-choice-BQXBGaRl.js} +1 -1
- package/dist/{auth-choice-DOEtSP7U.js → auth-choice-hEJyhy7L.js} +1 -1
- package/dist/{banner-CgxbDb-A.js → banner-CrrDgCEs.js} +1 -1
- package/dist/build-info.json +2 -2
- package/dist/bundled/boot-md/handler.js +51 -51
- package/dist/bundled/bootstrap-extra-files/handler.js +7 -7
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +153 -60
- package/dist/{channel-activity-CPpt4XaL.js → channel-activity-Byj9--iR.js} +3 -3
- package/dist/{channel-options-DD8pn51g.js → channel-options-CVKOaKBz.js} +1 -1
- package/dist/{channel-options-DORsSb06.js → channel-options-iObBHiIV.js} +1 -1
- package/dist/{channel-web-C9gRSNfc.js → channel-web-CSYQMMrp.js} +1 -1
- package/dist/{channel-web-BvloWcnP.js → channel-web-ZjLaDDYA.js} +1 -1
- package/dist/{channels-cli-DiA6DH6p.js → channels-cli-CJSNz6Do.js} +6 -6
- package/dist/{channels-cli-DqyjCJAf.js → channels-cli-ZxEUWF-u.js} +6 -6
- package/dist/{chrome-OgCChbC_.js → chrome-BvWxjtGl.js} +18 -18
- package/dist/{cli-BNZDUFuk.js → cli-BI1nRfCA.js} +1 -1
- package/dist/{cli-DCsEN1fp.js → cli-R49Hv8Gb.js} +1 -1
- package/dist/{command-registry-DntrnfSZ.js → command-registry-DAp3-Qya.js} +9 -9
- package/dist/{commands-registry-BJjv8_oR.js → commands-registry-tedusR2M.js} +4 -4
- package/dist/{completion-cli-0kzbsPCE.js → completion-cli-CLrRKFt9.js} +1 -1
- package/dist/{completion-cli-ZG2HRTZw.js → completion-cli-DZbYDl2J.js} +2 -2
- package/dist/{config-cli-B70aSBjJ.js → config-cli-Bmq4kHDl.js} +1 -1
- package/dist/{config-cli-DyB3LaLr.js → config-cli-DXJQvEat.js} +1 -1
- package/dist/{configure-DFjC_USC.js → configure-BM0Q5yuJ.js} +3 -3
- package/dist/{configure-HAlDPfOO.js → configure-DTT64LBO.js} +3 -3
- package/dist/{deliver-DMTUTpTM.js → deliver-RetmM0fn.js} +21 -21
- package/dist/deliver-runtime-tqK6d8Uv.js +36 -0
- package/dist/deps-send-discord.runtime-BGaHOctc.js +26 -0
- package/dist/deps-send-imessage.runtime-BIYidS73.js +25 -0
- package/dist/deps-send-signal.runtime-CjglZ1PO.js +24 -0
- package/dist/deps-send-slack.runtime-DOkzJ6nC.js +22 -0
- package/dist/deps-send-telegram.runtime-Cz8mtMyE.js +27 -0
- package/dist/{deps-send-whatsapp.runtime-BTVEWhWJ.js → deps-send-whatsapp.runtime-CEe4M8js.js} +3 -3
- package/dist/deps-send-whatsapp.runtime-DFfgQ9HF.js +60 -0
- package/dist/{deps-send-whatsapp.runtime-gVafyT5b.js → deps-send-whatsapp.runtime-DKkr-l19.js} +2 -2
- package/dist/{deps-send-whatsapp.runtime-B6WZfxsU.js → deps-send-whatsapp.runtime-Dcp7Tin4.js} +3 -3
- package/dist/{diagnostic-CnVwZNbm.js → diagnostic-DnZCgMrc.js} +2 -2
- package/dist/{doctor-completion-Bdaa-Pnx.js → doctor-completion-D-MCE0ZM.js} +1 -1
- package/dist/{doctor-completion-B6t4VCC2.js → doctor-completion-DtrqjkJS.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{plugin-sdk/errors-9oVz7reJ.js → errors-CCLnP2Fs.js} +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{fetch-DP-JjB6Z.js → fetch-cQwsz0rO.js} +5 -5
- package/dist/{fetch-guard-BDy975wP.js → fetch-guard-BkqLWF6M.js} +2 -2
- package/dist/{frontmatter-Cq1TcIQ2.js → frontmatter-vSrur-r-.js} +5 -5
- package/dist/{fs-safe-BoB4X3GD.js → fs-safe-Dyju4C81.js} +4 -4
- package/dist/{gateway-cli-BvESvgyp.js → gateway-cli-BIn8TtGv.js} +8 -8
- package/dist/{gateway-cli-DTUsG7Sq.js → gateway-cli-BeQXAKTg.js} +8 -8
- package/dist/{github-copilot-token-B5cPlwaz.js → github-copilot-token-B8Wx9FgQ.js} +7 -7
- package/dist/{health-LxEzhXog.js → health-B1YIoY5z.js} +1 -1
- package/dist/{health-ChHiOfOC.js → health-BPRQncx0.js} +1 -1
- package/dist/{hooks-cli-CLigFQsx.js → hooks-cli-D-3Q8obA.js} +2 -2
- package/dist/{hooks-cli-B2_cA6tp.js → hooks-cli-D5NHmkRr.js} +2 -2
- package/dist/{image-kKMG59st.js → image-kOIz_XGP.js} +6 -6
- package/dist/{image-ops-Dg8iraUV.js → image-ops-CumBuu0G.js} +2 -2
- package/dist/image-runtime-CSRwqD0g.js +29 -0
- package/dist/index.js +6 -6
- package/dist/{ir-CKK03mBV.js → ir-rIK14_OY.js} +8 -8
- package/dist/{legacy-names-aGJJuzM_.js → legacy-names-CDxprteD.js} +1 -1
- package/dist/llm-slug-generator.js +51 -51
- package/dist/{logger-CnTSBL7T.js → logger-onBePS9K.js} +7 -7
- package/dist/{login-CeKDrz6_.js → login-BFH4YHqv.js} +5 -5
- package/dist/{login-qr-KbOpR0GQ.js → login-qr-BuzK_3o4.js} +10 -10
- package/dist/{manager-DINhLnMi.js → manager-B-q7-W4P.js} +13 -13
- package/dist/manager-runtime-CF4Tq0lu.js +18 -0
- package/dist/{model-selection-DuNLFQPR.js → model-selection-BEglDVk0.js} +48 -48
- package/dist/{models-BV4zhGnq.js → models-CAH2k1fR.js} +2 -2
- package/dist/{models-cli-BNn-0rl0.js → models-cli-BfGR6mAy.js} +2 -2
- package/dist/{models-cli-Dpj_xSPh.js → models-cli-DostGd3W.js} +3 -3
- package/dist/{npm-resolution-CnaTt2aT.js → npm-resolution-EIBwVM0Q.js} +1 -1
- package/dist/{npm-resolution-CKHXw_Cx.js → npm-resolution-_wRrdhwZ.js} +1 -1
- package/dist/{onboard-J6n7v4Bo.js → onboard-DrLrDJWL.js} +2 -2
- package/dist/{onboard-C4ayp9K2.js → onboard-DrpgQebA.js} +2 -2
- package/dist/{onboard-channels-Csy6Ng39.js → onboard-channels-4-7KcYUw.js} +1 -1
- package/dist/{onboard-channels-BHxe-ulR.js → onboard-channels-D4cK-Cbv.js} +1 -1
- package/dist/{onboarding-BKxsnOPg.js → onboarding-C6vIz92s.js} +3 -3
- package/dist/{onboarding-Cx8FcYRx.js → onboarding-vQJFankJ.js} +3 -3
- package/dist/{onboarding.finalize-DhPoPhfX.js → onboarding.finalize-0nV-87s1.js} +6 -6
- package/dist/{onboarding.finalize-BxXIISee.js → onboarding.finalize-Ck6DerG6.js} +5 -5
- package/dist/{outbound-C9svt6RH.js → outbound-ZriFY47D.js} +6 -6
- package/dist/{outbound-attachment-DwupUxYF.js → outbound-attachment-CtS0mrgi.js} +2 -2
- package/dist/{path-alias-guards-DORgbZ1w.js → path-alias-guards-CNSVgZrJ.js} +1 -1
- package/dist/{paths-DSd911Oe.js → paths-CUF9-Xea.js} +4 -4
- package/dist/{paths-DA5srn0U.js → paths-ZhiQAuKk.js} +5 -5
- package/dist/{pi-embedded-D6gxI0xB.js → pi-embedded-CgheLT-Q.js} +4 -74
- package/dist/{pi-embedded-CpNkNjFv.js → pi-embedded-NI8lHL1N.js} +160 -230
- package/dist/{pi-embedded-helpers-Di58J7Eh.js → pi-embedded-helpers-BYajLWsL.js} +52 -52
- package/dist/{pi-model-discovery-V-InbjOM.js → pi-model-discovery-COoRoqoO.js} +7 -7
- package/dist/pi-model-discovery-runtime-CV-86a0O.js +11 -0
- package/dist/{pi-tools.before-tool-call.runtime-Bpk4qTgV.js → pi-tools.before-tool-call.runtime-pbvzHMRb.js} +9 -9
- package/dist/{plugin-registry-CJ9E3pVF.js → plugin-registry-BsC3FIYP.js} +1 -1
- package/dist/{plugin-registry-DbWGikL_.js → plugin-registry-CaFT-Rl0.js} +1 -1
- package/dist/plugin-sdk/{accounts-C5PAuCTj.js → accounts-0kF5cxkn.js} +2 -2
- package/dist/plugin-sdk/{accounts-DC5cbH9r.js → accounts-u0-JAHzj.js} +2 -2
- package/dist/plugin-sdk/{accounts-DncG0Hx9.js → accounts-xZOA23tQ.js} +3 -3
- package/dist/plugin-sdk/{active-listener-Bd3HH2km.js → active-listener-C5xPUSTb.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-BAZ0GD26.js → api-key-rotation-DyjMI2n3.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-tpVm-t9O.js → audio-preflight-C0q7lu6y.js} +26 -26
- package/dist/plugin-sdk/{audio-transcription-runner-DSScb434.js → audio-transcription-runner-Ced47O1H.js} +11 -11
- package/dist/plugin-sdk/{audit-membership-runtime-DHQDvH4u.js → audit-membership-runtime-Xl20kCBe.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-cYEaofTH.js → channel-activity-CNffKOEQ.js} +3 -3
- package/dist/plugin-sdk/{channel-web-K0nTiIAp.js → channel-web-CSCRnS_R.js} +1 -1
- package/dist/plugin-sdk/{channel-web-C14ArXJA.js → channel-web-WTmRi6i_.js} +18 -18
- package/dist/plugin-sdk/{chrome-DB2h0uN0.js → chrome-DJQWo149.js} +6 -6
- package/dist/plugin-sdk/{commands-registry-DGZ1oFXJ.js → commands-registry-_kBPE22q.js} +4 -4
- package/dist/plugin-sdk/{common-D5lLWoCW.js → common-J8vIST9Q.js} +2 -2
- package/dist/plugin-sdk/compat.js +2 -2
- package/dist/plugin-sdk/{config-Bt-c7PWF.js → config-CnZ1TlEw.js} +7 -7
- package/dist/plugin-sdk/{deliver-MvrkIeKJ.js → deliver-Xh6voz9H.js} +10 -10
- package/dist/plugin-sdk/deliver-runtime-5UVcSskg.js +32 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-DTspXSCt.js +23 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-qThAwDEe.js +22 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-DnjnVzZF.js +21 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-CbKevLnv.js +19 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-C6y29O9E.js +24 -0
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DzQP5jh0.js → deps-send-whatsapp.runtime-DGKnscLG.js} +3 -3
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-DfCAOpgB.js +57 -0
- package/dist/plugin-sdk/{diagnostic-B6F3BtCX.js → diagnostic-DKsyROPi.js} +2 -2
- package/dist/{errors-kkRuS2Cs.js → plugin-sdk/errors-CgRPdp3o.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-cfPCfkrw.js → fetch-guard-BBAT8G-1.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DFbwq9CS.js → fs-safe-DqCO1D4C.js} +3 -3
- package/dist/plugin-sdk/{image-FK5xhY5u.js → image-4ay2cw7G.js} +6 -6
- package/dist/plugin-sdk/{image-ops-BSYgrL7E.js → image-ops-G8KoEfY8.js} +2 -2
- package/dist/plugin-sdk/image-runtime-CpfepTDc.js +25 -0
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{ir-CWmryq5f.js → ir-DXj1KGnL.js} +7 -7
- package/dist/plugin-sdk/{local-roots-U25IdeDH.js → local-roots-ovKHgVSP.js} +4 -4
- package/dist/plugin-sdk/{logger-Bg4vIUJn.js → logger-DIb2cGHp.js} +2 -2
- package/dist/plugin-sdk/{login-8qzl2H7G.js → login-Cgtm70by.js} +4 -4
- package/dist/plugin-sdk/{login-qr-kalCTJEw.js → login-qr-BrixqhMx.js} +5 -5
- package/dist/plugin-sdk/{manager-ijYHktIt.js → manager-PEQ_cPYF.js} +8 -8
- package/dist/plugin-sdk/manager-runtime-BmgTeb5G.js +15 -0
- package/dist/plugin-sdk/mattermost.js +3 -3
- package/dist/plugin-sdk/{outbound-BIVf0aPq.js → outbound-BK75h9CQ.js} +5 -5
- package/dist/plugin-sdk/{outbound-attachment-F5tzeNUD.js → outbound-attachment-BI1QngTS.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-DA0MhfkG.js → path-alias-guards-TnxupPQC.js} +1 -1
- package/dist/plugin-sdk/{paths-CP67O8eN.js → paths-B7_75Pdr.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-CxMnPQ37.js → pi-embedded-helpers-BioULNev.js} +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-8OL77kCh.js → pi-model-discovery-BMmAbnil.js} +1 -1
- package/dist/plugin-sdk/pi-model-discovery-runtime-COnuGwZt.js +8 -0
- package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-B7FW36KX.js → pi-tools.before-tool-call.runtime-rdRqZ9lk.js} +4 -4
- package/dist/plugin-sdk/{plugins-D3mrhffi.js → plugins-BqKpJkqt.js} +4 -4
- package/dist/plugin-sdk/{proxy-env-CUUXO6rv.js → proxy-env-C4s12rr8.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-Cf3IUSDw.js → proxy-fetch-Dt5BedH8.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-dPmKdw_w.js → pw-ai-Cb0ZDSq4.js} +9 -9
- package/dist/plugin-sdk/{qmd-manager-Ov9ElEfG.js → qmd-manager-Bei6TaFq.js} +7 -7
- package/dist/plugin-sdk/{query-expansion-CzjwW461.js → query-expansion-POz2za8a.js} +4 -4
- package/dist/plugin-sdk/{redact-DfACyt0X.js → redact-9WsNyb7S.js} +1 -1
- package/dist/plugin-sdk/{reply-COSG33YP.js → reply-CU3gTFzu.js} +73 -143
- package/dist/plugin-sdk/{reply-BF5OTD_L.js → reply-CljVqURz.js} +4 -74
- package/dist/plugin-sdk/{resolve-outbound-target-BeIB_jm0.js → resolve-outbound-target-DL1adXpk.js} +2 -2
- package/dist/plugin-sdk/{run-with-concurrency-kVooFCVo.js → run-with-concurrency-DmTrN5JG.js} +1 -1
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-99sCh8RG.js +10 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-dTkDaXHl.js +19 -0
- package/dist/plugin-sdk/{send-CgkNzAhS.js → send-BCVXt-3e.js} +8 -8
- package/dist/plugin-sdk/{send-DV5kR0Hg.js → send-BNePC8CO.js} +6 -6
- package/dist/plugin-sdk/{send-CuENGOhq.js → send-CAG0Or0G.js} +7 -7
- package/dist/plugin-sdk/{send-DtA6ngBJ.js → send-DhGDAZnT.js} +13 -13
- package/dist/plugin-sdk/{send-D6Uh2D1D.js → send-X6QuS7x0.js} +5 -5
- package/dist/plugin-sdk/{session-CnlZn-bR.js → session-CAqYQVhe.js} +3 -3
- package/dist/plugin-sdk/{skill-commands-Ckfii7h8.js → skill-commands-Bk-IFyNw.js} +4 -4
- package/dist/plugin-sdk/{skills-v0WQqKTa.js → skills-C5bT9-q4.js} +6 -6
- package/dist/plugin-sdk/slash-commands.runtime-EAZKpRKq.js +13 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-DBMbGgmv.js +52 -0
- package/dist/plugin-sdk/{slash-dispatch.runtime-CyZxEAJd.js → slash-dispatch.runtime-oVCp4RI8.js} +1 -1
- package/dist/plugin-sdk/slash-skill-commands.runtime-DGd_JSWX.js +16 -0
- package/dist/plugin-sdk/{store-C_UrNuM3.js → store-D3lgWnS2.js} +2 -2
- package/dist/plugin-sdk/subagent-registry-runtime-BT4jMI8z.js +52 -0
- package/dist/plugin-sdk/{subagent-registry-runtime-B9vyMA3A.js → subagent-registry-runtime-CaQMId4R.js} +1 -1
- package/dist/plugin-sdk/{tables-CJP05iMa.js → tables-Dmlu4_q_.js} +1 -1
- package/dist/plugin-sdk/{thinking-BhP3vn1l.js → thinking-DRNOh5Xx.js} +7 -7
- package/dist/plugin-sdk/{tokens-DAL_5WHL.js → tokens-CLE20fRI.js} +1 -1
- package/dist/plugin-sdk/{tool-images-ZE5G5UM0.js → tool-images-BY1gsRyE.js} +2 -2
- package/dist/plugin-sdk/web-1-vrUNY8.js +56 -0
- package/dist/plugin-sdk/{web-zcehLsEt.js → web-C8u6_5TB.js} +2 -2
- package/dist/plugin-sdk/{whatsapp-actions-DJmx6ihj.js → whatsapp-actions-BCJYmWCB.js} +17 -17
- package/dist/plugin-sdk/whatsapp.js +50 -50
- package/dist/{plugins-DvejjZnJ.js → plugins-Dr2YhZ4p.js} +11 -11
- package/dist/{plugins-cli-BSLJbHhh.js → plugins-cli-29cwK1kP.js} +2 -2
- package/dist/{plugins-cli-CIyP8IsD.js → plugins-cli-BCPmdO-F.js} +2 -2
- package/dist/{program-DQjjnBkB.js → program-CLD93UEW.js} +7 -7
- package/dist/{program-context-jw4pIT7h.js → program-context-CvlgMXty.js} +17 -17
- package/dist/{prompt-select-styled-BeXqhuug.js → prompt-select-styled-D7A8lcVZ.js} +4 -4
- package/dist/{prompt-select-styled-Uc8ws2hS.js → prompt-select-styled-DvZs93tv.js} +4 -4
- package/dist/{provider-auth-helpers-B4o2t23Z.js → provider-auth-helpers-C91OHeLD.js} +1 -1
- package/dist/{provider-auth-helpers-m2vq3OJC.js → provider-auth-helpers-D610nllx.js} +1 -1
- package/dist/{proxy-env-D-fike7s.js → proxy-env-CY4kVbFL.js} +1 -1
- package/dist/{proxy-fetch-lH6RsRTE.js → proxy-fetch-08-dhqxn.js} +1 -1
- package/dist/{push-apns-C3QRVcrx.js → push-apns-D-_XPvYX.js} +1 -1
- package/dist/{push-apns-DZW7HOYq.js → push-apns-PG6ocw6x.js} +1 -1
- package/dist/{pw-ai-B8ymIYub.js → pw-ai-D2Tp5DPG.js} +14 -14
- package/dist/{qmd-manager-BN0siR2Z.js → qmd-manager-v3fVcsJ9.js} +10 -10
- package/dist/{query-expansion-Dzxt6kXo.js → query-expansion-CeQC9es_.js} +6 -6
- package/dist/{redact-DvzicBMu.js → redact-rnJm_Z5E.js} +1 -1
- package/dist/{register.agent-iwQM76PJ.js → register.agent-BuHD_bae.js} +6 -6
- package/dist/{register.agent-Bpp6PZCy.js → register.agent-CeYoqnus.js} +7 -7
- package/dist/{register.configure-CRZBn5QG.js → register.configure-Bh0kiwNr.js} +7 -7
- package/dist/{register.configure-BF2wUdYo.js → register.configure-Df419IPP.js} +7 -7
- package/dist/{register.maintenance-CY58DnhU.js → register.maintenance-N3ymZeA2.js} +8 -8
- package/dist/{register.maintenance-DsI8Ks22.js → register.maintenance-mWO2301l.js} +7 -7
- package/dist/{register.message-BNyQROsP.js → register.message-BeHsSFSP.js} +2 -2
- package/dist/{register.message-hQSgElgK.js → register.message-DIClL3-s.js} +2 -2
- package/dist/{register.onboard-DsHEjOlQ.js → register.onboard-CwO92nRm.js} +2 -2
- package/dist/{register.onboard-TE1k9WgU.js → register.onboard-xzIUSCGu.js} +2 -2
- package/dist/{register.setup-BkSWcd_T.js → register.setup-Bvbm-Gm2.js} +2 -2
- package/dist/{register.setup-CA8_egXk.js → register.setup-C-aAGS4u.js} +2 -2
- package/dist/{register.status-health-sessions-Ck1506Mz.js → register.status-health-sessions-DQMQDniV.js} +3 -3
- package/dist/{register.status-health-sessions-D74vOhub.js → register.status-health-sessions-DuyRo6UJ.js} +3 -3
- package/dist/{register.subclis-D10eRT52.js → register.subclis-B66QC7_k.js} +9 -9
- package/dist/{reply-m8ZD17d0.js → reply-CUpwmXW5.js} +4 -74
- package/dist/{run-main-BmvUIN8f.js → run-main-QV6vRT6K.js} +14 -14
- package/dist/{run-with-concurrency-BFR3ReeF.js → run-with-concurrency-BaKbvnLu.js} +4 -4
- package/dist/runtime-whatsapp-login.runtime-Dw75S1uv.js +13 -0
- package/dist/runtime-whatsapp-outbound.runtime-aHIvDvKJ.js +22 -0
- package/dist/{send-dTQd-IyJ.js → send-5d2Ieqww.js} +5 -5
- package/dist/{send-4nRsZJXH.js → send-Bz835W6s.js} +7 -7
- package/dist/{send-BTUU1jWM.js → send-JKHC2tCh.js} +8 -8
- package/dist/{send-BGlcHjUD.js → send-RT7WHA5n.js} +28 -28
- package/dist/{send-DdBbRpTP.js → send-rbU7BzyJ.js} +6 -6
- package/dist/{server-node-events-Bf13eFLP.js → server-node-events-ChmwyckN.js} +2 -2
- package/dist/{server-node-events-B-ChStFC.js → server-node-events-DRkgMvTr.js} +2 -2
- package/dist/{session-CnCwDJke.js → session-C-9V4uqt.js} +8 -8
- package/dist/{skill-commands-Cz45_nme.js → skill-commands-CYH1hk0d.js} +9 -9
- package/dist/{skills-CdCS1HeL.js → skills-CZ1lBgEC.js} +22 -22
- package/dist/slash-commands.runtime-DNDYdj2t.js +16 -0
- package/dist/{slash-dispatch.runtime-DxgmWXzN.js → slash-dispatch.runtime-BN0s48fb.js} +1 -1
- package/dist/slash-dispatch.runtime-BjHf74oU.js +56 -0
- package/dist/{slash-dispatch.runtime-DLikrqBw.js → slash-dispatch.runtime-Cof3gArz.js} +1 -1
- package/dist/{slash-dispatch.runtime-Cf52SJTn.js → slash-dispatch.runtime-DD8xxgEl.js} +1 -1
- package/dist/slash-skill-commands.runtime-DdMrdbxl.js +20 -0
- package/dist/{status-p6oFQt1P.js → status-Cbw1yeoy.js} +2 -2
- package/dist/{status-B65tE-ru.js → status-m4d5Vl27.js} +2 -2
- package/dist/{store-D9z0dn7D.js → store-Dcz4tfzS.js} +2 -2
- package/dist/{subagent-registry-BbkRn-Tn.js → subagent-registry-7nRwvCtz.js} +4 -74
- package/dist/{subagent-registry-runtime-DY9wpSRG.js → subagent-registry-runtime-06r4q3XD.js} +1 -1
- package/dist/subagent-registry-runtime-CUpD6G1o.js +56 -0
- package/dist/{subagent-registry-runtime-DP1IpqM_.js → subagent-registry-runtime-DSlsjuX0.js} +1 -1
- package/dist/{subagent-registry-runtime-BQ5-n2Pj.js → subagent-registry-runtime-OGj927vn.js} +1 -1
- package/dist/{subsystem-6v7sWnAD.js → subsystem-BJ89YjCN.js} +16 -16
- package/dist/{tables-BTFiZyRU.js → tables-8uP1Il18.js} +1 -1
- package/dist/{target-errors-DgNRx3Nr.js → target-errors-Ch8ZjtbC.js} +2 -2
- package/dist/{thinking-B75CXkTT.js → thinking-BtewZXu7.js} +7 -7
- package/dist/{tokens-DfbMVF9y.js → tokens-9NF8L9Uh.js} +1 -1
- package/dist/{tool-images-Dp5OiXeA.js → tool-images-DDvIxFgD.js} +2 -2
- package/dist/{update-cli-BD9-Sh3i.js → update-cli-D6fzJ-Ll.js} +7 -7
- package/dist/{update-cli-Cs3nfqwA.js → update-cli-abQ6higa.js} +8 -8
- package/dist/{update-runner-V-Y-KbTK.js → update-runner-B10m8cpS.js} +1 -1
- package/dist/{update-runner-pNSMe2xh.js → update-runner-BKqyZqzt.js} +1 -1
- package/dist/{web-B3GIA0Oq.js → web-BeedURrs.js} +55 -55
- package/dist/{web-DZHRoMwF.js → web-DGhOT4tW.js} +2 -2
- package/dist/{web-HXuEa1UL.js → web-M1IXaDDy.js} +1 -1
- package/dist/{web-B3i9lUAX.js → web-qF7gu-2K.js} +2 -2
- package/dist/{whatsapp-actions-CzqsuSGx.js → whatsapp-actions-D6yjFXCT.js} +21 -21
- package/dist/{workspace-kVMIaBrV.js → workspace-imNgYePS.js} +20 -20
- package/package.json +2 -2
- package/dist/deliver-runtime-B80olQwJ.js +0 -36
- package/dist/deps-send-discord.runtime-GIuvX7Xw.js +0 -26
- package/dist/deps-send-imessage.runtime-B3TC7G80.js +0 -25
- package/dist/deps-send-signal.runtime-CuVJyw7n.js +0 -24
- package/dist/deps-send-slack.runtime-cbfFoLZ4.js +0 -22
- package/dist/deps-send-telegram.runtime-CRyP-xDQ.js +0 -27
- package/dist/deps-send-whatsapp.runtime-BdydhhI-.js +0 -60
- package/dist/image-runtime-BqIv7p_K.js +0 -29
- package/dist/manager-runtime-D6ckUNSs.js +0 -18
- package/dist/pi-model-discovery-runtime--t6tAlar.js +0 -11
- package/dist/plugin-sdk/deliver-runtime-i50kjcNM.js +0 -32
- package/dist/plugin-sdk/deps-send-discord.runtime-hOYq9ov0.js +0 -23
- package/dist/plugin-sdk/deps-send-imessage.runtime-D5n9DXyL.js +0 -22
- package/dist/plugin-sdk/deps-send-signal.runtime-CwEaRyJU.js +0 -21
- package/dist/plugin-sdk/deps-send-slack.runtime-DOZeLIaC.js +0 -19
- package/dist/plugin-sdk/deps-send-telegram.runtime-BW1hSPKh.js +0 -24
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-H-PnN716.js +0 -57
- package/dist/plugin-sdk/image-runtime-B95EPFpg.js +0 -25
- package/dist/plugin-sdk/manager-runtime--JrLQE03.js +0 -15
- package/dist/plugin-sdk/pi-model-discovery-runtime-DGRFpUfd.js +0 -8
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-B6EcC22F.js +0 -10
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DH8J0Ie7.js +0 -19
- package/dist/plugin-sdk/slash-commands.runtime-BYoxsxkX.js +0 -13
- package/dist/plugin-sdk/slash-dispatch.runtime-Rs2PDg_H.js +0 -52
- package/dist/plugin-sdk/slash-skill-commands.runtime-D0399tia.js +0 -16
- package/dist/plugin-sdk/subagent-registry-runtime-5SKqbH1r.js +0 -52
- package/dist/plugin-sdk/web-BiiXAqmT.js +0 -56
- package/dist/runtime-whatsapp-login.runtime-DxV9iv6l.js +0 -13
- package/dist/runtime-whatsapp-outbound.runtime-DQqIlwhS.js +0 -22
- package/dist/slash-commands.runtime-CZz6v6b3.js +0 -16
- package/dist/slash-dispatch.runtime-frzN4e57.js +0 -56
- package/dist/slash-skill-commands.runtime-Bawt7j0r.js +0 -20
- package/dist/subagent-registry-runtime-BTVxLFQ2.js +0 -56
- /package/dist/{config-DWRgGn0l.js → hooks-DubLZ3ar.js} +0 -0
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import { _ as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentConfig, l as resolveDefaultAgentId, n as hasConfiguredModelFallbacks, p as resolveSessionAgentIds, r as listAgentIds, s as resolveAgentSkillsFilter, t as runTasksWithConcurrency, u as resolveEffectiveModelFallbacks } from "./run-with-concurrency-
|
|
2
|
-
import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-
|
|
3
|
-
import { C as normalizeLogLevel, E as consumeRootOptionToken, T as FLAG_TERMINATOR, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as resolvePreferredSquidClawTmpDir, y as getChildLogger } from "./subsystem-
|
|
4
|
-
import { $ as parseAgentSessionKey, A as normalizeWindowsPathForComparison, B as resolveAgentIdFromSessionKey, G as normalizeAccountId$2, H as sanitizeAgentId, I as classifySessionKeyShape, J as deriveSessionChatType, K as normalizeOptionalAccountId, L as isValidAgentId, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, P as buildAgentPeerSessionKey, Q as isSubagentSessionKey, R as normalizeAgentId, U as scopedHeartbeatWakeOptions, V as resolveThreadSessionKeys, W as DEFAULT_ACCOUNT_ID, X as isAcpSessionKey, Y as getSubagentDepth, Z as isCronSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, et as resolveThreadParentSessionKey, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, j as DEFAULT_AGENT_ID, l as ensureAgentWorkspace, m as resolveSquidClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, q as isBlockedObjectKey, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as openBoundaryFileSync, z as normalizeMainKey } from "./workspace-
|
|
5
|
-
import { C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, a as CONFIG_DIR, d as formatTerminalLink, f as isRecord$1, h as normalizeE164, i as logWarn, l as ensureDir$3, n as logError, r as logInfo, s as clampInt, t as logDebug, u as escapeRegExp, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./logger-
|
|
6
|
-
import { $ as resolveConfigSnapshotHash, $n as dedupeProfileIds, $t as createPluginRegistry, A as getCustomProviderApiKey, An as unwrapKnownDispatchWrapperInvocation, At as isPathWithinRoot, B as markAuthProfileFailure, Bn as resolveSlackNativeStreaming, Bt as resolveMemorySlotDecision, C as OLLAMA_NATIVE_BASE_URL, Cn as DEFAULT_SAFE_BINS, D as buildStreamErrorAssistantMessage, Dn as extractShellWrapperInlineCommand, Dt as AVATAR_MAX_BYTES, E as buildAssistantMessageWithZeroUsage, En as resolveCommandResolutionFromArgv, Fn as resolveSafeBinProfiles, Ft as isPathInside, G as describeUnknownError$1, Gn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Gt as normalizeAnyChannelId, H as resolveProfilesUnavailableReason, Ht as CHAT_CHANNEL_ORDER, I as resolveAuthProfileOrder, In as applyMergePatch, It as safeStatSync, J as parseDotPath, Jn as getShellPathFromLoginShell, Jt as getActivePluginRegistry, K as isNonEmptyString, Kn as resolveAgentMaxConcurrent, Kt as normalizeChannelId$1, L as clearExpiredCooldowns, Ln as isSafeExecutableValue, Lt as applyTestPluginDefaults, M as resolveApiKeyForProvider, Mn as splitShellArgs, Mt as validateJsonSchemaValue, N as resolveEnvApiKey, Nn as SAFE_BIN_PROFILES, Nt as loadPluginManifestRegistry, O as buildUsageWithNoCost, On as isDispatchWrapperExecutable, Ot as isAvatarDataUrl, P as resolveModelAuthMode, Pn as normalizeSafeBinProfileFixtures, Pt as discoverSquidClawPlugins, Qn as resolveOwnerDisplaySetting, Qt as setActivePluginRegistry, R as getSoonestCooldownExpiry, Rn as mapStreamingModeToSlackLegacyDraftStreamMode, Rt as normalizePluginsConfig, S as retryAsync, Sn as splitCommandChain, T as buildAssistantMessage, Tn as resolveAllowlistCandidatePath, U as resolveApiKeyForProfile, Ut as getChatChannelMeta, V as markAuthProfileUsed, Vn as resolveSlackStreamingMode, W as resolveSecretRefValues, Wt as listChatChannels, X as loadConfig, Xn as isDangerousHostEnvVarName, Yn as resolveShellEnvFallbackTimeoutMs, Yt as getActivePluginRegistryKey, Z as readConfigFileSnapshot, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, _n as normalizeTrustedSafeBinDirs, _r as resolveSecretInputRef, a as isCliProvider, an as matchPluginCommand, ar as withFileLock, bn as buildEnforcedShellCommand, br as DEFAULT_MODEL, c as normalizeProviderId, cn as setConfigOverride, ct as resolveIMessageAttachmentRoots, d as resolveDefaultModelForAgent, dn as parseConfigPath, dr as resolveAuthProfileDisplayLabel, dt as parseNonNegativeByteSize, en as normalizePluginHttpPath, er as listProfilesForProvider, et as writeConfigFile, f as resolveModelRefFromString, fn as setConfigValueAtPath, ft as secretRefKey, gn as listWritableExplicitTrustedSafeBinDirs, gr as normalizeResolvedSecretInputString, h as resolveThinkingDefault, hn as isTrustedSafeBinPath, hr as hasConfiguredSecretInput, i as findNormalizedProviderValue, in as listPluginCommands, ir as resolveSquidClawAgentDir, it as resolveTelegramCustomCommands, j as requireApiKey, jn as unwrapKnownShellMultiplexerInvocation, jt as isSupportedLocalAvatarExtension, k as getApiKeyForModel, kn as isShellWrapperExecutable, kt as isAvatarHttpUrl, ln as unsetConfigOverride, lr as formatCliCommand, lt as resolveIMessageRemoteAttachmentRoots, m as resolveSubagentSpawnModelSelection, mn as getTrustedSafeBinDirs, mr as coerceSecretRef, mt as parseDurationMs, n as buildConfiguredAllowlistKeys, nn as executePluginCommand, nr as ensureAuthProfileStore, nt as TELEGRAM_COMMAND_NAME_PATTERN, o as modelKey, on as getConfigOverrides, ot as isInboundPathAllowed, p as resolveReasoningDefault, pn as unsetConfigValueAtPath, pr as normalizeSecretInput, q as isRecord$2, qn as VERSION, qt as normalizeChatChannelId, r as buildModelAliasIndex, rn as getPluginCommandSpecs, rr as resolveAuthStorePathForDisplay, rt as normalizeTelegramCommandName, s as normalizeModelRef$2, sn as resetConfigOverrides, t as buildAllowedModelSet, tn as clearPluginCommands, tr as markAuthProfileGood, tt as validateConfigObjectWithPlugins, u as resolveConfiguredModelRef, un as getConfigValueAtPath, ur as resolveCliName, ut as normalizeScpRemoteHost, vn as validateSafeBinArgv, vr as splitTrailingAuthProfile, w as createOllamaStreamFn, wn as matchAllowlist, x as resolveRetryConfig, xn as isWindowsPlatform, xr as DEFAULT_PROVIDER, yn as analyzeShellCommand, yr as DEFAULT_CONTEXT_TOKENS, z as isProfileInCooldown, zn as resolveDiscordPreviewStreamMode, zt as resolveEffectiveEnableState } from "./model-selection-
|
|
7
|
-
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-
|
|
8
|
-
import { c as parseBooleanValue$1, n as MANIFEST_KEY, r as createInternalHookEvent, s as triggerInternalHook } from "./legacy-names-
|
|
9
|
-
import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-
|
|
10
|
-
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-
|
|
11
|
-
import { _ as normalizeChatType, a as normalizeWhatsAppTarget, b as resolveDiscordAccount, c as listTelegramAccountIds, d as buildChannelAccountBindings, f as listBindings, g as resolveSlackBotToken, h as resolveSlackAppToken, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAccount, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as createDiscordActionGate, x as normalizeDiscordToken, y as listEnabledDiscordAccounts } from "./plugins-
|
|
12
|
-
import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-
|
|
13
|
-
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-
|
|
14
|
-
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-
|
|
1
|
+
import { _ as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentConfig, l as resolveDefaultAgentId, n as hasConfiguredModelFallbacks, p as resolveSessionAgentIds, r as listAgentIds, s as resolveAgentSkillsFilter, t as runTasksWithConcurrency, u as resolveEffectiveModelFallbacks } from "./run-with-concurrency-BaKbvnLu.js";
|
|
2
|
+
import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-ZhiQAuKk.js";
|
|
3
|
+
import { C as normalizeLogLevel, E as consumeRootOptionToken, T as FLAG_TERMINATOR, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as resolvePreferredSquidClawTmpDir, y as getChildLogger } from "./subsystem-BJ89YjCN.js";
|
|
4
|
+
import { $ as parseAgentSessionKey, A as normalizeWindowsPathForComparison, B as resolveAgentIdFromSessionKey, G as normalizeAccountId$2, H as sanitizeAgentId, I as classifySessionKeyShape, J as deriveSessionChatType, K as normalizeOptionalAccountId, L as isValidAgentId, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, P as buildAgentPeerSessionKey, Q as isSubagentSessionKey, R as normalizeAgentId, U as scopedHeartbeatWakeOptions, V as resolveThreadSessionKeys, W as DEFAULT_ACCOUNT_ID, X as isAcpSessionKey, Y as getSubagentDepth, Z as isCronSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, et as resolveThreadParentSessionKey, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, j as DEFAULT_AGENT_ID, l as ensureAgentWorkspace, m as resolveSquidClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, q as isBlockedObjectKey, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as openBoundaryFileSync, z as normalizeMainKey } from "./workspace-imNgYePS.js";
|
|
5
|
+
import { C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, a as CONFIG_DIR, d as formatTerminalLink, f as isRecord$1, h as normalizeE164, i as logWarn, l as ensureDir$3, n as logError, r as logInfo, s as clampInt, t as logDebug, u as escapeRegExp, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./logger-onBePS9K.js";
|
|
6
|
+
import { $ as resolveConfigSnapshotHash, $n as dedupeProfileIds, $t as createPluginRegistry, A as getCustomProviderApiKey, An as unwrapKnownDispatchWrapperInvocation, At as isPathWithinRoot, B as markAuthProfileFailure, Bn as resolveSlackNativeStreaming, Bt as resolveMemorySlotDecision, C as OLLAMA_NATIVE_BASE_URL, Cn as DEFAULT_SAFE_BINS, D as buildStreamErrorAssistantMessage, Dn as extractShellWrapperInlineCommand, Dt as AVATAR_MAX_BYTES, E as buildAssistantMessageWithZeroUsage, En as resolveCommandResolutionFromArgv, Fn as resolveSafeBinProfiles, Ft as isPathInside, G as describeUnknownError$1, Gn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Gt as normalizeAnyChannelId, H as resolveProfilesUnavailableReason, Ht as CHAT_CHANNEL_ORDER, I as resolveAuthProfileOrder, In as applyMergePatch, It as safeStatSync, J as parseDotPath, Jn as getShellPathFromLoginShell, Jt as getActivePluginRegistry, K as isNonEmptyString, Kn as resolveAgentMaxConcurrent, Kt as normalizeChannelId$1, L as clearExpiredCooldowns, Ln as isSafeExecutableValue, Lt as applyTestPluginDefaults, M as resolveApiKeyForProvider, Mn as splitShellArgs, Mt as validateJsonSchemaValue, N as resolveEnvApiKey, Nn as SAFE_BIN_PROFILES, Nt as loadPluginManifestRegistry, O as buildUsageWithNoCost, On as isDispatchWrapperExecutable, Ot as isAvatarDataUrl, P as resolveModelAuthMode, Pn as normalizeSafeBinProfileFixtures, Pt as discoverSquidClawPlugins, Qn as resolveOwnerDisplaySetting, Qt as setActivePluginRegistry, R as getSoonestCooldownExpiry, Rn as mapStreamingModeToSlackLegacyDraftStreamMode, Rt as normalizePluginsConfig, S as retryAsync, Sn as splitCommandChain, T as buildAssistantMessage, Tn as resolveAllowlistCandidatePath, U as resolveApiKeyForProfile, Ut as getChatChannelMeta, V as markAuthProfileUsed, Vn as resolveSlackStreamingMode, W as resolveSecretRefValues, Wt as listChatChannels, X as loadConfig, Xn as isDangerousHostEnvVarName, Yn as resolveShellEnvFallbackTimeoutMs, Yt as getActivePluginRegistryKey, Z as readConfigFileSnapshot, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, _n as normalizeTrustedSafeBinDirs, _r as resolveSecretInputRef, a as isCliProvider, an as matchPluginCommand, ar as withFileLock, bn as buildEnforcedShellCommand, br as DEFAULT_MODEL, c as normalizeProviderId, cn as setConfigOverride, ct as resolveIMessageAttachmentRoots, d as resolveDefaultModelForAgent, dn as parseConfigPath, dr as resolveAuthProfileDisplayLabel, dt as parseNonNegativeByteSize, en as normalizePluginHttpPath, er as listProfilesForProvider, et as writeConfigFile, f as resolveModelRefFromString, fn as setConfigValueAtPath, ft as secretRefKey, gn as listWritableExplicitTrustedSafeBinDirs, gr as normalizeResolvedSecretInputString, h as resolveThinkingDefault, hn as isTrustedSafeBinPath, hr as hasConfiguredSecretInput, i as findNormalizedProviderValue, in as listPluginCommands, ir as resolveSquidClawAgentDir, it as resolveTelegramCustomCommands, j as requireApiKey, jn as unwrapKnownShellMultiplexerInvocation, jt as isSupportedLocalAvatarExtension, k as getApiKeyForModel, kn as isShellWrapperExecutable, kt as isAvatarHttpUrl, ln as unsetConfigOverride, lr as formatCliCommand, lt as resolveIMessageRemoteAttachmentRoots, m as resolveSubagentSpawnModelSelection, mn as getTrustedSafeBinDirs, mr as coerceSecretRef, mt as parseDurationMs, n as buildConfiguredAllowlistKeys, nn as executePluginCommand, nr as ensureAuthProfileStore, nt as TELEGRAM_COMMAND_NAME_PATTERN, o as modelKey, on as getConfigOverrides, ot as isInboundPathAllowed, p as resolveReasoningDefault, pn as unsetConfigValueAtPath, pr as normalizeSecretInput, q as isRecord$2, qn as VERSION, qt as normalizeChatChannelId, r as buildModelAliasIndex, rn as getPluginCommandSpecs, rr as resolveAuthStorePathForDisplay, rt as normalizeTelegramCommandName, s as normalizeModelRef$2, sn as resetConfigOverrides, t as buildAllowedModelSet, tn as clearPluginCommands, tr as markAuthProfileGood, tt as validateConfigObjectWithPlugins, u as resolveConfiguredModelRef, un as getConfigValueAtPath, ur as resolveCliName, ut as normalizeScpRemoteHost, vn as validateSafeBinArgv, vr as splitTrailingAuthProfile, w as createOllamaStreamFn, wn as matchAllowlist, x as resolveRetryConfig, xn as isWindowsPlatform, xr as DEFAULT_PROVIDER, yn as analyzeShellCommand, yr as DEFAULT_CONTEXT_TOKENS, z as isProfileInCooldown, zn as resolveDiscordPreviewStreamMode, zt as resolveEffectiveEnableState } from "./model-selection-BEglDVk0.js";
|
|
7
|
+
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-B8Wx9FgQ.js";
|
|
8
|
+
import { c as parseBooleanValue$1, n as MANIFEST_KEY, r as createInternalHookEvent, s as triggerInternalHook } from "./legacy-names-CDxprteD.js";
|
|
9
|
+
import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-BtewZXu7.js";
|
|
10
|
+
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-9NF8L9Uh.js";
|
|
11
|
+
import { _ as normalizeChatType, a as normalizeWhatsAppTarget, b as resolveDiscordAccount, c as listTelegramAccountIds, d as buildChannelAccountBindings, f as listBindings, g as resolveSlackBotToken, h as resolveSlackAppToken, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAccount, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as createDiscordActionGate, x as normalizeDiscordToken, y as listEnabledDiscordAccounts } from "./plugins-Dr2YhZ4p.js";
|
|
12
|
+
import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-f6iuhXVV.js";
|
|
13
|
+
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-rbU7BzyJ.js";
|
|
14
|
+
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-JKHC2tCh.js";
|
|
15
15
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CXrBi7Jq.js";
|
|
16
|
-
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-
|
|
17
|
-
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-
|
|
18
|
-
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-
|
|
16
|
+
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-RetmM0fn.js";
|
|
17
|
+
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-DnZCgMrc.js";
|
|
18
|
+
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-A_9Khwyv.js";
|
|
19
19
|
import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-BiE9e9-P.js";
|
|
20
|
-
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-
|
|
21
|
-
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-
|
|
22
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
23
|
-
import { $ as deliveryContextKey, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as setSessionRuntimeModel, 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 updateSessionStore, 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 deliveryContextFromSession, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as resolveFreshSessionTotalTokens, T as isFailoverAssistantError, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as isCacheEnabled, Xt as normalizeToolName, Y as updateSessionStoreEntry, Yt as expandToolGroups, Z as resolveCacheTtlMs$1, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveSessionResetPolicy, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as capArrayByJsonBytes, b as isAuthAssistantError, bt as DEFAULT_RESET_TRIGGERS, c as extractToolCallsFromAssistant, ct as parseInlineDirectives$1, d as downgradeOpenAIFunctionCallReasoningPairs, dt as hasInterSessionUserProvenance, en as buildBootstrapContextFiles, et as mergeDeliveryContext, f as downgradeOpenAIReasoningBlocks, ft as normalizeInputProvenance, g as formatAssistantErrorText, gt as resolveChannelResetConfig, h as classifyFailoverReason, ht as evaluateSessionFreshness, in as resolveBootstrapTotalMaxChars, it as archiveSessionTranscripts, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as INPUT_PROVENANCE_KIND_VALUES, m as BILLING_ERROR_USER_MESSAGE, mt as resolveSessionKey, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeSessionDeliveryFields, o as normalizeTextForComparison, ot as countToolResults, p as isGoogleModelApi, pt as jsonUtf8Bytes, q as updateLastRoute, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeAccountId$3, s as sanitizeSessionMessagesImages, st as extractToolCallNames, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as normalizeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as applyInputProvenanceToUserMessage, v as formatRawAssistantErrorForUi, vt as resolveSessionResetType, w as isContextOverflowError, wt as canonicalizeMainSessionAlias, x as isBillingAssistantError, xt as mergeSessionEntry, y as getApiErrorPayloadFingerprint, yt as resolveThreadFlag, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-
|
|
24
|
-
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-
|
|
25
|
-
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-
|
|
26
|
-
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-
|
|
27
|
-
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-
|
|
28
|
-
import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-
|
|
29
|
-
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-
|
|
30
|
-
import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-
|
|
31
|
-
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-
|
|
20
|
+
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-CumBuu0G.js";
|
|
21
|
+
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-RT7WHA5n.js";
|
|
22
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-COoRoqoO.js";
|
|
23
|
+
import { $ as deliveryContextKey, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as setSessionRuntimeModel, 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 updateSessionStore, 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 deliveryContextFromSession, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as resolveFreshSessionTotalTokens, T as isFailoverAssistantError, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as isCacheEnabled, Xt as normalizeToolName, Y as updateSessionStoreEntry, Yt as expandToolGroups, Z as resolveCacheTtlMs$1, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveSessionResetPolicy, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as capArrayByJsonBytes, b as isAuthAssistantError, bt as DEFAULT_RESET_TRIGGERS, c as extractToolCallsFromAssistant, ct as parseInlineDirectives$1, d as downgradeOpenAIFunctionCallReasoningPairs, dt as hasInterSessionUserProvenance, en as buildBootstrapContextFiles, et as mergeDeliveryContext, f as downgradeOpenAIReasoningBlocks, ft as normalizeInputProvenance, g as formatAssistantErrorText, gt as resolveChannelResetConfig, h as classifyFailoverReason, ht as evaluateSessionFreshness, in as resolveBootstrapTotalMaxChars, it as archiveSessionTranscripts, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as INPUT_PROVENANCE_KIND_VALUES, m as BILLING_ERROR_USER_MESSAGE, mt as resolveSessionKey, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeSessionDeliveryFields, o as normalizeTextForComparison, ot as countToolResults, p as isGoogleModelApi, pt as jsonUtf8Bytes, q as updateLastRoute, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeAccountId$3, s as sanitizeSessionMessagesImages, st as extractToolCallNames, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as normalizeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as applyInputProvenanceToUserMessage, v as formatRawAssistantErrorForUi, vt as resolveSessionResetType, w as isContextOverflowError, wt as canonicalizeMainSessionAlias, x as isBillingAssistantError, xt as mergeSessionEntry, y as getApiErrorPayloadFingerprint, yt as resolveThreadFlag, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-BYajLWsL.js";
|
|
24
|
+
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-BvWxjtGl.js";
|
|
25
|
+
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-CZ1lBgEC.js";
|
|
26
|
+
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CNSVgZrJ.js";
|
|
27
|
+
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-rnJm_Z5E.js";
|
|
28
|
+
import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-CCLnP2Fs.js";
|
|
29
|
+
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-Dyju4C81.js";
|
|
30
|
+
import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-CY4kVbFL.js";
|
|
31
|
+
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-Dcz4tfzS.js";
|
|
32
32
|
import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-D7-rxoSr.js";
|
|
33
|
-
import { t as resolveIMessageAccount } from "./accounts-
|
|
34
|
-
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-
|
|
33
|
+
import { t as resolveIMessageAccount } from "./accounts-Cz_Fvguv.js";
|
|
34
|
+
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CUF9-Xea.js";
|
|
35
35
|
import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-uYL2gEou.js";
|
|
36
|
-
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-
|
|
37
|
-
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-
|
|
38
|
-
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-
|
|
39
|
-
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-
|
|
36
|
+
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-DDvIxFgD.js";
|
|
37
|
+
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-kOIz_XGP.js";
|
|
38
|
+
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-zGqnorSY.js";
|
|
39
|
+
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-cQwsz0rO.js";
|
|
40
40
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Wgx3OXYj.js";
|
|
41
|
-
import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
42
|
-
import { t as makeProxyFetch } from "./proxy-fetch-
|
|
43
|
-
import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-
|
|
44
|
-
import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-
|
|
45
|
-
import { _ as isRestartEnabled, a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-
|
|
46
|
-
import { a as getRemoteSkillEligibility, c as pruneExpiredPending, i as resolveSkillCommandInvocation, l as resolvePairingPaths, n as listSkillCommandsForAgents, o as ensureSkillsWatcher, r as listSkillCommandsForWorkspace, s as getSkillsSnapshotVersion, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
41
|
+
import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BkqLWF6M.js";
|
|
42
|
+
import { t as makeProxyFetch } from "./proxy-fetch-08-dhqxn.js";
|
|
43
|
+
import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-rIK14_OY.js";
|
|
44
|
+
import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-Ch8ZjtbC.js";
|
|
45
|
+
import { _ as isRestartEnabled, a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-tedusR2M.js";
|
|
46
|
+
import { a as getRemoteSkillEligibility, c as pruneExpiredPending, i as resolveSkillCommandInvocation, l as resolvePairingPaths, n as listSkillCommandsForAgents, o as ensureSkillsWatcher, r as listSkillCommandsForWorkspace, s as getSkillsSnapshotVersion, t as listReservedChatSlashCommandNames } from "./skill-commands-CYH1hk0d.js";
|
|
47
47
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-tZXOZ9FV.js";
|
|
48
48
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CmCpeg5n.js";
|
|
49
|
-
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-
|
|
49
|
+
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Byj9--iR.js";
|
|
50
50
|
import { t as buildOutboundMediaLoadOptions } from "./load-options-BFUunM8u.js";
|
|
51
51
|
import { n as normalizePollInput } from "./polls-CYTwXmA1.js";
|
|
52
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
53
|
-
import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-
|
|
54
|
-
import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-
|
|
55
|
-
import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-
|
|
56
|
-
import { n as resolveMemorySearchConfig } from "./manager-
|
|
57
|
-
import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-
|
|
52
|
+
import { t as convertMarkdownTables } from "./tables-8uP1Il18.js";
|
|
53
|
+
import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-5d2Ieqww.js";
|
|
54
|
+
import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-Bz835W6s.js";
|
|
55
|
+
import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-Cpv61XW5.js";
|
|
56
|
+
import { n as resolveMemorySearchConfig } from "./manager-B-q7-W4P.js";
|
|
57
|
+
import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-CeQC9es_.js";
|
|
58
58
|
import { createRequire } from "node:module";
|
|
59
59
|
import * as fs$1 from "node:fs/promises";
|
|
60
60
|
import fs, { appendFile, mkdir } from "node:fs/promises";
|
|
61
61
|
import os, { homedir } from "node:os";
|
|
62
62
|
import * as path$1 from "node:path";
|
|
63
63
|
import path, { isAbsolute } from "node:path";
|
|
64
|
-
import
|
|
65
|
-
import
|
|
64
|
+
import fssync, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
65
|
+
import json5 from "json5";
|
|
66
66
|
import { inspect, isDeepStrictEqual, promisify } from "node:util";
|
|
67
67
|
import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
|
|
68
68
|
import { fileURLToPath } from "node:url";
|
|
@@ -3285,7 +3285,7 @@ async function resolveSquidClawDocsPath(params) {
|
|
|
3285
3285
|
const workspaceDir = params.workspaceDir?.trim();
|
|
3286
3286
|
if (workspaceDir) {
|
|
3287
3287
|
const workspaceDocs = path.join(workspaceDir, "docs");
|
|
3288
|
-
if (
|
|
3288
|
+
if (fssync.existsSync(workspaceDocs)) return workspaceDocs;
|
|
3289
3289
|
}
|
|
3290
3290
|
const packageRoot = await resolveSquidClawPackageRoot({
|
|
3291
3291
|
cwd: params.cwd,
|
|
@@ -3294,7 +3294,7 @@ async function resolveSquidClawDocsPath(params) {
|
|
|
3294
3294
|
});
|
|
3295
3295
|
if (!packageRoot) return null;
|
|
3296
3296
|
const packageDocs = path.join(packageRoot, "docs");
|
|
3297
|
-
return
|
|
3297
|
+
return fssync.existsSync(packageDocs) ? packageDocs : null;
|
|
3298
3298
|
}
|
|
3299
3299
|
|
|
3300
3300
|
//#endregion
|
|
@@ -6431,7 +6431,7 @@ function resolveDefaultIdentityPath() {
|
|
|
6431
6431
|
return path.join(resolveStateDir(), "identity", "device.json");
|
|
6432
6432
|
}
|
|
6433
6433
|
function ensureDir$2(filePath) {
|
|
6434
|
-
|
|
6434
|
+
fssync.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
6435
6435
|
}
|
|
6436
6436
|
const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
|
|
6437
6437
|
function base64UrlEncode(buf) {
|
|
@@ -6467,8 +6467,8 @@ function generateIdentity() {
|
|
|
6467
6467
|
}
|
|
6468
6468
|
function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
|
|
6469
6469
|
try {
|
|
6470
|
-
if (
|
|
6471
|
-
const raw =
|
|
6470
|
+
if (fssync.existsSync(filePath)) {
|
|
6471
|
+
const raw = fssync.readFileSync(filePath, "utf8");
|
|
6472
6472
|
const parsed = JSON.parse(raw);
|
|
6473
6473
|
if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
|
|
6474
6474
|
const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
|
|
@@ -6477,9 +6477,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
|
|
|
6477
6477
|
...parsed,
|
|
6478
6478
|
deviceId: derivedId
|
|
6479
6479
|
};
|
|
6480
|
-
|
|
6480
|
+
fssync.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
|
|
6481
6481
|
try {
|
|
6482
|
-
|
|
6482
|
+
fssync.chmodSync(filePath, 384);
|
|
6483
6483
|
} catch {}
|
|
6484
6484
|
return {
|
|
6485
6485
|
deviceId: derivedId,
|
|
@@ -6504,9 +6504,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
|
|
|
6504
6504
|
privateKeyPem: identity.privateKeyPem,
|
|
6505
6505
|
createdAtMs: Date.now()
|
|
6506
6506
|
};
|
|
6507
|
-
|
|
6507
|
+
fssync.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
|
|
6508
6508
|
try {
|
|
6509
|
-
|
|
6509
|
+
fssync.chmodSync(filePath, 384);
|
|
6510
6510
|
} catch {}
|
|
6511
6511
|
return identity;
|
|
6512
6512
|
}
|
|
@@ -6698,8 +6698,8 @@ function resolveDeviceAuthPath(env = process.env) {
|
|
|
6698
6698
|
}
|
|
6699
6699
|
function readStore(filePath) {
|
|
6700
6700
|
try {
|
|
6701
|
-
if (!
|
|
6702
|
-
const raw =
|
|
6701
|
+
if (!fssync.existsSync(filePath)) return null;
|
|
6702
|
+
const raw = fssync.readFileSync(filePath, "utf8");
|
|
6703
6703
|
const parsed = JSON.parse(raw);
|
|
6704
6704
|
if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
|
|
6705
6705
|
if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
|
|
@@ -6709,10 +6709,10 @@ function readStore(filePath) {
|
|
|
6709
6709
|
}
|
|
6710
6710
|
}
|
|
6711
6711
|
function writeStore(filePath, store) {
|
|
6712
|
-
|
|
6713
|
-
|
|
6712
|
+
fssync.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
6713
|
+
fssync.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
|
|
6714
6714
|
try {
|
|
6715
|
-
|
|
6715
|
+
fssync.chmodSync(filePath, 384);
|
|
6716
6716
|
} catch {}
|
|
6717
6717
|
}
|
|
6718
6718
|
function loadDeviceAuthToken(params) {
|
|
@@ -9893,7 +9893,7 @@ function normalizeReplyPayload(payload, opts = {}) {
|
|
|
9893
9893
|
*/
|
|
9894
9894
|
let deliverRuntimePromise$2 = null;
|
|
9895
9895
|
function loadDeliverRuntime$2() {
|
|
9896
|
-
deliverRuntimePromise$2 ??= import("./deliver-runtime-
|
|
9896
|
+
deliverRuntimePromise$2 ??= import("./deliver-runtime-tqK6d8Uv.js");
|
|
9897
9897
|
return deliverRuntimePromise$2;
|
|
9898
9898
|
}
|
|
9899
9899
|
/**
|
|
@@ -10581,8 +10581,8 @@ function normalizeSessionKey(value) {
|
|
|
10581
10581
|
}
|
|
10582
10582
|
function readSessionStore(storePath) {
|
|
10583
10583
|
try {
|
|
10584
|
-
const raw =
|
|
10585
|
-
const parsed =
|
|
10584
|
+
const raw = fssync.readFileSync(storePath, "utf-8");
|
|
10585
|
+
const parsed = json5.parse(raw);
|
|
10586
10586
|
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
|
|
10587
10587
|
} catch {}
|
|
10588
10588
|
return {};
|
|
@@ -11181,7 +11181,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
|
|
|
11181
11181
|
const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
|
|
11182
11182
|
let subagentRegistryRuntimePromise = null;
|
|
11183
11183
|
function loadSubagentRegistryRuntime() {
|
|
11184
|
-
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-
|
|
11184
|
+
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CUpD6G1o.js");
|
|
11185
11185
|
return subagentRegistryRuntimePromise;
|
|
11186
11186
|
}
|
|
11187
11187
|
const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
|
|
@@ -14535,7 +14535,7 @@ async function runWithConcurrency(tasks, limit) {
|
|
|
14535
14535
|
//#region src/media-understanding/echo-transcript.ts
|
|
14536
14536
|
let deliverRuntimePromise$1 = null;
|
|
14537
14537
|
function loadDeliverRuntime$1() {
|
|
14538
|
-
deliverRuntimePromise$1 ??= import("./deliver-runtime-
|
|
14538
|
+
deliverRuntimePromise$1 ??= import("./deliver-runtime-tqK6d8Uv.js");
|
|
14539
14539
|
return deliverRuntimePromise$1;
|
|
14540
14540
|
}
|
|
14541
14541
|
const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
|
|
@@ -18184,7 +18184,7 @@ function mergeLegacyAgent(current, legacy) {
|
|
|
18184
18184
|
}
|
|
18185
18185
|
function ensureDir$1(filePath) {
|
|
18186
18186
|
const dir = path.dirname(filePath);
|
|
18187
|
-
|
|
18187
|
+
fssync.mkdirSync(dir, { recursive: true });
|
|
18188
18188
|
}
|
|
18189
18189
|
function coerceAllowlistEntries(allowlist) {
|
|
18190
18190
|
if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
|
|
@@ -18254,11 +18254,11 @@ function generateToken() {
|
|
|
18254
18254
|
function loadExecApprovals() {
|
|
18255
18255
|
const filePath = resolveExecApprovalsPath();
|
|
18256
18256
|
try {
|
|
18257
|
-
if (!
|
|
18257
|
+
if (!fssync.existsSync(filePath)) return normalizeExecApprovals({
|
|
18258
18258
|
version: 1,
|
|
18259
18259
|
agents: {}
|
|
18260
18260
|
});
|
|
18261
|
-
const raw =
|
|
18261
|
+
const raw = fssync.readFileSync(filePath, "utf8");
|
|
18262
18262
|
const parsed = JSON.parse(raw);
|
|
18263
18263
|
if (parsed?.version !== 1) return normalizeExecApprovals({
|
|
18264
18264
|
version: 1,
|
|
@@ -18275,9 +18275,9 @@ function loadExecApprovals() {
|
|
|
18275
18275
|
function saveExecApprovals(file) {
|
|
18276
18276
|
const filePath = resolveExecApprovalsPath();
|
|
18277
18277
|
ensureDir$1(filePath);
|
|
18278
|
-
|
|
18278
|
+
fssync.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
|
|
18279
18279
|
try {
|
|
18280
|
-
|
|
18280
|
+
fssync.chmodSync(filePath, 384);
|
|
18281
18281
|
} catch {}
|
|
18282
18282
|
}
|
|
18283
18283
|
function ensureExecApprovals() {
|
|
@@ -18774,18 +18774,18 @@ function drainSystemEventEntries(sessionKey) {
|
|
|
18774
18774
|
function resolvePowerShellPath() {
|
|
18775
18775
|
const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
|
|
18776
18776
|
const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
|
|
18777
|
-
if (
|
|
18777
|
+
if (fssync.existsSync(pwsh7)) return pwsh7;
|
|
18778
18778
|
const programW6432 = process.env.ProgramW6432;
|
|
18779
18779
|
if (programW6432 && programW6432 !== programFiles) {
|
|
18780
18780
|
const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
|
|
18781
|
-
if (
|
|
18781
|
+
if (fssync.existsSync(pwsh7Alt)) return pwsh7Alt;
|
|
18782
18782
|
}
|
|
18783
18783
|
const pwshInPath = resolveShellFromPath("pwsh");
|
|
18784
18784
|
if (pwshInPath) return pwshInPath;
|
|
18785
18785
|
const systemRoot = process.env.SystemRoot || process.env.WINDIR;
|
|
18786
18786
|
if (systemRoot) {
|
|
18787
18787
|
const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
|
|
18788
|
-
if (
|
|
18788
|
+
if (fssync.existsSync(candidate)) return candidate;
|
|
18789
18789
|
}
|
|
18790
18790
|
return "powershell.exe";
|
|
18791
18791
|
}
|
|
@@ -18823,7 +18823,7 @@ function resolveShellFromPath(name) {
|
|
|
18823
18823
|
for (const entry of entries) {
|
|
18824
18824
|
const candidate = path.join(entry, name);
|
|
18825
18825
|
try {
|
|
18826
|
-
|
|
18826
|
+
fssync.accessSync(candidate, fssync.constants.X_OK);
|
|
18827
18827
|
return candidate;
|
|
18828
18828
|
} catch {}
|
|
18829
18829
|
}
|
|
@@ -22298,7 +22298,7 @@ function ensureContextWindowCacheLoaded() {
|
|
|
22298
22298
|
await ensureSquidClawModelsJson(cfg);
|
|
22299
22299
|
} catch {}
|
|
22300
22300
|
try {
|
|
22301
|
-
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-
|
|
22301
|
+
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-COoRoqoO.js").then((n) => n.r);
|
|
22302
22302
|
const agentDir = resolveSquidClawAgentDir();
|
|
22303
22303
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
22304
22304
|
applyDiscoveredContextWindows({
|
|
@@ -22366,34 +22366,6 @@ function resolveContextTokensForModel(params) {
|
|
|
22366
22366
|
|
|
22367
22367
|
//#endregion
|
|
22368
22368
|
//#region src/agents/agent-tier.ts
|
|
22369
|
-
const PAID_PROVIDERS = ["anthropic", "openai"];
|
|
22370
|
-
function isPaidProvider(modelRef) {
|
|
22371
|
-
const trimmed = modelRef.trim().toLowerCase();
|
|
22372
|
-
for (const provider of PAID_PROVIDERS) if (trimmed.startsWith(provider + "/") || trimmed.startsWith(provider + ":")) return {
|
|
22373
|
-
isPaid: true,
|
|
22374
|
-
provider
|
|
22375
|
-
};
|
|
22376
|
-
return {
|
|
22377
|
-
isPaid: false,
|
|
22378
|
-
provider: ""
|
|
22379
|
-
};
|
|
22380
|
-
}
|
|
22381
|
-
/**
|
|
22382
|
-
* Check if the primary provider's last interaction was a failure
|
|
22383
|
-
* with no successful use after it.
|
|
22384
|
-
*/
|
|
22385
|
-
function isPrimaryLastKnownBroken(store, profileIds, now) {
|
|
22386
|
-
for (const id of profileIds) {
|
|
22387
|
-
const stats = store.usageStats?.[id];
|
|
22388
|
-
if (!stats) continue;
|
|
22389
|
-
if (typeof stats.disabledUntil === "number" && stats.disabledUntil > now) return true;
|
|
22390
|
-
if (typeof stats.cooldownUntil === "number" && stats.cooldownUntil > now && (stats.errorCount ?? 0) > 0) return true;
|
|
22391
|
-
const lastFailure = stats.lastFailureAt ?? 0;
|
|
22392
|
-
const lastSuccess = stats.lastUsed ?? 0;
|
|
22393
|
-
if (lastFailure > 0 && lastFailure > lastSuccess) return true;
|
|
22394
|
-
}
|
|
22395
|
-
return false;
|
|
22396
|
-
}
|
|
22397
22369
|
/**
|
|
22398
22370
|
* Resolve the fallback flag file path.
|
|
22399
22371
|
*/
|
|
@@ -22407,8 +22379,8 @@ function resolveFallbackFlagPath() {
|
|
|
22407
22379
|
function readFallbackFlag() {
|
|
22408
22380
|
try {
|
|
22409
22381
|
const flagPath = resolveFallbackFlagPath();
|
|
22410
|
-
if (!
|
|
22411
|
-
const data = JSON.parse(
|
|
22382
|
+
if (!fssync.existsSync(flagPath)) return null;
|
|
22383
|
+
const data = JSON.parse(fssync.readFileSync(flagPath, "utf8"));
|
|
22412
22384
|
if (data && data.active) return data;
|
|
22413
22385
|
return null;
|
|
22414
22386
|
} catch {
|
|
@@ -22421,7 +22393,7 @@ function readFallbackFlag() {
|
|
|
22421
22393
|
function writeFallbackFlag(data) {
|
|
22422
22394
|
try {
|
|
22423
22395
|
const flagPath = resolveFallbackFlagPath();
|
|
22424
|
-
|
|
22396
|
+
fssync.writeFileSync(flagPath, JSON.stringify({
|
|
22425
22397
|
active: true,
|
|
22426
22398
|
...data,
|
|
22427
22399
|
since: Date.now()
|
|
@@ -22434,46 +22406,9 @@ function writeFallbackFlag(data) {
|
|
|
22434
22406
|
function clearFallbackFlag() {
|
|
22435
22407
|
try {
|
|
22436
22408
|
const flagPath = resolveFallbackFlagPath();
|
|
22437
|
-
if (
|
|
22409
|
+
if (fssync.existsSync(flagPath)) fssync.unlinkSync(flagPath);
|
|
22438
22410
|
} catch {}
|
|
22439
22411
|
}
|
|
22440
|
-
/**
|
|
22441
|
-
* Resolve the current agent tier.
|
|
22442
|
-
*
|
|
22443
|
-
* - "super": Paid provider configured and last known working.
|
|
22444
|
-
* - "degraded": Paid provider configured but last attempt failed (no success since).
|
|
22445
|
-
* - "base": Local/free model only.
|
|
22446
|
-
*/
|
|
22447
|
-
function resolveAgentTier(params) {
|
|
22448
|
-
const primary = resolveAgentModelPrimaryValue(params.cfg?.agents?.defaults?.model);
|
|
22449
|
-
if (!primary) return "base";
|
|
22450
|
-
const { isPaid, provider } = isPaidProvider(primary);
|
|
22451
|
-
if (!isPaid) return "base";
|
|
22452
|
-
const envKey = resolveEnvApiKey(provider);
|
|
22453
|
-
let hasAuthProfile = false;
|
|
22454
|
-
let profileIds = [];
|
|
22455
|
-
let authStore = null;
|
|
22456
|
-
try {
|
|
22457
|
-
authStore = ensureAuthProfileStore(params.agentDir ?? resolveSquidClawAgentDir(), { allowKeychainPrompt: false });
|
|
22458
|
-
profileIds = resolveAuthProfileOrder({
|
|
22459
|
-
cfg: params.cfg,
|
|
22460
|
-
store: authStore,
|
|
22461
|
-
provider
|
|
22462
|
-
});
|
|
22463
|
-
hasAuthProfile = profileIds.length > 0;
|
|
22464
|
-
} catch {}
|
|
22465
|
-
if (!envKey && !hasAuthProfile) return "base";
|
|
22466
|
-
if (authStore && profileIds.length > 0 && isPrimaryLastKnownBroken(authStore, profileIds, Date.now())) return "degraded";
|
|
22467
|
-
if (readFallbackFlag()) return "degraded";
|
|
22468
|
-
return "super";
|
|
22469
|
-
}
|
|
22470
|
-
function formatAgentTierLabel(tier) {
|
|
22471
|
-
switch (tier) {
|
|
22472
|
-
case "super": return "🟢 Super Agent";
|
|
22473
|
-
case "degraded": return "🟠 Basic Agent (degraded)";
|
|
22474
|
-
case "base": return "🟡 Basic Agent";
|
|
22475
|
-
}
|
|
22476
|
-
}
|
|
22477
22412
|
|
|
22478
22413
|
//#endregion
|
|
22479
22414
|
//#region src/agents/usage.ts
|
|
@@ -22565,7 +22500,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
|
|
|
22565
22500
|
function hasGitMarker(repoRoot) {
|
|
22566
22501
|
const gitPath = path.join(repoRoot, ".git");
|
|
22567
22502
|
try {
|
|
22568
|
-
const stat =
|
|
22503
|
+
const stat = fssync.statSync(gitPath);
|
|
22569
22504
|
return stat.isDirectory() || stat.isFile();
|
|
22570
22505
|
} catch {
|
|
22571
22506
|
return false;
|
|
@@ -22577,10 +22512,10 @@ function findGitRoot(startDir, opts = {}) {
|
|
|
22577
22512
|
function resolveGitDirFromMarker(repoRoot) {
|
|
22578
22513
|
const gitPath = path.join(repoRoot, ".git");
|
|
22579
22514
|
try {
|
|
22580
|
-
const stat =
|
|
22515
|
+
const stat = fssync.statSync(gitPath);
|
|
22581
22516
|
if (stat.isDirectory()) return gitPath;
|
|
22582
22517
|
if (!stat.isFile()) return null;
|
|
22583
|
-
const match =
|
|
22518
|
+
const match = fssync.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
|
|
22584
22519
|
if (!match?.[1]) return null;
|
|
22585
22520
|
return path.resolve(repoRoot, match[1].trim());
|
|
22586
22521
|
} catch {
|
|
@@ -22647,7 +22582,7 @@ const resolveCommitHash = (options = {}) => {
|
|
|
22647
22582
|
cachedCommit = null;
|
|
22648
22583
|
return cachedCommit;
|
|
22649
22584
|
}
|
|
22650
|
-
const head =
|
|
22585
|
+
const head = fssync.readFileSync(headPath, "utf-8").trim();
|
|
22651
22586
|
if (!head) {
|
|
22652
22587
|
cachedCommit = null;
|
|
22653
22588
|
return cachedCommit;
|
|
@@ -22655,7 +22590,7 @@ const resolveCommitHash = (options = {}) => {
|
|
|
22655
22590
|
if (head.startsWith("ref:")) {
|
|
22656
22591
|
const ref = head.replace(/^ref:\s*/i, "").trim();
|
|
22657
22592
|
const refPath = path.resolve(path.dirname(headPath), ref);
|
|
22658
|
-
cachedCommit = formatCommit(
|
|
22593
|
+
cachedCommit = formatCommit(fssync.readFileSync(refPath, "utf-8").trim());
|
|
22659
22594
|
return cachedCommit;
|
|
22660
22595
|
}
|
|
22661
22596
|
cachedCommit = formatCommit(head);
|
|
@@ -22915,17 +22850,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
|
|
|
22915
22850
|
} catch {
|
|
22916
22851
|
return;
|
|
22917
22852
|
}
|
|
22918
|
-
if (!
|
|
22853
|
+
if (!fssync.existsSync(logPath)) return;
|
|
22919
22854
|
try {
|
|
22920
22855
|
const TAIL_BYTES = 8192;
|
|
22921
|
-
const stat =
|
|
22856
|
+
const stat = fssync.statSync(logPath);
|
|
22922
22857
|
const offset = Math.max(0, stat.size - TAIL_BYTES);
|
|
22923
22858
|
const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
|
|
22924
|
-
const fd =
|
|
22859
|
+
const fd = fssync.openSync(logPath, "r");
|
|
22925
22860
|
try {
|
|
22926
|
-
|
|
22861
|
+
fssync.readSync(fd, buf, 0, buf.length, offset);
|
|
22927
22862
|
} finally {
|
|
22928
|
-
|
|
22863
|
+
fssync.closeSync(fd);
|
|
22929
22864
|
}
|
|
22930
22865
|
const tail = buf.toString("utf-8");
|
|
22931
22866
|
const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
|
|
@@ -23179,11 +23114,6 @@ function buildStatusMessage(args) {
|
|
|
23179
23114
|
const voiceLine = formatVoiceModeLine(args.config, args.sessionEntry);
|
|
23180
23115
|
return [
|
|
23181
23116
|
versionLine,
|
|
23182
|
-
args.config ? formatAgentTierLabel((() => {
|
|
23183
|
-
const t = resolveAgentTier({ cfg: args.config });
|
|
23184
|
-
if (t === "super" && fallbackState.active) return "degraded";
|
|
23185
|
-
return t;
|
|
23186
|
-
})()) : null,
|
|
23187
23117
|
args.timeLine,
|
|
23188
23118
|
modelLine,
|
|
23189
23119
|
fallbackLine,
|
|
@@ -24455,7 +24385,7 @@ function resolveRepoRoot(params) {
|
|
|
24455
24385
|
const configured = params.config?.agents?.defaults?.repoRoot?.trim();
|
|
24456
24386
|
if (configured) try {
|
|
24457
24387
|
const resolved = path.resolve(configured);
|
|
24458
|
-
if (
|
|
24388
|
+
if (fssync.statSync(resolved).isDirectory()) return resolved;
|
|
24459
24389
|
} catch {}
|
|
24460
24390
|
const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
|
|
24461
24391
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -25241,7 +25171,7 @@ async function buildContextReply(params) {
|
|
|
25241
25171
|
//#region src/auto-reply/reply/commands-export-session.ts
|
|
25242
25172
|
const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
|
|
25243
25173
|
function loadTemplate(fileName) {
|
|
25244
|
-
return
|
|
25174
|
+
return fssync.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
|
|
25245
25175
|
}
|
|
25246
25176
|
function generateHtml(sessionData) {
|
|
25247
25177
|
const template = loadTemplate("template.html");
|
|
@@ -25315,7 +25245,7 @@ async function buildExportSessionReply(params) {
|
|
|
25315
25245
|
} catch (err) {
|
|
25316
25246
|
return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
|
|
25317
25247
|
}
|
|
25318
|
-
if (!
|
|
25248
|
+
if (!fssync.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
|
|
25319
25249
|
const sessionManager = SessionManager.open(sessionFile);
|
|
25320
25250
|
const entries = sessionManager.getEntries();
|
|
25321
25251
|
const header = sessionManager.getHeader();
|
|
@@ -25336,8 +25266,8 @@ async function buildExportSessionReply(params) {
|
|
|
25336
25266
|
const defaultFileName = `squidclaw-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
|
|
25337
25267
|
const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
|
|
25338
25268
|
const outputDir = path.dirname(outputPath);
|
|
25339
|
-
if (!
|
|
25340
|
-
|
|
25269
|
+
if (!fssync.existsSync(outputDir)) fssync.mkdirSync(outputDir, { recursive: true });
|
|
25270
|
+
fssync.writeFileSync(outputPath, html, "utf-8");
|
|
25341
25271
|
const relativePath = path.relative(params.workspaceDir, outputPath);
|
|
25342
25272
|
return { text: [
|
|
25343
25273
|
"✅ Session exported!",
|
|
@@ -25484,8 +25414,8 @@ function resolveZaiApiKey() {
|
|
|
25484
25414
|
}
|
|
25485
25415
|
try {
|
|
25486
25416
|
const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
|
|
25487
|
-
if (!
|
|
25488
|
-
const data = JSON.parse(
|
|
25417
|
+
if (!fssync.existsSync(authPath)) return;
|
|
25418
|
+
const data = JSON.parse(fssync.readFileSync(authPath, "utf-8"));
|
|
25489
25419
|
return data["z-ai"]?.access || data.zai?.access;
|
|
25490
25420
|
} catch {
|
|
25491
25421
|
return;
|
|
@@ -27304,7 +27234,7 @@ function shouldPersistAnyBindingState() {
|
|
|
27304
27234
|
}
|
|
27305
27235
|
function shouldPersistBindingMutations() {
|
|
27306
27236
|
if (shouldPersistAnyBindingState()) return true;
|
|
27307
|
-
return
|
|
27237
|
+
return fssync.existsSync(resolveThreadBindingsPath());
|
|
27308
27238
|
}
|
|
27309
27239
|
function saveBindingsToDisk(params = {}) {
|
|
27310
27240
|
if (!params.force && !shouldPersistAnyBindingState()) return;
|
|
@@ -28772,7 +28702,7 @@ const applyCostTotal = (totals, costTotal) => {
|
|
|
28772
28702
|
totals.totalCost += costTotal;
|
|
28773
28703
|
};
|
|
28774
28704
|
async function* readJsonlRecords(filePath) {
|
|
28775
|
-
const fileStream =
|
|
28705
|
+
const fileStream = fssync.createReadStream(filePath, { encoding: "utf-8" });
|
|
28776
28706
|
const rl = readline.createInterface({
|
|
28777
28707
|
input: fileStream,
|
|
28778
28708
|
crlfDelay: Infinity
|
|
@@ -28844,10 +28774,10 @@ async function loadCostUsageSummary(params) {
|
|
|
28844
28774
|
const dailyMap = /* @__PURE__ */ new Map();
|
|
28845
28775
|
const totals = emptyTotals();
|
|
28846
28776
|
const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
|
|
28847
|
-
const entries = await
|
|
28777
|
+
const entries = await fssync.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
|
|
28848
28778
|
const files = (await Promise.all(entries.filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map(async (entry) => {
|
|
28849
28779
|
const filePath = path.join(sessionsDir, entry.name);
|
|
28850
|
-
const stats = await
|
|
28780
|
+
const stats = await fssync.promises.stat(filePath).catch(() => null);
|
|
28851
28781
|
if (!stats) return null;
|
|
28852
28782
|
if (stats.mtimeMs < sinceTime) return null;
|
|
28853
28783
|
return filePath;
|
|
@@ -28880,7 +28810,7 @@ async function loadCostUsageSummary(params) {
|
|
|
28880
28810
|
}
|
|
28881
28811
|
async function loadSessionCostSummary(params) {
|
|
28882
28812
|
const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
|
|
28883
|
-
if (!sessionFile || !
|
|
28813
|
+
if (!sessionFile || !fssync.existsSync(sessionFile)) return null;
|
|
28884
28814
|
const totals = emptyTotals();
|
|
28885
28815
|
let firstActivity;
|
|
28886
28816
|
let lastActivity;
|
|
@@ -31404,7 +31334,7 @@ async function createModelSelectionState(params) {
|
|
|
31404
31334
|
}
|
|
31405
31335
|
}
|
|
31406
31336
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
31407
|
-
const { ensureAuthProfileStore } = await import("./model-selection-
|
|
31337
|
+
const { ensureAuthProfileStore } = await import("./model-selection-BEglDVk0.js").then((n) => n.F);
|
|
31408
31338
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
31409
31339
|
const providerKey = normalizeProviderId(provider);
|
|
31410
31340
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -35065,7 +34995,7 @@ function asBoolean(value) {
|
|
|
35065
34995
|
}
|
|
35066
34996
|
function resolveTempPathParts(opts) {
|
|
35067
34997
|
const tmpDir = opts.tmpDir ?? resolvePreferredSquidClawTmpDir();
|
|
35068
|
-
if (!opts.tmpDir)
|
|
34998
|
+
if (!opts.tmpDir) fssync.mkdirSync(tmpDir, {
|
|
35069
34999
|
recursive: true,
|
|
35070
35000
|
mode: 448
|
|
35071
35001
|
});
|
|
@@ -38240,9 +38170,9 @@ function loadExternalCatalogEntries(options) {
|
|
|
38240
38170
|
const entries = [];
|
|
38241
38171
|
for (const rawPath of paths) {
|
|
38242
38172
|
const resolved = resolveUserPath(rawPath);
|
|
38243
|
-
if (!
|
|
38173
|
+
if (!fssync.existsSync(resolved)) continue;
|
|
38244
38174
|
try {
|
|
38245
|
-
const payload = JSON.parse(
|
|
38175
|
+
const payload = JSON.parse(fssync.readFileSync(resolved, "utf-8"));
|
|
38246
38176
|
entries.push(...parseCatalogEntries(payload));
|
|
38247
38177
|
} catch {}
|
|
38248
38178
|
}
|
|
@@ -42434,7 +42364,7 @@ function listExistingAgentIdsFromDisk() {
|
|
|
42434
42364
|
const root = resolveStateDir();
|
|
42435
42365
|
const agentsDir = path.join(root, "agents");
|
|
42436
42366
|
try {
|
|
42437
|
-
return
|
|
42367
|
+
return fssync.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
|
|
42438
42368
|
} catch {
|
|
42439
42369
|
return [];
|
|
42440
42370
|
}
|
|
@@ -48834,7 +48764,7 @@ async function runAgentTurnWithFallback(params) {
|
|
|
48834
48764
|
if (corruptedSessionId) {
|
|
48835
48765
|
const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
|
|
48836
48766
|
try {
|
|
48837
|
-
|
|
48767
|
+
fssync.unlinkSync(transcriptPath);
|
|
48838
48768
|
} catch {}
|
|
48839
48769
|
}
|
|
48840
48770
|
delete params.activeSessionStore[sessionKey];
|
|
@@ -49654,7 +49584,7 @@ async function readSessionLogSnapshot(params) {
|
|
|
49654
49584
|
if (!logPath) return {};
|
|
49655
49585
|
const snapshot = {};
|
|
49656
49586
|
if (params.includeByteSize) try {
|
|
49657
|
-
const stat = await
|
|
49587
|
+
const stat = await fssync.promises.stat(logPath);
|
|
49658
49588
|
const size = Math.floor(stat.size);
|
|
49659
49589
|
snapshot.byteSize = Number.isFinite(size) && size >= 0 ? size : void 0;
|
|
49660
49590
|
} catch {
|
|
@@ -49668,7 +49598,7 @@ async function readSessionLogSnapshot(params) {
|
|
|
49668
49598
|
return snapshot;
|
|
49669
49599
|
}
|
|
49670
49600
|
async function readLastNonzeroUsageFromSessionLog(logPath) {
|
|
49671
|
-
const handle = await
|
|
49601
|
+
const handle = await fssync.promises.open(logPath, "r");
|
|
49672
49602
|
try {
|
|
49673
49603
|
let position = (await handle.stat()).size;
|
|
49674
49604
|
let leadingPartial = "";
|
|
@@ -50365,9 +50295,9 @@ async function readPostCompactionContext(workspaceDir, cfg, nowMs) {
|
|
|
50365
50295
|
if (!opened.ok) return null;
|
|
50366
50296
|
const sections = extractSections((() => {
|
|
50367
50297
|
try {
|
|
50368
|
-
return
|
|
50298
|
+
return fssync.readFileSync(opened.fd, "utf-8");
|
|
50369
50299
|
} finally {
|
|
50370
|
-
|
|
50300
|
+
fssync.closeSync(opened.fd);
|
|
50371
50301
|
}
|
|
50372
50302
|
})(), ["Session Startup", "Red Lines"]);
|
|
50373
50303
|
if (sections.length === 0) return null;
|
|
@@ -50589,7 +50519,7 @@ async function runReplyAgent(params) {
|
|
|
50589
50519
|
if (resolved) transcriptCandidates.add(resolved);
|
|
50590
50520
|
transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
|
|
50591
50521
|
for (const candidate of transcriptCandidates) try {
|
|
50592
|
-
|
|
50522
|
+
fssync.unlinkSync(candidate);
|
|
50593
50523
|
} catch {}
|
|
50594
50524
|
}
|
|
50595
50525
|
return true;
|
|
@@ -51540,7 +51470,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
|
|
|
51540
51470
|
const log$10 = createSubsystemLogger("session-maintenance-warning");
|
|
51541
51471
|
let deliverRuntimePromise = null;
|
|
51542
51472
|
function loadDeliverRuntime() {
|
|
51543
|
-
deliverRuntimePromise ??= import("./deliver-runtime-
|
|
51473
|
+
deliverRuntimePromise ??= import("./deliver-runtime-tqK6d8Uv.js");
|
|
51544
51474
|
return deliverRuntimePromise;
|
|
51545
51475
|
}
|
|
51546
51476
|
function shouldSendWarning() {
|
|
@@ -51707,7 +51637,7 @@ function forkSessionFromParent(params) {
|
|
|
51707
51637
|
agentId: params.agentId,
|
|
51708
51638
|
sessionsDir: params.sessionsDir
|
|
51709
51639
|
});
|
|
51710
|
-
if (!parentSessionFile || !
|
|
51640
|
+
if (!parentSessionFile || !fssync.existsSync(parentSessionFile)) return null;
|
|
51711
51641
|
try {
|
|
51712
51642
|
const manager = SessionManager.open(parentSessionFile);
|
|
51713
51643
|
const leafId = manager.getLeafId();
|
|
@@ -51731,7 +51661,7 @@ function forkSessionFromParent(params) {
|
|
|
51731
51661
|
cwd: manager.getCwd(),
|
|
51732
51662
|
parentSession: parentSessionFile
|
|
51733
51663
|
};
|
|
51734
|
-
|
|
51664
|
+
fssync.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
|
|
51735
51665
|
return {
|
|
51736
51666
|
sessionId,
|
|
51737
51667
|
sessionFile
|
|
@@ -56517,7 +56447,7 @@ const VISION_PROVIDERS = [
|
|
|
56517
56447
|
];
|
|
56518
56448
|
let imageRuntimePromise = null;
|
|
56519
56449
|
function loadImageRuntime() {
|
|
56520
|
-
imageRuntimePromise ??= import("./image-runtime-
|
|
56450
|
+
imageRuntimePromise ??= import("./image-runtime-CSRwqD0g.js");
|
|
56521
56451
|
return imageRuntimePromise;
|
|
56522
56452
|
}
|
|
56523
56453
|
/**
|
|
@@ -58578,7 +58508,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
|
|
|
58578
58508
|
hasTypedText
|
|
58579
58509
|
};
|
|
58580
58510
|
try {
|
|
58581
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
58511
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DsLwB4dE.js");
|
|
58582
58512
|
if (params.abortSignal?.aborted) return {
|
|
58583
58513
|
hasAudioAttachment,
|
|
58584
58514
|
hasTypedText
|
|
@@ -60157,7 +60087,7 @@ function identityHasValues(identity) {
|
|
|
60157
60087
|
}
|
|
60158
60088
|
function loadIdentityFromFile(identityPath) {
|
|
60159
60089
|
try {
|
|
60160
|
-
const parsed = parseIdentityMarkdown(
|
|
60090
|
+
const parsed = parseIdentityMarkdown(fssync.readFileSync(identityPath, "utf-8"));
|
|
60161
60091
|
if (!identityHasValues(parsed)) return null;
|
|
60162
60092
|
return parsed;
|
|
60163
60093
|
} catch {
|
|
@@ -60181,7 +60111,7 @@ function resolveAvatarSource(cfg, agentId) {
|
|
|
60181
60111
|
}
|
|
60182
60112
|
function resolveExistingPath(value) {
|
|
60183
60113
|
try {
|
|
60184
|
-
return
|
|
60114
|
+
return fssync.realpathSync(value);
|
|
60185
60115
|
} catch {
|
|
60186
60116
|
return path.resolve(value);
|
|
60187
60117
|
}
|
|
@@ -60199,7 +60129,7 @@ function resolveLocalAvatarPath(params) {
|
|
|
60199
60129
|
reason: "unsupported_extension"
|
|
60200
60130
|
};
|
|
60201
60131
|
try {
|
|
60202
|
-
const stat =
|
|
60132
|
+
const stat = fssync.statSync(realPath);
|
|
60203
60133
|
if (!stat.isFile()) return {
|
|
60204
60134
|
ok: false,
|
|
60205
60135
|
reason: "missing"
|
|
@@ -65972,27 +65902,27 @@ let slackSenderRuntimePromise = null;
|
|
|
65972
65902
|
let signalSenderRuntimePromise = null;
|
|
65973
65903
|
let imessageSenderRuntimePromise = null;
|
|
65974
65904
|
function loadWhatsAppSenderRuntime() {
|
|
65975
|
-
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-
|
|
65905
|
+
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-DFfgQ9HF.js");
|
|
65976
65906
|
return whatsappSenderRuntimePromise;
|
|
65977
65907
|
}
|
|
65978
65908
|
function loadTelegramSenderRuntime() {
|
|
65979
|
-
telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-
|
|
65909
|
+
telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-Cz8mtMyE.js");
|
|
65980
65910
|
return telegramSenderRuntimePromise;
|
|
65981
65911
|
}
|
|
65982
65912
|
function loadDiscordSenderRuntime() {
|
|
65983
|
-
discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-
|
|
65913
|
+
discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-BGaHOctc.js");
|
|
65984
65914
|
return discordSenderRuntimePromise;
|
|
65985
65915
|
}
|
|
65986
65916
|
function loadSlackSenderRuntime() {
|
|
65987
|
-
slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-
|
|
65917
|
+
slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-DOkzJ6nC.js");
|
|
65988
65918
|
return slackSenderRuntimePromise;
|
|
65989
65919
|
}
|
|
65990
65920
|
function loadSignalSenderRuntime() {
|
|
65991
|
-
signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-
|
|
65921
|
+
signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-CjglZ1PO.js");
|
|
65992
65922
|
return signalSenderRuntimePromise;
|
|
65993
65923
|
}
|
|
65994
65924
|
function loadIMessageSenderRuntime() {
|
|
65995
|
-
imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-
|
|
65925
|
+
imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-BIYidS73.js");
|
|
65996
65926
|
return imessageSenderRuntimePromise;
|
|
65997
65927
|
}
|
|
65998
65928
|
function createDefaultDeps() {
|
|
@@ -72176,7 +72106,7 @@ async function monitorIMessageProvider(opts = {}) {
|
|
|
72176
72106
|
function readFileIfExists(filePath) {
|
|
72177
72107
|
if (!filePath) return;
|
|
72178
72108
|
try {
|
|
72179
|
-
return
|
|
72109
|
+
return fssync.readFileSync(filePath, "utf-8").trim();
|
|
72180
72110
|
} catch {
|
|
72181
72111
|
return;
|
|
72182
72112
|
}
|
|
@@ -72806,7 +72736,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
|
|
|
72806
72736
|
prefix: "line-media",
|
|
72807
72737
|
extension: getExtensionForContentType(contentType)
|
|
72808
72738
|
});
|
|
72809
|
-
await
|
|
72739
|
+
await fssync.promises.writeFile(filePath, buffer);
|
|
72810
72740
|
logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
|
|
72811
72741
|
return {
|
|
72812
72742
|
path: filePath,
|
|
@@ -78829,15 +78759,15 @@ let slashCommandsRuntimePromise = null;
|
|
|
78829
78759
|
let slashDispatchRuntimePromise = null;
|
|
78830
78760
|
let slashSkillCommandsRuntimePromise = null;
|
|
78831
78761
|
function loadSlashCommandsRuntime() {
|
|
78832
|
-
slashCommandsRuntimePromise ??= import("./slash-commands.runtime-
|
|
78762
|
+
slashCommandsRuntimePromise ??= import("./slash-commands.runtime-DNDYdj2t.js");
|
|
78833
78763
|
return slashCommandsRuntimePromise;
|
|
78834
78764
|
}
|
|
78835
78765
|
function loadSlashDispatchRuntime() {
|
|
78836
|
-
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-
|
|
78766
|
+
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-BjHf74oU.js");
|
|
78837
78767
|
return slashDispatchRuntimePromise;
|
|
78838
78768
|
}
|
|
78839
78769
|
function loadSlashSkillCommandsRuntime() {
|
|
78840
|
-
slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-
|
|
78770
|
+
slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-DdMrdbxl.js");
|
|
78841
78771
|
return slashSkillCommandsRuntimePromise;
|
|
78842
78772
|
}
|
|
78843
78773
|
const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
|
|
@@ -79827,7 +79757,7 @@ function collectTelegramUnmentionedGroupIds(groups) {
|
|
|
79827
79757
|
}
|
|
79828
79758
|
let auditMembershipRuntimePromise = null;
|
|
79829
79759
|
function loadAuditMembershipRuntime() {
|
|
79830
|
-
auditMembershipRuntimePromise ??= import("./audit-membership-runtime-
|
|
79760
|
+
auditMembershipRuntimePromise ??= import("./audit-membership-runtime-By9-qSwl.js");
|
|
79831
79761
|
return auditMembershipRuntimePromise;
|
|
79832
79762
|
}
|
|
79833
79763
|
async function auditTelegramGroupMembership(params) {
|
|
@@ -82202,7 +82132,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
|
|
|
82202
82132
|
const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
|
|
82203
82133
|
let preflightTranscript;
|
|
82204
82134
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
|
|
82205
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
82135
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-DsLwB4dE.js");
|
|
82206
82136
|
preflightTranscript = await transcribeFirstAudio({
|
|
82207
82137
|
ctx: {
|
|
82208
82138
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -85041,7 +84971,7 @@ function createWhatsAppLoginTool() {
|
|
|
85041
84971
|
force: Type.Optional(Type.Boolean())
|
|
85042
84972
|
}),
|
|
85043
84973
|
execute: async (_toolCallId, args) => {
|
|
85044
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
84974
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BuzK_3o4.js");
|
|
85045
84975
|
if ((args?.action ?? "start") === "wait") {
|
|
85046
84976
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
85047
84977
|
return {
|
|
@@ -85116,23 +85046,23 @@ let webOutboundPromise = null;
|
|
|
85116
85046
|
let webLoginPromise = null;
|
|
85117
85047
|
let whatsappActionsPromise = null;
|
|
85118
85048
|
function loadWebOutbound() {
|
|
85119
|
-
webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-
|
|
85049
|
+
webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-aHIvDvKJ.js");
|
|
85120
85050
|
return webOutboundPromise;
|
|
85121
85051
|
}
|
|
85122
85052
|
function loadWebLogin() {
|
|
85123
|
-
webLoginPromise ??= import("./runtime-whatsapp-login.runtime-
|
|
85053
|
+
webLoginPromise ??= import("./runtime-whatsapp-login.runtime-Dw75S1uv.js");
|
|
85124
85054
|
return webLoginPromise;
|
|
85125
85055
|
}
|
|
85126
85056
|
function loadWebLoginQr() {
|
|
85127
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
85057
|
+
webLoginQrPromise ??= import("./login-qr-BuzK_3o4.js");
|
|
85128
85058
|
return webLoginQrPromise;
|
|
85129
85059
|
}
|
|
85130
85060
|
function loadWebChannel() {
|
|
85131
|
-
webChannelPromise ??= import("./web-
|
|
85061
|
+
webChannelPromise ??= import("./web-BeedURrs.js");
|
|
85132
85062
|
return webChannelPromise;
|
|
85133
85063
|
}
|
|
85134
85064
|
function loadWhatsAppActions() {
|
|
85135
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
85065
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-D6yjFXCT.js");
|
|
85136
85066
|
return whatsappActionsPromise;
|
|
85137
85067
|
}
|
|
85138
85068
|
function createRuntimeWhatsApp() {
|
|
@@ -85573,7 +85503,7 @@ const log$6 = createSubsystemLogger("memory");
|
|
|
85573
85503
|
const QMD_MANAGER_CACHE = /* @__PURE__ */ new Map();
|
|
85574
85504
|
let managerRuntimePromise = null;
|
|
85575
85505
|
function loadManagerRuntime() {
|
|
85576
|
-
managerRuntimePromise ??= import("./manager-runtime-
|
|
85506
|
+
managerRuntimePromise ??= import("./manager-runtime-CF4Tq0lu.js");
|
|
85577
85507
|
return managerRuntimePromise;
|
|
85578
85508
|
}
|
|
85579
85509
|
async function getMemorySearchManager(params) {
|
|
@@ -85587,7 +85517,7 @@ async function getMemorySearchManager(params) {
|
|
|
85587
85517
|
if (cached) return { manager: cached };
|
|
85588
85518
|
}
|
|
85589
85519
|
try {
|
|
85590
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
85520
|
+
const { QmdMemoryManager } = await import("./qmd-manager-v3fVcsJ9.js");
|
|
85591
85521
|
const primary = await QmdMemoryManager.create({
|
|
85592
85522
|
cfg: params.cfg,
|
|
85593
85523
|
agentId: params.agentId,
|
|
@@ -86161,7 +86091,7 @@ async function withMemoryManagerForAgent(params) {
|
|
|
86161
86091
|
}
|
|
86162
86092
|
async function checkReadableFile(pathname) {
|
|
86163
86093
|
try {
|
|
86164
|
-
await fs.access(pathname,
|
|
86094
|
+
await fs.access(pathname, fssync.constants.R_OK);
|
|
86165
86095
|
return { exists: true };
|
|
86166
86096
|
} catch (err) {
|
|
86167
86097
|
const code = err.code;
|
|
@@ -86220,7 +86150,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
86220
86150
|
}
|
|
86221
86151
|
let dirReadable = null;
|
|
86222
86152
|
try {
|
|
86223
|
-
await fs.access(memoryDir,
|
|
86153
|
+
await fs.access(memoryDir, fssync.constants.R_OK);
|
|
86224
86154
|
dirReadable = true;
|
|
86225
86155
|
} catch (err) {
|
|
86226
86156
|
const code = err.code;
|
|
@@ -86669,7 +86599,7 @@ const resolvePluginSdkAliasFile = (params) => {
|
|
|
86669
86599
|
const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
|
|
86670
86600
|
const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
|
|
86671
86601
|
const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
|
|
86672
|
-
for (const candidate of orderedCandidates) if (
|
|
86602
|
+
for (const candidate of orderedCandidates) if (fssync.existsSync(candidate)) return candidate;
|
|
86673
86603
|
const parent = path.dirname(cursor);
|
|
86674
86604
|
if (parent === cursor) break;
|
|
86675
86605
|
cursor = parent;
|
|
@@ -87275,7 +87205,7 @@ function loadSquidClawPlugins(options = {}) {
|
|
|
87275
87205
|
continue;
|
|
87276
87206
|
}
|
|
87277
87207
|
const safeSource = opened.path;
|
|
87278
|
-
|
|
87208
|
+
fssync.closeSync(opened.fd);
|
|
87279
87209
|
let mod = null;
|
|
87280
87210
|
try {
|
|
87281
87211
|
mod = getJiti()(safeSource);
|
|
@@ -87393,7 +87323,7 @@ function loadSquidClawPlugins(options = {}) {
|
|
|
87393
87323
|
}
|
|
87394
87324
|
function safeRealpathOrResolve(value) {
|
|
87395
87325
|
try {
|
|
87396
|
-
return
|
|
87326
|
+
return fssync.realpathSync(value);
|
|
87397
87327
|
} catch {
|
|
87398
87328
|
return path.resolve(value);
|
|
87399
87329
|
}
|
|
@@ -87832,9 +87762,9 @@ function resolvePatchFileOps(options) {
|
|
|
87832
87762
|
});
|
|
87833
87763
|
assertBoundaryRead(opened, filePath);
|
|
87834
87764
|
try {
|
|
87835
|
-
return
|
|
87765
|
+
return fssync.readFileSync(opened.fd, "utf8");
|
|
87836
87766
|
} finally {
|
|
87837
|
-
|
|
87767
|
+
fssync.closeSync(opened.fd);
|
|
87838
87768
|
}
|
|
87839
87769
|
},
|
|
87840
87770
|
writeFile: async (filePath, content) => {
|
|
@@ -88113,7 +88043,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
|
|
|
88113
88043
|
const MAX_LOOP_WARNING_KEYS = 256;
|
|
88114
88044
|
let beforeToolCallRuntimePromise = null;
|
|
88115
88045
|
function loadBeforeToolCallRuntime() {
|
|
88116
|
-
beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-
|
|
88046
|
+
beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-pbvzHMRb.js");
|
|
88117
88047
|
return beforeToolCallRuntimePromise;
|
|
88118
88048
|
}
|
|
88119
88049
|
function buildAdjustedParamsKey(params) {
|
|
@@ -90795,9 +90725,9 @@ async function readWorkspaceContextForSummary() {
|
|
|
90795
90725
|
if (!opened.ok) return "";
|
|
90796
90726
|
const sections = extractSections((() => {
|
|
90797
90727
|
try {
|
|
90798
|
-
return
|
|
90728
|
+
return fssync.readFileSync(opened.fd, "utf-8");
|
|
90799
90729
|
} finally {
|
|
90800
|
-
|
|
90730
|
+
fssync.closeSync(opened.fd);
|
|
90801
90731
|
}
|
|
90802
90732
|
})(), ["Session Startup", "Red Lines"]);
|
|
90803
90733
|
if (sections.length === 0) return "";
|
|
@@ -92166,7 +92096,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
92166
92096
|
if (!apiKeyInfo.apiKey) {
|
|
92167
92097
|
if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
|
|
92168
92098
|
} else if (model.provider === "github-copilot") {
|
|
92169
|
-
const { resolveCopilotApiToken } = await import("./github-copilot-token-
|
|
92099
|
+
const { resolveCopilotApiToken } = await import("./github-copilot-token-B8Wx9FgQ.js").then((n) => n.n);
|
|
92170
92100
|
const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
|
|
92171
92101
|
authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
|
|
92172
92102
|
} else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
|
|
@@ -94394,11 +94324,11 @@ function appendRawStream(payload) {
|
|
|
94394
94324
|
if (!rawStreamReady) {
|
|
94395
94325
|
rawStreamReady = true;
|
|
94396
94326
|
try {
|
|
94397
|
-
|
|
94327
|
+
fssync.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
|
|
94398
94328
|
} catch {}
|
|
94399
94329
|
}
|
|
94400
94330
|
try {
|
|
94401
|
-
|
|
94331
|
+
fssync.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
|
|
94402
94332
|
} catch {}
|
|
94403
94333
|
}
|
|
94404
94334
|
|
|
@@ -97903,7 +97833,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
97903
97833
|
await copilotTokenState.refreshInFlight;
|
|
97904
97834
|
return;
|
|
97905
97835
|
}
|
|
97906
|
-
const { resolveCopilotApiToken } = await import("./github-copilot-token-
|
|
97836
|
+
const { resolveCopilotApiToken } = await import("./github-copilot-token-B8Wx9FgQ.js").then((n) => n.n);
|
|
97907
97837
|
copilotTokenState.refreshInFlight = (async () => {
|
|
97908
97838
|
const githubToken = copilotTokenState.githubToken.trim();
|
|
97909
97839
|
if (!githubToken) throw new Error("Copilot refresh requires a GitHub token.");
|
|
@@ -97995,7 +97925,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
97995
97925
|
return;
|
|
97996
97926
|
}
|
|
97997
97927
|
if (model.provider === "github-copilot") {
|
|
97998
|
-
const { resolveCopilotApiToken } = await import("./github-copilot-token-
|
|
97928
|
+
const { resolveCopilotApiToken } = await import("./github-copilot-token-B8Wx9FgQ.js").then((n) => n.n);
|
|
97999
97929
|
const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
|
|
98000
97930
|
authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
|
|
98001
97931
|
if (copilotTokenState) {
|