remoteclaw 0.1.0-next.722af12 → 0.1.0-next.772ee76
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-Aqbb2_Fn.js +270 -0
- package/dist/accounts-BfkQt03j.js +32 -0
- package/dist/accounts-CYi-JUU1.js +272 -0
- package/dist/accounts-CvHzFyp1.js +36 -0
- package/dist/accounts-D3fAPVzU.js +36 -0
- package/dist/accounts-DZmv4bXS.js +47 -0
- package/dist/accounts-yC-Ql9rZ.js +47 -0
- package/dist/ack-reactions-DBpvUuAU.js +446 -0
- package/dist/ack-reactions-Xf7YqXGQ.js +446 -0
- package/dist/acp-cli-BnQeadji.js +1324 -0
- package/dist/acp-cli-_cks_Lvs.js +1318 -0
- package/dist/active-listener-DKYgax8D.js +37 -0
- package/dist/active-listener-K-gHEsyV.js +37 -0
- package/dist/agent-BUTJmlyv.js +703 -0
- package/dist/agent-DNqcoXVy.js +704 -0
- package/dist/agents-DaQBsqD8.js +760 -0
- package/dist/agents.config-Dg9ZQl-w.js +116 -0
- package/dist/audio-BZvgJdlv.js +43 -0
- package/dist/audio-CgwsD4uc.js +43 -0
- package/dist/audio-preflight-C1_SFTZd.js +69 -0
- package/dist/audio-preflight-DwttDOap.js +64 -0
- package/dist/audit-7k3efXdf.js +3149 -0
- package/dist/audit-DQft5ak_.js +3149 -0
- package/dist/auth-BYtRHj--.js +448 -0
- package/dist/auth-Ba7IJY3s.js +184 -0
- package/dist/auth-CpwOkSrK.js +185 -0
- package/dist/auth-DQBj_DA7.js +448 -0
- package/dist/banner-DbrIx252.js +294 -0
- package/dist/binaries-DPlY0cvi.js +13 -0
- package/dist/bindings-Dr0bGRst.js +69 -0
- package/dist/bonjour-discovery-BKHQWWQn.js +378 -0
- package/dist/bonjour-discovery-D4g8uh38.js +378 -0
- package/dist/boot/handler.js +17 -17
- package/dist/browser-cli-BMGShNyH.js +1689 -0
- package/dist/browser-cli-COMCsEgy.js +1694 -0
- package/dist/build-info.json +3 -3
- package/dist/call-Dqo6kbkN.js +2827 -0
- package/dist/call-OUZMy2rk.js +2826 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/catalog-CMicVL2I.js +185 -0
- package/dist/catalog-CTjf0roq.js +185 -0
- package/dist/channel-account-context-5hI72gYX.js +550 -0
- package/dist/channel-account-context-rFlv9fcH.js +550 -0
- package/dist/channel-activity-BZtWpdKA.js +292 -0
- package/dist/channel-activity-C1EIGNu1.js +94 -0
- package/dist/channel-activity-CEM5YJQs.js +94 -0
- package/dist/channel-options-DE4P2woy.js +33 -0
- package/dist/channel-options-Ie3DCDrQ.js +32 -0
- package/dist/channel-selection-ByShtuhp.js +51 -0
- package/dist/channel-selection-DRNp47md.js +51 -0
- package/dist/channel-web-5FRuHn4d.js +2136 -0
- package/dist/channel-web-BueflR5e.js +2134 -0
- package/dist/channels-cli-CvDs2yEK.js +1428 -0
- package/dist/channels-cli-DmPcsU7z.js +1423 -0
- package/dist/channels-status-issues-C-aMtk-n.js +18 -0
- package/dist/channels-status-issues-Pz2omjVp.js +18 -0
- package/dist/chrome-CnQU46kX.js +1733 -0
- package/dist/chrome-DNikl4VQ.js +1732 -0
- package/dist/chunk-B7Qk7ACV.js +341 -0
- package/dist/chunk-C2vxqDKb.js +341 -0
- package/dist/clack-prompter-DxWF9EMV.js +122 -0
- package/dist/clack-prompter-UsUyNqRE.js +121 -0
- package/dist/cleanup-utils-yPa4b4YC.js +94 -0
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/cli-C8eYmCIb.js +132 -0
- package/dist/cli-C9T-Hsvx.js +127 -0
- package/dist/clipboard-DrMbwy6W.js +31 -0
- package/dist/clipboard-DuI4jJgy.js +31 -0
- package/dist/command-format-5Mm4OX03.js +32 -0
- package/dist/command-format-LFmgWzKJ.js +18 -0
- package/dist/command-logger/handler.js +1 -1
- package/dist/command-registry-BwIIDyM9.js +215 -0
- package/dist/commands-BSutwoQ9.js +41 -0
- package/dist/commands-CuX98AIv.js +41 -0
- package/dist/commands-registry-D8LoaUeU.js +892 -0
- package/dist/commands-registry-datKw4NJ.js +891 -0
- package/dist/common-0pVkAEMe.js +156 -0
- package/dist/common-nSRorWd3.js +156 -0
- package/dist/completion-cli-BHViTAvZ.js +452 -0
- package/dist/completion-cli-JCYIWiBn.js +452 -0
- package/dist/config-CSkWl_q0.js +4225 -0
- package/dist/config-Z5vhysno.js +4223 -0
- package/dist/config-cli-B3GQn0dg.js +248 -0
- package/dist/config-cli-Z4_pXK0D.js +243 -0
- package/dist/config-guard-D2pPfuWT.js +75 -0
- package/dist/config-guard-DSMdtqh5.js +99 -0
- package/dist/config-validation-B_f7GMXB.js +18 -0
- package/dist/config-validation-Bgrd2M7q.js +18 -0
- package/dist/configure-BiGavGZw.js +891 -0
- package/dist/configure-BpQay2h-.js +889 -0
- package/dist/control-auth-ByLWpGmj.js +397 -0
- package/dist/control-auth-CMgYC6bI.js +397 -0
- package/dist/control-ui/assets/index-BzHGXjac.js +7723 -0
- package/dist/control-ui/assets/index-BzHGXjac.js.map +1 -0
- package/dist/control-ui/assets/index-DdiU_ccM.css +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/control-ui-assets-Be7wYtPV.js +186 -0
- package/dist/control-ui-assets-x-FU54VZ.js +186 -0
- package/dist/conversation-label-CDH4rKMG.js +36 -0
- package/dist/conversation-label-tLwAlqLf.js +36 -0
- package/dist/cron-cli-CCD11ZIl.js +497 -0
- package/dist/cron-cli-UdG8AdsF.js +492 -0
- package/dist/daemon-cli-DylDBbK9.js +1199 -0
- package/dist/daemon-cli-KNMfdVj-.js +1197 -0
- package/dist/daemon-cli.js +2 -3
- package/dist/daemon-install-BTH9Hr-r.js +56 -0
- package/dist/daemon-install-CnUT0dtr.js +61 -0
- package/dist/daemon-install-helpers-C3AdCemv.js +463 -0
- package/dist/daemon-install-helpers-DsBl9bBo.js +463 -0
- package/dist/deliver-CiN6VwcX.js +481 -0
- package/dist/deliver-D07D18kt.js +481 -0
- package/dist/delivery-queue-1d--YXgK.js +244 -0
- package/dist/delivery-queue-CZOATijD.js +244 -0
- package/dist/devices-cli-DjA1_DgQ.js +323 -0
- package/dist/devices-cli-c9Wz_pzF.js +318 -0
- package/dist/diagnostics-Bwm27ePU.js +46 -0
- package/dist/diagnostics-CIPDL1bH.js +46 -0
- package/dist/directory-cli-CV8H71eb.js +224 -0
- package/dist/directory-cli-Ck10mXCz.js +219 -0
- package/dist/dm-policy-shared-CUJow99p.js +22 -0
- package/dist/dm-policy-shared-cQeANZBI.js +22 -0
- package/dist/dns-cli-CRoAvkaQ.js +199 -0
- package/dist/dns-cli-U8TKnutF.js +204 -0
- package/dist/dock-CVCmU_Yv.js +929 -0
- package/dist/dock-Cj4PKiUh.js +928 -0
- package/dist/doctor-completion-Bpp9gBJi.js +92 -0
- package/dist/doctor-completion-yfJrBIVF.js +92 -0
- package/dist/doctor-config-flow-B89ZE4Bk.js +1935 -0
- package/dist/doctor-config-flow-iPzjMVUg.js +1934 -0
- package/dist/enable-CqdyoDNA.js +59 -0
- package/dist/enable-DpHVKtoJ.js +59 -0
- package/dist/entry.js +1 -1
- package/dist/env-vars-CDr9IXFl.js +43 -0
- package/dist/env-vars-CLX_DBNR.js +43 -0
- package/dist/errors-24e316-U.js +35 -0
- package/dist/errors-CgC58q_F.js +35 -0
- package/dist/exec-D7Bp9Kzi.js +164 -0
- package/dist/exec-DLgyrvcf.js +164 -0
- package/dist/extensionAPI.js +193 -91
- package/dist/fetch-Cw0TofAa.js +67 -0
- package/dist/fetch-DNEsm4Ur.js +67 -0
- package/dist/fetch-Db2Lavvz.js +67 -0
- package/dist/file-lock-CkrYG1r7.js +107 -0
- package/dist/file-lock-DFd595E7.js +107 -0
- package/dist/fs-safe-DSwT85uK.js +88 -0
- package/dist/fs-safe-Du75CIw7.js +98 -0
- package/dist/gateway-cli-DE5YOatk.js +23734 -0
- package/dist/gateway-cli-P9PccS-C.js +23739 -0
- package/dist/gateway-rpc-C3ziRxqz.js +28 -0
- package/dist/gateway-rpc-DN_P6dMN.js +28 -0
- package/dist/gmail-setup-utils-CUTCdGWa.js +423 -0
- package/dist/gmail-setup-utils-uqZ7m5TH.js +422 -0
- package/dist/health-Bigc-DlL.js +1414 -0
- package/dist/health-lMb1rgKx.js +1417 -0
- package/dist/heartbeat-visibility-B3KOkNiP.js +125 -0
- package/dist/heartbeat-visibility-ClyiWzKK.js +125 -0
- package/dist/hook-runner-global-DVKhou29.js +527 -0
- package/dist/hooks-cli-DqGc5ERM.js +1219 -0
- package/dist/hooks-cli-pYx4L_XU.js +1224 -0
- package/dist/image-ops-Brp1SxLh.js +354 -0
- package/dist/image-ops-kUTMt_X-.js +354 -0
- package/dist/import-B3HW2PM4.js +603 -0
- package/dist/import-iYFXP-vR.js +601 -0
- package/dist/inbound-context-BtA228jl.js +68 -0
- package/dist/inbound-context-CXKhKQz4.js +68 -0
- package/dist/index.js +97 -96
- package/dist/inspect-BiW5KWS-.js +559 -0
- package/dist/inspect-DXr8ki5k.js +559 -0
- package/dist/installs-C83NIvWN.js +325 -0
- package/dist/installs-Cjh7Aon0.js +325 -0
- package/dist/ipv4-D1oXJaNu.js +46 -0
- package/dist/ipv4-D83xJ7X5.js +46 -0
- package/dist/ir-DSRvbFiq.js +940 -0
- package/dist/json-files-CjOU2Hds.js +46 -0
- package/dist/loader-B5ZvQIxI.js +22404 -0
- package/dist/loader-DKSRI5mU.js +22401 -0
- package/dist/local-roots-09zAPZxt.js +314 -0
- package/dist/local-roots-CJVCfYzc.js +313 -0
- package/dist/login-BASSFCd8.js +61 -0
- package/dist/login-Diwrffhg.js +62 -0
- package/dist/login-qr-D62uNqK8.js +324 -0
- package/dist/login-qr-DMz0a5fd.js +329 -0
- package/dist/logs-cli-B6CFt4LV.js +240 -0
- package/dist/logs-cli-DOfyh2Yi.js +235 -0
- package/dist/markdown-tables--ARiu9Y1.js +29 -0
- package/dist/markdown-tables-CMPFjRFj.js +29 -0
- package/dist/media-Bj6ej9bO.js +10452 -0
- package/dist/media-DyXncdbb.js +940 -0
- package/dist/message-action-names-Dq9sGFlO.js +2521 -0
- package/dist/message-action-names-DshuXyeK.js +2521 -0
- package/dist/net-B7tLlwbU.js +225 -0
- package/dist/net-DE2kzvsY.js +225 -0
- package/dist/nodes-cli-BOmTbFgD.js +1345 -0
- package/dist/nodes-cli-BQQnkyrb.js +1350 -0
- package/dist/nodes-screen-BbGQN2wt.js +250 -0
- package/dist/nodes-screen-id-Bb6Id.js +250 -0
- package/dist/note-BzfrQZI0.js +92 -0
- package/dist/note-xaYg6Lfa.js +92 -0
- package/dist/npm-registry-spec-V7j5Uas_.js +786 -0
- package/dist/npm-registry-spec-ja6-spul.js +786 -0
- package/dist/npm-resolution-BUIpIlY4.js +86 -0
- package/dist/npm-resolution-DFrt90Ne.js +86 -0
- package/dist/onboard-CbPZK2_I.js +436 -0
- package/dist/onboard-DVtx1dUT.js +438 -0
- package/dist/onboard-channels-C66jYtMX.js +2548 -0
- package/dist/onboard-channels-CXnPz4rV.js +2547 -0
- package/dist/onboard-helpers-BhG0nUZM.js +364 -0
- package/dist/onboard-helpers-DzoT97o-.js +363 -0
- package/dist/onboard-remote-BFU2wKgI.js +127 -0
- package/dist/onboard-remote-CuRRh-6W.js +127 -0
- package/dist/onboarding-CwnK_u2w.js +586 -0
- package/dist/onboarding-n0vTHwcF.js +588 -0
- package/dist/onboarding.finalize-DDjn3b1Y.js +400 -0
- package/dist/onboarding.finalize-F6KwZ9S6.js +403 -0
- package/dist/onboarding.gateway-config-BaVZugTI.js +193 -0
- package/dist/onboarding.gateway-config-DmgQVfLO.js +200 -0
- package/dist/outbound-6vgCW1Bp.js +220 -0
- package/dist/outbound-B34AeKpd.js +221 -0
- package/dist/outbound-attachment-9eMFwFrm.js +18 -0
- package/dist/outbound-attachment-CFL83u89.js +18 -0
- package/dist/outbound-attachment-e72S5Wk3.js +18 -0
- package/dist/pairing-cli-DDYb9ulI.js +129 -0
- package/dist/pairing-cli-KUiTqdZ_.js +124 -0
- package/dist/pairing-labels-B3ymC59s.js +9 -0
- package/dist/pairing-labels-_ahX1Iwx.js +9 -0
- package/dist/pairing-store-DAdsH-_X.js +459 -0
- package/dist/pairing-store-hEFX87_3.js +460 -0
- package/dist/path-env-DvGXF1PK.js +89 -0
- package/dist/path-env-nhpk9bHU.js +89 -0
- package/dist/path-safety-Bm08v8w8.js +14 -0
- package/dist/path-safety-CphcstYi.js +14 -0
- package/dist/plugin-auto-enable-B-ZbQJGk.js +301 -0
- package/dist/plugin-auto-enable-BlO7PQGZ.js +302 -0
- package/dist/plugin-registry-2JBeovBT.js +33 -0
- package/dist/plugin-registry-DrD7pjOy.js +33 -0
- package/dist/plugin-sdk/auth/constants.d.ts +0 -1
- package/dist/plugin-sdk/auth/env-injection.d.ts +0 -1
- package/dist/plugin-sdk/auth/oauth.d.ts +0 -1
- package/dist/plugin-sdk/auth/paths.d.ts +2 -3
- package/dist/plugin-sdk/auth/profiles.d.ts +0 -2
- package/dist/plugin-sdk/auth/provider-auth.d.ts +0 -2
- package/dist/plugin-sdk/auth/session-override.d.ts +0 -1
- package/dist/plugin-sdk/auth/store.d.ts +2 -5
- package/dist/plugin-sdk/auth/types.d.ts +13 -1
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.auth.d.ts +1 -2
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.persist.d.ts +0 -1
- package/dist/plugin-sdk/auto-reply/reply/get-reply-directives-apply.d.ts +0 -1
- package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +0 -1
- package/dist/plugin-sdk/index.js +19 -7
- package/dist/plugin-sdk/infra/agent-events.d.ts +1 -1
- package/dist/plugin-sdk/infra/provider-usage.auth.d.ts +0 -1
- package/dist/plugin-sdk/infra/provider-usage.load.d.ts +0 -1
- package/dist/plugin-sdk/middleware/auth-key-retry.d.ts +0 -1
- package/dist/plugin-sdk/middleware/runtimes/codex.d.ts +1 -0
- package/dist/plugin-sdk/middleware/runtimes/opencode.d.ts +1 -0
- package/dist/plugin-sdk/middleware/types.d.ts +9 -1
- package/dist/plugins-7B167wIj.js +453 -0
- package/dist/plugins-C3RTS5Jy.js +455 -0
- package/dist/plugins-cli-B_QtuLBM.js +795 -0
- package/dist/plugins-cli-C8lpOUix.js +800 -0
- package/dist/ports-B_lYgIyN.js +316 -0
- package/dist/ports-BrGekhfF.js +96 -0
- package/dist/ports-CU98RMVJ.js +96 -0
- package/dist/ports-C_5EshUM.js +370 -0
- package/dist/program-YACcDlqp.js +246 -0
- package/dist/program-context-jgKCZ8lg.js +474 -0
- package/dist/prompt-select-styled-QOQXFXjg.js +1650 -0
- package/dist/prompt-select-styled-s_wAgzE-.js +1647 -0
- package/dist/provider-dispatcher-C_GdPDyQ.js +660 -0
- package/dist/provider-dispatcher-D35oJwzv.js +659 -0
- package/dist/push-apns-EUvNahMw.js +713 -0
- package/dist/push-apns-xD9poCq1.js +711 -0
- package/dist/pw-ai-CQ_ErGyT.js +1908 -0
- package/dist/pw-ai-DmTYkP_M.js +1912 -0
- package/dist/qr-cli-CserVCUj.js +349 -0
- package/dist/qr-cli-dSY8Jcjr.js +354 -0
- package/dist/redact-snapshot-C4RWjjs9.js +2016 -0
- package/dist/redact-snapshot-aZAJCPqx.js +2016 -0
- package/dist/register.agent-DYWvLmxT.js +288 -0
- package/dist/register.agent-ynS2Sz0s.js +1017 -0
- package/dist/register.configure-BFxzOCjg.js +132 -0
- package/dist/register.configure-BavHMNuC.js +126 -0
- package/dist/register.import-CHY1Yjox.js +29 -0
- package/dist/register.import-XQ0kdycy.js +32 -0
- package/dist/register.maintenance-BwiBTyFB.js +499 -0
- package/dist/register.maintenance-DkCRWUcq.js +496 -0
- package/dist/register.message-8kPFNtCq.js +688 -0
- package/dist/register.message-C4-jvEZV.js +683 -0
- package/dist/register.onboard-C-3YkRfw.js +264 -0
- package/dist/register.onboard-DpdW78n5.js +259 -0
- package/dist/register.setup-C73pK_g1.js +111 -0
- package/dist/register.setup-DQSh8j-l.js +116 -0
- package/dist/register.status-health-sessions-Ba5uJWjX.js +425 -0
- package/dist/register.status-health-sessions-h2TlZjL1.js +666 -0
- package/dist/register.subclis-DvVfjjF_.js +267 -0
- package/dist/remoteclaw-root-CtzHY_u8.js +88 -0
- package/dist/replies-10JzBkPW.js +136 -0
- package/dist/replies-BQusKLeB.js +136 -0
- package/dist/reply-C9kkU8_l.js +13683 -0
- package/dist/reply-CpGLhdF0.js +13686 -0
- package/dist/reply-directives-8s8hoVAG.js +182 -0
- package/dist/reply-directives-CmPgo60i.js +182 -0
- package/dist/reply-payloads-NlHsO4JU.js +527 -0
- package/dist/reply-prefix-Bto_wLwa.js +37 -0
- package/dist/reply-prefix-Dej_5SDE.js +37 -0
- package/dist/resolve-route-CKycdke1.js +249 -0
- package/dist/resolve-route-DlJHHITX.js +249 -0
- package/dist/response-prefix-template-CBr9RICF.js +134 -0
- package/dist/retry-bFj4k6Ii.js +77 -0
- package/dist/run-main-DxFqfVNW.js +304 -0
- package/dist/runner-CBiNPi0D.js +2289 -0
- package/dist/runner-DFKlLh-o.js +2289 -0
- package/dist/secure-random-DSXV40IT.js +44 -0
- package/dist/security-cli-CYMdMsaI.js +486 -0
- package/dist/security-cli-SZoU0VXF.js +480 -0
- package/dist/send-2UWyzHA4.js +492 -0
- package/dist/send-BD7xe6fW.js +2245 -0
- package/dist/send-BPZSuv8R.js +547 -0
- package/dist/send-BdbDK7Gm.js +1776 -0
- package/dist/send-BvD5UDBM.js +1174 -0
- package/dist/send-C0a60RHn.js +349 -0
- package/dist/send-CVy5b1Z3.js +349 -0
- package/dist/send-D-CsVFaH.js +11 -0
- package/dist/send-D64qEY1N.js +1779 -0
- package/dist/send-DHQ_PjNs.js +492 -0
- package/dist/send-DIIprYhc.js +426 -0
- package/dist/send-DZR-_UV3.js +547 -0
- package/dist/send-De-1GOmB.js +374 -0
- package/dist/send-E3nqpgnh.js +29 -0
- package/dist/send-HOC4QVqi.js +332 -0
- package/dist/send-Tc6nYSJQ.js +2245 -0
- package/dist/server-B1KDlN4a.js +207 -0
- package/dist/server-BBFfC210.js +202 -0
- package/dist/server-lifecycle-C_kkMdO7.js +2437 -0
- package/dist/server-lifecycle-_gBPCxJ8.js +2437 -0
- package/dist/server-node-events-4n7tYdkn.js +396 -0
- package/dist/server-node-events-JvIJ3nfj.js +391 -0
- package/dist/service-DZNs7x-w.js +670 -0
- package/dist/service-r8kPiYnQ.js +670 -0
- package/dist/session-DkLYlMBm.js +170 -0
- package/dist/session-assFIC3H.js +170 -0
- package/dist/session-cost-usage-Dtm3t6lF.js +627 -0
- package/dist/session-cost-usage-bMbCS0Yv.js +627 -0
- package/dist/session-dirs-C81oNyFN.js +947 -0
- package/dist/session-dirs-D0KbSK3q.js +947 -0
- package/dist/session-utils-BVFN0nL4.js +622 -0
- package/dist/session-utils-ZhX2v-OC.js +622 -0
- package/dist/sessions-3glPunYr.js +2569 -0
- package/dist/sessions-CkGvMwES.js +247 -0
- package/dist/ssrf-DC0zFdz4.js +183 -0
- package/dist/ssrf-UNL0fUGf.js +183 -0
- package/dist/status-B6iDFme-.js +2061 -0
- package/dist/status-l9v8Yi1p.js +2065 -0
- package/dist/status.update-954Fhbjr.js +79 -0
- package/dist/status.update-B2umkV3j.js +79 -0
- package/dist/store-BSc6aGZT.js +2571 -0
- package/dist/store-BhG9XHsF.js +64 -0
- package/dist/store-CzdZLRld.js +64 -0
- package/dist/store-fA9MTRYo.js +53 -0
- package/dist/subagent-registry-C80j7tqi.js +4856 -0
- package/dist/subagent-registry-DuM_Lj5f.js +4854 -0
- package/dist/subsystem-rxNDBm7l.js +1079 -0
- package/dist/system-cli-ChDx6W4P.js +72 -0
- package/dist/system-cli-D8z0NQtf.js +77 -0
- package/dist/systemd-B_f-wDxc.js +547 -0
- package/dist/systemd-DXNd4qOC.js +547 -0
- package/dist/systemd-linger-1B4ULj46.js +75 -0
- package/dist/systemd-linger-BNoRZo8N.js +75 -0
- package/dist/tables-361UXJ4C.js +55 -0
- package/dist/tables-BzDIS4xA.js +55 -0
- package/dist/tables-DK0bS_Of.js +55 -0
- package/dist/tailnet-CB_Y1J-4.js +40 -0
- package/dist/tailnet-CIjiTkjf.js +40 -0
- package/dist/tailscale-CVH3JEAh.js +230 -0
- package/dist/tailscale-D9tfMGNs.js +230 -0
- package/dist/targets-B4rMyQFJ.js +53 -0
- package/dist/targets-B7z3A0S5.js +220 -0
- package/dist/targets-Bin6ZHVb.js +2448 -0
- package/dist/targets-BzeP3ZHj.js +650 -0
- package/dist/targets-J5bYXG0v.js +2447 -0
- package/dist/targets-rdWlC6Y-.js +53 -0
- package/dist/targets-vYAaa-34.js +650 -0
- package/dist/tool-display-DPxFoqpo.js +785 -0
- package/dist/tool-display-Kb0G4otf.js +785 -0
- package/dist/tool-images-CmLjncli.js +263 -0
- package/dist/tool-images-DFd3tVJP.js +263 -0
- package/dist/trash-B5GquK_R.js +125 -0
- package/dist/trash-CmkALnFO.js +125 -0
- package/dist/tui-BIcG2bzZ.js +3326 -0
- package/dist/tui-ZWHjBBfo.js +3326 -0
- package/dist/tui-cli-CKn0yqo-.js +65 -0
- package/dist/tui-cli-HnK7v6FE.js +60 -0
- package/dist/update-Bemi0zlX.js +349 -0
- package/dist/update-CHtOiEVf.js +349 -0
- package/dist/update-cli-BT7stkQu.js +1375 -0
- package/dist/update-cli-i8cmKHyi.js +1372 -0
- package/dist/usage-Ba5_uBiV.js +5337 -0
- package/dist/version-3QUZW8EP.js +52 -0
- package/dist/version-Ba6dSSl9.js +52 -0
- package/dist/web-BcN-MWqp.js +72 -0
- package/dist/web-DMxQ3pRf.js +3071 -0
- package/dist/web-gvjcblqU.js +78 -0
- package/dist/webhooks-cli-CyTfI18g.js +330 -0
- package/dist/webhooks-cli-DW8P9jL_.js +335 -0
- package/dist/whatsapp-actions-CANxWPbG.js +130 -0
- package/dist/whatsapp-actions-DX_8e1lY.js +124 -0
- package/dist/workspace-BxtrYz-g.js +449 -0
- package/dist/workspace-DkGLVfOl.js +10 -0
- package/dist/workspace-QdYobHCO.js +447 -0
- package/dist/wsl-Cs-gowFJ.js +52 -0
- package/dist/zod-schema-C1zZtGYm.js +2696 -0
- package/dist/zod-schema-CR7FaEW2.js +2696 -0
- package/package.json +1 -1
- package/dist/accounts-BkabkM0X.js +0 -47
- package/dist/accounts-Bpk-loA6.js +0 -47
- package/dist/accounts-C5LQ-tXl.js +0 -36
- package/dist/accounts-D-t1T7pr.js +0 -272
- package/dist/accounts-DAdUdbPk.js +0 -36
- package/dist/accounts-DcSTRvkH.js +0 -32
- package/dist/accounts-WYyfAiie.js +0 -270
- package/dist/ack-reactions-DGYS2wYh.js +0 -446
- package/dist/ack-reactions-qMMKi5xt.js +0 -446
- package/dist/acp-cli-DkXTlCpF.js +0 -1317
- package/dist/acp-cli-i6MRS98w.js +0 -1323
- package/dist/active-listener--FT8ewxl.js +0 -37
- package/dist/active-listener-C1StcdIA.js +0 -37
- package/dist/agent-CENyr4g1.js +0 -704
- package/dist/agent-DZ79qVKr.js +0 -703
- package/dist/agents-pV3RudMq.js +0 -788
- package/dist/agents.config-CWAUoPzG.js +0 -116
- package/dist/audio-B85HoT7E.js +0 -43
- package/dist/audio-BbCUzndz.js +0 -43
- package/dist/audio-preflight-DGSrf4v0.js +0 -69
- package/dist/audio-preflight-Dv76vFTu.js +0 -64
- package/dist/audit-BAbBf2MU.js +0 -3149
- package/dist/audit-BqTUztnV.js +0 -3149
- package/dist/auth-Bq44qPUd.js +0 -448
- package/dist/auth-C-ngm5L4.js +0 -281
- package/dist/auth-DTWpZJ1a.js +0 -279
- package/dist/auth-VItd2pwK.js +0 -448
- package/dist/banner-5KoFW5Km.js +0 -294
- package/dist/binaries-DbgLoSWv.js +0 -13
- package/dist/bindings-6KojDoIi.js +0 -69
- package/dist/bonjour-discovery-CQU4QbLK.js +0 -378
- package/dist/bonjour-discovery-D8aOnk3M.js +0 -378
- package/dist/browser-cli-Iw0FAGUO.js +0 -1693
- package/dist/browser-cli-u4nrjp1h.js +0 -1688
- package/dist/call-B51HiL7O.js +0 -2827
- package/dist/call-CMDcRlGW.js +0 -2826
- package/dist/catalog-BdX5CcoC.js +0 -185
- package/dist/catalog-p6W09S2j.js +0 -185
- package/dist/channel-account-context-DRehe95X.js +0 -550
- package/dist/channel-account-context-Las-t6RP.js +0 -550
- package/dist/channel-activity-BD603ehL.js +0 -94
- package/dist/channel-activity-CwiF_QMr.js +0 -94
- package/dist/channel-activity-hL4KZrCz.js +0 -292
- package/dist/channel-options-BHewJQYe.js +0 -33
- package/dist/channel-options-CodMqi4C.js +0 -32
- package/dist/channel-selection-BId0FXqt.js +0 -51
- package/dist/channel-selection-CHJ7TumC.js +0 -51
- package/dist/channel-web-CXoHr3ld.js +0 -2136
- package/dist/channel-web-DPzzwZo8.js +0 -2134
- package/dist/channels-cli-CuR-gN1G.js +0 -1427
- package/dist/channels-cli-DZgCguV4.js +0 -1422
- package/dist/channels-status-issues-By77REbh.js +0 -18
- package/dist/channels-status-issues-C25SRsGz.js +0 -18
- package/dist/chrome-Bk96v4eJ.js +0 -1733
- package/dist/chrome-BuAi16Rq.js +0 -1732
- package/dist/chunk-C1mQSjas.js +0 -341
- package/dist/chunk-D7VX4pmT.js +0 -341
- package/dist/clack-prompter-BX8SVxtP.js +0 -122
- package/dist/clack-prompter-D6HhVlZW.js +0 -121
- package/dist/cleanup-utils-BvDyT0-M.js +0 -94
- package/dist/cli-CoIE6Mqa.js +0 -131
- package/dist/cli-Ds-ldpBy.js +0 -126
- package/dist/clipboard-Cbj3McM_.js +0 -31
- package/dist/clipboard-Ne8gaWea.js +0 -31
- package/dist/command-format-D0vKipG9.js +0 -32
- package/dist/command-format-KkslAzwV.js +0 -18
- package/dist/command-registry-kWoQ6-J_.js +0 -215
- package/dist/commands-DBJJsu8W.js +0 -41
- package/dist/commands-DChC3pIF.js +0 -41
- package/dist/commands-registry-BN04GIlJ.js +0 -891
- package/dist/commands-registry-ChRbLV0I.js +0 -892
- package/dist/common-B6n8SjqZ.js +0 -156
- package/dist/common-De-Lakuh.js +0 -156
- package/dist/completion-cli-BDDCCpSe.js +0 -452
- package/dist/completion-cli-CsQX6TYt.js +0 -452
- package/dist/config-BBRA59UT.js +0 -4225
- package/dist/config-BupC6eiJ.js +0 -4223
- package/dist/config-cli-D8a5ogPW.js +0 -247
- package/dist/config-cli-DdbMJwik.js +0 -242
- package/dist/config-guard-D4ygs1s7.js +0 -98
- package/dist/config-guard-NQ7jaYM4.js +0 -75
- package/dist/config-validation-BLllMW0t.js +0 -18
- package/dist/config-validation-iiAYnIdF.js +0 -18
- package/dist/configure-C0s-qeFJ.js +0 -889
- package/dist/configure-Cmmy0UpT.js +0 -891
- package/dist/control-auth-BiiO-FNy.js +0 -397
- package/dist/control-auth-CuKqp-77.js +0 -397
- package/dist/control-ui/assets/index-CuY3pfh1.js +0 -7716
- package/dist/control-ui/assets/index-CuY3pfh1.js.map +0 -1
- package/dist/control-ui/assets/index-D_fjkN3g.css +0 -1
- package/dist/control-ui-assets-Bh0wqxOH.js +0 -186
- package/dist/control-ui-assets-eJU2-yvs.js +0 -186
- package/dist/conversation-label-Bn5j3lUT.js +0 -36
- package/dist/conversation-label-L0QTtKji.js +0 -36
- package/dist/cron-cli-BV1o0UgM.js +0 -491
- package/dist/cron-cli-OL81VlmP.js +0 -496
- package/dist/daemon-cli-CoNl2Ugf.js +0 -1197
- package/dist/daemon-cli-CpajOoVi.js +0 -1199
- package/dist/daemon-install-BkUJbdPC.js +0 -55
- package/dist/daemon-install-CwVXtc0X.js +0 -60
- package/dist/daemon-install-helpers-5_quP81k.js +0 -462
- package/dist/daemon-install-helpers-B9kMxC1v.js +0 -462
- package/dist/deliver-CrG_tbNn.js +0 -481
- package/dist/deliver-F9ed3dhp.js +0 -481
- package/dist/delivery-queue-B6TuHppj.js +0 -244
- package/dist/delivery-queue-BZc3AiGu.js +0 -244
- package/dist/devices-cli-DlG9ehK0.js +0 -317
- package/dist/devices-cli-Dn33JIqf.js +0 -322
- package/dist/diagnostics-BsiilkkO.js +0 -46
- package/dist/diagnostics-G-C-IuxO.js +0 -46
- package/dist/directory-cli-CY6tHRIZ.js +0 -218
- package/dist/directory-cli-Cji1lhNS.js +0 -223
- package/dist/dm-policy-shared-CT3er5HI.js +0 -22
- package/dist/dm-policy-shared-QYqvapU8.js +0 -22
- package/dist/dns-cli-Bu9Fc6_a.js +0 -203
- package/dist/dns-cli-DQdnNJh4.js +0 -198
- package/dist/dock-BeF65Hmr.js +0 -929
- package/dist/dock-D5pZ3a44.js +0 -928
- package/dist/doctor-completion-DEKuPwgH.js +0 -92
- package/dist/doctor-completion-DPx-uUrJ.js +0 -92
- package/dist/doctor-config-flow-CzyUju-m.js +0 -1935
- package/dist/doctor-config-flow-DYhXUwEq.js +0 -1934
- package/dist/enable-B5dIjgnm.js +0 -59
- package/dist/enable-FmiEY4ng.js +0 -59
- package/dist/env-vars-C8WMB8Ix.js +0 -93
- package/dist/env-vars-CLGbxdpL.js +0 -93
- package/dist/errors-CdmXrBic.js +0 -35
- package/dist/errors-DdLfwEVi.js +0 -35
- package/dist/exec-BhkXWg7V.js +0 -164
- package/dist/exec-ClUTXFZ9.js +0 -164
- package/dist/fetch-CCuD0LYV.js +0 -67
- package/dist/fetch-Dj4aeJML.js +0 -67
- package/dist/fetch-JBWLkOpL.js +0 -67
- package/dist/file-lock-BuzXamo1.js +0 -107
- package/dist/file-lock-Ks-RPU6W.js +0 -107
- package/dist/fs-safe-ACrBwOF5.js +0 -88
- package/dist/fs-safe-Y-tyQMJB.js +0 -98
- package/dist/gateway-cli-CoWJMNv4.js +0 -23730
- package/dist/gateway-cli-N3vHO1DM.js +0 -23725
- package/dist/gateway-rpc-DEZHTglV.js +0 -28
- package/dist/gateway-rpc-PNA_wUoe.js +0 -28
- package/dist/gmail-setup-utils-DNZEf6T0.js +0 -422
- package/dist/gmail-setup-utils-KPAKWwGy.js +0 -423
- package/dist/health-DTaud0IS.js +0 -1417
- package/dist/health-VZtF-Ox0.js +0 -1414
- package/dist/heartbeat-visibility-89s5Rike.js +0 -125
- package/dist/heartbeat-visibility-BSQtpyWS.js +0 -125
- package/dist/hook-runner-global-Vj-YQxeR.js +0 -527
- package/dist/hooks-cli-CMavKBvu.js +0 -1218
- package/dist/hooks-cli-YqwAlK-Q.js +0 -1223
- package/dist/image-ops-DHbVr9PU.js +0 -354
- package/dist/image-ops-DpkTOzhI.js +0 -354
- package/dist/import-CPlJRngZ.js +0 -444
- package/dist/import-CTLowr_u.js +0 -442
- package/dist/inbound-context-CmmmT8IP.js +0 -68
- package/dist/inbound-context-oxIWzEgc.js +0 -68
- package/dist/inspect-BJLEg6RJ.js +0 -559
- package/dist/inspect-rHjRqr3W.js +0 -559
- package/dist/installs-Cvo5ajnM.js +0 -325
- package/dist/installs-QUjSL2ZA.js +0 -325
- package/dist/ipv4-DdcyK1aU.js +0 -46
- package/dist/ipv4-OHvujh00.js +0 -46
- package/dist/ir-DS7iWIHi.js +0 -940
- package/dist/json-files-CkhErdoA.js +0 -46
- package/dist/loader-Cb18epVE.js +0 -22401
- package/dist/loader-DqBcXrWN.js +0 -22404
- package/dist/local-roots-B0QcJDJI.js +0 -313
- package/dist/local-roots-BfXsZRkm.js +0 -314
- package/dist/login-C8jHYLxN.js +0 -61
- package/dist/login-CVIZjsFY.js +0 -62
- package/dist/login-qr-C0Gd6ybl.js +0 -323
- package/dist/login-qr-CnJe9LZU.js +0 -328
- package/dist/logs-cli-CFOVARdJ.js +0 -234
- package/dist/logs-cli-D4hvt_8o.js +0 -239
- package/dist/markdown-tables-ChBqQA_Q.js +0 -29
- package/dist/markdown-tables-DULvUkM_.js +0 -29
- package/dist/media-DYopaoc0.js +0 -940
- package/dist/media-L175yfhd.js +0 -10453
- package/dist/message-action-names-D76af2tq.js +0 -2521
- package/dist/message-action-names-USukk5pl.js +0 -2521
- package/dist/net-COL170MG.js +0 -225
- package/dist/net-QZ8IHNXc.js +0 -225
- package/dist/nodes-cli-B8iTBsI6.js +0 -1344
- package/dist/nodes-cli-CEWGFvEk.js +0 -1349
- package/dist/nodes-screen-B5o3OXwB.js +0 -250
- package/dist/nodes-screen-C_K1vcS5.js +0 -250
- package/dist/note-BVerR3D5.js +0 -92
- package/dist/note-Dk8-EaJg.js +0 -92
- package/dist/npm-registry-spec-BIaBzcnz.js +0 -786
- package/dist/npm-registry-spec-Dma0KHft.js +0 -786
- package/dist/npm-resolution-BX6lzYHv.js +0 -86
- package/dist/npm-resolution-CIE7Vbc6.js +0 -86
- package/dist/onboard-Bxisga2b.js +0 -436
- package/dist/onboard-CY4kc34z.js +0 -438
- package/dist/onboard-channels-hCqESbsQ.js +0 -2547
- package/dist/onboard-channels-oTEbnM0_.js +0 -2548
- package/dist/onboard-helpers-IOGR3fBv.js +0 -364
- package/dist/onboard-helpers-eTUU00t8.js +0 -363
- package/dist/onboard-remote-DoRR0GKa.js +0 -127
- package/dist/onboard-remote-TPbiye5m.js +0 -127
- package/dist/onboarding-C-uEnWOl.js +0 -586
- package/dist/onboarding-CfgOkrN4.js +0 -588
- package/dist/onboarding.finalize-Bkk7MYo7.js +0 -402
- package/dist/onboarding.finalize-C1WFJHuM.js +0 -399
- package/dist/onboarding.gateway-config-C_eqpJ7D.js +0 -192
- package/dist/onboarding.gateway-config-pp2jl3rY.js +0 -199
- package/dist/outbound-Be4BgVqF.js +0 -220
- package/dist/outbound-DFJqRIKF.js +0 -221
- package/dist/outbound-attachment-DNCMF74c.js +0 -18
- package/dist/outbound-attachment-DTSao0Vz.js +0 -18
- package/dist/outbound-attachment-DYQcLUqr.js +0 -18
- package/dist/pairing-cli-CMkSYGT6.js +0 -128
- package/dist/pairing-cli-D83T3PG9.js +0 -123
- package/dist/pairing-labels-BR73SRvA.js +0 -9
- package/dist/pairing-labels-CI5j-OUT.js +0 -9
- package/dist/pairing-store-BOSTh9nN.js +0 -460
- package/dist/pairing-store-DnTHRcnO.js +0 -459
- package/dist/path-env-D7VB7sOO.js +0 -89
- package/dist/path-env-DFiYvvI-.js +0 -89
- package/dist/path-safety-BshBsw4P.js +0 -14
- package/dist/path-safety-CZbhQciI.js +0 -14
- package/dist/plugin-auto-enable-CFRs-pcA.js +0 -301
- package/dist/plugin-auto-enable-LEZdcRKt.js +0 -302
- package/dist/plugin-registry-B5xAbzdB.js +0 -33
- package/dist/plugin-registry-CVDPKjMk.js +0 -33
- package/dist/plugin-sdk/agents/agent-paths.d.ts +0 -1
- package/dist/plugins-B4waLB_f.js +0 -453
- package/dist/plugins-CZJOs2pd.js +0 -455
- package/dist/plugins-cli-BCqlZNJy.js +0 -794
- package/dist/plugins-cli-DjZC4Kmj.js +0 -799
- package/dist/ports-BcTKFlWl.js +0 -96
- package/dist/ports-CaGp8lDZ.js +0 -96
- package/dist/ports-DAc2AlZE.js +0 -316
- package/dist/ports-DIqzPRpi.js +0 -370
- package/dist/program-DcN-PUqP.js +0 -245
- package/dist/program-context-BPQbo33I.js +0 -474
- package/dist/prompt-select-styled-JIrHaXa2.js +0 -1647
- package/dist/prompt-select-styled-jJC99Zq0.js +0 -1650
- package/dist/provider-dispatcher-BXFMhOFh.js +0 -659
- package/dist/provider-dispatcher-DPXX5gyy.js +0 -660
- package/dist/push-apns-CW__TPm5.js +0 -713
- package/dist/push-apns-Dj5RApCY.js +0 -711
- package/dist/pw-ai-Byz6civI.js +0 -1911
- package/dist/pw-ai-oqtYDmjQ.js +0 -1907
- package/dist/qr-cli-D2jZPdW9.js +0 -348
- package/dist/qr-cli-hMfYOAWf.js +0 -353
- package/dist/redact-snapshot-B-2V56Yb.js +0 -2016
- package/dist/redact-snapshot-CD36XSYE.js +0 -2016
- package/dist/register.agent-HOhMGAl5.js +0 -1044
- package/dist/register.agent-nQObkK2n.js +0 -287
- package/dist/register.configure-BQ2leWqK.js +0 -125
- package/dist/register.configure-BfdWzK_f.js +0 -131
- package/dist/register.import-CJyu1rx5.js +0 -28
- package/dist/register.import-Cq-fmSQN.js +0 -31
- package/dist/register.maintenance-Gg7Xndd6.js +0 -495
- package/dist/register.maintenance-uvEH1LQV.js +0 -498
- package/dist/register.message-BEZUFE8E.js +0 -682
- package/dist/register.message-C41IEdxe.js +0 -687
- package/dist/register.onboard-Dg2M1c1w.js +0 -263
- package/dist/register.onboard-UYlOOwDp.js +0 -258
- package/dist/register.setup-C2C_XqkU.js +0 -110
- package/dist/register.setup-DBhMwIXa.js +0 -115
- package/dist/register.status-health-sessions-612lMmGA.js +0 -424
- package/dist/register.status-health-sessions-CbtJWtGD.js +0 -665
- package/dist/register.subclis-dJoWFFtK.js +0 -267
- package/dist/remoteclaw-root-BopSBCT3.js +0 -88
- package/dist/replies-CNtS4wu4.js +0 -136
- package/dist/replies-CSzm5168.js +0 -136
- package/dist/reply-6vhjlU4D.js +0 -13692
- package/dist/reply-DxflnBBy.js +0 -13695
- package/dist/reply-directives-D91fapDF.js +0 -182
- package/dist/reply-directives-DG3HE2HN.js +0 -182
- package/dist/reply-payloads-CFw531eb.js +0 -527
- package/dist/reply-prefix-Bv8Mv9q8.js +0 -37
- package/dist/reply-prefix-Rk_UEaJa.js +0 -37
- package/dist/resolve-route-BPa6q23t.js +0 -249
- package/dist/resolve-route-CN9BEALz.js +0 -249
- package/dist/response-prefix-template-Dckjdftg.js +0 -134
- package/dist/retry-BMUvSHT-.js +0 -77
- package/dist/run-main-BLeiM0rv.js +0 -303
- package/dist/runner-CVMXkHe9.js +0 -2295
- package/dist/runner-uwgjV6r5.js +0 -2295
- package/dist/secure-random-CBlWgO-5.js +0 -44
- package/dist/security-cli-BQzdzJUp.js +0 -479
- package/dist/security-cli-CCvV0Rw7.js +0 -485
- package/dist/send-B6IB6ELR.js +0 -547
- package/dist/send-BWB0TxvB.js +0 -426
- package/dist/send-BXJuVr5J.js +0 -29
- package/dist/send-Bi1xNBTN.js +0 -349
- package/dist/send-C5EDjThR.js +0 -492
- package/dist/send-C9PzwXAV.js +0 -547
- package/dist/send-CBM54hgN.js +0 -349
- package/dist/send-CMtsqmY7.js +0 -332
- package/dist/send-CUwifJ3V.js +0 -374
- package/dist/send-CzYm7ULP.js +0 -2245
- package/dist/send-DEKX6f92.js +0 -492
- package/dist/send-GD78A8Fm.js +0 -11
- package/dist/send-eiZqUN_5.js +0 -1174
- package/dist/send-my9F-WT6.js +0 -1779
- package/dist/send-rW25uKNz.js +0 -1776
- package/dist/send-wDmHyc3u.js +0 -2245
- package/dist/server-BhmYVCED.js +0 -201
- package/dist/server-COmybiWq.js +0 -206
- package/dist/server-lifecycle-BeZsBQwF.js +0 -2437
- package/dist/server-lifecycle-t2kzxlx7.js +0 -2437
- package/dist/server-node-events-A1yXRXIj.js +0 -395
- package/dist/server-node-events-BEJHu7sl.js +0 -390
- package/dist/service-BDt-zUvV.js +0 -670
- package/dist/service-BzCfcfNj.js +0 -670
- package/dist/session-B9KGKVrY.js +0 -170
- package/dist/session-DRl0cKBS.js +0 -170
- package/dist/session-cost-usage-BYCI739a.js +0 -627
- package/dist/session-cost-usage-DGsPcuMj.js +0 -627
- package/dist/session-dirs-BspVJuXd.js +0 -947
- package/dist/session-dirs-DwDxjK1p.js +0 -947
- package/dist/session-utils-BRCq7Nai.js +0 -622
- package/dist/session-utils-CxxOeC1M.js +0 -622
- package/dist/sessions-Bwu0l_CG.js +0 -2569
- package/dist/sessions-CiuFFCnt.js +0 -247
- package/dist/ssrf-B-rF_tZB.js +0 -183
- package/dist/ssrf-D6fl_7ww.js +0 -183
- package/dist/status-BArpZV4Y.js +0 -2065
- package/dist/status-BW2bK-QZ.js +0 -2061
- package/dist/status.update-DMG02-iv.js +0 -79
- package/dist/status.update-wXyvcztI.js +0 -79
- package/dist/store-BSuIwLVL.js +0 -2571
- package/dist/store-BYhcsOLr.js +0 -64
- package/dist/store-Coo1is3r.js +0 -64
- package/dist/store-D-rjGKud.js +0 -53
- package/dist/subagent-registry-CtvrRlgt.js +0 -4856
- package/dist/subagent-registry-HjR1tO3-.js +0 -4854
- package/dist/subsystem-SgROXN1v.js +0 -1079
- package/dist/system-cli-CMGUPqmd.js +0 -76
- package/dist/system-cli-DtrDDmCt.js +0 -71
- package/dist/systemd-B99YibXM.js +0 -547
- package/dist/systemd-BlbIQ1PV.js +0 -547
- package/dist/systemd-linger-ZOKL02x8.js +0 -75
- package/dist/systemd-linger-qlGGW2JB.js +0 -75
- package/dist/tables-BTd07meI.js +0 -55
- package/dist/tables-DAuk-Y6F.js +0 -55
- package/dist/tables-DzASJ8DJ.js +0 -55
- package/dist/tailnet-BoTa0e2q.js +0 -40
- package/dist/tailnet-Cy0Q27lj.js +0 -40
- package/dist/tailscale-CiWkh0vS.js +0 -230
- package/dist/tailscale-Driw3j8E.js +0 -230
- package/dist/targets-0ENGxD8s.js +0 -650
- package/dist/targets-B6X-iyxO.js +0 -220
- package/dist/targets-Baj375nv.js +0 -2352
- package/dist/targets-CsrqF2M4.js +0 -650
- package/dist/targets-D3iGWhmq.js +0 -2351
- package/dist/targets-DKriCISG.js +0 -53
- package/dist/targets-DhhaK2xG.js +0 -53
- package/dist/tool-display-AxpSXZVq.js +0 -785
- package/dist/tool-display-D6GD-41Y.js +0 -785
- package/dist/tool-images-B-NEGQ5p.js +0 -263
- package/dist/tool-images-IVIZ29ID.js +0 -263
- package/dist/trash-24OGKfRv.js +0 -125
- package/dist/trash-ivbG2QWV.js +0 -125
- package/dist/tui-CcbYhAMk.js +0 -3319
- package/dist/tui-Dj3XrTCV.js +0 -3319
- package/dist/tui-cli-CyC7azRK.js +0 -64
- package/dist/tui-cli-KKmqnNs2.js +0 -59
- package/dist/update-DQVUlAlo.js +0 -349
- package/dist/update-DruVguh4.js +0 -349
- package/dist/update-cli-BFTGorse.js +0 -1374
- package/dist/update-cli-CNTCra64.js +0 -1371
- package/dist/usage-B5OPaBts.js +0 -5330
- package/dist/web-Bs6kfi2W.js +0 -77
- package/dist/web-DVep-Ikj.js +0 -3071
- package/dist/web-msJpLx55.js +0 -71
- package/dist/webhooks-cli-BBy44m3M.js +0 -334
- package/dist/webhooks-cli-DFqGwW1f.js +0 -329
- package/dist/whatsapp-actions-BPRND9mZ.js +0 -129
- package/dist/whatsapp-actions-BXIe-Uei.js +0 -123
- package/dist/workspace-B0KsL1bM.js +0 -10
- package/dist/workspace-BJNKF0yW.js +0 -449
- package/dist/workspace-zLfKNRwR.js +0 -447
- package/dist/wsl-CV6k7efG.js +0 -52
- package/dist/zod-schema-B9RGngMW.js +0 -2696
- package/dist/zod-schema-D3hQ5SKe.js +0 -2696
- /package/dist/{account-lookup-BOCzCnir.js → account-lookup-C0ndrpt-.js} +0 -0
- /package/dist/{account-lookup-DGscKBsr.js → account-lookup-R1ParPyR.js} +0 -0
- /package/dist/{agent-helpers-CK3Obbsi.js → agent-helpers-Bzz_tiPK.js} +0 -0
- /package/dist/{agent-helpers-KHUla1K7.js → agent-helpers-D7NhvM9Z.js} +0 -0
- /package/dist/{agent-scope-DxqtYjuJ.js → agent-scope-CJW7vnF8.js} +0 -0
- /package/dist/{agents.config-Ck45E_ce.js → agents.config-THRuzfs5.js} +0 -0
- /package/dist/{api-BDff51CS.js → api-DSIfHPts.js} +0 -0
- /package/dist/{api-qWSMsT8m.js → api-DTwcrkBE.js} +0 -0
- /package/dist/{argv-neJY_Hxm.js → argv-DW4MYBdJ.js} +0 -0
- /package/dist/{bindings-B6icMMUx.js → bindings-Cr-mXPiq.js} +0 -0
- /package/dist/{brew-CMSQ5Fek.js → brew-CBsS-Vq1.js} +0 -0
- /package/dist/{brew-ByYl36Mt.js → brew-DJvEvRfG.js} +0 -0
- /package/dist/{chat-envelope-BEDutlnF.js → chat-envelope-CQkxqiAp.js} +0 -0
- /package/dist/{chat-envelope-vJJUdDE7.js → chat-envelope-CY1yvCc-.js} +0 -0
- /package/dist/{chat-type-BKe459rw.js → chat-type-BPBtOjer.js} +0 -0
- /package/dist/{chat-type-DyovJwCt.js → chat-type-CH3W-zKy.js} +0 -0
- /package/dist/{cleanup-utils-S_P5Jebv.js → cleanup-utils-zWAqOnW8.js} +0 -0
- /package/dist/{cli-name-CRLBidNP.js → cli-name-3MdfbvIR.js} +0 -0
- /package/dist/{cli-name-Yv30OygA.js → cli-name-CpSGz3mA.js} +0 -0
- /package/dist/{cli-utils-C5nQDfa6.js → cli-utils-DLQmX9d8.js} +0 -0
- /package/dist/{cli-utils-KcEwAsuZ.js → cli-utils-DVWIt9Ob.js} +0 -0
- /package/dist/{client-C7B0uFB0.js → client-D5m46AuY.js} +0 -0
- /package/dist/{client-Cd2HNUX0.js → client-Fi2k2G9Z.js} +0 -0
- /package/dist/{command-options-1bi44p_B.js → command-options-Eo_ESfC0.js} +0 -0
- /package/dist/{command-options-7y5Zrv4M.js → command-options-criepGrH.js} +0 -0
- /package/dist/{config-eval-CJtk3Msr.js → config-eval-DbGlbDlp.js} +0 -0
- /package/dist/{config-eval-DQIwdWg7.js → config-eval-Yxi-wJPE.js} +0 -0
- /package/dist/{constants--3PuQVaS.js → constants-BlFnttWm.js} +0 -0
- /package/dist/{constants-BbAEYzFC.js → constants-DNKY4Ei3.js} +0 -0
- /package/dist/{constants-tLOgmZZ1.js → constants-QiF_zDC2.js} +0 -0
- /package/dist/{constants-DNWjlxZ5.js → constants-wpkIJk8U.js} +0 -0
- /package/dist/{credentials-BhnauW0K.js → credentials-Bqu9Xdfz.js} +0 -0
- /package/dist/{credentials-eZcqWNG_.js → credentials-DQ28n4lc.js} +0 -0
- /package/dist/{daemon-runtime-99xh1fGv.js → daemon-runtime-CMnbwryP.js} +0 -0
- /package/dist/{daemon-runtime-BOcdJaFy.js → daemon-runtime-aQhinwSL.js} +0 -0
- /package/dist/{dangerous-name-matching-YeatnYIA.js → dangerous-name-matching-B4MRPcn-.js} +0 -0
- /package/dist/{dangerous-name-matching-oVb1EqYT.js → dangerous-name-matching-UV0YfXlV.js} +0 -0
- /package/dist/{dangerous-tools-BMt8-6jE.js → dangerous-tools-BU0t3SUd.js} +0 -0
- /package/dist/{dangerous-tools-CripTfYv.js → dangerous-tools-Ce1dELvv.js} +0 -0
- /package/dist/{fetch-timeout-Db3da8yR.js → fetch-timeout-DoySHqfO.js} +0 -0
- /package/dist/{fetch-timeout-l_6RdoMw.js → fetch-timeout-jOIu9Xud.js} +0 -0
- /package/dist/{file-identity-Bs9zZOi2.js → file-identity-BxlKD8Ys.js} +0 -0
- /package/dist/{format-duration-Bo-Mxi3E.js → format-duration-DQ1Dl3YB.js} +0 -0
- /package/dist/{format-duration-CfrJ5T8k.js → format-duration-Oj8pTbYL.js} +0 -0
- /package/dist/{format-relative-8cNYQsqb.js → format-relative-8dpVUfzZ.js} +0 -0
- /package/dist/{format-relative-CZOlQ2pA.js → format-relative-Cywx6ldk.js} +0 -0
- /package/dist/{health-format-DOhfU1rY.js → health-format-DsqB_lOC.js} +0 -0
- /package/dist/{health-format-WMRp1BbP.js → health-format-FHquW42d.js} +0 -0
- /package/dist/{heartbeat-wake-BtRrOB-t.js → heartbeat-wake-AkM9ZRL2.js} +0 -0
- /package/dist/{heartbeat-wake-eRINROYK.js → heartbeat-wake-Y97geucO.js} +0 -0
- /package/dist/{help-format-BEb0SPHF.js → help-format-Ca9FzlcN.js} +0 -0
- /package/dist/{help-format-Ch0EWh7N.js → help-format-D-X9bY8s.js} +0 -0
- /package/dist/{helpers-BJtPtu_2.js → helpers-703bXVlF.js} +0 -0
- /package/dist/{helpers-B4NWktS8.js → helpers-BPOeGmd1.js} +0 -0
- /package/dist/{helpers-Cj6f8SPZ.js → helpers-CpIyUra4.js} +0 -0
- /package/dist/{helpers-ryxLx-aM.js → helpers-D1ViXWK0.js} +0 -0
- /package/dist/{inbound-path-policy-BdmTOUka.js → inbound-path-policy-BurOAu44.js} +0 -0
- /package/dist/{inbound-path-policy-DYTLjca8.js → inbound-path-policy-Bv1SSBX0.js} +0 -0
- /package/dist/{input-provenance-CPhdY-0F.js → input-provenance-BgfeDgck.js} +0 -0
- /package/dist/{input-provenance-DUNEQoFM.js → input-provenance-duDehu0D.js} +0 -0
- /package/dist/{ip-BAhS4rY2.js → ip-kVgrMfw-.js} +0 -0
- /package/dist/{ip-BcdPcLiP.js → ip-o-YLqTzQ.js} +0 -0
- /package/dist/{is-main-KcWqINzy.js → is-main-BE1Jih91.js} +0 -0
- /package/dist/{json-file-BVvmrQG3.js → json-file-DNead8D_.js} +0 -0
- /package/dist/{json-file-Dbg7nZg1.js → json-file-DY96R8LK.js} +0 -0
- /package/dist/{json-files-BiA_B-xm.js → json-files-DW71C3QC.js} +0 -0
- /package/dist/{lanes-Brd-nf-Z.js → lanes-3Hy9dOzA.js} +0 -0
- /package/dist/{lanes-COs3zODW.js → lanes-BmSbfjW9.js} +0 -0
- /package/dist/{links-CIHbVNO_.js → links-CPYVK7l1.js} +0 -0
- /package/dist/{links-gse8sWn-.js → links-NSE5DGnq.js} +0 -0
- /package/dist/{location-D1FM_C63.js → location-BUhzov-a.js} +0 -0
- /package/dist/{location-LuzkqHGi.js → location-C8XO7UyG.js} +0 -0
- /package/dist/{logger-BtwpYD7c.js → logger-ANaZk_PW.js} +0 -0
- /package/dist/{logger-BMP_j_Lx.js → logger-DWcHNtdK.js} +0 -0
- /package/dist/{logger-DWbwXLjl.js → logger-DsFoLpk4.js} +0 -0
- /package/dist/{logger-DXCDb7qu.js → logger-n5cQNuVr.js} +0 -0
- /package/dist/{logging-CAgCb3n3.js → logging-BEw3xi9W.js} +0 -0
- /package/dist/{logging-CLc3Umm0.js → logging-DEDs-xX7.js} +0 -0
- /package/dist/{message-channel-D72Bc6Tb.js → message-channel-BHrK-j5D.js} +0 -0
- /package/dist/{mime-Cqg1jjia.js → mime-C4zhIbPz.js} +0 -0
- /package/dist/{mime-D4bQLMJL.js → mime-Cxh_64P6.js} +0 -0
- /package/dist/{mutable-allowlist-detectors-NtI6s4TE.js → mutable-allowlist-detectors-DbdlW-cX.js} +0 -0
- /package/dist/{mutable-allowlist-detectors-nAmo9v5u.js → mutable-allowlist-detectors-U5ThQr9V.js} +0 -0
- /package/dist/{node-cli-bNJbha3z.js → node-cli-BJEaXcTB.js} +0 -0
- /package/dist/{node-cli-CW8jOcHO.js → node-cli-BcYDUwDf.js} +0 -0
- /package/dist/{onboard-config-CcPV3Cqz.js → onboard-config-BeFaSbOY.js} +0 -0
- /package/dist/{onboard-config-DcTaxmuf.js → onboard-config-x054Cod3.js} +0 -0
- /package/dist/{parse-log-line-BY9Vz72K.js → parse-log-line-DTl9swsB.js} +0 -0
- /package/dist/{parse-log-line-BrrE4onI.js → parse-log-line-LEXRMnqc.js} +0 -0
- /package/dist/{parse-timeout-CDkco8kd.js → parse-timeout-C7ggYYiO.js} +0 -0
- /package/dist/{parse-timeout-Dfyln-4M.js → parse-timeout-o1QTe1VR.js} +0 -0
- /package/dist/{path-guards-D9LU0y9L.js → path-guards-CIx4hURU.js} +0 -0
- /package/dist/{path-guards-crZaTVvq.js → path-guards-lL3tZoxY.js} +0 -0
- /package/dist/{plugins-allowlist-CD4oIJNk.js → plugins-allowlist-Cf3EjAjw.js} +0 -0
- /package/dist/{plugins-allowlist-CUhk3GDh.js → plugins-allowlist-Dml1TRY5.js} +0 -0
- /package/dist/{polls-ChvH1OIW.js → polls-CwwHzYBM.js} +0 -0
- /package/dist/{polls-Dn1C2d1-.js → polls-DdY_LCOM.js} +0 -0
- /package/dist/{ports-lsof-BDQWExpn.js → ports-lsof-Dv4WDRbi.js} +0 -0
- /package/dist/{process-scoped-map-BwUkYFQV.js → process-scoped-map-C7KeadUK.js} +0 -0
- /package/dist/{process-scoped-map-CBWcUvTa.js → process-scoped-map-CuVgan0a.js} +0 -0
- /package/dist/{program-context-DtsEOsdM.js → program-context-Bqg7MHJh.js} +0 -0
- /package/dist/{progress-BjGCAXH7.js → progress-DSHP8RB4.js} +0 -0
- /package/dist/{progress-DQ1drugY.js → progress-gsZJl831.js} +0 -0
- /package/dist/{prompt-FIISMuNm.js → prompt-B2SgjtOJ.js} +0 -0
- /package/dist/{prompt-edYTUtju.js → prompt-BXeXEH0o.js} +0 -0
- /package/dist/{prompt-style-CYEpbwXH.js → prompt-style-BzXtlA1Y.js} +0 -0
- /package/dist/{prompt-style-DL64_X-p.js → prompt-style-D-ViRLW_.js} +0 -0
- /package/dist/{proxy-DUTF0OYE.js → proxy-BUoQO1tr.js} +0 -0
- /package/dist/{proxy-Dv0sbx6A.js → proxy-dRhp8Ykw.js} +0 -0
- /package/dist/{pw-ai-state-DKhOTqDv.js → pw-ai-state-Cg1RrEiW.js} +0 -0
- /package/dist/{pw-ai-state-kkp06zyZ.js → pw-ai-state-DidjiYBK.js} +0 -0
- /package/dist/{redact-BTeK8lMZ.js → redact-BlqmrEU3.js} +0 -0
- /package/dist/{redact-gXuh8MFk.js → redact-Cj9LoKIG.js} +0 -0
- /package/dist/{redact-identifier-F6t5pklx.js → redact-identifier-BTIWtaa-.js} +0 -0
- /package/dist/{redact-identifier-VdOrq-IK.js → redact-identifier-HyK89Sod.js} +0 -0
- /package/dist/{remoteclaw-root-rJHOCwzo.js → remoteclaw-root-bO85B6Kq.js} +0 -0
- /package/dist/{render-e7fENCYH.js → render-DrBfVs0u.js} +0 -0
- /package/dist/{render-qcqmrHse.js → render-uf6PvGMV.js} +0 -0
- /package/dist/{response-prefix-template-D-ptXREi.js → response-prefix-template-SN9HSK00.js} +0 -0
- /package/dist/{retry-BcZuGfnV.js → retry-B19gMxS7.js} +0 -0
- /package/dist/{retry-CwZiwLDN.js → retry-CByUYDAZ.js} +0 -0
- /package/dist/{runtime-guard-CXt4yzo-.js → runtime-guard-BMa-MbRw.js} +0 -0
- /package/dist/{runtime-guard-CdJVmJc0.js → runtime-guard-D-cp6ZAE.js} +0 -0
- /package/dist/{secret-equal-CDUVxXmp.js → secret-equal-CF39pFqv.js} +0 -0
- /package/dist/{secret-equal-d3sEnK98.js → secret-equal-D7A3Bol7.js} +0 -0
- /package/dist/{secure-random-CJtykx_p.js → secure-random-BOP0UuZY.js} +0 -0
- /package/dist/{secure-random-y6N6Gted.js → secure-random-_dzDDlFo.js} +0 -0
- /package/dist/{stagger-B-_Wnofy.js → stagger-CjeisVRF.js} +0 -0
- /package/dist/{stagger-CjkdqPuN.js → stagger-Cu9_3JD_.js} +0 -0
- /package/dist/{status-BFmH9Uge.js → status-DaSGMHlt.js} +0 -0
- /package/dist/{status-BIupzBh9.js → status-bTdQW3Mt.js} +0 -0
- /package/dist/{strip-inbound-meta-BNXRYvmY.js → strip-inbound-meta-0cvL6itU.js} +0 -0
- /package/dist/{strip-inbound-meta-BtNFmc6V.js → strip-inbound-meta-DuDjnGjC.js} +0 -0
- /package/dist/{table-V_9n7CjP.js → table-CU9MUMy2.js} +0 -0
- /package/dist/{table-Au5EeKD6.js → table-iXOQchYB.js} +0 -0
- /package/dist/{target-errors-B6YON-5k.js → target-errors-ChjvOMuV.js} +0 -0
- /package/dist/{target-errors-sPHoHj73.js → target-errors-DdIAPcMM.js} +0 -0
- /package/dist/{targets-Ds5eT_RZ.js → targets-B_d_1z3N.js} +0 -0
- /package/dist/{targets-DDdPVd12.js → targets-CE4AYRI9.js} +0 -0
- /package/dist/{targets-DtvPW-B8.js → targets-WSwPflb6.js} +0 -0
- /package/dist/{text-format-CFm4X8Ze.js → text-format-BQ3z_OXA.js} +0 -0
- /package/dist/{text-format-KHU3KzvQ.js → text-format-CahQpVRb.js} +0 -0
- /package/dist/{thinking-XA5P_zFw.js → thinking-dksVQLY3.js} +0 -0
- /package/dist/{tokens-7ZtWRjA3.js → tokens-DAFBx5qr.js} +0 -0
- /package/dist/{tokens-BGw4xHhW.js → tokens-gcZ7MOvD.js} +0 -0
- /package/dist/{usage-BEjWlD9A.js → usage-C1lHaofV.js} +0 -0
- /package/dist/{usage-o8O_TxA-.js → usage-CRJFqYf8.js} +0 -0
- /package/dist/{usage-format-Cx3JveFn.js → usage-format-Bs8DkQtr.js} +0 -0
- /package/dist/{usage-format-D-ZaYT_e.js → usage-format-CRVpDVj1.js} +0 -0
- /package/dist/{widearea-dns-DUDYT3z2.js → widearea-dns-C5Fr8Rr1.js} +0 -0
- /package/dist/{widearea-dns-fHQt5-Q3.js → widearea-dns-fETWNpyh.js} +0 -0
- /package/dist/{workspace-9__vtmnA.js → workspace-BIiYRjA3.js} +0 -0
- /package/dist/{wsl-BLrG__iS.js → wsl-mFuShVrc.js} +0 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { Kt as resolveOAuthDir, Z as jidToE164, _ as defaultRuntime, ft as info, rt as resolveUserPath, wt as getChildLogger, yt as success } from "./entry.js";
|
|
2
|
+
import { h as normalizeAccountId, m as DEFAULT_ACCOUNT_ID } from "./session-key-BF-9YzxC.js";
|
|
3
|
+
import { t as resolveAccountEntry } from "./account-lookup-C0ndrpt-.js";
|
|
4
|
+
import { t as formatCliCommand } from "./command-format-LFmgWzKJ.js";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import fs from "node:fs";
|
|
7
|
+
import fsp from "node:fs/promises";
|
|
8
|
+
|
|
9
|
+
//#region src/channels/plugins/account-helpers.ts
|
|
10
|
+
function createAccountListHelpers(channelKey) {
|
|
11
|
+
function listConfiguredAccountIds(cfg) {
|
|
12
|
+
const accounts = (cfg.channels?.[channelKey])?.accounts;
|
|
13
|
+
if (!accounts || typeof accounts !== "object") return [];
|
|
14
|
+
return Object.keys(accounts).filter(Boolean);
|
|
15
|
+
}
|
|
16
|
+
function listAccountIds(cfg) {
|
|
17
|
+
const ids = listConfiguredAccountIds(cfg);
|
|
18
|
+
if (ids.length === 0) return [DEFAULT_ACCOUNT_ID];
|
|
19
|
+
return ids.toSorted((a, b) => a.localeCompare(b));
|
|
20
|
+
}
|
|
21
|
+
function resolveDefaultAccountId(cfg) {
|
|
22
|
+
const ids = listAccountIds(cfg);
|
|
23
|
+
if (ids.includes(DEFAULT_ACCOUNT_ID)) return DEFAULT_ACCOUNT_ID;
|
|
24
|
+
return ids[0] ?? DEFAULT_ACCOUNT_ID;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
listConfiguredAccountIds,
|
|
28
|
+
listAccountIds,
|
|
29
|
+
resolveDefaultAccountId
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/web/auth-store.ts
|
|
35
|
+
function resolveDefaultWebAuthDir() {
|
|
36
|
+
return path.join(resolveOAuthDir(), "whatsapp", DEFAULT_ACCOUNT_ID);
|
|
37
|
+
}
|
|
38
|
+
const WA_WEB_AUTH_DIR = resolveDefaultWebAuthDir();
|
|
39
|
+
function resolveWebCredsPath(authDir) {
|
|
40
|
+
return path.join(authDir, "creds.json");
|
|
41
|
+
}
|
|
42
|
+
function resolveWebCredsBackupPath(authDir) {
|
|
43
|
+
return path.join(authDir, "creds.json.bak");
|
|
44
|
+
}
|
|
45
|
+
function hasWebCredsSync(authDir) {
|
|
46
|
+
try {
|
|
47
|
+
const stats = fs.statSync(resolveWebCredsPath(authDir));
|
|
48
|
+
return stats.isFile() && stats.size > 1;
|
|
49
|
+
} catch {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function readCredsJsonRaw(filePath) {
|
|
54
|
+
try {
|
|
55
|
+
if (!fs.existsSync(filePath)) return null;
|
|
56
|
+
const stats = fs.statSync(filePath);
|
|
57
|
+
if (!stats.isFile() || stats.size <= 1) return null;
|
|
58
|
+
return fs.readFileSync(filePath, "utf-8");
|
|
59
|
+
} catch {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function maybeRestoreCredsFromBackup(authDir) {
|
|
64
|
+
const logger = getChildLogger({ module: "web-session" });
|
|
65
|
+
try {
|
|
66
|
+
const credsPath = resolveWebCredsPath(authDir);
|
|
67
|
+
const backupPath = resolveWebCredsBackupPath(authDir);
|
|
68
|
+
const raw = readCredsJsonRaw(credsPath);
|
|
69
|
+
if (raw) {
|
|
70
|
+
JSON.parse(raw);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const backupRaw = readCredsJsonRaw(backupPath);
|
|
74
|
+
if (!backupRaw) return;
|
|
75
|
+
JSON.parse(backupRaw);
|
|
76
|
+
fs.copyFileSync(backupPath, credsPath);
|
|
77
|
+
try {
|
|
78
|
+
fs.chmodSync(credsPath, 384);
|
|
79
|
+
} catch {}
|
|
80
|
+
logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
|
|
81
|
+
} catch {}
|
|
82
|
+
}
|
|
83
|
+
async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
|
|
84
|
+
const resolvedAuthDir = resolveUserPath(authDir);
|
|
85
|
+
maybeRestoreCredsFromBackup(resolvedAuthDir);
|
|
86
|
+
const credsPath = resolveWebCredsPath(resolvedAuthDir);
|
|
87
|
+
try {
|
|
88
|
+
await fsp.access(resolvedAuthDir);
|
|
89
|
+
} catch {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
const stats = await fsp.stat(credsPath);
|
|
94
|
+
if (!stats.isFile() || stats.size <= 1) return false;
|
|
95
|
+
const raw = await fsp.readFile(credsPath, "utf-8");
|
|
96
|
+
JSON.parse(raw);
|
|
97
|
+
return true;
|
|
98
|
+
} catch {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async function clearLegacyBaileysAuthState(authDir) {
|
|
103
|
+
const entries = await fsp.readdir(authDir, { withFileTypes: true });
|
|
104
|
+
const shouldDelete = (name) => {
|
|
105
|
+
if (name === "oauth.json") return false;
|
|
106
|
+
if (name === "creds.json" || name === "creds.json.bak") return true;
|
|
107
|
+
if (!name.endsWith(".json")) return false;
|
|
108
|
+
return /^(app-state-sync|session|sender-key|pre-key)-/.test(name);
|
|
109
|
+
};
|
|
110
|
+
await Promise.all(entries.map(async (entry) => {
|
|
111
|
+
if (!entry.isFile()) return;
|
|
112
|
+
if (!shouldDelete(entry.name)) return;
|
|
113
|
+
await fsp.rm(path.join(authDir, entry.name), { force: true });
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
async function logoutWeb(params) {
|
|
117
|
+
const runtime = params.runtime ?? defaultRuntime;
|
|
118
|
+
const resolvedAuthDir = resolveUserPath(params.authDir ?? resolveDefaultWebAuthDir());
|
|
119
|
+
if (!await webAuthExists(resolvedAuthDir)) {
|
|
120
|
+
runtime.log(info("No WhatsApp Web session found; nothing to delete."));
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
if (params.isLegacyAuthDir) await clearLegacyBaileysAuthState(resolvedAuthDir);
|
|
124
|
+
else await fsp.rm(resolvedAuthDir, {
|
|
125
|
+
recursive: true,
|
|
126
|
+
force: true
|
|
127
|
+
});
|
|
128
|
+
runtime.log(success("Cleared WhatsApp Web credentials."));
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
132
|
+
try {
|
|
133
|
+
const credsPath = resolveWebCredsPath(resolveUserPath(authDir));
|
|
134
|
+
if (!fs.existsSync(credsPath)) return {
|
|
135
|
+
e164: null,
|
|
136
|
+
jid: null
|
|
137
|
+
};
|
|
138
|
+
const raw = fs.readFileSync(credsPath, "utf-8");
|
|
139
|
+
const jid = JSON.parse(raw)?.me?.id ?? null;
|
|
140
|
+
return {
|
|
141
|
+
e164: jid ? jidToE164(jid, { authDir }) : null,
|
|
142
|
+
jid
|
|
143
|
+
};
|
|
144
|
+
} catch {
|
|
145
|
+
return {
|
|
146
|
+
e164: null,
|
|
147
|
+
jid: null
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Return the age (in milliseconds) of the cached WhatsApp web auth state, or null when missing.
|
|
153
|
+
* Helpful for heartbeats/observability to spot stale credentials.
|
|
154
|
+
*/
|
|
155
|
+
function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
|
|
156
|
+
try {
|
|
157
|
+
const stats = fs.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
|
|
158
|
+
return Date.now() - stats.mtimeMs;
|
|
159
|
+
} catch {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function logWebSelfId(authDir = resolveDefaultWebAuthDir(), runtime = defaultRuntime, includeChannelPrefix = false) {
|
|
164
|
+
const { e164, jid } = readWebSelfId(authDir);
|
|
165
|
+
const details = e164 || jid ? `${e164 ?? "unknown"}${jid ? ` (jid ${jid})` : ""}` : "unknown";
|
|
166
|
+
const prefix = includeChannelPrefix ? "Web Channel: " : "";
|
|
167
|
+
runtime.log(info(`${prefix}${details}`));
|
|
168
|
+
}
|
|
169
|
+
async function pickWebChannel(pref, authDir = resolveDefaultWebAuthDir()) {
|
|
170
|
+
const choice = pref === "auto" ? "web" : pref;
|
|
171
|
+
if (!await webAuthExists(authDir)) throw new Error(`No WhatsApp Web session found. Run \`${formatCliCommand("remoteclaw channels login --channel whatsapp --verbose")}\` to link.`);
|
|
172
|
+
return choice;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
//#endregion
|
|
176
|
+
//#region src/web/accounts.ts
|
|
177
|
+
const { listConfiguredAccountIds, listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("whatsapp");
|
|
178
|
+
const listWhatsAppAccountIds = listAccountIds;
|
|
179
|
+
const resolveDefaultWhatsAppAccountId = resolveDefaultAccountId;
|
|
180
|
+
function listWhatsAppAuthDirs(cfg) {
|
|
181
|
+
const oauthDir = resolveOAuthDir();
|
|
182
|
+
const whatsappDir = path.join(oauthDir, "whatsapp");
|
|
183
|
+
const authDirs = new Set([oauthDir, path.join(whatsappDir, DEFAULT_ACCOUNT_ID)]);
|
|
184
|
+
const accountIds = listConfiguredAccountIds(cfg);
|
|
185
|
+
for (const accountId of accountIds) authDirs.add(resolveWhatsAppAuthDir({
|
|
186
|
+
cfg,
|
|
187
|
+
accountId
|
|
188
|
+
}).authDir);
|
|
189
|
+
try {
|
|
190
|
+
const entries = fs.readdirSync(whatsappDir, { withFileTypes: true });
|
|
191
|
+
for (const entry of entries) {
|
|
192
|
+
if (!entry.isDirectory()) continue;
|
|
193
|
+
authDirs.add(path.join(whatsappDir, entry.name));
|
|
194
|
+
}
|
|
195
|
+
} catch {}
|
|
196
|
+
return Array.from(authDirs);
|
|
197
|
+
}
|
|
198
|
+
function hasAnyWhatsAppAuth(cfg) {
|
|
199
|
+
return listWhatsAppAuthDirs(cfg).some((authDir) => hasWebCredsSync(authDir));
|
|
200
|
+
}
|
|
201
|
+
function resolveAccountConfig(cfg, accountId) {
|
|
202
|
+
return resolveAccountEntry(cfg.channels?.whatsapp?.accounts, accountId);
|
|
203
|
+
}
|
|
204
|
+
function resolveDefaultAuthDir(accountId) {
|
|
205
|
+
return path.join(resolveOAuthDir(), "whatsapp", normalizeAccountId(accountId));
|
|
206
|
+
}
|
|
207
|
+
function resolveLegacyAuthDir() {
|
|
208
|
+
return resolveOAuthDir();
|
|
209
|
+
}
|
|
210
|
+
function legacyAuthExists(authDir) {
|
|
211
|
+
try {
|
|
212
|
+
return fs.existsSync(path.join(authDir, "creds.json"));
|
|
213
|
+
} catch {
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
function resolveWhatsAppAuthDir(params) {
|
|
218
|
+
const accountId = params.accountId.trim() || DEFAULT_ACCOUNT_ID;
|
|
219
|
+
const configured = resolveAccountConfig(params.cfg, accountId)?.authDir?.trim();
|
|
220
|
+
if (configured) return {
|
|
221
|
+
authDir: resolveUserPath(configured),
|
|
222
|
+
isLegacy: false
|
|
223
|
+
};
|
|
224
|
+
const defaultDir = resolveDefaultAuthDir(accountId);
|
|
225
|
+
if (accountId === DEFAULT_ACCOUNT_ID) {
|
|
226
|
+
const legacyDir = resolveLegacyAuthDir();
|
|
227
|
+
if (legacyAuthExists(legacyDir) && !legacyAuthExists(defaultDir)) return {
|
|
228
|
+
authDir: legacyDir,
|
|
229
|
+
isLegacy: true
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
return {
|
|
233
|
+
authDir: defaultDir,
|
|
234
|
+
isLegacy: false
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
function resolveWhatsAppAccount(params) {
|
|
238
|
+
const rootCfg = params.cfg.channels?.whatsapp;
|
|
239
|
+
const accountId = params.accountId?.trim() || resolveDefaultWhatsAppAccountId(params.cfg);
|
|
240
|
+
const accountCfg = resolveAccountConfig(params.cfg, accountId);
|
|
241
|
+
const enabled = accountCfg?.enabled !== false;
|
|
242
|
+
const { authDir, isLegacy } = resolveWhatsAppAuthDir({
|
|
243
|
+
cfg: params.cfg,
|
|
244
|
+
accountId
|
|
245
|
+
});
|
|
246
|
+
return {
|
|
247
|
+
accountId,
|
|
248
|
+
name: accountCfg?.name?.trim() || void 0,
|
|
249
|
+
enabled,
|
|
250
|
+
sendReadReceipts: accountCfg?.sendReadReceipts ?? rootCfg?.sendReadReceipts ?? true,
|
|
251
|
+
messagePrefix: accountCfg?.messagePrefix ?? rootCfg?.messagePrefix ?? params.cfg.messages?.messagePrefix,
|
|
252
|
+
authDir,
|
|
253
|
+
isLegacyAuthDir: isLegacy,
|
|
254
|
+
selfChatMode: accountCfg?.selfChatMode ?? rootCfg?.selfChatMode,
|
|
255
|
+
dmPolicy: accountCfg?.dmPolicy ?? rootCfg?.dmPolicy,
|
|
256
|
+
allowFrom: accountCfg?.allowFrom ?? rootCfg?.allowFrom,
|
|
257
|
+
groupAllowFrom: accountCfg?.groupAllowFrom ?? rootCfg?.groupAllowFrom,
|
|
258
|
+
groupPolicy: accountCfg?.groupPolicy ?? rootCfg?.groupPolicy,
|
|
259
|
+
textChunkLimit: accountCfg?.textChunkLimit ?? rootCfg?.textChunkLimit,
|
|
260
|
+
chunkMode: accountCfg?.chunkMode ?? rootCfg?.chunkMode,
|
|
261
|
+
mediaMaxMb: accountCfg?.mediaMaxMb ?? rootCfg?.mediaMaxMb,
|
|
262
|
+
blockStreaming: accountCfg?.blockStreaming ?? rootCfg?.blockStreaming,
|
|
263
|
+
ackReaction: accountCfg?.ackReaction ?? rootCfg?.ackReaction,
|
|
264
|
+
groups: accountCfg?.groups ?? rootCfg?.groups,
|
|
265
|
+
debounceMs: accountCfg?.debounceMs ?? rootCfg?.debounceMs
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
//#endregion
|
|
270
|
+
export { webAuthExists as _, resolveWhatsAppAuthDir as a, logWebSelfId as c, pickWebChannel as d, readCredsJsonRaw as f, resolveWebCredsPath as g, resolveWebCredsBackupPath as h, resolveWhatsAppAccount as i, logoutWeb as l, resolveDefaultWebAuthDir as m, listWhatsAppAccountIds as n, WA_WEB_AUTH_DIR as o, readWebSelfId as p, resolveDefaultWhatsAppAccountId as r, getWebAuthAgeMs as s, hasAnyWhatsAppAuth as t, maybeRestoreCredsFromBackup as u, createAccountListHelpers as v };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { mt as normalizeAccountId, nt as resolveAccountEntry, tt as createAccountListHelpers } from "./media-Bj6ej9bO.js";
|
|
2
|
+
|
|
3
|
+
//#region src/imessage/accounts.ts
|
|
4
|
+
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
|
|
5
|
+
function resolveAccountConfig(cfg, accountId) {
|
|
6
|
+
return resolveAccountEntry(cfg.channels?.imessage?.accounts, accountId);
|
|
7
|
+
}
|
|
8
|
+
function mergeIMessageAccountConfig(cfg, accountId) {
|
|
9
|
+
const { accounts: _ignored, ...base } = cfg.channels?.imessage ?? {};
|
|
10
|
+
const account = resolveAccountConfig(cfg, accountId) ?? {};
|
|
11
|
+
return {
|
|
12
|
+
...base,
|
|
13
|
+
...account
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function resolveIMessageAccount(params) {
|
|
17
|
+
const accountId = normalizeAccountId(params.accountId);
|
|
18
|
+
const baseEnabled = params.cfg.channels?.imessage?.enabled !== false;
|
|
19
|
+
const merged = mergeIMessageAccountConfig(params.cfg, accountId);
|
|
20
|
+
const accountEnabled = merged.enabled !== false;
|
|
21
|
+
const configured = Boolean(merged.cliPath?.trim() || merged.dbPath?.trim() || merged.service || merged.region?.trim() || merged.allowFrom && merged.allowFrom.length > 0 || merged.groupAllowFrom && merged.groupAllowFrom.length > 0 || merged.dmPolicy || merged.groupPolicy || typeof merged.includeAttachments === "boolean" || merged.attachmentRoots && merged.attachmentRoots.length > 0 || merged.remoteAttachmentRoots && merged.remoteAttachmentRoots.length > 0 || typeof merged.mediaMaxMb === "number" || typeof merged.textChunkLimit === "number" || merged.groups && Object.keys(merged.groups).length > 0);
|
|
22
|
+
return {
|
|
23
|
+
accountId,
|
|
24
|
+
enabled: baseEnabled && accountEnabled,
|
|
25
|
+
name: merged.name?.trim() || void 0,
|
|
26
|
+
config: merged,
|
|
27
|
+
configured
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { resolveIMessageAccount as t };
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { m as resolveOAuthDir } from "./paths-BTaH3rLn.js";
|
|
2
|
+
import { E as info, N as success, R as getChildLogger, _ as resolveUserPath, d as jidToE164 } from "./utils-C5daYcFn.js";
|
|
3
|
+
import { n as defaultRuntime } from "./runtime-Ds3E9SqF.js";
|
|
4
|
+
import { h as normalizeAccountId, m as DEFAULT_ACCOUNT_ID } from "./session-key-C2n-VILA.js";
|
|
5
|
+
import { t as formatCliCommand } from "./command-format-5Mm4OX03.js";
|
|
6
|
+
import { t as resolveAccountEntry } from "./account-lookup-R1ParPyR.js";
|
|
7
|
+
import fs from "node:fs";
|
|
8
|
+
import path from "node:path";
|
|
9
|
+
import fs$1 from "node:fs/promises";
|
|
10
|
+
|
|
11
|
+
//#region src/channels/plugins/account-helpers.ts
|
|
12
|
+
function createAccountListHelpers(channelKey) {
|
|
13
|
+
function listConfiguredAccountIds(cfg) {
|
|
14
|
+
const accounts = (cfg.channels?.[channelKey])?.accounts;
|
|
15
|
+
if (!accounts || typeof accounts !== "object") return [];
|
|
16
|
+
return Object.keys(accounts).filter(Boolean);
|
|
17
|
+
}
|
|
18
|
+
function listAccountIds(cfg) {
|
|
19
|
+
const ids = listConfiguredAccountIds(cfg);
|
|
20
|
+
if (ids.length === 0) return [DEFAULT_ACCOUNT_ID];
|
|
21
|
+
return ids.toSorted((a, b) => a.localeCompare(b));
|
|
22
|
+
}
|
|
23
|
+
function resolveDefaultAccountId(cfg) {
|
|
24
|
+
const ids = listAccountIds(cfg);
|
|
25
|
+
if (ids.includes(DEFAULT_ACCOUNT_ID)) return DEFAULT_ACCOUNT_ID;
|
|
26
|
+
return ids[0] ?? DEFAULT_ACCOUNT_ID;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
listConfiguredAccountIds,
|
|
30
|
+
listAccountIds,
|
|
31
|
+
resolveDefaultAccountId
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/web/auth-store.ts
|
|
37
|
+
function resolveDefaultWebAuthDir() {
|
|
38
|
+
return path.join(resolveOAuthDir(), "whatsapp", DEFAULT_ACCOUNT_ID);
|
|
39
|
+
}
|
|
40
|
+
const WA_WEB_AUTH_DIR = resolveDefaultWebAuthDir();
|
|
41
|
+
function resolveWebCredsPath(authDir) {
|
|
42
|
+
return path.join(authDir, "creds.json");
|
|
43
|
+
}
|
|
44
|
+
function resolveWebCredsBackupPath(authDir) {
|
|
45
|
+
return path.join(authDir, "creds.json.bak");
|
|
46
|
+
}
|
|
47
|
+
function hasWebCredsSync(authDir) {
|
|
48
|
+
try {
|
|
49
|
+
const stats = fs.statSync(resolveWebCredsPath(authDir));
|
|
50
|
+
return stats.isFile() && stats.size > 1;
|
|
51
|
+
} catch {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function readCredsJsonRaw(filePath) {
|
|
56
|
+
try {
|
|
57
|
+
if (!fs.existsSync(filePath)) return null;
|
|
58
|
+
const stats = fs.statSync(filePath);
|
|
59
|
+
if (!stats.isFile() || stats.size <= 1) return null;
|
|
60
|
+
return fs.readFileSync(filePath, "utf-8");
|
|
61
|
+
} catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function maybeRestoreCredsFromBackup(authDir) {
|
|
66
|
+
const logger = getChildLogger({ module: "web-session" });
|
|
67
|
+
try {
|
|
68
|
+
const credsPath = resolveWebCredsPath(authDir);
|
|
69
|
+
const backupPath = resolveWebCredsBackupPath(authDir);
|
|
70
|
+
const raw = readCredsJsonRaw(credsPath);
|
|
71
|
+
if (raw) {
|
|
72
|
+
JSON.parse(raw);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const backupRaw = readCredsJsonRaw(backupPath);
|
|
76
|
+
if (!backupRaw) return;
|
|
77
|
+
JSON.parse(backupRaw);
|
|
78
|
+
fs.copyFileSync(backupPath, credsPath);
|
|
79
|
+
try {
|
|
80
|
+
fs.chmodSync(credsPath, 384);
|
|
81
|
+
} catch {}
|
|
82
|
+
logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
|
|
83
|
+
} catch {}
|
|
84
|
+
}
|
|
85
|
+
async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
|
|
86
|
+
const resolvedAuthDir = resolveUserPath(authDir);
|
|
87
|
+
maybeRestoreCredsFromBackup(resolvedAuthDir);
|
|
88
|
+
const credsPath = resolveWebCredsPath(resolvedAuthDir);
|
|
89
|
+
try {
|
|
90
|
+
await fs$1.access(resolvedAuthDir);
|
|
91
|
+
} catch {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
const stats = await fs$1.stat(credsPath);
|
|
96
|
+
if (!stats.isFile() || stats.size <= 1) return false;
|
|
97
|
+
const raw = await fs$1.readFile(credsPath, "utf-8");
|
|
98
|
+
JSON.parse(raw);
|
|
99
|
+
return true;
|
|
100
|
+
} catch {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function clearLegacyBaileysAuthState(authDir) {
|
|
105
|
+
const entries = await fs$1.readdir(authDir, { withFileTypes: true });
|
|
106
|
+
const shouldDelete = (name) => {
|
|
107
|
+
if (name === "oauth.json") return false;
|
|
108
|
+
if (name === "creds.json" || name === "creds.json.bak") return true;
|
|
109
|
+
if (!name.endsWith(".json")) return false;
|
|
110
|
+
return /^(app-state-sync|session|sender-key|pre-key)-/.test(name);
|
|
111
|
+
};
|
|
112
|
+
await Promise.all(entries.map(async (entry) => {
|
|
113
|
+
if (!entry.isFile()) return;
|
|
114
|
+
if (!shouldDelete(entry.name)) return;
|
|
115
|
+
await fs$1.rm(path.join(authDir, entry.name), { force: true });
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
async function logoutWeb(params) {
|
|
119
|
+
const runtime = params.runtime ?? defaultRuntime;
|
|
120
|
+
const resolvedAuthDir = resolveUserPath(params.authDir ?? resolveDefaultWebAuthDir());
|
|
121
|
+
if (!await webAuthExists(resolvedAuthDir)) {
|
|
122
|
+
runtime.log(info("No WhatsApp Web session found; nothing to delete."));
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
if (params.isLegacyAuthDir) await clearLegacyBaileysAuthState(resolvedAuthDir);
|
|
126
|
+
else await fs$1.rm(resolvedAuthDir, {
|
|
127
|
+
recursive: true,
|
|
128
|
+
force: true
|
|
129
|
+
});
|
|
130
|
+
runtime.log(success("Cleared WhatsApp Web credentials."));
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
134
|
+
try {
|
|
135
|
+
const credsPath = resolveWebCredsPath(resolveUserPath(authDir));
|
|
136
|
+
if (!fs.existsSync(credsPath)) return {
|
|
137
|
+
e164: null,
|
|
138
|
+
jid: null
|
|
139
|
+
};
|
|
140
|
+
const raw = fs.readFileSync(credsPath, "utf-8");
|
|
141
|
+
const jid = JSON.parse(raw)?.me?.id ?? null;
|
|
142
|
+
return {
|
|
143
|
+
e164: jid ? jidToE164(jid, { authDir }) : null,
|
|
144
|
+
jid
|
|
145
|
+
};
|
|
146
|
+
} catch {
|
|
147
|
+
return {
|
|
148
|
+
e164: null,
|
|
149
|
+
jid: null
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Return the age (in milliseconds) of the cached WhatsApp web auth state, or null when missing.
|
|
155
|
+
* Helpful for heartbeats/observability to spot stale credentials.
|
|
156
|
+
*/
|
|
157
|
+
function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
|
|
158
|
+
try {
|
|
159
|
+
const stats = fs.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
|
|
160
|
+
return Date.now() - stats.mtimeMs;
|
|
161
|
+
} catch {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function logWebSelfId(authDir = resolveDefaultWebAuthDir(), runtime = defaultRuntime, includeChannelPrefix = false) {
|
|
166
|
+
const { e164, jid } = readWebSelfId(authDir);
|
|
167
|
+
const details = e164 || jid ? `${e164 ?? "unknown"}${jid ? ` (jid ${jid})` : ""}` : "unknown";
|
|
168
|
+
const prefix = includeChannelPrefix ? "Web Channel: " : "";
|
|
169
|
+
runtime.log(info(`${prefix}${details}`));
|
|
170
|
+
}
|
|
171
|
+
async function pickWebChannel(pref, authDir = resolveDefaultWebAuthDir()) {
|
|
172
|
+
const choice = pref === "auto" ? "web" : pref;
|
|
173
|
+
if (!await webAuthExists(authDir)) throw new Error(`No WhatsApp Web session found. Run \`${formatCliCommand("remoteclaw channels login --channel whatsapp --verbose")}\` to link.`);
|
|
174
|
+
return choice;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
//#endregion
|
|
178
|
+
//#region src/web/accounts.ts
|
|
179
|
+
const { listConfiguredAccountIds, listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("whatsapp");
|
|
180
|
+
const listWhatsAppAccountIds = listAccountIds;
|
|
181
|
+
const resolveDefaultWhatsAppAccountId = resolveDefaultAccountId;
|
|
182
|
+
function listWhatsAppAuthDirs(cfg) {
|
|
183
|
+
const oauthDir = resolveOAuthDir();
|
|
184
|
+
const whatsappDir = path.join(oauthDir, "whatsapp");
|
|
185
|
+
const authDirs = new Set([oauthDir, path.join(whatsappDir, DEFAULT_ACCOUNT_ID)]);
|
|
186
|
+
const accountIds = listConfiguredAccountIds(cfg);
|
|
187
|
+
for (const accountId of accountIds) authDirs.add(resolveWhatsAppAuthDir({
|
|
188
|
+
cfg,
|
|
189
|
+
accountId
|
|
190
|
+
}).authDir);
|
|
191
|
+
try {
|
|
192
|
+
const entries = fs.readdirSync(whatsappDir, { withFileTypes: true });
|
|
193
|
+
for (const entry of entries) {
|
|
194
|
+
if (!entry.isDirectory()) continue;
|
|
195
|
+
authDirs.add(path.join(whatsappDir, entry.name));
|
|
196
|
+
}
|
|
197
|
+
} catch {}
|
|
198
|
+
return Array.from(authDirs);
|
|
199
|
+
}
|
|
200
|
+
function hasAnyWhatsAppAuth(cfg) {
|
|
201
|
+
return listWhatsAppAuthDirs(cfg).some((authDir) => hasWebCredsSync(authDir));
|
|
202
|
+
}
|
|
203
|
+
function resolveAccountConfig(cfg, accountId) {
|
|
204
|
+
return resolveAccountEntry(cfg.channels?.whatsapp?.accounts, accountId);
|
|
205
|
+
}
|
|
206
|
+
function resolveDefaultAuthDir(accountId) {
|
|
207
|
+
return path.join(resolveOAuthDir(), "whatsapp", normalizeAccountId(accountId));
|
|
208
|
+
}
|
|
209
|
+
function resolveLegacyAuthDir() {
|
|
210
|
+
return resolveOAuthDir();
|
|
211
|
+
}
|
|
212
|
+
function legacyAuthExists(authDir) {
|
|
213
|
+
try {
|
|
214
|
+
return fs.existsSync(path.join(authDir, "creds.json"));
|
|
215
|
+
} catch {
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
function resolveWhatsAppAuthDir(params) {
|
|
220
|
+
const accountId = params.accountId.trim() || DEFAULT_ACCOUNT_ID;
|
|
221
|
+
const configured = resolveAccountConfig(params.cfg, accountId)?.authDir?.trim();
|
|
222
|
+
if (configured) return {
|
|
223
|
+
authDir: resolveUserPath(configured),
|
|
224
|
+
isLegacy: false
|
|
225
|
+
};
|
|
226
|
+
const defaultDir = resolveDefaultAuthDir(accountId);
|
|
227
|
+
if (accountId === DEFAULT_ACCOUNT_ID) {
|
|
228
|
+
const legacyDir = resolveLegacyAuthDir();
|
|
229
|
+
if (legacyAuthExists(legacyDir) && !legacyAuthExists(defaultDir)) return {
|
|
230
|
+
authDir: legacyDir,
|
|
231
|
+
isLegacy: true
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
return {
|
|
235
|
+
authDir: defaultDir,
|
|
236
|
+
isLegacy: false
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
function resolveWhatsAppAccount(params) {
|
|
240
|
+
const rootCfg = params.cfg.channels?.whatsapp;
|
|
241
|
+
const accountId = params.accountId?.trim() || resolveDefaultWhatsAppAccountId(params.cfg);
|
|
242
|
+
const accountCfg = resolveAccountConfig(params.cfg, accountId);
|
|
243
|
+
const enabled = accountCfg?.enabled !== false;
|
|
244
|
+
const { authDir, isLegacy } = resolveWhatsAppAuthDir({
|
|
245
|
+
cfg: params.cfg,
|
|
246
|
+
accountId
|
|
247
|
+
});
|
|
248
|
+
return {
|
|
249
|
+
accountId,
|
|
250
|
+
name: accountCfg?.name?.trim() || void 0,
|
|
251
|
+
enabled,
|
|
252
|
+
sendReadReceipts: accountCfg?.sendReadReceipts ?? rootCfg?.sendReadReceipts ?? true,
|
|
253
|
+
messagePrefix: accountCfg?.messagePrefix ?? rootCfg?.messagePrefix ?? params.cfg.messages?.messagePrefix,
|
|
254
|
+
authDir,
|
|
255
|
+
isLegacyAuthDir: isLegacy,
|
|
256
|
+
selfChatMode: accountCfg?.selfChatMode ?? rootCfg?.selfChatMode,
|
|
257
|
+
dmPolicy: accountCfg?.dmPolicy ?? rootCfg?.dmPolicy,
|
|
258
|
+
allowFrom: accountCfg?.allowFrom ?? rootCfg?.allowFrom,
|
|
259
|
+
groupAllowFrom: accountCfg?.groupAllowFrom ?? rootCfg?.groupAllowFrom,
|
|
260
|
+
groupPolicy: accountCfg?.groupPolicy ?? rootCfg?.groupPolicy,
|
|
261
|
+
textChunkLimit: accountCfg?.textChunkLimit ?? rootCfg?.textChunkLimit,
|
|
262
|
+
chunkMode: accountCfg?.chunkMode ?? rootCfg?.chunkMode,
|
|
263
|
+
mediaMaxMb: accountCfg?.mediaMaxMb ?? rootCfg?.mediaMaxMb,
|
|
264
|
+
blockStreaming: accountCfg?.blockStreaming ?? rootCfg?.blockStreaming,
|
|
265
|
+
ackReaction: accountCfg?.ackReaction ?? rootCfg?.ackReaction,
|
|
266
|
+
groups: accountCfg?.groups ?? rootCfg?.groups,
|
|
267
|
+
debounceMs: accountCfg?.debounceMs ?? rootCfg?.debounceMs
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
//#endregion
|
|
272
|
+
export { webAuthExists as _, resolveWhatsAppAuthDir as a, logWebSelfId as c, pickWebChannel as d, readCredsJsonRaw as f, resolveWebCredsPath as g, resolveWebCredsBackupPath as h, resolveWhatsAppAccount as i, logoutWeb as l, resolveDefaultWebAuthDir as m, listWhatsAppAccountIds as n, WA_WEB_AUTH_DIR as o, readWebSelfId as p, resolveDefaultWhatsAppAccountId as r, getWebAuthAgeMs as s, hasAnyWhatsAppAuth as t, maybeRestoreCredsFromBackup as u, createAccountListHelpers as v };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { h as normalizeAccountId } from "./session-key-C2n-VILA.js";
|
|
2
|
+
import { t as resolveAccountEntry } from "./account-lookup-R1ParPyR.js";
|
|
3
|
+
import { v as createAccountListHelpers } from "./accounts-CYi-JUU1.js";
|
|
4
|
+
|
|
5
|
+
//#region src/imessage/accounts.ts
|
|
6
|
+
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
|
|
7
|
+
const listIMessageAccountIds = listAccountIds;
|
|
8
|
+
const resolveDefaultIMessageAccountId = resolveDefaultAccountId;
|
|
9
|
+
function resolveAccountConfig(cfg, accountId) {
|
|
10
|
+
return resolveAccountEntry(cfg.channels?.imessage?.accounts, accountId);
|
|
11
|
+
}
|
|
12
|
+
function mergeIMessageAccountConfig(cfg, accountId) {
|
|
13
|
+
const { accounts: _ignored, ...base } = cfg.channels?.imessage ?? {};
|
|
14
|
+
const account = resolveAccountConfig(cfg, accountId) ?? {};
|
|
15
|
+
return {
|
|
16
|
+
...base,
|
|
17
|
+
...account
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function resolveIMessageAccount(params) {
|
|
21
|
+
const accountId = normalizeAccountId(params.accountId);
|
|
22
|
+
const baseEnabled = params.cfg.channels?.imessage?.enabled !== false;
|
|
23
|
+
const merged = mergeIMessageAccountConfig(params.cfg, accountId);
|
|
24
|
+
const accountEnabled = merged.enabled !== false;
|
|
25
|
+
const configured = Boolean(merged.cliPath?.trim() || merged.dbPath?.trim() || merged.service || merged.region?.trim() || merged.allowFrom && merged.allowFrom.length > 0 || merged.groupAllowFrom && merged.groupAllowFrom.length > 0 || merged.dmPolicy || merged.groupPolicy || typeof merged.includeAttachments === "boolean" || merged.attachmentRoots && merged.attachmentRoots.length > 0 || merged.remoteAttachmentRoots && merged.remoteAttachmentRoots.length > 0 || typeof merged.mediaMaxMb === "number" || typeof merged.textChunkLimit === "number" || merged.groups && Object.keys(merged.groups).length > 0);
|
|
26
|
+
return {
|
|
27
|
+
accountId,
|
|
28
|
+
enabled: baseEnabled && accountEnabled,
|
|
29
|
+
name: merged.name?.trim() || void 0,
|
|
30
|
+
config: merged,
|
|
31
|
+
configured
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { resolveDefaultIMessageAccountId as n, resolveIMessageAccount as r, listIMessageAccountIds as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { h as normalizeAccountId } from "./session-key-BF-9YzxC.js";
|
|
2
|
+
import { t as resolveAccountEntry } from "./account-lookup-C0ndrpt-.js";
|
|
3
|
+
import { v as createAccountListHelpers } from "./accounts-Aqbb2_Fn.js";
|
|
4
|
+
|
|
5
|
+
//#region src/imessage/accounts.ts
|
|
6
|
+
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
|
|
7
|
+
const listIMessageAccountIds = listAccountIds;
|
|
8
|
+
const resolveDefaultIMessageAccountId = resolveDefaultAccountId;
|
|
9
|
+
function resolveAccountConfig(cfg, accountId) {
|
|
10
|
+
return resolveAccountEntry(cfg.channels?.imessage?.accounts, accountId);
|
|
11
|
+
}
|
|
12
|
+
function mergeIMessageAccountConfig(cfg, accountId) {
|
|
13
|
+
const { accounts: _ignored, ...base } = cfg.channels?.imessage ?? {};
|
|
14
|
+
const account = resolveAccountConfig(cfg, accountId) ?? {};
|
|
15
|
+
return {
|
|
16
|
+
...base,
|
|
17
|
+
...account
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function resolveIMessageAccount(params) {
|
|
21
|
+
const accountId = normalizeAccountId(params.accountId);
|
|
22
|
+
const baseEnabled = params.cfg.channels?.imessage?.enabled !== false;
|
|
23
|
+
const merged = mergeIMessageAccountConfig(params.cfg, accountId);
|
|
24
|
+
const accountEnabled = merged.enabled !== false;
|
|
25
|
+
const configured = Boolean(merged.cliPath?.trim() || merged.dbPath?.trim() || merged.service || merged.region?.trim() || merged.allowFrom && merged.allowFrom.length > 0 || merged.groupAllowFrom && merged.groupAllowFrom.length > 0 || merged.dmPolicy || merged.groupPolicy || typeof merged.includeAttachments === "boolean" || merged.attachmentRoots && merged.attachmentRoots.length > 0 || merged.remoteAttachmentRoots && merged.remoteAttachmentRoots.length > 0 || typeof merged.mediaMaxMb === "number" || typeof merged.textChunkLimit === "number" || merged.groups && Object.keys(merged.groups).length > 0);
|
|
26
|
+
return {
|
|
27
|
+
accountId,
|
|
28
|
+
enabled: baseEnabled && accountEnabled,
|
|
29
|
+
name: merged.name?.trim() || void 0,
|
|
30
|
+
config: merged,
|
|
31
|
+
configured
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { resolveDefaultIMessageAccountId as n, resolveIMessageAccount as r, listIMessageAccountIds as t };
|