Skip to content

feat!: use server-minted world IDs in CLI - #11

Merged
EthanThatOneKid merged 3 commits into
mainfrom
platform-id-cutover
Oct 10, 2026
Merged

EthanThatOneKid merged 3 commits into
mainfrom
platform-id-cutover

Conversation

@EthanThatOneKid

@EthanThatOneKid EthanThatOneKid commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Scope

Make the Wazoo CLI follow the single server-minted world identity contract tracked in wazoo-api#63: world creation no longer accepts a caller-selected ID; worlds get and data-plane commands use the returned ID. Correct the data-plane default host to https://data.wazoo.dev and URL-encode world IDs in path segments.

Dependencies and review status

This CLI change depends on worlds-api#92, wazoo-api#65, and wazoo-client-ts#21. The published @wazoo/client type still requires caller-supplied worldId, so GitHub's standard typecheck currently fails until the new client contract is released and the CLI dependency is updated. A local-only TypeScript config against the world-only client branch passes; it is not included in this PR.

Verification

  • npm run format:check — passed
  • npm run lint — passed
  • npm run build — passed
  • npx tsc --noEmit --project tsconfig.platform-id-cutover.json against the scoped client branch — passed
  • Standard CI typecheck against the currently released client — blocked by the old required worldId field

No live QA E2E, deployment, or database reset was performed.

@wazoocomputer

wazoocomputer Bot commented Sep 29, 2026

Copy link
Copy Markdown

This pull request updates the wazoo-cli to use server-minted world IDs, aligning the CLI's world flow with a single server-provided identity contract. This means world creation will return a worldId, which is then used for data-plane routes. The data-plane default host now points to https://data.wazoo.dev, and world IDs are URL-encoded in path segments.

Here's a summary of the changes:

File Change Summary
.github/workflows/ci.yml modified Adds a CI step to reject legacy platform identity names.
README.md modified Updates example commands for world creation and retrieval to reflect the new ID handling.
src/client.ts modified Changes the default worldsApiBase to https://data.wazoo.dev.
src/commands/worlds.ts modified Modifies create command to remove worldId option, updates get and data-plane routes to use URL-encoded worldId.

Reviewers should start by examining src/commands/worlds.ts to understand the core changes in world ID handling.

wazoo-client-ts no longer has a package.json, so the github: dependency
could not install and the lock was stuck on 0.1.4 (ef5340c). Install the
published client through npm.jsr.io instead; typecheck now runs against
the canonical world-ID contract.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@EthanThatOneKid
EthanThatOneKid marked this pull request as ready for review October 10, 2026 17:13
@EthanThatOneKid

Copy link
Copy Markdown
Contributor Author

Brought up to date and moved out of draft:

  • Merged in main.
  • Switched @wazoo/client to the published JSR package (npm:@jsr/wazoo__client@^0.3.1, with .npmrc pointing @jsr at npm.jsr.io). The github:wazootech/wazoo-client-ts#main dependency can no longer install because that repo has no package.json, so the lock was stuck on 0.1.4 (ef5340c) and the CLI never typechecked against the cutover contract.
  • With 0.3.1 installed, format:check, lint, typecheck and build pass, and so does the PR's legacy-identity guard. wazoo worlds create now takes only --name; main still sends worldId, which the API rejects (additionalProperties: false).

Not observed: a live worlds create against the API (it needs a platform token).

@EthanThatOneKid
EthanThatOneKid merged commit 2b1d710 into main Oct 10, 2026
1 check passed
@EthanThatOneKid
EthanThatOneKid deleted the platform-id-cutover branch October 10, 2026 17:14
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