Skip to content

Conversation

@jog1t
Copy link
Contributor

@jog1t jog1t commented Jan 11, 2026

No description provided.

Copy link
Contributor Author

jog1t commented Jan 11, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more


How to use the Graphite Merge Queue

Add the label merge-queue to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@claude
Copy link

claude bot commented Jan 11, 2026

PR Review: SDK Updates

This PR updates the generated SDKs (Go, Rust, TypeScript) to make the namespace parameter required for two Actor APIs:

  1. ActorsDelete - DELETE /actors/{actor_id}
  2. ActorsKvGet - GET /actors/{actor_id}/kv/keys/{key}

Summary of Changes

TypeScript SDK:

  • actorsDelete(): Changed namespace from optional (namespace?: string) to required (namespace: string)
  • actorsKvGet(): Added required request parameter with namespace: string, previously missing query param

Go SDK:

  • ActorsDelete: Changed Namespace from *string (optional pointer) to string (required)
  • ActorsKvGet: Added new ActorsKvGetRequest struct with required Namespace field

Rust SDK:

  • actors_delete: Changed namespace from Option<&str> to &str (required)
  • actors_kv_get: Added required namespace: &str parameter

Review Feedback

Positive Aspects

  1. API Consistency: Making namespace required is good for API clarity and prevents errors from missing namespace context
  2. Type Safety: All three SDK languages now enforce the requirement at compile time
  3. Clean Generated Code: The changes appear to be properly generated with consistent patterns across all SDKs
  4. Version Bump: Rust SDK properly incremented from 2.0.33 to 2.0.34-rc.1

⚠️ Breaking Changes

This is a BREAKING CHANGE that will affect existing users:

  1. TypeScript:

    • Before: client.actorsDelete("actor_id") or client.actorsDelete("actor_id", {})
    • After: client.actorsDelete("actor_id", { namespace: "namespace" })
    • Before: client.actorsKvGet("actor_id", "key")
    • After: client.actorsKvGet("actor_id", "key", { namespace: "namespace" })
  2. Go:

    • Before: ActorsDeleteRequest{ Namespace: nil } or with &someNamespace
    • After: ActorsDeleteRequest{ Namespace: "namespace" } (must provide value)
  3. Rust:

    • Before: actors_delete(config, actor_id, None) or Some("ns")
    • After: actors_delete(config, actor_id, "ns") (must provide value)

Recommendation: Ensure this breaking change is:

  • Documented in release notes/changelog
  • Accompanied by migration guide for users
  • Released as a major version (or clearly marked as breaking in minor release)

🔍 Questions & Considerations

  1. Missing Context: What prompted this change? Was namespace incorrectly optional in the OpenAPI spec previously?

  2. Go SDK Query Param Logic: In engine/sdks/go/api-full/client/client.go:268-271, there's now:

    queryParams.Add("namespace", fmt.Sprintf("%v", request.Namespace))
    if len(queryParams) > 0 {
        endpointURL += "?" + queryParams.Encode()
    }

    The if len(queryParams) > 0 check is now redundant since we always add namespace. Consider simplifying (though this is auto-generated, so may need to fix the generator).

  3. Rust SDK Empty String Handling: With namespace: &str now required, there's no compile-time protection against empty strings. Consider if validation is needed at runtime (though this may be an API server concern).

  4. Version Consistency: Only the Rust SDK shows a version bump in this PR. Do Go and TypeScript SDKs need version bumps as well?

📝 Minor Observations

  1. All 96 files changed are version updates and generated code - appears automated and consistent
  2. Documentation examples updated appropriately in all SDKs
  3. No test files included - assuming tests are elsewhere or auto-generated separately

Verdict

APPROVED with recommendations

The code changes are technically sound and properly implement making namespace required across all SDKs. However, this is a significant breaking change that needs proper:

  • Release planning (version numbering)
  • User communication (migration guide, deprecation notice if applicable)
  • Changelog documentation

The implementation itself looks correct and consistent across all three SDK languages.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 11, 2026

