Skip to content

chore(deps): bump bundled relaycast SDKs to v5#1200

Closed
willwashburn wants to merge 1 commit into
mainfrom
chore/relaycast-v5
Closed

chore(deps): bump bundled relaycast SDKs to v5#1200
willwashburn wants to merge 1 commit into
mainfrom
chore/relaycast-v5

Conversation

@willwashburn

@willwashburn willwashburn commented Jun 25, 2026

Copy link
Copy Markdown
Member

What

Updates the broker and all bundled SDKs to relaycast v5 (PR AgentWorkforce/relaycast#212 → v5.0.0, which makes node delivery unconditional).

Surface Bump
agent-relay-broker (Rust) relaycast crate =4.2.0=5.0.0
agent-relay / @agent-relay/sdk (npm) @relaycast/sdk ^4.1.6^5.0.0
sdk-py communicate relaycast-sdk >=0.2.0>=0.3.0
sdk-swift relaycast Swift from: 4.2.05.0.0

Only code change

The broker dropped ensure_workspace_stream_enabled() / RelayCast::workspace_stream_setremoved in v5 (node delivery is unconditional; the per-workspace stream is no longer a client-toggled setting). Everything else was a clean dep bump; nothing in relay referenced the removed workspace_stream_* API.

Verification (all green against v5)

  • broker: cargo build + cargo test -p agent-relay-broker → 774 pass.
  • npm: @relaycast/sdk@5.0.0 resolves; sdk + cli tsc clean; turbo build 8/8; vitest 19/19; sdk suite 110/110; type tests 5/5.
  • sdk-py: relaycast-sdk 0.3.0; communicate wrap unchanged; 53 tests pass.
  • sdk-swift: re-resolved to relaycast 5.0.0; swift build clean; 70 tests pass.

⚠️ Follow-up: runtime delivery against a v5 engine

This PR is "compiles + unit-tests green against v5." Because v5 removed the workspace-stream toggle in favor of unconditional node delivery, there's an open runtime question: does a v5 engine still serve the workspace stream (①) to broker keys, or are broker-hosted agents now delivered only via node delivery (②)? If the latter, the broker needs the node-delivery migration (always-a-node, bind agents, take delivery+context from /v1/node/ws, delete fleet_mode) for messages to actually inject. Recommend an end-to-end delivery check against the v5 engine before relying on this in production.

🤖 Generated with Claude Code

Review in cubic

- agent-relay-broker: relaycast crate =5.0.0; drop the removed
  workspace_stream_set call (v5 makes node delivery unconditional, so the
  per-workspace stream is no longer client-toggled).
- @relaycast/sdk ^5.0.0 (sdk + cli), relaycast-sdk 0.3.0 (sdk-py), relaycast
  Swift 5.0.0 (sdk-swift).

Verified green against v5: broker 774 tests; sdk/cli typecheck+build+vitest;
sdk-py communicate 53 tests; sdk-swift 70 tests. No source changes beyond the
broker's removed workspace_stream call.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@willwashburn willwashburn requested a review from khaliqgant as a code owner June 25, 2026 05:29
@gemini-code-assist

Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The PR upgrades relaycast/relaycast to v5 across Rust, JavaScript, Python, and Swift package definitions, updates the Swift lockfile, records the change in the changelog, and removes the broker’s pre-connection workspace stream enablement step.

Changes

Relaycast v5 upgrade

Layer / File(s) Summary
Dependency version updates
crates/broker/Cargo.toml, packages/cli/package.json, packages/sdk/package.json, packages/sdk-py/pyproject.toml, packages/sdk-swift/Package.swift, packages/sdk-swift/Package.resolved, CHANGELOG.md
relaycast/@relaycast/sdk requirements move to 5.0.0 across Rust, JS, Python, and Swift, and the changelog records the upgrade.
Broker websocket startup
crates/broker/src/relaycast/ws.rs
RelaycastWsClient::run no longer enables workspace stream fanout before connecting, and the ensure_workspace_stream_enabled helper is removed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Possibly related PRs

  • AgentWorkforce/relay#1133 — Updates the same @relaycast/sdk dependency line in the JS package manifests, which this PR advances to v5.
  • AgentWorkforce/relay#1180 — Updates the same relaycast dependency set in broker and JS packages, which this PR follows with a v5 bump and broker flow change.
  • AgentWorkforce/relay#1188 — Introduced the Swift AgentRelaySDK wiring that this PR now upgrades to relaycast v5.

Suggested reviewers

  • khaliqgant

Poem

A rabbit hopped through version snow,
to relaycast v5 we go.
No stream to wake before the gate,
just swift little hops at update rate.
🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: bumping bundled Relaycast SDKs to v5.
Description check ✅ Passed The description covers summary, change details, and verification, which satisfies the template's core requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/relaycast-v5

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

12-12: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Split this changelog entry into smaller bullets.

This line combines the version bump and the broker behavior change, which makes the Unreleased section harder to scan.

As per coding guidelines, CHANGELOG.md entries should be concise, impact-first, and one short bullet per user-visible change.

♻️ Proposed split
-- Bumped the bundled relaycast SDKs to v5: `agent-relay-broker` builds against the `relaycast` crate 5.0.0, `agent-relay`/`@agent-relay/sdk` use `@relaycast/sdk` ^5.0.0, the Python `communicate` client uses `relaycast-sdk` 0.3.0, and the Swift SDK tracks relaycast 5.0.0. Node delivery is unconditional in v5, so the broker no longer toggles the per-workspace stream (the removed `workspace_stream_set` API).
+- Bumped the bundled relaycast SDKs to v5 across broker, CLI, SDK, Python, and Swift.
+- Relaycast v5 makes node delivery unconditional, so the broker no longer toggles the per-workspace stream.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CHANGELOG.md` at line 12, Split the combined changelog text in CHANGELOG.md
into separate concise bullets: one for the bundled relaycast SDK version updates
across the listed packages, and another for the broker behavior change about
unconditional Node delivery and removal of the workspace_stream_set API. Keep
each bullet impact-first and short so the Unreleased section is easier to scan.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@CHANGELOG.md`:
- Line 12: Split the combined changelog text in CHANGELOG.md into separate
concise bullets: one for the bundled relaycast SDK version updates across the
listed packages, and another for the broker behavior change about unconditional
Node delivery and removal of the workspace_stream_set API. Keep each bullet
impact-first and short so the Unreleased section is easier to scan.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 65c51ac7-f50a-4306-ace7-7b87fdd28dfd

📥 Commits

Reviewing files that changed from the base of the PR and between 54672ae and 88ae69d.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (8)
  • CHANGELOG.md
  • crates/broker/Cargo.toml
  • crates/broker/src/relaycast/ws.rs
  • packages/cli/package.json
  • packages/sdk-py/pyproject.toml
  • packages/sdk-swift/Package.resolved
  • packages/sdk-swift/Package.swift
  • packages/sdk/package.json
💤 Files with no reviewable changes (1)
  • crates/broker/src/relaycast/ws.rs

@willwashburn

Copy link
Copy Markdown
Member Author

Superseded. The broker half (relaycast =5.0.0 + the workspace_stream_set removal) shipped in #1201 (node-only delivery, =5.0.1), which would now conflict with this branch, and the 9.1.0→9.1.2 version bumps are stale. The remaining intent — bumping the TS/Py/Swift relaycast SDKs to v5 — is being redone fresh off main to the latest versions (@relaycast/sdk 5.0.5, relaycast crate 5.0.2, relaycast-sdk 0.3.0, Swift 5.0.5) in a new PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant