diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b08f53a08f..65224250e4 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -79,22 +79,22 @@ jobs: matrix: include: - platform: linux - runner: depot-ubuntu-24.04 + runner: depot-ubuntu-24.04-4 target: x86_64-unknown-linux-musl binary_ext: "" arch: x86_64 - platform: windows - runner: depot-ubuntu-24.04 + runner: depot-ubuntu-24.04-4 target: x86_64-pc-windows-gnu binary_ext: ".exe" arch: x86_64 - platform: macos - runner: depot-ubuntu-24.04 + runner: depot-ubuntu-24.04-4 target: x86_64-apple-darwin binary_ext: "" arch: x86_64 - platform: macos - runner: depot-ubuntu-24.04 + runner: depot-ubuntu-24.04-4 target: aarch64-apple-darwin binary_ext: "" arch: aarch64 @@ -155,10 +155,10 @@ jobs: include: # TODO(RVT-4479): Add back ARM builder once manifest generation fixed # - platform: linux/arm64 - # runner: depot-ubuntu-24.04 + # runner: depot-ubuntu-24.04-4 # arch_suffix: -arm64 - platform: linux/x86_64 - runner: depot-ubuntu-24.04 + runner: depot-ubuntu-24.04-4 # TODO: Replace with appropriate arch_suffix when needed # arch_suffix: -amd64 arch_suffix: '' @@ -193,6 +193,7 @@ jobs: platforms: ${{ matrix.platform }} build-args: | BUILD_FRONTEND=true + CARGO_BUILD_MODE=release # secrets: | # fontawesome_package_token=${{ secrets.FONTAWESOME_PACKAGE_TOKEN }} # secret-files: | @@ -209,6 +210,7 @@ jobs: platforms: ${{ matrix.platform }} build-args: | BUILD_FRONTEND=true + CARGO_BUILD_MODE=release # secrets: | # fontawesome_package_token=${{ secrets.FONTAWESOME_PACKAGE_TOKEN }} # secret-files: | diff --git a/.gitignore b/.gitignore index 809682214c..371757fac0 100644 --- a/.gitignore +++ b/.gitignore @@ -43,6 +43,7 @@ tf/.terraform.lock.hcl frontend/.env.* frontend/dist/ frontend/node_modules/ +frontend/.tanstack # Site site/.next/ diff --git a/Cargo.lock b/Cargo.lock index 2c96ef3bab..7b184e85d7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -449,7 +449,7 @@ dependencies = [ [[package]] name = "bare_gen" -version = "25.6.1" +version = "25.7.0" dependencies = [ "heck 0.5.0", "pest", @@ -755,7 +755,7 @@ dependencies = [ [[package]] name = "clickhouse-inserter" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-channel", @@ -779,7 +779,7 @@ dependencies = [ [[package]] name = "clickhouse-user-query" -version = "25.6.1" +version = "25.7.0" dependencies = [ "clickhouse", "serde", @@ -1382,7 +1382,7 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" [[package]] name = "epoxy" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "axum 0.8.4", @@ -1421,7 +1421,7 @@ dependencies = [ [[package]] name = "epoxy-protocol" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "bare_gen", @@ -1683,7 +1683,7 @@ dependencies = [ [[package]] name = "gasoline" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-stream", @@ -1730,7 +1730,7 @@ dependencies = [ [[package]] name = "gasoline-macros" -version = "25.6.1" +version = "25.7.0" dependencies = [ "proc-macro2", "quote", @@ -2378,7 +2378,7 @@ dependencies = [ [[package]] name = "internal" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "gasoline", @@ -2776,7 +2776,7 @@ dependencies = [ [[package]] name = "namespace" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "gasoline", @@ -3256,7 +3256,7 @@ checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pegboard" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "epoxy", @@ -3283,7 +3283,7 @@ dependencies = [ [[package]] name = "pegboard-actor-kv" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "futures-util", @@ -3301,7 +3301,7 @@ dependencies = [ [[package]] name = "pegboard-gateway" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-trait", @@ -3326,7 +3326,7 @@ dependencies = [ [[package]] name = "pegboard-runner-ws" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "gasoline", @@ -3349,7 +3349,7 @@ dependencies = [ [[package]] name = "pegboard-serverless" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "epoxy", @@ -3366,7 +3366,7 @@ dependencies = [ [[package]] name = "pegboard-tunnel" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-trait", @@ -4077,7 +4077,7 @@ dependencies = [ [[package]] name = "rivet-api-builder" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "axum 0.8.4", @@ -4120,7 +4120,7 @@ dependencies = [ [[package]] name = "rivet-api-peer" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "axum 0.8.4", @@ -4148,7 +4148,7 @@ dependencies = [ [[package]] name = "rivet-api-public" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "axum 0.8.4", @@ -4178,7 +4178,7 @@ dependencies = [ [[package]] name = "rivet-api-types" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "gasoline", @@ -4193,7 +4193,7 @@ dependencies = [ [[package]] name = "rivet-api-util" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "axum 0.8.4", @@ -4213,7 +4213,7 @@ dependencies = [ [[package]] name = "rivet-bootstrap" -version = "25.6.1" +version = "25.7.0" dependencies = [ "epoxy", "gasoline", @@ -4229,7 +4229,7 @@ dependencies = [ [[package]] name = "rivet-cache" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "futures-util", @@ -4252,14 +4252,14 @@ dependencies = [ [[package]] name = "rivet-cache-result" -version = "25.6.1" +version = "25.7.0" dependencies = [ "rivet-util", ] [[package]] name = "rivet-config" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "config", @@ -4277,7 +4277,7 @@ dependencies = [ [[package]] name = "rivet-data" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "bare_gen", @@ -4295,7 +4295,7 @@ dependencies = [ [[package]] name = "rivet-dump-openapi" -version = "25.6.1" +version = "25.7.0" dependencies = [ "rivet-api-public", "serde_json", @@ -4304,7 +4304,7 @@ dependencies = [ [[package]] name = "rivet-engine" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "axum 0.8.4", @@ -4362,7 +4362,7 @@ dependencies = [ [[package]] name = "rivet-env" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "lazy_static", @@ -4372,7 +4372,7 @@ dependencies = [ [[package]] name = "rivet-error" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "indoc", @@ -4384,7 +4384,7 @@ dependencies = [ [[package]] name = "rivet-error-macros" -version = "25.6.1" +version = "25.7.0" dependencies = [ "indoc", "proc-macro2", @@ -4395,7 +4395,7 @@ dependencies = [ [[package]] name = "rivet-guard" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "axum 0.8.4", @@ -4437,7 +4437,7 @@ dependencies = [ [[package]] name = "rivet-guard-core" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-trait", @@ -4481,7 +4481,7 @@ dependencies = [ [[package]] name = "rivet-logs" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "chrono", @@ -4495,7 +4495,7 @@ dependencies = [ [[package]] name = "rivet-metrics" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "console-subscriber", @@ -4513,7 +4513,7 @@ dependencies = [ [[package]] name = "rivet-pools" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-nats", @@ -4546,7 +4546,7 @@ dependencies = [ [[package]] name = "rivet-runner-protocol" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "bare_gen", @@ -4565,7 +4565,7 @@ dependencies = [ [[package]] name = "rivet-runtime" -version = "25.6.1" +version = "25.7.0" dependencies = [ "console-subscriber", "lazy_static", @@ -4591,7 +4591,7 @@ dependencies = [ [[package]] name = "rivet-service-manager" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "chrono", @@ -4606,7 +4606,7 @@ dependencies = [ [[package]] name = "rivet-telemetry" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "rivet-config", @@ -4630,7 +4630,7 @@ dependencies = [ [[package]] name = "rivet-test-deps" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "futures-util", @@ -4648,7 +4648,7 @@ dependencies = [ [[package]] name = "rivet-test-deps-docker" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "portpicker", @@ -4661,7 +4661,7 @@ dependencies = [ [[package]] name = "rivet-tunnel-protocol" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "bare_gen", @@ -4678,7 +4678,7 @@ dependencies = [ [[package]] name = "rivet-types" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "gasoline", @@ -4694,7 +4694,7 @@ dependencies = [ [[package]] name = "rivet-ups-protocol" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "bare_gen", @@ -4711,7 +4711,7 @@ dependencies = [ [[package]] name = "rivet-util" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-trait", @@ -4740,7 +4740,7 @@ dependencies = [ [[package]] name = "rivet-util-id" -version = "25.6.1" +version = "25.7.0" dependencies = [ "serde", "thiserror 1.0.69", @@ -4751,7 +4751,7 @@ dependencies = [ [[package]] name = "rivet-workflow-worker" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "epoxy", @@ -6368,7 +6368,7 @@ checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "universaldb" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-trait", @@ -6395,7 +6395,7 @@ dependencies = [ [[package]] name = "universalpubsub" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "async-nats", @@ -6559,7 +6559,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "versioned-data-util" -version = "25.6.1" +version = "25.7.0" dependencies = [ "anyhow", "serde", diff --git a/Cargo.toml b/Cargo.toml index 4038eddd69..64962960d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "2" members = ["packages/common/api-builder","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-runner-ws","packages/core/pegboard-serverless","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/internal","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/bare_gen","sdks/rust/data","sdks/rust/epoxy-protocol","sdks/rust/runner-protocol","sdks/rust/tunnel-protocol","sdks/rust/ups-protocol"] [workspace.package] -version = "25.7.0" +version = "25.7.1" edition = "2024" authors = ["Rivet Gaming, LLC "] license = "Apache-2.0" diff --git a/docker/engine/linux-aarch64.Dockerfile b/docker/engine/linux-aarch64.Dockerfile index 4ba790a6a9..28eabff4ad 100644 --- a/docker/engine/linux-aarch64.Dockerfile +++ b/docker/engine/linux-aarch64.Dockerfile @@ -2,7 +2,7 @@ FROM rust:1.88.0 AS base ARG BUILD_FRONTEND=true -ARG VITE_APP_API_URL +ARG VITE_APP_API_URL=__SAME__ # Install dependencies RUN apt-get update && apt-get install -y \ diff --git a/docker/engine/linux-x86_64.Dockerfile b/docker/engine/linux-x86_64.Dockerfile index 9a5c382534..31675fb20f 100644 --- a/docker/engine/linux-x86_64.Dockerfile +++ b/docker/engine/linux-x86_64.Dockerfile @@ -2,7 +2,7 @@ FROM rust:1.88.0 AS base ARG BUILD_FRONTEND=true -ARG VITE_APP_API_URL +ARG VITE_APP_API_URL=__SAME__ # Install dependencies RUN apt-get update && apt-get install -y \ diff --git a/docker/engine/macos-aarch64.Dockerfile b/docker/engine/macos-aarch64.Dockerfile index e3bde5a4b8..4878a79236 100644 --- a/docker/engine/macos-aarch64.Dockerfile +++ b/docker/engine/macos-aarch64.Dockerfile @@ -2,7 +2,7 @@ FROM rust:1.88.0 AS base ARG BUILD_FRONTEND=true -ARG VITE_APP_API_URL +ARG VITE_APP_API_URL=__SAME__ # Install dependencies RUN apt-get update && apt-get install -y \ diff --git a/docker/engine/macos-x86_64.Dockerfile b/docker/engine/macos-x86_64.Dockerfile index 2e249121f8..fdd3b503e4 100644 --- a/docker/engine/macos-x86_64.Dockerfile +++ b/docker/engine/macos-x86_64.Dockerfile @@ -2,7 +2,7 @@ FROM rust:1.88.0 AS base ARG BUILD_FRONTEND=true -ARG VITE_APP_API_URL +ARG VITE_APP_API_URL=__SAME__ # Install dependencies RUN apt-get update && apt-get install -y \ diff --git a/docker/engine/windows.Dockerfile b/docker/engine/windows.Dockerfile index 5080593ba0..b5b1a68a9b 100644 --- a/docker/engine/windows.Dockerfile +++ b/docker/engine/windows.Dockerfile @@ -2,7 +2,7 @@ FROM rust:1.88.0 ARG BUILD_FRONTEND=true -ARG VITE_APP_API_URL +ARG VITE_APP_API_URL=__SAME__ # Install dependencies RUN apt-get update && apt-get install -y \ diff --git a/docker/universal/Dockerfile b/docker/universal/Dockerfile index 2f503584d7..1eed4a5272 100644 --- a/docker/universal/Dockerfile +++ b/docker/universal/Dockerfile @@ -8,7 +8,8 @@ FROM --platform=linux/amd64 rust:1.88.0-bookworm AS builder ARG TARGETARCH ARG BUILD_FRONTEND=false -ARG VITE_APP_API_URL +ARG CARGO_BUILD_MODE=debug +ARG VITE_APP_API_URL=__SAME__ ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update -y && \ @@ -65,10 +66,14 @@ RUN \ --mount=type=cache,target=/usr/local/cargo/registry,id=univseral-cargo-registry \ --mount=type=cache,target=/app/target,id=univseral-target \ --mount=type=cache,target=/root/.cache,id=universal-user-cache \ - RUSTFLAGS="--cfg tokio_unstable" cargo build --bin rivet-engine && \ + if [ "$CARGO_BUILD_MODE" = "release" ]; then \ + RUSTFLAGS="--cfg tokio_unstable" cargo build --bin rivet-engine --release; \ + else \ + RUSTFLAGS="--cfg tokio_unstable" cargo build --bin rivet-engine; \ + fi && \ # cargo install --locked tokio-console && \ mkdir /app/dist/ && \ - cp target/debug/rivet-engine /app/dist/ + cp target/$CARGO_BUILD_MODE/rivet-engine /app/dist/ # MARK: Engine (full, base) FROM --platform=linux/amd64 debian:12.9-slim AS engine-full-base @@ -78,23 +83,13 @@ ARG TARGETARCH ENV DEBIAN_FRONTEND=noninteractive # - Install curl for health checks -# - Install go-migrate for running migrations -# - Install database clients to be able to run `rivet db shell ...` (Redis, Postgres, ClickHouse) RUN apt-get update -y && \ apt-get install -y \ ca-certificates \ openssl \ curl \ - # redis-tools \ - # postgresql-client \ gpg \ dirmngr && \ - # curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg && \ - # echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | tee /etc/apt/sources.list.d/clickhouse.list && \ - # apt-get update -y && \ - # apt-get install -y clickhouse-client && \ - # (curl -L https://github.com/golang-migrate/migrate/releases/download/v4.18.1/migrate.linux-amd64.tar.gz | tar xvz) && \ - # mv migrate /usr/local/bin/migrate && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ if [ "$TARGETARCH" = "arm64" ]; then \ @@ -106,7 +101,7 @@ RUN apt-get update -y && \ # MARK: Engine (Full) FROM --platform=linux/amd64 engine-full-base AS engine-full -LABEL org.opencontainers.image.source https://github.com/rivet-gg/rivet +LABEL org.opencontainers.image.source=https://github.com/rivet-gg/rivet COPY --from=builder /app/dist/rivet-engine /usr/bin/rivet-engine diff --git a/frontend/.env b/frontend/.env index 04d5e84ed2..43f338cc7f 100644 --- a/frontend/.env +++ b/frontend/.env @@ -5,6 +5,7 @@ VITE_APP_SENTRY_PROJECT_ID="4506435887366144" # This is a public-facing token, safe to commit to repo VITE_APP_POSTHOG_API_KEY=phc_6kfTNEAVw7rn1LA51cO3D69FefbKupSWFaM7OUgEpEo VITE_APP_POSTHOG_HOST=https://ph.rivet.gg +VITE_APP_CLOUD_API_URL=https://cloud.rivet.gg/api # Overridden in CI SENTRY_AUTH_TOKEN= diff --git a/frontend/package.json b/frontend/package.json index a14cda778a..1270cf67d0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -7,13 +7,19 @@ "dev": "pnpm run '/^dev:.*/'", "dev:inspector": "vite --config vite.inspector.config.ts", "dev:engine": "vite --config vite.engine.config.ts", + "dev:cloud": "vite --config vite.cloud.config.ts", "ts-check": "tsc --noEmit", "build:inspector": "vite build --mode=production --config vite.inspector.config.ts", "build:engine": "vite build --mode=production --config vite.engine.config.ts", + "build:cloud": "vite build --mode=production --config vite.cloud.config.ts", "preview:inspector": "vite preview --config vite.inspector.config.ts", - "preview:engine": "vite preview --config vite.engine.config.ts" + "preview:engine": "vite preview --config vite.engine.config.ts", + "preview:cloud": "vite preview --config vite.cloud.config.ts" }, "dependencies": { + "@clerk/clerk-js": "^5.91.2", + "@clerk/clerk-react": "^5.46.1", + "@clerk/themes": "^2.4.17", "@codemirror/commands": "^6.8.1", "@codemirror/lang-javascript": "^6.2.2", "@codemirror/lang-json": "^6.0.1", @@ -48,6 +54,7 @@ "@radix-ui/react-toggle-group": "^1.1.1", "@radix-ui/react-tooltip": "^1.1.1", "@radix-ui/react-visually-hidden": "^1.0.3", + "@rivet-gg/cloud": "file:./vendor/rivet-cloud.tgz", "@rivet-gg/icons": "file:./vendor/rivet-icons.tgz", "@rivetkit/actor": "file:./vendor/rivetkit-actor.tgz", "@rivetkit/core": "file:./vendor/rivetkit-core.tgz", @@ -109,6 +116,7 @@ "tailwind-merge": "^2.2.2", "tailwindcss": "^3.4.1", "tailwindcss-animate": "^1.0.7", + "ts-pattern": "^5.8.0", "typescript": "^5.5.4", "usehooks-ts": "^3.1.0", "vite": "^5.2.0", diff --git a/frontend/packages/components/package.json b/frontend/packages/components/package.json index 5a7ab350f9..db5cfb2afd 100644 --- a/frontend/packages/components/package.json +++ b/frontend/packages/components/package.json @@ -1,7 +1,7 @@ { "name": "@rivet-gg/components", "private": true, - "version": "25.7.0", + "version": "25.7.1", "type": "module", "files": [ "dist", diff --git a/frontend/packages/icons/package.json b/frontend/packages/icons/package.json index 6d2e8cbbd4..93b1621b28 100644 --- a/frontend/packages/icons/package.json +++ b/frontend/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@rivet-gg/icons", - "version": "25.7.0", + "version": "25.7.1", "sideEffects": false, "files": [ "scripts", diff --git a/frontend/src/app/dialogs/create-project-dialog.tsx b/frontend/src/app/dialogs/create-project-dialog.tsx new file mode 100644 index 0000000000..d4cbb8a252 --- /dev/null +++ b/frontend/src/app/dialogs/create-project-dialog.tsx @@ -0,0 +1,60 @@ +import { useMutation, useQueryClient } from "@tanstack/react-query"; +import { useNavigate } from "@tanstack/react-router"; +import * as CreateProjectForm from "@/app/forms/create-project-form"; +import { DialogFooter, DialogHeader, DialogTitle, Flex } from "@/components"; +import { convertStringToId } from "@/lib/utils"; +import { + createProjectMutationOptions, + projectsQueryOptions, +} from "@/queries/manager-cloud"; +import { + managerClient, + namespacesQueryOptions, +} from "@/queries/manager-engine"; + +export default function CreateProjectDialogContent() { + const queryClient = useQueryClient(); + const navigate = useNavigate(); + + const { mutateAsync } = useMutation( + createProjectMutationOptions({ + onSuccess: async (values) => { + await queryClient.invalidateQueries({ + ...projectsQueryOptions(), + }); + navigate({ + to: "/orgs/$organization/projects/$project", + params: { + organization: values.organizationId, + project: values.name, + }, + }); + }, + }), + ); + + return ( + { + await mutateAsync({ + displayName: values.name, + nameId: values.slug || convertStringToId(values.name), + }); + }} + defaultValues={{ name: "", slug: "" }} + > + + Create New Project + + + + + + + + Create + + + + ); +} diff --git a/frontend/src/app/forms/create-project-form.tsx b/frontend/src/app/forms/create-project-form.tsx new file mode 100644 index 0000000000..29c968d342 --- /dev/null +++ b/frontend/src/app/forms/create-project-form.tsx @@ -0,0 +1,90 @@ +import { type UseFormReturn, useFormContext } from "react-hook-form"; +import z from "zod"; +import { + createSchemaForm, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, + Input, +} from "@/components"; +import { convertStringToId } from "@/lib/utils"; + +export const formSchema = z.object({ + name: z + .string() + .max(25) + .refine((value) => value.trim() !== "" && value.trim() === value, { + message: "Name cannot be empty or contain whitespaces", + }), + slug: z.string().max(25).optional(), +}); + +export type FormValues = z.infer; +export type SubmitHandler = ( + values: FormValues, + form: UseFormReturn, +) => Promise; + +const { Form, Submit, SetValue } = createSchemaForm(formSchema); +export { Form, Submit, SetValue }; + +export const Name = ({ className }: { className?: string }) => { + const { control } = useFormContext(); + return ( + ( + + Name + + + + + + )} + /> + ); +}; + +export const Slug = ({ className }: { className?: string }) => { + const { control, watch } = useFormContext(); + + const name = watch("name"); + + return ( + ( + + Slug + + { + const value = convertStringToId( + event.target.value, + ); + field.onChange({ target: { value } }); + }} + /> + + + + )} + /> + ); +}; diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index 75b8e78868..5b1964721b 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -1,14 +1,18 @@ +import { OrganizationSwitcher, useClerk } from "@clerk/clerk-react"; import { faArrowUpRight, - faCheck, faLink, faServer, faSpinnerThird, - faTriangleExclamation, Icon, } from "@rivet-gg/icons"; import { useQuery } from "@tanstack/react-query"; -import { Link, useMatchRoute, useNavigate } from "@tanstack/react-router"; +import { + Link, + useMatch, + useMatchRoute, + useNavigate, +} from "@tanstack/react-router"; import { type ComponentProps, createContext, @@ -22,8 +26,10 @@ import { useState, } from "react"; import type { ImperativePanelGroupHandle } from "react-resizable-panels"; +import { match } from "ts-pattern"; import { Button, + type ButtonProps, cn, DocsSheet, type ImperativePanelHandle, @@ -148,13 +154,25 @@ const Sidebar = ({ />
- {__APP_TYPE__ === "inspector" ? ( - - ) : null} - {__APP_TYPE__ === "engine" ? : null} - - - + {match(__APP_TYPE__) + .with("engine", () => ( + <> + + + + + + )) + .with("inspector", () => ( + <> + + + + + + )) + .with("cloud", () => ) + .exhaustive()}
@@ -233,7 +251,7 @@ const Footer = () => { export { Root, Main, Header, Footer, VisibleInFull, Sidebar }; -const Breadcrumbs = () => { +const Breadcrumbs = (): ReactNode => { const matchRoute = useMatchRoute(); const nsMatch = matchRoute({ to: "/ns/$namespace", @@ -333,14 +351,10 @@ const Subnav = () => { function HeaderLink({ icon, children, className, ...props }: HeaderLinkProps) { return ( - ); } -function ConnectionStatus() { +function ConnectionStatus(): ReactNode { const { endpoint, ...queries } = useManager(); const { setCredentials } = useInspectorCredentials(); const { isLoading, isError, isSuccess } = useQuery( @@ -406,4 +435,48 @@ function ConnectionStatus() {
); } + + return null; +} + +function CloudSidebar(): ReactNode { + const match = useMatch({ + from: "/_layout/orgs/$organization/", + shouldThrow: false, + }); + + const clerk = useClerk(); + return ( + <> + + + +
+ + Projects + + { + clerk.openUserProfile({ + __experimental_startPath: "/billing", + }); + }} + > + Billing + + { + clerk.openUserProfile(); + }} + > + Settings + +
+
+ + ); } diff --git a/frontend/src/app/use-dialog.tsx b/frontend/src/app/use-dialog.tsx index 1bafdb0e83..6ffb4e10d5 100644 --- a/frontend/src/app/use-dialog.tsx +++ b/frontend/src/app/use-dialog.tsx @@ -6,4 +6,8 @@ d.CreateNamespace = createDialogHook( import("@/app/dialogs/create-namespace-dialog"), ); +d.CreateProject = createDialogHook( + import("@/app/dialogs/create-project-dialog"), +); + export { d as useDialog }; diff --git a/frontend/src/components/header/header-link.tsx b/frontend/src/components/header/header-link.tsx index 8dfd50a1bc..60dccc87e1 100644 --- a/frontend/src/components/header/header-link.tsx +++ b/frontend/src/components/header/header-link.tsx @@ -29,10 +29,8 @@ export function HeaderLink({ icon ? : undefined } > - - {children} -
- + {children} +
); } diff --git a/frontend/src/lib/auth.ts b/frontend/src/lib/auth.ts new file mode 100644 index 0000000000..b28c4da01b --- /dev/null +++ b/frontend/src/lib/auth.ts @@ -0,0 +1,4 @@ +import { Clerk } from "@clerk/clerk-js"; +import { cloudEnv } from "./env"; + +export const clerk = new Clerk(cloudEnv().VITE_CLERK_PUBLISHABLE_KEY); diff --git a/frontend/src/lib/env.ts b/frontend/src/lib/env.ts new file mode 100644 index 0000000000..89dc93e950 --- /dev/null +++ b/frontend/src/lib/env.ts @@ -0,0 +1,9 @@ +import z from "zod"; + +export const cloudEnvSchema = z.object({ + VITE_APP_API_URL: z.string().url(), + VITE_APP_CLOUD_API_URL: z.string().url(), + VITE_CLERK_PUBLISHABLE_KEY: z.string(), +}); + +export const cloudEnv = () => cloudEnvSchema.parse(import.meta.env); diff --git a/frontend/src/queries/manager-cloud.ts b/frontend/src/queries/manager-cloud.ts new file mode 100644 index 0000000000..ffefdc0fec --- /dev/null +++ b/frontend/src/queries/manager-cloud.ts @@ -0,0 +1,443 @@ +import { + type Rivet as CloudRivet, + RivetClient as CloudRivetClient, +} from "@rivet-gg/cloud"; +import { ActorFeature } from "@rivetkit/core/inspector"; +import { type Rivet, RivetClient } from "@rivetkit/engine-api-full"; +import { + infiniteQueryOptions, + queryOptions, + skipToken, +} from "@tanstack/react-query"; +import z from "zod"; +import { getConfig } from "@/components"; +import type { + Actor, + ActorId, + CrashPolicy, + ManagerContext, +} from "@/components/actors"; +import { + ACTORS_PER_PAGE, + ActorQueryOptionsSchema, + createDefaultManagerContext, +} from "@/components/actors/manager-context"; +import { clerk } from "@/lib/auth"; +import { cloudEnv } from "@/lib/env"; + +const client = new RivetClient({ + baseUrl: () => getConfig().apiUrl, + environment: "", +}); + +const cloudClient = new CloudRivetClient({ + baseUrl: () => cloudEnv().VITE_APP_CLOUD_API_URL, + environment: "", + token: async () => { + console.log(await clerk.session?.getToken()); + return (await clerk.session?.getToken()) || ""; + }, +}); + +export { client as managerClient }; + +export const createCloudManagerContext = ({ + namespace, +}: { + namespace: string; +}) => { + const def = createDefaultManagerContext(); + return { + ...def, + features: { + canCreateActors: true, + canDeleteActors: true, + }, + managerStatusQueryOptions() { + return queryOptions({ + ...def.managerStatusQueryOptions(), + enabled: true, + queryFn: async () => { + return true; + }, + }); + }, + regionsQueryOptions() { + return infiniteQueryOptions({ + ...def.regionsQueryOptions(), + enabled: true, + queryFn: async () => { + const data = await client.datacenters.list(); + return { + regions: data.datacenters.map((dc) => ({ + id: dc.name, + name: dc.name, + })), + pagination: data.pagination, + }; + }, + }); + }, + regionQueryOptions(regionId: string) { + return queryOptions({ + ...def.regionQueryOptions(regionId), + queryKey: ["region", regionId], + queryFn: async ({ client }) => { + const regions = await client.ensureInfiniteQueryData( + this.regionsQueryOptions(), + ); + + for (const page of regions.pages) { + for (const region of page.regions) { + if (region.id === regionId) { + return region; + } + } + } + + throw new Error(`Region not found: ${regionId}`); + }, + }); + }, + actorQueryOptions(actorId) { + return queryOptions({ + ...def.actorQueryOptions(actorId), + queryKey: [namespace, "actor", actorId], + enabled: true, + queryFn: async ({ signal: abortSignal }) => { + const data = await client.actorsGet( + actorId, + { namespace }, + { abortSignal }, + ); + + return transformActor(data.actor); + }, + }); + }, + actorsQueryOptions(opts) { + return infiniteQueryOptions({ + ...def.actorsQueryOptions(opts), + queryKey: [namespace, "actors", opts], + enabled: true, + initialPageParam: undefined, + queryFn: async ({ + signal: abortSignal, + pageParam, + queryKey: [, , _opts], + }) => { + const { success, data: opts } = + ActorQueryOptionsSchema.safeParse(_opts || {}); + + if ( + (opts?.n?.length === 0 || !opts?.n) && + (opts?.filters?.id?.value?.length === 0 || + !opts?.filters?.id?.value || + opts?.filters.key?.value?.length === 0 || + !opts?.filters.key?.value) + ) { + // If there are no names specified, we can return an empty result + return { + actors: [], + pagination: { + cursor: undefined, + }, + }; + } + + const data = await client.actorsList( + { + namespace, + cursor: pageParam ?? undefined, + actorIds: opts?.filters?.id?.value?.join(","), + key: opts?.filters?.key?.value?.join(","), + includeDestroyed: + success && + (opts?.filters?.showDestroyed?.value.includes( + "true", + ) || + opts?.filters?.showDestroyed?.value.includes( + "1", + )), + limit: ACTORS_PER_PAGE, + name: opts?.filters?.id?.value + ? undefined + : opts?.n?.join(","), + }, + { abortSignal }, + ); + + return { + ...data, + pagination: { + cursor: data.pagination.cursor || null, + }, + actors: data.actors.map((actor) => + transformActor(actor), + ), + }; + }, + getNextPageParam: (lastPage) => { + if (lastPage.actors.length < ACTORS_PER_PAGE) { + return undefined; + } + return lastPage.pagination.cursor; + }, + }); + }, + buildsQueryOptions() { + return infiniteQueryOptions({ + ...def.buildsQueryOptions(), + queryKey: [namespace, "builds"], + enabled: true, + queryFn: async ({ signal: abortSignal, pageParam }) => { + const data = await client.actorsListNames( + { + namespace, + cursor: pageParam ?? undefined, + limit: ACTORS_PER_PAGE, + }, + { abortSignal }, + ); + + return { + pagination: data.pagination, + builds: Object.keys(data.names) + .sort() + .map((build) => ({ + id: build, + name: build, + })), + }; + }, + getNextPageParam: (lastPage) => { + if (lastPage.builds.length < ACTORS_PER_PAGE) { + return undefined; + } + return lastPage.pagination.cursor; + }, + }); + }, + createActorMutationOptions() { + return { + ...def.createActorMutationOptions(), + mutationKey: [namespace, "actors"], + mutationFn: async (data) => { + const response = await client.actorsCreate({ + namespace, + name: data.name, + key: data.key, + crashPolicy: data.crashPolicy, + runnerNameSelector: data.runnerNameSelector, + input: JSON.stringify(data.input), + }); + + return response.actor.actorId; + }, + onSuccess: () => {}, + }; + }, + actorDestroyMutationOptions(actorId) { + return { + ...def.actorDestroyMutationOptions(actorId), + mutationFn: async () => { + await client.actorsDelete(actorId); + }, + }; + }, + } satisfies ManagerContext; +}; + +export const NamespaceNameId = z.string().brand(); +export type NamespaceNameId = z.infer; + +export const projectsQueryOptions = ({ orgId }: { orgId: string }) => { + return infiniteQueryOptions({ + queryKey: [orgId, "projects"], + initialPageParam: undefined as string | undefined, + queryFn: async ({ signal: abortSignal, pageParam }) => { + const data = await cloudClient.projects.list( + { + cursor: pageParam ?? undefined, + limit: ACTORS_PER_PAGE, + }, + { + abortSignal, + }, + ); + return data; + }, + getNextPageParam: (lastPage) => { + if (lastPage.projects.length < ACTORS_PER_PAGE) { + return undefined; + } + return lastPage.pagination.cursor; + }, + select: (data) => data.pages.flatMap((page) => page.projects), + }); +}; + +export const runnersQueryOptions = (opts: { namespace: NamespaceNameId }) => { + return infiniteQueryOptions({ + queryKey: [opts.namespace, "runners"], + initialPageParam: undefined as string | undefined, + queryFn: async ({ pageParam, signal: abortSignal }) => { + const data = await client.runners.list( + { + namespace: opts.namespace, + cursor: pageParam ?? undefined, + limit: ACTORS_PER_PAGE, + }, + { abortSignal }, + ); + return data; + }, + getNextPageParam: (lastPage) => { + if (lastPage.runners.length < ACTORS_PER_PAGE) { + return undefined; + } + return lastPage.pagination.cursor; + }, + select: (data) => data.pages.flatMap((page) => page.runners), + }); +}; + +export const runnerQueryOptions = (opts: { + namespace: NamespaceNameId; + runnerId: string; +}) => { + return queryOptions({ + queryKey: [opts.namespace, "runner", opts.runnerId], + enabled: !!opts.runnerId, + queryFn: async ({ signal: abortSignal }) => { + const data = await client.runners.get( + opts.runnerId, + { namespace: opts.namespace }, + { + abortSignal, + }, + ); + return data.runner; + }, + }); +}; + +export const runnerNamesQueryOptions = (opts: { + namespace: NamespaceNameId; +}) => { + return infiniteQueryOptions({ + queryKey: [opts.namespace, "runner", "names"], + initialPageParam: undefined as string | undefined, + queryFn: async ({ signal: abortSignal, pageParam }) => { + const data = await client.runners.listNames( + { + namespace: opts.namespace, + cursor: pageParam ?? undefined, + limit: ACTORS_PER_PAGE, + }, + { + abortSignal, + }, + ); + return data; + }, + getNextPageParam: (lastPage) => { + if (lastPage.names.length < ACTORS_PER_PAGE) { + return undefined; + } + return lastPage.pagination.cursor; + }, + select: (data) => data.pages.flatMap((page) => page.names), + }); +}; + +export const namespacesQueryOptions = () => { + return infiniteQueryOptions({ + queryKey: ["namespaces"], + initialPageParam: undefined as string | undefined, + queryFn: async ({ pageParam, signal: abortSignal }) => { + const data = await client.namespaces.list( + { + limit: ACTORS_PER_PAGE, + cursor: pageParam ?? undefined, + }, + { abortSignal }, + ); + return data; + }, + getNextPageParam: (lastPage) => { + if (lastPage.namespaces.length < ACTORS_PER_PAGE) { + return undefined; + } + return lastPage.pagination.cursor; + }, + select: (data) => data.pages.flatMap((page) => page.namespaces), + }); +}; + +export const namespaceQueryOptions = ( + namespace: NamespaceNameId | undefined, +) => { + return queryOptions({ + queryKey: ["namespace", namespace], + enabled: !!namespace, + queryFn: namespace + ? async ({ signal: abortSignal }) => { + const data = await client.namespaces.get(namespace, { + abortSignal, + }); + return data.namespace; + } + : skipToken, + }); +}; + +function transformActor(a: Rivet.Actor): Actor { + return { + id: a.actorId as ActorId, + name: a.name, + key: a.key ? a.key : undefined, + connectableAt: a.connectableTs + ? new Date(a.connectableTs).toISOString() + : undefined, + region: a.datacenter, + createdAt: new Date(a.createTs).toISOString(), + startedAt: a.startTs ? new Date(a.startTs).toISOString() : undefined, + destroyedAt: a.destroyTs + ? new Date(a.destroyTs).toISOString() + : undefined, + sleepingAt: a.sleepTs ? new Date(a.sleepTs).toISOString() : undefined, + pendingAllocationAt: a.pendingAllocationTs + ? new Date(a.pendingAllocationTs).toISOString() + : undefined, + crashPolicy: a.crashPolicy as CrashPolicy, + runner: a.runnerNameSelector, + features: [ + ActorFeature.Config, + ActorFeature.Connections, + ActorFeature.State, + ActorFeature.Console, + ActorFeature.Database, + ActorFeature.EventsMonitoring, + ], + }; +} + +export function createProjectMutationOptions({ + onSuccess, +}: { + onSuccess?: (data: CloudRivet.Project) => void; +} = {}) { + return { + mutationKey: ["projects"], + mutationFn: async (data: { displayName: string; nameId: string }) => { + const response = await cloudClient.projects.create({ + displayName: data.displayName, + name: data.nameId, + }); + + return response; + }, + onSuccess, + }; +} diff --git a/frontend/src/routeTree.gen.ts b/frontend/src/routeTree.gen.ts index 3f8bd2201b..56afa0cb05 100644 --- a/frontend/src/routeTree.gen.ts +++ b/frontend/src/routeTree.gen.ts @@ -13,8 +13,10 @@ import { Route as LayoutRouteImport } from './routes/_layout' import { Route as LayoutIndexRouteImport } from './routes/_layout/index' import { Route as LayoutNamespacesRouteImport } from './routes/_layout/namespaces' import { Route as LayoutNsNamespaceRouteImport } from './routes/_layout/ns.$namespace' +import { Route as LayoutOrgsOrganizationIndexRouteImport } from './routes/_layout/orgs.$organization/index' import { Route as LayoutNsNamespaceIndexRouteImport } from './routes/_layout/ns.$namespace/index' import { Route as LayoutNsNamespaceRunnersRouteImport } from './routes/_layout/ns.$namespace/runners' +import { Route as LayoutOrgsOrganizationProjectsProjectIndexRouteImport } from './routes/_layout/orgs.$organization/projects.$project/index' const LayoutRoute = LayoutRouteImport.update({ id: '/_layout', @@ -35,6 +37,12 @@ const LayoutNsNamespaceRoute = LayoutNsNamespaceRouteImport.update({ path: '/ns/$namespace', getParentRoute: () => LayoutRoute, } as any) +const LayoutOrgsOrganizationIndexRoute = + LayoutOrgsOrganizationIndexRouteImport.update({ + id: '/orgs/$organization/', + path: '/orgs/$organization/', + getParentRoute: () => LayoutRoute, + } as any) const LayoutNsNamespaceIndexRoute = LayoutNsNamespaceIndexRouteImport.update({ id: '/', path: '/', @@ -46,6 +54,12 @@ const LayoutNsNamespaceRunnersRoute = path: '/runners', getParentRoute: () => LayoutNsNamespaceRoute, } as any) +const LayoutOrgsOrganizationProjectsProjectIndexRoute = + LayoutOrgsOrganizationProjectsProjectIndexRouteImport.update({ + id: '/orgs/$organization/projects/$project/', + path: '/orgs/$organization/projects/$project/', + getParentRoute: () => LayoutRoute, + } as any) export interface FileRoutesByFullPath { '/namespaces': typeof LayoutNamespacesRoute @@ -53,12 +67,16 @@ export interface FileRoutesByFullPath { '/ns/$namespace': typeof LayoutNsNamespaceRouteWithChildren '/ns/$namespace/runners': typeof LayoutNsNamespaceRunnersRoute '/ns/$namespace/': typeof LayoutNsNamespaceIndexRoute + '/orgs/$organization': typeof LayoutOrgsOrganizationIndexRoute + '/orgs/$organization/projects/$project': typeof LayoutOrgsOrganizationProjectsProjectIndexRoute } export interface FileRoutesByTo { '/namespaces': typeof LayoutNamespacesRoute '/': typeof LayoutIndexRoute '/ns/$namespace/runners': typeof LayoutNsNamespaceRunnersRoute '/ns/$namespace': typeof LayoutNsNamespaceIndexRoute + '/orgs/$organization': typeof LayoutOrgsOrganizationIndexRoute + '/orgs/$organization/projects/$project': typeof LayoutOrgsOrganizationProjectsProjectIndexRoute } export interface FileRoutesById { __root__: typeof rootRouteImport @@ -68,6 +86,8 @@ export interface FileRoutesById { '/_layout/ns/$namespace': typeof LayoutNsNamespaceRouteWithChildren '/_layout/ns/$namespace/runners': typeof LayoutNsNamespaceRunnersRoute '/_layout/ns/$namespace/': typeof LayoutNsNamespaceIndexRoute + '/_layout/orgs/$organization/': typeof LayoutOrgsOrganizationIndexRoute + '/_layout/orgs/$organization/projects/$project/': typeof LayoutOrgsOrganizationProjectsProjectIndexRoute } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath @@ -77,8 +97,16 @@ export interface FileRouteTypes { | '/ns/$namespace' | '/ns/$namespace/runners' | '/ns/$namespace/' + | '/orgs/$organization' + | '/orgs/$organization/projects/$project' fileRoutesByTo: FileRoutesByTo - to: '/namespaces' | '/' | '/ns/$namespace/runners' | '/ns/$namespace' + to: + | '/namespaces' + | '/' + | '/ns/$namespace/runners' + | '/ns/$namespace' + | '/orgs/$organization' + | '/orgs/$organization/projects/$project' id: | '__root__' | '/_layout' @@ -87,6 +115,8 @@ export interface FileRouteTypes { | '/_layout/ns/$namespace' | '/_layout/ns/$namespace/runners' | '/_layout/ns/$namespace/' + | '/_layout/orgs/$organization/' + | '/_layout/orgs/$organization/projects/$project/' fileRoutesById: FileRoutesById } export interface RootRouteChildren { @@ -123,6 +153,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof LayoutNsNamespaceRouteImport parentRoute: typeof LayoutRoute } + '/_layout/orgs/$organization/': { + id: '/_layout/orgs/$organization/' + path: '/orgs/$organization' + fullPath: '/orgs/$organization' + preLoaderRoute: typeof LayoutOrgsOrganizationIndexRouteImport + parentRoute: typeof LayoutRoute + } '/_layout/ns/$namespace/': { id: '/_layout/ns/$namespace/' path: '/' @@ -137,6 +174,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof LayoutNsNamespaceRunnersRouteImport parentRoute: typeof LayoutNsNamespaceRoute } + '/_layout/orgs/$organization/projects/$project/': { + id: '/_layout/orgs/$organization/projects/$project/' + path: '/orgs/$organization/projects/$project' + fullPath: '/orgs/$organization/projects/$project' + preLoaderRoute: typeof LayoutOrgsOrganizationProjectsProjectIndexRouteImport + parentRoute: typeof LayoutRoute + } } } @@ -157,12 +201,17 @@ interface LayoutRouteChildren { LayoutNamespacesRoute: typeof LayoutNamespacesRoute LayoutIndexRoute: typeof LayoutIndexRoute LayoutNsNamespaceRoute: typeof LayoutNsNamespaceRouteWithChildren + LayoutOrgsOrganizationIndexRoute: typeof LayoutOrgsOrganizationIndexRoute + LayoutOrgsOrganizationProjectsProjectIndexRoute: typeof LayoutOrgsOrganizationProjectsProjectIndexRoute } const LayoutRouteChildren: LayoutRouteChildren = { LayoutNamespacesRoute: LayoutNamespacesRoute, LayoutIndexRoute: LayoutIndexRoute, LayoutNsNamespaceRoute: LayoutNsNamespaceRouteWithChildren, + LayoutOrgsOrganizationIndexRoute: LayoutOrgsOrganizationIndexRoute, + LayoutOrgsOrganizationProjectsProjectIndexRoute: + LayoutOrgsOrganizationProjectsProjectIndexRoute, } const LayoutRouteWithChildren = diff --git a/frontend/src/routes/__root.tsx b/frontend/src/routes/__root.tsx index ff40ffae0f..5f05b309cb 100644 --- a/frontend/src/routes/__root.tsx +++ b/frontend/src/routes/__root.tsx @@ -1,6 +1,10 @@ +import { ClerkProvider } from "@clerk/clerk-react"; +import { dark } from "@clerk/themes"; import { createRootRouteWithContext, Outlet } from "@tanstack/react-router"; import { TanStackRouterDevtools } from "@tanstack/react-router-devtools"; +import { match } from "ts-pattern"; import { FullscreenLoading } from "@/components"; +import { clerk } from "@/lib/auth"; function RootRoute() { return ( @@ -13,8 +17,28 @@ function RootRoute() { ); } +function CloudRootRoute() { + const PUBLISHABLE_KEY = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY; + + if (!PUBLISHABLE_KEY) { + throw new Error("Add your Clerk Publishable Key to the .env file"); + } + + return ( + + + + ); +} + export const Route = createRootRouteWithContext()({ - component: RootRoute, + component: match(__APP_TYPE__) + .with("cloud", () => CloudRootRoute) + .otherwise(() => RootRoute), pendingComponent: FullscreenLoading, wrapInSuspense: true, }); diff --git a/frontend/src/routes/_layout.tsx b/frontend/src/routes/_layout.tsx index e2fefa900c..c84ec1adb0 100644 --- a/frontend/src/routes/_layout.tsx +++ b/frontend/src/routes/_layout.tsx @@ -1,6 +1,19 @@ +import { + SignedIn, + SignedOut, + SignInButton, + useOrganization, +} from "@clerk/clerk-react"; import { faNodeJs, faReact, Icon } from "@rivet-gg/icons"; -import { createFileRoute, Outlet, useMatch } from "@tanstack/react-router"; +import { + createFileRoute, + Navigate, + Outlet, + useMatch, + useNavigate, +} from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; +import { C } from "node_modules/@clerk/clerk-react/dist/useAuth-BVxIa9U7.mjs"; import { usePostHog } from "posthog-js/react"; import { type ComponentProps, @@ -12,6 +25,7 @@ import { useRef, useState, } from "react"; +import { match } from "ts-pattern"; import z from "zod"; import { type InspectorCredentials, @@ -30,12 +44,10 @@ import { H1, type ImperativePanelHandle, } from "@/components"; -import { ActorProvider, ManagerProvider } from "@/components/actors"; +import { ManagerProvider } from "@/components/actors"; import { RootLayoutContextProvider } from "@/components/actors/root-layout-context"; import { ConnectionForm } from "@/components/connection-form"; import { docsLinks } from "@/content/data"; -import { createEngineActorContext } from "@/queries/actor-engine"; -import { createInspectorActorContext } from "@/queries/actor-inspector"; import { createEngineManagerContext, type NamespaceNameId, @@ -62,7 +74,9 @@ const searchSchema = z export const Route = createFileRoute("/_layout")({ validateSearch: zodValidator(searchSchema), - component: RouteComponent, + component: match(__APP_TYPE__) + .with("cloud", () => CloudRouteComponent) + .otherwise(() => RouteComponent), }); function RouteComponent() { @@ -386,3 +400,60 @@ function Connect({
); } + +function CloudRouteComponent() { + return ( + <> + + + + + + + + + + ); +} + +function NavigateToLatestOrganization() { + const { isLoaded, organization } = useOrganization(); + + if (!isLoaded || !organization) { + return null; + } + + return ( + + ); +} + +function CloudModals() { + const navigate = useNavigate(); + const search = Route.useSearch(); + + const CreateProjectDialog = useDialog.CreateProject.Dialog; + return ( + <> + { + if (!value) { + navigate({ + to: ".", + search: (old) => ({ + ...old, + modal: undefined, + }), + }); + } + }, + }} + /> + + ); +} diff --git a/frontend/src/routes/_layout/index.tsx b/frontend/src/routes/_layout/index.tsx index a3be56d54f..fcbcc5e670 100644 --- a/frontend/src/routes/_layout/index.tsx +++ b/frontend/src/routes/_layout/index.tsx @@ -1,13 +1,17 @@ +import { useOrganization } from "@clerk/clerk-react"; import { useSuspenseInfiniteQuery } from "@tanstack/react-query"; import { createFileRoute, Navigate } from "@tanstack/react-router"; +import { match } from "ts-pattern"; import { Card, CardContent, CardHeader, CardTitle } from "@/components"; import { namespacesQueryOptions } from "@/queries/manager-engine"; - import { RouteComponent as NamespaceRouteComponent } from "./ns.$namespace/index"; export const Route = createFileRoute("/_layout/")({ - component: - __APP_TYPE__ === "engine" ? RouteComponent : NamespaceRouteComponent, + component: match(__APP_TYPE__) + .with("engine", () => RouteComponent) + .with("inspector", () => NamespaceRouteComponent) + .with("cloud", () => () => CloudRouteComponent) + .exhaustive(), }); function RouteComponent() { @@ -40,3 +44,18 @@ function RouteComponent() { /> ); } + +function CloudRouteComponent() { + const { isLoaded, organization } = useOrganization(); + + if (!isLoaded || !organization) { + return null; + } + + return ( + + ); +} diff --git a/frontend/src/routes/_layout/orgs.$organization/index.tsx b/frontend/src/routes/_layout/orgs.$organization/index.tsx new file mode 100644 index 0000000000..48e7692d14 --- /dev/null +++ b/frontend/src/routes/_layout/orgs.$organization/index.tsx @@ -0,0 +1,128 @@ +import type { Rivet } from "@rivet-gg/cloud"; +import { faChevronRight, faRefresh, Icon } from "@rivet-gg/icons"; +import { useInfiniteQuery } from "@tanstack/react-query"; +import { createFileRoute, Link, notFound } from "@tanstack/react-router"; +import { match } from "ts-pattern"; +import { Button, H1, Skeleton, Text, WithTooltip } from "@/components"; +import { VisibilitySensor } from "@/components/visibility-sensor"; +import { projectsQueryOptions } from "@/queries/manager-cloud"; + +export const Route = createFileRoute("/_layout/orgs/$organization/")({ + component: match(__APP_TYPE__) + .with("cloud", () => RouteComponent) + .otherwise(() => { + throw notFound(); + }), +}); + +function RouteComponent() { + const { organization } = Route.useParams(); + const { + data: projects, + isRefetching, + isSuccess, + hasNextPage, + fetchNextPage, + isFetchingNextPage, + isLoading, + refetch, + } = useInfiniteQuery(projectsQueryOptions({ orgId: organization })); + + return ( +
+
+

Projects

+
+ refetch()} + > + + + } + /> +
+
+ +
+ +
+
+
+ {isSuccess + ? projects.map((project) => ( + + )) + : null} + + ({ + ...old, + modal: "create-project", + })} + > +
+ + + Create New + + + +
+ + + {hasNextPage ? ( + + ) : null} + + {isLoading || isFetchingNextPage ? ( + <> + + + + + + + + ) : null} +
+
+
+
+ ); +} + +function TileSkeleton() { + return ( +
+ + + +
+ ); +} + +function Row(project: Rivet.Project) { + const { organization } = Route.useParams(); + return ( + + + {project.name} + + + View + + + + ); +} diff --git a/frontend/src/routes/_layout/orgs.$organization/projects.$project/index.tsx b/frontend/src/routes/_layout/orgs.$organization/projects.$project/index.tsx new file mode 100644 index 0000000000..be2d7e01c1 --- /dev/null +++ b/frontend/src/routes/_layout/orgs.$organization/projects.$project/index.tsx @@ -0,0 +1,129 @@ +import type { Rivet } from "@rivet-gg/cloud"; +import { + faAdd, + faArrowRight, + faChevronRight, + faRefresh, + Icon, +} from "@rivet-gg/icons"; +import { useInfiniteQuery } from "@tanstack/react-query"; +import { createFileRoute, Link, notFound } from "@tanstack/react-router"; +import { match } from "ts-pattern"; +import { Button, H1, Skeleton, Text, WithTooltip } from "@/components"; +import { VisibilitySensor } from "@/components/visibility-sensor"; +import { projectsQueryOptions } from "@/queries/manager-cloud"; + +export const Route = createFileRoute( + "/_layout/orgs/$organization/projects/$project/", +)({ + component: match(__APP_TYPE__) + .with("cloud", () => RouteComponent) + .otherwise(() => { + throw notFound(); + }), +}); + +function RouteComponent() { + const { + data: projects, + isRefetching, + isSuccess, + hasNextPage, + fetchNextPage, + isFetchingNextPage, + isLoading, + isError, + refetch, + } = useInfiniteQuery(projectsQueryOptions()); + + return ( +
+
+

Projects

+
+ refetch()} + > + + + } + /> +
+
+ +
+ +
+
+
+ {isSuccess + ? projects.map((project) => ( + + )) + : null} + + ({ + ...old, + modal: "create-project", + })} + > +
+ + + Create New Project + + + +
+ + + {hasNextPage ? ( + + ) : null} + + {isLoading || isFetchingNextPage ? ( + <> + + + + + + + + ) : null} +
+
+
+
+ ); +} + +function TileSkeleton() { + return ( +
+ + + +
+ ); +} + +function Row(project: Rivet.Project) { + return ( +
+ {project.name} + {/* + {project.} + */} + +
+ ); +} diff --git a/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts index 7513f0c6b4..bf31e308a8 100644 --- a/frontend/src/vite-env.d.ts +++ b/frontend/src/vite-env.d.ts @@ -1,4 +1,4 @@ /// declare const __APP_BUILD_ID__: string; -declare const __APP_TYPE__: "engine" | "inspector"; +declare const __APP_TYPE__: "engine" | "inspector" | "cloud"; diff --git a/frontend/vendor/rivet-cloud.tgz b/frontend/vendor/rivet-cloud.tgz new file mode 100644 index 0000000000..4f0118347a --- /dev/null +++ b/frontend/vendor/rivet-cloud.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a057b5bfc514b5f078d61eb5523cc61771617d2348ab57c7fc2d719731b5838c +size 176433 diff --git a/frontend/vite.cloud.config.ts b/frontend/vite.cloud.config.ts new file mode 100644 index 0000000000..6def6f2ef7 --- /dev/null +++ b/frontend/vite.cloud.config.ts @@ -0,0 +1,25 @@ +import { defineConfig, loadEnv, mergeConfig } from "vite"; +import { cloudEnvSchema } from "./src/lib/env"; +import engineConfig from "./vite.engine.config"; + +// https://vitejs.dev/config/ +export default defineConfig((config) => { + const env = loadEnv(config.mode, process.cwd(), ""); + cloudEnvSchema.parse(env); + return mergeConfig( + engineConfig(config), + defineConfig({ + base: "/", + define: { + __APP_TYPE__: JSON.stringify("cloud"), + }, + server: { + port: 43710, + proxy: {}, + }, + preview: { + port: 43710, + }, + }), + ); +}); diff --git a/out/openapi.json b/out/openapi.json index 536842850a..a18d724e20 100644 --- a/out/openapi.json +++ b/out/openapi.json @@ -11,7 +11,7 @@ "name": "Apache-2.0", "identifier": "Apache-2.0" }, - "version": "25.6.1" + "version": "25.7.0" }, "paths": { "/actors": { @@ -1470,7 +1470,58 @@ "additionalProperties": false }, "RunnerConfigsUpsertRequest": { - "$ref": "#/components/schemas/RunnerConfig" + "oneOf": [ + { + "type": "object", + "required": [ + "serverless" + ], + "properties": { + "serverless": { + "type": "object", + "required": [ + "url", + "request_lifespan", + "slots_per_runner", + "min_runners", + "max_runners", + "runners_margin" + ], + "properties": { + "max_runners": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "min_runners": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "request_lifespan": { + "type": "integer", + "format": "int32", + "description": "Seconds.", + "minimum": 0 + }, + "runners_margin": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "slots_per_runner": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "url": { + "type": "string" + } + } + } + } + } + ] }, "RunnerConfigsUpsertResponse": { "type": "object" diff --git a/packages/core/api-peer/src/runner_configs.rs b/packages/core/api-peer/src/runner_configs.rs index 0a83b32bb8..c7ef6667c7 100644 --- a/packages/core/api-peer/src/runner_configs.rs +++ b/packages/core/api-peer/src/runner_configs.rs @@ -114,7 +114,7 @@ pub struct UpsertPath { #[derive(Deserialize, Serialize, ToSchema)] #[serde(deny_unknown_fields)] #[schema(as = RunnerConfigsUpsertRequest)] -pub struct UpsertRequest(namespace::types::RunnerConfig); +pub struct UpsertRequest(#[schema(inline)] namespace::types::RunnerConfig); #[derive(Deserialize, Serialize, ToSchema)] #[schema(as = RunnerConfigsUpsertResponse)] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 61acbd9831..cdf4a3929e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,6 +48,15 @@ importers: frontend: dependencies: + '@clerk/clerk-js': + specifier: ^5.91.2 + version: 5.91.2(@types/react@18.3.23)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.8.2)(use-sync-external-store@1.5.0(react@19.1.1))(zod@3.25.76) + '@clerk/clerk-react': + specifier: ^5.46.1 + version: 5.46.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@clerk/themes': + specifier: ^2.4.17 + version: 2.4.17 '@codemirror/commands': specifier: ^6.8.1 version: 6.8.1 @@ -150,9 +159,12 @@ importers: '@radix-ui/react-visually-hidden': specifier: ^1.0.3 version: 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@rivet-gg/cloud': + specifier: file:./vendor/rivet-cloud.tgz + version: file:frontend/vendor/rivet-cloud.tgz '@rivet-gg/icons': specifier: file:./vendor/rivet-icons.tgz - version: file:frontend/vendor/rivet-icons.tgz(@fortawesome/fontawesome-svg-core@6.7.2)(@fortawesome/free-brands-svg-icons@6.7.2)(@fortawesome/free-solid-svg-icons@6.7.2)(@fortawesome/react-fontawesome@0.2.3(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.1.1))(@types/node@20.19.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(terser@5.43.1) + version: file:frontend/vendor/rivet-icons.tgz(@fortawesome/fontawesome-svg-core@6.7.2)(@fortawesome/free-brands-svg-icons@6.7.2)(@fortawesome/free-solid-svg-icons@6.7.2)(@fortawesome/react-fontawesome@0.2.3(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.1.1))(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(terser@5.43.1) '@rivetkit/actor': specifier: file:./vendor/rivetkit-actor.tgz version: file:frontend/vendor/rivetkit-actor.tgz(@rivetkit/core@file:frontend/vendor/rivetkit-core.tgz(@hono/node-server@1.18.2(hono@4.8.12))(@standard-schema/spec@1.0.0)(ws@8.18.3)) @@ -333,6 +345,9 @@ importers: tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.17) + ts-pattern: + specifier: ^5.8.0 + version: 5.8.0 typescript: specifier: ^5.5.4 version: 5.8.2 @@ -585,7 +600,7 @@ importers: version: 0.2.3(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.1.1) dedent: specifier: ^1.5.3 - version: 1.6.0 + version: 1.6.0(babel-plugin-macros@3.1.0) local-pkg: specifier: ^0.5.0 version: 0.5.1 @@ -829,7 +844,7 @@ importers: version: 15.5.2(@mdx-js/loader@3.1.1(webpack@5.101.3(esbuild@0.25.8)))(@mdx-js/react@3.1.1(@types/react@18.3.23)(react@19.1.1)) '@next/third-parties': specifier: latest - version: 15.5.2(next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) + version: 15.5.2(next@15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) '@rivet-gg/api': specifier: ^0.0.1-rc19 version: 0.0.1-rc8 @@ -877,7 +892,7 @@ importers: version: 3.6.0 dedent: specifier: ^1.5.3 - version: 1.6.0 + version: 1.6.0(babel-plugin-macros@3.1.0) esast-util-from-js: specifier: ^2.0.1 version: 2.0.1 @@ -910,13 +925,13 @@ importers: version: 0.1.4 next: specifier: ^15.2.4 - version: 15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + version: 15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) next-router-mock: specifier: ^0.9.7 - version: 0.9.13(next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) + version: 0.9.13(next@15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) next-sitemap: specifier: ^4.2.3 - version: 4.2.3(next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)) + version: 4.2.3(next@15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)) postcss: specifier: ^8.4.24 version: 8.5.6 @@ -1035,6 +1050,9 @@ importers: packages: + '@adraffy/ens-normalize@1.11.0': + resolution: {integrity: sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==} + '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -1204,6 +1222,9 @@ packages: peerDependencies: '@bare-ts/lib': '>=0.3.0 <=0.4.0' + '@base-org/account@2.0.1': + resolution: {integrity: sha512-tySVNx+vd6XEynZL0uvB10uKiwnAfThr8AbKTwILVG86mPbLAhEOInQIk+uDnvpTvfdUhC1Bi5T/46JvFoLZQQ==} + '@biomejs/biome@2.1.4': resolution: {integrity: sha512-QWlrqyxsU0FCebuMnkvBIkxvPqH89afiJzjMl+z67ybutse590jgeaFdDurE9XYtzpjRGTI1tlUZPGWmbKsElA==} engines: {node: '>=14.21.3'} @@ -1287,6 +1308,44 @@ packages: cpu: [x64] os: [win32] + '@clerk/clerk-js@5.91.2': + resolution: {integrity: sha512-6oqaLGo9dLXBginLoQwLtKsZwaayvHIbGgl5CQr6wPMSxrUai7DxAGwZCfE7CvqsRzJrn6cvUGSH00lnU2fMGA==} + engines: {node: '>=18.17.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-0 + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-0 + + '@clerk/clerk-react@5.46.1': + resolution: {integrity: sha512-vKtIU3SHfIfsPFcLlw+I+El3VxN/io2aekGzAP7cKoClRPB4bE8GKsLvLIA326ff7yTDnvyrdxfEFY4ieyq5zg==} + engines: {node: '>=18.17.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-0 + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-0 + + '@clerk/localizations@3.24.2': + resolution: {integrity: sha512-ElOLHQJALrWbnRpdausIsdGMmRzHYjl0WxAfkaP+u+NSk/4rIlsNsdvMCSqktC5pZUIqvRGGKKLhNFrvO/gx+g==} + engines: {node: '>=18.17.0'} + + '@clerk/shared@3.24.1': + resolution: {integrity: sha512-9ZLSeQOejWKH+MdftUH4iBjvx1ilIvZPZqJ2YQDO1RkY3lT3DVj64zIHHMZpjQN7dw2MOsalD0sHIPlQhshT5A==} + engines: {node: '>=18.17.0'} + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-0 + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@clerk/themes@2.4.17': + resolution: {integrity: sha512-vTI2DYk9Dn20boDxXL35MpsmgXRQY8xSNlg1JxrXNMqzmRHhdqDNeeqlA5En+K6a/AY4rEO39ilxMgPG8knD/A==} + engines: {node: '>=18.17.0'} + + '@clerk/types@4.84.1': + resolution: {integrity: sha512-0lLz3u8u0Ot5ZUObU+8JJLOeiHHnruShJMeLAHNryp1d5zANPQquOyagamxbkoV1K2lAf8ld3liobs3EBzll6Q==} + engines: {node: '>=18.17.0'} + '@codemirror/autocomplete@6.18.6': resolution: {integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==} @@ -1320,6 +1379,9 @@ packages: '@codemirror/view@6.38.1': resolution: {integrity: sha512-RmTOkE7hRU3OVREqFVITWHz6ocgBjv08GoePscAakgVQfciA3SGCEk7mb9IzwW61cKKmlTpHXG6DUE5Ubx+MGQ==} + '@coinbase/wallet-sdk@4.3.0': + resolution: {integrity: sha512-T3+SNmiCw4HzDm4we9wCHCxlP0pqCiwKe4sOwPH3YAK2KSKjxPRydKu6UQJrdONFVLG7ujXvbd/6ZqmvJb8rkw==} + '@corex/deepmerge@4.0.43': resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==} @@ -1329,6 +1391,50 @@ packages: '@emnapi/runtime@1.4.5': resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + '@emotion/babel-plugin@11.13.5': + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} + + '@emotion/cache@11.11.0': + resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} + + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + + '@emotion/memoize@0.8.1': + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} + + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + + '@emotion/react@11.11.1': + resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.3.3': + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} + + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0': + resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/utils@1.4.2': + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} + + '@emotion/weak-memoize@0.3.1': + resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} + '@esbuild/aix-ppc64@0.19.12': resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} @@ -1783,9 +1889,18 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' + '@floating-ui/react@0.27.12': + resolution: {integrity: sha512-kKlWNrpIQxF1B/a2MZvE0/uyKby4960yjO91W7nVyNKmmfNi62xU9HCjL1M1eWzx/LFj/VPSwJVbwQk9Pq/68A==} + peerDependencies: + react: '>=17.0.0' + react-dom: '>=17.0.0' + '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@formkit/auto-animate@0.8.4': + resolution: {integrity: sha512-DHHC01EJ1p70Q0z/ZFRBIY8NDnmfKccQoyoM84Tgb6omLMat6jivCdf272Y8k3nf4Lzdin/Y4R9q8uFtU0GbnA==} + '@fortawesome/fontawesome-common-types@6.7.2': resolution: {integrity: sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==} engines: {node: '>=6'} @@ -2310,6 +2425,26 @@ packages: next: ^13.0.0 || ^14.0.0 || ^15.0.0 react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + '@noble/ciphers@1.3.0': + resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.9.1': + resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.9.7': + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -2913,6 +3048,10 @@ packages: '@rivet-gg/api@0.0.1-rc8': resolution: {integrity: sha512-aGJVImxsmz8fLLzeZHUlFRJ/7Y/xBrke9bOvMpooVaJpHor/XmiP19QeEtB2hmQUOPlgS3dz5o8UtCZ5+LcQGg==} + '@rivet-gg/cloud@file:frontend/vendor/rivet-cloud.tgz': + resolution: {integrity: sha512-PbR+zVclhb53/mxqtRk6uGDparY2d3u72QZ34fPIAW0D8vp2QBcEeWqBZ92m+0SXsXy0a63R1tUmqrAmXrBSlg==, tarball: file:frontend/vendor/rivet-cloud.tgz} + version: 0.0.0 + '@rivet-gg/icons@file:frontend/vendor/rivet-icons.tgz': resolution: {integrity: sha512-bA9qDpD/bhE9jycLN+PovCCfweFpSq+AIOl8W0/o5sZ8l8kF732DvXgvsAOLLzTUEpjsmU4U/RNGtRv/h5K17A==, tarball: file:frontend/vendor/rivet-icons.tgz} version: 25.5.3 @@ -3090,6 +3229,15 @@ packages: '@rushstack/ts-command-line@4.19.1': resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} + '@scure/base@1.2.6': + resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} + + '@scure/bip32@1.7.0': + resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} + + '@scure/bip39@1.6.0': + resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} + '@sentry-internal/browser-utils@8.55.0': resolution: {integrity: sha512-ROgqtQfpH/82AQIpESPqPQe0UyWywKJsmVIqi3c5Fh+zkds5LUxnssTj3yNd1x+kxaPDVB023jAP+3ibNgeNDw==} engines: {node: '>=14.18'} @@ -3240,6 +3388,10 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@stripe/stripe-js@5.6.0': + resolution: {integrity: sha512-w8CEY73X/7tw2KKlL3iOk679V9bWseE4GzNz3zlaYxcTjmcmWOathRb0emgo/QQ3eoNzmq68+2Y2gxluAv3xGw==} + engines: {node: '>=12.16'} + '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -3521,6 +3673,9 @@ packages: '@types/node@24.3.0': resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + '@types/prop-types@15.7.15': resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} @@ -3723,6 +3878,23 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + '@zxcvbn-ts/core@3.0.4': + resolution: {integrity: sha512-aQeiT0F09FuJaAqNrxynlAwZ2mW/1MdXakKWNmGM1Qp/VaY6CnB/GfnMS2T8gB2231Esp1/maCWd8vTG4OuShw==} + + '@zxcvbn-ts/language-common@3.0.4': + resolution: {integrity: sha512-viSNNnRYtc7ULXzxrQIVUNwHAPSXRtoIwy/Tq4XQQdIknBzw4vz36lQLF6mvhMlTIlpjoN/Z1GFu/fwiAlUSsw==} + + abitype@1.1.0: + resolution: {integrity: sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3.22.0 || ^4.0.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -3791,6 +3963,9 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + alien-signals@2.0.6: + resolution: {integrity: sha512-P3TxJSe31bUHBiblg59oU1PpaWPtmxF9GhJ/cB7OkgJ0qN/ifFSKUI25/v8ZhsT+lIG6ac8DpTOplXxORX6F3Q==} + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -3935,6 +4110,10 @@ packages: babel-dead-code-elimination@1.0.10: resolution: {integrity: sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==} + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -4005,6 +4184,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + browser-tabs-lock@1.3.0: + resolution: {integrity: sha512-g6nHaobTiT0eMZ7jh16YpD2kcjAp+PInbiVq3M1x6KKaEIVhT4v9oURNIpZLOZ3LQbQ3XYfNhMAb/9hzNLIWrw==} + browserslist@4.25.2: resolution: {integrity: sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -4123,6 +4305,10 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -4188,6 +4374,9 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -4198,6 +4387,12 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + + core-js@3.41.0: + resolution: {integrity: sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==} + core-js@3.45.0: resolution: {integrity: sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==} @@ -4208,13 +4403,23 @@ packages: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + cross-fetch@4.1.0: + resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -4455,6 +4660,9 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + es-abstract@1.24.0: resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} engines: {node: '>= 0.4'} @@ -4688,6 +4896,9 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -4737,6 +4948,10 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} @@ -4776,6 +4991,9 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -5059,6 +5277,9 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + idb-keyval@6.2.1: + resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -5121,6 +5342,9 @@ packages: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} @@ -5270,6 +5494,11 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isows@1.0.7: + resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} + peerDependencies: + ws: '*' + iterator.prototype@1.1.5: resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} engines: {node: '>= 0.4'} @@ -5319,6 +5548,10 @@ packages: js-base64@3.7.7: resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} + js-cookie@3.0.5: + resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} + engines: {node: '>=14'} + js-sdsl@4.4.2: resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==} @@ -5989,6 +6222,22 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} + ox@0.6.9: + resolution: {integrity: sha512-wi5ShvzE4eOcTwQVsIPdFr+8ycyX+5le/96iAJutaZAvCes1J0+RvpEPg5QDPDiaR0XQQAvZVl7AwqQcINuUug==} + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + + ox@0.9.3: + resolution: {integrity: sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==} + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -6018,6 +6267,10 @@ packages: parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} @@ -6183,6 +6436,9 @@ packages: rrweb-snapshot: optional: true + preact@10.24.2: + resolution: {integrity: sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q==} + preact@10.27.0: resolution: {integrity: sha512-/DTYoB6mwwgPytiqQTh/7SFRL98ZdiD8Sk8zIUVOxtwq4oWcwrcd1uno9fE/zZmUaUrFNYzbH14CPebOz9tZQw==} @@ -6299,6 +6555,11 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + qrcode.react@4.2.0: + resolution: {integrity: sha512-QpgqWi8rD9DsS9EP3z7BT+5lY5SFhsqGjpgW5DY/i3mK4M9DTBNz3ErMi8BWYEfI3L0d8GIbGmcdFAS1uIRGjA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + qs@6.14.0: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} @@ -6484,6 +6745,9 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regex-recursion@5.1.1: resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} @@ -6769,6 +7033,10 @@ packages: source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -6898,6 +7166,9 @@ packages: babel-plugin-macros: optional: true + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -6915,6 +7186,11 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + swr@2.3.4: + resolution: {integrity: sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -7027,6 +7303,9 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -7049,6 +7328,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-pattern@5.8.0: + resolution: {integrity: sha512-kIjN2qmWiHnhgr5DAkAafF9fwb0T5OhMVSWrm8XEdTFnX6+wfXwYOFjeF86UZ54vduqiR7BfqScFmXSzSaH8oA==} + tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -7329,6 +7611,14 @@ packages: victory-vendor@36.9.2: resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} + viem@2.37.4: + resolution: {integrity: sha512-1ig5O6l1wJmaw3yrSrUimjRLQEZon2ymTqSDjdntu6Bry1/tLC2GClXeS3SiCzrifpLxzfCLQWDITYVTBA10KA==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + vite-node@1.6.1: resolution: {integrity: sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -7561,6 +7851,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + yaml@2.8.1: resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} engines: {node: '>= 14.6'} @@ -7601,11 +7895,31 @@ packages: react: optional: true + zustand@5.0.3: + resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: + '@adraffy/ens-normalize@1.11.0': {} + '@alloc/quick-lru@5.2.0': {} '@ampproject/remapping@2.3.0': @@ -7823,6 +8137,26 @@ snapshots: '@bare-ts/lib': 0.4.0 commander: 11.1.0 + '@base-org/account@2.0.1(@types/react@18.3.23)(react@19.1.1)(typescript@5.8.2)(use-sync-external-store@1.5.0(react@19.1.1))(zod@3.25.76)': + dependencies: + '@noble/hashes': 1.4.0 + clsx: 1.2.1 + eventemitter3: 5.0.1 + idb-keyval: 6.2.1 + ox: 0.6.9(typescript@5.8.2)(zod@3.25.76) + preact: 10.24.2 + viem: 2.37.4(typescript@5.8.2)(zod@3.25.76) + zustand: 5.0.3(@types/react@18.3.23)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)) + transitivePeerDependencies: + - '@types/react' + - bufferutil + - immer + - react + - typescript + - use-sync-external-store + - utf-8-validate + - zod + '@biomejs/biome@2.1.4': optionalDependencies: '@biomejs/cli-darwin-arm64': 2.1.4 @@ -7876,6 +8210,77 @@ snapshots: '@cbor-extract/cbor-extract-win32-x64@2.2.0': optional: true + '@clerk/clerk-js@5.91.2(@types/react@18.3.23)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.8.2)(use-sync-external-store@1.5.0(react@19.1.1))(zod@3.25.76)': + dependencies: + '@base-org/account': 2.0.1(@types/react@18.3.23)(react@19.1.1)(typescript@5.8.2)(use-sync-external-store@1.5.0(react@19.1.1))(zod@3.25.76) + '@clerk/localizations': 3.24.2 + '@clerk/shared': 3.24.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@clerk/types': 4.84.1 + '@coinbase/wallet-sdk': 4.3.0 + '@emotion/cache': 11.11.0 + '@emotion/react': 11.11.1(@types/react@18.3.23)(react@19.1.1) + '@floating-ui/react': 0.27.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@floating-ui/react-dom': 2.1.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@formkit/auto-animate': 0.8.4 + '@stripe/stripe-js': 5.6.0 + '@swc/helpers': 0.5.17 + '@zxcvbn-ts/core': 3.0.4 + '@zxcvbn-ts/language-common': 3.0.4 + alien-signals: 2.0.6 + browser-tabs-lock: 1.3.0 + copy-to-clipboard: 3.3.3 + core-js: 3.41.0 + crypto-js: 4.2.0 + dequal: 2.0.3 + input-otp: 1.4.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + qrcode.react: 4.2.0(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + regenerator-runtime: 0.14.1 + swr: 2.3.4(react@19.1.1) + transitivePeerDependencies: + - '@types/react' + - bufferutil + - immer + - supports-color + - typescript + - use-sync-external-store + - utf-8-validate + - zod + + '@clerk/clerk-react@5.46.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@clerk/shared': 3.24.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@clerk/types': 4.84.1 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + tslib: 2.8.1 + + '@clerk/localizations@3.24.2': + dependencies: + '@clerk/types': 4.84.1 + + '@clerk/shared@3.24.1(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@clerk/types': 4.84.1 + dequal: 2.0.3 + glob-to-regexp: 0.4.1 + js-cookie: 3.0.5 + std-env: 3.9.0 + swr: 2.3.4(react@19.1.1) + optionalDependencies: + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + + '@clerk/themes@2.4.17': + dependencies: + '@clerk/types': 4.84.1 + tslib: 2.8.1 + + '@clerk/types@4.84.1': + dependencies: + csstype: 3.1.3 + '@codemirror/autocomplete@6.18.6': dependencies: '@codemirror/language': 6.11.3 @@ -7952,6 +8357,13 @@ snapshots: style-mod: 4.1.2 w3c-keyname: 2.2.8 + '@coinbase/wallet-sdk@4.3.0': + dependencies: + '@noble/hashes': 1.8.0 + clsx: 1.2.1 + eventemitter3: 5.0.1 + preact: 10.27.0 + '@corex/deepmerge@4.0.43': {} '@date-fns/utc@1.2.0': {} @@ -7961,6 +8373,72 @@ snapshots: tslib: 2.8.1 optional: true + '@emotion/babel-plugin@11.13.5': + dependencies: + '@babel/helper-module-imports': 7.27.1 + '@babel/runtime': 7.28.3 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.3 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/cache@11.11.0': + dependencies: + '@emotion/memoize': 0.8.1 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.3.1 + stylis: 4.2.0 + + '@emotion/hash@0.9.2': {} + + '@emotion/memoize@0.8.1': {} + + '@emotion/memoize@0.9.0': {} + + '@emotion/react@11.11.1(@types/react@18.3.23)(react@19.1.1)': + dependencies: + '@babel/runtime': 7.28.3 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.11.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.1) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.3.1 + hoist-non-react-statics: 3.3.2 + react: 19.1.1 + optionalDependencies: + '@types/react': 18.3.23 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@1.3.3': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.2 + csstype: 3.1.3 + + '@emotion/sheet@1.4.0': {} + + '@emotion/unitless@0.10.0': {} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.1)': + dependencies: + react: 19.1.1 + + '@emotion/utils@1.4.2': {} + + '@emotion/weak-memoize@0.3.1': {} + '@esbuild/aix-ppc64@0.19.12': optional: true @@ -8214,8 +8692,18 @@ snapshots: react-dom: 19.1.1(react@19.1.1) tabbable: 6.2.0 + '@floating-ui/react@0.27.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@floating-ui/react-dom': 2.1.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + '@floating-ui/utils': 0.2.10 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + tabbable: 6.2.0 + '@floating-ui/utils@0.2.10': {} + '@formkit/auto-animate@0.8.4': {} + '@fortawesome/fontawesome-common-types@6.7.2': {} '@fortawesome/fontawesome-svg-core@6.7.2': @@ -8792,12 +9280,26 @@ snapshots: '@next/swc-win32-x64-msvc@15.5.2': optional: true - '@next/third-parties@15.5.2(next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)': + '@next/third-parties@15.5.2(next@15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)': dependencies: - next: 15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + next: 15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react: 19.1.1 third-party-capital: 1.0.20 + '@noble/ciphers@1.3.0': {} + + '@noble/curves@1.9.1': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/curves@1.9.7': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/hashes@1.4.0': {} + + '@noble/hashes@1.8.0': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -9447,13 +9949,25 @@ snapshots: transitivePeerDependencies: - debug - '@rivet-gg/icons@file:frontend/vendor/rivet-icons.tgz(@fortawesome/fontawesome-svg-core@6.7.2)(@fortawesome/free-brands-svg-icons@6.7.2)(@fortawesome/free-solid-svg-icons@6.7.2)(@fortawesome/react-fontawesome@0.2.3(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.1.1))(@types/node@20.19.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(terser@5.43.1)': + '@rivet-gg/cloud@file:frontend/vendor/rivet-cloud.tgz': + dependencies: + cross-fetch: 4.1.0 + form-data: 4.0.4 + js-base64: 3.7.7 + node-fetch: 2.7.0 + qs: 6.14.0 + readable-stream: 4.7.0 + url-join: 5.0.0 + transitivePeerDependencies: + - encoding + + '@rivet-gg/icons@file:frontend/vendor/rivet-icons.tgz(@fortawesome/fontawesome-svg-core@6.7.2)(@fortawesome/free-brands-svg-icons@6.7.2)(@fortawesome/free-solid-svg-icons@6.7.2)(@fortawesome/react-fontawesome@0.2.3(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.1.1))(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(terser@5.43.1)': dependencies: '@fortawesome/fontawesome-svg-core': 6.7.2 '@fortawesome/free-brands-svg-icons': 6.7.2 '@fortawesome/free-solid-svg-icons': 6.7.2 '@fortawesome/react-fontawesome': 0.2.3(@fortawesome/fontawesome-svg-core@6.7.2)(react@19.1.1) - dedent: 1.6.0 + dedent: 1.6.0(babel-plugin-macros@3.1.0) local-pkg: 0.5.1 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) @@ -9657,6 +10171,19 @@ snapshots: - '@types/node' optional: true + '@scure/base@1.2.6': {} + + '@scure/bip32@1.7.0': + dependencies: + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + + '@scure/bip39@1.6.0': + dependencies: + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + '@sentry-internal/browser-utils@8.55.0': dependencies: '@sentry/core': 8.55.0 @@ -9847,6 +10374,8 @@ snapshots: '@standard-schema/spec@1.0.0': {} + '@stripe/stripe-js@5.6.0': {} + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -10164,6 +10693,8 @@ snapshots: dependencies: undici-types: 7.10.0 + '@types/parse-json@4.0.2': {} + '@types/prop-types@15.7.15': {} '@types/qs@6.9.8': {} @@ -10441,6 +10972,17 @@ snapshots: '@xtuc/long@4.2.2': {} + '@zxcvbn-ts/core@3.0.4': + dependencies: + fastest-levenshtein: 1.0.16 + + '@zxcvbn-ts/language-common@3.0.4': {} + + abitype@1.1.0(typescript@5.8.2)(zod@3.25.76): + optionalDependencies: + typescript: 5.8.2 + zod: 3.25.76 + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -10507,6 +11049,8 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + alien-signals@2.0.6: {} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -10675,6 +11219,12 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.28.3 + cosmiconfig: 7.1.0 + resolve: 1.22.10 + bail@2.0.2: {} balanced-match@1.0.2: {} @@ -10737,6 +11287,10 @@ snapshots: dependencies: fill-range: 7.1.1 + browser-tabs-lock@1.3.0: + dependencies: + lodash: 4.17.21 + browserslist@4.25.2: dependencies: caniuse-lite: 1.0.30001735 @@ -10870,6 +11424,8 @@ snapshots: client-only@0.0.1: {} + clsx@1.2.1: {} + clsx@2.1.1: {} cmdk@1.1.1(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@19.1.1(react@19.1.1))(react@19.1.1): @@ -10935,12 +11491,20 @@ snapshots: consola@3.4.2: {} + convert-source-map@1.9.0: {} + convert-source-map@2.0.0: {} cookie-es@1.2.2: {} cookie@0.7.2: {} + copy-to-clipboard@3.3.3: + dependencies: + toggle-selection: 1.0.6 + + core-js@3.41.0: {} + core-js@3.45.0: {} core-util-is@1.0.3: {} @@ -10950,14 +11514,30 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.1 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + crelt@1.0.6: {} + cross-fetch@4.1.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + crypto-js@4.2.0: {} + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -11050,7 +11630,9 @@ snapshots: dependencies: mimic-response: 3.1.0 - dedent@1.6.0: {} + dedent@1.6.0(babel-plugin-macros@3.1.0): + optionalDependencies: + babel-plugin-macros: 3.1.0 deep-eql@4.1.4: dependencies: @@ -11170,6 +11752,10 @@ snapshots: entities@4.5.0: {} + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + es-abstract@1.24.0: dependencies: array-buffer-byte-length: 1.0.2 @@ -11630,6 +12216,8 @@ snapshots: eventemitter3@4.0.7: {} + eventemitter3@5.0.1: {} + events@3.3.0: {} execa@8.0.1: @@ -11678,6 +12266,8 @@ snapshots: fast-uri@3.1.0: {} + fastest-levenshtein@1.0.16: {} + fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -11714,6 +12304,8 @@ snapshots: dependencies: to-regex-range: 5.0.1 + find-root@1.1.0: {} + find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -12095,6 +12687,8 @@ snapshots: dependencies: safer-buffer: 2.1.2 + idb-keyval@6.2.1: {} + ieee754@1.2.1: {} ignore@5.3.2: {} @@ -12151,6 +12745,8 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 + is-arrayish@0.2.1: {} + is-arrayish@0.3.2: {} is-async-function@2.1.1: @@ -12286,6 +12882,10 @@ snapshots: isexe@2.0.0: {} + isows@1.0.7(ws@8.18.3): + dependencies: + ws: 8.18.3 + iterator.prototype@1.1.5: dependencies: define-data-property: 1.1.4 @@ -12326,6 +12926,8 @@ snapshots: js-base64@3.7.7: {} + js-cookie@3.0.5: {} + js-sdsl@4.4.2: {} js-tokens@4.0.0: {} @@ -13090,20 +13692,20 @@ snapshots: neo-async@2.6.2: {} - next-router-mock@0.9.13(next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1): + next-router-mock@0.9.13(next@15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1): dependencies: - next: 15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + next: 15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react: 19.1.1 - next-sitemap@4.2.3(next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)): + next-sitemap@4.2.3(next@15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)): dependencies: '@corex/deepmerge': 4.0.43 '@next/env': 13.5.11 fast-glob: 3.3.3 minimist: 1.2.8 - next: 15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + next: 15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + next@15.5.2(babel-plugin-macros@3.1.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: '@next/env': 15.5.2 '@swc/helpers': 0.5.15 @@ -13111,7 +13713,7 @@ snapshots: postcss: 8.4.31 react: 19.1.1 react-dom: 19.1.1(react@19.1.1) - styled-jsx: 5.1.6(react@19.1.1) + styled-jsx: 5.1.6(babel-plugin-macros@3.1.0)(react@19.1.1) optionalDependencies: '@next/swc-darwin-arm64': 15.5.2 '@next/swc-darwin-x64': 15.5.2 @@ -13242,6 +13844,35 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 + ox@0.6.9(typescript@5.8.2)(zod@3.25.76): + dependencies: + '@adraffy/ens-normalize': 1.11.0 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.1.0(typescript@5.8.2)(zod@3.25.76) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - zod + + ox@0.9.3(typescript@5.8.2)(zod@3.25.76): + dependencies: + '@adraffy/ens-normalize': 1.11.0 + '@noble/ciphers': 1.3.0 + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.1.0(typescript@5.8.2)(zod@3.25.76) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - zod + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -13278,6 +13909,13 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + parse5@6.0.1: {} path-browserify@1.0.1: {} @@ -13418,6 +14056,8 @@ snapshots: preact: 10.27.0 web-vitals: 4.2.4 + preact@10.24.2: {} + preact@10.27.0: {} prebuild-install@7.1.3: @@ -13480,6 +14120,10 @@ snapshots: punycode@2.3.1: {} + qrcode.react@4.2.0(react@19.1.1): + dependencies: + react: 19.1.1 + qs@6.14.0: dependencies: side-channel: 1.1.0 @@ -13716,6 +14360,8 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 + regenerator-runtime@0.14.1: {} + regex-recursion@5.1.1: dependencies: regex: 5.1.1 @@ -14196,6 +14842,8 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 + source-map@0.5.7: {} + source-map@0.6.1: {} source-map@0.7.6: {} @@ -14333,10 +14981,14 @@ snapshots: dependencies: inline-style-parser: 0.2.4 - styled-jsx@5.1.6(react@19.1.1): + styled-jsx@5.1.6(babel-plugin-macros@3.1.0)(react@19.1.1): dependencies: client-only: 0.0.1 react: 19.1.1 + optionalDependencies: + babel-plugin-macros: 3.1.0 + + stylis@4.2.0: {} sucrase@3.35.0: dependencies: @@ -14358,6 +15010,12 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + swr@2.3.4(react@19.1.1): + dependencies: + dequal: 2.0.3 + react: 19.1.1 + use-sync-external-store: 1.5.0(react@19.1.1) + tabbable@6.2.0: {} tailwind-merge@2.6.0: {} @@ -14493,6 +15151,8 @@ snapshots: dependencies: is-number: 7.0.0 + toggle-selection@1.0.6: {} + tr46@0.0.3: {} tr46@1.0.1: @@ -14509,6 +15169,8 @@ snapshots: ts-interface-checker@0.1.13: {} + ts-pattern@5.8.0: {} + tsconfck@3.1.6(typescript@5.8.2): optionalDependencies: typescript: 5.8.2 @@ -14904,6 +15566,23 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 + viem@2.37.4(typescript@5.8.2)(zod@3.25.76): + dependencies: + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.1.0(typescript@5.8.2)(zod@3.25.76) + isows: 1.0.7(ws@8.18.3) + ox: 0.9.3(typescript@5.8.2)(zod@3.25.76) + ws: 8.18.3 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + vite-node@1.6.1(@types/node@22.17.0)(terser@5.43.1): dependencies: cac: 6.7.14 @@ -15205,6 +15884,8 @@ snapshots: yallist@4.0.0: {} + yaml@1.10.2: {} + yaml@2.8.1: {} yocto-queue@0.1.0: {} @@ -15230,4 +15911,10 @@ snapshots: '@types/react': 18.3.23 react: 19.1.1 + zustand@5.0.3(@types/react@18.3.23)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)): + optionalDependencies: + '@types/react': 18.3.23 + react: 19.1.1 + use-sync-external-store: 1.5.0(react@19.1.1) + zwitch@2.0.4: {} diff --git a/scripts/fern/gen.sh b/scripts/fern/gen.sh index 405af5b1fd..7e13c7f64e 100755 --- a/scripts/fern/gen.sh +++ b/scripts/fern/gen.sh @@ -1,9 +1,7 @@ #!/usr/bin/env bash set -euf -o pipefail -FERN_GROUP=runtime ./scripts/fern/gen_inner.sh & -FERN_GROUP=full ./scripts/fern/gen_inner.sh & -wait +FERN_GROUP=full ./scripts/fern/gen_inner.sh # Pack API for frontend # (cd sdks/api/full/typescript && yarn install && yarn pack --out ../../../../frontend/apps/hub/vendor/rivet-gg-api.tgz) @@ -13,4 +11,3 @@ wait # Update lockfile pnpm install - diff --git a/sdks/api/fern/fern.config.json b/sdks/api/fern/fern.config.json index 3e20bfc64a..dc90704dc8 100644 --- a/sdks/api/fern/fern.config.json +++ b/sdks/api/fern/fern.config.json @@ -1,4 +1,4 @@ { "organization": "rivet", "version": "0.44.11" -} +} \ No newline at end of file diff --git a/sdks/go/api-full/client/client.go b/sdks/go/api-full/client/client.go index 79acd8db56..a64280c95e 100644 --- a/sdks/go/api-full/client/client.go +++ b/sdks/go/api-full/client/client.go @@ -11,7 +11,7 @@ import ( core "sdk/core" datacenters "sdk/datacenters" namespaces "sdk/namespaces" - namespacesrunnerconfigs "sdk/namespacesrunnerconfigs" + runnerconfigs "sdk/runnerconfigs" runners "sdk/runners" ) @@ -20,10 +20,10 @@ type Client struct { caller *core.Caller header http.Header - Datacenters *datacenters.Client - Namespaces *namespaces.Client - NamespacesRunnerConfigs *namespacesrunnerconfigs.Client - Runners *runners.Client + Datacenters *datacenters.Client + Namespaces *namespaces.Client + RunnerConfigs *runnerconfigs.Client + Runners *runners.Client } func NewClient(opts ...core.ClientOption) *Client { @@ -32,13 +32,13 @@ func NewClient(opts ...core.ClientOption) *Client { opt(options) } return &Client{ - baseURL: options.BaseURL, - caller: core.NewCaller(options.HTTPClient), - header: options.ToHeader(), - Datacenters: datacenters.NewClient(opts...), - Namespaces: namespaces.NewClient(opts...), - NamespacesRunnerConfigs: namespacesrunnerconfigs.NewClient(opts...), - Runners: runners.NewClient(opts...), + baseURL: options.BaseURL, + caller: core.NewCaller(options.HTTPClient), + header: options.ToHeader(), + Datacenters: datacenters.NewClient(opts...), + Namespaces: namespaces.NewClient(opts...), + RunnerConfigs: runnerconfigs.NewClient(opts...), + Runners: runners.NewClient(opts...), } } diff --git a/sdks/go/api-full/namespaces_runner_configs.go b/sdks/go/api-full/namespaces_runner_configs.go deleted file mode 100644 index b354881a0b..0000000000 --- a/sdks/go/api-full/namespaces_runner_configs.go +++ /dev/null @@ -1,9 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -package api - -type NamespacesRunnerConfigsListRequest struct { - Limit *int `json:"-"` - Cursor *string `json:"-"` - Variant *NamespacesRunnerConfigVariant `json:"-"` -} diff --git a/sdks/go/api-full/runner_configs.go b/sdks/go/api-full/runner_configs.go new file mode 100644 index 0000000000..b4d6134702 --- /dev/null +++ b/sdks/go/api-full/runner_configs.go @@ -0,0 +1,61 @@ +// This file was auto-generated by Fern from our API Definition. + +package api + +import ( + json "encoding/json" + fmt "fmt" + core "sdk/core" +) + +type RunnerConfigsDeleteRequest struct { + Namespace string `json:"-"` +} + +type RunnerConfigsListRequest struct { + Namespace string `json:"-"` + Limit *int `json:"-"` + Cursor *string `json:"-"` + Variant *RunnerConfigVariant `json:"-"` + RunnerName []*string `json:"-"` +} + +type RunnerConfigsUpsertRequestServerless struct { + MaxRunners int `json:"max_runners"` + MinRunners int `json:"min_runners"` + // Seconds. + RequestLifespan int `json:"request_lifespan"` + RunnersMargin int `json:"runners_margin"` + SlotsPerRunner int `json:"slots_per_runner"` + Url string `json:"url"` + + _rawJSON json.RawMessage +} + +func (r *RunnerConfigsUpsertRequestServerless) UnmarshalJSON(data []byte) error { + type unmarshaler RunnerConfigsUpsertRequestServerless + var value unmarshaler + if err := json.Unmarshal(data, &value); err != nil { + return err + } + *r = RunnerConfigsUpsertRequestServerless(value) + r._rawJSON = json.RawMessage(data) + return nil +} + +func (r *RunnerConfigsUpsertRequestServerless) String() string { + if len(r._rawJSON) > 0 { + if value, err := core.StringifyJSON(r._rawJSON); err == nil { + return value + } + } + if value, err := core.StringifyJSON(r); err == nil { + return value + } + return fmt.Sprintf("%#v", r) +} + +type RunnerConfigsUpsertRequest struct { + Namespace string `json:"-"` + Serverless *RunnerConfigsUpsertRequestServerless `json:"serverless,omitempty"` +} diff --git a/sdks/go/api-full/namespacesrunnerconfigs/client.go b/sdks/go/api-full/runnerconfigs/client.go similarity index 53% rename from sdks/go/api-full/namespacesrunnerconfigs/client.go rename to sdks/go/api-full/runnerconfigs/client.go index 66a1816e48..d09d4fe758 100644 --- a/sdks/go/api-full/namespacesrunnerconfigs/client.go +++ b/sdks/go/api-full/runnerconfigs/client.go @@ -1,6 +1,6 @@ // This file was auto-generated by Fern from our API Definition. -package namespacesrunnerconfigs +package runnerconfigs import ( context "context" @@ -29,14 +29,15 @@ func NewClient(opts ...core.ClientOption) *Client { } } -func (c *Client) List(ctx context.Context, namespaceId sdk.RivetId, request *sdk.NamespacesRunnerConfigsListRequest) (*sdk.NamespacesRunnerConfigsListResponse, error) { +func (c *Client) List(ctx context.Context, request *sdk.RunnerConfigsListRequest) (*sdk.RunnerConfigsListResponse, error) { baseURL := "" if c.baseURL != "" { baseURL = c.baseURL } - endpointURL := fmt.Sprintf(baseURL+"/"+"namespaces/%v/runner-configs", namespaceId) + endpointURL := baseURL + "/" + "runner-configs" queryParams := make(url.Values) + queryParams.Add("namespace", fmt.Sprintf("%v", request.Namespace)) if request.Limit != nil { queryParams.Add("limit", fmt.Sprintf("%v", *request.Limit)) } @@ -46,11 +47,14 @@ func (c *Client) List(ctx context.Context, namespaceId sdk.RivetId, request *sdk if request.Variant != nil { queryParams.Add("variant", fmt.Sprintf("%v", *request.Variant)) } + for _, value := range request.RunnerName { + queryParams.Add("runner_name", fmt.Sprintf("%v", *value)) + } if len(queryParams) > 0 { endpointURL += "?" + queryParams.Encode() } - var response *sdk.NamespacesRunnerConfigsListResponse + var response *sdk.RunnerConfigsListResponse if err := c.caller.Call( ctx, &core.CallParams{ @@ -65,36 +69,20 @@ func (c *Client) List(ctx context.Context, namespaceId sdk.RivetId, request *sdk return response, nil } -func (c *Client) Get(ctx context.Context, namespaceId sdk.RivetId, runnerName string) (*sdk.NamespacesRunnerConfigsGetResponse, error) { +func (c *Client) Upsert(ctx context.Context, runnerName string, request *sdk.RunnerConfigsUpsertRequest) (sdk.RunnerConfigsUpsertResponse, error) { baseURL := "" if c.baseURL != "" { baseURL = c.baseURL } - endpointURL := fmt.Sprintf(baseURL+"/"+"namespaces/%v/runner-configs/%v", namespaceId, runnerName) - - var response *sdk.NamespacesRunnerConfigsGetResponse - if err := c.caller.Call( - ctx, - &core.CallParams{ - URL: endpointURL, - Method: http.MethodGet, - Headers: c.header, - Response: &response, - }, - ); err != nil { - return nil, err - } - return response, nil -} + endpointURL := fmt.Sprintf(baseURL+"/"+"runner-configs/%v", runnerName) -func (c *Client) Upsert(ctx context.Context, namespaceId sdk.RivetId, runnerName string, request sdk.NamespacesRunnerConfigsUpsertRequest) (sdk.NamespacesRunnerConfigsUpsertResponse, error) { - baseURL := "" - if c.baseURL != "" { - baseURL = c.baseURL + queryParams := make(url.Values) + queryParams.Add("namespace", fmt.Sprintf("%v", request.Namespace)) + if len(queryParams) > 0 { + endpointURL += "?" + queryParams.Encode() } - endpointURL := fmt.Sprintf(baseURL+"/"+"namespaces/%v/runner-configs/%v", namespaceId, runnerName) - var response sdk.NamespacesRunnerConfigsUpsertResponse + var response sdk.RunnerConfigsUpsertResponse if err := c.caller.Call( ctx, &core.CallParams{ @@ -110,14 +98,20 @@ func (c *Client) Upsert(ctx context.Context, namespaceId sdk.RivetId, runnerName return response, nil } -func (c *Client) Delete(ctx context.Context, namespaceId sdk.RivetId, runnerName string) (sdk.NamespacesRunnerConfigsDeleteResponse, error) { +func (c *Client) Delete(ctx context.Context, runnerName string, request *sdk.RunnerConfigsDeleteRequest) (sdk.RunnerConfigsDeleteResponse, error) { baseURL := "" if c.baseURL != "" { baseURL = c.baseURL } - endpointURL := fmt.Sprintf(baseURL+"/"+"namespaces/%v/runner-configs/%v", namespaceId, runnerName) + endpointURL := fmt.Sprintf(baseURL+"/"+"runner-configs/%v", runnerName) + + queryParams := make(url.Values) + queryParams.Add("namespace", fmt.Sprintf("%v", request.Namespace)) + if len(queryParams) > 0 { + endpointURL += "?" + queryParams.Encode() + } - var response sdk.NamespacesRunnerConfigsDeleteResponse + var response sdk.RunnerConfigsDeleteResponse if err := c.caller.Call( ctx, &core.CallParams{ diff --git a/sdks/go/api-full/types.go b/sdks/go/api-full/types.go index 6b9809deef..7b34443d1d 100644 --- a/sdks/go/api-full/types.go +++ b/sdks/go/api-full/types.go @@ -552,200 +552,167 @@ func (n *NamespacesListResponse) String() string { return fmt.Sprintf("%#v", n) } -type NamespacesRunnerConfig struct { - Serverless *NamespacesRunnerConfigServerless `json:"serverless,omitempty"` - - _rawJSON json.RawMessage -} - -func (n *NamespacesRunnerConfig) UnmarshalJSON(data []byte) error { - type unmarshaler NamespacesRunnerConfig - var value unmarshaler - if err := json.Unmarshal(data, &value); err != nil { - return err - } - *n = NamespacesRunnerConfig(value) - n._rawJSON = json.RawMessage(data) - return nil -} - -func (n *NamespacesRunnerConfig) String() string { - if len(n._rawJSON) > 0 { - if value, err := core.StringifyJSON(n._rawJSON); err == nil { - return value - } - } - if value, err := core.StringifyJSON(n); err == nil { - return value - } - return fmt.Sprintf("%#v", n) -} - -type NamespacesRunnerConfigServerless struct { - MaxRunners int `json:"max_runners"` - MinRunners int `json:"min_runners"` - // Seconds. - RequestLifespan int `json:"request_lifespan"` - RunnersMargin int `json:"runners_margin"` - SlotsPerRunner int `json:"slots_per_runner"` - Url string `json:"url"` +type Pagination struct { + Cursor *string `json:"cursor,omitempty"` _rawJSON json.RawMessage } -func (n *NamespacesRunnerConfigServerless) UnmarshalJSON(data []byte) error { - type unmarshaler NamespacesRunnerConfigServerless +func (p *Pagination) UnmarshalJSON(data []byte) error { + type unmarshaler Pagination var value unmarshaler if err := json.Unmarshal(data, &value); err != nil { return err } - *n = NamespacesRunnerConfigServerless(value) - n._rawJSON = json.RawMessage(data) + *p = Pagination(value) + p._rawJSON = json.RawMessage(data) return nil } -func (n *NamespacesRunnerConfigServerless) String() string { - if len(n._rawJSON) > 0 { - if value, err := core.StringifyJSON(n._rawJSON); err == nil { +func (p *Pagination) String() string { + if len(p._rawJSON) > 0 { + if value, err := core.StringifyJSON(p._rawJSON); err == nil { return value } } - if value, err := core.StringifyJSON(n); err == nil { + if value, err := core.StringifyJSON(p); err == nil { return value } - return fmt.Sprintf("%#v", n) + return fmt.Sprintf("%#v", p) } -type NamespacesRunnerConfigVariant = string - -type NamespacesRunnerConfigsDeleteResponse = map[string]interface{} +type RivetId = string -type NamespacesRunnerConfigsGetResponse struct { - RunnerConfig *NamespacesRunnerConfig `json:"runner_config,omitempty"` +type Runner struct { + CreateTs int64 `json:"create_ts"` + Datacenter string `json:"datacenter"` + DrainTs *int64 `json:"drain_ts,omitempty"` + Key string `json:"key"` + LastConnectedTs *int64 `json:"last_connected_ts,omitempty"` + LastPingTs int64 `json:"last_ping_ts"` + LastRtt int `json:"last_rtt"` + Metadata map[string]interface{} `json:"metadata,omitempty"` + Name string `json:"name"` + NamespaceId RivetId `json:"namespace_id"` + RemainingSlots int `json:"remaining_slots"` + RunnerId RivetId `json:"runner_id"` + StopTs *int64 `json:"stop_ts,omitempty"` + TotalSlots int `json:"total_slots"` + Version int `json:"version"` _rawJSON json.RawMessage } -func (n *NamespacesRunnerConfigsGetResponse) UnmarshalJSON(data []byte) error { - type unmarshaler NamespacesRunnerConfigsGetResponse +func (r *Runner) UnmarshalJSON(data []byte) error { + type unmarshaler Runner var value unmarshaler if err := json.Unmarshal(data, &value); err != nil { return err } - *n = NamespacesRunnerConfigsGetResponse(value) - n._rawJSON = json.RawMessage(data) + *r = Runner(value) + r._rawJSON = json.RawMessage(data) return nil } -func (n *NamespacesRunnerConfigsGetResponse) String() string { - if len(n._rawJSON) > 0 { - if value, err := core.StringifyJSON(n._rawJSON); err == nil { +func (r *Runner) String() string { + if len(r._rawJSON) > 0 { + if value, err := core.StringifyJSON(r._rawJSON); err == nil { return value } } - if value, err := core.StringifyJSON(n); err == nil { + if value, err := core.StringifyJSON(r); err == nil { return value } - return fmt.Sprintf("%#v", n) + return fmt.Sprintf("%#v", r) } -type NamespacesRunnerConfigsListResponse struct { - Pagination *Pagination `json:"pagination,omitempty"` - RunnerConfigs map[string]*NamespacesRunnerConfig `json:"runner_configs,omitempty"` +type RunnerConfig struct { + Serverless *RunnerConfigServerless `json:"serverless,omitempty"` _rawJSON json.RawMessage } -func (n *NamespacesRunnerConfigsListResponse) UnmarshalJSON(data []byte) error { - type unmarshaler NamespacesRunnerConfigsListResponse +func (r *RunnerConfig) UnmarshalJSON(data []byte) error { + type unmarshaler RunnerConfig var value unmarshaler if err := json.Unmarshal(data, &value); err != nil { return err } - *n = NamespacesRunnerConfigsListResponse(value) - n._rawJSON = json.RawMessage(data) + *r = RunnerConfig(value) + r._rawJSON = json.RawMessage(data) return nil } -func (n *NamespacesRunnerConfigsListResponse) String() string { - if len(n._rawJSON) > 0 { - if value, err := core.StringifyJSON(n._rawJSON); err == nil { +func (r *RunnerConfig) String() string { + if len(r._rawJSON) > 0 { + if value, err := core.StringifyJSON(r._rawJSON); err == nil { return value } } - if value, err := core.StringifyJSON(n); err == nil { + if value, err := core.StringifyJSON(r); err == nil { return value } - return fmt.Sprintf("%#v", n) + return fmt.Sprintf("%#v", r) } -type NamespacesRunnerConfigsUpsertRequest = *NamespacesRunnerConfig - -type NamespacesRunnerConfigsUpsertResponse = map[string]interface{} - -type Pagination struct { - Cursor *string `json:"cursor,omitempty"` +type RunnerConfigServerless struct { + MaxRunners int `json:"max_runners"` + MinRunners int `json:"min_runners"` + // Seconds. + RequestLifespan int `json:"request_lifespan"` + RunnersMargin int `json:"runners_margin"` + SlotsPerRunner int `json:"slots_per_runner"` + Url string `json:"url"` _rawJSON json.RawMessage } -func (p *Pagination) UnmarshalJSON(data []byte) error { - type unmarshaler Pagination +func (r *RunnerConfigServerless) UnmarshalJSON(data []byte) error { + type unmarshaler RunnerConfigServerless var value unmarshaler if err := json.Unmarshal(data, &value); err != nil { return err } - *p = Pagination(value) - p._rawJSON = json.RawMessage(data) + *r = RunnerConfigServerless(value) + r._rawJSON = json.RawMessage(data) return nil } -func (p *Pagination) String() string { - if len(p._rawJSON) > 0 { - if value, err := core.StringifyJSON(p._rawJSON); err == nil { +func (r *RunnerConfigServerless) String() string { + if len(r._rawJSON) > 0 { + if value, err := core.StringifyJSON(r._rawJSON); err == nil { return value } } - if value, err := core.StringifyJSON(p); err == nil { + if value, err := core.StringifyJSON(r); err == nil { return value } - return fmt.Sprintf("%#v", p) + return fmt.Sprintf("%#v", r) } -type RivetId = string +type RunnerConfigVariant = string -type Runner struct { - CreateTs int64 `json:"create_ts"` - Datacenter string `json:"datacenter"` - DrainTs *int64 `json:"drain_ts,omitempty"` - Key string `json:"key"` - LastConnectedTs *int64 `json:"last_connected_ts,omitempty"` - LastPingTs int64 `json:"last_ping_ts"` - LastRtt int `json:"last_rtt"` - Metadata map[string]interface{} `json:"metadata,omitempty"` - Name string `json:"name"` - NamespaceId RivetId `json:"namespace_id"` - RemainingSlots int `json:"remaining_slots"` - RunnerId RivetId `json:"runner_id"` - StopTs *int64 `json:"stop_ts,omitempty"` - TotalSlots int `json:"total_slots"` - Version int `json:"version"` +type RunnerConfigsDeleteResponse = map[string]interface{} + +type RunnerConfigsListResponse struct { + Pagination *Pagination `json:"pagination,omitempty"` + RunnerConfigs map[string]*RunnerConfig `json:"runner_configs,omitempty"` _rawJSON json.RawMessage } -func (r *Runner) UnmarshalJSON(data []byte) error { - type unmarshaler Runner +func (r *RunnerConfigsListResponse) UnmarshalJSON(data []byte) error { + type unmarshaler RunnerConfigsListResponse var value unmarshaler if err := json.Unmarshal(data, &value); err != nil { return err } - *r = Runner(value) + *r = RunnerConfigsListResponse(value) r._rawJSON = json.RawMessage(data) return nil } -func (r *Runner) String() string { +func (r *RunnerConfigsListResponse) String() string { if len(r._rawJSON) > 0 { if value, err := core.StringifyJSON(r._rawJSON); err == nil { return value @@ -757,6 +724,8 @@ func (r *Runner) String() string { return fmt.Sprintf("%#v", r) } +type RunnerConfigsUpsertResponse = map[string]interface{} + type RunnersGetResponse struct { Runner *Runner `json:"runner,omitempty"` diff --git a/sdks/rust/api-full/rust/.openapi-generator/FILES b/sdks/rust/api-full/rust/.openapi-generator/FILES index fa8bc99828..637fb4e031 100644 --- a/sdks/rust/api-full/rust/.openapi-generator/FILES +++ b/sdks/rust/api-full/rust/.openapi-generator/FILES @@ -33,14 +33,14 @@ docs/NamespacesCreateRequest.md docs/NamespacesCreateResponse.md docs/NamespacesGetResponse.md docs/NamespacesListResponse.md -docs/NamespacesRunnerConfig.md -docs/NamespacesRunnerConfigServerless.md -docs/NamespacesRunnerConfigVariant.md -docs/NamespacesRunnerConfigsApi.md -docs/NamespacesRunnerConfigsGetResponse.md -docs/NamespacesRunnerConfigsListResponse.md docs/Pagination.md docs/Runner.md +docs/RunnerConfig.md +docs/RunnerConfigServerless.md +docs/RunnerConfigVariant.md +docs/RunnerConfigsApi.md +docs/RunnerConfigsListResponse.md +docs/RunnerConfigsUpsertRequest.md docs/RunnersApi.md docs/RunnersGetResponse.md docs/RunnersListNamesResponse.md @@ -58,7 +58,7 @@ src/apis/configuration.rs src/apis/datacenters_api.rs src/apis/mod.rs src/apis/namespaces_api.rs -src/apis/namespaces_runner_configs_api.rs +src/apis/runner_configs_api.rs src/apis/runners_api.rs src/lib.rs src/models/actor.rs @@ -82,13 +82,13 @@ src/models/namespaces_create_request.rs src/models/namespaces_create_response.rs src/models/namespaces_get_response.rs src/models/namespaces_list_response.rs -src/models/namespaces_runner_config.rs -src/models/namespaces_runner_config_serverless.rs -src/models/namespaces_runner_config_variant.rs -src/models/namespaces_runner_configs_get_response.rs -src/models/namespaces_runner_configs_list_response.rs src/models/pagination.rs src/models/runner.rs +src/models/runner_config.rs +src/models/runner_config_serverless.rs +src/models/runner_config_variant.rs +src/models/runner_configs_list_response.rs +src/models/runner_configs_upsert_request.rs src/models/runners_get_response.rs src/models/runners_list_names_response.rs src/models/runners_list_response.rs diff --git a/sdks/rust/api-full/rust/Cargo.toml b/sdks/rust/api-full/rust/Cargo.toml index 5599d5782e..17d0140cc3 100644 --- a/sdks/rust/api-full/rust/Cargo.toml +++ b/sdks/rust/api-full/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rivet-api-full" -version = "25.6.1" +version = "25.7.0" authors = ["developer@rivet.gg"] description = "No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)" license = "Apache-2.0" diff --git a/sdks/rust/api-full/rust/README.md b/sdks/rust/api-full/rust/README.md index 753b61de4b..ba49e0e0e7 100644 --- a/sdks/rust/api-full/rust/README.md +++ b/sdks/rust/api-full/rust/README.md @@ -7,8 +7,8 @@ No description provided (generated by Openapi Generator https://github.com/opena This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client. -- API version: 25.6.1 -- Package version: 25.6.1 +- API version: 25.7.0 +- Package version: 25.7.0 - Generator version: 7.14.0 - Build package: `org.openapitools.codegen.languages.RustClientCodegen` @@ -38,10 +38,9 @@ Class | Method | HTTP request | Description *NamespacesApi* | [**namespaces_create**](docs/NamespacesApi.md#namespaces_create) | **POST** /namespaces | *NamespacesApi* | [**namespaces_get**](docs/NamespacesApi.md#namespaces_get) | **GET** /namespaces/{namespace_id} | *NamespacesApi* | [**namespaces_list**](docs/NamespacesApi.md#namespaces_list) | **GET** /namespaces | -*NamespacesRunnerConfigsApi* | [**namespaces_runner_configs_delete**](docs/NamespacesRunnerConfigsApi.md#namespaces_runner_configs_delete) | **DELETE** /namespaces/{namespace_id}/runner-configs/{runner_name} | -*NamespacesRunnerConfigsApi* | [**namespaces_runner_configs_get**](docs/NamespacesRunnerConfigsApi.md#namespaces_runner_configs_get) | **GET** /namespaces/{namespace_id}/runner-configs/{runner_name} | -*NamespacesRunnerConfigsApi* | [**namespaces_runner_configs_list**](docs/NamespacesRunnerConfigsApi.md#namespaces_runner_configs_list) | **GET** /namespaces/{namespace_id}/runner-configs | -*NamespacesRunnerConfigsApi* | [**namespaces_runner_configs_upsert**](docs/NamespacesRunnerConfigsApi.md#namespaces_runner_configs_upsert) | **PUT** /namespaces/{namespace_id}/runner-configs/{runner_name} | +*RunnerConfigsApi* | [**runner_configs_delete**](docs/RunnerConfigsApi.md#runner_configs_delete) | **DELETE** /runner-configs/{runner_name} | +*RunnerConfigsApi* | [**runner_configs_list**](docs/RunnerConfigsApi.md#runner_configs_list) | **GET** /runner-configs | +*RunnerConfigsApi* | [**runner_configs_upsert**](docs/RunnerConfigsApi.md#runner_configs_upsert) | **PUT** /runner-configs/{runner_name} | *RunnersApi* | [**runners_get**](docs/RunnersApi.md#runners_get) | **GET** /runners/{runner_id} | *RunnersApi* | [**runners_list**](docs/RunnersApi.md#runners_list) | **GET** /runners | *RunnersApi* | [**runners_list_names**](docs/RunnersApi.md#runners_list_names) | **GET** /runners/names | ## Datacenter Round Trips @@ -69,13 +68,13 @@ Class | Method | HTTP request | Description - [NamespacesCreateResponse](docs/NamespacesCreateResponse.md) - [NamespacesGetResponse](docs/NamespacesGetResponse.md) - [NamespacesListResponse](docs/NamespacesListResponse.md) - - [NamespacesRunnerConfig](docs/NamespacesRunnerConfig.md) - - [NamespacesRunnerConfigServerless](docs/NamespacesRunnerConfigServerless.md) - - [NamespacesRunnerConfigVariant](docs/NamespacesRunnerConfigVariant.md) - - [NamespacesRunnerConfigsGetResponse](docs/NamespacesRunnerConfigsGetResponse.md) - - [NamespacesRunnerConfigsListResponse](docs/NamespacesRunnerConfigsListResponse.md) - [Pagination](docs/Pagination.md) - [Runner](docs/Runner.md) + - [RunnerConfig](docs/RunnerConfig.md) + - [RunnerConfigServerless](docs/RunnerConfigServerless.md) + - [RunnerConfigVariant](docs/RunnerConfigVariant.md) + - [RunnerConfigsListResponse](docs/RunnerConfigsListResponse.md) + - [RunnerConfigsUpsertRequest](docs/RunnerConfigsUpsertRequest.md) - [RunnersGetResponse](docs/RunnersGetResponse.md) - [RunnersListNamesResponse](docs/RunnersListNamesResponse.md) - [RunnersListResponse](docs/RunnersListResponse.md) diff --git a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsApi.md b/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsApi.md deleted file mode 100644 index 51593e3784..0000000000 --- a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsApi.md +++ /dev/null @@ -1,131 +0,0 @@ -# \NamespacesRunnerConfigsApi - -All URIs are relative to *http://localhost* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**namespaces_runner_configs_delete**](NamespacesRunnerConfigsApi.md#namespaces_runner_configs_delete) | **DELETE** /namespaces/{namespace_id}/runner-configs/{runner_name} | -[**namespaces_runner_configs_get**](NamespacesRunnerConfigsApi.md#namespaces_runner_configs_get) | **GET** /namespaces/{namespace_id}/runner-configs/{runner_name} | -[**namespaces_runner_configs_list**](NamespacesRunnerConfigsApi.md#namespaces_runner_configs_list) | **GET** /namespaces/{namespace_id}/runner-configs | -[**namespaces_runner_configs_upsert**](NamespacesRunnerConfigsApi.md#namespaces_runner_configs_upsert) | **PUT** /namespaces/{namespace_id}/runner-configs/{runner_name} | - - - -## namespaces_runner_configs_delete - -> serde_json::Value namespaces_runner_configs_delete(namespace_id, runner_name) - - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**namespace_id** | **String** | | [required] | -**runner_name** | **String** | | [required] | - -### Return type - -[**serde_json::Value**](serde_json::Value.md) - -### Authorization - -No authorization required - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: application/json - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - - -## namespaces_runner_configs_get - -> models::NamespacesRunnerConfigsGetResponse namespaces_runner_configs_get(namespace_id, runner_name) - - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**namespace_id** | **String** | | [required] | -**runner_name** | **String** | | [required] | - -### Return type - -[**models::NamespacesRunnerConfigsGetResponse**](NamespacesRunnerConfigsGetResponse.md) - -### Authorization - -No authorization required - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: application/json - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - - -## namespaces_runner_configs_list - -> models::NamespacesRunnerConfigsListResponse namespaces_runner_configs_list(namespace_id, limit, cursor, variant) - - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**namespace_id** | **String** | | [required] | -**limit** | Option<**i32**> | | | -**cursor** | Option<**String**> | | | -**variant** | Option<[**NamespacesRunnerConfigVariant**](.md)> | | | - -### Return type - -[**models::NamespacesRunnerConfigsListResponse**](NamespacesRunnerConfigsListResponse.md) - -### Authorization - -No authorization required - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: application/json - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - - -## namespaces_runner_configs_upsert - -> serde_json::Value namespaces_runner_configs_upsert(namespace_id, runner_name, body) - - -### Parameters - - -Name | Type | Description | Required | Notes -------------- | ------------- | ------------- | ------------- | ------------- -**namespace_id** | **String** | | [required] | -**runner_name** | **String** | | [required] | -**body** | **models::NamespacesRunnerConfig** | | [required] | - -### Return type - -[**serde_json::Value**](serde_json::Value.md) - -### Authorization - -No authorization required - -### HTTP request headers - -- **Content-Type**: application/json -- **Accept**: application/json - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsGetResponse.md b/sdks/rust/api-full/rust/docs/RunnerConfig.md similarity index 68% rename from sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsGetResponse.md rename to sdks/rust/api-full/rust/docs/RunnerConfig.md index 61a94ca2e5..c622fecd4f 100644 --- a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsGetResponse.md +++ b/sdks/rust/api-full/rust/docs/RunnerConfig.md @@ -1,10 +1,10 @@ -# NamespacesRunnerConfigsGetResponse +# RunnerConfig ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**runner_config** | [**models::NamespacesRunnerConfig**](NamespacesRunnerConfig.md) | | +**serverless** | [**models::RunnerConfigServerless**](RunnerConfig_serverless.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigServerless.md b/sdks/rust/api-full/rust/docs/RunnerConfigServerless.md similarity index 93% rename from sdks/rust/api-full/rust/docs/NamespacesRunnerConfigServerless.md rename to sdks/rust/api-full/rust/docs/RunnerConfigServerless.md index 57268226cb..1cf2aaae70 100644 --- a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigServerless.md +++ b/sdks/rust/api-full/rust/docs/RunnerConfigServerless.md @@ -1,4 +1,4 @@ -# NamespacesRunnerConfigServerless +# RunnerConfigServerless ## Properties diff --git a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigVariant.md b/sdks/rust/api-full/rust/docs/RunnerConfigVariant.md similarity index 88% rename from sdks/rust/api-full/rust/docs/NamespacesRunnerConfigVariant.md rename to sdks/rust/api-full/rust/docs/RunnerConfigVariant.md index f88e77ae77..31e3c303e2 100644 --- a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigVariant.md +++ b/sdks/rust/api-full/rust/docs/RunnerConfigVariant.md @@ -1,4 +1,4 @@ -# NamespacesRunnerConfigVariant +# RunnerConfigVariant ## Enum Variants diff --git a/sdks/rust/api-full/rust/docs/RunnerConfigsApi.md b/sdks/rust/api-full/rust/docs/RunnerConfigsApi.md new file mode 100644 index 0000000000..b055642264 --- /dev/null +++ b/sdks/rust/api-full/rust/docs/RunnerConfigsApi.md @@ -0,0 +1,102 @@ +# \RunnerConfigsApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**runner_configs_delete**](RunnerConfigsApi.md#runner_configs_delete) | **DELETE** /runner-configs/{runner_name} | +[**runner_configs_list**](RunnerConfigsApi.md#runner_configs_list) | **GET** /runner-configs | +[**runner_configs_upsert**](RunnerConfigsApi.md#runner_configs_upsert) | **PUT** /runner-configs/{runner_name} | + + + +## runner_configs_delete + +> serde_json::Value runner_configs_delete(runner_name, namespace) + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**runner_name** | **String** | | [required] | +**namespace** | **String** | | [required] | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## runner_configs_list + +> models::RunnerConfigsListResponse runner_configs_list(namespace, limit, cursor, variant, runner_name) + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**namespace** | **String** | | [required] | +**limit** | Option<**i32**> | | | +**cursor** | Option<**String**> | | | +**variant** | Option<[**RunnerConfigVariant**](.md)> | | | +**runner_name** | Option<[**Vec**](String.md)> | | | + +### Return type + +[**models::RunnerConfigsListResponse**](RunnerConfigsListResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## runner_configs_upsert + +> serde_json::Value runner_configs_upsert(runner_name, namespace, runner_configs_upsert_request) + + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**runner_name** | **String** | | [required] | +**namespace** | **String** | | [required] | +**runner_configs_upsert_request** | [**RunnerConfigsUpsertRequest**](RunnerConfigsUpsertRequest.md) | | [required] | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsListResponse.md b/sdks/rust/api-full/rust/docs/RunnerConfigsListResponse.md similarity index 80% rename from sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsListResponse.md rename to sdks/rust/api-full/rust/docs/RunnerConfigsListResponse.md index 75b755aa83..6e852c981e 100644 --- a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfigsListResponse.md +++ b/sdks/rust/api-full/rust/docs/RunnerConfigsListResponse.md @@ -1,11 +1,11 @@ -# NamespacesRunnerConfigsListResponse +# RunnerConfigsListResponse ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **pagination** | [**models::Pagination**](Pagination.md) | | -**runner_configs** | [**std::collections::HashMap**](NamespacesRunnerConfig.md) | | +**runner_configs** | [**std::collections::HashMap**](RunnerConfig.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfig.md b/sdks/rust/api-full/rust/docs/RunnerConfigsUpsertRequest.md similarity index 67% rename from sdks/rust/api-full/rust/docs/NamespacesRunnerConfig.md rename to sdks/rust/api-full/rust/docs/RunnerConfigsUpsertRequest.md index 7db4ba904c..37fa36f9fd 100644 --- a/sdks/rust/api-full/rust/docs/NamespacesRunnerConfig.md +++ b/sdks/rust/api-full/rust/docs/RunnerConfigsUpsertRequest.md @@ -1,10 +1,10 @@ -# NamespacesRunnerConfig +# RunnerConfigsUpsertRequest ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**serverless** | [**models::NamespacesRunnerConfigServerless**](NamespacesRunnerConfig_serverless.md) | | +**serverless** | [**models::RunnerConfigServerless**](RunnerConfig_serverless.md) | | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/rust/api-full/rust/src/apis/actors_create_api.rs b/sdks/rust/api-full/rust/src/apis/actors_create_api.rs index 726243a9d0..2fb6bfc6ce 100644 --- a/sdks/rust/api-full/rust/src/apis/actors_create_api.rs +++ b/sdks/rust/api-full/rust/src/apis/actors_create_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/actors_delete_api.rs b/sdks/rust/api-full/rust/src/apis/actors_delete_api.rs index 631526ba33..a79faed0c8 100644 --- a/sdks/rust/api-full/rust/src/apis/actors_delete_api.rs +++ b/sdks/rust/api-full/rust/src/apis/actors_delete_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/actors_get_api.rs b/sdks/rust/api-full/rust/src/apis/actors_get_api.rs index 43b2b7d72d..7d75c1e2b9 100644 --- a/sdks/rust/api-full/rust/src/apis/actors_get_api.rs +++ b/sdks/rust/api-full/rust/src/apis/actors_get_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/actors_get_by_id_api.rs b/sdks/rust/api-full/rust/src/apis/actors_get_by_id_api.rs index 5e01502154..54d4693377 100644 --- a/sdks/rust/api-full/rust/src/apis/actors_get_by_id_api.rs +++ b/sdks/rust/api-full/rust/src/apis/actors_get_by_id_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/actors_get_or_create_api.rs b/sdks/rust/api-full/rust/src/apis/actors_get_or_create_api.rs index 499f183ddf..a5a315be95 100644 --- a/sdks/rust/api-full/rust/src/apis/actors_get_or_create_api.rs +++ b/sdks/rust/api-full/rust/src/apis/actors_get_or_create_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/actors_get_or_create_by_id_api.rs b/sdks/rust/api-full/rust/src/apis/actors_get_or_create_by_id_api.rs index 98e33ae3a4..7a7cef69b8 100644 --- a/sdks/rust/api-full/rust/src/apis/actors_get_or_create_by_id_api.rs +++ b/sdks/rust/api-full/rust/src/apis/actors_get_or_create_by_id_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/actors_list_api.rs b/sdks/rust/api-full/rust/src/apis/actors_list_api.rs index cfeafd02eb..6be0a5be93 100644 --- a/sdks/rust/api-full/rust/src/apis/actors_list_api.rs +++ b/sdks/rust/api-full/rust/src/apis/actors_list_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/actors_list_names_api.rs b/sdks/rust/api-full/rust/src/apis/actors_list_names_api.rs index bff1d5687b..69875312e7 100644 --- a/sdks/rust/api-full/rust/src/apis/actors_list_names_api.rs +++ b/sdks/rust/api-full/rust/src/apis/actors_list_names_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/configuration.rs b/sdks/rust/api-full/rust/src/apis/configuration.rs index 69d64ba0ec..42d4013267 100644 --- a/sdks/rust/api-full/rust/src/apis/configuration.rs +++ b/sdks/rust/api-full/rust/src/apis/configuration.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ @@ -40,7 +40,7 @@ impl Default for Configuration { fn default() -> Self { Configuration { base_path: "http://localhost".to_owned(), - user_agent: Some("OpenAPI-Generator/25.6.1/rust".to_owned()), + user_agent: Some("OpenAPI-Generator/25.7.0/rust".to_owned()), client: reqwest::Client::new(), basic_auth: None, oauth_access_token: None, diff --git a/sdks/rust/api-full/rust/src/apis/datacenters_api.rs b/sdks/rust/api-full/rust/src/apis/datacenters_api.rs index 24fa919b34..bf40f38374 100644 --- a/sdks/rust/api-full/rust/src/apis/datacenters_api.rs +++ b/sdks/rust/api-full/rust/src/apis/datacenters_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/mod.rs b/sdks/rust/api-full/rust/src/apis/mod.rs index cbd3ab7407..e2fc9daf6d 100644 --- a/sdks/rust/api-full/rust/src/apis/mod.rs +++ b/sdks/rust/api-full/rust/src/apis/mod.rs @@ -121,7 +121,7 @@ pub mod actors_list_api; pub mod actors_list_names_api; pub mod datacenters_api; pub mod namespaces_api; -pub mod namespaces_runner_configs_api; +pub mod runner_configs_api; pub mod runners_api; pub mod configuration; diff --git a/sdks/rust/api-full/rust/src/apis/namespaces_api.rs b/sdks/rust/api-full/rust/src/apis/namespaces_api.rs index 0a37a4661c..1eb08dc8d7 100644 --- a/sdks/rust/api-full/rust/src/apis/namespaces_api.rs +++ b/sdks/rust/api-full/rust/src/apis/namespaces_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/apis/namespaces_runner_configs_api.rs b/sdks/rust/api-full/rust/src/apis/runner_configs_api.rs similarity index 54% rename from sdks/rust/api-full/rust/src/apis/namespaces_runner_configs_api.rs rename to sdks/rust/api-full/rust/src/apis/runner_configs_api.rs index d5bbb484ff..45d22839ba 100644 --- a/sdks/rust/api-full/rust/src/apis/namespaces_runner_configs_api.rs +++ b/sdks/rust/api-full/rust/src/apis/runner_configs_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ @@ -15,43 +15,37 @@ use crate::{apis::ResponseContent, models}; use super::{Error, configuration, ContentType}; -/// struct for typed errors of method [`namespaces_runner_configs_delete`] +/// struct for typed errors of method [`runner_configs_delete`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum NamespacesRunnerConfigsDeleteError { +pub enum RunnerConfigsDeleteError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`namespaces_runner_configs_get`] +/// struct for typed errors of method [`runner_configs_list`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum NamespacesRunnerConfigsGetError { +pub enum RunnerConfigsListError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`namespaces_runner_configs_list`] +/// struct for typed errors of method [`runner_configs_upsert`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum NamespacesRunnerConfigsListError { - UnknownValue(serde_json::Value), -} - -/// struct for typed errors of method [`namespaces_runner_configs_upsert`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum NamespacesRunnerConfigsUpsertError { +pub enum RunnerConfigsUpsertError { UnknownValue(serde_json::Value), } -pub async fn namespaces_runner_configs_delete(configuration: &configuration::Configuration, namespace_id: &str, runner_name: &str) -> Result> { +pub async fn runner_configs_delete(configuration: &configuration::Configuration, runner_name: &str, namespace: &str) -> Result> { // add a prefix to parameters to efficiently prevent name collisions - let p_namespace_id = namespace_id; let p_runner_name = runner_name; + let p_namespace = namespace; - let uri_str = format!("{}/namespaces/{namespace_id}/runner-configs/{runner_name}", configuration.base_path, namespace_id=crate::apis::urlencode(p_namespace_id), runner_name=crate::apis::urlencode(p_runner_name)); + let uri_str = format!("{}/runner-configs/{runner_name}", configuration.base_path, runner_name=crate::apis::urlencode(p_runner_name)); let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + req_builder = req_builder.query(&[("namespace", &p_namespace.to_string())]); if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); } @@ -76,58 +70,23 @@ pub async fn namespaces_runner_configs_delete(configuration: &configuration::Con } } else { let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); - Err(Error::ResponseError(ResponseContent { status, content, entity })) - } -} - -pub async fn namespaces_runner_configs_get(configuration: &configuration::Configuration, namespace_id: &str, runner_name: &str) -> Result> { - // add a prefix to parameters to efficiently prevent name collisions - let p_namespace_id = namespace_id; - let p_runner_name = runner_name; - - let uri_str = format!("{}/namespaces/{namespace_id}/runner-configs/{runner_name}", configuration.base_path, namespace_id=crate::apis::urlencode(p_namespace_id), runner_name=crate::apis::urlencode(p_runner_name)); - let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); - - if let Some(ref user_agent) = configuration.user_agent { - req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); - } - - let req = req_builder.build()?; - let resp = configuration.client.execute(req).await?; - - let status = resp.status(); - let content_type = resp - .headers() - .get("content-type") - .and_then(|v| v.to_str().ok()) - .unwrap_or("application/octet-stream"); - let content_type = super::ContentType::from(content_type); - - if !status.is_client_error() && !status.is_server_error() { - let content = resp.text().await?; - match content_type { - ContentType::Json => serde_json::from_str(&content).map_err(Error::from), - ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NamespacesRunnerConfigsGetResponse`"))), - ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NamespacesRunnerConfigsGetResponse`")))), - } - } else { - let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); + let entity: Option = serde_json::from_str(&content).ok(); Err(Error::ResponseError(ResponseContent { status, content, entity })) } } -pub async fn namespaces_runner_configs_list(configuration: &configuration::Configuration, namespace_id: &str, limit: Option, cursor: Option<&str>, variant: Option) -> Result> { +pub async fn runner_configs_list(configuration: &configuration::Configuration, namespace: &str, limit: Option, cursor: Option<&str>, variant: Option, runner_name: Option>) -> Result> { // add a prefix to parameters to efficiently prevent name collisions - let p_namespace_id = namespace_id; + let p_namespace = namespace; let p_limit = limit; let p_cursor = cursor; let p_variant = variant; + let p_runner_name = runner_name; - let uri_str = format!("{}/namespaces/{namespace_id}/runner-configs", configuration.base_path, namespace_id=crate::apis::urlencode(p_namespace_id)); + let uri_str = format!("{}/runner-configs", configuration.base_path); let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + req_builder = req_builder.query(&[("namespace", &p_namespace.to_string())]); if let Some(ref param_value) = p_limit { req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); } @@ -137,6 +96,12 @@ pub async fn namespaces_runner_configs_list(configuration: &configuration::Confi if let Some(ref param_value) = p_variant { req_builder = req_builder.query(&[("variant", ¶m_value.to_string())]); } + if let Some(ref param_value) = p_runner_name { + req_builder = match "multi" { + "multi" => req_builder.query(¶m_value.into_iter().map(|p| ("runner_name".to_owned(), p.to_string())).collect::>()), + _ => req_builder.query(&[("runner_name", ¶m_value.into_iter().map(|p| p.to_string()).collect::>().join(",").to_string())]), + }; + } if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); } @@ -156,29 +121,30 @@ pub async fn namespaces_runner_configs_list(configuration: &configuration::Confi let content = resp.text().await?; match content_type { ContentType::Json => serde_json::from_str(&content).map_err(Error::from), - ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NamespacesRunnerConfigsListResponse`"))), - ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NamespacesRunnerConfigsListResponse`")))), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RunnerConfigsListResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RunnerConfigsListResponse`")))), } } else { let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); + let entity: Option = serde_json::from_str(&content).ok(); Err(Error::ResponseError(ResponseContent { status, content, entity })) } } -pub async fn namespaces_runner_configs_upsert(configuration: &configuration::Configuration, namespace_id: &str, runner_name: &str, body: models::NamespacesRunnerConfig) -> Result> { +pub async fn runner_configs_upsert(configuration: &configuration::Configuration, runner_name: &str, namespace: &str, runner_configs_upsert_request: models::RunnerConfigsUpsertRequest) -> Result> { // add a prefix to parameters to efficiently prevent name collisions - let p_namespace_id = namespace_id; let p_runner_name = runner_name; - let p_body = body; + let p_namespace = namespace; + let p_runner_configs_upsert_request = runner_configs_upsert_request; - let uri_str = format!("{}/namespaces/{namespace_id}/runner-configs/{runner_name}", configuration.base_path, namespace_id=crate::apis::urlencode(p_namespace_id), runner_name=crate::apis::urlencode(p_runner_name)); + let uri_str = format!("{}/runner-configs/{runner_name}", configuration.base_path, runner_name=crate::apis::urlencode(p_runner_name)); let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str); + req_builder = req_builder.query(&[("namespace", &p_namespace.to_string())]); if let Some(ref user_agent) = configuration.user_agent { req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); } - req_builder = req_builder.json(&p_body); + req_builder = req_builder.json(&p_runner_configs_upsert_request); let req = req_builder.build()?; let resp = configuration.client.execute(req).await?; @@ -200,7 +166,7 @@ pub async fn namespaces_runner_configs_upsert(configuration: &configuration::Con } } else { let content = resp.text().await?; - let entity: Option = serde_json::from_str(&content).ok(); + let entity: Option = serde_json::from_str(&content).ok(); Err(Error::ResponseError(ResponseContent { status, content, entity })) } } diff --git a/sdks/rust/api-full/rust/src/apis/runners_api.rs b/sdks/rust/api-full/rust/src/apis/runners_api.rs index 4a703ed2c1..15897860e7 100644 --- a/sdks/rust/api-full/rust/src/apis/runners_api.rs +++ b/sdks/rust/api-full/rust/src/apis/runners_api.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actor.rs b/sdks/rust/api-full/rust/src/models/actor.rs index aa77b86831..a70d8595d3 100644 --- a/sdks/rust/api-full/rust/src/models/actor.rs +++ b/sdks/rust/api-full/rust/src/models/actor.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actor_name.rs b/sdks/rust/api-full/rust/src/models/actor_name.rs index 6ebc210566..80e94a7f6e 100644 --- a/sdks/rust/api-full/rust/src/models/actor_name.rs +++ b/sdks/rust/api-full/rust/src/models/actor_name.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_create_request.rs b/sdks/rust/api-full/rust/src/models/actors_create_request.rs index 26971e6596..1f00a917c1 100644 --- a/sdks/rust/api-full/rust/src/models/actors_create_request.rs +++ b/sdks/rust/api-full/rust/src/models/actors_create_request.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_create_response.rs b/sdks/rust/api-full/rust/src/models/actors_create_response.rs index 8266305292..552fff3484 100644 --- a/sdks/rust/api-full/rust/src/models/actors_create_response.rs +++ b/sdks/rust/api-full/rust/src/models/actors_create_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_get_by_id_response.rs b/sdks/rust/api-full/rust/src/models/actors_get_by_id_response.rs index c314dcfee3..802548991a 100644 --- a/sdks/rust/api-full/rust/src/models/actors_get_by_id_response.rs +++ b/sdks/rust/api-full/rust/src/models/actors_get_by_id_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_get_or_create_by_id_request.rs b/sdks/rust/api-full/rust/src/models/actors_get_or_create_by_id_request.rs index 0a5a9ae464..aa448fa037 100644 --- a/sdks/rust/api-full/rust/src/models/actors_get_or_create_by_id_request.rs +++ b/sdks/rust/api-full/rust/src/models/actors_get_or_create_by_id_request.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_get_or_create_by_id_response.rs b/sdks/rust/api-full/rust/src/models/actors_get_or_create_by_id_response.rs index 88d2df9902..a6f8bad968 100644 --- a/sdks/rust/api-full/rust/src/models/actors_get_or_create_by_id_response.rs +++ b/sdks/rust/api-full/rust/src/models/actors_get_or_create_by_id_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_get_or_create_request.rs b/sdks/rust/api-full/rust/src/models/actors_get_or_create_request.rs index 1afa86f06f..91fef4cb84 100644 --- a/sdks/rust/api-full/rust/src/models/actors_get_or_create_request.rs +++ b/sdks/rust/api-full/rust/src/models/actors_get_or_create_request.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_get_or_create_response.rs b/sdks/rust/api-full/rust/src/models/actors_get_or_create_response.rs index c0839c13f3..98b2cc5e4b 100644 --- a/sdks/rust/api-full/rust/src/models/actors_get_or_create_response.rs +++ b/sdks/rust/api-full/rust/src/models/actors_get_or_create_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_get_response.rs b/sdks/rust/api-full/rust/src/models/actors_get_response.rs index 46e37a3148..c9c9996963 100644 --- a/sdks/rust/api-full/rust/src/models/actors_get_response.rs +++ b/sdks/rust/api-full/rust/src/models/actors_get_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_list_names_response.rs b/sdks/rust/api-full/rust/src/models/actors_list_names_response.rs index 38bf7a3c2c..d7b30eef5a 100644 --- a/sdks/rust/api-full/rust/src/models/actors_list_names_response.rs +++ b/sdks/rust/api-full/rust/src/models/actors_list_names_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/actors_list_response.rs b/sdks/rust/api-full/rust/src/models/actors_list_response.rs index c89eb21282..78499463b3 100644 --- a/sdks/rust/api-full/rust/src/models/actors_list_response.rs +++ b/sdks/rust/api-full/rust/src/models/actors_list_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/crash_policy.rs b/sdks/rust/api-full/rust/src/models/crash_policy.rs index 921e3f2bca..5ab95d51b2 100644 --- a/sdks/rust/api-full/rust/src/models/crash_policy.rs +++ b/sdks/rust/api-full/rust/src/models/crash_policy.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/datacenter.rs b/sdks/rust/api-full/rust/src/models/datacenter.rs index f3702a2bb6..6399e56d95 100644 --- a/sdks/rust/api-full/rust/src/models/datacenter.rs +++ b/sdks/rust/api-full/rust/src/models/datacenter.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/datacenters_list_response.rs b/sdks/rust/api-full/rust/src/models/datacenters_list_response.rs index 4ec73d25fd..05795eb0da 100644 --- a/sdks/rust/api-full/rust/src/models/datacenters_list_response.rs +++ b/sdks/rust/api-full/rust/src/models/datacenters_list_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/mod.rs b/sdks/rust/api-full/rust/src/models/mod.rs index 047d21e036..a3325072a3 100644 --- a/sdks/rust/api-full/rust/src/models/mod.rs +++ b/sdks/rust/api-full/rust/src/models/mod.rs @@ -38,20 +38,20 @@ pub mod namespaces_get_response; pub use self::namespaces_get_response::NamespacesGetResponse; pub mod namespaces_list_response; pub use self::namespaces_list_response::NamespacesListResponse; -pub mod namespaces_runner_config; -pub use self::namespaces_runner_config::NamespacesRunnerConfig; -pub mod namespaces_runner_config_serverless; -pub use self::namespaces_runner_config_serverless::NamespacesRunnerConfigServerless; -pub mod namespaces_runner_config_variant; -pub use self::namespaces_runner_config_variant::NamespacesRunnerConfigVariant; -pub mod namespaces_runner_configs_get_response; -pub use self::namespaces_runner_configs_get_response::NamespacesRunnerConfigsGetResponse; -pub mod namespaces_runner_configs_list_response; -pub use self::namespaces_runner_configs_list_response::NamespacesRunnerConfigsListResponse; pub mod pagination; pub use self::pagination::Pagination; pub mod runner; pub use self::runner::Runner; +pub mod runner_config; +pub use self::runner_config::RunnerConfig; +pub mod runner_config_serverless; +pub use self::runner_config_serverless::RunnerConfigServerless; +pub mod runner_config_variant; +pub use self::runner_config_variant::RunnerConfigVariant; +pub mod runner_configs_list_response; +pub use self::runner_configs_list_response::RunnerConfigsListResponse; +pub mod runner_configs_upsert_request; +pub use self::runner_configs_upsert_request::RunnerConfigsUpsertRequest; pub mod runners_get_response; pub use self::runners_get_response::RunnersGetResponse; pub mod runners_list_names_response; diff --git a/sdks/rust/api-full/rust/src/models/namespace.rs b/sdks/rust/api-full/rust/src/models/namespace.rs index 6fd4d636c7..305f3c98a6 100644 --- a/sdks/rust/api-full/rust/src/models/namespace.rs +++ b/sdks/rust/api-full/rust/src/models/namespace.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/namespaces_create_request.rs b/sdks/rust/api-full/rust/src/models/namespaces_create_request.rs index 56d93cdafc..c6f564b098 100644 --- a/sdks/rust/api-full/rust/src/models/namespaces_create_request.rs +++ b/sdks/rust/api-full/rust/src/models/namespaces_create_request.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/namespaces_create_response.rs b/sdks/rust/api-full/rust/src/models/namespaces_create_response.rs index c3b18cc403..d6298987e1 100644 --- a/sdks/rust/api-full/rust/src/models/namespaces_create_response.rs +++ b/sdks/rust/api-full/rust/src/models/namespaces_create_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/namespaces_get_response.rs b/sdks/rust/api-full/rust/src/models/namespaces_get_response.rs index c80611f1bf..aeaed5e703 100644 --- a/sdks/rust/api-full/rust/src/models/namespaces_get_response.rs +++ b/sdks/rust/api-full/rust/src/models/namespaces_get_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/namespaces_list_response.rs b/sdks/rust/api-full/rust/src/models/namespaces_list_response.rs index 5557db89de..9c57c11515 100644 --- a/sdks/rust/api-full/rust/src/models/namespaces_list_response.rs +++ b/sdks/rust/api-full/rust/src/models/namespaces_list_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/namespaces_runner_configs_get_response.rs b/sdks/rust/api-full/rust/src/models/namespaces_runner_configs_get_response.rs deleted file mode 100644 index d15f4e10a9..0000000000 --- a/sdks/rust/api-full/rust/src/models/namespaces_runner_configs_get_response.rs +++ /dev/null @@ -1,27 +0,0 @@ -/* - * rivet-api-public - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 25.6.1 - * Contact: developer@rivet.gg - * Generated by: https://openapi-generator.tech - */ - -use crate::models; -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct NamespacesRunnerConfigsGetResponse { - #[serde(rename = "runner_config")] - pub runner_config: Box, -} - -impl NamespacesRunnerConfigsGetResponse { - pub fn new(runner_config: models::NamespacesRunnerConfig) -> NamespacesRunnerConfigsGetResponse { - NamespacesRunnerConfigsGetResponse { - runner_config: Box::new(runner_config), - } - } -} - diff --git a/sdks/rust/api-full/rust/src/models/pagination.rs b/sdks/rust/api-full/rust/src/models/pagination.rs index e17880d536..f887c81981 100644 --- a/sdks/rust/api-full/rust/src/models/pagination.rs +++ b/sdks/rust/api-full/rust/src/models/pagination.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/runner.rs b/sdks/rust/api-full/rust/src/models/runner.rs index 713e8056b5..7d0eb52b7a 100644 --- a/sdks/rust/api-full/rust/src/models/runner.rs +++ b/sdks/rust/api-full/rust/src/models/runner.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/namespaces_runner_config.rs b/sdks/rust/api-full/rust/src/models/runner_config.rs similarity index 59% rename from sdks/rust/api-full/rust/src/models/namespaces_runner_config.rs rename to sdks/rust/api-full/rust/src/models/runner_config.rs index 0f9ec6f345..9da4b528d4 100644 --- a/sdks/rust/api-full/rust/src/models/namespaces_runner_config.rs +++ b/sdks/rust/api-full/rust/src/models/runner_config.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ @@ -12,14 +12,14 @@ use crate::models; use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct NamespacesRunnerConfig { +pub struct RunnerConfig { #[serde(rename = "serverless")] - pub serverless: Box, + pub serverless: Box, } -impl NamespacesRunnerConfig { - pub fn new(serverless: models::NamespacesRunnerConfigServerless) -> NamespacesRunnerConfig { - NamespacesRunnerConfig { +impl RunnerConfig { + pub fn new(serverless: models::RunnerConfigServerless) -> RunnerConfig { + RunnerConfig { serverless: Box::new(serverless), } } diff --git a/sdks/rust/api-full/rust/src/models/namespaces_runner_config_serverless.rs b/sdks/rust/api-full/rust/src/models/runner_config_serverless.rs similarity index 83% rename from sdks/rust/api-full/rust/src/models/namespaces_runner_config_serverless.rs rename to sdks/rust/api-full/rust/src/models/runner_config_serverless.rs index 5a4553f1c2..67f49bb32e 100644 --- a/sdks/rust/api-full/rust/src/models/namespaces_runner_config_serverless.rs +++ b/sdks/rust/api-full/rust/src/models/runner_config_serverless.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ @@ -12,7 +12,7 @@ use crate::models; use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct NamespacesRunnerConfigServerless { +pub struct RunnerConfigServerless { #[serde(rename = "max_runners")] pub max_runners: i32, #[serde(rename = "min_runners")] @@ -28,9 +28,9 @@ pub struct NamespacesRunnerConfigServerless { pub url: String, } -impl NamespacesRunnerConfigServerless { - pub fn new(max_runners: i32, min_runners: i32, request_lifespan: i32, runners_margin: i32, slots_per_runner: i32, url: String) -> NamespacesRunnerConfigServerless { - NamespacesRunnerConfigServerless { +impl RunnerConfigServerless { + pub fn new(max_runners: i32, min_runners: i32, request_lifespan: i32, runners_margin: i32, slots_per_runner: i32, url: String) -> RunnerConfigServerless { + RunnerConfigServerless { max_runners, min_runners, request_lifespan, diff --git a/sdks/rust/api-full/rust/src/models/namespaces_runner_config_variant.rs b/sdks/rust/api-full/rust/src/models/runner_config_variant.rs similarity index 71% rename from sdks/rust/api-full/rust/src/models/namespaces_runner_config_variant.rs rename to sdks/rust/api-full/rust/src/models/runner_config_variant.rs index 1d24186778..a417e93140 100644 --- a/sdks/rust/api-full/rust/src/models/namespaces_runner_config_variant.rs +++ b/sdks/rust/api-full/rust/src/models/runner_config_variant.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ @@ -13,13 +13,13 @@ use serde::{Deserialize, Serialize}; /// #[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] -pub enum NamespacesRunnerConfigVariant { +pub enum RunnerConfigVariant { #[serde(rename = "serverless")] Serverless, } -impl std::fmt::Display for NamespacesRunnerConfigVariant { +impl std::fmt::Display for RunnerConfigVariant { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { match self { Self::Serverless => write!(f, "serverless"), @@ -27,8 +27,8 @@ impl std::fmt::Display for NamespacesRunnerConfigVariant { } } -impl Default for NamespacesRunnerConfigVariant { - fn default() -> NamespacesRunnerConfigVariant { +impl Default for RunnerConfigVariant { + fn default() -> RunnerConfigVariant { Self::Serverless } } diff --git a/sdks/rust/api-full/rust/src/models/namespaces_runner_configs_list_response.rs b/sdks/rust/api-full/rust/src/models/runner_configs_list_response.rs similarity index 68% rename from sdks/rust/api-full/rust/src/models/namespaces_runner_configs_list_response.rs rename to sdks/rust/api-full/rust/src/models/runner_configs_list_response.rs index 09a73c5cbf..d52292df39 100644 --- a/sdks/rust/api-full/rust/src/models/namespaces_runner_configs_list_response.rs +++ b/sdks/rust/api-full/rust/src/models/runner_configs_list_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ @@ -12,16 +12,16 @@ use crate::models; use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct NamespacesRunnerConfigsListResponse { +pub struct RunnerConfigsListResponse { #[serde(rename = "pagination")] pub pagination: Box, #[serde(rename = "runner_configs")] - pub runner_configs: std::collections::HashMap, + pub runner_configs: std::collections::HashMap, } -impl NamespacesRunnerConfigsListResponse { - pub fn new(pagination: models::Pagination, runner_configs: std::collections::HashMap) -> NamespacesRunnerConfigsListResponse { - NamespacesRunnerConfigsListResponse { +impl RunnerConfigsListResponse { + pub fn new(pagination: models::Pagination, runner_configs: std::collections::HashMap) -> RunnerConfigsListResponse { + RunnerConfigsListResponse { pagination: Box::new(pagination), runner_configs, } diff --git a/sdks/rust/api-full/rust/src/models/runner_configs_upsert_request.rs b/sdks/rust/api-full/rust/src/models/runner_configs_upsert_request.rs new file mode 100644 index 0000000000..3ffa1cb8db --- /dev/null +++ b/sdks/rust/api-full/rust/src/models/runner_configs_upsert_request.rs @@ -0,0 +1,27 @@ +/* + * rivet-api-public + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 25.7.0 + * Contact: developer@rivet.gg + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RunnerConfigsUpsertRequest { + #[serde(rename = "serverless")] + pub serverless: Box, +} + +impl RunnerConfigsUpsertRequest { + pub fn new(serverless: models::RunnerConfigServerless) -> RunnerConfigsUpsertRequest { + RunnerConfigsUpsertRequest { + serverless: Box::new(serverless), + } + } +} + diff --git a/sdks/rust/api-full/rust/src/models/runners_get_response.rs b/sdks/rust/api-full/rust/src/models/runners_get_response.rs index b789a0f25f..b4db23b182 100644 --- a/sdks/rust/api-full/rust/src/models/runners_get_response.rs +++ b/sdks/rust/api-full/rust/src/models/runners_get_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/runners_list_names_response.rs b/sdks/rust/api-full/rust/src/models/runners_list_names_response.rs index b9b820b98c..a1c1fa7615 100644 --- a/sdks/rust/api-full/rust/src/models/runners_list_names_response.rs +++ b/sdks/rust/api-full/rust/src/models/runners_list_names_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/rust/api-full/rust/src/models/runners_list_response.rs b/sdks/rust/api-full/rust/src/models/runners_list_response.rs index 591323d128..04439ff85b 100644 --- a/sdks/rust/api-full/rust/src/models/runners_list_response.rs +++ b/sdks/rust/api-full/rust/src/models/runners_list_response.rs @@ -3,7 +3,7 @@ * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: 25.6.1 + * The version of the OpenAPI document: 25.7.0 * Contact: developer@rivet.gg * Generated by: https://openapi-generator.tech */ diff --git a/sdks/typescript/api-full/package.json b/sdks/typescript/api-full/package.json index 8c3562e7a0..1ee4a6f464 100644 --- a/sdks/typescript/api-full/package.json +++ b/sdks/typescript/api-full/package.json @@ -1,6 +1,6 @@ { "name": "@rivetkit/engine-api-full", - "version": "25.7.0", + "version": "25.7.1", "repository": "https://github.com/rivet-gg/rivet/tree/main/sdks/typescript", "files": [ "dist", diff --git a/sdks/typescript/api-full/src/Client.ts b/sdks/typescript/api-full/src/Client.ts index 616809c65b..bb0f2c5851 100644 --- a/sdks/typescript/api-full/src/Client.ts +++ b/sdks/typescript/api-full/src/Client.ts @@ -9,7 +9,7 @@ import * as serializers from "./serialization/index"; import * as errors from "./errors/index"; import { Datacenters } from "./api/resources/datacenters/client/Client"; import { Namespaces } from "./api/resources/namespaces/client/Client"; -import { NamespacesRunnerConfigs } from "./api/resources/namespacesRunnerConfigs/client/Client"; +import { RunnerConfigs } from "./api/resources/runnerConfigs/client/Client"; import { Runners } from "./api/resources/runners/client/Client"; export declare namespace RivetClient { @@ -35,7 +35,7 @@ export declare namespace RivetClient { export class RivetClient { protected _datacenters: Datacenters | undefined; protected _namespaces: Namespaces | undefined; - protected _namespacesRunnerConfigs: NamespacesRunnerConfigs | undefined; + protected _runnerConfigs: RunnerConfigs | undefined; protected _runners: Runners | undefined; constructor(protected readonly _options: RivetClient.Options) {} @@ -48,8 +48,8 @@ export class RivetClient { return (this._namespaces ??= new Namespaces(this._options)); } - public get namespacesRunnerConfigs(): NamespacesRunnerConfigs { - return (this._namespacesRunnerConfigs ??= new NamespacesRunnerConfigs(this._options)); + public get runnerConfigs(): RunnerConfigs { + return (this._runnerConfigs ??= new RunnerConfigs(this._options)); } public get runners(): Runners { diff --git a/sdks/typescript/api-full/src/api/index.ts b/sdks/typescript/api-full/src/api/index.ts index a931b36375..d3c50802a7 100644 --- a/sdks/typescript/api-full/src/api/index.ts +++ b/sdks/typescript/api-full/src/api/index.ts @@ -1,3 +1,3 @@ -export * from "./types"; export * from "./resources"; +export * from "./types"; export * from "./client"; diff --git a/sdks/typescript/api-full/src/api/resources/index.ts b/sdks/typescript/api-full/src/api/resources/index.ts index 3ffc95a6ee..d094e730b9 100644 --- a/sdks/typescript/api-full/src/api/resources/index.ts +++ b/sdks/typescript/api-full/src/api/resources/index.ts @@ -1,7 +1,8 @@ +export * as runnerConfigs from "./runnerConfigs"; +export * from "./runnerConfigs/types"; export * as datacenters from "./datacenters"; export * as namespaces from "./namespaces"; -export * as namespacesRunnerConfigs from "./namespacesRunnerConfigs"; export * as runners from "./runners"; export * from "./namespaces/client/requests"; -export * from "./namespacesRunnerConfigs/client/requests"; +export * from "./runnerConfigs/client/requests"; export * from "./runners/client/requests"; diff --git a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/requests/NamespacesRunnerConfigsListRequest.ts b/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/requests/NamespacesRunnerConfigsListRequest.ts deleted file mode 100644 index 0036ae2809..0000000000 --- a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/requests/NamespacesRunnerConfigsListRequest.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Rivet from "../../../../index"; - -/** - * @example - * {} - */ -export interface NamespacesRunnerConfigsListRequest { - limit?: number; - cursor?: string; - variant?: Rivet.NamespacesRunnerConfigVariant; -} diff --git a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/requests/index.ts b/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/requests/index.ts deleted file mode 100644 index 5c4c33a5b5..0000000000 --- a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/requests/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { type NamespacesRunnerConfigsListRequest } from "./NamespacesRunnerConfigsListRequest"; diff --git a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/Client.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/Client.ts similarity index 56% rename from sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/Client.ts rename to sdks/typescript/api-full/src/api/resources/runnerConfigs/client/Client.ts index 8bbb7cc27d..7f2775e602 100644 --- a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/Client.ts +++ b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/Client.ts @@ -8,7 +8,7 @@ import * as serializers from "../../../../serialization/index"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; -export declare namespace NamespacesRunnerConfigs { +export declare namespace RunnerConfigs { export interface Options { environment: core.Supplier; /** Specify a custom URL to connect the client to. */ @@ -28,24 +28,25 @@ export declare namespace NamespacesRunnerConfigs { } } -export class NamespacesRunnerConfigs { - constructor(protected readonly _options: NamespacesRunnerConfigs.Options) {} +export class RunnerConfigs { + constructor(protected readonly _options: RunnerConfigs.Options) {} /** - * @param {Rivet.RivetId} namespaceId - * @param {Rivet.NamespacesRunnerConfigsListRequest} request - * @param {NamespacesRunnerConfigs.RequestOptions} requestOptions - Request-specific configuration. + * @param {Rivet.RunnerConfigsListRequest} request + * @param {RunnerConfigs.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.namespacesRunnerConfigs.list("namespace_id") + * await client.runnerConfigs.list({ + * namespace: "namespace" + * }) */ public async list( - namespaceId: Rivet.RivetId, - request: Rivet.NamespacesRunnerConfigsListRequest = {}, - requestOptions?: NamespacesRunnerConfigs.RequestOptions, - ): Promise { - const { limit, cursor, variant } = request; + request: Rivet.RunnerConfigsListRequest, + requestOptions?: RunnerConfigs.RequestOptions, + ): Promise { + const { namespace, limit, cursor, variant, runnerName } = request; const _queryParams: Record = {}; + _queryParams["namespace"] = namespace; if (limit != null) { _queryParams["limit"] = limit.toString(); } @@ -55,83 +56,24 @@ export class NamespacesRunnerConfigs { } if (variant != null) { - _queryParams["variant"] = serializers.NamespacesRunnerConfigVariant.jsonOrThrow(variant, { + _queryParams["variant"] = serializers.RunnerConfigVariant.jsonOrThrow(variant, { unrecognizedObjectKeys: "strip", }); } - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: urlJoin( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)), - `namespaces/${encodeURIComponent(serializers.RivetId.jsonOrThrow(namespaceId))}/runner-configs`, - ), - method: "GET", - headers: { - "X-Fern-Language": "JavaScript", - "X-Fern-Runtime": core.RUNTIME.type, - "X-Fern-Runtime-Version": core.RUNTIME.version, - ...requestOptions?.headers, - }, - contentType: "application/json", - queryParameters: _queryParams, - requestType: "json", - timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000, - maxRetries: requestOptions?.maxRetries, - abortSignal: requestOptions?.abortSignal, - }); - if (_response.ok) { - return serializers.NamespacesRunnerConfigsListResponse.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }); - } - - if (_response.error.reason === "status-code") { - throw new errors.RivetError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - }); + if (runnerName != null) { + if (Array.isArray(runnerName)) { + _queryParams["runner_name"] = runnerName.map((item) => item); + } else { + _queryParams["runner_name"] = runnerName; + } } - switch (_response.error.reason) { - case "non-json": - throw new errors.RivetError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - }); - case "timeout": - throw new errors.RivetTimeoutError( - "Timeout exceeded when calling GET /namespaces/{namespace_id}/runner-configs.", - ); - case "unknown": - throw new errors.RivetError({ - message: _response.error.errorMessage, - }); - } - } - - /** - * @param {Rivet.RivetId} namespaceId - * @param {string} runnerName - * @param {NamespacesRunnerConfigs.RequestOptions} requestOptions - Request-specific configuration. - * - * @example - * await client.namespacesRunnerConfigs.get("namespace_id", "runner_name") - */ - public async get( - namespaceId: Rivet.RivetId, - runnerName: string, - requestOptions?: NamespacesRunnerConfigs.RequestOptions, - ): Promise { const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)), - `namespaces/${encodeURIComponent(serializers.RivetId.jsonOrThrow(namespaceId))}/runner-configs/${encodeURIComponent(runnerName)}`, + "runner-configs", ), method: "GET", headers: { @@ -141,13 +83,14 @@ export class NamespacesRunnerConfigs { ...requestOptions?.headers, }, contentType: "application/json", + queryParameters: _queryParams, requestType: "json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.NamespacesRunnerConfigsGetResponse.parseOrThrow(_response.body, { + return serializers.RunnerConfigsListResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -170,9 +113,7 @@ export class NamespacesRunnerConfigs { body: _response.error.rawBody, }); case "timeout": - throw new errors.RivetTimeoutError( - "Timeout exceeded when calling GET /namespaces/{namespace_id}/runner-configs/{runner_name}.", - ); + throw new errors.RivetTimeoutError("Timeout exceeded when calling GET /runner-configs."); case "unknown": throw new errors.RivetError({ message: _response.error.errorMessage, @@ -181,13 +122,13 @@ export class NamespacesRunnerConfigs { } /** - * @param {Rivet.RivetId} namespaceId * @param {string} runnerName - * @param {Rivet.NamespacesRunnerConfigsUpsertRequest} request - * @param {NamespacesRunnerConfigs.RequestOptions} requestOptions - Request-specific configuration. + * @param {Rivet.RunnerConfigsUpsertRequest} request + * @param {RunnerConfigs.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.namespacesRunnerConfigs.upsert("namespace_id", "runner_name", { + * await client.runnerConfigs.upsert("runner_name", { + * namespace: "namespace", * serverless: { * maxRunners: 1, * minRunners: 1, @@ -199,16 +140,18 @@ export class NamespacesRunnerConfigs { * }) */ public async upsert( - namespaceId: Rivet.RivetId, runnerName: string, - request: Rivet.NamespacesRunnerConfigsUpsertRequest, - requestOptions?: NamespacesRunnerConfigs.RequestOptions, - ): Promise { + request: Rivet.RunnerConfigsUpsertRequest, + requestOptions?: RunnerConfigs.RequestOptions, + ): Promise { + const { namespace, ..._body } = request; + const _queryParams: Record = {}; + _queryParams["namespace"] = namespace; const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)), - `namespaces/${encodeURIComponent(serializers.RivetId.jsonOrThrow(namespaceId))}/runner-configs/${encodeURIComponent(runnerName)}`, + `runner-configs/${encodeURIComponent(runnerName)}`, ), method: "PUT", headers: { @@ -218,16 +161,15 @@ export class NamespacesRunnerConfigs { ...requestOptions?.headers, }, contentType: "application/json", + queryParameters: _queryParams, requestType: "json", - body: serializers.NamespacesRunnerConfigsUpsertRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - }), + body: serializers.RunnerConfigsUpsertRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.NamespacesRunnerConfigsUpsertResponse.parseOrThrow(_response.body, { + return serializers.RunnerConfigsUpsertResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -250,9 +192,7 @@ export class NamespacesRunnerConfigs { body: _response.error.rawBody, }); case "timeout": - throw new errors.RivetTimeoutError( - "Timeout exceeded when calling PUT /namespaces/{namespace_id}/runner-configs/{runner_name}.", - ); + throw new errors.RivetTimeoutError("Timeout exceeded when calling PUT /runner-configs/{runner_name}."); case "unknown": throw new errors.RivetError({ message: _response.error.errorMessage, @@ -261,23 +201,28 @@ export class NamespacesRunnerConfigs { } /** - * @param {Rivet.RivetId} namespaceId * @param {string} runnerName - * @param {NamespacesRunnerConfigs.RequestOptions} requestOptions - Request-specific configuration. + * @param {Rivet.RunnerConfigsDeleteRequest} request + * @param {RunnerConfigs.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.namespacesRunnerConfigs.delete("namespace_id", "runner_name") + * await client.runnerConfigs.delete("runner_name", { + * namespace: "namespace" + * }) */ public async delete( - namespaceId: Rivet.RivetId, runnerName: string, - requestOptions?: NamespacesRunnerConfigs.RequestOptions, - ): Promise { + request: Rivet.RunnerConfigsDeleteRequest, + requestOptions?: RunnerConfigs.RequestOptions, + ): Promise { + const { namespace } = request; + const _queryParams: Record = {}; + _queryParams["namespace"] = namespace; const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)), - `namespaces/${encodeURIComponent(serializers.RivetId.jsonOrThrow(namespaceId))}/runner-configs/${encodeURIComponent(runnerName)}`, + `runner-configs/${encodeURIComponent(runnerName)}`, ), method: "DELETE", headers: { @@ -287,13 +232,14 @@ export class NamespacesRunnerConfigs { ...requestOptions?.headers, }, contentType: "application/json", + queryParameters: _queryParams, requestType: "json", timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return serializers.NamespacesRunnerConfigsDeleteResponse.parseOrThrow(_response.body, { + return serializers.RunnerConfigsDeleteResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -317,7 +263,7 @@ export class NamespacesRunnerConfigs { }); case "timeout": throw new errors.RivetTimeoutError( - "Timeout exceeded when calling DELETE /namespaces/{namespace_id}/runner-configs/{runner_name}.", + "Timeout exceeded when calling DELETE /runner-configs/{runner_name}.", ); case "unknown": throw new errors.RivetError({ diff --git a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/index.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/index.ts similarity index 100% rename from sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/client/index.ts rename to sdks/typescript/api-full/src/api/resources/runnerConfigs/client/index.ts diff --git a/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsDeleteRequest.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsDeleteRequest.ts new file mode 100644 index 0000000000..39c78ac5cf --- /dev/null +++ b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsDeleteRequest.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * { + * namespace: "namespace" + * } + */ +export interface RunnerConfigsDeleteRequest { + namespace: string; +} diff --git a/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsListRequest.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsListRequest.ts new file mode 100644 index 0000000000..e73d7778eb --- /dev/null +++ b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsListRequest.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Rivet from "../../../../index"; + +/** + * @example + * { + * namespace: "namespace" + * } + */ +export interface RunnerConfigsListRequest { + namespace: string; + limit?: number; + cursor?: string; + variant?: Rivet.RunnerConfigVariant; + runnerName?: string | string[]; +} diff --git a/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsUpsertRequest.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsUpsertRequest.ts new file mode 100644 index 0000000000..eed1172004 --- /dev/null +++ b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/RunnerConfigsUpsertRequest.ts @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Rivet from "../../../../index"; + +/** + * @example + * { + * namespace: "namespace", + * serverless: { + * maxRunners: 1, + * minRunners: 1, + * requestLifespan: 1, + * runnersMargin: 1, + * slotsPerRunner: 1, + * url: "url" + * } + * } + */ +export interface RunnerConfigsUpsertRequest { + namespace: string; + serverless: Rivet.RunnerConfigsUpsertRequestServerless; +} diff --git a/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/index.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/index.ts new file mode 100644 index 0000000000..71de4158d0 --- /dev/null +++ b/sdks/typescript/api-full/src/api/resources/runnerConfigs/client/requests/index.ts @@ -0,0 +1,3 @@ +export { type RunnerConfigsListRequest } from "./RunnerConfigsListRequest"; +export { type RunnerConfigsUpsertRequest } from "./RunnerConfigsUpsertRequest"; +export { type RunnerConfigsDeleteRequest } from "./RunnerConfigsDeleteRequest"; diff --git a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/index.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/index.ts similarity index 50% rename from sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/index.ts rename to sdks/typescript/api-full/src/api/resources/runnerConfigs/index.ts index 5ec76921e1..c9240f83b4 100644 --- a/sdks/typescript/api-full/src/api/resources/namespacesRunnerConfigs/index.ts +++ b/sdks/typescript/api-full/src/api/resources/runnerConfigs/index.ts @@ -1 +1,2 @@ +export * from "./types"; export * from "./client"; diff --git a/sdks/typescript/api-full/src/api/resources/runnerConfigs/types/RunnerConfigsUpsertRequestServerless.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/types/RunnerConfigsUpsertRequestServerless.ts new file mode 100644 index 0000000000..8010e452a5 --- /dev/null +++ b/sdks/typescript/api-full/src/api/resources/runnerConfigs/types/RunnerConfigsUpsertRequestServerless.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface RunnerConfigsUpsertRequestServerless { + maxRunners: number; + minRunners: number; + /** Seconds. */ + requestLifespan: number; + runnersMargin: number; + slotsPerRunner: number; + url: string; +} diff --git a/sdks/typescript/api-full/src/api/resources/runnerConfigs/types/index.ts b/sdks/typescript/api-full/src/api/resources/runnerConfigs/types/index.ts new file mode 100644 index 0000000000..2209b0d8df --- /dev/null +++ b/sdks/typescript/api-full/src/api/resources/runnerConfigs/types/index.ts @@ -0,0 +1 @@ +export * from "./RunnerConfigsUpsertRequestServerless"; diff --git a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfig.ts b/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfig.ts deleted file mode 100644 index 538e19e4c9..0000000000 --- a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfig.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Rivet from "../index"; - -export interface NamespacesRunnerConfig { - serverless: Rivet.NamespacesRunnerConfigServerless; -} diff --git a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsDeleteResponse.ts b/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsDeleteResponse.ts deleted file mode 100644 index f5270b51ae..0000000000 --- a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsDeleteResponse.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type NamespacesRunnerConfigsDeleteResponse = Record; diff --git a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsGetResponse.ts b/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsGetResponse.ts deleted file mode 100644 index 9a7755f669..0000000000 --- a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsGetResponse.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as Rivet from "../index"; - -export interface NamespacesRunnerConfigsGetResponse { - runnerConfig: Rivet.NamespacesRunnerConfig; -} diff --git a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsUpsertResponse.ts b/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsUpsertResponse.ts deleted file mode 100644 index 5411ad11bd..0000000000 --- a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsUpsertResponse.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -export type NamespacesRunnerConfigsUpsertResponse = Record; diff --git a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsUpsertRequest.ts b/sdks/typescript/api-full/src/api/types/RunnerConfig.ts similarity index 57% rename from sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsUpsertRequest.ts rename to sdks/typescript/api-full/src/api/types/RunnerConfig.ts index 72726205ed..d8494903e1 100644 --- a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsUpsertRequest.ts +++ b/sdks/typescript/api-full/src/api/types/RunnerConfig.ts @@ -4,4 +4,6 @@ import * as Rivet from "../index"; -export type NamespacesRunnerConfigsUpsertRequest = Rivet.NamespacesRunnerConfig; +export interface RunnerConfig { + serverless: Rivet.RunnerConfigServerless; +} diff --git a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigServerless.ts b/sdks/typescript/api-full/src/api/types/RunnerConfigServerless.ts similarity index 82% rename from sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigServerless.ts rename to sdks/typescript/api-full/src/api/types/RunnerConfigServerless.ts index 692699acbc..bf1512bcc7 100644 --- a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigServerless.ts +++ b/sdks/typescript/api-full/src/api/types/RunnerConfigServerless.ts @@ -2,7 +2,7 @@ * This file was auto-generated by Fern from our API Definition. */ -export interface NamespacesRunnerConfigServerless { +export interface RunnerConfigServerless { maxRunners: number; minRunners: number; /** Seconds. */ diff --git a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigVariant.ts b/sdks/typescript/api-full/src/api/types/RunnerConfigVariant.ts similarity index 56% rename from sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigVariant.ts rename to sdks/typescript/api-full/src/api/types/RunnerConfigVariant.ts index 8b73becdf1..71f7803e4c 100644 --- a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigVariant.ts +++ b/sdks/typescript/api-full/src/api/types/RunnerConfigVariant.ts @@ -2,4 +2,4 @@ * This file was auto-generated by Fern from our API Definition. */ -export type NamespacesRunnerConfigVariant = "serverless"; +export type RunnerConfigVariant = "serverless"; diff --git a/sdks/typescript/api-full/src/api/types/RunnerConfigsDeleteResponse.ts b/sdks/typescript/api-full/src/api/types/RunnerConfigsDeleteResponse.ts new file mode 100644 index 0000000000..90614db7b8 --- /dev/null +++ b/sdks/typescript/api-full/src/api/types/RunnerConfigsDeleteResponse.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type RunnerConfigsDeleteResponse = Record; diff --git a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsListResponse.ts b/sdks/typescript/api-full/src/api/types/RunnerConfigsListResponse.ts similarity index 54% rename from sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsListResponse.ts rename to sdks/typescript/api-full/src/api/types/RunnerConfigsListResponse.ts index 7140ec63c5..61841498fd 100644 --- a/sdks/typescript/api-full/src/api/types/NamespacesRunnerConfigsListResponse.ts +++ b/sdks/typescript/api-full/src/api/types/RunnerConfigsListResponse.ts @@ -4,7 +4,7 @@ import * as Rivet from "../index"; -export interface NamespacesRunnerConfigsListResponse { +export interface RunnerConfigsListResponse { pagination: Rivet.Pagination; - runnerConfigs: Record; + runnerConfigs: Record; } diff --git a/sdks/typescript/api-full/src/api/types/RunnerConfigsUpsertResponse.ts b/sdks/typescript/api-full/src/api/types/RunnerConfigsUpsertResponse.ts new file mode 100644 index 0000000000..150899aeca --- /dev/null +++ b/sdks/typescript/api-full/src/api/types/RunnerConfigsUpsertResponse.ts @@ -0,0 +1,5 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export type RunnerConfigsUpsertResponse = Record; diff --git a/sdks/typescript/api-full/src/api/types/index.ts b/sdks/typescript/api-full/src/api/types/index.ts index c2dbb33ae5..e2ee18b8fb 100644 --- a/sdks/typescript/api-full/src/api/types/index.ts +++ b/sdks/typescript/api-full/src/api/types/index.ts @@ -15,17 +15,15 @@ export * from "./Namespace"; export * from "./NamespacesCreateResponse"; export * from "./NamespacesGetResponse"; export * from "./NamespacesListResponse"; -export * from "./NamespacesRunnerConfigServerless"; -export * from "./NamespacesRunnerConfig"; -export * from "./NamespacesRunnerConfigVariant"; -export * from "./NamespacesRunnerConfigsDeleteResponse"; -export * from "./NamespacesRunnerConfigsGetResponse"; -export * from "./NamespacesRunnerConfigsListResponse"; -export * from "./NamespacesRunnerConfigsUpsertRequest"; -export * from "./NamespacesRunnerConfigsUpsertResponse"; export * from "./Pagination"; export * from "./RivetId"; export * from "./Runner"; +export * from "./RunnerConfigServerless"; +export * from "./RunnerConfig"; +export * from "./RunnerConfigVariant"; +export * from "./RunnerConfigsDeleteResponse"; +export * from "./RunnerConfigsListResponse"; +export * from "./RunnerConfigsUpsertResponse"; export * from "./RunnersGetResponse"; export * from "./RunnersListNamesResponse"; export * from "./RunnersListResponse"; diff --git a/sdks/typescript/api-full/src/serialization/index.ts b/sdks/typescript/api-full/src/serialization/index.ts index 848e75abd1..d3c50802a7 100644 --- a/sdks/typescript/api-full/src/serialization/index.ts +++ b/sdks/typescript/api-full/src/serialization/index.ts @@ -1,3 +1,3 @@ +export * from "./resources"; export * from "./types"; export * from "./client"; -export * from "./resources"; diff --git a/sdks/typescript/api-full/src/serialization/resources/index.ts b/sdks/typescript/api-full/src/serialization/resources/index.ts index 8875177418..7bddd29171 100644 --- a/sdks/typescript/api-full/src/serialization/resources/index.ts +++ b/sdks/typescript/api-full/src/serialization/resources/index.ts @@ -1,2 +1,5 @@ +export * as runnerConfigs from "./runnerConfigs"; +export * from "./runnerConfigs/types"; export * as namespaces from "./namespaces"; export * from "./namespaces/client/requests"; +export * from "./runnerConfigs/client/requests"; diff --git a/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/index.ts b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/index.ts new file mode 100644 index 0000000000..415726b7fe --- /dev/null +++ b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/index.ts @@ -0,0 +1 @@ +export * from "./requests"; diff --git a/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/requests/RunnerConfigsUpsertRequest.ts b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/requests/RunnerConfigsUpsertRequest.ts new file mode 100644 index 0000000000..555fe4ad22 --- /dev/null +++ b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/requests/RunnerConfigsUpsertRequest.ts @@ -0,0 +1,21 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../../index"; +import * as Rivet from "../../../../../api/index"; +import * as core from "../../../../../core"; +import { RunnerConfigsUpsertRequestServerless } from "../../types/RunnerConfigsUpsertRequestServerless"; + +export const RunnerConfigsUpsertRequest: core.serialization.Schema< + serializers.RunnerConfigsUpsertRequest.Raw, + Omit +> = core.serialization.object({ + serverless: RunnerConfigsUpsertRequestServerless, +}); + +export declare namespace RunnerConfigsUpsertRequest { + export interface Raw { + serverless: RunnerConfigsUpsertRequestServerless.Raw; + } +} diff --git a/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/requests/index.ts b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/requests/index.ts new file mode 100644 index 0000000000..30688cb9e4 --- /dev/null +++ b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/client/requests/index.ts @@ -0,0 +1 @@ +export { RunnerConfigsUpsertRequest } from "./RunnerConfigsUpsertRequest"; diff --git a/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/index.ts b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/index.ts new file mode 100644 index 0000000000..c9240f83b4 --- /dev/null +++ b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/index.ts @@ -0,0 +1,2 @@ +export * from "./types"; +export * from "./client"; diff --git a/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/types/RunnerConfigsUpsertRequestServerless.ts b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/types/RunnerConfigsUpsertRequestServerless.ts new file mode 100644 index 0000000000..218dab97ec --- /dev/null +++ b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/types/RunnerConfigsUpsertRequestServerless.ts @@ -0,0 +1,30 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../../../index"; +import * as Rivet from "../../../../api/index"; +import * as core from "../../../../core"; + +export const RunnerConfigsUpsertRequestServerless: core.serialization.ObjectSchema< + serializers.RunnerConfigsUpsertRequestServerless.Raw, + Rivet.RunnerConfigsUpsertRequestServerless +> = core.serialization.object({ + maxRunners: core.serialization.property("max_runners", core.serialization.number()), + minRunners: core.serialization.property("min_runners", core.serialization.number()), + requestLifespan: core.serialization.property("request_lifespan", core.serialization.number()), + runnersMargin: core.serialization.property("runners_margin", core.serialization.number()), + slotsPerRunner: core.serialization.property("slots_per_runner", core.serialization.number()), + url: core.serialization.string(), +}); + +export declare namespace RunnerConfigsUpsertRequestServerless { + export interface Raw { + max_runners: number; + min_runners: number; + request_lifespan: number; + runners_margin: number; + slots_per_runner: number; + url: string; + } +} diff --git a/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/types/index.ts b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/types/index.ts new file mode 100644 index 0000000000..2209b0d8df --- /dev/null +++ b/sdks/typescript/api-full/src/serialization/resources/runnerConfigs/types/index.ts @@ -0,0 +1 @@ +export * from "./RunnerConfigsUpsertRequestServerless"; diff --git a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfig.ts b/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfig.ts deleted file mode 100644 index 76b78b5387..0000000000 --- a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfig.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Rivet from "../../api/index"; -import * as core from "../../core"; -import { NamespacesRunnerConfigServerless } from "./NamespacesRunnerConfigServerless"; - -export const NamespacesRunnerConfig: core.serialization.ObjectSchema< - serializers.NamespacesRunnerConfig.Raw, - Rivet.NamespacesRunnerConfig -> = core.serialization.object({ - serverless: NamespacesRunnerConfigServerless, -}); - -export declare namespace NamespacesRunnerConfig { - export interface Raw { - serverless: NamespacesRunnerConfigServerless.Raw; - } -} diff --git a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsGetResponse.ts b/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsGetResponse.ts deleted file mode 100644 index 728f3def3c..0000000000 --- a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsGetResponse.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Rivet from "../../api/index"; -import * as core from "../../core"; -import { NamespacesRunnerConfig } from "./NamespacesRunnerConfig"; - -export const NamespacesRunnerConfigsGetResponse: core.serialization.ObjectSchema< - serializers.NamespacesRunnerConfigsGetResponse.Raw, - Rivet.NamespacesRunnerConfigsGetResponse -> = core.serialization.object({ - runnerConfig: core.serialization.property("runner_config", NamespacesRunnerConfig), -}); - -export declare namespace NamespacesRunnerConfigsGetResponse { - export interface Raw { - runner_config: NamespacesRunnerConfig.Raw; - } -} diff --git a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsListResponse.ts b/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsListResponse.ts deleted file mode 100644 index cdcd039091..0000000000 --- a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsListResponse.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Rivet from "../../api/index"; -import * as core from "../../core"; -import { Pagination } from "./Pagination"; -import { NamespacesRunnerConfig } from "./NamespacesRunnerConfig"; - -export const NamespacesRunnerConfigsListResponse: core.serialization.ObjectSchema< - serializers.NamespacesRunnerConfigsListResponse.Raw, - Rivet.NamespacesRunnerConfigsListResponse -> = core.serialization.object({ - pagination: Pagination, - runnerConfigs: core.serialization.property( - "runner_configs", - core.serialization.record(core.serialization.string(), NamespacesRunnerConfig), - ), -}); - -export declare namespace NamespacesRunnerConfigsListResponse { - export interface Raw { - pagination: Pagination.Raw; - runner_configs: Record; - } -} diff --git a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsUpsertRequest.ts b/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsUpsertRequest.ts deleted file mode 100644 index 899d4d009b..0000000000 --- a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsUpsertRequest.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file was auto-generated by Fern from our API Definition. - */ - -import * as serializers from "../index"; -import * as Rivet from "../../api/index"; -import * as core from "../../core"; -import { NamespacesRunnerConfig } from "./NamespacesRunnerConfig"; - -export const NamespacesRunnerConfigsUpsertRequest: core.serialization.ObjectSchema< - serializers.NamespacesRunnerConfigsUpsertRequest.Raw, - Rivet.NamespacesRunnerConfigsUpsertRequest -> = NamespacesRunnerConfig; - -export declare namespace NamespacesRunnerConfigsUpsertRequest { - export type Raw = NamespacesRunnerConfig.Raw; -} diff --git a/sdks/typescript/api-full/src/serialization/types/RunnerConfig.ts b/sdks/typescript/api-full/src/serialization/types/RunnerConfig.ts new file mode 100644 index 0000000000..7f17e207bc --- /dev/null +++ b/sdks/typescript/api-full/src/serialization/types/RunnerConfig.ts @@ -0,0 +1,19 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Rivet from "../../api/index"; +import * as core from "../../core"; +import { RunnerConfigServerless } from "./RunnerConfigServerless"; + +export const RunnerConfig: core.serialization.ObjectSchema = + core.serialization.object({ + serverless: RunnerConfigServerless, + }); + +export declare namespace RunnerConfig { + export interface Raw { + serverless: RunnerConfigServerless.Raw; + } +} diff --git a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigServerless.ts b/sdks/typescript/api-full/src/serialization/types/RunnerConfigServerless.ts similarity index 80% rename from sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigServerless.ts rename to sdks/typescript/api-full/src/serialization/types/RunnerConfigServerless.ts index 3a43d41636..6ef29cd106 100644 --- a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigServerless.ts +++ b/sdks/typescript/api-full/src/serialization/types/RunnerConfigServerless.ts @@ -6,9 +6,9 @@ import * as serializers from "../index"; import * as Rivet from "../../api/index"; import * as core from "../../core"; -export const NamespacesRunnerConfigServerless: core.serialization.ObjectSchema< - serializers.NamespacesRunnerConfigServerless.Raw, - Rivet.NamespacesRunnerConfigServerless +export const RunnerConfigServerless: core.serialization.ObjectSchema< + serializers.RunnerConfigServerless.Raw, + Rivet.RunnerConfigServerless > = core.serialization.object({ maxRunners: core.serialization.property("max_runners", core.serialization.number()), minRunners: core.serialization.property("min_runners", core.serialization.number()), @@ -18,7 +18,7 @@ export const NamespacesRunnerConfigServerless: core.serialization.ObjectSchema< url: core.serialization.string(), }); -export declare namespace NamespacesRunnerConfigServerless { +export declare namespace RunnerConfigServerless { export interface Raw { max_runners: number; min_runners: number; diff --git a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigVariant.ts b/sdks/typescript/api-full/src/serialization/types/RunnerConfigVariant.ts similarity index 56% rename from sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigVariant.ts rename to sdks/typescript/api-full/src/serialization/types/RunnerConfigVariant.ts index bf81ed8234..fa31b944a8 100644 --- a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigVariant.ts +++ b/sdks/typescript/api-full/src/serialization/types/RunnerConfigVariant.ts @@ -6,11 +6,11 @@ import * as serializers from "../index"; import * as Rivet from "../../api/index"; import * as core from "../../core"; -export const NamespacesRunnerConfigVariant: core.serialization.Schema< - serializers.NamespacesRunnerConfigVariant.Raw, - Rivet.NamespacesRunnerConfigVariant +export const RunnerConfigVariant: core.serialization.Schema< + serializers.RunnerConfigVariant.Raw, + Rivet.RunnerConfigVariant > = core.serialization.stringLiteral("serverless"); -export declare namespace NamespacesRunnerConfigVariant { +export declare namespace RunnerConfigVariant { export type Raw = "serverless"; } diff --git a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsDeleteResponse.ts b/sdks/typescript/api-full/src/serialization/types/RunnerConfigsDeleteResponse.ts similarity index 57% rename from sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsDeleteResponse.ts rename to sdks/typescript/api-full/src/serialization/types/RunnerConfigsDeleteResponse.ts index ad022d0a0a..1d95896ebc 100644 --- a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsDeleteResponse.ts +++ b/sdks/typescript/api-full/src/serialization/types/RunnerConfigsDeleteResponse.ts @@ -6,11 +6,11 @@ import * as serializers from "../index"; import * as Rivet from "../../api/index"; import * as core from "../../core"; -export const NamespacesRunnerConfigsDeleteResponse: core.serialization.Schema< - serializers.NamespacesRunnerConfigsDeleteResponse.Raw, - Rivet.NamespacesRunnerConfigsDeleteResponse +export const RunnerConfigsDeleteResponse: core.serialization.Schema< + serializers.RunnerConfigsDeleteResponse.Raw, + Rivet.RunnerConfigsDeleteResponse > = core.serialization.record(core.serialization.string(), core.serialization.unknown()); -export declare namespace NamespacesRunnerConfigsDeleteResponse { +export declare namespace RunnerConfigsDeleteResponse { export type Raw = Record; } diff --git a/sdks/typescript/api-full/src/serialization/types/RunnerConfigsListResponse.ts b/sdks/typescript/api-full/src/serialization/types/RunnerConfigsListResponse.ts new file mode 100644 index 0000000000..8d24c9ed4d --- /dev/null +++ b/sdks/typescript/api-full/src/serialization/types/RunnerConfigsListResponse.ts @@ -0,0 +1,27 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as serializers from "../index"; +import * as Rivet from "../../api/index"; +import * as core from "../../core"; +import { Pagination } from "./Pagination"; +import { RunnerConfig } from "./RunnerConfig"; + +export const RunnerConfigsListResponse: core.serialization.ObjectSchema< + serializers.RunnerConfigsListResponse.Raw, + Rivet.RunnerConfigsListResponse +> = core.serialization.object({ + pagination: Pagination, + runnerConfigs: core.serialization.property( + "runner_configs", + core.serialization.record(core.serialization.string(), RunnerConfig), + ), +}); + +export declare namespace RunnerConfigsListResponse { + export interface Raw { + pagination: Pagination.Raw; + runner_configs: Record; + } +} diff --git a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsUpsertResponse.ts b/sdks/typescript/api-full/src/serialization/types/RunnerConfigsUpsertResponse.ts similarity index 57% rename from sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsUpsertResponse.ts rename to sdks/typescript/api-full/src/serialization/types/RunnerConfigsUpsertResponse.ts index 6732d0d6fd..b116e7c82a 100644 --- a/sdks/typescript/api-full/src/serialization/types/NamespacesRunnerConfigsUpsertResponse.ts +++ b/sdks/typescript/api-full/src/serialization/types/RunnerConfigsUpsertResponse.ts @@ -6,11 +6,11 @@ import * as serializers from "../index"; import * as Rivet from "../../api/index"; import * as core from "../../core"; -export const NamespacesRunnerConfigsUpsertResponse: core.serialization.Schema< - serializers.NamespacesRunnerConfigsUpsertResponse.Raw, - Rivet.NamespacesRunnerConfigsUpsertResponse +export const RunnerConfigsUpsertResponse: core.serialization.Schema< + serializers.RunnerConfigsUpsertResponse.Raw, + Rivet.RunnerConfigsUpsertResponse > = core.serialization.record(core.serialization.string(), core.serialization.unknown()); -export declare namespace NamespacesRunnerConfigsUpsertResponse { +export declare namespace RunnerConfigsUpsertResponse { export type Raw = Record; } diff --git a/sdks/typescript/api-full/src/serialization/types/index.ts b/sdks/typescript/api-full/src/serialization/types/index.ts index c2dbb33ae5..e2ee18b8fb 100644 --- a/sdks/typescript/api-full/src/serialization/types/index.ts +++ b/sdks/typescript/api-full/src/serialization/types/index.ts @@ -15,17 +15,15 @@ export * from "./Namespace"; export * from "./NamespacesCreateResponse"; export * from "./NamespacesGetResponse"; export * from "./NamespacesListResponse"; -export * from "./NamespacesRunnerConfigServerless"; -export * from "./NamespacesRunnerConfig"; -export * from "./NamespacesRunnerConfigVariant"; -export * from "./NamespacesRunnerConfigsDeleteResponse"; -export * from "./NamespacesRunnerConfigsGetResponse"; -export * from "./NamespacesRunnerConfigsListResponse"; -export * from "./NamespacesRunnerConfigsUpsertRequest"; -export * from "./NamespacesRunnerConfigsUpsertResponse"; export * from "./Pagination"; export * from "./RivetId"; export * from "./Runner"; +export * from "./RunnerConfigServerless"; +export * from "./RunnerConfig"; +export * from "./RunnerConfigVariant"; +export * from "./RunnerConfigsDeleteResponse"; +export * from "./RunnerConfigsListResponse"; +export * from "./RunnerConfigsUpsertResponse"; export * from "./RunnersGetResponse"; export * from "./RunnersListNamesResponse"; export * from "./RunnersListResponse"; diff --git a/sdks/typescript/runner-protocol/package.json b/sdks/typescript/runner-protocol/package.json index 927392019a..4628af0243 100644 --- a/sdks/typescript/runner-protocol/package.json +++ b/sdks/typescript/runner-protocol/package.json @@ -1,6 +1,6 @@ { "name": "@rivetkit/engine-runner-protocol", - "version": "25.7.0", + "version": "25.7.1", "license": "Apache-2.0", "type": "module", "exports": { diff --git a/sdks/typescript/runner/package.json b/sdks/typescript/runner/package.json index 994c325dc6..8ed6c3be17 100644 --- a/sdks/typescript/runner/package.json +++ b/sdks/typescript/runner/package.json @@ -1,6 +1,6 @@ { "name": "@rivetkit/engine-runner", - "version": "25.7.0", + "version": "25.7.1", "type": "module", "exports": { "import": { diff --git a/sdks/typescript/test-runner/package.json b/sdks/typescript/test-runner/package.json index 53dd84332e..bf5562ec8d 100644 --- a/sdks/typescript/test-runner/package.json +++ b/sdks/typescript/test-runner/package.json @@ -1,6 +1,6 @@ { "name": "@rivetkit/engine-test-runner", - "version": "25.7.0", + "version": "25.7.1", "type": "module", "scripts": { "start": "tsx src/index.ts", diff --git a/sdks/typescript/tunnel-protocol/package.json b/sdks/typescript/tunnel-protocol/package.json index f02daed73e..bc75d8652a 100644 --- a/sdks/typescript/tunnel-protocol/package.json +++ b/sdks/typescript/tunnel-protocol/package.json @@ -1,6 +1,6 @@ { "name": "@rivetkit/engine-tunnel-protocol", - "version": "25.7.0", + "version": "25.7.1", "license": "Apache-2.0", "type": "module", "exports": {