@spacebar_ai/moldclaw-core 2026.3.41 → 2026.3.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accounts-5qY-dKca.d.ts +103 -0
- package/dist/accounts-SqdHz2ZP.js +114 -0
- package/dist/acp-cli-E6bcNqiE.js +2093 -0
- package/dist/actions.runtime-BU_XMuLk.js +119 -0
- package/dist/actions.runtime-CY5h8lqH.js +133 -0
- package/dist/agent-scope-lZlwP1At.js +208 -0
- package/dist/agents-C4SkadR1.js +853 -0
- package/dist/agents-RfwqGCzE.js +222 -0
- package/dist/agents.config-CX9CPNfP.js +17 -0
- package/dist/agents.config-DF9Zwn9n.js +121 -0
- package/dist/allow-list-3WSjz1zl.js +81 -0
- package/dist/allowlist-DNbDjFjw.js +142 -0
- package/dist/api-BEOpJ7dR.js +117 -0
- package/dist/audit-CpJz_eu6.js +787 -0
- package/dist/audit-CpfSjvyo.js +54 -0
- package/dist/audit-channel.collect.runtime-BeGotloZ.js +605 -0
- package/dist/audit-channel.runtime-BJDZ7ETt.js +121 -0
- package/dist/audit-extra.async-C2G0mqmk.js +813 -0
- package/dist/audit-membership-runtime-B1FqJsPV.js +162 -0
- package/dist/audit.deep.runtime-DyL9O_sU.js +25 -0
- package/dist/audit.nondeep.runtime-C6jFgJfH.js +832 -0
- package/dist/audit.runtime-Dnlsn23e.js +118 -0
- package/dist/auth-Ch3Rchm4.js +101 -0
- package/dist/auth-choice-CEFSlnLT.js +122 -0
- package/dist/auth-choice-CVCef-eU.js +268 -0
- package/dist/auth-choice-Cez-pXrg.js +507 -0
- package/dist/auth-choice-options-DO78mvPe.js +123 -0
- package/dist/auth-choice-prompt-CUkC7Mmb.js +36 -0
- package/dist/auth-choice-prompt-DCuQRiVl.js +115 -0
- package/dist/auth-choice.apply-helpers-BhbNIV8X.js +66 -0
- package/dist/auth-choice.plugin-providers.runtime-4BhqvEw_.js +119 -0
- package/dist/auth-profiles-smABVXzp.js +128040 -0
- package/dist/auth-profiles.runtime-Cr-ojtTc.js +116 -0
- package/dist/banner-CojBHPWr.js +342 -0
- package/dist/bluebubbles-BnLsj2Fy.d.ts +6 -0
- package/dist/bluebubbles-CVk7M3Bl.js +64 -0
- package/dist/bot-DdyrB2z9.d.ts +478 -0
- package/dist/brave-w4Fo8WZ3.js +24 -0
- package/dist/browser-cli-DWFs3P_i.js +1494 -0
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.d.ts +1 -1
- package/dist/bundled/boot-md/handler.js +35 -35
- package/dist/bundled/bootstrap-extra-files/handler.d.ts +1 -1
- package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
- package/dist/bundled/command-logger/handler.d.ts +1 -1
- package/dist/bundled/session-memory/handler.d.ts +1 -1
- package/dist/bundled/session-memory/handler.js +36 -36
- package/dist/call-Do7wTSr7.js +39 -0
- package/dist/call-gdDAt07d.js +640 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/channel-B26pkce0.js +214 -0
- package/dist/channel-BJHp0AQC.js +352 -0
- package/dist/channel-BKFOv51P.js +4681 -0
- package/dist/channel-BNgpOY8v.js +538 -0
- package/dist/channel-BcQAAo2P.js +226 -0
- package/dist/channel-BvNdnhbx.js +1598 -0
- package/dist/channel-C1Rda3Jd.js +306 -0
- package/dist/channel-C87DG-F7.js +803 -0
- package/dist/channel-CIip0kvZ.js +619 -0
- package/dist/channel-CTPxoT_E2.js +316 -0
- package/dist/channel-CklaCzUG.js +562 -0
- package/dist/channel-CoJnAdLs.js +920 -0
- package/dist/channel-D3tafL1_.js +949 -0
- package/dist/channel-DFMrP2uu.js +542 -0
- package/dist/channel-DMd5cJQe.js +397 -0
- package/dist/channel-Dm34kxAJ.js +207 -0
- package/dist/channel-DmwF9udn.js +1321 -0
- package/dist/channel-account-context-Bjur9nlh.js +103 -0
- package/dist/channel-bGnST659.js +943 -0
- package/dist/channel-hIgbkTZf.js +575 -0
- package/dist/channel-m_TGrDKo.js +497 -0
- package/dist/channel-options-DoUPBMa8.js +50 -0
- package/dist/channel-plugin-ids-TZIY4hFs.js +26 -0
- package/dist/channel-summary-qD54bOBO.js +111 -0
- package/dist/channel.runtime-B0H04Dkk.js +199 -0
- package/dist/channel.runtime-BU1f3NkV.js +418 -0
- package/dist/channel.runtime-Bj1sfLep.js +4011 -0
- package/dist/channel.runtime-BtPAAJc3.js +870 -0
- package/dist/channel.runtime-Bx-10m_j.js +171 -0
- package/dist/channel.runtime-CI_TBywQ.js +179 -0
- package/dist/channel.runtime-CSLj14-Z.js +182 -0
- package/dist/channel.runtime-D-lTSYAd.js +404 -0
- package/dist/channel.runtime-DJqIOSji.js +127 -0
- package/dist/channel.runtime-Ec8aQ9V2.js +241 -0
- package/dist/channel.runtime-ax5a1jBm.js +218 -0
- package/dist/channel.setup-B-ncdYLT.js +9 -0
- package/dist/channel.setup-BY4bh5dm.js +9 -0
- package/dist/channel.setup-BovsdMnL.js +57 -0
- package/dist/channel.setup-CXzXA25h.js +6 -0
- package/dist/channel.setup-DcZUEufN.js +8 -0
- package/dist/channel.setup-E6zceRsE.js +8 -0
- package/dist/channel.setup-Pc7nGbdX.js +11 -0
- package/dist/channels/plugins/actions/discord.d.ts +2 -2
- package/dist/channels/plugins/actions/discord.js +35 -35
- package/dist/channels/plugins/actions/signal.d.ts +1 -1
- package/dist/channels/plugins/actions/signal.js +35 -35
- package/dist/channels/plugins/actions/telegram.d.ts +2 -2
- package/dist/channels/plugins/actions/telegram.js +35 -35
- package/dist/channels/plugins/agent-tools/whatsapp-login.d.ts +3 -3
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +35 -35
- package/dist/channels-CPtE5ND6.js +404 -0
- package/dist/channels-Cj8ZolHI.js +1118 -0
- package/dist/channels-cli-D2sKrntt.js +291 -0
- package/dist/channels-status-issues-CzIHODg2.js +16 -0
- package/dist/clawbot-cli-BcwEDmUn.js +118 -0
- package/dist/cleanup-utils-D0L17RsX.js +96 -0
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/cli-BvGVPKnD.js +154 -0
- package/dist/command-registry-CADQzTAg.js +14 -0
- package/dist/command-registry-ktiJNAJd.js +242 -0
- package/dist/command-secret-gateway-CXp10RTM.js +111 -0
- package/dist/compact.runtime-DyKL-Iar.js +116 -0
- package/dist/completion-cli-Bz4STrpt.js +17 -0
- package/dist/completion-cli-pVda2OFb.js +445 -0
- package/dist/config-BbvDRSYp.js +31 -0
- package/dist/config-CwBv71QC.js +44 -0
- package/dist/config-cli-Y0uXHbOw.js +678 -0
- package/dist/config-guard-BpW5g7JE.js +118 -0
- package/dist/config-validation-B-vLIsbo.js +262 -0
- package/dist/config-value-DT3-5958.js +132 -0
- package/dist/configure-B9U-jCqP.js +1100 -0
- package/dist/configure-BJ3Wrs5b.js +243 -0
- package/dist/control-ui-assets-C1YDYi82.js +232 -0
- package/dist/control-ui-shared-Dm5Dh0Lo.js +29 -0
- package/dist/core-BwKq3krw.js +150 -0
- package/dist/core-hjBwfDsW.d.ts +87 -0
- package/dist/cron-cli-DTDgfoMh.js +639 -0
- package/dist/daemon-cli-C-dkAXR1.js +339 -0
- package/dist/daemon-install-Oy0Q5pMF.js +180 -0
- package/dist/deliver-DNGnDqF9.js +111 -0
- package/dist/deliver-runtime-CCNZIhET.js +111 -0
- package/dist/device-id-cli-XvwZbIyC.js +52 -0
- package/dist/device-identity-IG5DngWM.js +365 -0
- package/dist/devices-cli-DIsxj4xp.js +342 -0
- package/dist/diagnostic-DTPopFvh.js +310 -0
- package/dist/directory-cli-DTSY3Ktr.js +311 -0
- package/dist/directory-config-helpers-DpFcAbmo.d.ts +38 -0
- package/dist/directory.static-CBRAUwUW.js +44 -0
- package/dist/discord-CrgxhEWw.js +114 -0
- package/dist/discovery-DrG7wmAR.js +48 -0
- package/dist/dm-policy-shared-DKoGdUpY.d.ts +95 -0
- package/dist/dns-cli-BJiz6CLK.js +217 -0
- package/dist/docs-cli-Dq2Yi5qO.js +174 -0
- package/dist/doctor-completion-D3GeVcFP.js +90 -0
- package/dist/doctor-config-flow-B1cMjr8h.js +112 -0
- package/dist/doctor-config-flow-BUe7JpV3.js +2437 -0
- package/dist/enable-Bc8bCuVe.js +24 -0
- package/dist/entry.js +4 -4
- package/dist/exec-approvals-cli-kLAev6bP.js +421 -0
- package/dist/extensions/acpx/index.d.ts +1 -1
- package/dist/extensions/amazon-bedrock/index.d.ts +1 -1
- package/dist/extensions/amazon-bedrock/index.js +4 -4
- package/dist/extensions/anthropic/index.d.ts +1 -1
- package/dist/extensions/anthropic/index.js +35 -35
- package/dist/extensions/bluebubbles/index.d.ts +1 -1
- package/dist/extensions/bluebubbles/index.js +39 -39
- package/dist/extensions/bluebubbles/setup-entry.d.ts +2 -2
- package/dist/extensions/bluebubbles/setup-entry.js +39 -39
- package/dist/extensions/brave/index.d.ts +1 -1
- package/dist/extensions/brave/index.js +5 -5
- package/dist/extensions/byteplus/index.d.ts +1 -1
- package/dist/extensions/byteplus/index.js +35 -35
- package/dist/extensions/cloudflare-ai-gateway/index.d.ts +1 -1
- package/dist/extensions/cloudflare-ai-gateway/index.js +36 -36
- package/dist/extensions/copilot-proxy/index.d.ts +1 -1
- package/dist/extensions/copilot-proxy/index.js +4 -4
- package/dist/extensions/device-pair/index.d.ts +1 -1
- package/dist/extensions/device-pair/index.js +4 -4
- package/dist/extensions/diagnostics-otel/index.d.ts +1 -1
- package/dist/extensions/diagnostics-otel/index.js +4 -4
- package/dist/extensions/diffs/index.d.ts +1 -1
- package/dist/extensions/discord/index.d.ts +1 -1
- package/dist/extensions/discord/index.js +40 -40
- package/dist/extensions/discord/setup-entry.d.ts +1 -1
- package/dist/extensions/discord/setup-entry.js +38 -38
- package/dist/extensions/elevenlabs/index.d.ts +1 -1
- package/dist/extensions/elevenlabs/index.js +35 -35
- package/dist/extensions/feishu/index.d.ts +2 -2
- package/dist/extensions/feishu/index.js +40 -40
- package/dist/extensions/feishu/setup-entry.d.ts +2 -2
- package/dist/extensions/feishu/setup-entry.js +37 -37
- package/dist/extensions/firecrawl/index.d.ts +1 -1
- package/dist/extensions/firecrawl/index.js +35 -35
- package/dist/extensions/github-copilot/index.d.ts +1 -1
- package/dist/extensions/github-copilot/index.js +35 -35
- package/dist/extensions/google/index.d.ts +1 -1
- package/dist/extensions/google/index.js +35 -35
- package/dist/extensions/googlechat/index.d.ts +1 -1
- package/dist/extensions/googlechat/index.js +38 -38
- package/dist/extensions/googlechat/setup-entry.d.ts +1 -1
- package/dist/extensions/googlechat/setup-entry.js +38 -38
- package/dist/extensions/huggingface/index.d.ts +1 -1
- package/dist/extensions/huggingface/index.js +35 -35
- package/dist/extensions/imessage/index.d.ts +1 -1
- package/dist/extensions/imessage/index.js +39 -39
- package/dist/extensions/imessage/setup-entry.d.ts +1 -1
- package/dist/extensions/imessage/setup-entry.js +39 -39
- package/dist/extensions/irc/index.d.ts +1 -1
- package/dist/extensions/irc/index.js +38 -38
- package/dist/extensions/irc/setup-entry.d.ts +2 -2
- package/dist/extensions/irc/setup-entry.js +38 -38
- package/dist/extensions/kakao-talkchannel/index.d.ts +1 -1
- package/dist/extensions/kakao-talkchannel/index.js +4 -4
- package/dist/extensions/kilocode/index.d.ts +1 -1
- package/dist/extensions/kilocode/index.js +35 -35
- package/dist/extensions/kimi-coding/index.d.ts +1 -1
- package/dist/extensions/kimi-coding/index.js +35 -35
- package/dist/extensions/line/index.d.ts +1 -1
- package/dist/extensions/line/index.js +37 -37
- package/dist/extensions/line/setup-entry.d.ts +1 -1
- package/dist/extensions/line/setup-entry.js +37 -37
- package/dist/extensions/llm-task/index.d.ts +1 -1
- package/dist/extensions/llm-task/index.js +35 -35
- package/dist/extensions/lobster/index.d.ts +1 -1
- package/dist/extensions/lobster/index.js +4 -4
- package/dist/extensions/matrix/index.d.ts +1 -1
- package/dist/extensions/matrix/index.js +40 -40
- package/dist/extensions/matrix/setup-entry.d.ts +2 -2
- package/dist/extensions/matrix/setup-entry.js +40 -40
- package/dist/extensions/mattermost/index.d.ts +1 -1
- package/dist/extensions/mattermost/index.js +37 -37
- package/dist/extensions/mattermost/setup-entry.d.ts +2 -2
- package/dist/extensions/mattermost/setup-entry.js +37 -37
- package/dist/extensions/memory-core/index.d.ts +1 -1
- package/dist/extensions/memory-core/index.js +4 -4
- package/dist/extensions/memory-lancedb/index.d.ts +1 -1
- package/dist/extensions/memory-lancedb/index.js +4 -4
- package/dist/extensions/microsoft/index.d.ts +1 -1
- package/dist/extensions/microsoft/index.js +35 -35
- package/dist/extensions/minimax/index.d.ts +1 -1
- package/dist/extensions/minimax/index.js +35 -35
- package/dist/extensions/mistral/index.d.ts +1 -1
- package/dist/extensions/mistral/index.js +35 -35
- package/dist/extensions/modelstudio/index.d.ts +1 -1
- package/dist/extensions/modelstudio/index.js +35 -35
- package/dist/extensions/moonshot/index.d.ts +1 -1
- package/dist/extensions/moonshot/index.js +35 -35
- package/dist/extensions/msteams/index.d.ts +1 -1
- package/dist/extensions/msteams/index.js +40 -40
- package/dist/extensions/msteams/setup-entry.d.ts +1 -1
- package/dist/extensions/msteams/setup-entry.js +40 -40
- package/dist/extensions/nextcloud-talk/index.d.ts +1 -1
- package/dist/extensions/nextcloud-talk/index.js +37 -37
- package/dist/extensions/nextcloud-talk/setup-entry.d.ts +2 -2
- package/dist/extensions/nextcloud-talk/setup-entry.js +37 -37
- package/dist/extensions/nostr/index.d.ts +1 -1
- package/dist/extensions/nostr/index.js +37 -37
- package/dist/extensions/nostr/setup-entry.d.ts +1 -1
- package/dist/extensions/nostr/setup-entry.js +37 -37
- package/dist/extensions/nvidia/index.d.ts +1 -1
- package/dist/extensions/nvidia/index.js +4 -4
- package/dist/extensions/ollama/index.d.ts +1 -1
- package/dist/extensions/ollama/index.js +7 -7
- package/dist/extensions/open-prose/index.d.ts +1 -1
- package/dist/extensions/open-prose/index.js +4 -4
- package/dist/extensions/openai/index.d.ts +1 -1
- package/dist/extensions/openai/index.js +35 -35
- package/dist/extensions/opencode/index.d.ts +1 -1
- package/dist/extensions/opencode/index.js +35 -35
- package/dist/extensions/opencode-go/index.d.ts +1 -1
- package/dist/extensions/opencode-go/index.js +35 -35
- package/dist/extensions/openrouter/index.d.ts +1 -1
- package/dist/extensions/openrouter/index.js +35 -35
- package/dist/extensions/openshell/index.d.ts +1 -1
- package/dist/extensions/openshell/index.js +35 -35
- package/dist/extensions/perplexity/index.d.ts +1 -1
- package/dist/extensions/perplexity/index.js +5 -5
- package/dist/extensions/phone-control/index.d.ts +1 -1
- package/dist/extensions/phone-control/index.js +4 -4
- package/dist/extensions/qianfan/index.d.ts +1 -1
- package/dist/extensions/qianfan/index.js +35 -35
- package/dist/extensions/qwen-portal-auth/index.d.ts +1 -1
- package/dist/extensions/qwen-portal-auth/index.js +35 -35
- package/dist/extensions/sglang/index.d.ts +1 -1
- package/dist/extensions/sglang/index.js +35 -35
- package/dist/extensions/signal/index.d.ts +1 -1
- package/dist/extensions/signal/index.js +38 -38
- package/dist/extensions/signal/setup-entry.d.ts +1 -1
- package/dist/extensions/signal/setup-entry.js +38 -38
- package/dist/extensions/slack/index.d.ts +1 -1
- package/dist/extensions/slack/index.js +39 -39
- package/dist/extensions/slack/setup-entry.d.ts +1 -1
- package/dist/extensions/slack/setup-entry.js +38 -38
- package/dist/extensions/synology-chat/index.d.ts +1 -1
- package/dist/extensions/synology-chat/index.js +37 -37
- package/dist/extensions/synology-chat/setup-entry.d.ts +1 -1
- package/dist/extensions/synology-chat/setup-entry.js +37 -37
- package/dist/extensions/synthetic/index.d.ts +1 -1
- package/dist/extensions/synthetic/index.js +35 -35
- package/dist/extensions/talk-voice/index.d.ts +1 -1
- package/dist/extensions/talk-voice/index.js +35 -35
- package/dist/extensions/telegram/index.d.ts +1 -1
- package/dist/extensions/telegram/index.js +38 -38
- package/dist/extensions/telegram/setup-entry.d.ts +1 -1
- package/dist/extensions/telegram/setup-entry.js +37 -37
- package/dist/extensions/thread-ownership/index.d.ts +1 -1
- package/dist/extensions/thread-ownership/index.js +4 -4
- package/dist/extensions/tlon/index.d.ts +1 -1
- package/dist/extensions/tlon/index.js +37 -37
- package/dist/extensions/tlon/setup-entry.d.ts +1 -1
- package/dist/extensions/tlon/setup-entry.js +37 -37
- package/dist/extensions/together/index.d.ts +1 -1
- package/dist/extensions/together/index.js +35 -35
- package/dist/extensions/twitch/index.d.ts +2 -2
- package/dist/extensions/twitch/index.js +37 -37
- package/dist/extensions/venice/index.d.ts +1 -1
- package/dist/extensions/venice/index.js +35 -35
- package/dist/extensions/vercel-ai-gateway/index.d.ts +1 -1
- package/dist/extensions/vercel-ai-gateway/index.js +36 -36
- package/dist/extensions/vllm/index.d.ts +1 -1
- package/dist/extensions/vllm/index.js +35 -35
- package/dist/extensions/voice-call/index.d.ts +1 -1
- package/dist/extensions/voice-call/index.js +35 -35
- package/dist/extensions/volcengine/index.d.ts +1 -1
- package/dist/extensions/volcengine/index.js +35 -35
- package/dist/extensions/whatsapp/index.d.ts +1 -1
- package/dist/extensions/whatsapp/index.js +38 -38
- package/dist/extensions/whatsapp/setup-entry.d.ts +1 -1
- package/dist/extensions/whatsapp/setup-entry.js +38 -38
- package/dist/extensions/xai/index.d.ts +1 -1
- package/dist/extensions/xai/index.js +35 -35
- package/dist/extensions/xiaomi/index.d.ts +1 -1
- package/dist/extensions/xiaomi/index.js +35 -35
- package/dist/extensions/zai/index.d.ts +1 -1
- package/dist/extensions/zai/index.js +35 -35
- package/dist/extensions/zalo/index.d.ts +1 -1
- package/dist/extensions/zalo/index.js +39 -39
- package/dist/extensions/zalo/setup-entry.d.ts +1 -1
- package/dist/extensions/zalo/setup-entry.js +39 -39
- package/dist/extensions/zalouser/index.d.ts +1 -1
- package/dist/extensions/zalouser/index.js +40 -40
- package/dist/extensions/zalouser/setup-entry.d.ts +1 -1
- package/dist/extensions/zalouser/setup-entry.js +40 -40
- package/dist/feishu-fIcnHDTd.d.ts +36 -0
- package/dist/gateway-cli-0c-8h93_.js +26437 -0
- package/dist/gateway-install-token-1PwJvrBY.js +163 -0
- package/dist/gateway-rpc-C0Vk51W7.js +26 -0
- package/dist/gateway-runtime-CBm3CCoA.js +69 -0
- package/dist/git-commit-BTWXFY41.js +177 -0
- package/dist/git-commit-D6GTN5Yt.js +2 -0
- package/dist/googlechat-BQr4xgoZ.js +307 -0
- package/dist/googlechat-BvwsCVKl.d.ts +12 -0
- package/dist/group-access-DpiQnd-G.d.ts +61 -0
- package/dist/health-6yZQGADY.js +113 -0
- package/dist/health-C9DYGyRe.js +570 -0
- package/dist/heartbeat-summary-Dct2lqJj.js +57 -0
- package/dist/help-CtwSApfq.js +81 -0
- package/dist/hooks-9gokOxZ5.d.ts +6 -0
- package/dist/hooks-cli-BegKzHZT.js +1000 -0
- package/dist/hooks-status-Bm_pGORf.js +78 -0
- package/dist/http-registry-D-S6a1Na.d.ts +20 -0
- package/dist/identity-file-Diub2a0t.js +60 -0
- package/dist/image-generation-CbIVzmAR.d.ts +9 -0
- package/dist/imessage-Bgok9kfl.js +31 -0
- package/dist/imessage-VIHePprL.js +115 -0
- package/dist/inbound-reply-dispatch-B53GAGWq.js +71 -0
- package/dist/inbound-reply-dispatch-n7U3qg15.d.ts +72 -0
- package/dist/index.js +2 -2
- package/dist/install-target-oz1pjfHH.js +574 -0
- package/dist/installs-CUFm5V8a.js +532 -0
- package/dist/io-BaBxjB1v.js +9739 -0
- package/dist/io-CgHb1Jld.js +29 -0
- package/dist/irc-CaRKzGvW.js +672 -0
- package/dist/library-C5SNBCMb.js +112 -0
- package/dist/lifecycle-core-Dn8PK6nk.js +382 -0
- package/dist/line/accounts.d.ts +2 -2
- package/dist/line/send.d.ts +1 -1
- package/dist/line/send.js +7 -7
- package/dist/line/template-messages.d.ts +1 -1
- package/dist/line-B5QFpgN_.d.ts +75 -0
- package/dist/line-fePrrQOD.js +530 -0
- package/dist/llm-slug-generator-hKae3XDA.js +67 -0
- package/dist/llm-slug-generator.d.ts +1 -1
- package/dist/llm-slug-generator.js +36 -36
- package/dist/logging-CdisccbY.js +13 -0
- package/dist/logging-LKQSgX1d.js +30 -0
- package/dist/login-qr-C1YWh4nE.js +233 -0
- package/dist/login-qr-WFluMDMb.js +112 -0
- package/dist/logs-cli-CNzOvZ2d.js +256 -0
- package/dist/manager-runtime-DgMhLTkR.js +111 -0
- package/dist/manager.runtime-hUWgpPt2.js +715 -0
- package/dist/manifest-registry-CS_p1OBQ.js +1329 -0
- package/dist/matrix-43_RGLZN.d.ts +68 -0
- package/dist/matrix-CCFxHfxa.js +1269 -0
- package/dist/matrix-DWs_qIkJ.js +1495 -0
- package/dist/mcp-cli-Ci2jvv3s.js +87 -0
- package/dist/media-understanding.runtime-Cdr6iTW6.js +116 -0
- package/dist/memory-cli-LZbyF0Iu.js +111 -0
- package/dist/memory-search-BHhETk6u.js +17 -0
- package/dist/memory-search-tTD5o_rU.js +204 -0
- package/dist/method-scopes-B2ZKSsxQ.js +2452 -0
- package/dist/model-auth-markers-LqZ4qhrZ.d.ts +20 -0
- package/dist/model-picker-CTR5mo4v.js +112 -0
- package/dist/model-picker-DG4z_dBs.js +390 -0
- package/dist/model-picker.runtime-DMQ9Pj9_.js +125 -0
- package/dist/model-selection-bBBxfXdb.js +653 -0
- package/dist/model-suppression.runtime-BVG75tZ7.js +116 -0
- package/dist/models-BjkVLfgw.js +2514 -0
- package/dist/models-ZO01Q4cx.js +118 -0
- package/dist/models-cli-DemdF-bm.js +309 -0
- package/dist/models-config-B2Jja8ua.js +111 -0
- package/dist/models-config.providers.discovery-puxTsH39.d.ts +18 -0
- package/dist/moldclaw-root-Cb6HRlUO.js +92 -0
- package/dist/monitor-BP4idxJD.js +782 -0
- package/dist/monitor-B_eP8Eim.js +772 -0
- package/dist/monitor-CRHYNl5J.js +3468 -0
- package/dist/monitor-Ci1Xg4g3.js +113 -0
- package/dist/monitor-DEodDl3z.js +6823 -0
- package/dist/monitor-DJlNKuMz.js +115 -0
- package/dist/monitor-DvFwDS9w.js +3076 -0
- package/dist/monitor-shared--cEjSf8s.js +444 -0
- package/dist/msteams-CV2a8uE8.js +852 -0
- package/dist/node-cli-Of2g7DSd.js +2503 -0
- package/dist/node-resolve-BYC2FbO2.js +835 -0
- package/dist/nodes-cli-CPHM6Upj.js +1380 -0
- package/dist/nostr-BFKRoOlz.d.ts +7 -0
- package/dist/nostr-lHpcBzz4.js +8744 -0
- package/dist/npm-resolution-kqHN85wB.js +60 -0
- package/dist/oauth-env-CLG8KOrz.js +10 -0
- package/dist/onboard-BON0C360.js +48 -0
- package/dist/onboard-CRkIBgOI.js +589 -0
- package/dist/onboard-DsKI17iq.js +25 -0
- package/dist/onboard-channels-BY3IbBBf.js +1241 -0
- package/dist/onboard-channels-CLKdRxvW.js +205 -0
- package/dist/onboard-custom-BjPrMo_R.js +571 -0
- package/dist/onboard-custom-DqcPiZBN.js +114 -0
- package/dist/onboard-helpers-BkrOY5OE.js +113 -0
- package/dist/onboard-helpers-DiSRTpZC.js +335 -0
- package/dist/onboard-hooks-pzEPZAvl.js +72 -0
- package/dist/onboard-remote-ChyLC6Dk.js +181 -0
- package/dist/onboard-remote-DHmK9ntl.js +117 -0
- package/dist/onboard-search-BgA3jEMW.js +302 -0
- package/dist/onboard-skills-BMo_NvnW.js +133 -0
- package/dist/onboard-skills-Bba-Z2p8.js +117 -0
- package/dist/outbound-media-BHD4aJEX.d.ts +11 -0
- package/dist/outbound-media-DSno0N82.js +11 -0
- package/dist/pairing-access-CzHpaM0R.d.ts +21 -0
- package/dist/pairing-cli-CmklqK0q.js +217 -0
- package/dist/perplexity-CXwMDD3u.js +24 -0
- package/dist/persistent-dedupe-B9vrAf8t.d.ts +26 -0
- package/dist/pi-model-discovery-runtime-BrK7tcaO.js +111 -0
- package/dist/pi-tools.before-tool-call.runtime-C5yLUogH.js +381 -0
- package/dist/plugin-install-C4AWJIFP.js +117 -0
- package/dist/plugin-install-CB3J1hfV.js +184 -0
- package/dist/plugin-install-plan-7itZiegi.js +49 -0
- package/dist/plugin-registry-DX_GFoiz.js +113 -0
- package/dist/plugin-registry-e3cxTtvb.js +49 -0
- package/dist/plugin-sdk/account-resolution.js +35 -35
- package/dist/plugin-sdk/acp-runtime.js +35 -35
- package/dist/plugin-sdk/agent-runtime.js +35 -35
- package/dist/plugin-sdk/bluebubbles.js +37 -37
- package/dist/plugin-sdk/channel-config-helpers.js +35 -35
- package/dist/plugin-sdk/channel-policy.js +35 -35
- package/dist/plugin-sdk/channel-runtime.js +35 -35
- package/dist/plugin-sdk/compat.js +36 -36
- package/dist/plugin-sdk/config-runtime.js +35 -35
- package/dist/plugin-sdk/conversation-runtime.js +35 -35
- package/dist/plugin-sdk/copilot-proxy.js +4 -4
- package/dist/plugin-sdk/core.js +4 -4
- package/dist/plugin-sdk/device-pair.js +4 -4
- package/dist/plugin-sdk/discord.js +35 -35
- package/dist/plugin-sdk/feishu.js +35 -35
- package/dist/plugin-sdk/gateway-runtime.js +10 -10
- package/dist/plugin-sdk/googlechat.js +37 -37
- package/dist/plugin-sdk/image-generation-runtime.js +35 -35
- package/dist/plugin-sdk/image-generation.js +35 -35
- package/dist/plugin-sdk/imessage.js +36 -36
- package/dist/plugin-sdk/index.js +35 -35
- package/dist/plugin-sdk/infra-runtime.js +35 -35
- package/dist/plugin-sdk/irc.js +37 -37
- package/dist/plugin-sdk/line.js +36 -36
- package/dist/plugin-sdk/llm-task.js +35 -35
- package/dist/plugin-sdk/lobster.js +4 -4
- package/dist/plugin-sdk/matrix.js +37 -37
- package/dist/plugin-sdk/mattermost.js +36 -36
- package/dist/plugin-sdk/media-runtime.js +35 -35
- package/dist/plugin-sdk/media-understanding-runtime.js +35 -35
- package/dist/plugin-sdk/media-understanding.js +35 -35
- package/dist/plugin-sdk/memory-lancedb.js +4 -4
- package/dist/plugin-sdk/minimax-portal-auth.js +4 -4
- package/dist/plugin-sdk/msteams.js +38 -38
- package/dist/plugin-sdk/nextcloud-talk.js +36 -36
- package/dist/plugin-sdk/nostr.js +36 -36
- package/dist/plugin-sdk/ollama-setup.js +9 -9
- package/dist/plugin-sdk/open-prose.js +4 -4
- package/dist/plugin-sdk/phone-control.js +4 -4
- package/dist/plugin-sdk/plugin-runtime.js +35 -35
- package/dist/plugin-sdk/provider-auth.js +35 -35
- package/dist/plugin-sdk/provider-models.js +5 -5
- package/dist/plugin-sdk/provider-onboard.js +4 -4
- package/dist/plugin-sdk/provider-setup.js +39 -39
- package/dist/plugin-sdk/provider-stream.js +4 -4
- package/dist/plugin-sdk/provider-usage.js +4 -4
- package/dist/plugin-sdk/qwen-portal-auth.js +35 -35
- package/dist/plugin-sdk/reply-history.js +35 -35
- package/dist/plugin-sdk/reply-runtime.js +35 -35
- package/dist/plugin-sdk/routing.js +3 -3
- package/dist/plugin-sdk/sandbox.js +35 -35
- package/dist/plugin-sdk/security-runtime.js +35 -35
- package/dist/plugin-sdk/self-hosted-provider-setup.js +37 -37
- package/dist/plugin-sdk/setup.js +35 -35
- package/dist/plugin-sdk/signal.js +35 -35
- package/dist/plugin-sdk/slack.js +35 -35
- package/dist/plugin-sdk/speech-runtime.js +35 -35
- package/dist/plugin-sdk/speech.js +35 -35
- package/dist/plugin-sdk/src/secrets/secure-file-store.d.ts +26 -0
- package/dist/plugin-sdk/src/subscription/provider.d.ts +5 -3
- package/dist/plugin-sdk/synology-chat.js +36 -36
- package/dist/plugin-sdk/talk-voice.js +4 -4
- package/dist/plugin-sdk/telegram.js +35 -35
- package/dist/plugin-sdk/text-runtime.js +7 -7
- package/dist/plugin-sdk/thread-ownership.js +4 -4
- package/dist/plugin-sdk/tlon.js +36 -36
- package/dist/plugin-sdk/twitch.js +35 -35
- package/dist/plugin-sdk/voice-call.js +35 -35
- package/dist/plugin-sdk/whatsapp.js +35 -35
- package/dist/plugin-sdk/zalo.js +38 -38
- package/dist/plugin-sdk/zalouser.js +38 -38
- package/dist/plugins/runtime/index.d.ts +1 -1
- package/dist/plugins/runtime/index.js +35 -35
- package/dist/plugins-DF5FaTO0.js +111 -0
- package/dist/plugins-cli-CvTJemqC.js +917 -0
- package/dist/policy-CNXISK_a.js +143 -0
- package/dist/preflight-audio.runtime-RP000oxo.js +116 -0
- package/dist/probe-BkM5pykD.js +21 -0
- package/dist/probe-DKbRTJv5.js +1793 -0
- package/dist/probe-DkrfRsjU.js +47 -0
- package/dist/probe-DpcJ0WeP.js +129 -0
- package/dist/probe-auth-BcNjX8hy.js +40 -0
- package/dist/probe-auth-DhuAb8ls.js +48 -0
- package/dist/probe-wciBj-aL.js +6329 -0
- package/dist/program-C8-p0mW5.js +253 -0
- package/dist/prompt-select-styled-DH0pVoc0.js +2673 -0
- package/dist/provider-api-key-auth.runtime-CAFeIQ1u.js +121 -0
- package/dist/provider-auth-choice-CB_HzdTl.js +126 -0
- package/dist/provider-auth-choice-helpers-hzDkh3f1.js +48 -0
- package/dist/provider-auth-choice-preference-BHCXvNSE.js +189 -0
- package/dist/provider-auth-choice.runtime-Dx4ms2C5.js +123 -0
- package/dist/provider-auth-choices-0KaDNPBQ.js +57 -0
- package/dist/provider-auth-guidance-BaAUiNr_.js +34 -0
- package/dist/provider-auth-result-Bto1bYtS.d.ts +18 -0
- package/dist/provider-models-DxOmeToO.d.ts +867 -0
- package/dist/provider-models-xnyxy6mO.js +2113 -0
- package/dist/provider-ollama-setup-DBYK__ov.d.ts +32 -0
- package/dist/provider-ollama-setup-QzgCxj44.js +314 -0
- package/dist/provider-onboard-B9ionepI.js +139 -0
- package/dist/provider-onboard-CURxJ_UX.d.ts +40 -0
- package/dist/provider-runtime.runtime-4xwmsl5L.js +111 -0
- package/dist/provider-self-hosted-setup-BHd24EDG.js +182 -0
- package/dist/provider-self-hosted-setup-qeY8BYSy.d.ts +61 -0
- package/dist/provider-stream-Chz_EFw3.js +512 -0
- package/dist/provider-usage-C11Q7UwS.js +111 -0
- package/dist/provider-usage-kxemdMp2.js +633 -0
- package/dist/provider-wizard-CanJoxNC.js +152 -0
- package/dist/push-apns-Dsajnm8C.js +1038 -0
- package/dist/pw-ai-DUe4BbH2.js +1867 -0
- package/dist/qmd-manager-CAAFp7qK.js +1570 -0
- package/dist/qr-cli-Bu2jqTPY.js +113 -0
- package/dist/qr-cli-Bu9Z-X48.js +369 -0
- package/dist/reactions-Cpfum4iU.js +281 -0
- package/dist/read-only-account-inspect.discord.runtime-BK0LaMgC.js +116 -0
- package/dist/read-only-account-inspect.slack.runtime-DgKiC5wT.js +116 -0
- package/dist/read-only-account-inspect.telegram.runtime-mxfgFVOU.js +116 -0
- package/dist/redact-snapshot-DD8A4tdd.js +2663 -0
- package/dist/register.agent-DU4FtrU2.js +439 -0
- package/dist/register.backup-8nOYtJqg.js +625 -0
- package/dist/register.configure-DmtecqIH.js +252 -0
- package/dist/register.maintenance-Dir3ulKP.js +574 -0
- package/dist/register.message-Cfl-f3Ju.js +709 -0
- package/dist/register.onboard-Bv7WVzEi.js +192 -0
- package/dist/register.setup-BIyeI8RY.js +212 -0
- package/dist/register.status-health-sessions-C69WQcF4.js +498 -0
- package/dist/register.subclis-B_4KCgTd.js +315 -0
- package/dist/register.subclis-BeXsmgBL.js +13 -0
- package/dist/replies-DdcFUmki.js +110 -0
- package/dist/resolve-channels-DRZqPV5o.js +226 -0
- package/dist/resolve-channels-DxW1kqxA.js +262 -0
- package/dist/resolve-route-DdX-HBVt.js +538 -0
- package/dist/resolve-users-rgCQvkLs.js +143 -0
- package/dist/root-help-QAkoA7GD.js +32 -0
- package/dist/routes-CcJNnwTF.js +7097 -0
- package/dist/rpc-DDUAlBbH.js +67 -0
- package/dist/run-main-D9ci5pn7.js +424 -0
- package/dist/runtime-Bitmi8Er.d.ts +26 -0
- package/dist/runtime-discord-ops.runtime-T4sf7aRB.js +9078 -0
- package/dist/runtime-slack-ops.runtime-BQpP48mC.js +4556 -0
- package/dist/runtime-telegram-ops.runtime-cVO5dqOp.js +133 -0
- package/dist/runtime-whatsapp-login.runtime-DtNx0dSY.js +114 -0
- package/dist/runtime-whatsapp-outbound.runtime-Bw47QbFK.js +117 -0
- package/dist/sandbox-cli-DsFwjbjC.js +535 -0
- package/dist/search-manager-BRAK8fEe.js +16 -0
- package/dist/search-manager-BS5Db0A6.js +386 -0
- package/dist/secrets-cli-D3J46TJp.js +2070 -0
- package/dist/security-cli-B866M9cB.js +575 -0
- package/dist/send-B1pX9_Oc.js +283 -0
- package/dist/send-B2RrLg83.js +100 -0
- package/dist/send-DFnV__Aq.js +1025 -0
- package/dist/send-DZIH6CJt.js +629 -0
- package/dist/send-sl9WnKbW.js +631 -0
- package/dist/server-node-events-BT6egg20.js +506 -0
- package/dist/server-zI_K-D05.js +107 -0
- package/dist/sessions-C8kiAcoJ.js +112 -0
- package/dist/sessions-DLBpp52_.js +218 -0
- package/dist/setup-C7eOzMiC.js +387 -0
- package/dist/setup-CFIMq-Pz.d.ts +37 -0
- package/dist/setup-binary-CcAv8NXz.js +406 -0
- package/dist/setup-browser-C4eRV3h6.js +70 -0
- package/dist/setup-core-BnR486P-.js +143 -0
- package/dist/setup-core-CIswIiu5.js +166 -0
- package/dist/setup-core-CcbcrXXg.js +47 -0
- package/dist/setup-core-nZSw5BSv.js +205 -0
- package/dist/setup-surface-C5iSpT4M.js +490 -0
- package/dist/setup-wizard-helpers-r0J6l8ST.d.ts +203 -0
- package/dist/setup.finalize-adiRfo0U.js +522 -0
- package/dist/setup.gateway-config-BwFWKDfT.js +343 -0
- package/dist/shared-12TimyeF.js +182 -0
- package/dist/shared-9EWO34-k.js +298 -0
- package/dist/shared-B4vUbaRR.js +75 -0
- package/dist/shared-bNWpW3Dd.js +96 -0
- package/dist/shared-lU1y5dvS.js +102 -0
- package/dist/signal-DBlETRu9.js +114 -0
- package/dist/skills-Bio8GwTE.js +20 -0
- package/dist/skills-DE_MXFSN.js +853 -0
- package/dist/skills-cli-BGuW-tKw.js +292 -0
- package/dist/skills-install--rnorIoJ.js +763 -0
- package/dist/skills-status-B08PtBc_.js +21 -0
- package/dist/skills-status-CzM008aB.js +169 -0
- package/dist/slack-C4T53Nc-.js +114 -0
- package/dist/slash-commands.runtime-B7fsD8Be.js +128 -0
- package/dist/slash-dispatch.runtime-t0PAX4vQ.js +141 -0
- package/dist/slash-skill-commands.runtime-DIhPnEfR.js +116 -0
- package/dist/src-DrDirlvw.js +1701 -0
- package/dist/status-Bld14WSA.js +131 -0
- package/dist/status-CgeO4RuH.js +43 -0
- package/dist/status-HlvixAOq.js +606 -0
- package/dist/status-Rom_Lf3c.js +1599 -0
- package/dist/status-TwbMH6Am.js +126 -0
- package/dist/status-json-DMW7cmuK.js +288 -0
- package/dist/status.link-channel-V4LkB6Gq.js +143 -0
- package/dist/status.scan.deps.runtime-BE3X-dcP.js +126 -0
- package/dist/status.scan.runtime-BxVY4mty.js +119 -0
- package/dist/status.summary-CzLM0vVr.js +592 -0
- package/dist/status.summary.runtime-BSBnHZ1Q.js +118 -0
- package/dist/status.update-BxblMS7P.js +77 -0
- package/dist/subagent-orphan-recovery-BpRPryEj.js +307 -0
- package/dist/subagent-registry-runtime-DYYU5p3X.js +111 -0
- package/dist/subscription-CpFdxuFS.js +33 -0
- package/dist/subscription-DaA1urx-.js +102 -0
- package/dist/subscription-cli-Bvto9EmO.js +134 -0
- package/dist/synology-chat-3nwk-Nj0.js +297 -0
- package/dist/system-cli-BvNps8sl.js +94 -0
- package/dist/telegram/audit.d.ts +1 -1
- package/dist/telegram/audit.js +1 -1
- package/dist/telegram/token.d.ts +1 -1
- package/dist/telegram/token.js +35 -35
- package/dist/telegram-RtKXoEsF.js +114 -0
- package/dist/text-chunking-BD5mQe2R.js +84 -0
- package/dist/text-chunking-DDUU_vAF.d.ts +79 -0
- package/dist/tlon-z-kYmJE-.js +433 -0
- package/dist/tui-cli-CzSK08Rh.js +137 -0
- package/dist/tui-wV7R1Tlc.js +3834 -0
- package/dist/types-2H_e7eWT.d.ts +45 -0
- package/dist/types-ZKnGUchG.d.ts +22692 -0
- package/dist/types.base-BFiQZ4J9.d.ts +188 -0
- package/dist/ui-BWVHreeR.js +31 -0
- package/dist/update-D1Wgh1Tj.js +1036 -0
- package/dist/update-cli-CZh99uyY.js +1503 -0
- package/dist/update-offset-store-D5xTdUr0.js +112 -0
- package/dist/update-runner-GbKfoCHs.js +1496 -0
- package/dist/upsert-with-lock-BZU7Le8n.js +33 -0
- package/dist/usage-Czgwvg0h.js +115 -0
- package/dist/web-CMczmL90.js +112 -0
- package/dist/web-shared-B5Q0mIJq.d.ts +45 -0
- package/dist/webhook-request-guards-CsKDhZJr.d.ts +76 -0
- package/dist/webhook-targets-BSmFtesN.js +181 -0
- package/dist/webhook-targets-CjxuEE9C.d.ts +106 -0
- package/dist/webhooks-cli-Wl9y6AWW.js +350 -0
- package/dist/whatsapp-VzRW8MdR.js +114 -0
- package/dist/whatsapp-actions-Cg1Wxv8W.js +167 -0
- package/dist/workspace-DJ_S272u.js +484 -0
- package/dist/workspace-DbZSqjw0.js +289 -0
- package/dist/workspace-cli-D93DLmAh.js +154 -0
- package/dist/workspace-dirs-CGeIPpGN.js +2003 -0
- package/dist/zalo-CK2dlGmu.d.ts +9 -0
- package/dist/zalo-Db7s2boL.js +415 -0
- package/dist/zalouser-Jh5YTJX3.js +30911 -0
- package/docs/reference/templates/AGENTS.dev.md +83 -0
- package/docs/reference/templates/AGENTS.md +219 -0
- package/docs/reference/templates/BOOT.md +11 -0
- package/docs/reference/templates/BOOTSTRAP.md +62 -0
- package/docs/reference/templates/HEARTBEAT.md +12 -0
- package/docs/reference/templates/IDENTITY.dev.md +47 -0
- package/docs/reference/templates/IDENTITY.md +29 -0
- package/docs/reference/templates/SOUL.dev.md +76 -0
- package/docs/reference/templates/SOUL.md +43 -0
- package/docs/reference/templates/TOOLS.dev.md +24 -0
- package/docs/reference/templates/TOOLS.md +47 -0
- package/docs/reference/templates/USER.dev.md +18 -0
- package/docs/reference/templates/USER.md +23 -0
- package/extensions/discord/src/monitor/allow-list.ts +8 -1
- package/extensions/discord/src/monitor/message-handler.preflight.ts +4 -1
- package/package.json +2 -1
- package/dist/accounts-CDr-lDaV.d.ts +0 -103
- package/dist/accounts-CS8U4v8C.js +0 -114
- package/dist/acp-cli-BGT0jXcC.js +0 -2093
- package/dist/actions.runtime-BfckTw6c.js +0 -119
- package/dist/actions.runtime-Cl9mBfqH.js +0 -133
- package/dist/agent-scope-C-YmLnnb.js +0 -208
- package/dist/agents-CydD54p8.js +0 -222
- package/dist/agents-DpQsZO6O.js +0 -853
- package/dist/agents.config-XU7IsYE-.js +0 -121
- package/dist/agents.config-ssoQXuvF.js +0 -17
- package/dist/allow-list-Cfn6lmMK.js +0 -81
- package/dist/allowlist-CCYXVpM9.js +0 -142
- package/dist/api-BoXoFKxy.js +0 -117
- package/dist/audit-Bv05N5o9.js +0 -787
- package/dist/audit-CIWW1Aqm.js +0 -54
- package/dist/audit-channel.collect.runtime-Bi7yrdcO.js +0 -605
- package/dist/audit-channel.runtime-C_NDweiW.js +0 -121
- package/dist/audit-extra.async-Dp7OKSXg.js +0 -813
- package/dist/audit-membership-runtime-B8FQ6VtN.js +0 -162
- package/dist/audit.deep.runtime-CXhobL6b.js +0 -25
- package/dist/audit.nondeep.runtime-CrEm3T16.js +0 -832
- package/dist/audit.runtime-CJPKj1Zg.js +0 -118
- package/dist/auth-Byfp0flq.js +0 -101
- package/dist/auth-choice-BgOjdeXN.js +0 -507
- package/dist/auth-choice-CD1Heq0M.js +0 -122
- package/dist/auth-choice-ePNfg0iQ.js +0 -268
- package/dist/auth-choice-options-BlewQWI0.js +0 -123
- package/dist/auth-choice-prompt-BP2b6aXz.js +0 -36
- package/dist/auth-choice-prompt-Cmwl4n97.js +0 -115
- package/dist/auth-choice.apply-helpers-Dq-nxuuX.js +0 -66
- package/dist/auth-choice.plugin-providers.runtime-B23kOUzQ.js +0 -119
- package/dist/auth-profiles-1kPLbBwI.js +0 -127823
- package/dist/auth-profiles.runtime-DAfSjku1.js +0 -116
- package/dist/banner-DeOsobLO.js +0 -342
- package/dist/bluebubbles-BsLGedBM.js +0 -64
- package/dist/bluebubbles-CnT9wiS4.d.ts +0 -6
- package/dist/bot-CuzVYwa_.d.ts +0 -478
- package/dist/brave-BoWimrLe.js +0 -24
- package/dist/browser-cli-D_S3wEYE.js +0 -1494
- package/dist/call-ByEzDJ1_.js +0 -640
- package/dist/call-CHCWVg-O.js +0 -39
- package/dist/channel-3VC0oOMu.js +0 -214
- package/dist/channel-B9fCBPiS.js +0 -207
- package/dist/channel-B9q775cM.js +0 -562
- package/dist/channel-BG3UK54j.js +0 -803
- package/dist/channel-BRQAdMML.js +0 -352
- package/dist/channel-BmlLp933.js +0 -1321
- package/dist/channel-By6KvdTG.js +0 -920
- package/dist/channel-C8rRsdf6.js +0 -226
- package/dist/channel-CLEDBbXE.js +0 -943
- package/dist/channel-CMvBAG7o.js +0 -306
- package/dist/channel-CmlxxjHY.js +0 -1598
- package/dist/channel-CqG6_xN0.js +0 -949
- package/dist/channel-DNueHKs92.js +0 -316
- package/dist/channel-DUtyN7BX.js +0 -4681
- package/dist/channel-DWD6GrfZ.js +0 -538
- package/dist/channel-DaRYMYzj.js +0 -619
- package/dist/channel-Dj6BgLp8.js +0 -575
- package/dist/channel-account-context-Ba3u5D21.js +0 -103
- package/dist/channel-crabk6Em.js +0 -542
- package/dist/channel-i8uqQaK2.js +0 -497
- package/dist/channel-options-xljvwHS2.js +0 -50
- package/dist/channel-plugin-ids-DAgknSG4.js +0 -26
- package/dist/channel-summary-dHTMCG75.js +0 -111
- package/dist/channel-xVWQ96Ni.js +0 -397
- package/dist/channel.runtime-B6PoZ4BV.js +0 -182
- package/dist/channel.runtime-BPZmo57e.js +0 -404
- package/dist/channel.runtime-B_1uGR-U.js +0 -199
- package/dist/channel.runtime-BiXnPU0d.js +0 -218
- package/dist/channel.runtime-BpvDc9sv.js +0 -870
- package/dist/channel.runtime-CUua3W80.js +0 -418
- package/dist/channel.runtime-CaCBTd0A.js +0 -179
- package/dist/channel.runtime-D0FfYvUj.js +0 -4011
- package/dist/channel.runtime-DhoJtpvJ.js +0 -241
- package/dist/channel.runtime-Kj9EXNE0.js +0 -127
- package/dist/channel.runtime-r4tPuPyh.js +0 -171
- package/dist/channel.setup-B7d_grfe.js +0 -6
- package/dist/channel.setup-C0vu1fhi.js +0 -9
- package/dist/channel.setup-CAI0FNHj.js +0 -11
- package/dist/channel.setup-CkDVwv5R.js +0 -57
- package/dist/channel.setup-Cpd00YqQ.js +0 -8
- package/dist/channel.setup-DbBz1-WT.js +0 -9
- package/dist/channel.setup-GZnAvD9g.js +0 -8
- package/dist/channels-5H484RSw.js +0 -1118
- package/dist/channels-BnPudfyx.js +0 -404
- package/dist/channels-cli-WIC-QeH_.js +0 -291
- package/dist/channels-status-issues-RDmzovJU.js +0 -16
- package/dist/clawbot-cli-BgutNwf8.js +0 -118
- package/dist/cleanup-utils-DBl1Aij1.js +0 -96
- package/dist/cli-1P7u6zqu.js +0 -154
- package/dist/command-registry-B8jovrws.js +0 -232
- package/dist/command-registry-DtDl1FVm.js +0 -14
- package/dist/command-secret-gateway-BgUo3FxJ.js +0 -111
- package/dist/compact.runtime-CXbXM0AU.js +0 -116
- package/dist/completion-cli-Cik_owAE.js +0 -17
- package/dist/completion-cli-RU3P2RSl.js +0 -445
- package/dist/config-5HUpB1L1.js +0 -31
- package/dist/config-cli-QHaUHoZI.js +0 -433
- package/dist/config-guard-C9Sn3pE-.js +0 -118
- package/dist/config-sW57gztj.js +0 -44
- package/dist/config-validation-5LkjIKNt.js +0 -262
- package/dist/config-value-CtTWALxG.js +0 -132
- package/dist/configure-BmR2TPLf.js +0 -243
- package/dist/configure-DaLN-5xM.js +0 -1100
- package/dist/control-ui-assets-CH3MYmAo.js +0 -232
- package/dist/control-ui-shared-CA77PTml.js +0 -29
- package/dist/core-CvDzLs7B.js +0 -150
- package/dist/core-jm751KJ9.d.ts +0 -87
- package/dist/cron-cli-tguLpzyq.js +0 -639
- package/dist/daemon-cli-ptosOkL8.js +0 -339
- package/dist/daemon-install-DzU4EnVa.js +0 -180
- package/dist/deliver-DwxFoHM3.js +0 -111
- package/dist/deliver-runtime-DOdDyaPI.js +0 -111
- package/dist/device-id-cli-GopvlxxZ.js +0 -52
- package/dist/device-identity-CRfhC3_s.js +0 -365
- package/dist/devices-cli-ain7ESqU.js +0 -342
- package/dist/diagnostic-D96Xaqrj.js +0 -310
- package/dist/directory-cli-fh1UxGgY.js +0 -311
- package/dist/directory-config-helpers-Coivm0Mt.d.ts +0 -38
- package/dist/directory.static-CKjJUNGl.js +0 -44
- package/dist/discord-CflhwDEM.js +0 -114
- package/dist/discovery-x0ZqY4AB.js +0 -48
- package/dist/dm-policy-shared-DKzsSLlO.d.ts +0 -95
- package/dist/dns-cli-DCHyKjGf.js +0 -217
- package/dist/docs-cli-D3OoqYSP.js +0 -174
- package/dist/doctor-completion-Bq2eP87s.js +0 -90
- package/dist/doctor-config-flow-D8XRG9Ku.js +0 -2437
- package/dist/doctor-config-flow-DGiF1HGc.js +0 -112
- package/dist/enable-0QSF4YGH.js +0 -24
- package/dist/exec-approvals-cli-Bncym0Gd.js +0 -421
- package/dist/feishu-C1dM8pl2.d.ts +0 -36
- package/dist/gateway-cli-DYscsmA-.js +0 -26437
- package/dist/gateway-install-token-CNv17ac9.js +0 -163
- package/dist/gateway-rpc-BGC1Rxvg.js +0 -26
- package/dist/gateway-runtime-D89mSQPB.js +0 -69
- package/dist/git-commit-CeLH5Ozm.js +0 -2
- package/dist/git-commit-DUKRiCP-.js +0 -177
- package/dist/googlechat-BgXeXjd1.js +0 -307
- package/dist/googlechat-CNZQb1jd.d.ts +0 -12
- package/dist/group-access-Deh1tVNr.d.ts +0 -61
- package/dist/health-BEjzWwaB.js +0 -570
- package/dist/health-FjqrWQL6.js +0 -113
- package/dist/heartbeat-summary-CfdSA9M1.js +0 -57
- package/dist/help-BZeVprq1.js +0 -81
- package/dist/hooks-06OUQvAV.d.ts +0 -6
- package/dist/hooks-cli-B7uGJs2O.js +0 -1000
- package/dist/hooks-status-CfceaUSg.js +0 -78
- package/dist/http-registry-DYskWhOr.d.ts +0 -20
- package/dist/identity-file-sshkKKIr.js +0 -60
- package/dist/image-generation-D4o3j8o6.d.ts +0 -9
- package/dist/imessage-BcV3WGx_.js +0 -31
- package/dist/imessage-Dhje7Ty-.js +0 -115
- package/dist/inbound-reply-dispatch-C73_7SOl.js +0 -71
- package/dist/inbound-reply-dispatch-D6_HNqH8.d.ts +0 -72
- package/dist/install-target-D7NRhfzc.js +0 -574
- package/dist/installs-Bj6jblqc.js +0 -532
- package/dist/io-CMfWWPXQ.js +0 -9738
- package/dist/io-CV844hAM.js +0 -29
- package/dist/irc-DKi1fDYI.js +0 -672
- package/dist/library-rygTG3oA.js +0 -112
- package/dist/lifecycle-core-BPlvShWY.js +0 -382
- package/dist/line-B8gTtl3Y.d.ts +0 -75
- package/dist/line-CGsemKWJ.js +0 -530
- package/dist/llm-slug-generator-DlhVyMqT.js +0 -67
- package/dist/logging-5wu9k6w4.js +0 -30
- package/dist/logging-CxP9suT8.js +0 -13
- package/dist/login-qr-BcDsiwHs.js +0 -233
- package/dist/login-qr-Y8pJ5yV4.js +0 -112
- package/dist/logs-cli-XI9oVXpH.js +0 -256
- package/dist/manager-runtime-DkIlXBhD.js +0 -111
- package/dist/manager.runtime-Q0q2rJCC.js +0 -715
- package/dist/manifest-registry-DAd0SRAP.js +0 -1329
- package/dist/matrix-BI0DBBrG.js +0 -1495
- package/dist/matrix-D2JoHzb4.d.ts +0 -68
- package/dist/matrix-DiABGjJR.js +0 -1269
- package/dist/mcp-cli-BOyn_DLL.js +0 -87
- package/dist/media-understanding.runtime-DjUa7Dka.js +0 -116
- package/dist/memory-cli-CJd_vl-Y.js +0 -111
- package/dist/memory-search-CEEItIFR.js +0 -17
- package/dist/memory-search-Cv1SBrn7.js +0 -204
- package/dist/method-scopes-CQE7-bZ-.js +0 -2452
- package/dist/model-auth-markers-BFoM4IPf.d.ts +0 -20
- package/dist/model-picker-D6_89XHg.js +0 -112
- package/dist/model-picker-Svaw-APs.js +0 -390
- package/dist/model-picker.runtime-Chi9nV7A.js +0 -125
- package/dist/model-selection-hL8i1Jbs.js +0 -653
- package/dist/model-suppression.runtime-DjWJZ0X-.js +0 -116
- package/dist/models-7qj1dG_W.js +0 -118
- package/dist/models-BPOB_xJF.js +0 -2514
- package/dist/models-cli-DdlOVUjS.js +0 -309
- package/dist/models-config-CBqUS-jX.js +0 -111
- package/dist/models-config.providers.discovery-Dc905FWG.d.ts +0 -18
- package/dist/moldclaw-root-D6PbhbZk.js +0 -88
- package/dist/monitor-BPYhkEqF.js +0 -782
- package/dist/monitor-BuTcQ24j.js +0 -3468
- package/dist/monitor-CuXvNhFh.js +0 -113
- package/dist/monitor-D-TqSIHF.js +0 -6823
- package/dist/monitor-DRSgo9u2.js +0 -3076
- package/dist/monitor-DcHch39z.js +0 -772
- package/dist/monitor-DsHBMrXp.js +0 -115
- package/dist/monitor-shared-CL8T4gt1.js +0 -444
- package/dist/msteams-7FMwTvQG.js +0 -852
- package/dist/node-cli-BCjaSCZM.js +0 -2503
- package/dist/node-resolve-D5Hvcgyx.js +0 -835
- package/dist/nodes-cli-Dd_SNbkt.js +0 -1380
- package/dist/nostr-DBTFTxKs.js +0 -8744
- package/dist/nostr-DLqaIuZx.d.ts +0 -7
- package/dist/npm-resolution-CYfb3MHG.js +0 -60
- package/dist/oauth-env-zPt5RywA.js +0 -10
- package/dist/onboard-BEFQQeig.js +0 -25
- package/dist/onboard-CJHNyxJh.js +0 -48
- package/dist/onboard-D_3UeLEN.js +0 -589
- package/dist/onboard-channels-B_JL0Djc.js +0 -1241
- package/dist/onboard-channels-CqZzHt2C.js +0 -205
- package/dist/onboard-custom-CER3Ggbq.js +0 -571
- package/dist/onboard-custom-bNRdGECb.js +0 -114
- package/dist/onboard-helpers-BK0Hsb7Y.js +0 -335
- package/dist/onboard-helpers-CXZ5RPoR.js +0 -113
- package/dist/onboard-hooks-1NsxEDjH.js +0 -72
- package/dist/onboard-remote-DuKhC_7W.js +0 -117
- package/dist/onboard-remote-OwRcDuB3.js +0 -181
- package/dist/onboard-search-Cy8dOq2W.js +0 -302
- package/dist/onboard-skills-D5phRa6r.js +0 -117
- package/dist/onboard-skills-c9qWCNe9.js +0 -133
- package/dist/outbound-media-CXKqTh2X.d.ts +0 -11
- package/dist/outbound-media-DYRO2vTD.js +0 -11
- package/dist/pairing-access-BwJu1mkk.d.ts +0 -21
- package/dist/pairing-cli-BOnv0TYn.js +0 -217
- package/dist/perplexity-EZwC3y2b.js +0 -24
- package/dist/persistent-dedupe-hNES5tS1.d.ts +0 -26
- package/dist/pi-model-discovery-runtime-BToY3A6K.js +0 -111
- package/dist/pi-tools.before-tool-call.runtime-D_acPtld.js +0 -381
- package/dist/plugin-install-CgJpSjYd.js +0 -184
- package/dist/plugin-install-Cl1A4EF6.js +0 -117
- package/dist/plugin-install-plan-Dc2Z4DeU.js +0 -49
- package/dist/plugin-registry-B1UaWrQD.js +0 -49
- package/dist/plugin-registry-Cy8biwnn.js +0 -113
- package/dist/plugins-CXwvg50F.js +0 -111
- package/dist/plugins-cli-Uvzp2aYV.js +0 -917
- package/dist/policy-DsMBbEe7.js +0 -143
- package/dist/preflight-audio.runtime-hWsZIYvc.js +0 -116
- package/dist/probe-CNsSf1Uf.js +0 -6329
- package/dist/probe-CqOIrPhb.js +0 -47
- package/dist/probe-DH6gDw-h.js +0 -129
- package/dist/probe-DM16PLf4.js +0 -21
- package/dist/probe-DvAEEWYr.js +0 -1793
- package/dist/probe-auth-COfgCble.js +0 -48
- package/dist/probe-auth-I_5TX1Eh.js +0 -40
- package/dist/program-Dz80sgTU.js +0 -253
- package/dist/prompt-select-styled-wQehwFxK.js +0 -2673
- package/dist/provider-api-key-auth.runtime-BR9GU4ya.js +0 -121
- package/dist/provider-auth-choice-CdhA84kr.js +0 -126
- package/dist/provider-auth-choice-helpers-kabp_0zA.js +0 -48
- package/dist/provider-auth-choice-preference-se3zAM_2.js +0 -189
- package/dist/provider-auth-choice.runtime-BMc8-xNQ.js +0 -123
- package/dist/provider-auth-choices-CYsCViGi.js +0 -57
- package/dist/provider-auth-guidance-CMjUWlNf.js +0 -34
- package/dist/provider-auth-result-5xgWoVGi.d.ts +0 -18
- package/dist/provider-models-BCId_Lfu.js +0 -2113
- package/dist/provider-models-D-eFl9oH.d.ts +0 -867
- package/dist/provider-ollama-setup-B6XJZ0So.js +0 -314
- package/dist/provider-ollama-setup-BF1vhob8.d.ts +0 -32
- package/dist/provider-onboard-BjXHP3IZ.d.ts +0 -40
- package/dist/provider-onboard-Ca0TaNud.js +0 -139
- package/dist/provider-runtime.runtime-DwwkHw_7.js +0 -111
- package/dist/provider-self-hosted-setup-BEKLVGpj.js +0 -182
- package/dist/provider-self-hosted-setup-BQ5BIlpi.d.ts +0 -61
- package/dist/provider-stream-DrUD69ai.js +0 -512
- package/dist/provider-usage-BgKHCnjr.js +0 -111
- package/dist/provider-usage-D8EZpFz9.js +0 -633
- package/dist/provider-wizard-DMdb-zj_.js +0 -152
- package/dist/push-apns-BPH6d4VV.js +0 -1038
- package/dist/pw-ai-DttfldtL.js +0 -1867
- package/dist/qmd-manager-CybcDUfk.js +0 -1570
- package/dist/qr-cli-8NcmJ8Ft.js +0 -369
- package/dist/qr-cli-DWe0Our3.js +0 -113
- package/dist/reactions-D6N0LR16.js +0 -281
- package/dist/read-only-account-inspect.discord.runtime-CqUWTRfl.js +0 -116
- package/dist/read-only-account-inspect.slack.runtime-9-jpln3q.js +0 -116
- package/dist/read-only-account-inspect.telegram.runtime-EKPI1D7n.js +0 -116
- package/dist/redact-snapshot-DwJEIVk9.js +0 -2663
- package/dist/register.agent-D3YdDirP.js +0 -439
- package/dist/register.backup-dR27qCuo.js +0 -625
- package/dist/register.configure-BjFhkkka.js +0 -252
- package/dist/register.maintenance-DiMQJIOa.js +0 -574
- package/dist/register.message-CdZsKYH1.js +0 -709
- package/dist/register.onboard-B0rV1eaO.js +0 -192
- package/dist/register.setup-wKMvohzo.js +0 -212
- package/dist/register.status-health-sessions-BJ68m6pt.js +0 -498
- package/dist/register.subclis-CnnrWt2a.js +0 -315
- package/dist/register.subclis-lSvTkC6z.js +0 -13
- package/dist/replies-BABt9b48.js +0 -110
- package/dist/resolve-channels-BqZFl2Ux.js +0 -262
- package/dist/resolve-channels-DjQLXb7B.js +0 -226
- package/dist/resolve-route-CSHDsa_m.js +0 -538
- package/dist/resolve-users-BG6HaSR5.js +0 -143
- package/dist/root-help-ohmaCyC_.js +0 -32
- package/dist/routes-4k2kpvoT.js +0 -7097
- package/dist/rpc-Cnwn4Q6L.js +0 -67
- package/dist/run-main-VYlacKA0.js +0 -424
- package/dist/runtime-Cy8pqYUB.d.ts +0 -26
- package/dist/runtime-discord-ops.runtime-DafrU-rI.js +0 -9078
- package/dist/runtime-slack-ops.runtime-CdXBKXwd.js +0 -4556
- package/dist/runtime-telegram-ops.runtime-B12sF7gE.js +0 -133
- package/dist/runtime-whatsapp-login.runtime-CqEudH37.js +0 -114
- package/dist/runtime-whatsapp-outbound.runtime-D5m2qyn-.js +0 -117
- package/dist/sandbox-cli-CHJiEWXB.js +0 -535
- package/dist/search-manager-BtNC3-i_.js +0 -16
- package/dist/search-manager-C7J7B3_a.js +0 -386
- package/dist/secrets-cli-C6yIWBbN.js +0 -2070
- package/dist/security-cli-BVu9BkjD.js +0 -575
- package/dist/send-BSreC7rr.js +0 -631
- package/dist/send-BsLHQG_B.js +0 -1025
- package/dist/send-BuNhp8PH.js +0 -283
- package/dist/send-DOCswVar.js +0 -100
- package/dist/send-Dl0LLErk.js +0 -629
- package/dist/server-node-events-Bq2067EG.js +0 -506
- package/dist/server-y38L7N5H.js +0 -107
- package/dist/sessions-BV8gXURR.js +0 -112
- package/dist/sessions-dl1Kc-Ci.js +0 -218
- package/dist/setup-DGszQH0_.js +0 -387
- package/dist/setup-DR5rRw9y.d.ts +0 -37
- package/dist/setup-binary-C17YnmA8.js +0 -406
- package/dist/setup-browser-CPx-nEsr.js +0 -70
- package/dist/setup-core-BByHN1ME.js +0 -143
- package/dist/setup-core-C0KPlBmL.js +0 -47
- package/dist/setup-core-Cq37G6of.js +0 -166
- package/dist/setup-core-uO84_Y75.js +0 -205
- package/dist/setup-surface-BEMi7Rmb.js +0 -490
- package/dist/setup-wizard-helpers-BtuGx_gN.d.ts +0 -203
- package/dist/setup.finalize-BzPBa8zW.js +0 -522
- package/dist/setup.gateway-config-DdwkF-8e.js +0 -343
- package/dist/shared-BCw4SKjB.js +0 -96
- package/dist/shared-CjNzsULP.js +0 -75
- package/dist/shared-Cu1BE7ZE.js +0 -298
- package/dist/shared-DSClmyUn.js +0 -182
- package/dist/shared-DyJdGH6y.js +0 -102
- package/dist/signal-Dyv4NZsB.js +0 -114
- package/dist/skills-CbB5b27M.js +0 -853
- package/dist/skills-CnfI7Szw.js +0 -20
- package/dist/skills-cli-CavB1f_3.js +0 -292
- package/dist/skills-install-B1OBdgd0.js +0 -763
- package/dist/skills-status-B3gAmIbW.js +0 -169
- package/dist/skills-status-DrHhFgU9.js +0 -21
- package/dist/slack-BRzqnoAz.js +0 -114
- package/dist/slash-commands.runtime-BK88kgds.js +0 -128
- package/dist/slash-dispatch.runtime-COGywwJE.js +0 -141
- package/dist/slash-skill-commands.runtime-Ti4brxgh.js +0 -116
- package/dist/src-DUR6OQxI.js +0 -1701
- package/dist/status-C6dgQY9a.js +0 -131
- package/dist/status-CNK0Q7QH.js +0 -606
- package/dist/status-DBcX0DSC.js +0 -43
- package/dist/status-DKgFgbwv.js +0 -1599
- package/dist/status-Wn5lhNAc.js +0 -126
- package/dist/status-json-D2EkWqAl.js +0 -288
- package/dist/status.link-channel-D3ULIdEa.js +0 -143
- package/dist/status.scan.deps.runtime-BsjWTAm4.js +0 -126
- package/dist/status.scan.runtime-D4HbzROD.js +0 -119
- package/dist/status.summary-C3YxPrDK.js +0 -592
- package/dist/status.summary.runtime-DAkXPSaK.js +0 -118
- package/dist/status.update-B4NnN9P1.js +0 -77
- package/dist/subagent-orphan-recovery-QiQEBv36.js +0 -307
- package/dist/subagent-registry-runtime-BJatPQFK.js +0 -111
- package/dist/subscription-BhZORXN9.js +0 -100
- package/dist/subscription-QEUjQRMv.js +0 -33
- package/dist/subscription-cli-HrULlAgc.js +0 -134
- package/dist/synology-chat-DB76GWMN.js +0 -297
- package/dist/system-cli-D8jDwWuL.js +0 -94
- package/dist/telegram-BHiiqKkQ.js +0 -114
- package/dist/text-chunking-Baonm9Lu.js +0 -84
- package/dist/text-chunking-Y3dPBOuZ.d.ts +0 -79
- package/dist/tlon-DLESxNgD.js +0 -433
- package/dist/tui-C75zi2Cl.js +0 -3834
- package/dist/tui-cli-DFwx5e6i.js +0 -137
- package/dist/types-BBJ3Qz7j.d.ts +0 -45
- package/dist/types-Ckufs_BY.d.ts +0 -22692
- package/dist/types.base-Cw0-zIvE.d.ts +0 -188
- package/dist/ui-B55NOIB6.js +0 -31
- package/dist/update--ojavYQ4.js +0 -1036
- package/dist/update-cli-Cvj5aWYM.js +0 -1503
- package/dist/update-offset-store-upatuWwX.js +0 -112
- package/dist/update-runner-DHkY_-76.js +0 -1496
- package/dist/upsert-with-lock-C171GLaR.js +0 -33
- package/dist/usage-N3bxnbmt.js +0 -115
- package/dist/web-RdvT7gKa.js +0 -112
- package/dist/web-shared-HSGD3yGt.d.ts +0 -45
- package/dist/webhook-request-guards-CosLyl01.d.ts +0 -76
- package/dist/webhook-targets-Bfnag-du.js +0 -181
- package/dist/webhook-targets-Di17rt8e.d.ts +0 -106
- package/dist/webhooks-cli-ZpnXrq7G.js +0 -350
- package/dist/whatsapp-DNTAyZHt.js +0 -114
- package/dist/whatsapp-actions-o1zKQzKZ.js +0 -167
- package/dist/workspace-CpWi5wPr.js +0 -479
- package/dist/workspace-Ii7aRS7c.js +0 -289
- package/dist/workspace-dirs-x10McA9t.js +0 -2003
- package/dist/zalo-BN3VCrRY.d.ts +0 -9
- package/dist/zalo-zm_bYCKg.js +0 -415
- package/dist/zalouser-CvVEUvc5.js +0 -30911
- /package/dist/{account-id-B3YSn4hl.d.ts → account-id-B8ce6G_4.d.ts} +0 -0
- /package/dist/{acpx-CnNv70m2.d.ts → acpx-Ci50I9T2.d.ts} +0 -0
- /package/dist/{agent-media-payload-DE2pEcsz.d.ts → agent-media-payload-en-gS5p6.d.ts} +0 -0
- /package/dist/{allow-from-DPpHnT2A.d.ts → allow-from-cMeQ47Ot.d.ts} +0 -0
- /package/dist/{allowlist-resolution-CLFiZ6nE.d.ts → allowlist-resolution-DoAWbfXV.d.ts} +0 -0
- /package/dist/{bluebubbles-Duhu-Jer.d.ts → bluebubbles-C6yYmUl0.d.ts} +0 -0
- /package/dist/{boolean-param-BhFjB3gp.d.ts → boolean-param-CdO2TFTk.d.ts} +0 -0
- /package/dist/{channel-config-schema-DnnVMdjR.d.ts → channel-config-schema-Chp38wel.d.ts} +0 -0
- /package/dist/{channel-policy-Baq-Z06b.d.ts → channel-policy-g2h6AbYQ.d.ts} +0 -0
- /package/dist/{chat-type-DpiBgwuG.d.ts → chat-type-BLt59pPT.d.ts} +0 -0
- /package/dist/{command-format-vi4xq8e8.d.ts → command-format-BDJC05Jp.d.ts} +0 -0
- /package/dist/{diffs-DK7fVSDo.d.ts → diffs-D_iNKCyn.d.ts} +0 -0
- /package/dist/{directory-runtime-BTLPaysA.d.ts → directory-runtime-DhMex6HY.d.ts} +0 -0
- /package/dist/{exec-C01wtBHu.d.ts → exec-pjfUY4KM.d.ts} +0 -0
- /package/dist/{gaxios-fetch-compat-wZ38b3w3.js → gaxios-fetch-compat-B_vtINdV.js} +0 -0
- /package/dist/{history-CwXuP2TW.d.ts → history-aqSS5VGQ.d.ts} +0 -0
- /package/dist/{inbound-envelope-SggrBs9m.d.ts → inbound-envelope-C5hWuZod.d.ts} +0 -0
- /package/dist/{index-apAZHsDo.d.ts → index-DXVQFYGX.d.ts} +0 -0
- /package/dist/{json-store-r75IZGk9.d.ts → json-store-UnqQ5aV3.d.ts} +0 -0
- /package/dist/{keyed-async-queue-DHIr7yNe.d.ts → keyed-async-queue-guucpLw3.d.ts} +0 -0
- /package/dist/{links-HeQ3r_L0.d.ts → links-Bar0meEK.d.ts} +0 -0
- /package/dist/{markdown-to-line-CDb4Jy3V.d.ts → markdown-to-line-D8uH_KOj.d.ts} +0 -0
- /package/dist/{mattermost-DtCsxpgg.d.ts → mattermost-xl7jAFJL.d.ts} +0 -0
- /package/dist/{net-BATPDwdQ.d.ts → net-rGOKGds6.d.ts} +0 -0
- /package/dist/{nextcloud-talk-Bb2wHOwp.d.ts → nextcloud-talk-De2CZ9dV.d.ts} +0 -0
- /package/dist/{oauth-utils-u567CLT0.d.ts → oauth-utils-DzN1AlEH.d.ts} +0 -0
- /package/dist/{parse-finite-number-l3tNlrZh.d.ts → parse-finite-number-odgyqhi0.d.ts} +0 -0
- /package/dist/{provider-usage.types-C6061OVN.d.ts → provider-usage.types-EDE9o-H_.d.ts} +0 -0
- /package/dist/{reply-history-BDsFnZFl.d.ts → reply-history-CVuU31xe.d.ts} +0 -0
- /package/dist/{reply-payload-CCvM4W9u.d.ts → reply-payload-CHkpBYwL.d.ts} +0 -0
- /package/dist/{request-url-C54l4-xC.d.ts → request-url-DHisbiHY.d.ts} +0 -0
- /package/dist/{run-command-D3RqWcHu.d.ts → run-command-y0Cndsb1.d.ts} +0 -0
- /package/dist/{secret-input-schema-BLBt-NAP.d.ts → secret-input-schema-b1vpYDQN.d.ts} +0 -0
- /package/dist/{session-key-BQ2-bR-9.d.ts → session-key-DTHQl57f.d.ts} +0 -0
- /package/dist/{ssh-config-C4mcH9Ly.js → ssh-config-hEHBfU2_.js} +0 -0
- /package/dist/{testing-DLkhGsoz.d.ts → testing-DszuZXgK.d.ts} +0 -0
- /package/dist/{thinking-DRkjX18p.d.ts → thinking-IwXTGSeT.d.ts} +0 -0
- /package/dist/{tool-send-CMMD1uDu.d.ts → tool-send-DWHRmKpz.d.ts} +0 -0
- /package/dist/{vllm-defaults-CcGuf4hL.d.ts → vllm-defaults-CrxZgE6-.d.ts} +0 -0
- /package/dist/{wait-Daog8bxM.d.ts → wait-wDWw_MTI.d.ts} +0 -0
- /package/dist/{webhook-memory-guards-C5MrExwT.d.ts → webhook-memory-guards-DreORuJy.d.ts} +0 -0
- /package/dist/{windows-spawn-j2l-dqu8.d.ts → windows-spawn-BIzH92x2.d.ts} +0 -0
- /package/dist/{zod-schema.agent-runtime-krMrBnIn.d.ts → zod-schema.agent-runtime-CP2rmis3.d.ts} +0 -0
- /package/dist/{zod-schema.core-BNDieZDZ.d.ts → zod-schema.core-Foi1tYwi.d.ts} +0 -0
package/dist/msteams-7FMwTvQG.js
DELETED
|
@@ -1,852 +0,0 @@
|
|
|
1
|
-
import { o as __toESM } from "./chunk-DORXReHP.js";
|
|
2
|
-
import { t as formatDocsLink } from "./links-BcahUP5U.js";
|
|
3
|
-
import { Ag as setTopLevelChannelDmPolicyWithAllowFrom, Mg as splitSetupEntries, jg as setTopLevelChannelGroupPolicy, kg as setTopLevelChannelAllowFrom, ug as mergeAllowFromEntries } from "./auth-profiles-1kPLbBwI.js";
|
|
4
|
-
import { t as DEFAULT_ACCOUNT_ID } from "./account-id-BuyZMNja.js";
|
|
5
|
-
import { a as hasConfiguredSecretInput, c as normalizeResolvedSecretInputString, l as normalizeSecretInputString } from "./types.secrets-Ca-9L8vU.js";
|
|
6
|
-
import { _ as isPrivateIpAddress } from "./image-ops-Ck_D_vpe.js";
|
|
7
|
-
import { t as mapAllowlistResolutionInputs } from "./allowlist-resolution-DouZrq28.js";
|
|
8
|
-
import { lookup } from "node:dns/promises";
|
|
9
|
-
//#region src/plugin-sdk/ssrf-policy.ts
|
|
10
|
-
function normalizeHostnameSuffix(value) {
|
|
11
|
-
const trimmed = value.trim().toLowerCase();
|
|
12
|
-
if (!trimmed) return "";
|
|
13
|
-
if (trimmed === "*" || trimmed === "*.") return "*";
|
|
14
|
-
return trimmed.replace(/^\*\.?/, "").replace(/^\.+/, "").replace(/\.+$/, "");
|
|
15
|
-
}
|
|
16
|
-
function isHostnameAllowedBySuffixAllowlist(hostname, allowlist) {
|
|
17
|
-
if (allowlist.includes("*")) return true;
|
|
18
|
-
const normalized = hostname.toLowerCase();
|
|
19
|
-
return allowlist.some((entry) => normalized === entry || normalized.endsWith(`.${entry}`));
|
|
20
|
-
}
|
|
21
|
-
/** Normalize suffix-style host allowlists into lowercase canonical entries with wildcard collapse. */
|
|
22
|
-
function normalizeHostnameSuffixAllowlist(input, defaults) {
|
|
23
|
-
const source = input && input.length > 0 ? input : defaults;
|
|
24
|
-
if (!source || source.length === 0) return [];
|
|
25
|
-
const normalized = source.map(normalizeHostnameSuffix).filter(Boolean);
|
|
26
|
-
if (normalized.includes("*")) return ["*"];
|
|
27
|
-
return Array.from(new Set(normalized));
|
|
28
|
-
}
|
|
29
|
-
/** Check whether a URL is HTTPS and its hostname matches the normalized suffix allowlist. */
|
|
30
|
-
function isHttpsUrlAllowedByHostnameSuffixAllowlist(url, allowlist) {
|
|
31
|
-
try {
|
|
32
|
-
const parsed = new URL(url);
|
|
33
|
-
if (parsed.protocol !== "https:") return false;
|
|
34
|
-
return isHostnameAllowedBySuffixAllowlist(parsed.hostname, allowlist);
|
|
35
|
-
} catch {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Converts suffix-style host allowlists (for example "example.com") into SSRF
|
|
41
|
-
* hostname allowlist patterns used by the shared fetch guard.
|
|
42
|
-
*
|
|
43
|
-
* Suffix semantics:
|
|
44
|
-
* - "example.com" allows "example.com" and "*.example.com"
|
|
45
|
-
* - "*" disables hostname allowlist restrictions
|
|
46
|
-
*/
|
|
47
|
-
function buildHostnameAllowlistPolicyFromSuffixAllowlist(allowHosts) {
|
|
48
|
-
const normalizedAllowHosts = normalizeHostnameSuffixAllowlist(allowHosts);
|
|
49
|
-
if (normalizedAllowHosts.length === 0) return;
|
|
50
|
-
const patterns = /* @__PURE__ */ new Set();
|
|
51
|
-
for (const normalized of normalizedAllowHosts) {
|
|
52
|
-
if (normalized === "*") return;
|
|
53
|
-
patterns.add(normalized);
|
|
54
|
-
patterns.add(`*.${normalized}`);
|
|
55
|
-
}
|
|
56
|
-
if (patterns.size === 0) return;
|
|
57
|
-
return { hostnameAllowlist: Array.from(patterns) };
|
|
58
|
-
}
|
|
59
|
-
//#endregion
|
|
60
|
-
//#region extensions/msteams/src/attachments/shared.ts
|
|
61
|
-
const IMAGE_EXT_RE = /\.(avif|bmp|gif|heic|heif|jpe?g|png|tiff?|webp)$/i;
|
|
62
|
-
const IMG_SRC_RE = /<img[^>]+src=["']([^"']+)["'][^>]*>/gi;
|
|
63
|
-
const ATTACHMENT_TAG_RE = /<attachment[^>]+id=["']([^"']+)["'][^>]*>/gi;
|
|
64
|
-
const DEFAULT_MEDIA_HOST_ALLOWLIST = [
|
|
65
|
-
"graph.microsoft.com",
|
|
66
|
-
"graph.microsoft.us",
|
|
67
|
-
"graph.microsoft.de",
|
|
68
|
-
"graph.microsoft.cn",
|
|
69
|
-
"sharepoint.com",
|
|
70
|
-
"sharepoint.us",
|
|
71
|
-
"sharepoint.de",
|
|
72
|
-
"sharepoint.cn",
|
|
73
|
-
"sharepoint-df.com",
|
|
74
|
-
"1drv.ms",
|
|
75
|
-
"onedrive.com",
|
|
76
|
-
"teams.microsoft.com",
|
|
77
|
-
"teams.cdn.office.net",
|
|
78
|
-
"statics.teams.cdn.office.net",
|
|
79
|
-
"office.com",
|
|
80
|
-
"office.net",
|
|
81
|
-
"asm.skype.com",
|
|
82
|
-
"ams.skype.com",
|
|
83
|
-
"media.ams.skype.com",
|
|
84
|
-
"trafficmanager.net",
|
|
85
|
-
"blob.core.windows.net",
|
|
86
|
-
"azureedge.net",
|
|
87
|
-
"microsoft.com"
|
|
88
|
-
];
|
|
89
|
-
const DEFAULT_MEDIA_AUTH_HOST_ALLOWLIST = [
|
|
90
|
-
"api.botframework.com",
|
|
91
|
-
"botframework.com",
|
|
92
|
-
"graph.microsoft.com",
|
|
93
|
-
"graph.microsoft.us",
|
|
94
|
-
"graph.microsoft.de",
|
|
95
|
-
"graph.microsoft.cn"
|
|
96
|
-
];
|
|
97
|
-
const GRAPH_ROOT = "https://graph.microsoft.com/v1.0";
|
|
98
|
-
function isRecord(value) {
|
|
99
|
-
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
100
|
-
}
|
|
101
|
-
function resolveRequestUrl(input) {
|
|
102
|
-
if (typeof input === "string") return input;
|
|
103
|
-
if (input instanceof URL) return input.toString();
|
|
104
|
-
if (typeof input === "object" && input && "url" in input && typeof input.url === "string") return input.url;
|
|
105
|
-
return String(input);
|
|
106
|
-
}
|
|
107
|
-
function normalizeContentType(value) {
|
|
108
|
-
if (typeof value !== "string") return;
|
|
109
|
-
const trimmed = value.trim();
|
|
110
|
-
return trimmed ? trimmed : void 0;
|
|
111
|
-
}
|
|
112
|
-
function inferPlaceholder(params) {
|
|
113
|
-
const mime = params.contentType?.toLowerCase() ?? "";
|
|
114
|
-
const name = params.fileName?.toLowerCase() ?? "";
|
|
115
|
-
const fileType = params.fileType?.toLowerCase() ?? "";
|
|
116
|
-
return mime.startsWith("image/") || IMAGE_EXT_RE.test(name) || IMAGE_EXT_RE.test(`x.${fileType}`) ? "<media:image>" : "<media:document>";
|
|
117
|
-
}
|
|
118
|
-
function isLikelyImageAttachment(att) {
|
|
119
|
-
const contentType = normalizeContentType(att.contentType) ?? "";
|
|
120
|
-
const name = typeof att.name === "string" ? att.name : "";
|
|
121
|
-
if (contentType.startsWith("image/")) return true;
|
|
122
|
-
if (IMAGE_EXT_RE.test(name)) return true;
|
|
123
|
-
if (contentType === "application/vnd.microsoft.teams.file.download.info" && isRecord(att.content)) {
|
|
124
|
-
const fileType = typeof att.content.fileType === "string" ? att.content.fileType : "";
|
|
125
|
-
if (fileType && IMAGE_EXT_RE.test(`x.${fileType}`)) return true;
|
|
126
|
-
const fileName = typeof att.content.fileName === "string" ? att.content.fileName : "";
|
|
127
|
-
if (fileName && IMAGE_EXT_RE.test(fileName)) return true;
|
|
128
|
-
}
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Returns true if the attachment can be downloaded (any file type).
|
|
133
|
-
* Used when downloading all files, not just images.
|
|
134
|
-
*/
|
|
135
|
-
function isDownloadableAttachment(att) {
|
|
136
|
-
if ((normalizeContentType(att.contentType) ?? "") === "application/vnd.microsoft.teams.file.download.info" && isRecord(att.content) && typeof att.content.downloadUrl === "string") return true;
|
|
137
|
-
if (typeof att.contentUrl === "string" && att.contentUrl.trim()) return true;
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
function isHtmlAttachment(att) {
|
|
141
|
-
return (normalizeContentType(att.contentType) ?? "").startsWith("text/html");
|
|
142
|
-
}
|
|
143
|
-
function extractHtmlFromAttachment(att) {
|
|
144
|
-
if (!isHtmlAttachment(att)) return;
|
|
145
|
-
if (typeof att.content === "string") return att.content;
|
|
146
|
-
if (!isRecord(att.content)) return;
|
|
147
|
-
return typeof att.content.text === "string" ? att.content.text : typeof att.content.body === "string" ? att.content.body : typeof att.content.content === "string" ? att.content.content : void 0;
|
|
148
|
-
}
|
|
149
|
-
function decodeDataImage(src) {
|
|
150
|
-
const match = /^data:(image\/[a-z0-9.+-]+)?(;base64)?,(.*)$/i.exec(src);
|
|
151
|
-
if (!match) return null;
|
|
152
|
-
const contentType = match[1]?.toLowerCase();
|
|
153
|
-
if (!Boolean(match[2])) return null;
|
|
154
|
-
const payload = match[3] ?? "";
|
|
155
|
-
if (!payload) return null;
|
|
156
|
-
try {
|
|
157
|
-
return {
|
|
158
|
-
kind: "data",
|
|
159
|
-
data: Buffer.from(payload, "base64"),
|
|
160
|
-
contentType,
|
|
161
|
-
placeholder: "<media:image>"
|
|
162
|
-
};
|
|
163
|
-
} catch {
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
function fileHintFromUrl(src) {
|
|
168
|
-
try {
|
|
169
|
-
return new URL(src).pathname.split("/").pop() || void 0;
|
|
170
|
-
} catch {
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
function extractInlineImageCandidates(attachments) {
|
|
175
|
-
const out = [];
|
|
176
|
-
for (const att of attachments) {
|
|
177
|
-
const html = extractHtmlFromAttachment(att);
|
|
178
|
-
if (!html) continue;
|
|
179
|
-
IMG_SRC_RE.lastIndex = 0;
|
|
180
|
-
let match = IMG_SRC_RE.exec(html);
|
|
181
|
-
while (match) {
|
|
182
|
-
const src = match[1]?.trim();
|
|
183
|
-
if (src && !src.startsWith("cid:")) if (src.startsWith("data:")) {
|
|
184
|
-
const decoded = decodeDataImage(src);
|
|
185
|
-
if (decoded) out.push(decoded);
|
|
186
|
-
} else out.push({
|
|
187
|
-
kind: "url",
|
|
188
|
-
url: src,
|
|
189
|
-
fileHint: fileHintFromUrl(src),
|
|
190
|
-
placeholder: "<media:image>"
|
|
191
|
-
});
|
|
192
|
-
match = IMG_SRC_RE.exec(html);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
return out;
|
|
196
|
-
}
|
|
197
|
-
function safeHostForUrl(url) {
|
|
198
|
-
try {
|
|
199
|
-
return new URL(url).hostname.toLowerCase();
|
|
200
|
-
} catch {
|
|
201
|
-
return "invalid-url";
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
function resolveAllowedHosts(input) {
|
|
205
|
-
return normalizeHostnameSuffixAllowlist(input, DEFAULT_MEDIA_HOST_ALLOWLIST);
|
|
206
|
-
}
|
|
207
|
-
function resolveAuthAllowedHosts(input) {
|
|
208
|
-
return normalizeHostnameSuffixAllowlist(input, DEFAULT_MEDIA_AUTH_HOST_ALLOWLIST);
|
|
209
|
-
}
|
|
210
|
-
function resolveAttachmentFetchPolicy(params) {
|
|
211
|
-
return {
|
|
212
|
-
allowHosts: resolveAllowedHosts(params?.allowHosts),
|
|
213
|
-
authAllowHosts: resolveAuthAllowedHosts(params?.authAllowHosts)
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
function isUrlAllowed(url, allowlist) {
|
|
217
|
-
return isHttpsUrlAllowedByHostnameSuffixAllowlist(url, allowlist);
|
|
218
|
-
}
|
|
219
|
-
function applyAuthorizationHeaderForUrl(params) {
|
|
220
|
-
if (!params.bearerToken) {
|
|
221
|
-
params.headers.delete("Authorization");
|
|
222
|
-
return;
|
|
223
|
-
}
|
|
224
|
-
if (isUrlAllowed(params.url, params.authAllowHosts)) {
|
|
225
|
-
params.headers.set("Authorization", `Bearer ${params.bearerToken}`);
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
params.headers.delete("Authorization");
|
|
229
|
-
}
|
|
230
|
-
function resolveMediaSsrfPolicy(allowHosts) {
|
|
231
|
-
return buildHostnameAllowlistPolicyFromSuffixAllowlist(allowHosts);
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Returns true if the given IPv4 or IPv6 address is in a private, loopback,
|
|
235
|
-
* or link-local range that must never be reached from media downloads.
|
|
236
|
-
*
|
|
237
|
-
* Delegates to the SDK's `isPrivateIpAddress` which handles IPv4-mapped IPv6,
|
|
238
|
-
* expanded notation, NAT64, 6to4, Teredo, octal IPv4, and fails closed on
|
|
239
|
-
* parse errors.
|
|
240
|
-
*/
|
|
241
|
-
const isPrivateOrReservedIP = isPrivateIpAddress;
|
|
242
|
-
/**
|
|
243
|
-
* Resolve a hostname via DNS and reject private/reserved IPs.
|
|
244
|
-
* Throws if the resolved IP is private or resolution fails.
|
|
245
|
-
*/
|
|
246
|
-
async function resolveAndValidateIP(hostname, resolveFn) {
|
|
247
|
-
const resolve = resolveFn ?? lookup;
|
|
248
|
-
let resolved;
|
|
249
|
-
try {
|
|
250
|
-
resolved = await resolve(hostname);
|
|
251
|
-
} catch {
|
|
252
|
-
throw new Error(`DNS resolution failed for "${hostname}"`);
|
|
253
|
-
}
|
|
254
|
-
if (isPrivateOrReservedIP(resolved.address)) throw new Error(`Hostname "${hostname}" resolves to private/reserved IP (${resolved.address})`);
|
|
255
|
-
return resolved.address;
|
|
256
|
-
}
|
|
257
|
-
/** Maximum number of redirects to follow in safeFetch. */
|
|
258
|
-
const MAX_SAFE_REDIRECTS = 5;
|
|
259
|
-
/**
|
|
260
|
-
* Fetch a URL with redirect: "manual", validating each redirect target
|
|
261
|
-
* against the hostname allowlist and optional DNS-resolved IP (anti-SSRF).
|
|
262
|
-
*
|
|
263
|
-
* This prevents:
|
|
264
|
-
* - Auto-following redirects to non-allowlisted hosts
|
|
265
|
-
* - DNS rebinding attacks when a lookup function is provided
|
|
266
|
-
*/
|
|
267
|
-
async function safeFetch(params) {
|
|
268
|
-
const fetchFn = params.fetchFn ?? fetch;
|
|
269
|
-
const resolveFn = params.resolveFn;
|
|
270
|
-
const hasDispatcher = Boolean(params.requestInit && typeof params.requestInit === "object" && "dispatcher" in params.requestInit);
|
|
271
|
-
const currentHeaders = new Headers(params.requestInit?.headers);
|
|
272
|
-
let currentUrl = params.url;
|
|
273
|
-
if (!isUrlAllowed(currentUrl, params.allowHosts)) throw new Error(`Initial download URL blocked: ${currentUrl}`);
|
|
274
|
-
if (resolveFn) try {
|
|
275
|
-
const initialHost = new URL(currentUrl).hostname;
|
|
276
|
-
await resolveAndValidateIP(initialHost, resolveFn);
|
|
277
|
-
} catch {
|
|
278
|
-
throw new Error(`Initial download URL blocked: ${currentUrl}`);
|
|
279
|
-
}
|
|
280
|
-
for (let i = 0; i <= MAX_SAFE_REDIRECTS; i++) {
|
|
281
|
-
const res = await fetchFn(currentUrl, {
|
|
282
|
-
...params.requestInit,
|
|
283
|
-
headers: currentHeaders,
|
|
284
|
-
redirect: "manual"
|
|
285
|
-
});
|
|
286
|
-
if (![
|
|
287
|
-
301,
|
|
288
|
-
302,
|
|
289
|
-
303,
|
|
290
|
-
307,
|
|
291
|
-
308
|
|
292
|
-
].includes(res.status)) return res;
|
|
293
|
-
const location = res.headers.get("location");
|
|
294
|
-
if (!location) return res;
|
|
295
|
-
let redirectUrl;
|
|
296
|
-
try {
|
|
297
|
-
redirectUrl = new URL(location, currentUrl).toString();
|
|
298
|
-
} catch {
|
|
299
|
-
throw new Error(`Invalid redirect URL: ${location}`);
|
|
300
|
-
}
|
|
301
|
-
if (!isUrlAllowed(redirectUrl, params.allowHosts)) throw new Error(`Media redirect target blocked by allowlist: ${redirectUrl}`);
|
|
302
|
-
if (currentHeaders.has("authorization") && params.authorizationAllowHosts && !isUrlAllowed(redirectUrl, params.authorizationAllowHosts)) currentHeaders.delete("authorization");
|
|
303
|
-
if (hasDispatcher) return res;
|
|
304
|
-
if (resolveFn) {
|
|
305
|
-
const redirectHost = new URL(redirectUrl).hostname;
|
|
306
|
-
await resolveAndValidateIP(redirectHost, resolveFn);
|
|
307
|
-
}
|
|
308
|
-
currentUrl = redirectUrl;
|
|
309
|
-
}
|
|
310
|
-
throw new Error(`Too many redirects (>${MAX_SAFE_REDIRECTS})`);
|
|
311
|
-
}
|
|
312
|
-
async function safeFetchWithPolicy(params) {
|
|
313
|
-
return await safeFetch({
|
|
314
|
-
url: params.url,
|
|
315
|
-
allowHosts: params.policy.allowHosts,
|
|
316
|
-
authorizationAllowHosts: params.policy.authAllowHosts,
|
|
317
|
-
fetchFn: params.fetchFn,
|
|
318
|
-
requestInit: params.requestInit,
|
|
319
|
-
resolveFn: params.resolveFn
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
//#endregion
|
|
323
|
-
//#region extensions/msteams/src/sdk.ts
|
|
324
|
-
async function loadMSTeamsSdk() {
|
|
325
|
-
return await import("./src-Bbof4e5g.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1));
|
|
326
|
-
}
|
|
327
|
-
function buildMSTeamsAuthConfig(creds, sdk) {
|
|
328
|
-
return sdk.getAuthConfigWithDefaults({
|
|
329
|
-
clientId: creds.appId,
|
|
330
|
-
clientSecret: creds.appPassword,
|
|
331
|
-
tenantId: creds.tenantId
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
function createMSTeamsAdapter(authConfig, sdk) {
|
|
335
|
-
return new sdk.CloudAdapter(authConfig);
|
|
336
|
-
}
|
|
337
|
-
async function loadMSTeamsSdkWithAuth(creds) {
|
|
338
|
-
const sdk = await loadMSTeamsSdk();
|
|
339
|
-
return {
|
|
340
|
-
sdk,
|
|
341
|
-
authConfig: buildMSTeamsAuthConfig(creds, sdk)
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
//#endregion
|
|
345
|
-
//#region extensions/msteams/src/token-response.ts
|
|
346
|
-
function readAccessToken(value) {
|
|
347
|
-
if (typeof value === "string") return value;
|
|
348
|
-
if (value && typeof value === "object") {
|
|
349
|
-
const token = value.accessToken ?? value.token;
|
|
350
|
-
return typeof token === "string" ? token : null;
|
|
351
|
-
}
|
|
352
|
-
return null;
|
|
353
|
-
}
|
|
354
|
-
//#endregion
|
|
355
|
-
//#region extensions/msteams/src/token.ts
|
|
356
|
-
function hasConfiguredMSTeamsCredentials(cfg) {
|
|
357
|
-
return Boolean(normalizeSecretInputString(cfg?.appId) && hasConfiguredSecretInput(cfg?.appPassword) && normalizeSecretInputString(cfg?.tenantId));
|
|
358
|
-
}
|
|
359
|
-
function resolveMSTeamsCredentials(cfg) {
|
|
360
|
-
const appId = normalizeSecretInputString(cfg?.appId) || normalizeSecretInputString(process.env.MSTEAMS_APP_ID);
|
|
361
|
-
const appPassword = normalizeResolvedSecretInputString({
|
|
362
|
-
value: cfg?.appPassword,
|
|
363
|
-
path: "channels.msteams.appPassword"
|
|
364
|
-
}) || normalizeSecretInputString(process.env.MSTEAMS_APP_PASSWORD);
|
|
365
|
-
const tenantId = normalizeSecretInputString(cfg?.tenantId) || normalizeSecretInputString(process.env.MSTEAMS_TENANT_ID);
|
|
366
|
-
if (!appId || !appPassword || !tenantId) return;
|
|
367
|
-
return {
|
|
368
|
-
appId,
|
|
369
|
-
appPassword,
|
|
370
|
-
tenantId
|
|
371
|
-
};
|
|
372
|
-
}
|
|
373
|
-
//#endregion
|
|
374
|
-
//#region extensions/msteams/src/graph.ts
|
|
375
|
-
function normalizeQuery(value) {
|
|
376
|
-
return value?.trim() ?? "";
|
|
377
|
-
}
|
|
378
|
-
function escapeOData(value) {
|
|
379
|
-
return value.replace(/'/g, "''");
|
|
380
|
-
}
|
|
381
|
-
async function fetchGraphJson(params) {
|
|
382
|
-
const res = await fetch(`${GRAPH_ROOT}${params.path}`, { headers: {
|
|
383
|
-
Authorization: `Bearer ${params.token}`,
|
|
384
|
-
...params.headers
|
|
385
|
-
} });
|
|
386
|
-
if (!res.ok) {
|
|
387
|
-
const text = await res.text().catch(() => "");
|
|
388
|
-
throw new Error(`Graph ${params.path} failed (${res.status}): ${text || "unknown error"}`);
|
|
389
|
-
}
|
|
390
|
-
return await res.json();
|
|
391
|
-
}
|
|
392
|
-
async function resolveGraphToken(cfg) {
|
|
393
|
-
const creds = resolveMSTeamsCredentials(cfg?.channels?.msteams);
|
|
394
|
-
if (!creds) throw new Error("MS Teams credentials missing");
|
|
395
|
-
const { sdk, authConfig } = await loadMSTeamsSdkWithAuth(creds);
|
|
396
|
-
const accessToken = readAccessToken(await new sdk.MsalTokenProvider(authConfig).getAccessToken("https://graph.microsoft.com"));
|
|
397
|
-
if (!accessToken) throw new Error("MS Teams graph token unavailable");
|
|
398
|
-
return accessToken;
|
|
399
|
-
}
|
|
400
|
-
async function listTeamsByName(token, query) {
|
|
401
|
-
const filter = `resourceProvisioningOptions/Any(x:x eq 'Team') and startsWith(displayName,'${escapeOData(query)}')`;
|
|
402
|
-
return (await fetchGraphJson({
|
|
403
|
-
token,
|
|
404
|
-
path: `/groups?$filter=${encodeURIComponent(filter)}&$select=id,displayName`
|
|
405
|
-
})).value ?? [];
|
|
406
|
-
}
|
|
407
|
-
async function listChannelsForTeam(token, teamId) {
|
|
408
|
-
return (await fetchGraphJson({
|
|
409
|
-
token,
|
|
410
|
-
path: `/teams/${encodeURIComponent(teamId)}/channels?$select=id,displayName`
|
|
411
|
-
})).value ?? [];
|
|
412
|
-
}
|
|
413
|
-
//#endregion
|
|
414
|
-
//#region extensions/msteams/src/graph-users.ts
|
|
415
|
-
async function searchGraphUsers(params) {
|
|
416
|
-
const query = params.query.trim();
|
|
417
|
-
if (!query) return [];
|
|
418
|
-
if (query.includes("@")) {
|
|
419
|
-
const escaped = escapeOData(query);
|
|
420
|
-
const filter = `(mail eq '${escaped}' or userPrincipalName eq '${escaped}')`;
|
|
421
|
-
const path = `/users?$filter=${encodeURIComponent(filter)}&$select=id,displayName,mail,userPrincipalName`;
|
|
422
|
-
return (await fetchGraphJson({
|
|
423
|
-
token: params.token,
|
|
424
|
-
path
|
|
425
|
-
})).value ?? [];
|
|
426
|
-
}
|
|
427
|
-
const top = typeof params.top === "number" && params.top > 0 ? params.top : 10;
|
|
428
|
-
const path = `/users?$search=${encodeURIComponent(`"displayName:${query}"`)}&$select=id,displayName,mail,userPrincipalName&$top=${top}`;
|
|
429
|
-
return (await fetchGraphJson({
|
|
430
|
-
token: params.token,
|
|
431
|
-
path,
|
|
432
|
-
headers: { ConsistencyLevel: "eventual" }
|
|
433
|
-
})).value ?? [];
|
|
434
|
-
}
|
|
435
|
-
//#endregion
|
|
436
|
-
//#region extensions/msteams/src/resolve-allowlist.ts
|
|
437
|
-
function stripProviderPrefix(raw) {
|
|
438
|
-
return raw.replace(/^(msteams|teams):/i, "");
|
|
439
|
-
}
|
|
440
|
-
function normalizeMSTeamsMessagingTarget(raw) {
|
|
441
|
-
let trimmed = raw.trim();
|
|
442
|
-
if (!trimmed) return;
|
|
443
|
-
trimmed = stripProviderPrefix(trimmed).trim();
|
|
444
|
-
if (/^conversation:/i.test(trimmed)) {
|
|
445
|
-
const id = trimmed.slice(13).trim();
|
|
446
|
-
return id ? `conversation:${id}` : void 0;
|
|
447
|
-
}
|
|
448
|
-
if (/^user:/i.test(trimmed)) {
|
|
449
|
-
const id = trimmed.slice(5).trim();
|
|
450
|
-
return id ? `user:${id}` : void 0;
|
|
451
|
-
}
|
|
452
|
-
return trimmed || void 0;
|
|
453
|
-
}
|
|
454
|
-
function normalizeMSTeamsUserInput(raw) {
|
|
455
|
-
return stripProviderPrefix(raw).replace(/^(user|conversation):/i, "").trim();
|
|
456
|
-
}
|
|
457
|
-
function parseMSTeamsConversationId(raw) {
|
|
458
|
-
const trimmed = stripProviderPrefix(raw).trim();
|
|
459
|
-
if (!/^conversation:/i.test(trimmed)) return null;
|
|
460
|
-
return trimmed.slice(13).trim();
|
|
461
|
-
}
|
|
462
|
-
function normalizeMSTeamsTeamKey(raw) {
|
|
463
|
-
return stripProviderPrefix(raw).replace(/^team:/i, "").trim() || void 0;
|
|
464
|
-
}
|
|
465
|
-
function normalizeMSTeamsChannelKey(raw) {
|
|
466
|
-
return (raw?.trim().replace(/^#/, "").trim() ?? "") || void 0;
|
|
467
|
-
}
|
|
468
|
-
function parseMSTeamsTeamChannelInput(raw) {
|
|
469
|
-
const trimmed = stripProviderPrefix(raw).trim();
|
|
470
|
-
if (!trimmed) return {};
|
|
471
|
-
const parts = trimmed.split("/");
|
|
472
|
-
const team = normalizeMSTeamsTeamKey(parts[0] ?? "");
|
|
473
|
-
const channel = parts.length > 1 ? normalizeMSTeamsChannelKey(parts.slice(1).join("/")) : void 0;
|
|
474
|
-
return {
|
|
475
|
-
...team ? { team } : {},
|
|
476
|
-
...channel ? { channel } : {}
|
|
477
|
-
};
|
|
478
|
-
}
|
|
479
|
-
function parseMSTeamsTeamEntry(raw) {
|
|
480
|
-
const { team, channel } = parseMSTeamsTeamChannelInput(raw);
|
|
481
|
-
if (!team) return null;
|
|
482
|
-
return {
|
|
483
|
-
teamKey: team,
|
|
484
|
-
...channel ? { channelKey: channel } : {}
|
|
485
|
-
};
|
|
486
|
-
}
|
|
487
|
-
async function resolveMSTeamsChannelAllowlist(params) {
|
|
488
|
-
const token = await resolveGraphToken(params.cfg);
|
|
489
|
-
return await mapAllowlistResolutionInputs({
|
|
490
|
-
inputs: params.entries,
|
|
491
|
-
mapInput: async (input) => {
|
|
492
|
-
const { team, channel } = parseMSTeamsTeamChannelInput(input);
|
|
493
|
-
if (!team) return {
|
|
494
|
-
input,
|
|
495
|
-
resolved: false
|
|
496
|
-
};
|
|
497
|
-
const teams = /^[0-9a-fA-F-]{16,}$/.test(team) ? [{
|
|
498
|
-
id: team,
|
|
499
|
-
displayName: team
|
|
500
|
-
}] : await listTeamsByName(token, team);
|
|
501
|
-
if (teams.length === 0) return {
|
|
502
|
-
input,
|
|
503
|
-
resolved: false,
|
|
504
|
-
note: "team not found"
|
|
505
|
-
};
|
|
506
|
-
const teamMatch = teams[0];
|
|
507
|
-
const graphTeamId = teamMatch.id?.trim();
|
|
508
|
-
const teamName = teamMatch.displayName?.trim() || team;
|
|
509
|
-
if (!graphTeamId) return {
|
|
510
|
-
input,
|
|
511
|
-
resolved: false,
|
|
512
|
-
note: "team id missing"
|
|
513
|
-
};
|
|
514
|
-
let teamChannels = [];
|
|
515
|
-
try {
|
|
516
|
-
teamChannels = await listChannelsForTeam(token, graphTeamId);
|
|
517
|
-
} catch {}
|
|
518
|
-
const teamId = teamChannels.find((ch) => ch.displayName?.toLowerCase() === "general")?.id?.trim() || graphTeamId;
|
|
519
|
-
if (!channel) return {
|
|
520
|
-
input,
|
|
521
|
-
resolved: true,
|
|
522
|
-
teamId,
|
|
523
|
-
teamName,
|
|
524
|
-
note: teams.length > 1 ? "multiple teams; chose first" : void 0
|
|
525
|
-
};
|
|
526
|
-
const channelMatch = teamChannels.find((item) => item.id === channel) ?? teamChannels.find((item) => item.displayName?.toLowerCase() === channel.toLowerCase()) ?? teamChannels.find((item) => item.displayName?.toLowerCase().includes(channel.toLowerCase() ?? ""));
|
|
527
|
-
if (!channelMatch?.id) return {
|
|
528
|
-
input,
|
|
529
|
-
resolved: false,
|
|
530
|
-
note: "channel not found"
|
|
531
|
-
};
|
|
532
|
-
return {
|
|
533
|
-
input,
|
|
534
|
-
resolved: true,
|
|
535
|
-
teamId,
|
|
536
|
-
teamName,
|
|
537
|
-
channelId: channelMatch.id,
|
|
538
|
-
channelName: channelMatch.displayName ?? channel,
|
|
539
|
-
note: teamChannels.length > 1 ? "multiple channels; chose first" : void 0
|
|
540
|
-
};
|
|
541
|
-
}
|
|
542
|
-
});
|
|
543
|
-
}
|
|
544
|
-
async function resolveMSTeamsUserAllowlist(params) {
|
|
545
|
-
const token = await resolveGraphToken(params.cfg);
|
|
546
|
-
return await mapAllowlistResolutionInputs({
|
|
547
|
-
inputs: params.entries,
|
|
548
|
-
mapInput: async (input) => {
|
|
549
|
-
const query = normalizeQuery(normalizeMSTeamsUserInput(input));
|
|
550
|
-
if (!query) return {
|
|
551
|
-
input,
|
|
552
|
-
resolved: false
|
|
553
|
-
};
|
|
554
|
-
if (/^[0-9a-fA-F-]{16,}$/.test(query)) return {
|
|
555
|
-
input,
|
|
556
|
-
resolved: true,
|
|
557
|
-
id: query
|
|
558
|
-
};
|
|
559
|
-
const users = await searchGraphUsers({
|
|
560
|
-
token,
|
|
561
|
-
query,
|
|
562
|
-
top: 10
|
|
563
|
-
});
|
|
564
|
-
const match = users[0];
|
|
565
|
-
if (!match?.id) return {
|
|
566
|
-
input,
|
|
567
|
-
resolved: false
|
|
568
|
-
};
|
|
569
|
-
return {
|
|
570
|
-
input,
|
|
571
|
-
resolved: true,
|
|
572
|
-
id: match.id,
|
|
573
|
-
name: match.displayName ?? void 0,
|
|
574
|
-
note: users.length > 1 ? "multiple matches; chose first" : void 0
|
|
575
|
-
};
|
|
576
|
-
}
|
|
577
|
-
});
|
|
578
|
-
}
|
|
579
|
-
//#endregion
|
|
580
|
-
//#region extensions/msteams/src/setup-core.ts
|
|
581
|
-
const msteamsSetupAdapter = {
|
|
582
|
-
resolveAccountId: () => DEFAULT_ACCOUNT_ID,
|
|
583
|
-
applyAccountConfig: ({ cfg }) => ({
|
|
584
|
-
...cfg,
|
|
585
|
-
channels: {
|
|
586
|
-
...cfg.channels,
|
|
587
|
-
msteams: {
|
|
588
|
-
...cfg.channels?.msteams,
|
|
589
|
-
enabled: true
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
})
|
|
593
|
-
};
|
|
594
|
-
//#endregion
|
|
595
|
-
//#region extensions/msteams/src/setup-surface.ts
|
|
596
|
-
const channel = "msteams";
|
|
597
|
-
function setMSTeamsDmPolicy(cfg, dmPolicy) {
|
|
598
|
-
return setTopLevelChannelDmPolicyWithAllowFrom({
|
|
599
|
-
cfg,
|
|
600
|
-
channel,
|
|
601
|
-
dmPolicy
|
|
602
|
-
});
|
|
603
|
-
}
|
|
604
|
-
function setMSTeamsAllowFrom(cfg, allowFrom) {
|
|
605
|
-
return setTopLevelChannelAllowFrom({
|
|
606
|
-
cfg,
|
|
607
|
-
channel,
|
|
608
|
-
allowFrom
|
|
609
|
-
});
|
|
610
|
-
}
|
|
611
|
-
function looksLikeGuid(value) {
|
|
612
|
-
return /^[0-9a-fA-F-]{16,}$/.test(value);
|
|
613
|
-
}
|
|
614
|
-
async function promptMSTeamsCredentials(prompter) {
|
|
615
|
-
return {
|
|
616
|
-
appId: String(await prompter.text({
|
|
617
|
-
message: "Enter MS Teams App ID",
|
|
618
|
-
validate: (value) => value?.trim() ? void 0 : "Required"
|
|
619
|
-
})).trim(),
|
|
620
|
-
appPassword: String(await prompter.text({
|
|
621
|
-
message: "Enter MS Teams App Password",
|
|
622
|
-
validate: (value) => value?.trim() ? void 0 : "Required"
|
|
623
|
-
})).trim(),
|
|
624
|
-
tenantId: String(await prompter.text({
|
|
625
|
-
message: "Enter MS Teams Tenant ID",
|
|
626
|
-
validate: (value) => value?.trim() ? void 0 : "Required"
|
|
627
|
-
})).trim()
|
|
628
|
-
};
|
|
629
|
-
}
|
|
630
|
-
async function promptMSTeamsAllowFrom(params) {
|
|
631
|
-
const existing = params.cfg.channels?.msteams?.allowFrom ?? [];
|
|
632
|
-
await params.prompter.note([
|
|
633
|
-
"Allowlist MS Teams DMs by display name, UPN/email, or user id.",
|
|
634
|
-
"We resolve names to user IDs via Microsoft Graph when credentials allow.",
|
|
635
|
-
"Examples:",
|
|
636
|
-
"- alex@example.com",
|
|
637
|
-
"- Alex Johnson",
|
|
638
|
-
"- 00000000-0000-0000-0000-000000000000"
|
|
639
|
-
].join("\n"), "MS Teams allowlist");
|
|
640
|
-
while (true) {
|
|
641
|
-
const entry = await params.prompter.text({
|
|
642
|
-
message: "MS Teams allowFrom (usernames or ids)",
|
|
643
|
-
placeholder: "alex@example.com, Alex Johnson",
|
|
644
|
-
initialValue: existing[0] ? String(existing[0]) : void 0,
|
|
645
|
-
validate: (value) => String(value ?? "").trim() ? void 0 : "Required"
|
|
646
|
-
});
|
|
647
|
-
const parts = splitSetupEntries(String(entry));
|
|
648
|
-
if (parts.length === 0) {
|
|
649
|
-
await params.prompter.note("Enter at least one user.", "MS Teams allowlist");
|
|
650
|
-
continue;
|
|
651
|
-
}
|
|
652
|
-
const resolved = await resolveMSTeamsUserAllowlist({
|
|
653
|
-
cfg: params.cfg,
|
|
654
|
-
entries: parts
|
|
655
|
-
}).catch(() => null);
|
|
656
|
-
if (!resolved) {
|
|
657
|
-
const ids = parts.filter((part) => looksLikeGuid(part));
|
|
658
|
-
if (ids.length !== parts.length) {
|
|
659
|
-
await params.prompter.note("Graph lookup unavailable. Use user IDs only.", "MS Teams allowlist");
|
|
660
|
-
continue;
|
|
661
|
-
}
|
|
662
|
-
const unique = mergeAllowFromEntries(existing, ids);
|
|
663
|
-
return setMSTeamsAllowFrom(params.cfg, unique);
|
|
664
|
-
}
|
|
665
|
-
const unresolved = resolved.filter((item) => !item.resolved || !item.id);
|
|
666
|
-
if (unresolved.length > 0) {
|
|
667
|
-
await params.prompter.note(`Could not resolve: ${unresolved.map((item) => item.input).join(", ")}`, "MS Teams allowlist");
|
|
668
|
-
continue;
|
|
669
|
-
}
|
|
670
|
-
const unique = mergeAllowFromEntries(existing, resolved.map((item) => item.id));
|
|
671
|
-
return setMSTeamsAllowFrom(params.cfg, unique);
|
|
672
|
-
}
|
|
673
|
-
}
|
|
674
|
-
async function noteMSTeamsCredentialHelp(prompter) {
|
|
675
|
-
await prompter.note([
|
|
676
|
-
"1) Azure Bot registration -> get App ID + Tenant ID",
|
|
677
|
-
"2) Add a client secret (App Password)",
|
|
678
|
-
"3) Set webhook URL + messaging endpoint",
|
|
679
|
-
"Tip: you can also set MSTEAMS_APP_ID / MSTEAMS_APP_PASSWORD / MSTEAMS_TENANT_ID.",
|
|
680
|
-
`Docs: ${formatDocsLink("/channels/msteams", "msteams")}`
|
|
681
|
-
].join("\n"), "MS Teams credentials");
|
|
682
|
-
}
|
|
683
|
-
function setMSTeamsGroupPolicy(cfg, groupPolicy) {
|
|
684
|
-
return setTopLevelChannelGroupPolicy({
|
|
685
|
-
cfg,
|
|
686
|
-
channel,
|
|
687
|
-
groupPolicy,
|
|
688
|
-
enabled: true
|
|
689
|
-
});
|
|
690
|
-
}
|
|
691
|
-
function setMSTeamsTeamsAllowlist(cfg, entries) {
|
|
692
|
-
const teams = { ...cfg.channels?.msteams?.teams ?? {} };
|
|
693
|
-
for (const entry of entries) {
|
|
694
|
-
const teamKey = entry.teamKey;
|
|
695
|
-
if (!teamKey) continue;
|
|
696
|
-
const existing = teams[teamKey] ?? {};
|
|
697
|
-
if (entry.channelKey) {
|
|
698
|
-
const channels = { ...existing.channels };
|
|
699
|
-
channels[entry.channelKey] = channels[entry.channelKey] ?? {};
|
|
700
|
-
teams[teamKey] = {
|
|
701
|
-
...existing,
|
|
702
|
-
channels
|
|
703
|
-
};
|
|
704
|
-
} else teams[teamKey] = existing;
|
|
705
|
-
}
|
|
706
|
-
return {
|
|
707
|
-
...cfg,
|
|
708
|
-
channels: {
|
|
709
|
-
...cfg.channels,
|
|
710
|
-
msteams: {
|
|
711
|
-
...cfg.channels?.msteams,
|
|
712
|
-
enabled: true,
|
|
713
|
-
teams
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
};
|
|
717
|
-
}
|
|
718
|
-
function listMSTeamsGroupEntries(cfg) {
|
|
719
|
-
return Object.entries(cfg.channels?.msteams?.teams ?? {}).flatMap(([teamKey, value]) => {
|
|
720
|
-
const channels = value?.channels ?? {};
|
|
721
|
-
const channelKeys = Object.keys(channels);
|
|
722
|
-
if (channelKeys.length === 0) return [teamKey];
|
|
723
|
-
return channelKeys.map((channelKey) => `${teamKey}/${channelKey}`);
|
|
724
|
-
});
|
|
725
|
-
}
|
|
726
|
-
async function resolveMSTeamsGroupAllowlist(params) {
|
|
727
|
-
let resolvedEntries = params.entries.map((entry) => parseMSTeamsTeamEntry(entry)).filter(Boolean);
|
|
728
|
-
if (params.entries.length === 0 || !resolveMSTeamsCredentials(params.cfg.channels?.msteams)) return resolvedEntries;
|
|
729
|
-
try {
|
|
730
|
-
const lookups = await resolveMSTeamsChannelAllowlist({
|
|
731
|
-
cfg: params.cfg,
|
|
732
|
-
entries: params.entries
|
|
733
|
-
});
|
|
734
|
-
const resolvedChannels = lookups.filter((entry) => entry.resolved && entry.teamId && entry.channelId);
|
|
735
|
-
const resolvedTeams = lookups.filter((entry) => entry.resolved && entry.teamId && !entry.channelId);
|
|
736
|
-
const unresolved = lookups.filter((entry) => !entry.resolved).map((entry) => entry.input);
|
|
737
|
-
resolvedEntries = [
|
|
738
|
-
...resolvedChannels.map((entry) => ({
|
|
739
|
-
teamKey: entry.teamId,
|
|
740
|
-
channelKey: entry.channelId
|
|
741
|
-
})),
|
|
742
|
-
...resolvedTeams.map((entry) => ({ teamKey: entry.teamId })),
|
|
743
|
-
...unresolved.map((entry) => parseMSTeamsTeamEntry(entry)).filter(Boolean)
|
|
744
|
-
];
|
|
745
|
-
const summary = [];
|
|
746
|
-
if (resolvedChannels.length > 0) summary.push(`Resolved channels: ${resolvedChannels.map((entry) => entry.channelId).filter(Boolean).join(", ")}`);
|
|
747
|
-
if (resolvedTeams.length > 0) summary.push(`Resolved teams: ${resolvedTeams.map((entry) => entry.teamId).filter(Boolean).join(", ")}`);
|
|
748
|
-
if (unresolved.length > 0) summary.push(`Unresolved (kept as typed): ${unresolved.join(", ")}`);
|
|
749
|
-
if (summary.length > 0) await params.prompter.note(summary.join("\n"), "MS Teams channels");
|
|
750
|
-
return resolvedEntries;
|
|
751
|
-
} catch (err) {
|
|
752
|
-
await params.prompter.note(`Channel lookup failed; keeping entries as typed. ${String(err)}`, "MS Teams channels");
|
|
753
|
-
return resolvedEntries;
|
|
754
|
-
}
|
|
755
|
-
}
|
|
756
|
-
const msteamsSetupWizard = {
|
|
757
|
-
channel,
|
|
758
|
-
resolveAccountIdForConfigure: () => DEFAULT_ACCOUNT_ID,
|
|
759
|
-
resolveShouldPromptAccountIds: () => false,
|
|
760
|
-
status: {
|
|
761
|
-
configuredLabel: "configured",
|
|
762
|
-
unconfiguredLabel: "needs app credentials",
|
|
763
|
-
configuredHint: "configured",
|
|
764
|
-
unconfiguredHint: "needs app creds",
|
|
765
|
-
configuredScore: 2,
|
|
766
|
-
unconfiguredScore: 0,
|
|
767
|
-
resolveConfigured: ({ cfg }) => {
|
|
768
|
-
return Boolean(resolveMSTeamsCredentials(cfg.channels?.msteams)) || hasConfiguredMSTeamsCredentials(cfg.channels?.msteams);
|
|
769
|
-
},
|
|
770
|
-
resolveStatusLines: ({ cfg }) => {
|
|
771
|
-
return [`MS Teams: ${Boolean(resolveMSTeamsCredentials(cfg.channels?.msteams)) || hasConfiguredMSTeamsCredentials(cfg.channels?.msteams) ? "configured" : "needs app credentials"}`];
|
|
772
|
-
}
|
|
773
|
-
},
|
|
774
|
-
credentials: [],
|
|
775
|
-
finalize: async ({ cfg, prompter }) => {
|
|
776
|
-
const resolved = resolveMSTeamsCredentials(cfg.channels?.msteams);
|
|
777
|
-
const hasConfigCreds = hasConfiguredMSTeamsCredentials(cfg.channels?.msteams);
|
|
778
|
-
const canUseEnv = Boolean(!hasConfigCreds && normalizeSecretInputString(process.env.MSTEAMS_APP_ID) && normalizeSecretInputString(process.env.MSTEAMS_APP_PASSWORD) && normalizeSecretInputString(process.env.MSTEAMS_TENANT_ID));
|
|
779
|
-
let next = cfg;
|
|
780
|
-
let appId = null;
|
|
781
|
-
let appPassword = null;
|
|
782
|
-
let tenantId = null;
|
|
783
|
-
if (!resolved && !hasConfigCreds) await noteMSTeamsCredentialHelp(prompter);
|
|
784
|
-
if (canUseEnv) if (await prompter.confirm({
|
|
785
|
-
message: "MSTEAMS_APP_ID + MSTEAMS_APP_PASSWORD + MSTEAMS_TENANT_ID detected. Use env vars?",
|
|
786
|
-
initialValue: true
|
|
787
|
-
})) next = msteamsSetupAdapter.applyAccountConfig({
|
|
788
|
-
cfg: next,
|
|
789
|
-
accountId: DEFAULT_ACCOUNT_ID,
|
|
790
|
-
input: {}
|
|
791
|
-
});
|
|
792
|
-
else ({appId, appPassword, tenantId} = await promptMSTeamsCredentials(prompter));
|
|
793
|
-
else if (hasConfigCreds) {
|
|
794
|
-
if (!await prompter.confirm({
|
|
795
|
-
message: "MS Teams credentials already configured. Keep them?",
|
|
796
|
-
initialValue: true
|
|
797
|
-
})) ({appId, appPassword, tenantId} = await promptMSTeamsCredentials(prompter));
|
|
798
|
-
} else ({appId, appPassword, tenantId} = await promptMSTeamsCredentials(prompter));
|
|
799
|
-
if (appId && appPassword && tenantId) next = {
|
|
800
|
-
...next,
|
|
801
|
-
channels: {
|
|
802
|
-
...next.channels,
|
|
803
|
-
msteams: {
|
|
804
|
-
...next.channels?.msteams,
|
|
805
|
-
enabled: true,
|
|
806
|
-
appId,
|
|
807
|
-
appPassword,
|
|
808
|
-
tenantId
|
|
809
|
-
}
|
|
810
|
-
}
|
|
811
|
-
};
|
|
812
|
-
return {
|
|
813
|
-
cfg: next,
|
|
814
|
-
accountId: DEFAULT_ACCOUNT_ID
|
|
815
|
-
};
|
|
816
|
-
},
|
|
817
|
-
dmPolicy: {
|
|
818
|
-
label: "MS Teams",
|
|
819
|
-
channel,
|
|
820
|
-
policyKey: "channels.msteams.dmPolicy",
|
|
821
|
-
allowFromKey: "channels.msteams.allowFrom",
|
|
822
|
-
getCurrent: (cfg) => cfg.channels?.msteams?.dmPolicy ?? "pairing",
|
|
823
|
-
setPolicy: (cfg, policy) => setMSTeamsDmPolicy(cfg, policy),
|
|
824
|
-
promptAllowFrom: promptMSTeamsAllowFrom
|
|
825
|
-
},
|
|
826
|
-
groupAccess: {
|
|
827
|
-
label: "MS Teams channels",
|
|
828
|
-
placeholder: "Team Name/Channel Name, teamId/conversationId",
|
|
829
|
-
currentPolicy: ({ cfg }) => cfg.channels?.msteams?.groupPolicy ?? "allowlist",
|
|
830
|
-
currentEntries: ({ cfg }) => listMSTeamsGroupEntries(cfg),
|
|
831
|
-
updatePrompt: ({ cfg }) => Boolean(cfg.channels?.msteams?.teams),
|
|
832
|
-
setPolicy: ({ cfg, policy }) => setMSTeamsGroupPolicy(cfg, policy),
|
|
833
|
-
resolveAllowlist: async ({ cfg, entries, prompter }) => await resolveMSTeamsGroupAllowlist({
|
|
834
|
-
cfg,
|
|
835
|
-
entries,
|
|
836
|
-
prompter
|
|
837
|
-
}),
|
|
838
|
-
applyAllowlist: ({ cfg, resolved }) => setMSTeamsTeamsAllowlist(cfg, resolved)
|
|
839
|
-
},
|
|
840
|
-
disable: (cfg) => ({
|
|
841
|
-
...cfg,
|
|
842
|
-
channels: {
|
|
843
|
-
...cfg.channels,
|
|
844
|
-
msteams: {
|
|
845
|
-
...cfg.channels?.msteams,
|
|
846
|
-
enabled: false
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
})
|
|
850
|
-
};
|
|
851
|
-
//#endregion
|
|
852
|
-
export { resolveAttachmentFetchPolicy as A, extractInlineImageCandidates as C, isRecord as D, isLikelyImageAttachment as E, buildHostnameAllowlistPolicyFromSuffixAllowlist as F, isHttpsUrlAllowedByHostnameSuffixAllowlist as I, normalizeHostnameSuffixAllowlist as L, resolveRequestUrl as M, safeFetchWithPolicy as N, isUrlAllowed as O, safeHostForUrl as P, extractHtmlFromAttachment as S, isDownloadableAttachment as T, loadMSTeamsSdkWithAuth as _, parseMSTeamsConversationId as a, IMG_SRC_RE as b, resolveMSTeamsUserAllowlist as c, listTeamsByName as d, normalizeQuery as f, createMSTeamsAdapter as g, readAccessToken as h, normalizeMSTeamsUserInput as i, resolveMediaSsrfPolicy as j, normalizeContentType as k, searchGraphUsers as l, resolveMSTeamsCredentials as m, msteamsSetupAdapter as n, parseMSTeamsTeamChannelInput as o, resolveGraphToken as p, normalizeMSTeamsMessagingTarget as r, resolveMSTeamsChannelAllowlist as s, msteamsSetupWizard as t, listChannelsForTeam as u, ATTACHMENT_TAG_RE as v, inferPlaceholder as w, applyAuthorizationHeaderForUrl as x, GRAPH_ROOT as y };
|