remoteclaw 0.0.0 → 0.1.0-next.aa1fa55
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/CHANGELOG.md +7 -0
- package/LICENSE +22 -0
- package/README.md +484 -0
- package/assets/chrome-extension/README.md +23 -0
- package/assets/chrome-extension/background-utils.js +48 -0
- package/assets/chrome-extension/background.js +899 -0
- package/assets/chrome-extension/icons/icon128.png +0 -0
- package/assets/chrome-extension/icons/icon16.png +0 -0
- package/assets/chrome-extension/icons/icon32.png +0 -0
- package/assets/chrome-extension/icons/icon48.png +0 -0
- package/assets/chrome-extension/manifest.json +25 -0
- package/assets/chrome-extension/options-validation.js +57 -0
- package/assets/chrome-extension/options.html +200 -0
- package/assets/chrome-extension/options.js +74 -0
- package/assets/clawtributor-avatar-placeholder.png +0 -0
- package/assets/dmg-background-small.png +0 -0
- package/assets/dmg-background.png +0 -0
- package/dist/account-lookup-0KDSp5Mj.js +11 -0
- package/dist/account-lookup-zvANGr2x.js +11 -0
- package/dist/accounts-BFy_Z3od.js +272 -0
- package/dist/accounts-BTXSfPWi.js +270 -0
- package/dist/accounts-BxGS70Do.js +36 -0
- package/dist/accounts-CNY1TGj1.js +47 -0
- package/dist/accounts-DBohBlww.js +32 -0
- package/dist/accounts-DqRQ75w3.js +36 -0
- package/dist/accounts-iODF3SK2.js +47 -0
- package/dist/ack-reactions-C1hk85VE.js +446 -0
- package/dist/ack-reactions-DRC2CiDQ.js +446 -0
- package/dist/acp-cli-DD-PD4NM.js +1326 -0
- package/dist/acp-cli-DIyRCOum.js +1320 -0
- package/dist/active-listener-VzhWW8W6.js +37 -0
- package/dist/active-listener-z0qVEcom.js +37 -0
- package/dist/agent-D2HeDFFR.js +731 -0
- package/dist/agent-Da_eZ5BP.js +732 -0
- package/dist/agent-helpers-B6VfZ9_u.js +606 -0
- package/dist/agent-helpers-CTx5KKJu.js +606 -0
- package/dist/agent-scope-BqPmD-Ax.js +114 -0
- package/dist/agent-scope-DgQzamQB.js +116 -0
- package/dist/agents-TB3QpHoo.js +788 -0
- package/dist/agents.config-BsAQTYe1.js +116 -0
- package/dist/agents.config-C9fyYfAh.js +116 -0
- package/dist/ansi-D04X81yq.js +14 -0
- package/dist/api-BeQMq2iS.js +17 -0
- package/dist/api-CxX8-gGz.js +17 -0
- package/dist/argv-Co-b9Zsc.js +101 -0
- package/dist/audio-DPOuhNq7.js +43 -0
- package/dist/audio-VBcVDa08.js +43 -0
- package/dist/audio-preflight-CK3EA3Dv.js +69 -0
- package/dist/audio-preflight-tdXtrutj.js +64 -0
- package/dist/audit-CJipUWDi.js +3138 -0
- package/dist/audit-COWzB9Y1.js +3138 -0
- package/dist/auth-CAczFgAO.js +448 -0
- package/dist/auth-Deh9i9Eg.js +448 -0
- package/dist/auth-profiles-BquJGKLC.js +279 -0
- package/dist/auth-profiles-D8vKiBPq.js +281 -0
- package/dist/banner-CUWBOR42.js +294 -0
- package/dist/binaries-DXW6oATV.js +13 -0
- package/dist/bindings-8YtSWb91.js +69 -0
- package/dist/bindings-l1R5LQQH.js +69 -0
- package/dist/bonjour-discovery-DdAk1VyO.js +378 -0
- package/dist/bonjour-discovery-DuhiIZZx.js +378 -0
- package/dist/boot/handler.js +1498 -0
- package/dist/brew-C4zKZsHX.js +46 -0
- package/dist/brew-DbSbN8sD.js +46 -0
- package/dist/browser-cli-5Q9lhGdd.js +1687 -0
- package/dist/browser-cli-D2qMeSx1.js +1692 -0
- package/dist/build-info.json +5 -0
- package/dist/bundled/boot/HOOK.md +24 -0
- package/dist/bundled/command-logger/HOOK.md +122 -0
- package/dist/call-CZHVeMf1.js +2828 -0
- package/dist/call-CoMjY7ah.js +2829 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +13193 -0
- package/dist/canvas-host/a2ui/index.html +307 -0
- package/dist/catalog-CYiAleBT.js +185 -0
- package/dist/catalog-pjPqB2hC.js +185 -0
- package/dist/channel-account-context-CvIDAtHS.js +550 -0
- package/dist/channel-account-context-q-o0pG1A.js +550 -0
- package/dist/channel-activity-BaCNOZpP.js +94 -0
- package/dist/channel-activity-C-G4n9BK.js +292 -0
- package/dist/channel-activity-DTKGf3j5.js +94 -0
- package/dist/channel-options-8SjIcDDI.js +33 -0
- package/dist/channel-options-BtQGtMF4.js +32 -0
- package/dist/channel-selection-C4DzrynU.js +51 -0
- package/dist/channel-selection-DdfhwFuY.js +51 -0
- package/dist/channel-web-BKJSXnwf.js +2136 -0
- package/dist/channel-web-BUzvNE_A.js +2134 -0
- package/dist/channels-cli-CCXY796Z.js +1421 -0
- package/dist/channels-cli-DTfx1zFC.js +1426 -0
- package/dist/channels-status-issues-DnmuqPsi.js +18 -0
- package/dist/channels-status-issues-p1pCvTh8.js +18 -0
- package/dist/chat-envelope-DEZ-5RY8.js +248 -0
- package/dist/chat-envelope-el7Uo-Fe.js +248 -0
- package/dist/chat-type-CYPyHAj-.js +11 -0
- package/dist/chat-type-DKb2TlGZ.js +11 -0
- package/dist/chrome-Dd4dv0Vh.js +1732 -0
- package/dist/chrome-DdNEInwI.js +1733 -0
- package/dist/chunk-CSQfUhgF.js +341 -0
- package/dist/chunk-D0Y_w4oX.js +341 -0
- package/dist/clack-prompter-B7tOxhJd.js +122 -0
- package/dist/clack-prompter-CCFnKP_1.js +121 -0
- package/dist/cleanup-utils-CqAVZz2b.js +94 -0
- package/dist/cleanup-utils-CwQvD73q.js +94 -0
- package/dist/cli/daemon-cli.js +9 -0
- package/dist/cli-BRwDPW0r.js +125 -0
- package/dist/cli-CV86F7iv.js +130 -0
- package/dist/cli-name-BicfmwQX.js +23 -0
- package/dist/cli-name-C6rJGl18.js +23 -0
- package/dist/cli-utils-BhXbz2UF.js +16 -0
- package/dist/cli-utils-DZe_rVkZ.js +16 -0
- package/dist/client-C61M8zI3.js +22 -0
- package/dist/client-DdpmATKq.js +22 -0
- package/dist/clipboard-D7_SKHPK.js +31 -0
- package/dist/clipboard-Dzkx6Q2K.js +31 -0
- package/dist/command-format-CVfo8I5f.js +18 -0
- package/dist/command-format-DgXcqxBt.js +32 -0
- package/dist/command-logger/handler.js +57 -0
- package/dist/command-options-C4paWSGf.js +26 -0
- package/dist/command-options-CA30lfLK.js +26 -0
- package/dist/command-registry-BvLC28b4.js +215 -0
- package/dist/commands-B49Lu-pa.js +41 -0
- package/dist/commands-DI1BCqnj.js +41 -0
- package/dist/commands-registry-Cr6SIR3n.js +892 -0
- package/dist/commands-registry-agiTEGDz.js +893 -0
- package/dist/common-CMI-qsF8.js +156 -0
- package/dist/common-DSVmydhm.js +156 -0
- package/dist/completion-cli-C7O4JU8t.js +452 -0
- package/dist/completion-cli-CQNXtEJ7.js +452 -0
- package/dist/config-ChYRSJQt.js +6953 -0
- package/dist/config-CwtWvygh.js +6951 -0
- package/dist/config-cli-Df5nJcfO.js +241 -0
- package/dist/config-cli-Dqe5O1pl.js +246 -0
- package/dist/config-eval-CjGZtLwx.js +102 -0
- package/dist/config-eval-H_wlEYIG.js +102 -0
- package/dist/config-guard-C6hyuH-z.js +75 -0
- package/dist/config-guard-kNMQS_tm.js +97 -0
- package/dist/config-validation-BZBaBH69.js +18 -0
- package/dist/config-validation-DkrbzCyL.js +18 -0
- package/dist/configure-CoJmCHqT.js +891 -0
- package/dist/configure-DJbojDRf.js +889 -0
- package/dist/constants-BmRFoHl0.js +67 -0
- package/dist/constants-C9WPAluB.js +67 -0
- package/dist/constants-ChptG3d7.js +12 -0
- package/dist/constants-DY6b-_Wl.js +12 -0
- package/dist/control-auth-7k6Cb2zH.js +397 -0
- package/dist/control-auth-DBxfkJ3g.js +397 -0
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/index-B4ZM1lW1.js +7738 -0
- package/dist/control-ui/assets/index-B4ZM1lW1.js.map +1 -0
- package/dist/control-ui/assets/index-PED72sKF.css +1 -0
- package/dist/control-ui/assets/pt-BR-eq0TfCI7.js +2 -0
- package/dist/control-ui/assets/pt-BR-eq0TfCI7.js.map +1 -0
- package/dist/control-ui/assets/zh-CN-DmLG2MF9.js +2 -0
- package/dist/control-ui/assets/zh-CN-DmLG2MF9.js.map +1 -0
- package/dist/control-ui/assets/zh-TW-BLErH0EM.js +2 -0
- package/dist/control-ui/assets/zh-TW-BLErH0EM.js.map +1 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/favicon.svg +67 -0
- package/dist/control-ui/index.html +17 -0
- package/dist/control-ui-assets-Cx_mw4D0.js +186 -0
- package/dist/control-ui-assets-W1AUuGrO.js +186 -0
- package/dist/conversation-label-C4SDz4sT.js +36 -0
- package/dist/conversation-label-D1frnvYe.js +36 -0
- package/dist/credentials-BHWUBHMd.js +91 -0
- package/dist/credentials-DFsi1_e8.js +91 -0
- package/dist/cron-cli-BJXQKtR3.js +495 -0
- package/dist/cron-cli-CTIj0WPW.js +490 -0
- package/dist/daemon-cli-CZbHvkRG.js +1197 -0
- package/dist/daemon-cli-Cf_YKWvV.js +1199 -0
- package/dist/daemon-cli.js +15243 -0
- package/dist/daemon-install-CcohRvKV.js +55 -0
- package/dist/daemon-install-DDshfT0J.js +60 -0
- package/dist/daemon-install-helpers-CFGAfRlj.js +462 -0
- package/dist/daemon-install-helpers-DIUzSFG1.js +462 -0
- package/dist/daemon-runtime-CMnbwryP.js +13 -0
- package/dist/daemon-runtime-CvqE4ysg.js +13 -0
- package/dist/dangerous-name-matching-BzmiLXmA.js +45 -0
- package/dist/dangerous-name-matching-DaVRgwer.js +45 -0
- package/dist/dangerous-tools-BOLoCRv4.js +253 -0
- package/dist/dangerous-tools-Baq7Q-i6.js +253 -0
- package/dist/defaults-B5KStIBg.js +7 -0
- package/dist/defaults-xUAL2Z-F.js +7 -0
- package/dist/deliver-BDf2lIEK.js +481 -0
- package/dist/deliver-DvmkSwLt.js +481 -0
- package/dist/delivery-queue-Cfa9Wmxp.js +244 -0
- package/dist/delivery-queue-CxVRi4tw.js +244 -0
- package/dist/devices-cli-CRsW5WOw.js +316 -0
- package/dist/devices-cli-Crzrk5uf.js +321 -0
- package/dist/diagnostics-99iCgBUh.js +46 -0
- package/dist/diagnostics-VC0cz7kX.js +46 -0
- package/dist/directory-cli-BnoQqeOX.js +222 -0
- package/dist/directory-cli-DdBAX3AV.js +217 -0
- package/dist/dm-policy-shared-DNqPbnip.js +22 -0
- package/dist/dm-policy-shared-vCb_hnqo.js +22 -0
- package/dist/dns-cli-D410XQr9.js +197 -0
- package/dist/dns-cli-Fgg96Xkg.js +202 -0
- package/dist/dock-DXSgTbDw.js +928 -0
- package/dist/dock-FtQwUHXE.js +929 -0
- package/dist/doctor-completion-BWmtCiFR.js +92 -0
- package/dist/doctor-completion-DTM_wDxy.js +92 -0
- package/dist/doctor-config-flow-Ccna5fPs.js +1934 -0
- package/dist/doctor-config-flow-DqzrK_jh.js +1933 -0
- package/dist/enable-DcJnkzfz.js +59 -0
- package/dist/enable-ibNq4UWy.js +59 -0
- package/dist/entry.js +2620 -0
- package/dist/env-DeF64iu0.js +60 -0
- package/dist/env-vars-7aZqKPhk.js +93 -0
- package/dist/env-vars-CLGbxdpL.js +93 -0
- package/dist/errors-8F-77i6m.js +35 -0
- package/dist/errors-DZ199hOo.js +35 -0
- package/dist/exec-DbKuYyM1.js +164 -0
- package/dist/exec-DkFE7lqU.js +164 -0
- package/dist/export-html/template.css +1060 -0
- package/dist/export-html/template.html +88 -0
- package/dist/export-html/template.js +1797 -0
- package/dist/export-html/vendor/highlight.min.js +1213 -0
- package/dist/export-html/vendor/marked.min.js +6 -0
- package/dist/extensionAPI.js +11520 -0
- package/dist/fetch-BFSBLBkA.js +67 -0
- package/dist/fetch-C6XKGA11.js +67 -0
- package/dist/fetch-CEDsOiql.js +67 -0
- package/dist/fetch-timeout-DTIN7CGM.js +43 -0
- package/dist/fetch-timeout-DoySHqfO.js +43 -0
- package/dist/file-identity-BxlKD8Ys.js +12 -0
- package/dist/file-lock-CIvloidc.js +107 -0
- package/dist/file-lock-CzBL_VIx.js +107 -0
- package/dist/format-duration-CqUERz51.js +35 -0
- package/dist/format-duration-Ct-yiwkS.js +35 -0
- package/dist/format-relative-79_Y1n2Y.js +55 -0
- package/dist/format-relative-CxLpEQOX.js +55 -0
- package/dist/fs-safe-DSwT85uK.js +88 -0
- package/dist/fs-safe-DkBhNAc3.js +98 -0
- package/dist/gateway-cli-BJooqlkO.js +23747 -0
- package/dist/gateway-cli-C2wPjxY4.js +23742 -0
- package/dist/gateway-rpc-BcT4FqJQ.js +28 -0
- package/dist/gateway-rpc-DhKAJ5EW.js +28 -0
- package/dist/gmail-setup-utils-Cnx8A5pW.js +422 -0
- package/dist/gmail-setup-utils-nkabbKOE.js +423 -0
- package/dist/health-BZX-PyP0.js +1420 -0
- package/dist/health-BgD0koJx.js +1423 -0
- package/dist/health-format-BG95OE6N.js +28 -0
- package/dist/health-format-B_QRD8Si.js +28 -0
- package/dist/heartbeat-visibility-DeW9EIeS.js +125 -0
- package/dist/heartbeat-visibility-DvogUlnZ.js +125 -0
- package/dist/heartbeat-wake-LGEgcXjs.js +182 -0
- package/dist/heartbeat-wake-Y97geucO.js +182 -0
- package/dist/help-format-DAxf0l_h.js +17 -0
- package/dist/help-format-NNm_Ov4H.js +17 -0
- package/dist/helpers-BAsMXprO.js +25 -0
- package/dist/helpers-DLgbkcEn.js +25 -0
- package/dist/helpers-R7bU5IBz.js +10 -0
- package/dist/helpers-kkeXif0Q.js +10 -0
- package/dist/hook-runner-global-cyaKukZP.js +527 -0
- package/dist/hooks-cli-DTygpzqS.js +1217 -0
- package/dist/hooks-cli-Dg853OdZ.js +1222 -0
- package/dist/host-env-security-Bms2_EMV.js +92 -0
- package/dist/host-env-security-szwfmhC4.js +92 -0
- package/dist/image-ops-Bi6JPSkD.js +354 -0
- package/dist/image-ops-DWytvdh_.js +354 -0
- package/dist/import-D8BBZQgl.js +170 -0
- package/dist/import-DQ6NI4Fz.js +168 -0
- package/dist/inbound-context-CPkkQW0i.js +68 -0
- package/dist/inbound-context-DS_kpIYI.js +68 -0
- package/dist/inbound-path-policy-Bg4gZBx-.js +250 -0
- package/dist/inbound-path-policy-sdr5Ji0k.js +250 -0
- package/dist/index.js +569 -0
- package/dist/input-provenance-Bn6thJNm.js +35 -0
- package/dist/input-provenance-xUsSMOsz.js +35 -0
- package/dist/inspect-Dt8hogS3.js +559 -0
- package/dist/inspect-vYIL1oA0.js +559 -0
- package/dist/installs-ClX3qQmh.js +325 -0
- package/dist/installs-CxjOiLUM.js +325 -0
- package/dist/ip-C9q3Oq20.js +200 -0
- package/dist/ip-D0zgNmBV.js +200 -0
- package/dist/ipv4--2WXMVtE.js +46 -0
- package/dist/ipv4-CDQpx1A7.js +46 -0
- package/dist/ir-BvKdMuSP.js +940 -0
- package/dist/is-main-DN8-sNR5.js +30 -0
- package/dist/json-file-B7l5-Xhr.js +25 -0
- package/dist/json-file-ChO_R9yh.js +25 -0
- package/dist/json-files-CmpYSF4G.js +46 -0
- package/dist/json-files-DzpTak5i.js +46 -0
- package/dist/lanes-ByWMUgrz.js +58 -0
- package/dist/lanes-cHJ5arWg.js +58 -0
- package/dist/links-Bz4V7R_p.js +15 -0
- package/dist/links-C3soDNDH.js +15 -0
- package/dist/loader-BWZ_iRxI.js +22624 -0
- package/dist/loader-ClFP7wvS.js +22621 -0
- package/dist/local-roots-B6rSCu4U.js +314 -0
- package/dist/local-roots-v2HlOaG5.js +313 -0
- package/dist/location-DBWCGNLq.js +43 -0
- package/dist/location-GbZ0bBRU.js +43 -0
- package/dist/logger-BWMPnILd.js +47 -0
- package/dist/logger-Bw3cFE5t.js +49 -0
- package/dist/logger-DyL5G2DO.js +12 -0
- package/dist/logger-GvipVDfh.js +12 -0
- package/dist/logging-C-nxX2fn.js +20 -0
- package/dist/logging-D8-Kozjc.js +19 -0
- package/dist/login-Cmpeb59f.js +62 -0
- package/dist/login-D1CV2eNF.js +61 -0
- package/dist/login-qr-B3tpFLRV.js +327 -0
- package/dist/login-qr-CSQzrtFX.js +322 -0
- package/dist/logs-cli-BSiUZwb2.js +238 -0
- package/dist/logs-cli-DDtoJ1Fr.js +233 -0
- package/dist/markdown-tables-PJUMrC4T.js +29 -0
- package/dist/markdown-tables-dDWBbtqd.js +29 -0
- package/dist/media-CojxZ45J.js +10492 -0
- package/dist/media-DtN0R9A0.js +940 -0
- package/dist/message-action-names-Bs50Ia1g.js +2521 -0
- package/dist/message-action-names-Btd7cMvx.js +2521 -0
- package/dist/message-channel-DzJqHVZD.js +91 -0
- package/dist/message-channel-uWMAiywE.js +91 -0
- package/dist/mime-BS3jhcZE.js +149 -0
- package/dist/mime-Cxh_64P6.js +149 -0
- package/dist/mutable-allowlist-detectors-DiZDtmlZ.js +64 -0
- package/dist/mutable-allowlist-detectors-U5ThQr9V.js +64 -0
- package/dist/net-Cg8AQeke.js +225 -0
- package/dist/net-D6D0wgcF.js +225 -0
- package/dist/node-cli-Q2-n3Fgv.js +24 -0
- package/dist/node-cli-Uf6lAntf.js +24 -0
- package/dist/nodes-cli-DVLvMgBV.js +1343 -0
- package/dist/nodes-cli-Dxf7vAKk.js +1348 -0
- package/dist/nodes-screen-BR9sYoPa.js +250 -0
- package/dist/nodes-screen-Cw7Hv7M2.js +250 -0
- package/dist/note-Dlv4NmlQ.js +92 -0
- package/dist/note-kvWV4xtw.js +92 -0
- package/dist/npm-registry-spec-0qiKawvv.js +786 -0
- package/dist/npm-registry-spec-COvUzy5J.js +786 -0
- package/dist/npm-resolution-DJnq5QBs.js +86 -0
- package/dist/npm-resolution-DVl2spoD.js +86 -0
- package/dist/onboard-BcQWYGY3.js +405 -0
- package/dist/onboard-RQ_FAMyg.js +407 -0
- package/dist/onboard-channels-CHh_BuxJ.js +2547 -0
- package/dist/onboard-channels-DXD-CK_M.js +2548 -0
- package/dist/onboard-config-BCTthQ7J.js +24 -0
- package/dist/onboard-config-y-2cgT0V.js +24 -0
- package/dist/onboard-helpers-BRMP8mup.js +362 -0
- package/dist/onboard-helpers-CUGbuZwH.js +363 -0
- package/dist/onboard-remote-D-qWujdL.js +127 -0
- package/dist/onboard-remote-o_OW-uzc.js +127 -0
- package/dist/onboarding-Bf9kVcef.js +541 -0
- package/dist/onboarding-CVlOLLp1.js +543 -0
- package/dist/onboarding.finalize-CQSt37fw.js +398 -0
- package/dist/onboarding.finalize-DggVL7Ay.js +401 -0
- package/dist/onboarding.gateway-config-BLca3Td2.js +198 -0
- package/dist/onboarding.gateway-config-C1mcOkRh.js +191 -0
- package/dist/outbound-DXXccLDS.js +220 -0
- package/dist/outbound-ZnVvUReT.js +221 -0
- package/dist/outbound-attachment-B_0D60Yr.js +18 -0
- package/dist/outbound-attachment-CfRb07J7.js +18 -0
- package/dist/outbound-attachment-DGXTtERK.js +18 -0
- package/dist/pairing-cli-Bgm4fRA3.js +127 -0
- package/dist/pairing-cli-J0uGb1nU.js +122 -0
- package/dist/pairing-labels-CVm65Jkh.js +9 -0
- package/dist/pairing-labels-DD1mcvQG.js +9 -0
- package/dist/pairing-store-5qapT5-t.js +460 -0
- package/dist/pairing-store-MLceBEeL.js +459 -0
- package/dist/parse-log-line-enq8pduH.js +44 -0
- package/dist/parse-log-line-mz9TG6ig.js +44 -0
- package/dist/parse-timeout-BMP8a0_a.js +16 -0
- package/dist/parse-timeout-CDkco8kd.js +16 -0
- package/dist/path-env-DR5vn3QL.js +89 -0
- package/dist/path-env-qRJbjJzj.js +89 -0
- package/dist/path-guards-CIx4hURU.js +31 -0
- package/dist/path-guards-CrQOUlsq.js +31 -0
- package/dist/path-safety-DkT9RmTG.js +14 -0
- package/dist/path-safety-juI2XbO1.js +14 -0
- package/dist/paths-BTaH3rLn.js +232 -0
- package/dist/plugin-auto-enable-BUSF117F.js +301 -0
- package/dist/plugin-auto-enable-CoDnqA0S.js +302 -0
- package/dist/plugin-registry-D2B6nbn1.js +33 -0
- package/dist/plugin-registry-fLaMC0ik.js +33 -0
- package/dist/plugin-sdk/account-id.d.ts +1 -0
- package/dist/plugin-sdk/account-id.js +34 -0
- package/dist/plugin-sdk/agents/agent-helpers/errors.d.ts +55 -0
- package/dist/plugin-sdk/agents/agent-helpers/google.d.ts +3 -0
- package/dist/plugin-sdk/agents/agent-helpers/images.d.ts +21 -0
- package/dist/plugin-sdk/agents/agent-helpers/message-sanitization.d.ts +14 -0
- package/dist/plugin-sdk/agents/agent-helpers/messaging-dedupe.d.ts +10 -0
- package/dist/plugin-sdk/agents/agent-helpers/openai.d.ts +9 -0
- package/dist/plugin-sdk/agents/agent-helpers/thinking.d.ts +5 -0
- package/dist/plugin-sdk/agents/agent-helpers/turns.d.ts +20 -0
- package/dist/plugin-sdk/agents/agent-helpers/types.d.ts +1 -0
- package/dist/plugin-sdk/agents/agent-helpers.d.ts +11 -0
- package/dist/plugin-sdk/agents/agent-messaging.d.ts +8 -0
- package/dist/plugin-sdk/agents/agent-paths.d.ts +1 -0
- package/dist/plugin-sdk/agents/agent-scope.d.ts +60 -0
- package/dist/plugin-sdk/agents/agent-types.d.ts +78 -0
- package/dist/plugin-sdk/agents/agent-utils.d.ts +39 -0
- package/dist/plugin-sdk/agents/announce-idempotency.d.ts +11 -0
- package/dist/plugin-sdk/agents/api-key-rotation.d.ts +22 -0
- package/dist/plugin-sdk/agents/auth-profiles/constants.d.ts +16 -0
- package/dist/plugin-sdk/agents/auth-profiles/display.d.ts +7 -0
- package/dist/plugin-sdk/agents/auth-profiles/doctor.d.ts +8 -0
- package/dist/plugin-sdk/agents/auth-profiles/oauth.d.ts +14 -0
- package/dist/plugin-sdk/agents/auth-profiles/paths.d.ts +4 -0
- package/dist/plugin-sdk/agents/auth-profiles/profiles.d.ts +12 -0
- package/dist/plugin-sdk/agents/auth-profiles/session-override.d.ts +18 -0
- package/dist/plugin-sdk/agents/auth-profiles/store.d.ts +10 -0
- package/dist/plugin-sdk/agents/auth-profiles/types.d.ts +13 -0
- package/dist/plugin-sdk/agents/auth-profiles.d.ts +8 -0
- package/dist/plugin-sdk/agents/block-chunker.d.ts +19 -0
- package/dist/plugin-sdk/agents/channel-tools.d.ts +27 -0
- package/dist/plugin-sdk/agents/cli-session.d.ts +3 -0
- package/dist/plugin-sdk/agents/current-time.d.ts +17 -0
- package/dist/plugin-sdk/agents/date-time.d.ts +13 -0
- package/dist/plugin-sdk/agents/defaults.d.ts +3 -0
- package/dist/plugin-sdk/agents/identity-avatar.d.ts +15 -0
- package/dist/plugin-sdk/agents/identity.d.ts +28 -0
- package/dist/plugin-sdk/agents/image-sanitization.d.ts +8 -0
- package/dist/plugin-sdk/agents/lanes.d.ts +3 -0
- package/dist/plugin-sdk/agents/live-auth-keys.d.ts +6 -0
- package/dist/plugin-sdk/agents/owner-display.d.ts +19 -0
- package/dist/plugin-sdk/agents/provider-auth.d.ts +40 -0
- package/dist/plugin-sdk/agents/provider-utils.d.ts +21 -0
- package/dist/plugin-sdk/agents/schema/typebox.d.ts +14 -0
- package/dist/plugin-sdk/agents/session-write-lock.d.ts +53 -0
- package/dist/plugin-sdk/agents/stable-stringify.d.ts +1 -0
- package/dist/plugin-sdk/agents/subagent-announce-queue.d.ts +24 -0
- package/dist/plugin-sdk/agents/subagent-announce.d.ts +39 -0
- package/dist/plugin-sdk/agents/subagent-depth.d.ts +11 -0
- package/dist/plugin-sdk/agents/subagent-lifecycle-events.d.ts +18 -0
- package/dist/plugin-sdk/agents/subagent-registry-cleanup.d.ts +24 -0
- package/dist/plugin-sdk/agents/subagent-registry-completion.d.ts +15 -0
- package/dist/plugin-sdk/agents/subagent-registry-queries.d.ts +11 -0
- package/dist/plugin-sdk/agents/subagent-registry-state.d.ts +7 -0
- package/dist/plugin-sdk/agents/subagent-registry.d.ts +45 -0
- package/dist/plugin-sdk/agents/subagent-registry.store.d.ts +5 -0
- package/dist/plugin-sdk/agents/subagent-registry.types.d.ts +34 -0
- package/dist/plugin-sdk/agents/subagent-spawn.d.ts +47 -0
- package/dist/plugin-sdk/agents/timeout.d.ts +8 -0
- package/dist/plugin-sdk/agents/tool-call-id.d.ts +27 -0
- package/dist/plugin-sdk/agents/tool-display-common.d.ts +32 -0
- package/dist/plugin-sdk/agents/tool-display.d.ts +15 -0
- package/dist/plugin-sdk/agents/tool-images.d.ts +10 -0
- package/dist/plugin-sdk/agents/tools/agent-step.d.ts +15 -0
- package/dist/plugin-sdk/agents/tools/common.d.ts +80 -0
- package/dist/plugin-sdk/agents/tools/discord-actions-guild.d.ts +4 -0
- package/dist/plugin-sdk/agents/tools/discord-actions-messaging.d.ts +6 -0
- package/dist/plugin-sdk/agents/tools/discord-actions-moderation-shared.d.ts +13 -0
- package/dist/plugin-sdk/agents/tools/discord-actions-moderation.d.ts +4 -0
- package/dist/plugin-sdk/agents/tools/discord-actions-presence.d.ts +4 -0
- package/dist/plugin-sdk/agents/tools/discord-actions.d.ts +5 -0
- package/dist/plugin-sdk/agents/tools/sessions-access.d.ts +42 -0
- package/dist/plugin-sdk/agents/tools/sessions-helpers.d.ts +52 -0
- package/dist/plugin-sdk/agents/tools/sessions-resolution.d.ts +59 -0
- package/dist/plugin-sdk/agents/tools/sessions-send-helpers.d.ts +34 -0
- package/dist/plugin-sdk/agents/tools/slack-actions.d.ts +15 -0
- package/dist/plugin-sdk/agents/tools/telegram-actions.d.ts +7 -0
- package/dist/plugin-sdk/agents/tools/whatsapp-actions.d.ts +3 -0
- package/dist/plugin-sdk/agents/tools/whatsapp-target-auth.d.ts +10 -0
- package/dist/plugin-sdk/agents/usage.d.ts +49 -0
- package/dist/plugin-sdk/agents/workspace.d.ts +1 -0
- package/dist/plugin-sdk/auto-reply/chunk.d.ts +45 -0
- package/dist/plugin-sdk/auto-reply/command-auth.d.ts +17 -0
- package/dist/plugin-sdk/auto-reply/command-detection.d.ts +13 -0
- package/dist/plugin-sdk/auto-reply/commands-args.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/commands-registry.d.ts +47 -0
- package/dist/plugin-sdk/auto-reply/commands-registry.data.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/commands-registry.types.d.ts +66 -0
- package/dist/plugin-sdk/auto-reply/dispatch.d.ts +32 -0
- package/dist/plugin-sdk/auto-reply/envelope.d.ts +58 -0
- package/dist/plugin-sdk/auto-reply/fallback-state.d.ts +55 -0
- package/dist/plugin-sdk/auto-reply/group-activation.d.ts +6 -0
- package/dist/plugin-sdk/auto-reply/heartbeat-reply-payload.d.ts +2 -0
- package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +16 -0
- package/dist/plugin-sdk/auto-reply/inbound-debounce.d.ts +17 -0
- package/dist/plugin-sdk/auto-reply/media-note.d.ts +2 -0
- package/dist/plugin-sdk/auto-reply/model-runtime.d.ts +17 -0
- package/dist/plugin-sdk/auto-reply/model.d.ts +8 -0
- package/dist/plugin-sdk/auto-reply/reply/abort.d.ts +32 -0
- package/dist/plugin-sdk/auto-reply/reply/agent-runner-execution.d.ts +59 -0
- package/dist/plugin-sdk/auto-reply/reply/agent-runner-helpers.d.ts +15 -0
- package/dist/plugin-sdk/auto-reply/reply/agent-runner-payloads.d.ts +27 -0
- package/dist/plugin-sdk/auto-reply/reply/agent-runner-utils.d.ts +152 -0
- package/dist/plugin-sdk/auto-reply/reply/agent-runner.d.ts +36 -0
- package/dist/plugin-sdk/auto-reply/reply/block-reply-coalescer.d.ts +15 -0
- package/dist/plugin-sdk/auto-reply/reply/block-reply-pipeline.d.ts +31 -0
- package/dist/plugin-sdk/auto-reply/reply/block-streaming.d.ts +22 -0
- package/dist/plugin-sdk/auto-reply/reply/body.d.ts +10 -0
- package/dist/plugin-sdk/auto-reply/reply/command-gates.d.ts +18 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-allowlist.d.ts +2 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-config.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-context.d.ts +12 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-core.d.ts +13 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-export-session.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-info.d.ts +11 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-plugin.d.ts +13 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-session.d.ts +8 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-setunset-standard.d.ts +10 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-setunset.d.ts +34 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-slash-parse.d.ts +24 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-status.d.ts +26 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-agents.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-focus.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-help.d.ts +2 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-info.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-kill.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-list.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-log.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-send.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-spawn.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-unfocus.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents/shared.d.ts +81 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-subagents.d.ts +4 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-tts.d.ts +2 -0
- package/dist/plugin-sdk/auto-reply/reply/commands-types.d.ts +61 -0
- package/dist/plugin-sdk/auto-reply/reply/commands.d.ts +4 -0
- package/dist/plugin-sdk/auto-reply/reply/config-commands.d.ts +15 -0
- package/dist/plugin-sdk/auto-reply/reply/config-value.d.ts +4 -0
- package/dist/plugin-sdk/auto-reply/reply/debug-commands.d.ts +16 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.auth.d.ts +19 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.d.ts +6 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.fast-lane.d.ts +7 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.impl.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.levels.d.ts +20 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.params.d.ts +59 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.parse.d.ts +65 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.persist.d.ts +42 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.queue-validation.d.ts +10 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-handling.shared.d.ts +29 -0
- package/dist/plugin-sdk/auto-reply/reply/directive-parsing.d.ts +5 -0
- package/dist/plugin-sdk/auto-reply/reply/directives.d.ts +58 -0
- package/dist/plugin-sdk/auto-reply/reply/dispatch-from-config.d.ts +16 -0
- package/dist/plugin-sdk/auto-reply/reply/dispatcher-registry.d.ts +24 -0
- package/dist/plugin-sdk/auto-reply/reply/elevated-allowlist-matcher.d.ts +20 -0
- package/dist/plugin-sdk/auto-reply/reply/elevated-unavailable.d.ts +8 -0
- package/dist/plugin-sdk/auto-reply/reply/followup-runner.d.ts +16 -0
- package/dist/plugin-sdk/auto-reply/reply/get-reply-directives-apply.d.ts +64 -0
- package/dist/plugin-sdk/auto-reply/reply/get-reply-directives-utils.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +121 -0
- package/dist/plugin-sdk/auto-reply/reply/get-reply-inline-actions.d.ts +56 -0
- package/dist/plugin-sdk/auto-reply/reply/get-reply-run.d.ts +73 -0
- package/dist/plugin-sdk/auto-reply/reply/get-reply.d.ts +4 -0
- package/dist/plugin-sdk/auto-reply/reply/groups.d.ts +26 -0
- package/dist/plugin-sdk/auto-reply/reply/history.d.ts +72 -0
- package/dist/plugin-sdk/auto-reply/reply/inbound-context.d.ts +8 -0
- package/dist/plugin-sdk/auto-reply/reply/inbound-dedupe.d.ts +8 -0
- package/dist/plugin-sdk/auto-reply/reply/inbound-meta.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/inbound-text.d.ts +1 -0
- package/dist/plugin-sdk/auto-reply/reply/line-directives.d.ts +22 -0
- package/dist/plugin-sdk/auto-reply/reply/mentions.d.ts +19 -0
- package/dist/plugin-sdk/auto-reply/reply/normalize-reply.d.ts +11 -0
- package/dist/plugin-sdk/auto-reply/reply/origin-routing.d.ts +13 -0
- package/dist/plugin-sdk/auto-reply/reply/provider-dispatcher.d.ts +19 -0
- package/dist/plugin-sdk/auto-reply/reply/queue/cleanup.d.ts +6 -0
- package/dist/plugin-sdk/auto-reply/reply/queue/directive.d.ts +15 -0
- package/dist/plugin-sdk/auto-reply/reply/queue/drain.d.ts +2 -0
- package/dist/plugin-sdk/auto-reply/reply/queue/enqueue.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/queue/normalize.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/reply/queue/settings.d.ts +2 -0
- package/dist/plugin-sdk/auto-reply/reply/queue/state.d.ts +20 -0
- package/dist/plugin-sdk/auto-reply/reply/queue/types.d.ts +87 -0
- package/dist/plugin-sdk/auto-reply/reply/queue-policy.d.ts +8 -0
- package/dist/plugin-sdk/auto-reply/reply/queue.d.ts +8 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-delivery.d.ts +27 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-directives.d.ts +14 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-dispatcher.d.ts +53 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-elevated.d.ts +16 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-inline.d.ts +8 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-payloads.d.ts +27 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-reference.d.ts +20 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-tags.d.ts +6 -0
- package/dist/plugin-sdk/auto-reply/reply/reply-threading.d.ts +9 -0
- package/dist/plugin-sdk/auto-reply/reply/response-prefix-template.d.ts +51 -0
- package/dist/plugin-sdk/auto-reply/reply/route-reply.d.ts +56 -0
- package/dist/plugin-sdk/auto-reply/reply/session-reset-prompt.d.ts +1 -0
- package/dist/plugin-sdk/auto-reply/reply/session-run-accounting.d.ts +11 -0
- package/dist/plugin-sdk/auto-reply/reply/session-updates.d.ts +18 -0
- package/dist/plugin-sdk/auto-reply/reply/session-usage.d.ts +21 -0
- package/dist/plugin-sdk/auto-reply/reply/session.d.ts +26 -0
- package/dist/plugin-sdk/auto-reply/reply/strip-inbound-meta.d.ts +27 -0
- package/dist/plugin-sdk/auto-reply/reply/subagents-utils.d.ts +26 -0
- package/dist/plugin-sdk/auto-reply/reply/typing-mode.d.ts +27 -0
- package/dist/plugin-sdk/auto-reply/reply/typing.d.ts +18 -0
- package/dist/plugin-sdk/auto-reply/reply/untrusted-context.d.ts +1 -0
- package/dist/plugin-sdk/auto-reply/reply.d.ts +5 -0
- package/dist/plugin-sdk/auto-reply/send-policy.d.ts +6 -0
- package/dist/plugin-sdk/auto-reply/status.d.ts +59 -0
- package/dist/plugin-sdk/auto-reply/templating.d.ts +159 -0
- package/dist/plugin-sdk/auto-reply/thinking.d.ts +22 -0
- package/dist/plugin-sdk/auto-reply/tokens.d.ts +3 -0
- package/dist/plugin-sdk/auto-reply/types.d.ts +82 -0
- package/dist/plugin-sdk/channel-web.d.ts +6 -0
- package/dist/plugin-sdk/channels/account-summary.d.ts +17 -0
- package/dist/plugin-sdk/channels/ack-reactions.d.ts +29 -0
- package/dist/plugin-sdk/channels/allow-from.d.ts +11 -0
- package/dist/plugin-sdk/channels/allowlist-match.d.ts +16 -0
- package/dist/plugin-sdk/channels/allowlists/resolve-utils.d.ts +33 -0
- package/dist/plugin-sdk/channels/channel-config.d.ts +39 -0
- package/dist/plugin-sdk/channels/chat-type.d.ts +2 -0
- package/dist/plugin-sdk/channels/command-gating.d.ts +20 -0
- package/dist/plugin-sdk/channels/conversation-label.d.ts +2 -0
- package/dist/plugin-sdk/channels/dock.d.ts +25 -0
- package/dist/plugin-sdk/channels/draft-stream-controls.d.ts +54 -0
- package/dist/plugin-sdk/channels/draft-stream-loop.d.ts +13 -0
- package/dist/plugin-sdk/channels/location.d.ts +21 -0
- package/dist/plugin-sdk/channels/logging.d.ts +20 -0
- package/dist/plugin-sdk/channels/mention-gating.d.ts +27 -0
- package/dist/plugin-sdk/channels/model-overrides.d.ts +18 -0
- package/dist/plugin-sdk/channels/plugins/account-action-gate.d.ts +5 -0
- package/dist/plugin-sdk/channels/plugins/account-helpers.d.ts +6 -0
- package/dist/plugin-sdk/channels/plugins/actions/discord/handle-action.d.ts +3 -0
- package/dist/plugin-sdk/channels/plugins/actions/discord/handle-action.guild-admin.d.ts +9 -0
- package/dist/plugin-sdk/channels/plugins/actions/discord.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/actions/shared.d.ts +7 -0
- package/dist/plugin-sdk/channels/plugins/actions/signal.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/actions/telegram.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/agent-tools/whatsapp-login.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/allowlist-match.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/bluebubbles-actions.d.ts +48 -0
- package/dist/plugin-sdk/channels/plugins/channel-config.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/config-helpers.d.ts +14 -0
- package/dist/plugin-sdk/channels/plugins/config-schema.d.ts +3 -0
- package/dist/plugin-sdk/channels/plugins/config-writes.d.ts +7 -0
- package/dist/plugin-sdk/channels/plugins/directory-config.d.ts +16 -0
- package/dist/plugin-sdk/channels/plugins/group-mentions.d.ts +18 -0
- package/dist/plugin-sdk/channels/plugins/helpers.d.ts +8 -0
- package/dist/plugin-sdk/channels/plugins/index.d.ts +8 -0
- package/dist/plugin-sdk/channels/plugins/media-limits.d.ts +9 -0
- package/dist/plugin-sdk/channels/plugins/media-payload.d.ts +15 -0
- package/dist/plugin-sdk/channels/plugins/message-action-names.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/normalize/discord.d.ts +14 -0
- package/dist/plugin-sdk/channels/plugins/normalize/imessage.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/normalize/shared.d.ts +6 -0
- package/dist/plugin-sdk/channels/plugins/normalize/signal.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/normalize/slack.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/normalize/telegram.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/normalize/whatsapp.d.ts +3 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/channel-access-configure.d.ts +21 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/channel-access.d.ts +31 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/discord.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/helpers.d.ts +177 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/imessage.d.ts +6 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/signal.d.ts +7 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/slack.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/telegram.d.ts +4 -0
- package/dist/plugin-sdk/channels/plugins/onboarding/whatsapp.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/onboarding-types.d.ts +77 -0
- package/dist/plugin-sdk/channels/plugins/outbound/load.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/pairing-message.d.ts +1 -0
- package/dist/plugin-sdk/channels/plugins/pairing.d.ts +16 -0
- package/dist/plugin-sdk/channels/plugins/registry-loader.d.ts +5 -0
- package/dist/plugin-sdk/channels/plugins/setup-helpers.d.ts +13 -0
- package/dist/plugin-sdk/channels/plugins/status-issues/bluebubbles.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/status-issues/discord.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/status-issues/shared.d.ts +29 -0
- package/dist/plugin-sdk/channels/plugins/status-issues/telegram.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/status-issues/whatsapp.d.ts +2 -0
- package/dist/plugin-sdk/channels/plugins/types.adapters.d.ts +288 -0
- package/dist/plugin-sdk/channels/plugins/types.core.d.ts +349 -0
- package/dist/plugin-sdk/channels/plugins/types.d.ts +6 -0
- package/dist/plugin-sdk/channels/plugins/types.plugin.d.ts +54 -0
- package/dist/plugin-sdk/channels/plugins/whatsapp-heartbeat.d.ts +11 -0
- package/dist/plugin-sdk/channels/plugins/whatsapp-shared.d.ts +5 -0
- package/dist/plugin-sdk/channels/registry.d.ts +15 -0
- package/dist/plugin-sdk/channels/reply-prefix.d.ts +24 -0
- package/dist/plugin-sdk/channels/sender-label.d.ts +9 -0
- package/dist/plugin-sdk/channels/session.d.ts +18 -0
- package/dist/plugin-sdk/channels/status-reactions.d.ts +62 -0
- package/dist/plugin-sdk/channels/targets.d.ts +42 -0
- package/dist/plugin-sdk/channels/telegram/api.d.ts +5 -0
- package/dist/plugin-sdk/channels/typing-lifecycle.d.ts +12 -0
- package/dist/plugin-sdk/channels/typing.d.ts +13 -0
- package/dist/plugin-sdk/channels/web/index.d.ts +1 -0
- package/dist/plugin-sdk/cli/cli-name.d.ts +3 -0
- package/dist/plugin-sdk/cli/command-format.d.ts +1 -0
- package/dist/plugin-sdk/cli/deps.d.ts +18 -0
- package/dist/plugin-sdk/cli/outbound-send-deps.d.ts +4 -0
- package/dist/plugin-sdk/cli/outbound-send-mapping.d.ts +10 -0
- package/dist/plugin-sdk/cli/parse-bytes.d.ts +4 -0
- package/dist/plugin-sdk/cli/parse-duration.d.ts +4 -0
- package/dist/plugin-sdk/cli/profile-utils.d.ts +2 -0
- package/dist/plugin-sdk/cli/progress.d.ts +24 -0
- package/dist/plugin-sdk/cli/wait.d.ts +1 -0
- package/dist/plugin-sdk/commands/agent/delivery.d.ts +25 -0
- package/dist/plugin-sdk/commands/agent/run-context.d.ts +2 -0
- package/dist/plugin-sdk/commands/agent/session-store.d.ts +16 -0
- package/dist/plugin-sdk/commands/agent/session.d.ts +33 -0
- package/dist/plugin-sdk/commands/agent/types.d.ts +89 -0
- package/dist/plugin-sdk/commands/agent.d.ts +14 -0
- package/dist/plugin-sdk/commands/daemon-runtime.d.ts +8 -0
- package/dist/plugin-sdk/commands/health.d.ts +63 -0
- package/dist/plugin-sdk/commands/oauth-flow.d.ts +21 -0
- package/dist/plugin-sdk/commands/onboard-helpers.d.ts +81 -0
- package/dist/plugin-sdk/commands/onboard-types.d.ts +69 -0
- package/dist/plugin-sdk/commands/signal-install.d.ts +30 -0
- package/dist/plugin-sdk/compat/legacy-names.d.ts +8 -0
- package/dist/plugin-sdk/config/agent-dirs.d.ts +14 -0
- package/dist/plugin-sdk/config/agent-limits.d.ts +6 -0
- package/dist/plugin-sdk/config/backup-rotation.d.ts +5 -0
- package/dist/plugin-sdk/config/cache-utils.d.ts +6 -0
- package/dist/plugin-sdk/config/commands.d.ts +20 -0
- package/dist/plugin-sdk/config/config-paths.d.ts +10 -0
- package/dist/plugin-sdk/config/config.d.ts +7 -0
- package/dist/plugin-sdk/config/dangerous-name-matching.d.ts +12 -0
- package/dist/plugin-sdk/config/defaults.d.ts +19 -0
- package/dist/plugin-sdk/config/discord-preview-streaming.d.ts +25 -0
- package/dist/plugin-sdk/config/env-preserve.d.ts +10 -0
- package/dist/plugin-sdk/config/env-substitution.d.ts +36 -0
- package/dist/plugin-sdk/config/env-vars.d.ts +6 -0
- package/dist/plugin-sdk/config/group-policy.d.ts +49 -0
- package/dist/plugin-sdk/config/includes.d.ts +32 -0
- package/dist/plugin-sdk/config/io.d.ts +60 -0
- package/dist/plugin-sdk/config/legacy-migrate.d.ts +5 -0
- package/dist/plugin-sdk/config/legacy.d.ts +6 -0
- package/dist/plugin-sdk/config/legacy.migrations.d.ts +1 -0
- package/dist/plugin-sdk/config/legacy.migrations.part-1.d.ts +2 -0
- package/dist/plugin-sdk/config/legacy.migrations.part-2.d.ts +2 -0
- package/dist/plugin-sdk/config/legacy.migrations.part-3.d.ts +2 -0
- package/dist/plugin-sdk/config/legacy.rules.d.ts +2 -0
- package/dist/plugin-sdk/config/legacy.shared.d.ts +19 -0
- package/dist/plugin-sdk/config/markdown-tables.d.ts +7 -0
- package/dist/plugin-sdk/config/merge-config.d.ts +7 -0
- package/dist/plugin-sdk/config/merge-patch.d.ts +5 -0
- package/dist/plugin-sdk/config/model-input.d.ts +9 -0
- package/dist/plugin-sdk/config/normalize-paths.d.ts +8 -0
- package/dist/plugin-sdk/config/paths.d.ts +57 -0
- package/dist/plugin-sdk/config/prototype-keys.d.ts +1 -0
- package/dist/plugin-sdk/config/runtime-group-policy.d.ts +56 -0
- package/dist/plugin-sdk/config/runtime-overrides.d.ts +15 -0
- package/dist/plugin-sdk/config/sessions/artifacts.d.ts +5 -0
- package/dist/plugin-sdk/config/sessions/constants.d.ts +2 -0
- package/dist/plugin-sdk/config/sessions/delivery-info.d.ts +16 -0
- package/dist/plugin-sdk/config/sessions/disk-budget.d.ts +28 -0
- package/dist/plugin-sdk/config/sessions/group.d.ts +11 -0
- package/dist/plugin-sdk/config/sessions/main-session.d.ts +43 -0
- package/dist/plugin-sdk/config/sessions/metadata.d.ts +16 -0
- package/dist/plugin-sdk/config/sessions/paths.d.ts +21 -0
- package/dist/plugin-sdk/config/sessions/reset.d.ts +43 -0
- package/dist/plugin-sdk/config/sessions/session-file.d.ts +15 -0
- package/dist/plugin-sdk/config/sessions/session-key.d.ts +8 -0
- package/dist/plugin-sdk/config/sessions/store.d.ts +123 -0
- package/dist/plugin-sdk/config/sessions/transcript.d.ts +18 -0
- package/dist/plugin-sdk/config/sessions/types.d.ts +160 -0
- package/dist/plugin-sdk/config/sessions.d.ts +13 -0
- package/dist/plugin-sdk/config/talk.d.ts +21 -0
- package/dist/plugin-sdk/config/telegram-custom-commands.d.ts +24 -0
- package/dist/plugin-sdk/config/types.agent-defaults.d.ts +268 -0
- package/dist/plugin-sdk/config/types.agents-shared.d.ts +49 -0
- package/dist/plugin-sdk/config/types.agents.d.ts +57 -0
- package/dist/plugin-sdk/config/types.approvals.d.ts +26 -0
- package/dist/plugin-sdk/config/types.auth.d.ts +28 -0
- package/dist/plugin-sdk/config/types.base.d.ts +203 -0
- package/dist/plugin-sdk/config/types.browser.d.ts +65 -0
- package/dist/plugin-sdk/config/types.channel-messaging-common.d.ts +44 -0
- package/dist/plugin-sdk/config/types.channels.d.ts +53 -0
- package/dist/plugin-sdk/config/types.cron.d.ts +26 -0
- package/dist/plugin-sdk/config/types.d.ts +27 -0
- package/dist/plugin-sdk/config/types.discord.d.ts +273 -0
- package/dist/plugin-sdk/config/types.gateway.d.ts +335 -0
- package/dist/plugin-sdk/config/types.googlechat.d.ts +107 -0
- package/dist/plugin-sdk/config/types.hooks.d.ts +123 -0
- package/dist/plugin-sdk/config/types.imessage.d.ts +77 -0
- package/dist/plugin-sdk/config/types.installs.d.ts +14 -0
- package/dist/plugin-sdk/config/types.irc.d.ts +54 -0
- package/dist/plugin-sdk/config/types.messages.d.ts +154 -0
- package/dist/plugin-sdk/config/types.models.d.ts +41 -0
- package/dist/plugin-sdk/config/types.msteams.d.ts +108 -0
- package/dist/plugin-sdk/config/types.node-host.d.ts +10 -0
- package/dist/plugin-sdk/config/types.plugins.d.ts +23 -0
- package/dist/plugin-sdk/config/types.queue.d.ts +14 -0
- package/dist/plugin-sdk/config/types.remoteclaw.d.ts +119 -0
- package/dist/plugin-sdk/config/types.signal.d.ts +46 -0
- package/dist/plugin-sdk/config/types.slack.d.ts +181 -0
- package/dist/plugin-sdk/config/types.telegram.d.ts +191 -0
- package/dist/plugin-sdk/config/types.tools.d.ts +322 -0
- package/dist/plugin-sdk/config/types.tts.d.ts +78 -0
- package/dist/plugin-sdk/config/types.whatsapp.d.ts +101 -0
- package/dist/plugin-sdk/config/validation.d.ts +37 -0
- package/dist/plugin-sdk/config/version.d.ts +8 -0
- package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +156 -0
- package/dist/plugin-sdk/config/zod-schema.agent-model.d.ts +5 -0
- package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +500 -0
- package/dist/plugin-sdk/config/zod-schema.agents.d.ts +298 -0
- package/dist/plugin-sdk/config/zod-schema.allowdeny.d.ts +13 -0
- package/dist/plugin-sdk/config/zod-schema.approvals.d.ts +15 -0
- package/dist/plugin-sdk/config/zod-schema.channels.d.ts +6 -0
- package/dist/plugin-sdk/config/zod-schema.core.d.ts +583 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +3434 -0
- package/dist/plugin-sdk/config/zod-schema.hooks.d.ts +85 -0
- package/dist/plugin-sdk/config/zod-schema.installs.d.ts +16 -0
- package/dist/plugin-sdk/config/zod-schema.providers-core.d.ts +3693 -0
- package/dist/plugin-sdk/config/zod-schema.providers-whatsapp.d.ts +235 -0
- package/dist/plugin-sdk/config/zod-schema.providers.d.ts +2200 -0
- package/dist/plugin-sdk/config/zod-schema.sensitive.d.ts +2 -0
- package/dist/plugin-sdk/config/zod-schema.session.d.ts +234 -0
- package/dist/plugin-sdk/cron/delivery.d.ts +9 -0
- package/dist/plugin-sdk/cron/legacy-delivery.d.ts +3 -0
- package/dist/plugin-sdk/cron/parse.d.ts +1 -0
- package/dist/plugin-sdk/cron/payload-migration.d.ts +3 -0
- package/dist/plugin-sdk/cron/schedule.d.ts +2 -0
- package/dist/plugin-sdk/cron/service/jobs.d.ts +21 -0
- package/dist/plugin-sdk/cron/service/locked.d.ts +2 -0
- package/dist/plugin-sdk/cron/service/normalize.d.ts +18 -0
- package/dist/plugin-sdk/cron/service/ops.d.ts +81 -0
- package/dist/plugin-sdk/cron/service/state.d.ts +125 -0
- package/dist/plugin-sdk/cron/service/store.d.ts +9 -0
- package/dist/plugin-sdk/cron/service/timer.d.ts +47 -0
- package/dist/plugin-sdk/cron/service.d.ts +66 -0
- package/dist/plugin-sdk/cron/session-reaper.d.ts +35 -0
- package/dist/plugin-sdk/cron/stagger.d.ts +8 -0
- package/dist/plugin-sdk/cron/store.d.ts +6 -0
- package/dist/plugin-sdk/cron/types.d.ts +131 -0
- package/dist/plugin-sdk/cron/webhook-url.d.ts +1 -0
- package/dist/plugin-sdk/daemon/constants.d.ts +35 -0
- package/dist/plugin-sdk/discord/accounts.d.ts +21 -0
- package/dist/plugin-sdk/discord/api.d.ts +11 -0
- package/dist/plugin-sdk/discord/audit.d.ts +29 -0
- package/dist/plugin-sdk/discord/chunk.d.ts +20 -0
- package/dist/plugin-sdk/discord/client.d.ts +21 -0
- package/dist/plugin-sdk/discord/components-registry.d.ts +16 -0
- package/dist/plugin-sdk/discord/components.d.ts +196 -0
- package/dist/plugin-sdk/discord/directory-live.d.ts +4 -0
- package/dist/plugin-sdk/discord/draft-chunking.d.ts +6 -0
- package/dist/plugin-sdk/discord/draft-stream.d.ts +21 -0
- package/dist/plugin-sdk/discord/gateway-logging.d.ts +8 -0
- package/dist/plugin-sdk/discord/guilds.d.ts +6 -0
- package/dist/plugin-sdk/discord/monitor/agent-components.d.ts +55 -0
- package/dist/plugin-sdk/discord/monitor/allow-list.d.ts +176 -0
- package/dist/plugin-sdk/discord/monitor/commands.d.ts +2 -0
- package/dist/plugin-sdk/discord/monitor/format.d.ts +13 -0
- package/dist/plugin-sdk/discord/monitor/gateway-plugin.d.ts +8 -0
- package/dist/plugin-sdk/discord/monitor/gateway-registry.d.ts +9 -0
- package/dist/plugin-sdk/discord/monitor/listeners.d.ts +44 -0
- package/dist/plugin-sdk/discord/monitor/message-handler.d.ts +5 -0
- package/dist/plugin-sdk/discord/monitor/message-handler.preflight.d.ts +14 -0
- package/dist/plugin-sdk/discord/monitor/message-handler.preflight.types.d.ts +95 -0
- package/dist/plugin-sdk/discord/monitor/message-handler.process.d.ts +2 -0
- package/dist/plugin-sdk/discord/monitor/message-utils.d.ts +40 -0
- package/dist/plugin-sdk/discord/monitor/native-command.d.ts +23 -0
- package/dist/plugin-sdk/discord/monitor/presence-cache.d.ts +9 -0
- package/dist/plugin-sdk/discord/monitor/presence.d.ts +5 -0
- package/dist/plugin-sdk/discord/monitor/provider.allowlist.d.ts +14 -0
- package/dist/plugin-sdk/discord/monitor/provider.d.ts +28 -0
- package/dist/plugin-sdk/discord/monitor/provider.lifecycle.d.ts +23 -0
- package/dist/plugin-sdk/discord/monitor/reply-context.d.ts +17 -0
- package/dist/plugin-sdk/discord/monitor/reply-delivery.d.ts +22 -0
- package/dist/plugin-sdk/discord/monitor/rest-fetch.d.ts +2 -0
- package/dist/plugin-sdk/discord/monitor/sender-identity.d.ts +31 -0
- package/dist/plugin-sdk/discord/monitor/system-events.d.ts +2 -0
- package/dist/plugin-sdk/discord/monitor/thread-bindings.d.ts +5 -0
- package/dist/plugin-sdk/discord/monitor/thread-bindings.discord-api.d.ts +36 -0
- package/dist/plugin-sdk/discord/monitor/thread-bindings.lifecycle.d.ts +30 -0
- package/dist/plugin-sdk/discord/monitor/thread-bindings.manager.d.ts +17 -0
- package/dist/plugin-sdk/discord/monitor/thread-bindings.messages.d.ts +17 -0
- package/dist/plugin-sdk/discord/monitor/thread-bindings.state.d.ts +61 -0
- package/dist/plugin-sdk/discord/monitor/thread-bindings.types.d.ts +64 -0
- package/dist/plugin-sdk/discord/monitor/threading.d.ts +106 -0
- package/dist/plugin-sdk/discord/monitor/typing.d.ts +5 -0
- package/dist/plugin-sdk/discord/monitor.d.ts +10 -0
- package/dist/plugin-sdk/discord/monitor.gateway.d.ts +12 -0
- package/dist/plugin-sdk/discord/pluralkit.d.ts +26 -0
- package/dist/plugin-sdk/discord/probe.d.ts +28 -0
- package/dist/plugin-sdk/discord/resolve-channels.d.ts +15 -0
- package/dist/plugin-sdk/discord/resolve-users.d.ts +14 -0
- package/dist/plugin-sdk/discord/send.channels.d.ts +17 -0
- package/dist/plugin-sdk/discord/send.components.d.ts +17 -0
- package/dist/plugin-sdk/discord/send.d.ts +10 -0
- package/dist/plugin-sdk/discord/send.emojis-stickers.d.ts +4 -0
- package/dist/plugin-sdk/discord/send.guild.d.ts +24 -0
- package/dist/plugin-sdk/discord/send.messages.d.ts +20 -0
- package/dist/plugin-sdk/discord/send.outbound.d.ts +57 -0
- package/dist/plugin-sdk/discord/send.permissions.d.ts +20 -0
- package/dist/plugin-sdk/discord/send.reactions.d.ts +15 -0
- package/dist/plugin-sdk/discord/send.shared.d.ts +85 -0
- package/dist/plugin-sdk/discord/send.types.d.ts +144 -0
- package/dist/plugin-sdk/discord/targets.d.ts +18 -0
- package/dist/plugin-sdk/discord/token.d.ts +11 -0
- package/dist/plugin-sdk/discord/voice/command.d.ts +15 -0
- package/dist/plugin-sdk/discord/voice/manager.d.ts +52 -0
- package/dist/plugin-sdk/discord/voice-message.d.ts +50 -0
- package/dist/plugin-sdk/gateway/call.d.ts +65 -0
- package/dist/plugin-sdk/gateway/chat-abort.d.ts +44 -0
- package/dist/plugin-sdk/gateway/chat-sanitize.d.ts +4 -0
- package/dist/plugin-sdk/gateway/client.d.ts +64 -0
- package/dist/plugin-sdk/gateway/control-ui-shared.d.ts +9 -0
- package/dist/plugin-sdk/gateway/credentials.d.ts +36 -0
- package/dist/plugin-sdk/gateway/device-auth.d.ts +11 -0
- package/dist/plugin-sdk/gateway/method-scopes.d.ts +22 -0
- package/dist/plugin-sdk/gateway/net.d.ts +77 -0
- package/dist/plugin-sdk/gateway/node-registry.d.ts +60 -0
- package/dist/plugin-sdk/gateway/protocol/client-info.d.ts +58 -0
- package/dist/plugin-sdk/gateway/protocol/index.d.ts +497 -0
- package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +89 -0
- package/dist/plugin-sdk/gateway/protocol/schema/agents-models-skills.d.ts +188 -0
- package/dist/plugin-sdk/gateway/protocol/schema/channels.d.ts +134 -0
- package/dist/plugin-sdk/gateway/protocol/schema/config.d.ts +53 -0
- package/dist/plugin-sdk/gateway/protocol/schema/cron.d.ts +324 -0
- package/dist/plugin-sdk/gateway/protocol/schema/devices.d.ts +41 -0
- package/dist/plugin-sdk/gateway/protocol/schema/error-codes.d.ts +14 -0
- package/dist/plugin-sdk/gateway/protocol/schema/frames.d.ts +168 -0
- package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +45 -0
- package/dist/plugin-sdk/gateway/protocol/schema/nodes.d.ts +64 -0
- package/dist/plugin-sdk/gateway/protocol/schema/primitives.d.ts +4 -0
- package/dist/plugin-sdk/gateway/protocol/schema/protocol-schemas.d.ts +3 -0
- package/dist/plugin-sdk/gateway/protocol/schema/push.d.ts +15 -0
- package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +81 -0
- package/dist/plugin-sdk/gateway/protocol/schema/snapshot.d.ts +69 -0
- package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +120 -0
- package/dist/plugin-sdk/gateway/protocol/schema/wizard.d.ts +86 -0
- package/dist/plugin-sdk/gateway/protocol/schema.d.ts +16 -0
- package/dist/plugin-sdk/gateway/server/ws-types.d.ts +9 -0
- package/dist/plugin-sdk/gateway/server-broadcast.d.ts +17 -0
- package/dist/plugin-sdk/gateway/server-channels.d.ts +26 -0
- package/dist/plugin-sdk/gateway/server-constants.d.ts +10 -0
- package/dist/plugin-sdk/gateway/server-methods/types.d.ts +84 -0
- package/dist/plugin-sdk/gateway/server-shared.d.ts +7 -0
- package/dist/plugin-sdk/gateway/session-utils.fs.d.ts +48 -0
- package/dist/plugin-sdk/gateway/session-utils.types.d.ts +84 -0
- package/dist/plugin-sdk/gateway/ws-log.d.ts +5 -0
- package/dist/plugin-sdk/gateway/ws-logging.d.ts +4 -0
- package/dist/plugin-sdk/globals.d.ts +11 -0
- package/dist/plugin-sdk/hooks/internal-hooks.d.ts +140 -0
- package/dist/plugin-sdk/hooks/types.d.ts +62 -0
- package/dist/plugin-sdk/imessage/accounts.d.ts +16 -0
- package/dist/plugin-sdk/imessage/client.d.ts +46 -0
- package/dist/plugin-sdk/imessage/constants.d.ts +2 -0
- package/dist/plugin-sdk/imessage/monitor/abort-handler.d.ts +9 -0
- package/dist/plugin-sdk/imessage/monitor/deliver.d.ts +14 -0
- package/dist/plugin-sdk/imessage/monitor/echo-cache.d.ts +9 -0
- package/dist/plugin-sdk/imessage/monitor/inbound-processing.d.ts +96 -0
- package/dist/plugin-sdk/imessage/monitor/monitor-provider.d.ts +7 -0
- package/dist/plugin-sdk/imessage/monitor/parse-notification.d.ts +2 -0
- package/dist/plugin-sdk/imessage/monitor/runtime.d.ts +4 -0
- package/dist/plugin-sdk/imessage/monitor/types.d.ts +37 -0
- package/dist/plugin-sdk/imessage/monitor.d.ts +2 -0
- package/dist/plugin-sdk/imessage/probe.d.ts +17 -0
- package/dist/plugin-sdk/imessage/send.d.ts +34 -0
- package/dist/plugin-sdk/imessage/target-parsing-helpers.d.ts +45 -0
- package/dist/plugin-sdk/imessage/targets.d.ts +39 -0
- package/dist/plugin-sdk/index.d.ts +1 -0
- package/dist/plugin-sdk/index.js +24645 -0
- package/dist/plugin-sdk/infra/agent-events.d.ts +21 -0
- package/dist/plugin-sdk/infra/archive-path.d.ts +12 -0
- package/dist/plugin-sdk/infra/archive.d.ts +46 -0
- package/dist/plugin-sdk/infra/backoff.d.ts +8 -0
- package/dist/plugin-sdk/infra/brew.d.ts +8 -0
- package/dist/plugin-sdk/infra/channel-activity.d.ts +18 -0
- package/dist/plugin-sdk/infra/channel-summary.d.ts +6 -0
- package/dist/plugin-sdk/infra/dedupe.d.ts +12 -0
- package/dist/plugin-sdk/infra/device-auth-store.d.ts +18 -0
- package/dist/plugin-sdk/infra/device-identity.d.ts +11 -0
- package/dist/plugin-sdk/infra/device-pairing.d.ts +101 -0
- package/dist/plugin-sdk/infra/diagnostic-events.d.ts +140 -0
- package/dist/plugin-sdk/infra/diagnostic-flags.d.ts +4 -0
- package/dist/plugin-sdk/infra/dotenv.d.ts +3 -0
- package/dist/plugin-sdk/infra/env.d.ts +11 -0
- package/dist/plugin-sdk/infra/errors.d.ts +11 -0
- package/dist/plugin-sdk/infra/fetch.d.ts +2 -0
- package/dist/plugin-sdk/infra/file-identity.d.ts +5 -0
- package/dist/plugin-sdk/infra/file-lock.d.ts +2 -0
- package/dist/plugin-sdk/infra/format-time/format-datetime.d.ts +35 -0
- package/dist/plugin-sdk/infra/format-time/format-duration.d.ts +23 -0
- package/dist/plugin-sdk/infra/format-time/format-relative.d.ts +39 -0
- package/dist/plugin-sdk/infra/fs-safe.d.ts +25 -0
- package/dist/plugin-sdk/infra/gemini-auth.d.ts +16 -0
- package/dist/plugin-sdk/infra/git-commit.d.ts +4 -0
- package/dist/plugin-sdk/infra/git-root.d.ts +7 -0
- package/dist/plugin-sdk/infra/heartbeat-active-hours.d.ts +5 -0
- package/dist/plugin-sdk/infra/heartbeat-events-filter.d.ts +8 -0
- package/dist/plugin-sdk/infra/heartbeat-events.d.ts +21 -0
- package/dist/plugin-sdk/infra/heartbeat-reason.d.ts +5 -0
- package/dist/plugin-sdk/infra/heartbeat-runner.d.ts +45 -0
- package/dist/plugin-sdk/infra/heartbeat-visibility.d.ts +17 -0
- package/dist/plugin-sdk/infra/heartbeat-wake.d.ts +31 -0
- package/dist/plugin-sdk/infra/home-dir.d.ts +7 -0
- package/dist/plugin-sdk/infra/host-env-security.d.ts +21 -0
- package/dist/plugin-sdk/infra/http-body.d.ts +46 -0
- package/dist/plugin-sdk/infra/json-file.d.ts +2 -0
- package/dist/plugin-sdk/infra/json-files.d.ts +5 -0
- package/dist/plugin-sdk/infra/map-size.d.ts +1 -0
- package/dist/plugin-sdk/infra/net/fetch-guard.d.ts +21 -0
- package/dist/plugin-sdk/infra/net/hostname.d.ts +1 -0
- package/dist/plugin-sdk/infra/net/ssrf.d.ts +35 -0
- package/dist/plugin-sdk/infra/outbound/abort.d.ts +8 -0
- package/dist/plugin-sdk/infra/outbound/agent-delivery.d.ts +46 -0
- package/dist/plugin-sdk/infra/outbound/bound-delivery-router.d.ts +16 -0
- package/dist/plugin-sdk/infra/outbound/channel-selection.d.ts +11 -0
- package/dist/plugin-sdk/infra/outbound/channel-target.d.ts +6 -0
- package/dist/plugin-sdk/infra/outbound/deliver.d.ts +81 -0
- package/dist/plugin-sdk/infra/outbound/delivery-queue.d.ts +78 -0
- package/dist/plugin-sdk/infra/outbound/directory-cache.d.ts +24 -0
- package/dist/plugin-sdk/infra/outbound/envelope.d.ts +16 -0
- package/dist/plugin-sdk/infra/outbound/format.d.ts +39 -0
- package/dist/plugin-sdk/infra/outbound/identity.d.ts +8 -0
- package/dist/plugin-sdk/infra/outbound/message-action-spec.d.ts +5 -0
- package/dist/plugin-sdk/infra/outbound/payloads.d.ts +18 -0
- package/dist/plugin-sdk/infra/outbound/session-binding-service.d.ts +57 -0
- package/dist/plugin-sdk/infra/outbound/target-errors.d.ts +6 -0
- package/dist/plugin-sdk/infra/outbound/target-normalization.d.ts +4 -0
- package/dist/plugin-sdk/infra/outbound/target-resolver.d.ts +53 -0
- package/dist/plugin-sdk/infra/outbound/targets.d.ts +87 -0
- package/dist/plugin-sdk/infra/pairing-files.d.ts +23 -0
- package/dist/plugin-sdk/infra/pairing-pending.d.ts +13 -0
- package/dist/plugin-sdk/infra/pairing-token.d.ts +3 -0
- package/dist/plugin-sdk/infra/path-guards.d.ts +5 -0
- package/dist/plugin-sdk/infra/path-safety.d.ts +2 -0
- package/dist/plugin-sdk/infra/plain-object.d.ts +4 -0
- package/dist/plugin-sdk/infra/prototype-keys.d.ts +1 -0
- package/dist/plugin-sdk/infra/provider-usage.auth.d.ts +11 -0
- package/dist/plugin-sdk/infra/provider-usage.d.ts +4 -0
- package/dist/plugin-sdk/infra/provider-usage.fetch.claude.d.ts +2 -0
- package/dist/plugin-sdk/infra/provider-usage.fetch.codex.d.ts +2 -0
- package/dist/plugin-sdk/infra/provider-usage.fetch.copilot.d.ts +2 -0
- package/dist/plugin-sdk/infra/provider-usage.fetch.d.ts +6 -0
- package/dist/plugin-sdk/infra/provider-usage.fetch.gemini.d.ts +2 -0
- package/dist/plugin-sdk/infra/provider-usage.fetch.minimax.d.ts +2 -0
- package/dist/plugin-sdk/infra/provider-usage.fetch.shared.d.ts +12 -0
- package/dist/plugin-sdk/infra/provider-usage.fetch.zai.d.ts +2 -0
- package/dist/plugin-sdk/infra/provider-usage.format.d.ts +13 -0
- package/dist/plugin-sdk/infra/provider-usage.load.d.ts +12 -0
- package/dist/plugin-sdk/infra/provider-usage.shared.d.ts +8 -0
- package/dist/plugin-sdk/infra/provider-usage.types.d.ts +17 -0
- package/dist/plugin-sdk/infra/restart.d.ts +70 -0
- package/dist/plugin-sdk/infra/retry-policy.d.ts +25 -0
- package/dist/plugin-sdk/infra/retry.d.ts +21 -0
- package/dist/plugin-sdk/infra/safe-executable-value.d.ts +1 -0
- package/dist/plugin-sdk/infra/scp-host.d.ts +2 -0
- package/dist/plugin-sdk/infra/secure-random.d.ts +2 -0
- package/dist/plugin-sdk/infra/session-cost-usage.d.ts +45 -0
- package/dist/plugin-sdk/infra/session-cost-usage.types.d.ts +153 -0
- package/dist/plugin-sdk/infra/session-maintenance-warning.d.ts +10 -0
- package/dist/plugin-sdk/infra/shell-env.d.ts +34 -0
- package/dist/plugin-sdk/infra/system-events.d.ts +18 -0
- package/dist/plugin-sdk/infra/tailnet.d.ts +8 -0
- package/dist/plugin-sdk/infra/tls/fingerprint.d.ts +1 -0
- package/dist/plugin-sdk/infra/tls/gateway.d.ts +16 -0
- package/dist/plugin-sdk/infra/tmp-remoteclaw-dir.d.ts +18 -0
- package/dist/plugin-sdk/infra/transport-ready.d.ts +16 -0
- package/dist/plugin-sdk/infra/unhandled-rejections.d.ts +15 -0
- package/dist/plugin-sdk/infra/ws.d.ts +2 -0
- package/dist/plugin-sdk/infra/wsl.d.ts +11 -0
- package/dist/plugin-sdk/line/accounts.d.ts +10 -0
- package/dist/plugin-sdk/line/actions.d.ts +22 -0
- package/dist/plugin-sdk/line/auto-reply-delivery.d.ts +38 -0
- package/dist/plugin-sdk/line/bot-access.d.ts +17 -0
- package/dist/plugin-sdk/line/bot-handlers.d.ts +13 -0
- package/dist/plugin-sdk/line/bot-message-context.d.ts +118 -0
- package/dist/plugin-sdk/line/bot.d.ts +24 -0
- package/dist/plugin-sdk/line/channel-access-token.d.ts +4 -0
- package/dist/plugin-sdk/line/config-schema.d.ts +64 -0
- package/dist/plugin-sdk/line/download.d.ts +7 -0
- package/dist/plugin-sdk/line/flex-templates/basic-cards.d.ts +46 -0
- package/dist/plugin-sdk/line/flex-templates/common.d.ts +2 -0
- package/dist/plugin-sdk/line/flex-templates/media-control-cards.d.ts +73 -0
- package/dist/plugin-sdk/line/flex-templates/message.d.ts +6 -0
- package/dist/plugin-sdk/line/flex-templates/schedule-cards.d.ts +55 -0
- package/dist/plugin-sdk/line/flex-templates/types.d.ts +19 -0
- package/dist/plugin-sdk/line/flex-templates.d.ts +5 -0
- package/dist/plugin-sdk/line/markdown-to-line.d.ts +72 -0
- package/dist/plugin-sdk/line/monitor.d.ts +28 -0
- package/dist/plugin-sdk/line/probe.d.ts +2 -0
- package/dist/plugin-sdk/line/reply-chunks.d.ts +24 -0
- package/dist/plugin-sdk/line/send.d.ts +91 -0
- package/dist/plugin-sdk/line/signature.d.ts +1 -0
- package/dist/plugin-sdk/line/template-messages.d.ts +100 -0
- package/dist/plugin-sdk/line/types.d.ts +113 -0
- package/dist/plugin-sdk/line/webhook-node.d.ts +15 -0
- package/dist/plugin-sdk/line/webhook-utils.d.ts +3 -0
- package/dist/plugin-sdk/line/webhook.d.ts +19 -0
- package/dist/plugin-sdk/link-understanding/apply.d.ts +10 -0
- package/dist/plugin-sdk/link-understanding/defaults.d.ts +2 -0
- package/dist/plugin-sdk/link-understanding/detect.d.ts +3 -0
- package/dist/plugin-sdk/link-understanding/format.d.ts +4 -0
- package/dist/plugin-sdk/link-understanding/runner.d.ts +11 -0
- package/dist/plugin-sdk/logger.d.ts +6 -0
- package/dist/plugin-sdk/logging/config.d.ts +4 -0
- package/dist/plugin-sdk/logging/console.d.ts +23 -0
- package/dist/plugin-sdk/logging/diagnostic-session-state.d.ts +30 -0
- package/dist/plugin-sdk/logging/diagnostic.d.ts +65 -0
- package/dist/plugin-sdk/logging/env-log-level.d.ts +2 -0
- package/dist/plugin-sdk/logging/levels.d.ts +5 -0
- package/dist/plugin-sdk/logging/logger.d.ts +44 -0
- package/dist/plugin-sdk/logging/node-require.d.ts +1 -0
- package/dist/plugin-sdk/logging/redact-identifier.d.ts +4 -0
- package/dist/plugin-sdk/logging/redact.d.ts +9 -0
- package/dist/plugin-sdk/logging/state.d.ts +19 -0
- package/dist/plugin-sdk/logging/subsystem.d.ts +18 -0
- package/dist/plugin-sdk/logging/timestamps.d.ts +1 -0
- package/dist/plugin-sdk/logging.d.ts +10 -0
- package/dist/plugin-sdk/markdown/fences.d.ts +10 -0
- package/dist/plugin-sdk/markdown/ir.d.ts +32 -0
- package/dist/plugin-sdk/markdown/render.d.ts +18 -0
- package/dist/plugin-sdk/markdown/tables.d.ts +2 -0
- package/dist/plugin-sdk/markdown/whatsapp.d.ts +14 -0
- package/dist/plugin-sdk/media/audio-tags.d.ts +10 -0
- package/dist/plugin-sdk/media/audio.d.ts +19 -0
- package/dist/plugin-sdk/media/base64.d.ts +6 -0
- package/dist/plugin-sdk/media/constants.d.ts +7 -0
- package/dist/plugin-sdk/media/fetch.d.ts +23 -0
- package/dist/plugin-sdk/media/image-ops.d.ts +41 -0
- package/dist/plugin-sdk/media/inbound-path-policy.d.ts +18 -0
- package/dist/plugin-sdk/media/input-files.d.ts +95 -0
- package/dist/plugin-sdk/media/local-roots.d.ts +3 -0
- package/dist/plugin-sdk/media/mime.d.ts +16 -0
- package/dist/plugin-sdk/media/outbound-attachment.d.ts +6 -0
- package/dist/plugin-sdk/media/parse.d.ts +8 -0
- package/dist/plugin-sdk/media/png-encode.d.ts +8 -0
- package/dist/plugin-sdk/media/read-response-with-limit.d.ts +7 -0
- package/dist/plugin-sdk/media/store.d.ts +33 -0
- package/dist/plugin-sdk/media-understanding/apply.d.ts +19 -0
- package/dist/plugin-sdk/media-understanding/attachments.d.ts +49 -0
- package/dist/plugin-sdk/media-understanding/audio-preflight.d.ts +16 -0
- package/dist/plugin-sdk/media-understanding/concurrency.d.ts +1 -0
- package/dist/plugin-sdk/media-understanding/defaults.d.ts +12 -0
- package/dist/plugin-sdk/media-understanding/errors.d.ts +6 -0
- package/dist/plugin-sdk/media-understanding/format.d.ts +7 -0
- package/dist/plugin-sdk/media-understanding/fs.d.ts +1 -0
- package/dist/plugin-sdk/media-understanding/output-extract.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/anthropic/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/deepgram/audio.d.ts +4 -0
- package/dist/plugin-sdk/media-understanding/providers/deepgram/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/google/audio.d.ts +3 -0
- package/dist/plugin-sdk/media-understanding/providers/google/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/google/inline-data.d.ts +20 -0
- package/dist/plugin-sdk/media-understanding/providers/google/video.d.ts +3 -0
- package/dist/plugin-sdk/media-understanding/providers/groq/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/index.d.ts +4 -0
- package/dist/plugin-sdk/media-understanding/providers/minimax/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/mistral/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/moonshot/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/moonshot/video.d.ts +3 -0
- package/dist/plugin-sdk/media-understanding/providers/openai/audio.d.ts +3 -0
- package/dist/plugin-sdk/media-understanding/providers/openai/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/providers/shared.d.ts +20 -0
- package/dist/plugin-sdk/media-understanding/providers/zai/index.d.ts +2 -0
- package/dist/plugin-sdk/media-understanding/resolve.d.ts +44 -0
- package/dist/plugin-sdk/media-understanding/runner.d.ts +34 -0
- package/dist/plugin-sdk/media-understanding/runner.entries.d.ts +33 -0
- package/dist/plugin-sdk/media-understanding/scope.d.ts +9 -0
- package/dist/plugin-sdk/media-understanding/types.d.ts +74 -0
- package/dist/plugin-sdk/media-understanding/video.d.ts +2 -0
- package/dist/plugin-sdk/middleware/channel-bridge.d.ts +39 -0
- package/dist/plugin-sdk/middleware/cli-runtime-base.d.ts +35 -0
- package/dist/plugin-sdk/middleware/delivery-adapter.d.ts +36 -0
- package/dist/plugin-sdk/middleware/error-classifier.d.ts +14 -0
- package/dist/plugin-sdk/middleware/mcp-side-effects.d.ts +20 -0
- package/dist/plugin-sdk/middleware/runtime-factory.d.ts +4 -0
- package/dist/plugin-sdk/middleware/runtimes/claude.d.ts +27 -0
- package/dist/plugin-sdk/middleware/runtimes/codex.d.ts +74 -0
- package/dist/plugin-sdk/middleware/runtimes/gemini.d.ts +52 -0
- package/dist/plugin-sdk/middleware/runtimes/opencode.d.ts +54 -0
- package/dist/plugin-sdk/middleware/session-map.d.ts +36 -0
- package/dist/plugin-sdk/middleware/system-prompt.d.ts +30 -0
- package/dist/plugin-sdk/middleware/types.d.ts +188 -0
- package/dist/plugin-sdk/pairing/pairing-labels.d.ts +2 -0
- package/dist/plugin-sdk/pairing/pairing-messages.d.ts +6 -0
- package/dist/plugin-sdk/pairing/pairing-store.d.ts +48 -0
- package/dist/plugin-sdk/plugin-sdk/account-id.d.ts +1 -0
- package/dist/plugin-sdk/plugin-sdk/agent-media-payload.d.ts +12 -0
- package/dist/plugin-sdk/plugin-sdk/allow-from.d.ts +32 -0
- package/dist/plugin-sdk/plugin-sdk/command-auth.d.ts +25 -0
- package/dist/plugin-sdk/plugin-sdk/config-paths.d.ts +6 -0
- package/dist/plugin-sdk/plugin-sdk/file-lock.d.ts +16 -0
- package/dist/plugin-sdk/plugin-sdk/group-access.d.ts +16 -0
- package/dist/plugin-sdk/plugin-sdk/index.d.ts +162 -0
- package/dist/plugin-sdk/plugin-sdk/json-store.d.ts +5 -0
- package/dist/plugin-sdk/plugin-sdk/onboarding.d.ts +11 -0
- package/dist/plugin-sdk/plugin-sdk/persistent-dedupe.d.ts +20 -0
- package/dist/plugin-sdk/plugin-sdk/reply-payload.d.ts +22 -0
- package/dist/plugin-sdk/plugin-sdk/run-command.d.ts +12 -0
- package/dist/plugin-sdk/plugin-sdk/runtime.d.ts +10 -0
- package/dist/plugin-sdk/plugin-sdk/slack-message-actions.d.ts +11 -0
- package/dist/plugin-sdk/plugin-sdk/status-helpers.d.ts +88 -0
- package/dist/plugin-sdk/plugin-sdk/temp-path.d.ts +12 -0
- package/dist/plugin-sdk/plugin-sdk/text-chunking.d.ts +1 -0
- package/dist/plugin-sdk/plugin-sdk/tool-send.d.ts +4 -0
- package/dist/plugin-sdk/plugin-sdk/webhook-path.d.ts +6 -0
- package/dist/plugin-sdk/plugin-sdk/webhook-targets.d.ts +23 -0
- package/dist/plugin-sdk/plugins/bundled-dir.d.ts +1 -0
- package/dist/plugin-sdk/plugins/commands.d.ts +83 -0
- package/dist/plugin-sdk/plugins/config-schema.d.ts +2 -0
- package/dist/plugin-sdk/plugins/config-state.d.ts +30 -0
- package/dist/plugin-sdk/plugins/discovery.d.ts +24 -0
- package/dist/plugin-sdk/plugins/hook-runner-global.d.ts +37 -0
- package/dist/plugin-sdk/plugins/hooks.d.ts +49 -0
- package/dist/plugin-sdk/plugins/http-path.d.ts +1 -0
- package/dist/plugin-sdk/plugins/http-registry.d.ts +13 -0
- package/dist/plugin-sdk/plugins/manifest-registry.d.ts +34 -0
- package/dist/plugin-sdk/plugins/manifest.d.ts +66 -0
- package/dist/plugin-sdk/plugins/path-safety.d.ts +5 -0
- package/dist/plugin-sdk/plugins/registry.d.ts +130 -0
- package/dist/plugin-sdk/plugins/runtime/native-deps.d.ts +8 -0
- package/dist/plugin-sdk/plugins/runtime/types.d.ts +310 -0
- package/dist/plugin-sdk/plugins/runtime.d.ts +5 -0
- package/dist/plugin-sdk/plugins/schema-validator.d.ts +10 -0
- package/dist/plugin-sdk/plugins/types.d.ts +487 -0
- package/dist/plugin-sdk/polls.d.ts +31 -0
- package/dist/plugin-sdk/process/command-queue.d.ts +51 -0
- package/dist/plugin-sdk/process/exec.d.ts +30 -0
- package/dist/plugin-sdk/process/lanes.d.ts +6 -0
- package/dist/plugin-sdk/process/spawn-utils.d.ts +26 -0
- package/dist/plugin-sdk/routing/account-id.d.ts +3 -0
- package/dist/plugin-sdk/routing/account-lookup.d.ts +1 -0
- package/dist/plugin-sdk/routing/bindings.d.ts +11 -0
- package/dist/plugin-sdk/routing/resolve-route.d.ts +42 -0
- package/dist/plugin-sdk/routing/session-key.d.ts +48 -0
- package/dist/plugin-sdk/runtime.d.ts +7 -0
- package/dist/plugin-sdk/security/channel-metadata.d.ts +6 -0
- package/dist/plugin-sdk/security/dm-policy-shared.d.ts +33 -0
- package/dist/plugin-sdk/security/external-content.d.ts +53 -0
- package/dist/plugin-sdk/security/safe-regex.d.ts +2 -0
- package/dist/plugin-sdk/security/scan-paths.d.ts +5 -0
- package/dist/plugin-sdk/security/secret-equal.d.ts +1 -0
- package/dist/plugin-sdk/sessions/input-provenance.d.ts +16 -0
- package/dist/plugin-sdk/sessions/level-overrides.d.ts +10 -0
- package/dist/plugin-sdk/sessions/model-overrides.d.ts +14 -0
- package/dist/plugin-sdk/sessions/send-policy.d.ts +11 -0
- package/dist/plugin-sdk/sessions/session-key-utils.d.ts +16 -0
- package/dist/plugin-sdk/sessions/session-label.d.ts +9 -0
- package/dist/plugin-sdk/sessions/transcript-events.d.ts +7 -0
- package/dist/plugin-sdk/shared/avatar-policy.d.ts +16 -0
- package/dist/plugin-sdk/shared/chat-content.d.ts +5 -0
- package/dist/plugin-sdk/shared/chat-envelope.d.ts +2 -0
- package/dist/plugin-sdk/shared/device-auth.d.ts +13 -0
- package/dist/plugin-sdk/shared/gateway-bind-url.d.ts +14 -0
- package/dist/plugin-sdk/shared/net/ip.d.ts +19 -0
- package/dist/plugin-sdk/shared/operator-scope-compat.d.ts +5 -0
- package/dist/plugin-sdk/shared/pid-alive.d.ts +1 -0
- package/dist/plugin-sdk/shared/process-scoped-map.d.ts +1 -0
- package/dist/plugin-sdk/shared/string-normalization.d.ts +4 -0
- package/dist/plugin-sdk/shared/subagents-format.d.ts +15 -0
- package/dist/plugin-sdk/shared/tailscale-status.d.ts +8 -0
- package/dist/plugin-sdk/shared/text/code-regions.d.ts +6 -0
- package/dist/plugin-sdk/shared/text/reasoning-tags.d.ts +6 -0
- package/dist/plugin-sdk/shared/text-chunking.d.ts +1 -0
- package/dist/plugin-sdk/signal/accounts.d.ts +17 -0
- package/dist/plugin-sdk/signal/client.d.ts +32 -0
- package/dist/plugin-sdk/signal/daemon.d.ts +26 -0
- package/dist/plugin-sdk/signal/format.d.ts +17 -0
- package/dist/plugin-sdk/signal/identity.d.ts +24 -0
- package/dist/plugin-sdk/signal/index.d.ts +5 -0
- package/dist/plugin-sdk/signal/monitor/event-handler.d.ts +5 -0
- package/dist/plugin-sdk/signal/monitor/event-handler.types.d.ts +125 -0
- package/dist/plugin-sdk/signal/monitor/mentions.d.ts +2 -0
- package/dist/plugin-sdk/signal/monitor.d.ts +25 -0
- package/dist/plugin-sdk/signal/probe.d.ts +7 -0
- package/dist/plugin-sdk/signal/reaction-level.d.ts +17 -0
- package/dist/plugin-sdk/signal/rpc-context.d.ts +9 -0
- package/dist/plugin-sdk/signal/send-reactions.d.ts +32 -0
- package/dist/plugin-sdk/signal/send.d.ts +25 -0
- package/dist/plugin-sdk/signal/sse-reconnect.d.ts +13 -0
- package/dist/plugin-sdk/slack/accounts.d.ts +32 -0
- package/dist/plugin-sdk/slack/actions.d.ts +56 -0
- package/dist/plugin-sdk/slack/blocks-fallback.d.ts +2 -0
- package/dist/plugin-sdk/slack/blocks-input.d.ts +3 -0
- package/dist/plugin-sdk/slack/channel-migration.d.ts +20 -0
- package/dist/plugin-sdk/slack/client.d.ts +4 -0
- package/dist/plugin-sdk/slack/directory-live.d.ts +4 -0
- package/dist/plugin-sdk/slack/draft-stream.d.ts +25 -0
- package/dist/plugin-sdk/slack/format.d.ts +7 -0
- package/dist/plugin-sdk/slack/http/index.d.ts +1 -0
- package/dist/plugin-sdk/slack/http/registry.d.ts +12 -0
- package/dist/plugin-sdk/slack/index.d.ts +6 -0
- package/dist/plugin-sdk/slack/message-actions.d.ts +4 -0
- package/dist/plugin-sdk/slack/modal-metadata.d.ts +7 -0
- package/dist/plugin-sdk/slack/monitor/allow-list.d.ts +23 -0
- package/dist/plugin-sdk/slack/monitor/auth.d.ts +11 -0
- package/dist/plugin-sdk/slack/monitor/channel-config.d.ts +43 -0
- package/dist/plugin-sdk/slack/monitor/commands.d.ts +9 -0
- package/dist/plugin-sdk/slack/monitor/context.d.ts +104 -0
- package/dist/plugin-sdk/slack/monitor/events/channels.d.ts +4 -0
- package/dist/plugin-sdk/slack/monitor/events/interactions.d.ts +4 -0
- package/dist/plugin-sdk/slack/monitor/events/members.d.ts +4 -0
- package/dist/plugin-sdk/slack/monitor/events/messages.d.ts +6 -0
- package/dist/plugin-sdk/slack/monitor/events/pins.d.ts +4 -0
- package/dist/plugin-sdk/slack/monitor/events/reactions.d.ts +4 -0
- package/dist/plugin-sdk/slack/monitor/events.d.ts +8 -0
- package/dist/plugin-sdk/slack/monitor/external-arg-menu-store.d.ts +18 -0
- package/dist/plugin-sdk/slack/monitor/media.d.ts +66 -0
- package/dist/plugin-sdk/slack/monitor/message-handler/dispatch.d.ts +12 -0
- package/dist/plugin-sdk/slack/monitor/message-handler/prepare.d.ts +13 -0
- package/dist/plugin-sdk/slack/monitor/message-handler/types.d.ts +22 -0
- package/dist/plugin-sdk/slack/monitor/message-handler.d.ts +11 -0
- package/dist/plugin-sdk/slack/monitor/mrkdwn.d.ts +1 -0
- package/dist/plugin-sdk/slack/monitor/policy.d.ts +5 -0
- package/dist/plugin-sdk/slack/monitor/provider.d.ts +7 -0
- package/dist/plugin-sdk/slack/monitor/replies.d.ts +53 -0
- package/dist/plugin-sdk/slack/monitor/room-context.d.ts +14 -0
- package/dist/plugin-sdk/slack/monitor/slash.d.ts +6 -0
- package/dist/plugin-sdk/slack/monitor/thread-resolution.d.ts +12 -0
- package/dist/plugin-sdk/slack/monitor/types.d.ts +97 -0
- package/dist/plugin-sdk/slack/monitor.d.ts +5 -0
- package/dist/plugin-sdk/slack/probe.d.ts +14 -0
- package/dist/plugin-sdk/slack/resolve-channels.d.ts +19 -0
- package/dist/plugin-sdk/slack/resolve-users.d.ts +26 -0
- package/dist/plugin-sdk/slack/send.d.ts +22 -0
- package/dist/plugin-sdk/slack/stream-mode.d.ts +23 -0
- package/dist/plugin-sdk/slack/streaming.d.ts +72 -0
- package/dist/plugin-sdk/slack/targets.d.ts +7 -0
- package/dist/plugin-sdk/slack/threading-tool-context.d.ts +10 -0
- package/dist/plugin-sdk/slack/threading.d.ts +29 -0
- package/dist/plugin-sdk/slack/token.d.ts +3 -0
- package/dist/plugin-sdk/slack/types.d.ts +58 -0
- package/dist/plugin-sdk/telegram/accounts.d.ts +21 -0
- package/dist/plugin-sdk/telegram/allowed-updates.d.ts +4 -0
- package/dist/plugin-sdk/telegram/api-logging.d.ts +11 -0
- package/dist/plugin-sdk/telegram/audit.d.ts +29 -0
- package/dist/plugin-sdk/telegram/bot/delivery.d.ts +35 -0
- package/dist/plugin-sdk/telegram/bot/helpers.d.ts +128 -0
- package/dist/plugin-sdk/telegram/bot/types.d.ts +28 -0
- package/dist/plugin-sdk/telegram/bot-access.d.ts +26 -0
- package/dist/plugin-sdk/telegram/bot-handlers.d.ts +2 -0
- package/dist/plugin-sdk/telegram/bot-message-context.d.ts +145 -0
- package/dist/plugin-sdk/telegram/bot-message-dispatch.d.ts +19 -0
- package/dist/plugin-sdk/telegram/bot-message.d.ts +20 -0
- package/dist/plugin-sdk/telegram/bot-native-command-menu.d.ts +33 -0
- package/dist/plugin-sdk/telegram/bot-native-commands.d.ts +59 -0
- package/dist/plugin-sdk/telegram/bot-updates.d.ts +31 -0
- package/dist/plugin-sdk/telegram/bot.d.ts +62 -0
- package/dist/plugin-sdk/telegram/button-types.d.ts +7 -0
- package/dist/plugin-sdk/telegram/caption.d.ts +5 -0
- package/dist/plugin-sdk/telegram/dm-access.d.ts +18 -0
- package/dist/plugin-sdk/telegram/draft-stream.d.ts +37 -0
- package/dist/plugin-sdk/telegram/fetch.d.ts +5 -0
- package/dist/plugin-sdk/telegram/format.d.ts +18 -0
- package/dist/plugin-sdk/telegram/group-access.d.ts +54 -0
- package/dist/plugin-sdk/telegram/group-config-helpers.d.ts +8 -0
- package/dist/plugin-sdk/telegram/group-migration.d.ts +20 -0
- package/dist/plugin-sdk/telegram/inline-buttons.d.ts +11 -0
- package/dist/plugin-sdk/telegram/lane-delivery.d.ts +56 -0
- package/dist/plugin-sdk/telegram/monitor.d.ts +19 -0
- package/dist/plugin-sdk/telegram/network-config.d.ts +33 -0
- package/dist/plugin-sdk/telegram/network-errors.d.ts +5 -0
- package/dist/plugin-sdk/telegram/outbound-params.d.ts +2 -0
- package/dist/plugin-sdk/telegram/probe.d.ts +17 -0
- package/dist/plugin-sdk/telegram/proxy.d.ts +1 -0
- package/dist/plugin-sdk/telegram/reaction-level.d.ts +11 -0
- package/dist/plugin-sdk/telegram/reasoning-lane-coordinator.d.ts +18 -0
- package/dist/plugin-sdk/telegram/send.d.ts +153 -0
- package/dist/plugin-sdk/telegram/sent-message-cache.d.ts +16 -0
- package/dist/plugin-sdk/telegram/status-reaction-variants.d.ts +21 -0
- package/dist/plugin-sdk/telegram/sticker-cache.d.ts +47 -0
- package/dist/plugin-sdk/telegram/target-writeback.d.ts +7 -0
- package/dist/plugin-sdk/telegram/targets.d.ts +11 -0
- package/dist/plugin-sdk/telegram/token.d.ts +13 -0
- package/dist/plugin-sdk/telegram/update-offset-store.d.ts +15 -0
- package/dist/plugin-sdk/telegram/voice.d.ts +16 -0
- package/dist/plugin-sdk/telegram/webhook.d.ts +20 -0
- package/dist/plugin-sdk/terminal/ansi.d.ts +2 -0
- package/dist/plugin-sdk/terminal/health-style.d.ts +1 -0
- package/dist/plugin-sdk/terminal/links.d.ts +6 -0
- package/dist/plugin-sdk/terminal/palette.d.ts +10 -0
- package/dist/plugin-sdk/terminal/progress-line.d.ts +3 -0
- package/dist/plugin-sdk/terminal/prompt-style.d.ts +3 -0
- package/dist/plugin-sdk/terminal/restore.d.ts +17 -0
- package/dist/plugin-sdk/terminal/theme.d.ts +15 -0
- package/dist/plugin-sdk/tts/tts-core.d.ts +38 -0
- package/dist/plugin-sdk/tts/tts.d.ts +177 -0
- package/dist/plugin-sdk/types/agent-types.d.ts +1 -0
- package/dist/plugin-sdk/utils/account-id.d.ts +1 -0
- package/dist/plugin-sdk/utils/boolean.d.ts +5 -0
- package/dist/plugin-sdk/utils/chunk-items.d.ts +1 -0
- package/dist/plugin-sdk/utils/delivery-context.d.ts +29 -0
- package/dist/plugin-sdk/utils/directive-tags.d.ts +29 -0
- package/dist/plugin-sdk/utils/fetch-timeout.d.ts +13 -0
- package/dist/plugin-sdk/utils/mask-api-key.d.ts +1 -0
- package/dist/plugin-sdk/utils/message-channel.d.ts +27 -0
- package/dist/plugin-sdk/utils/normalize-secret-input.d.ts +11 -0
- package/dist/plugin-sdk/utils/provider-utils.d.ts +9 -0
- package/dist/plugin-sdk/utils/queue-helpers.d.ts +80 -0
- package/dist/plugin-sdk/utils/reaction-level.d.ts +15 -0
- package/dist/plugin-sdk/utils/run-with-concurrency.d.ts +11 -0
- package/dist/plugin-sdk/utils/transcript-tools.d.ts +8 -0
- package/dist/plugin-sdk/utils/usage-format.d.ts +26 -0
- package/dist/plugin-sdk/utils/with-timeout.d.ts +1 -0
- package/dist/plugin-sdk/utils.d.ts +63 -0
- package/dist/plugin-sdk/version.d.ts +8 -0
- package/dist/plugin-sdk/web/accounts.d.ts +39 -0
- package/dist/plugin-sdk/web/active-listener.d.ts +25 -0
- package/dist/plugin-sdk/web/auth-store.d.ts +26 -0
- package/dist/plugin-sdk/web/auto-reply/constants.d.ts +1 -0
- package/dist/plugin-sdk/web/auto-reply/deliver-reply.d.ts +19 -0
- package/dist/plugin-sdk/web/auto-reply/heartbeat-runner.d.ts +20 -0
- package/dist/plugin-sdk/web/auto-reply/loggers.d.ts +4 -0
- package/dist/plugin-sdk/web/auto-reply/mentions.d.ts +19 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/ack-reaction.d.ts +13 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/broadcast.d.ts +16 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/commands.d.ts +2 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/echo.d.ts +17 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/group-activation.d.ts +9 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/group-gating.d.ts +33 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/group-members.d.ts +6 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/last-route.d.ts +15 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/message-line.d.ts +11 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/on-message.d.ts +24 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/peer.d.ts +2 -0
- package/dist/plugin-sdk/web/auto-reply/monitor/process-message.d.ts +40 -0
- package/dist/plugin-sdk/web/auto-reply/monitor.d.ts +5 -0
- package/dist/plugin-sdk/web/auto-reply/session-snapshot.d.ts +17 -0
- package/dist/plugin-sdk/web/auto-reply/types.d.ts +30 -0
- package/dist/plugin-sdk/web/auto-reply/util.d.ts +2 -0
- package/dist/plugin-sdk/web/auto-reply.d.ts +1 -0
- package/dist/plugin-sdk/web/auto-reply.impl.d.ts +5 -0
- package/dist/plugin-sdk/web/inbound/access-control.d.ts +36 -0
- package/dist/plugin-sdk/web/inbound/dedupe.d.ts +2 -0
- package/dist/plugin-sdk/web/inbound/extract.d.ts +13 -0
- package/dist/plugin-sdk/web/inbound/media.d.ts +7 -0
- package/dist/plugin-sdk/web/inbound/monitor.d.ts +30 -0
- package/dist/plugin-sdk/web/inbound/send-api.d.ts +22 -0
- package/dist/plugin-sdk/web/inbound/types.d.ts +41 -0
- package/dist/plugin-sdk/web/inbound.d.ts +4 -0
- package/dist/plugin-sdk/web/login-qr.d.ts +19 -0
- package/dist/plugin-sdk/web/login.d.ts +3 -0
- package/dist/plugin-sdk/web/media.d.ts +43 -0
- package/dist/plugin-sdk/web/outbound.d.ts +24 -0
- package/dist/plugin-sdk/web/qr-image.d.ts +4 -0
- package/dist/plugin-sdk/web/reconnect.d.ts +12 -0
- package/dist/plugin-sdk/web/session.d.ts +14 -0
- package/dist/plugin-sdk/web/vcard.d.ts +6 -0
- package/dist/plugin-sdk/whatsapp/normalize.d.ts +6 -0
- package/dist/plugin-sdk/whatsapp/resolve-outbound-target.d.ts +12 -0
- package/dist/plugin-sdk/wizard/prompts.d.ts +43 -0
- package/dist/plugin-sdk/wizard/session.d.ts +42 -0
- package/dist/plugins-CsYMlnVa.js +455 -0
- package/dist/plugins-Dhit-VHt.js +453 -0
- package/dist/plugins-allowlist-BbTQ5Z2k.js +15 -0
- package/dist/plugins-allowlist-C20oaESO.js +15 -0
- package/dist/plugins-cli-BwuvKtN-.js +798 -0
- package/dist/plugins-cli-D34k2VsI.js +793 -0
- package/dist/polls-B0CCBDeR.js +33 -0
- package/dist/polls-CwwHzYBM.js +33 -0
- package/dist/ports-DrruB2fK.js +370 -0
- package/dist/ports-GT1yV-Tg.js +96 -0
- package/dist/ports-NPqtlfp0.js +316 -0
- package/dist/ports-QMI4-F9m.js +96 -0
- package/dist/ports-lsof-Wteul3ju.js +27 -0
- package/dist/process-scoped-map-CV9kDvfG.js +39 -0
- package/dist/process-scoped-map-PEvnG75N.js +39 -0
- package/dist/program-C5ukTU6N.js +244 -0
- package/dist/program-context-D55P0vBV.js +474 -0
- package/dist/program-context-jqeI5alP.js +17 -0
- package/dist/progress-C1kUfYL-.js +123 -0
- package/dist/progress-CBkSaM6z.js +124 -0
- package/dist/prompt-Bllj1dhc.js +21 -0
- package/dist/prompt-Yn2yClg1.js +21 -0
- package/dist/prompt-select-styled-WStiI-bz.js +1647 -0
- package/dist/prompt-select-styled-ram-aXWu.js +1650 -0
- package/dist/prompt-style-DVEm3BZW.js +9 -0
- package/dist/prompt-style-DjEYC_s-.js +9 -0
- package/dist/provider-dispatcher-epFKwpGK.js +659 -0
- package/dist/provider-dispatcher-vEBMmwZ0.js +660 -0
- package/dist/provider-utils-3JTMJroG.js +79 -0
- package/dist/provider-utils-FaBmofiq.js +79 -0
- package/dist/proxy-DL3MD6-P.js +16 -0
- package/dist/proxy-DpNv2cSV.js +16 -0
- package/dist/push-apns-C0LyG-WB.js +713 -0
- package/dist/push-apns-DuG95AKC.js +711 -0
- package/dist/pw-ai-TygsEDgY.js +1906 -0
- package/dist/pw-ai-eS0sIkZo.js +1910 -0
- package/dist/pw-ai-state-CGfLv6nV.js +11 -0
- package/dist/pw-ai-state-Dynx20hr.js +11 -0
- package/dist/qr-cli-B8sYhugo.js +352 -0
- package/dist/qr-cli-yP8i4Iv1.js +347 -0
- package/dist/redact-Dx1Fue21.js +191 -0
- package/dist/redact-eZq1uwNK.js +191 -0
- package/dist/redact-identifier-BTIWtaa-.js +15 -0
- package/dist/redact-identifier-CAagcfWA.js +15 -0
- package/dist/redact-snapshot-gOLgfKp3.js +2028 -0
- package/dist/redact-snapshot-uT-CXbM8.js +2028 -0
- package/dist/register.agent-CSoigVGq.js +1043 -0
- package/dist/register.agent-GZLrbUPm.js +286 -0
- package/dist/register.configure-CXpiRohq.js +124 -0
- package/dist/register.configure-RaqiHe5L.js +130 -0
- package/dist/register.import-Bs-UkOs-.js +27 -0
- package/dist/register.import-DLng8g-e.js +30 -0
- package/dist/register.maintenance-B-ZLQ56Y.js +494 -0
- package/dist/register.maintenance-Bjr_SmG9.js +497 -0
- package/dist/register.message-BCQ8Vg4O.js +686 -0
- package/dist/register.message-ChhiSr7g.js +681 -0
- package/dist/register.onboard-DJCqNufv.js +257 -0
- package/dist/register.onboard-jlxjsrv6.js +262 -0
- package/dist/register.setup-C-sdixz5.js +114 -0
- package/dist/register.setup-Dwpe4ArC.js +109 -0
- package/dist/register.status-health-sessions-BWFRHBCZ.js +669 -0
- package/dist/register.status-health-sessions-D7noMz9y.js +423 -0
- package/dist/register.subclis-DFI5u4a6.js +267 -0
- package/dist/remoteclaw-root-C2HV2VeC.js +88 -0
- package/dist/remoteclaw-root-DybYl8PL.js +88 -0
- package/dist/render-6ahYfPwj.js +104 -0
- package/dist/render-CCLsW6Lz.js +104 -0
- package/dist/render-uf6PvGMV.js +104 -0
- package/dist/replies-Bzcj-R8d.js +136 -0
- package/dist/replies-uvTI-4lg.js +136 -0
- package/dist/reply-B9qz9Wwk.js +13897 -0
- package/dist/reply-CmGAXQKc.js +13900 -0
- package/dist/reply-directives-Be97YiyM.js +182 -0
- package/dist/reply-directives-DsLughUT.js +182 -0
- package/dist/reply-payloads-DW0YgT82.js +527 -0
- package/dist/reply-prefix-BzoT8h8o.js +38 -0
- package/dist/reply-prefix-CSaiVnkC.js +38 -0
- package/dist/resolve-route-2P40JKXk.js +249 -0
- package/dist/resolve-route-_CwEKLq6.js +249 -0
- package/dist/response-prefix-template-BAlvtSjL.js +136 -0
- package/dist/response-prefix-template-D-tls8tI.js +136 -0
- package/dist/retry-BhuXOEVR.js +77 -0
- package/dist/retry-DUjAzOBy.js +77 -0
- package/dist/retry-DnqPAqWp.js +77 -0
- package/dist/rolldown-runtime-Cbj13DAv.js +20 -0
- package/dist/run-main-B-O5ZtbU.js +320 -0
- package/dist/runner-DGkTSlOS.js +2294 -0
- package/dist/runner-hs4uxAUP.js +2294 -0
- package/dist/runtime-DJNp29jv.js +94 -0
- package/dist/runtime-guard-DZ_xuCc4.js +60 -0
- package/dist/runtime-guard-U-ewY_QH.js +60 -0
- package/dist/secret-equal-BbHdTtqY.js +11 -0
- package/dist/secret-equal-CXJEZiWb.js +11 -0
- package/dist/secure-random-CS2mSdTn.js +12 -0
- package/dist/secure-random-Pl9rPl0l.js +44 -0
- package/dist/secure-random-_dzDDlFo.js +12 -0
- package/dist/security-cli-1iY1lW6F.js +484 -0
- package/dist/security-cli-BuiPPQYU.js +478 -0
- package/dist/send-3lgWtHHf.js +349 -0
- package/dist/send-9NV7sSlD.js +2245 -0
- package/dist/send-B0TcjZUD.js +1778 -0
- package/dist/send-B84axiIa.js +29 -0
- package/dist/send-Bb6K_10X.js +2245 -0
- package/dist/send-BqVOxAmK.js +1174 -0
- package/dist/send-CGXyTF22.js +426 -0
- package/dist/send-CKavrhXj.js +11 -0
- package/dist/send-Caz-txXK.js +492 -0
- package/dist/send-D08Je6DL.js +374 -0
- package/dist/send-D1aYEG-k.js +332 -0
- package/dist/send-DJEr4rP6.js +547 -0
- package/dist/send-DJiDHXsu.js +349 -0
- package/dist/send-DOjg7kJj.js +1775 -0
- package/dist/send-Dc_K995l.js +547 -0
- package/dist/send-iPAfbiYM.js +492 -0
- package/dist/server-B0IC-Osg.js +205 -0
- package/dist/server-MccRxMpb.js +200 -0
- package/dist/server-lifecycle-C_0CfoP7.js +2437 -0
- package/dist/server-lifecycle-IKdGw1kM.js +2437 -0
- package/dist/server-node-events-Czr2gXp_.js +393 -0
- package/dist/server-node-events-DFG6cXud.js +398 -0
- package/dist/service-Bjqii5nW.js +670 -0
- package/dist/service-fp29z5Ww.js +670 -0
- package/dist/session-DBL5nHDy.js +170 -0
- package/dist/session-cost-usage-DX09eTPU.js +627 -0
- package/dist/session-cost-usage-yYi525j3.js +627 -0
- package/dist/session-dirs-Cj5xi7zX.js +947 -0
- package/dist/session-dirs-DdF6TDsE.js +947 -0
- package/dist/session-key-5YLnn_qf.js +235 -0
- package/dist/session-key-C2n-VILA.js +235 -0
- package/dist/session-utils-C7BtKlun.js +625 -0
- package/dist/session-utils-CLe1dano.js +625 -0
- package/dist/session-xKIW6gL2.js +170 -0
- package/dist/sessions-C65iUuN9.js +2593 -0
- package/dist/sessions-DjZ9IshB.js +252 -0
- package/dist/ssrf-Ck9HDZpv.js +183 -0
- package/dist/ssrf-m7kFIobZ.js +183 -0
- package/dist/stagger-BXv_apuy.js +56 -0
- package/dist/stagger-MI9gd2rQ.js +56 -0
- package/dist/status-BmtCS3T1.js +21 -0
- package/dist/status-BrwHRn2B.js +21 -0
- package/dist/status-C6ghjxvX.js +2072 -0
- package/dist/status-D-qTB8aZ.js +2068 -0
- package/dist/status.update-C55QM2xs.js +79 -0
- package/dist/status.update-CBmPXwYN.js +79 -0
- package/dist/store-C3tOpizT.js +64 -0
- package/dist/store-CPJXuhvQ.js +53 -0
- package/dist/store-uRA67h-o.js +2595 -0
- package/dist/store-v3P-OWhi.js +64 -0
- package/dist/strip-inbound-meta-DjKcSFaW.js +110 -0
- package/dist/strip-inbound-meta-jy3bkUab.js +110 -0
- package/dist/subagent-registry-BTG1aAZ8.js +4860 -0
- package/dist/subagent-registry-CoclNL5c.js +4858 -0
- package/dist/subsystem-BUXAJwPD.js +1079 -0
- package/dist/subsystem-COd61u0P.js +1139 -0
- package/dist/system-cli-C__5QOMX.js +70 -0
- package/dist/system-cli-Dr4XoVTq.js +75 -0
- package/dist/systemd-DSnlM3jX.js +547 -0
- package/dist/systemd-TfK8GuTx.js +547 -0
- package/dist/systemd-linger-Axnc1xCb.js +75 -0
- package/dist/systemd-linger-_0_-RY4v.js +75 -0
- package/dist/table-C1rdyYl9.js +278 -0
- package/dist/table-DPTzZyhu.js +279 -0
- package/dist/tables-BQ-CvUfT.js +55 -0
- package/dist/tables-D3zdgEuK.js +55 -0
- package/dist/tables-PxcSPSO0.js +55 -0
- package/dist/tailnet-CEudzG0i.js +40 -0
- package/dist/tailnet-PnMrjwGT.js +40 -0
- package/dist/tailscale-DTATQxAG.js +230 -0
- package/dist/tailscale-Dbyahx0J.js +230 -0
- package/dist/target-errors-BDpPcwh5.js +26 -0
- package/dist/target-errors-DdIAPcMM.js +26 -0
- package/dist/targets-BMenhVHg.js +39 -0
- package/dist/targets-B_0Y1i-1.js +2173 -0
- package/dist/targets-C-2xwh9f.js +45 -0
- package/dist/targets-C1NeMn2J.js +220 -0
- package/dist/targets-CTmhieRB.js +650 -0
- package/dist/targets-CcTME3bp.js +46 -0
- package/dist/targets-CmC5m7Ey.js +53 -0
- package/dist/targets-D-qLBpTA.js +79 -0
- package/dist/targets-D7PT_rdO.js +45 -0
- package/dist/targets-DtiQgjEL.js +2172 -0
- package/dist/targets-DyybKefq.js +53 -0
- package/dist/targets-JCISV-hS.js +120 -0
- package/dist/targets-UncQvCVs.js +79 -0
- package/dist/targets-rDolm5YS.js +650 -0
- package/dist/text-format-BQ3z_OXA.js +9 -0
- package/dist/text-format-oWqzVmah.js +9 -0
- package/dist/tokens-B-jmvNR9.js +21 -0
- package/dist/tokens-DzFOtLlW.js +21 -0
- package/dist/tool-display-Br6mwaJc.js +785 -0
- package/dist/tool-display-sgNwLOBj.js +785 -0
- package/dist/tool-images-BNfIJ_Kj.js +263 -0
- package/dist/tool-images-kloBqxqK.js +263 -0
- package/dist/trash-DPi0aCCQ.js +125 -0
- package/dist/trash-D_Jd_yQZ.js +125 -0
- package/dist/tui-BSDCI2hh.js +3392 -0
- package/dist/tui-DT7hLOBk.js +3392 -0
- package/dist/tui-cli-DUWvLaoG.js +58 -0
- package/dist/tui-cli-Dn2iXQTO.js +63 -0
- package/dist/update-Bgl3Pk2N.js +349 -0
- package/dist/update-CFPFib4P.js +349 -0
- package/dist/update-cli-DSDSQ2Xi.js +1373 -0
- package/dist/update-cli-DYR_7NLy.js +1370 -0
- package/dist/usage-BdhBT0Vz.js +57 -0
- package/dist/usage-BtQcAnf6.js +57 -0
- package/dist/usage-CYlQW4M2.js +5279 -0
- package/dist/usage-format-C3mNLfhI.js +31 -0
- package/dist/usage-format-DAaPzr_z.js +31 -0
- package/dist/utils-LBKvDoPx.js +631 -0
- package/dist/warning-filter.js +48 -0
- package/dist/web-BECD5Akw.js +70 -0
- package/dist/web-BUYUdnRH.js +3065 -0
- package/dist/web-KP-TI2sO.js +76 -0
- package/dist/webhooks-cli-BqoG_i-D.js +328 -0
- package/dist/webhooks-cli-Ddu7dfdE.js +333 -0
- package/dist/whatsapp-actions-BZLIjQ8J.js +122 -0
- package/dist/whatsapp-actions-KCc1vHN5.js +128 -0
- package/dist/widearea-dns-CsmBVbez.js +127 -0
- package/dist/widearea-dns-DSoaA-eH.js +127 -0
- package/dist/workspace-4EaHHEWi.js +447 -0
- package/dist/workspace-B_1t_yq3.js +449 -0
- package/dist/workspace-BzPeZDew.js +10 -0
- package/dist/workspace-DkGLVfOl.js +10 -0
- package/dist/wsl-BCnYV9O0.js +52 -0
- package/dist/wsl-B_sPlzWw.js +52 -0
- package/extensions/bluebubbles/README.md +45 -0
- package/extensions/bluebubbles/index.ts +19 -0
- package/extensions/bluebubbles/package.json +33 -0
- package/extensions/bluebubbles/remoteclaw.plugin.json +9 -0
- package/extensions/bluebubbles/src/account-resolve.ts +35 -0
- package/extensions/bluebubbles/src/accounts.ts +90 -0
- package/extensions/bluebubbles/src/actions.ts +460 -0
- package/extensions/bluebubbles/src/attachments.ts +268 -0
- package/extensions/bluebubbles/src/channel.ts +418 -0
- package/extensions/bluebubbles/src/chat.ts +329 -0
- package/extensions/bluebubbles/src/config-schema.ts +65 -0
- package/extensions/bluebubbles/src/history.ts +177 -0
- package/extensions/bluebubbles/src/media-send.ts +317 -0
- package/extensions/bluebubbles/src/monitor-normalize.ts +825 -0
- package/extensions/bluebubbles/src/monitor-processing.ts +1448 -0
- package/extensions/bluebubbles/src/monitor-reply-cache.ts +185 -0
- package/extensions/bluebubbles/src/monitor-shared.ts +41 -0
- package/extensions/bluebubbles/src/monitor.ts +534 -0
- package/extensions/bluebubbles/src/multipart.ts +32 -0
- package/extensions/bluebubbles/src/onboarding.ts +340 -0
- package/extensions/bluebubbles/src/probe.ts +163 -0
- package/extensions/bluebubbles/src/reactions.ts +182 -0
- package/extensions/bluebubbles/src/request-url.ts +12 -0
- package/extensions/bluebubbles/src/runtime.ts +34 -0
- package/extensions/bluebubbles/src/send-helpers.ts +53 -0
- package/extensions/bluebubbles/src/send.ts +472 -0
- package/extensions/bluebubbles/src/targets.ts +370 -0
- package/extensions/bluebubbles/src/test-harness.ts +79 -0
- package/extensions/bluebubbles/src/test-mocks.ts +11 -0
- package/extensions/bluebubbles/src/types.ts +135 -0
- package/extensions/device-pair/index.ts +529 -0
- package/extensions/device-pair/remoteclaw.plugin.json +20 -0
- package/extensions/diagnostics-otel/index.ts +15 -0
- package/extensions/diagnostics-otel/package.json +24 -0
- package/extensions/diagnostics-otel/remoteclaw.plugin.json +8 -0
- package/extensions/diagnostics-otel/src/service.ts +682 -0
- package/extensions/discord/index.ts +19 -0
- package/extensions/discord/package.json +11 -0
- package/extensions/discord/remoteclaw.plugin.json +9 -0
- package/extensions/discord/src/channel.ts +451 -0
- package/extensions/discord/src/runtime.ts +14 -0
- package/extensions/discord/src/subagent-hooks.ts +152 -0
- package/extensions/feishu/index.ts +63 -0
- package/extensions/feishu/package.json +34 -0
- package/extensions/feishu/remoteclaw.plugin.json +10 -0
- package/extensions/feishu/skills/feishu-doc/SKILL.md +105 -0
- package/extensions/feishu/skills/feishu-doc/references/block-types.md +103 -0
- package/extensions/feishu/skills/feishu-drive/SKILL.md +97 -0
- package/extensions/feishu/skills/feishu-perm/SKILL.md +119 -0
- package/extensions/feishu/skills/feishu-wiki/SKILL.md +111 -0
- package/extensions/feishu/src/accounts.ts +144 -0
- package/extensions/feishu/src/bitable.ts +739 -0
- package/extensions/feishu/src/bot.ts +1006 -0
- package/extensions/feishu/src/channel.ts +359 -0
- package/extensions/feishu/src/client.ts +118 -0
- package/extensions/feishu/src/config-schema.ts +226 -0
- package/extensions/feishu/src/dedup.ts +54 -0
- package/extensions/feishu/src/directory.ts +177 -0
- package/extensions/feishu/src/doc-schema.ts +47 -0
- package/extensions/feishu/src/docx.ts +536 -0
- package/extensions/feishu/src/drive-schema.ts +46 -0
- package/extensions/feishu/src/drive.ts +227 -0
- package/extensions/feishu/src/dynamic-agent.ts +131 -0
- package/extensions/feishu/src/external-keys.ts +19 -0
- package/extensions/feishu/src/media.ts +441 -0
- package/extensions/feishu/src/mention.ts +133 -0
- package/extensions/feishu/src/monitor.ts +397 -0
- package/extensions/feishu/src/onboarding.ts +351 -0
- package/extensions/feishu/src/outbound.ts +55 -0
- package/extensions/feishu/src/perm-schema.ts +52 -0
- package/extensions/feishu/src/perm.ts +173 -0
- package/extensions/feishu/src/policy.ts +120 -0
- package/extensions/feishu/src/probe.ts +44 -0
- package/extensions/feishu/src/reactions.ts +160 -0
- package/extensions/feishu/src/reply-dispatcher.ts +239 -0
- package/extensions/feishu/src/runtime.ts +14 -0
- package/extensions/feishu/src/send-result.ts +29 -0
- package/extensions/feishu/src/send-target.ts +25 -0
- package/extensions/feishu/src/send.ts +313 -0
- package/extensions/feishu/src/streaming-card.ts +218 -0
- package/extensions/feishu/src/targets.ts +78 -0
- package/extensions/feishu/src/tools-config.ts +21 -0
- package/extensions/feishu/src/types.ts +81 -0
- package/extensions/feishu/src/typing.ts +80 -0
- package/extensions/feishu/src/wiki-schema.ts +55 -0
- package/extensions/feishu/src/wiki.ts +232 -0
- package/extensions/googlechat/index.ts +19 -0
- package/extensions/googlechat/node_modules/.bin/remoteclaw +21 -0
- package/extensions/googlechat/package.json +37 -0
- package/extensions/googlechat/remoteclaw.plugin.json +9 -0
- package/extensions/googlechat/src/accounts.ts +147 -0
- package/extensions/googlechat/src/actions.ts +176 -0
- package/extensions/googlechat/src/api.ts +282 -0
- package/extensions/googlechat/src/auth.ts +137 -0
- package/extensions/googlechat/src/channel.ts +576 -0
- package/extensions/googlechat/src/monitor.ts +965 -0
- package/extensions/googlechat/src/onboarding.ts +270 -0
- package/extensions/googlechat/src/runtime.ts +14 -0
- package/extensions/googlechat/src/targets.ts +65 -0
- package/extensions/googlechat/src/types.config.ts +3 -0
- package/extensions/googlechat/src/types.ts +73 -0
- package/extensions/imessage/index.ts +17 -0
- package/extensions/imessage/package.json +12 -0
- package/extensions/imessage/remoteclaw.plugin.json +9 -0
- package/extensions/imessage/src/channel.ts +304 -0
- package/extensions/imessage/src/runtime.ts +14 -0
- package/extensions/irc/index.ts +17 -0
- package/extensions/irc/package.json +11 -0
- package/extensions/irc/remoteclaw.plugin.json +9 -0
- package/extensions/irc/src/accounts.ts +268 -0
- package/extensions/irc/src/channel.ts +364 -0
- package/extensions/irc/src/client.ts +439 -0
- package/extensions/irc/src/config-schema.ts +91 -0
- package/extensions/irc/src/connect-options.ts +30 -0
- package/extensions/irc/src/control-chars.ts +22 -0
- package/extensions/irc/src/inbound.ts +372 -0
- package/extensions/irc/src/monitor.ts +146 -0
- package/extensions/irc/src/normalize.ts +123 -0
- package/extensions/irc/src/onboarding.ts +479 -0
- package/extensions/irc/src/policy.ts +166 -0
- package/extensions/irc/src/probe.ts +53 -0
- package/extensions/irc/src/protocol.ts +169 -0
- package/extensions/irc/src/runtime.ts +14 -0
- package/extensions/irc/src/send.ts +88 -0
- package/extensions/irc/src/types.ts +99 -0
- package/extensions/line/index.ts +19 -0
- package/extensions/line/package.json +27 -0
- package/extensions/line/remoteclaw.plugin.json +9 -0
- package/extensions/line/src/card-command.ts +344 -0
- package/extensions/line/src/channel.ts +797 -0
- package/extensions/line/src/runtime.ts +14 -0
- package/extensions/matrix/CHANGELOG.md +32 -0
- package/extensions/matrix/index.ts +17 -0
- package/extensions/matrix/node_modules/.bin/markdown-it +21 -0
- package/extensions/matrix/package.json +33 -0
- package/extensions/matrix/remoteclaw.plugin.json +9 -0
- package/extensions/matrix/src/actions.ts +195 -0
- package/extensions/matrix/src/channel.ts +486 -0
- package/extensions/matrix/src/config-schema.ts +63 -0
- package/extensions/matrix/src/directory-live.ts +208 -0
- package/extensions/matrix/src/group-mentions.ts +52 -0
- package/extensions/matrix/src/matrix/accounts.ts +137 -0
- package/extensions/matrix/src/matrix/actions/client.ts +47 -0
- package/extensions/matrix/src/matrix/actions/limits.ts +6 -0
- package/extensions/matrix/src/matrix/actions/messages.ts +126 -0
- package/extensions/matrix/src/matrix/actions/pins.ts +84 -0
- package/extensions/matrix/src/matrix/actions/reactions.ts +102 -0
- package/extensions/matrix/src/matrix/actions/room.ts +85 -0
- package/extensions/matrix/src/matrix/actions/summary.ts +75 -0
- package/extensions/matrix/src/matrix/actions/types.ts +85 -0
- package/extensions/matrix/src/matrix/actions.ts +15 -0
- package/extensions/matrix/src/matrix/active-client.ts +32 -0
- package/extensions/matrix/src/matrix/client/config.ts +219 -0
- package/extensions/matrix/src/matrix/client/create-client.ts +123 -0
- package/extensions/matrix/src/matrix/client/logging.ts +36 -0
- package/extensions/matrix/src/matrix/client/runtime.ts +4 -0
- package/extensions/matrix/src/matrix/client/shared.ts +201 -0
- package/extensions/matrix/src/matrix/client/storage.ts +131 -0
- package/extensions/matrix/src/matrix/client/types.ts +34 -0
- package/extensions/matrix/src/matrix/client-bootstrap.ts +39 -0
- package/extensions/matrix/src/matrix/client.ts +14 -0
- package/extensions/matrix/src/matrix/credentials.ts +125 -0
- package/extensions/matrix/src/matrix/deps.ts +60 -0
- package/extensions/matrix/src/matrix/format.ts +22 -0
- package/extensions/matrix/src/matrix/index.ts +11 -0
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +103 -0
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +71 -0
- package/extensions/matrix/src/matrix/monitor/direct.ts +104 -0
- package/extensions/matrix/src/matrix/monitor/events.ts +148 -0
- package/extensions/matrix/src/matrix/monitor/handler.ts +688 -0
- package/extensions/matrix/src/matrix/monitor/index.ts +358 -0
- package/extensions/matrix/src/matrix/monitor/location.ts +100 -0
- package/extensions/matrix/src/matrix/monitor/media.ts +118 -0
- package/extensions/matrix/src/matrix/monitor/mentions.ts +62 -0
- package/extensions/matrix/src/matrix/monitor/replies.ts +124 -0
- package/extensions/matrix/src/matrix/monitor/room-info.ts +55 -0
- package/extensions/matrix/src/matrix/monitor/rooms.ts +47 -0
- package/extensions/matrix/src/matrix/monitor/threads.ts +68 -0
- package/extensions/matrix/src/matrix/monitor/types.ts +39 -0
- package/extensions/matrix/src/matrix/poll-types.ts +167 -0
- package/extensions/matrix/src/matrix/probe.ts +69 -0
- package/extensions/matrix/src/matrix/send/client.ts +97 -0
- package/extensions/matrix/src/matrix/send/formatting.ts +93 -0
- package/extensions/matrix/src/matrix/send/media.ts +230 -0
- package/extensions/matrix/src/matrix/send/targets.ts +150 -0
- package/extensions/matrix/src/matrix/send/types.ts +109 -0
- package/extensions/matrix/src/matrix/send-queue.ts +44 -0
- package/extensions/matrix/src/matrix/send.ts +265 -0
- package/extensions/matrix/src/onboarding.ts +446 -0
- package/extensions/matrix/src/outbound.ts +55 -0
- package/extensions/matrix/src/resolve-targets.ts +126 -0
- package/extensions/matrix/src/runtime.ts +14 -0
- package/extensions/matrix/src/tool-actions.ts +164 -0
- package/extensions/matrix/src/types.ts +116 -0
- package/extensions/mattermost/index.ts +17 -0
- package/extensions/mattermost/package.json +25 -0
- package/extensions/mattermost/remoteclaw.plugin.json +9 -0
- package/extensions/mattermost/src/channel.ts +439 -0
- package/extensions/mattermost/src/config-schema.ts +62 -0
- package/extensions/mattermost/src/group-mentions.ts +15 -0
- package/extensions/mattermost/src/mattermost/accounts.ts +128 -0
- package/extensions/mattermost/src/mattermost/client.ts +230 -0
- package/extensions/mattermost/src/mattermost/index.ts +9 -0
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +72 -0
- package/extensions/mattermost/src/mattermost/monitor-onchar.ts +25 -0
- package/extensions/mattermost/src/mattermost/monitor-websocket.ts +221 -0
- package/extensions/mattermost/src/mattermost/monitor.ts +1061 -0
- package/extensions/mattermost/src/mattermost/probe.ts +61 -0
- package/extensions/mattermost/src/mattermost/reactions.test-helpers.ts +83 -0
- package/extensions/mattermost/src/mattermost/reactions.ts +124 -0
- package/extensions/mattermost/src/mattermost/reconnect.ts +103 -0
- package/extensions/mattermost/src/mattermost/send.ts +231 -0
- package/extensions/mattermost/src/normalize.ts +46 -0
- package/extensions/mattermost/src/onboarding-helpers.ts +1 -0
- package/extensions/mattermost/src/onboarding.ts +182 -0
- package/extensions/mattermost/src/runtime.ts +14 -0
- package/extensions/mattermost/src/types.ts +62 -0
- package/extensions/msteams/CHANGELOG.md +35 -0
- package/extensions/msteams/index.ts +17 -0
- package/extensions/msteams/package.json +32 -0
- package/extensions/msteams/remoteclaw.plugin.json +9 -0
- package/extensions/msteams/src/attachments/download.ts +282 -0
- package/extensions/msteams/src/attachments/graph.ts +354 -0
- package/extensions/msteams/src/attachments/html.ts +90 -0
- package/extensions/msteams/src/attachments/payload.ts +14 -0
- package/extensions/msteams/src/attachments/remote-media.ts +42 -0
- package/extensions/msteams/src/attachments/shared.ts +404 -0
- package/extensions/msteams/src/attachments/types.ts +37 -0
- package/extensions/msteams/src/attachments.ts +18 -0
- package/extensions/msteams/src/channel.ts +464 -0
- package/extensions/msteams/src/conversation-store-fs.ts +165 -0
- package/extensions/msteams/src/conversation-store-memory.ts +47 -0
- package/extensions/msteams/src/conversation-store.ts +41 -0
- package/extensions/msteams/src/directory-live.ts +108 -0
- package/extensions/msteams/src/errors.ts +190 -0
- package/extensions/msteams/src/file-consent-helpers.ts +73 -0
- package/extensions/msteams/src/file-consent.ts +126 -0
- package/extensions/msteams/src/file-lock.ts +1 -0
- package/extensions/msteams/src/graph-chat.ts +53 -0
- package/extensions/msteams/src/graph-upload.ts +452 -0
- package/extensions/msteams/src/graph-users.ts +29 -0
- package/extensions/msteams/src/graph.ts +81 -0
- package/extensions/msteams/src/inbound.ts +48 -0
- package/extensions/msteams/src/index.ts +4 -0
- package/extensions/msteams/src/media-helpers.ts +105 -0
- package/extensions/msteams/src/mentions.ts +114 -0
- package/extensions/msteams/src/messenger.ts +484 -0
- package/extensions/msteams/src/monitor-handler/inbound-media.ts +128 -0
- package/extensions/msteams/src/monitor-handler/message-handler.ts +661 -0
- package/extensions/msteams/src/monitor-handler.ts +162 -0
- package/extensions/msteams/src/monitor-types.ts +5 -0
- package/extensions/msteams/src/monitor.ts +305 -0
- package/extensions/msteams/src/onboarding.ts +406 -0
- package/extensions/msteams/src/outbound.ts +46 -0
- package/extensions/msteams/src/pending-uploads.ts +89 -0
- package/extensions/msteams/src/policy.ts +259 -0
- package/extensions/msteams/src/polls-store-memory.ts +32 -0
- package/extensions/msteams/src/polls.ts +315 -0
- package/extensions/msteams/src/probe.ts +94 -0
- package/extensions/msteams/src/reply-dispatcher.ts +132 -0
- package/extensions/msteams/src/resolve-allowlist.ts +198 -0
- package/extensions/msteams/src/runtime.ts +14 -0
- package/extensions/msteams/src/sdk-types.ts +19 -0
- package/extensions/msteams/src/sdk.ts +33 -0
- package/extensions/msteams/src/send-context.ts +164 -0
- package/extensions/msteams/src/send.ts +530 -0
- package/extensions/msteams/src/sent-message-cache.ts +44 -0
- package/extensions/msteams/src/storage.ts +25 -0
- package/extensions/msteams/src/store-fs.ts +44 -0
- package/extensions/msteams/src/test-runtime.ts +16 -0
- package/extensions/msteams/src/token-response.ts +11 -0
- package/extensions/msteams/src/token.ts +19 -0
- package/extensions/nextcloud-talk/index.ts +17 -0
- package/extensions/nextcloud-talk/package.json +30 -0
- package/extensions/nextcloud-talk/remoteclaw.plugin.json +9 -0
- package/extensions/nextcloud-talk/src/accounts.ts +170 -0
- package/extensions/nextcloud-talk/src/channel.ts +416 -0
- package/extensions/nextcloud-talk/src/config-schema.ts +72 -0
- package/extensions/nextcloud-talk/src/format.ts +79 -0
- package/extensions/nextcloud-talk/src/inbound.ts +343 -0
- package/extensions/nextcloud-talk/src/monitor.ts +275 -0
- package/extensions/nextcloud-talk/src/normalize.ts +39 -0
- package/extensions/nextcloud-talk/src/onboarding.ts +349 -0
- package/extensions/nextcloud-talk/src/policy.ts +180 -0
- package/extensions/nextcloud-talk/src/room-info.ts +125 -0
- package/extensions/nextcloud-talk/src/runtime.ts +14 -0
- package/extensions/nextcloud-talk/src/send.ts +215 -0
- package/extensions/nextcloud-talk/src/signature.ts +72 -0
- package/extensions/nextcloud-talk/src/types.ts +185 -0
- package/extensions/nostr/CHANGELOG.md +44 -0
- package/extensions/nostr/README.md +136 -0
- package/extensions/nostr/index.ts +68 -0
- package/extensions/nostr/package.json +30 -0
- package/extensions/nostr/remoteclaw.plugin.json +9 -0
- package/extensions/nostr/src/channel.ts +345 -0
- package/extensions/nostr/src/config-schema.ts +90 -0
- package/extensions/nostr/src/metrics.ts +458 -0
- package/extensions/nostr/src/nostr-bus.ts +719 -0
- package/extensions/nostr/src/nostr-profile-http.ts +519 -0
- package/extensions/nostr/src/nostr-profile-import.ts +262 -0
- package/extensions/nostr/src/nostr-profile.ts +277 -0
- package/extensions/nostr/src/nostr-state-store.ts +226 -0
- package/extensions/nostr/src/runtime.ts +14 -0
- package/extensions/nostr/src/seen-tracker.ts +289 -0
- package/extensions/nostr/src/types.ts +101 -0
- package/extensions/phone-control/index.ts +421 -0
- package/extensions/phone-control/remoteclaw.plugin.json +10 -0
- package/extensions/shared/resolve-target-test-helpers.ts +66 -0
- package/extensions/signal/index.ts +17 -0
- package/extensions/signal/package.json +12 -0
- package/extensions/signal/remoteclaw.plugin.json +9 -0
- package/extensions/signal/src/channel.ts +299 -0
- package/extensions/signal/src/runtime.ts +14 -0
- package/extensions/slack/index.ts +17 -0
- package/extensions/slack/package.json +12 -0
- package/extensions/slack/remoteclaw.plugin.json +9 -0
- package/extensions/slack/src/channel.ts +421 -0
- package/extensions/slack/src/runtime.ts +14 -0
- package/extensions/synology-chat/index.ts +17 -0
- package/extensions/synology-chat/package.json +28 -0
- package/extensions/synology-chat/remoteclaw.plugin.json +9 -0
- package/extensions/synology-chat/src/accounts.ts +87 -0
- package/extensions/synology-chat/src/channel.ts +347 -0
- package/extensions/synology-chat/src/client.ts +142 -0
- package/extensions/synology-chat/src/runtime.ts +20 -0
- package/extensions/synology-chat/src/security.ts +140 -0
- package/extensions/synology-chat/src/types.ts +60 -0
- package/extensions/synology-chat/src/webhook-handler.ts +221 -0
- package/extensions/talk-voice/index.ts +150 -0
- package/extensions/talk-voice/remoteclaw.plugin.json +10 -0
- package/extensions/telegram/index.ts +17 -0
- package/extensions/telegram/package.json +12 -0
- package/extensions/telegram/remoteclaw.plugin.json +9 -0
- package/extensions/telegram/src/channel.ts +569 -0
- package/extensions/telegram/src/runtime.ts +14 -0
- package/extensions/test-utils/runtime-env.ts +12 -0
- package/extensions/thread-ownership/index.ts +133 -0
- package/extensions/thread-ownership/remoteclaw.plugin.json +28 -0
- package/extensions/tlon/README.md +5 -0
- package/extensions/tlon/index.ts +17 -0
- package/extensions/tlon/package.json +29 -0
- package/extensions/tlon/remoteclaw.plugin.json +9 -0
- package/extensions/tlon/src/account-fields.ts +25 -0
- package/extensions/tlon/src/channel.ts +384 -0
- package/extensions/tlon/src/config-schema.ts +41 -0
- package/extensions/tlon/src/monitor/discovery.ts +78 -0
- package/extensions/tlon/src/monitor/history.ts +92 -0
- package/extensions/tlon/src/monitor/index.ts +596 -0
- package/extensions/tlon/src/monitor/processed-messages.ts +33 -0
- package/extensions/tlon/src/monitor/utils.ts +106 -0
- package/extensions/tlon/src/onboarding.ts +229 -0
- package/extensions/tlon/src/runtime.ts +14 -0
- package/extensions/tlon/src/targets.ts +89 -0
- package/extensions/tlon/src/types.ts +99 -0
- package/extensions/tlon/src/urbit/auth.ts +48 -0
- package/extensions/tlon/src/urbit/base-url.ts +57 -0
- package/extensions/tlon/src/urbit/channel-client.ts +158 -0
- package/extensions/tlon/src/urbit/channel-ops.ts +164 -0
- package/extensions/tlon/src/urbit/context.ts +47 -0
- package/extensions/tlon/src/urbit/errors.ts +51 -0
- package/extensions/tlon/src/urbit/fetch.ts +39 -0
- package/extensions/tlon/src/urbit/send.ts +131 -0
- package/extensions/tlon/src/urbit/sse-client.ts +431 -0
- package/extensions/twitch/CHANGELOG.md +39 -0
- package/extensions/twitch/README.md +89 -0
- package/extensions/twitch/index.ts +20 -0
- package/extensions/twitch/package.json +17 -0
- package/extensions/twitch/remoteclaw.plugin.json +9 -0
- package/extensions/twitch/src/access-control.ts +166 -0
- package/extensions/twitch/src/actions.ts +174 -0
- package/extensions/twitch/src/client-manager-registry.ts +115 -0
- package/extensions/twitch/src/config-schema.ts +84 -0
- package/extensions/twitch/src/config.ts +116 -0
- package/extensions/twitch/src/monitor.ts +273 -0
- package/extensions/twitch/src/onboarding.ts +417 -0
- package/extensions/twitch/src/outbound.ts +187 -0
- package/extensions/twitch/src/plugin.ts +274 -0
- package/extensions/twitch/src/probe.ts +119 -0
- package/extensions/twitch/src/resolver.ts +137 -0
- package/extensions/twitch/src/runtime.ts +14 -0
- package/extensions/twitch/src/send.ts +136 -0
- package/extensions/twitch/src/status.ts +179 -0
- package/extensions/twitch/src/test-fixtures.ts +30 -0
- package/extensions/twitch/src/token.ts +94 -0
- package/extensions/twitch/src/twitch-client.ts +277 -0
- package/extensions/twitch/src/types.ts +141 -0
- package/extensions/twitch/src/utils/markdown.ts +98 -0
- package/extensions/twitch/src/utils/twitch.ts +80 -0
- package/extensions/voice-call/CHANGELOG.md +49 -0
- package/extensions/voice-call/README.md +181 -0
- package/extensions/voice-call/index.ts +512 -0
- package/extensions/voice-call/package.json +16 -0
- package/extensions/voice-call/remoteclaw.plugin.json +559 -0
- package/extensions/voice-call/src/allowlist.ts +19 -0
- package/extensions/voice-call/src/cli.ts +380 -0
- package/extensions/voice-call/src/config.ts +477 -0
- package/extensions/voice-call/src/core-bridge.ts +170 -0
- package/extensions/voice-call/src/manager/context.ts +41 -0
- package/extensions/voice-call/src/manager/events.ts +242 -0
- package/extensions/voice-call/src/manager/lookup.ts +35 -0
- package/extensions/voice-call/src/manager/outbound.ts +380 -0
- package/extensions/voice-call/src/manager/state.ts +48 -0
- package/extensions/voice-call/src/manager/store.ts +94 -0
- package/extensions/voice-call/src/manager/timers.ts +112 -0
- package/extensions/voice-call/src/manager/twiml.ts +9 -0
- package/extensions/voice-call/src/manager.ts +209 -0
- package/extensions/voice-call/src/media-stream.ts +527 -0
- package/extensions/voice-call/src/providers/base.ts +67 -0
- package/extensions/voice-call/src/providers/index.ts +10 -0
- package/extensions/voice-call/src/providers/mock.ts +165 -0
- package/extensions/voice-call/src/providers/plivo.ts +560 -0
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +311 -0
- package/extensions/voice-call/src/providers/telnyx.ts +318 -0
- package/extensions/voice-call/src/providers/tts-openai.ts +259 -0
- package/extensions/voice-call/src/providers/twilio/api.ts +42 -0
- package/extensions/voice-call/src/providers/twilio/webhook.ts +33 -0
- package/extensions/voice-call/src/providers/twilio.ts +688 -0
- package/extensions/voice-call/src/response-generator.ts +174 -0
- package/extensions/voice-call/src/runtime.ts +217 -0
- package/extensions/voice-call/src/telephony-audio.ts +90 -0
- package/extensions/voice-call/src/telephony-tts.ts +106 -0
- package/extensions/voice-call/src/tunnel.ts +314 -0
- package/extensions/voice-call/src/types.ts +280 -0
- package/extensions/voice-call/src/utils.ts +14 -0
- package/extensions/voice-call/src/voice-mapping.ts +67 -0
- package/extensions/voice-call/src/webhook-security.ts +880 -0
- package/extensions/voice-call/src/webhook.ts +556 -0
- package/extensions/whatsapp/index.ts +17 -0
- package/extensions/whatsapp/package.json +12 -0
- package/extensions/whatsapp/remoteclaw.plugin.json +9 -0
- package/extensions/whatsapp/src/channel.ts +459 -0
- package/extensions/whatsapp/src/runtime.ts +14 -0
- package/extensions/zalo/CHANGELOG.md +29 -0
- package/extensions/zalo/README.md +50 -0
- package/extensions/zalo/index.ts +19 -0
- package/extensions/zalo/package.json +32 -0
- package/extensions/zalo/remoteclaw.plugin.json +9 -0
- package/extensions/zalo/src/accounts.ts +82 -0
- package/extensions/zalo/src/actions.ts +56 -0
- package/extensions/zalo/src/api.ts +208 -0
- package/extensions/zalo/src/channel.ts +398 -0
- package/extensions/zalo/src/config-schema.ts +27 -0
- package/extensions/zalo/src/group-access.ts +48 -0
- package/extensions/zalo/src/monitor.ts +675 -0
- package/extensions/zalo/src/monitor.webhook.ts +219 -0
- package/extensions/zalo/src/onboarding.ts +398 -0
- package/extensions/zalo/src/probe.ts +45 -0
- package/extensions/zalo/src/proxy.ts +24 -0
- package/extensions/zalo/src/runtime.ts +14 -0
- package/extensions/zalo/src/send.ts +124 -0
- package/extensions/zalo/src/status-issues.ts +53 -0
- package/extensions/zalo/src/token.ts +62 -0
- package/extensions/zalo/src/types.ts +48 -0
- package/extensions/zalouser/CHANGELOG.md +31 -0
- package/extensions/zalouser/README.md +225 -0
- package/extensions/zalouser/index.ts +31 -0
- package/extensions/zalouser/package.json +32 -0
- package/extensions/zalouser/remoteclaw.plugin.json +9 -0
- package/extensions/zalouser/src/accounts.ts +138 -0
- package/extensions/zalouser/src/channel.ts +652 -0
- package/extensions/zalouser/src/config-schema.ts +28 -0
- package/extensions/zalouser/src/monitor.ts +619 -0
- package/extensions/zalouser/src/onboarding.ts +428 -0
- package/extensions/zalouser/src/probe.ts +27 -0
- package/extensions/zalouser/src/runtime.ts +14 -0
- package/extensions/zalouser/src/send.ts +141 -0
- package/extensions/zalouser/src/status-issues.ts +89 -0
- package/extensions/zalouser/src/tool.ts +166 -0
- package/extensions/zalouser/src/types.ts +105 -0
- package/extensions/zalouser/src/zca.ts +198 -0
- package/package.json +251 -15
- package/remoteclaw.mjs +56 -0
- package/index.js +0 -4
|
@@ -0,0 +1,2028 @@
|
|
|
1
|
+
import { t as createSubsystemLogger } from "./subsystem-COd61u0P.js";
|
|
2
|
+
import { g as sensitive } from "./config-ChYRSJQt.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
|
|
5
|
+
//#region src/config/schema.irc.ts
|
|
6
|
+
const IRC_FIELD_LABELS = {
|
|
7
|
+
"channels.irc": "IRC",
|
|
8
|
+
"channels.irc.dmPolicy": "IRC DM Policy",
|
|
9
|
+
"channels.irc.nickserv.enabled": "IRC NickServ Enabled",
|
|
10
|
+
"channels.irc.nickserv.service": "IRC NickServ Service",
|
|
11
|
+
"channels.irc.nickserv.password": "IRC NickServ Password",
|
|
12
|
+
"channels.irc.nickserv.passwordFile": "IRC NickServ Password File",
|
|
13
|
+
"channels.irc.nickserv.register": "IRC NickServ Register",
|
|
14
|
+
"channels.irc.nickserv.registerEmail": "IRC NickServ Register Email"
|
|
15
|
+
};
|
|
16
|
+
const IRC_FIELD_HELP = {
|
|
17
|
+
"channels.irc.configWrites": "Allow IRC to write config in response to channel events/commands (default: true).",
|
|
18
|
+
"channels.irc.dmPolicy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.irc.allowFrom=[\"*\"].",
|
|
19
|
+
"channels.irc.nickserv.enabled": "Enable NickServ identify/register after connect (defaults to enabled when password is configured).",
|
|
20
|
+
"channels.irc.nickserv.service": "NickServ service nick (default: NickServ).",
|
|
21
|
+
"channels.irc.nickserv.password": "NickServ password used for IDENTIFY/REGISTER (sensitive).",
|
|
22
|
+
"channels.irc.nickserv.passwordFile": "Optional file path containing NickServ password.",
|
|
23
|
+
"channels.irc.nickserv.register": "If true, send NickServ REGISTER on every connect. Use once for initial registration, then disable.",
|
|
24
|
+
"channels.irc.nickserv.registerEmail": "Email used with NickServ REGISTER (required when register=true)."
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/config/schema.help.ts
|
|
29
|
+
const FIELD_HELP = {
|
|
30
|
+
meta: "Metadata fields automatically maintained by RemoteClaw to record write/version history for this config file. Keep these values system-managed and avoid manual edits unless debugging migration history.",
|
|
31
|
+
"meta.lastTouchedVersion": "Auto-set when RemoteClaw writes the config.",
|
|
32
|
+
"meta.lastTouchedAt": "ISO timestamp of the last config write (auto-set).",
|
|
33
|
+
env: "Environment import and override settings used to supply runtime variables to the gateway process. Use this section to control shell-env loading and explicit variable injection behavior.",
|
|
34
|
+
"env.shellEnv": "Shell environment import controls for loading variables from your login shell during startup. Keep this enabled when you depend on profile-defined secrets or PATH customizations.",
|
|
35
|
+
"env.shellEnv.enabled": "Enables loading environment variables from the user shell profile during startup initialization. Keep enabled for developer machines, or disable in locked-down service environments with explicit env management.",
|
|
36
|
+
"env.shellEnv.timeoutMs": "Maximum time in milliseconds allowed for shell environment resolution before fallback behavior applies. Use tighter timeouts for faster startup, or increase when shell initialization is heavy.",
|
|
37
|
+
"env.vars": "Explicit key/value environment variable overrides merged into runtime process environment for RemoteClaw. Use this for deterministic env configuration instead of relying only on shell profile side effects.",
|
|
38
|
+
wizard: "Setup wizard state tracking fields that record the most recent guided onboarding run details. Keep these fields for observability and troubleshooting of setup flows across upgrades.",
|
|
39
|
+
"wizard.lastRunAt": "ISO timestamp for when the setup wizard most recently completed on this host. Use this to confirm onboarding recency during support and operational audits.",
|
|
40
|
+
"wizard.lastRunVersion": "RemoteClaw version recorded at the time of the most recent wizard run on this config. Use this when diagnosing behavior differences across version-to-version onboarding changes.",
|
|
41
|
+
"wizard.lastRunCommit": "Source commit identifier recorded for the last wizard execution in development builds. Use this to correlate onboarding behavior with exact source state during debugging.",
|
|
42
|
+
"wizard.lastRunCommand": "Command invocation recorded for the latest wizard run to preserve execution context. Use this to reproduce onboarding steps when verifying setup regressions.",
|
|
43
|
+
"wizard.lastRunMode": "Wizard execution mode recorded as \"local\" or \"remote\" for the most recent onboarding flow. Use this to understand whether setup targeted direct local runtime or remote gateway topology.",
|
|
44
|
+
diagnostics: "Diagnostics controls for targeted tracing, telemetry export, and cache inspection during debugging. Keep baseline diagnostics minimal in production and enable deeper signals only when investigating issues.",
|
|
45
|
+
"diagnostics.otel": "OpenTelemetry export settings for traces, metrics, and logs emitted by gateway components. Use this when integrating with centralized observability backends and distributed tracing pipelines.",
|
|
46
|
+
"diagnostics.cacheTrace": "Cache-trace logging settings for observing cache decisions and payload context in embedded runs. Enable this temporarily for debugging and disable afterward to reduce sensitive log footprint.",
|
|
47
|
+
logging: "Logging behavior controls for severity, output destinations, formatting, and sensitive-data redaction. Keep levels and redaction strict enough for production while preserving useful diagnostics.",
|
|
48
|
+
"logging.level": "Primary log level threshold for runtime logger output: \"silent\", \"fatal\", \"error\", \"warn\", \"info\", \"debug\", or \"trace\". Keep \"info\" or \"warn\" for production, and use debug/trace only during investigation.",
|
|
49
|
+
"logging.file": "Optional file path for persisted log output in addition to or instead of console logging. Use a managed writable path and align retention/rotation with your operational policy.",
|
|
50
|
+
"logging.consoleLevel": "Console-specific log threshold: \"silent\", \"fatal\", \"error\", \"warn\", \"info\", \"debug\", or \"trace\" for terminal output control. Use this to keep local console quieter while retaining richer file logging if needed.",
|
|
51
|
+
"logging.consoleStyle": "Console output format style: \"pretty\", \"compact\", or \"json\" based on operator and ingestion needs. Use json for machine parsing pipelines and pretty/compact for human-first terminal workflows.",
|
|
52
|
+
"logging.redactSensitive": "Sensitive redaction mode: \"off\" disables built-in masking, while \"tools\" redacts sensitive tool/config payload fields. Keep \"tools\" in shared logs unless you have isolated secure log sinks.",
|
|
53
|
+
"logging.redactPatterns": "Additional custom redact regex patterns applied to log output before emission/storage. Use this to mask org-specific tokens and identifiers not covered by built-in redaction rules.",
|
|
54
|
+
update: "Update-channel and startup-check behavior for keeping RemoteClaw runtime versions current. Use conservative channels in production and more experimental channels only in controlled environments.",
|
|
55
|
+
"update.channel": "Update channel for git + npm installs (\"stable\", \"beta\", or \"dev\").",
|
|
56
|
+
"update.checkOnStart": "Check for npm updates when the gateway starts (default: true).",
|
|
57
|
+
"update.auto.enabled": "Enable background auto-update for package installs (default: false).",
|
|
58
|
+
"update.auto.stableDelayHours": "Minimum delay before stable-channel auto-apply starts (default: 6).",
|
|
59
|
+
"update.auto.stableJitterHours": "Extra stable-channel rollout spread window in hours (default: 12).",
|
|
60
|
+
"update.auto.betaCheckIntervalHours": "How often beta-channel checks run in hours (default: 1).",
|
|
61
|
+
gateway: "Gateway runtime surface for bind mode, auth, control UI, remote transport, and operational safety controls. Keep conservative defaults unless you intentionally expose the gateway beyond trusted local interfaces.",
|
|
62
|
+
"gateway.port": "TCP port used by the gateway listener for API, control UI, and channel-facing ingress paths. Use a dedicated port and avoid collisions with reverse proxies or local developer services.",
|
|
63
|
+
"gateway.mode": "Gateway operation mode: \"local\" runs channels and agent runtime on this host, while \"remote\" connects through remote transport. Keep \"local\" unless you intentionally run a split remote gateway topology.",
|
|
64
|
+
"gateway.bind": "Network bind profile: \"auto\", \"lan\", \"loopback\", \"custom\", or \"tailnet\" to control interface exposure. Keep \"loopback\" or \"auto\" for safest local operation unless external clients must connect.",
|
|
65
|
+
"gateway.customBindHost": "Explicit bind host/IP used when gateway.bind is set to custom for manual interface targeting. Use a precise address and avoid wildcard binds unless external exposure is required.",
|
|
66
|
+
"gateway.controlUi": "Control UI hosting settings including enablement, pathing, and browser-origin/auth hardening behavior. Keep UI exposure minimal and pair with strong auth controls before internet-facing deployments.",
|
|
67
|
+
"gateway.controlUi.enabled": "Enables serving the gateway Control UI from the gateway HTTP process when true. Keep enabled for local administration, and disable when an external control surface replaces it.",
|
|
68
|
+
"gateway.auth": "Authentication policy for gateway HTTP/WebSocket access including mode, credentials, trusted-proxy behavior, and rate limiting. Keep auth enabled for every non-loopback deployment.",
|
|
69
|
+
"gateway.auth.mode": "Gateway auth mode: \"none\", \"token\", \"password\", or \"trusted-proxy\" depending on your edge architecture. Use token/password for direct exposure, and trusted-proxy only behind hardened identity-aware proxies.",
|
|
70
|
+
"gateway.auth.allowTailscale": "Allows trusted Tailscale identity paths to satisfy gateway auth checks when configured. Use this only when your tailnet identity posture is strong and operator workflows depend on it.",
|
|
71
|
+
"gateway.auth.rateLimit": "Login/auth attempt throttling controls to reduce credential brute-force risk at the gateway boundary. Keep enabled in exposed environments and tune thresholds to your traffic baseline.",
|
|
72
|
+
"gateway.auth.trustedProxy": "Trusted-proxy auth header mapping for upstream identity providers that inject user claims. Use only with known proxy CIDRs and strict header allowlists to prevent spoofed identity headers.",
|
|
73
|
+
"gateway.trustedProxies": "CIDR/IP allowlist of upstream proxies permitted to provide forwarded client identity headers. Keep this list narrow so untrusted hops cannot impersonate users.",
|
|
74
|
+
"gateway.allowRealIpFallback": "Enables x-real-ip fallback when x-forwarded-for is missing in proxy scenarios. Keep disabled unless your ingress stack requires this compatibility behavior.",
|
|
75
|
+
"gateway.tools": "Gateway-level tool exposure allow/deny policy that can restrict runtime tool availability independent of agent/tool profiles. Use this for coarse emergency controls and production hardening.",
|
|
76
|
+
"gateway.tools.allow": "Explicit gateway-level tool allowlist when you want a narrow set of tools available at runtime. Use this for locked-down environments where tool scope must be tightly controlled.",
|
|
77
|
+
"gateway.tools.deny": "Explicit gateway-level tool denylist to block risky tools even if lower-level policies allow them. Use deny rules for emergency response and defense-in-depth hardening.",
|
|
78
|
+
"gateway.channelHealthCheckMinutes": "Interval in minutes for automatic channel health probing and status updates. Use lower intervals for faster detection, or higher intervals to reduce periodic probe noise.",
|
|
79
|
+
"gateway.tailscale": "Tailscale integration settings for Serve/Funnel exposure and lifecycle handling on gateway start/exit. Keep off unless your deployment intentionally relies on Tailscale ingress.",
|
|
80
|
+
"gateway.tailscale.mode": "Tailscale publish mode: \"off\", \"serve\", or \"funnel\" for private or public exposure paths. Use \"serve\" for tailnet-only access and \"funnel\" only when public internet reachability is required.",
|
|
81
|
+
"gateway.tailscale.resetOnExit": "Resets Tailscale Serve/Funnel state on gateway exit to avoid stale published routes after shutdown. Keep enabled unless another controller manages publish lifecycle outside the gateway.",
|
|
82
|
+
"gateway.remote": "Remote gateway connection settings for direct or SSH transport when this instance proxies to another runtime host. Use remote mode only when split-host operation is intentionally configured.",
|
|
83
|
+
"gateway.remote.transport": "Remote connection transport: \"direct\" uses configured URL connectivity, while \"ssh\" tunnels through SSH. Use SSH when you need encrypted tunnel semantics without exposing remote ports.",
|
|
84
|
+
"gateway.reload": "Live config-reload policy for how edits are applied and when full restarts are triggered. Keep hybrid behavior for safest operational updates unless debugging reload internals.",
|
|
85
|
+
"gateway.tls": "TLS certificate and key settings for terminating HTTPS directly in the gateway process. Use explicit certificates in production and avoid plaintext exposure on untrusted networks.",
|
|
86
|
+
"gateway.tls.enabled": "Enables TLS termination at the gateway listener so clients connect over HTTPS/WSS directly. Keep enabled for direct internet exposure or any untrusted network boundary.",
|
|
87
|
+
"gateway.tls.autoGenerate": "Auto-generates a local TLS certificate/key pair when explicit files are not configured. Use only for local/dev setups and replace with real certificates for production traffic.",
|
|
88
|
+
"gateway.tls.certPath": "Filesystem path to the TLS certificate file used by the gateway when TLS is enabled. Use managed certificate paths and keep renewal automation aligned with this location.",
|
|
89
|
+
"gateway.tls.keyPath": "Filesystem path to the TLS private key file used by the gateway when TLS is enabled. Keep this key file permission-restricted and rotate per your security policy.",
|
|
90
|
+
"gateway.tls.caPath": "Optional CA bundle path for client verification or custom trust-chain requirements at the gateway edge. Use this when private PKI or custom certificate chains are part of deployment.",
|
|
91
|
+
"gateway.http": "Gateway HTTP API configuration grouping endpoint toggles and transport-facing API exposure controls. Keep only required endpoints enabled to reduce attack surface.",
|
|
92
|
+
"gateway.http.endpoints": "HTTP endpoint feature toggles under the gateway API surface for compatibility routes and optional integrations. Enable endpoints intentionally and monitor access patterns after rollout.",
|
|
93
|
+
"gateway.http.securityHeaders": "Optional HTTP response security headers applied by the gateway process itself. Prefer setting these at your reverse proxy when TLS terminates there.",
|
|
94
|
+
"gateway.http.securityHeaders.strictTransportSecurity": "Value for the Strict-Transport-Security response header. Set only on HTTPS origins that you fully control; use false to explicitly disable.",
|
|
95
|
+
"gateway.remote.url": "Remote Gateway WebSocket URL (ws:// or wss://).",
|
|
96
|
+
"gateway.remote.token": "Bearer token used to authenticate this client to a remote gateway in token-auth deployments. Store via secret/env substitution and rotate alongside remote gateway auth changes.",
|
|
97
|
+
"gateway.remote.password": "Password credential used for remote gateway authentication when password mode is enabled. Keep this secret managed externally and avoid plaintext values in committed config.",
|
|
98
|
+
"gateway.remote.tlsFingerprint": "Expected sha256 TLS fingerprint for the remote gateway (pin to avoid MITM).",
|
|
99
|
+
"gateway.remote.sshTarget": "Remote gateway over SSH (tunnels the gateway port to localhost). Format: user@host or user@host:port.",
|
|
100
|
+
"gateway.remote.sshIdentity": "Optional SSH identity file path (passed to ssh -i).",
|
|
101
|
+
"talk.provider": "Active Talk provider id (for example \"elevenlabs\").",
|
|
102
|
+
"talk.providers": "Provider-specific Talk settings keyed by provider id. During migration, prefer this over legacy talk.* keys.",
|
|
103
|
+
"talk.providers.*.voiceId": "Provider default voice ID for Talk mode.",
|
|
104
|
+
"talk.providers.*.voiceAliases": "Optional provider voice alias map for Talk directives.",
|
|
105
|
+
"talk.providers.*.modelId": "Provider default model ID for Talk mode.",
|
|
106
|
+
"talk.providers.*.outputFormat": "Provider default output format for Talk mode.",
|
|
107
|
+
"talk.providers.*.apiKey": "Provider API key for Talk mode.",
|
|
108
|
+
"talk.voiceId": "Legacy ElevenLabs default voice ID for Talk mode. Prefer talk.providers.elevenlabs.voiceId.",
|
|
109
|
+
"talk.voiceAliases": "Use this legacy ElevenLabs voice alias map (for example {\"Clawd\":\"EXAVITQu4vr4xnSDxMaL\"}) only during migration. Prefer talk.providers.elevenlabs.voiceAliases.",
|
|
110
|
+
"talk.modelId": "Legacy ElevenLabs model ID for Talk mode (default: eleven_v3). Prefer talk.providers.elevenlabs.modelId.",
|
|
111
|
+
"talk.outputFormat": "Use this legacy ElevenLabs output format for Talk mode (for example pcm_44100 or mp3_44100_128) only during migration. Prefer talk.providers.elevenlabs.outputFormat.",
|
|
112
|
+
"talk.apiKey": "Use this legacy ElevenLabs API key for Talk mode only during migration, and keep secrets in env-backed storage. Prefer talk.providers.elevenlabs.apiKey (fallback: ELEVENLABS_API_KEY).",
|
|
113
|
+
"talk.interruptOnSpeech": "If true (default), stop assistant speech when the user starts speaking in Talk mode. Keep enabled for conversational turn-taking.",
|
|
114
|
+
"agents.list.*.skills": "Optional allowlist of skills for this agent (omit = all skills; empty = no skills).",
|
|
115
|
+
"agents.list[].skills": "Optional allowlist of skills for this agent (omit = all skills; empty = no skills).",
|
|
116
|
+
agents: "Agent runtime configuration root covering defaults and explicit agent entries used for routing and execution context. Keep this section explicit so model/tool behavior stays predictable across multi-agent workflows.",
|
|
117
|
+
"agents.defaults": "Shared default settings inherited by agents unless overridden per entry in agents.list. Use defaults to enforce consistent baseline behavior and reduce duplicated per-agent configuration.",
|
|
118
|
+
"agents.list": "Explicit list of configured agents with IDs and optional overrides for model, tools, identity, and workspace. Keep IDs stable over time so bindings, approvals, and session routing remain deterministic.",
|
|
119
|
+
"agents.list[].identity.avatar": "Avatar image path (relative to the agent workspace only) or a remote URL/data URL.",
|
|
120
|
+
"agents.defaults.heartbeat.suppressToolErrorWarnings": "Suppress tool error warning payloads during heartbeat runs.",
|
|
121
|
+
"agents.list[].heartbeat.suppressToolErrorWarnings": "Suppress tool error warning payloads during heartbeat runs.",
|
|
122
|
+
browser: "Browser runtime controls for local or remote CDP attachment, profile routing, and screenshot/snapshot behavior. Keep defaults unless your automation workflow requires custom browser transport settings.",
|
|
123
|
+
"browser.enabled": "Enables browser capability wiring in the gateway so browser tools and CDP-driven workflows can run. Disable when browser automation is not needed to reduce surface area and startup work.",
|
|
124
|
+
"browser.cdpUrl": "Remote CDP websocket URL used to attach to an externally managed browser instance. Use this for centralized browser hosts and keep URL access restricted to trusted network paths.",
|
|
125
|
+
"browser.color": "Default accent color used for browser profile/UI cues where colored identity hints are displayed. Use consistent colors to help operators identify active browser profile context quickly.",
|
|
126
|
+
"browser.executablePath": "Explicit browser executable path when auto-discovery is insufficient for your host environment. Use absolute stable paths so launch behavior stays deterministic across restarts.",
|
|
127
|
+
"browser.headless": "Forces browser launch in headless mode when the local launcher starts browser instances. Keep headless enabled for server environments and disable only when visible UI debugging is required.",
|
|
128
|
+
"browser.noSandbox": "Disables Chromium sandbox isolation flags for environments where sandboxing fails at runtime. Keep this off whenever possible because process isolation protections are reduced.",
|
|
129
|
+
"browser.attachOnly": "Restricts browser mode to attach-only behavior without starting local browser processes. Use this when all browser sessions are externally managed by a remote CDP provider.",
|
|
130
|
+
"browser.defaultProfile": "Default browser profile name selected when callers do not explicitly choose a profile. Use a stable low-privilege profile as the default to reduce accidental cross-context state use.",
|
|
131
|
+
"browser.profiles": "Named browser profile connection map used for explicit routing to CDP ports or URLs with optional metadata. Keep profile names consistent and avoid overlapping endpoint definitions.",
|
|
132
|
+
"browser.profiles.*.cdpPort": "Per-profile local CDP port used when connecting to browser instances by port instead of URL. Use unique ports per profile to avoid connection collisions.",
|
|
133
|
+
"browser.profiles.*.cdpUrl": "Per-profile CDP websocket URL used for explicit remote browser routing by profile name. Use this when profile connections terminate on remote hosts or tunnels.",
|
|
134
|
+
"browser.profiles.*.driver": "Per-profile browser driver mode: \"clawd\" or \"extension\" depending on connection/runtime strategy. Use the driver that matches your browser control stack to avoid protocol mismatches.",
|
|
135
|
+
"browser.profiles.*.color": "Per-profile accent color for visual differentiation in dashboards and browser-related UI hints. Use distinct colors for high-signal operator recognition of active profiles.",
|
|
136
|
+
"browser.evaluateEnabled": "Enables browser-side evaluate helpers for runtime script evaluation capabilities where supported. Keep disabled unless your workflows require evaluate semantics beyond snapshots/navigation.",
|
|
137
|
+
"browser.snapshotDefaults": "Default snapshot capture configuration used when callers do not provide explicit snapshot options. Tune this for consistent capture behavior across channels and automation paths.",
|
|
138
|
+
"browser.snapshotDefaults.mode": "Default snapshot extraction mode controlling how page content is transformed for agent consumption. Choose the mode that balances readability, fidelity, and token footprint for your workflows.",
|
|
139
|
+
"browser.ssrfPolicy": "Server-side request forgery guardrail settings for browser/network fetch paths that could reach internal hosts. Keep restrictive defaults in production and open only explicitly approved targets.",
|
|
140
|
+
"browser.ssrfPolicy.allowPrivateNetwork": "Legacy alias for browser.ssrfPolicy.dangerouslyAllowPrivateNetwork. Prefer the dangerously-named key so risk intent is explicit.",
|
|
141
|
+
"browser.ssrfPolicy.dangerouslyAllowPrivateNetwork": "Allows access to private-network address ranges from browser tooling. Default is enabled for trusted-network operator setups; disable to enforce strict public-only resolution checks.",
|
|
142
|
+
"browser.ssrfPolicy.allowedHostnames": "Explicit hostname allowlist exceptions for SSRF policy checks on browser/network requests. Keep this list minimal and review entries regularly to avoid stale broad access.",
|
|
143
|
+
"browser.ssrfPolicy.hostnameAllowlist": "Legacy/alternate hostname allowlist field used by SSRF policy consumers for explicit host exceptions. Use stable exact hostnames and avoid wildcard-like broad patterns.",
|
|
144
|
+
"browser.remoteCdpTimeoutMs": "Timeout in milliseconds for connecting to a remote CDP endpoint before failing the browser attach attempt. Increase for high-latency tunnels, or lower for faster failure detection.",
|
|
145
|
+
"browser.remoteCdpHandshakeTimeoutMs": "Timeout in milliseconds for post-connect CDP handshake readiness checks against remote browser targets. Raise this for slow-start remote browsers and lower to fail fast in automation loops.",
|
|
146
|
+
"discovery.mdns.mode": "mDNS broadcast mode (\"minimal\" default, \"full\" includes cliPath/sshPort, \"off\" disables mDNS).",
|
|
147
|
+
discovery: "Service discovery settings for local mDNS advertisement and optional wide-area presence signaling. Keep discovery scoped to expected networks to avoid leaking service metadata.",
|
|
148
|
+
"discovery.wideArea": "Wide-area discovery configuration group for exposing discovery signals beyond local-link scopes. Enable only in deployments that intentionally aggregate gateway presence across sites.",
|
|
149
|
+
"discovery.wideArea.enabled": "Enables wide-area discovery signaling when your environment needs non-local gateway discovery. Keep disabled unless cross-network discovery is operationally required.",
|
|
150
|
+
"discovery.mdns": "mDNS discovery configuration group for local network advertisement and discovery behavior tuning. Keep minimal mode for routine LAN discovery unless extra metadata is required.",
|
|
151
|
+
tools: "Global tool access policy and capability configuration across web, exec, media, messaging, and elevated surfaces. Use this section to constrain risky capabilities before broad rollout.",
|
|
152
|
+
"tools.allow": "Absolute tool allowlist that replaces profile-derived defaults for strict environments. Use this only when you intentionally run a tightly curated subset of tool capabilities.",
|
|
153
|
+
"tools.deny": "Global tool denylist that blocks listed tools even when profile or provider rules would allow them. Use deny rules for emergency lockouts and long-term defense-in-depth.",
|
|
154
|
+
"tools.exec": "Exec-tool policy grouping for shell execution host, security mode, approval behavior, and runtime bindings. Keep conservative defaults in production and tighten elevated execution paths.",
|
|
155
|
+
"tools.exec.host": "Selects execution host strategy for shell commands, typically controlling local vs delegated execution environment. Use the safest host mode that still satisfies your automation requirements.",
|
|
156
|
+
"tools.exec.security": "Execution security posture selector controlling sandbox/approval expectations for command execution. Keep strict security mode for untrusted prompts and relax only for trusted operator workflows.",
|
|
157
|
+
"tools.exec.ask": "Approval strategy for when exec commands require human confirmation before running. Use stricter ask behavior in shared channels and lower-friction settings in private operator contexts.",
|
|
158
|
+
"tools.exec.node": "Node binding configuration for exec tooling when command execution is delegated through connected nodes. Use explicit node binding only when multi-node routing is required.",
|
|
159
|
+
"tools.agentToAgent": "Policy for allowing agent-to-agent tool calls and constraining which target agents can be reached. Keep disabled or tightly scoped unless cross-agent orchestration is intentionally enabled.",
|
|
160
|
+
"tools.agentToAgent.enabled": "Enables the agent_to_agent tool surface so one agent can invoke another agent at runtime. Keep off in simple deployments and enable only when orchestration value outweighs complexity.",
|
|
161
|
+
"tools.agentToAgent.allow": "Allowlist of target agent IDs permitted for agent_to_agent calls when orchestration is enabled. Use explicit allowlists to avoid uncontrolled cross-agent call graphs.",
|
|
162
|
+
"tools.elevated": "Elevated tool access controls for privileged command surfaces that should only be reachable from trusted senders. Keep disabled unless operator workflows explicitly require elevated actions.",
|
|
163
|
+
"tools.elevated.enabled": "Enables elevated tool execution path when sender and policy checks pass. Keep disabled in public/shared channels and enable only for trusted owner-operated contexts.",
|
|
164
|
+
"tools.elevated.allowFrom": "Sender allow rules for elevated tools, usually keyed by channel/provider identity formats. Use narrow, explicit identities so elevated commands cannot be triggered by unintended users.",
|
|
165
|
+
"tools.subagents": "Tool policy wrapper for spawned subagents to restrict or expand tool availability compared to parent defaults. Use this to keep delegated agent capabilities scoped to task intent.",
|
|
166
|
+
"tools.subagents.tools": "Allow/deny tool policy applied to spawned subagent runtimes for per-subagent hardening. Keep this narrower than parent scope when subagents run semi-autonomous workflows.",
|
|
167
|
+
"tools.sandbox": "Tool policy wrapper for sandboxed agent executions so sandbox runs can have distinct capability boundaries. Use this to enforce stronger safety in sandbox contexts.",
|
|
168
|
+
"tools.sandbox.tools": "Allow/deny tool policy applied when agents run in sandboxed execution environments. Keep policies minimal so sandbox tasks cannot escalate into unnecessary external actions.",
|
|
169
|
+
web: "Web channel runtime settings for heartbeat and reconnect behavior when operating web-based chat surfaces. Use reconnect values tuned to your network reliability profile and expected uptime needs.",
|
|
170
|
+
"web.enabled": "Enables the web channel runtime and related websocket lifecycle behavior. Keep disabled when web chat is unused to reduce active connection management overhead.",
|
|
171
|
+
"web.heartbeatSeconds": "Heartbeat interval in seconds for web channel connectivity and liveness maintenance. Use shorter intervals for faster detection, or longer intervals to reduce keepalive chatter.",
|
|
172
|
+
"web.reconnect": "Reconnect backoff policy for web channel reconnect attempts after transport failure. Keep bounded retries and jitter tuned to avoid thundering-herd reconnect behavior.",
|
|
173
|
+
"web.reconnect.initialMs": "Initial reconnect delay in milliseconds before the first retry after disconnection. Use modest delays to recover quickly without immediate retry storms.",
|
|
174
|
+
"web.reconnect.maxMs": "Maximum reconnect backoff cap in milliseconds to bound retry delay growth over repeated failures. Use a reasonable cap so recovery remains timely after prolonged outages.",
|
|
175
|
+
"web.reconnect.factor": "Exponential backoff multiplier used between reconnect attempts in web channel retry loops. Keep factor above 1 and tune with jitter for stable large-fleet reconnect behavior.",
|
|
176
|
+
"web.reconnect.jitter": "Randomization factor (0-1) applied to reconnect delays to desynchronize clients after outage events. Keep non-zero jitter in multi-client deployments to reduce synchronized spikes.",
|
|
177
|
+
"web.reconnect.maxAttempts": "Maximum reconnect attempts before giving up for the current failure sequence (0 means no retries). Use finite caps for controlled failure handling in automation-sensitive environments.",
|
|
178
|
+
canvasHost: "Canvas host settings for serving canvas assets and local live-reload behavior used by canvas-enabled workflows. Keep disabled unless canvas-hosted assets are actively used.",
|
|
179
|
+
"canvasHost.enabled": "Enables the canvas host server process and routes for serving canvas files. Keep disabled when canvas workflows are inactive to reduce exposed local services.",
|
|
180
|
+
"canvasHost.root": "Filesystem root directory served by canvas host for canvas content and static assets. Use a dedicated directory and avoid broad repo roots for least-privilege file exposure.",
|
|
181
|
+
"canvasHost.port": "TCP port used by the canvas host HTTP server when canvas hosting is enabled. Choose a non-conflicting port and align firewall/proxy policy accordingly.",
|
|
182
|
+
"canvasHost.liveReload": "Enables automatic live-reload behavior for canvas assets during development workflows. Keep disabled in production-like environments where deterministic output is preferred.",
|
|
183
|
+
talk: "Talk-mode voice synthesis settings for voice identity, model selection, output format, and interruption behavior. Use this section to tune human-facing voice UX while controlling latency and cost.",
|
|
184
|
+
"gateway.auth.token": "Required by default for gateway access (unless using Tailscale Serve identity); required for non-loopback binds.",
|
|
185
|
+
"gateway.auth.password": "Required for Tailscale funnel.",
|
|
186
|
+
"agents.defaults.sandbox.browser.network": "Docker network for sandbox browser containers (default: remoteclaw-sandbox-browser). Avoid bridge if you need stricter isolation.",
|
|
187
|
+
"agents.list[].sandbox.browser.network": "Per-agent override for sandbox browser Docker network.",
|
|
188
|
+
"agents.defaults.sandbox.docker.dangerouslyAllowContainerNamespaceJoin": "DANGEROUS break-glass override that allows sandbox Docker network mode container:<id>. This joins another container namespace and weakens sandbox isolation.",
|
|
189
|
+
"agents.list[].sandbox.docker.dangerouslyAllowContainerNamespaceJoin": "Per-agent DANGEROUS override for container namespace joins in sandbox Docker network mode.",
|
|
190
|
+
"agents.defaults.sandbox.browser.cdpSourceRange": "Optional CIDR allowlist for container-edge CDP ingress (for example 172.21.0.1/32).",
|
|
191
|
+
"agents.list[].sandbox.browser.cdpSourceRange": "Per-agent override for CDP source CIDR allowlist.",
|
|
192
|
+
"gateway.controlUi.basePath": "Optional URL prefix where the Control UI is served (e.g. /remoteclaw).",
|
|
193
|
+
"gateway.controlUi.root": "Optional filesystem root for Control UI assets (defaults to dist/control-ui).",
|
|
194
|
+
"gateway.controlUi.allowedOrigins": "Allowed browser origins for Control UI/WebChat websocket connections (full origins only, e.g. https://control.example.com). Required for non-loopback Control UI deployments unless dangerous Host-header fallback is explicitly enabled.",
|
|
195
|
+
"gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback": "DANGEROUS toggle that enables Host-header based origin fallback for Control UI/WebChat websocket checks. This mode is supported when your deployment intentionally relies on Host-header origin policy; explicit gateway.controlUi.allowedOrigins remains the recommended hardened default.",
|
|
196
|
+
"gateway.controlUi.allowInsecureAuth": "Loosens strict browser auth checks for Control UI when you must run a non-standard setup. Keep this off unless you trust your network and proxy path, because impersonation risk is higher.",
|
|
197
|
+
"gateway.controlUi.dangerouslyDisableDeviceAuth": "Disables Control UI device identity checks and relies on token/password only. Use only for short-lived debugging on trusted networks, then turn it off immediately.",
|
|
198
|
+
"gateway.http.endpoints.chatCompletions.enabled": "Enable the OpenAI-compatible `POST /v1/chat/completions` endpoint (default: false).",
|
|
199
|
+
"gateway.reload.mode": "Controls how config edits are applied: \"off\" ignores live edits, \"restart\" always restarts, \"hot\" applies in-process, and \"hybrid\" tries hot then restarts if required. Keep \"hybrid\" for safest routine updates.",
|
|
200
|
+
"gateway.reload.debounceMs": "Debounce window (ms) before applying config changes.",
|
|
201
|
+
"gateway.nodes.browser.mode": "Node browser routing (\"auto\" = pick single connected browser node, \"manual\" = require node param, \"off\" = disable).",
|
|
202
|
+
"gateway.nodes.browser.node": "Pin browser routing to a specific node id or name (optional).",
|
|
203
|
+
"gateway.nodes.allowCommands": "Extra node.invoke commands to allow beyond the gateway defaults (array of command strings). Enabling dangerous commands here is a security-sensitive override and is flagged by `remoteclaw security audit`.",
|
|
204
|
+
"gateway.nodes.denyCommands": "Commands to block even if present in node claims or default allowlist.",
|
|
205
|
+
nodeHost: "Node host controls for features exposed from this gateway node to other nodes or clients. Keep defaults unless you intentionally proxy local capabilities across your node network.",
|
|
206
|
+
"nodeHost.browserProxy": "Groups browser-proxy settings for exposing local browser control through node routing. Enable only when remote node workflows need your local browser profiles.",
|
|
207
|
+
"nodeHost.browserProxy.enabled": "Expose the local browser control server through node proxy routing so remote clients can use this host's browser capabilities. Keep disabled unless remote automation explicitly depends on it.",
|
|
208
|
+
"nodeHost.browserProxy.allowProfiles": "Optional allowlist of browser profile names exposed through node proxy routing. Leave empty to expose all configured profiles, or use a tight list to enforce least-privilege profile access.",
|
|
209
|
+
media: "Top-level media behavior shared across providers and tools that handle inbound files. Keep defaults unless you need stable filenames for external processing pipelines.",
|
|
210
|
+
"media.preserveFilenames": "When enabled, uploaded media keeps its original filename instead of a generated temp-safe name. Turn this on when downstream automations depend on stable names, and leave off to reduce accidental filename leakage.",
|
|
211
|
+
audio: "Global audio ingestion settings used before higher-level tools process speech or media content. Configure this when you need deterministic transcription behavior for voice notes and clips.",
|
|
212
|
+
"audio.transcription": "Command-based transcription settings for converting audio files into text before agent handling. Keep a simple, deterministic command path here so failures are easy to diagnose in logs.",
|
|
213
|
+
"audio.transcription.command": "Executable + args used to transcribe audio (first token must be a safe binary/path), for example `[\"whisper-cli\", \"--model\", \"small\", \"{input}\"]`. Prefer a pinned command so runtime environments behave consistently.",
|
|
214
|
+
"audio.transcription.timeoutSeconds": "Maximum time allowed for the transcription command to finish before it is aborted. Increase this for longer recordings, and keep it tight in latency-sensitive deployments.",
|
|
215
|
+
bindings: "Static routing bindings that pin inbound conversations to specific agent IDs by match rules. Use bindings for deterministic ownership when dynamic routing should not decide.",
|
|
216
|
+
"bindings[].agentId": "Target agent ID that receives traffic when the corresponding binding match rule is satisfied. Use valid configured agent IDs only so routing does not fail at runtime.",
|
|
217
|
+
"bindings[].match": "Match rule object for deciding when a binding applies, including channel and optional account/peer constraints. Keep rules narrow to avoid accidental agent takeover across contexts.",
|
|
218
|
+
"bindings[].match.channel": "Channel/provider identifier this binding applies to, such as `telegram`, `discord`, or a plugin channel ID. Use the configured channel key exactly so binding evaluation works reliably.",
|
|
219
|
+
"bindings[].match.accountId": "Optional account selector for multi-account channel setups so the binding applies only to one identity. Use this when account scoping is required for the route and leave unset otherwise.",
|
|
220
|
+
"bindings[].match.peer": "Optional peer matcher for specific conversations including peer kind and peer id. Use this when only one direct/group/channel target should be pinned to an agent.",
|
|
221
|
+
"bindings[].match.peer.kind": "Peer conversation type: \"direct\", \"group\", \"channel\", or legacy \"dm\" (deprecated alias for direct). Prefer \"direct\" for new configs and keep kind aligned with channel semantics.",
|
|
222
|
+
"bindings[].match.peer.id": "Conversation identifier used with peer matching, such as a chat ID, channel ID, or group ID from the provider. Keep this exact to avoid silent non-matches.",
|
|
223
|
+
"bindings[].match.guildId": "Optional Discord-style guild/server ID constraint for binding evaluation in multi-server deployments. Use this when the same peer identifiers can appear across different guilds.",
|
|
224
|
+
"bindings[].match.teamId": "Optional team/workspace ID constraint used by providers that scope chats under teams. Add this when you need bindings isolated to one workspace context.",
|
|
225
|
+
"bindings[].match.roles": "Optional role-based filter list used by providers that attach roles to chat context. Use this to route privileged or operational role traffic to specialized agents.",
|
|
226
|
+
broadcast: "Broadcast routing map for sending the same outbound message to multiple peer IDs per source conversation. Keep this minimal and audited because one source can fan out to many destinations.",
|
|
227
|
+
"broadcast.strategy": "Delivery order for broadcast fan-out: \"parallel\" sends to all targets concurrently, while \"sequential\" sends one-by-one. Use \"parallel\" for speed and \"sequential\" for stricter ordering/backpressure control.",
|
|
228
|
+
"broadcast.*": "Per-source broadcast destination list where each key is a source peer ID and the value is an array of destination peer IDs. Keep lists intentional to avoid accidental message amplification.",
|
|
229
|
+
"diagnostics.flags": "Enable targeted diagnostics logs by flag (e.g. [\"telegram.http\"]). Supports wildcards like \"telegram.*\" or \"*\".",
|
|
230
|
+
"diagnostics.enabled": "Master toggle for diagnostics instrumentation output in logs and telemetry wiring paths. Keep enabled for normal observability, and disable only in tightly constrained environments.",
|
|
231
|
+
"diagnostics.otel.enabled": "Enables OpenTelemetry export pipeline for traces, metrics, and logs based on configured endpoint/protocol settings. Keep disabled unless your collector endpoint and auth are fully configured.",
|
|
232
|
+
"diagnostics.otel.endpoint": "Collector endpoint URL used for OpenTelemetry export transport, including scheme and port. Use a reachable, trusted collector endpoint and monitor ingestion errors after rollout.",
|
|
233
|
+
"diagnostics.otel.protocol": "OTel transport protocol for telemetry export: \"http/protobuf\" or \"grpc\" depending on collector support. Use the protocol your observability backend expects to avoid dropped telemetry payloads.",
|
|
234
|
+
"diagnostics.otel.headers": "Additional HTTP/gRPC metadata headers sent with OpenTelemetry export requests, often used for tenant auth or routing. Keep secrets in env-backed values and avoid unnecessary header sprawl.",
|
|
235
|
+
"diagnostics.otel.serviceName": "Service name reported in telemetry resource attributes to identify this gateway instance in observability backends. Use stable names so dashboards and alerts remain consistent over deployments.",
|
|
236
|
+
"diagnostics.otel.traces": "Enable trace signal export to the configured OpenTelemetry collector endpoint. Keep enabled when latency/debug tracing is needed, and disable if you only want metrics/logs.",
|
|
237
|
+
"diagnostics.otel.metrics": "Enable metrics signal export to the configured OpenTelemetry collector endpoint. Keep enabled for runtime health dashboards, and disable only if metric volume must be minimized.",
|
|
238
|
+
"diagnostics.otel.logs": "Enable log signal export through OpenTelemetry in addition to local logging sinks. Use this when centralized log correlation is required across services and agents.",
|
|
239
|
+
"diagnostics.otel.sampleRate": "Trace sampling rate (0-1) controlling how much trace traffic is exported to observability backends. Lower rates reduce overhead/cost, while higher rates improve debugging fidelity.",
|
|
240
|
+
"diagnostics.otel.flushIntervalMs": "Interval in milliseconds for periodic telemetry flush from buffers to the collector. Increase to reduce export chatter, or lower for faster visibility during active incident response.",
|
|
241
|
+
"diagnostics.cacheTrace.enabled": "Log cache trace snapshots for embedded agent runs (default: false).",
|
|
242
|
+
"diagnostics.cacheTrace.filePath": "JSONL output path for cache trace logs (default: $REMOTECLAW_STATE_DIR/logs/cache-trace.jsonl).",
|
|
243
|
+
"diagnostics.cacheTrace.includeMessages": "Include full message payloads in trace output (default: true).",
|
|
244
|
+
"diagnostics.cacheTrace.includePrompt": "Include prompt text in trace output (default: true).",
|
|
245
|
+
"diagnostics.cacheTrace.includeSystem": "Include system prompt in trace output (default: true).",
|
|
246
|
+
"tools.exec.notifyOnExit": "When true (default), backgrounded exec sessions on exit and node exec lifecycle events enqueue a system event and request a heartbeat.",
|
|
247
|
+
"tools.exec.notifyOnExitEmptySuccess": "When true, successful backgrounded exec exits with empty output still enqueue a completion system event (default: false).",
|
|
248
|
+
"tools.exec.pathPrepend": "Directories to prepend to PATH for exec runs (gateway/sandbox).",
|
|
249
|
+
"tools.exec.safeBins": "Allow stdin-only safe binaries to run without explicit allowlist entries.",
|
|
250
|
+
"tools.exec.safeBinTrustedDirs": "Additional explicit directories trusted for safe-bin path checks (PATH entries are never auto-trusted).",
|
|
251
|
+
"tools.exec.safeBinProfiles": "Optional per-binary safe-bin profiles (positional limits + allowed/denied flags).",
|
|
252
|
+
"tools.profile": "Global tool profile name used to select a predefined tool policy baseline before applying allow/deny overrides. Use this for consistent environment posture across agents and keep profile names stable.",
|
|
253
|
+
"tools.alsoAllow": "Extra tool allowlist entries merged on top of the selected tool profile and default policy. Keep this list small and explicit so audits can quickly identify intentional policy exceptions.",
|
|
254
|
+
"tools.byProvider": "Per-provider tool allow/deny overrides keyed by channel/provider ID to tailor capabilities by surface. Use this when one provider needs stricter controls than global tool policy.",
|
|
255
|
+
"agents.list[].tools.profile": "Per-agent override for tool profile selection when one agent needs a different capability baseline. Use this sparingly so policy differences across agents stay intentional and reviewable.",
|
|
256
|
+
"agents.list[].tools.alsoAllow": "Per-agent additive allowlist for tools on top of global and profile policy. Keep narrow to avoid accidental privilege expansion on specialized agents.",
|
|
257
|
+
"agents.list[].tools.byProvider": "Per-agent provider-specific tool policy overrides for channel-scoped capability control. Use this when a single agent needs tighter restrictions on one provider than others.",
|
|
258
|
+
"tools.exec.approvalRunningNoticeMs": "Delay in milliseconds before showing an in-progress notice after an exec approval is granted. Increase to reduce flicker for fast commands, or lower for quicker operator feedback.",
|
|
259
|
+
"tools.links.enabled": "Enable automatic link understanding pre-processing so URLs can be summarized before agent reasoning. Keep enabled for richer context, and disable when strict minimal processing is required.",
|
|
260
|
+
"tools.links.maxLinks": "Maximum number of links expanded per turn during link understanding. Use lower values to control latency/cost in chatty threads and higher values when multi-link context is critical.",
|
|
261
|
+
"tools.links.timeoutSeconds": "Per-link understanding timeout budget in seconds before unresolved links are skipped. Keep this bounded to avoid long stalls when external sites are slow or unreachable.",
|
|
262
|
+
"tools.links.models": "Preferred model list for link understanding tasks, evaluated in order as fallbacks when supported. Use lightweight models first for routine summarization and heavier models only when needed.",
|
|
263
|
+
"tools.links.scope": "Controls when link understanding runs relative to conversation context and message type. Keep scope conservative to avoid unnecessary fetches on messages where links are not actionable.",
|
|
264
|
+
"tools.media.models": "Shared fallback model list used by media understanding tools when modality-specific model lists are not set. Keep this aligned with available multimodal providers to avoid runtime fallback churn.",
|
|
265
|
+
"tools.media.concurrency": "Maximum number of concurrent media understanding operations per turn across image, audio, and video tasks. Lower this in resource-constrained deployments to prevent CPU/network saturation.",
|
|
266
|
+
"tools.media.image.enabled": "Enable image understanding so attached or referenced images can be interpreted into textual context. Disable if you need text-only operation or want to avoid image-processing cost.",
|
|
267
|
+
"tools.media.image.maxBytes": "Maximum accepted image payload size in bytes before the item is skipped or truncated by policy. Keep limits realistic for your provider caps and infrastructure bandwidth.",
|
|
268
|
+
"tools.media.image.maxChars": "Maximum characters returned from image understanding output after model response normalization. Use tighter limits to reduce prompt bloat and larger limits for detail-heavy OCR tasks.",
|
|
269
|
+
"tools.media.image.prompt": "Instruction template used for image understanding requests to shape extraction style and detail level. Keep prompts deterministic so outputs stay consistent across turns and channels.",
|
|
270
|
+
"tools.media.image.timeoutSeconds": "Timeout in seconds for each image understanding request before it is aborted. Increase for high-resolution analysis and lower it for latency-sensitive operator workflows.",
|
|
271
|
+
"tools.media.image.attachments": "Attachment handling policy for image inputs, including which message attachments qualify for image analysis. Use restrictive settings in untrusted channels to reduce unexpected processing.",
|
|
272
|
+
"tools.media.image.models": "Ordered model preferences specifically for image understanding when you want to override shared media models. Put the most reliable multimodal model first to reduce fallback attempts.",
|
|
273
|
+
"tools.media.image.scope": "Scope selector for when image understanding is attempted (for example only explicit requests versus broader auto-detection). Keep narrow scope in busy channels to control token and API spend.",
|
|
274
|
+
"tools.media.audio.enabled": "Enable audio understanding so voice notes or audio clips can be transcribed/summarized for agent context. Disable when audio ingestion is outside policy or unnecessary for your workflows.",
|
|
275
|
+
"tools.media.audio.maxBytes": "Maximum accepted audio payload size in bytes before processing is rejected or clipped by policy. Set this based on expected recording length and upstream provider limits.",
|
|
276
|
+
"tools.media.audio.maxChars": "Maximum characters retained from audio understanding output to prevent oversized transcript injection. Increase for long-form dictation, or lower to keep conversational turns compact.",
|
|
277
|
+
"tools.media.audio.prompt": "Instruction template guiding audio understanding output style, such as concise summary versus near-verbatim transcript. Keep wording consistent so downstream automations can rely on output format.",
|
|
278
|
+
"tools.media.audio.timeoutSeconds": "Timeout in seconds for audio understanding execution before the operation is cancelled. Use longer timeouts for long recordings and tighter ones for interactive chat responsiveness.",
|
|
279
|
+
"tools.media.audio.language": "Preferred language hint for audio understanding/transcription when provider support is available. Set this to improve recognition accuracy for known primary languages.",
|
|
280
|
+
"tools.media.audio.attachments": "Attachment policy for audio inputs indicating which uploaded files are eligible for audio processing. Keep restrictive defaults in mixed-content channels to avoid unintended audio workloads.",
|
|
281
|
+
"tools.media.audio.models": "Ordered model preferences specifically for audio understanding, used before shared media model fallback. Choose models optimized for transcription quality in your primary language/domain.",
|
|
282
|
+
"tools.media.audio.scope": "Scope selector for when audio understanding runs across inbound messages and attachments. Keep focused scopes in high-volume channels to reduce cost and avoid accidental transcription.",
|
|
283
|
+
"tools.media.video.enabled": "Enable video understanding so clips can be summarized into text for downstream reasoning and responses. Disable when processing video is out of policy or too expensive for your deployment.",
|
|
284
|
+
"tools.media.video.maxBytes": "Maximum accepted video payload size in bytes before policy rejection or trimming occurs. Tune this to provider and infrastructure limits to avoid repeated timeout/failure loops.",
|
|
285
|
+
"tools.media.video.maxChars": "Maximum characters retained from video understanding output to control prompt growth. Raise for dense scene descriptions and lower when concise summaries are preferred.",
|
|
286
|
+
"tools.media.video.prompt": "Instruction template for video understanding describing desired summary granularity and focus areas. Keep this stable so output quality remains predictable across model/provider fallbacks.",
|
|
287
|
+
"tools.media.video.timeoutSeconds": "Timeout in seconds for each video understanding request before cancellation. Use conservative values in interactive channels and longer values for offline or batch-heavy processing.",
|
|
288
|
+
"tools.media.video.attachments": "Attachment eligibility policy for video analysis, defining which message files can trigger video processing. Keep this explicit in shared channels to prevent accidental large media workloads.",
|
|
289
|
+
"tools.media.video.models": "Ordered model preferences specifically for video understanding before shared media fallback applies. Prioritize models with strong multimodal video support to minimize degraded summaries.",
|
|
290
|
+
"tools.media.video.scope": "Scope selector controlling when video understanding is attempted across incoming events. Narrow scope in noisy channels, and broaden only where video interpretation is core to workflow.",
|
|
291
|
+
"skills.load.watch": "Enable filesystem watching for skill-definition changes so updates can be applied without full process restart. Keep enabled in development workflows and disable in immutable production images.",
|
|
292
|
+
"skills.load.watchDebounceMs": "Debounce window in milliseconds for coalescing rapid skill file changes before reload logic runs. Increase to reduce reload churn on frequent writes, or lower for faster edit feedback.",
|
|
293
|
+
approvals: "Approval routing controls for forwarding exec approval requests to chat destinations outside the originating session. Keep this disabled unless operators need explicit out-of-band approval visibility.",
|
|
294
|
+
"approvals.exec": "Groups exec-approval forwarding behavior including enablement, routing mode, filters, and explicit targets. Configure here when approval prompts must reach operational channels instead of only the origin thread.",
|
|
295
|
+
"approvals.exec.enabled": "Enables forwarding of exec approval requests to configured delivery destinations (default: false). Keep disabled in low-risk setups and enable only when human approval responders need channel-visible prompts.",
|
|
296
|
+
"approvals.exec.mode": "Controls where approval prompts are sent: \"session\" uses origin chat, \"targets\" uses configured targets, and \"both\" sends to both paths. Use \"session\" as baseline and expand only when operational workflow requires redundancy.",
|
|
297
|
+
"approvals.exec.agentFilter": "Optional allowlist of agent IDs eligible for forwarded approvals, for example `[\"primary\", \"ops-agent\"]`. Use this to limit forwarding blast radius and avoid notifying channels for unrelated agents.",
|
|
298
|
+
"approvals.exec.sessionFilter": "Optional session-key filters matched as substring or regex-style patterns, for example `[\"discord:\", \"^agent:ops:\"]`. Use narrow patterns so only intended approval contexts are forwarded to shared destinations.",
|
|
299
|
+
"approvals.exec.targets": "Explicit delivery targets used when forwarding mode includes targets, each with channel and destination details. Keep target lists least-privilege and validate each destination before enabling broad forwarding.",
|
|
300
|
+
"approvals.exec.targets[].channel": "Channel/provider ID used for forwarded approval delivery, such as discord, slack, or a plugin channel id. Use valid channel IDs only so approvals do not silently fail due to unknown routes.",
|
|
301
|
+
"approvals.exec.targets[].to": "Destination identifier inside the target channel (channel ID, user ID, or thread root depending on provider). Verify semantics per provider because destination format differs across channel integrations.",
|
|
302
|
+
"approvals.exec.targets[].accountId": "Optional account selector for multi-account channel setups when approvals must route through a specific account context. Use this only when the target channel has multiple configured identities.",
|
|
303
|
+
"approvals.exec.targets[].threadId": "Optional thread/topic target for channels that support threaded delivery of forwarded approvals. Use this to keep approval traffic contained in operational threads instead of main channels.",
|
|
304
|
+
"tools.fs.workspaceOnly": "Restrict filesystem tools to the workspace directory (default: false).",
|
|
305
|
+
"tools.sessions.visibility": "Controls which sessions can be targeted by sessions_list/sessions_history/sessions_send. (\"tree\" default = current session + spawned subagent sessions; \"self\" = only current; \"agent\" = any session in the current agent id; \"all\" = any session; cross-agent still requires tools.agentToAgent).",
|
|
306
|
+
"tools.message.allowCrossContextSend": "Legacy override: allow cross-context sends across all providers.",
|
|
307
|
+
"tools.message.crossContext.allowWithinProvider": "Allow sends to other channels within the same provider (default: true).",
|
|
308
|
+
"tools.message.crossContext.allowAcrossProviders": "Allow sends across different providers (default: false).",
|
|
309
|
+
"tools.message.crossContext.marker.enabled": "Add a visible origin marker when sending cross-context (default: true).",
|
|
310
|
+
"tools.message.crossContext.marker.prefix": "Text prefix for cross-context markers (supports \"{channel}\").",
|
|
311
|
+
"tools.message.crossContext.marker.suffix": "Text suffix for cross-context markers (supports \"{channel}\").",
|
|
312
|
+
"tools.message.broadcast.enabled": "Enable broadcast action (default: true).",
|
|
313
|
+
models: "Model catalog root for provider definitions, merge/replace behavior, and optional Bedrock discovery integration. Keep provider definitions explicit and validated before relying on production failover paths.",
|
|
314
|
+
"models.mode": "Controls provider catalog behavior: \"merge\" keeps built-ins and overlays your custom providers, while \"replace\" uses only your configured providers. Keep \"merge\" unless you intentionally want a strict custom list.",
|
|
315
|
+
"models.providers": "Provider map keyed by provider ID containing connection/auth settings and concrete model definitions. Use stable provider keys so references from agents and tooling remain portable across environments.",
|
|
316
|
+
"models.providers.*.baseUrl": "Base URL for the provider endpoint used to serve model requests for that provider entry. Use HTTPS endpoints and keep URLs environment-specific through config templating where needed.",
|
|
317
|
+
"models.providers.*.apiKey": "Provider credential used for API-key based authentication when the provider requires direct key auth. Use secret/env substitution and avoid storing real keys in committed config files.",
|
|
318
|
+
"models.providers.*.auth": "Selects provider auth style: \"api-key\" for API key auth, \"token\" for bearer token auth, \"oauth\" for OAuth credentials, and \"aws-sdk\" for AWS credential resolution. Match this to your provider requirements.",
|
|
319
|
+
"models.providers.*.api": "Provider API adapter selection controlling request/response compatibility handling for model calls. Use the adapter that matches your upstream provider protocol to avoid feature mismatch.",
|
|
320
|
+
"models.providers.*.headers": "Static HTTP headers merged into provider requests for tenant routing, proxy auth, or custom gateway requirements. Use this sparingly and keep sensitive header values in secrets.",
|
|
321
|
+
"models.providers.*.authHeader": "When true, credentials are sent via the HTTP Authorization header even if alternate auth is possible. Use this only when your provider or proxy explicitly requires Authorization forwarding.",
|
|
322
|
+
"models.providers.*.models": "Declared model list for a provider including identifiers, metadata, and optional compatibility/cost hints. Keep IDs exact to provider catalog values so selection and fallback resolve correctly.",
|
|
323
|
+
"models.bedrockDiscovery": "Automatic AWS Bedrock model discovery settings used to synthesize provider model entries from account visibility. Keep discovery scoped and refresh intervals conservative to reduce API churn.",
|
|
324
|
+
"models.bedrockDiscovery.enabled": "Enables periodic Bedrock model discovery and catalog refresh for Bedrock-backed providers. Keep disabled unless Bedrock is actively used and IAM permissions are correctly configured.",
|
|
325
|
+
"models.bedrockDiscovery.region": "AWS region used for Bedrock discovery calls when discovery is enabled for your deployment. Use the region where your Bedrock models are provisioned to avoid empty discovery results.",
|
|
326
|
+
"models.bedrockDiscovery.providerFilter": "Optional provider allowlist filter for Bedrock discovery so only selected providers are refreshed. Use this to limit discovery scope in multi-provider environments.",
|
|
327
|
+
"models.bedrockDiscovery.refreshInterval": "Refresh cadence for Bedrock discovery polling in seconds to detect newly available models over time. Use longer intervals in production to reduce API cost and control-plane noise.",
|
|
328
|
+
"models.bedrockDiscovery.defaultContextWindow": "Fallback context-window value applied to discovered models when provider metadata lacks explicit limits. Use realistic defaults to avoid oversized prompts that exceed true provider constraints.",
|
|
329
|
+
"models.bedrockDiscovery.defaultMaxTokens": "Fallback max-token value applied to discovered models without explicit output token limits. Use conservative defaults to reduce truncation surprises and unexpected token spend.",
|
|
330
|
+
auth: "Authentication profile root used for multi-profile provider credentials and cooldown-based failover ordering. Keep profiles minimal and explicit so automatic failover behavior stays auditable.",
|
|
331
|
+
"channels.slack.allowBots": "Allow bot-authored messages to trigger Slack replies (default: false).",
|
|
332
|
+
"channels.slack.thread.historyScope": "Scope for Slack thread history context (\"thread\" isolates per thread; \"channel\" reuses channel history).",
|
|
333
|
+
"channels.slack.thread.inheritParent": "If true, Slack thread sessions inherit the parent channel transcript (default: false).",
|
|
334
|
+
"channels.slack.thread.initialHistoryLimit": "Maximum number of existing Slack thread messages to fetch when starting a new thread session (default: 20, set to 0 to disable).",
|
|
335
|
+
"channels.mattermost.botToken": "Bot token from Mattermost System Console -> Integrations -> Bot Accounts.",
|
|
336
|
+
"channels.mattermost.baseUrl": "Base URL for your Mattermost server (e.g., https://chat.example.com).",
|
|
337
|
+
"channels.mattermost.chatmode": "Reply to channel messages on mention (\"oncall\"), on trigger chars (\">\" or \"!\") (\"onchar\"), or on every message (\"onmessage\").",
|
|
338
|
+
"channels.mattermost.oncharPrefixes": "Trigger prefixes for onchar mode (default: [\">\", \"!\"]).",
|
|
339
|
+
"channels.mattermost.requireMention": "Require @mention in channels before responding (default: true).",
|
|
340
|
+
"auth.profiles": "Named auth profiles (provider + mode + optional email).",
|
|
341
|
+
"auth.order": "Ordered auth profile IDs per provider (used for automatic failover).",
|
|
342
|
+
"auth.cooldowns": "Cooldown/backoff controls for temporary profile suppression after billing-related failures and retry windows. Use these to prevent rapid re-selection of profiles that are still blocked.",
|
|
343
|
+
"auth.cooldowns.billingBackoffHours": "Base backoff (hours) when a profile fails due to billing/insufficient credits (default: 5).",
|
|
344
|
+
"auth.cooldowns.billingBackoffHoursByProvider": "Optional per-provider overrides for billing backoff (hours).",
|
|
345
|
+
"auth.cooldowns.billingMaxHours": "Cap (hours) for billing backoff (default: 24).",
|
|
346
|
+
"auth.cooldowns.failureWindowHours": "Failure window (hours) for backoff counters (default: 24).",
|
|
347
|
+
"agents.defaults.boot": "Boot prompt configuration for gateway startup runs. Set `prompt` for an inline prompt or `file` for a path relative to the workspace directory. If neither is set, boot is skipped.",
|
|
348
|
+
"agents.defaults.boot.prompt": "Inline boot prompt text. Takes precedence over `file` if both are set.",
|
|
349
|
+
"agents.defaults.boot.file": "Path to a boot prompt file (relative to workspace directory). Read at runtime on each gateway startup.",
|
|
350
|
+
"agents.list[].boot": "Per-agent boot prompt override. Same shape as `agents.defaults.boot`.",
|
|
351
|
+
"agents.list[].boot.prompt": "Per-agent inline boot prompt text.",
|
|
352
|
+
"agents.list[].boot.file": "Per-agent boot prompt file path (relative to agent workspace directory).",
|
|
353
|
+
"agents.defaults.bootstrapMaxChars": "Max characters of each workspace bootstrap file injected into the system prompt before truncation (default: 20000).",
|
|
354
|
+
"agents.defaults.bootstrapTotalMaxChars": "Max total characters across all injected workspace bootstrap files (default: 150000).",
|
|
355
|
+
"agents.defaults.repoRoot": "Optional repository root shown in the system prompt runtime line (overrides auto-detect).",
|
|
356
|
+
"agents.defaults.envelopeTimezone": "Timezone for message envelopes (\"utc\", \"local\", \"user\", or an IANA timezone string).",
|
|
357
|
+
"agents.defaults.envelopeTimestamp": "Include absolute timestamps in message envelopes (\"on\" or \"off\").",
|
|
358
|
+
"agents.defaults.envelopeElapsed": "Include elapsed time in message envelopes (\"on\" or \"off\").",
|
|
359
|
+
"agents.defaults.models": "Configured model catalog (keys are full provider/model IDs).",
|
|
360
|
+
ui: "UI presentation settings for accenting and assistant identity shown in control surfaces. Use this for branding and readability customization without changing runtime behavior.",
|
|
361
|
+
"ui.seamColor": "Primary accent/seam color used by UI surfaces for emphasis, badges, and visual identity cues. Use high-contrast values that remain readable across light/dark themes.",
|
|
362
|
+
"ui.assistant": "Assistant display identity settings for name and avatar shown in UI surfaces. Keep these values aligned with your operator-facing persona and support expectations.",
|
|
363
|
+
"ui.assistant.name": "Display name shown for the assistant in UI views, chat chrome, and status contexts. Keep this stable so operators can reliably identify which assistant persona is active.",
|
|
364
|
+
"ui.assistant.avatar": "Assistant avatar image source used in UI surfaces (URL, path, or data URI depending on runtime support). Use trusted assets and consistent branding dimensions for clean rendering.",
|
|
365
|
+
plugins: "Plugin system controls for enabling extensions, constraining load scope, configuring entries, and tracking installs. Keep plugin policy explicit and least-privilege in production environments.",
|
|
366
|
+
"plugins.enabled": "Enable or disable plugin/extension loading globally during startup and config reload (default: true). Keep enabled only when extension capabilities are required by your deployment.",
|
|
367
|
+
"plugins.allow": "Optional allowlist of plugin IDs; when set, only listed plugins are eligible to load. Use this to enforce approved extension inventories in controlled environments.",
|
|
368
|
+
"plugins.deny": "Optional denylist of plugin IDs that are blocked even if allowlists or paths include them. Use deny rules for emergency rollback and hard blocks on risky plugins.",
|
|
369
|
+
"plugins.load": "Plugin loader configuration group for specifying filesystem paths where plugins are discovered. Keep load paths explicit and reviewed to avoid accidental untrusted extension loading.",
|
|
370
|
+
"plugins.load.paths": "Additional plugin files or directories scanned by the loader beyond built-in defaults. Use dedicated extension directories and avoid broad paths with unrelated executable content.",
|
|
371
|
+
"plugins.slots": "Selects which plugins own exclusive runtime slots so only one plugin provides a given capability. Use explicit slot ownership to avoid overlapping providers with conflicting behavior.",
|
|
372
|
+
"plugins.entries": "Per-plugin settings keyed by plugin ID including enablement and plugin-specific runtime configuration payloads. Use this for scoped plugin tuning without changing global loader policy.",
|
|
373
|
+
"plugins.entries.*.enabled": "Per-plugin enablement override for a specific entry, applied on top of global plugin policy (restart required). Use this to stage plugin rollout gradually across environments.",
|
|
374
|
+
"plugins.entries.*.apiKey": "Optional API key field consumed by plugins that accept direct key configuration in entry settings. Use secret/env substitution and avoid committing real credentials into config files.",
|
|
375
|
+
"plugins.entries.*.env": "Per-plugin environment variable map injected for that plugin runtime context only. Use this to scope provider credentials to one plugin instead of sharing global process environment.",
|
|
376
|
+
"plugins.entries.*.config": "Plugin-defined configuration payload interpreted by that plugin's own schema and validation rules. Use only documented fields from the plugin to prevent ignored or invalid settings.",
|
|
377
|
+
"plugins.installs": "CLI-managed install metadata (used by `remoteclaw plugins update` to locate install sources).",
|
|
378
|
+
"plugins.installs.*.source": "Install source (\"npm\", \"archive\", or \"path\").",
|
|
379
|
+
"plugins.installs.*.spec": "Original npm spec used for install (if source is npm).",
|
|
380
|
+
"plugins.installs.*.sourcePath": "Original archive/path used for install (if any).",
|
|
381
|
+
"plugins.installs.*.installPath": "Resolved install directory (usually ~/.remoteclaw/extensions/<id>).",
|
|
382
|
+
"plugins.installs.*.version": "Version recorded at install time (if available).",
|
|
383
|
+
"plugins.installs.*.resolvedName": "Resolved npm package name from the fetched artifact.",
|
|
384
|
+
"plugins.installs.*.resolvedVersion": "Resolved npm package version from the fetched artifact (useful for non-pinned specs).",
|
|
385
|
+
"plugins.installs.*.resolvedSpec": "Resolved exact npm spec (<name>@<version>) from the fetched artifact.",
|
|
386
|
+
"plugins.installs.*.integrity": "Resolved npm dist integrity hash for the fetched artifact (if reported by npm).",
|
|
387
|
+
"plugins.installs.*.shasum": "Resolved npm dist shasum for the fetched artifact (if reported by npm).",
|
|
388
|
+
"plugins.installs.*.resolvedAt": "ISO timestamp when npm package metadata was last resolved for this install record.",
|
|
389
|
+
"plugins.installs.*.installedAt": "ISO timestamp of last install/update.",
|
|
390
|
+
"agents.list.*.identity.avatar": "Agent avatar (workspace-relative path, http(s) URL, or data URI).",
|
|
391
|
+
"agents.defaults.model.primary": "Primary model (provider/model).",
|
|
392
|
+
"agents.defaults.model.fallbacks": "Ordered fallback models (provider/model). Used when the primary model fails.",
|
|
393
|
+
"agents.defaults.imageModel.primary": "Optional image model (provider/model) used when the primary model lacks image input.",
|
|
394
|
+
"agents.defaults.imageModel.fallbacks": "Ordered fallback image models (provider/model).",
|
|
395
|
+
"agents.defaults.imageMaxDimensionPx": "Max image side length in pixels when sanitizing transcript/tool-result image payloads (default: 1200).",
|
|
396
|
+
"agents.defaults.cliBackends": "Optional CLI backends for text-only fallback (claude-cli, etc.).",
|
|
397
|
+
"agents.defaults.compaction": "Compaction tuning for when context nears token limits, including history share, reserve headroom, and pre-compaction memory flush behavior. Use this when long-running sessions need stable continuity under tight context windows.",
|
|
398
|
+
"agents.defaults.compaction.mode": "Compaction strategy mode: \"default\" uses baseline behavior, while \"safeguard\" applies stricter guardrails to preserve recent context. Keep \"default\" unless you observe aggressive history loss near limit boundaries.",
|
|
399
|
+
"agents.defaults.compaction.reserveTokens": "Token headroom reserved for reply generation and tool output after compaction runs. Use higher reserves for verbose/tool-heavy sessions, and lower reserves when maximizing retained history matters more.",
|
|
400
|
+
"agents.defaults.compaction.keepRecentTokens": "Minimum token budget preserved from the most recent conversation window during compaction. Use higher values to protect immediate context continuity and lower values to keep more long-tail history.",
|
|
401
|
+
"agents.defaults.compaction.reserveTokensFloor": "Minimum floor enforced for reserveTokens in Pi compaction paths (0 disables the floor guard). Use a non-zero floor to avoid over-aggressive compression under fluctuating token estimates.",
|
|
402
|
+
"agents.defaults.compaction.maxHistoryShare": "Maximum fraction of total context budget allowed for retained history after compaction (range 0.1-0.9). Use lower shares for more generation headroom or higher shares for deeper historical continuity.",
|
|
403
|
+
"agents.defaults.humanDelay.mode": "Delay style for block replies (\"off\", \"natural\", \"custom\").",
|
|
404
|
+
"agents.defaults.humanDelay.minMs": "Minimum delay in ms for custom humanDelay (default: 800).",
|
|
405
|
+
"agents.defaults.humanDelay.maxMs": "Maximum delay in ms for custom humanDelay (default: 2500).",
|
|
406
|
+
commands: "Controls chat command surfaces, owner gating, and elevated command access behavior across providers. Keep defaults unless you need stricter operator controls or broader command availability.",
|
|
407
|
+
"commands.native": "Registers native slash/menu commands with channels that support command registration (Discord, Slack, Telegram). Keep enabled for discoverability unless you intentionally run text-only command workflows.",
|
|
408
|
+
"commands.text": "Enables text-command parsing in chat input in addition to native command surfaces where available. Keep this enabled for compatibility across channels that do not support native command registration.",
|
|
409
|
+
"commands.bash": "Allow bash chat command (`!`; `/bash` alias) to run host shell commands (default: false; requires tools.elevated).",
|
|
410
|
+
"commands.bashForegroundMs": "How long bash waits before backgrounding (default: 2000; 0 backgrounds immediately).",
|
|
411
|
+
"commands.config": "Allow /config chat command to read/write config on disk (default: false).",
|
|
412
|
+
"commands.debug": "Allow /debug chat command for runtime-only overrides (default: false).",
|
|
413
|
+
"commands.restart": "Allow /restart and gateway restart tool actions (default: true).",
|
|
414
|
+
"commands.useAccessGroups": "Enforce access-group allowlists/policies for commands.",
|
|
415
|
+
"commands.ownerAllowFrom": "Explicit owner allowlist for owner-only tools/commands. Use channel-native IDs (optionally prefixed like \"whatsapp:+15551234567\"). '*' is ignored.",
|
|
416
|
+
"commands.ownerDisplay": "Controls how owner IDs are rendered in the system prompt. Allowed values: raw, hash. Default: raw.",
|
|
417
|
+
"commands.ownerDisplaySecret": "Optional secret used to HMAC hash owner IDs when ownerDisplay=hash. Prefer env substitution.",
|
|
418
|
+
"commands.allowFrom": "Defines elevated command allow rules by channel and sender for owner-level command surfaces. Use narrow provider-specific identities so privileged commands are not exposed to broad chat audiences.",
|
|
419
|
+
session: "Global session routing, reset, delivery policy, and maintenance controls for conversation history behavior. Keep defaults unless you need stricter isolation, retention, or delivery constraints.",
|
|
420
|
+
"session.scope": "Sets base session grouping strategy: \"per-sender\" isolates by sender and \"global\" shares one session per channel context. Keep \"per-sender\" for safer multi-user behavior unless deliberate shared context is required.",
|
|
421
|
+
"session.dmScope": "DM session scoping: \"main\" keeps continuity, while \"per-peer\", \"per-channel-peer\", and \"per-account-channel-peer\" increase isolation. Use isolated modes for shared inboxes or multi-account deployments.",
|
|
422
|
+
"session.identityLinks": "Maps canonical identities to provider-prefixed peer IDs so equivalent users resolve to one DM thread (example: telegram:123456). Use this when the same human appears across multiple channels or accounts.",
|
|
423
|
+
"session.resetTriggers": "Lists message triggers that force a session reset when matched in inbound content. Use sparingly for explicit reset phrases so context is not dropped unexpectedly during normal conversation.",
|
|
424
|
+
"session.idleMinutes": "Applies a legacy idle reset window in minutes for session reuse behavior across inactivity gaps. Use this only for compatibility and prefer structured reset policies under session.reset/session.resetByType.",
|
|
425
|
+
"session.reset": "Defines the default reset policy object used when no type-specific or channel-specific override applies. Set this first, then layer resetByType or resetByChannel only where behavior must differ.",
|
|
426
|
+
"session.reset.mode": "Selects reset strategy: \"daily\" resets at a configured hour and \"idle\" resets after inactivity windows. Keep one clear mode per policy to avoid surprising context turnover patterns.",
|
|
427
|
+
"session.reset.atHour": "Sets local-hour boundary (0-23) for daily reset mode so sessions roll over at predictable times. Use with mode=daily and align to operator timezone expectations for human-readable behavior.",
|
|
428
|
+
"session.reset.idleMinutes": "Sets inactivity window before reset for idle mode and can also act as secondary guard with daily mode. Use larger values to preserve continuity or smaller values for fresher short-lived threads.",
|
|
429
|
+
"session.resetByType": "Overrides reset behavior by chat type (direct, group, thread) when defaults are not sufficient. Use this when group/thread traffic needs different reset cadence than direct messages.",
|
|
430
|
+
"session.resetByType.direct": "Defines reset policy for direct chats and supersedes the base session.reset configuration for that type. Use this as the canonical direct-message override instead of the legacy dm alias.",
|
|
431
|
+
"session.resetByType.dm": "Deprecated alias for direct reset behavior kept for backward compatibility with older configs. Use session.resetByType.direct instead so future tooling and validation remain consistent.",
|
|
432
|
+
"session.resetByType.group": "Defines reset policy for group chat sessions where continuity and noise patterns differ from DMs. Use shorter idle windows for busy groups if context drift becomes a problem.",
|
|
433
|
+
"session.resetByType.thread": "Defines reset policy for thread-scoped sessions, including focused channel thread workflows. Use this when thread sessions should expire faster or slower than other chat types.",
|
|
434
|
+
"session.resetByChannel": "Provides channel-specific reset overrides keyed by provider/channel id for fine-grained behavior control. Use this only when one channel needs exceptional reset behavior beyond type-level policies.",
|
|
435
|
+
"session.store": "Sets the session storage file path used to persist session records across restarts. Use an explicit path only when you need custom disk layout, backup routing, or mounted-volume storage.",
|
|
436
|
+
"session.typingIntervalSeconds": "Controls interval for repeated typing indicators while replies are being prepared in typing-capable channels. Increase to reduce chatty updates or decrease for more active typing feedback.",
|
|
437
|
+
"session.typingMode": "Controls typing behavior timing: \"never\", \"instant\", \"thinking\", or \"message\" based emission points. Keep conservative modes in high-volume channels to avoid unnecessary typing noise.",
|
|
438
|
+
"session.mainKey": "Overrides the canonical main session key used for continuity when dmScope or routing logic points to \"main\". Use a stable value only if you intentionally need custom session anchoring.",
|
|
439
|
+
"session.sendPolicy": "Controls cross-session send permissions using allow/deny rules evaluated against channel, chatType, and key prefixes. Use this to fence where session tools can deliver messages in complex environments.",
|
|
440
|
+
"session.sendPolicy.default": "Sets fallback action when no sendPolicy rule matches: \"allow\" or \"deny\". Keep \"allow\" for simpler setups, or choose \"deny\" when you require explicit allow rules for every destination.",
|
|
441
|
+
"session.sendPolicy.rules": "Ordered allow/deny rules evaluated before the default action, for example `{ action: \"deny\", match: { channel: \"discord\" } }`. Put most specific rules first so broad rules do not shadow exceptions.",
|
|
442
|
+
"session.sendPolicy.rules[].action": "Defines rule decision as \"allow\" or \"deny\" when the corresponding match criteria are satisfied. Use deny-first ordering when enforcing strict boundaries with explicit allow exceptions.",
|
|
443
|
+
"session.sendPolicy.rules[].match": "Defines optional rule match conditions that can combine channel, chatType, and key-prefix constraints. Keep matches narrow so policy intent stays readable and debugging remains straightforward.",
|
|
444
|
+
"session.sendPolicy.rules[].match.channel": "Matches rule application to a specific channel/provider id (for example discord, telegram, slack). Use this when one channel should permit or deny delivery independently of others.",
|
|
445
|
+
"session.sendPolicy.rules[].match.chatType": "Matches rule application to chat type (direct, group, thread) so behavior varies by conversation form. Use this when DM and group destinations require different safety boundaries.",
|
|
446
|
+
"session.sendPolicy.rules[].match.keyPrefix": "Matches a normalized session-key prefix after internal key normalization steps in policy consumers. Use this for general prefix controls, and prefer rawKeyPrefix when exact full-key matching is required.",
|
|
447
|
+
"session.sendPolicy.rules[].match.rawKeyPrefix": "Matches the raw, unnormalized session-key prefix for exact full-key policy targeting. Use this when normalized keyPrefix is too broad and you need agent-prefixed or transport-specific precision.",
|
|
448
|
+
"session.agentToAgent": "Groups controls for inter-agent session exchanges, including loop prevention limits on reply chaining. Keep defaults unless you run advanced agent-to-agent automation with strict turn caps.",
|
|
449
|
+
"session.agentToAgent.maxPingPongTurns": "Max reply-back turns between requester and target agents during agent-to-agent exchanges (0-5). Use lower values to hard-limit chatter loops and preserve predictable run completion.",
|
|
450
|
+
"session.threadBindings": "Shared defaults for thread-bound session routing behavior across providers that support thread focus workflows. Configure global defaults here and override per channel only when behavior differs.",
|
|
451
|
+
"session.threadBindings.enabled": "Global master switch for thread-bound session routing features and focused thread delivery behavior. Keep enabled for modern thread workflows unless you need to disable thread binding globally.",
|
|
452
|
+
"session.threadBindings.ttlHours": "Default auto-unfocus TTL in hours for thread-bound sessions across providers/channels (0 disables). Keep 24h-like values for practical focus windows unless your team needs longer-lived thread binding.",
|
|
453
|
+
"session.maintenance": "Automatic session-store maintenance controls for pruning age, entry caps, and file rotation behavior. Start in warn mode to observe impact, then enforce once thresholds are tuned.",
|
|
454
|
+
"session.maintenance.mode": "Determines whether maintenance policies are only reported (\"warn\") or actively applied (\"enforce\"). Keep \"warn\" during rollout and switch to \"enforce\" after validating safe thresholds.",
|
|
455
|
+
"session.maintenance.pruneAfter": "Removes entries older than this duration (for example `30d` or `12h`) during maintenance passes. Use this as the primary age-retention control and align it with data retention policy.",
|
|
456
|
+
"session.maintenance.pruneDays": "Deprecated age-retention field kept for compatibility with legacy configs using day counts. Use session.maintenance.pruneAfter instead so duration syntax and behavior are consistent.",
|
|
457
|
+
"session.maintenance.maxEntries": "Caps total session entry count retained in the store to prevent unbounded growth over time. Use lower limits for constrained environments, or higher limits when longer history is required.",
|
|
458
|
+
"session.maintenance.rotateBytes": "Rotates the session store when file size exceeds a threshold such as `10mb` or `1gb`. Use this to bound single-file growth and keep backup/restore operations manageable.",
|
|
459
|
+
"session.maintenance.resetArchiveRetention": "Retention for reset transcript archives (`*.reset.<timestamp>`). Accepts a duration (for example `30d`), or `false` to disable cleanup. Defaults to pruneAfter so reset artifacts do not grow forever.",
|
|
460
|
+
"session.maintenance.maxDiskBytes": "Optional per-agent sessions-directory disk budget (for example `500mb`). Use this to cap session storage per agent; when exceeded, warn mode reports pressure and enforce mode performs oldest-first cleanup.",
|
|
461
|
+
"session.maintenance.highWaterBytes": "Target size after disk-budget cleanup (high-water mark). Defaults to 80% of maxDiskBytes; set explicitly for tighter reclaim behavior on constrained disks.",
|
|
462
|
+
cron: "Global scheduler settings for stored cron jobs, run concurrency, delivery fallback, and run-session retention. Keep defaults unless you are scaling job volume or integrating external webhook receivers.",
|
|
463
|
+
"cron.enabled": "Enables cron job execution for stored schedules managed by the gateway. Keep enabled for normal reminder/automation flows, and disable only to pause all cron execution without deleting jobs.",
|
|
464
|
+
"cron.store": "Path to the cron job store file used to persist scheduled jobs across restarts. Set an explicit path only when you need custom storage layout, backups, or mounted volumes.",
|
|
465
|
+
"cron.maxConcurrentRuns": "Limits how many cron jobs can execute at the same time when multiple schedules fire together. Use lower values to protect CPU/memory under heavy automation load, or raise carefully for higher throughput.",
|
|
466
|
+
"cron.webhook": "Deprecated legacy fallback webhook URL used only for old jobs with `notify=true`. Migrate to per-job delivery using `delivery.mode=\"webhook\"` plus `delivery.to`, and avoid relying on this global field.",
|
|
467
|
+
"cron.webhookToken": "Bearer token attached to cron webhook POST deliveries when webhook mode is used. Prefer secret/env substitution and rotate this token regularly if shared webhook endpoints are internet-reachable.",
|
|
468
|
+
"cron.sessionRetention": "Controls how long completed cron run sessions are kept before pruning (`24h`, `7d`, `1h30m`, or `false` to disable pruning; default: `24h`). Use shorter retention to reduce storage growth on high-frequency schedules.",
|
|
469
|
+
"cron.runLog": "Pruning controls for per-job cron run history files under `cron/runs/<jobId>.jsonl`, including size and line retention.",
|
|
470
|
+
"cron.runLog.maxBytes": "Maximum bytes per cron run-log file before pruning rewrites to the last keepLines entries (for example `2mb`, default `2000000`).",
|
|
471
|
+
"cron.runLog.keepLines": "How many trailing run-log lines to retain when a file exceeds maxBytes (default `2000`). Increase for longer forensic history or lower for smaller disks.",
|
|
472
|
+
hooks: "Inbound webhook automation surface for mapping external events into wake or agent actions in RemoteClaw. Keep this locked down with explicit token/session/agent controls before exposing it beyond trusted networks.",
|
|
473
|
+
"hooks.enabled": "Enables the hooks endpoint and mapping execution pipeline for inbound webhook requests. Keep disabled unless you are actively routing external events into the gateway.",
|
|
474
|
+
"hooks.path": "HTTP path used by the hooks endpoint (for example `/hooks`) on the gateway control server. Use a non-guessable path and combine it with token validation for defense in depth.",
|
|
475
|
+
"hooks.token": "Shared bearer token checked by hooks ingress for request authentication before mappings run. Use environment substitution and rotate regularly when webhook endpoints are internet-accessible.",
|
|
476
|
+
"hooks.defaultSessionKey": "Fallback session key used for hook deliveries when a request does not provide one through allowed channels. Use a stable but scoped key to avoid mixing unrelated automation conversations.",
|
|
477
|
+
"hooks.allowRequestSessionKey": "Allows callers to supply a session key in hook requests when true, enabling caller-controlled routing. Keep false unless trusted integrators explicitly need custom session threading.",
|
|
478
|
+
"hooks.allowedSessionKeyPrefixes": "Allowlist of accepted session-key prefixes for inbound hook requests when caller-provided keys are enabled. Use narrow prefixes to prevent arbitrary session-key injection.",
|
|
479
|
+
"hooks.allowedAgentIds": "Allowlist of agent IDs that hook mappings are allowed to target when selecting execution agents. Use this to constrain automation events to dedicated service agents.",
|
|
480
|
+
"hooks.maxBodyBytes": "Maximum accepted webhook payload size in bytes before the request is rejected. Keep this bounded to reduce abuse risk and protect memory usage under bursty integrations.",
|
|
481
|
+
"hooks.presets": "Named hook preset bundles applied at load time to seed standard mappings and behavior defaults. Keep preset usage explicit so operators can audit which automations are active.",
|
|
482
|
+
"hooks.transformsDir": "Base directory for hook transform modules referenced by mapping transform.module paths. Use a controlled repo directory so dynamic imports remain reviewable and predictable.",
|
|
483
|
+
"hooks.mappings": "Ordered mapping rules that match inbound hook requests and choose wake or agent actions with optional delivery routing. Use specific mappings first to avoid broad pattern rules capturing everything.",
|
|
484
|
+
"hooks.mappings[].id": "Optional stable identifier for a hook mapping entry used for auditing, troubleshooting, and targeted updates. Use unique IDs so logs and config diffs can reference mappings unambiguously.",
|
|
485
|
+
"hooks.mappings[].match": "Grouping object for mapping match predicates such as path and source before action routing is applied. Keep match criteria specific so unrelated webhook traffic does not trigger automations.",
|
|
486
|
+
"hooks.mappings[].match.path": "Path match condition for a hook mapping, usually compared against the inbound request path. Use this to split automation behavior by webhook endpoint path families.",
|
|
487
|
+
"hooks.mappings[].match.source": "Source match condition for a hook mapping, typically set by trusted upstream metadata or adapter logic. Use stable source identifiers so routing remains deterministic across retries.",
|
|
488
|
+
"hooks.mappings[].action": "Mapping action type: \"wake\" triggers agent wake flow, while \"agent\" sends directly to agent handling. Use \"agent\" for immediate execution and \"wake\" when heartbeat-driven processing is preferred.",
|
|
489
|
+
"hooks.mappings[].wakeMode": "Wake scheduling mode: \"now\" wakes immediately, while \"next-heartbeat\" defers until the next heartbeat cycle. Use deferred mode for lower-priority automations that can tolerate slight delay.",
|
|
490
|
+
"hooks.mappings[].name": "Human-readable mapping display name used in diagnostics and operator-facing config UIs. Keep names concise and descriptive so routing intent is obvious during incident review.",
|
|
491
|
+
"hooks.mappings[].agentId": "Target agent ID for mapping execution when action routing should not use defaults. Use dedicated automation agents to isolate webhook behavior from interactive operator sessions.",
|
|
492
|
+
"hooks.mappings[].sessionKey": "Explicit session key override for mapping-delivered messages to control thread continuity. Use stable scoped keys so repeated events correlate without leaking into unrelated conversations.",
|
|
493
|
+
"hooks.mappings[].messageTemplate": "Template for synthesizing structured mapping input into the final message content sent to the target action path. Keep templates deterministic so downstream parsing and behavior remain stable.",
|
|
494
|
+
"hooks.mappings[].textTemplate": "Text-only fallback template used when rich payload rendering is not desired or not supported. Use this to provide a concise, consistent summary string for chat delivery surfaces.",
|
|
495
|
+
"hooks.mappings[].deliver": "Controls whether mapping execution results are delivered back to a channel destination versus being processed silently. Disable delivery for background automations that should not post user-facing output.",
|
|
496
|
+
"hooks.mappings[].allowUnsafeExternalContent": "When true, mapping content may include less-sanitized external payload data in generated messages. Keep false by default and enable only for trusted sources with reviewed transform logic.",
|
|
497
|
+
"hooks.mappings[].channel": "Delivery channel override for mapping outputs (for example \"last\", \"telegram\", \"discord\", \"slack\", \"signal\", \"imessage\", or \"msteams\"). Keep channel overrides explicit to avoid accidental cross-channel sends.",
|
|
498
|
+
"hooks.mappings[].to": "Destination identifier inside the selected channel when mapping replies should route to a fixed target. Verify provider-specific destination formats before enabling production mappings.",
|
|
499
|
+
"hooks.mappings[].model": "Optional model override for mapping-triggered runs when automation should use a different model than agent defaults. Use this sparingly so behavior remains predictable across mapping executions.",
|
|
500
|
+
"hooks.mappings[].thinking": "Optional thinking-effort override for mapping-triggered runs to tune latency versus reasoning depth. Keep low or minimal for high-volume hooks unless deeper reasoning is clearly required.",
|
|
501
|
+
"hooks.mappings[].timeoutSeconds": "Maximum runtime allowed for mapping action execution before timeout handling applies. Use tighter limits for high-volume webhook sources to prevent queue pileups.",
|
|
502
|
+
"hooks.mappings[].transform": "Transform configuration block defining module/export preprocessing before mapping action handling. Use transforms only from reviewed code paths and keep behavior deterministic for repeatable automation.",
|
|
503
|
+
"hooks.mappings[].transform.module": "Relative transform module path loaded from hooks.transformsDir to rewrite incoming payloads before delivery. Keep modules local, reviewed, and free of path traversal patterns.",
|
|
504
|
+
"hooks.mappings[].transform.export": "Named export to invoke from the transform module; defaults to module default export when omitted. Set this when one file hosts multiple transform handlers.",
|
|
505
|
+
"hooks.gmail": "Gmail push integration settings used for Pub/Sub notifications and optional local callback serving. Keep this scoped to dedicated Gmail automation accounts where possible.",
|
|
506
|
+
"hooks.gmail.account": "Google account identifier used for Gmail watch/subscription operations in this hook integration. Use a dedicated automation mailbox account to isolate operational permissions.",
|
|
507
|
+
"hooks.gmail.label": "Optional Gmail label filter limiting which labeled messages trigger hook events. Keep filters narrow to avoid flooding automations with unrelated inbox traffic.",
|
|
508
|
+
"hooks.gmail.topic": "Google Pub/Sub topic name used by Gmail watch to publish change notifications for this account. Ensure the topic IAM grants Gmail publish access before enabling watches.",
|
|
509
|
+
"hooks.gmail.subscription": "Pub/Sub subscription consumed by the gateway to receive Gmail change notifications from the configured topic. Keep subscription ownership clear so multiple consumers do not race unexpectedly.",
|
|
510
|
+
"hooks.gmail.hookUrl": "Public callback URL Gmail or intermediaries invoke to deliver notifications into this hook pipeline. Keep this URL protected with token validation and restricted network exposure.",
|
|
511
|
+
"hooks.gmail.includeBody": "When true, fetch and include email body content for downstream mapping/agent processing. Keep false unless body text is required, because this increases payload size and sensitivity.",
|
|
512
|
+
"hooks.gmail.allowUnsafeExternalContent": "Allows less-sanitized external Gmail content to pass into processing when enabled. Keep disabled for safer defaults, and enable only for trusted mail streams with controlled transforms.",
|
|
513
|
+
"hooks.gmail.serve": "Local callback server settings block for directly receiving Gmail notifications without a separate ingress layer. Enable only when this process should terminate webhook traffic itself.",
|
|
514
|
+
"hooks.gmail.pushToken": "Shared secret token required on Gmail push hook callbacks before processing notifications. Use env substitution and rotate if callback endpoints are exposed externally.",
|
|
515
|
+
"hooks.gmail.maxBytes": "Maximum Gmail payload bytes processed per event when includeBody is enabled. Keep conservative limits to reduce oversized message processing cost and risk.",
|
|
516
|
+
"hooks.gmail.renewEveryMinutes": "Renewal cadence in minutes for Gmail watch subscriptions to prevent expiration. Set below provider expiration windows and monitor renew failures in logs.",
|
|
517
|
+
"hooks.gmail.serve.bind": "Bind address for the local Gmail callback HTTP server used when serving hooks directly. Keep loopback-only unless external ingress is intentionally required.",
|
|
518
|
+
"hooks.gmail.serve.port": "Port for the local Gmail callback HTTP server when serve mode is enabled. Use a dedicated port to avoid collisions with gateway/control interfaces.",
|
|
519
|
+
"hooks.gmail.serve.path": "HTTP path on the local Gmail callback server where push notifications are accepted. Keep this consistent with subscription configuration to avoid dropped events.",
|
|
520
|
+
"hooks.gmail.tailscale.mode": "Tailscale exposure mode for Gmail callbacks: \"off\", \"serve\", or \"funnel\". Use \"serve\" for private tailnet delivery and \"funnel\" only when public internet ingress is required.",
|
|
521
|
+
"hooks.gmail.tailscale": "Tailscale exposure configuration block for publishing Gmail callbacks through Serve/Funnel routes. Use private tailnet modes before enabling any public ingress path.",
|
|
522
|
+
"hooks.gmail.tailscale.path": "Path published by Tailscale Serve/Funnel for Gmail callback forwarding when enabled. Keep it aligned with Gmail webhook config so requests reach the expected handler.",
|
|
523
|
+
"hooks.gmail.tailscale.target": "Local service target forwarded by Tailscale Serve/Funnel (for example http://127.0.0.1:8787). Use explicit loopback targets to avoid ambiguous routing.",
|
|
524
|
+
"hooks.gmail.model": "Optional model override for Gmail-triggered runs when mailbox automations should use dedicated model behavior. Keep unset to inherit agent defaults unless mailbox tasks need specialization.",
|
|
525
|
+
"hooks.gmail.thinking": "Thinking effort override for Gmail-driven agent runs: \"off\", \"minimal\", \"low\", \"medium\", or \"high\". Keep modest defaults for routine inbox automations to control cost and latency.",
|
|
526
|
+
"hooks.internal": "Internal hook runtime settings for bundled/custom event handlers loaded from module paths. Use this for trusted in-process automations and keep handler loading tightly scoped.",
|
|
527
|
+
"hooks.internal.enabled": "Enables processing for internal hook handlers and configured entries in the internal hook runtime. Keep disabled unless internal hook handlers are intentionally configured.",
|
|
528
|
+
"hooks.internal.handlers": "List of internal event handlers mapping event names to modules and optional exports. Keep handler definitions explicit so event-to-code routing is auditable.",
|
|
529
|
+
"hooks.internal.handlers[].event": "Internal event name that triggers this handler module when emitted by the runtime. Use stable event naming conventions to avoid accidental overlap across handlers.",
|
|
530
|
+
"hooks.internal.handlers[].module": "Safe relative module path for the internal hook handler implementation loaded at runtime. Keep module files in reviewed directories and avoid dynamic path composition.",
|
|
531
|
+
"hooks.internal.handlers[].export": "Optional named export for the internal hook handler function when module default export is not used. Set this when one module ships multiple handler entrypoints.",
|
|
532
|
+
"hooks.internal.entries": "Configured internal hook entry records used to register concrete runtime handlers and metadata. Keep entries explicit and versioned so production behavior is auditable.",
|
|
533
|
+
"hooks.internal.load": "Internal hook loader settings controlling where handler modules are discovered at startup. Use constrained load roots to reduce accidental module conflicts or shadowing.",
|
|
534
|
+
"hooks.internal.load.extraDirs": "Additional directories searched for internal hook modules beyond default load paths. Keep this minimal and controlled to reduce accidental module shadowing.",
|
|
535
|
+
"hooks.internal.installs": "Install metadata for internal hook modules, including source and resolved artifacts for repeatable deployments. Use this as operational provenance and avoid manual drift edits.",
|
|
536
|
+
messages: "Message formatting, acknowledgment, queueing, debounce, and status reaction behavior for inbound/outbound chat flows. Use this section when channel responsiveness or message UX needs adjustment.",
|
|
537
|
+
"messages.messagePrefix": "Prefix text prepended to inbound user messages before they are handed to the agent runtime. Use this sparingly for channel context markers and keep it stable across sessions.",
|
|
538
|
+
"messages.responsePrefix": "Prefix text prepended to outbound assistant replies before sending to channels. Use for lightweight branding/context tags and avoid long prefixes that reduce content density.",
|
|
539
|
+
"messages.groupChat": "Group-message handling controls including mention triggers and history window sizing. Keep mention patterns narrow so group channels do not trigger on every message.",
|
|
540
|
+
"messages.groupChat.mentionPatterns": "Regex-like patterns used to detect explicit mentions/trigger phrases in group chats. Use precise patterns to reduce false positives in high-volume channels.",
|
|
541
|
+
"messages.groupChat.historyLimit": "Maximum number of prior group messages loaded as context per turn for group sessions. Use higher values for richer continuity, or lower values for faster and cheaper responses.",
|
|
542
|
+
"messages.queue": "Inbound message queue strategy used to buffer bursts before processing turns. Tune this for busy channels where sequential processing or batching behavior matters.",
|
|
543
|
+
"messages.queue.mode": "Queue behavior mode: \"steer\", \"followup\", \"collect\", \"steer-backlog\", \"steer+backlog\", \"queue\", or \"interrupt\". Keep conservative modes unless you intentionally need aggressive interruption/backlog semantics.",
|
|
544
|
+
"messages.queue.byChannel": "Per-channel queue mode overrides keyed by provider id (for example telegram, discord, slack). Use this when one channel’s traffic pattern needs different queue behavior than global defaults.",
|
|
545
|
+
"messages.queue.debounceMs": "Global queue debounce window in milliseconds before processing buffered inbound messages. Use higher values to coalesce rapid bursts, or lower values for reduced response latency.",
|
|
546
|
+
"messages.queue.debounceMsByChannel": "Per-channel debounce overrides for queue behavior keyed by provider id. Use this to tune burst handling independently for chat surfaces with different pacing.",
|
|
547
|
+
"messages.queue.cap": "Maximum number of queued inbound items retained before drop policy applies. Keep caps bounded in noisy channels so memory usage remains predictable.",
|
|
548
|
+
"messages.queue.drop": "Drop strategy when queue cap is exceeded: \"old\", \"new\", or \"summarize\". Use summarize when preserving intent matters, or old/new when deterministic dropping is preferred.",
|
|
549
|
+
"messages.inbound": "Direct inbound debounce settings used before queue/turn processing starts. Configure this for provider-specific rapid message bursts from the same sender.",
|
|
550
|
+
"messages.inbound.byChannel": "Per-channel inbound debounce overrides keyed by provider id in milliseconds. Use this where some providers send message fragments more aggressively than others.",
|
|
551
|
+
"messages.removeAckAfterReply": "Removes the acknowledgment reaction after final reply delivery when enabled. Keep enabled for cleaner UX in channels where persistent ack reactions create clutter.",
|
|
552
|
+
"messages.tts": "Text-to-speech policy for reading agent replies aloud on supported voice or audio surfaces. Keep disabled unless voice playback is part of your operator/user workflow.",
|
|
553
|
+
channels: "Channel provider configurations plus shared defaults that control access policies, heartbeat visibility, and per-surface behavior. Keep defaults centralized and override per provider only where required.",
|
|
554
|
+
"channels.telegram": "Telegram channel provider configuration including auth tokens, retry behavior, and message rendering controls. Use this section to tune bot behavior for Telegram-specific API semantics.",
|
|
555
|
+
"channels.slack": "Slack channel provider configuration for bot/app tokens, streaming behavior, and DM policy controls. Keep token handling and thread behavior explicit to avoid noisy workspace interactions.",
|
|
556
|
+
"channels.discord": "Discord channel provider configuration for bot auth, retry policy, streaming, thread bindings, and optional voice capabilities. Keep privileged intents and advanced features disabled unless needed.",
|
|
557
|
+
"channels.whatsapp": "WhatsApp channel provider configuration for access policy and message batching behavior. Use this section to tune responsiveness and direct-message routing safety for WhatsApp chats.",
|
|
558
|
+
"channels.signal": "Signal channel provider configuration including account identity and DM policy behavior. Keep account mapping explicit so routing remains stable across multi-device setups.",
|
|
559
|
+
"channels.imessage": "iMessage channel provider configuration for CLI integration and DM access policy handling. Use explicit CLI paths when runtime environments have non-standard binary locations.",
|
|
560
|
+
"channels.bluebubbles": "BlueBubbles channel provider configuration used for Apple messaging bridge integrations. Keep DM policy aligned with your trusted sender model in shared deployments.",
|
|
561
|
+
"channels.msteams": "Microsoft Teams channel provider configuration and provider-specific policy toggles. Use this section to isolate Teams behavior from other enterprise chat providers.",
|
|
562
|
+
"channels.mattermost": "Mattermost channel provider configuration for bot credentials, base URL, and message trigger modes. Keep mention/trigger rules strict in high-volume team channels.",
|
|
563
|
+
"channels.irc": "IRC channel provider configuration and compatibility settings for classic IRC transport workflows. Use this section when bridging legacy chat infrastructure into RemoteClaw.",
|
|
564
|
+
"channels.defaults": "Default channel behavior applied across providers when provider-specific settings are not set. Use this to enforce consistent baseline policy before per-provider tuning.",
|
|
565
|
+
"channels.defaults.groupPolicy": "Default group policy across channels: \"open\", \"disabled\", or \"allowlist\". Keep \"allowlist\" for safer production setups unless broad group participation is intentional.",
|
|
566
|
+
"channels.defaults.heartbeat": "Default heartbeat visibility settings for status messages emitted by providers/channels. Tune this globally to reduce noisy healthy-state updates while keeping alerts visible.",
|
|
567
|
+
"channels.defaults.heartbeat.showOk": "Shows healthy/OK heartbeat status entries when true in channel status outputs. Keep false in noisy environments and enable only when operators need explicit healthy confirmations.",
|
|
568
|
+
"channels.defaults.heartbeat.showAlerts": "Shows degraded/error heartbeat alerts when true so operator channels surface problems promptly. Keep enabled in production so broken channel states are visible.",
|
|
569
|
+
"channels.defaults.heartbeat.useIndicator": "Enables concise indicator-style heartbeat rendering instead of verbose status text where supported. Use indicator mode for dense dashboards with many active channels.",
|
|
570
|
+
"channels.telegram.configWrites": "Allow Telegram to write config in response to channel events/commands (default: true).",
|
|
571
|
+
"channels.telegram.botToken": "Telegram bot token used to authenticate Bot API requests for this account/provider config. Use secret/env substitution and rotate tokens if exposure is suspected.",
|
|
572
|
+
"channels.telegram.capabilities.inlineButtons": "Enable Telegram inline button components for supported command and interaction surfaces. Disable if your deployment needs plain-text-only compatibility behavior.",
|
|
573
|
+
"channels.slack.configWrites": "Allow Slack to write config in response to channel events/commands (default: true).",
|
|
574
|
+
"channels.slack.botToken": "Slack bot token used for standard chat actions in the configured workspace. Keep this credential scoped and rotate if workspace app permissions change.",
|
|
575
|
+
"channels.slack.appToken": "Slack app-level token used for Socket Mode connections and event transport when enabled. Use least-privilege app scopes and store this token as a secret.",
|
|
576
|
+
"channels.slack.userToken": "Optional Slack user token for workflows requiring user-context API access beyond bot permissions. Use sparingly and audit scopes because this token can carry broader authority.",
|
|
577
|
+
"channels.slack.userTokenReadOnly": "When true, treat configured Slack user token usage as read-only helper behavior where possible. Keep enabled if you only need supplemental reads without user-context writes.",
|
|
578
|
+
"channels.mattermost.configWrites": "Allow Mattermost to write config in response to channel events/commands (default: true).",
|
|
579
|
+
"channels.discord.configWrites": "Allow Discord to write config in response to channel events/commands (default: true).",
|
|
580
|
+
"channels.discord.token": "Discord bot token used for gateway and REST API authentication for this provider account. Keep this secret out of committed config and rotate immediately after any leak.",
|
|
581
|
+
"channels.discord.proxy": "Proxy URL for Discord gateway + API requests (app-id lookup and allowlist resolution). Set per account via channels.discord.accounts.<id>.proxy.",
|
|
582
|
+
"channels.whatsapp.configWrites": "Allow WhatsApp to write config in response to channel events/commands (default: true).",
|
|
583
|
+
"channels.signal.configWrites": "Allow Signal to write config in response to channel events/commands (default: true).",
|
|
584
|
+
"channels.signal.account": "Signal account identifier (phone/number handle) used to bind this channel config to a specific Signal identity. Keep this aligned with your linked device/session state.",
|
|
585
|
+
"channels.imessage.configWrites": "Allow iMessage to write config in response to channel events/commands (default: true).",
|
|
586
|
+
"channels.imessage.cliPath": "Filesystem path to the iMessage bridge CLI binary used for send/receive operations. Set explicitly when the binary is not on PATH in service runtime environments.",
|
|
587
|
+
"channels.msteams.configWrites": "Allow Microsoft Teams to write config in response to channel events/commands (default: true).",
|
|
588
|
+
"channels.modelByChannel": "Map provider -> channel id -> model override (values are provider/model or aliases).",
|
|
589
|
+
...IRC_FIELD_HELP,
|
|
590
|
+
"channels.discord.commands.native": "Override native commands for Discord (bool or \"auto\").",
|
|
591
|
+
"channels.telegram.commands.native": "Override native commands for Telegram (bool or \"auto\").",
|
|
592
|
+
"channels.slack.commands.native": "Override native commands for Slack (bool or \"auto\").",
|
|
593
|
+
"channels.slack.streaming": "Unified Slack stream preview mode: \"off\" | \"partial\" | \"block\" | \"progress\". Legacy boolean/streamMode keys are auto-mapped.",
|
|
594
|
+
"channels.slack.nativeStreaming": "Enable native Slack text streaming (chat.startStream/chat.appendStream/chat.stopStream) when channels.slack.streaming is partial (default: true).",
|
|
595
|
+
"channels.slack.streamMode": "Legacy Slack preview mode alias (replace | status_final | append); auto-migrated to channels.slack.streaming.",
|
|
596
|
+
"channels.telegram.customCommands": "Additional Telegram bot menu commands (merged with native; conflicts ignored).",
|
|
597
|
+
"messages.suppressToolErrors": "When true, suppress ⚠️ tool-error warnings from being shown to the user. The agent already sees errors in context and can retry. Default: false.",
|
|
598
|
+
"messages.ackReaction": "Emoji reaction used to acknowledge inbound messages (empty disables).",
|
|
599
|
+
"messages.ackReactionScope": "When to send ack reactions (\"group-mentions\", \"group-all\", \"direct\", \"all\").",
|
|
600
|
+
"messages.statusReactions": "Lifecycle status reactions that update the emoji on the trigger message as the agent progresses (queued → thinking → tool → done/error).",
|
|
601
|
+
"messages.statusReactions.enabled": "Enable lifecycle status reactions for Telegram. When enabled, the ack reaction becomes the initial 'queued' state and progresses through thinking, tool, done/error automatically. Default: false.",
|
|
602
|
+
"messages.statusReactions.emojis": "Override default status reaction emojis. Keys: thinking, tool, coding, web, done, error, stallSoft, stallHard. Must be valid Telegram reaction emojis.",
|
|
603
|
+
"messages.statusReactions.timing": "Override default timing. Keys: debounceMs (700), stallSoftMs (25000), stallHardMs (60000), doneHoldMs (1500), errorHoldMs (2500).",
|
|
604
|
+
"messages.inbound.debounceMs": "Debounce window (ms) for batching rapid inbound messages from the same sender (0 to disable).",
|
|
605
|
+
"channels.telegram.dmPolicy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.telegram.allowFrom=[\"*\"].",
|
|
606
|
+
"channels.telegram.streaming": "Unified Telegram stream preview mode: \"off\" | \"partial\" | \"block\" | \"progress\". \"progress\" maps to \"partial\" on Telegram. Legacy boolean/streamMode keys are auto-mapped.",
|
|
607
|
+
"channels.discord.streaming": "Unified Discord stream preview mode: \"off\" | \"partial\" | \"block\" | \"progress\". \"progress\" maps to \"partial\" on Discord. Legacy boolean/streamMode keys are auto-mapped.",
|
|
608
|
+
"channels.discord.streamMode": "Legacy Discord preview mode alias (off | partial | block); auto-migrated to channels.discord.streaming.",
|
|
609
|
+
"channels.discord.draftChunk.minChars": "Minimum chars before emitting a Discord stream preview update when channels.discord.streaming=\"block\" (default: 200).",
|
|
610
|
+
"channels.discord.draftChunk.maxChars": "Target max size for a Discord stream preview chunk when channels.discord.streaming=\"block\" (default: 800; clamped to channels.discord.textChunkLimit).",
|
|
611
|
+
"channels.discord.draftChunk.breakPreference": "Preferred breakpoints for Discord draft chunks (paragraph | newline | sentence). Default: paragraph.",
|
|
612
|
+
"channels.telegram.retry.attempts": "Max retry attempts for outbound Telegram API calls (default: 3).",
|
|
613
|
+
"channels.telegram.retry.minDelayMs": "Minimum retry delay in ms for Telegram outbound calls.",
|
|
614
|
+
"channels.telegram.retry.maxDelayMs": "Maximum retry delay cap in ms for Telegram outbound calls.",
|
|
615
|
+
"channels.telegram.retry.jitter": "Jitter factor (0-1) applied to Telegram retry delays.",
|
|
616
|
+
"channels.telegram.network.autoSelectFamily": "Override Node autoSelectFamily for Telegram (true=enable, false=disable).",
|
|
617
|
+
"channels.telegram.timeoutSeconds": "Max seconds before Telegram API requests are aborted (default: 500 per grammY).",
|
|
618
|
+
"channels.whatsapp.dmPolicy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.whatsapp.allowFrom=[\"*\"].",
|
|
619
|
+
"channels.whatsapp.selfChatMode": "Same-phone setup (bot uses your personal WhatsApp number).",
|
|
620
|
+
"channels.whatsapp.debounceMs": "Debounce window (ms) for batching rapid consecutive messages from the same sender (0 to disable).",
|
|
621
|
+
"channels.signal.dmPolicy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.signal.allowFrom=[\"*\"].",
|
|
622
|
+
"channels.imessage.dmPolicy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.imessage.allowFrom=[\"*\"].",
|
|
623
|
+
"channels.bluebubbles.dmPolicy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.bluebubbles.allowFrom=[\"*\"].",
|
|
624
|
+
"channels.discord.dmPolicy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.discord.allowFrom=[\"*\"].",
|
|
625
|
+
"channels.discord.dm.policy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.discord.allowFrom=[\"*\"] (legacy: channels.discord.dm.allowFrom).",
|
|
626
|
+
"channels.discord.retry.attempts": "Max retry attempts for outbound Discord API calls (default: 3).",
|
|
627
|
+
"channels.discord.retry.minDelayMs": "Minimum retry delay in ms for Discord outbound calls.",
|
|
628
|
+
"channels.discord.retry.maxDelayMs": "Maximum retry delay cap in ms for Discord outbound calls.",
|
|
629
|
+
"channels.discord.retry.jitter": "Jitter factor (0-1) applied to Discord retry delays.",
|
|
630
|
+
"channels.discord.maxLinesPerMessage": "Soft max line count per Discord message (default: 17).",
|
|
631
|
+
"channels.discord.threadBindings.enabled": "Enable Discord thread binding features (/focus, bound-thread routing/delivery, and thread-bound subagent sessions). Overrides session.threadBindings.enabled when set.",
|
|
632
|
+
"channels.discord.threadBindings.ttlHours": "Auto-unfocus TTL in hours for Discord thread-bound sessions (/focus and spawned thread sessions). Set 0 to disable (default: 24). Overrides session.threadBindings.ttlHours when set.",
|
|
633
|
+
"channels.discord.threadBindings.spawnSubagentSessions": "Allow subagent spawns with thread=true to auto-create and bind Discord threads (default: false; opt-in). Set true to enable thread-bound subagent spawns for this account/channel.",
|
|
634
|
+
"channels.discord.ui.components.accentColor": "Accent color for Discord component containers (hex). Set per account via channels.discord.accounts.<id>.ui.components.accentColor.",
|
|
635
|
+
"channels.discord.voice.enabled": "Enable Discord voice channel conversations (default: true). Omit channels.discord.voice to keep voice support disabled for the account.",
|
|
636
|
+
"channels.discord.voice.autoJoin": "Voice channels to auto-join on startup (list of guildId/channelId entries).",
|
|
637
|
+
"channels.discord.voice.daveEncryption": "Toggle DAVE end-to-end encryption for Discord voice joins (default: true in @discordjs/voice; Discord may require this).",
|
|
638
|
+
"channels.discord.voice.decryptionFailureTolerance": "Consecutive decrypt failures before DAVE attempts session recovery (passed to @discordjs/voice; default: 24).",
|
|
639
|
+
"channels.discord.voice.tts": "Optional TTS overrides for Discord voice playback (merged with messages.tts).",
|
|
640
|
+
"channels.discord.intents.presence": "Enable the Guild Presences privileged intent. Must also be enabled in the Discord Developer Portal. Allows tracking user activities (e.g. Spotify). Default: false.",
|
|
641
|
+
"channels.discord.intents.guildMembers": "Enable the Guild Members privileged intent. Must also be enabled in the Discord Developer Portal. Default: false.",
|
|
642
|
+
"channels.discord.pluralkit.enabled": "Resolve PluralKit proxied messages and treat system members as distinct senders.",
|
|
643
|
+
"channels.discord.pluralkit.token": "Optional PluralKit token for resolving private systems or members.",
|
|
644
|
+
"channels.discord.activity": "Discord presence activity text (defaults to custom status).",
|
|
645
|
+
"channels.discord.status": "Discord presence status (online, dnd, idle, invisible).",
|
|
646
|
+
"channels.discord.activityType": "Discord presence activity type (0=Playing,1=Streaming,2=Listening,3=Watching,4=Custom,5=Competing).",
|
|
647
|
+
"channels.discord.activityUrl": "Discord presence streaming URL (required for activityType=1).",
|
|
648
|
+
"channels.slack.dm.policy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.slack.allowFrom=[\"*\"] (legacy: channels.slack.dm.allowFrom).",
|
|
649
|
+
"channels.slack.dmPolicy": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.slack.allowFrom=[\"*\"]."
|
|
650
|
+
};
|
|
651
|
+
|
|
652
|
+
//#endregion
|
|
653
|
+
//#region src/config/schema.labels.ts
|
|
654
|
+
const FIELD_LABELS = {
|
|
655
|
+
meta: "Metadata",
|
|
656
|
+
"meta.lastTouchedVersion": "Config Last Touched Version",
|
|
657
|
+
"meta.lastTouchedAt": "Config Last Touched At",
|
|
658
|
+
env: "Environment",
|
|
659
|
+
"env.shellEnv": "Shell Environment Import",
|
|
660
|
+
"env.shellEnv.enabled": "Shell Environment Import Enabled",
|
|
661
|
+
"env.shellEnv.timeoutMs": "Shell Environment Import Timeout (ms)",
|
|
662
|
+
"env.vars": "Environment Variable Overrides",
|
|
663
|
+
wizard: "Setup Wizard State",
|
|
664
|
+
"wizard.lastRunAt": "Wizard Last Run Timestamp",
|
|
665
|
+
"wizard.lastRunVersion": "Wizard Last Run Version",
|
|
666
|
+
"wizard.lastRunCommit": "Wizard Last Run Commit",
|
|
667
|
+
"wizard.lastRunCommand": "Wizard Last Run Command",
|
|
668
|
+
"wizard.lastRunMode": "Wizard Last Run Mode",
|
|
669
|
+
diagnostics: "Diagnostics",
|
|
670
|
+
"diagnostics.otel": "OpenTelemetry",
|
|
671
|
+
"diagnostics.cacheTrace": "Cache Trace",
|
|
672
|
+
logging: "Logging",
|
|
673
|
+
"logging.level": "Log Level",
|
|
674
|
+
"logging.file": "Log File Path",
|
|
675
|
+
"logging.consoleLevel": "Console Log Level",
|
|
676
|
+
"logging.consoleStyle": "Console Log Style",
|
|
677
|
+
"logging.redactSensitive": "Sensitive Data Redaction Mode",
|
|
678
|
+
"logging.redactPatterns": "Custom Redaction Patterns",
|
|
679
|
+
update: "Updates",
|
|
680
|
+
"update.channel": "Update Channel",
|
|
681
|
+
"update.checkOnStart": "Update Check on Start",
|
|
682
|
+
"update.auto.enabled": "Auto Update Enabled",
|
|
683
|
+
"update.auto.stableDelayHours": "Auto Update Stable Delay (hours)",
|
|
684
|
+
"update.auto.stableJitterHours": "Auto Update Stable Jitter (hours)",
|
|
685
|
+
"update.auto.betaCheckIntervalHours": "Auto Update Beta Check Interval (hours)",
|
|
686
|
+
"diagnostics.enabled": "Diagnostics Enabled",
|
|
687
|
+
"diagnostics.flags": "Diagnostics Flags",
|
|
688
|
+
"diagnostics.otel.enabled": "OpenTelemetry Enabled",
|
|
689
|
+
"diagnostics.otel.endpoint": "OpenTelemetry Endpoint",
|
|
690
|
+
"diagnostics.otel.protocol": "OpenTelemetry Protocol",
|
|
691
|
+
"diagnostics.otel.headers": "OpenTelemetry Headers",
|
|
692
|
+
"diagnostics.otel.serviceName": "OpenTelemetry Service Name",
|
|
693
|
+
"diagnostics.otel.traces": "OpenTelemetry Traces Enabled",
|
|
694
|
+
"diagnostics.otel.metrics": "OpenTelemetry Metrics Enabled",
|
|
695
|
+
"diagnostics.otel.logs": "OpenTelemetry Logs Enabled",
|
|
696
|
+
"diagnostics.otel.sampleRate": "OpenTelemetry Trace Sample Rate",
|
|
697
|
+
"diagnostics.otel.flushIntervalMs": "OpenTelemetry Flush Interval (ms)",
|
|
698
|
+
"diagnostics.cacheTrace.enabled": "Cache Trace Enabled",
|
|
699
|
+
"diagnostics.cacheTrace.filePath": "Cache Trace File Path",
|
|
700
|
+
"diagnostics.cacheTrace.includeMessages": "Cache Trace Include Messages",
|
|
701
|
+
"diagnostics.cacheTrace.includePrompt": "Cache Trace Include Prompt",
|
|
702
|
+
"diagnostics.cacheTrace.includeSystem": "Cache Trace Include System",
|
|
703
|
+
"agents.list.*.identity.avatar": "Identity Avatar",
|
|
704
|
+
"agents.list.*.skills": "Agent Skill Filter",
|
|
705
|
+
agents: "Agents",
|
|
706
|
+
"agents.defaults": "Agent Defaults",
|
|
707
|
+
"agents.list": "Agent List",
|
|
708
|
+
gateway: "Gateway",
|
|
709
|
+
"gateway.port": "Gateway Port",
|
|
710
|
+
"gateway.mode": "Gateway Mode",
|
|
711
|
+
"gateway.bind": "Gateway Bind Mode",
|
|
712
|
+
"gateway.customBindHost": "Gateway Custom Bind Host",
|
|
713
|
+
"gateway.controlUi": "Control UI",
|
|
714
|
+
"gateway.controlUi.enabled": "Control UI Enabled",
|
|
715
|
+
"gateway.auth": "Gateway Auth",
|
|
716
|
+
"gateway.auth.mode": "Gateway Auth Mode",
|
|
717
|
+
"gateway.auth.allowTailscale": "Gateway Auth Allow Tailscale Identity",
|
|
718
|
+
"gateway.auth.rateLimit": "Gateway Auth Rate Limit",
|
|
719
|
+
"gateway.auth.trustedProxy": "Gateway Trusted Proxy Auth",
|
|
720
|
+
"gateway.trustedProxies": "Gateway Trusted Proxy CIDRs",
|
|
721
|
+
"gateway.allowRealIpFallback": "Gateway Allow x-real-ip Fallback",
|
|
722
|
+
"gateway.tools": "Gateway Tool Exposure Policy",
|
|
723
|
+
"gateway.tools.allow": "Gateway Tool Allowlist",
|
|
724
|
+
"gateway.tools.deny": "Gateway Tool Denylist",
|
|
725
|
+
"gateway.channelHealthCheckMinutes": "Gateway Channel Health Check Interval (min)",
|
|
726
|
+
"gateway.tailscale": "Gateway Tailscale",
|
|
727
|
+
"gateway.tailscale.mode": "Gateway Tailscale Mode",
|
|
728
|
+
"gateway.tailscale.resetOnExit": "Gateway Tailscale Reset on Exit",
|
|
729
|
+
"gateway.remote": "Remote Gateway",
|
|
730
|
+
"gateway.remote.transport": "Remote Gateway Transport",
|
|
731
|
+
"gateway.reload": "Config Reload",
|
|
732
|
+
"gateway.tls": "Gateway TLS",
|
|
733
|
+
"gateway.tls.enabled": "Gateway TLS Enabled",
|
|
734
|
+
"gateway.tls.autoGenerate": "Gateway TLS Auto-Generate Cert",
|
|
735
|
+
"gateway.tls.certPath": "Gateway TLS Certificate Path",
|
|
736
|
+
"gateway.tls.keyPath": "Gateway TLS Key Path",
|
|
737
|
+
"gateway.tls.caPath": "Gateway TLS CA Path",
|
|
738
|
+
"gateway.http": "Gateway HTTP API",
|
|
739
|
+
"gateway.http.endpoints": "Gateway HTTP Endpoints",
|
|
740
|
+
"gateway.http.securityHeaders": "Gateway HTTP Security Headers",
|
|
741
|
+
"gateway.http.securityHeaders.strictTransportSecurity": "Strict Transport Security Header",
|
|
742
|
+
"gateway.remote.url": "Remote Gateway URL",
|
|
743
|
+
"gateway.remote.sshTarget": "Remote Gateway SSH Target",
|
|
744
|
+
"gateway.remote.sshIdentity": "Remote Gateway SSH Identity",
|
|
745
|
+
"gateway.remote.token": "Remote Gateway Token",
|
|
746
|
+
"gateway.remote.password": "Remote Gateway Password",
|
|
747
|
+
"gateway.remote.tlsFingerprint": "Remote Gateway TLS Fingerprint",
|
|
748
|
+
"gateway.auth.token": "Gateway Token",
|
|
749
|
+
"gateway.auth.password": "Gateway Password",
|
|
750
|
+
browser: "Browser",
|
|
751
|
+
"browser.enabled": "Browser Enabled",
|
|
752
|
+
"browser.cdpUrl": "Browser CDP URL",
|
|
753
|
+
"browser.color": "Browser Accent Color",
|
|
754
|
+
"browser.executablePath": "Browser Executable Path",
|
|
755
|
+
"browser.headless": "Browser Headless Mode",
|
|
756
|
+
"browser.noSandbox": "Browser No-Sandbox Mode",
|
|
757
|
+
"browser.attachOnly": "Browser Attach-only Mode",
|
|
758
|
+
"browser.defaultProfile": "Browser Default Profile",
|
|
759
|
+
"browser.profiles": "Browser Profiles",
|
|
760
|
+
"browser.profiles.*.cdpPort": "Browser Profile CDP Port",
|
|
761
|
+
"browser.profiles.*.cdpUrl": "Browser Profile CDP URL",
|
|
762
|
+
"browser.profiles.*.driver": "Browser Profile Driver",
|
|
763
|
+
"browser.profiles.*.color": "Browser Profile Accent Color",
|
|
764
|
+
tools: "Tools",
|
|
765
|
+
"tools.allow": "Tool Allowlist",
|
|
766
|
+
"tools.deny": "Tool Denylist",
|
|
767
|
+
"tools.exec": "Exec Tool",
|
|
768
|
+
"tools.media.image.enabled": "Enable Image Understanding",
|
|
769
|
+
"tools.media.image.maxBytes": "Image Understanding Max Bytes",
|
|
770
|
+
"tools.media.image.maxChars": "Image Understanding Max Chars",
|
|
771
|
+
"tools.media.image.prompt": "Image Understanding Prompt",
|
|
772
|
+
"tools.media.image.timeoutSeconds": "Image Understanding Timeout (sec)",
|
|
773
|
+
"tools.media.image.attachments": "Image Understanding Attachment Policy",
|
|
774
|
+
"tools.media.image.models": "Image Understanding Models",
|
|
775
|
+
"tools.media.image.scope": "Image Understanding Scope",
|
|
776
|
+
"tools.media.models": "Media Understanding Shared Models",
|
|
777
|
+
"tools.media.concurrency": "Media Understanding Concurrency",
|
|
778
|
+
"tools.media.audio.enabled": "Enable Audio Understanding",
|
|
779
|
+
"tools.media.audio.maxBytes": "Audio Understanding Max Bytes",
|
|
780
|
+
"tools.media.audio.maxChars": "Audio Understanding Max Chars",
|
|
781
|
+
"tools.media.audio.prompt": "Audio Understanding Prompt",
|
|
782
|
+
"tools.media.audio.timeoutSeconds": "Audio Understanding Timeout (sec)",
|
|
783
|
+
"tools.media.audio.language": "Audio Understanding Language",
|
|
784
|
+
"tools.media.audio.attachments": "Audio Understanding Attachment Policy",
|
|
785
|
+
"tools.media.audio.models": "Audio Understanding Models",
|
|
786
|
+
"tools.media.audio.scope": "Audio Understanding Scope",
|
|
787
|
+
"tools.media.video.enabled": "Enable Video Understanding",
|
|
788
|
+
"tools.media.video.maxBytes": "Video Understanding Max Bytes",
|
|
789
|
+
"tools.media.video.maxChars": "Video Understanding Max Chars",
|
|
790
|
+
"tools.media.video.prompt": "Video Understanding Prompt",
|
|
791
|
+
"tools.media.video.timeoutSeconds": "Video Understanding Timeout (sec)",
|
|
792
|
+
"tools.media.video.attachments": "Video Understanding Attachment Policy",
|
|
793
|
+
"tools.media.video.models": "Video Understanding Models",
|
|
794
|
+
"tools.media.video.scope": "Video Understanding Scope",
|
|
795
|
+
"tools.links.enabled": "Enable Link Understanding",
|
|
796
|
+
"tools.links.maxLinks": "Link Understanding Max Links",
|
|
797
|
+
"tools.links.timeoutSeconds": "Link Understanding Timeout (sec)",
|
|
798
|
+
"tools.links.models": "Link Understanding Models",
|
|
799
|
+
"tools.links.scope": "Link Understanding Scope",
|
|
800
|
+
"tools.profile": "Tool Profile",
|
|
801
|
+
"tools.alsoAllow": "Tool Allowlist Additions",
|
|
802
|
+
"agents.list[].tools.profile": "Agent Tool Profile",
|
|
803
|
+
"agents.list[].tools.alsoAllow": "Agent Tool Allowlist Additions",
|
|
804
|
+
"tools.byProvider": "Tool Policy by Provider",
|
|
805
|
+
"agents.list[].tools.byProvider": "Agent Tool Policy by Provider",
|
|
806
|
+
"tools.fs.workspaceOnly": "Workspace-only FS tools",
|
|
807
|
+
"tools.sessions.visibility": "Session Tools Visibility",
|
|
808
|
+
"tools.exec.notifyOnExit": "Exec Notify On Exit",
|
|
809
|
+
"tools.exec.notifyOnExitEmptySuccess": "Exec Notify On Empty Success",
|
|
810
|
+
"tools.exec.approvalRunningNoticeMs": "Exec Approval Running Notice (ms)",
|
|
811
|
+
"tools.exec.host": "Exec Host",
|
|
812
|
+
"tools.exec.security": "Exec Security",
|
|
813
|
+
"tools.exec.ask": "Exec Ask",
|
|
814
|
+
"tools.exec.node": "Exec Node Binding",
|
|
815
|
+
"tools.agentToAgent": "Agent-to-Agent Tool Access",
|
|
816
|
+
"tools.agentToAgent.enabled": "Enable Agent-to-Agent Tool",
|
|
817
|
+
"tools.agentToAgent.allow": "Agent-to-Agent Target Allowlist",
|
|
818
|
+
"tools.elevated": "Elevated Tool Access",
|
|
819
|
+
"tools.elevated.enabled": "Enable Elevated Tool Access",
|
|
820
|
+
"tools.elevated.allowFrom": "Elevated Tool Allow Rules",
|
|
821
|
+
"tools.subagents": "Subagent Tool Policy",
|
|
822
|
+
"tools.subagents.tools": "Subagent Tool Allow/Deny Policy",
|
|
823
|
+
"tools.sandbox": "Sandbox Tool Policy",
|
|
824
|
+
"tools.sandbox.tools": "Sandbox Tool Allow/Deny Policy",
|
|
825
|
+
"tools.exec.pathPrepend": "Exec PATH Prepend",
|
|
826
|
+
"tools.exec.safeBins": "Exec Safe Bins",
|
|
827
|
+
"tools.exec.safeBinTrustedDirs": "Exec Safe Bin Trusted Dirs",
|
|
828
|
+
"tools.exec.safeBinProfiles": "Exec Safe Bin Profiles",
|
|
829
|
+
approvals: "Approvals",
|
|
830
|
+
"approvals.exec": "Exec Approval Forwarding",
|
|
831
|
+
"approvals.exec.enabled": "Forward Exec Approvals",
|
|
832
|
+
"approvals.exec.mode": "Approval Forwarding Mode",
|
|
833
|
+
"approvals.exec.agentFilter": "Approval Agent Filter",
|
|
834
|
+
"approvals.exec.sessionFilter": "Approval Session Filter",
|
|
835
|
+
"approvals.exec.targets": "Approval Forwarding Targets",
|
|
836
|
+
"approvals.exec.targets[].channel": "Approval Target Channel",
|
|
837
|
+
"approvals.exec.targets[].to": "Approval Target Destination",
|
|
838
|
+
"approvals.exec.targets[].accountId": "Approval Target Account ID",
|
|
839
|
+
"approvals.exec.targets[].threadId": "Approval Target Thread ID",
|
|
840
|
+
"tools.message.allowCrossContextSend": "Allow Cross-Context Messaging",
|
|
841
|
+
"tools.message.crossContext.allowWithinProvider": "Allow Cross-Context (Same Provider)",
|
|
842
|
+
"tools.message.crossContext.allowAcrossProviders": "Allow Cross-Context (Across Providers)",
|
|
843
|
+
"tools.message.crossContext.marker.enabled": "Cross-Context Marker",
|
|
844
|
+
"tools.message.crossContext.marker.prefix": "Cross-Context Marker Prefix",
|
|
845
|
+
"tools.message.crossContext.marker.suffix": "Cross-Context Marker Suffix",
|
|
846
|
+
"tools.message.broadcast.enabled": "Enable Message Broadcast",
|
|
847
|
+
"gateway.controlUi.basePath": "Control UI Base Path",
|
|
848
|
+
"gateway.controlUi.root": "Control UI Assets Root",
|
|
849
|
+
"gateway.controlUi.allowedOrigins": "Control UI Allowed Origins",
|
|
850
|
+
"gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback": "Dangerously Allow Host-Header Origin Fallback",
|
|
851
|
+
"gateway.controlUi.allowInsecureAuth": "Insecure Control UI Auth Toggle",
|
|
852
|
+
"gateway.controlUi.dangerouslyDisableDeviceAuth": "Dangerously Disable Control UI Device Auth",
|
|
853
|
+
"gateway.http.endpoints.chatCompletions.enabled": "OpenAI Chat Completions Endpoint",
|
|
854
|
+
"gateway.reload.mode": "Config Reload Mode",
|
|
855
|
+
"gateway.reload.debounceMs": "Config Reload Debounce (ms)",
|
|
856
|
+
"gateway.nodes.browser.mode": "Gateway Node Browser Mode",
|
|
857
|
+
"gateway.nodes.browser.node": "Gateway Node Browser Pin",
|
|
858
|
+
"gateway.nodes.allowCommands": "Gateway Node Allowlist (Extra Commands)",
|
|
859
|
+
"gateway.nodes.denyCommands": "Gateway Node Denylist",
|
|
860
|
+
nodeHost: "Node Host",
|
|
861
|
+
"nodeHost.browserProxy": "Node Browser Proxy",
|
|
862
|
+
"nodeHost.browserProxy.enabled": "Node Browser Proxy Enabled",
|
|
863
|
+
"nodeHost.browserProxy.allowProfiles": "Node Browser Proxy Allowed Profiles",
|
|
864
|
+
media: "Media",
|
|
865
|
+
"media.preserveFilenames": "Preserve Media Filenames",
|
|
866
|
+
audio: "Audio",
|
|
867
|
+
"audio.transcription": "Audio Transcription",
|
|
868
|
+
"audio.transcription.command": "Audio Transcription Command",
|
|
869
|
+
"audio.transcription.timeoutSeconds": "Audio Transcription Timeout (sec)",
|
|
870
|
+
bindings: "Bindings",
|
|
871
|
+
"bindings[].agentId": "Binding Agent ID",
|
|
872
|
+
"bindings[].match": "Binding Match Rule",
|
|
873
|
+
"bindings[].match.channel": "Binding Channel",
|
|
874
|
+
"bindings[].match.accountId": "Binding Account ID",
|
|
875
|
+
"bindings[].match.peer": "Binding Peer Match",
|
|
876
|
+
"bindings[].match.peer.kind": "Binding Peer Kind",
|
|
877
|
+
"bindings[].match.peer.id": "Binding Peer ID",
|
|
878
|
+
"bindings[].match.guildId": "Binding Guild ID",
|
|
879
|
+
"bindings[].match.teamId": "Binding Team ID",
|
|
880
|
+
"bindings[].match.roles": "Binding Roles",
|
|
881
|
+
broadcast: "Broadcast",
|
|
882
|
+
"broadcast.strategy": "Broadcast Strategy",
|
|
883
|
+
"broadcast.*": "Broadcast Destination List",
|
|
884
|
+
"skills.load.watch": "Watch Skills",
|
|
885
|
+
"skills.load.watchDebounceMs": "Skills Watch Debounce (ms)",
|
|
886
|
+
"agents.defaults.repoRoot": "Repo Root",
|
|
887
|
+
"agents.defaults.boot": "Boot Prompt",
|
|
888
|
+
"agents.defaults.boot.prompt": "Boot Prompt Text",
|
|
889
|
+
"agents.defaults.boot.file": "Boot Prompt File",
|
|
890
|
+
"agents.list[].boot": "Agent Boot Prompt",
|
|
891
|
+
"agents.list[].boot.prompt": "Agent Boot Prompt Text",
|
|
892
|
+
"agents.list[].boot.file": "Agent Boot Prompt File",
|
|
893
|
+
"agents.defaults.bootstrapMaxChars": "Bootstrap Max Chars",
|
|
894
|
+
"agents.defaults.bootstrapTotalMaxChars": "Bootstrap Total Max Chars",
|
|
895
|
+
"agents.defaults.envelopeTimezone": "Envelope Timezone",
|
|
896
|
+
"agents.defaults.envelopeTimestamp": "Envelope Timestamp",
|
|
897
|
+
"agents.defaults.envelopeElapsed": "Envelope Elapsed",
|
|
898
|
+
auth: "Auth",
|
|
899
|
+
"auth.profiles": "Auth Profiles",
|
|
900
|
+
"auth.order": "Auth Profile Order",
|
|
901
|
+
"auth.cooldowns": "Auth Cooldowns",
|
|
902
|
+
models: "Models",
|
|
903
|
+
"models.mode": "Model Catalog Mode",
|
|
904
|
+
"models.providers": "Model Providers",
|
|
905
|
+
"models.providers.*.baseUrl": "Model Provider Base URL",
|
|
906
|
+
"models.providers.*.apiKey": "Model Provider API Key",
|
|
907
|
+
"models.providers.*.auth": "Model Provider Auth Mode",
|
|
908
|
+
"models.providers.*.api": "Model Provider API Adapter",
|
|
909
|
+
"models.providers.*.headers": "Model Provider Headers",
|
|
910
|
+
"models.providers.*.authHeader": "Model Provider Authorization Header",
|
|
911
|
+
"models.providers.*.models": "Model Provider Model List",
|
|
912
|
+
"models.bedrockDiscovery": "Bedrock Model Discovery",
|
|
913
|
+
"models.bedrockDiscovery.enabled": "Bedrock Discovery Enabled",
|
|
914
|
+
"models.bedrockDiscovery.region": "Bedrock Discovery Region",
|
|
915
|
+
"models.bedrockDiscovery.providerFilter": "Bedrock Discovery Provider Filter",
|
|
916
|
+
"models.bedrockDiscovery.refreshInterval": "Bedrock Discovery Refresh Interval (s)",
|
|
917
|
+
"models.bedrockDiscovery.defaultContextWindow": "Bedrock Default Context Window",
|
|
918
|
+
"models.bedrockDiscovery.defaultMaxTokens": "Bedrock Default Max Tokens",
|
|
919
|
+
"auth.cooldowns.billingBackoffHours": "Billing Backoff (hours)",
|
|
920
|
+
"auth.cooldowns.billingBackoffHoursByProvider": "Billing Backoff Overrides",
|
|
921
|
+
"auth.cooldowns.billingMaxHours": "Billing Backoff Cap (hours)",
|
|
922
|
+
"auth.cooldowns.failureWindowHours": "Failover Window (hours)",
|
|
923
|
+
"agents.defaults.models": "Models",
|
|
924
|
+
"agents.defaults.model.primary": "Primary Model",
|
|
925
|
+
"agents.defaults.model.fallbacks": "Model Fallbacks",
|
|
926
|
+
"agents.defaults.imageModel.primary": "Image Model",
|
|
927
|
+
"agents.defaults.imageModel.fallbacks": "Image Model Fallbacks",
|
|
928
|
+
"agents.defaults.imageMaxDimensionPx": "Image Max Dimension (px)",
|
|
929
|
+
"agents.defaults.humanDelay.mode": "Human Delay Mode",
|
|
930
|
+
"agents.defaults.humanDelay.minMs": "Human Delay Min (ms)",
|
|
931
|
+
"agents.defaults.humanDelay.maxMs": "Human Delay Max (ms)",
|
|
932
|
+
"agents.defaults.cliBackends": "CLI Backends",
|
|
933
|
+
"agents.defaults.compaction": "Compaction",
|
|
934
|
+
"agents.defaults.compaction.mode": "Compaction Mode",
|
|
935
|
+
"agents.defaults.compaction.reserveTokens": "Compaction Reserve Tokens",
|
|
936
|
+
"agents.defaults.compaction.keepRecentTokens": "Compaction Keep Recent Tokens",
|
|
937
|
+
"agents.defaults.compaction.reserveTokensFloor": "Compaction Reserve Token Floor",
|
|
938
|
+
"agents.defaults.compaction.maxHistoryShare": "Compaction Max History Share",
|
|
939
|
+
"agents.defaults.heartbeat.suppressToolErrorWarnings": "Heartbeat Suppress Tool Error Warnings",
|
|
940
|
+
"agents.defaults.sandbox.browser.network": "Sandbox Browser Network",
|
|
941
|
+
"agents.defaults.sandbox.browser.cdpSourceRange": "Sandbox Browser CDP Source Port Range",
|
|
942
|
+
"agents.defaults.sandbox.docker.dangerouslyAllowContainerNamespaceJoin": "Sandbox Docker Allow Container Namespace Join",
|
|
943
|
+
commands: "Commands",
|
|
944
|
+
"commands.native": "Native Commands",
|
|
945
|
+
"commands.text": "Text Commands",
|
|
946
|
+
"commands.bash": "Allow Bash Chat Command",
|
|
947
|
+
"commands.bashForegroundMs": "Bash Foreground Window (ms)",
|
|
948
|
+
"commands.config": "Allow /config",
|
|
949
|
+
"commands.debug": "Allow /debug",
|
|
950
|
+
"commands.restart": "Allow Restart",
|
|
951
|
+
"commands.useAccessGroups": "Use Access Groups",
|
|
952
|
+
"commands.ownerAllowFrom": "Command Owners",
|
|
953
|
+
"commands.ownerDisplay": "Owner ID Display",
|
|
954
|
+
"commands.ownerDisplaySecret": "Owner ID Hash Secret",
|
|
955
|
+
"commands.allowFrom": "Command Elevated Access Rules",
|
|
956
|
+
ui: "UI",
|
|
957
|
+
"ui.seamColor": "Accent Color",
|
|
958
|
+
"ui.assistant": "Assistant Appearance",
|
|
959
|
+
"ui.assistant.name": "Assistant Name",
|
|
960
|
+
"ui.assistant.avatar": "Assistant Avatar",
|
|
961
|
+
"browser.evaluateEnabled": "Browser Evaluate Enabled",
|
|
962
|
+
"browser.snapshotDefaults": "Browser Snapshot Defaults",
|
|
963
|
+
"browser.snapshotDefaults.mode": "Browser Snapshot Mode",
|
|
964
|
+
"browser.ssrfPolicy": "Browser SSRF Policy",
|
|
965
|
+
"browser.ssrfPolicy.allowPrivateNetwork": "Browser Allow Private Network",
|
|
966
|
+
"browser.ssrfPolicy.dangerouslyAllowPrivateNetwork": "Browser Dangerously Allow Private Network",
|
|
967
|
+
"browser.ssrfPolicy.allowedHostnames": "Browser Allowed Hostnames",
|
|
968
|
+
"browser.ssrfPolicy.hostnameAllowlist": "Browser Hostname Allowlist",
|
|
969
|
+
"browser.remoteCdpTimeoutMs": "Remote CDP Timeout (ms)",
|
|
970
|
+
"browser.remoteCdpHandshakeTimeoutMs": "Remote CDP Handshake Timeout (ms)",
|
|
971
|
+
session: "Session",
|
|
972
|
+
"session.scope": "Session Scope",
|
|
973
|
+
"session.dmScope": "DM Session Scope",
|
|
974
|
+
"session.identityLinks": "Session Identity Links",
|
|
975
|
+
"session.resetTriggers": "Session Reset Triggers",
|
|
976
|
+
"session.idleMinutes": "Session Idle Minutes",
|
|
977
|
+
"session.reset": "Session Reset Policy",
|
|
978
|
+
"session.reset.mode": "Session Reset Mode",
|
|
979
|
+
"session.reset.atHour": "Session Daily Reset Hour",
|
|
980
|
+
"session.reset.idleMinutes": "Session Reset Idle Minutes",
|
|
981
|
+
"session.resetByType": "Session Reset by Chat Type",
|
|
982
|
+
"session.resetByType.direct": "Session Reset (Direct)",
|
|
983
|
+
"session.resetByType.dm": "Session Reset (DM Deprecated Alias)",
|
|
984
|
+
"session.resetByType.group": "Session Reset (Group)",
|
|
985
|
+
"session.resetByType.thread": "Session Reset (Thread)",
|
|
986
|
+
"session.resetByChannel": "Session Reset by Channel",
|
|
987
|
+
"session.store": "Session Store Path",
|
|
988
|
+
"session.typingIntervalSeconds": "Session Typing Interval (seconds)",
|
|
989
|
+
"session.typingMode": "Session Typing Mode",
|
|
990
|
+
"session.mainKey": "Session Main Key",
|
|
991
|
+
"session.sendPolicy": "Session Send Policy",
|
|
992
|
+
"session.sendPolicy.default": "Session Send Policy Default Action",
|
|
993
|
+
"session.sendPolicy.rules": "Session Send Policy Rules",
|
|
994
|
+
"session.sendPolicy.rules[].action": "Session Send Rule Action",
|
|
995
|
+
"session.sendPolicy.rules[].match": "Session Send Rule Match",
|
|
996
|
+
"session.sendPolicy.rules[].match.channel": "Session Send Rule Channel",
|
|
997
|
+
"session.sendPolicy.rules[].match.chatType": "Session Send Rule Chat Type",
|
|
998
|
+
"session.sendPolicy.rules[].match.keyPrefix": "Session Send Rule Key Prefix",
|
|
999
|
+
"session.sendPolicy.rules[].match.rawKeyPrefix": "Session Send Rule Raw Key Prefix",
|
|
1000
|
+
"session.agentToAgent": "Session Agent-to-Agent",
|
|
1001
|
+
"session.agentToAgent.maxPingPongTurns": "Agent-to-Agent Ping-Pong Turns",
|
|
1002
|
+
"session.threadBindings": "Session Thread Bindings",
|
|
1003
|
+
"session.threadBindings.enabled": "Thread Binding Enabled",
|
|
1004
|
+
"session.threadBindings.ttlHours": "Thread Binding TTL (hours)",
|
|
1005
|
+
"session.maintenance": "Session Maintenance",
|
|
1006
|
+
"session.maintenance.mode": "Session Maintenance Mode",
|
|
1007
|
+
"session.maintenance.pruneAfter": "Session Prune After",
|
|
1008
|
+
"session.maintenance.pruneDays": "Session Prune Days (Deprecated)",
|
|
1009
|
+
"session.maintenance.maxEntries": "Session Max Entries",
|
|
1010
|
+
"session.maintenance.rotateBytes": "Session Rotate Size",
|
|
1011
|
+
"session.maintenance.resetArchiveRetention": "Session Reset Archive Retention",
|
|
1012
|
+
"session.maintenance.maxDiskBytes": "Session Max Disk Budget",
|
|
1013
|
+
"session.maintenance.highWaterBytes": "Session Disk High-water Target",
|
|
1014
|
+
cron: "Cron",
|
|
1015
|
+
"cron.enabled": "Cron Enabled",
|
|
1016
|
+
"cron.store": "Cron Store Path",
|
|
1017
|
+
"cron.maxConcurrentRuns": "Cron Max Concurrent Runs",
|
|
1018
|
+
"cron.webhook": "Cron Legacy Webhook (Deprecated)",
|
|
1019
|
+
"cron.webhookToken": "Cron Webhook Bearer Token",
|
|
1020
|
+
"cron.sessionRetention": "Cron Session Retention",
|
|
1021
|
+
"cron.runLog": "Cron Run Log Pruning",
|
|
1022
|
+
"cron.runLog.maxBytes": "Cron Run Log Max Bytes",
|
|
1023
|
+
"cron.runLog.keepLines": "Cron Run Log Keep Lines",
|
|
1024
|
+
hooks: "Hooks",
|
|
1025
|
+
"hooks.enabled": "Hooks Enabled",
|
|
1026
|
+
"hooks.path": "Hooks Endpoint Path",
|
|
1027
|
+
"hooks.token": "Hooks Auth Token",
|
|
1028
|
+
"hooks.defaultSessionKey": "Hooks Default Session Key",
|
|
1029
|
+
"hooks.allowRequestSessionKey": "Hooks Allow Request Session Key",
|
|
1030
|
+
"hooks.allowedSessionKeyPrefixes": "Hooks Allowed Session Key Prefixes",
|
|
1031
|
+
"hooks.allowedAgentIds": "Hooks Allowed Agent IDs",
|
|
1032
|
+
"hooks.maxBodyBytes": "Hooks Max Body Bytes",
|
|
1033
|
+
"hooks.presets": "Hooks Presets",
|
|
1034
|
+
"hooks.transformsDir": "Hooks Transforms Directory",
|
|
1035
|
+
"hooks.mappings": "Hook Mappings",
|
|
1036
|
+
"hooks.mappings[].id": "Hook Mapping ID",
|
|
1037
|
+
"hooks.mappings[].match": "Hook Mapping Match",
|
|
1038
|
+
"hooks.mappings[].match.path": "Hook Mapping Match Path",
|
|
1039
|
+
"hooks.mappings[].match.source": "Hook Mapping Match Source",
|
|
1040
|
+
"hooks.mappings[].action": "Hook Mapping Action",
|
|
1041
|
+
"hooks.mappings[].wakeMode": "Hook Mapping Wake Mode",
|
|
1042
|
+
"hooks.mappings[].name": "Hook Mapping Name",
|
|
1043
|
+
"hooks.mappings[].agentId": "Hook Mapping Agent ID",
|
|
1044
|
+
"hooks.mappings[].sessionKey": "Hook Mapping Session Key",
|
|
1045
|
+
"hooks.mappings[].messageTemplate": "Hook Mapping Message Template",
|
|
1046
|
+
"hooks.mappings[].textTemplate": "Hook Mapping Text Template",
|
|
1047
|
+
"hooks.mappings[].deliver": "Hook Mapping Deliver Reply",
|
|
1048
|
+
"hooks.mappings[].allowUnsafeExternalContent": "Hook Mapping Allow Unsafe External Content",
|
|
1049
|
+
"hooks.mappings[].channel": "Hook Mapping Delivery Channel",
|
|
1050
|
+
"hooks.mappings[].to": "Hook Mapping Delivery Destination",
|
|
1051
|
+
"hooks.mappings[].model": "Hook Mapping Model Override",
|
|
1052
|
+
"hooks.mappings[].thinking": "Hook Mapping Thinking Override",
|
|
1053
|
+
"hooks.mappings[].timeoutSeconds": "Hook Mapping Timeout (sec)",
|
|
1054
|
+
"hooks.mappings[].transform": "Hook Mapping Transform",
|
|
1055
|
+
"hooks.mappings[].transform.module": "Hook Transform Module",
|
|
1056
|
+
"hooks.mappings[].transform.export": "Hook Transform Export",
|
|
1057
|
+
"hooks.gmail": "Gmail Hook",
|
|
1058
|
+
"hooks.gmail.account": "Gmail Hook Account",
|
|
1059
|
+
"hooks.gmail.label": "Gmail Hook Label",
|
|
1060
|
+
"hooks.gmail.topic": "Gmail Hook Pub/Sub Topic",
|
|
1061
|
+
"hooks.gmail.subscription": "Gmail Hook Subscription",
|
|
1062
|
+
"hooks.gmail.pushToken": "Gmail Hook Push Token",
|
|
1063
|
+
"hooks.gmail.hookUrl": "Gmail Hook Callback URL",
|
|
1064
|
+
"hooks.gmail.includeBody": "Gmail Hook Include Body",
|
|
1065
|
+
"hooks.gmail.maxBytes": "Gmail Hook Max Body Bytes",
|
|
1066
|
+
"hooks.gmail.renewEveryMinutes": "Gmail Hook Renew Interval (min)",
|
|
1067
|
+
"hooks.gmail.allowUnsafeExternalContent": "Gmail Hook Allow Unsafe External Content",
|
|
1068
|
+
"hooks.gmail.serve": "Gmail Hook Local Server",
|
|
1069
|
+
"hooks.gmail.serve.bind": "Gmail Hook Server Bind Address",
|
|
1070
|
+
"hooks.gmail.serve.port": "Gmail Hook Server Port",
|
|
1071
|
+
"hooks.gmail.serve.path": "Gmail Hook Server Path",
|
|
1072
|
+
"hooks.gmail.tailscale": "Gmail Hook Tailscale",
|
|
1073
|
+
"hooks.gmail.tailscale.mode": "Gmail Hook Tailscale Mode",
|
|
1074
|
+
"hooks.gmail.tailscale.path": "Gmail Hook Tailscale Path",
|
|
1075
|
+
"hooks.gmail.tailscale.target": "Gmail Hook Tailscale Target",
|
|
1076
|
+
"hooks.gmail.model": "Gmail Hook Model Override",
|
|
1077
|
+
"hooks.gmail.thinking": "Gmail Hook Thinking Override",
|
|
1078
|
+
"hooks.internal": "Internal Hooks",
|
|
1079
|
+
"hooks.internal.enabled": "Internal Hooks Enabled",
|
|
1080
|
+
"hooks.internal.handlers": "Internal Hook Handlers",
|
|
1081
|
+
"hooks.internal.handlers[].event": "Internal Hook Event",
|
|
1082
|
+
"hooks.internal.handlers[].module": "Internal Hook Module",
|
|
1083
|
+
"hooks.internal.handlers[].export": "Internal Hook Export",
|
|
1084
|
+
"hooks.internal.entries": "Internal Hook Entries",
|
|
1085
|
+
"hooks.internal.load": "Internal Hook Loader",
|
|
1086
|
+
"hooks.internal.load.extraDirs": "Internal Hook Extra Directories",
|
|
1087
|
+
"hooks.internal.installs": "Internal Hook Install Records",
|
|
1088
|
+
web: "Web Channel",
|
|
1089
|
+
"web.enabled": "Web Channel Enabled",
|
|
1090
|
+
"web.heartbeatSeconds": "Web Channel Heartbeat Interval (sec)",
|
|
1091
|
+
"web.reconnect": "Web Channel Reconnect Policy",
|
|
1092
|
+
"web.reconnect.initialMs": "Web Reconnect Initial Delay (ms)",
|
|
1093
|
+
"web.reconnect.maxMs": "Web Reconnect Max Delay (ms)",
|
|
1094
|
+
"web.reconnect.factor": "Web Reconnect Backoff Factor",
|
|
1095
|
+
"web.reconnect.jitter": "Web Reconnect Jitter",
|
|
1096
|
+
"web.reconnect.maxAttempts": "Web Reconnect Max Attempts",
|
|
1097
|
+
discovery: "Discovery",
|
|
1098
|
+
"discovery.wideArea": "Wide-area Discovery",
|
|
1099
|
+
"discovery.wideArea.enabled": "Wide-area Discovery Enabled",
|
|
1100
|
+
"discovery.mdns": "mDNS Discovery",
|
|
1101
|
+
canvasHost: "Canvas Host",
|
|
1102
|
+
"canvasHost.enabled": "Canvas Host Enabled",
|
|
1103
|
+
"canvasHost.root": "Canvas Host Root Directory",
|
|
1104
|
+
"canvasHost.port": "Canvas Host Port",
|
|
1105
|
+
"canvasHost.liveReload": "Canvas Host Live Reload",
|
|
1106
|
+
talk: "Talk",
|
|
1107
|
+
"talk.voiceId": "Talk Voice ID",
|
|
1108
|
+
"talk.voiceAliases": "Talk Voice Aliases",
|
|
1109
|
+
"talk.modelId": "Talk Model ID",
|
|
1110
|
+
"talk.outputFormat": "Talk Output Format",
|
|
1111
|
+
"talk.interruptOnSpeech": "Talk Interrupt on Speech",
|
|
1112
|
+
messages: "Messages",
|
|
1113
|
+
"messages.messagePrefix": "Inbound Message Prefix",
|
|
1114
|
+
"messages.responsePrefix": "Outbound Response Prefix",
|
|
1115
|
+
"messages.groupChat": "Group Chat Rules",
|
|
1116
|
+
"messages.groupChat.mentionPatterns": "Group Mention Patterns",
|
|
1117
|
+
"messages.groupChat.historyLimit": "Group History Limit",
|
|
1118
|
+
"messages.queue": "Inbound Queue",
|
|
1119
|
+
"messages.queue.mode": "Queue Mode",
|
|
1120
|
+
"messages.queue.byChannel": "Queue Mode by Channel",
|
|
1121
|
+
"messages.queue.debounceMs": "Queue Debounce (ms)",
|
|
1122
|
+
"messages.queue.debounceMsByChannel": "Queue Debounce by Channel (ms)",
|
|
1123
|
+
"messages.queue.cap": "Queue Capacity",
|
|
1124
|
+
"messages.queue.drop": "Queue Drop Strategy",
|
|
1125
|
+
"messages.inbound": "Inbound Debounce",
|
|
1126
|
+
"messages.suppressToolErrors": "Suppress Tool Error Warnings",
|
|
1127
|
+
"messages.ackReaction": "Ack Reaction Emoji",
|
|
1128
|
+
"messages.ackReactionScope": "Ack Reaction Scope",
|
|
1129
|
+
"messages.removeAckAfterReply": "Remove Ack Reaction After Reply",
|
|
1130
|
+
"messages.statusReactions": "Status Reactions",
|
|
1131
|
+
"messages.statusReactions.enabled": "Enable Status Reactions",
|
|
1132
|
+
"messages.statusReactions.emojis": "Status Reaction Emojis",
|
|
1133
|
+
"messages.statusReactions.timing": "Status Reaction Timing",
|
|
1134
|
+
"messages.inbound.debounceMs": "Inbound Message Debounce (ms)",
|
|
1135
|
+
"messages.inbound.byChannel": "Inbound Debounce by Channel (ms)",
|
|
1136
|
+
"messages.tts": "Message Text-to-Speech",
|
|
1137
|
+
"talk.provider": "Talk Active Provider",
|
|
1138
|
+
"talk.providers": "Talk Provider Settings",
|
|
1139
|
+
"talk.providers.*.voiceId": "Talk Provider Voice ID",
|
|
1140
|
+
"talk.providers.*.voiceAliases": "Talk Provider Voice Aliases",
|
|
1141
|
+
"talk.providers.*.modelId": "Talk Provider Model ID",
|
|
1142
|
+
"talk.providers.*.outputFormat": "Talk Provider Output Format",
|
|
1143
|
+
"talk.providers.*.apiKey": "Talk Provider API Key",
|
|
1144
|
+
"talk.apiKey": "Talk API Key",
|
|
1145
|
+
channels: "Channels",
|
|
1146
|
+
"channels.defaults": "Channel Defaults",
|
|
1147
|
+
"channels.defaults.groupPolicy": "Default Group Policy",
|
|
1148
|
+
"channels.defaults.heartbeat": "Default Heartbeat Visibility",
|
|
1149
|
+
"channels.defaults.heartbeat.showOk": "Heartbeat Show OK",
|
|
1150
|
+
"channels.defaults.heartbeat.showAlerts": "Heartbeat Show Alerts",
|
|
1151
|
+
"channels.defaults.heartbeat.useIndicator": "Heartbeat Use Indicator",
|
|
1152
|
+
"channels.whatsapp": "WhatsApp",
|
|
1153
|
+
"channels.telegram": "Telegram",
|
|
1154
|
+
"channels.telegram.customCommands": "Telegram Custom Commands",
|
|
1155
|
+
"channels.discord": "Discord",
|
|
1156
|
+
"channels.slack": "Slack",
|
|
1157
|
+
"channels.mattermost": "Mattermost",
|
|
1158
|
+
"channels.signal": "Signal",
|
|
1159
|
+
"channels.imessage": "iMessage",
|
|
1160
|
+
"channels.bluebubbles": "BlueBubbles",
|
|
1161
|
+
"channels.msteams": "MS Teams",
|
|
1162
|
+
"channels.modelByChannel": "Channel Model Overrides",
|
|
1163
|
+
...IRC_FIELD_LABELS,
|
|
1164
|
+
"channels.telegram.botToken": "Telegram Bot Token",
|
|
1165
|
+
"channels.telegram.dmPolicy": "Telegram DM Policy",
|
|
1166
|
+
"channels.telegram.configWrites": "Telegram Config Writes",
|
|
1167
|
+
"channels.telegram.commands.native": "Telegram Native Commands",
|
|
1168
|
+
"channels.telegram.streaming": "Telegram Streaming Mode",
|
|
1169
|
+
"channels.telegram.retry.attempts": "Telegram Retry Attempts",
|
|
1170
|
+
"channels.telegram.retry.minDelayMs": "Telegram Retry Min Delay (ms)",
|
|
1171
|
+
"channels.telegram.retry.maxDelayMs": "Telegram Retry Max Delay (ms)",
|
|
1172
|
+
"channels.telegram.retry.jitter": "Telegram Retry Jitter",
|
|
1173
|
+
"channels.telegram.network.autoSelectFamily": "Telegram autoSelectFamily",
|
|
1174
|
+
"channels.telegram.timeoutSeconds": "Telegram API Timeout (seconds)",
|
|
1175
|
+
"channels.telegram.capabilities.inlineButtons": "Telegram Inline Buttons",
|
|
1176
|
+
"channels.whatsapp.dmPolicy": "WhatsApp DM Policy",
|
|
1177
|
+
"channels.whatsapp.selfChatMode": "WhatsApp Self-Phone Mode",
|
|
1178
|
+
"channels.whatsapp.debounceMs": "WhatsApp Message Debounce (ms)",
|
|
1179
|
+
"channels.whatsapp.configWrites": "WhatsApp Config Writes",
|
|
1180
|
+
"channels.signal.dmPolicy": "Signal DM Policy",
|
|
1181
|
+
"channels.signal.configWrites": "Signal Config Writes",
|
|
1182
|
+
"channels.imessage.dmPolicy": "iMessage DM Policy",
|
|
1183
|
+
"channels.imessage.configWrites": "iMessage Config Writes",
|
|
1184
|
+
"channels.bluebubbles.dmPolicy": "BlueBubbles DM Policy",
|
|
1185
|
+
"channels.msteams.configWrites": "MS Teams Config Writes",
|
|
1186
|
+
"channels.irc.configWrites": "IRC Config Writes",
|
|
1187
|
+
"channels.discord.dmPolicy": "Discord DM Policy",
|
|
1188
|
+
"channels.discord.dm.policy": "Discord DM Policy",
|
|
1189
|
+
"channels.discord.configWrites": "Discord Config Writes",
|
|
1190
|
+
"channels.discord.proxy": "Discord Proxy URL",
|
|
1191
|
+
"channels.discord.commands.native": "Discord Native Commands",
|
|
1192
|
+
"channels.discord.streaming": "Discord Streaming Mode",
|
|
1193
|
+
"channels.discord.streamMode": "Discord Stream Mode (Legacy)",
|
|
1194
|
+
"channels.discord.draftChunk.minChars": "Discord Draft Chunk Min Chars",
|
|
1195
|
+
"channels.discord.draftChunk.maxChars": "Discord Draft Chunk Max Chars",
|
|
1196
|
+
"channels.discord.draftChunk.breakPreference": "Discord Draft Chunk Break Preference",
|
|
1197
|
+
"channels.discord.retry.attempts": "Discord Retry Attempts",
|
|
1198
|
+
"channels.discord.retry.minDelayMs": "Discord Retry Min Delay (ms)",
|
|
1199
|
+
"channels.discord.retry.maxDelayMs": "Discord Retry Max Delay (ms)",
|
|
1200
|
+
"channels.discord.retry.jitter": "Discord Retry Jitter",
|
|
1201
|
+
"channels.discord.maxLinesPerMessage": "Discord Max Lines Per Message",
|
|
1202
|
+
"channels.discord.threadBindings.enabled": "Discord Thread Binding Enabled",
|
|
1203
|
+
"channels.discord.threadBindings.ttlHours": "Discord Thread Binding TTL (hours)",
|
|
1204
|
+
"channels.discord.threadBindings.spawnSubagentSessions": "Discord Thread-Bound Subagent Spawn",
|
|
1205
|
+
"channels.discord.ui.components.accentColor": "Discord Component Accent Color",
|
|
1206
|
+
"channels.discord.intents.presence": "Discord Presence Intent",
|
|
1207
|
+
"channels.discord.intents.guildMembers": "Discord Guild Members Intent",
|
|
1208
|
+
"channels.discord.voice.enabled": "Discord Voice Enabled",
|
|
1209
|
+
"channels.discord.voice.autoJoin": "Discord Voice Auto-Join",
|
|
1210
|
+
"channels.discord.voice.daveEncryption": "Discord Voice DAVE Encryption",
|
|
1211
|
+
"channels.discord.voice.decryptionFailureTolerance": "Discord Voice Decrypt Failure Tolerance",
|
|
1212
|
+
"channels.discord.voice.tts": "Discord Voice Text-to-Speech",
|
|
1213
|
+
"channels.discord.pluralkit.enabled": "Discord PluralKit Enabled",
|
|
1214
|
+
"channels.discord.pluralkit.token": "Discord PluralKit Token",
|
|
1215
|
+
"channels.discord.activity": "Discord Presence Activity",
|
|
1216
|
+
"channels.discord.status": "Discord Presence Status",
|
|
1217
|
+
"channels.discord.activityType": "Discord Presence Activity Type",
|
|
1218
|
+
"channels.discord.activityUrl": "Discord Presence Activity URL",
|
|
1219
|
+
"channels.slack.dm.policy": "Slack DM Policy",
|
|
1220
|
+
"channels.slack.dmPolicy": "Slack DM Policy",
|
|
1221
|
+
"channels.slack.configWrites": "Slack Config Writes",
|
|
1222
|
+
"channels.slack.commands.native": "Slack Native Commands",
|
|
1223
|
+
"channels.slack.allowBots": "Slack Allow Bot Messages",
|
|
1224
|
+
"channels.discord.token": "Discord Bot Token",
|
|
1225
|
+
"channels.slack.botToken": "Slack Bot Token",
|
|
1226
|
+
"channels.slack.appToken": "Slack App Token",
|
|
1227
|
+
"channels.slack.userToken": "Slack User Token",
|
|
1228
|
+
"channels.slack.userTokenReadOnly": "Slack User Token Read Only",
|
|
1229
|
+
"channels.slack.streaming": "Slack Streaming Mode",
|
|
1230
|
+
"channels.slack.nativeStreaming": "Slack Native Streaming",
|
|
1231
|
+
"channels.slack.streamMode": "Slack Stream Mode (Legacy)",
|
|
1232
|
+
"channels.slack.thread.historyScope": "Slack Thread History Scope",
|
|
1233
|
+
"channels.slack.thread.inheritParent": "Slack Thread Parent Inheritance",
|
|
1234
|
+
"channels.slack.thread.initialHistoryLimit": "Slack Thread Initial History Limit",
|
|
1235
|
+
"channels.mattermost.botToken": "Mattermost Bot Token",
|
|
1236
|
+
"channels.mattermost.baseUrl": "Mattermost Base URL",
|
|
1237
|
+
"channels.mattermost.configWrites": "Mattermost Config Writes",
|
|
1238
|
+
"channels.mattermost.chatmode": "Mattermost Chat Mode",
|
|
1239
|
+
"channels.mattermost.oncharPrefixes": "Mattermost Onchar Prefixes",
|
|
1240
|
+
"channels.mattermost.requireMention": "Mattermost Require Mention",
|
|
1241
|
+
"channels.signal.account": "Signal Account",
|
|
1242
|
+
"channels.imessage.cliPath": "iMessage CLI Path",
|
|
1243
|
+
"agents.list[].skills": "Agent Skill Filter",
|
|
1244
|
+
"agents.list[].identity.avatar": "Agent Avatar",
|
|
1245
|
+
"agents.list[].heartbeat.suppressToolErrorWarnings": "Agent Heartbeat Suppress Tool Error Warnings",
|
|
1246
|
+
"agents.list[].sandbox.browser.network": "Agent Sandbox Browser Network",
|
|
1247
|
+
"agents.list[].sandbox.browser.cdpSourceRange": "Agent Sandbox Browser CDP Source Port Range",
|
|
1248
|
+
"agents.list[].sandbox.docker.dangerouslyAllowContainerNamespaceJoin": "Agent Sandbox Docker Allow Container Namespace Join",
|
|
1249
|
+
"discovery.mdns.mode": "mDNS Discovery Mode",
|
|
1250
|
+
plugins: "Plugins",
|
|
1251
|
+
"plugins.enabled": "Enable Plugins",
|
|
1252
|
+
"plugins.allow": "Plugin Allowlist",
|
|
1253
|
+
"plugins.deny": "Plugin Denylist",
|
|
1254
|
+
"plugins.load": "Plugin Loader",
|
|
1255
|
+
"plugins.load.paths": "Plugin Load Paths",
|
|
1256
|
+
"plugins.slots": "Plugin Slots",
|
|
1257
|
+
"plugins.slots.memory": "Memory Plugin",
|
|
1258
|
+
"plugins.entries": "Plugin Entries",
|
|
1259
|
+
"plugins.entries.*.enabled": "Plugin Enabled",
|
|
1260
|
+
"plugins.entries.*.apiKey": "Plugin API Key",
|
|
1261
|
+
"plugins.entries.*.env": "Plugin Environment Variables",
|
|
1262
|
+
"plugins.entries.*.config": "Plugin Config",
|
|
1263
|
+
"plugins.installs": "Plugin Install Records",
|
|
1264
|
+
"plugins.installs.*.source": "Plugin Install Source",
|
|
1265
|
+
"plugins.installs.*.spec": "Plugin Install Spec",
|
|
1266
|
+
"plugins.installs.*.sourcePath": "Plugin Install Source Path",
|
|
1267
|
+
"plugins.installs.*.installPath": "Plugin Install Path",
|
|
1268
|
+
"plugins.installs.*.version": "Plugin Install Version",
|
|
1269
|
+
"plugins.installs.*.resolvedName": "Plugin Resolved Package Name",
|
|
1270
|
+
"plugins.installs.*.resolvedVersion": "Plugin Resolved Package Version",
|
|
1271
|
+
"plugins.installs.*.resolvedSpec": "Plugin Resolved Package Spec",
|
|
1272
|
+
"plugins.installs.*.integrity": "Plugin Resolved Integrity",
|
|
1273
|
+
"plugins.installs.*.shasum": "Plugin Resolved Shasum",
|
|
1274
|
+
"plugins.installs.*.resolvedAt": "Plugin Resolution Time",
|
|
1275
|
+
"plugins.installs.*.installedAt": "Plugin Install Time"
|
|
1276
|
+
};
|
|
1277
|
+
|
|
1278
|
+
//#endregion
|
|
1279
|
+
//#region src/config/schema.tags.ts
|
|
1280
|
+
const CONFIG_TAGS = [
|
|
1281
|
+
"security",
|
|
1282
|
+
"auth",
|
|
1283
|
+
"network",
|
|
1284
|
+
"access",
|
|
1285
|
+
"privacy",
|
|
1286
|
+
"observability",
|
|
1287
|
+
"performance",
|
|
1288
|
+
"reliability",
|
|
1289
|
+
"storage",
|
|
1290
|
+
"models",
|
|
1291
|
+
"media",
|
|
1292
|
+
"automation",
|
|
1293
|
+
"channels",
|
|
1294
|
+
"tools",
|
|
1295
|
+
"advanced"
|
|
1296
|
+
];
|
|
1297
|
+
const TAG_PRIORITY = {
|
|
1298
|
+
security: 0,
|
|
1299
|
+
auth: 1,
|
|
1300
|
+
access: 2,
|
|
1301
|
+
network: 3,
|
|
1302
|
+
privacy: 4,
|
|
1303
|
+
observability: 5,
|
|
1304
|
+
reliability: 6,
|
|
1305
|
+
performance: 7,
|
|
1306
|
+
storage: 8,
|
|
1307
|
+
models: 9,
|
|
1308
|
+
media: 10,
|
|
1309
|
+
automation: 11,
|
|
1310
|
+
channels: 12,
|
|
1311
|
+
tools: 13,
|
|
1312
|
+
advanced: 14
|
|
1313
|
+
};
|
|
1314
|
+
const TAG_OVERRIDES = {
|
|
1315
|
+
"gateway.auth.token": [
|
|
1316
|
+
"security",
|
|
1317
|
+
"auth",
|
|
1318
|
+
"access",
|
|
1319
|
+
"network"
|
|
1320
|
+
],
|
|
1321
|
+
"gateway.auth.password": [
|
|
1322
|
+
"security",
|
|
1323
|
+
"auth",
|
|
1324
|
+
"access",
|
|
1325
|
+
"network"
|
|
1326
|
+
],
|
|
1327
|
+
"gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback": [
|
|
1328
|
+
"security",
|
|
1329
|
+
"access",
|
|
1330
|
+
"network",
|
|
1331
|
+
"advanced"
|
|
1332
|
+
],
|
|
1333
|
+
"gateway.controlUi.dangerouslyDisableDeviceAuth": [
|
|
1334
|
+
"security",
|
|
1335
|
+
"access",
|
|
1336
|
+
"network",
|
|
1337
|
+
"advanced"
|
|
1338
|
+
],
|
|
1339
|
+
"gateway.controlUi.allowInsecureAuth": [
|
|
1340
|
+
"security",
|
|
1341
|
+
"access",
|
|
1342
|
+
"network",
|
|
1343
|
+
"advanced"
|
|
1344
|
+
]
|
|
1345
|
+
};
|
|
1346
|
+
const PREFIX_RULES = [
|
|
1347
|
+
{
|
|
1348
|
+
prefix: "channels.",
|
|
1349
|
+
tags: ["channels", "network"]
|
|
1350
|
+
},
|
|
1351
|
+
{
|
|
1352
|
+
prefix: "tools.",
|
|
1353
|
+
tags: ["tools"]
|
|
1354
|
+
},
|
|
1355
|
+
{
|
|
1356
|
+
prefix: "gateway.",
|
|
1357
|
+
tags: ["network"]
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
prefix: "nodehost.",
|
|
1361
|
+
tags: ["network"]
|
|
1362
|
+
},
|
|
1363
|
+
{
|
|
1364
|
+
prefix: "discovery.",
|
|
1365
|
+
tags: ["network"]
|
|
1366
|
+
},
|
|
1367
|
+
{
|
|
1368
|
+
prefix: "auth.",
|
|
1369
|
+
tags: ["auth", "access"]
|
|
1370
|
+
},
|
|
1371
|
+
{
|
|
1372
|
+
prefix: "memory.",
|
|
1373
|
+
tags: ["storage"]
|
|
1374
|
+
},
|
|
1375
|
+
{
|
|
1376
|
+
prefix: "models.",
|
|
1377
|
+
tags: ["models"]
|
|
1378
|
+
},
|
|
1379
|
+
{
|
|
1380
|
+
prefix: "diagnostics.",
|
|
1381
|
+
tags: ["observability"]
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
prefix: "logging.",
|
|
1385
|
+
tags: ["observability"]
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
prefix: "cron.",
|
|
1389
|
+
tags: ["automation"]
|
|
1390
|
+
},
|
|
1391
|
+
{
|
|
1392
|
+
prefix: "talk.",
|
|
1393
|
+
tags: ["media"]
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
prefix: "audio.",
|
|
1397
|
+
tags: ["media"]
|
|
1398
|
+
}
|
|
1399
|
+
];
|
|
1400
|
+
const KEYWORD_RULES = [
|
|
1401
|
+
{
|
|
1402
|
+
pattern: /(token|password|secret|api[_.-]?key|tlsfingerprint)/i,
|
|
1403
|
+
tags: ["security", "auth"]
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
pattern: /(allow|deny|owner|permission|policy|access)/i,
|
|
1407
|
+
tags: ["access"]
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
pattern: /(timeout|debounce|interval|concurrency|max|limit|cachettl)/i,
|
|
1411
|
+
tags: ["performance"]
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
pattern: /(retry|backoff|fallback|circuit|health|reload|probe)/i,
|
|
1415
|
+
tags: ["reliability"]
|
|
1416
|
+
},
|
|
1417
|
+
{
|
|
1418
|
+
pattern: /(path|dir|file|store|db|session|cache)/i,
|
|
1419
|
+
tags: ["storage"]
|
|
1420
|
+
},
|
|
1421
|
+
{
|
|
1422
|
+
pattern: /(telemetry|trace|metrics|logs|diagnostic)/i,
|
|
1423
|
+
tags: ["observability"]
|
|
1424
|
+
},
|
|
1425
|
+
{
|
|
1426
|
+
pattern: /(experimental|dangerously|insecure)/i,
|
|
1427
|
+
tags: ["advanced", "security"]
|
|
1428
|
+
},
|
|
1429
|
+
{
|
|
1430
|
+
pattern: /(privacy|redact|sanitize|anonym|pseudonym)/i,
|
|
1431
|
+
tags: ["privacy"]
|
|
1432
|
+
}
|
|
1433
|
+
];
|
|
1434
|
+
const MODEL_PATH_PATTERN = /(^|\.)(model|models|modelid|imagemodel)(\.|$)/i;
|
|
1435
|
+
const MEDIA_PATH_PATTERN = /(tools\.media\.|^audio\.|^talk\.|image|video|stt|tts)/i;
|
|
1436
|
+
const AUTOMATION_PATH_PATTERN = /(cron|heartbeat|schedule|onstart|watchdebounce)/i;
|
|
1437
|
+
const AUTH_KEYWORD_PATTERN = /(token|password|secret|api[_.-]?key|credential|oauth)/i;
|
|
1438
|
+
function normalizeTag(tag) {
|
|
1439
|
+
const normalized = tag.trim().toLowerCase();
|
|
1440
|
+
return CONFIG_TAGS.includes(normalized) ? normalized : null;
|
|
1441
|
+
}
|
|
1442
|
+
function normalizeTags(tags) {
|
|
1443
|
+
const out = /* @__PURE__ */ new Set();
|
|
1444
|
+
for (const tag of tags) {
|
|
1445
|
+
const normalized = normalizeTag(tag);
|
|
1446
|
+
if (normalized) out.add(normalized);
|
|
1447
|
+
}
|
|
1448
|
+
return [...out].toSorted((a, b) => TAG_PRIORITY[a] - TAG_PRIORITY[b]);
|
|
1449
|
+
}
|
|
1450
|
+
function patternToRegExp(pattern) {
|
|
1451
|
+
const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, "[^.]+");
|
|
1452
|
+
return new RegExp(`^${escaped}$`, "i");
|
|
1453
|
+
}
|
|
1454
|
+
function resolveOverride(path) {
|
|
1455
|
+
const direct = TAG_OVERRIDES[path];
|
|
1456
|
+
if (direct) return direct;
|
|
1457
|
+
for (const [pattern, tags] of Object.entries(TAG_OVERRIDES)) {
|
|
1458
|
+
if (!pattern.includes("*")) continue;
|
|
1459
|
+
if (patternToRegExp(pattern).test(path)) return tags;
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
function addTags(set, tags) {
|
|
1463
|
+
for (const tag of tags) set.add(tag);
|
|
1464
|
+
}
|
|
1465
|
+
function deriveTagsForPath(path, hint) {
|
|
1466
|
+
const lowerPath = path.toLowerCase();
|
|
1467
|
+
const override = resolveOverride(path);
|
|
1468
|
+
if (override) return normalizeTags(override);
|
|
1469
|
+
const tags = /* @__PURE__ */ new Set();
|
|
1470
|
+
for (const rule of PREFIX_RULES) if (lowerPath.startsWith(rule.prefix)) addTags(tags, rule.tags);
|
|
1471
|
+
for (const rule of KEYWORD_RULES) if (rule.pattern.test(path)) addTags(tags, rule.tags);
|
|
1472
|
+
if (MODEL_PATH_PATTERN.test(path)) tags.add("models");
|
|
1473
|
+
if (MEDIA_PATH_PATTERN.test(path)) tags.add("media");
|
|
1474
|
+
if (AUTOMATION_PATH_PATTERN.test(path)) tags.add("automation");
|
|
1475
|
+
if (hint?.sensitive) {
|
|
1476
|
+
tags.add("security");
|
|
1477
|
+
if (AUTH_KEYWORD_PATTERN.test(path)) tags.add("auth");
|
|
1478
|
+
}
|
|
1479
|
+
if (hint?.advanced) tags.add("advanced");
|
|
1480
|
+
if (tags.size === 0) tags.add("advanced");
|
|
1481
|
+
return normalizeTags([...tags]);
|
|
1482
|
+
}
|
|
1483
|
+
function applyDerivedTags(hints) {
|
|
1484
|
+
const next = {};
|
|
1485
|
+
for (const [path, hint] of Object.entries(hints)) {
|
|
1486
|
+
const existingTags = Array.isArray(hint?.tags) ? hint.tags : [];
|
|
1487
|
+
const tags = normalizeTags([...deriveTagsForPath(path, hint), ...existingTags]);
|
|
1488
|
+
next[path] = {
|
|
1489
|
+
...hint,
|
|
1490
|
+
tags
|
|
1491
|
+
};
|
|
1492
|
+
}
|
|
1493
|
+
return next;
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
//#endregion
|
|
1497
|
+
//#region src/config/schema.hints.ts
|
|
1498
|
+
const log$1 = createSubsystemLogger("config/schema");
|
|
1499
|
+
const GROUP_LABELS = {
|
|
1500
|
+
wizard: "Wizard",
|
|
1501
|
+
update: "Update",
|
|
1502
|
+
diagnostics: "Diagnostics",
|
|
1503
|
+
logging: "Logging",
|
|
1504
|
+
gateway: "Gateway",
|
|
1505
|
+
nodeHost: "Node Host",
|
|
1506
|
+
agents: "Agents",
|
|
1507
|
+
tools: "Tools",
|
|
1508
|
+
bindings: "Bindings",
|
|
1509
|
+
audio: "Audio",
|
|
1510
|
+
models: "Models",
|
|
1511
|
+
messages: "Messages",
|
|
1512
|
+
commands: "Commands",
|
|
1513
|
+
session: "Session",
|
|
1514
|
+
cron: "Cron",
|
|
1515
|
+
hooks: "Hooks",
|
|
1516
|
+
ui: "UI",
|
|
1517
|
+
browser: "Browser",
|
|
1518
|
+
talk: "Talk",
|
|
1519
|
+
channels: "Messaging Channels",
|
|
1520
|
+
skills: "Skills",
|
|
1521
|
+
plugins: "Plugins",
|
|
1522
|
+
discovery: "Discovery",
|
|
1523
|
+
presence: "Presence",
|
|
1524
|
+
voicewake: "Voice Wake"
|
|
1525
|
+
};
|
|
1526
|
+
const GROUP_ORDER = {
|
|
1527
|
+
wizard: 20,
|
|
1528
|
+
update: 25,
|
|
1529
|
+
diagnostics: 27,
|
|
1530
|
+
gateway: 30,
|
|
1531
|
+
nodeHost: 35,
|
|
1532
|
+
agents: 40,
|
|
1533
|
+
tools: 50,
|
|
1534
|
+
bindings: 55,
|
|
1535
|
+
audio: 60,
|
|
1536
|
+
models: 70,
|
|
1537
|
+
messages: 80,
|
|
1538
|
+
commands: 85,
|
|
1539
|
+
session: 90,
|
|
1540
|
+
cron: 100,
|
|
1541
|
+
hooks: 110,
|
|
1542
|
+
ui: 120,
|
|
1543
|
+
browser: 130,
|
|
1544
|
+
talk: 140,
|
|
1545
|
+
channels: 150,
|
|
1546
|
+
skills: 200,
|
|
1547
|
+
plugins: 205,
|
|
1548
|
+
discovery: 210,
|
|
1549
|
+
presence: 220,
|
|
1550
|
+
voicewake: 230,
|
|
1551
|
+
logging: 900
|
|
1552
|
+
};
|
|
1553
|
+
const FIELD_PLACEHOLDERS = {
|
|
1554
|
+
"gateway.remote.url": "ws://host:18789",
|
|
1555
|
+
"gateway.remote.tlsFingerprint": "sha256:ab12cd34…",
|
|
1556
|
+
"gateway.remote.sshTarget": "user@host",
|
|
1557
|
+
"gateway.controlUi.basePath": "/remoteclaw",
|
|
1558
|
+
"gateway.controlUi.root": "dist/control-ui",
|
|
1559
|
+
"gateway.controlUi.allowedOrigins": "https://control.example.com",
|
|
1560
|
+
"channels.mattermost.baseUrl": "https://chat.example.com",
|
|
1561
|
+
"agents.list[].identity.avatar": "avatars/remoteclaw.png"
|
|
1562
|
+
};
|
|
1563
|
+
const NORMALIZED_SENSITIVE_KEY_WHITELIST_SUFFIXES = [
|
|
1564
|
+
"maxtokens",
|
|
1565
|
+
"maxoutputtokens",
|
|
1566
|
+
"maxinputtokens",
|
|
1567
|
+
"maxcompletiontokens",
|
|
1568
|
+
"contexttokens",
|
|
1569
|
+
"totaltokens",
|
|
1570
|
+
"tokencount",
|
|
1571
|
+
"tokenlimit",
|
|
1572
|
+
"tokenbudget",
|
|
1573
|
+
"passwordFile"
|
|
1574
|
+
].map((suffix) => suffix.toLowerCase());
|
|
1575
|
+
const SENSITIVE_PATTERNS = [
|
|
1576
|
+
/token$/i,
|
|
1577
|
+
/password/i,
|
|
1578
|
+
/secret/i,
|
|
1579
|
+
/api.?key/i
|
|
1580
|
+
];
|
|
1581
|
+
function isWhitelistedSensitivePath(path) {
|
|
1582
|
+
const lowerPath = path.toLowerCase();
|
|
1583
|
+
return NORMALIZED_SENSITIVE_KEY_WHITELIST_SUFFIXES.some((suffix) => lowerPath.endsWith(suffix));
|
|
1584
|
+
}
|
|
1585
|
+
function matchesSensitivePattern(path) {
|
|
1586
|
+
return SENSITIVE_PATTERNS.some((pattern) => pattern.test(path));
|
|
1587
|
+
}
|
|
1588
|
+
function isSensitiveConfigPath(path) {
|
|
1589
|
+
return !isWhitelistedSensitivePath(path) && matchesSensitivePattern(path);
|
|
1590
|
+
}
|
|
1591
|
+
function buildBaseHints() {
|
|
1592
|
+
const hints = {};
|
|
1593
|
+
for (const [group, label] of Object.entries(GROUP_LABELS)) hints[group] = {
|
|
1594
|
+
label,
|
|
1595
|
+
group: label,
|
|
1596
|
+
order: GROUP_ORDER[group]
|
|
1597
|
+
};
|
|
1598
|
+
for (const [path, label] of Object.entries(FIELD_LABELS)) {
|
|
1599
|
+
const current = hints[path];
|
|
1600
|
+
hints[path] = current ? {
|
|
1601
|
+
...current,
|
|
1602
|
+
label
|
|
1603
|
+
} : { label };
|
|
1604
|
+
}
|
|
1605
|
+
for (const [path, help] of Object.entries(FIELD_HELP)) {
|
|
1606
|
+
const current = hints[path];
|
|
1607
|
+
hints[path] = current ? {
|
|
1608
|
+
...current,
|
|
1609
|
+
help
|
|
1610
|
+
} : { help };
|
|
1611
|
+
}
|
|
1612
|
+
for (const [path, placeholder] of Object.entries(FIELD_PLACEHOLDERS)) {
|
|
1613
|
+
const current = hints[path];
|
|
1614
|
+
hints[path] = current ? {
|
|
1615
|
+
...current,
|
|
1616
|
+
placeholder
|
|
1617
|
+
} : { placeholder };
|
|
1618
|
+
}
|
|
1619
|
+
return applyDerivedTags(hints);
|
|
1620
|
+
}
|
|
1621
|
+
function applySensitiveHints(hints, allowedKeys) {
|
|
1622
|
+
const next = { ...hints };
|
|
1623
|
+
for (const key of Object.keys(next)) {
|
|
1624
|
+
if (allowedKeys && !allowedKeys.has(key)) continue;
|
|
1625
|
+
if (next[key]?.sensitive !== void 0) continue;
|
|
1626
|
+
if (isSensitiveConfigPath(key)) next[key] = {
|
|
1627
|
+
...next[key],
|
|
1628
|
+
sensitive: true
|
|
1629
|
+
};
|
|
1630
|
+
}
|
|
1631
|
+
return next;
|
|
1632
|
+
}
|
|
1633
|
+
function isUnwrappable(object) {
|
|
1634
|
+
return !!object && typeof object === "object" && "unwrap" in object && typeof object.unwrap === "function" && !(object instanceof z.ZodArray);
|
|
1635
|
+
}
|
|
1636
|
+
function mapSensitivePaths(schema, path, hints) {
|
|
1637
|
+
let next = { ...hints };
|
|
1638
|
+
let currentSchema = schema;
|
|
1639
|
+
let isSensitive = sensitive.has(currentSchema);
|
|
1640
|
+
while (isUnwrappable(currentSchema)) {
|
|
1641
|
+
currentSchema = currentSchema.unwrap();
|
|
1642
|
+
isSensitive ||= sensitive.has(currentSchema);
|
|
1643
|
+
}
|
|
1644
|
+
if (isSensitive) next[path] = {
|
|
1645
|
+
...next[path],
|
|
1646
|
+
sensitive: true
|
|
1647
|
+
};
|
|
1648
|
+
else if (isSensitiveConfigPath(path) && !next[path]?.sensitive) log$1.warn(`possibly sensitive key found: (${path})`);
|
|
1649
|
+
if (currentSchema instanceof z.ZodObject) {
|
|
1650
|
+
const shape = currentSchema.shape;
|
|
1651
|
+
for (const key in shape) {
|
|
1652
|
+
const nextPath = path ? `${path}.${key}` : key;
|
|
1653
|
+
next = mapSensitivePaths(shape[key], nextPath, next);
|
|
1654
|
+
}
|
|
1655
|
+
const catchallSchema = currentSchema._def.catchall;
|
|
1656
|
+
if (catchallSchema && !(catchallSchema instanceof z.ZodNever)) next = mapSensitivePaths(catchallSchema, path ? `${path}.*` : "*", next);
|
|
1657
|
+
} else if (currentSchema instanceof z.ZodArray) {
|
|
1658
|
+
const nextPath = path ? `${path}[]` : "[]";
|
|
1659
|
+
next = mapSensitivePaths(currentSchema.element, nextPath, next);
|
|
1660
|
+
} else if (currentSchema instanceof z.ZodRecord) {
|
|
1661
|
+
const nextPath = path ? `${path}.*` : "*";
|
|
1662
|
+
next = mapSensitivePaths(currentSchema._def.valueType, nextPath, next);
|
|
1663
|
+
} else if (currentSchema instanceof z.ZodUnion || currentSchema instanceof z.ZodDiscriminatedUnion) for (const option of currentSchema.options) next = mapSensitivePaths(option, path, next);
|
|
1664
|
+
else if (currentSchema instanceof z.ZodIntersection) {
|
|
1665
|
+
next = mapSensitivePaths(currentSchema._def.left, path, next);
|
|
1666
|
+
next = mapSensitivePaths(currentSchema._def.right, path, next);
|
|
1667
|
+
}
|
|
1668
|
+
return next;
|
|
1669
|
+
}
|
|
1670
|
+
|
|
1671
|
+
//#endregion
|
|
1672
|
+
//#region src/config/redact-snapshot.ts
|
|
1673
|
+
const log = createSubsystemLogger("config/redaction");
|
|
1674
|
+
const ENV_VAR_PLACEHOLDER_PATTERN = /^\$\{[^}]*\}$/;
|
|
1675
|
+
function isSensitivePath(path) {
|
|
1676
|
+
if (path.endsWith("[]")) return isSensitiveConfigPath(path.slice(0, -2));
|
|
1677
|
+
else return isSensitiveConfigPath(path);
|
|
1678
|
+
}
|
|
1679
|
+
function isEnvVarPlaceholder(value) {
|
|
1680
|
+
return ENV_VAR_PLACEHOLDER_PATTERN.test(value.trim());
|
|
1681
|
+
}
|
|
1682
|
+
function isExplicitlyNonSensitivePath(hints, paths) {
|
|
1683
|
+
if (!hints) return false;
|
|
1684
|
+
return paths.some((path) => hints[path]?.sensitive === false);
|
|
1685
|
+
}
|
|
1686
|
+
/**
|
|
1687
|
+
* Sentinel value used to replace sensitive config fields in gateway responses.
|
|
1688
|
+
* Write-side handlers (config.set, config.apply, config.patch) detect this
|
|
1689
|
+
* sentinel and restore the original value from the on-disk config, so a
|
|
1690
|
+
* round-trip through the Web UI does not corrupt credentials.
|
|
1691
|
+
*/
|
|
1692
|
+
const REDACTED_SENTINEL = "__REMOTECLAW_REDACTED__";
|
|
1693
|
+
function buildRedactionLookup(hints) {
|
|
1694
|
+
let result = /* @__PURE__ */ new Set();
|
|
1695
|
+
for (const [path, hint] of Object.entries(hints)) {
|
|
1696
|
+
if (!hint.sensitive) continue;
|
|
1697
|
+
const parts = path.split(".");
|
|
1698
|
+
let joinedPath = parts.shift() ?? "";
|
|
1699
|
+
result.add(joinedPath);
|
|
1700
|
+
if (joinedPath.endsWith("[]")) result.add(joinedPath.slice(0, -2));
|
|
1701
|
+
for (const part of parts) {
|
|
1702
|
+
if (part.endsWith("[]")) result.add(`${joinedPath}.${part.slice(0, -2)}`);
|
|
1703
|
+
joinedPath = `${joinedPath}.${part}`;
|
|
1704
|
+
result.add(joinedPath);
|
|
1705
|
+
}
|
|
1706
|
+
}
|
|
1707
|
+
if (result.size !== 0) result.add("");
|
|
1708
|
+
return result;
|
|
1709
|
+
}
|
|
1710
|
+
/**
|
|
1711
|
+
* Deep-walk an object and replace string values at sensitive paths
|
|
1712
|
+
* with the redaction sentinel.
|
|
1713
|
+
*/
|
|
1714
|
+
function redactObject(obj, hints) {
|
|
1715
|
+
if (hints) {
|
|
1716
|
+
const lookup = buildRedactionLookup(hints);
|
|
1717
|
+
return lookup.has("") ? redactObjectWithLookup(obj, lookup, "", [], hints) : redactObjectGuessing(obj, "", [], hints);
|
|
1718
|
+
} else return redactObjectGuessing(obj, "", []);
|
|
1719
|
+
}
|
|
1720
|
+
/**
|
|
1721
|
+
* Collect all sensitive string values from a config object.
|
|
1722
|
+
* Used for text-based redaction of the raw JSON5 source.
|
|
1723
|
+
*/
|
|
1724
|
+
function collectSensitiveValues(obj, hints) {
|
|
1725
|
+
const result = [];
|
|
1726
|
+
if (hints) {
|
|
1727
|
+
const lookup = buildRedactionLookup(hints);
|
|
1728
|
+
if (lookup.has("")) redactObjectWithLookup(obj, lookup, "", result, hints);
|
|
1729
|
+
else redactObjectGuessing(obj, "", result, hints);
|
|
1730
|
+
} else redactObjectGuessing(obj, "", result);
|
|
1731
|
+
return result;
|
|
1732
|
+
}
|
|
1733
|
+
/**
|
|
1734
|
+
* Worker for redactObject() and collectSensitiveValues().
|
|
1735
|
+
* Used when there are ConfigUiHints available.
|
|
1736
|
+
*/
|
|
1737
|
+
function redactObjectWithLookup(obj, lookup, prefix, values, hints) {
|
|
1738
|
+
if (obj === null || obj === void 0) return obj;
|
|
1739
|
+
if (Array.isArray(obj)) {
|
|
1740
|
+
const path = `${prefix}[]`;
|
|
1741
|
+
if (!lookup.has(path)) return redactObjectGuessing(obj, prefix, values, hints);
|
|
1742
|
+
return obj.map((item) => {
|
|
1743
|
+
if (typeof item === "string" && !isEnvVarPlaceholder(item)) {
|
|
1744
|
+
values.push(item);
|
|
1745
|
+
return REDACTED_SENTINEL;
|
|
1746
|
+
}
|
|
1747
|
+
return redactObjectWithLookup(item, lookup, path, values, hints);
|
|
1748
|
+
});
|
|
1749
|
+
}
|
|
1750
|
+
if (typeof obj === "object") {
|
|
1751
|
+
const result = {};
|
|
1752
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
1753
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
1754
|
+
const wildcardPath = prefix ? `${prefix}.*` : "*";
|
|
1755
|
+
let matched = false;
|
|
1756
|
+
for (const candidate of [path, wildcardPath]) {
|
|
1757
|
+
result[key] = value;
|
|
1758
|
+
if (lookup.has(candidate)) {
|
|
1759
|
+
matched = true;
|
|
1760
|
+
if (typeof value === "string" && !isEnvVarPlaceholder(value)) {
|
|
1761
|
+
result[key] = REDACTED_SENTINEL;
|
|
1762
|
+
values.push(value);
|
|
1763
|
+
} else if (typeof value === "object" && value !== null) result[key] = redactObjectWithLookup(value, lookup, candidate, values, hints);
|
|
1764
|
+
break;
|
|
1765
|
+
}
|
|
1766
|
+
}
|
|
1767
|
+
if (!matched) {
|
|
1768
|
+
const markedNonSensitive = isExplicitlyNonSensitivePath(hints, [path, wildcardPath]);
|
|
1769
|
+
if (typeof value === "string" && !markedNonSensitive && isSensitivePath(path) && !isEnvVarPlaceholder(value)) {
|
|
1770
|
+
result[key] = REDACTED_SENTINEL;
|
|
1771
|
+
values.push(value);
|
|
1772
|
+
} else if (typeof value === "object" && value !== null) result[key] = redactObjectGuessing(value, path, values, hints);
|
|
1773
|
+
}
|
|
1774
|
+
}
|
|
1775
|
+
return result;
|
|
1776
|
+
}
|
|
1777
|
+
return obj;
|
|
1778
|
+
}
|
|
1779
|
+
/**
|
|
1780
|
+
* Worker for redactObject() and collectSensitiveValues().
|
|
1781
|
+
* Used when ConfigUiHints are NOT available.
|
|
1782
|
+
*/
|
|
1783
|
+
function redactObjectGuessing(obj, prefix, values, hints) {
|
|
1784
|
+
if (obj === null || obj === void 0) return obj;
|
|
1785
|
+
if (Array.isArray(obj)) return obj.map((item) => {
|
|
1786
|
+
const path = `${prefix}[]`;
|
|
1787
|
+
if (!isExplicitlyNonSensitivePath(hints, [path]) && isSensitivePath(path) && typeof item === "string" && !isEnvVarPlaceholder(item)) {
|
|
1788
|
+
values.push(item);
|
|
1789
|
+
return REDACTED_SENTINEL;
|
|
1790
|
+
}
|
|
1791
|
+
return redactObjectGuessing(item, path, values, hints);
|
|
1792
|
+
});
|
|
1793
|
+
if (typeof obj === "object") {
|
|
1794
|
+
const result = {};
|
|
1795
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
1796
|
+
const dotPath = prefix ? `${prefix}.${key}` : key;
|
|
1797
|
+
if (!isExplicitlyNonSensitivePath(hints, [dotPath, prefix ? `${prefix}.*` : "*"]) && isSensitivePath(dotPath) && typeof value === "string" && !isEnvVarPlaceholder(value)) {
|
|
1798
|
+
result[key] = REDACTED_SENTINEL;
|
|
1799
|
+
values.push(value);
|
|
1800
|
+
} else if (typeof value === "object" && value !== null) result[key] = redactObjectGuessing(value, dotPath, values, hints);
|
|
1801
|
+
else result[key] = value;
|
|
1802
|
+
}
|
|
1803
|
+
return result;
|
|
1804
|
+
}
|
|
1805
|
+
return obj;
|
|
1806
|
+
}
|
|
1807
|
+
/**
|
|
1808
|
+
* Replace known sensitive values in a raw JSON5 string with the sentinel.
|
|
1809
|
+
* Values are replaced longest-first to avoid partial matches.
|
|
1810
|
+
*/
|
|
1811
|
+
function redactRawText(raw, config, hints) {
|
|
1812
|
+
const sensitiveValues = collectSensitiveValues(config, hints);
|
|
1813
|
+
sensitiveValues.sort((a, b) => b.length - a.length);
|
|
1814
|
+
let result = raw;
|
|
1815
|
+
for (const value of sensitiveValues) result = result.replaceAll(value, REDACTED_SENTINEL);
|
|
1816
|
+
return result;
|
|
1817
|
+
}
|
|
1818
|
+
/**
|
|
1819
|
+
* Returns a copy of the config snapshot with all sensitive fields
|
|
1820
|
+
* replaced by {@link REDACTED_SENTINEL}. The `hash` is preserved
|
|
1821
|
+
* (it tracks config identity, not content).
|
|
1822
|
+
*
|
|
1823
|
+
* Both `config` (the parsed object) and `raw` (the JSON5 source) are scrubbed
|
|
1824
|
+
* so no credential can leak through either path.
|
|
1825
|
+
*
|
|
1826
|
+
* When `uiHints` are provided, sensitivity is determined from the schema hints.
|
|
1827
|
+
* Without hints, falls back to regex-based detection via `isSensitivePath()`.
|
|
1828
|
+
*/
|
|
1829
|
+
/**
|
|
1830
|
+
* Redact sensitive fields from a plain config object (not a full snapshot).
|
|
1831
|
+
* Used by write endpoints (config.set, config.patch, config.apply) to avoid
|
|
1832
|
+
* leaking credentials in their responses.
|
|
1833
|
+
*/
|
|
1834
|
+
function redactConfigObject(value, uiHints) {
|
|
1835
|
+
return redactObject(value, uiHints);
|
|
1836
|
+
}
|
|
1837
|
+
function redactConfigSnapshot(snapshot, uiHints) {
|
|
1838
|
+
if (!snapshot.valid) return {
|
|
1839
|
+
...snapshot,
|
|
1840
|
+
config: {},
|
|
1841
|
+
raw: null,
|
|
1842
|
+
parsed: null,
|
|
1843
|
+
resolved: {}
|
|
1844
|
+
};
|
|
1845
|
+
const redactedConfig = redactObject(snapshot.config, uiHints);
|
|
1846
|
+
const redactedRaw = snapshot.raw ? redactRawText(snapshot.raw, snapshot.config, uiHints) : null;
|
|
1847
|
+
const redactedParsed = snapshot.parsed ? redactObject(snapshot.parsed, uiHints) : snapshot.parsed;
|
|
1848
|
+
const redactedResolved = redactConfigObject(snapshot.resolved, uiHints);
|
|
1849
|
+
return {
|
|
1850
|
+
...snapshot,
|
|
1851
|
+
config: redactedConfig,
|
|
1852
|
+
raw: redactedRaw,
|
|
1853
|
+
parsed: redactedParsed,
|
|
1854
|
+
resolved: redactedResolved
|
|
1855
|
+
};
|
|
1856
|
+
}
|
|
1857
|
+
/**
|
|
1858
|
+
* Deep-walk `incoming` and replace any {@link REDACTED_SENTINEL} values
|
|
1859
|
+
* (on sensitive paths) with the corresponding value from `original`.
|
|
1860
|
+
*
|
|
1861
|
+
* This is called by config.set / config.apply / config.patch before writing,
|
|
1862
|
+
* so that credentials survive a Web UI round-trip unmodified.
|
|
1863
|
+
*/
|
|
1864
|
+
function restoreRedactedValues(incoming, original, hints) {
|
|
1865
|
+
if (incoming === null || incoming === void 0) return {
|
|
1866
|
+
ok: false,
|
|
1867
|
+
error: "no input"
|
|
1868
|
+
};
|
|
1869
|
+
if (typeof incoming !== "object") return {
|
|
1870
|
+
ok: false,
|
|
1871
|
+
error: "input not an object"
|
|
1872
|
+
};
|
|
1873
|
+
try {
|
|
1874
|
+
if (hints) {
|
|
1875
|
+
const lookup = buildRedactionLookup(hints);
|
|
1876
|
+
if (lookup.has("")) return {
|
|
1877
|
+
ok: true,
|
|
1878
|
+
result: restoreRedactedValuesWithLookup(incoming, original, lookup, "", hints)
|
|
1879
|
+
};
|
|
1880
|
+
else return {
|
|
1881
|
+
ok: true,
|
|
1882
|
+
result: restoreRedactedValuesGuessing(incoming, original, "", hints)
|
|
1883
|
+
};
|
|
1884
|
+
} else return {
|
|
1885
|
+
ok: true,
|
|
1886
|
+
result: restoreRedactedValuesGuessing(incoming, original, "")
|
|
1887
|
+
};
|
|
1888
|
+
} catch (err) {
|
|
1889
|
+
if (err instanceof RedactionError) return {
|
|
1890
|
+
ok: false,
|
|
1891
|
+
humanReadableMessage: `Sentinel value "${REDACTED_SENTINEL}" in key ${err.key} is not valid as real data`
|
|
1892
|
+
};
|
|
1893
|
+
throw err;
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1896
|
+
var RedactionError = class extends Error {
|
|
1897
|
+
constructor(key) {
|
|
1898
|
+
super("internal error class---should never escape");
|
|
1899
|
+
this.key = key;
|
|
1900
|
+
this.name = "RedactionError";
|
|
1901
|
+
}
|
|
1902
|
+
};
|
|
1903
|
+
function restoreOriginalValueOrThrow(params) {
|
|
1904
|
+
if (params.key in params.original) return params.original[params.key];
|
|
1905
|
+
log.warn(`Cannot un-redact config key ${params.path} as it doesn't have any value`);
|
|
1906
|
+
throw new RedactionError(params.path);
|
|
1907
|
+
}
|
|
1908
|
+
function mapRedactedArray(params) {
|
|
1909
|
+
const originalArray = Array.isArray(params.original) ? params.original : [];
|
|
1910
|
+
if (params.incoming.length < originalArray.length) log.warn(`Redacted config array key ${params.path} has been truncated`);
|
|
1911
|
+
return params.incoming.map((item, index) => params.mapItem(item, index, originalArray));
|
|
1912
|
+
}
|
|
1913
|
+
function toObjectRecord(value) {
|
|
1914
|
+
if (value && typeof value === "object" && !Array.isArray(value)) return value;
|
|
1915
|
+
return {};
|
|
1916
|
+
}
|
|
1917
|
+
function shouldPassThroughRestoreValue(incoming) {
|
|
1918
|
+
return incoming === null || incoming === void 0 || typeof incoming !== "object";
|
|
1919
|
+
}
|
|
1920
|
+
function toRestoreArrayContext(incoming, prefix) {
|
|
1921
|
+
if (!Array.isArray(incoming)) return null;
|
|
1922
|
+
return {
|
|
1923
|
+
incoming,
|
|
1924
|
+
path: `${prefix}[]`
|
|
1925
|
+
};
|
|
1926
|
+
}
|
|
1927
|
+
function restoreArrayItemWithLookup(params) {
|
|
1928
|
+
if (params.item === REDACTED_SENTINEL) return params.originalArray[params.index];
|
|
1929
|
+
return restoreRedactedValuesWithLookup(params.item, params.originalArray[params.index], params.lookup, params.path, params.hints);
|
|
1930
|
+
}
|
|
1931
|
+
function restoreArrayItemWithGuessing(params) {
|
|
1932
|
+
if (!isExplicitlyNonSensitivePath(params.hints, [params.path]) && isSensitivePath(params.path) && params.item === REDACTED_SENTINEL) return params.originalArray[params.index];
|
|
1933
|
+
return restoreRedactedValuesGuessing(params.item, params.originalArray[params.index], params.path, params.hints);
|
|
1934
|
+
}
|
|
1935
|
+
function restoreGuessingArray(incoming, original, path, hints) {
|
|
1936
|
+
return mapRedactedArray({
|
|
1937
|
+
incoming,
|
|
1938
|
+
original,
|
|
1939
|
+
path,
|
|
1940
|
+
mapItem: (item, index, originalArray) => restoreArrayItemWithGuessing({
|
|
1941
|
+
item,
|
|
1942
|
+
index,
|
|
1943
|
+
originalArray,
|
|
1944
|
+
path,
|
|
1945
|
+
hints
|
|
1946
|
+
})
|
|
1947
|
+
});
|
|
1948
|
+
}
|
|
1949
|
+
/**
|
|
1950
|
+
* Worker for restoreRedactedValues().
|
|
1951
|
+
* Used when there are ConfigUiHints available.
|
|
1952
|
+
*/
|
|
1953
|
+
function restoreRedactedValuesWithLookup(incoming, original, lookup, prefix, hints) {
|
|
1954
|
+
if (shouldPassThroughRestoreValue(incoming)) return incoming;
|
|
1955
|
+
const arrayContext = toRestoreArrayContext(incoming, prefix);
|
|
1956
|
+
if (arrayContext) {
|
|
1957
|
+
const { incoming: incomingArray, path } = arrayContext;
|
|
1958
|
+
if (!lookup.has(path)) return restoreRedactedValuesGuessing(incomingArray, original, prefix, hints);
|
|
1959
|
+
return mapRedactedArray({
|
|
1960
|
+
incoming: incomingArray,
|
|
1961
|
+
original,
|
|
1962
|
+
path,
|
|
1963
|
+
mapItem: (item, index, originalArray) => restoreArrayItemWithLookup({
|
|
1964
|
+
item,
|
|
1965
|
+
index,
|
|
1966
|
+
originalArray,
|
|
1967
|
+
lookup,
|
|
1968
|
+
path,
|
|
1969
|
+
hints
|
|
1970
|
+
})
|
|
1971
|
+
});
|
|
1972
|
+
}
|
|
1973
|
+
const orig = toObjectRecord(original);
|
|
1974
|
+
const result = {};
|
|
1975
|
+
for (const [key, value] of Object.entries(incoming)) {
|
|
1976
|
+
result[key] = value;
|
|
1977
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
1978
|
+
const wildcardPath = prefix ? `${prefix}.*` : "*";
|
|
1979
|
+
let matched = false;
|
|
1980
|
+
for (const candidate of [path, wildcardPath]) if (lookup.has(candidate)) {
|
|
1981
|
+
matched = true;
|
|
1982
|
+
if (value === REDACTED_SENTINEL) result[key] = restoreOriginalValueOrThrow({
|
|
1983
|
+
key,
|
|
1984
|
+
path: candidate,
|
|
1985
|
+
original: orig
|
|
1986
|
+
});
|
|
1987
|
+
else if (typeof value === "object" && value !== null) result[key] = restoreRedactedValuesWithLookup(value, orig[key], lookup, candidate, hints);
|
|
1988
|
+
break;
|
|
1989
|
+
}
|
|
1990
|
+
if (!matched) {
|
|
1991
|
+
if (!isExplicitlyNonSensitivePath(hints, [path, wildcardPath]) && isSensitivePath(path) && value === REDACTED_SENTINEL) result[key] = restoreOriginalValueOrThrow({
|
|
1992
|
+
key,
|
|
1993
|
+
path,
|
|
1994
|
+
original: orig
|
|
1995
|
+
});
|
|
1996
|
+
else if (typeof value === "object" && value !== null) result[key] = restoreRedactedValuesGuessing(value, orig[key], path, hints);
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1999
|
+
return result;
|
|
2000
|
+
}
|
|
2001
|
+
/**
|
|
2002
|
+
* Worker for restoreRedactedValues().
|
|
2003
|
+
* Used when ConfigUiHints are NOT available.
|
|
2004
|
+
*/
|
|
2005
|
+
function restoreRedactedValuesGuessing(incoming, original, prefix, hints) {
|
|
2006
|
+
if (shouldPassThroughRestoreValue(incoming)) return incoming;
|
|
2007
|
+
const arrayContext = toRestoreArrayContext(incoming, prefix);
|
|
2008
|
+
if (arrayContext) {
|
|
2009
|
+
const { incoming: incomingArray, path } = arrayContext;
|
|
2010
|
+
return restoreGuessingArray(incomingArray, original, path, hints);
|
|
2011
|
+
}
|
|
2012
|
+
const orig = toObjectRecord(original);
|
|
2013
|
+
const result = {};
|
|
2014
|
+
for (const [key, value] of Object.entries(incoming)) {
|
|
2015
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
2016
|
+
if (!isExplicitlyNonSensitivePath(hints, [path, prefix ? `${prefix}.*` : "*"]) && isSensitivePath(path) && value === REDACTED_SENTINEL) result[key] = restoreOriginalValueOrThrow({
|
|
2017
|
+
key,
|
|
2018
|
+
path,
|
|
2019
|
+
original: orig
|
|
2020
|
+
});
|
|
2021
|
+
else if (typeof value === "object" && value !== null) result[key] = restoreRedactedValuesGuessing(value, orig[key], path, hints);
|
|
2022
|
+
else result[key] = value;
|
|
2023
|
+
}
|
|
2024
|
+
return result;
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
//#endregion
|
|
2028
|
+
export { buildBaseHints as a, applySensitiveHints as i, redactConfigSnapshot as n, mapSensitivePaths as o, restoreRedactedValues as r, applyDerivedTags as s, redactConfigObject as t };
|