From 008c2aec249036064b27018750999814c8dab88d Mon Sep 17 00:00:00 2001 From: MasterPtato Date: Wed, 20 Nov 2024 21:33:02 +0000 Subject: [PATCH] feat: revamp actor build endpoint, js builds -> tar --- Cargo.lock | 5 + packages/api/actor/src/route/builds.rs | 104 ++-- .../client/isolate-v8-runner/src/isolate.rs | 7 +- .../infra/client/manager/src/actor/setup.rs | 69 +-- packages/infra/client/manager/tests/common.rs | 19 +- packages/services/build/Cargo.toml | 7 +- packages/services/build/src/ops/create.rs | 69 +-- packages/services/build/src/ops/mod.rs | 1 + packages/services/build/src/types.rs | 59 ++- packages/services/build/src/utils.rs | 7 +- packages/services/build/util/src/lib.rs | 7 +- sdks/fern/definition/actor/builds.yml | 3 +- sdks/full/go/actor/builds.go | 8 +- sdks/full/openapi/openapi.yml | 7 +- sdks/full/openapi_compat/openapi.yml | 7 +- .../rust-cli/docs/ActorPrepareBuildRequest.md | 1 + .../docs/ActorPrepareBuildResponse.md | 3 +- sdks/full/rust-cli/docs/ProvisionPoolType.md | 4 + .../src/models/actor_prepare_build_request.rs | 5 +- .../models/actor_prepare_build_response.rs | 11 +- .../rust/docs/ActorPrepareBuildRequest.md | 1 + .../rust/docs/ActorPrepareBuildResponse.md | 3 +- sdks/full/rust/docs/ProvisionPoolType.md | 4 + .../src/models/actor_prepare_build_request.rs | 4 + .../models/actor_prepare_build_response.rs | 20 +- .../actor/resources/builds/client/Client.ts | 3 + .../requests/PrepareBuildRequestQuery.ts | 3 + .../resources/common/types/PortRouting.ts | 12 + .../actor/types/CreateActorRequest.ts | 6 + .../actor/resources/builds/client/Client.d.ts | 3 + .../resources/common/types/PortRouting.d.ts | 8 + .../actor/types/CreateActorRequest.d.ts | 3 + sdks/runtime/go/actor/actor.go | 9 + sdks/runtime/go/actor/builds.go | 10 + sdks/runtime/go/actor/client/client.go | 3 + sdks/runtime/go/actor/types.go | 32 ++ sdks/runtime/openapi/openapi.yml | 239 ++++++++- sdks/runtime/openapi_compat/openapi.yml | 133 +++++ sdks/runtime/rust/.openapi-generator/FILES | 20 + sdks/runtime/rust/README.md | 13 + sdks/runtime/rust/docs/ActorApi.md | 6 + .../rust/docs/ActorBuildCompression.md | 4 + sdks/runtime/rust/docs/ActorBuildKind.md | 4 + .../rust/docs/ActorCreateActorRequest.md | 3 + .../docs/ActorCreateActorRuntimeRequest.md | 4 + .../rust/docs/ActorGameGuardRouting.md | 11 + sdks/runtime/rust/docs/ActorLifecycle.md | 3 + sdks/runtime/rust/docs/ActorPortRouting.md | 4 + .../rust/docs/ActorPrepareBuildRequest.md | 4 + .../rust/docs/ActorPrepareBuildResponse.md | 4 + sdks/runtime/rust/src/apis/actor_api.rs | 6 + .../src/models/actor_create_actor_request.rs | 6 + .../actor_create_actor_runtime_request.rs | 12 + .../src/models/actor_game_guard_routing.rs | 28 ++ .../rust/src/models/actor_lifecycle.rs | 6 + .../rust/src/models/actor_port_routing.rs | 9 + .../src/models/actor_prepare_build_request.rs | 13 + .../models/actor_prepare_build_response.rs | 12 + sdks/runtime/rust/src/models/mod.rs | 11 + .../src/api/resources/actor/client/Client.ts | 402 +++++++++++++++ .../requests/CreateActorRequestQuery.ts | 9 + .../resources/actor/client/requests/index.ts | 3 + .../actor/resources/builds/client/Client.ts | 474 ++++++++++++++++++ .../requests/PrepareBuildRequestQuery.ts | 6 + 64 files changed, 1773 insertions(+), 203 deletions(-) create mode 100644 sdks/runtime/rust/docs/ActorGameGuardRouting.md create mode 100644 sdks/runtime/rust/src/models/actor_game_guard_routing.rs diff --git a/Cargo.lock b/Cargo.lock index 67a25ada15..be97c85ff4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1725,6 +1725,8 @@ dependencies = [ "faker-build", "faker-game", "faker-region", + "game-get", + "game-namespace-get", "heck 0.3.3", "http 0.2.12", "include_dir", @@ -1736,7 +1738,9 @@ dependencies = [ "nomad-util", "rand", "reqwest 0.11.27", + "rivet-api", "rivet-config", + "rivet-convert", "rivet-metrics", "rivet-operation", "rivet-runtime", @@ -1750,6 +1754,7 @@ dependencies = [ "token-create", "trust-dns-resolver", "upload-get", + "upload-prepare", ] [[package]] diff --git a/packages/api/actor/src/route/builds.rs b/packages/api/actor/src/route/builds.rs index 2da4f4e9e5..2ed7921494 100644 --- a/packages/api/actor/src/route/builds.rs +++ b/packages/api/actor/src/route/builds.rs @@ -1,9 +1,8 @@ use std::collections::HashMap; use api_helper::{anchor::WatchIndexQuery, ctx::Ctx}; -use proto::backend; use rivet_api::models; -use rivet_convert::ApiTryInto; +use rivet_convert::{ApiInto, ApiTryInto}; use rivet_operation::prelude::*; use serde::Deserialize; use serde_json::json; @@ -190,8 +189,7 @@ pub async fn patch_tags( let CheckOutput { env_id, .. } = ctx.auth().check(ctx.op_ctx(), &query, false).await?; let tags = unwrap_with!(body.tags, API_BAD_BODY, error = "missing field `tags`"); - let tags = serde_json::from_value::>>(tags) - .map_err(|err| err_code!(API_BAD_BODY, error = err))?; + let tags = serde_json::from_value(tags).map_err(|err| err_code!(API_BAD_BODY, error = err))?; let build_res = ctx .op(build::ops::get::Input { @@ -246,7 +244,7 @@ pub async fn create_build( let (kind, image_tag) = match body.kind { Option::None | Some(models::ActorBuildKind::DockerImage) => ( - backend::build::BuildKind::DockerImage, + build::types::BuildKind::DockerImage, unwrap_with!( body.image_tag, API_BAD_BODY, @@ -254,36 +252,40 @@ pub async fn create_build( ), ), Some(models::ActorBuildKind::OciBundle) => ( - backend::build::BuildKind::OciBundle, + build::types::BuildKind::OciBundle, // HACK(RVT-4125): Generate nonexistent image tag body.image_tag .unwrap_or_else(|| format!("nonexistent:{}", Uuid::new_v4())), ), Some(models::ActorBuildKind::Javascript) => ( - backend::build::BuildKind::JavaScript, + build::types::BuildKind::JavaScript, // HACK(RVT-4125): Generate nonexistent image tag body.image_tag .unwrap_or_else(|| format!("nonexistent:{}", Uuid::new_v4())), ), }; - let compression = match body.compression { - Option::None | Some(models::ActorBuildCompression::None) => { - backend::build::BuildCompression::None - } - Some(models::ActorBuildCompression::Lz4) => backend::build::BuildCompression::Lz4, - }; - - let create_res = op!([ctx] build_create { - env_id: Some(env_id.into()), - display_name: body.name, - image_tag: Some(image_tag), - image_file: Some((*body.image_file).api_try_into()?), - kind: kind as i32, - compression: compression as i32, - }) - .await?; - let build_id = unwrap_ref!(create_res.build_id).as_uuid(); + let create_res = ctx + .op(build::ops::create::Input { + game_id: None, + env_id: Some(env_id), + tags: body + .tags + .map(serde_json::from_value) + .transpose()? + .unwrap_or_default(), + display_name: body.name, + content: build::ops::create::Content::New { + image_file: (*body.image_file).api_try_into()?, + image_tag, + }, + kind, + compression: body + .compression + .map(ApiInto::api_into) + .unwrap_or(build::types::BuildCompression::None), + }) + .await?; let cluster_res = ctx .op(cluster::ops::get_for_game::Input { @@ -320,38 +322,18 @@ pub async fn create_build( if !prewarm_datacenter_ids.is_empty() { ctx.op(build::ops::prewarm_ats::Input { datacenter_ids: prewarm_datacenter_ids, - build_ids: vec![build_id], + build_ids: vec![create_res.build_id], }) .await?; } - let image_presigned_request = if !multipart_upload { - Some(Box::new( - unwrap!(create_res.image_presigned_requests.first()) - .clone() - .api_try_into()?, - )) - } else { - None - }; - - let image_presigned_requests = if multipart_upload { - Some( - create_res - .image_presigned_requests - .iter() - .cloned() - .map(ApiTryInto::api_try_into) - .collect::>>()?, - ) - } else { - None - }; - Ok(models::ActorPrepareBuildResponse { - build: build_id, - image_presigned_request, - image_presigned_requests, + build: create_res.build_id, + presigned_requests: create_res + .presigned_requests + .into_iter() + .map(ApiTryInto::api_try_into) + .collect::>>()?, }) } @@ -394,15 +376,31 @@ pub async fn create_build_deprecated( }), multipart_upload: body.multipart_upload, name: body.name, + tags: None, prewarm_regions, }, global, ) .await?; + + let multipart_upload = body.multipart_upload.unwrap_or(false); + + let (image_presigned_request, image_presigned_requests) = if !multipart_upload { + ( + Some(Box::new(unwrap!(build_res + .presigned_requests + .into_iter() + .next()))), + None, + ) + } else { + (None, Some(build_res.presigned_requests)) + }; + Ok(models::ServersCreateBuildResponse { build: build_res.build, - image_presigned_request: build_res.image_presigned_request, - image_presigned_requests: build_res.image_presigned_requests, + image_presigned_request, + image_presigned_requests, }) } diff --git a/packages/infra/client/isolate-v8-runner/src/isolate.rs b/packages/infra/client/isolate-v8-runner/src/isolate.rs index ead168775a..134197f198 100644 --- a/packages/infra/client/isolate-v8-runner/src/isolate.rs +++ b/packages/infra/client/isolate-v8-runner/src/isolate.rs @@ -142,10 +142,13 @@ pub async fn run_inner( tracing::info!(?actor_id, "Isolate KV initialized"); - // Load script into a static module loader. No dynamic scripts can be loaded this way. - let script_content = fs::read_to_string(actor_path.join("index.js")) + // Should match the path from `Actor::download_image` in manager/src/actor/setup.rs. index.js might not + // exist but thats up to the user to bundle it correctly. + let script_content = fs::read_to_string(actor_path.join("js-bundle").join("index.js")) .await .with_context(|| format!("failed to load {}", actor_path.join("index.js").display()))?; + + // Load script into a static module loader. No dynamic scripts can be loaded this way. let main_module = ModuleSpecifier::from_file_path(Path::new("/index.js")) .map_err(|_| anyhow!("invalid file name"))?; let loader = StaticModuleLoader::new([(main_module.clone(), script_content)]); diff --git a/packages/infra/client/manager/src/actor/setup.rs b/packages/infra/client/manager/src/actor/setup.rs index 02d6eb02a2..7e3fed1948 100644 --- a/packages/infra/client/manager/src/actor/setup.rs +++ b/packages/infra/client/manager/src/actor/setup.rs @@ -20,7 +20,6 @@ impl Actor { tracing::info!(actor_id=?self.actor_id, "downloading artifact"); let actor_path = ctx.actor_path(self.actor_id); - let oci_bundle_path = actor_path.join("oci-bundle"); let mut stream = reqwest::get(&self.config.image.artifact_url) .await? @@ -82,10 +81,16 @@ impl Actor { } } } - protocol::ImageKind::OciBundle => { + protocol::ImageKind::OciBundle | protocol::ImageKind::JavaScript => { tracing::info!(actor_id=?self.actor_id, "decompressing and unarchiving artifact"); - fs::create_dir(&oci_bundle_path).await?; + let bundle_path = match self.config.image.kind { + protocol::ImageKind::OciBundle => actor_path.join("oci-bundle"), + protocol::ImageKind::JavaScript => actor_path.join("js-bundle"), + _ => unreachable!(), + }; + + fs::create_dir(&bundle_path).await?; // Spawn the lz4 process let mut lz4_child = Command::new("lz4") @@ -98,7 +103,7 @@ impl Actor { let mut tar_child = Command::new("tar") .arg("-x") .arg("-C") - .arg(&oci_bundle_path) + .arg(&bundle_path) .stdin(Stdio::piped()) .spawn()?; @@ -147,7 +152,7 @@ impl Actor { let cmd_out = tar_child.wait_with_output().await?; ensure!( cmd_out.status.success(), - "failed `lz4` command\n{}", + "failed `tar` command\n{}", std::str::from_utf8(&cmd_out.stderr)? ); @@ -155,60 +160,6 @@ impl Actor { }, )?; } - protocol::ImageKind::JavaScript => { - let script_path = actor_path.join("index.js"); - - match self.config.image.compression { - protocol::ImageCompression::None => { - tracing::info!(actor_id=?self.actor_id, "saving artifact to file"); - - let mut output_file = File::create(&script_path).await?; - - // Write from stream to file - while let Some(chunk) = stream.next().await { - output_file.write_all(&chunk?).await?; - } - } - protocol::ImageCompression::Lz4 => { - tracing::info!(actor_id=?self.actor_id, "decompressing artifact"); - - // Spawn the lz4 process - let mut lz4_child = Command::new("lz4") - .arg("-d") - .arg("-") - .arg(&script_path) - .stdin(Stdio::piped()) - .spawn()?; - - // Take the stdin of lz4 - let mut lz4_stdin = lz4_child.stdin.take().context("lz4 stdin")?; - - tokio::try_join!( - // Pipe the response body to lz4 stdin - async move { - while let Some(chunk) = stream.next().await { - let data = chunk?; - lz4_stdin.write_all(&data).await?; - } - lz4_stdin.shutdown().await?; - - anyhow::Ok(()) - }, - // Wait for child process - async { - let cmd_out = lz4_child.wait_with_output().await?; - ensure!( - cmd_out.status.success(), - "failed `lz4` command\n{}", - std::str::from_utf8(&cmd_out.stderr)? - ); - - Ok(()) - }, - )?; - } - } - } } Ok(()) diff --git a/packages/infra/client/manager/tests/common.rs b/packages/infra/client/manager/tests/common.rs index 66343e539a..43c60bcac7 100644 --- a/packages/infra/client/manager/tests/common.rs +++ b/packages/infra/client/manager/tests/common.rs @@ -341,14 +341,17 @@ pub async fn build_binaries(gen_path: &Path) { assert!(status.success()); // Js image - tokio::fs::copy( - Path::new(env!("CARGO_MANIFEST_DIR")) - .join("tests") - .join("echo.js"), - js_image_path(gen_path), - ) - .await - .unwrap(); + let status = Command::new("tar") + .arg("-czf") + .arg(js_image_path(gen_path)) + .arg("-C") + .arg(Path::new(env!("CARGO_MANIFEST_DIR")).join("tests")) + .arg("echo.js") + .status() + .await + .unwrap(); + + assert!(status.success()); build_runner(gen_path, "container").await; build_runner(gen_path, "isolate-v8").await; diff --git a/packages/services/build/Cargo.toml b/packages/services/build/Cargo.toml index cb2b93e5b9..06f70d8e16 100644 --- a/packages/services/build/Cargo.toml +++ b/packages/services/build/Cargo.toml @@ -19,6 +19,8 @@ nomad-client = "0.0.9" nomad-util.workspace = true rand = "0.8" reqwest = { version = "0.11", features = ["json"] } +rivet-api.workspace = true +rivet-convert.workspace = true rivet-metrics.workspace = true rivet-operation.workspace = true rivet-runtime.workspace = true @@ -26,16 +28,17 @@ s3-util.workspace = true serde = { version = "1.0.198", features = ["derive"] } serde_json = "1.0" ssh2 = "0.9.4" -trust-dns-resolver = { version = "0.23.2", features = ["dns-over-native-tls"] } strum = { version = "0.26", features = ["derive"] } util-job.workspace = true cluster.workspace = true +game-get.workspace = true +game-namespace-get.workspace = true ip-info.workspace = true linode.workspace = true token-create.workspace = true upload-get.workspace = true -rivet-config.workspace = true +upload-prepare.workspace = true [dependencies.sqlx] workspace = true diff --git a/packages/services/build/src/ops/create.rs b/packages/services/build/src/ops/create.rs index 38dfa605e0..b8cafdb89b 100644 --- a/packages/services/build/src/ops/create.rs +++ b/packages/services/build/src/ops/create.rs @@ -1,35 +1,46 @@ -use rivet_operation::prelude::proto::backend::{self, pkg::*}; +use std::collections::HashMap; + use chirp_workflow::prelude::*; +use rivet_operation::prelude::proto::backend; const MAX_UPLOAD_SIZE: u64 = util::file_size::gigabytes(8); -use crate::types::{upload::PrepareFile, BuildKind, upload::PresignedUploadRequest, BuildCompression}; +use crate::{ + types::{upload::PrepareFile, upload::PresignedUploadRequest, BuildCompression, BuildKind}, + utils, +}; #[derive(Debug)] pub struct Input { pub game_id: Option, pub env_id: Option, pub display_name: String, - pub image_tag: Option, - pub image_file: Option, + pub content: Content, pub multipart: bool, pub kind: BuildKind, pub compression: BuildCompression, pub tags: HashMap, - pub default_build_kind: Option, +} + +#[derive(Debug)] +pub enum Content { + New { + image_file: PrepareFile, + image_tag: String, + }, + Default { + build_kind: String, + }, } #[derive(Debug)] pub struct Output { - build_id: Uuid, - upload_id: Uuid, - presigned_requests: Vec, + pub build_id: Uuid, + pub upload_id: Uuid, + pub presigned_requests: Vec, } #[operation] pub async fn get(ctx: &OperationCtx, input: &Input) -> GlobalResult { - let kind = unwrap!(backend::build::BuildKind::from_i32(input.kind)); - let compression = unwrap!(backend::build::BuildCompression::from_i32(input.compression)); - ensure!( util::check::display_name_long(&input.display_name), "invalid display name" @@ -53,8 +64,8 @@ pub async fn get(ctx: &OperationCtx, input: &Input) -> GlobalResult { ensure!(env.is_some(), "game not found"); } - let (image_tag, upload_id, presigned_requests) = - if let Some(build_kind) = &input.default_build_kind { + let (image_tag, upload_id, presigned_requests) = match &input.content { + Content::Default { build_kind } => { let default_build_row = sql_fetch_optional!( [ctx, (String, Uuid)] "SELECT image_tag, upload_id FROM db_build.default_builds WHERE kind = $1", @@ -63,20 +74,21 @@ pub async fn get(ctx: &OperationCtx, input: &Input) -> GlobalResult { .await?; let (image_tag, upload_id) = - unwrap!(default_build_row, "default build missing: {build_kind}",); + unwrap!(default_build_row, "default build missing: {build_kind}"); (image_tag, upload_id, Vec::new()) - } else { - let image_file = unwrap_ref!(input.image_file); - let image_tag = unwrap_ref!(input.image_tag); - + } + Content::New { + image_file, + image_tag, + } => { let tag_split = image_tag.split_once(':'); - let (tag_base, tag_tag) = unwrap_ref!(tag_split, "missing separator in image tag"); + let (tag_base, tag) = unwrap_ref!(tag_split, "missing separator in image tag"); ensure!( util::check::docker_ident(tag_base), "invalid image tag base" ); - ensure!(util::check::docker_ident(tag_tag), "invalid image tag tag"); + ensure!(util::check::docker_ident(tag), "invalid tag"); ensure_with!( image_file.content_length < MAX_UPLOAD_SIZE, @@ -97,7 +109,7 @@ pub async fn get(ctx: &OperationCtx, input: &Input) -> GlobalResult { } // Create the upload - let file_name = util_build::file_name(kind, compression); + let file_name = utils::file_name(input.kind, input.compression); let upload_prepare_res = op!([ctx] upload_prepare { bucket: "bucket-build".into(), files: vec![ @@ -110,14 +122,15 @@ pub async fn get(ctx: &OperationCtx, input: &Input) -> GlobalResult { ], }) .await?; - let upload_id = **unwrap_ref!(upload_prepare_res.upload_id); + let upload_id = unwrap_ref!(upload_prepare_res.upload_id).as_uuid(); ( image_tag.clone(), upload_id, upload_prepare_res.presigned_requests.clone(), ) - }; + } + }; // Create build let build_id = Uuid::new_v4(); @@ -140,18 +153,18 @@ pub async fn get(ctx: &OperationCtx, input: &Input) -> GlobalResult { ($1, $2, $3, $4, $5, $6, $7, $8, $9) ", build_id, - game_id, - env_id, + input.game_id, + input.env_id, upload_id, &input.display_name, image_tag, ctx.ts(), - kind as i32, - compression as i32, + input.kind as i32, + input.compression as i32, ) .await?; - Ok(build::create::Response { + Ok(Output { build_id, upload_id, presigned_requests: presigned_requests.into_iter().map(Into::into).collect(), diff --git a/packages/services/build/src/ops/mod.rs b/packages/services/build/src/ops/mod.rs index de2e1c24d1..1bc85e5797 100644 --- a/packages/services/build/src/ops/mod.rs +++ b/packages/services/build/src/ops/mod.rs @@ -1,3 +1,4 @@ +pub mod create; pub mod get; pub mod patch_tags; pub mod prewarm_ats; diff --git a/packages/services/build/src/types.rs b/packages/services/build/src/types.rs index a7925162da..c25159f88f 100644 --- a/packages/services/build/src/types.rs +++ b/packages/services/build/src/types.rs @@ -1,4 +1,6 @@ use chirp_workflow::prelude::*; +use rivet_api::models; +use rivet_convert::ApiFrom; use std::collections::HashMap; use strum::FromRepr; @@ -9,12 +11,31 @@ pub enum BuildKind { JavaScript = 2, } +impl ApiFrom for BuildKind { + fn api_from(value: models::ActorBuildKind) -> BuildKind { + match value { + models::ActorBuildKind::DockerImage => BuildKind::DockerImage, + models::ActorBuildKind::OciBundle => BuildKind::OciBundle, + models::ActorBuildKind::Javascript => BuildKind::JavaScript, + } + } +} + #[derive(Clone, Copy, Debug, Serialize, Deserialize, Hash, PartialEq, Eq, FromRepr)] pub enum BuildCompression { None = 0, Lz4 = 1, } +impl ApiFrom for BuildCompression { + fn api_from(value: models::ActorBuildCompression) -> BuildCompression { + match value { + models::ActorBuildCompression::None => BuildCompression::None, + models::ActorBuildCompression::Lz4 => BuildCompression::Lz4, + } + } +} + #[derive(Debug)] pub struct Build { pub build_id: Uuid, @@ -30,8 +51,12 @@ pub struct Build { } // TODO: Move to upload pkg when its converted to new ops -mod upload { +pub mod upload { + use std::convert::TryInto; + use chirp_workflow::prelude::*; + use rivet_api::models; + use rivet_convert::ApiTryFrom; use rivet_operation::prelude::proto::backend; #[derive(Debug)] @@ -42,6 +67,19 @@ mod upload { pub multipart: bool, } + impl ApiTryFrom for PrepareFile { + type Error = GlobalError; + + fn api_try_from(value: models::UploadPrepareFile) -> GlobalResult { + Ok(PrepareFile { + path: value.path, + mime: value.content_type, + content_length: value.content_length.try_into()?, + multipart: false, + }) + } + } + #[derive(Debug)] pub struct PresignedUploadRequest { pub path: String, @@ -51,9 +89,9 @@ mod upload { pub content_length: u64, } - impl From for backend::upload::PresignedUploadRequest { - fn from(value: PresignedUploadRequest) -> Self { - backend::upload::PresignedUploadRequest { + impl From for PresignedUploadRequest { + fn from(value: backend::upload::PresignedUploadRequest) -> Self { + PresignedUploadRequest { path: value.path, url: value.url, part_number: value.part_number, @@ -62,4 +100,17 @@ mod upload { } } } + + impl ApiTryFrom for models::UploadPresignedRequest { + type Error = GlobalError; + + fn api_try_from(value: PresignedUploadRequest) -> GlobalResult { + Ok(models::UploadPresignedRequest { + path: value.path, + url: value.url, + byte_offset: value.byte_offset.try_into()?, + content_length: value.content_length.try_into()?, + }) + } + } } diff --git a/packages/services/build/src/utils.rs b/packages/services/build/src/utils.rs index bde54bf371..e56a4da7c3 100644 --- a/packages/services/build/src/utils.rs +++ b/packages/services/build/src/utils.rs @@ -9,12 +9,9 @@ pub fn file_name(kind: BuildKind, compression: BuildCompression) -> String { let file_name = match kind { BuildKind::DockerImage => "image", BuildKind::OciBundle => "oci-bundle", - BuildKind::JavaScript => "index", - }; - let file_ext = match kind { - BuildKind::DockerImage | BuildKind::OciBundle => "tar", - BuildKind::JavaScript => "js", + BuildKind::JavaScript => "js-bundle", }; + let file_ext = "tar"; let file_ext_compression = match compression { BuildCompression::None => "", BuildCompression::Lz4 => ".lz4", diff --git a/packages/services/build/util/src/lib.rs b/packages/services/build/util/src/lib.rs index 8aa858ed04..d92a211b36 100644 --- a/packages/services/build/util/src/lib.rs +++ b/packages/services/build/util/src/lib.rs @@ -11,12 +11,9 @@ pub fn file_name( let file_name = match kind { backend::build::BuildKind::DockerImage => "image", backend::build::BuildKind::OciBundle => "oci-bundle", - backend::build::BuildKind::JavaScript => "index", - }; - let file_ext = match kind { - backend::build::BuildKind::DockerImage | backend::build::BuildKind::OciBundle => "tar", - backend::build::BuildKind::JavaScript => "js", + backend::build::BuildKind::JavaScript => "js-bundle", }; + let file_ext = "tar"; let file_ext_compression = match compression { backend::build::BuildCompression::None => "", backend::build::BuildCompression::Lz4 => ".lz4", diff --git a/sdks/fern/definition/actor/builds.yml b/sdks/fern/definition/actor/builds.yml index b070d05745..5560ac43c5 100644 --- a/sdks/fern/definition/actor/builds.yml +++ b/sdks/fern/definition/actor/builds.yml @@ -100,6 +100,7 @@ types: PrepareBuildRequest: properties: name: string + tags: unknown image_tag: docs: A tag given to the project build. type: optional @@ -113,7 +114,7 @@ types: PrepareBuildResponse: properties: build: uuid - presigned_requests: optional> + presigned_requests: list BuildKind: enum: diff --git a/sdks/full/go/actor/builds.go b/sdks/full/go/actor/builds.go index b86a895b35..17855761a9 100644 --- a/sdks/full/go/actor/builds.go +++ b/sdks/full/go/actor/builds.go @@ -182,7 +182,8 @@ func (p *PatchBuildTagsResponse) String() string { } type PrepareBuildRequest struct { - Name string `json:"name"` + Name string `json:"name"` + Tags interface{} `json:"tags,omitempty"` // A tag given to the project build. ImageTag *string `json:"image_tag,omitempty"` ImageFile *upload.PrepareFile `json:"image_file,omitempty"` @@ -218,9 +219,8 @@ func (p *PrepareBuildRequest) String() string { } type PrepareBuildResponse struct { - Build uuid.UUID `json:"build"` - ImagePresignedRequest *upload.PresignedRequest `json:"image_presigned_request,omitempty"` - ImagePresignedRequests []*upload.PresignedRequest `json:"image_presigned_requests,omitempty"` + Build uuid.UUID `json:"build"` + PresignedRequests []*upload.PresignedRequest `json:"presigned_requests,omitempty"` _rawJSON json.RawMessage } diff --git a/sdks/full/openapi/openapi.yml b/sdks/full/openapi/openapi.yml index b7753b3416..c5c8d8a001 100644 --- a/sdks/full/openapi/openapi.yml +++ b/sdks/full/openapi/openapi.yml @@ -9784,6 +9784,7 @@ components: properties: name: type: string + tags: {} image_tag: type: string description: A tag given to the project build. @@ -9801,6 +9802,7 @@ components: type: string required: - name + - tags - image_file ActorPrepareBuildResponse: type: object @@ -9808,14 +9810,13 @@ components: build: type: string format: uuid - image_presigned_request: - $ref: '#/components/schemas/UploadPresignedRequest' - image_presigned_requests: + presigned_requests: type: array items: $ref: '#/components/schemas/UploadPresignedRequest' required: - build + - presigned_requests ActorBuildKind: type: string enum: diff --git a/sdks/full/openapi_compat/openapi.yml b/sdks/full/openapi_compat/openapi.yml index c2982965ba..548ade849e 100644 --- a/sdks/full/openapi_compat/openapi.yml +++ b/sdks/full/openapi_compat/openapi.yml @@ -325,8 +325,10 @@ components: items: type: string type: array + tags: {} required: - name + - tags - image_file type: object ActorPrepareBuildResponse: @@ -334,14 +336,13 @@ components: build: format: uuid type: string - image_presigned_request: - $ref: '#/components/schemas/UploadPresignedRequest' - image_presigned_requests: + presigned_requests: items: $ref: '#/components/schemas/UploadPresignedRequest' type: array required: - build + - presigned_requests type: object ActorRegion: properties: diff --git a/sdks/full/rust-cli/docs/ActorPrepareBuildRequest.md b/sdks/full/rust-cli/docs/ActorPrepareBuildRequest.md index e96e8012e3..21d06e19ea 100644 --- a/sdks/full/rust-cli/docs/ActorPrepareBuildRequest.md +++ b/sdks/full/rust-cli/docs/ActorPrepareBuildRequest.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **multipart_upload** | Option<**bool**> | | [optional] **name** | **String** | | **prewarm_regions** | Option<**Vec**> | | [optional] +**tags** | Option<[**serde_json::Value**](.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/full/rust-cli/docs/ActorPrepareBuildResponse.md b/sdks/full/rust-cli/docs/ActorPrepareBuildResponse.md index 5943b524e0..a9a76163d6 100644 --- a/sdks/full/rust-cli/docs/ActorPrepareBuildResponse.md +++ b/sdks/full/rust-cli/docs/ActorPrepareBuildResponse.md @@ -5,8 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **build** | [**uuid::Uuid**](uuid::Uuid.md) | | -**image_presigned_request** | Option<[**crate::models::UploadPresignedRequest**](UploadPresignedRequest.md)> | | [optional] -**image_presigned_requests** | Option<[**Vec**](UploadPresignedRequest.md)> | | [optional] +**presigned_requests** | [**Vec**](UploadPresignedRequest.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/full/rust-cli/docs/ProvisionPoolType.md b/sdks/full/rust-cli/docs/ProvisionPoolType.md index 8f7fcd14e5..75c2232f32 100644 --- a/sdks/full/rust-cli/docs/ProvisionPoolType.md +++ b/sdks/full/rust-cli/docs/ProvisionPoolType.md @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:sdks/full/rust-cli/docs/ProvisionPoolType.md # ProvisionPoolType +======== +# ActorBuildCompression +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/rust/docs/ActorBuildCompression.md ## Properties diff --git a/sdks/full/rust-cli/src/models/actor_prepare_build_request.rs b/sdks/full/rust-cli/src/models/actor_prepare_build_request.rs index ddf999bf9c..905362175d 100644 --- a/sdks/full/rust-cli/src/models/actor_prepare_build_request.rs +++ b/sdks/full/rust-cli/src/models/actor_prepare_build_request.rs @@ -28,10 +28,12 @@ pub struct ActorPrepareBuildRequest { pub name: String, #[serde(rename = "prewarm_regions", skip_serializing_if = "Option::is_none")] pub prewarm_regions: Option>, + #[serde(rename = "tags", deserialize_with = "Option::deserialize")] + pub tags: Option, } impl ActorPrepareBuildRequest { - pub fn new(image_file: crate::models::UploadPrepareFile, name: String) -> ActorPrepareBuildRequest { + pub fn new(image_file: crate::models::UploadPrepareFile, name: String, tags: Option) -> ActorPrepareBuildRequest { ActorPrepareBuildRequest { compression: None, image_file: Box::new(image_file), @@ -40,6 +42,7 @@ impl ActorPrepareBuildRequest { multipart_upload: None, name, prewarm_regions: None, + tags, } } } diff --git a/sdks/full/rust-cli/src/models/actor_prepare_build_response.rs b/sdks/full/rust-cli/src/models/actor_prepare_build_response.rs index 9dd9f19ece..0a33e1e63a 100644 --- a/sdks/full/rust-cli/src/models/actor_prepare_build_response.rs +++ b/sdks/full/rust-cli/src/models/actor_prepare_build_response.rs @@ -15,18 +15,15 @@ pub struct ActorPrepareBuildResponse { #[serde(rename = "build")] pub build: uuid::Uuid, - #[serde(rename = "image_presigned_request", skip_serializing_if = "Option::is_none")] - pub image_presigned_request: Option>, - #[serde(rename = "image_presigned_requests", skip_serializing_if = "Option::is_none")] - pub image_presigned_requests: Option>, + #[serde(rename = "presigned_requests")] + pub presigned_requests: Vec, } impl ActorPrepareBuildResponse { - pub fn new(build: uuid::Uuid) -> ActorPrepareBuildResponse { + pub fn new(build: uuid::Uuid, presigned_requests: Vec) -> ActorPrepareBuildResponse { ActorPrepareBuildResponse { build, - image_presigned_request: None, - image_presigned_requests: None, + presigned_requests, } } } diff --git a/sdks/full/rust/docs/ActorPrepareBuildRequest.md b/sdks/full/rust/docs/ActorPrepareBuildRequest.md index e96e8012e3..21d06e19ea 100644 --- a/sdks/full/rust/docs/ActorPrepareBuildRequest.md +++ b/sdks/full/rust/docs/ActorPrepareBuildRequest.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **multipart_upload** | Option<**bool**> | | [optional] **name** | **String** | | **prewarm_regions** | Option<**Vec**> | | [optional] +**tags** | Option<[**serde_json::Value**](.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/full/rust/docs/ActorPrepareBuildResponse.md b/sdks/full/rust/docs/ActorPrepareBuildResponse.md index 5943b524e0..a9a76163d6 100644 --- a/sdks/full/rust/docs/ActorPrepareBuildResponse.md +++ b/sdks/full/rust/docs/ActorPrepareBuildResponse.md @@ -5,8 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **build** | [**uuid::Uuid**](uuid::Uuid.md) | | -**image_presigned_request** | Option<[**crate::models::UploadPresignedRequest**](UploadPresignedRequest.md)> | | [optional] -**image_presigned_requests** | Option<[**Vec**](UploadPresignedRequest.md)> | | [optional] +**presigned_requests** | [**Vec**](UploadPresignedRequest.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/full/rust/docs/ProvisionPoolType.md b/sdks/full/rust/docs/ProvisionPoolType.md index 8f7fcd14e5..ca9926fa8a 100644 --- a/sdks/full/rust/docs/ProvisionPoolType.md +++ b/sdks/full/rust/docs/ProvisionPoolType.md @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:sdks/full/rust/docs/ProvisionPoolType.md # ProvisionPoolType +======== +# ActorBuildKind +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/rust/docs/ActorBuildKind.md ## Properties diff --git a/sdks/full/rust/src/models/actor_prepare_build_request.rs b/sdks/full/rust/src/models/actor_prepare_build_request.rs index 6e9fe09547..98136a21d6 100644 --- a/sdks/full/rust/src/models/actor_prepare_build_request.rs +++ b/sdks/full/rust/src/models/actor_prepare_build_request.rs @@ -25,12 +25,15 @@ pub struct ActorPrepareBuildRequest { pub name: String, #[serde(rename = "prewarm_regions", skip_serializing_if = "Option::is_none")] pub prewarm_regions: Option>, + #[serde(rename = "tags", deserialize_with = "Option::deserialize")] + pub tags: Option, } impl ActorPrepareBuildRequest { pub fn new( image_file: crate::models::UploadPrepareFile, name: String, + tags: Option, ) -> ActorPrepareBuildRequest { ActorPrepareBuildRequest { compression: None, @@ -40,6 +43,7 @@ impl ActorPrepareBuildRequest { multipart_upload: None, name, prewarm_regions: None, + tags, } } } diff --git a/sdks/full/rust/src/models/actor_prepare_build_response.rs b/sdks/full/rust/src/models/actor_prepare_build_response.rs index 67aacbb8a1..2162d9f4ea 100644 --- a/sdks/full/rust/src/models/actor_prepare_build_response.rs +++ b/sdks/full/rust/src/models/actor_prepare_build_response.rs @@ -12,24 +12,18 @@ pub struct ActorPrepareBuildResponse { #[serde(rename = "build")] pub build: uuid::Uuid, - #[serde( - rename = "image_presigned_request", - skip_serializing_if = "Option::is_none" - )] - pub image_presigned_request: Option>, - #[serde( - rename = "image_presigned_requests", - skip_serializing_if = "Option::is_none" - )] - pub image_presigned_requests: Option>, + #[serde(rename = "presigned_requests")] + pub presigned_requests: Vec, } impl ActorPrepareBuildResponse { - pub fn new(build: uuid::Uuid) -> ActorPrepareBuildResponse { + pub fn new( + build: uuid::Uuid, + presigned_requests: Vec, + ) -> ActorPrepareBuildResponse { ActorPrepareBuildResponse { build, - image_presigned_request: None, - image_presigned_requests: None, + presigned_requests, } } } diff --git a/sdks/full/typescript/src/api/resources/actor/resources/builds/client/Client.ts b/sdks/full/typescript/src/api/resources/actor/resources/builds/client/Client.ts index 38f9fbbfb6..15581402e1 100644 --- a/sdks/full/typescript/src/api/resources/actor/resources/builds/client/Client.ts +++ b/sdks/full/typescript/src/api/resources/actor/resources/builds/client/Client.ts @@ -503,6 +503,9 @@ export class Builds { * environment: "string", * body: { * name: "string", + * tags: { + * "key": "value" + * }, * imageTag: "string", * imageFile: { * path: "string", diff --git a/sdks/full/typescript/src/api/resources/actor/resources/builds/client/requests/PrepareBuildRequestQuery.ts b/sdks/full/typescript/src/api/resources/actor/resources/builds/client/requests/PrepareBuildRequestQuery.ts index 0be804ec84..b2325792e4 100644 --- a/sdks/full/typescript/src/api/resources/actor/resources/builds/client/requests/PrepareBuildRequestQuery.ts +++ b/sdks/full/typescript/src/api/resources/actor/resources/builds/client/requests/PrepareBuildRequestQuery.ts @@ -11,6 +11,9 @@ import * as Rivet from "../../../../../../index"; * environment: "string", * body: { * name: "string", + * tags: { + * "key": "value" + * }, * imageTag: "string", * imageFile: { * path: "string", diff --git a/sdks/full/typescript/src/serialization/resources/actor/resources/common/types/PortRouting.ts b/sdks/full/typescript/src/serialization/resources/actor/resources/common/types/PortRouting.ts index 1dfd5201c0..ac4e3f27d2 100644 --- a/sdks/full/typescript/src/serialization/resources/actor/resources/common/types/PortRouting.ts +++ b/sdks/full/typescript/src/serialization/resources/actor/resources/common/types/PortRouting.ts @@ -5,18 +5,30 @@ import * as serializers from "../../../../../index"; import * as Rivet from "../../../../../../api/index"; import * as core from "../../../../../../core"; +<<<<<<< HEAD import { GuardRouting } from "./GuardRouting"; +======= +import { GameGuardRouting } from "./GameGuardRouting"; +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) import { HostRouting } from "./HostRouting"; export const PortRouting: core.serialization.ObjectSchema = core.serialization.object({ +<<<<<<< HEAD guard: GuardRouting.optional(), +======= + gameGuard: core.serialization.property("game_guard", GameGuardRouting.optional()), +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) host: HostRouting.optional(), }); export declare namespace PortRouting { interface Raw { +<<<<<<< HEAD guard?: GuardRouting.Raw | null; +======= + game_guard?: GameGuardRouting.Raw | null; +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) host?: HostRouting.Raw | null; } } diff --git a/sdks/full/typescript/src/serialization/resources/actor/types/CreateActorRequest.ts b/sdks/full/typescript/src/serialization/resources/actor/types/CreateActorRequest.ts index fc8ae1ec56..7d79721f6b 100644 --- a/sdks/full/typescript/src/serialization/resources/actor/types/CreateActorRequest.ts +++ b/sdks/full/typescript/src/serialization/resources/actor/types/CreateActorRequest.ts @@ -16,8 +16,11 @@ export const CreateActorRequest: core.serialization.ObjectSchema< > = core.serialization.object({ region: core.serialization.string(), tags: core.serialization.unknown(), +<<<<<<< HEAD build: core.serialization.string().optional(), buildTags: core.serialization.unknown().optional(), +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) runtime: CreateActorRuntimeRequest, network: CreateActorNetworkRequest.optional(), resources: Resources, @@ -28,8 +31,11 @@ export declare namespace CreateActorRequest { interface Raw { region: string; tags?: unknown; +<<<<<<< HEAD build?: string | null; buildTags?: unknown | null; +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) runtime: CreateActorRuntimeRequest.Raw; network?: CreateActorNetworkRequest.Raw | null; resources: Resources.Raw; diff --git a/sdks/full/typescript/types/api/resources/actor/resources/builds/client/Client.d.ts b/sdks/full/typescript/types/api/resources/actor/resources/builds/client/Client.d.ts index a85ee34df4..f733fe8b38 100644 --- a/sdks/full/typescript/types/api/resources/actor/resources/builds/client/Client.d.ts +++ b/sdks/full/typescript/types/api/resources/actor/resources/builds/client/Client.d.ts @@ -108,6 +108,9 @@ export declare class Builds { * environment: "string", * body: { * name: "string", + * tags: { + * "key": "value" + * }, * imageTag: "string", * imageFile: { * path: "string", diff --git a/sdks/full/typescript/types/serialization/resources/actor/resources/common/types/PortRouting.d.ts b/sdks/full/typescript/types/serialization/resources/actor/resources/common/types/PortRouting.d.ts index 564c220e1c..77d4837603 100644 --- a/sdks/full/typescript/types/serialization/resources/actor/resources/common/types/PortRouting.d.ts +++ b/sdks/full/typescript/types/serialization/resources/actor/resources/common/types/PortRouting.d.ts @@ -4,12 +4,20 @@ import * as serializers from "../../../../../index"; import * as Rivet from "../../../../../../api/index"; import * as core from "../../../../../../core"; +<<<<<<< HEAD import { GuardRouting } from "./GuardRouting"; +======= +import { GameGuardRouting } from "./GameGuardRouting"; +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) import { HostRouting } from "./HostRouting"; export declare const PortRouting: core.serialization.ObjectSchema; export declare namespace PortRouting { interface Raw { +<<<<<<< HEAD guard?: GuardRouting.Raw | null; +======= + game_guard?: GameGuardRouting.Raw | null; +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) host?: HostRouting.Raw | null; } } diff --git a/sdks/full/typescript/types/serialization/resources/actor/types/CreateActorRequest.d.ts b/sdks/full/typescript/types/serialization/resources/actor/types/CreateActorRequest.d.ts index bf6d4076ef..5a58285448 100644 --- a/sdks/full/typescript/types/serialization/resources/actor/types/CreateActorRequest.d.ts +++ b/sdks/full/typescript/types/serialization/resources/actor/types/CreateActorRequest.d.ts @@ -13,8 +13,11 @@ export declare namespace CreateActorRequest { interface Raw { region: string; tags?: unknown; +<<<<<<< HEAD build?: string | null; buildTags?: unknown | null; +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) runtime: CreateActorRuntimeRequest.Raw; network?: CreateActorNetworkRequest.Raw | null; resources: Resources.Raw; diff --git a/sdks/runtime/go/actor/actor.go b/sdks/runtime/go/actor/actor.go index 44b0d289d6..5a81806424 100644 --- a/sdks/runtime/go/actor/actor.go +++ b/sdks/runtime/go/actor/actor.go @@ -5,15 +5,21 @@ package actor import ( json "encoding/json" fmt "fmt" +<<<<<<< HEAD uuid "github.com/google/uuid" +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) core "sdk/core" ) type CreateActorRequest struct { Region string `json:"region"` Tags interface{} `json:"tags,omitempty"` +<<<<<<< HEAD Build *uuid.UUID `json:"build,omitempty"` BuildTags interface{} `json:"buildTags,omitempty"` +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) Runtime *CreateActorRuntimeRequest `json:"runtime,omitempty"` Network *CreateActorNetworkRequest `json:"network,omitempty"` Resources *Resources `json:"resources,omitempty"` @@ -160,6 +166,7 @@ func (l *ListActorsResponse) String() string { } return fmt.Sprintf("%#v", l) } +<<<<<<< HEAD type UpgradeActorRequest struct { Build *uuid.UUID `json:"build,omitempty"` @@ -217,3 +224,5 @@ func (u *UpgradeActorResponse) String() string { } return fmt.Sprintf("%#v", u) } +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) diff --git a/sdks/runtime/go/actor/builds.go b/sdks/runtime/go/actor/builds.go index b86a895b35..e841391065 100644 --- a/sdks/runtime/go/actor/builds.go +++ b/sdks/runtime/go/actor/builds.go @@ -182,7 +182,12 @@ func (p *PatchBuildTagsResponse) String() string { } type PrepareBuildRequest struct { +<<<<<<< HEAD Name string `json:"name"` +======= + Name string `json:"name"` + Tags interface{} `json:"tags,omitempty"` +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) // A tag given to the project build. ImageTag *string `json:"image_tag,omitempty"` ImageFile *upload.PrepareFile `json:"image_file,omitempty"` @@ -218,9 +223,14 @@ func (p *PrepareBuildRequest) String() string { } type PrepareBuildResponse struct { +<<<<<<< HEAD Build uuid.UUID `json:"build"` ImagePresignedRequest *upload.PresignedRequest `json:"image_presigned_request,omitempty"` ImagePresignedRequests []*upload.PresignedRequest `json:"image_presigned_requests,omitempty"` +======= + Build uuid.UUID `json:"build"` + PresignedRequests []*upload.PresignedRequest `json:"presigned_requests,omitempty"` +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) _rawJSON json.RawMessage } diff --git a/sdks/runtime/go/actor/client/client.go b/sdks/runtime/go/actor/client/client.go index e5adae2d60..42604b4a27 100644 --- a/sdks/runtime/go/actor/client/client.go +++ b/sdks/runtime/go/actor/client/client.go @@ -417,6 +417,7 @@ func (c *Client) Destroy(ctx context.Context, actor uuid.UUID, request *sdkactor } return response, nil } +<<<<<<< HEAD // Upgrades a dynamic actor. // @@ -509,3 +510,5 @@ func (c *Client) Upgrade(ctx context.Context, actor uuid.UUID, request *sdkactor } return response, nil } +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) diff --git a/sdks/runtime/go/actor/types.go b/sdks/runtime/go/actor/types.go index 02cee2e820..e1cc3f122a 100644 --- a/sdks/runtime/go/actor/types.go +++ b/sdks/runtime/go/actor/types.go @@ -174,24 +174,41 @@ func (b *Build) String() string { return fmt.Sprintf("%#v", b) } +<<<<<<< HEAD type GuardRouting struct { +======= +type GameGuardRouting struct { +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) Authorization *PortAuthorization `json:"authorization,omitempty"` _rawJSON json.RawMessage } +<<<<<<< HEAD func (g *GuardRouting) UnmarshalJSON(data []byte) error { type unmarshaler GuardRouting +======= +func (g *GameGuardRouting) UnmarshalJSON(data []byte) error { + type unmarshaler GameGuardRouting +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) var value unmarshaler if err := json.Unmarshal(data, &value); err != nil { return err } +<<<<<<< HEAD *g = GuardRouting(value) +======= + *g = GameGuardRouting(value) +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) g._rawJSON = json.RawMessage(data) return nil } +<<<<<<< HEAD func (g *GuardRouting) String() string { +======= +func (g *GameGuardRouting) String() string { +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) if len(g._rawJSON) > 0 { if value, err := core.StringifyJSON(g._rawJSON); err == nil { return value @@ -233,8 +250,11 @@ func (h *HostRouting) String() string { type Lifecycle struct { // The duration to wait for in milliseconds before killing the actor. This should be set to a safe default, and can be overridden during a DELETE request if needed. KillTimeout *int64 `json:"kill_timeout,omitempty"` +<<<<<<< HEAD // If true, the actor will try to reschedule itself automatically in the event of a crash or a datacenter failover. The actor will not reschedule if it exits successfully. Durable *bool `json:"durable,omitempty"` +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) _rawJSON json.RawMessage } @@ -439,8 +459,13 @@ func (p *PortQueryAuthorization) String() string { } type PortRouting struct { +<<<<<<< HEAD Guard *GuardRouting `json:"guard,omitempty"` Host *HostRouting `json:"host,omitempty"` +======= + GameGuard *GameGuardRouting `json:"game_guard,omitempty"` + Host *HostRouting `json:"host,omitempty"` +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) _rawJSON json.RawMessage } @@ -625,6 +650,10 @@ func (c *CreateActorPortRequest) String() string { } type CreateActorRuntimeRequest struct { +<<<<<<< HEAD +======= + Build uuid.UUID `json:"build"` +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) Arguments []string `json:"arguments,omitempty"` Environment map[string]string `json:"environment,omitempty"` @@ -653,6 +682,7 @@ func (c *CreateActorRuntimeRequest) String() string { } return fmt.Sprintf("%#v", c) } +<<<<<<< HEAD type UpgradeActorRequestQuery struct { Project *string `json:"-"` @@ -672,3 +702,5 @@ func (u *UpgradeActorRequestQuery) UnmarshalJSON(data []byte) error { func (u *UpgradeActorRequestQuery) MarshalJSON() ([]byte, error) { return json.Marshal(u.Body) } +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) diff --git a/sdks/runtime/openapi/openapi.yml b/sdks/runtime/openapi/openapi.yml index 7ef882fc9e..7359de3e3a 100644 --- a/sdks/runtime/openapi/openapi.yml +++ b/sdks/runtime/openapi/openapi.yml @@ -294,6 +294,7 @@ paths: application/json: schema: $ref: '#/components/schemas/ActorCreateActorRequest' +<<<<<<< HEAD /actors/{actor}/upgrade: post: description: Upgrades a dynamic actor. @@ -304,6 +305,17 @@ paths: - name: actor in: path description: The id of the actor to upgrade +======= + /builds/{build}: + get: + description: Get a build. + operationId: actor_builds_get + tags: + - ActorBuilds + parameters: + - name: build + in: path +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) required: true schema: type: string @@ -324,7 +336,145 @@ paths: content: application/json: schema: +<<<<<<< HEAD $ref: '#/components/schemas/ActorUpgradeActorResponse' +======= + $ref: '#/components/schemas/ActorGetBuildResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '408': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '429': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '500': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + security: *ref_0 + /builds: + get: + description: >- + Lists all builds of the project associated with the token used. Can be + filtered by tags in the query string. + operationId: actor_builds_list + tags: + - ActorBuilds + parameters: + - name: project + in: query + required: false + schema: + type: string + - name: environment + in: query + required: false + schema: + type: string + - name: tags_json + in: query + required: false + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ActorListBuildsResponse' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '403': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '408': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '429': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + '500': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + security: *ref_0 + /builds/{build}/tags: + patch: + operationId: actor_builds_patchTags + tags: + - ActorBuilds + parameters: + - name: build + in: path + required: true + schema: + type: string + format: uuid + - name: project + in: query + required: false + schema: + type: string + - name: environment + in: query + required: false + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ActorPatchBuildTagsResponse' +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) '400': description: '' content: @@ -367,6 +517,7 @@ paths: content: application/json: schema: +<<<<<<< HEAD $ref: '#/components/schemas/ActorUpgradeActorRequest' /builds/{build}: get: @@ -381,6 +532,16 @@ paths: schema: type: string format: uuid +======= + $ref: '#/components/schemas/ActorPatchBuildTagsRequest' + /builds/prepare: + post: + description: Creates a new project build for the given project. + operationId: actor_builds_prepare + tags: + - ActorBuilds + parameters: +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) - name: project in: query required: false @@ -397,6 +558,7 @@ paths: content: application/json: schema: +<<<<<<< HEAD $ref: '#/components/schemas/ActorGetBuildResponse' '400': description: '' @@ -532,6 +694,9 @@ paths: application/json: schema: $ref: '#/components/schemas/ActorPatchBuildTagsResponse' +======= + $ref: '#/components/schemas/ActorPrepareBuildResponse' +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) '400': description: '' content: @@ -574,6 +739,7 @@ paths: content: application/json: schema: +<<<<<<< HEAD $ref: '#/components/schemas/ActorPatchBuildTagsRequest' /builds/prepare: post: @@ -582,6 +748,22 @@ paths: tags: - ActorBuilds parameters: +======= + $ref: '#/components/schemas/ActorPrepareBuildRequest' + /builds/{build}/complete: + post: + description: Marks an upload as complete. + operationId: actor_builds_complete + tags: + - ActorBuilds + parameters: + - name: build + in: path + required: true + schema: + type: string + format: uuid +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) - name: project in: query required: false @@ -593,12 +775,15 @@ paths: schema: type: string responses: - '200': + '204': description: '' +<<<<<<< HEAD content: application/json: schema: $ref: '#/components/schemas/ActorPrepareBuildResponse' +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) '400': description: '' content: @@ -636,6 +821,7 @@ paths: schema: $ref: '#/components/schemas/ErrorBody' security: *ref_0 +<<<<<<< HEAD requestBody: required: true content: @@ -710,6 +896,13 @@ paths: description: Returns the logs for a given actor. operationId: actor_logs_get tags: +======= + /actors/{actor}/logs: + get: + description: Returns the logs for a given actor. + operationId: actor_logs_get + tags: +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) - ActorLogs parameters: - name: actor @@ -858,10 +1051,13 @@ components: region: type: string tags: {} +<<<<<<< HEAD build: type: string format: uuid buildTags: {} +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) runtime: $ref: '#/components/schemas/ActorCreateActorRuntimeRequest' network: @@ -878,6 +1074,12 @@ components: ActorCreateActorRuntimeRequest: type: object properties: +<<<<<<< HEAD +======= + build: + type: string + format: uuid +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) arguments: type: array items: @@ -886,6 +1088,11 @@ components: type: object additionalProperties: type: string +<<<<<<< HEAD +======= + required: + - build +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ActorCreateActorNetworkRequest: type: object properties: @@ -917,6 +1124,7 @@ components: ActorDestroyActorResponse: type: object properties: {} +<<<<<<< HEAD ActorUpgradeActorRequest: type: object properties: @@ -927,6 +1135,8 @@ components: ActorUpgradeActorResponse: type: object properties: {} +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ActorListActorsResponse: type: object properties: @@ -973,6 +1183,10 @@ components: properties: name: type: string +<<<<<<< HEAD +======= + tags: {} +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) image_tag: type: string description: A tag given to the project build. @@ -990,6 +1204,10 @@ components: type: string required: - name +<<<<<<< HEAD +======= + - tags +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) - image_file ActorPrepareBuildResponse: type: object @@ -997,14 +1215,22 @@ components: build: type: string format: uuid +<<<<<<< HEAD image_presigned_request: $ref: '#/components/schemas/UploadPresignedRequest' image_presigned_requests: +======= + presigned_requests: +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) type: array items: $ref: '#/components/schemas/UploadPresignedRequest' required: - build +<<<<<<< HEAD +======= + - presigned_requests +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ActorBuildKind: type: string enum: @@ -1077,12 +1303,15 @@ components: The duration to wait for in milliseconds before killing the actor. This should be set to a safe default, and can be overridden during a DELETE request if needed. +<<<<<<< HEAD durable: type: boolean description: >- If true, the actor will try to reschedule itself automatically in the event of a crash or a datacenter failover. The actor will not reschedule if it exits successfully. +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ActorResources: type: object properties: @@ -1145,11 +1374,19 @@ components: ActorPortRouting: type: object properties: +<<<<<<< HEAD guard: $ref: '#/components/schemas/ActorGuardRouting' host: $ref: '#/components/schemas/ActorHostRouting' ActorGuardRouting: +======= + game_guard: + $ref: '#/components/schemas/ActorGameGuardRouting' + host: + $ref: '#/components/schemas/ActorHostRouting' + ActorGameGuardRouting: +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) type: object properties: authorization: diff --git a/sdks/runtime/openapi_compat/openapi.yml b/sdks/runtime/openapi_compat/openapi.yml index 20f8002461..14b4c130a4 100644 --- a/sdks/runtime/openapi_compat/openapi.yml +++ b/sdks/runtime/openapi_compat/openapi.yml @@ -93,10 +93,13 @@ components: type: object ActorCreateActorRequest: properties: +<<<<<<< HEAD build: format: uuid type: string buildTags: {} +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) lifecycle: $ref: '#/components/schemas/ActorLifecycle' network: @@ -128,14 +131,33 @@ components: items: type: string type: array +<<<<<<< HEAD +======= + build: + format: uuid + type: string +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) environment: additionalProperties: type: string type: object +<<<<<<< HEAD +======= + required: + - build +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) type: object ActorDestroyActorResponse: properties: {} type: object +<<<<<<< HEAD +======= + ActorGameGuardRouting: + properties: + authorization: + $ref: '#/components/schemas/ActorPortAuthorization' + type: object +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ActorGetActorLogsResponse: properties: lines: @@ -169,21 +191,27 @@ components: required: - build type: object +<<<<<<< HEAD ActorGuardRouting: properties: authorization: $ref: '#/components/schemas/ActorPortAuthorization' type: object +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ActorHostRouting: properties: {} type: object ActorLifecycle: properties: +<<<<<<< HEAD durable: description: If true, the actor will try to reschedule itself automatically in the event of a crash or a datacenter failover. The actor will not reschedule if it exits successfully. type: boolean +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) kill_timeout: description: The duration to wait for in milliseconds before killing the actor. This should be set to a safe default, and can be overridden during @@ -299,8 +327,13 @@ components: type: object ActorPortRouting: properties: +<<<<<<< HEAD guard: $ref: '#/components/schemas/ActorGuardRouting' +======= + game_guard: + $ref: '#/components/schemas/ActorGameGuardRouting' +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) host: $ref: '#/components/schemas/ActorHostRouting' type: object @@ -323,8 +356,15 @@ components: items: type: string type: array +<<<<<<< HEAD + required: + - name +======= + tags: {} required: - name + - tags +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) - image_file type: object ActorPrepareBuildResponse: @@ -332,14 +372,22 @@ components: build: format: uuid type: string +<<<<<<< HEAD image_presigned_request: $ref: '#/components/schemas/UploadPresignedRequest' image_presigned_requests: +======= + presigned_requests: +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) items: $ref: '#/components/schemas/UploadPresignedRequest' type: array required: - build +<<<<<<< HEAD +======= + - presigned_requests +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) type: object ActorRegion: properties: @@ -384,6 +432,7 @@ components: required: - build type: object +<<<<<<< HEAD ActorUpgradeActorRequest: properties: build: @@ -394,6 +443,8 @@ components: ActorUpgradeActorResponse: properties: {} type: object +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ErrorBody: properties: code: @@ -848,6 +899,7 @@ paths: security: *id001 tags: - ActorLogs +<<<<<<< HEAD /actors/{actor}/upgrade: post: description: Upgrades a dynamic actor. @@ -860,6 +912,80 @@ paths: schema: format: uuid type: string +======= + /builds: + get: + description: Lists all builds of the project associated with the token used. + Can be filtered by tags in the query string. + operationId: actor_builds_list + parameters: + - in: query + name: project + required: false + schema: + type: string + - in: query + name: environment + required: false + schema: + type: string + - in: query + name: tags_json + required: false + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ActorListBuildsResponse' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + description: '' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + description: '' + '408': + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + description: '' + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + description: '' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorBody' + description: '' + security: *id001 + tags: + - ActorBuilds + /builds/prepare: + post: + description: Creates a new project build for the given project. + operationId: actor_builds_prepare + parameters: +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) - in: query name: project required: false @@ -874,13 +1000,18 @@ paths: content: application/json: schema: +<<<<<<< HEAD $ref: '#/components/schemas/ActorUpgradeActorRequest' +======= + $ref: '#/components/schemas/ActorPrepareBuildRequest' +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) required: true responses: '200': content: application/json: schema: +<<<<<<< HEAD $ref: '#/components/schemas/ActorUpgradeActorResponse' description: '' '400': @@ -1015,6 +1146,8 @@ paths: content: application/json: schema: +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) $ref: '#/components/schemas/ActorPrepareBuildResponse' description: '' '400': diff --git a/sdks/runtime/rust/.openapi-generator/FILES b/sdks/runtime/rust/.openapi-generator/FILES index 831c1a632e..d84259817e 100644 --- a/sdks/runtime/rust/.openapi-generator/FILES +++ b/sdks/runtime/rust/.openapi-generator/FILES @@ -14,10 +14,17 @@ docs/ActorCreateActorPortRequest.md docs/ActorCreateActorRequest.md docs/ActorCreateActorResponse.md docs/ActorCreateActorRuntimeRequest.md +<<<<<<< HEAD docs/ActorGetActorLogsResponse.md docs/ActorGetActorResponse.md docs/ActorGetBuildResponse.md docs/ActorGuardRouting.md +======= +docs/ActorGameGuardRouting.md +docs/ActorGetActorLogsResponse.md +docs/ActorGetActorResponse.md +docs/ActorGetBuildResponse.md +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) docs/ActorLifecycle.md docs/ActorListActorsResponse.md docs/ActorListBuildsResponse.md @@ -38,7 +45,10 @@ docs/ActorRegion.md docs/ActorRegionsApi.md docs/ActorResources.md docs/ActorRuntime.md +<<<<<<< HEAD docs/ActorUpgradeActorRequest.md +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) docs/ErrorBody.md docs/UploadPrepareFile.md docs/UploadPresignedRequest.md @@ -60,10 +70,17 @@ src/models/actor_create_actor_port_request.rs src/models/actor_create_actor_request.rs src/models/actor_create_actor_response.rs src/models/actor_create_actor_runtime_request.rs +<<<<<<< HEAD src/models/actor_get_actor_logs_response.rs src/models/actor_get_actor_response.rs src/models/actor_get_build_response.rs src/models/actor_guard_routing.rs +======= +src/models/actor_game_guard_routing.rs +src/models/actor_get_actor_logs_response.rs +src/models/actor_get_actor_response.rs +src/models/actor_get_build_response.rs +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) src/models/actor_lifecycle.rs src/models/actor_list_actors_response.rs src/models/actor_list_builds_response.rs @@ -82,7 +99,10 @@ src/models/actor_prepare_build_response.rs src/models/actor_region.rs src/models/actor_resources.rs src/models/actor_runtime.rs +<<<<<<< HEAD src/models/actor_upgrade_actor_request.rs +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) src/models/error_body.rs src/models/mod.rs src/models/upload_prepare_file.rs diff --git a/sdks/runtime/rust/README.md b/sdks/runtime/rust/README.md index b7c8118dac..c9a8867ad0 100644 --- a/sdks/runtime/rust/README.md +++ b/sdks/runtime/rust/README.md @@ -29,7 +29,10 @@ Class | Method | HTTP request | Description *ActorApi* | [**actor_destroy**](docs/ActorApi.md#actor_destroy) | **DELETE** /actors/{actor} | *ActorApi* | [**actor_get**](docs/ActorApi.md#actor_get) | **GET** /actors/{actor} | *ActorApi* | [**actor_list**](docs/ActorApi.md#actor_list) | **GET** /actors | +<<<<<<< HEAD *ActorApi* | [**actor_upgrade**](docs/ActorApi.md#actor_upgrade) | **POST** /actors/{actor}/upgrade | +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) *ActorBuildsApi* | [**actor_builds_complete**](docs/ActorBuildsApi.md#actor_builds_complete) | **POST** /builds/{build}/complete | *ActorBuildsApi* | [**actor_builds_get**](docs/ActorBuildsApi.md#actor_builds_get) | **GET** /builds/{build} | *ActorBuildsApi* | [**actor_builds_list**](docs/ActorBuildsApi.md#actor_builds_list) | **GET** /builds | @@ -50,10 +53,17 @@ Class | Method | HTTP request | Description - [ActorCreateActorRequest](docs/ActorCreateActorRequest.md) - [ActorCreateActorResponse](docs/ActorCreateActorResponse.md) - [ActorCreateActorRuntimeRequest](docs/ActorCreateActorRuntimeRequest.md) +<<<<<<< HEAD - [ActorGetActorLogsResponse](docs/ActorGetActorLogsResponse.md) - [ActorGetActorResponse](docs/ActorGetActorResponse.md) - [ActorGetBuildResponse](docs/ActorGetBuildResponse.md) - [ActorGuardRouting](docs/ActorGuardRouting.md) +======= + - [ActorGameGuardRouting](docs/ActorGameGuardRouting.md) + - [ActorGetActorLogsResponse](docs/ActorGetActorLogsResponse.md) + - [ActorGetActorResponse](docs/ActorGetActorResponse.md) + - [ActorGetBuildResponse](docs/ActorGetBuildResponse.md) +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) - [ActorLifecycle](docs/ActorLifecycle.md) - [ActorListActorsResponse](docs/ActorListActorsResponse.md) - [ActorListBuildsResponse](docs/ActorListBuildsResponse.md) @@ -72,7 +82,10 @@ Class | Method | HTTP request | Description - [ActorRegion](docs/ActorRegion.md) - [ActorResources](docs/ActorResources.md) - [ActorRuntime](docs/ActorRuntime.md) +<<<<<<< HEAD - [ActorUpgradeActorRequest](docs/ActorUpgradeActorRequest.md) +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) - [ErrorBody](docs/ErrorBody.md) - [UploadPrepareFile](docs/UploadPrepareFile.md) - [UploadPresignedRequest](docs/UploadPresignedRequest.md) diff --git a/sdks/runtime/rust/docs/ActorApi.md b/sdks/runtime/rust/docs/ActorApi.md index 6c5e8a3821..a46114ec90 100644 --- a/sdks/runtime/rust/docs/ActorApi.md +++ b/sdks/runtime/rust/docs/ActorApi.md @@ -8,7 +8,10 @@ Method | HTTP request | Description [**actor_destroy**](ActorApi.md#actor_destroy) | **DELETE** /actors/{actor} | [**actor_get**](ActorApi.md#actor_get) | **GET** /actors/{actor} | [**actor_list**](ActorApi.md#actor_list) | **GET** /actors | +<<<<<<< HEAD [**actor_upgrade**](ActorApi.md#actor_upgrade) | **POST** /actors/{actor}/upgrade | +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) @@ -142,6 +145,7 @@ Name | Type | Description | Required | Notes [[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) +<<<<<<< HEAD ## actor_upgrade @@ -175,3 +179,5 @@ Name | Type | Description | Required | Notes [[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) +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) diff --git a/sdks/runtime/rust/docs/ActorBuildCompression.md b/sdks/runtime/rust/docs/ActorBuildCompression.md index 2903bf515f..1b195e3611 100644 --- a/sdks/runtime/rust/docs/ActorBuildCompression.md +++ b/sdks/runtime/rust/docs/ActorBuildCompression.md @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:sdks/runtime/rust/docs/ActorBuildCompression.md # ActorBuildCompression +======== +# ActorLogStream +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/rust/docs/ActorLogStream.md ## Properties diff --git a/sdks/runtime/rust/docs/ActorBuildKind.md b/sdks/runtime/rust/docs/ActorBuildKind.md index da74c36245..be3c6041b1 100644 --- a/sdks/runtime/rust/docs/ActorBuildKind.md +++ b/sdks/runtime/rust/docs/ActorBuildKind.md @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:sdks/runtime/rust/docs/ActorBuildKind.md # ActorBuildKind +======== +# ActorNetworkMode +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/rust/docs/ActorNetworkMode.md ## Properties diff --git a/sdks/runtime/rust/docs/ActorCreateActorRequest.md b/sdks/runtime/rust/docs/ActorCreateActorRequest.md index 1c11d36f28..d1acb1689c 100644 --- a/sdks/runtime/rust/docs/ActorCreateActorRequest.md +++ b/sdks/runtime/rust/docs/ActorCreateActorRequest.md @@ -4,8 +4,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +<<<<<<< HEAD **build** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | | [optional] **build_tags** | Option<[**serde_json::Value**](.md)> | | [optional] +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) **lifecycle** | Option<[**crate::models::ActorLifecycle**](ActorLifecycle.md)> | | [optional] **network** | Option<[**crate::models::ActorCreateActorNetworkRequest**](ActorCreateActorNetworkRequest.md)> | | [optional] **region** | **String** | | diff --git a/sdks/runtime/rust/docs/ActorCreateActorRuntimeRequest.md b/sdks/runtime/rust/docs/ActorCreateActorRuntimeRequest.md index 463a6a7e7d..52a21fb0ec 100644 --- a/sdks/runtime/rust/docs/ActorCreateActorRuntimeRequest.md +++ b/sdks/runtime/rust/docs/ActorCreateActorRuntimeRequest.md @@ -5,6 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **arguments** | Option<**Vec**> | | [optional] +<<<<<<< HEAD +======= +**build** | [**uuid::Uuid**](uuid::Uuid.md) | | +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) **environment** | Option<**::std::collections::HashMap**> | | [optional] [[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/runtime/rust/docs/ActorGameGuardRouting.md b/sdks/runtime/rust/docs/ActorGameGuardRouting.md new file mode 100644 index 0000000000..4e97cd2ecd --- /dev/null +++ b/sdks/runtime/rust/docs/ActorGameGuardRouting.md @@ -0,0 +1,11 @@ +# ActorGameGuardRouting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**authorization** | Option<[**crate::models::ActorPortAuthorization**](ActorPortAuthorization.md)> | | [optional] + +[[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/runtime/rust/docs/ActorLifecycle.md b/sdks/runtime/rust/docs/ActorLifecycle.md index 7564972c54..27a74fa1f3 100644 --- a/sdks/runtime/rust/docs/ActorLifecycle.md +++ b/sdks/runtime/rust/docs/ActorLifecycle.md @@ -4,7 +4,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +<<<<<<< HEAD **durable** | Option<**bool**> | If true, the actor will try to reschedule itself automatically in the event of a crash or a datacenter failover. The actor will not reschedule if it exits successfully. | [optional] +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) **kill_timeout** | Option<**i64**> | The duration to wait for in milliseconds before killing the actor. This should be set to a safe default, and can be overridden during a DELETE request if needed. | [optional] [[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/runtime/rust/docs/ActorPortRouting.md b/sdks/runtime/rust/docs/ActorPortRouting.md index 72921d39ac..4e958d1966 100644 --- a/sdks/runtime/rust/docs/ActorPortRouting.md +++ b/sdks/runtime/rust/docs/ActorPortRouting.md @@ -4,7 +4,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +<<<<<<< HEAD **guard** | Option<[**crate::models::ActorGuardRouting**](ActorGuardRouting.md)> | | [optional] +======= +**game_guard** | Option<[**crate::models::ActorGameGuardRouting**](ActorGameGuardRouting.md)> | | [optional] +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) **host** | Option<[**serde_json::Value**](.md)> | | [optional] [[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/runtime/rust/docs/ActorPrepareBuildRequest.md b/sdks/runtime/rust/docs/ActorPrepareBuildRequest.md index e96e8012e3..4ff6d5a018 100644 --- a/sdks/runtime/rust/docs/ActorPrepareBuildRequest.md +++ b/sdks/runtime/rust/docs/ActorPrepareBuildRequest.md @@ -11,6 +11,10 @@ Name | Type | Description | Notes **multipart_upload** | Option<**bool**> | | [optional] **name** | **String** | | **prewarm_regions** | Option<**Vec**> | | [optional] +<<<<<<< HEAD +======= +**tags** | Option<[**serde_json::Value**](.md)> | | +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) [[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/runtime/rust/docs/ActorPrepareBuildResponse.md b/sdks/runtime/rust/docs/ActorPrepareBuildResponse.md index 5943b524e0..2ac75897cb 100644 --- a/sdks/runtime/rust/docs/ActorPrepareBuildResponse.md +++ b/sdks/runtime/rust/docs/ActorPrepareBuildResponse.md @@ -5,8 +5,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **build** | [**uuid::Uuid**](uuid::Uuid.md) | | +<<<<<<< HEAD **image_presigned_request** | Option<[**crate::models::UploadPresignedRequest**](UploadPresignedRequest.md)> | | [optional] **image_presigned_requests** | Option<[**Vec**](UploadPresignedRequest.md)> | | [optional] +======= +**presigned_requests** | [**Vec**](UploadPresignedRequest.md) | | +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) [[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/runtime/rust/src/apis/actor_api.rs b/sdks/runtime/rust/src/apis/actor_api.rs index f5130a4de6..72a8c9638f 100644 --- a/sdks/runtime/rust/src/apis/actor_api.rs +++ b/sdks/runtime/rust/src/apis/actor_api.rs @@ -67,6 +67,7 @@ pub enum ActorListError { UnknownValue(serde_json::Value), } +<<<<<<< HEAD /// struct for typed errors of method [`actor_upgrade`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] @@ -80,6 +81,8 @@ pub enum ActorUpgradeError { UnknownValue(serde_json::Value), } +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) /// Create a new dynamic actor. pub async fn actor_create(configuration: &configuration::Configuration, actor_create_actor_request: crate::models::ActorCreateActorRequest, project: Option<&str>, environment: Option<&str>) -> Result> { @@ -242,6 +245,7 @@ pub async fn actor_list(configuration: &configuration::Configuration, project: O } } +<<<<<<< HEAD /// Upgrades a dynamic actor. pub async fn actor_upgrade(configuration: &configuration::Configuration, actor: &str, actor_upgrade_actor_request: crate::models::ActorUpgradeActorRequest, project: Option<&str>, environment: Option<&str>) -> Result> { let local_var_configuration = configuration; @@ -280,3 +284,5 @@ pub async fn actor_upgrade(configuration: &configuration::Configuration, actor: } } +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) diff --git a/sdks/runtime/rust/src/models/actor_create_actor_request.rs b/sdks/runtime/rust/src/models/actor_create_actor_request.rs index 0ace9f2c7b..110f964916 100644 --- a/sdks/runtime/rust/src/models/actor_create_actor_request.rs +++ b/sdks/runtime/rust/src/models/actor_create_actor_request.rs @@ -13,10 +13,13 @@ #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] pub struct ActorCreateActorRequest { +<<<<<<< HEAD #[serde(rename = "build", skip_serializing_if = "Option::is_none")] pub build: Option, #[serde(rename = "buildTags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub build_tags: Option>, +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) #[serde(rename = "lifecycle", skip_serializing_if = "Option::is_none")] pub lifecycle: Option>, #[serde(rename = "network", skip_serializing_if = "Option::is_none")] @@ -34,8 +37,11 @@ pub struct ActorCreateActorRequest { impl ActorCreateActorRequest { pub fn new(region: String, resources: crate::models::ActorResources, runtime: crate::models::ActorCreateActorRuntimeRequest, tags: Option) -> ActorCreateActorRequest { ActorCreateActorRequest { +<<<<<<< HEAD build: None, build_tags: None, +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) lifecycle: None, network: None, region, diff --git a/sdks/runtime/rust/src/models/actor_create_actor_runtime_request.rs b/sdks/runtime/rust/src/models/actor_create_actor_runtime_request.rs index 47181d7ec9..ac20d01b6c 100644 --- a/sdks/runtime/rust/src/models/actor_create_actor_runtime_request.rs +++ b/sdks/runtime/rust/src/models/actor_create_actor_runtime_request.rs @@ -15,14 +15,26 @@ pub struct ActorCreateActorRuntimeRequest { #[serde(rename = "arguments", skip_serializing_if = "Option::is_none")] pub arguments: Option>, +<<<<<<< HEAD +======= + #[serde(rename = "build")] + pub build: uuid::Uuid, +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) #[serde(rename = "environment", skip_serializing_if = "Option::is_none")] pub environment: Option<::std::collections::HashMap>, } impl ActorCreateActorRuntimeRequest { +<<<<<<< HEAD pub fn new() -> ActorCreateActorRuntimeRequest { ActorCreateActorRuntimeRequest { arguments: None, +======= + pub fn new(build: uuid::Uuid) -> ActorCreateActorRuntimeRequest { + ActorCreateActorRuntimeRequest { + arguments: None, + build, +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) environment: None, } } diff --git a/sdks/runtime/rust/src/models/actor_game_guard_routing.rs b/sdks/runtime/rust/src/models/actor_game_guard_routing.rs new file mode 100644 index 0000000000..b1a29406e2 --- /dev/null +++ b/sdks/runtime/rust/src/models/actor_game_guard_routing.rs @@ -0,0 +1,28 @@ +/* + * Rivet API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.0.1 + * + * Generated by: https://openapi-generator.tech + */ + + + + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct ActorGameGuardRouting { + #[serde(rename = "authorization", skip_serializing_if = "Option::is_none")] + pub authorization: Option>, +} + +impl ActorGameGuardRouting { + pub fn new() -> ActorGameGuardRouting { + ActorGameGuardRouting { + authorization: None, + } + } +} + + diff --git a/sdks/runtime/rust/src/models/actor_lifecycle.rs b/sdks/runtime/rust/src/models/actor_lifecycle.rs index cfcf65fe31..668702e715 100644 --- a/sdks/runtime/rust/src/models/actor_lifecycle.rs +++ b/sdks/runtime/rust/src/models/actor_lifecycle.rs @@ -13,9 +13,12 @@ #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] pub struct ActorLifecycle { +<<<<<<< HEAD /// If true, the actor will try to reschedule itself automatically in the event of a crash or a datacenter failover. The actor will not reschedule if it exits successfully. #[serde(rename = "durable", skip_serializing_if = "Option::is_none")] pub durable: Option, +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) /// The duration to wait for in milliseconds before killing the actor. This should be set to a safe default, and can be overridden during a DELETE request if needed. #[serde(rename = "kill_timeout", skip_serializing_if = "Option::is_none")] pub kill_timeout: Option, @@ -24,7 +27,10 @@ pub struct ActorLifecycle { impl ActorLifecycle { pub fn new() -> ActorLifecycle { ActorLifecycle { +<<<<<<< HEAD durable: None, +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) kill_timeout: None, } } diff --git a/sdks/runtime/rust/src/models/actor_port_routing.rs b/sdks/runtime/rust/src/models/actor_port_routing.rs index d360b659fe..87727f878e 100644 --- a/sdks/runtime/rust/src/models/actor_port_routing.rs +++ b/sdks/runtime/rust/src/models/actor_port_routing.rs @@ -13,8 +13,13 @@ #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] pub struct ActorPortRouting { +<<<<<<< HEAD #[serde(rename = "guard", skip_serializing_if = "Option::is_none")] pub guard: Option>, +======= + #[serde(rename = "game_guard", skip_serializing_if = "Option::is_none")] + pub game_guard: Option>, +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) #[serde(rename = "host", skip_serializing_if = "Option::is_none")] pub host: Option, } @@ -22,7 +27,11 @@ pub struct ActorPortRouting { impl ActorPortRouting { pub fn new() -> ActorPortRouting { ActorPortRouting { +<<<<<<< HEAD guard: None, +======= + game_guard: None, +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) host: None, } } diff --git a/sdks/runtime/rust/src/models/actor_prepare_build_request.rs b/sdks/runtime/rust/src/models/actor_prepare_build_request.rs index ddf999bf9c..fb8c760950 100644 --- a/sdks/runtime/rust/src/models/actor_prepare_build_request.rs +++ b/sdks/runtime/rust/src/models/actor_prepare_build_request.rs @@ -28,10 +28,19 @@ pub struct ActorPrepareBuildRequest { pub name: String, #[serde(rename = "prewarm_regions", skip_serializing_if = "Option::is_none")] pub prewarm_regions: Option>, +<<<<<<< HEAD } impl ActorPrepareBuildRequest { pub fn new(image_file: crate::models::UploadPrepareFile, name: String) -> ActorPrepareBuildRequest { +======= + #[serde(rename = "tags", deserialize_with = "Option::deserialize")] + pub tags: Option, +} + +impl ActorPrepareBuildRequest { + pub fn new(image_file: crate::models::UploadPrepareFile, name: String, tags: Option) -> ActorPrepareBuildRequest { +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ActorPrepareBuildRequest { compression: None, image_file: Box::new(image_file), @@ -40,6 +49,10 @@ impl ActorPrepareBuildRequest { multipart_upload: None, name, prewarm_regions: None, +<<<<<<< HEAD +======= + tags, +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) } } } diff --git a/sdks/runtime/rust/src/models/actor_prepare_build_response.rs b/sdks/runtime/rust/src/models/actor_prepare_build_response.rs index 9dd9f19ece..7aede118c5 100644 --- a/sdks/runtime/rust/src/models/actor_prepare_build_response.rs +++ b/sdks/runtime/rust/src/models/actor_prepare_build_response.rs @@ -15,6 +15,7 @@ pub struct ActorPrepareBuildResponse { #[serde(rename = "build")] pub build: uuid::Uuid, +<<<<<<< HEAD #[serde(rename = "image_presigned_request", skip_serializing_if = "Option::is_none")] pub image_presigned_request: Option>, #[serde(rename = "image_presigned_requests", skip_serializing_if = "Option::is_none")] @@ -27,6 +28,17 @@ impl ActorPrepareBuildResponse { build, image_presigned_request: None, image_presigned_requests: None, +======= + #[serde(rename = "presigned_requests")] + pub presigned_requests: Vec, +} + +impl ActorPrepareBuildResponse { + pub fn new(build: uuid::Uuid, presigned_requests: Vec) -> ActorPrepareBuildResponse { + ActorPrepareBuildResponse { + build, + presigned_requests, +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) } } } diff --git a/sdks/runtime/rust/src/models/mod.rs b/sdks/runtime/rust/src/models/mod.rs index a893c21add..d1c8289c3f 100644 --- a/sdks/runtime/rust/src/models/mod.rs +++ b/sdks/runtime/rust/src/models/mod.rs @@ -16,14 +16,22 @@ pub mod actor_create_actor_response; pub use self::actor_create_actor_response::ActorCreateActorResponse; pub mod actor_create_actor_runtime_request; pub use self::actor_create_actor_runtime_request::ActorCreateActorRuntimeRequest; +<<<<<<< HEAD +======= +pub mod actor_game_guard_routing; +pub use self::actor_game_guard_routing::ActorGameGuardRouting; +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) pub mod actor_get_actor_logs_response; pub use self::actor_get_actor_logs_response::ActorGetActorLogsResponse; pub mod actor_get_actor_response; pub use self::actor_get_actor_response::ActorGetActorResponse; pub mod actor_get_build_response; pub use self::actor_get_build_response::ActorGetBuildResponse; +<<<<<<< HEAD pub mod actor_guard_routing; pub use self::actor_guard_routing::ActorGuardRouting; +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) pub mod actor_lifecycle; pub use self::actor_lifecycle::ActorLifecycle; pub mod actor_list_actors_response; @@ -60,8 +68,11 @@ pub mod actor_resources; pub use self::actor_resources::ActorResources; pub mod actor_runtime; pub use self::actor_runtime::ActorRuntime; +<<<<<<< HEAD pub mod actor_upgrade_actor_request; pub use self::actor_upgrade_actor_request::ActorUpgradeActorRequest; +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) pub mod error_body; pub use self::error_body::ErrorBody; pub mod upload_prepare_file; diff --git a/sdks/runtime/typescript/src/api/resources/actor/client/Client.ts b/sdks/runtime/typescript/src/api/resources/actor/client/Client.ts index 096d8ab016..8db96fa80e 100644 --- a/sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +++ b/sdks/runtime/typescript/src/api/resources/actor/client/Client.ts @@ -6,6 +6,10 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Rivet from "../../../index"; import urlJoin from "url-join"; +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) import * as serializers from "../../../../serialization/index"; import * as errors from "../../../../errors/index"; import { Builds } from "../resources/builds/client/Client"; @@ -13,6 +17,15 @@ import { Logs } from "../resources/logs/client/Client"; import { Regions } from "../resources/regions/client/Client"; export declare namespace Actor { +<<<<<<< HEAD +======== +import * as serializers from "../../../../../../serialization/index"; +import * as errors from "../../../../../../errors/index"; + +export declare namespace Builds { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) interface Options { environment?: core.Supplier; token: core.Supplier; @@ -29,6 +42,10 @@ export declare namespace Actor { } } +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) export class Actor { constructor(protected readonly _options: Actor.Options) {} @@ -38,6 +55,20 @@ export class Actor { * @param {string} actor - The id of the actor to destroy * @param {Rivet.actor.ListActorsRequestQuery} request * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. +<<<<<<< HEAD +======== +export class Builds { + constructor(protected readonly _options: Builds.Options) {} + + /** + * Get a build. + * + * @param {string} build + * @param {Rivet.actor.GetBuildRequestQuery} request + * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * * @throws {@link Rivet.InternalError} * @throws {@link Rivet.RateLimitError} @@ -47,16 +78,37 @@ export class Actor { * @throws {@link Rivet.BadRequestError} * * @example +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + * await client.actor.get("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { +======== + * await client.actor.builds.get("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= * await client.actor.get("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * project: "string", * environment: "string" * }) */ public async get( +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) actor: string, request: Rivet.actor.ListActorsRequestQuery = {}, requestOptions?: Actor.RequestOptions ): Promise { +<<<<<<< HEAD +======== + build: string, + request: Rivet.actor.GetBuildRequestQuery = {}, + requestOptions?: Builds.RequestOptions + ): Promise { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) const { project, environment } = request; const _queryParams: Record = {}; if (project != null) { @@ -70,7 +122,15 @@ export class Actor { const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + `/actors/${encodeURIComponent(actor)}` +======== + `/builds/${encodeURIComponent(build)}` +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= `/actors/${encodeURIComponent(actor)}` +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ), method: "GET", headers: { @@ -87,7 +147,15 @@ export class Actor { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts return serializers.actor.GetActorResponse.parseOrThrow(_response.body, { +======== + return serializers.actor.GetBuildResponse.parseOrThrow(_response.body, { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= + return serializers.actor.GetActorResponse.parseOrThrow(_response.body, { +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -182,10 +250,23 @@ export class Actor { } /** +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * Lists all actors associated with the token used. Can be filtered by tags in the query string. * * @param {Rivet.actor.GetActorsRequestQuery} request * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. +<<<<<<< HEAD +======== + * Lists all builds of the project associated with the token used. Can be filtered by tags in the query string. + * + * @param {Rivet.actor.ListBuildsRequestQuery} request + * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * * @throws {@link Rivet.InternalError} * @throws {@link Rivet.RateLimitError} @@ -195,6 +276,10 @@ export class Actor { * @throws {@link Rivet.BadRequestError} * * @example +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * await client.actor.list({ * project: "string", * environment: "string", @@ -208,6 +293,22 @@ export class Actor { requestOptions?: Actor.RequestOptions ): Promise { const { project, environment, tagsJson, includeDestroyed, cursor } = request; +<<<<<<< HEAD +======== + * await client.actor.builds.list({ + * project: "string", + * environment: "string", + * tagsJson: "string" + * }) + */ + public async list( + request: Rivet.actor.ListBuildsRequestQuery = {}, + requestOptions?: Builds.RequestOptions + ): Promise { + const { project, environment, tagsJson } = request; +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) const _queryParams: Record = {}; if (project != null) { _queryParams["project"] = project; @@ -221,6 +322,10 @@ export class Actor { _queryParams["tags_json"] = tagsJson; } +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) if (includeDestroyed != null) { _queryParams["include_destroyed"] = includeDestroyed.toString(); } @@ -233,6 +338,15 @@ export class Actor { url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, "/actors" +<<<<<<< HEAD +======== + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, + "/builds" +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ), method: "GET", headers: { @@ -249,7 +363,15 @@ export class Actor { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + return serializers.actor.ListActorsResponse.parseOrThrow(_response.body, { +======== + return serializers.actor.ListBuildsResponse.parseOrThrow(_response.body, { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= return serializers.actor.ListActorsResponse.parseOrThrow(_response.body, { +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -344,10 +466,22 @@ export class Actor { } /** +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * Create a new dynamic actor. * * @param {Rivet.actor.CreateActorRequestQuery} request * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. +<<<<<<< HEAD +======== + * @param {string} build + * @param {Rivet.actor.PatchBuildTagsRequestQuery} request + * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * * @throws {@link Rivet.InternalError} * @throws {@link Rivet.RateLimitError} @@ -357,6 +491,10 @@ export class Actor { * @throws {@link Rivet.BadRequestError} * * @example +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * await client.actor.create({ * project: "string", * environment: "string", @@ -365,11 +503,16 @@ export class Actor { * tags: { * "key": "value" * }, +<<<<<<< HEAD * build: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", * buildTags: { * "key": "value" * }, * runtime: { +======= + * runtime: { + * build: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * arguments: ["string"], * environment: { * "string": "string" @@ -384,8 +527,12 @@ export class Actor { * memory: 1 * }, * lifecycle: { +<<<<<<< HEAD * killTimeout: 1000000, * durable: true +======= + * killTimeout: 1000000 +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * } * } * }) @@ -394,6 +541,27 @@ export class Actor { request: Rivet.actor.CreateActorRequestQuery, requestOptions?: Actor.RequestOptions ): Promise { +<<<<<<< HEAD +======== + * await client.actor.builds.patchTags("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { + * project: "string", + * environment: "string", + * body: { + * tags: { + * "key": "value" + * }, + * exclusiveTags: ["string"] + * } + * }) + */ + public async patchTags( + build: string, + request: Rivet.actor.PatchBuildTagsRequestQuery, + requestOptions?: Builds.RequestOptions + ): Promise { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) const { project, environment, body: _body } = request; const _queryParams: Record = {}; if (project != null) { @@ -407,9 +575,21 @@ export class Actor { const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts "/actors" ), method: "POST", +======== + `/builds/${encodeURIComponent(build)}/tags` + ), + method: "PATCH", +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= + "/actors" + ), + method: "POST", +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", @@ -419,13 +599,29 @@ export class Actor { contentType: "application/json", queryParameters: _queryParams, requestType: "json", +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts body: serializers.actor.CreateActorRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +======== + body: serializers.actor.PatchBuildTagsRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= + body: serializers.actor.CreateActorRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + return serializers.actor.CreateActorResponse.parseOrThrow(_response.body, { +======== + return serializers.actor.PatchBuildTagsResponse.parseOrThrow(_response.body, { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= return serializers.actor.CreateActorResponse.parseOrThrow(_response.body, { +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -520,11 +716,24 @@ export class Actor { } /** +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * Destroy a dynamic actor. * * @param {string} actor - The id of the actor to destroy * @param {Rivet.actor.DestroyActorRequestQuery} request * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. +<<<<<<< HEAD +======== + * Creates a new project build for the given project. + * + * @param {Rivet.actor.PrepareBuildRequestQuery} request + * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * * @throws {@link Rivet.InternalError} * @throws {@link Rivet.RateLimitError} @@ -534,6 +743,10 @@ export class Actor { * @throws {@link Rivet.BadRequestError} * * @example +<<<<<<< HEAD +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * await client.actor.destroy("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { * project: "string", * environment: "string", @@ -673,6 +886,7 @@ export class Actor { } } +<<<<<<< HEAD /** * Upgrades a dynamic actor. * @@ -704,6 +918,33 @@ export class Actor { request: Rivet.actor.UpgradeActorRequestQuery, requestOptions?: Actor.RequestOptions ): Promise { +======== + * await client.actor.builds.prepare({ + * project: "string", + * environment: "string", + * body: { + * name: "string", + * tags: { + * "key": "value" + * }, + * imageTag: "string", + * imageFile: { + * path: "string", + * contentType: "string", + * contentLength: 1000000 + * }, + * multipartUpload: true, + * kind: "docker_image", + * compression: "none", + * prewarmRegions: ["string"] + * } + * }) + */ + public async prepare( + request: Rivet.actor.PrepareBuildRequestQuery, + requestOptions?: Builds.RequestOptions + ): Promise { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts const { project, environment, body: _body } = request; const _queryParams: Record = {}; if (project != null) { @@ -717,7 +958,11 @@ export class Actor { const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts `/actors/${encodeURIComponent(actor)}/upgrade` +======== + "/builds/prepare" +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts ), method: "POST", headers: { @@ -729,13 +974,21 @@ export class Actor { contentType: "application/json", queryParameters: _queryParams, requestType: "json", +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts body: serializers.actor.UpgradeActorRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +======== + body: serializers.actor.PrepareBuildRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts return serializers.actor.UpgradeActorResponse.parseOrThrow(_response.body, { +======== + return serializers.actor.PrepareBuildResponse.parseOrThrow(_response.body, { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -829,6 +1082,9 @@ export class Actor { } } +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) protected _builds: Builds | undefined; public get builds(): Builds { @@ -845,6 +1101,152 @@ export class Actor { public get regions(): Regions { return (this._regions ??= new Regions(this._options)); +<<<<<<< HEAD +======== + /** + * Marks an upload as complete. + * + * @param {string} build + * @param {Rivet.actor.CompleteBuildRequestQuery} request + * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Rivet.InternalError} + * @throws {@link Rivet.RateLimitError} + * @throws {@link Rivet.ForbiddenError} + * @throws {@link Rivet.UnauthorizedError} + * @throws {@link Rivet.NotFoundError} + * @throws {@link Rivet.BadRequestError} + * + * @example + * await client.actor.builds.complete("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { + * project: "string", + * environment: "string" + * }) + */ + public async complete( + build: string, + request: Rivet.actor.CompleteBuildRequestQuery = {}, + requestOptions?: Builds.RequestOptions + ): Promise { + const { project, environment } = request; + const _queryParams: Record = {}; + if (project != null) { + _queryParams["project"] = project; + } + + if (environment != null) { + _queryParams["environment"] = environment; + } + + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, + `/builds/${encodeURIComponent(build)}/complete` + ), + method: "POST", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + 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; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 500: + throw new Rivet.InternalError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 429: + throw new Rivet.RateLimitError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 403: + throw new Rivet.ForbiddenError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 408: + throw new Rivet.UnauthorizedError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 404: + throw new Rivet.NotFoundError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 400: + throw new Rivet.BadRequestError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + default: + throw new errors.RivetError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + 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(); + case "unknown": + throw new errors.RivetError({ + message: _response.error.errorMessage, + }); + } +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) } protected async _getAuthorizationHeader(): Promise { diff --git a/sdks/runtime/typescript/src/api/resources/actor/client/requests/CreateActorRequestQuery.ts b/sdks/runtime/typescript/src/api/resources/actor/client/requests/CreateActorRequestQuery.ts index d1ada8be5b..8f3cb86bf4 100644 --- a/sdks/runtime/typescript/src/api/resources/actor/client/requests/CreateActorRequestQuery.ts +++ b/sdks/runtime/typescript/src/api/resources/actor/client/requests/CreateActorRequestQuery.ts @@ -14,11 +14,16 @@ import * as Rivet from "../../../../index"; * tags: { * "key": "value" * }, +<<<<<<< HEAD * build: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", * buildTags: { * "key": "value" * }, * runtime: { +======= + * runtime: { + * build: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * arguments: ["string"], * environment: { * "string": "string" @@ -33,8 +38,12 @@ import * as Rivet from "../../../../index"; * memory: 1 * }, * lifecycle: { +<<<<<<< HEAD * killTimeout: 1000000, * durable: true +======= + * killTimeout: 1000000 +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * } * } * } diff --git a/sdks/runtime/typescript/src/api/resources/actor/client/requests/index.ts b/sdks/runtime/typescript/src/api/resources/actor/client/requests/index.ts index 16cd8d026c..d038f7c01a 100644 --- a/sdks/runtime/typescript/src/api/resources/actor/client/requests/index.ts +++ b/sdks/runtime/typescript/src/api/resources/actor/client/requests/index.ts @@ -2,4 +2,7 @@ export { type ListActorsRequestQuery } from "./ListActorsRequestQuery"; export { type GetActorsRequestQuery } from "./GetActorsRequestQuery"; export { type CreateActorRequestQuery } from "./CreateActorRequestQuery"; export { type DestroyActorRequestQuery } from "./DestroyActorRequestQuery"; +<<<<<<< HEAD export { type UpgradeActorRequestQuery } from "./UpgradeActorRequestQuery"; +======= +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) diff --git a/sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts b/sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts index 074f4b6205..ca395a7c59 100644 --- a/sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +++ b/sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts @@ -2,14 +2,34 @@ * This file was auto-generated by Fern from our API Definition. */ +<<<<<<< HEAD import * as environments from "../../../../../../environments"; import * as core from "../../../../../../core"; import * as Rivet from "../../../../../index"; import urlJoin from "url-join"; +======= +import * as environments from "../../../../environments"; +import * as core from "../../../../core"; +import * as Rivet from "../../../index"; +import urlJoin from "url-join"; +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +import * as serializers from "../../../../serialization/index"; +import * as errors from "../../../../errors/index"; +import { Builds } from "../resources/builds/client/Client"; +import { Logs } from "../resources/logs/client/Client"; +import { Regions } from "../resources/regions/client/Client"; + +export declare namespace Actor { +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) import * as serializers from "../../../../../../serialization/index"; import * as errors from "../../../../../../errors/index"; export declare namespace Builds { +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) interface Options { environment?: core.Supplier; token: core.Supplier; @@ -26,6 +46,20 @@ export declare namespace Builds { } } +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts +export class Actor { + constructor(protected readonly _options: Actor.Options) {} + + /** + * Gets a dynamic actor. + * + * @param {string} actor - The id of the actor to destroy + * @param {Rivet.actor.ListActorsRequestQuery} request + * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) export class Builds { constructor(protected readonly _options: Builds.Options) {} @@ -35,6 +69,10 @@ export class Builds { * @param {string} build * @param {Rivet.actor.GetBuildRequestQuery} request * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * * @throws {@link Rivet.InternalError} * @throws {@link Rivet.RateLimitError} @@ -44,16 +82,37 @@ export class Builds { * @throws {@link Rivet.BadRequestError} * * @example +<<<<<<< HEAD + * await client.actor.builds.get("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + * await client.actor.get("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { +======== * await client.actor.builds.get("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * project: "string", * environment: "string" * }) */ public async get( +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + actor: string, + request: Rivet.actor.ListActorsRequestQuery = {}, + requestOptions?: Actor.RequestOptions + ): Promise { +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) build: string, request: Rivet.actor.GetBuildRequestQuery = {}, requestOptions?: Builds.RequestOptions ): Promise { +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) const { project, environment } = request; const _queryParams: Record = {}; if (project != null) { @@ -67,7 +126,15 @@ export class Builds { const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, +<<<<<<< HEAD + `/builds/${encodeURIComponent(build)}` +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + `/actors/${encodeURIComponent(actor)}` +======== `/builds/${encodeURIComponent(build)}` +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ), method: "GET", headers: { @@ -84,7 +151,15 @@ export class Builds { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { +<<<<<<< HEAD return serializers.actor.GetBuildResponse.parseOrThrow(_response.body, { +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + return serializers.actor.GetActorResponse.parseOrThrow(_response.body, { +======== + return serializers.actor.GetBuildResponse.parseOrThrow(_response.body, { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -179,10 +254,23 @@ export class Builds { } /** +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + * Lists all actors associated with the token used. Can be filtered by tags in the query string. + * + * @param {Rivet.actor.GetActorsRequestQuery} request + * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * Lists all builds of the project associated with the token used. Can be filtered by tags in the query string. * * @param {Rivet.actor.ListBuildsRequestQuery} request * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * * @throws {@link Rivet.InternalError} * @throws {@link Rivet.RateLimitError} @@ -192,6 +280,24 @@ export class Builds { * @throws {@link Rivet.BadRequestError} * * @example +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + * await client.actor.list({ + * project: "string", + * environment: "string", + * tagsJson: "string", + * includeDestroyed: true, + * cursor: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" + * }) + */ + public async list( + request: Rivet.actor.GetActorsRequestQuery = {}, + requestOptions?: Actor.RequestOptions + ): Promise { + const { project, environment, tagsJson, includeDestroyed, cursor } = request; +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * await client.actor.builds.list({ * project: "string", * environment: "string", @@ -203,6 +309,10 @@ export class Builds { requestOptions?: Builds.RequestOptions ): Promise { const { project, environment, tagsJson } = request; +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) const _queryParams: Record = {}; if (project != null) { _queryParams["project"] = project; @@ -216,10 +326,31 @@ export class Builds { _queryParams["tags_json"] = tagsJson; } +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + if (includeDestroyed != null) { + _queryParams["include_destroyed"] = includeDestroyed.toString(); + } + + if (cursor != null) { + _queryParams["cursor"] = cursor; + } + + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, + "/actors" +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, "/builds" +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ), method: "GET", headers: { @@ -236,7 +367,15 @@ export class Builds { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { +<<<<<<< HEAD + return serializers.actor.ListBuildsResponse.parseOrThrow(_response.body, { +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + return serializers.actor.ListActorsResponse.parseOrThrow(_response.body, { +======== return serializers.actor.ListBuildsResponse.parseOrThrow(_response.body, { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -331,9 +470,22 @@ export class Builds { } /** +<<<<<<< HEAD + * @param {string} build + * @param {Rivet.actor.PatchBuildTagsRequestQuery} request + * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + * Create a new dynamic actor. + * + * @param {Rivet.actor.CreateActorRequestQuery} request + * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. +======== * @param {string} build * @param {Rivet.actor.PatchBuildTagsRequestQuery} request * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * * @throws {@link Rivet.InternalError} * @throws {@link Rivet.RateLimitError} @@ -343,6 +495,48 @@ export class Builds { * @throws {@link Rivet.BadRequestError} * * @example +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + * await client.actor.create({ + * project: "string", + * environment: "string", + * body: { + * region: "string", + * tags: { + * "key": "value" + * }, + * build: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", + * buildTags: { + * "key": "value" + * }, + * runtime: { + * arguments: ["string"], + * environment: { + * "string": "string" + * } + * }, + * network: { + * mode: "bridge", + * ports: {} + * }, + * resources: { + * cpu: 1, + * memory: 1 + * }, + * lifecycle: { + * killTimeout: 1000000, + * durable: true + * } + * } + * }) + */ + public async create( + request: Rivet.actor.CreateActorRequestQuery, + requestOptions?: Actor.RequestOptions + ): Promise { +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * await client.actor.builds.patchTags("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { * project: "string", * environment: "string", @@ -359,6 +553,10 @@ export class Builds { request: Rivet.actor.PatchBuildTagsRequestQuery, requestOptions?: Builds.RequestOptions ): Promise { +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) const { project, environment, body: _body } = request; const _queryParams: Record = {}; if (project != null) { @@ -372,9 +570,21 @@ export class Builds { const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, +<<<<<<< HEAD `/builds/${encodeURIComponent(build)}/tags` ), method: "PATCH", +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + "/actors" + ), + method: "POST", +======== + `/builds/${encodeURIComponent(build)}/tags` + ), + method: "PATCH", +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) headers: { Authorization: await this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", @@ -384,13 +594,29 @@ export class Builds { contentType: "application/json", queryParameters: _queryParams, requestType: "json", +<<<<<<< HEAD + body: serializers.actor.PatchBuildTagsRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + body: serializers.actor.CreateActorRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +======== body: serializers.actor.PatchBuildTagsRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { +<<<<<<< HEAD return serializers.actor.PatchBuildTagsResponse.parseOrThrow(_response.body, { +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + return serializers.actor.CreateActorResponse.parseOrThrow(_response.body, { +======== + return serializers.actor.PatchBuildTagsResponse.parseOrThrow(_response.body, { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -485,10 +711,24 @@ export class Builds { } /** +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + * Destroy a dynamic actor. + * + * @param {string} actor - The id of the actor to destroy + * @param {Rivet.actor.DestroyActorRequestQuery} request + * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * Creates a new project build for the given project. * * @param {Rivet.actor.PrepareBuildRequestQuery} request * @param {Builds.RequestOptions} requestOptions - Request-specific configuration. +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * * @throws {@link Rivet.InternalError} * @throws {@link Rivet.RateLimitError} @@ -498,11 +738,192 @@ export class Builds { * @throws {@link Rivet.BadRequestError} * * @example +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + * await client.actor.destroy("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { + * project: "string", + * environment: "string", + * overrideKillTimeout: 1000000 + * }) + */ + public async destroy( + actor: string, + request: Rivet.actor.DestroyActorRequestQuery = {}, + requestOptions?: Actor.RequestOptions + ): Promise { + const { project, environment, overrideKillTimeout } = request; + const _queryParams: Record = {}; + if (project != null) { + _queryParams["project"] = project; + } + + if (environment != null) { + _queryParams["environment"] = environment; + } + + if (overrideKillTimeout != null) { + _queryParams["override_kill_timeout"] = overrideKillTimeout.toString(); + } + + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: urlJoin( + (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, + `/actors/${encodeURIComponent(actor)}` + ), + method: "DELETE", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Fern-Language": "JavaScript", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + }, + 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.actor.DestroyActorResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }); + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 500: + throw new Rivet.InternalError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 429: + throw new Rivet.RateLimitError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 403: + throw new Rivet.ForbiddenError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 408: + throw new Rivet.UnauthorizedError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 404: + throw new Rivet.NotFoundError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + case 400: + throw new Rivet.BadRequestError( + serializers.ErrorBody.parseOrThrow(_response.error.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }) + ); + default: + throw new errors.RivetError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + }); + } + } + + 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(); + case "unknown": + throw new errors.RivetError({ + message: _response.error.errorMessage, + }); + } + } + + /** + * Upgrades a dynamic actor. + * + * @param {string} actor - The id of the actor to upgrade + * @param {Rivet.actor.UpgradeActorRequestQuery} request + * @param {Actor.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Rivet.InternalError} + * @throws {@link Rivet.RateLimitError} + * @throws {@link Rivet.ForbiddenError} + * @throws {@link Rivet.UnauthorizedError} + * @throws {@link Rivet.NotFoundError} + * @throws {@link Rivet.BadRequestError} + * + * @example + * await client.actor.upgrade("d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", { + * project: "string", + * environment: "string", + * body: { + * build: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", + * buildTags: { + * "key": "value" + * } + * } + * }) + */ + public async upgrade( + actor: string, + request: Rivet.actor.UpgradeActorRequestQuery, + requestOptions?: Actor.RequestOptions + ): Promise { +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * await client.actor.builds.prepare({ * project: "string", * environment: "string", * body: { * name: "string", +<<<<<<< HEAD +======= + * tags: { + * "key": "value" + * }, +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * imageTag: "string", * imageFile: { * path: "string", @@ -520,6 +941,10 @@ export class Builds { request: Rivet.actor.PrepareBuildRequestQuery, requestOptions?: Builds.RequestOptions ): Promise { +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) const { project, environment, body: _body } = request; const _queryParams: Record = {}; if (project != null) { @@ -533,7 +958,15 @@ export class Builds { const _response = await (this._options.fetcher ?? core.fetcher)({ url: urlJoin( (await core.Supplier.get(this._options.environment)) ?? environments.RivetEnvironment.Production, +<<<<<<< HEAD + "/builds/prepare" +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + `/actors/${encodeURIComponent(actor)}/upgrade` +======== "/builds/prepare" +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) ), method: "POST", headers: { @@ -545,13 +978,29 @@ export class Builds { contentType: "application/json", queryParameters: _queryParams, requestType: "json", +<<<<<<< HEAD body: serializers.actor.PrepareBuildRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + body: serializers.actor.UpgradeActorRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +======== + body: serializers.actor.PrepareBuildRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: "strip" }), +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 180000, maxRetries: requestOptions?.maxRetries, abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { +<<<<<<< HEAD + return serializers.actor.PrepareBuildResponse.parseOrThrow(_response.body, { +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + return serializers.actor.UpgradeActorResponse.parseOrThrow(_response.body, { +======== return serializers.actor.PrepareBuildResponse.parseOrThrow(_response.body, { +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -645,6 +1094,27 @@ export class Builds { } } +<<<<<<< HEAD +======= +<<<<<<<< HEAD:sdks/runtime/typescript/src/api/resources/actor/client/Client.ts + protected _builds: Builds | undefined; + + public get builds(): Builds { + return (this._builds ??= new Builds(this._options)); + } + + protected _logs: Logs | undefined; + + public get logs(): Logs { + return (this._logs ??= new Logs(this._options)); + } + + protected _regions: Regions | undefined; + + public get regions(): Regions { + return (this._regions ??= new Regions(this._options)); +======== +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) /** * Marks an upload as complete. * @@ -786,6 +1256,10 @@ export class Builds { message: _response.error.errorMessage, }); } +<<<<<<< HEAD +======= +>>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar):sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/Client.ts +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) } protected async _getAuthorizationHeader(): Promise { diff --git a/sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/requests/PrepareBuildRequestQuery.ts b/sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/requests/PrepareBuildRequestQuery.ts index 0be804ec84..d75573a489 100644 --- a/sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/requests/PrepareBuildRequestQuery.ts +++ b/sdks/runtime/typescript/src/api/resources/actor/resources/builds/client/requests/PrepareBuildRequestQuery.ts @@ -11,6 +11,12 @@ import * as Rivet from "../../../../../../index"; * environment: "string", * body: { * name: "string", +<<<<<<< HEAD +======= + * tags: { + * "key": "value" + * }, +>>>>>>> 73a068837 (feat: revamp actor build endpoint, js builds -> tar) * imageTag: "string", * imageFile: { * path: "string",