@lawpath-tech/openclaw 2026.2.21-31 → 2026.2.21-32
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-CGBT0wQ4.js → accounts-D8ryuxvJ.js} +7 -7
- package/dist/{accounts-CAR30ERb.js → accounts-Dl14M6E6.js} +1 -1
- package/dist/{accounts-BQX482gP.js → accounts-E1DMCEDO.js} +1 -1
- package/dist/{acp-cli-DZV917OP.js → acp-cli-hedESiET.js} +6 -6
- package/dist/{agent-scope-BGlpyppa.js → agent-scope-B6jLdNuI.js} +18 -18
- package/dist/{agents-BP8GDc9z.js → agents-DWpMpnrU.js} +4 -4
- package/dist/{agents.config-Bz7K-hIv.js → agents.config-DfN81iaS.js} +2 -2
- package/dist/{agents.config-BelTNn6K.js → agents.config-bQuerf1-.js} +1 -1
- package/dist/{api-key-rotation-CMe3cUAn.js → api-key-rotation-ddrC-1k5.js} +1 -1
- package/dist/{audio-preflight-Djsieqbl.js → audio-preflight-DRE31Ab_.js} +28 -28
- package/dist/{audio-preflight-DP74Yvkp.js → audio-preflight-Dp9KYMCX.js} +4 -4
- package/dist/{audit-W6GUNtGq.js → audit-DqzfLnre.js} +23 -23
- package/dist/{auth-choice-D1nW1tnt.js → auth-choice-BWs44j21.js} +8 -8
- package/dist/{auth-choice-CBUsciQJ.js → auth-choice-CNEPjZq2.js} +1 -1
- package/dist/{auth-token-3sJLQq8Y.js → auth-token-Il_1hz__.js} +1 -1
- package/dist/{banner-C18cJKYR.js → banner-CxaRxgic.js} +1 -1
- package/dist/{bindings-D_OoALBE.js → bindings-D_90DJ1-.js} +1 -1
- package/dist/{browser-cli-pa0mgoQY.js → browser-cli-DRksx_yW.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +8 -8
- package/dist/bundled/session-memory/handler.js +8 -8
- package/dist/{call-BVSmc2vl.js → call-CYa4YbMh.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-Dh4UX17R.js → channel-options-731cZrV3.js} +2 -2
- package/dist/{channel-options-DUJnpe5D.js → channel-options-DOP9meV_.js} +1 -1
- package/dist/{channel-selection-B3CpzNsC.js → channel-selection-NCqPAi5U.js} +1 -1
- package/dist/{channel-web-wLJAIBDS.js → channel-web-BGJ5ln5L.js} +17 -17
- package/dist/{channels-cli-B3GeraPZ.js → channels-cli-BSR5Ss_g.js} +75 -75
- package/dist/{channels-cli-7lL-U0bT.js → channels-cli-D3RDDRf1.js} +6 -6
- package/dist/{channels-status-issues-C4_sbL0E.js → channels-status-issues-CNE14g1e.js} +1 -1
- package/dist/{chrome-C9MCXK8d.js → chrome-BlXdvPOB.js} +2 -2
- package/dist/{chrome-BukFhWVN.js → chrome-DAmaIuXa.js} +7 -7
- package/dist/{clawbot-cli-B2jNAgQu.js → clawbot-cli-__trjQJ4.js} +4 -4
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-C9y6JSoj.js → cli-C7e7H1JP.js} +3 -3
- package/dist/{cli-BdmFE8Ie.js → cli-DnIh8_UI.js} +62 -62
- package/dist/{client-DkL-GDcp.js → client-BW8Wuj5N.js} +1 -1
- package/dist/{command-registry-D-PJPg1t.js → command-registry-Q4A7-DBA.js} +9 -9
- package/dist/{commands-DHoTLUfu.js → commands-KvUzKZ-E.js} +1 -1
- package/dist/{commands-registry-C6MwKIm9.js → commands-registry-DVVMuhaG.js} +3 -3
- package/dist/{completion-cli-CA5pvA6W.js → completion-cli-JhFn-BzZ.js} +12 -12
- package/dist/{completion-cli-zfVgI7-n.js → completion-cli-dC9YBc-k.js} +2 -2
- package/dist/{config-CkqfHk27.js → config-JupjCURB.js} +2 -2
- package/dist/{config-cli-CgMtqspq.js → config-cli-DMLSe-zW.js} +1 -1
- package/dist/{config-cli-BPrhK0hV.js → config-cli-DOvNIX0v.js} +4 -4
- package/dist/{config-guard-C5fqJ2Ra.js → config-guard-5XdCrtj_.js} +12 -12
- package/dist/{config-validation-cyW76mmN.js → config-validation-B1WJ3f4s.js} +1 -1
- package/dist/{configure-yDD4TKIJ.js → configure-Bvsehc2l.js} +15 -15
- package/dist/{configure-P0T5xCKn.js → configure-DjTsdvi-.js} +3 -3
- package/dist/{control-service-CPT8eogY.js → control-service-C7XguOvd.js} +4 -4
- package/dist/{control-ui-assets-BcSek9LQ.js → control-ui-assets-BLVZXE2I.js} +1 -1
- package/dist/{cron-cli-B8A_gdlC.js → cron-cli-DJY2332p.js} +10 -10
- package/dist/{daemon-cli-BY4RqUnr.js → daemon-cli-BWUQX0oT.js} +11 -11
- package/dist/{daemon-runtime-b5AIw6-c.js → daemon-runtime-DWX-qIBl.js} +10 -10
- package/dist/{deliver-BLmoUvp-.js → deliver-BP564y6d.js} +1 -1
- package/dist/{deliver-DPIPJHQH.js → deliver-DKhy3kV4.js} +7 -7
- package/dist/{devices-cli-lm3S1JQu.js → devices-cli-D4oN5nE1.js} +6 -6
- package/dist/{diagnostics-BTTjVvNB.js → diagnostics-DqqmUDc7.js} +5 -5
- package/dist/{directory-cli-BV3bixZh.js → directory-cli-Cn5w5bQ0.js} +7 -7
- package/dist/{dm-policy-shared-CrbkZ-FV.js → dm-policy-shared-CysWxa2H.js} +2 -2
- package/dist/{dns-cli-D7X1eTm3.js → dns-cli-CYB5gA5O.js} +3 -3
- package/dist/{dock-B1xpMkYP.js → dock-CX_o0bdi.js} +4 -4
- package/dist/{docs-cli-C_3NO2uV.js → docs-cli-Dsn3U8-1.js} +1 -1
- package/dist/{doctor-completion-wNJ24zG1.js → doctor-completion-ZNTlXnGL.js} +1 -1
- package/dist/{doctor-completion-QnB3fOSm.js → doctor-completion-zUNacbyu.js} +2 -2
- package/dist/{doctor-config-flow-BB3nWQcZ.js → doctor-config-flow-C9h7ENJ-.js} +10 -10
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-TT3Gh9kR.js → exec-approvals-cli-BXXdOl4u.js} +13 -13
- package/dist/extensionAPI.js +3 -3
- package/dist/{fs-safe-CUjO1ca2.js → fs-safe-CTDvb1DF.js} +6 -6
- package/dist/{gateway-cli-jzI2iY9a.js → gateway-cli-B8-2FWEZ.js} +10 -10
- package/dist/{gateway-cli-abohiHMm.js → gateway-cli-BXP02v7b.js} +132 -132
- package/dist/{gateway-rpc-BGGmDgbQ.js → gateway-rpc-CqPT9Cep.js} +1 -1
- package/dist/{health-ChDsDryb.js → health-BFLhZBCV.js} +13 -13
- package/dist/{health-BJ6SHHDr.js → health-Bm_bIcyw.js} +1 -1
- package/dist/{hooks-cli-DuRDIltL.js → hooks-cli-BVjpIkaS.js} +76 -76
- package/dist/{hooks-cli-BmuxgZBH.js → hooks-cli-DyN1Bq_w.js} +4 -4
- package/dist/{image-hH4ugSJI.js → image-DL65NdIM.js} +1 -1
- package/dist/{image-DC9YnAwO.js → image-DtVdv4CQ.js} +3 -3
- package/dist/{image-ops-B4PbaJHR.js → image-ops-Uvt51OHH.js} +10 -10
- package/dist/index.js +72 -72
- package/dist/{inspect-gLKB4R6Z.js → inspect-VKHaN3HT.js} +4 -4
- package/dist/{install-safe-path-tCLiMpmO.js → install-safe-path-Qqr_t_tH.js} +11 -11
- package/dist/{installs-Bbb02byQ.js → installs-BamQ1KDR.js} +10 -10
- package/dist/{ir-D72mYI93.js → ir-1SG-TkUZ.js} +6 -6
- package/dist/{lifecycle-core-DNgy-uKO.js → lifecycle-core-DZJF3omV.js} +5 -5
- package/dist/llm-slug-generator.js +8 -8
- package/dist/{local-roots-B6Q8Hrfc.js → local-roots-25wkka6O.js} +2 -2
- package/dist/{login-Bz2k49Y4.js → login-BThY9qqp.js} +3 -3
- package/dist/{login-qr-L9yhuI9H.js → login-qr-BOOn03RH.js} +5 -5
- package/dist/{logs-cli-B2PPoAkv.js → logs-cli-DoDfF8hD.js} +7 -7
- package/dist/{manager-CDo24VZE.js → manager-BVtzk7_v.js} +13 -13
- package/dist/{markdown-tables-CXWxrKp3.js → markdown-tables-MNYCbYg1.js} +1 -1
- package/dist/{memory-cli-8SCKR9xc.js → memory-cli-CS7LI30B.js} +12 -12
- package/dist/{model-BKG0edkX.js → model-MOoXNngW.js} +1 -1
- package/dist/{model-catalog-CjwzHKkB.js → model-catalog-CzLbr1ZD.js} +4 -4
- package/dist/{model-picker-NGiZaAei.js → model-picker-bpc3jJ5m.js} +3 -3
- package/dist/{model-selection-0qDmOMXI.js → model-selection-C1pdWy7b.js} +9 -9
- package/dist/{models-BpqbY6s6.js → models-Bd3CLEWM.js} +2 -2
- package/dist/{models-cli-COanmcGm.js → models-cli-4QX1LFRs.js} +72 -72
- package/dist/{models-cli-DqWWTCao.js → models-cli-D__CoxU_.js} +5 -5
- package/dist/{models-config-CTi1zIkq.js → models-config-BVp1ZtTh.js} +7 -7
- package/dist/{node-cli-Cqkqlb01.js → node-cli-D-N_WPoP.js} +28 -28
- package/dist/{node-service-YmmWwF_4.js → node-service-BESGjvfV.js} +1 -1
- package/dist/{nodes-cli-xRiWzu3G.js → nodes-cli-Cn4uY_Gx.js} +10 -10
- package/dist/{nodes-screen-C-rbZoYt.js → nodes-screen-kFzB7013.js} +4 -4
- package/dist/{npm-registry-spec-Dw7Zv5pY.js → npm-registry-spec-pqZV9KaL.js} +9 -9
- package/dist/{onboard-UEtBiCoJ.js → onboard-DDzVmEvx.js} +2 -2
- package/dist/{onboard-wCY6TSre.js → onboard-DJUKlsWz.js} +13 -13
- package/dist/{onboard-channels-BJ-tZka8.js → onboard-channels-BqW3maPJ.js} +5 -5
- package/dist/{onboard-channels-CPma01ab.js → onboard-channels-CrfL2B6W.js} +1 -1
- package/dist/{onboard-custom-KUI3ky6Y.js → onboard-custom-D7KcpLUZ.js} +3 -3
- package/dist/{onboard-helpers-CuawFqeV.js → onboard-helpers-C2-IAGyl.js} +8 -8
- package/dist/{onboard-hooks-Cjnt0UN3.js → onboard-hooks-Cf_rZ0y2.js} +1 -1
- package/dist/{onboard-remote-ClWpZWND.js → onboard-remote-DujGEJSZ.js} +1 -1
- package/dist/{onboard-skills-wCr1UcGc.js → onboard-skills-BCOMycP2.js} +4 -4
- package/dist/{onboarding-Di4SkJUj.js → onboarding-0IAGtYhr.js} +3 -3
- package/dist/{onboarding-Dp6k5p-a.js → onboarding-w8peVpJ9.js} +13 -13
- package/dist/{onboarding.finalize-G-q87JA2.js → onboarding.finalize-CwtvbQBP.js} +74 -74
- package/dist/{onboarding.finalize-DshqLGqp.js → onboarding.finalize-De4it5U3.js} +8 -8
- package/dist/{onboarding.gateway-config-7sVZcOhj.js → onboarding.gateway-config-BJ0SMGbj.js} +14 -14
- package/dist/{openai-model-default-CZOgt9C7.js → openai-model-default-DagaQbb0.js} +2 -2
- package/dist/{openclaw-root-CQJwyH9q.js → openclaw-root-CbWxAStx.js} +2 -2
- package/dist/{outbound-BiC9-qyo.js → outbound-DPGxP4j6.js} +4 -4
- package/dist/{plugin-sdk/outbound-attachment-1oBost2D.js → outbound-attachment-D07lPNUZ.js} +2 -2
- package/dist/{pairing-cli-B5reDhJF.js → pairing-cli-BZwhRsWv.js} +8 -8
- package/dist/{pairing-labels-UbwdcASX.js → pairing-labels-Cf9ie2Yo.js} +1 -1
- package/dist/{pairing-store-IkE0_gB1.js → pairing-store-BzMeXbOB.js} +2 -2
- package/dist/{pairing-token-DGufCZxz.js → pairing-token-DAVfcYo5.js} +7 -7
- package/dist/{paths-CIvEoL0m.js → paths-BsnfCNkx.js} +1 -1
- package/dist/{pi-auth-json-C5hwfgoJ.js → pi-auth-json-BBbOI_P4.js} +3 -3
- package/dist/{pi-embedded-C7TfFIPO.js → pi-embedded-CIsGkiaB.js} +200 -43
- package/dist/{pi-embedded-helpers-BDEpQxcD.js → pi-embedded-helpers-B9uwWqnh.js} +6 -6
- package/dist/{pi-embedded-helpers-DR_3fJko.js → pi-embedded-helpers-HnqhrewN.js} +4 -4
- package/dist/{pi-embedded-BAqpVR_m.js → pi-embedded-lJXJAe8z.js} +214 -57
- package/dist/{pi-tools.policy-CrKxTriv.js → pi-tools.policy-BU3gaxu3.js} +4 -4
- package/dist/{plugin-auto-enable-CU5zcL-D.js → plugin-auto-enable-Dkg7tNsW.js} +2 -2
- package/dist/{plugin-registry-BdQI8-bG.js → plugin-registry-BNUYtj9H.js} +3 -3
- package/dist/{plugin-registry-CFiYBSX2.js → plugin-registry-DjJ5pV-y.js} +1 -1
- package/dist/plugin-sdk/{accounts-cFYVb3Ir.js → accounts-BdyAJ80w.js} +1 -1
- package/dist/plugin-sdk/{accounts-owMdcC84.js → accounts-CDDBR5Pk.js} +1 -1
- package/dist/plugin-sdk/{accounts-CIV6d4kn.js → accounts-CNg4Pivg.js} +3 -3
- package/dist/plugin-sdk/{active-listener-n6hyqnXA.js → active-listener-C2nnC9Ax.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-DNY1MYCy.js → agent-scope-CtPfsirh.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-nmjAMTZA.js → api-key-rotation-R4AkTIjD.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-BkbKy5kx.js → audio-preflight-BAMNt6M5.js} +24 -24
- package/dist/plugin-sdk/{bindings-CopQpHHX.js → bindings-BoFVi5SB.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-CrDvXjCQ.js → channel-activity-t_OI1MQf.js} +1 -1
- package/dist/plugin-sdk/{channel-web-DtyyUoWA.js → channel-web-hWtosBa_.js} +22 -22
- package/dist/plugin-sdk/{chrome-CrOYUXQ2.js → chrome-D0tUj9ji.js} +3 -3
- package/dist/plugin-sdk/{chunk-D4rztYS_.js → chunk-CoyesYaI.js} +1 -1
- package/dist/plugin-sdk/{command-format-A8fPp85k.js → command-format-BZHLj2Pv.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-BgL5BgCb.js → commands-registry-DhpIXuI8.js} +4 -4
- package/dist/plugin-sdk/{config-CpE4TWH0.js → config-C-kB5yPz.js} +9 -9
- package/dist/plugin-sdk/{deliver-DTKyGKVr.js → deliver-BHg_hqJG.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-AkXUmNj3.js → diagnostic-Bkobf9sL.js} +1 -1
- package/dist/plugin-sdk/{image-D-2tr3lg.js → image-DJgspIhI.js} +4 -4
- package/dist/plugin-sdk/{image-ops-D4rLqyFG.js → image-ops-BeZ1nzVS.js} +1 -1
- package/dist/plugin-sdk/index.js +53 -53
- package/dist/plugin-sdk/{ir-hakANnEW.js → ir-CRPo3dMY.js} +4 -4
- package/dist/plugin-sdk/{local-roots-CnaI2qJk.js → local-roots-C5Ju-AZh.js} +3 -3
- package/dist/plugin-sdk/{login-CcPkuK_e.js → login-ZAWRtiUn.js} +7 -7
- package/dist/plugin-sdk/{login-qr-C6rEbZ_4.js → login-qr-Vep4Qyfk.js} +9 -9
- package/dist/plugin-sdk/{manager-D0UeotCy.js → manager-BiSIuKTu.js} +8 -8
- package/dist/plugin-sdk/{manifest-registry-COeXOYi0.js → manifest-registry-DJWLGnsy.js} +1 -1
- package/dist/plugin-sdk/{markdown-tables-Bf31F9r6.js → markdown-tables-D3ber0Yy.js} +1 -1
- package/dist/plugin-sdk/{message-channel-CMtCA18K.js → message-channel-BvbVXKrt.js} +1 -1
- package/dist/plugin-sdk/{model-selection-CneSW_JC.js → model-selection-QOKxGwpD.js} +4 -4
- package/dist/{outbound-attachment-91Q9pKkZ.js → plugin-sdk/outbound-attachment-Dukb2BCs.js} +2 -2
- package/dist/plugin-sdk/{outbound-ChKX7wv_.js → outbound-simNZ392.js} +7 -7
- package/dist/plugin-sdk/{pi-auth-json-DfDP_Pzq.js → pi-auth-json-DjRxrq8j.js} +5 -5
- package/dist/plugin-sdk/{pi-embedded-helpers-idRp2oNz.js → pi-embedded-helpers-onFghmXi.js} +17 -17
- package/dist/plugin-sdk/{plugins-CCHKO6PS.js → plugins-Cmzpj_lq.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-DC87yDnd.js → pw-ai-MetkkJzy.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-CnTnX_JH.js → qmd-manager-CD1M3q9a.js} +4 -4
- package/dist/plugin-sdk/{registry-BlMOtcPL.js → registry-BX2vORAB.js} +2 -2
- package/dist/plugin-sdk/{replies-OoosoUz9.js → replies-_91oZTzt.js} +7 -6
- package/dist/plugin-sdk/{reply-C_4ajFUt.js → reply-CKIG0ycG.js} +272 -115
- package/dist/plugin-sdk/{reply-prefix-G9ruZ2EI.js → reply-prefix-DuegEkbr.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-D9fgJ-GG.js → resolve-outbound-target-CeT5UKn8.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-yBLQIeuf.js → resolve-route-DxmOOAQ3.js} +3 -3
- package/dist/plugin-sdk/{retry-BG4opKt7.js → retry-DOt8b7_o.js} +1 -1
- package/dist/plugin-sdk/{runner-BkVA5r9t.js → runner-DycIbJjS.js} +9 -9
- package/dist/plugin-sdk/{send-C40m59QO.js → send-5KyVAcYY.js} +10 -10
- package/dist/plugin-sdk/{send-C9Q83PfF.js → send-BUW2Leik.js} +26 -7
- package/dist/plugin-sdk/{send-CgLOABgR.js → send-DWnqhh6N.js} +10 -10
- package/dist/plugin-sdk/{send-CiTMY1uN.js → send-Du8i1Fom.js} +7 -7
- package/dist/plugin-sdk/{send-b1mZbvoC.js → send-Fch4vj7_.js} +6 -6
- package/dist/plugin-sdk/{session-DBbj6znF.js → session-PaIae3bL.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-Cu6XAfOe.js → skill-commands-CNFldYrK.js} +5 -5
- package/dist/plugin-sdk/{skills-BTu_-5jA.js → skills-CJCz6K_W.js} +7 -7
- package/dist/plugin-sdk/slack/monitor/events/channels.d.ts +1 -0
- package/dist/plugin-sdk/slack/monitor/events/members.d.ts +1 -0
- package/dist/plugin-sdk/slack/monitor/events/pins.d.ts +1 -0
- package/dist/plugin-sdk/slack/monitor/events/reactions.d.ts +1 -0
- package/dist/plugin-sdk/slack/monitor/events.d.ts +2 -0
- package/dist/plugin-sdk/slack/monitor/message-handler.d.ts +2 -0
- package/dist/plugin-sdk/slack/monitor/provider.d.ts +6 -0
- package/dist/plugin-sdk/slack/monitor/replies.d.ts +2 -0
- package/dist/plugin-sdk/slack/monitor/types.d.ts +4 -0
- package/dist/plugin-sdk/slack/threading.d.ts +9 -0
- package/dist/plugin-sdk/{sqlite-CH3lxc5D.js → sqlite-Bmy459sE.js} +1 -1
- package/dist/plugin-sdk/{store-DDOdV26p.js → store-B_h0hmNL.js} +2 -2
- package/dist/plugin-sdk/{subsystem-DoAZkah-.js → subsystem-DJYuxViY.js} +1 -1
- package/dist/plugin-sdk/{tables-DAJbUPhT.js → tables-DCBJv1Oa.js} +1 -1
- package/dist/plugin-sdk/{target-errors-CeKndUCY.js → target-errors-gEAboF7P.js} +2 -2
- package/dist/plugin-sdk/{thinking-lC2HmTea.js → thinking-D8Se3YVf.js} +5 -5
- package/dist/plugin-sdk/{tokens-Dag82kdi.js → tokens-Cx0xANZO.js} +1 -1
- package/dist/plugin-sdk/{tool-images-D_St2NkT.js → tool-images-CIoUqeS9.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-BAz1GNFQ.js → tool-loop-detection-B_Opna2S.js} +2 -2
- package/dist/plugin-sdk/web-HBE7hmNI.js +65 -0
- package/dist/plugin-sdk/{whatsapp-actions-CicFq_6w.js → whatsapp-actions-DqfQYPke.js} +21 -21
- package/dist/{plugins-DufH79A4.js → plugins-BYw4LpqC.js} +2 -2
- package/dist/{plugins-cli-CmrER-zr.js → plugins-cli-CKU99tGc.js} +71 -71
- package/dist/{plugins-cli-B03aSLgf.js → plugins-cli-DBrRLw_b.js} +4 -4
- package/dist/{ports-tyVdO5z0.js → ports-CJyNmOL8.js} +2 -2
- package/dist/{ports-B6fsVJW2.js → ports-CbYVfAGi.js} +1 -1
- package/dist/{program-Djk08-l7.js → program-CuRfrHul.js} +9 -9
- package/dist/{program-context-DlRS1tcr.js → program-context-Ct_MVt2A.js} +40 -40
- package/dist/{prompt-select-styled-CMszn2hx.js → prompt-select-styled-BhdDmaM8.js} +4 -4
- package/dist/{prompt-select-styled-JkMJPt68.js → prompt-select-styled-Cb9hZTTU.js} +37 -37
- package/dist/{provider-auth-helpers-ZV7-WRyR.js → provider-auth-helpers-B7bEwRrS.js} +5 -5
- package/dist/{provider-auth-helpers-36LOZ6SL.js → provider-auth-helpers-CPkc9hAj.js} +1 -1
- package/dist/{push-apns-Cm-ZTdUp.js → push-apns-BqDXb4kj.js} +4 -4
- package/dist/{push-apns-TUUEPpx1.js → push-apns-Cor1JBvm.js} +1 -1
- package/dist/{pw-ai-Dp9c5KD_.js → pw-ai-BLLeU82T.js} +1 -1
- package/dist/{pw-ai-fTf_Sq93.js → pw-ai-CWMnNfVs.js} +7 -7
- package/dist/{qmd-manager-CNVBA7OI.js → qmd-manager-D72OxpMn.js} +18 -18
- package/dist/{qr-cli-BQpNL00w.js → qr-cli-jnAlWxJ1.js} +1 -1
- package/dist/{register.agent-7Pku8mId.js → register.agent-BY4qQIyM.js} +81 -81
- package/dist/{register.agent-DsFrb0R7.js → register.agent-CPhQWbIL.js} +8 -8
- package/dist/register.configure-CtqFfgvY.js +147 -0
- package/dist/{register.configure-BMfcA9Sh.js → register.configure-d_7CE6cU.js} +8 -8
- package/dist/{register.maintenance-DfoSO5fo.js → register.maintenance-BiQeKBPQ.js} +84 -84
- package/dist/{register.maintenance-BFSQHBgH.js → register.maintenance-CQVF8TPW.js} +10 -10
- package/dist/{register.message-C-5P7V4g.js → register.message-5XIQHlJd.js} +4 -4
- package/dist/{register.message-BTCpZ8RW.js → register.message-CprmJPCV.js} +63 -63
- package/dist/{register.onboard-CVXaGmEF.js → register.onboard-D4hhxM8J.js} +6 -6
- package/dist/{register.onboard-CTO-qkWZ.js → register.onboard-DpvOjkyQ.js} +74 -74
- package/dist/{register.setup-BzaCK19n.js → register.setup-D3PpeeN2.js} +6 -6
- package/dist/{register.setup-Dg1Ud7ox.js → register.setup-MPlYCmF_.js} +77 -77
- package/dist/{register.status-health-sessions-DjwY1WQe.js → register.status-health-sessions-BE5frGYt.js} +5 -5
- package/dist/{register.status-health-sessions-IymXWaoK.js → register.status-health-sessions-BUzgM9fv.js} +75 -75
- package/dist/{register.subclis-Bw1N3fIn.js → register.subclis-BVUvjO4p.js} +9 -9
- package/dist/{replies-MVPArv-r.js → replies-9ipbTXMP.js} +5 -4
- package/dist/{replies-DtFxhHfI.js → replies-BCd0AxfK.js} +5 -4
- package/dist/{replies-DKKNtkun.js → replies-BVBgaEtE.js} +5 -4
- package/dist/{replies-DhmTgroV.js → replies-CSjH2EQ6.js} +5 -4
- package/dist/{reply-pTxrsMtG.js → reply-C7XZ5Kp3.js} +325 -168
- package/dist/{reply-prefix-CbuTBmdm.js → reply-prefix-CJc9NzGX.js} +1 -1
- package/dist/{resolve-route-DuqgZ7wS.js → resolve-route-C5pUt_LC.js} +2 -2
- package/dist/{routes-Bh-1i4ub.js → routes-BgjaVwmu.js} +8 -8
- package/dist/{rpc-RAW16k0Y.js → rpc-DrpAw2Te.js} +1 -1
- package/dist/{run-main-DnYUey0K.js → run-main-CmSuw5Re.js} +16 -16
- package/dist/{runner-CLY-9j7g.js → runner-CcRtHLpd.js} +1 -1
- package/dist/{runner-CXGYviGa.js → runner-fLI-fZ-v.js} +20 -20
- package/dist/{sandbox-Dbz4ladn.js → sandbox-B1lVufmT.js} +18 -18
- package/dist/{sandbox-cli-Dx1942n8.js → sandbox-cli--odc2cPK.js} +20 -20
- package/dist/{security-cli-Ci7ujUBk.js → security-cli-s6yE26pJ.js} +36 -36
- package/dist/{send-CTGeWUSD.js → send-B3u53ZAu.js} +20 -1
- package/dist/{send-i695V0Ow.js → send-BilxFvrd.js} +13 -13
- package/dist/{send-Cr8R-bMi.js → send-CAuzoyQe.js} +20 -1
- package/dist/{send-D_FU_HIa.js → send-D6r6s6Nf.js} +20 -1
- package/dist/{send-H5TFGeHl.js → send-DAb8zkAc.js} +6 -6
- package/dist/{send-ElgbtTa_.js → send-UJWeL6fz.js} +6 -6
- package/dist/{send-BGmblGeb.js → send-YdmCYGSj.js} +6 -6
- package/dist/{send-CKGUBMnM.js → send-_y-b5SXH.js} +24 -5
- package/dist/{server-context-BN_KGt0e.js → server-context-DFBpyKBE.js} +5 -5
- package/dist/{server-node-events-Dhbdspn_.js → server-node-events-DeVBy3RG.js} +4 -4
- package/dist/{server-node-events-DQYNf8b_.js → server-node-events-E7ENYs3y.js} +63 -63
- package/dist/{service-x8sNoic1.js → service-Bs5m4_g0.js} +15 -15
- package/dist/{session-SFd4vyTd.js → session-Gi1pc_jn.js} +2 -2
- package/dist/{session-dirs-DoK1aPxY.js → session-dirs-DMMeC5kT.js} +1 -1
- package/dist/{session-dirs-CFHymbM9.js → session-dirs-Dz06Isny.js} +16 -16
- package/dist/{sessions-CwvGRwvW.js → sessions-fj33u4f-.js} +13 -13
- package/dist/{shared-BlqeHl3I.js → shared-BYm87AKE.js} +1 -1
- package/dist/{shared-D-u4KNkt.js → shared-Btbxw_J6.js} +3 -3
- package/dist/{skill-commands-VCmL7mMC.js → skill-commands-27Clp6Hw.js} +5 -5
- package/dist/{skill-scanner-CMBwwxis.js → skill-scanner-BRf3FyA6.js} +5 -5
- package/dist/{skills-DhT6my9R.js → skills-DO1RiQMB.js} +4 -4
- package/dist/{skills-cli-AXXW1-ib.js → skills-cli-D8Z6O8tz.js} +7 -7
- package/dist/{skills-install-CHhkAUEW.js → skills-install-D2uuaBF9.js} +3 -3
- package/dist/{skills-status-B90dNffv.js → skills-status-C9NLYboA.js} +1 -1
- package/dist/{sqlite-CzeIEe5A.js → sqlite-DCO2j-0b.js} +12 -12
- package/dist/{status-KRRAxPjg.js → status-DQmoPN3T.js} +25 -25
- package/dist/{status-D32_SxwC.js → status-DUJLCUGg.js} +2 -2
- package/dist/{status-C-PQHlxh.js → status-Di2Pqiji.js} +1 -1
- package/dist/{status-CFnZ8E56.js → status-DppGMZ2s.js} +3 -3
- package/dist/{status.update-BdxnLoXT.js → status.update-CkYiGnzE.js} +3 -3
- package/dist/{store-YBnR7qvG.js → store-CLuh0zX0.js} +5 -5
- package/dist/{subagent-registry-DkjybHrK.js → subagent-registry-D3Pj0bnZ.js} +200 -43
- package/dist/{system-cli-CNufxt6H.js → system-cli-DQpLuBbA.js} +11 -11
- package/dist/{systemd-_79iBiaB.js → systemd-Blg-bgkO.js} +5 -5
- package/dist/{systemd-hints--ykZ9med.js → systemd-hints-pRBdkBPI.js} +6 -6
- package/dist/{systemd-linger--ZF5kAeJ.js → systemd-linger-DqOrhpC-.js} +1 -1
- package/dist/{tables-LYKSFoqx.js → tables-DhRyfXvl.js} +1 -1
- package/dist/{target-errors-BrrPOPT5.js → target-errors-DKUMw1tA.js} +4 -4
- package/dist/{tool-images-BCkPMulQ.js → tool-images-Cdj7iZ0t.js} +1 -1
- package/dist/{tui-BfllwI0b.js → tui-DbvXHepE.js} +7 -7
- package/dist/{tui-cli-DM4ahQxS.js → tui-cli-CIqa9qRn.js} +28 -28
- package/dist/{update-BNGNVRaT.js → update-CqhqeDij.js} +3 -3
- package/dist/{update-check-CEFJiPeh.js → update-check-DOy5cGkD.js} +5 -5
- package/dist/{update-cli-DXd4fNuS.js → update-cli-CsicqPiK.js} +10 -10
- package/dist/{update-cli-DMrRvy-m.js → update-cli-DJIsdQeJ.js} +94 -94
- package/dist/{web-Dsgry4ji.js → web-DRLO5z6-.js} +3 -3
- package/dist/{web-IfDcZx01.js → web-DShT68Ix.js} +3 -3
- package/dist/{web-DCNwbuhj.js → web-EGziWSH9.js} +8 -8
- package/dist/web-lXypZuaq.js +109 -0
- package/dist/{webhooks-cli-Ay0jR658.js → webhooks-cli-BJ1WiH3W.js} +4 -4
- package/dist/{whatsapp-actions-Dsvkb9dr.js → whatsapp-actions-lSqVUZ_h.js} +15 -15
- package/dist/{with-timeout-n3bwhefQ.js → with-timeout-OwJVCBFG.js} +1 -1
- package/dist/{workspace-dirs-DbX5fBAC.js → workspace-dirs-CuYuE5F1.js} +1 -1
- package/dist/{wsl-C4424szg.js → wsl-BbXxnokd.js} +2 -2
- package/package.json +1 -1
- package/dist/plugin-sdk/web-BlY2wNrk.js +0 -65
- package/dist/register.configure-CJ6IYgGS.js +0 -147
- package/dist/web-CCqlC0N_.js +0 -109
|
@@ -23,7 +23,7 @@ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPref
|
|
|
23
23
|
import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-z3bMeGdF.js";
|
|
24
24
|
import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-C-TqofPl.js";
|
|
25
25
|
import { t as normalizeChatType } from "./chat-type-CeFzWU-6.js";
|
|
26
|
-
import { a as
|
|
26
|
+
import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, r as markdownToSlackMrkdwn, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-D6r6s6Nf.js";
|
|
27
27
|
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, 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 resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BFb93sxb.js";
|
|
28
28
|
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-X8qW3T0a.js";
|
|
29
29
|
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-C9pjS-4q.js";
|
|
@@ -90,7 +90,7 @@ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_I
|
|
|
90
90
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CnkjzJiI.js";
|
|
91
91
|
import { t as parseTimeoutMs } from "./parse-timeout-zNJBr1fY.js";
|
|
92
92
|
import { t as makeProxyFetch } from "./proxy-DL3MD6-P.js";
|
|
93
|
-
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-
|
|
93
|
+
import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-9ipbTXMP.js";
|
|
94
94
|
import { r as detectBinary } from "./onboard-helpers-xm_EZevL.js";
|
|
95
95
|
import { t as resolvePairingIdLabel } from "./pairing-labels-Bq0F29US.js";
|
|
96
96
|
import { t as getActiveWebListener } from "./active-listener-E3rDSAZp.js";
|
|
@@ -44190,7 +44190,7 @@ function isVoiceChannelType(type) {
|
|
|
44190
44190
|
function createDefaultDeps() {
|
|
44191
44191
|
return {
|
|
44192
44192
|
sendMessageWhatsApp: async (...args) => {
|
|
44193
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
44193
|
+
const { sendMessageWhatsApp } = await import("./web-DShT68Ix.js");
|
|
44194
44194
|
return await sendMessageWhatsApp(...args);
|
|
44195
44195
|
},
|
|
44196
44196
|
sendMessageTelegram: async (...args) => {
|
|
@@ -44202,7 +44202,7 @@ function createDefaultDeps() {
|
|
|
44202
44202
|
return await sendMessageDiscord(...args);
|
|
44203
44203
|
},
|
|
44204
44204
|
sendMessageSlack: async (...args) => {
|
|
44205
|
-
const { sendMessageSlack } = await import("./send-
|
|
44205
|
+
const { sendMessageSlack } = await import("./send-D6r6s6Nf.js").then((n) => n.n);
|
|
44206
44206
|
return await sendMessageSlack(...args);
|
|
44207
44207
|
},
|
|
44208
44208
|
sendMessageSignal: async (...args) => {
|
|
@@ -52171,8 +52171,12 @@ function inferSlackChannelType(channelId) {
|
|
|
52171
52171
|
}
|
|
52172
52172
|
function normalizeSlackChannelType(channelType, channelId) {
|
|
52173
52173
|
const normalized = channelType?.trim().toLowerCase();
|
|
52174
|
-
|
|
52175
|
-
|
|
52174
|
+
const inferred = inferSlackChannelType(channelId);
|
|
52175
|
+
if (normalized === "im" || normalized === "mpim" || normalized === "channel" || normalized === "group") {
|
|
52176
|
+
if (inferred === "im" && normalized !== "im") return "im";
|
|
52177
|
+
return normalized;
|
|
52178
|
+
}
|
|
52179
|
+
return inferred ?? "channel";
|
|
52176
52180
|
}
|
|
52177
52181
|
function createSlackMonitorContext(params) {
|
|
52178
52182
|
const channelHistories = /* @__PURE__ */ new Map();
|
|
@@ -52440,7 +52444,7 @@ function migrateSlackChannelConfig(params) {
|
|
|
52440
52444
|
//#endregion
|
|
52441
52445
|
//#region src/slack/monitor/events/channels.ts
|
|
52442
52446
|
function registerSlackChannelEvents(params) {
|
|
52443
|
-
const { ctx } = params;
|
|
52447
|
+
const { ctx, trackEvent } = params;
|
|
52444
52448
|
const enqueueChannelSystemEvent = (params) => {
|
|
52445
52449
|
if (!ctx.isChannelAllowed({
|
|
52446
52450
|
channelId: params.channelId,
|
|
@@ -52463,6 +52467,7 @@ function registerSlackChannelEvents(params) {
|
|
|
52463
52467
|
ctx.app.event("channel_created", async ({ event, body }) => {
|
|
52464
52468
|
try {
|
|
52465
52469
|
if (ctx.shouldDropMismatchedSlackEvent(body)) return;
|
|
52470
|
+
trackEvent?.();
|
|
52466
52471
|
const payload = event;
|
|
52467
52472
|
const channelId = payload.channel?.id;
|
|
52468
52473
|
const channelName = payload.channel?.name;
|
|
@@ -52478,6 +52483,7 @@ function registerSlackChannelEvents(params) {
|
|
|
52478
52483
|
ctx.app.event("channel_rename", async ({ event, body }) => {
|
|
52479
52484
|
try {
|
|
52480
52485
|
if (ctx.shouldDropMismatchedSlackEvent(body)) return;
|
|
52486
|
+
trackEvent?.();
|
|
52481
52487
|
const payload = event;
|
|
52482
52488
|
const channelId = payload.channel?.id;
|
|
52483
52489
|
enqueueChannelSystemEvent({
|
|
@@ -52492,6 +52498,7 @@ function registerSlackChannelEvents(params) {
|
|
|
52492
52498
|
ctx.app.event("channel_id_changed", async ({ event, body }) => {
|
|
52493
52499
|
try {
|
|
52494
52500
|
if (ctx.shouldDropMismatchedSlackEvent(body)) return;
|
|
52501
|
+
trackEvent?.();
|
|
52495
52502
|
const payload = event;
|
|
52496
52503
|
const oldChannelId = payload.old_channel_id;
|
|
52497
52504
|
const newChannelId = payload.new_channel_id;
|
|
@@ -52897,10 +52904,11 @@ function registerSlackInteractionEvents(params) {
|
|
|
52897
52904
|
//#endregion
|
|
52898
52905
|
//#region src/slack/monitor/events/members.ts
|
|
52899
52906
|
function registerSlackMemberEvents(params) {
|
|
52900
|
-
const { ctx } = params;
|
|
52907
|
+
const { ctx, trackEvent } = params;
|
|
52901
52908
|
const handleMemberChannelEvent = async (params) => {
|
|
52902
52909
|
try {
|
|
52903
52910
|
if (ctx.shouldDropMismatchedSlackEvent(params.body)) return;
|
|
52911
|
+
trackEvent?.();
|
|
52904
52912
|
const payload = params.event;
|
|
52905
52913
|
const channelId = payload.channel;
|
|
52906
52914
|
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
|
|
@@ -53036,9 +53044,10 @@ function registerSlackMessageEvents(params) {
|
|
|
53036
53044
|
//#endregion
|
|
53037
53045
|
//#region src/slack/monitor/events/pins.ts
|
|
53038
53046
|
async function handleSlackPinEvent(params) {
|
|
53039
|
-
const { ctx, body, event, action, contextKeySuffix, errorLabel } = params;
|
|
53047
|
+
const { ctx, trackEvent, body, event, action, contextKeySuffix, errorLabel } = params;
|
|
53040
53048
|
try {
|
|
53041
53049
|
if (ctx.shouldDropMismatchedSlackEvent(body)) return;
|
|
53050
|
+
trackEvent?.();
|
|
53042
53051
|
const payload = event;
|
|
53043
53052
|
const channelId = payload.channel_id;
|
|
53044
53053
|
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
|
|
@@ -53067,10 +53076,11 @@ async function handleSlackPinEvent(params) {
|
|
|
53067
53076
|
}
|
|
53068
53077
|
}
|
|
53069
53078
|
function registerSlackPinEvents(params) {
|
|
53070
|
-
const { ctx } = params;
|
|
53079
|
+
const { ctx, trackEvent } = params;
|
|
53071
53080
|
ctx.app.event("pin_added", async ({ event, body }) => {
|
|
53072
53081
|
await handleSlackPinEvent({
|
|
53073
53082
|
ctx,
|
|
53083
|
+
trackEvent,
|
|
53074
53084
|
body,
|
|
53075
53085
|
event,
|
|
53076
53086
|
action: "pinned",
|
|
@@ -53081,6 +53091,7 @@ function registerSlackPinEvents(params) {
|
|
|
53081
53091
|
ctx.app.event("pin_removed", async ({ event, body }) => {
|
|
53082
53092
|
await handleSlackPinEvent({
|
|
53083
53093
|
ctx,
|
|
53094
|
+
trackEvent,
|
|
53084
53095
|
body,
|
|
53085
53096
|
event,
|
|
53086
53097
|
action: "unpinned",
|
|
@@ -53093,11 +53104,12 @@ function registerSlackPinEvents(params) {
|
|
|
53093
53104
|
//#endregion
|
|
53094
53105
|
//#region src/slack/monitor/events/reactions.ts
|
|
53095
53106
|
function registerSlackReactionEvents(params) {
|
|
53096
|
-
const { ctx } = params;
|
|
53107
|
+
const { ctx, trackEvent } = params;
|
|
53097
53108
|
const handleReactionEvent = async (event, action) => {
|
|
53098
53109
|
try {
|
|
53099
53110
|
const item = event.item;
|
|
53100
53111
|
if (!item || item.type !== "message") return;
|
|
53112
|
+
trackEvent?.();
|
|
53101
53113
|
const channelInfo = item.channel ? await ctx.resolveChannelName(item.channel) : {};
|
|
53102
53114
|
const channelType = channelInfo?.type;
|
|
53103
53115
|
if (!ctx.isChannelAllowed({
|
|
@@ -53141,10 +53153,22 @@ function registerSlackMonitorEvents(params) {
|
|
|
53141
53153
|
ctx: params.ctx,
|
|
53142
53154
|
handleSlackMessage: params.handleSlackMessage
|
|
53143
53155
|
});
|
|
53144
|
-
registerSlackReactionEvents({
|
|
53145
|
-
|
|
53146
|
-
|
|
53147
|
-
|
|
53156
|
+
registerSlackReactionEvents({
|
|
53157
|
+
ctx: params.ctx,
|
|
53158
|
+
trackEvent: params.trackEvent
|
|
53159
|
+
});
|
|
53160
|
+
registerSlackMemberEvents({
|
|
53161
|
+
ctx: params.ctx,
|
|
53162
|
+
trackEvent: params.trackEvent
|
|
53163
|
+
});
|
|
53164
|
+
registerSlackChannelEvents({
|
|
53165
|
+
ctx: params.ctx,
|
|
53166
|
+
trackEvent: params.trackEvent
|
|
53167
|
+
});
|
|
53168
|
+
registerSlackPinEvents({
|
|
53169
|
+
ctx: params.ctx,
|
|
53170
|
+
trackEvent: params.trackEvent
|
|
53171
|
+
});
|
|
53148
53172
|
registerSlackInteractionEvents({ ctx: params.ctx });
|
|
53149
53173
|
}
|
|
53150
53174
|
|
|
@@ -53317,7 +53341,7 @@ async function startSlackStream(params) {
|
|
|
53317
53341
|
stopped: false
|
|
53318
53342
|
};
|
|
53319
53343
|
if (text) {
|
|
53320
|
-
await streamer.append({ markdown_text: text });
|
|
53344
|
+
await streamer.append({ markdown_text: markdownToSlackMrkdwn(text) });
|
|
53321
53345
|
logVerbose(`slack-stream: appended initial text (${text.length} chars)`);
|
|
53322
53346
|
}
|
|
53323
53347
|
return session;
|
|
@@ -53332,7 +53356,7 @@ async function appendSlackStream(params) {
|
|
|
53332
53356
|
return;
|
|
53333
53357
|
}
|
|
53334
53358
|
if (!text) return;
|
|
53335
|
-
await session.streamer.append({ markdown_text: text });
|
|
53359
|
+
await session.streamer.append({ markdown_text: markdownToSlackMrkdwn(text) });
|
|
53336
53360
|
logVerbose(`slack-stream: appended ${text.length} chars`);
|
|
53337
53361
|
}
|
|
53338
53362
|
/**
|
|
@@ -53349,7 +53373,7 @@ async function stopSlackStream(params) {
|
|
|
53349
53373
|
}
|
|
53350
53374
|
session.stopped = true;
|
|
53351
53375
|
logVerbose(`slack-stream: stopping stream in ${session.channel} thread=${session.threadTs}${text ? ` (final text: ${text.length} chars)` : ""}`);
|
|
53352
|
-
await session.streamer.stop(text ? { markdown_text: text } : void 0);
|
|
53376
|
+
await session.streamer.stop(text ? { markdown_text: markdownToSlackMrkdwn(text) } : void 0);
|
|
53353
53377
|
logVerbose("slack-stream: stream stopped");
|
|
53354
53378
|
}
|
|
53355
53379
|
|
|
@@ -53368,12 +53392,21 @@ function resolveSlackThreadContext(params) {
|
|
|
53368
53392
|
messageThreadId: isThreadReply ? incomingThreadTs : params.replyToMode === "all" ? messageTs : void 0
|
|
53369
53393
|
};
|
|
53370
53394
|
}
|
|
53395
|
+
/**
|
|
53396
|
+
* Resolves Slack thread targeting for replies and status indicators.
|
|
53397
|
+
*
|
|
53398
|
+
* @returns replyThreadTs - Thread timestamp for reply messages
|
|
53399
|
+
* @returns statusThreadTs - Thread timestamp for status indicators (typing, etc.)
|
|
53400
|
+
* @returns isThreadReply - true if this is a genuine user reply in a thread,
|
|
53401
|
+
* false if thread_ts comes from a bot status message
|
|
53402
|
+
*/
|
|
53371
53403
|
function resolveSlackThreadTargets(params) {
|
|
53372
|
-
const { incomingThreadTs, messageTs } = resolveSlackThreadContext(params);
|
|
53373
|
-
const replyThreadTs = incomingThreadTs
|
|
53404
|
+
const { incomingThreadTs, messageTs, isThreadReply } = resolveSlackThreadContext(params);
|
|
53405
|
+
const replyThreadTs = isThreadReply ? incomingThreadTs : params.replyToMode === "all" ? messageTs : void 0;
|
|
53374
53406
|
return {
|
|
53375
53407
|
replyThreadTs,
|
|
53376
|
-
statusThreadTs: replyThreadTs
|
|
53408
|
+
statusThreadTs: replyThreadTs,
|
|
53409
|
+
isThreadReply
|
|
53377
53410
|
};
|
|
53378
53411
|
}
|
|
53379
53412
|
|
|
@@ -53413,12 +53446,13 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
53413
53446
|
deliveryContext: {
|
|
53414
53447
|
channel: "slack",
|
|
53415
53448
|
to: `user:${message.user}`,
|
|
53416
|
-
accountId: route.accountId
|
|
53449
|
+
accountId: route.accountId,
|
|
53450
|
+
threadId: prepared.ctxPayload.MessageThreadId
|
|
53417
53451
|
},
|
|
53418
53452
|
ctx: prepared.ctxPayload
|
|
53419
53453
|
});
|
|
53420
53454
|
}
|
|
53421
|
-
const { statusThreadTs } = resolveSlackThreadTargets({
|
|
53455
|
+
const { statusThreadTs, isThreadReply } = resolveSlackThreadTargets({
|
|
53422
53456
|
message,
|
|
53423
53457
|
replyToMode: ctx.replyToMode
|
|
53424
53458
|
});
|
|
@@ -53430,7 +53464,8 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
53430
53464
|
replyToMode: ctx.replyToMode,
|
|
53431
53465
|
incomingThreadTs,
|
|
53432
53466
|
messageTs,
|
|
53433
|
-
hasRepliedRef
|
|
53467
|
+
hasRepliedRef,
|
|
53468
|
+
isThreadReply
|
|
53434
53469
|
});
|
|
53435
53470
|
const typingTarget = statusThreadTs ? `${message.channel}/${statusThreadTs}` : message.channel;
|
|
53436
53471
|
const typingCallbacks = createTypingCallbacks({
|
|
@@ -53495,7 +53530,8 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
53495
53530
|
accountId: account.accountId,
|
|
53496
53531
|
runtime,
|
|
53497
53532
|
textLimit: ctx.textLimit,
|
|
53498
|
-
replyThreadTs
|
|
53533
|
+
replyThreadTs,
|
|
53534
|
+
replyToMode: ctx.replyToMode
|
|
53499
53535
|
});
|
|
53500
53536
|
replyPlan.markSent();
|
|
53501
53537
|
};
|
|
@@ -53556,7 +53592,7 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
53556
53592
|
token: ctx.botToken,
|
|
53557
53593
|
channel: draftChannelId,
|
|
53558
53594
|
ts: draftMessageId,
|
|
53559
|
-
text: finalText.trim()
|
|
53595
|
+
text: markdownToSlackMrkdwn(finalText.trim())
|
|
53560
53596
|
});
|
|
53561
53597
|
return;
|
|
53562
53598
|
} catch (err) {
|
|
@@ -53586,7 +53622,8 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
53586
53622
|
accountId: account.accountId,
|
|
53587
53623
|
runtime,
|
|
53588
53624
|
textLimit: ctx.textLimit,
|
|
53589
|
-
replyThreadTs
|
|
53625
|
+
replyThreadTs,
|
|
53626
|
+
replyToMode: ctx.replyToMode
|
|
53590
53627
|
});
|
|
53591
53628
|
replyPlan.markSent();
|
|
53592
53629
|
},
|
|
@@ -53595,7 +53632,8 @@ async function dispatchPreparedSlackMessage(prepared) {
|
|
|
53595
53632
|
typingCallbacks.onIdle?.();
|
|
53596
53633
|
},
|
|
53597
53634
|
onReplyStart: typingCallbacks.onReplyStart,
|
|
53598
|
-
onIdle: typingCallbacks.onIdle
|
|
53635
|
+
onIdle: typingCallbacks.onIdle,
|
|
53636
|
+
onCleanup: typingCallbacks.onCleanup
|
|
53599
53637
|
});
|
|
53600
53638
|
const draftStream = createSlackDraftStream({
|
|
53601
53639
|
target: prepared.replyTarget,
|
|
@@ -54236,10 +54274,13 @@ async function prepareSlackMessage(params) {
|
|
|
54236
54274
|
const mergedMedia = [...media ?? [], ...attachmentContent?.media ?? []];
|
|
54237
54275
|
const effectiveDirectMedia = mergedMedia.length > 0 ? mergedMedia : null;
|
|
54238
54276
|
const mediaPlaceholder = effectiveDirectMedia ? effectiveDirectMedia.map((m) => m.placeholder).join(" ") : void 0;
|
|
54277
|
+
const fileOnlyFallback = !mediaPlaceholder && (message.files?.length ?? 0) > 0 ? message.files.slice(0, 5).map((f) => f.name ?? "file").join(", ") : void 0;
|
|
54278
|
+
const fileOnlyPlaceholder = fileOnlyFallback ? `[Slack file: ${fileOnlyFallback}]` : void 0;
|
|
54239
54279
|
const rawBody = [
|
|
54240
54280
|
(message.text ?? "").trim(),
|
|
54241
54281
|
attachmentContent?.text,
|
|
54242
|
-
mediaPlaceholder
|
|
54282
|
+
mediaPlaceholder,
|
|
54283
|
+
fileOnlyPlaceholder
|
|
54243
54284
|
].filter(Boolean).join("\n") || "";
|
|
54244
54285
|
if (!rawBody) return null;
|
|
54245
54286
|
const ackReaction = resolveAckReaction(cfg, route.agentId, {
|
|
@@ -54414,7 +54455,7 @@ async function prepareSlackMessage(params) {
|
|
|
54414
54455
|
ReplyToId: threadContext.replyToId,
|
|
54415
54456
|
MessageThreadId: threadContext.messageThreadId,
|
|
54416
54457
|
ParentSessionKey: threadKeys.parentSessionKey,
|
|
54417
|
-
ThreadStarterBody: threadStarterBody,
|
|
54458
|
+
ThreadStarterBody: !threadSessionPreviousTimestamp ? threadStarterBody : void 0,
|
|
54418
54459
|
ThreadHistoryBody: threadHistoryBody,
|
|
54419
54460
|
IsFirstThreadTurn: isThreadReply && threadTs && !threadSessionPreviousTimestamp ? true : void 0,
|
|
54420
54461
|
ThreadLabel: threadLabel,
|
|
@@ -54438,7 +54479,8 @@ async function prepareSlackMessage(params) {
|
|
|
54438
54479
|
sessionKey: route.mainSessionKey,
|
|
54439
54480
|
channel: "slack",
|
|
54440
54481
|
to: `user:${message.user}`,
|
|
54441
|
-
accountId: route.accountId
|
|
54482
|
+
accountId: route.accountId,
|
|
54483
|
+
threadId: threadContext.messageThreadId
|
|
54442
54484
|
} : void 0,
|
|
54443
54485
|
onRecordError: (err) => {
|
|
54444
54486
|
ctx.logger.warn({
|
|
@@ -54565,7 +54607,7 @@ function buildSeenMessageKey(channelId, ts) {
|
|
|
54565
54607
|
return `${channelId}:${ts}`;
|
|
54566
54608
|
}
|
|
54567
54609
|
function createSlackMessageHandler(params) {
|
|
54568
|
-
const { ctx, account } = params;
|
|
54610
|
+
const { ctx, account, trackEvent } = params;
|
|
54569
54611
|
const debounceMs = resolveInboundDebounceMs({
|
|
54570
54612
|
cfg: ctx.cfg,
|
|
54571
54613
|
channel: "slack"
|
|
@@ -54655,6 +54697,7 @@ function createSlackMessageHandler(params) {
|
|
|
54655
54697
|
if (seenMessageKey && wasSeen) {
|
|
54656
54698
|
if (opts.source !== "app_mention" || !consumeAppMentionRetryKey(seenMessageKey)) return;
|
|
54657
54699
|
}
|
|
54700
|
+
trackEvent?.();
|
|
54658
54701
|
const resolvedMessage = await threadTsResolver.resolve({
|
|
54659
54702
|
message,
|
|
54660
54703
|
source: opts.source
|
|
@@ -55128,7 +55171,7 @@ async function registerSlackMonitorSlashCommands(params) {
|
|
|
55128
55171
|
});
|
|
55129
55172
|
const deliverSlashPayloads = async (replies) => {
|
|
55130
55173
|
const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
|
|
55131
|
-
import("./replies-
|
|
55174
|
+
import("./replies-9ipbTXMP.js").then((n) => n.r),
|
|
55132
55175
|
import("./chunk-D6AoZjLE.js").then((n) => n.s),
|
|
55133
55176
|
import("./markdown-tables-BU_73oGX.js").then((n) => n.t)
|
|
55134
55177
|
]);
|
|
@@ -55308,6 +55351,73 @@ const slackBoltModule = SlackBolt;
|
|
|
55308
55351
|
const { App, HTTPReceiver } = (slackBoltModule.App ? slackBoltModule : slackBoltModule.default) ?? slackBoltModule;
|
|
55309
55352
|
const SLACK_WEBHOOK_MAX_BODY_BYTES = 1024 * 1024;
|
|
55310
55353
|
const SLACK_WEBHOOK_BODY_TIMEOUT_MS = 3e4;
|
|
55354
|
+
const SLACK_SOCKET_RECONNECT_POLICY = {
|
|
55355
|
+
initialMs: 2e3,
|
|
55356
|
+
maxMs: 3e4,
|
|
55357
|
+
factor: 1.8,
|
|
55358
|
+
jitter: .25,
|
|
55359
|
+
maxAttempts: 12
|
|
55360
|
+
};
|
|
55361
|
+
function getSocketEmitter(app) {
|
|
55362
|
+
const receiver = app.receiver;
|
|
55363
|
+
const client = receiver && typeof receiver === "object" ? receiver.client : void 0;
|
|
55364
|
+
if (!client || typeof client !== "object") return null;
|
|
55365
|
+
const on = client.on;
|
|
55366
|
+
const off = client.off;
|
|
55367
|
+
if (typeof on !== "function" || typeof off !== "function") return null;
|
|
55368
|
+
return {
|
|
55369
|
+
on: (event, listener) => on.call(client, event, listener),
|
|
55370
|
+
off: (event, listener) => off.call(client, event, listener)
|
|
55371
|
+
};
|
|
55372
|
+
}
|
|
55373
|
+
function waitForSlackSocketDisconnect(app, abortSignal) {
|
|
55374
|
+
return new Promise((resolve) => {
|
|
55375
|
+
const emitter = getSocketEmitter(app);
|
|
55376
|
+
if (!emitter) {
|
|
55377
|
+
abortSignal?.addEventListener("abort", () => resolve({ event: "disconnect" }), { once: true });
|
|
55378
|
+
return;
|
|
55379
|
+
}
|
|
55380
|
+
const disconnectListener = () => resolveOnce({ event: "disconnect" });
|
|
55381
|
+
const startFailListener = () => resolveOnce({ event: "unable_to_socket_mode_start" });
|
|
55382
|
+
const errorListener = (error) => resolveOnce({
|
|
55383
|
+
event: "error",
|
|
55384
|
+
error
|
|
55385
|
+
});
|
|
55386
|
+
const abortListener = () => resolveOnce({ event: "disconnect" });
|
|
55387
|
+
const cleanup = () => {
|
|
55388
|
+
emitter.off("disconnected", disconnectListener);
|
|
55389
|
+
emitter.off("unable_to_socket_mode_start", startFailListener);
|
|
55390
|
+
emitter.off("error", errorListener);
|
|
55391
|
+
abortSignal?.removeEventListener("abort", abortListener);
|
|
55392
|
+
};
|
|
55393
|
+
const resolveOnce = (value) => {
|
|
55394
|
+
cleanup();
|
|
55395
|
+
resolve(value);
|
|
55396
|
+
};
|
|
55397
|
+
emitter.on("disconnected", disconnectListener);
|
|
55398
|
+
emitter.on("unable_to_socket_mode_start", startFailListener);
|
|
55399
|
+
emitter.on("error", errorListener);
|
|
55400
|
+
abortSignal?.addEventListener("abort", abortListener, { once: true });
|
|
55401
|
+
});
|
|
55402
|
+
}
|
|
55403
|
+
/**
|
|
55404
|
+
* Detect non-recoverable Slack API / auth errors that should NOT be retried.
|
|
55405
|
+
* These indicate permanent credential problems (revoked bot, deactivated account, etc.)
|
|
55406
|
+
* and retrying will never succeed — continuing to retry blocks the entire gateway.
|
|
55407
|
+
*/
|
|
55408
|
+
function isNonRecoverableSlackAuthError(error) {
|
|
55409
|
+
const msg = error instanceof Error ? error.message : typeof error === "string" ? error : "";
|
|
55410
|
+
return /account_inactive|invalid_auth|token_revoked|token_expired|not_authed|org_login_required|team_access_not_granted|missing_scope|cannot_find_service|invalid_token/i.test(msg);
|
|
55411
|
+
}
|
|
55412
|
+
function formatUnknownError(error) {
|
|
55413
|
+
if (error instanceof Error) return error.message;
|
|
55414
|
+
if (typeof error === "string") return error;
|
|
55415
|
+
try {
|
|
55416
|
+
return JSON.stringify(error);
|
|
55417
|
+
} catch {
|
|
55418
|
+
return "unknown error";
|
|
55419
|
+
}
|
|
55420
|
+
}
|
|
55311
55421
|
function parseApiAppIdFromAppToken(raw) {
|
|
55312
55422
|
const token = raw?.trim();
|
|
55313
55423
|
if (!token) return;
|
|
@@ -55431,13 +55541,21 @@ async function monitorSlackProvider(opts = {}) {
|
|
|
55431
55541
|
mediaMaxBytes,
|
|
55432
55542
|
removeAckAfterReply
|
|
55433
55543
|
});
|
|
55544
|
+
const trackEvent = opts.setStatus ? () => {
|
|
55545
|
+
opts.setStatus({
|
|
55546
|
+
lastEventAt: Date.now(),
|
|
55547
|
+
lastInboundAt: Date.now()
|
|
55548
|
+
});
|
|
55549
|
+
} : void 0;
|
|
55434
55550
|
registerSlackMonitorEvents({
|
|
55435
55551
|
ctx,
|
|
55436
55552
|
account,
|
|
55437
55553
|
handleSlackMessage: createSlackMessageHandler({
|
|
55438
55554
|
ctx,
|
|
55439
|
-
account
|
|
55440
|
-
|
|
55555
|
+
account,
|
|
55556
|
+
trackEvent
|
|
55557
|
+
}),
|
|
55558
|
+
trackEvent
|
|
55441
55559
|
});
|
|
55442
55560
|
await registerSlackMonitorSlashCommands({
|
|
55443
55561
|
ctx,
|
|
@@ -55526,13 +55644,52 @@ async function monitorSlackProvider(opts = {}) {
|
|
|
55526
55644
|
opts.abortSignal?.addEventListener("abort", stopOnAbort, { once: true });
|
|
55527
55645
|
try {
|
|
55528
55646
|
if (slackMode === "socket") {
|
|
55529
|
-
|
|
55530
|
-
|
|
55531
|
-
|
|
55532
|
-
|
|
55533
|
-
|
|
55534
|
-
|
|
55535
|
-
|
|
55647
|
+
let reconnectAttempts = 0;
|
|
55648
|
+
while (!opts.abortSignal?.aborted) {
|
|
55649
|
+
try {
|
|
55650
|
+
await app.start();
|
|
55651
|
+
reconnectAttempts = 0;
|
|
55652
|
+
runtime.log?.("slack socket mode connected");
|
|
55653
|
+
} catch (err) {
|
|
55654
|
+
if (isNonRecoverableSlackAuthError(err)) {
|
|
55655
|
+
runtime.error?.(`slack socket mode failed to start due to non-recoverable auth error — skipping channel (${formatUnknownError(err)})`);
|
|
55656
|
+
throw err;
|
|
55657
|
+
}
|
|
55658
|
+
reconnectAttempts += 1;
|
|
55659
|
+
if (SLACK_SOCKET_RECONNECT_POLICY.maxAttempts > 0 && reconnectAttempts >= SLACK_SOCKET_RECONNECT_POLICY.maxAttempts) throw err;
|
|
55660
|
+
const delayMs = computeBackoff(SLACK_SOCKET_RECONNECT_POLICY, reconnectAttempts);
|
|
55661
|
+
runtime.error?.(`slack socket mode failed to start. retry ${reconnectAttempts}/${SLACK_SOCKET_RECONNECT_POLICY.maxAttempts || "∞"} in ${Math.round(delayMs / 1e3)}s (${formatUnknownError(err)})`);
|
|
55662
|
+
try {
|
|
55663
|
+
await sleepWithAbort(delayMs, opts.abortSignal);
|
|
55664
|
+
} catch {
|
|
55665
|
+
break;
|
|
55666
|
+
}
|
|
55667
|
+
continue;
|
|
55668
|
+
}
|
|
55669
|
+
if (opts.abortSignal?.aborted) break;
|
|
55670
|
+
const disconnect = await waitForSlackSocketDisconnect(app, opts.abortSignal);
|
|
55671
|
+
if (opts.abortSignal?.aborted) break;
|
|
55672
|
+
if (disconnect.error && isNonRecoverableSlackAuthError(disconnect.error)) {
|
|
55673
|
+
runtime.error?.(`slack socket mode disconnected due to non-recoverable auth error — skipping channel (${formatUnknownError(disconnect.error)})`);
|
|
55674
|
+
throw disconnect.error instanceof Error ? disconnect.error : new Error(formatUnknownError(disconnect.error));
|
|
55675
|
+
}
|
|
55676
|
+
reconnectAttempts += 1;
|
|
55677
|
+
if (SLACK_SOCKET_RECONNECT_POLICY.maxAttempts > 0 && reconnectAttempts >= SLACK_SOCKET_RECONNECT_POLICY.maxAttempts) throw new Error(`Slack socket mode reconnect max attempts reached (${reconnectAttempts}/${SLACK_SOCKET_RECONNECT_POLICY.maxAttempts}) after ${disconnect.event}`);
|
|
55678
|
+
const delayMs = computeBackoff(SLACK_SOCKET_RECONNECT_POLICY, reconnectAttempts);
|
|
55679
|
+
runtime.error?.(`slack socket disconnected (${disconnect.event}). retry ${reconnectAttempts}/${SLACK_SOCKET_RECONNECT_POLICY.maxAttempts || "∞"} in ${Math.round(delayMs / 1e3)}s${disconnect.error ? ` (${formatUnknownError(disconnect.error)})` : ""}`);
|
|
55680
|
+
await app.stop().catch(() => void 0);
|
|
55681
|
+
try {
|
|
55682
|
+
await sleepWithAbort(delayMs, opts.abortSignal);
|
|
55683
|
+
} catch {
|
|
55684
|
+
break;
|
|
55685
|
+
}
|
|
55686
|
+
}
|
|
55687
|
+
} else {
|
|
55688
|
+
runtime.log?.(`slack http mode listening at ${slackWebhookPath}`);
|
|
55689
|
+
if (!opts.abortSignal?.aborted) await new Promise((resolve) => {
|
|
55690
|
+
opts.abortSignal?.addEventListener("abort", () => resolve(), { once: true });
|
|
55691
|
+
});
|
|
55692
|
+
}
|
|
55536
55693
|
} finally {
|
|
55537
55694
|
opts.abortSignal?.removeEventListener("abort", stopOnAbort);
|
|
55538
55695
|
unregisterHttpHandler?.();
|
|
@@ -59567,7 +59724,7 @@ function loadWebLoginQr() {
|
|
|
59567
59724
|
return webLoginQrPromise;
|
|
59568
59725
|
}
|
|
59569
59726
|
function loadWebChannel() {
|
|
59570
|
-
webChannelPromise ??= import("./web-
|
|
59727
|
+
webChannelPromise ??= import("./web-DShT68Ix.js");
|
|
59571
59728
|
return webChannelPromise;
|
|
59572
59729
|
}
|
|
59573
59730
|
function loadWhatsAppActions() {
|
|
@@ -3,27 +3,27 @@ import { B as theme, O as danger } from "./utils-BlC2Fskb.js";
|
|
|
3
3
|
import "./registry-lBbEkQ26.js";
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-Cu1fn6xi.js";
|
|
5
5
|
import "./exec-DwGfeG8v.js";
|
|
6
|
-
import "./agent-scope-
|
|
7
|
-
import { At as ensureAuthProfileStore, l as normalizeProviderId } from "./model-selection-
|
|
6
|
+
import "./agent-scope-B6jLdNuI.js";
|
|
7
|
+
import { At as ensureAuthProfileStore, l as normalizeProviderId } from "./model-selection-C1pdWy7b.js";
|
|
8
8
|
import "./github-copilot-token-D2zp6kMZ.js";
|
|
9
9
|
import "./boolean-BsqeuxE6.js";
|
|
10
10
|
import "./env-C9RBJHeg.js";
|
|
11
11
|
import "./message-channel-DzkrSzpL.js";
|
|
12
|
-
import "./config-
|
|
12
|
+
import "./config-JupjCURB.js";
|
|
13
13
|
import "./manifest-registry-YRUqEw3J.js";
|
|
14
|
-
import "./client-
|
|
15
|
-
import "./call-
|
|
16
|
-
import "./pairing-token-
|
|
14
|
+
import "./client-BW8Wuj5N.js";
|
|
15
|
+
import "./call-CYa4YbMh.js";
|
|
16
|
+
import "./pairing-token-DAVfcYo5.js";
|
|
17
17
|
import { t as formatDocsLink } from "./links-DHovuBDt.js";
|
|
18
18
|
import "./progress-9gCu2IkR.js";
|
|
19
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
19
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-CqPT9Cep.js";
|
|
20
20
|
import path from "node:path";
|
|
21
|
-
import
|
|
21
|
+
import fsPromises from "node:fs/promises";
|
|
22
22
|
|
|
23
23
|
//#region src/agents/pi-auth-json.ts
|
|
24
24
|
async function readAuthJson(filePath) {
|
|
25
25
|
try {
|
|
26
|
-
const raw = await
|
|
26
|
+
const raw = await fsPromises.readFile(filePath, "utf8");
|
|
27
27
|
const parsed = JSON.parse(raw);
|
|
28
28
|
if (!parsed || typeof parsed !== "object") return {};
|
|
29
29
|
return parsed;
|
|
@@ -115,11 +115,11 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
|
|
|
115
115
|
wrote: false,
|
|
116
116
|
authPath
|
|
117
117
|
};
|
|
118
|
-
await
|
|
118
|
+
await fsPromises.mkdir(agentDir, {
|
|
119
119
|
recursive: true,
|
|
120
120
|
mode: 448
|
|
121
121
|
});
|
|
122
|
-
await
|
|
122
|
+
await fsPromises.writeFile(authPath, `${JSON.stringify(existing, null, 2)}\n`, { mode: 384 });
|
|
123
123
|
return {
|
|
124
124
|
wrote: true,
|
|
125
125
|
authPath
|
|
@@ -3,7 +3,7 @@ import { n as runExec, t as runCommandWithTimeout } from "./exec-DwGfeG8v.js";
|
|
|
3
3
|
import { d as resolveGatewaySystemdServiceName, l as resolveGatewayProfileSuffix, u as resolveGatewayServiceDescription } from "./constants-CEbQvI8z.js";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import path from "node:path";
|
|
6
|
-
import
|
|
6
|
+
import fsPromises from "node:fs/promises";
|
|
7
7
|
import { execFile } from "node:child_process";
|
|
8
8
|
|
|
9
9
|
//#region src/daemon/exec-file.ts
|
|
@@ -289,7 +289,7 @@ function resolveSystemdUserUnitPath(env) {
|
|
|
289
289
|
async function readSystemdServiceExecStart(env) {
|
|
290
290
|
const unitPath = resolveSystemdUnitPath(env);
|
|
291
291
|
try {
|
|
292
|
-
const content = await
|
|
292
|
+
const content = await fsPromises.readFile(unitPath, "utf8");
|
|
293
293
|
let execStart = "";
|
|
294
294
|
let workingDirectory = "";
|
|
295
295
|
const environment = {};
|
|
@@ -360,7 +360,7 @@ async function assertSystemdAvailable() {
|
|
|
360
360
|
async function installSystemdService({ env, stdout, programArguments, workingDirectory, environment, description }) {
|
|
361
361
|
await assertSystemdAvailable();
|
|
362
362
|
const unitPath = resolveSystemdUnitPath(env);
|
|
363
|
-
await
|
|
363
|
+
await fsPromises.mkdir(path.dirname(unitPath), { recursive: true });
|
|
364
364
|
const unit = buildSystemdUnit({
|
|
365
365
|
description: resolveGatewayServiceDescription({
|
|
366
366
|
env,
|
|
@@ -371,7 +371,7 @@ async function installSystemdService({ env, stdout, programArguments, workingDir
|
|
|
371
371
|
workingDirectory,
|
|
372
372
|
environment
|
|
373
373
|
});
|
|
374
|
-
await
|
|
374
|
+
await fsPromises.writeFile(unitPath, unit, "utf8");
|
|
375
375
|
const unitName = `${resolveGatewaySystemdServiceName(env.OPENCLAW_PROFILE)}.service`;
|
|
376
376
|
const reload = await execSystemctl(["--user", "daemon-reload"]);
|
|
377
377
|
if (reload.code !== 0) throw new Error(`systemctl daemon-reload failed: ${reload.stderr || reload.stdout}`.trim());
|
|
@@ -403,7 +403,7 @@ async function uninstallSystemdService({ env, stdout }) {
|
|
|
403
403
|
]);
|
|
404
404
|
const unitPath = resolveSystemdUnitPath(env);
|
|
405
405
|
try {
|
|
406
|
-
await
|
|
406
|
+
await fsPromises.unlink(unitPath);
|
|
407
407
|
stdout.write(`${formatLine("Removed systemd service", unitPath)}\n`);
|
|
408
408
|
} catch {
|
|
409
409
|
stdout.write(`Systemd service not found at ${unitPath}\n`);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as formatCliCommand } from "./command-format-DEKzLnLg.js";
|
|
2
|
-
import { d as isVersionManagedNodePath, h as resolveSystemNodePath, l as getMinimalServicePathPartsFromEnv, u as isSystemNodePath } from "./daemon-runtime-
|
|
3
|
-
import { o as resolveSystemdUserUnitPath } from "./systemd-
|
|
4
|
-
import { c as resolveLaunchAgentPlistPath } from "./service-
|
|
2
|
+
import { d as isVersionManagedNodePath, h as resolveSystemNodePath, l as getMinimalServicePathPartsFromEnv, u as isSystemNodePath } from "./daemon-runtime-DWX-qIBl.js";
|
|
3
|
+
import { o as resolveSystemdUserUnitPath } from "./systemd-Blg-bgkO.js";
|
|
4
|
+
import { c as resolveLaunchAgentPlistPath } from "./service-Bs5m4_g0.js";
|
|
5
5
|
import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BHt4ST_m.js";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import
|
|
7
|
+
import fsPromises from "node:fs/promises";
|
|
8
8
|
|
|
9
9
|
//#region src/daemon/runtime-format.ts
|
|
10
10
|
function formatRuntimeStatus(runtime) {
|
|
@@ -85,7 +85,7 @@ async function auditSystemdUnit(env, issues) {
|
|
|
85
85
|
const unitPath = resolveSystemdUserUnitPath(env);
|
|
86
86
|
let content = "";
|
|
87
87
|
try {
|
|
88
|
-
content = await
|
|
88
|
+
content = await fsPromises.readFile(unitPath, "utf8");
|
|
89
89
|
} catch {
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
@@ -113,7 +113,7 @@ async function auditLaunchdPlist(env, issues) {
|
|
|
113
113
|
const plistPath = resolveLaunchAgentPlistPath(env);
|
|
114
114
|
let content = "";
|
|
115
115
|
try {
|
|
116
|
-
content = await
|
|
116
|
+
content = await fsPromises.readFile(plistPath, "utf8");
|
|
117
117
|
} catch {
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { t as note } from "./note-xON1rY4p.js";
|
|
3
|
-
import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-
|
|
3
|
+
import { d as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable, u as enableSystemdUserLinger } from "./systemd-Blg-bgkO.js";
|
|
4
4
|
|
|
5
5
|
//#region src/commands/systemd-linger.ts
|
|
6
6
|
var systemd_linger_exports = /* @__PURE__ */ __exportAll({
|