feat(plugin): add trusted Relay rooms and Relayfile access

Merged
KH
3mo ago
+3044-19

Summary

  • add trusted multiplayer room setup to the Agent Relay Herdr plugin
  • accept room invitations before local workspace configuration and renew revocable per-device participant sessions through Agent Relay Cloud
  • expose channels, DMs and group DMs, threads, reactions, search/read state, presence, and realtime traffic directly through the Agent Relay SDK/Relaycast
  • suppress only byte-identical replays of stable realtime event identities while delivering changed or unidentifiable events
  • discover, adopt, configure, connect, resolve, mount, and write back integrations directly through Relayfile
  • keep workspace owner/admin credentials out of participant configuration, argv, logs, and persisted plugin state

V1 trust model

Every invited member is a trusted full participant for ordinary agent-level collaboration actions. Workspace owner keys, owner-only Relaycast administration, and Cloud organization administration remain owner-only.

Cloud is used only for invite, membership, and participant-device credential lifecycle. It is not a chat proxy. This change does not modify or bump Relaycast or relaycast-cloud.

Invitation token contract

The plugin accepts only opaque invitations in the generic relay_room_inv_ namespace followed by exactly 43 URL-safe characters, matching Cloud and the Agent Relay CLI. It rejects product-specific, malformed, and truncated values before invoking the accept command and redacts valid room tokens from subprocess output.

Validation

  • exact head 434ea128b168948d5fb538f32c93b317b9c4dcbe: all applicable GitHub checks passed
  • Agent Relay plugin tests: 34 passed locally and on Ubuntu, macOS, and Windows
  • repository-wide GitHub checks passed on Ubuntu, macOS, and Windows
  • cargo fmt --check
  • cargo clippy --all-targets --locked -- -D warnings
  • aggregate Rust run: 2773 passed; two unrelated parallelism-sensitive tests passed individually
  • Bun integration asset tests: 17 passed
  • plugin marketplace tests: 12 passed
  • Python tests: 86 passed
  • installed Agent Relay SDK smoke: 12 required multiplayer surfaces present
  • plugin configuration and credential redaction exercised on restart, invite-first binding, session renewal/revocation, channels, DMs/group DMs, realtime deduplication, Relayfile provider metadata, mount setup, and writeback guidance
  • no unresolved review threads

Stack