diff --git a/vendor/api/docs/content/actors/create.mdx b/vendor/api/docs/content/actors/create.mdx
index e510dc90..e3bc2be7 100644
--- a/vendor/api/docs/content/actors/create.mdx
+++ b/vendor/api/docs/content/actors/create.mdx
@@ -1,11 +1,11 @@
---
title: "Create Actor"
-description: "Create a new actor. Fails if a live actor with the same name and key already exists."
+description: "Create a new actor. Fails if an actor with the same name and key already exists."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-Prefer [Get or Create Actor](/docs/api/actors/get-or-create) for idempotent access by key. Use this endpoint when you need a fresh actor every time, for example with a random key. The request returns once the actor's record exists, and fails after 30 seconds. A namespace token needs a grant on `actor` with `create`.
+Prefer [Get or Create Actor](/docs/api/actors/get-or-create) for idempotent access by key. Use this endpoint when you need a fresh actor every time, for example with a random key.
```http
POST https://rivet.example.com/actors
@@ -22,7 +22,8 @@ curl -X POST "https://rivet.example.com/actors?namespace=$RIVET_NAMESPACE" \
-d '{
"name": "counter",
"key": "my-counter",
- "runner_name_selector": "default"
+ "runner_name_selector": "default",
+ "crash_policy": "sleep"
}'
```
@@ -32,13 +33,13 @@ curl -X POST "https://rivet.example.com/actors?namespace=$RIVET_NAMESPACE" \
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Query Parameters
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Request Body
@@ -46,25 +47,25 @@ Content type: `application/json`.
| Field | Type | Required | Description |
| --- | --- | --- | --- |
-| `name` | `string` | Yes | Name of the actor as registered in your RivetKit registry. 1 to 64 bytes. |
-| `key` | `string \| null` | No | Key identifying this actor within its name. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). Omit for an actor without a key. |
-| `input` | `string \| null` | No | Input passed to the actor, encoded as standard base64 (not base64url). |
-| `runner_name_selector` | `string \| null` | No | Node pool that runs the actor. Defaults to `default`. |
+| `name` | `string` | Yes | Name of the actor as registered in your RivetKit registry. |
+| `key` | `string \| null` | No | Key identifying this actor within its name. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). Omit for a keyless actor. |
+| `input` | `string \| null` | No | Base64url-encoded CBOR input passed to the actor's `createState` and `onCreate` hooks. |
+| `pool` | `string \| null` | No | Name of the node pool to run the actor in. Defaults to `default`. |
## Responses
### 200
-The created actor. `created` is always `true`.
+The created actor.
| Field | Type | Description |
| --- | --- | --- |
| `actor` | `object` | |
| `actor.actor_id` | `string` | Unique ID of the actor. |
| `actor.name` | `string` | Actor name as registered in your RivetKit registry. |
-| `actor.key` | `string` | Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). An empty string for an actor without a key. |
+| `actor.key` | `string` | Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). |
| `actor.namespace` | `string` | Name of the namespace the actor belongs to. |
-| `actor.runner_name_selector` | `string` | Node pool the actor runs in. |
+| `actor.pool` | `string` | Name of the node pool the actor runs in. |
| `actor.create_ts` | `integer` | When the actor was created, in Unix milliseconds. |
| `actor.start_ts` | `integer \| null` | When the actor first started. Not recorded by this version, so always `null`. |
| `actor.pending_allocation_ts` | `integer \| null` | When the actor started waiting for a node. Not recorded by this version, so always `null`. |
@@ -72,7 +73,7 @@ The created actor. `created` is always `true`.
| `actor.sleep_ts` | `integer \| null` | When the actor went to sleep. Not recorded by this version, so always `null`. |
| `actor.reschedule_ts` | `integer \| null` | When the actor will next try to allocate. Not recorded by this version, so always `null`. |
| `actor.destroy_ts` | `integer \| null` | When the actor was destroyed, in Unix milliseconds. Only set in listings that include destroyed actors; otherwise `null`. |
-| `created` | `boolean` | Always `true`. |
+| `created` | `boolean` | `true` if this request created the actor, `false` if it already existed. |
```json
{
@@ -81,7 +82,7 @@ The created actor. `created` is always `true`.
"name": "my-actor",
"key": "my-key",
"namespace": "my-namespace",
- "runner_name_selector": "default",
+ "pool": "default",
"create_ts": 1700000000000,
"start_ts": null,
"pending_allocation_ts": null,
@@ -96,7 +97,7 @@ The created actor. `created` is always `true`.
### 400
-`actor.invalid_name`: `name` is empty or longer than 64 bytes. `actor.invalid_key`: `key` is longer than 1024 bytes. `actor.invalid_key_encoding`: `key` is not in canonical slash-separated form. `actor.key_owned_elsewhere`: another datacenter owns the key. `envoy.invalid_pool_name`: `runner_name_selector` is not a valid pool name. `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.
+`actor.invalid_name`: `name` is empty or longer than 64 bytes. `actor.invalid_key`: `key` is longer than 1024 bytes. `actor.invalid_key_encoding`: `key` is not in canonical slash-separated form. `actor.key_owned_elsewhere`: another datacenter owns the key. `envoy.invalid_pool_name`: `pool` is not a valid pool name. `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.
| Field | Type | Description |
| --- | --- | --- |
diff --git a/vendor/api/docs/content/actors/destroy.mdx b/vendor/api/docs/content/actors/destroy.mdx
index c70aa07a..17ebc703 100644
--- a/vendor/api/docs/content/actors/destroy.mdx
+++ b/vendor/api/docs/content/actors/destroy.mdx
@@ -5,8 +5,6 @@ description: "Destroy an actor. The actor's onDestroy hook runs, then its state
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-A namespace token needs a grant on `actor` with `delete`.
-
```http
DELETE https://rivet.example.com/actors/{actor_id}
```
@@ -26,7 +24,7 @@ curl -X DELETE "https://rivet.example.com/actors/$ACTOR_ID?namespace=$RIVET_NAME
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Path Parameters
@@ -38,13 +36,13 @@ Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Responses
### 200
-The destroy was accepted. The response body is an empty object.
+The destroy was accepted.
```json
{}
diff --git a/vendor/api/docs/content/actors/get-or-create.mdx b/vendor/api/docs/content/actors/get-or-create.mdx
index 34fe6b77..1e2f3140 100644
--- a/vendor/api/docs/content/actors/get-or-create.mdx
+++ b/vendor/api/docs/content/actors/get-or-create.mdx
@@ -5,7 +5,7 @@ description: "Return the actor with the given name and key, creating it if it do
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-The response includes `created`, which is `true` when this call created the actor. A sleeping actor is woken. Without `key`, a new actor is created every time. Gateway endpoints can perform the same lookup inline with the `rvt-*` selector parameters, so you only need this endpoint when you want the `actor_id` up front. A namespace token needs a grant on `actor` with `create`.
+The response includes `created`, which is `true` when this call created the actor. Gateway endpoints can perform the same lookup inline with the `rvt-*` selector parameters, so you only need this endpoint when you want the `actor_id` up front.
```http
PUT https://rivet.example.com/actors
@@ -22,7 +22,8 @@ curl -X PUT "https://rivet.example.com/actors?namespace=$RIVET_NAMESPACE" \
-d '{
"name": "counter",
"key": "my-counter",
- "runner_name_selector": "default"
+ "runner_name_selector": "default",
+ "crash_policy": "sleep"
}'
```
@@ -32,13 +33,13 @@ curl -X PUT "https://rivet.example.com/actors?namespace=$RIVET_NAMESPACE" \
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Query Parameters
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Request Body
@@ -46,10 +47,10 @@ Content type: `application/json`.
| Field | Type | Required | Description |
| --- | --- | --- | --- |
-| `name` | `string` | Yes | Name of the actor as registered in your RivetKit registry. 1 to 64 bytes. |
+| `name` | `string` | Yes | Name of the actor as registered in your RivetKit registry. |
| `key` | `string \| null` | No | Key identifying this actor within its name. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). |
-| `input` | `string \| null` | No | Input passed to the actor if this request creates it, encoded as standard base64 (not base64url). |
-| `runner_name_selector` | `string \| null` | No | Node pool that runs the actor. Defaults to `default`. |
+| `input` | `string \| null` | No | Base64url-encoded CBOR input passed to the actor's `createState` and `onCreate` hooks when the actor is created. |
+| `pool` | `string \| null` | No | Name of the node pool to run the actor in. Defaults to `default`. |
## Responses
@@ -62,9 +63,9 @@ The existing or created actor.
| `actor` | `object` | |
| `actor.actor_id` | `string` | Unique ID of the actor. |
| `actor.name` | `string` | Actor name as registered in your RivetKit registry. |
-| `actor.key` | `string` | Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). An empty string for an actor without a key. |
+| `actor.key` | `string` | Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). |
| `actor.namespace` | `string` | Name of the namespace the actor belongs to. |
-| `actor.runner_name_selector` | `string` | Node pool the actor runs in. |
+| `actor.pool` | `string` | Name of the node pool the actor runs in. |
| `actor.create_ts` | `integer` | When the actor was created, in Unix milliseconds. |
| `actor.start_ts` | `integer \| null` | When the actor first started. Not recorded by this version, so always `null`. |
| `actor.pending_allocation_ts` | `integer \| null` | When the actor started waiting for a node. Not recorded by this version, so always `null`. |
@@ -81,7 +82,7 @@ The existing or created actor.
"name": "my-actor",
"key": "my-key",
"namespace": "my-namespace",
- "runner_name_selector": "default",
+ "pool": "default",
"create_ts": 1700000000000,
"start_ts": null,
"pending_allocation_ts": null,
@@ -96,7 +97,7 @@ The existing or created actor.
### 400
-`actor.invalid_name`: `name` is empty or longer than 64 bytes. `actor.invalid_key`: `key` is longer than 1024 bytes. `actor.invalid_key_encoding`: `key` is not in canonical slash-separated form. `actor.key_owned_elsewhere`: another datacenter owns the key. `envoy.invalid_pool_name`: `runner_name_selector` is not a valid pool name. `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.
+`actor.invalid_name`: `name` is empty or longer than 64 bytes. `actor.invalid_key`: `key` is longer than 1024 bytes. `actor.invalid_key_encoding`: `key` is not in canonical slash-separated form. `actor.key_owned_elsewhere`: another datacenter owns the key. `envoy.invalid_pool_name`: `pool` is not a valid pool name. `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.
| Field | Type | Description |
| --- | --- | --- |
diff --git a/vendor/api/docs/content/actors/get.mdx b/vendor/api/docs/content/actors/get.mdx
deleted file mode 100644
index ced55eba..00000000
--- a/vendor/api/docs/content/actors/get.mdx
+++ /dev/null
@@ -1,194 +0,0 @@
----
-title: "Get Actor"
-description: "Get a live actor by ID."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-Returns `actor.not_found` for an actor that was destroyed or belongs to another namespace. A namespace token needs a grant on `actor` with `read`.
-
-```http
-GET https://rivet.example.com/actors/{actor_id}
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/actors/$ACTOR_ID?namespace=$RIVET_NAMESPACE" \
- -H "Authorization: Bearer $RIVET_TOKEN"
-```
-
-
-
-## Authentication
-
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor_id` | `string` | Yes | ID of the actor. |
-
-## Query Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
-
-## Responses
-
-### 200
-
-The actor.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `actor` | `object` | |
-| `actor.actor_id` | `string` | Unique ID of the actor. |
-| `actor.name` | `string` | Actor name as registered in your RivetKit registry. |
-| `actor.key` | `string` | Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). An empty string for an actor without a key. |
-| `actor.namespace` | `string` | Name of the namespace the actor belongs to. |
-| `actor.runner_name_selector` | `string` | Node pool the actor runs in. |
-| `actor.create_ts` | `integer` | When the actor was created, in Unix milliseconds. |
-| `actor.start_ts` | `integer \| null` | When the actor first started. Not recorded by this version, so always `null`. |
-| `actor.pending_allocation_ts` | `integer \| null` | When the actor started waiting for a node. Not recorded by this version, so always `null`. |
-| `actor.connectable_ts` | `integer \| null` | When the actor last became connectable. Not recorded by this version, so always `null`. |
-| `actor.sleep_ts` | `integer \| null` | When the actor went to sleep. Not recorded by this version, so always `null`. |
-| `actor.reschedule_ts` | `integer \| null` | When the actor will next try to allocate. Not recorded by this version, so always `null`. |
-| `actor.destroy_ts` | `integer \| null` | When the actor was destroyed, in Unix milliseconds. Only set in listings that include destroyed actors; otherwise `null`. |
-
-```json
-{
- "actor": {
- "actor_id": "d97pbq1nyqxw1w5qdwz0iirbqiblh2",
- "name": "my-actor",
- "key": "my-key",
- "namespace": "my-namespace",
- "runner_name_selector": "default",
- "create_ts": 1700000000000,
- "start_ts": null,
- "pending_allocation_ts": null,
- "connectable_ts": null,
- "sleep_ts": null,
- "reschedule_ts": null,
- "destroy_ts": null
- }
-}
-```
-
-### 400
-
-`envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `group` | `string` | Error group, for example `actor`. |
-| `code` | `string` | Error code within the group, for example `not_found`. |
-| `message` | `string` | Human-readable error message. |
-| `metadata` | `any` | Extra details. Only present on some errors raised while authenticating or authorizing the request. |
-
-```json
-{
- "group": "envoy",
- "code": "invalid_namespace_name",
- "message": "Namespace name must be a DNS label of 1 to 63 lowercase letters, digits and hyphens."
-}
-```
-
-### 401
-
-`auth.invalid_token`: the request carries no token, or the token is not valid. `auth.token_expired`: the token has expired.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `group` | `string` | Error group, for example `actor`. |
-| `code` | `string` | Error code within the group, for example `not_found`. |
-| `message` | `string` | Human-readable error message. |
-| `metadata` | `any` | Extra details. Only present on some errors raised while authenticating or authorizing the request. |
-
-```json
-{
- "group": "auth",
- "code": "invalid_token",
- "message": "Authentication token is invalid."
-}
-```
-
-### 403
-
-`auth.insufficient_permissions`: the token's grants do not cover this request. For a namespace token this is also returned when the actor does not exist.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `group` | `string` | Error group, for example `actor`. |
-| `code` | `string` | Error code within the group, for example `not_found`. |
-| `message` | `string` | Human-readable error message. |
-| `metadata` | `any` | Extra details. Only present on some errors raised while authenticating or authorizing the request. |
-
-```json
-{
- "group": "auth",
- "code": "insufficient_permissions",
- "message": "Insufficient permissions to access this resource."
-}
-```
-
-### 404
-
-`actor.not_found`: the actor does not exist, was destroyed, or belongs to another namespace. `namespace.not_found`: the namespace does not exist.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `group` | `string` | Error group, for example `actor`. |
-| `code` | `string` | Error code within the group, for example `not_found`. |
-| `message` | `string` | Human-readable error message. |
-| `metadata` | `any` | Extra details. Only present on some errors raised while authenticating or authorizing the request. |
-
-```json
-{
- "group": "actor",
- "code": "not_found",
- "message": "The actor does not exist or was destroyed."
-}
-```
-
-### 500
-
-`core.internal_error`: an unexpected failure, including an `actor_id` that is not a valid Rivet ID.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `group` | `string` | Error group, for example `actor`. |
-| `code` | `string` | Error code within the group, for example `not_found`. |
-| `message` | `string` | Human-readable error message. |
-| `metadata` | `any` | Extra details. Only present on some errors raised while authenticating or authorizing the request. |
-
-```json
-{
- "group": "core",
- "code": "internal_error",
- "message": "An internal error occurred"
-}
-```
-
-### 503
-
-`auth.verification_unavailable`: token verification keys are temporarily unavailable. Retry the request.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `group` | `string` | Error group, for example `actor`. |
-| `code` | `string` | Error code within the group, for example `not_found`. |
-| `message` | `string` | Human-readable error message. |
-| `metadata` | `any` | Extra details. Only present on some errors raised while authenticating or authorizing the request. |
-
-```json
-{
- "group": "auth",
- "code": "verification_unavailable",
- "message": "The server could not verify the authentication token because verification keys are temporarily unavailable. Retry the request."
-}
-```
diff --git a/vendor/api/docs/content/actors/list-names.mdx b/vendor/api/docs/content/actors/list-names.mdx
index 81974f0a..26c8134b 100644
--- a/vendor/api/docs/content/actors/list-names.mdx
+++ b/vendor/api/docs/content/actors/list-names.mdx
@@ -1,12 +1,10 @@
---
title: "List Actor Names"
-description: "List the actor names that the namespace's connected nodes accept."
+description: "List the distinct actor names that have been created in a namespace."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-A namespace token needs a grant on `actor` with `list`.
-
```http
GET https://rivet.example.com/actors/names
```
@@ -26,19 +24,19 @@ curl "https://rivet.example.com/actors/names?namespace=$RIVET_NAMESPACE" \
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Query Parameters
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Responses
### 200
-Map of actor name to metadata.
+The actor names.
| Field | Type | Description |
| --- | --- | --- |
diff --git a/vendor/api/docs/content/actors/list.mdx b/vendor/api/docs/content/actors/list.mdx
index 5ca3fdb1..5f777403 100644
--- a/vendor/api/docs/content/actors/list.mdx
+++ b/vendor/api/docs/content/actors/list.mdx
@@ -1,11 +1,11 @@
---
title: "List Actors"
-description: "List actors in a namespace by ID, by name and key, or by name. Listings by name are paginated."
+description: "List actors in a namespace, optionally filtered by name, key, or ID. Results are paginated."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-Pass `actor_ids` (comma-separated) to look up actors by ID, or `name` with an optional `key`. `actor_ids` takes precedence over `name` and `key`. Only a listing by `name` without `key` is paginated; a page can hold fewer than `limit` actors while `pagination.cursor` is still set. Destroyed actors are excluded unless `include_destroyed` is `true`. A namespace token needs a grant on `actor` with `list`.
+`key` requires `name`. `actor_id` cannot be combined with `name` or `key`. Destroyed actors are excluded unless `include_destroyed` is `true`.
```http
GET https://rivet.example.com/actors
@@ -26,19 +26,19 @@ curl "https://rivet.example.com/actors?namespace=$RIVET_NAMESPACE&name=counter"
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Query Parameters
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
-| `name` | `string` | No | Only return actors with this name. Required unless `actor_ids` or `actor_id` is set. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
+| `name` | `string` | No | Only return actors with this name. |
| `key` | `string` | No | Only return the actor with this key. Requires `name`. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). |
-| `actor_ids` | `string` | No | Comma-separated IDs of the actors to return. |
-| `actor_id` | `string` | No | Same as `actor_ids`. Used only when `actor_ids` is absent. |
-| `include_destroyed` | `boolean` | No | Include destroyed actors. Must be `true` or `false`. |
-| `limit` | `integer` | No | Maximum number of results to return, from 1 to 100. Defaults to 100. |
+| `actor_ids` | `string` | No | Deprecated. Use `actor_id` instead. |
+| `actor_id` | `string` | No | Only return actors with these IDs. Repeat the parameter for multiple IDs. |
+| `include_destroyed` | `boolean` | No | Include actors that have been destroyed. |
+| `limit` | `integer` | No | Maximum number of results to return. |
| `cursor` | `string` | No | Pagination cursor. Pass the `pagination.cursor` value from the previous response to fetch the next page. |
## Responses
@@ -52,9 +52,9 @@ Matching actors and a cursor for the next page. `pagination.cursor` is `null` on
| `actors` | `object[]` | |
| `actors[].actor_id` | `string` | Unique ID of the actor. |
| `actors[].name` | `string` | Actor name as registered in your RivetKit registry. |
-| `actors[].key` | `string` | Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). An empty string for an actor without a key. |
+| `actors[].key` | `string` | Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). |
| `actors[].namespace` | `string` | Name of the namespace the actor belongs to. |
-| `actors[].runner_name_selector` | `string` | Node pool the actor runs in. |
+| `actors[].pool` | `string` | Name of the node pool the actor runs in. |
| `actors[].create_ts` | `integer` | When the actor was created, in Unix milliseconds. |
| `actors[].start_ts` | `integer \| null` | When the actor first started. Not recorded by this version, so always `null`. |
| `actors[].pending_allocation_ts` | `integer \| null` | When the actor started waiting for a node. Not recorded by this version, so always `null`. |
@@ -73,7 +73,7 @@ Matching actors and a cursor for the next page. `pagination.cursor` is `null` on
"name": "my-actor",
"key": "my-key",
"namespace": "my-namespace",
- "runner_name_selector": "default",
+ "pool": "default",
"create_ts": 1700000000000,
"start_ts": null,
"pending_allocation_ts": null,
diff --git a/vendor/api/docs/content/actors/reschedule.mdx b/vendor/api/docs/content/actors/reschedule.mdx
index da874ed2..b7e78498 100644
--- a/vendor/api/docs/content/actors/reschedule.mdx
+++ b/vendor/api/docs/content/actors/reschedule.mdx
@@ -1,12 +1,10 @@
---
title: "Reschedule Actor"
-description: "Move an actor to a new allocation. A running actor is stopped and starts again, possibly on another node, with its persisted state."
+description: "Move an actor to a different worker. The actor runs its shutdown sequence, then restarts elsewhere with its persisted state."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-A running or stopping actor is stopped and allocated again, and a sleeping actor is allocated now. An actor that is still starting, or is destroyed, is left as is and the request still succeeds. The request body is ignored. A namespace token needs a grant on `actor` with `update`.
-
```http
POST https://rivet.example.com/actors/{actor_id}/reschedule
```
@@ -26,7 +24,7 @@ curl -X POST "https://rivet.example.com/actors/$ACTOR_ID/reschedule?namespace=$R
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Path Parameters
@@ -38,13 +36,13 @@ Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Responses
### 200
-The reschedule was accepted, or there was nothing to move. The response body is an empty object.
+The reschedule was accepted, or there was nothing to move.
```json
{}
diff --git a/vendor/api/docs/content/actors/sleep.mdx b/vendor/api/docs/content/actors/sleep.mdx
index b3adae65..84015757 100644
--- a/vendor/api/docs/content/actors/sleep.mdx
+++ b/vendor/api/docs/content/actors/sleep.mdx
@@ -5,8 +5,6 @@ description: "Put an actor to sleep. The actor runs its shutdown sequence and pe
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-The request body is ignored. A namespace token needs a grant on `actor` with `update`.
-
```http
POST https://rivet.example.com/actors/{actor_id}/sleep
```
@@ -26,7 +24,7 @@ curl -X POST "https://rivet.example.com/actors/$ACTOR_ID/sleep?namespace=$RIVET_
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Path Parameters
@@ -38,13 +36,13 @@ Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Responses
### 200
-The sleep was accepted. The response body is an empty object.
+The sleep was accepted.
```json
{}
diff --git a/vendor/api/docs/content/authentication.mdx b/vendor/api/docs/content/authentication.mdx
index cdb0ade7..5a7d27c3 100644
--- a/vendor/api/docs/content/authentication.mdx
+++ b/vendor/api/docs/content/authentication.mdx
@@ -81,7 +81,7 @@ const ws = new WebSocket(
);
```
-The inline `{actor_id}@{token}` path form and the `rvt-token` query parameter also work on gateway WebSockets, and are simpler for clients that cannot set subprotocols. This applies to [Raw WebSocket](/docs/api/websockets), [Connect](/docs/api/gateway/connect), [Inspector Connect](/docs/api/inspector-connect), and [Node Connection](/docs/api/worker-connect).
+The inline `{actor_id}@{token}` path form and the `rvt-token` query parameter also work on gateway WebSockets, and are simpler for clients that cannot set subprotocols. This applies to [Raw WebSocket](/docs/api/websockets), [Connect](/docs/api/gateway/connect), and [Node Connection](/docs/api/worker-connect).
## Control Plane Requests
diff --git a/vendor/api/docs/content/control-plane/datacenters.mdx b/vendor/api/docs/content/control-plane/datacenters.mdx
index 87f64dfa..bdc57c24 100644
--- a/vendor/api/docs/content/control-plane/datacenters.mdx
+++ b/vendor/api/docs/content/control-plane/datacenters.mdx
@@ -5,8 +5,6 @@ description: "List the datacenters configured for the control plane."
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-A namespace token needs a grant on `datacenter` with `list`.
-
```http
GET https://rivet.example.com/datacenters
```
@@ -26,13 +24,13 @@ curl "https://rivet.example.com/datacenters" \
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Responses
### 200
-Configured datacenters.
+Configured datacenters and an empty pagination cursor.
| Field | Type | Description |
| --- | --- | --- |
diff --git a/vendor/api/docs/content/control-plane/metadata.mdx b/vendor/api/docs/content/control-plane/metadata.mdx
index ff17f1d3..fcdd2fde 100644
--- a/vendor/api/docs/content/control-plane/metadata.mdx
+++ b/vendor/api/docs/content/control-plane/metadata.mdx
@@ -1,11 +1,11 @@
---
title: "Get Metadata"
-description: "Get the runtime and version of the control plane."
+description: "Get build, runtime, compiler, and fleet protocol metadata for the control plane."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-A request made with the admin token also receives `actorNames`.
+The protocol versions are the versions agreed on by the fleet, which can differ from the versions compiled into the responding node.
```http
GET https://rivet.example.com/metadata
@@ -31,7 +31,7 @@ No authentication is required.
### 200
-Runtime and version metadata.
+Build and protocol metadata for the responding node and its fleet.
| Field | Type | Description |
| --- | --- | --- |
diff --git a/vendor/api/docs/content/gateway/request.mdx b/vendor/api/docs/content/gateway/request.mdx
deleted file mode 100644
index 58de2dff..00000000
--- a/vendor/api/docs/content/gateway/request.mdx
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: "Raw HTTP Request"
-description: "Forward a raw HTTP request to an actor's onRequest handler. The method, headers, body, and the path after /request/ are passed through unchanged."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-Use this when an actor exposes its own HTTP routes, streams responses (for example Server-Sent Events), or needs to accept non-JSON payloads. The response is whatever the actor's `onRequest` handler returns.
-
-```http
-ANY https://rivet.example.com/gateway/{actor}/request/{path}
-```
-
-Accepts `GET`, `POST`, `PUT`, `DELETE`, `PATCH`, `HEAD`, `OPTIONS`.
-
-## Examples
-
-
-
-```bash cURL
-curl -X POST "https://rivet.example.com/gateway/counter/request/increment?rvt-namespace=$RIVET_NAMESPACE&rvt-method=getOrCreate&rvt-key=my-counter&rvt-pool=default" \
- -H "x-rivet-token: $RIVET_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Send a token in the `x-rivet-token` header, inline in the path as `{actor_id}@{token}`, or in the `rvt-token` query parameter. Use a [scoped token](/docs/jwt) from browsers and your Rivet token from trusted backends. See [Authentication](/docs/api/authentication).
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-| `path` | `string` | Yes | Path forwarded to the actor. The actor sees a request whose URL path is `/{path}`. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Responses
-
-### 200
-
-The response returned by the actor's `onRequest` handler.
-
-## Related
-
-- [Low-Level HTTP Handler](/actors/docs/request-handler)
-- [Raw WebSocket](/docs/api/websockets)
diff --git a/vendor/api/docs/content/index.mdx b/vendor/api/docs/content/index.mdx
index 59f7975c..f03aeb40 100644
--- a/vendor/api/docs/content/index.mdx
+++ b/vendor/api/docs/content/index.mdx
@@ -10,7 +10,7 @@ Everything the RivetKit client does happens over HTTP. This reference documents
https://rivet.example.com
```
-Self-hosted deployments use the endpoint from your `RIVET_ENDPOINT` URL instead. See [Endpoints](/docs/connect).
+Self-hosted deployments use the endpoint from your `RIVET_ENDPOINT` URL instead. See [Endpoints](/docs/endpoints).
## Two Surfaces
@@ -42,7 +42,6 @@ Most applications only need the gateway. The RivetKit client resolves actors by
## When to Use HTTP Directly
- Calling actors from a language without a RivetKit client (Go, Ruby, PHP, shell scripts).
-- Serverless platforms or edge runtimes where you want zero dependencies.
- Operational scripts that list, destroy, or sleep actors in bulk.
- Debugging: reproducing what the client sends with curl.
diff --git a/vendor/api/docs/content/inspector-connect.mdx b/vendor/api/docs/content/inspector-connect.mdx
deleted file mode 100644
index 00f700ae..00000000
--- a/vendor/api/docs/content/inspector-connect.mdx
+++ /dev/null
@@ -1,525 +0,0 @@
----
-title: "Inspector Connect"
-description: "Open the Inspector WebSocket used for live actor inspection."
----
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-The inspector connection streams live data about one actor. `{actor}` is an actor ID. See [Actor Routing](/docs/api/actor-routing).
-
-```http
-GET wss://rivet.example.com/gateway/{actor}/inspector/connect?protocol_version=6
-```
-
-## Handshake
-
-Pass these WebSocket subprotocols in this order:
-
-| Subprotocol | Purpose |
-| --- | --- |
-| `rivet` | Selects the Rivet WebSocket protocol. |
-| `rivet_target.actor` | Routes the connection to an actor. |
-| `rivet_actor.{actor}` | Identifies the actor. |
-| `rivet_encoding.bare` | Selects BARE binary messages. |
-| `rivet_token.{token}` | Authenticates the gateway request. |
-| `rivet_inspector_token.{token}` | Authenticates access to the inspector. |
-
-{/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-Set `protocol_version=6` for the message shapes on this page. Supported values are `1` through `6`. Omitting the parameter selects the legacy version 5 framing, which embeds a version in every message.
-
-
-
-```javascript Raw WebSocket
-import * as cbor from "cbor-x";
-import {
- CURRENT_VERSION,
- TO_CLIENT_VERSIONED,
- TO_SERVER_VERSIONED,
-} from "rivetkit/inspector/client";
-
-const ws = new WebSocket(
- `wss://rivet.example.com/gateway/${actorId}/inspector/connect?protocol_version=${CURRENT_VERSION}`,
- [
- "rivet",
- "rivet_target.actor",
- `rivet_actor.${actorId}`,
- "rivet_encoding.bare",
- `rivet_token.${apiToken}`,
- `rivet_inspector_token.${inspectorToken}`,
- ],
-);
-ws.binaryType = "arraybuffer";
-
-ws.onmessage = (event) => {
- const message = TO_CLIENT_VERSIONED.deserialize(
- new Uint8Array(event.data),
- CURRENT_VERSION,
- );
- if (message.body.tag === "StateUpdated") {
- console.log(cbor.decode(new Uint8Array(message.body.val.state)));
- }
- console.log(message.body);
-};
-
-ws.onopen = () => {
- ws.send(TO_SERVER_VERSIONED.serialize({
- body: { tag: "StateRequest", val: { id: 1n } },
- }, CURRENT_VERSION));
-};
-```
-
-
-
-## Message envelope
-
-Messages are binary BARE frames, not JSON text. Import the versioned codecs from `rivetkit/inspector/client` as shown above. The decoded envelope is `{ body: { tag, val } }`. Fields with type `data` contain CBOR bytes. Decode those bytes with a CBOR codec. The JSON examples below show the decoded logical shape, with CBOR values expanded for readability. Unsigned integers decode to JavaScript `bigint`.
-
-Most requests have a client-selected `id`. Their response uses the same value as `rid`. `PatchStateRequest` has no response.
-
-## Client to actor messages
-
-### PatchStateRequest
-
-Replaces the actor state.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `state` | `data` | Yes | New state encoded as CBOR. |
-
-```json
-{ "body": { "tag": "PatchStateRequest", "val": { "state": { "count": 2 } } } }
-```
-
-### StateRequest
-
-Requests the current state.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-
-```json
-{ "body": { "tag": "StateRequest", "val": { "id": 1 } } }
-```
-
-### ConnectionsRequest
-
-Requests the current connections.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-
-```json
-{ "body": { "tag": "ConnectionsRequest", "val": { "id": 2 } } }
-```
-
-### ActionRequest
-
-Calls an actor action.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-| `name` | `string` | Yes | Action name. |
-| `args` | `data` | Yes | Action arguments encoded as CBOR. |
-
-```json
-{ "body": { "tag": "ActionRequest", "val": { "id": 3, "name": "increment", "args": [1] } } }
-```
-
-### RpcsListRequest
-
-Requests the available action names.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-
-```json
-{ "body": { "tag": "RpcsListRequest", "val": { "id": 4 } } }
-```
-
-### TraceQueryRequest
-
-Queries traces in a time range.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-| `startMs` | `uint` | Yes | Inclusive start time in Unix milliseconds. |
-| `endMs` | `uint` | Yes | End time in Unix milliseconds. |
-| `limit` | `uint` | Yes | Maximum number of records. |
-
-```json
-{ "body": { "tag": "TraceQueryRequest", "val": { "id": 5, "startMs": 1735689600000, "endMs": 1735689660000, "limit": 100 } } }
-```
-
-### QueueRequest
-
-Requests queue status. The actor limits `limit` to 200.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-| `limit` | `uint` | Yes | Maximum number of message summaries. |
-
-```json
-{ "body": { "tag": "QueueRequest", "val": { "id": 6, "limit": 50 } } }
-```
-
-### WorkflowHistoryRequest
-
-Requests workflow history.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-
-```json
-{ "body": { "tag": "WorkflowHistoryRequest", "val": { "id": 7 } } }
-```
-
-### WorkflowReplayRequest
-
-Replays a workflow from an optional history entry.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-| `entryId` | `string` | No | History entry to replay from. `null` starts from the beginning. |
-
-```json
-{ "body": { "tag": "WorkflowReplayRequest", "val": { "id": 8, "entryId": "step-2" } } }
-```
-
-### DatabaseSchemaRequest
-
-Requests the SQLite schema.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-
-```json
-{ "body": { "tag": "DatabaseSchemaRequest", "val": { "id": 9 } } }
-```
-
-### DatabaseTableRowsRequest
-
-Requests rows from a SQLite table.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-| `table` | `string` | Yes | Table name. |
-| `limit` | `uint` | Yes | Maximum rows to return. |
-| `offset` | `uint` | Yes | Number of rows to skip. |
-
-```json
-{ "body": { "tag": "DatabaseTableRowsRequest", "val": { "id": 10, "table": "users", "limit": 50, "offset": 0 } } }
-```
-
-### SchedulesRequest
-
-Requests all schedules.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-
-```json
-{ "body": { "tag": "SchedulesRequest", "val": { "id": 11 } } }
-```
-
-### ScheduleHistoryRequest
-
-Requests recent fires for one schedule.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-| `scheduleId` | `string` | Yes | Schedule identifier. |
-| `limit` | `uint` | Yes | Maximum history entries. |
-
-```json
-{ "body": { "tag": "ScheduleHistoryRequest", "val": { "id": 12, "scheduleId": "cleanup", "limit": 20 } } }
-```
-
-### ScheduleDeleteRequest
-
-Deletes a schedule.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `id` | `uint` | Yes | Request identifier. |
-| `scheduleId` | `string` | Yes | Schedule identifier. |
-| `kind` | `string` | Yes | Schedule kind: `at`, `cron`, or `every`. |
-
-```json
-{ "body": { "tag": "ScheduleDeleteRequest", "val": { "id": 13, "scheduleId": "cleanup", "kind": "cron" } } }
-```
-
-## Actor to client messages
-
-### Init
-
-Sent when inspection starts. It contains the initial snapshot.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `connections` | `Connection[]` | Yes | Current connections. Each item has string `id` and CBOR `details`. |
-| `state` | `data` | No | Current state encoded as CBOR. |
-| `isStateEnabled` | `boolean` | Yes | Whether the actor uses state. |
-| `rpcs` | `string[]` | Yes | Available action names. |
-| `isDatabaseEnabled` | `boolean` | Yes | Whether SQLite is enabled. |
-| `queueSize` | `uint` | Yes | Current queued message count. |
-| `workflowHistory` | `data` | No | Workflow history transport data. |
-| `isWorkflowEnabled` | `boolean` | Yes | Whether workflows are enabled. |
-| `tabConfig` | `TabConfigEntry[]` | Yes | Inspector tabs. Each item has `id`, optional `label`, optional `icon`, and boolean `hidden`. |
-| `schedules` | `Schedule[]` | Yes | Current schedules. |
-
-```json
-{ "body": { "tag": "Init", "val": { "connections": [], "state": { "count": 1 }, "isStateEnabled": true, "rpcs": ["increment"], "isDatabaseEnabled": true, "queueSize": 0, "workflowHistory": null, "isWorkflowEnabled": false, "tabConfig": [{ "id": "state", "label": null, "icon": null, "hidden": false }], "schedules": [] } } }
-```
-
-### StateResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `state` | `data` | No | State encoded as CBOR. |
-| `isStateEnabled` | `boolean` | Yes | Whether state is enabled. |
-
-```json
-{ "body": { "tag": "StateResponse", "val": { "rid": 1, "state": { "count": 2 }, "isStateEnabled": true } } }
-```
-
-### ConnectionsResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `connections` | `Connection[]` | Yes | Connections with string `id` and CBOR `details`. |
-
-```json
-{ "body": { "tag": "ConnectionsResponse", "val": { "rid": 2, "connections": [{ "id": "conn-1", "details": { "name": "Sam" } }] } } }
-```
-
-### ActionResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `output` | `data` | Yes | Action output encoded as CBOR. |
-
-```json
-{ "body": { "tag": "ActionResponse", "val": { "rid": 3, "output": 2 } } }
-```
-
-### RpcsListResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `rpcs` | `string[]` | Yes | Available action names. |
-
-```json
-{ "body": { "tag": "RpcsListResponse", "val": { "rid": 4, "rpcs": ["increment"] } } }
-```
-
-### TraceQueryResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `payload` | `data` | Yes | Trace range transport payload. |
-
-```json
-{ "body": { "tag": "TraceQueryResponse", "val": { "rid": 5, "payload": { "records": [] } } } }
-```
-
-### QueueResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `status.size` | `uint` | Yes | Current queue size. |
-| `status.maxSize` | `uint` | Yes | Queue capacity. |
-| `status.messages` | `QueueMessageSummary[]` | Yes | Summaries with uint `id`, string `name`, and uint `createdAtMs`. |
-| `status.truncated` | `boolean` | Yes | Whether more summaries were available. |
-
-```json
-{ "body": { "tag": "QueueResponse", "val": { "rid": 6, "status": { "size": 1, "maxSize": 1000, "messages": [{ "id": 42, "name": "email", "createdAtMs": 1735689600000 }], "truncated": false } } } }
-```
-
-### WorkflowHistoryResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `history` | `data` | No | Workflow history transport data. |
-| `isWorkflowEnabled` | `boolean` | Yes | Whether workflows are enabled. |
-
-```json
-{ "body": { "tag": "WorkflowHistoryResponse", "val": { "rid": 7, "history": null, "isWorkflowEnabled": false } } }
-```
-
-### WorkflowReplayResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `history` | `data` | No | Updated workflow history transport data. |
-| `isWorkflowEnabled` | `boolean` | Yes | Whether workflows are enabled. |
-
-```json
-{ "body": { "tag": "WorkflowReplayResponse", "val": { "rid": 8, "history": { "entries": [] }, "isWorkflowEnabled": true } } }
-```
-
-### DatabaseSchemaResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `schema` | `data` | Yes | SQLite schema encoded as CBOR. |
-
-```json
-{ "body": { "tag": "DatabaseSchemaResponse", "val": { "rid": 9, "schema": { "tables": [] } } } }
-```
-
-### DatabaseTableRowsResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `result` | `data` | Yes | Rows encoded as CBOR. |
-
-```json
-{ "body": { "tag": "DatabaseTableRowsResponse", "val": { "rid": 10, "result": [{ "id": 1 }] } } }
-```
-
-### SchedulesResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `schedules` | `Schedule[]` | Yes | Current schedules. |
-
-```json
-{ "body": { "tag": "SchedulesResponse", "val": { "rid": 11, "schedules": [] } } }
-```
-
-### ScheduleHistoryResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `scheduleId` | `string` | Yes | Schedule identifier. |
-| `history` | `ScheduleFire[]` | Yes | Schedule fire history. |
-
-```json
-{ "body": { "tag": "ScheduleHistoryResponse", "val": { "rid": 12, "scheduleId": "cleanup", "history": [{ "action": "cleanup", "scheduledAt": 1735689600000, "firedAt": 1735689600010, "finishedAt": 1735689600040, "result": "ok", "error": null }] } } }
-```
-
-### ScheduleDeleteResponse
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rid` | `uint` | Yes | Matching request identifier. |
-| `scheduleId` | `string` | Yes | Schedule identifier. |
-| `deleted` | `boolean` | Yes | Whether a schedule was deleted. |
-
-```json
-{ "body": { "tag": "ScheduleDeleteResponse", "val": { "rid": 13, "scheduleId": "cleanup", "deleted": true } } }
-```
-
-### ConnectionsUpdated
-
-Sent when the connection list changes.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `connections` | `Connection[]` | Yes | Current connections. |
-
-```json
-{ "body": { "tag": "ConnectionsUpdated", "val": { "connections": [] } } }
-```
-
-### StateUpdated
-
-Sent when state changes.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `state` | `data` | Yes | State encoded as CBOR. |
-
-```json
-{ "body": { "tag": "StateUpdated", "val": { "state": { "count": 3 } } } }
-```
-
-### QueueUpdated
-
-Sent when the queue size changes.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `queueSize` | `uint` | Yes | Current queue size. |
-
-```json
-{ "body": { "tag": "QueueUpdated", "val": { "queueSize": 2 } } }
-```
-
-### WorkflowHistoryUpdated
-
-Sent when workflow history changes.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `history` | `data` | Yes | Workflow history transport data. |
-
-```json
-{ "body": { "tag": "WorkflowHistoryUpdated", "val": { "history": { "entries": [] } } } }
-```
-
-### SchedulesUpdated
-
-Sent when schedules change.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `schedules` | `Schedule[]` | Yes | Current schedules. |
-
-```json
-{ "body": { "tag": "SchedulesUpdated", "val": { "schedules": [] } } }
-```
-
-### Error
-
-Reports an inspector protocol error. This message does not carry a request identifier.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `message` | `string` | Yes | Error identifier or description. |
-
-```json
-{ "body": { "tag": "Error", "val": { "message": "inspector.events_dropped" } } }
-```
-
-## Shared structures
-
-`Schedule` contains `id`, optional `name`, `kind`, `action`, CBOR `args`, `nextRunAt`, optional `lastRunAt`, optional `expression`, optional `timezone`, optional `intervalMs`, and optional `maxHistory`. All time and interval values are unsigned integers in milliseconds.
-
-`ScheduleFire` contains `action`, `scheduledAt`, `firedAt`, optional `finishedAt`, `result`, and optional `error`. An error contains `group`, `code`, `message`, and optional CBOR `metadata`.
-
-## Close behavior
-
-An invalid or unsupported `protocol_version` closes the socket with code `1002` and reason `inspector.invalid_protocol_version`. A missing or invalid inspector token closes it with code `1008` and reason `inspector.unauthorized`. Other established-connection errors can arrive as `Error` messages.
-
-## Related
-
-- [Actor Routing](/docs/api/actor-routing)
-- [Raw WebSocket](/docs/api/websockets)
diff --git a/vendor/api/docs/content/inspector/action.mdx b/vendor/api/docs/content/inspector/action.mdx
deleted file mode 100644
index 15cf2f22..00000000
--- a/vendor/api/docs/content/inspector/action.mdx
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: "Invoke Action"
-description: "Invoke an actor action through the inspector."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-POST https://rivet.example.com/gateway/{actor}/inspector/action/{name}
-```
-
-## Examples
-
-
-
-```bash cURL
-curl -X POST "https://rivet.example.com/gateway/$ACTOR_ID/inspector/action/increment" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN" \
- -H "Content-Type: application/json" \
- -d '{
- "args": [
- 1
- ]
- }'
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-| `name` | `string` | Yes | Name of the action to invoke. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Request Body
-
-Content type: `application/json` (optional).
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `args` | `any[]` | No | Positional arguments passed to the action, in order. |
-
-## Responses
-
-### 200
-
-The action result.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `output` | `any` | Value returned by the action. `null` if the action returned `undefined`. |
-
-```json
-{
- "output": 1
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/connections.mdx b/vendor/api/docs/content/inspector/connections.mdx
deleted file mode 100644
index 0e994292..00000000
--- a/vendor/api/docs/content/inspector/connections.mdx
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: "List Connections"
-description: "List the actor's active connections."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/connections
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/connections" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Responses
-
-### 200
-
-The active connections.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `connections` | `object[]` | |
-
-```json
-{
- "connections": [
- {}
- ]
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/database-execute.mdx b/vendor/api/docs/content/inspector/database-execute.mdx
deleted file mode 100644
index b0697cf8..00000000
--- a/vendor/api/docs/content/inspector/database-execute.mdx
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: "Execute SQL"
-description: "Run a SQL statement against the actor's SQLite database."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-SQL executes directly against actor storage. Use bind parameters for values.
-
-```http
-POST https://rivet.example.com/gateway/{actor}/inspector/database/execute
-```
-
-## Examples
-
-
-
-```bash cURL
-curl -X POST "https://rivet.example.com/gateway/$ACTOR_ID/inspector/database/execute" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN" \
- -H "Content-Type: application/json" \
- -d '{
- "sql": "SELECT * FROM users WHERE id = ?",
- "args": [
- "user-123"
- ]
- }'
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Request Body
-
-Content type: `application/json`.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `sql` | `string` | Yes | SQL statement to run against the actor's SQLite database. |
-| `args` | `any[]` | No | Positional arguments passed to the action, in order. |
-| `properties` | `object` | No | Driver-specific execution options. |
-
-## Responses
-
-### 200
-
-Rows returned by the statement.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `rows` | `object[]` | |
-
-```json
-{
- "rows": [
- {}
- ]
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/database-rows.mdx b/vendor/api/docs/content/inspector/database-rows.mdx
deleted file mode 100644
index f966c2d3..00000000
--- a/vendor/api/docs/content/inspector/database-rows.mdx
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: "Query Database Rows"
-description: "Read a page of rows from an actor database table or view."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/database/rows
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/database/rows?table=users&limit=100&offset=0" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Query Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `table` | `string` | Yes | Table or view to read. |
-| `limit` | `integer` | No | Maximum rows to return. |
-| `offset` | `integer` | No | Rows to skip. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Responses
-
-### 200
-
-The selected rows.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `rows` | `object[]` | |
-
-```json
-{
- "rows": [
- {}
- ]
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/database-schema.mdx b/vendor/api/docs/content/inspector/database-schema.mdx
deleted file mode 100644
index beb6dada..00000000
--- a/vendor/api/docs/content/inspector/database-schema.mdx
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: "Get Database Schema"
-description: "List tables, views, and columns in the actor's SQLite database."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/database/schema
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/database/schema" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Responses
-
-### 200
-
-The actor database schema.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `schema` | `object` | |
-| `schema.tables` | `object[]` | |
-| `schema.tables[].name` | `string` | |
-| `schema.tables[].type` | `"table" \| "view"` | |
-| `schema.tables[].columns` | `object[]` | |
-| `schema.tables[].columns[].name` | `string` | |
-| `schema.tables[].columns[].type` | `string` | |
-| `schema.tables[].columns[].notnull` | `boolean` | |
-| `schema.tables[].columns[].pk` | `boolean` | |
-
-```json
-{
- "schema": {
- "tables": [
- {
- "name": "my-actor",
- "type": "table",
- "columns": [
- {
- "name": "my-actor",
- "type": "",
- "notnull": false,
- "pk": false
- }
- ]
- }
- ]
- }
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/queue-delete.mdx b/vendor/api/docs/content/inspector/queue-delete.mdx
deleted file mode 100644
index 154f8246..00000000
--- a/vendor/api/docs/content/inspector/queue-delete.mdx
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: "Clear Queue"
-description: "Remove all pending messages from the actor's queue."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-DELETE https://rivet.example.com/gateway/{actor}/inspector/queue
-```
-
-## Examples
-
-
-
-```bash cURL
-curl -X DELETE "https://rivet.example.com/gateway/$ACTOR_ID/inspector/queue" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Responses
-
-### 200
-
-The queue was cleared.
-
-```json
-{}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/queue-get.mdx b/vendor/api/docs/content/inspector/queue-get.mdx
deleted file mode 100644
index 9939d3a6..00000000
--- a/vendor/api/docs/content/inspector/queue-get.mdx
+++ /dev/null
@@ -1,105 +0,0 @@
----
-title: "Get Queue"
-description: "List pending queue messages and queue capacity details."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/queue
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/queue?limit=50" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Query Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `limit` | `integer` | No | Maximum number of queue messages to return |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Responses
-
-### 200
-
-Queue size, capacity, truncation status, and pending message metadata.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `size` | `integer` | |
-| `maxSize` | `integer` | |
-| `truncated` | `boolean` | |
-| `messages` | `object[]` | |
-| `messages[].id` | `string` | |
-| `messages[].name` | `string` | |
-| `messages[].createdAtMs` | `integer` | |
-
-```json
-{
- "size": 0,
- "maxSize": 0,
- "truncated": false,
- "messages": [
- {
- "id": "",
- "name": "my-actor",
- "createdAtMs": 0
- }
- ]
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/queue-post.mdx b/vendor/api/docs/content/inspector/queue-post.mdx
deleted file mode 100644
index c7ecef96..00000000
--- a/vendor/api/docs/content/inspector/queue-post.mdx
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: "Enqueue Message"
-description: "Enqueue a message through the inspector."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-POST https://rivet.example.com/gateway/{actor}/inspector/queue
-```
-
-## Examples
-
-
-
-```bash cURL
-curl -X POST "https://rivet.example.com/gateway/$ACTOR_ID/inspector/queue" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN" \
- -H "Content-Type: application/json" \
- -d '{
- "name": "increment",
- "body": {
- "amount": 1
- }
- }'
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Request Body
-
-Content type: `application/json`.
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `name` | `string` | Yes | Queue message name. |
-| `body` | `any` | No | Message payload. Any JSON value. |
-
-## Responses
-
-### 200
-
-Metadata for the enqueued message.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `id` | `string` | |
-| `name` | `string` | |
-| `createdAtMs` | `integer` | |
-
-```json
-{
- "id": "",
- "name": "my-actor",
- "createdAtMs": 0
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/rpcs.mdx b/vendor/api/docs/content/inspector/rpcs.mdx
deleted file mode 100644
index 3807e06a..00000000
--- a/vendor/api/docs/content/inspector/rpcs.mdx
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: "List Actions"
-description: "List the actions exposed by the actor."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/rpcs
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/rpcs" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Responses
-
-### 200
-
-The actor's action definitions.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `rpcs` | `object` | |
-
-```json
-{
- "rpcs": {}
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/state-get.mdx b/vendor/api/docs/content/inspector/state-get.mdx
deleted file mode 100644
index c4605844..00000000
--- a/vendor/api/docs/content/inspector/state-get.mdx
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: "Get State"
-description: "Read the actor's current state."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/state
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/state" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Responses
-
-### 200
-
-The current actor state.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `state` | `any` | |
-
-```json
-{
- "state": {
- "count": 1
- }
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/state-patch.mdx b/vendor/api/docs/content/inspector/state-patch.mdx
deleted file mode 100644
index 10156caa..00000000
--- a/vendor/api/docs/content/inspector/state-patch.mdx
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: "Patch State"
-description: "Replace the actor's current state."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-This writes state directly and bypasses actor actions. Use it only for inspection and recovery.
-
-```http
-PATCH https://rivet.example.com/gateway/{actor}/inspector/state
-```
-
-## Examples
-
-
-
-```bash cURL
-curl -X PATCH "https://rivet.example.com/gateway/$ACTOR_ID/inspector/state" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN" \
- -H "Content-Type: application/json" \
- -d '{
- "state": {
- "count": 2
- }
- }'
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Request Body
-
-Content type: `application/json` (optional).
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `state` | `any` | Yes | |
-
-## Responses
-
-### 200
-
-The state was saved.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `ok` | `boolean` | |
-
-```json
-{
- "ok": true
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/summary.mdx b/vendor/api/docs/content/inspector/summary.mdx
deleted file mode 100644
index e280b745..00000000
--- a/vendor/api/docs/content/inspector/summary.mdx
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: "Get Summary"
-description: "Get an overview of an actor's state, connections, actions, queue, database, and workflow."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/summary
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/summary" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Responses
-
-### 200
-
-The actor inspector summary.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `state` | `any` | |
-| `connections` | `object[]` | |
-| `rpcs` | `object` | |
-| `queueSize` | `integer` | |
-| `isStateEnabled` | `boolean` | |
-| `isDatabaseEnabled` | `boolean` | |
-| `isWorkflowEnabled` | `boolean` | |
-| `workflowHistory` | `any` | |
-
-```json
-{
- "state": "",
- "connections": [
- {}
- ],
- "rpcs": {},
- "queueSize": 0,
- "isStateEnabled": false,
- "isDatabaseEnabled": false,
- "isWorkflowEnabled": false,
- "workflowHistory": ""
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/traces.mdx b/vendor/api/docs/content/inspector/traces.mdx
deleted file mode 100644
index 97b100c4..00000000
--- a/vendor/api/docs/content/inspector/traces.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: "Get Traces"
-description: "Get actor trace spans in OTLP JSON format."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-Trace collection is not implemented yet, so this route currently returns an empty result.
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/traces
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/traces?startMs=0&limit=100" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Query Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `startMs` | `integer` | No | Start of time range in epoch milliseconds |
-| `endMs` | `integer` | No | End of time range in epoch milliseconds. Defaults to now. |
-| `limit` | `integer` | No | Maximum number of spans to return |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Responses
-
-### 200
-
-Trace data and whether the requested range was clamped.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `otlp` | `object` | |
-| `clamped` | `boolean` | |
-
-```json
-{
- "otlp": {},
- "clamped": false
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/workflow-history.mdx b/vendor/api/docs/content/inspector/workflow-history.mdx
deleted file mode 100644
index 16cef287..00000000
--- a/vendor/api/docs/content/inspector/workflow-history.mdx
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: "Get Workflow History"
-description: "Read workflow history and whether workflows are enabled for the actor."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-GET https://rivet.example.com/gateway/{actor}/inspector/workflow-history
-```
-
-## Examples
-
-
-
-```bash cURL
-curl "https://rivet.example.com/gateway/$ACTOR_ID/inspector/workflow-history" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN"
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Responses
-
-### 200
-
-Workflow history and availability.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `history` | `any` | |
-| `isWorkflowEnabled` | `boolean` | |
-
-```json
-{
- "history": "",
- "isWorkflowEnabled": false
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/inspector/workflow-replay.mdx b/vendor/api/docs/content/inspector/workflow-replay.mdx
deleted file mode 100644
index a879d913..00000000
--- a/vendor/api/docs/content/inspector/workflow-replay.mdx
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: "Replay Workflow"
-description: "Schedule a workflow replay from an optional history entry."
----
-
-{/* Generated by scripts/docs/gen-api-reference.mjs from rivetkit-openapi/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-
-
-The inspector API is subject to change without notice. Do not build production integrations on it.
-
-
-```http
-POST https://rivet.example.com/gateway/{actor}/inspector/workflow/replay
-```
-
-## Examples
-
-
-
-```bash cURL
-curl -X POST "https://rivet.example.com/gateway/$ACTOR_ID/inspector/workflow/replay" \
- -H "Authorization: Bearer $INSPECTOR_TOKEN" \
- -H "Content-Type: application/json" \
- -d '{
- "entryId": "entry-123"
- }'
-```
-
-
-
-
-
-## Authentication
-
-Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}
-
-## Path Parameters
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `actor` | `string` | Yes | Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters. |
-
-## Headers
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `Authorization` | `string` | No | Bearer token for inspector authentication. Required in production, optional in development. |
-
-## Actor Selector
-
-`{actor}` accepts an actor ID, an actor ID with an inline routing token (`{actor_id}@{token}`), or an actor name combined with the `rvt-*` query parameters below. See [Actor Routing](/docs/api/actor-routing) for the full rules.
-
-
-
-| Name | Type | Required | Description |
-| --- | --- | --- | --- |
-| `rvt-namespace` | `string` | No | Namespace the actor lives in. Required when `{actor}` is an actor name. |
-| `rvt-method` | `string` | No | How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`. One of `"get"`, `"getOrCreate"`. |
-| `rvt-key` | `string` | No | Actor key. Separate multi-part keys with commas. |
-| `rvt-pool` | `string` | No | Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise. |
-| `rvt-runner` | `string` | No | Deprecated alias for `rvt-pool`. |
-| `rvt-input` | `string` | No | Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-region` | `string` | No | Preferred region when `rvt-method=getOrCreate` creates the actor. |
-| `rvt-crash-policy` | `string` | No | Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`. One of `"restart"`, `"sleep"`, `"destroy"`. |
-| `rvt-skip-ready-wait` | `boolean` | No | Return as soon as the actor is resolved instead of waiting for it to be ready. |
-| `rvt-token` | `string` | No | Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible. |
-
-
-
-## Request Body
-
-Content type: `application/json` (optional).
-
-| Field | Type | Required | Description |
-| --- | --- | --- | --- |
-| `entryId` | `string` | No | |
-
-## Responses
-
-### 200
-
-Workflow history after scheduling the replay.
-
-| Field | Type | Description |
-| --- | --- | --- |
-| `history` | `any` | |
-| `isWorkflowEnabled` | `boolean` | |
-
-```json
-{
- "history": "",
- "isWorkflowEnabled": false
-}
-```
-
-### 401
-
-The inspector token is missing or invalid.
diff --git a/vendor/api/docs/content/namespaces/create.mdx b/vendor/api/docs/content/namespaces/create.mdx
index 79fb7779..7ee5d607 100644
--- a/vendor/api/docs/content/namespaces/create.mdx
+++ b/vendor/api/docs/content/namespaces/create.mdx
@@ -1,6 +1,6 @@
---
title: "Create Namespace"
-description: "Create a namespace with a unique name."
+description: "Create a namespace with a unique name and a display name."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
@@ -18,7 +18,8 @@ curl -X POST "https://rivet.example.com/namespaces" \
-H "Authorization: Bearer $RIVET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
- "name": "my-app"
+ "name": "my-app",
+ "display_name": "My App"
}'
```
@@ -28,7 +29,7 @@ curl -X POST "https://rivet.example.com/namespaces" \
## Authentication
-Requires the admin token, sent as a bearer token in the `Authorization` header. Namespace tokens are rejected. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Request Body
@@ -36,7 +37,7 @@ Content type: `application/json`.
| Field | Type | Required | Description |
| --- | --- | --- | --- |
-| `name` | `string` | Yes | Unique name of the namespace. A DNS label of 1 to 63 lowercase letters, digits and hyphens. |
+| `name` | `string` | Yes | Unique name used to identify the namespace. |
## Responses
@@ -46,7 +47,7 @@ The newly created namespace.
| Field | Type | Description |
| --- | --- | --- |
-| `namespace` | `object` | The created namespace. |
+| `namespace` | `object` | Name of the namespace to operate in. |
| `namespace.name` | `string` | Namespace name. |
| `namespace.create_ts` | `integer` | When the namespace was created, in Unix milliseconds. |
diff --git a/vendor/api/docs/content/namespaces/list.mdx b/vendor/api/docs/content/namespaces/list.mdx
index 5593a1bb..0ae1d39d 100644
--- a/vendor/api/docs/content/namespaces/list.mdx
+++ b/vendor/api/docs/content/namespaces/list.mdx
@@ -1,11 +1,11 @@
---
title: "List Namespaces"
-description: "List namespaces in name order, or look up one namespace by name. Results are paginated."
+description: "List namespaces, optionally filtered by name or ID. Results are paginated."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-`name` returns zero or one namespace and ignores `limit` and `cursor`. Any other query parameter, including `namespace`, is rejected.
+Use `namespace_id` for multiple IDs. `namespace_ids` is deprecated.
```http
GET https://rivet.example.com/namespaces
@@ -26,15 +26,15 @@ curl "https://rivet.example.com/namespaces" \
## Authentication
-Requires the admin token, sent as a bearer token in the `Authorization` header. Namespace tokens are rejected. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Query Parameters
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `name` | `string` | No | Only return the namespace with this name. |
+| `name` | `string` | No | Only return namespaces with this name. |
| `cursor` | `string` | No | Pagination cursor. Pass the `pagination.cursor` value from the previous response to fetch the next page. |
-| `limit` | `integer` | No | Maximum number of results to return, from 1 to 100. Defaults to 100. |
+| `limit` | `integer` | No | Maximum number of results to return. |
## Responses
diff --git a/vendor/api/docs/content/pools/delete.mdx b/vendor/api/docs/content/pools/delete.mdx
index a50f177d..dabd4039 100644
--- a/vendor/api/docs/content/pools/delete.mdx
+++ b/vendor/api/docs/content/pools/delete.mdx
@@ -1,11 +1,11 @@
---
-title: "Delete Node Pool"
-description: "Delete a node pool's configuration."
+title: "Delete Pool"
+description: "Delete a node pool."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-Fails with `pool.nodes_connected` while any node of the pool is connected. A namespace token needs a grant on `pool` with `delete`.
+Fails with `pool.nodes_connected` while any node of the pool is connected.
```http
DELETE https://rivet.example.com/pools/{pool}
@@ -16,15 +16,17 @@ DELETE https://rivet.example.com/pools/{pool}
```bash cURL
-curl -X DELETE "https://rivet.example.com/pools/default?namespace=$RIVET_NAMESPACE" \
+curl -X DELETE "https://rivet.example.com/pools/$RIVET_POOL?namespace=$RIVET_NAMESPACE" \
-H "Authorization: Bearer $RIVET_TOKEN"
```
+
+
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Path Parameters
@@ -36,13 +38,13 @@ Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Responses
### 200
-The node pool was deleted. The response body is an empty object.
+The node pool was deleted.
```json
{}
diff --git a/vendor/api/docs/content/pools/get.mdx b/vendor/api/docs/content/pools/get.mdx
index 84b6b555..522f3509 100644
--- a/vendor/api/docs/content/pools/get.mdx
+++ b/vendor/api/docs/content/pools/get.mdx
@@ -1,12 +1,10 @@
---
-title: "Get Node Pool"
+title: "Get Pool"
description: "Get a node pool's configuration."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-A namespace token needs a grant on `pool` with `read`.
-
```http
GET https://rivet.example.com/pools/{pool}
```
@@ -16,15 +14,17 @@ GET https://rivet.example.com/pools/{pool}
```bash cURL
-curl "https://rivet.example.com/pools/default?namespace=$RIVET_NAMESPACE" \
+curl "https://rivet.example.com/pools/$RIVET_POOL?namespace=$RIVET_NAMESPACE" \
-H "Authorization: Bearer $RIVET_TOKEN"
```
+
+
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Path Parameters
@@ -36,7 +36,7 @@ Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Responses
diff --git a/vendor/api/docs/content/pools/list-nodes.mdx b/vendor/api/docs/content/pools/list-nodes.mdx
index 547810a8..59dbfcea 100644
--- a/vendor/api/docs/content/pools/list-nodes.mdx
+++ b/vendor/api/docs/content/pools/list-nodes.mdx
@@ -1,12 +1,10 @@
---
-title: "List Nodes"
+title: "List Pool Nodes"
description: "List the live nodes of a node pool in node key order. Results are paginated."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-A node is listed while its heartbeat is recent enough for it to receive actors. A page can hold fewer than `limit` nodes while `pagination.cursor` is still set. A namespace token needs a grant on `node` with `list`.
-
```http
GET https://rivet.example.com/pools/{pool}/nodes
```
@@ -16,15 +14,17 @@ GET https://rivet.example.com/pools/{pool}/nodes
```bash cURL
-curl "https://rivet.example.com/pools/default/nodes?namespace=$RIVET_NAMESPACE" \
+curl "https://rivet.example.com/pools/$RIVET_POOL/nodes?namespace=$RIVET_NAMESPACE" \
-H "Authorization: Bearer $RIVET_TOKEN"
```
+
+
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Path Parameters
@@ -36,15 +36,15 @@ Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
-| `limit` | `integer` | No | Maximum number of results to return, from 1 to 100. Defaults to 100. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
+| `limit` | `integer` | No | Maximum number of results to return. |
| `cursor` | `string` | No | Pagination cursor. Pass the `pagination.cursor` value from the previous response to fetch the next page. |
## Responses
### 200
-A page of live nodes and a cursor for the next page.
+A page of live nodes.
| Field | Type | Description |
| --- | --- | --- |
diff --git a/vendor/api/docs/content/pools/list.mdx b/vendor/api/docs/content/pools/list.mdx
index 40e8dd11..7c975b92 100644
--- a/vendor/api/docs/content/pools/list.mdx
+++ b/vendor/api/docs/content/pools/list.mdx
@@ -1,12 +1,10 @@
---
-title: "List Node Pools"
+title: "List Pools"
description: "List the node pools configured in a namespace, ordered by name. Results are paginated."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-A pool is listed once it is configured, whether or not any node is connected. A namespace token needs a grant on `pool` with `list`.
-
```http
GET https://rivet.example.com/pools
```
@@ -20,25 +18,27 @@ curl "https://rivet.example.com/pools?namespace=$RIVET_NAMESPACE" \
-H "Authorization: Bearer $RIVET_TOKEN"
```
+
+
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Query Parameters
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
-| `limit` | `integer` | No | Maximum number of results to return, from 1 to 100. Defaults to 100. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
+| `limit` | `integer` | No | Maximum number of results to return. |
| `cursor` | `string` | No | Pagination cursor. Pass the `pagination.cursor` value from the previous response to fetch the next page. |
## Responses
### 200
-A page of node pools and a cursor for the next page.
+A page of node pools.
| Field | Type | Description |
| --- | --- | --- |
diff --git a/vendor/api/docs/content/pools/upsert.mdx b/vendor/api/docs/content/pools/upsert.mdx
index f2c35909..4945e4ac 100644
--- a/vendor/api/docs/content/pools/upsert.mdx
+++ b/vendor/api/docs/content/pools/upsert.mdx
@@ -1,11 +1,11 @@
---
-title: "Upsert Node Pool"
+title: "Upsert Pool"
description: "Create or replace a node pool's configuration."
---
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-Every field is optional and omitted fields take their defaults, so a request replaces the whole configuration. Unknown fields are rejected. Serverless pools are not supported. Nodes pick up the new configuration on their next connection. A namespace token needs a grant on `pool` with `update`.
+Omitted fields take their defaults. Unknown fields are rejected.
```http
PUT https://rivet.example.com/pools/{pool}
@@ -16,22 +16,21 @@ PUT https://rivet.example.com/pools/{pool}
```bash cURL
-curl -X PUT "https://rivet.example.com/pools/default?namespace=$RIVET_NAMESPACE" \
+curl -X PUT "https://rivet.example.com/pools/$RIVET_POOL?namespace=$RIVET_NAMESPACE" \
-H "Authorization: Bearer $RIVET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
- "drain_on_version_upgrade": true,
- "actor_eviction_delay": 0,
- "actor_eviction_period": 0,
- "actor_eviction_rate": 1
+ "drain_on_version_upgrade": true
}'
```
+
+
## Authentication
-Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Path Parameters
@@ -43,7 +42,7 @@ Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/
| Name | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | No | Name of the namespace to operate in. Defaults to `default`. |
+| `namespace` | `string` | No | Name of the namespace to operate in. |
## Request Body
diff --git a/vendor/api/docs/content/tokens/create.mdx b/vendor/api/docs/content/tokens/create.mdx
index efc7a752..c7fd2e91 100644
--- a/vendor/api/docs/content/tokens/create.mdx
+++ b/vendor/api/docs/content/tokens/create.mdx
@@ -5,7 +5,7 @@ description: "Issue a scoped token. Use this to mint short-lived tokens that gra
{/* Generated by scripts/docs/gen-api-reference.mjs from engine/artifacts/openapi.json and docs/api/endpoints.json. Do not edit by hand. */}
-Each grant names a resource type, a target (`"any"` or a specific `{ "id": ... }`), and the operations it allows. A token carries 1 to 32 grants with 1 to 5 operations each. The RivetKit client wraps this as `handle.issueToken()`.
+Each grant names a resource type, a target (`"any"` or a specific `{ "id": ... }`), and the operations it allows. The RivetKit client wraps this as `handle.issueToken()`.
```http
POST https://rivet.example.com/auth/tokens
@@ -27,7 +27,7 @@ curl -X POST "https://rivet.example.com/auth/tokens" \
{
"resource": "actor_gateway",
"target": {
- "id": "d97pbq1nyqxw1w5qdwz0iirbqiblh2"
+ "id": "00000000-0000-0000-0000-000000000000"
},
"operations": [
"read"
@@ -43,7 +43,7 @@ curl -X POST "https://rivet.example.com/auth/tokens" \
## Authentication
-Requires the admin token, sent as a bearer token in the `Authorization` header. Namespace tokens are rejected. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Request Body
@@ -51,9 +51,9 @@ Content type: `application/json`.
| Field | Type | Required | Description |
| --- | --- | --- | --- |
-| `namespace` | `string` | Yes | Namespace the token is valid in. It must exist. |
-| `duration` | `integer \| null` | No | Lifetime in seconds, from 1 to the deployment's maximum. Omit for the default lifetime. |
-| `subject` | `string \| null` | No | Free-form subject to attach to the token, such as a user ID. At most 256 UTF-8 bytes. |
+| `namespace` | `string` | Yes | Namespace the token is valid in. |
+| `duration` | `integer \| null` | No | Lifetime in seconds. Omit for the default lifetime. |
+| `subject` | `string \| null` | No | Free-form subject to attach to the token, such as a user ID. |
| `grants` | `object[]` | Yes | Permissions the token carries. |
| `grants[].resource` | `"namespace" \| "actor" \| "node" \| "pool" \| "datacenter" \| "actor_gateway" \| "actor_kv"` | Yes | Resource type the grant applies to. |
| `grants[].target` | `"any" \| object` | Yes | `"any"` for every resource of this type, or `{ "id": "..." }` for one resource. |
@@ -81,7 +81,7 @@ The issued token. The response carries `Cache-Control: no-store`.
### 400
-`validation.invalid_input`: the subject exceeds 256 UTF-8 bytes, the duration is outside the allowed range, or the grant set is invalid (empty, more than 32 grants, a grant without operations or with more than 5, or a `token`, `acl` or `jwt` resource). `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.
+`validation.invalid_input`: the subject exceeds 256 UTF-8 bytes, the duration is outside the allowed range, or the grant set is invalid (empty, more than 32 grants, a grant without operations or with more than 5, or a `token` or `jwt` resource). `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.
| Field | Type | Description |
| --- | --- | --- |
diff --git a/vendor/api/docs/content/tokens/inspect.mdx b/vendor/api/docs/content/tokens/inspect.mdx
index 8500a974..56bb5026 100644
--- a/vendor/api/docs/content/tokens/inspect.mdx
+++ b/vendor/api/docs/content/tokens/inspect.mdx
@@ -24,7 +24,7 @@ curl "https://rivet.example.com/auth/tokens/inspect" \
## Authentication
-Send the namespace token to inspect as a bearer token in the `Authorization` header. The admin token is rejected. See [Authentication](/docs/api/authentication).
+Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication).
## Responses
@@ -34,8 +34,8 @@ The token's claims. The response carries `Cache-Control: no-store`.
| Field | Type | Description |
| --- | --- | --- |
-| `namespace` | `string` | Namespace the token is scoped to. |
-| `subject` | `string \| null` | Subject attached to the token, or `null`. |
+| `namespace` | `string` | Name of the namespace to operate in. |
+| `subject` | `string \| null` | Subject attached to the token, if any. |
| `grants` | `object[]` | Permissions the token carries. |
| `grants[].resource` | `"namespace" \| "actor" \| "node" \| "pool" \| "datacenter" \| "actor_gateway" \| "actor_kv"` | Resource type the grant applies to. |
| `grants[].target` | `"any" \| object` | `"any"` for every resource of this type, or `{ "id": "..." }` for one resource. |
diff --git a/vendor/api/docs/content/worker-connect.mdx b/vendor/api/docs/content/worker-connect.mdx
index eff92982..616be0a6 100644
--- a/vendor/api/docs/content/worker-connect.mdx
+++ b/vendor/api/docs/content/worker-connect.mdx
@@ -26,8 +26,6 @@ The token travels as a `rivet_token.{token}` subprotocol, the same as other WebS
Messages are binary [BARE](https://baremessages.org/) frames. The schema, versioned message types, and a reference client live in the repository:
-- [Protocol schemas](https://github.com/rivet-dev/rivet/tree/main/engine/sdks/schemas/envoy-protocol), one `.bare` file per protocol version
+- [Protocol schemas](https://github.com/rivet-dev/rivet/tree/main/engine/sdks/rust/envoy-protocol/schemas), one `.bare` file per protocol version
- [Rust protocol types](https://github.com/rivet-dev/rivet/tree/main/engine/sdks/rust/envoy-protocol) generated from the schemas
- [Rust client](https://github.com/rivet-dev/rivet/tree/main/engine/sdks/rust/envoy-client), the transport rivetkit-core uses to hold this connection
-
-To see which nodes are connected, use [List Nodes](/docs/api/pools/list-nodes).
diff --git a/vendor/api/docs/endpoints.json b/vendor/api/docs/endpoints.json
index f004f2a8..c605faab 100644
--- a/vendor/api/docs/endpoints.json
+++ b/vendor/api/docs/endpoints.json
@@ -1,1334 +1,892 @@
{
- "$comment": "Source of truth for the generated HTTP API reference. Run `node scripts/docs/gen-api-reference.mjs` after editing.",
- "baseUrl": "https://rivet.example.com",
- "specs": {
- "engine": {
- "file": "engine/artifacts/openapi.json",
- "auth": {
- "curlHeaders": [
- "Authorization: Bearer $RIVET_TOKEN"
- ],
- "description": "Send the admin token, or a namespace token from [Create Token](/docs/api/tokens/create) whose grants cover the request, as a bearer token in the `Authorization` header. The `x-rivet-token` header is also accepted. Routes with a `namespace` query parameter use the `default` namespace when it is omitted. See [Authentication](/docs/api/authentication)."
- },
- "parameters": {
- "namespace": "Name of the namespace to operate in. Defaults to `default`.",
- "actor_id": "ID of the actor.",
- "limit": "Maximum number of results to return, from 1 to 100. Defaults to 100.",
- "cursor": "Pagination cursor. Pass the `pagination.cursor` value from the previous response to fetch the next page.",
- "pagination.cursor": "Cursor for the next page, or `null` when there are no more results.",
- "actor.actor_id": "Unique ID of the actor.",
- "actor.name": "Actor name as registered in your RivetKit registry.",
- "actor.key": "Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). An empty string for an actor without a key.",
- "actor.runner_name_selector": "Node pool the actor runs in.",
- "actors[].actor_id": "Unique ID of the actor.",
- "actors[].name": "Actor name as registered in your RivetKit registry.",
- "actors[].key": "Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). An empty string for an actor without a key.",
- "actors[].runner_name_selector": "Node pool the actor runs in.",
- "names": "Map of actor name to metadata.",
- "token": "The issued token. Treat it as a secret.",
- "issued_ts": "When the token was issued, in Unix milliseconds.",
- "expires_ts": "When the token expires, in Unix milliseconds.",
- "subject": "Subject attached to the token, or `null`.",
- "grants": "Permissions the token carries.",
- "grants[].resource": "Resource type the grant applies to.",
- "grants[].target": "`\"any\"` for every resource of this type, or `{ \"id\": \"...\" }` for one resource.",
- "grants[].operations": "Operations the token may perform on the target."
- },
- "authProfiles": {
- "none": {
- "curlHeaders": [],
- "description": "No authentication is required."
- },
- "admin": {
- "curlHeaders": [
- "Authorization: Bearer $RIVET_TOKEN"
- ],
- "description": "Requires the admin token, sent as a bearer token in the `Authorization` header. Namespace tokens are rejected. See [Authentication](/docs/api/authentication)."
- },
- "token": {
- "curlHeaders": [
- "Authorization: Bearer $RIVET_TOKEN"
- ],
- "description": "Send the namespace token to inspect as a bearer token in the `Authorization` header. The admin token is rejected. See [Authentication](/docs/api/authentication)."
- }
- }
- },
- "rivetkit": {
- "file": "rivetkit-openapi/openapi.json",
- "auth": {
- "curlHeaders": [
- "x-rivet-token: $RIVET_TOKEN"
- ],
- "description": "Send a token in the `x-rivet-token` header, inline in the path as `{actor_id}@{token}`, or in the `rvt-token` query parameter. Use a [scoped token](/docs/jwt) from browsers and your Rivet token from trusted backends. See [Authentication](/docs/api/authentication)."
- },
- "parameters": {
- "actor": "Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters.",
- "rvt-namespace": "Namespace the actor lives in. Required when `{actor}` is an actor name.",
- "rvt-method": "How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`.",
- "rvt-key": "Actor key. Separate multi-part keys with commas.",
- "rvt-pool": "Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise.",
- "rvt-runner": "Deprecated alias for `rvt-pool`.",
- "rvt-input": "Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor.",
- "rvt-region": "Preferred region when `rvt-method=getOrCreate` creates the actor.",
- "rvt-crash-policy": "Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`.",
- "rvt-skip-ready-wait": "Return as soon as the actor is resolved instead of waiting for it to be ready.",
- "rvt-token": "Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible.",
- "args": "Positional arguments passed to the action, in order.",
- "output": "Value returned by the action. `null` if the action returned `undefined`."
- },
- "authProfiles": {
- "inspector": {
- "curlHeaders": [
- "Authorization: Bearer $INSPECTOR_TOKEN"
- ],
- "description": "Inspector endpoints do not accept namespace tokens. Send the actor's inspector token as a bearer token in the `Authorization` header. {/* TODO(code): document how to read an Actor's inspector token once an API returns it (ACT-6493). */}"
- }
- }
- },
- "asyncapi": {
- "file": "rivetkit-asyncapi/asyncapi.json"
- }
- },
- "errorCodes": {
- "artifacts": "engine/artifacts/errors",
- "exclude": [
- "test"
- ],
- "output": "error-registry.json",
- "statusSources": [
- {
- "label": "gateway",
- "file": "engine/packages/guard-core/src/errors.rs"
- },
- {
- "label": "control plane",
- "file": "engine/packages/api-public-shim/src/lib.rs"
- },
- {
- "label": "gateway",
- "file": "rivetkit-rust/packages/rivetkit-core/src/registry/http.rs"
- },
- {
- "label": "gateway",
- "file": "rivetkit-rust/packages/rivetkit-core/src/error.rs"
- }
- ],
- "groups": {
- "actor": "Actor lifecycle, addressing, and actions.",
- "api": "Malformed requests to the control plane.",
- "auth": "Token validation and permissions.",
- "connection": "Actor connections opened through the connection protocol.",
- "envoy": "Node connections, and validation of namespace and pool names.",
- "guard": "The gateway that routes requests to actors, including request parsing, rate limits, and timeouts.",
- "message": "Message size limits on connections.",
- "namespace": "Namespace lookup and creation.",
- "pool": "Node pool configuration.",
- "protocol": "Encoding and framing of connection protocol messages.",
- "queue": "Actor queues.",
- "user": "Errors thrown by your actor code. The code is whatever you pass to `UserError`.",
- "validation": "Request validation.",
- "ws": "WebSocket handling for the connection protocol and `onWebSocket` handlers."
- }
- },
- "groups": [
- {
- "title": "General",
- "pages": [
- {
- "title": "Overview",
- "href": "/docs/api",
- "icon": "faSquareInfo"
- },
- {
- "title": "Authentication",
- "href": "/docs/api/authentication",
- "icon": "faKey"
- },
- {
- "title": "Actor Keys",
- "href": "/docs/api/actor-keys",
- "icon": "faIdCard"
- },
- {
- "title": "Actor Routing",
- "href": "/docs/api/actor-routing",
- "icon": "faRoute"
- },
- {
- "title": "Errors",
- "href": "/docs/api/errors",
- "icon": "faTriangleExclamation"
- },
- {
- "title": "Error Codes",
- "href": "/docs/api/error-codes",
- "icon": "faListUl"
- }
- ]
- },
- {
- "title": "Manage Actors",
- "dir": "actors",
- "endpoints": [
- {
- "spec": "engine",
- "method": "get",
- "path": "/actors",
- "slug": "list",
- "title": "List Actors",
- "description": "List actors in a namespace by ID, by name and key, or by name. Listings by name are paginated.",
- "notes": "Pass `actor_ids` (comma-separated) to look up actors by ID, or `name` with an optional `key`. `actor_ids` takes precedence over `name` and `key`. Only a listing by `name` without `key` is paginated; a page can hold fewer than `limit` actors while `pagination.cursor` is still set. Destroyed actors are excluded unless `include_destroyed` is `true`. A namespace token needs a grant on `actor` with `list`.",
- "typescript": "examples/docs/api/actors-list.ts",
- "parameters": {
- "name": "Only return actors with this name. Required unless `actor_ids` or `actor_id` is set.",
- "key": "Only return the actor with this key. Requires `name`. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys).",
- "actor_ids": "Comma-separated IDs of the actors to return.",
- "actor_id": "Same as `actor_ids`. Used only when `actor_ids` is absent.",
- "include_destroyed": "Include destroyed actors. Must be `true` or `false`."
- },
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE",
- "name": "counter"
- }
- },
- "responses": {
- "200": "Matching actors and a cursor for the next page. `pagination.cursor` is `null` on the last page."
- }
- },
- {
- "spec": "engine",
- "method": "get",
- "path": "/actors/{actor_id}",
- "slug": "get",
- "title": "Get Actor",
- "description": "Get a live actor by ID.",
- "notes": "Returns `actor.not_found` for an actor that was destroyed or belongs to another namespace. A namespace token needs a grant on `actor` with `read`.",
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "responses": {
- "200": "The actor."
- }
- },
- {
- "spec": "engine",
- "method": "post",
- "path": "/actors",
- "slug": "create",
- "title": "Create Actor",
- "description": "Create a new actor. Fails if a live actor with the same name and key already exists.",
- "notes": "Prefer [Get or Create Actor](/docs/api/actors/get-or-create) for idempotent access by key. Use this endpoint when you need a fresh actor every time, for example with a random key. The request returns once the actor's record exists, and fails after 30 seconds. A namespace token needs a grant on `actor` with `create`.",
- "typescript": "examples/docs/api/actors-create.ts",
- "parameters": {
- "name": "Name of the actor as registered in your RivetKit registry. 1 to 64 bytes.",
- "key": "Key identifying this actor within its name. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). Omit for an actor without a key.",
- "runner_name_selector": "Node pool that runs the actor. Defaults to `default`.",
- "input": "Input passed to the actor, encoded as standard base64 (not base64url)."
- },
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- },
- "body": {
- "name": "counter",
- "key": "my-counter",
- "runner_name_selector": "default"
- }
- },
- "responses": {
- "200": "The created actor. `created` is always `true`."
- }
- },
- {
- "spec": "engine",
- "method": "put",
- "path": "/actors",
- "slug": "get-or-create",
- "title": "Get or Create Actor",
- "description": "Return the actor with the given name and key, creating it if it does not exist. This is the HTTP equivalent of client.actor.getOrCreate(key).",
- "notes": "The response includes `created`, which is `true` when this call created the actor. A sleeping actor is woken. Without `key`, a new actor is created every time. Gateway endpoints can perform the same lookup inline with the `rvt-*` selector parameters, so you only need this endpoint when you want the `actor_id` up front. A namespace token needs a grant on `actor` with `create`.",
- "typescript": "examples/docs/api/actors-get-or-create.ts",
- "parameters": {
- "name": "Name of the actor as registered in your RivetKit registry. 1 to 64 bytes.",
- "key": "Key identifying this actor within its name. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys).",
- "runner_name_selector": "Node pool that runs the actor. Defaults to `default`.",
- "input": "Input passed to the actor if this request creates it, encoded as standard base64 (not base64url)."
- },
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- },
- "body": {
- "name": "counter",
- "key": "my-counter",
- "runner_name_selector": "default"
- }
- }
- },
- {
- "spec": "engine",
- "method": "delete",
- "path": "/actors/{actor_id}",
- "slug": "destroy",
- "title": "Destroy Actor",
- "description": "Destroy an actor. The actor's onDestroy hook runs, then its state is deleted permanently.",
- "typescript": "examples/docs/api/actors-destroy.ts",
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "related": [
- {
- "title": "Destroying Actors",
- "href": "/actors/docs/destroy"
- }
- ],
- "notes": "A namespace token needs a grant on `actor` with `delete`.",
- "responses": {
- "200": "The destroy was accepted. The response body is an empty object."
- }
- },
- {
- "spec": "engine",
- "method": "post",
- "path": "/actors/{actor_id}/sleep",
- "slug": "sleep",
- "title": "Sleep Actor",
- "description": "Put an actor to sleep. The actor runs its shutdown sequence and persists its state, then wakes on the next request.",
- "typescript": "examples/docs/api/actors-sleep.ts",
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "related": [
- {
- "title": "Lifecycle",
- "href": "/actors/docs/lifecycle"
- }
- ],
- "notes": "The request body is ignored. A namespace token needs a grant on `actor` with `update`.",
- "responses": {
- "200": "The sleep was accepted. The response body is an empty object."
- }
- },
- {
- "spec": "engine",
- "method": "post",
- "path": "/actors/{actor_id}/reschedule",
- "slug": "reschedule",
- "title": "Reschedule Actor",
- "description": "Move an actor to a new allocation. A running actor is stopped and starts again, possibly on another node, with its persisted state.",
- "typescript": "examples/docs/api/actors-reschedule.ts",
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "related": [
- {
- "title": "Lifecycle",
- "href": "/actors/docs/lifecycle"
- }
- ],
- "notes": "A running or stopping actor is stopped and allocated again, and a sleeping actor is allocated now. An actor that is still starting, or is destroyed, is left as is and the request still succeeds. The request body is ignored. A namespace token needs a grant on `actor` with `update`.",
- "responses": {
- "200": "The reschedule was accepted, or there was nothing to move. The response body is an empty object."
- }
- },
- {
- "spec": "engine",
- "method": "get",
- "path": "/actors/names",
- "slug": "list-names",
- "title": "List Actor Names",
- "description": "List the actor names that the namespace's connected nodes accept.",
- "typescript": "examples/docs/api/actors-list-names.ts",
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "notes": "A namespace token needs a grant on `actor` with `list`.",
- "responses": {
- "200": "Map of actor name to metadata."
- }
- }
- ]
- },
- {
- "title": "Call Actors",
- "dir": "gateway",
- "spec": "asyncapi",
- "endpoints": [
- {
- "spec": "rivetkit",
- "method": "post",
- "path": "/gateway/{actor}/action/{action}",
- "slug": "call-action",
- "title": "Call Action",
- "description": "Invoke an action defined on an actor and return its result. This is the HTTP equivalent of calling a method on an actor handle in the RivetKit client.",
- "notes": "Arguments are passed as a JSON array in `args` and spread into the action's parameters. The action's return value comes back in `output`. Actions that return `undefined` respond with `{ \"output\": null }`.",
- "typescript": "examples/docs/api/gateway-call-action.ts",
- "parameters": {
- "action": "Name of the action as defined in the actor's `actions` map."
- },
- "examples": {
- "path": {
- "actor": "counter",
- "action": "increment"
- },
- "selector": {
- "rvt-namespace": "$RIVET_NAMESPACE",
- "rvt-method": "getOrCreate",
- "rvt-key": "my-counter",
- "rvt-pool": "default"
- },
- "body": {
- "args": [
- 1
- ]
- },
- "response": {
- "output": 1
- }
- },
- "related": [
- {
- "title": "Actions",
- "href": "/actors/docs/actions"
- },
- {
- "title": "Actor Routing",
- "href": "/docs/api/actor-routing"
- }
- ]
- },
- {
- "spec": "rivetkit",
- "method": "any",
- "path": "/gateway/{actor}/request/{path}",
- "slug": "request",
- "title": "Raw HTTP Request",
- "description": "Forward a raw HTTP request to an actor's onRequest handler. The method, headers, body, and the path after /request/ are passed through unchanged.",
- "notes": "Use this when an actor exposes its own HTTP routes, streams responses (for example Server-Sent Events), or needs to accept non-JSON payloads. The response is whatever the actor's `onRequest` handler returns.",
- "typescript": "examples/docs/api/gateway-request.ts",
- "parameters": {
- "path": "Path forwarded to the actor. The actor sees a request whose URL path is `/{path}`."
- },
- "examples": {
- "method": "post",
- "path": {
- "actor": "counter",
- "path": "increment"
- },
- "selector": {
- "rvt-namespace": "$RIVET_NAMESPACE",
- "rvt-method": "getOrCreate",
- "rvt-key": "my-counter",
- "rvt-pool": "default"
- }
- },
- "responses": {
- "200": "The response returned by the actor's `onRequest` handler."
- },
- "related": [
- {
- "title": "Low-Level HTTP Handler",
- "href": "/actors/docs/request-handler"
- },
- {
- "title": "Raw WebSocket",
- "href": "/docs/api/websockets"
- }
- ]
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/health",
- "slug": "health",
- "title": "Check Health",
- "description": "Check that an actor is reachable through the gateway. Resolves the actor, waits for it to be ready unless rvt-skip-ready-wait is set, and returns a plain-text ok.",
- "typescript": "examples/docs/api/gateway-health.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- }
- },
- "responses": {
- "200": "The actor is running and reachable. Body is the text `ok`."
- },
- "after": "connect"
- },
- {
- "spec": "rivetkit",
- "method": "post",
- "path": "/gateway/{actor}/queue/{name}",
- "slug": "queue",
- "title": "Send Queue Message",
- "description": "Enqueue a durable message for an actor. Optionally wait for the actor to complete it and return a response.",
- "notes": "By default, the request returns after the message is enqueued. Set `wait` to `true` to wait for `message.complete(...)`; `timeout` sets that wait in milliseconds, and a timeout returns `status: \"timedOut\"` without canceling the queued work.",
- "typescript": "examples/docs/api/gateway-queue.ts",
- "parameters": {
- "name": "Name of the queue message as defined in the actor's `queues` map."
- },
- "examples": {
- "path": {
- "actor": "counter",
- "name": "increment"
- },
- "selector": {
- "rvt-namespace": "$RIVET_NAMESPACE",
- "rvt-method": "getOrCreate",
- "rvt-key": "my-counter",
- "rvt-pool": "default"
- },
- "body": {
- "body": {
- "amount": 1
- },
- "wait": true,
- "timeout": 5000
- },
- "response": {
- "status": "completed",
- "response": {
- "count": 1
- }
- }
- },
- "responses": {
- "200": "The message was enqueued, with its completion status when waiting."
- },
- "related": [
- {
- "title": "Queues",
- "href": "/actors/docs/queues"
- }
- ],
- "after": "call-action"
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/metadata",
- "slug": "metadata",
- "title": "Get Runtime Metadata",
- "description": "Identify the RivetKit runtime serving an actor.",
- "typescript": "examples/docs/api/gateway-metadata.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "response": {
- "runtime": "rivetkit",
- "version": "1.0.0",
- "type": "native"
- }
- },
- "responses": {
- "200": "Runtime name, version, and runtime type."
- },
- "after": "health"
- }
- ],
- "protocol": [
- {
- "slug": "connect",
- "title": "Connect",
- "description": "Open a persistent WebSocket connection to an actor. One connection carries action calls, event subscriptions, and errors as JSON messages, which is what handle.connect() does in the RivetKit client.",
- "url": "wss://rivet.example.com/gateway/{actor}/connect",
- "notes": "`{actor}` accepts the same forms as every gateway endpoint: an actor ID, `{actor_id}@{token}`, or an actor name with `rvt-*` query parameters. See [Actor Routing](/docs/api/actor-routing).\n\nConnection options travel as WebSocket subprotocols in the `Sec-WebSocket-Protocol` header because browsers cannot set arbitrary headers on an upgrade. Always include `rivet`, then add any of the prefixed entries below.\n\n| Subprotocol | Purpose |\n| --- | --- |\n| `rivet` | Required. Lets servers that insist on a matching protocol accept the upgrade. |\n| `rivet_encoding.json` | Message encoding. `json` is the default and is documented here. The RivetKit client uses `cbor` or `bare`; the payloads are the same, only the framing differs. |\n| `rivet_token.{token}` | Token to authenticate with. See [WebSocket Requests](/docs/api/authentication#websocket-requests). |\n| `rivet_conn_params.{params}` | Optional connection parameters passed to the actor's `createConnState` and `onBeforeConnect` hooks, as URL-encoded JSON. |\n| `rivet_skip_ready_wait` | Complete the upgrade as soon as the actor is resolved instead of waiting for it to be ready. |\n\nEvery message in both directions is a JSON object of the form `{ \"body\": { \"tag\": \"\", \"val\": { ... } } }`. The server sends `Init` first; nothing else arrives before it. There is no ping or heartbeat message. Rely on WebSocket ping frames or your own timeout to detect a dead connection.",
- "sections": [
- {
- "title": "Handshake",
- "notes": "After the upgrade completes, the server sends `Init` before any other message. Store `connectionId` if you need to correlate connection-scoped state; nothing else needs to be sent before calling actions or subscribing to events.",
- "messages": [
- "Init"
- ],
- "snippets": [
- {
- "file": "examples/docs/api/connection-connect.ts",
- "title": "WebSocket"
- },
- {
- "file": "examples/docs/api/connection-connect-client.ts",
- "title": "TypeScript"
- }
- ]
- },
- {
- "title": "Actions",
- "notes": "Send an `ActionRequest` with a client-chosen `id`. The server answers with an `ActionResponse` carrying the same `id`, or with an [`Error`](#errors) whose `actionId` matches. Requests may be pipelined; responses are not guaranteed to arrive in order, so match on `id` rather than position.\n\nThis is the connection equivalent of [Call Action](/docs/api/gateway/call-action) over HTTP. Actions called on a connection can also read connection state set in `createConnState`.",
- "messages": [
- "ActionRequest",
- "ActionResponse"
- ],
- "snippets": [
- {
- "file": "examples/docs/api/connection-actions.ts",
- "title": "WebSocket"
- },
- {
- "file": "examples/docs/api/connection-actions-client.ts",
- "title": "TypeScript"
- }
- ]
- },
- {
- "title": "Events",
- "notes": "Send a `SubscriptionRequest` with `subscribe: true` to start receiving `Event` messages for an event name, and `subscribe: false` to stop. Subscriptions are per connection and are lost when the connection closes, so resubscribe after reconnecting. The server does not acknowledge subscription changes. If the actor rejects a subscription, the connection is closed with the error as the close reason.\n\nEvents sent by the actor to a connection that has not subscribed to that event name are dropped.",
- "messages": [
- "SubscriptionRequest",
- "Event"
- ],
- "snippets": [
- {
- "file": "examples/docs/api/connection-events.ts",
- "title": "WebSocket"
- },
- {
- "file": "examples/docs/api/connection-events-client.ts",
- "title": "TypeScript"
- }
- ]
- },
- {
- "title": "Errors",
- "notes": "Errors on an established connection arrive as `Error` messages. `actionId` is set when the error answers a specific `ActionRequest` and `null` for connection-level errors such as a malformed message. The `group` and `code` values are the same ones the HTTP API returns; see [Error Codes](/docs/api/error-codes).\n\nErrors that prevent the connection from being established, such as an invalid token or an actor that does not exist, are reported by closing the WebSocket with a reason of the form `{group}.{code}#{ray_id}`. See [WebSockets](/docs/api/websockets#close-codes).",
- "messages": [
- "Error"
- ],
- "snippets": [
- {
- "file": "examples/docs/api/connection-errors.ts",
- "title": "WebSocket"
- },
- {
- "file": "examples/docs/api/connection-errors-client.ts",
- "title": "TypeScript"
- }
- ]
- }
- ],
- "fields": {
- "Init.actorId": "ID of the actor this connection is attached to.",
- "Init.connectionId": "ID of this connection. Matches `c.conn.id` inside the actor.",
- "ActionRequest.id": "Client-chosen identifier used to match the response. Any integer that is unique among in-flight requests on this connection.",
- "ActionRequest.name": "Name of the action as defined in the actor's `actions` map.",
- "ActionRequest.args": "Positional arguments passed to the action, as a JSON array.",
- "ActionResponse.id": "The `id` from the matching `ActionRequest`.",
- "ActionResponse.output": "Value returned by the action. `null` if the action returned `undefined`.",
- "SubscriptionRequest.eventName": "Name of the event as defined in the actor's `events` map.",
- "SubscriptionRequest.subscribe": "`true` to subscribe, `false` to unsubscribe.",
- "Event.name": "Name of the event.",
- "Event.args": "Arguments passed to `c.broadcast()` or `conn.send()`, as a JSON array.",
- "Error.group": "Subsystem that produced the error, such as `actor`, `auth`, or `user`.",
- "Error.code": "Error identifier within the group.",
- "Error.message": "Human-readable explanation. Do not match on it.",
- "Error.metadata": "Structured details attached by the actor or gateway, if any.",
- "Error.actionId": "`id` of the `ActionRequest` this error answers, or `null` for connection-level errors.",
- "Error.actor": "Actor that handled the message, when known.",
- "Error.actor.actorId": "ID of the actor.",
- "Error.actor.generation": "Generation of the actor process. Increments each time the actor restarts.",
- "Error.actor.key": "Key of the actor, if it has one."
- },
- "examples": {
- "Init": {
- "actorId": "00000000-0000-0000-0000-000000000000",
- "connectionId": "00000000-0000-0000-0000-000000000000"
- },
- "ActionRequest": {
- "id": 1,
- "name": "increment",
- "args": [
- 1
- ]
- },
- "ActionResponse": {
- "id": 1,
- "output": 1
- },
- "SubscriptionRequest": {
- "eventName": "countChanged",
- "subscribe": true
- },
- "Event": {
- "name": "countChanged",
- "args": [
- 1
- ]
- },
- "Error": {
- "group": "user",
- "code": "insufficient_funds",
- "message": "Balance is too low.",
- "metadata": {
- "balance": 5
- },
- "actionId": 1,
- "actor": {
- "actorId": "00000000-0000-0000-0000-000000000000",
- "generation": 1,
- "key": "my-counter"
- }
- }
- },
- "related": [
- {
- "title": "Connections",
- "href": "/actors/docs/connections"
- },
- {
- "title": "Actions",
- "href": "/actors/docs/actions"
- },
- {
- "title": "Events",
- "href": "/actors/docs/events"
- },
- {
- "title": "Errors",
- "href": "/docs/api/errors"
- },
- {
- "title": "Call Action over HTTP",
- "href": "/docs/api/gateway/call-action"
- },
- {
- "title": "Raw WebSocket",
- "href": "/docs/api/websockets"
- },
- {
- "title": "AsyncAPI specification",
- "href": "https://github.com/rivet-dev/rivet/tree/main/rivetkit-asyncapi"
- }
- ]
- }
- ],
- "pages": [
- {
- "title": "Raw WebSocket",
- "href": "/docs/api/websockets",
- "badge": "WS",
- "after": "request"
- }
- ],
- "children": [
- {
- "title": "Inspector",
- "dir": "inspector",
- "icon": "faMagnifyingGlass",
- "notes": "These endpoints power the actor inspector.",
- "endpoints": [
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/summary",
- "slug": "summary",
- "title": "Get Summary",
- "description": "Get an overview of an actor's state, connections, actions, queue, database, and workflow.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-summary.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- }
- },
- "responses": {
- "200": "The actor inspector summary.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/state",
- "slug": "state-get",
- "title": "Get State",
- "description": "Read the actor's current state.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-state-get.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "response": {
- "state": {
- "count": 1
- }
- }
- },
- "responses": {
- "200": "The current actor state.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "patch",
- "path": "/gateway/{actor}/inspector/state",
- "slug": "state-patch",
- "title": "Patch State",
- "description": "Replace the actor's current state.",
- "notes": "This writes state directly and bypasses actor actions. Use it only for inspection and recovery.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-state-patch.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "body": {
- "state": {
- "count": 2
- }
- },
- "response": {
- "ok": true
- }
- },
- "responses": {
- "200": "The state was saved.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/connections",
- "slug": "connections",
- "title": "List Connections",
- "description": "List the actor's active connections.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-connections.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- }
- },
- "responses": {
- "200": "The active connections.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/rpcs",
- "slug": "rpcs",
- "title": "List Actions",
- "description": "List the actions exposed by the actor.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-rpcs.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- }
- },
- "responses": {
- "200": "The actor's action definitions.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "post",
- "path": "/gateway/{actor}/inspector/action/{name}",
- "slug": "action",
- "title": "Invoke Action",
- "description": "Invoke an actor action through the inspector.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-action.ts",
- "parameters": {
- "name": "Name of the action to invoke."
- },
- "examples": {
- "path": {
- "actor": "$ACTOR_ID",
- "name": "increment"
- },
- "body": {
- "args": [
- 1
- ]
- },
- "response": {
- "output": 1
- }
- },
- "responses": {
- "200": "The action result.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/queue",
- "slug": "queue-get",
- "title": "Get Queue",
- "description": "List pending queue messages and queue capacity details.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-queue-get.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "query": {
- "limit": 50
- }
- },
- "responses": {
- "200": "Queue size, capacity, truncation status, and pending message metadata.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "post",
- "path": "/gateway/{actor}/inspector/queue",
- "slug": "queue-post",
- "title": "Enqueue Message",
- "description": "Enqueue a message through the inspector.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-queue-post.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "body": {
- "name": "increment",
- "body": {
- "amount": 1
- }
- }
- },
- "responses": {
- "200": "Metadata for the enqueued message.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "delete",
- "path": "/gateway/{actor}/inspector/queue",
- "slug": "queue-delete",
- "title": "Clear Queue",
- "description": "Remove all pending messages from the actor's queue.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-queue-delete.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- }
- },
- "responses": {
- "200": "The queue was cleared.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/traces",
- "slug": "traces",
- "title": "Get Traces",
- "description": "Get actor trace spans in OTLP JSON format.",
- "notes": "Trace collection is not implemented yet, so this route currently returns an empty result.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-traces.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "query": {
- "startMs": 0,
- "limit": 100
- }
- },
- "responses": {
- "200": "Trace data and whether the requested range was clamped.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/workflow-history",
- "slug": "workflow-history",
- "title": "Get Workflow History",
- "description": "Read workflow history and whether workflows are enabled for the actor.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-workflow-history.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- }
- },
- "responses": {
- "200": "Workflow history and availability.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "post",
- "path": "/gateway/{actor}/inspector/workflow/replay",
- "slug": "workflow-replay",
- "title": "Replay Workflow",
- "description": "Schedule a workflow replay from an optional history entry.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-workflow-replay.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "body": {
- "entryId": "entry-123"
- }
- },
- "responses": {
- "200": "Workflow history after scheduling the replay.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/database/schema",
- "slug": "database-schema",
- "title": "Get Database Schema",
- "description": "List tables, views, and columns in the actor's SQLite database.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-database-schema.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- }
- },
- "responses": {
- "200": "The actor database schema.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "get",
- "path": "/gateway/{actor}/inspector/database/rows",
- "slug": "database-rows",
- "title": "Query Database Rows",
- "description": "Read a page of rows from an actor database table or view.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-database-rows.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "query": {
- "table": "users",
- "limit": 100,
- "offset": 0
- }
- },
- "responses": {
- "200": "The selected rows.",
- "401": "The inspector token is missing or invalid."
- }
- },
- {
- "spec": "rivetkit",
- "method": "post",
- "path": "/gateway/{actor}/inspector/database/execute",
- "slug": "database-execute",
- "title": "Execute SQL",
- "description": "Run a SQL statement against the actor's SQLite database.",
- "notes": "SQL executes directly against actor storage. Use bind parameters for values.",
- "auth": "inspector",
- "typescript": "examples/docs/api/inspector-database-execute.ts",
- "examples": {
- "path": {
- "actor": "$ACTOR_ID"
- },
- "body": {
- "sql": "SELECT * FROM users WHERE id = ?",
- "args": [
- "user-123"
- ]
- }
- },
- "responses": {
- "200": "Rows returned by the statement.",
- "401": "The inspector token is missing or invalid."
- }
- }
- ],
- "pages": [
- {
- "title": "Inspector Connect",
- "href": "/docs/api/inspector-connect",
- "badge": "WS"
- }
- ],
- "notice": "The inspector API is subject to change without notice. Do not build production integrations on it."
- }
- ]
- },
- {
- "title": "Tokens",
- "dir": "tokens",
- "endpoints": [
- {
- "spec": "engine",
- "method": "post",
- "path": "/auth/tokens",
- "slug": "create",
- "title": "Create Token",
- "description": "Issue a scoped token. Use this to mint short-lived tokens that grant a client access to a single actor instead of sharing your namespace token.",
- "notes": "Each grant names a resource type, a target (`\"any\"` or a specific `{ \"id\": ... }`), and the operations it allows. A token carries 1 to 32 grants with 1 to 5 operations each. The RivetKit client wraps this as `handle.issueToken()`.",
- "typescript": "examples/docs/api/tokens-create.ts",
- "parameters": {
- "namespace": "Namespace the token is valid in. It must exist.",
- "duration": "Lifetime in seconds, from 1 to the deployment's maximum. Omit for the default lifetime.",
- "subject": "Free-form subject to attach to the token, such as a user ID. At most 256 UTF-8 bytes.",
- "grants": "Permissions the token carries.",
- "grants[].resource": "Resource type the grant applies to.",
- "grants[].target": "`\"any\"` for every resource of this type, or `{ \"id\": \"...\" }` for one resource.",
- "grants[].operations": "Operations the token may perform on the target."
- },
- "examples": {
- "body": {
- "namespace": "my-namespace",
- "subject": "user-123",
- "duration": 3600,
- "grants": [
- {
- "resource": "actor_gateway",
- "target": {
- "id": "d97pbq1nyqxw1w5qdwz0iirbqiblh2"
- },
- "operations": [
- "read"
- ]
- }
- ]
- }
- },
- "auth": "admin"
- },
- {
- "spec": "engine",
- "method": "get",
- "path": "/auth/tokens/inspect",
- "slug": "inspect",
- "title": "Inspect Token",
- "description": "Return the namespace, grants, and expiry of the token used to authenticate the request.",
- "typescript": "examples/docs/api/tokens-inspect.ts",
- "auth": "token",
- "parameters": {
- "namespace": "Namespace the token is scoped to."
- }
- }
- ]
- },
- {
- "title": "Namespaces",
- "dir": "namespaces",
- "endpoints": [
- {
- "spec": "engine",
- "method": "get",
- "path": "/namespaces",
- "slug": "list",
- "title": "List Namespaces",
- "description": "List namespaces in name order, or look up one namespace by name. Results are paginated.",
- "notes": "`name` returns zero or one namespace and ignores `limit` and `cursor`. Any other query parameter, including `namespace`, is rejected.",
- "typescript": "examples/docs/api/namespaces-list.ts",
- "parameters": {
- "name": "Only return the namespace with this name."
- },
- "responses": {
- "200": "Matching namespaces and a cursor for the next page."
- },
- "auth": "admin"
- },
- {
- "spec": "engine",
- "method": "post",
- "path": "/namespaces",
- "slug": "create",
- "title": "Create Namespace",
- "description": "Create a namespace with a unique name.",
- "typescript": "examples/docs/api/namespaces-create.ts",
- "parameters": {
- "name": "Unique name of the namespace. A DNS label of 1 to 63 lowercase letters, digits and hyphens.",
- "namespace": "The created namespace."
- },
- "examples": {
- "body": {
- "name": "my-app"
- }
- },
- "responses": {
- "200": "The newly created namespace."
- },
- "auth": "admin"
- }
- ]
- },
- {
- "title": "Node Pools",
- "dir": "pools",
- "endpoints": [
- {
- "spec": "engine",
- "method": "get",
- "path": "/pools",
- "slug": "list",
- "title": "List Node Pools",
- "description": "List the node pools configured in a namespace, ordered by name. Results are paginated.",
- "notes": "A pool is listed once it is configured, whether or not any node is connected. A namespace token needs a grant on `pool` with `list`.",
- "examples": {
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "responses": {
- "200": "A page of node pools and a cursor for the next page."
- }
- },
- {
- "spec": "engine",
- "method": "get",
- "path": "/pools/{pool}",
- "slug": "get",
- "title": "Get Node Pool",
- "description": "Get a node pool's configuration.",
- "notes": "A namespace token needs a grant on `pool` with `read`.",
- "examples": {
- "path": {
- "pool": "default"
- },
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "responses": {
- "200": "The node pool."
- }
- },
- {
- "spec": "engine",
- "method": "put",
- "path": "/pools/{pool}",
- "slug": "upsert",
- "title": "Upsert Node Pool",
- "description": "Create or replace a node pool's configuration.",
- "notes": "Every field is optional and omitted fields take their defaults, so a request replaces the whole configuration. Unknown fields are rejected. Serverless pools are not supported. Nodes pick up the new configuration on their next connection. A namespace token needs a grant on `pool` with `update`.",
- "examples": {
- "path": {
- "pool": "default"
- },
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- },
- "body": {
- "drain_on_version_upgrade": true,
- "actor_eviction_delay": 0,
- "actor_eviction_period": 0,
- "actor_eviction_rate": 1
- }
- },
- "responses": {
- "200": "The stored node pool."
- }
- },
- {
- "spec": "engine",
- "method": "delete",
- "path": "/pools/{pool}",
- "slug": "delete",
- "title": "Delete Node Pool",
- "description": "Delete a node pool's configuration.",
- "notes": "Fails with `pool.nodes_connected` while any node of the pool is connected. A namespace token needs a grant on `pool` with `delete`.",
- "examples": {
- "path": {
- "pool": "default"
- },
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "responses": {
- "200": "The node pool was deleted. The response body is an empty object."
- }
- },
- {
- "spec": "engine",
- "method": "get",
- "path": "/pools/{pool}/nodes",
- "slug": "list-nodes",
- "title": "List Nodes",
- "description": "List the live nodes of a node pool in node key order. Results are paginated.",
- "notes": "A node is listed while its heartbeat is recent enough for it to receive actors. A page can hold fewer than `limit` nodes while `pagination.cursor` is still set. A namespace token needs a grant on `node` with `list`.",
- "examples": {
- "path": {
- "pool": "default"
- },
- "query": {
- "namespace": "$RIVET_NAMESPACE"
- }
- },
- "responses": {
- "200": "A page of live nodes and a cursor for the next page."
- }
- }
- ],
- "pages": [
- {
- "title": "Worker Connection",
- "href": "/docs/api/worker-connect",
- "badge": "WS",
- "after": "list-nodes"
- }
- ]
- },
- {
- "title": "Control Plane",
- "dir": "control-plane",
- "endpoints": [
- {
- "spec": "engine",
- "method": "get",
- "path": "/metadata",
- "slug": "metadata",
- "title": "Get Metadata",
- "description": "Get the runtime and version of the control plane.",
- "notes": "A request made with the admin token also receives `actorNames`.",
- "typescript": "examples/docs/api/control-plane-metadata.ts",
- "auth": "none",
- "responses": {
- "200": "Runtime and version metadata."
- }
- },
- {
- "spec": "engine",
- "method": "get",
- "path": "/datacenters",
- "slug": "datacenters",
- "title": "List Datacenters",
- "description": "List the datacenters configured for the control plane.",
- "typescript": "examples/docs/api/control-plane-datacenters.ts",
- "responses": {
- "200": "Configured datacenters."
- },
- "notes": "A namespace token needs a grant on `datacenter` with `list`."
- }
- ]
- }
- ]
+ "$comment": "Source of truth for the generated HTTP API reference. Run `node scripts/docs/gen-api-reference.mjs` after editing.",
+ "baseUrl": "https://rivet.example.com",
+ "specs": {
+ "engine": {
+ "file": "engine/artifacts/openapi.json",
+ "auth": {
+ "curlHeaders": [
+ "Authorization: Bearer $RIVET_TOKEN"
+ ],
+ "description": "Send your namespace token as a bearer token in the `Authorization` header. Every control plane request also requires the `namespace` query parameter. See [Authentication](/docs/api/authentication)."
+ },
+ "parameters": {
+ "namespace": "Name of the namespace to operate in.",
+ "actor_id": "ID of the actor.",
+ "limit": "Maximum number of results to return.",
+ "cursor": "Pagination cursor. Pass the `pagination.cursor` value from the previous response to fetch the next page.",
+ "pagination.cursor": "Cursor for the next page, or `null` when there are no more results.",
+ "actor.actor_id": "Unique ID of the actor.",
+ "actor.name": "Actor name as registered in your RivetKit registry.",
+ "actor.key": "Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys).",
+ "actor.namespace_id": "ID of the namespace the actor belongs to.",
+ "actor.datacenter": "Datacenter the actor is scheduled in.",
+ "actor.runner_name_selector": "Pool the actor runs on.",
+ "actor.crash_policy": "What happens when the actor crashes.",
+ "actors[].actor_id": "Unique ID of the actor.",
+ "actors[].name": "Actor name as registered in your RivetKit registry.",
+ "actors[].key": "Actor key. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys).",
+ "actors[].namespace_id": "ID of the namespace the actor belongs to.",
+ "actors[].datacenter": "Datacenter the actor is scheduled in.",
+ "actors[].runner_name_selector": "Pool the actor runs on.",
+ "actors[].crash_policy": "What happens when the actor crashes.",
+ "created": "`true` if this request created the actor, `false` if it already existed.",
+ "names": "Map of actor name to metadata.",
+ "names.metadata": "Free-form metadata attached to the actor name.",
+ "token": "The issued token. Treat it as a secret.",
+ "issued_ts": "When the token was issued, in Unix milliseconds.",
+ "expires_ts": "When the token expires, in Unix milliseconds.",
+ "namespace_id": "ID of the namespace the token is scoped to.",
+ "subject": "Subject attached to the token, if any.",
+ "grants": "Permissions the token carries.",
+ "grants[].resource": "Resource type the grant applies to.",
+ "grants[].target": "`\"any\"` for every resource of this type, or `{ \"id\": \"...\" }` for one resource.",
+ "grants[].operations": "Operations the token may perform on the target.",
+ "value": "Base64-encoded value bytes.",
+ "update_ts": "When the key was last written, in Unix milliseconds."
+ },
+ "authProfiles": {
+ "none": {
+ "curlHeaders": [],
+ "description": "No authentication is required."
+ }
+ }
+ },
+ "rivetkit": {
+ "file": "rivetkit-openapi/openapi.json",
+ "auth": {
+ "curlHeaders": [
+ "x-rivet-token: $RIVET_TOKEN"
+ ],
+ "description": "Send a token in the `x-rivet-token` header, inline in the path as `{actor_id}@{token}`, or in the `rvt-token` query parameter. Use a [scoped token](/docs/jwt) from browsers and your Rivet token from trusted backends. See [Authentication](/docs/api/authentication)."
+ },
+ "parameters": {
+ "actor": "Actor ID, actor ID with an inline token (`{actor_id}@{token}`), or actor name combined with the `rvt-*` query parameters.",
+ "rvt-namespace": "Namespace the actor lives in. Required when `{actor}` is an actor name.",
+ "rvt-method": "How to resolve an actor name to an actor. `getOrCreate` requires `rvt-pool`.",
+ "rvt-key": "Actor key. Separate multi-part keys with commas.",
+ "rvt-pool": "Pool to create the actor on when `rvt-method=getOrCreate`. RivetKit registers the `default` pool unless configured otherwise.",
+ "rvt-runner": "Deprecated alias for `rvt-pool`.",
+ "rvt-input": "Base64url-encoded CBOR input passed to `createState` and `onCreate` when `rvt-method=getOrCreate` creates the actor.",
+ "rvt-region": "Preferred region when `rvt-method=getOrCreate` creates the actor.",
+ "rvt-crash-policy": "Crash policy when `rvt-method=getOrCreate` creates the actor. RivetKit defaults to `sleep`.",
+ "rvt-skip-ready-wait": "Return as soon as the actor is resolved instead of waiting for it to be ready.",
+ "rvt-token": "Token to authenticate with. Prefer the `x-rivet-token` header or inline path token when possible.",
+ "args": "Positional arguments passed to the action, in order.",
+ "output": "Value returned by the action. `null` if the action returned `undefined`."
+ }
+ },
+ "asyncapi": {
+ "file": "rivetkit-asyncapi/asyncapi.json"
+ }
+ },
+ "errorCodes": {
+ "artifacts": "engine/artifacts/errors",
+ "exclude": [
+ "test"
+ ],
+ "output": "error-registry.json",
+ "statusSources": [
+ {
+ "label": "gateway",
+ "file": "engine/packages/guard-core/src/errors.rs"
+ },
+ {
+ "label": "control plane",
+ "file": "engine/packages/api-builder/src/error_response.rs"
+ },
+ {
+ "label": "gateway",
+ "file": "rivetkit-rust/packages/rivetkit-core/src/registry/http.rs"
+ },
+ {
+ "label": "gateway",
+ "file": "rivetkit-rust/packages/rivetkit-core/src/error.rs"
+ }
+ ],
+ "groups": {
+ "actor": "Actor lifecycle, addressing, and actions.",
+ "api": "Malformed requests to the control plane.",
+ "auth": "Token validation and permissions.",
+ "connection": "Actor connections opened through the connection protocol.",
+ "guard": "The gateway that routes requests to actors, including request parsing, rate limits, and timeouts.",
+ "kv": "Low-level KV storage inside an actor.",
+ "message": "Message size limits on connections.",
+ "namespace": "Namespace lookup and creation.",
+ "protocol": "Encoding and framing of connection protocol messages.",
+ "queue": "Actor queues.",
+ "user": "Errors thrown by your actor code. The code is whatever you pass to `UserError`.",
+ "validation": "Request validation.",
+ "ws": "WebSocket handling for the connection protocol and `onWebSocket` handlers."
+ }
+ },
+ "groups": [
+ {
+ "title": "General",
+ "pages": [
+ {
+ "title": "Overview",
+ "href": "/docs/api",
+ "icon": "faSquareInfo"
+ },
+ {
+ "title": "Authentication",
+ "href": "/docs/api/authentication",
+ "icon": "faKey"
+ },
+ {
+ "title": "Actor Keys",
+ "href": "/docs/api/actor-keys",
+ "icon": "faIdCard"
+ },
+ {
+ "title": "Actor Routing",
+ "href": "/docs/api/actor-routing",
+ "icon": "faRoute"
+ },
+ {
+ "title": "Errors",
+ "href": "/docs/api/errors",
+ "icon": "faTriangleExclamation"
+ },
+ {
+ "title": "Error Codes",
+ "href": "/docs/api/error-codes",
+ "icon": "faListUl"
+ }
+ ]
+ },
+ {
+ "title": "Manage Actors",
+ "dir": "actors",
+ "endpoints": [
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/actors",
+ "slug": "list",
+ "title": "List Actors",
+ "description": "List actors in a namespace, optionally filtered by name, key, or ID. Results are paginated.",
+ "notes": "`key` requires `name`. `actor_id` cannot be combined with `name` or `key`. Destroyed actors are excluded unless `include_destroyed` is `true`.",
+ "typescript": "examples/docs/api/actors-list.ts",
+ "parameters": {
+ "name": "Only return actors with this name.",
+ "key": "Only return the actor with this key. Requires `name`. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys).",
+ "actor_id": "Only return actors with these IDs. Repeat the parameter for multiple IDs.",
+ "actor_ids": "Deprecated. Use `actor_id` instead.",
+ "include_destroyed": "Include actors that have been destroyed."
+ },
+ "examples": {
+ "query": {
+ "namespace": "$RIVET_NAMESPACE",
+ "name": "counter"
+ }
+ },
+ "responses": {
+ "200": "Matching actors and a cursor for the next page. `pagination.cursor` is `null` on the last page."
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "post",
+ "path": "/actors",
+ "slug": "create",
+ "title": "Create Actor",
+ "description": "Create a new actor. Fails if an actor with the same name and key already exists.",
+ "notes": "Prefer [Get or Create Actor](/docs/api/actors/get-or-create) for idempotent access by key. Use this endpoint when you need a fresh actor every time, for example with a random key.",
+ "typescript": "examples/docs/api/actors-create.ts",
+ "parameters": {
+ "name": "Name of the actor as registered in your RivetKit registry.",
+ "key": "Key identifying this actor within its name. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys). Omit for a keyless actor.",
+ "runner_name_selector": "Pool that runs the actor. RivetKit registers the `default` pool unless configured otherwise.",
+ "crash_policy": "What happens when the actor crashes. RivetKit defaults to `sleep`.",
+ "datacenter": "Datacenter to create the actor in. Defaults to the datacenter serving the request.",
+ "input": "Base64url-encoded CBOR input passed to the actor's `createState` and `onCreate` hooks."
+ },
+ "examples": {
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ },
+ "body": {
+ "name": "counter",
+ "key": "my-counter",
+ "runner_name_selector": "default",
+ "crash_policy": "sleep"
+ }
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "put",
+ "path": "/actors",
+ "slug": "get-or-create",
+ "title": "Get or Create Actor",
+ "description": "Return the actor with the given name and key, creating it if it does not exist. This is the HTTP equivalent of client.actor.getOrCreate(key).",
+ "notes": "The response includes `created`, which is `true` when this call created the actor. Gateway endpoints can perform the same lookup inline with the `rvt-*` selector parameters, so you only need this endpoint when you want the `actor_id` up front.",
+ "typescript": "examples/docs/api/actors-get-or-create.ts",
+ "parameters": {
+ "name": "Name of the actor as registered in your RivetKit registry.",
+ "key": "Key identifying this actor within its name. Multi-part keys are joined with `/`, see [Actor Keys](/docs/api/actor-keys).",
+ "runner_name_selector": "Pool that runs the actor. RivetKit registers the `default` pool unless configured otherwise.",
+ "crash_policy": "What happens when the actor crashes. RivetKit defaults to `sleep`.",
+ "datacenter": "Datacenter to create the actor in if it does not exist. Defaults to the datacenter serving the request.",
+ "input": "Base64url-encoded CBOR input passed to the actor's `createState` and `onCreate` hooks when the actor is created."
+ },
+ "examples": {
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ },
+ "body": {
+ "name": "counter",
+ "key": "my-counter",
+ "runner_name_selector": "default",
+ "crash_policy": "sleep"
+ }
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "delete",
+ "path": "/actors/{actor_id}",
+ "slug": "destroy",
+ "title": "Destroy Actor",
+ "description": "Destroy an actor. The actor's onDestroy hook runs, then its state is deleted permanently.",
+ "typescript": "examples/docs/api/actors-destroy.ts",
+ "examples": {
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ }
+ },
+ "related": [
+ {
+ "title": "Destroying Actors",
+ "href": "/actors/docs/destroy"
+ }
+ ]
+ },
+ {
+ "spec": "engine",
+ "method": "post",
+ "path": "/actors/{actor_id}/sleep",
+ "slug": "sleep",
+ "title": "Sleep Actor",
+ "description": "Put an actor to sleep. The actor runs its shutdown sequence and persists its state, then wakes on the next request.",
+ "typescript": "examples/docs/api/actors-sleep.ts",
+ "examples": {
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ },
+ "body": {}
+ },
+ "related": [
+ {
+ "title": "Lifecycle",
+ "href": "/actors/docs/lifecycle"
+ }
+ ]
+ },
+ {
+ "spec": "engine",
+ "method": "post",
+ "path": "/actors/{actor_id}/reschedule",
+ "slug": "reschedule",
+ "title": "Reschedule Actor",
+ "description": "Move an actor to a different worker. The actor runs its shutdown sequence, then restarts elsewhere with its persisted state.",
+ "typescript": "examples/docs/api/actors-reschedule.ts",
+ "examples": {
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ },
+ "body": {}
+ },
+ "related": [
+ {
+ "title": "Lifecycle",
+ "href": "/actors/docs/lifecycle"
+ }
+ ]
+ },
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/actors/names",
+ "slug": "list-names",
+ "title": "List Actor Names",
+ "description": "List the distinct actor names that have been created in a namespace.",
+ "typescript": "examples/docs/api/actors-list-names.ts",
+ "examples": {
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ }
+ }
+ }
+ ]
+ },
+ {
+ "title": "Call Actors",
+ "dir": "gateway",
+ "spec": "asyncapi",
+ "endpoints": [
+ {
+ "spec": "rivetkit",
+ "method": "post",
+ "path": "/gateway/{actor}/action/{action}",
+ "slug": "call-action",
+ "title": "Call Action",
+ "description": "Invoke an action defined on an actor and return its result. This is the HTTP equivalent of calling a method on an actor handle in the RivetKit client.",
+ "notes": "Arguments are passed as a JSON array in `args` and spread into the action's parameters. The action's return value comes back in `output`. Actions that return `undefined` respond with `{ \"output\": null }`.",
+ "typescript": "examples/docs/api/gateway-call-action.ts",
+ "parameters": {
+ "action": "Name of the action as defined in the actor's `actions` map."
+ },
+ "examples": {
+ "path": {
+ "actor": "counter",
+ "action": "increment"
+ },
+ "selector": {
+ "rvt-namespace": "$RIVET_NAMESPACE",
+ "rvt-method": "getOrCreate",
+ "rvt-key": "my-counter",
+ "rvt-pool": "default"
+ },
+ "body": {
+ "args": [
+ 1
+ ]
+ },
+ "response": {
+ "output": 1
+ }
+ },
+ "related": [
+ {
+ "title": "Actions",
+ "href": "/actors/docs/actions"
+ },
+ {
+ "title": "Actor Routing",
+ "href": "/docs/api/actor-routing"
+ }
+ ]
+ },
+ {
+ "spec": "rivetkit",
+ "method": "get",
+ "path": "/gateway/{actor}/health",
+ "slug": "health",
+ "title": "Check Health",
+ "description": "Check that an actor is reachable through the gateway. Resolves the actor, waits for it to be ready unless rvt-skip-ready-wait is set, and returns a plain-text ok.",
+ "typescript": "examples/docs/api/gateway-health.ts",
+ "examples": {
+ "path": {
+ "actor": "$ACTOR_ID"
+ }
+ },
+ "responses": {
+ "200": "The actor is running and reachable. Body is the text `ok`."
+ },
+ "after": "connect"
+ },
+ {
+ "spec": "rivetkit",
+ "method": "post",
+ "path": "/gateway/{actor}/queue/{name}",
+ "slug": "queue",
+ "title": "Send Queue Message",
+ "description": "Enqueue a durable message for an actor. Optionally wait for the actor to complete it and return a response.",
+ "notes": "By default, the request returns after the message is enqueued. Set `wait` to `true` to wait for `message.complete(...)`; `timeout` sets that wait in milliseconds, and a timeout returns `status: \"timedOut\"` without canceling the queued work.",
+ "typescript": "examples/docs/api/gateway-queue.ts",
+ "parameters": {
+ "name": "Name of the queue message as defined in the actor's `queues` map."
+ },
+ "examples": {
+ "path": {
+ "actor": "counter",
+ "name": "increment"
+ },
+ "selector": {
+ "rvt-namespace": "$RIVET_NAMESPACE",
+ "rvt-method": "getOrCreate",
+ "rvt-key": "my-counter",
+ "rvt-pool": "default"
+ },
+ "body": {
+ "body": {
+ "amount": 1
+ },
+ "wait": true,
+ "timeout": 5000
+ },
+ "response": {
+ "status": "completed",
+ "response": {
+ "count": 1
+ }
+ }
+ },
+ "responses": {
+ "200": "The message was enqueued, with its completion status when waiting."
+ },
+ "related": [
+ {
+ "title": "Queues",
+ "href": "/actors/docs/queues"
+ }
+ ],
+ "after": "call-action"
+ },
+ {
+ "spec": "rivetkit",
+ "method": "get",
+ "path": "/gateway/{actor}/metadata",
+ "slug": "metadata",
+ "title": "Get Runtime Metadata",
+ "description": "Identify the RivetKit runtime serving an actor.",
+ "typescript": "examples/docs/api/gateway-metadata.ts",
+ "examples": {
+ "path": {
+ "actor": "$ACTOR_ID"
+ },
+ "response": {
+ "runtime": "rivetkit",
+ "version": "1.0.0",
+ "type": "native"
+ }
+ },
+ "responses": {
+ "200": "Runtime name, version, and runtime type."
+ },
+ "after": "health"
+ }
+ ],
+ "protocol": [
+ {
+ "slug": "connect",
+ "title": "Connect",
+ "description": "Open a persistent WebSocket connection to an actor. One connection carries action calls, event subscriptions, and errors as JSON messages, which is what handle.connect() does in the RivetKit client.",
+ "url": "wss://rivet.example.com/gateway/{actor}/connect",
+ "notes": "`{actor}` accepts the same forms as every gateway endpoint: an actor ID, `{actor_id}@{token}`, or an actor name with `rvt-*` query parameters. See [Actor Routing](/docs/api/actor-routing).\n\nConnection options travel as WebSocket subprotocols in the `Sec-WebSocket-Protocol` header because browsers cannot set arbitrary headers on an upgrade. Always include `rivet`, then add any of the prefixed entries below.\n\n| Subprotocol | Purpose |\n| --- | --- |\n| `rivet` | Required. Lets servers that insist on a matching protocol accept the upgrade. |\n| `rivet_encoding.json` | Message encoding. `json` is the default and is documented here. The RivetKit client uses `cbor` or `bare`; the payloads are the same, only the framing differs. |\n| `rivet_token.{token}` | Token to authenticate with. See [WebSocket Requests](/docs/api/authentication#websocket-requests). |\n| `rivet_conn_params.{params}` | Optional connection parameters passed to the actor's `createConnState` and `onBeforeConnect` hooks, as URL-encoded JSON. |\n| `rivet_skip_ready_wait` | Complete the upgrade as soon as the actor is resolved instead of waiting for it to be ready. |\n\nEvery message in both directions is a JSON object of the form `{ \"body\": { \"tag\": \"\", \"val\": { ... } } }`. The server sends `Init` first; nothing else arrives before it. There is no ping or heartbeat message. Rely on WebSocket ping frames or your own timeout to detect a dead connection.",
+ "sections": [
+ {
+ "title": "Handshake",
+ "notes": "After the upgrade completes, the server sends `Init` before any other message. Store `connectionId` if you need to correlate connection-scoped state; nothing else needs to be sent before calling actions or subscribing to events.",
+ "messages": [
+ "Init"
+ ],
+ "snippets": [
+ {
+ "file": "examples/docs/api/connection-connect.ts",
+ "title": "WebSocket"
+ },
+ {
+ "file": "examples/docs/api/connection-connect-client.ts",
+ "title": "TypeScript"
+ }
+ ]
+ },
+ {
+ "title": "Actions",
+ "notes": "Send an `ActionRequest` with a client-chosen `id`. The server answers with an `ActionResponse` carrying the same `id`, or with an [`Error`](#errors) whose `actionId` matches. Requests may be pipelined; responses are not guaranteed to arrive in order, so match on `id` rather than position.\n\nThis is the connection equivalent of [Call Action](/docs/api/gateway/call-action) over HTTP. Actions called on a connection can also read connection state set in `createConnState`.",
+ "messages": [
+ "ActionRequest",
+ "ActionResponse"
+ ],
+ "snippets": [
+ {
+ "file": "examples/docs/api/connection-actions.ts",
+ "title": "WebSocket"
+ },
+ {
+ "file": "examples/docs/api/connection-actions-client.ts",
+ "title": "TypeScript"
+ }
+ ]
+ },
+ {
+ "title": "Events",
+ "notes": "Send a `SubscriptionRequest` with `subscribe: true` to start receiving `Event` messages for an event name, and `subscribe: false` to stop. Subscriptions are per connection and are lost when the connection closes, so resubscribe after reconnecting. The server does not acknowledge subscription changes. If the actor rejects a subscription, the connection is closed with the error as the close reason.\n\nEvents sent by the actor to a connection that has not subscribed to that event name are dropped.",
+ "messages": [
+ "SubscriptionRequest",
+ "Event"
+ ],
+ "snippets": [
+ {
+ "file": "examples/docs/api/connection-events.ts",
+ "title": "WebSocket"
+ },
+ {
+ "file": "examples/docs/api/connection-events-client.ts",
+ "title": "TypeScript"
+ }
+ ]
+ },
+ {
+ "title": "Errors",
+ "notes": "Errors on an established connection arrive as `Error` messages. `actionId` is set when the error answers a specific `ActionRequest` and `null` for connection-level errors such as a malformed message. The `group` and `code` values are the same ones the HTTP API returns; see [Error Codes](/docs/api/error-codes).\n\nErrors that prevent the connection from being established, such as an invalid token or an actor that does not exist, are reported by closing the WebSocket with a reason of the form `{group}.{code}#{ray_id}`. See [WebSockets](/docs/api/websockets#close-codes).",
+ "messages": [
+ "Error"
+ ],
+ "snippets": [
+ {
+ "file": "examples/docs/api/connection-errors.ts",
+ "title": "WebSocket"
+ },
+ {
+ "file": "examples/docs/api/connection-errors-client.ts",
+ "title": "TypeScript"
+ }
+ ]
+ }
+ ],
+ "fields": {
+ "Init.actorId": "ID of the actor this connection is attached to.",
+ "Init.connectionId": "ID of this connection. Matches `c.conn.id` inside the actor.",
+ "ActionRequest.id": "Client-chosen identifier used to match the response. Any integer that is unique among in-flight requests on this connection.",
+ "ActionRequest.name": "Name of the action as defined in the actor's `actions` map.",
+ "ActionRequest.args": "Positional arguments passed to the action, as a JSON array.",
+ "ActionResponse.id": "The `id` from the matching `ActionRequest`.",
+ "ActionResponse.output": "Value returned by the action. `null` if the action returned `undefined`.",
+ "SubscriptionRequest.eventName": "Name of the event as defined in the actor's `events` map.",
+ "SubscriptionRequest.subscribe": "`true` to subscribe, `false` to unsubscribe.",
+ "Event.name": "Name of the event.",
+ "Event.args": "Arguments passed to `c.broadcast()` or `conn.send()`, as a JSON array.",
+ "Error.group": "Subsystem that produced the error, such as `actor`, `auth`, or `user`.",
+ "Error.code": "Error identifier within the group.",
+ "Error.message": "Human-readable explanation. Do not match on it.",
+ "Error.metadata": "Structured details attached by the actor or gateway, if any.",
+ "Error.actionId": "`id` of the `ActionRequest` this error answers, or `null` for connection-level errors.",
+ "Error.actor": "Actor that handled the message, when known.",
+ "Error.actor.actorId": "ID of the actor.",
+ "Error.actor.generation": "Generation of the actor process. Increments each time the actor restarts.",
+ "Error.actor.key": "Key of the actor, if it has one."
+ },
+ "examples": {
+ "Init": {
+ "actorId": "00000000-0000-0000-0000-000000000000",
+ "connectionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "ActionRequest": {
+ "id": 1,
+ "name": "increment",
+ "args": [
+ 1
+ ]
+ },
+ "ActionResponse": {
+ "id": 1,
+ "output": 1
+ },
+ "SubscriptionRequest": {
+ "eventName": "countChanged",
+ "subscribe": true
+ },
+ "Event": {
+ "name": "countChanged",
+ "args": [
+ 1
+ ]
+ },
+ "Error": {
+ "group": "user",
+ "code": "insufficient_funds",
+ "message": "Balance is too low.",
+ "metadata": {
+ "balance": 5
+ },
+ "actionId": 1,
+ "actor": {
+ "actorId": "00000000-0000-0000-0000-000000000000",
+ "generation": 1,
+ "key": "my-counter"
+ }
+ }
+ },
+ "related": [
+ {
+ "title": "Connections",
+ "href": "/actors/docs/connections"
+ },
+ {
+ "title": "Actions",
+ "href": "/actors/docs/actions"
+ },
+ {
+ "title": "Events",
+ "href": "/actors/docs/events"
+ },
+ {
+ "title": "Errors",
+ "href": "/docs/api/errors"
+ },
+ {
+ "title": "Call Action over HTTP",
+ "href": "/docs/api/gateway/call-action"
+ },
+ {
+ "title": "Raw WebSocket",
+ "href": "/docs/api/websockets"
+ },
+ {
+ "title": "AsyncAPI specification",
+ "href": "https://github.com/rivet-dev/rivet/tree/main/rivetkit-asyncapi"
+ }
+ ]
+ }
+ ],
+ "pages": [
+ {
+ "title": "Raw WebSocket",
+ "href": "/docs/api/websockets",
+ "badge": "WS"
+ }
+ ]
+ },
+ {
+ "title": "Tokens",
+ "dir": "tokens",
+ "endpoints": [
+ {
+ "spec": "engine",
+ "method": "post",
+ "path": "/auth/tokens",
+ "slug": "create",
+ "title": "Create Token",
+ "description": "Issue a scoped token. Use this to mint short-lived tokens that grant a client access to a single actor instead of sharing your namespace token.",
+ "notes": "Each grant names a resource type, a target (`\"any\"` or a specific `{ \"id\": ... }`), and the operations it allows. The RivetKit client wraps this as `handle.issueToken()`.",
+ "typescript": "examples/docs/api/tokens-create.ts",
+ "parameters": {
+ "namespace": "Namespace the token is valid in.",
+ "duration": "Lifetime in seconds. Omit for the default lifetime.",
+ "subject": "Free-form subject to attach to the token, such as a user ID.",
+ "grants": "Permissions the token carries.",
+ "grants[].resource": "Resource type the grant applies to.",
+ "grants[].target": "`\"any\"` for every resource of this type, or `{ \"id\": \"...\" }` for one resource.",
+ "grants[].operations": "Operations the token may perform on the target."
+ },
+ "examples": {
+ "body": {
+ "namespace": "my-namespace",
+ "subject": "user-123",
+ "duration": 3600,
+ "grants": [
+ {
+ "resource": "actor_gateway",
+ "target": {
+ "id": "00000000-0000-0000-0000-000000000000"
+ },
+ "operations": [
+ "read"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/auth/tokens/inspect",
+ "slug": "inspect",
+ "title": "Inspect Token",
+ "description": "Return the namespace, grants, and expiry of the token used to authenticate the request.",
+ "typescript": "examples/docs/api/tokens-inspect.ts"
+ }
+ ]
+ },
+ {
+ "title": "Namespaces",
+ "dir": "namespaces",
+ "endpoints": [
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/namespaces",
+ "slug": "list",
+ "title": "List Namespaces",
+ "description": "List namespaces, optionally filtered by name or ID. Results are paginated.",
+ "notes": "Use `namespace_id` for multiple IDs. `namespace_ids` is deprecated.",
+ "typescript": "examples/docs/api/namespaces-list.ts",
+ "parameters": {
+ "name": "Only return namespaces with this name.",
+ "namespace_ids": "Deprecated. Use `namespace_id` instead.",
+ "namespace_id": "Only return namespaces with these IDs. Repeat the parameter for multiple IDs."
+ },
+ "responses": {
+ "200": "Matching namespaces and a cursor for the next page."
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "post",
+ "path": "/namespaces",
+ "slug": "create",
+ "title": "Create Namespace",
+ "description": "Create a namespace with a unique name and a display name.",
+ "typescript": "examples/docs/api/namespaces-create.ts",
+ "parameters": {
+ "name": "Unique name used to identify the namespace.",
+ "display_name": "Human-readable name for the namespace."
+ },
+ "examples": {
+ "body": {
+ "name": "my-app",
+ "display_name": "My App"
+ }
+ },
+ "responses": {
+ "200": "The newly created namespace."
+ }
+ }
+ ]
+ },
+ {
+ "title": "Pools",
+ "dir": "pools",
+ "endpoints": [
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/pools",
+ "slug": "list",
+ "title": "List Pools",
+ "description": "List the node pools configured in a namespace, ordered by name. Results are paginated.",
+ "typescript": "examples/docs/api/pools-list.ts",
+ "examples": {
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ }
+ },
+ "responses": {
+ "200": "A page of node pools."
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/pools/{pool}",
+ "slug": "get",
+ "title": "Get Pool",
+ "description": "Get a node pool's configuration.",
+ "typescript": "examples/docs/api/pools-get.ts",
+ "examples": {
+ "path": {
+ "pool": "$RIVET_POOL"
+ },
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ }
+ },
+ "responses": {
+ "200": "The node pool."
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "put",
+ "path": "/pools/{pool}",
+ "slug": "upsert",
+ "title": "Upsert Pool",
+ "description": "Create or replace a node pool's configuration.",
+ "notes": "Omitted fields take their defaults. Unknown fields are rejected.",
+ "typescript": "examples/docs/api/pools-upsert.ts",
+ "examples": {
+ "path": {
+ "pool": "$RIVET_POOL"
+ },
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ },
+ "body": {
+ "drain_on_version_upgrade": true
+ }
+ },
+ "responses": {
+ "200": "The stored node pool."
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "delete",
+ "path": "/pools/{pool}",
+ "slug": "delete",
+ "title": "Delete Pool",
+ "description": "Delete a node pool.",
+ "notes": "Fails with `pool.nodes_connected` while any node of the pool is connected.",
+ "typescript": "examples/docs/api/pools-delete.ts",
+ "examples": {
+ "path": {
+ "pool": "$RIVET_POOL"
+ },
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ }
+ },
+ "responses": {
+ "200": "The node pool was deleted."
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/pools/{pool}/nodes",
+ "slug": "list-nodes",
+ "title": "List Pool Nodes",
+ "description": "List the live nodes of a node pool in node key order. Results are paginated.",
+ "typescript": "examples/docs/api/pools-list-nodes.ts",
+ "examples": {
+ "path": {
+ "pool": "$RIVET_POOL"
+ },
+ "query": {
+ "namespace": "$RIVET_NAMESPACE"
+ }
+ },
+ "responses": {
+ "200": "A page of live nodes."
+ }
+ }
+ ],
+ "pages": [
+ {
+ "title": "Worker Connection",
+ "href": "/docs/api/worker-connect",
+ "badge": "WS",
+ "after": "list-nodes"
+ }
+ ]
+ },
+ {
+ "title": "Control Plane",
+ "dir": "control-plane",
+ "endpoints": [
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/metadata",
+ "slug": "metadata",
+ "title": "Get Metadata",
+ "description": "Get build, runtime, compiler, and fleet protocol metadata for the control plane.",
+ "notes": "The protocol versions are the versions agreed on by the fleet, which can differ from the versions compiled into the responding node.",
+ "typescript": "examples/docs/api/control-plane-metadata.ts",
+ "auth": "none",
+ "responses": {
+ "200": "Build and protocol metadata for the responding node and its fleet."
+ }
+ },
+ {
+ "spec": "engine",
+ "method": "get",
+ "path": "/datacenters",
+ "slug": "datacenters",
+ "title": "List Datacenters",
+ "description": "List the datacenters configured for the control plane.",
+ "typescript": "examples/docs/api/control-plane-datacenters.ts",
+ "responses": {
+ "200": "Configured datacenters and an empty pagination cursor."
+ }
+ }
+ ]
+ }
+ ]
}
diff --git a/vendor/api/docs/error-registry.json b/vendor/api/docs/error-registry.json
index 01f74932..1376586f 100644
--- a/vendor/api/docs/error-registry.json
+++ b/vendor/api/docs/error-registry.json
@@ -42,14 +42,7 @@
{
"code": "duplicate_key",
"message": "Actor key already in use.",
- "statuses": [
- {
- "status": 409,
- "surfaces": [
- "control plane"
- ]
- }
- ]
+ "statuses": []
},
{
"code": "input_too_large",
@@ -167,7 +160,6 @@
{
"status": 404,
"surfaces": [
- "control plane",
"gateway"
]
}
@@ -221,6 +213,7 @@
{
"status": 403,
"surfaces": [
+ "control plane",
"gateway"
]
}
@@ -238,6 +231,7 @@
{
"status": 404,
"surfaces": [
+ "control plane",
"gateway"
]
}
@@ -250,6 +244,7 @@
{
"status": 401,
"surfaces": [
+ "control plane",
"gateway"
]
}
@@ -291,12 +286,6 @@
"code": "issuance_disabled",
"message": "JWT issuance is not enabled for this deployment.",
"statuses": [
- {
- "status": 403,
- "surfaces": [
- "control plane"
- ]
- },
{
"status": 503,
"surfaces": [
@@ -607,7 +596,7 @@
},
{
"name": "envoy",
- "description": "Node connections, and validation of namespace and pool names.",
+ "description": null,
"errors": [
{
"code": "connect_overloaded",
@@ -721,6 +710,11 @@
}
]
},
+ {
+ "name": "kv",
+ "description": "Low-level KV storage inside an actor.",
+ "errors": []
+ },
{
"name": "message",
"description": "Message size limits on connections.",
@@ -763,26 +757,12 @@
{
"code": "name_not_unique",
"message": "A namespace with this name already exists.",
- "statuses": [
- {
- "status": 409,
- "surfaces": [
- "control plane"
- ]
- }
- ]
+ "statuses": []
},
{
"code": "not_found",
"message": "The namespace does not exist.",
- "statuses": [
- {
- "status": 404,
- "surfaces": [
- "control plane"
- ]
- }
- ]
+ "statuses": []
}
]
},
@@ -804,7 +784,7 @@
},
{
"name": "pool",
- "description": "Node pool configuration.",
+ "description": null,
"errors": [
{
"code": "invalid",
@@ -814,26 +794,12 @@
{
"code": "nodes_connected",
"message": "The node pool still has connected nodes.",
- "statuses": [
- {
- "status": 409,
- "surfaces": [
- "control plane"
- ]
- }
- ]
+ "statuses": []
},
{
"code": "not_found",
"message": "The node pool does not exist.",
- "statuses": [
- {
- "status": 404,
- "surfaces": [
- "control plane"
- ]
- }
- ]
+ "statuses": []
},
{
"code": "serverless_unsupported",
diff --git a/vendor/api/docs/sidebar.json b/vendor/api/docs/sidebar.json
index 2fd79095..85746204 100644
--- a/vendor/api/docs/sidebar.json
+++ b/vendor/api/docs/sidebar.json
@@ -43,11 +43,6 @@
"href": "/docs/api/actors/list",
"badge": "GET"
},
- {
- "title": "Get Actor",
- "href": "/docs/api/actors/get",
- "badge": "GET"
- },
{
"title": "Create Actor",
"href": "/docs/api/actors/create",
@@ -93,16 +88,6 @@
"href": "/docs/api/gateway/queue",
"badge": "POST"
},
- {
- "title": "Raw HTTP Request",
- "href": "/docs/api/gateway/request",
- "badge": "ANY"
- },
- {
- "title": "Raw WebSocket",
- "href": "/docs/api/websockets",
- "badge": "WS"
- },
{
"title": "Connect",
"href": "/docs/api/gateway/connect",
@@ -119,91 +104,9 @@
"badge": "GET"
},
{
- "title": "Inspector",
- "icon": "faMagnifyingGlass",
- "pages": [
- {
- "title": "Get Summary",
- "href": "/docs/api/inspector/summary",
- "badge": "GET"
- },
- {
- "title": "Get State",
- "href": "/docs/api/inspector/state-get",
- "badge": "GET"
- },
- {
- "title": "Patch State",
- "href": "/docs/api/inspector/state-patch",
- "badge": "PATCH"
- },
- {
- "title": "List Connections",
- "href": "/docs/api/inspector/connections",
- "badge": "GET"
- },
- {
- "title": "List Actions",
- "href": "/docs/api/inspector/rpcs",
- "badge": "GET"
- },
- {
- "title": "Invoke Action",
- "href": "/docs/api/inspector/action",
- "badge": "POST"
- },
- {
- "title": "Get Queue",
- "href": "/docs/api/inspector/queue-get",
- "badge": "GET"
- },
- {
- "title": "Enqueue Message",
- "href": "/docs/api/inspector/queue-post",
- "badge": "POST"
- },
- {
- "title": "Clear Queue",
- "href": "/docs/api/inspector/queue-delete",
- "badge": "DELETE"
- },
- {
- "title": "Get Traces",
- "href": "/docs/api/inspector/traces",
- "badge": "GET"
- },
- {
- "title": "Get Workflow History",
- "href": "/docs/api/inspector/workflow-history",
- "badge": "GET"
- },
- {
- "title": "Replay Workflow",
- "href": "/docs/api/inspector/workflow-replay",
- "badge": "POST"
- },
- {
- "title": "Get Database Schema",
- "href": "/docs/api/inspector/database-schema",
- "badge": "GET"
- },
- {
- "title": "Query Database Rows",
- "href": "/docs/api/inspector/database-rows",
- "badge": "GET"
- },
- {
- "title": "Execute SQL",
- "href": "/docs/api/inspector/database-execute",
- "badge": "POST"
- },
- {
- "title": "Inspector Connect",
- "href": "/docs/api/inspector-connect",
- "badge": "WS"
- }
- ],
- "collapsible": true
+ "title": "Raw WebSocket",
+ "href": "/docs/api/websockets",
+ "badge": "WS"
}
]
},
@@ -238,35 +141,35 @@
]
},
{
- "title": "Node Pools",
+ "title": "Pools",
"pages": [
{
- "title": "List Node Pools",
+ "title": "List Pools",
"href": "/docs/api/pools/list",
"badge": "GET"
},
{
- "title": "Get Node Pool",
+ "title": "Get Pool",
"href": "/docs/api/pools/get",
"badge": "GET"
},
{
- "title": "Upsert Node Pool",
+ "title": "Upsert Pool",
"href": "/docs/api/pools/upsert",
"badge": "PUT"
},
{
- "title": "Delete Node Pool",
+ "title": "Delete Pool",
"href": "/docs/api/pools/delete",
"badge": "DELETE"
},
{
- "title": "List Nodes",
+ "title": "List Pool Nodes",
"href": "/docs/api/pools/list-nodes",
"badge": "GET"
},
{
- "title": "Node Connection",
+ "title": "Worker Connection",
"href": "/docs/api/worker-connect",
"badge": "WS"
}
diff --git a/vendor/api/engine/artifacts/openapi.json b/vendor/api/engine/artifacts/openapi.json
index eab3912a..99eb056f 100644
--- a/vendor/api/engine/artifacts/openapi.json
+++ b/vendor/api/engine/artifacts/openapi.json
@@ -8,10 +8,10 @@
"email": "developer@rivet.dev"
},
"license": {
- "name": "LicenseRef-RivetEnterprise",
- "identifier": "LicenseRef-RivetEnterprise"
+ "name": "Apache-2.0",
+ "identifier": "Apache-2.0"
},
- "version": "2.3.20"
+ "version": "2.3.31"
},
"servers": [
{
@@ -93,7 +93,7 @@
}
},
"400": {
- "description": "`validation.invalid_input`: the subject exceeds 256 UTF-8 bytes, the duration is outside the allowed range, or the grant set is invalid (empty, more than 32 grants, a grant without operations or with more than 5, or a `token`, `acl` or `jwt` resource). `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.",
+ "description": "`validation.invalid_input`: the subject exceeds 256 UTF-8 bytes, the duration is outside the allowed range, or the grant set is invalid (empty, more than 32 grants, a grant without operations or with more than 5, or a `token` or `jwt` resource). `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.",
"content": {
"application/json": {
"schema": {
@@ -1685,7 +1685,7 @@
}
},
"400": {
- "description": "`actor.invalid_name`: `name` is empty or longer than 64 bytes. `actor.invalid_key`: `key` is longer than 1024 bytes. `actor.invalid_key_encoding`: `key` is not in canonical slash-separated form. `actor.key_owned_elsewhere`: another datacenter owns the key. `envoy.invalid_pool_name`: `runner_name_selector` is not a valid pool name. `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.",
+ "description": "`actor.invalid_name`: `name` is empty or longer than 64 bytes. `actor.invalid_key`: `key` is longer than 1024 bytes. `actor.invalid_key_encoding`: `key` is not in canonical slash-separated form. `actor.key_owned_elsewhere`: another datacenter owns the key. `envoy.invalid_pool_name`: `pool` is not a valid pool name. `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.",
"content": {
"application/json": {
"schema": {
@@ -1861,7 +1861,7 @@
}
},
"400": {
- "description": "`actor.invalid_name`: `name` is empty or longer than 64 bytes. `actor.invalid_key`: `key` is longer than 1024 bytes. `actor.invalid_key_encoding`: `key` is not in canonical slash-separated form. `actor.key_owned_elsewhere`: another datacenter owns the key. `envoy.invalid_pool_name`: `runner_name_selector` is not a valid pool name. `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.",
+ "description": "`actor.invalid_name`: `name` is empty or longer than 64 bytes. `actor.invalid_key`: `key` is longer than 1024 bytes. `actor.invalid_key_encoding`: `key` is not in canonical slash-separated form. `actor.key_owned_elsewhere`: another datacenter owns the key. `envoy.invalid_pool_name`: `pool` is not a valid pool name. `envoy.invalid_namespace_name`: the `namespace` value is not a DNS label of 1 to 63 lowercase letters, digits and hyphens.",
"content": {
"application/json": {
"schema": {
@@ -2690,7 +2690,7 @@
"name",
"key",
"namespace",
- "runner_name_selector",
+ "pool",
"create_ts",
"start_ts",
"pending_allocation_ts",
@@ -2715,7 +2715,7 @@
"type": "string",
"description": "Name of the namespace the actor belongs to."
},
- "runner_name_selector": {
+ "pool": {
"type": "string",
"description": "Name of the node pool the actor runs in."
},
@@ -2817,7 +2817,7 @@
],
"description": "Actor input as standard base64 (with padding)."
},
- "runner_name_selector": {
+ "pool": {
"type": [
"string",
"null"
@@ -2877,7 +2877,7 @@
],
"description": "Actor input as standard base64 (with padding)."
},
- "runner_name_selector": {
+ "pool": {
"type": [
"string",
"null"
diff --git a/vendor/api/examples/docs/actors-integrations-durable-streams/client.ts b/vendor/api/examples/docs/actors-integrations-durable-streams/client.ts
new file mode 100644
index 00000000..c541cfdd
--- /dev/null
+++ b/vendor/api/examples/docs/actors-integrations-durable-streams/client.ts
@@ -0,0 +1,8 @@
+import { DurableStream } from "@durable-streams/client";
+
+const stream = await DurableStream.create({
+ url: "http://127.0.0.1:8642/durable-streams/v1/stream/demo",
+ contentType: "application/json",
+});
+
+await stream.append(JSON.stringify({ message: "hello" }));
diff --git a/vendor/api/examples/docs/actors-quickstart-next-js/registry.ts b/vendor/api/examples/docs/actors-quickstart-next-js/registry.ts
deleted file mode 100644
index 4afe732a..00000000
--- a/vendor/api/examples/docs/actors-quickstart-next-js/registry.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { actor, setup } from "rivetkit";
-
-export const counter = actor({
- state: { count: 0 },
- actions: {
- increment: (c, x: number) => {
- c.state.count += x;
- c.broadcast("newCount", c.state.count);
- return c.state.count;
- },
- },
-});
-
-export const registry = setup({
- use: { counter },
-});
diff --git a/vendor/api/examples/docs/actors-quickstart-react/index.ts b/vendor/api/examples/docs/actors-quickstart-react/backend/index.ts
similarity index 100%
rename from vendor/api/examples/docs/actors-quickstart-react/index.ts
rename to vendor/api/examples/docs/actors-quickstart-react/backend/index.ts
diff --git a/vendor/api/examples/docs/actors-quickstart-react/Counter.tsx b/vendor/api/examples/docs/actors-quickstart-react/frontend/Counter.tsx
similarity index 85%
rename from vendor/api/examples/docs/actors-quickstart-react/Counter.tsx
rename to vendor/api/examples/docs/actors-quickstart-react/frontend/Counter.tsx
index a62ee024..26aa5be7 100644
--- a/vendor/api/examples/docs/actors-quickstart-react/Counter.tsx
+++ b/vendor/api/examples/docs/actors-quickstart-react/frontend/Counter.tsx
@@ -1,16 +1,16 @@
import { createRivetKit } from "@rivetkit/react";
import { useState } from "react";
-import type { registry } from "./index";
+import type { registry } from "../backend/index";
const { useActor } = createRivetKit("http://localhost:6420");
-function Counter() {
+export function Counter() {
const [count, setCount] = useState(0);
// Get or create a counter actor for the key "my-counter"
const counter = useActor({
name: "counter",
- key: ["my-counter"]
+ key: ["my-counter"],
});
// Listen to realtime events
diff --git a/vendor/api/examples/docs/actors-quickstart-react/frontend/main.tsx b/vendor/api/examples/docs/actors-quickstart-react/frontend/main.tsx
new file mode 100644
index 00000000..a8e4ea9d
--- /dev/null
+++ b/vendor/api/examples/docs/actors-quickstart-react/frontend/main.tsx
@@ -0,0 +1,9 @@
+import { StrictMode } from "react";
+import { createRoot } from "react-dom/client";
+import { Counter } from "./Counter";
+
+createRoot(document.getElementById("root")!).render(
+
+
+ ,
+);
diff --git a/vendor/api/examples/docs/actors-versions/programmatic-version.ts b/vendor/api/examples/docs/actors-versions/programmatic-version.ts
deleted file mode 100644
index 9763d971..00000000
--- a/vendor/api/examples/docs/actors-versions/programmatic-version.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { actor, setup } from "rivetkit";
-
-const myActor = actor({ state: {}, actions: {} });
-
-const registry = setup({
- use: { myActor },
- envoy: {
- version: 2,
- },
-});
diff --git a/vendor/api/examples/docs/api/actors-destroy.ts b/vendor/api/examples/docs/api/actors-destroy.ts
index 7718ad8c..d76fa102 100644
--- a/vendor/api/examples/docs/api/actors-destroy.ts
+++ b/vendor/api/examples/docs/api/actors-destroy.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
const actorId = "00000000-0000-0000-0000-000000000000";
diff --git a/vendor/api/examples/docs/api/actors-list-names.ts b/vendor/api/examples/docs/api/actors-list-names.ts
index ce5f865f..19ca05e2 100644
--- a/vendor/api/examples/docs/api/actors-list-names.ts
+++ b/vendor/api/examples/docs/api/actors-list-names.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
diff --git a/vendor/api/examples/docs/api/actors-list.ts b/vendor/api/examples/docs/api/actors-list.ts
index fcca97ee..55a79fcb 100644
--- a/vendor/api/examples/docs/api/actors-list.ts
+++ b/vendor/api/examples/docs/api/actors-list.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
diff --git a/vendor/api/examples/docs/api/actors-reschedule.ts b/vendor/api/examples/docs/api/actors-reschedule.ts
index 3a2f9b23..3bb1a563 100644
--- a/vendor/api/examples/docs/api/actors-reschedule.ts
+++ b/vendor/api/examples/docs/api/actors-reschedule.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
const actorId = "00000000-0000-0000-0000-000000000000";
diff --git a/vendor/api/examples/docs/api/actors-sleep.ts b/vendor/api/examples/docs/api/actors-sleep.ts
index e1232b21..a1d07784 100644
--- a/vendor/api/examples/docs/api/actors-sleep.ts
+++ b/vendor/api/examples/docs/api/actors-sleep.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
const actorId = "00000000-0000-0000-0000-000000000000";
diff --git a/vendor/api/examples/docs/api/connection-actions.ts b/vendor/api/examples/docs/api/connection-actions.ts
index d90ec127..3de81cd1 100644
--- a/vendor/api/examples/docs/api/connection-actions.ts
+++ b/vendor/api/examples/docs/api/connection-actions.ts
@@ -1,5 +1,5 @@
const ws = new WebSocket(
- `wss://rivet.example.com/gateway/${process.env.ACTOR_ID}/connect`,
+ `wss://api.rivet.dev/gateway/${process.env.ACTOR_ID}/connect`,
["rivet", "rivet_encoding.json", `rivet_token.${process.env.RIVET_TOKEN}`],
);
diff --git a/vendor/api/examples/docs/api/connection-connect.ts b/vendor/api/examples/docs/api/connection-connect.ts
index ee4bf891..88e74ed3 100644
--- a/vendor/api/examples/docs/api/connection-connect.ts
+++ b/vendor/api/examples/docs/api/connection-connect.ts
@@ -1,7 +1,7 @@
// Open a connection by actor name. The selector query parameters are the same
// ones used by the HTTP endpoints; the token and encoding travel as
// WebSocket subprotocols because browsers cannot set headers on an upgrade.
-const url = new URL("wss://rivet.example.com/gateway/counter/connect");
+const url = new URL("wss://api.rivet.dev/gateway/counter/connect");
url.searchParams.set("rvt-namespace", process.env.RIVET_NAMESPACE!);
url.searchParams.set("rvt-method", "getOrCreate");
url.searchParams.set("rvt-key", "my-counter");
diff --git a/vendor/api/examples/docs/api/connection-errors.ts b/vendor/api/examples/docs/api/connection-errors.ts
index f8e796c7..6345825a 100644
--- a/vendor/api/examples/docs/api/connection-errors.ts
+++ b/vendor/api/examples/docs/api/connection-errors.ts
@@ -1,5 +1,5 @@
const ws = new WebSocket(
- `wss://rivet.example.com/gateway/${process.env.ACTOR_ID}/connect`,
+ `wss://api.rivet.dev/gateway/${process.env.ACTOR_ID}/connect`,
["rivet", "rivet_encoding.json", `rivet_token.${process.env.RIVET_TOKEN}`],
);
diff --git a/vendor/api/examples/docs/api/connection-events.ts b/vendor/api/examples/docs/api/connection-events.ts
index 71ad178a..7e85c61b 100644
--- a/vendor/api/examples/docs/api/connection-events.ts
+++ b/vendor/api/examples/docs/api/connection-events.ts
@@ -1,5 +1,5 @@
const ws = new WebSocket(
- `wss://rivet.example.com/gateway/${process.env.ACTOR_ID}/connect`,
+ `wss://api.rivet.dev/gateway/${process.env.ACTOR_ID}/connect`,
["rivet", "rivet_encoding.json", `rivet_token.${process.env.RIVET_TOKEN}`],
);
diff --git a/vendor/api/examples/docs/api/control-plane-datacenters.ts b/vendor/api/examples/docs/api/control-plane-datacenters.ts
index 6f14c5eb..d5afca6c 100644
--- a/vendor/api/examples/docs/api/control-plane-datacenters.ts
+++ b/vendor/api/examples/docs/api/control-plane-datacenters.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const token = process.env.RIVET_TOKEN ?? "";
const response = await fetch(`${endpoint}/datacenters`, {
diff --git a/vendor/api/examples/docs/api/control-plane-metadata.ts b/vendor/api/examples/docs/api/control-plane-metadata.ts
index ea784880..43300b91 100644
--- a/vendor/api/examples/docs/api/control-plane-metadata.ts
+++ b/vendor/api/examples/docs/api/control-plane-metadata.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const response = await fetch(`${endpoint}/metadata`);
const metadata = await response.json();
diff --git a/vendor/api/examples/docs/api/gateway-metadata.ts b/vendor/api/examples/docs/api/gateway-metadata.ts
index 95da90f4..d677d2dd 100644
--- a/vendor/api/examples/docs/api/gateway-metadata.ts
+++ b/vendor/api/examples/docs/api/gateway-metadata.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const response = await fetch(
`${endpoint}/gateway/${process.env.ACTOR_ID}/metadata`,
{
diff --git a/vendor/api/examples/docs/api/gateway-queue.ts b/vendor/api/examples/docs/api/gateway-queue.ts
index 73f95114..8d6a2aa6 100644
--- a/vendor/api/examples/docs/api/gateway-queue.ts
+++ b/vendor/api/examples/docs/api/gateway-queue.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const actorId = process.env.ACTOR_ID;
const response = await fetch(`${endpoint}/gateway/${actorId}/queue/increment`, {
method: "POST",
diff --git a/vendor/api/examples/docs/api/inspector-action.ts b/vendor/api/examples/docs/api/inspector-action.ts
deleted file mode 100644
index ac8aca2c..00000000
--- a/vendor/api/examples/docs/api/inspector-action.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/action/increment`,
- {
- method: "POST",
- headers: {
- Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}`,
- "Content-Type": "application/json",
- },
- body: JSON.stringify({ args: [1] }),
- },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-connections.ts b/vendor/api/examples/docs/api/inspector-connections.ts
deleted file mode 100644
index cebb890d..00000000
--- a/vendor/api/examples/docs/api/inspector-connections.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/connections`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-database-execute.ts b/vendor/api/examples/docs/api/inspector-database-execute.ts
deleted file mode 100644
index 0786a92e..00000000
--- a/vendor/api/examples/docs/api/inspector-database-execute.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/database/execute`,
- {
- method: "POST",
- headers: {
- Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}`,
- "Content-Type": "application/json",
- },
- body: JSON.stringify({
- sql: "SELECT * FROM users WHERE id = ?",
- args: ["user-123"],
- }),
- },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-database-rows.ts b/vendor/api/examples/docs/api/inspector-database-rows.ts
deleted file mode 100644
index a21e1be3..00000000
--- a/vendor/api/examples/docs/api/inspector-database-rows.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const query = new URLSearchParams({
- table: "users",
- limit: "100",
- offset: "0",
-});
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/database/rows?${query}`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-database-schema.ts b/vendor/api/examples/docs/api/inspector-database-schema.ts
deleted file mode 100644
index e6d5acdc..00000000
--- a/vendor/api/examples/docs/api/inspector-database-schema.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/database/schema`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-queue-delete.ts b/vendor/api/examples/docs/api/inspector-queue-delete.ts
deleted file mode 100644
index 748c1b4c..00000000
--- a/vendor/api/examples/docs/api/inspector-queue-delete.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/queue`,
- {
- method: "DELETE",
- headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` },
- },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-queue-get.ts b/vendor/api/examples/docs/api/inspector-queue-get.ts
deleted file mode 100644
index a55ec407..00000000
--- a/vendor/api/examples/docs/api/inspector-queue-get.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/queue?limit=50`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-queue-post.ts b/vendor/api/examples/docs/api/inspector-queue-post.ts
deleted file mode 100644
index d5c71989..00000000
--- a/vendor/api/examples/docs/api/inspector-queue-post.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/queue`,
- {
- method: "POST",
- headers: {
- Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}`,
- "Content-Type": "application/json",
- },
- body: JSON.stringify({ name: "increment", body: { amount: 1 } }),
- },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-rpcs.ts b/vendor/api/examples/docs/api/inspector-rpcs.ts
deleted file mode 100644
index 356e615e..00000000
--- a/vendor/api/examples/docs/api/inspector-rpcs.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/rpcs`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-state-get.ts b/vendor/api/examples/docs/api/inspector-state-get.ts
deleted file mode 100644
index 783deb57..00000000
--- a/vendor/api/examples/docs/api/inspector-state-get.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/state`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-state-patch.ts b/vendor/api/examples/docs/api/inspector-state-patch.ts
deleted file mode 100644
index 36ef34dc..00000000
--- a/vendor/api/examples/docs/api/inspector-state-patch.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/state`,
- {
- method: "PATCH",
- headers: {
- Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}`,
- "Content-Type": "application/json",
- },
- body: JSON.stringify({ state: { count: 2 } }),
- },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-summary.ts b/vendor/api/examples/docs/api/inspector-summary.ts
deleted file mode 100644
index 37f0f793..00000000
--- a/vendor/api/examples/docs/api/inspector-summary.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/summary`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-traces.ts b/vendor/api/examples/docs/api/inspector-traces.ts
deleted file mode 100644
index 9a3c1a62..00000000
--- a/vendor/api/examples/docs/api/inspector-traces.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/traces?startMs=0&limit=100`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-workflow-history.ts b/vendor/api/examples/docs/api/inspector-workflow-history.ts
deleted file mode 100644
index 64d289d0..00000000
--- a/vendor/api/examples/docs/api/inspector-workflow-history.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/workflow-history`,
- { headers: { Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}` } },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/inspector-workflow-replay.ts b/vendor/api/examples/docs/api/inspector-workflow-replay.ts
deleted file mode 100644
index 3bf3cdc8..00000000
--- a/vendor/api/examples/docs/api/inspector-workflow-replay.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const response = await fetch(
- `${endpoint}/gateway/${process.env.ACTOR_ID}/inspector/workflow/replay`,
- {
- method: "POST",
- headers: {
- Authorization: `Bearer ${process.env.INSPECTOR_TOKEN}`,
- "Content-Type": "application/json",
- },
- body: JSON.stringify({ entryId: "entry-123" }),
- },
-);
-console.log(await response.json());
-export {};
diff --git a/vendor/api/examples/docs/api/namespaces-create.ts b/vendor/api/examples/docs/api/namespaces-create.ts
index c2f92ff5..3bda46bc 100644
--- a/vendor/api/examples/docs/api/namespaces-create.ts
+++ b/vendor/api/examples/docs/api/namespaces-create.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const token = process.env.RIVET_TOKEN ?? "";
const response = await fetch(`${endpoint}/namespaces`, {
diff --git a/vendor/api/examples/docs/api/namespaces-list.ts b/vendor/api/examples/docs/api/namespaces-list.ts
index 5b598685..34700884 100644
--- a/vendor/api/examples/docs/api/namespaces-list.ts
+++ b/vendor/api/examples/docs/api/namespaces-list.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const token = process.env.RIVET_TOKEN ?? "";
const response = await fetch(`${endpoint}/namespaces`, {
diff --git a/vendor/api/examples/docs/api/pools-delete.ts b/vendor/api/examples/docs/api/pools-delete.ts
new file mode 100644
index 00000000..ad9c5134
--- /dev/null
+++ b/vendor/api/examples/docs/api/pools-delete.ts
@@ -0,0 +1,16 @@
+const endpoint = "https://api.rivet.dev";
+const namespace = process.env.RIVET_NAMESPACE ?? "default";
+const token = process.env.RIVET_TOKEN ?? "";
+const pool = process.env.RIVET_POOL ?? "default";
+
+const params = new URLSearchParams({ namespace });
+const response = await fetch(
+ `${endpoint}/pools/${encodeURIComponent(pool)}?${params}`,
+ {
+ method: "DELETE",
+ headers: { Authorization: `Bearer ${token}` },
+ },
+);
+console.log(response.status);
+
+export {};
diff --git a/vendor/api/examples/docs/api/pools-get.ts b/vendor/api/examples/docs/api/pools-get.ts
new file mode 100644
index 00000000..852a5f71
--- /dev/null
+++ b/vendor/api/examples/docs/api/pools-get.ts
@@ -0,0 +1,13 @@
+const endpoint = "https://api.rivet.dev";
+const namespace = process.env.RIVET_NAMESPACE ?? "default";
+const token = process.env.RIVET_TOKEN ?? "";
+const pool = process.env.RIVET_POOL ?? "default";
+
+const params = new URLSearchParams({ namespace });
+const response = await fetch(
+ `${endpoint}/pools/${encodeURIComponent(pool)}?${params}`,
+ { headers: { Authorization: `Bearer ${token}` } },
+);
+console.log(await response.json());
+
+export {};
diff --git a/vendor/api/examples/docs/api/pools-list-nodes.ts b/vendor/api/examples/docs/api/pools-list-nodes.ts
new file mode 100644
index 00000000..b55c107f
--- /dev/null
+++ b/vendor/api/examples/docs/api/pools-list-nodes.ts
@@ -0,0 +1,14 @@
+const endpoint = "https://api.rivet.dev";
+const namespace = process.env.RIVET_NAMESPACE ?? "default";
+const token = process.env.RIVET_TOKEN ?? "";
+const pool = process.env.RIVET_POOL ?? "default";
+
+const params = new URLSearchParams({ namespace });
+const response = await fetch(
+ `${endpoint}/pools/${encodeURIComponent(pool)}/nodes?${params}`,
+ { headers: { Authorization: `Bearer ${token}` } },
+);
+const { nodes, pagination } = await response.json();
+console.log(nodes, pagination.cursor);
+
+export {};
diff --git a/vendor/api/examples/docs/api/workers-configs-list.ts b/vendor/api/examples/docs/api/pools-list.ts
similarity index 52%
rename from vendor/api/examples/docs/api/workers-configs-list.ts
rename to vendor/api/examples/docs/api/pools-list.ts
index 1f1c8521..eac08588 100644
--- a/vendor/api/examples/docs/api/workers-configs-list.ts
+++ b/vendor/api/examples/docs/api/pools-list.ts
@@ -1,12 +1,12 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
const params = new URLSearchParams({ namespace });
-const response = await fetch(`${endpoint}/runner-configs?${params}`, {
+const response = await fetch(`${endpoint}/pools?${params}`, {
headers: { Authorization: `Bearer ${token}` },
});
-const { runner_configs } = await response.json();
-console.log(runner_configs);
+const { pools, pagination } = await response.json();
+console.log(pools, pagination.cursor);
export {};
diff --git a/vendor/api/examples/docs/api/workers-configs-upsert.ts b/vendor/api/examples/docs/api/pools-upsert.ts
similarity index 59%
rename from vendor/api/examples/docs/api/workers-configs-upsert.ts
rename to vendor/api/examples/docs/api/pools-upsert.ts
index 50a37d3d..0097c1c7 100644
--- a/vendor/api/examples/docs/api/workers-configs-upsert.ts
+++ b/vendor/api/examples/docs/api/pools-upsert.ts
@@ -1,18 +1,18 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
-const workerName = process.env.RUNNER_NAME ?? "default";
+const pool = process.env.RIVET_POOL ?? "default";
const params = new URLSearchParams({ namespace });
const response = await fetch(
- `${endpoint}/runner-configs/${encodeURIComponent(workerName)}?${params}`,
+ `${endpoint}/pools/${encodeURIComponent(pool)}?${params}`,
{
method: "PUT",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
- body: JSON.stringify({ datacenters: { local: { normal: {} } } }),
+ body: JSON.stringify({ drain_on_version_upgrade: true }),
},
);
console.log(await response.json());
diff --git a/vendor/api/examples/docs/api/tokens-inspect.ts b/vendor/api/examples/docs/api/tokens-inspect.ts
index c562d121..7573b89f 100644
--- a/vendor/api/examples/docs/api/tokens-inspect.ts
+++ b/vendor/api/examples/docs/api/tokens-inspect.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const token = process.env.RIVET_TOKEN ?? "";
// Inspect reports on the token used to authenticate the request itself.
diff --git a/vendor/api/examples/docs/api/workers-configs-delete.ts b/vendor/api/examples/docs/api/workers-configs-delete.ts
deleted file mode 100644
index cdc01d9e..00000000
--- a/vendor/api/examples/docs/api/workers-configs-delete.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const namespace = process.env.RIVET_NAMESPACE ?? "default";
-const token = process.env.RIVET_TOKEN ?? "";
-const workerName = process.env.RUNNER_NAME ?? "default";
-
-const params = new URLSearchParams({ namespace });
-const response = await fetch(
- `${endpoint}/runner-configs/${encodeURIComponent(workerName)}?${params}`,
- { method: "DELETE", headers: { Authorization: `Bearer ${token}` } },
-);
-console.log(response.ok);
-
-export {};
diff --git a/vendor/api/examples/docs/api/workers-configs-refresh-metadata.ts b/vendor/api/examples/docs/api/workers-configs-refresh-metadata.ts
index 337d7c97..1f1a7c02 100644
--- a/vendor/api/examples/docs/api/workers-configs-refresh-metadata.ts
+++ b/vendor/api/examples/docs/api/workers-configs-refresh-metadata.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
const workerName = process.env.RUNNER_NAME ?? "default";
diff --git a/vendor/api/examples/docs/api/workers-list.ts b/vendor/api/examples/docs/api/workers-list.ts
deleted file mode 100644
index 06f1d56e..00000000
--- a/vendor/api/examples/docs/api/workers-list.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-const endpoint = "https://rivet.example.com";
-const namespace = process.env.RIVET_NAMESPACE ?? "default";
-const token = process.env.RIVET_TOKEN ?? "";
-
-const params = new URLSearchParams({ namespace });
-const response = await fetch(`${endpoint}/envoys?${params}`, {
- headers: { Authorization: `Bearer ${token}` },
-});
-const { envoys: workers, pagination } = await response.json();
-console.log(workers, pagination.cursor);
-
-export {};
diff --git a/vendor/api/examples/docs/api/workers-serverless-health-check.ts b/vendor/api/examples/docs/api/workers-serverless-health-check.ts
index 860536f6..c6e0c54f 100644
--- a/vendor/api/examples/docs/api/workers-serverless-health-check.ts
+++ b/vendor/api/examples/docs/api/workers-serverless-health-check.ts
@@ -1,4 +1,4 @@
-const endpoint = "https://rivet.example.com";
+const endpoint = "https://api.rivet.dev";
const namespace = process.env.RIVET_NAMESPACE ?? "default";
const token = process.env.RIVET_TOKEN ?? "";
diff --git a/vendor/api/examples/docs/cookbook-cron-jobs/daily-report.ts b/vendor/api/examples/docs/cookbook-cron-jobs/daily-report.ts
deleted file mode 100644
index c434d36c..00000000
--- a/vendor/api/examples/docs/cookbook-cron-jobs/daily-report.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { actor } from "rivetkit";
-
-export const dailyReport = actor({
- state: { lastRunAt: 0 },
- onCreate: async (c) => {
- await c.cron.set({
- name: "daily-report",
- expression: "0 9 * * *",
- action: "runReport",
- });
- },
- actions: {
- runReport: (c) => {
- // Do the job's work, then record the run.
- c.state.lastRunAt = Date.now();
- },
- },
-});
diff --git a/vendor/api/examples/docs/general-edge/client.ts b/vendor/api/examples/docs/general-edge/client.ts
new file mode 100644
index 00000000..fde898f5
--- /dev/null
+++ b/vendor/api/examples/docs/general-edge/client.ts
@@ -0,0 +1,12 @@
+import { createClient } from "rivetkit/client";
+import { actor, setup } from "rivetkit";
+
+const example = actor({ state: {}, actions: {} });
+const registry = setup({ use: { example } });
+
+const client = createClient("http://localhost:6420");
+
+// Create actor in a specific region using getOrCreate
+const actorHandle = client.example.getOrCreate(["my-actor"], {
+ createInRegion: "atl"
+});
diff --git a/vendor/api/examples/docs/general-jwt/quickstart/client.ts b/vendor/api/examples/docs/general-jwt/quickstart/client.ts
index bf78e5d5..49cbb1ed 100644
--- a/vendor/api/examples/docs/general-jwt/quickstart/client.ts
+++ b/vendor/api/examples/docs/general-jwt/quickstart/client.ts
@@ -14,7 +14,7 @@ async function fetchToken(): Promise<{ actorId: string; token: string }> {
const { actorId } = await fetchToken();
const client = createClient({
- endpoint: "https://my-namespace@rivet.example.com",
+ endpoint: "https://rivet.example.com",
namespace: "production",
// Called whenever RivetKit needs a credential, including after one expires.
diff --git a/vendor/api/examples/docs/package.json b/vendor/api/examples/docs/package.json
index a0e98db3..3ddcea78 100644
--- a/vendor/api/examples/docs/package.json
+++ b/vendor/api/examples/docs/package.json
@@ -1,4 +1,5 @@
{
+ "license": "MIT",
"name": "docs-snippets",
"version": "2.0.21",
"private": true,
@@ -11,10 +12,7 @@
"rivetkit": "workspace:*",
"@rivetkit/react": "workspace:*",
"@rivetkit/engine-api-full": "workspace:*",
- "@rivetkit/next-js": "workspace:*",
- "@rivetkit/cloudflare-workers": "workspace:*",
"@rivetkit/rivetkit-wasm": "workspace:*",
- "@rivetkit/supabase": "workspace:*",
"@rivetkit/effect": "workspace:*",
"effect": "4.0.0",
"@effect/platform-node": "4.0.0",
diff --git a/vendor/api/examples/docs/tsconfig.json b/vendor/api/examples/docs/tsconfig.json
index 498e3a9a..ee88fd1d 100644
--- a/vendor/api/examples/docs/tsconfig.json
+++ b/vendor/api/examples/docs/tsconfig.json
@@ -13,5 +13,12 @@
"jsx": "react-jsx"
},
"include": ["**/*.ts", "**/*.tsx"],
- "exclude": ["node_modules"]
+ "exclude": [
+ "node_modules",
+ "actors-quickstart-next-js",
+ "general-http-server/elysia-handler.ts",
+ "general-http-server/hono-handler.ts",
+ "general-http-server/serve.ts",
+ "actors-actions/calling-backend.ts"
+ ]
}
diff --git a/vendor/api/rivetkit-asyncapi/asyncapi.json b/vendor/api/rivetkit-asyncapi/asyncapi.json
index 32b33213..bf2ae11f 100644
--- a/vendor/api/rivetkit-asyncapi/asyncapi.json
+++ b/vendor/api/rivetkit-asyncapi/asyncapi.json
@@ -2,7 +2,7 @@
"asyncapi": "3.0.0",
"info": {
"title": "RivetKit WebSocket Protocol",
- "version": "2.4.0",
+ "version": "3.0.0-preview.5",
"description": "WebSocket protocol for bidirectional communication between RivetKit clients and actors"
},
"channels": {