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

Closed
KH
3mo ago
+3044-19

Summary

  • land the trusted Relay Room and Relayfile plugin work on the actual default branch
  • preserve the reviewed scoped-participant compatibility path for Agent Relay SDK 11.1
  • keep the generic relay_room_inv_ wire contract shared by Cloud, Relay, and Herdr

Why this PR exists

Herdr #2 was merged into its already-landed feature base (feat/agent-relay-sdk) rather than master, so its changes are not present on the default branch. This PR replays the same five reviewed commits directly onto current master; it adds no new product behavior.

Validation

  • npm ci --omit=dev
  • npm test — 34/34 passing
  • Cloud #2833 production migration, deploy, and post-deploy verifier passed
  • live Room participant identity, presence, channel write/read, cleanup, and revoked-token rejection passed

Summary by cubic

Add a trusted Relay Room to the Agent Relay plugin with a new pane for managing rooms, messaging, presence, and Relayfile-backed write access. Keeps the existing bridge unchanged while adding secure invite handling and public workspace binding.

  • New Features

    • New “Relay Room” pane for channel history, sending messages and threads, reactions, presence, members, and Relayfile writeback.
    • Supports generic relay_room_inv_… invites and binds via public rw_… or UUID workspace IDs; separate room.config.example.json config.
    • Secure CLI runner with secret redaction and bounded I/O; @agent-relay/sdk wrapper and event deduper.
  • Bug Fixes

    • Hardened Relayfile mount replacement detection and recovery of mounted workspaces on restart.
    • Validates room state and keeps the scoped-participant path compatible with Agent Relay SDK 11.1.