More templates

@rivetkit/cloudflare-workers

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/cloudflare-workers@3830

@rivetkit/db

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/db@3830

@rivetkit/framework-base

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/framework-base@3830

@rivetkit/next-js

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/next-js@3830

@rivetkit/react

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/react@3830

rivetkit

pnpm add https://pkg.pr.new/rivet-dev/rivet/rivetkit@3830

@rivetkit/sql-loader

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/sql-loader@3830

@rivetkit/virtual-websocket

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/virtual-websocket@3830

@rivetkit/engine-runner

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/engine-runner@3830

@rivetkit/engine-runner-protocol

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/engine-runner-protocol@3830

commit: 4be0871

@jog1t jog1t marked this pull request as ready for review January 11, 2026 23:11
@graphite-app
Copy link
Contributor

graphite-app bot commented Jan 11, 2026

Graphite Automations

"Test" took an action on this PR • (01/11/26)

1 assignee was added to this PR based on Kacper Wojciechowski's automation.

@jog1t jog1t force-pushed the 01-11-chore_update_sdks branch from ca98da9 to 7610b87 Compare January 11, 2026 23:35
@jog1t jog1t force-pushed the 11-12-refactor_performance_improvements_for_inspector branch from 49b087e to beef736 Compare January 11, 2026 23:35
@NathanFlurry NathanFlurry force-pushed the 01-11-chore_update_sdks branch from 7610b87 to 078d246 Compare January 12, 2026 06:19
@jog1t jog1t force-pushed the 01-11-chore_update_sdks branch from 078d246 to a4d0139 Compare January 12, 2026 19:17
@jog1t jog1t force-pushed the 11-12-refactor_performance_improvements_for_inspector branch from beef736 to 4cdbd4c Compare January 12, 2026 19:17
@NathanFlurry NathanFlurry force-pushed the 11-12-refactor_performance_improvements_for_inspector branch from 4cdbd4c to beef736 Compare January 12, 2026 21:27
@NathanFlurry NathanFlurry force-pushed the 01-11-chore_update_sdks branch from a4d0139 to 078d246 Compare January 12, 2026 21:27
@jog1t jog1t force-pushed the 11-12-refactor_performance_improvements_for_inspector branch from beef736 to 05ac052 Compare January 12, 2026 21:41
@jog1t jog1t force-pushed the 01-11-chore_update_sdks branch from 078d246 to 3f737df Compare January 12, 2026 21:41
@NathanFlurry NathanFlurry force-pushed the 11-12-refactor_performance_improvements_for_inspector branch from 05ac052 to d153f23 Compare January 12, 2026 21:49
@NathanFlurry NathanFlurry force-pushed the 01-11-chore_update_sdks branch from 3f737df to 4be0871 Compare January 12, 2026 21:49
@jog1t jog1t force-pushed the 01-11-chore_update_sdks branch from 4be0871 to 3f737df Compare January 12, 2026 21:52
@jog1t jog1t force-pushed the 11-12-refactor_performance_improvements_for_inspector branch from d153f23 to 05ac052 Compare January 12, 2026 21:52
@NathanFlurry NathanFlurry force-pushed the 11-12-refactor_performance_improvements_for_inspector branch from 05ac052 to d153f23 Compare January 12, 2026 21:54
@graphite-app
Copy link
Contributor

graphite-app bot commented Jan 12, 2026

Merge activity

  • Jan 12, 9:55 PM UTC: NathanFlurry added this pull request to the Graphite merge queue.
  • Jan 12, 9:56 PM UTC: CI is running for this pull request on a draft pull request (#3840) due to your merge queue CI optimization settings.
  • Jan 12, 9:56 PM UTC: Merged by the Graphite merge queue via draft PR: #3840.

graphite-app bot pushed a commit that referenced this pull request Jan 12, 2026
@graphite-app graphite-app bot closed this Jan 12, 2026
@graphite-app graphite-app bot deleted the 01-11-chore_update_sdks branch January 12, 2026 21:56
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.

3 participants