feat: add pairing/permission system to WASM channels#286
Merged
ilblackdragon merged 1 commit intomainfrom Feb 21, 2026
Merged
Conversation
Contributor
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
…nsion registry
Port Telegram's permission model (owner_id, dm_policy, allow_from, pairing codes)
to Discord, Slack, and WhatsApp WASM channels. Add web UI for configuration and
pairing approval. Fix extension registry issues preventing Discord install and
causing Slack activation to hit the wrong endpoint.
WASM channels:
- Discord: add DiscordConfig, permission checks, ephemeral pairing replies,
fix capabilities.json (header_name→name), downgrade wit-bindgen to 0.36
- Slack: expand SlackConfig with permission fields, add check_sender_permission
and send_pairing_reply via chat.postMessage
- WhatsApp: expand WhatsAppConfig with permission fields, add permission checks
and pairing reply via Cloud API
- Telegram: reformat capabilities.json, add setup.required_secrets
Extension system:
- Add Discord to KNOWN_CHANNELS in bundled.rs and to extension registry
- Rename "slack" MCP→"slack-mcp", "slack-channel"→"slack" to fix name collision
- Add ExtensionSource::Bundled variant handling in discovery.rs
- Add get_setup_schema/save_setup_secrets to ExtensionManager
- Add needs_setup field to InstalledExtension
Web gateway:
- Add GET/POST /api/extensions/{name}/setup for configuration modal
- Add GET /api/pairing/{channel} and POST /api/pairing/{channel}/approve
- Add configure modal UI (password fields, provided badges, auto-generate hints)
- Add pairing request UI on active WASM channel cards
- Show "Restart to activate" label instead of Activate button for WASM channels
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
90fe967 to
f916c68
Compare
ilblackdragon
approved these changes
Feb 21, 2026
This was referenced Feb 21, 2026
Merged
Closed
jaswinder6991
pushed a commit
to jaswinder6991/ironclaw
that referenced
this pull request
Feb 26, 2026
…nsion registry (nearai#286) Port Telegram's permission model (owner_id, dm_policy, allow_from, pairing codes) to Discord, Slack, and WhatsApp WASM channels. Add web UI for configuration and pairing approval. Fix extension registry issues preventing Discord install and causing Slack activation to hit the wrong endpoint. WASM channels: - Discord: add DiscordConfig, permission checks, ephemeral pairing replies, fix capabilities.json (header_name→name), downgrade wit-bindgen to 0.36 - Slack: expand SlackConfig with permission fields, add check_sender_permission and send_pairing_reply via chat.postMessage - WhatsApp: expand WhatsAppConfig with permission fields, add permission checks and pairing reply via Cloud API - Telegram: reformat capabilities.json, add setup.required_secrets Extension system: - Add Discord to KNOWN_CHANNELS in bundled.rs and to extension registry - Rename "slack" MCP→"slack-mcp", "slack-channel"→"slack" to fix name collision - Add ExtensionSource::Bundled variant handling in discovery.rs - Add get_setup_schema/save_setup_secrets to ExtensionManager - Add needs_setup field to InstalledExtension Web gateway: - Add GET/POST /api/extensions/{name}/setup for configuration modal - Add GET /api/pairing/{channel} and POST /api/pairing/{channel}/approve - Add configure modal UI (password fields, provided badges, auto-generate hints) - Add pairing request UI on active WASM channel cards - Show "Restart to activate" label instead of Activate button for WASM channels Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
bkutasi
pushed a commit
to bkutasi/ironclaw
that referenced
this pull request
Mar 28, 2026
…nsion registry (nearai#286) Port Telegram's permission model (owner_id, dm_policy, allow_from, pairing codes) to Discord, Slack, and WhatsApp WASM channels. Add web UI for configuration and pairing approval. Fix extension registry issues preventing Discord install and causing Slack activation to hit the wrong endpoint. WASM channels: - Discord: add DiscordConfig, permission checks, ephemeral pairing replies, fix capabilities.json (header_name→name), downgrade wit-bindgen to 0.36 - Slack: expand SlackConfig with permission fields, add check_sender_permission and send_pairing_reply via chat.postMessage - WhatsApp: expand WhatsAppConfig with permission fields, add permission checks and pairing reply via Cloud API - Telegram: reformat capabilities.json, add setup.required_secrets Extension system: - Add Discord to KNOWN_CHANNELS in bundled.rs and to extension registry - Rename "slack" MCP→"slack-mcp", "slack-channel"→"slack" to fix name collision - Add ExtensionSource::Bundled variant handling in discovery.rs - Add get_setup_schema/save_setup_secrets to ExtensionManager - Add needs_setup field to InstalledExtension Web gateway: - Add GET/POST /api/extensions/{name}/setup for configuration modal - Add GET /api/pairing/{channel} and POST /api/pairing/{channel}/approve - Add configure modal UI (password fields, provided badges, auto-generate hints) - Add pairing request UI on active WASM channel cards - Show "Restart to activate" label instead of Activate button for WASM channels Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
slack-channeltoslack(MCP entry renamed toslack-mcp), Discordcapabilities.jsonfixed (header_name→name), wit-bindgen aligned to 0.36GET/POST /api/extensions/{name}/setup,GET /api/pairing/{channel},POST /api/pairing/{channel}/approveChannel Permission Model
Each WASM channel implements a layered permission check:
open(allow all),pairing(require approval),closed(deny all)*wildcardTest plan
cargo fmt --checkpassescargo clippy --all --all-featuresclean (1 pre-existing warning)cargo test— all tests pass🤖 Generated with Claude Code