Skip to content

[codex] Expose workspace fleet node flag in SDK#199

Merged
willwashburn merged 1 commit into
mainfrom
codex/fleet-nodes-sdk
Jun 18, 2026
Merged

[codex] Expose workspace fleet node flag in SDK#199
willwashburn merged 1 commit into
mainfrom
codex/fleet-nodes-sdk

Conversation

@willwashburn

@willwashburn willwashburn commented Jun 18, 2026

Copy link
Copy Markdown
Member

Summary

  • add TypeScript SDK workspace.fleetNodes.get/set/inherit for /v1/workspace/fleet-nodes
  • add tests for GET, PUT enabled, and PUT inherit mode
  • document enabling and inheriting the workspace fleet-node rollout flag

Context

@relaycast/sdk@4.1.0 was published from main before this SDK helper reached main. This PR applies the helper directly to the release lineage so the next Relaycast SDK release ships it in the npm package.

Validation

  • npm --prefix packages/sdk-typescript test -- --run src/tests/workspace.test.ts
  • npm --prefix packages/sdk-typescript run build

Review in cubic

@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 18, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 12fca5d2-6ce8-4618-992f-09570deaea37

📥 Commits

Reviewing files that changed from the base of the PR and between afe5516 and 07f13e6.

📒 Files selected for processing (5)
  • .agentworkforce/trajectories/completed/2026-06/traj_how3l2dy5jb8/summary.md
  • .agentworkforce/trajectories/completed/2026-06/traj_how3l2dy5jb8/trajectory.json
  • README.md
  • packages/sdk-typescript/src/__tests__/workspace.test.ts
  • packages/sdk-typescript/src/relay.ts

📝 Walkthrough

Walkthrough

Adds a WorkspaceFleetNodesConfig interface and a fleetNodes property to RelayCast.workspace exposing get, set(enabled), and inherit() methods against the existing /v1/workspace/fleet-nodes endpoint. Corresponding tests and README documentation are included, along with an agent trajectory record.

Changes

workspace.fleetNodes SDK surface

Layer / File(s) Summary
WorkspaceFleetNodesConfig interface and fleetNodes methods
packages/sdk-typescript/src/relay.ts
Exports WorkspaceFleetNodesConfig with enabled, defaultEnabled, and nullable override fields; wires workspace.fleetNodes.get() (GET), .set(enabled) (PUT {enabled}), and .inherit() (PUT {mode:'inherit'}) to /v1/workspace/fleet-nodes with camelized responses.
Tests and README documentation
packages/sdk-typescript/src/__tests__/workspace.test.ts, README.md
Three new tests assert HTTP method, URL, request body, and camelized response shape for each fleetNodes operation; README documents fleet node presence events (node.online, node.heartbeat, node.offline) and the fleetNodes.set/inherit controls.
Agent trajectory metadata
.agentworkforce/trajectories/completed/2026-06/traj_how3l2dy5jb8/*
Adds trajectory summary.md and trajectory.json recording task completion metadata, decision to keep package versions unchanged, and retrospective.

Possibly related PRs

  • AgentWorkforce/relaycast#194: Implements the engine-side GET/PUT /v1/workspace/fleet-nodes endpoints with the same enabled/mode: "inherit" semantics that this PR's SDK methods call.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 Hippity-hop, a new flag to flip,
Fleet nodes now online with a set(true) tip!
GET, PUT, inherit — three hops through the wire,
Camelized fields returned, never to tire.
The README now glows with node.online delight,
This bunny ships cleanly — the tests all turn green! 🌿

✨ 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 codex/fleet-nodes-sdk

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 and usage tips.

@willwashburn willwashburn marked this pull request as ready for review June 18, 2026 19:25
@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!

@willwashburn willwashburn merged commit 373beb2 into main Jun 18, 2026
4 of 5 checks passed
@willwashburn willwashburn deleted the codex/fleet-nodes-sdk branch June 18, 2026 19:25

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 07f13e66db

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread README.md
Comment on lines +377 to +378
Fleet node presence is published to the workspace stream (workspace-key
subscribers only) as `node.online`, `node.heartbeat`, and `node.offline`. Each

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Remove docs for unimplemented node stream events

When users enable workspace stream and fleet nodes, these node.* events are never emitted by the current engine: I checked handleNodeControlMessage() for node.register/node.heartbeat, markNodeOffline()/sweepOfflineNodes(), and all publishToWorkspaceStream call sites, and node control only updates DB state/drains queues without publishing roster events. This docs addition will make workspace-key subscribers wait for node roster updates that never arrive; either implement the fanout or drop this paragraph.

Useful? React with 👍 / 👎.

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