Conversation
The /workflows hero example loaded the old rivetkit/workflow snippet from the actors docs root; it now reads the workflows docs root. GitHub links, FAQ copy, the agentOS code tab, and the agent setup issues URL move to the standalone package.
| import pi from "@agentos-software/pi"; | ||
| import { actor, queue } from "rivetkit"; | ||
| import { workflow } from "rivetkit/workflow"; | ||
| import { queue, workflow } from "@rivet-dev/workflows"; |
There was a problem hiding this comment.
🟠 Medium · The combined agentOS workflow example does not type-check
@rivet-dev/agentos currently depends on exactly rivetkit@2.3.10, while @rivet-dev/workflows requires the peer range >=2.3.11 <2.4.0. That gives this example two RivetKit copies: workflow() returns the 2.3.11 ActorDefinition, but agentOS's setup() accepts the 2.3.10 class. Because ActorDefinition contains a private #config field, those classes are nominally incompatible, so the later setup({ use: { vm, codeReview } }) fails type checking.
Align the agentOS and Workflows packages on one compatible RivetKit version before publishing this cross-product example, and type-check the complete snippet against those package versions.
There was a problem hiding this comment.
Confirmed, and it's a packaging issue in @rivet-dev/agentos, not in this snippet.
What I checked:
@rivet-dev/agentospinsrivetkitto exactly2.3.10inlatest(0.2.19),rc(0.2.20-rc.1), andmain(0.0.0-main.5ac5a14).@rivet-dev/workflows@1.0.0needsrivetkit >=2.3.11 <2.4.0.- In a clean install of agentos 0.2.19,
@agentos-software/pi0.2.7, and workflows 1.0.0, npm installs two copies (rivetkit 2.3.10 and 2.3.17). Runningtsc --noEmiton the server.ts part fails withTS2344: Property '#private' in type 'Registry' refers to a different memberonstep.client<typeof registry>(). - With an npm override that forces one
rivetkit@2.3.17, the same snippet type-checks with no errors. So the code is right once there's only one RivetKit copy.
Why I didn't swap in setup from @rivet-dev/workflows: that variant does type-check, but it skips what agentOS's own setup configures (experimentalActorUds: true, which the VM sidecar uses for SQLite, plus larger message size limits). It would also still load two RivetKit runtimes. It would pass tsc and then break the VM at runtime.
I left the snippet as the intended API. The fix is to widen @rivet-dev/agentos's rivetkit dependency to include >=2.3.11 (or make it a peer dependency), which is being handled separately in rivet-dev/agentos.
Workflows moved from `rivetkit/workflow` to the standalone `@rivet-dev/workflows` package. This updates the website-owned references.
The vendored actors, agentOS, and Dynamic Apps docs still carry old snippets until they are re-synced from the product repos. The actors fix is rivet-dev/actors#5752.
Checked on a local dev server: `/workflows`, `/actors`, and `/agentos` contain no `rivetkit/workflow` references.