squidclaw 3.0.20 → 3.0.22
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-s5e9zidf.js → accounts-C7pGQPcS.js} +2 -2
- package/dist/{accounts-Bkb-J8V6.js → accounts-DjhBQg_8.js} +2 -2
- package/dist/{accounts-B6F_XCgS.js → accounts-DwGoZKGm.js} +17 -17
- package/dist/{active-listener-6-Svu8Dx.js → active-listener-DPc_PGsA.js} +2 -2
- package/dist/{agents-BOS_wASV.js → agents-DXKtU4Il.js} +4 -4
- package/dist/{agents.config-ChUZBohP.js → agents.config-BM-2SLCh.js} +1 -1
- package/dist/{agents.config-Dfsl4jNF.js → agents.config-eMSUW-iw.js} +1 -1
- package/dist/{api-key-rotation-TRwuCWbu.js → api-key-rotation-DVyYtQxC.js} +2 -2
- package/dist/{audio-preflight-DZ1LNMJp.js → audio-preflight-xfe9w6_6.js} +32 -32
- package/dist/{audio-transcription-runner-B3u2x_ja.js → audio-transcription-runner-CqKnvAJf.js} +12 -12
- package/dist/{audit-membership-runtime-w23FnNAN.js → audit-membership-runtime-DyLj-uhz.js} +4 -4
- package/dist/{auth-choice-B_pvWO2S.js → auth-choice-CXepQc7c.js} +1 -1
- package/dist/{auth-choice-kUm2JAky.js → auth-choice-D2JrMJn-.js} +1 -1
- package/dist/{banner-4LItBqCV.js → banner-DMfuBV69.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +51 -51
- package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +687 -51
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1 -17815
- package/dist/{channel-activity-CxJbx4sD.js → channel-activity-CPpt4XaL.js} +3 -3
- package/dist/{channel-options-DA-4IR6h.js → channel-options-CQ-gER0J.js} +1 -1
- package/dist/{channel-options-DQeQl3Rk.js → channel-options-SijIkAlT.js} +1 -1
- package/dist/{channel-web--dAjVoio.js → channel-web-7t1a2N13.js} +1 -1
- package/dist/{channel-web-DJ21CAFF.js → channel-web-LLzBxZrT.js} +1 -1
- package/dist/{channels-cli-QvrLGt6C.js → channels-cli-D4xUEYYC.js} +6 -6
- package/dist/{channels-cli-DviJtKuS.js → channels-cli-DYaFNMme.js} +6 -6
- package/dist/{chrome-Dxm25ptH.js → chrome-x5E5XzEB.js} +18 -18
- package/dist/{cli-aCubMdJg.js → cli-CAID9zkL.js} +1 -1
- package/dist/{cli-q7seQ2Xx.js → cli-Dlc9IFWZ.js} +1 -1
- package/dist/{command-registry-C_YMaVul.js → command-registry-AHS8_9da.js} +9 -9
- package/dist/{commands-registry-B44COZFz.js → commands-registry-BJjv8_oR.js} +4 -4
- package/dist/{completion-cli-CyKEJDPO.js → completion-cli-B8xjpHDs.js} +1 -1
- package/dist/{completion-cli-w4XQjhDI.js → completion-cli-BR1r9_h4.js} +2 -2
- package/dist/{config-cli-BhQXEuBv.js → config-cli-D0A8Awoo.js} +1 -1
- package/dist/{config-cli-BfhjWCvB.js → config-cli-D4Rxoozg.js} +1 -1
- package/dist/{configure-Dsg_0ymU.js → configure-DOiI8_8c.js} +3 -3
- package/dist/{configure-0xkYrQ0e.js → configure-XmOqwwy9.js} +3 -3
- package/dist/control-ui/assets/{index-cM5P_3w7.js → index-BqxuPQOl.js} +2 -2
- package/dist/control-ui/assets/{index-cM5P_3w7.js.map → index-BqxuPQOl.js.map} +1 -1
- package/dist/control-ui/index.html +1 -1
- package/dist/{deliver-BcnsjbAB.js → deliver-h7T-Od1d.js} +21 -21
- package/dist/deliver-runtime-BKO22_He.js +36 -0
- package/dist/deps-send-discord.runtime-GIuvX7Xw.js +26 -0
- package/dist/deps-send-imessage.runtime-B3TC7G80.js +25 -0
- package/dist/deps-send-signal.runtime-CuVJyw7n.js +24 -0
- package/dist/deps-send-slack.runtime-cbfFoLZ4.js +22 -0
- package/dist/deps-send-telegram.runtime-CRyP-xDQ.js +27 -0
- package/dist/{deps-send-whatsapp.runtime-BNAJe11S.js → deps-send-whatsapp.runtime-CETLGt-t.js} +3 -3
- package/dist/{deps-send-whatsapp.runtime-qBpqM2k9.js → deps-send-whatsapp.runtime-CrxkfP31.js} +2 -2
- package/dist/deps-send-whatsapp.runtime-DIdFPzJE.js +60 -0
- package/dist/{deps-send-whatsapp.runtime-BGDIgEzh.js → deps-send-whatsapp.runtime-__ogpmJj.js} +3 -3
- package/dist/{diagnostic-C2lklhkn.js → diagnostic-CnVwZNbm.js} +2 -2
- package/dist/{doctor-completion-BlkbgU5h.js → doctor-completion-CZoEdMS-.js} +1 -1
- package/dist/{doctor-completion-BCQdm02b.js → doctor-completion-DhLEFUhN.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{errors-DfgAh2Ml.js → errors-kkRuS2Cs.js} +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{fetch-b8tSR7_e.js → fetch-DP-JjB6Z.js} +5 -5
- package/dist/{fetch-guard-D16tjNsZ.js → fetch-guard-BDy975wP.js} +2 -2
- package/dist/{frontmatter-CjKtFduT.js → frontmatter-Cq1TcIQ2.js} +3 -3
- package/dist/{fs-safe-CwHbZdFH.js → fs-safe-BoB4X3GD.js} +4 -4
- package/dist/{gateway-cli-tFwyE4a3.js → gateway-cli-BJHBChfI.js} +8 -8
- package/dist/{gateway-cli-uWj08vdf.js → gateway-cli-BpHskeDd.js} +8 -8
- package/dist/{github-copilot-token-Cw3tAXM9.js → github-copilot-token-B5cPlwaz.js} +7 -7
- package/dist/{health-BwC4Qe5W.js → health-TmpUGSqu.js} +1 -1
- package/dist/{health-DS3reqch.js → health-XFKFZ7ZJ.js} +1 -1
- package/dist/{hooks-cli-oei5kRQM.js → hooks-cli-CXsZK8H9.js} +2 -2
- package/dist/{hooks-cli-tp5LchRL.js → hooks-cli-DsDV-Pxz.js} +2 -2
- package/dist/{image-C-8Kd2Mh.js → image-Cepp_eYU.js} +6 -6
- package/dist/{image-ops-BoN1E_WZ.js → image-ops-Dg8iraUV.js} +2 -2
- package/dist/image-runtime-BTfDy-um.js +29 -0
- package/dist/index.js +6 -6
- package/dist/{ir-Dut0zXyS.js → ir-CKK03mBV.js} +8 -8
- package/dist/{legacy-names-B0wgIP0Q.js → legacy-names-aGJJuzM_.js} +1 -1
- package/dist/llm-slug-generator.js +51 -51
- package/dist/{logger-oGKcCLZ5.js → logger-CnTSBL7T.js} +7 -7
- package/dist/{login-DJ357UQV.js → login-CeKDrz6_.js} +5 -5
- package/dist/{login-qr-C0fDBnpM.js → login-qr-KbOpR0GQ.js} +10 -10
- package/dist/{manager-BPGhs30n.js → manager-DINhLnMi.js} +13 -13
- package/dist/manager-runtime-D6ckUNSs.js +18 -0
- package/dist/{model-selection-CHnojCCK.js → model-selection-DuNLFQPR.js} +43 -43
- package/dist/{models-D9X4EUlY.js → models-5VXwJBU2.js} +2 -2
- package/dist/{models-cli-LGp-Tok9.js → models-cli-Br56IHfy.js} +3 -3
- package/dist/{models-cli-C1PLBYF7.js → models-cli-CrR1RN3j.js} +2 -2
- package/dist/{npm-resolution-BUvQm-e-.js → npm-resolution-CKtyq4FH.js} +1 -1
- package/dist/{npm-resolution-Dtkh26DG.js → npm-resolution-CPk7dS7F.js} +1 -1
- package/dist/{onboard-DDD6GX8E.js → onboard-DUnBamC0.js} +2 -2
- package/dist/{onboard-channels-9My16AOy.js → onboard-channels-D45grihx.js} +1 -1
- package/dist/{onboard-channels-Bm_NXV3z.js → onboard-channels-_kVo3Apf.js} +1 -1
- package/dist/{onboard-B0padonr.js → onboard-lFwpCpC3.js} +2 -2
- package/dist/{onboarding-dES4q9RV.js → onboarding-CyCSQ__q.js} +3 -3
- package/dist/{onboarding-o-id7p0-.js → onboarding-EEd_g8Zg.js} +3 -3
- package/dist/{onboarding.finalize-dpgNgUt5.js → onboarding.finalize-CbMq7C4K.js} +5 -5
- package/dist/{onboarding.finalize-BFtOLT7n.js → onboarding.finalize-Cs1ukjFN.js} +6 -6
- package/dist/{outbound-qTioiTJg.js → outbound-C9svt6RH.js} +6 -6
- package/dist/{outbound-attachment-rlW7G5df.js → outbound-attachment-DwupUxYF.js} +2 -2
- package/dist/{path-alias-guards-Cpsiv2KL.js → path-alias-guards-DORgbZ1w.js} +1 -1
- package/dist/{paths-CSdAWKDO.js → paths-DA5srn0U.js} +5 -5
- package/dist/{paths-CXClY8zC.js → paths-DSd911Oe.js} +4 -4
- package/dist/{pi-embedded-BpHQIzjg.js → pi-embedded-BN8fghaF.js} +137 -4
- package/dist/{pi-embedded-B_4NAHxA.js → pi-embedded-BjRmfjDB.js} +291 -158
- package/dist/{pi-embedded-helpers-DQ7IaeOi.js → pi-embedded-helpers-BvJVQtA3.js} +52 -52
- package/dist/{pi-model-discovery-o-WX5w2t.js → pi-model-discovery-V-InbjOM.js} +7 -7
- package/dist/pi-model-discovery-runtime--t6tAlar.js +11 -0
- package/dist/{pi-tools.before-tool-call.runtime-B_LUttg1.js → pi-tools.before-tool-call.runtime-Bpk4qTgV.js} +9 -9
- package/dist/{plugin-registry-CCeUDvxY.js → plugin-registry-CXm125Uz.js} +1 -1
- package/dist/{plugin-registry-CCkpP8-I.js → plugin-registry-D3PnPE1D.js} +1 -1
- package/dist/plugin-sdk/agents/agent-tier.d.ts +33 -0
- package/dist/plugin-sdk/{channel-web-BtNgAS1G.js → channel-web-CqiSEc52.js} +1 -1
- package/dist/plugin-sdk/{channel-web-BQE2gJ5U.js → channel-web-Sj8reff_.js} +1 -1
- package/dist/plugin-sdk/compat.js +2 -2
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DPZSTh1j.js → deps-send-whatsapp.runtime-BpMl725h.js} +3 -3
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-V0Jfat5S.js → deps-send-whatsapp.runtime-DvxhnHR_.js} +3 -3
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/mattermost.js +3 -3
- package/dist/plugin-sdk/nextcloud-talk.js +2 -2
- package/dist/plugin-sdk/{reply-DJYA4ZNu.js → reply-BczXGzC_.js} +137 -4
- package/dist/plugin-sdk/{reply-DeKKmUDh.js → reply-C_eN3l25.js} +137 -4
- package/dist/plugin-sdk/signal.js +2 -2
- package/dist/plugin-sdk/{slash-dispatch.runtime-E6j8gkO2.js → slash-dispatch.runtime-BpWhUY9B.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-k8xSVYOI.js → slash-dispatch.runtime-DOo1IzuY.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-D6cTAG2k.js → subagent-registry-runtime-DLvup9ph.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-Cca50Qld.js → subagent-registry-runtime-TEkOfcqG.js} +1 -1
- package/dist/plugin-sdk/{web-DkbCMgLG.js → web-C2Sj2WW0.js} +2 -2
- package/dist/plugin-sdk/{web-Be4JS3z8.js → web-CmLgZUIO.js} +2 -2
- package/dist/plugin-sdk/whatsapp.js +2 -2
- package/dist/{plugins-AqsVZZk3.js → plugins-DvejjZnJ.js} +11 -11
- package/dist/{plugins-cli-DFpHU_xo.js → plugins-cli-BA_2daJe.js} +2 -2
- package/dist/{plugins-cli-CZCadI9y.js → plugins-cli-C0WKWrZo.js} +2 -2
- package/dist/{program-B4_o5EDH.js → program-D_xdLzmM.js} +7 -7
- package/dist/{program-context-CkfdLtpp.js → program-context-DfmCIQ91.js} +17 -17
- package/dist/{prompt-select-styled-C1DFrYuk.js → prompt-select-styled-ApPSadr5.js} +4 -4
- package/dist/{prompt-select-styled-CZJJ2rPA.js → prompt-select-styled-BsheNEnh.js} +4 -4
- package/dist/{provider-auth-helpers-BlYwNWkq.js → provider-auth-helpers-B5kD4Lt6.js} +1 -1
- package/dist/{provider-auth-helpers-C5taJG0R.js → provider-auth-helpers-DpOFkV28.js} +1 -1
- package/dist/{proxy-env-DXXfs2WL.js → proxy-env-D-fike7s.js} +1 -1
- package/dist/{proxy-fetch-C2v-Utgg.js → proxy-fetch-lH6RsRTE.js} +1 -1
- package/dist/{push-apns-Dkjfalec.js → push-apns-BbenjEX4.js} +1 -1
- package/dist/{push-apns-Bhk1_5ut.js → push-apns-Ci2sdIKf.js} +1 -1
- package/dist/{pw-ai-GOBxzChI.js → pw-ai-DOeiV3Pj.js} +14 -14
- package/dist/{qmd-manager-CO-shcLU.js → qmd-manager-BN0siR2Z.js} +10 -10
- package/dist/{query-expansion-DlQOkf-g.js → query-expansion-Dzxt6kXo.js} +6 -6
- package/dist/{redact-NmPEVjIo.js → redact-DvzicBMu.js} +1 -1
- package/dist/{register.agent-s2PqcoIS.js → register.agent-CY6R-7fn.js} +6 -6
- package/dist/{register.agent-DOp4lbyc.js → register.agent-Dk_5V5oA.js} +7 -7
- package/dist/{register.configure-DABoMBBf.js → register.configure-C8OFfGln.js} +7 -7
- package/dist/{register.configure-BGfourxZ.js → register.configure-DT1RLeTR.js} +7 -7
- package/dist/{register.maintenance-Bdr3bSAF.js → register.maintenance-CluQOq8b.js} +8 -8
- package/dist/{register.maintenance-DmP8sVxb.js → register.maintenance-YHXmOQzf.js} +7 -7
- package/dist/{register.message-DF0InVCv.js → register.message-BCTXT5yK.js} +2 -2
- package/dist/{register.message-gz8DaAc1.js → register.message-BuoFjRqA.js} +2 -2
- package/dist/{register.onboard-Do14cwDQ.js → register.onboard-BJaRMtxU.js} +2 -2
- package/dist/{register.onboard-auVLfmF3.js → register.onboard-C64oXnvq.js} +2 -2
- package/dist/{register.setup-ZyGJlYOD.js → register.setup-Dl3nk2Ui.js} +2 -2
- package/dist/{register.setup-B3aVuPyo.js → register.setup-Drc55K_w.js} +2 -2
- package/dist/{register.status-health-sessions-C-1HE5oP.js → register.status-health-sessions-BHtbPeCO.js} +3 -3
- package/dist/{register.status-health-sessions-vFpvdVS1.js → register.status-health-sessions-xgC_gtEM.js} +3 -3
- package/dist/{register.subclis-BYiAuTiK.js → register.subclis-CDMFyaKR.js} +9 -9
- package/dist/{reply-BaVB3YlN.js → reply-DwjHsBuj.js} +137 -4
- package/dist/{run-main-DW-JR8hB.js → run-main-BcA22Ipv.js} +14 -14
- package/dist/{run-with-concurrency-FczpX8ng.js → run-with-concurrency-BFR3ReeF.js} +4 -4
- package/dist/runtime-whatsapp-login.runtime-DxV9iv6l.js +13 -0
- package/dist/runtime-whatsapp-outbound.runtime-DQqIlwhS.js +22 -0
- package/dist/{send-Bx9CqcZr.js → send-4nRsZJXH.js} +7 -7
- package/dist/{send-D5D0ZGht.js → send-BGlcHjUD.js} +26 -26
- package/dist/{send-DtHQ7_6Z.js → send-BTUU1jWM.js} +8 -8
- package/dist/{send-B9H0BkfO.js → send-DdBbRpTP.js} +6 -6
- package/dist/{send-B5QEmMJ4.js → send-dTQd-IyJ.js} +5 -5
- package/dist/{server-node-events-rumcq7j0.js → server-node-events-Q0cT2ifj.js} +2 -2
- package/dist/{server-node-events-D-EmiDyc.js → server-node-events-YN5eJeHa.js} +2 -2
- package/dist/{session-DLTCuoUD.js → session-CnCwDJke.js} +8 -8
- package/dist/{skill-commands-BwTLQRR8.js → skill-commands-Cz45_nme.js} +9 -9
- package/dist/{skills-B9N2bqKU.js → skills-CdCS1HeL.js} +22 -22
- package/dist/slash-commands.runtime-CZz6v6b3.js +16 -0
- package/dist/{slash-dispatch.runtime-sVHNrSL1.js → slash-dispatch.runtime-BOMEVFk0.js} +1 -1
- package/dist/slash-dispatch.runtime-CYsywpzU.js +56 -0
- package/dist/{slash-dispatch.runtime-DPRwMKXk.js → slash-dispatch.runtime-DB1QsBRc.js} +1 -1
- package/dist/{slash-dispatch.runtime-BeltKAMm.js → slash-dispatch.runtime-sXaUYn4v.js} +1 -1
- package/dist/slash-skill-commands.runtime-Bawt7j0r.js +20 -0
- package/dist/{status-BeSD1NDD.js → status-Bh5x6DsW.js} +2 -2
- package/dist/{status-DGF_ROMC.js → status-cU9cJReo.js} +2 -2
- package/dist/{store-CvQ41zCV.js → store-D9z0dn7D.js} +2 -2
- package/dist/{subagent-registry-CgUBOyi3.js → subagent-registry-CIgFD2oi.js} +137 -4
- package/dist/{subagent-registry-runtime-Bxc5DYZt.js → subagent-registry-runtime-232sNNT6.js} +1 -1
- package/dist/{subagent-registry-runtime-BYpjZwjA.js → subagent-registry-runtime-D7ubAnDZ.js} +1 -1
- package/dist/{subagent-registry-runtime-Cx5vPpG8.js → subagent-registry-runtime-DGTjU9Lb.js} +1 -1
- package/dist/subagent-registry-runtime-DS-c6Duv.js +56 -0
- package/dist/{subsystem-BaLYRf7D.js → subsystem-6v7sWnAD.js} +14 -14
- package/dist/{tables-BRYYxYs7.js → tables-BTFiZyRU.js} +1 -1
- package/dist/{target-errors-D0ZJUbbf.js → target-errors-DgNRx3Nr.js} +2 -2
- package/dist/{thinking-B-A99X3F.js → thinking-B75CXkTT.js} +7 -7
- package/dist/{tokens-D2XhLqIz.js → tokens-DfbMVF9y.js} +1 -1
- package/dist/{tool-images-Zn6jVmkX.js → tool-images-Dp5OiXeA.js} +2 -2
- package/dist/{update-cli-Duy8S3Bj.js → update-cli-CktBOXZF.js} +7 -7
- package/dist/{update-cli-BSIF-OEa.js → update-cli-DM_dUip_.js} +8 -8
- package/dist/{update-runner-CMpruPN8.js → update-runner-BBJZmfZ4.js} +1 -1
- package/dist/{update-runner-D_nDdx7d.js → update-runner-BYGPkHXG.js} +1 -1
- package/dist/{web-C-5RPkV9.js → web-CZhZC1EA.js} +2 -2
- package/dist/{web-CKY0tK0k.js → web-Chw1dtKA.js} +1 -1
- package/dist/{web-Bnr4YuWJ.js → web-DWRZAXj9.js} +2 -2
- package/dist/{web-C0xcHURK.js → web-sFV1riEV.js} +55 -55
- package/dist/{whatsapp-actions-Cuy0qeQK.js → whatsapp-actions-CzqsuSGx.js} +21 -21
- package/dist/{workspace-TqfVSQuO.js → workspace-kVMIaBrV.js} +20 -20
- package/docs/reference/templates/IDENTITY.md +8 -23
- package/extensions/acpx/node_modules/.bin/acpx +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +2 -2
- package/extensions/diffs/node_modules/.bin/playwright-core +2 -2
- package/extensions/googlechat/node_modules/.bin/squidclaw +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
- package/extensions/memory-core/node_modules/.bin/squidclaw +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/nostr/node_modules/.bin/tsc +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver +2 -2
- package/extensions/tlon/node_modules/.bin/tlon +2 -2
- package/package.json +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +0 -1
- package/dist/deliver-runtime-_mBfV_4S.js +0 -36
- package/dist/deps-send-discord.runtime-CUTAK2hy.js +0 -26
- package/dist/deps-send-imessage.runtime-CQOiEIuA.js +0 -25
- package/dist/deps-send-signal.runtime-wN7MkzLw.js +0 -24
- package/dist/deps-send-slack.runtime-HEEwW4uU.js +0 -22
- package/dist/deps-send-telegram.runtime-DHlcnjQO.js +0 -27
- package/dist/deps-send-whatsapp.runtime-B7GC68Cu.js +0 -60
- package/dist/export-html/vendor/highlight.min.js +0 -1213
- package/dist/export-html/vendor/marked.min.js +0 -6
- package/dist/image-runtime-D11wBIC8.js +0 -29
- package/dist/manager-runtime-BB9lcoFR.js +0 -18
- package/dist/pi-model-discovery-runtime-DBkQoIJw.js +0 -11
- package/dist/runtime-whatsapp-login.runtime-DumUjKRz.js +0 -13
- package/dist/runtime-whatsapp-outbound.runtime-Cgu2MfqR.js +0 -22
- package/dist/slash-commands.runtime-CjBXruwG.js +0 -16
- package/dist/slash-dispatch.runtime-C7rHRQFg.js +0 -56
- package/dist/slash-skill-commands.runtime-DYK20Lxf.js +0 -20
- package/dist/subagent-registry-runtime-Bm5UEB8c.js +0 -56
- package/docs/reference/templates/USER.md +0 -23
- package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
- package/docs/zh-CN/reference/templates/USER.md +0 -30
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
|
@@ -23547,7 +23547,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
|
|
|
23547
23547
|
const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
|
|
23548
23548
|
let subagentRegistryRuntimePromise = null;
|
|
23549
23549
|
function loadSubagentRegistryRuntime() {
|
|
23550
|
-
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-
|
|
23550
|
+
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-DLvup9ph.js");
|
|
23551
23551
|
return subagentRegistryRuntimePromise;
|
|
23552
23552
|
}
|
|
23553
23553
|
const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
|
|
@@ -37634,6 +37634,112 @@ function resolveContextTokensForModel(params) {
|
|
|
37634
37634
|
return lookupContextTokens(params.model) ?? params.fallbackContextTokens;
|
|
37635
37635
|
}
|
|
37636
37636
|
|
|
37637
|
+
//#endregion
|
|
37638
|
+
//#region src/agents/agent-tier.ts
|
|
37639
|
+
const PAID_PROVIDERS = ["anthropic", "openai"];
|
|
37640
|
+
function isPaidProvider(modelRef) {
|
|
37641
|
+
const trimmed = modelRef.trim().toLowerCase();
|
|
37642
|
+
for (const provider of PAID_PROVIDERS) if (trimmed.startsWith(provider + "/") || trimmed.startsWith(provider + ":")) return {
|
|
37643
|
+
isPaid: true,
|
|
37644
|
+
provider
|
|
37645
|
+
};
|
|
37646
|
+
return {
|
|
37647
|
+
isPaid: false,
|
|
37648
|
+
provider: ""
|
|
37649
|
+
};
|
|
37650
|
+
}
|
|
37651
|
+
/**
|
|
37652
|
+
* Check if the primary provider's last interaction was a failure
|
|
37653
|
+
* with no successful use after it.
|
|
37654
|
+
*/
|
|
37655
|
+
function isPrimaryLastKnownBroken(store, profileIds, now) {
|
|
37656
|
+
for (const id of profileIds) {
|
|
37657
|
+
const stats = store.usageStats?.[id];
|
|
37658
|
+
if (!stats) continue;
|
|
37659
|
+
if (typeof stats.disabledUntil === "number" && stats.disabledUntil > now) return true;
|
|
37660
|
+
if (typeof stats.cooldownUntil === "number" && stats.cooldownUntil > now && (stats.errorCount ?? 0) > 0) return true;
|
|
37661
|
+
const lastFailure = stats.lastFailureAt ?? 0;
|
|
37662
|
+
const lastSuccess = stats.lastUsed ?? 0;
|
|
37663
|
+
if (lastFailure > 0 && lastFailure > lastSuccess) return true;
|
|
37664
|
+
}
|
|
37665
|
+
return false;
|
|
37666
|
+
}
|
|
37667
|
+
/**
|
|
37668
|
+
* Resolve the fallback flag file path.
|
|
37669
|
+
*/
|
|
37670
|
+
function resolveFallbackFlagPath() {
|
|
37671
|
+
const dir = process.env.SQUIDCLAW_DIR || path.join(process.env.HOME || "/root", ".squidclaw");
|
|
37672
|
+
return path.join(dir, "fallback-active.json");
|
|
37673
|
+
}
|
|
37674
|
+
/**
|
|
37675
|
+
* Read the fallback flag file. Returns null if not present or invalid.
|
|
37676
|
+
*/
|
|
37677
|
+
function readFallbackFlag() {
|
|
37678
|
+
try {
|
|
37679
|
+
const flagPath = resolveFallbackFlagPath();
|
|
37680
|
+
if (!fs.existsSync(flagPath)) return null;
|
|
37681
|
+
const data = JSON.parse(fs.readFileSync(flagPath, "utf8"));
|
|
37682
|
+
if (data && data.active) return data;
|
|
37683
|
+
return null;
|
|
37684
|
+
} catch {
|
|
37685
|
+
return null;
|
|
37686
|
+
}
|
|
37687
|
+
}
|
|
37688
|
+
/**
|
|
37689
|
+
* Write the fallback flag file when primary model fails.
|
|
37690
|
+
*/
|
|
37691
|
+
function writeFallbackFlag(data) {
|
|
37692
|
+
try {
|
|
37693
|
+
const flagPath = resolveFallbackFlagPath();
|
|
37694
|
+
fs.writeFileSync(flagPath, JSON.stringify({
|
|
37695
|
+
active: true,
|
|
37696
|
+
...data,
|
|
37697
|
+
since: Date.now()
|
|
37698
|
+
}));
|
|
37699
|
+
} catch {}
|
|
37700
|
+
}
|
|
37701
|
+
/**
|
|
37702
|
+
* Clear the fallback flag file when primary model recovers.
|
|
37703
|
+
*/
|
|
37704
|
+
function clearFallbackFlag() {
|
|
37705
|
+
try {
|
|
37706
|
+
const flagPath = resolveFallbackFlagPath();
|
|
37707
|
+
if (fs.existsSync(flagPath)) fs.unlinkSync(flagPath);
|
|
37708
|
+
} catch {}
|
|
37709
|
+
}
|
|
37710
|
+
/**
|
|
37711
|
+
* Resolve the current agent tier.
|
|
37712
|
+
*
|
|
37713
|
+
* - "super": Paid provider configured and last known working.
|
|
37714
|
+
* - "degraded": Paid provider configured but last attempt failed (no success since).
|
|
37715
|
+
* - "base": Local/free model only.
|
|
37716
|
+
*/
|
|
37717
|
+
function resolveAgentTier(params) {
|
|
37718
|
+
const primary = resolveAgentModelPrimaryValue(params.cfg?.agents?.defaults?.model);
|
|
37719
|
+
if (!primary) return "base";
|
|
37720
|
+
const { isPaid, provider } = isPaidProvider(primary);
|
|
37721
|
+
if (!isPaid) return "base";
|
|
37722
|
+
if (!resolveEnvApiKey(provider)) return "base";
|
|
37723
|
+
try {
|
|
37724
|
+
const authStore = ensureAuthProfileStore(params.agentDir ?? resolveSquidClawAgentDir(), { allowKeychainPrompt: false });
|
|
37725
|
+
const profileIds = resolveAuthProfileOrder({
|
|
37726
|
+
cfg: params.cfg,
|
|
37727
|
+
store: authStore,
|
|
37728
|
+
provider
|
|
37729
|
+
});
|
|
37730
|
+
if (profileIds.length > 0 && isPrimaryLastKnownBroken(authStore, profileIds, Date.now())) return "degraded";
|
|
37731
|
+
} catch {}
|
|
37732
|
+
if (readFallbackFlag()) return "degraded";
|
|
37733
|
+
return "super";
|
|
37734
|
+
}
|
|
37735
|
+
function formatAgentTierLabel(tier) {
|
|
37736
|
+
switch (tier) {
|
|
37737
|
+
case "super": return "🟢 Super Agent";
|
|
37738
|
+
case "degraded": return "🟠 Basic Agent (degraded)";
|
|
37739
|
+
case "base": return "🟡 Basic Agent";
|
|
37740
|
+
}
|
|
37741
|
+
}
|
|
37742
|
+
|
|
37637
37743
|
//#endregion
|
|
37638
37744
|
//#region src/sessions/model-overrides.ts
|
|
37639
37745
|
function applyModelOverrideToSessionEntry(params) {
|
|
@@ -37707,6 +37813,7 @@ function applyModelOverrideToSessionEntry(params) {
|
|
|
37707
37813
|
}
|
|
37708
37814
|
if (updated) {
|
|
37709
37815
|
delete entry.fallbackNoticeSelectedModel;
|
|
37816
|
+
clearFallbackFlag();
|
|
37710
37817
|
delete entry.fallbackNoticeActiveModel;
|
|
37711
37818
|
delete entry.fallbackNoticeReason;
|
|
37712
37819
|
entry.updatedAt = Date.now();
|
|
@@ -45481,7 +45588,7 @@ let slackSenderRuntimePromise = null;
|
|
|
45481
45588
|
let signalSenderRuntimePromise = null;
|
|
45482
45589
|
let imessageSenderRuntimePromise = null;
|
|
45483
45590
|
function loadWhatsAppSenderRuntime() {
|
|
45484
|
-
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-
|
|
45591
|
+
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-DvxhnHR_.js");
|
|
45485
45592
|
return whatsappSenderRuntimePromise;
|
|
45486
45593
|
}
|
|
45487
45594
|
function loadTelegramSenderRuntime() {
|
|
@@ -57644,7 +57751,7 @@ function loadSlashCommandsRuntime() {
|
|
|
57644
57751
|
return slashCommandsRuntimePromise;
|
|
57645
57752
|
}
|
|
57646
57753
|
function loadSlashDispatchRuntime() {
|
|
57647
|
-
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-
|
|
57754
|
+
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DOo1IzuY.js");
|
|
57648
57755
|
return slashDispatchRuntimePromise;
|
|
57649
57756
|
}
|
|
57650
57757
|
function loadSlashSkillCommandsRuntime() {
|
|
@@ -59184,6 +59291,22 @@ function buildStatusMessage(args) {
|
|
|
59184
59291
|
activeModelRef: activeModelLabel,
|
|
59185
59292
|
state: entry
|
|
59186
59293
|
});
|
|
59294
|
+
if (!fallbackState.active) {
|
|
59295
|
+
const flag = readFallbackFlag();
|
|
59296
|
+
if (flag) {
|
|
59297
|
+
fallbackState = {
|
|
59298
|
+
active: true,
|
|
59299
|
+
reason: flag.reason || "primary unavailable"
|
|
59300
|
+
};
|
|
59301
|
+
if (flag.activeModel) {
|
|
59302
|
+
const parts = flag.activeModel.split("/");
|
|
59303
|
+
if (parts.length === 2) {
|
|
59304
|
+
activeProvider = parts[0];
|
|
59305
|
+
activeModel = parts[1];
|
|
59306
|
+
}
|
|
59307
|
+
}
|
|
59308
|
+
}
|
|
59309
|
+
}
|
|
59187
59310
|
const effectiveCostAuthMode = fallbackState.active ? activeAuthMode : selectedAuthMode ?? activeAuthMode;
|
|
59188
59311
|
const showCost = effectiveCostAuthMode === "api-key" || effectiveCostAuthMode === "mixed";
|
|
59189
59312
|
const costConfig = showCost ? resolveModelCostConfig({
|
|
@@ -59240,6 +59363,11 @@ function buildStatusMessage(args) {
|
|
|
59240
59363
|
const voiceLine = formatVoiceModeLine(args.config, args.sessionEntry);
|
|
59241
59364
|
return [
|
|
59242
59365
|
versionLine,
|
|
59366
|
+
args.config ? formatAgentTierLabel((() => {
|
|
59367
|
+
const t = resolveAgentTier({ cfg: args.config });
|
|
59368
|
+
if (t === "super" && fallbackState.active) return "degraded";
|
|
59369
|
+
return t;
|
|
59370
|
+
})()) : null,
|
|
59243
59371
|
args.timeLine,
|
|
59244
59372
|
modelLine,
|
|
59245
59373
|
fallbackLine,
|
|
@@ -66257,7 +66385,7 @@ function loadWebLoginQr() {
|
|
|
66257
66385
|
return webLoginQrPromise;
|
|
66258
66386
|
}
|
|
66259
66387
|
function loadWebChannel() {
|
|
66260
|
-
webChannelPromise ??= import("./web-
|
|
66388
|
+
webChannelPromise ??= import("./web-C2Sj2WW0.js");
|
|
66261
66389
|
return webChannelPromise;
|
|
66262
66390
|
}
|
|
66263
66391
|
function loadWhatsAppActions() {
|
|
@@ -96679,6 +96807,11 @@ async function runReplyAgent(params) {
|
|
|
96679
96807
|
fallbackStateEntry.fallbackNoticeSelectedModel = fallbackTransition.nextState.selectedModel;
|
|
96680
96808
|
fallbackStateEntry.fallbackNoticeActiveModel = fallbackTransition.nextState.activeModel;
|
|
96681
96809
|
fallbackStateEntry.fallbackNoticeReason = fallbackTransition.nextState.reason;
|
|
96810
|
+
writeFallbackFlag({
|
|
96811
|
+
selectedModel: fallbackTransition.nextState.selectedModel,
|
|
96812
|
+
activeModel: fallbackTransition.nextState.activeModel,
|
|
96813
|
+
reason: fallbackTransition.nextState.reason
|
|
96814
|
+
});
|
|
96682
96815
|
fallbackStateEntry.updatedAt = Date.now();
|
|
96683
96816
|
activeSessionEntry = fallbackStateEntry;
|
|
96684
96817
|
}
|
|
@@ -20124,7 +20124,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
|
|
|
20124
20124
|
const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
|
|
20125
20125
|
let subagentRegistryRuntimePromise = null;
|
|
20126
20126
|
function loadSubagentRegistryRuntime() {
|
|
20127
|
-
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-
|
|
20127
|
+
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-TEkOfcqG.js");
|
|
20128
20128
|
return subagentRegistryRuntimePromise;
|
|
20129
20129
|
}
|
|
20130
20130
|
const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
|
|
@@ -36418,6 +36418,112 @@ function resolveContextTokensForModel(params) {
|
|
|
36418
36418
|
return lookupContextTokens(params.model) ?? params.fallbackContextTokens;
|
|
36419
36419
|
}
|
|
36420
36420
|
|
|
36421
|
+
//#endregion
|
|
36422
|
+
//#region src/agents/agent-tier.ts
|
|
36423
|
+
const PAID_PROVIDERS = ["anthropic", "openai"];
|
|
36424
|
+
function isPaidProvider(modelRef) {
|
|
36425
|
+
const trimmed = modelRef.trim().toLowerCase();
|
|
36426
|
+
for (const provider of PAID_PROVIDERS) if (trimmed.startsWith(provider + "/") || trimmed.startsWith(provider + ":")) return {
|
|
36427
|
+
isPaid: true,
|
|
36428
|
+
provider
|
|
36429
|
+
};
|
|
36430
|
+
return {
|
|
36431
|
+
isPaid: false,
|
|
36432
|
+
provider: ""
|
|
36433
|
+
};
|
|
36434
|
+
}
|
|
36435
|
+
/**
|
|
36436
|
+
* Check if the primary provider's last interaction was a failure
|
|
36437
|
+
* with no successful use after it.
|
|
36438
|
+
*/
|
|
36439
|
+
function isPrimaryLastKnownBroken(store, profileIds, now) {
|
|
36440
|
+
for (const id of profileIds) {
|
|
36441
|
+
const stats = store.usageStats?.[id];
|
|
36442
|
+
if (!stats) continue;
|
|
36443
|
+
if (typeof stats.disabledUntil === "number" && stats.disabledUntil > now) return true;
|
|
36444
|
+
if (typeof stats.cooldownUntil === "number" && stats.cooldownUntil > now && (stats.errorCount ?? 0) > 0) return true;
|
|
36445
|
+
const lastFailure = stats.lastFailureAt ?? 0;
|
|
36446
|
+
const lastSuccess = stats.lastUsed ?? 0;
|
|
36447
|
+
if (lastFailure > 0 && lastFailure > lastSuccess) return true;
|
|
36448
|
+
}
|
|
36449
|
+
return false;
|
|
36450
|
+
}
|
|
36451
|
+
/**
|
|
36452
|
+
* Resolve the fallback flag file path.
|
|
36453
|
+
*/
|
|
36454
|
+
function resolveFallbackFlagPath() {
|
|
36455
|
+
const dir = process.env.SQUIDCLAW_DIR || path.join(process.env.HOME || "/root", ".squidclaw");
|
|
36456
|
+
return path.join(dir, "fallback-active.json");
|
|
36457
|
+
}
|
|
36458
|
+
/**
|
|
36459
|
+
* Read the fallback flag file. Returns null if not present or invalid.
|
|
36460
|
+
*/
|
|
36461
|
+
function readFallbackFlag() {
|
|
36462
|
+
try {
|
|
36463
|
+
const flagPath = resolveFallbackFlagPath();
|
|
36464
|
+
if (!fs.existsSync(flagPath)) return null;
|
|
36465
|
+
const data = JSON.parse(fs.readFileSync(flagPath, "utf8"));
|
|
36466
|
+
if (data && data.active) return data;
|
|
36467
|
+
return null;
|
|
36468
|
+
} catch {
|
|
36469
|
+
return null;
|
|
36470
|
+
}
|
|
36471
|
+
}
|
|
36472
|
+
/**
|
|
36473
|
+
* Write the fallback flag file when primary model fails.
|
|
36474
|
+
*/
|
|
36475
|
+
function writeFallbackFlag(data) {
|
|
36476
|
+
try {
|
|
36477
|
+
const flagPath = resolveFallbackFlagPath();
|
|
36478
|
+
fs.writeFileSync(flagPath, JSON.stringify({
|
|
36479
|
+
active: true,
|
|
36480
|
+
...data,
|
|
36481
|
+
since: Date.now()
|
|
36482
|
+
}));
|
|
36483
|
+
} catch {}
|
|
36484
|
+
}
|
|
36485
|
+
/**
|
|
36486
|
+
* Clear the fallback flag file when primary model recovers.
|
|
36487
|
+
*/
|
|
36488
|
+
function clearFallbackFlag() {
|
|
36489
|
+
try {
|
|
36490
|
+
const flagPath = resolveFallbackFlagPath();
|
|
36491
|
+
if (fs.existsSync(flagPath)) fs.unlinkSync(flagPath);
|
|
36492
|
+
} catch {}
|
|
36493
|
+
}
|
|
36494
|
+
/**
|
|
36495
|
+
* Resolve the current agent tier.
|
|
36496
|
+
*
|
|
36497
|
+
* - "super": Paid provider configured and last known working.
|
|
36498
|
+
* - "degraded": Paid provider configured but last attempt failed (no success since).
|
|
36499
|
+
* - "base": Local/free model only.
|
|
36500
|
+
*/
|
|
36501
|
+
function resolveAgentTier(params) {
|
|
36502
|
+
const primary = resolveAgentModelPrimaryValue(params.cfg?.agents?.defaults?.model);
|
|
36503
|
+
if (!primary) return "base";
|
|
36504
|
+
const { isPaid, provider } = isPaidProvider(primary);
|
|
36505
|
+
if (!isPaid) return "base";
|
|
36506
|
+
if (!resolveEnvApiKey(provider)) return "base";
|
|
36507
|
+
try {
|
|
36508
|
+
const authStore = ensureAuthProfileStore(params.agentDir ?? resolveSquidClawAgentDir(), { allowKeychainPrompt: false });
|
|
36509
|
+
const profileIds = resolveAuthProfileOrder({
|
|
36510
|
+
cfg: params.cfg,
|
|
36511
|
+
store: authStore,
|
|
36512
|
+
provider
|
|
36513
|
+
});
|
|
36514
|
+
if (profileIds.length > 0 && isPrimaryLastKnownBroken(authStore, profileIds, Date.now())) return "degraded";
|
|
36515
|
+
} catch {}
|
|
36516
|
+
if (readFallbackFlag()) return "degraded";
|
|
36517
|
+
return "super";
|
|
36518
|
+
}
|
|
36519
|
+
function formatAgentTierLabel(tier) {
|
|
36520
|
+
switch (tier) {
|
|
36521
|
+
case "super": return "🟢 Super Agent";
|
|
36522
|
+
case "degraded": return "🟠 Basic Agent (degraded)";
|
|
36523
|
+
case "base": return "🟡 Basic Agent";
|
|
36524
|
+
}
|
|
36525
|
+
}
|
|
36526
|
+
|
|
36421
36527
|
//#endregion
|
|
36422
36528
|
//#region src/sessions/model-overrides.ts
|
|
36423
36529
|
function applyModelOverrideToSessionEntry(params) {
|
|
@@ -36491,6 +36597,7 @@ function applyModelOverrideToSessionEntry(params) {
|
|
|
36491
36597
|
}
|
|
36492
36598
|
if (updated) {
|
|
36493
36599
|
delete entry.fallbackNoticeSelectedModel;
|
|
36600
|
+
clearFallbackFlag();
|
|
36494
36601
|
delete entry.fallbackNoticeActiveModel;
|
|
36495
36602
|
delete entry.fallbackNoticeReason;
|
|
36496
36603
|
entry.updatedAt = Date.now();
|
|
@@ -44265,7 +44372,7 @@ let slackSenderRuntimePromise = null;
|
|
|
44265
44372
|
let signalSenderRuntimePromise = null;
|
|
44266
44373
|
let imessageSenderRuntimePromise = null;
|
|
44267
44374
|
function loadWhatsAppSenderRuntime() {
|
|
44268
|
-
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-
|
|
44375
|
+
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-BpMl725h.js");
|
|
44269
44376
|
return whatsappSenderRuntimePromise;
|
|
44270
44377
|
}
|
|
44271
44378
|
function loadTelegramSenderRuntime() {
|
|
@@ -57203,7 +57310,7 @@ function loadSlashCommandsRuntime() {
|
|
|
57203
57310
|
return slashCommandsRuntimePromise;
|
|
57204
57311
|
}
|
|
57205
57312
|
function loadSlashDispatchRuntime() {
|
|
57206
|
-
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-
|
|
57313
|
+
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-BpWhUY9B.js");
|
|
57207
57314
|
return slashDispatchRuntimePromise;
|
|
57208
57315
|
}
|
|
57209
57316
|
function loadSlashSkillCommandsRuntime() {
|
|
@@ -58743,6 +58850,22 @@ function buildStatusMessage(args) {
|
|
|
58743
58850
|
activeModelRef: activeModelLabel,
|
|
58744
58851
|
state: entry
|
|
58745
58852
|
});
|
|
58853
|
+
if (!fallbackState.active) {
|
|
58854
|
+
const flag = readFallbackFlag();
|
|
58855
|
+
if (flag) {
|
|
58856
|
+
fallbackState = {
|
|
58857
|
+
active: true,
|
|
58858
|
+
reason: flag.reason || "primary unavailable"
|
|
58859
|
+
};
|
|
58860
|
+
if (flag.activeModel) {
|
|
58861
|
+
const parts = flag.activeModel.split("/");
|
|
58862
|
+
if (parts.length === 2) {
|
|
58863
|
+
activeProvider = parts[0];
|
|
58864
|
+
activeModel = parts[1];
|
|
58865
|
+
}
|
|
58866
|
+
}
|
|
58867
|
+
}
|
|
58868
|
+
}
|
|
58746
58869
|
const effectiveCostAuthMode = fallbackState.active ? activeAuthMode : selectedAuthMode ?? activeAuthMode;
|
|
58747
58870
|
const showCost = effectiveCostAuthMode === "api-key" || effectiveCostAuthMode === "mixed";
|
|
58748
58871
|
const costConfig = showCost ? resolveModelCostConfig({
|
|
@@ -58799,6 +58922,11 @@ function buildStatusMessage(args) {
|
|
|
58799
58922
|
const voiceLine = formatVoiceModeLine(args.config, args.sessionEntry);
|
|
58800
58923
|
return [
|
|
58801
58924
|
versionLine,
|
|
58925
|
+
args.config ? formatAgentTierLabel((() => {
|
|
58926
|
+
const t = resolveAgentTier({ cfg: args.config });
|
|
58927
|
+
if (t === "super" && fallbackState.active) return "degraded";
|
|
58928
|
+
return t;
|
|
58929
|
+
})()) : null,
|
|
58802
58930
|
args.timeLine,
|
|
58803
58931
|
modelLine,
|
|
58804
58932
|
fallbackLine,
|
|
@@ -65816,7 +65944,7 @@ function loadWebLoginQr() {
|
|
|
65816
65944
|
return webLoginQrPromise;
|
|
65817
65945
|
}
|
|
65818
65946
|
function loadWebChannel() {
|
|
65819
|
-
webChannelPromise ??= import("./web-
|
|
65947
|
+
webChannelPromise ??= import("./web-CmLgZUIO.js");
|
|
65820
65948
|
return webChannelPromise;
|
|
65821
65949
|
}
|
|
65822
65950
|
function loadWhatsAppActions() {
|
|
@@ -96363,6 +96491,11 @@ async function runReplyAgent(params) {
|
|
|
96363
96491
|
fallbackStateEntry.fallbackNoticeSelectedModel = fallbackTransition.nextState.selectedModel;
|
|
96364
96492
|
fallbackStateEntry.fallbackNoticeActiveModel = fallbackTransition.nextState.activeModel;
|
|
96365
96493
|
fallbackStateEntry.fallbackNoticeReason = fallbackTransition.nextState.reason;
|
|
96494
|
+
writeFallbackFlag({
|
|
96495
|
+
selectedModel: fallbackTransition.nextState.selectedModel,
|
|
96496
|
+
activeModel: fallbackTransition.nextState.activeModel,
|
|
96497
|
+
reason: fallbackTransition.nextState.reason
|
|
96498
|
+
});
|
|
96366
96499
|
fallbackStateEntry.updatedAt = Date.now();
|
|
96367
96500
|
activeSessionEntry = fallbackStateEntry;
|
|
96368
96501
|
}
|
|
@@ -4,7 +4,7 @@ import chalk, { Chalk } from "chalk";
|
|
|
4
4
|
import fs, { constants, createWriteStream } from "node:fs";
|
|
5
5
|
import { Logger } from "tslog";
|
|
6
6
|
import os from "node:os";
|
|
7
|
-
import
|
|
7
|
+
import json5 from "json5";
|
|
8
8
|
import { promisify } from "node:util";
|
|
9
9
|
import fs$1 from "node:fs/promises";
|
|
10
10
|
import "@clack/prompts";
|
|
@@ -766,7 +766,7 @@ function readLoggingConfig() {
|
|
|
766
766
|
try {
|
|
767
767
|
if (!fs.existsSync(configPath)) return;
|
|
768
768
|
const raw = fs.readFileSync(configPath, "utf-8");
|
|
769
|
-
const logging =
|
|
769
|
+
const logging = json5.parse(raw)?.logging;
|
|
770
770
|
if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
|
|
771
771
|
return logging;
|
|
772
772
|
} catch {
|
package/dist/plugin-sdk/{slash-dispatch.runtime-E6j8gkO2.js → slash-dispatch.runtime-BpWhUY9B.js}
RENAMED
|
@@ -8,7 +8,7 @@ import "./thinking-DRNOh5Xx.js";
|
|
|
8
8
|
import "./accounts-0kF5cxkn.js";
|
|
9
9
|
import "./send-BNePC8CO.js";
|
|
10
10
|
import "./common-J8vIST9Q.js";
|
|
11
|
-
import { H as finalizeInboundContext, O as resolveAgentRoute, S as dispatchReplyWithDispatcher, o as deliverSlackSlashReplies, r as recordInboundSessionMetaSafe, u as createReplyPrefixOptions } from "./reply-
|
|
11
|
+
import { H as finalizeInboundContext, O as resolveAgentRoute, S as dispatchReplyWithDispatcher, o as deliverSlackSlashReplies, r as recordInboundSessionMetaSafe, u as createReplyPrefixOptions } from "./reply-C_eN3l25.js";
|
|
12
12
|
import "./image-ops-G8KoEfY8.js";
|
|
13
13
|
import { rn as resolveConversationLabel } from "./pi-embedded-helpers-BioULNev.js";
|
|
14
14
|
import "./accounts-u0-JAHzj.js";
|
package/dist/plugin-sdk/{slash-dispatch.runtime-k8xSVYOI.js → slash-dispatch.runtime-DOo1IzuY.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./run-with-concurrency-BvgevDAl.js";
|
|
2
2
|
import "./accounts-Ba9Wgzzz.js";
|
|
3
|
-
import { N as finalizeInboundContext, X as createReplyPrefixOptions, a as deliverSlackSlashReplies, m as dispatchReplyWithDispatcher, n as recordInboundSessionMetaSafe, v as resolveAgentRoute } from "./reply-
|
|
3
|
+
import { N as finalizeInboundContext, X as createReplyPrefixOptions, a as deliverSlackSlashReplies, m as dispatchReplyWithDispatcher, n as recordInboundSessionMetaSafe, v as resolveAgentRoute } from "./reply-BczXGzC_.js";
|
|
4
4
|
import "./paths-8xF5kDne.js";
|
|
5
5
|
import "./github-copilot-token-Dy-0-Kh3.js";
|
|
6
6
|
import "./config-k8lexny8.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./run-with-concurrency-BvgevDAl.js";
|
|
2
2
|
import "./accounts-Ba9Wgzzz.js";
|
|
3
|
-
import { C as countPendingDescendantRunsExcludingRun, S as countPendingDescendantRuns, T as resolveRequesterForChildSession, w as isSubagentSessionRunActive, x as countActiveDescendantRuns } from "./reply-
|
|
3
|
+
import { C as countPendingDescendantRunsExcludingRun, S as countPendingDescendantRuns, T as resolveRequesterForChildSession, w as isSubagentSessionRunActive, x as countActiveDescendantRuns } from "./reply-BczXGzC_.js";
|
|
4
4
|
import "./paths-8xF5kDne.js";
|
|
5
5
|
import "./github-copilot-token-Dy-0-Kh3.js";
|
|
6
6
|
import "./config-k8lexny8.js";
|
|
@@ -8,7 +8,7 @@ import "./thinking-DRNOh5Xx.js";
|
|
|
8
8
|
import "./accounts-0kF5cxkn.js";
|
|
9
9
|
import "./send-BNePC8CO.js";
|
|
10
10
|
import "./common-J8vIST9Q.js";
|
|
11
|
-
import { F as resolveRequesterForChildSession, M as countPendingDescendantRuns, N as countPendingDescendantRunsExcludingRun, P as isSubagentSessionRunActive, j as countActiveDescendantRuns } from "./reply-
|
|
11
|
+
import { F as resolveRequesterForChildSession, M as countPendingDescendantRuns, N as countPendingDescendantRunsExcludingRun, P as isSubagentSessionRunActive, j as countActiveDescendantRuns } from "./reply-C_eN3l25.js";
|
|
12
12
|
import "./image-ops-G8KoEfY8.js";
|
|
13
13
|
import "./pi-embedded-helpers-BioULNev.js";
|
|
14
14
|
import "./accounts-u0-JAHzj.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./run-with-concurrency-BvgevDAl.js";
|
|
2
2
|
import { _ as webAuthExists, c as logWebSelfId, d as pickWebChannel, o as WA_WEB_AUTH_DIR } from "./accounts-Ba9Wgzzz.js";
|
|
3
|
-
import "./reply-
|
|
3
|
+
import "./reply-BczXGzC_.js";
|
|
4
4
|
import "./paths-8xF5kDne.js";
|
|
5
5
|
import "./github-copilot-token-Dy-0-Kh3.js";
|
|
6
6
|
import "./config-k8lexny8.js";
|
|
@@ -39,7 +39,7 @@ import "./deliver-BXcGPR-z.js";
|
|
|
39
39
|
import "./diagnostic-BODCjkFr.js";
|
|
40
40
|
import "./store-mpQn5APQ.js";
|
|
41
41
|
import "./commands-registry-_yYiP-uB.js";
|
|
42
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-
|
|
42
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CqiSEc52.js";
|
|
43
43
|
import "./image-CU8oj8pT.js";
|
|
44
44
|
import "./api-key-rotation-T3PKdBeS.js";
|
|
45
45
|
import "./proxy-fetch-tPMv_1eB.js";
|
|
@@ -8,7 +8,7 @@ import "./thinking-DRNOh5Xx.js";
|
|
|
8
8
|
import "./accounts-0kF5cxkn.js";
|
|
9
9
|
import "./send-BNePC8CO.js";
|
|
10
10
|
import "./common-J8vIST9Q.js";
|
|
11
|
-
import "./reply-
|
|
11
|
+
import "./reply-C_eN3l25.js";
|
|
12
12
|
import "./image-ops-G8KoEfY8.js";
|
|
13
13
|
import "./pi-embedded-helpers-BioULNev.js";
|
|
14
14
|
import "./accounts-u0-JAHzj.js";
|
|
@@ -16,7 +16,7 @@ import "./send-BCVXt-3e.js";
|
|
|
16
16
|
import "./github-copilot-token-C0y6vp3r.js";
|
|
17
17
|
import "./paths-B7_75Pdr.js";
|
|
18
18
|
import "./send-DhGDAZnT.js";
|
|
19
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-
|
|
19
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-Sj8reff_.js";
|
|
20
20
|
import "./tokens-CLE20fRI.js";
|
|
21
21
|
import "./audio-transcription-runner-Ced47O1H.js";
|
|
22
22
|
import "./image-4ay2cw7G.js";
|
|
@@ -9,7 +9,7 @@ import "./accounts-0kF5cxkn.js";
|
|
|
9
9
|
import "./send-BNePC8CO.js";
|
|
10
10
|
import { f as readStringParam, r as createActionGate } from "./common-J8vIST9Q.js";
|
|
11
11
|
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-DL1adXpk.js";
|
|
12
|
-
import { U as resolveAllowlistProviderRuntimeGroupPolicy, W as resolveDefaultGroupPolicy, n as formatDocsLink } from "./reply-
|
|
12
|
+
import { U as resolveAllowlistProviderRuntimeGroupPolicy, W as resolveDefaultGroupPolicy, n as formatDocsLink } from "./reply-C_eN3l25.js";
|
|
13
13
|
import "./image-ops-G8KoEfY8.js";
|
|
14
14
|
import "./pi-embedded-helpers-BioULNev.js";
|
|
15
15
|
import "./accounts-u0-JAHzj.js";
|
|
@@ -17,7 +17,7 @@ import "./send-BCVXt-3e.js";
|
|
|
17
17
|
import "./github-copilot-token-C0y6vp3r.js";
|
|
18
18
|
import "./paths-B7_75Pdr.js";
|
|
19
19
|
import "./send-DhGDAZnT.js";
|
|
20
|
-
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-
|
|
20
|
+
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-Sj8reff_.js";
|
|
21
21
|
import "./tokens-CLE20fRI.js";
|
|
22
22
|
import "./audio-transcription-runner-Ced47O1H.js";
|
|
23
23
|
import "./image-4ay2cw7G.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { l as resolveDefaultAgentId } from "./run-with-concurrency-
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
3
|
-
import { G as normalizeAccountId, K as normalizeOptionalAccountId, R as normalizeAgentId, W as DEFAULT_ACCOUNT_ID } from "./workspace-
|
|
4
|
-
import { h as normalizeE164 } from "./logger-
|
|
5
|
-
import { Gt as normalizeAnyChannelId, Ht as CHAT_CHANNEL_ORDER, Xt as getActivePluginRegistryVersion, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, gr as normalizeResolvedSecretInputString, qt as normalizeChatChannelId } from "./model-selection-
|
|
6
|
-
import { g as createAccountListHelpers, h as resolveAccountEntry } from "./accounts-
|
|
7
|
-
import
|
|
1
|
+
import { l as resolveDefaultAgentId } from "./run-with-concurrency-BFR3ReeF.js";
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-6v7sWnAD.js";
|
|
3
|
+
import { G as normalizeAccountId, K as normalizeOptionalAccountId, R as normalizeAgentId, W as DEFAULT_ACCOUNT_ID } from "./workspace-kVMIaBrV.js";
|
|
4
|
+
import { h as normalizeE164 } from "./logger-CnTSBL7T.js";
|
|
5
|
+
import { Gt as normalizeAnyChannelId, Ht as CHAT_CHANNEL_ORDER, Xt as getActivePluginRegistryVersion, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, gr as normalizeResolvedSecretInputString, qt as normalizeChatChannelId } from "./model-selection-DuNLFQPR.js";
|
|
6
|
+
import { g as createAccountListHelpers, h as resolveAccountEntry } from "./accounts-DwGoZKGm.js";
|
|
7
|
+
import syncFs from "node:fs";
|
|
8
8
|
import util from "node:util";
|
|
9
9
|
|
|
10
10
|
//#region src/channels/plugins/account-action-gate.ts
|
|
@@ -317,7 +317,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
317
317
|
const accountCfg = resolveAccountCfg(accountId !== DEFAULT_ACCOUNT_ID ? accountId : DEFAULT_ACCOUNT_ID);
|
|
318
318
|
const accountTokenFile = accountCfg?.tokenFile?.trim();
|
|
319
319
|
if (accountTokenFile) {
|
|
320
|
-
if (!
|
|
320
|
+
if (!syncFs.existsSync(accountTokenFile)) {
|
|
321
321
|
opts.logMissingFile?.(`channels.telegram.accounts.${accountId}.tokenFile not found: ${accountTokenFile}`);
|
|
322
322
|
return {
|
|
323
323
|
token: "",
|
|
@@ -325,7 +325,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
325
325
|
};
|
|
326
326
|
}
|
|
327
327
|
try {
|
|
328
|
-
const token =
|
|
328
|
+
const token = syncFs.readFileSync(accountTokenFile, "utf-8").trim();
|
|
329
329
|
if (token) return {
|
|
330
330
|
token,
|
|
331
331
|
source: "tokenFile"
|
|
@@ -353,7 +353,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
353
353
|
const allowEnv = accountId === DEFAULT_ACCOUNT_ID;
|
|
354
354
|
const tokenFile = telegramCfg?.tokenFile?.trim();
|
|
355
355
|
if (tokenFile) {
|
|
356
|
-
if (!
|
|
356
|
+
if (!syncFs.existsSync(tokenFile)) {
|
|
357
357
|
opts.logMissingFile?.(`channels.telegram.tokenFile not found: ${tokenFile}`);
|
|
358
358
|
return {
|
|
359
359
|
token: "",
|
|
@@ -361,7 +361,7 @@ function resolveTelegramToken(cfg, opts = {}) {
|
|
|
361
361
|
};
|
|
362
362
|
}
|
|
363
363
|
try {
|
|
364
|
-
const token =
|
|
364
|
+
const token = syncFs.readFileSync(tokenFile, "utf-8").trim();
|
|
365
365
|
if (token) return {
|
|
366
366
|
token,
|
|
367
367
|
source: "tokenFile"
|
|
@@ -30,7 +30,7 @@ import "./logging-CcxUDNcI.js";
|
|
|
30
30
|
import "./accounts-KzgPbLHP.js";
|
|
31
31
|
import "./send-z-sMjqvX.js";
|
|
32
32
|
import "./send-DEs83M9V.js";
|
|
33
|
-
import "./subagent-registry-
|
|
33
|
+
import "./subagent-registry-CIgFD2oi.js";
|
|
34
34
|
import "./paths-Dn_rzeZN.js";
|
|
35
35
|
import "./chat-envelope-thy05gXR.js";
|
|
36
36
|
import "./client-G9E5HGM2.js";
|
|
@@ -116,7 +116,7 @@ import "./npm-pack-install-B887us7R.js";
|
|
|
116
116
|
import "./skill-scanner-CvS725eQ.js";
|
|
117
117
|
import { a as installPluginFromPath, i as installPluginFromNpmSpec, n as recordPluginInstall, o as resolvePluginInstallDir, r as PLUGIN_INSTALL_ERROR_CODE } from "./installs-BiQDtPF0.js";
|
|
118
118
|
import { t as renderTable } from "./table-DbDCX_6t.js";
|
|
119
|
-
import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-
|
|
119
|
+
import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-CKtyq4FH.js";
|
|
120
120
|
import { n as updateNpmInstalledPlugins, r as findBundledPluginSource } from "./update-1JhjCqjy.js";
|
|
121
121
|
import os from "node:os";
|
|
122
122
|
import path from "node:path";
|
|
@@ -2,7 +2,7 @@ import { g as resolveStateDir } from "./paths-mdt1HFK2.js";
|
|
|
2
2
|
import { p as theme } from "./globals-xfUIfxbE.js";
|
|
3
3
|
import { S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-DMGXr25O.js";
|
|
4
4
|
import "./thinking-44rmAw5o.js";
|
|
5
|
-
import "./reply-
|
|
5
|
+
import "./reply-DwjHsBuj.js";
|
|
6
6
|
import "./agent-scope-C1XMay0T.js";
|
|
7
7
|
import { d as defaultRuntime } from "./subsystem-DC87CPVS.js";
|
|
8
8
|
import "./squidclaw-root-CnE19yKj.js";
|
|
@@ -115,7 +115,7 @@ import "./npm-pack-install-s-mP9K0z.js";
|
|
|
115
115
|
import "./skill-scanner-rdr9cQew.js";
|
|
116
116
|
import { a as installPluginFromPath, i as installPluginFromNpmSpec, n as recordPluginInstall, o as resolvePluginInstallDir, r as PLUGIN_INSTALL_ERROR_CODE } from "./installs-CyjlehlR.js";
|
|
117
117
|
import { t as renderTable } from "./table-BPiDGg8F.js";
|
|
118
|
-
import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-
|
|
118
|
+
import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-CPk7dS7F.js";
|
|
119
119
|
import { n as updateNpmInstalledPlugins, r as findBundledPluginSource } from "./update-blK9j2ag.js";
|
|
120
120
|
import fs from "node:fs";
|
|
121
121
|
import os from "node:os";
|
|
@@ -32,7 +32,7 @@ import "./logging-CcxUDNcI.js";
|
|
|
32
32
|
import "./accounts-KzgPbLHP.js";
|
|
33
33
|
import "./send-z-sMjqvX.js";
|
|
34
34
|
import "./send-DEs83M9V.js";
|
|
35
|
-
import "./subagent-registry-
|
|
35
|
+
import "./subagent-registry-CIgFD2oi.js";
|
|
36
36
|
import "./paths-Dn_rzeZN.js";
|
|
37
37
|
import "./chat-envelope-thy05gXR.js";
|
|
38
38
|
import "./client-G9E5HGM2.js";
|
|
@@ -112,13 +112,13 @@ import { t as formatDocsLink } from "./links-Dye6HsRG.js";
|
|
|
112
112
|
import "./cli-utils-BKqG4ZT-.js";
|
|
113
113
|
import "./help-format-CpR5cEGe.js";
|
|
114
114
|
import "./progress-DuhDspl6.js";
|
|
115
|
-
import "./plugin-registry-
|
|
116
|
-
import { n as resolveCliChannelOptions } from "./channel-options-
|
|
117
|
-
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-
|
|
118
|
-
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-
|
|
115
|
+
import "./plugin-registry-D3PnPE1D.js";
|
|
116
|
+
import { n as resolveCliChannelOptions } from "./channel-options-CQ-gER0J.js";
|
|
117
|
+
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-CDMFyaKR.js";
|
|
118
|
+
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-AHS8_9da.js";
|
|
119
119
|
import { r as setProgramContext } from "./program-context-DKVuITe2.js";
|
|
120
120
|
import { t as forceFreePort } from "./ports-Be82TlEg.js";
|
|
121
|
-
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-
|
|
121
|
+
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-DMfuBV69.js";
|
|
122
122
|
import { Command, InvalidArgumentError } from "commander";
|
|
123
123
|
|
|
124
124
|
//#region src/cli/program/context.ts
|
|
@@ -251,7 +251,7 @@ function loadConfigGuardModule() {
|
|
|
251
251
|
return configGuardModulePromise;
|
|
252
252
|
}
|
|
253
253
|
function loadPluginRegistryModule() {
|
|
254
|
-
pluginRegistryModulePromise ??= import("./plugin-registry-
|
|
254
|
+
pluginRegistryModulePromise ??= import("./plugin-registry-D3PnPE1D.js").then((n) => n.n);
|
|
255
255
|
return pluginRegistryModulePromise;
|
|
256
256
|
}
|
|
257
257
|
function getRootCommand(command) {
|