[rd-biz-tam] Add Slack message permalink integration

Draft
TE
7d ago
+357-120

Draft from R&D, not for merge yet.

Problem

The Slack connector can post a notification, but a cmux workspace receipt cannot link reviewers back to the exact Slack message that carried it. That leaves agent/preview handoffs without a stable Slack deep link.

Change

  • Add the read-only slack.message.permalink operation with strict channel and message timestamp validation (backend/packages/protocol/src/integrations.ts:272-307).
  • Resolve the permalink through Slack chat.getPermalink using the sealed connection credential; map invalid/revoked tokens to re-authorization while keeping the call non-mutating (backend/apps/api/src/integrations/providers.ts:234-245).
  • Expose the operation to the cloud catalog, generated TypeScript/Rust clients, CLI/MCP, and the integrations app provider catalog (backend/catalog/cloud-operations.json, clients/ts/cloud/src/generated.ts, cmux-tui/crates/cmux-cloud-wire/src/generated, first-party-apps/integrations/src/model/providers.ts:47-56).
  • Add a fake-HTTP regression test proving the query and bearer token, with no Slack credentials or network calls (backend/apps/api/test/integrations.test.ts:117-128).

Validation

  • PATH=/opt/node-v24.11.1/bin:$PATH bun run --cwd backend/apps/api test -- integrations.test.ts — 13 passed; the existing workerd fixture logs expected missing Hyperdrive warnings.
  • PATH=/opt/node-v24.11.1/bin:$PATH bun run --cwd backend/apps/api typecheck — passed.
  • PATH=/opt/node-v24.11.1/bin:$PATH bun run --cwd backend/packages/protocol typecheck — passed.
  • PATH=/opt/node-v24.11.1/bin:$PATH bun run --cwd backend catalog:check — catalog, vectors, TS client, Rust client, and ownership mirror checks passed.

Changelog

Added: a read-only Slack message permalink operation for review and notification receipts.


biz-tam: draft from R&D, not for landing yet.

šŸ¤– Generated with Claude Code

Agent session: big-red


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Draft from R&D, not for merge yet.

Adds a read-only Slack message permalink operation so cmux workspace receipts can deep-link reviewers back to the exact Slack message that carried a notification.

The operation resolves a channel and message timestamp through Slack chat.getPermalink using the sealed connection credential, maps invalid or revoked tokens to re-authorization, and stays non-mutating. It is exposed to the cloud catalog, generated TypeScript and Rust clients, CLI/MCP, and the integrations app provider catalog, with a fake-HTTP regression test asserting the query and bearer token.