feat(operator): embed Slack personal MCP authentication - #1282
Merged
Conversation
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
mcp_commandfrom the operator protocol, persisted config, daemon validation, TUI editor, and web editormcp-remote@0.1.38, using Slack official endpoint/client metadata, a fixed localhost callback, scoped OAuth, and daemon-owned credential storageslack_search_public_and_private,slack_read_thread,slack_send_message, andslack_send_message_draftstructuredContent, detailed search/thread rendering, pagination cursors, workspace hosts from permalinks, and sent timestamps from message linksauto-afterhuman-reply yielding, and exact per-channel response-mode overridesIntegration
origin/mainat80655ab(test(tui): cover CJK playbook editing geometry #1279)auto-afterfrom feat(operator): add delayed Slack personal replies #1276CHANNEL=auto-afterround-trip and runtime resolutionContract verification
slackapi/slack-skills-plugincommit77a10794d6fc2be6cc62261b28447ef27c0f3fffMCP_REMOTE_CONFIG_DIRtoken layout checked against the publishedmcp-remote@0.1.38packagestructuredContent, pagination, thread history, draft/send delivery, and permalink timestamp decodingValidation
cargo test -p construct-daemon operator::— 138 passedcargo test -p construct-daemon operator_supervisor— 13 passedcargo test -p construct-daemon web_slack_personal_editor_uses_embedded_oauth_and_all_current_behaviors— 1 passedcargo test -p construct-cli slack_personal— 3 passedcargo test -p construct-protocol operator_protocol_tests— 3 passedcargo test -p construct-e2e --test web_smoke web_operator_editor_round_trips_slack_personal_response_mode_overrides— 1 passedcargo build— passedNo recording: this is backend/operator-channel behavior; the editor changes only remove command input and clarify OAuth state.