Skip to content

@rivetkit/effect: Client options for params, poolName and region #5922

Open

Description

@gabrielsch

@rivetkit/effect's Client covers most of what we need, but we still create a raw rivetkit/client for one service because the Effect client can't express three things the raw client can:

  1. Connection params: our actors authenticate in createConnState from params (getOrCreate(key, { params })). Actor.Accessor.getOrCreate(key) takes only the key.
  2. Pool: poolName (Rivet 3 pools). Client.Options is Pick<ClientConfigInput, "endpoint" | "token" | "namespace">.
  3. Region: createInRegion on getOrCreate.

Proposal: widen Client.Options to include poolName (and other ClientConfigInput fields that don't conflict with the Effect logger), and let getOrCreate take an options object that is passed through to the raw getOrCreate, e.g. getOrCreate(key, { params, createInRegion }).

With this, a typed action call keeps the RivetError → typed-error decoding that makeRivetkitActionFailureClassifier already does, and we can delete our hand-written classifier.

Versions: @rivetkit/effect 2.3.25, rivetkit 2.3.25, Effect 4.0.1.

Activity

  1. linear-code commented on Oct 27, 2026

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions