diff --git a/Cargo.lock b/Cargo.lock index c86cb8d5ee..2a8d514602 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -827,7 +827,7 @@ dependencies = [ [[package]] name = "clickhouse-inserter" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-channel", @@ -851,7 +851,7 @@ dependencies = [ [[package]] name = "clickhouse-user-query" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "clickhouse", "serde", @@ -1476,7 +1476,7 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" [[package]] name = "epoxy" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "axum 0.8.4", @@ -1515,7 +1515,7 @@ dependencies = [ [[package]] name = "epoxy-protocol" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "rivet-util", @@ -1796,7 +1796,7 @@ dependencies = [ [[package]] name = "gasoline" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-stream", @@ -1844,7 +1844,7 @@ dependencies = [ [[package]] name = "gasoline-macros" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "proc-macro2", "quote", @@ -2502,7 +2502,7 @@ dependencies = [ [[package]] name = "internal" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "gasoline", @@ -2901,7 +2901,7 @@ dependencies = [ [[package]] name = "namespace" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "epoxy", @@ -3419,7 +3419,7 @@ checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pegboard" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "base64 0.22.1", @@ -3451,7 +3451,7 @@ dependencies = [ [[package]] name = "pegboard-actor-kv" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "futures-util", @@ -3475,7 +3475,7 @@ dependencies = [ [[package]] name = "pegboard-gateway" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-trait", @@ -3507,7 +3507,7 @@ dependencies = [ [[package]] name = "pegboard-runner" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-trait", @@ -3541,7 +3541,7 @@ dependencies = [ [[package]] name = "pegboard-serverless" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "base64 0.22.1", @@ -4234,7 +4234,7 @@ dependencies = [ [[package]] name = "rivet-api-builder" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "axum 0.8.4", @@ -4277,7 +4277,7 @@ dependencies = [ [[package]] name = "rivet-api-peer" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "axum 0.8.4", @@ -4308,7 +4308,7 @@ dependencies = [ [[package]] name = "rivet-api-public" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "axum 0.8.4", @@ -4341,7 +4341,7 @@ dependencies = [ [[package]] name = "rivet-api-types" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "gasoline", @@ -4356,7 +4356,7 @@ dependencies = [ [[package]] name = "rivet-api-util" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "axum 0.8.4", @@ -4376,7 +4376,7 @@ dependencies = [ [[package]] name = "rivet-bootstrap" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "epoxy", "gasoline", @@ -4392,7 +4392,7 @@ dependencies = [ [[package]] name = "rivet-cache" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "futures-util", @@ -4433,14 +4433,14 @@ dependencies = [ [[package]] name = "rivet-cache-result" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "rivet-util", ] [[package]] name = "rivet-config" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "config", @@ -4458,7 +4458,7 @@ dependencies = [ [[package]] name = "rivet-data" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "gasoline", @@ -4472,7 +4472,7 @@ dependencies = [ [[package]] name = "rivet-dump-openapi" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "rivet-api-public", "serde_json", @@ -4481,7 +4481,7 @@ dependencies = [ [[package]] name = "rivet-engine" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "axum 0.8.4", @@ -4544,7 +4544,7 @@ dependencies = [ [[package]] name = "rivet-env" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "lazy_static", @@ -4554,7 +4554,7 @@ dependencies = [ [[package]] name = "rivet-error" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "indoc", @@ -4566,7 +4566,7 @@ dependencies = [ [[package]] name = "rivet-error-macros" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "indoc", "proc-macro2", @@ -4577,7 +4577,7 @@ dependencies = [ [[package]] name = "rivet-guard" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "axum 0.8.4", @@ -4623,7 +4623,7 @@ dependencies = [ [[package]] name = "rivet-guard-core" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-trait", @@ -4669,7 +4669,7 @@ dependencies = [ [[package]] name = "rivet-logs" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "chrono", @@ -4683,7 +4683,7 @@ dependencies = [ [[package]] name = "rivet-metrics" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "console-subscriber", @@ -4701,7 +4701,7 @@ dependencies = [ [[package]] name = "rivet-pools" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-nats", @@ -4734,7 +4734,7 @@ dependencies = [ [[package]] name = "rivet-runner-protocol" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "gasoline", @@ -4751,7 +4751,7 @@ dependencies = [ [[package]] name = "rivet-runtime" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "console-subscriber", @@ -4778,7 +4778,7 @@ dependencies = [ [[package]] name = "rivet-service-manager" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "chrono", @@ -4795,7 +4795,7 @@ dependencies = [ [[package]] name = "rivet-telemetry" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "rivet-config", @@ -4819,7 +4819,7 @@ dependencies = [ [[package]] name = "rivet-test-deps" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "futures-util", @@ -4837,7 +4837,7 @@ dependencies = [ [[package]] name = "rivet-test-deps-docker" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "portpicker", @@ -4868,7 +4868,7 @@ dependencies = [ [[package]] name = "rivet-tracing-utils" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "futures-util", "lazy_static", @@ -4878,7 +4878,7 @@ dependencies = [ [[package]] name = "rivet-types" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "gasoline", @@ -4895,7 +4895,7 @@ dependencies = [ [[package]] name = "rivet-ups-protocol" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "base64 0.22.1", @@ -4908,7 +4908,7 @@ dependencies = [ [[package]] name = "rivet-util" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-trait", @@ -4940,7 +4940,7 @@ dependencies = [ [[package]] name = "rivet-util-id" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "serde", "thiserror 1.0.69", @@ -4951,7 +4951,7 @@ dependencies = [ [[package]] name = "rivet-workflow-worker" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "epoxy", @@ -6710,7 +6710,7 @@ checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "universaldb" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-trait", @@ -6738,7 +6738,7 @@ dependencies = [ [[package]] name = "universalpubsub" -version = "2.0.24" +version = "2.0.25-rc.1" dependencies = [ "anyhow", "async-nats", diff --git a/engine/sdks/rust/runner-protocol/build.rs b/engine/sdks/rust/runner-protocol/build.rs index 3d8188330a..d6d122ef2e 100644 --- a/engine/sdks/rust/runner-protocol/build.rs +++ b/engine/sdks/rust/runner-protocol/build.rs @@ -83,6 +83,28 @@ mod typescript { String::from_utf8_lossy(&output.stderr), ); } + + // Post-process the generated TypeScript file to replace Node.js assert + post_process_typescript(&src_dir.join("index.ts")); + } + + fn post_process_typescript(file_path: &Path) { + let content = + fs::read_to_string(file_path).expect("Failed to read generated TypeScript file"); + + // Remove Node.js assert import + let content = content.replace("import assert from \"node:assert\"\n", ""); + + // Add custom assert function at the end + let assert_function = r#" +function assert(condition: boolean, message?: string): asserts condition { + if (!condition) throw new Error(message ?? "Assertion failed") +} + +"#; + let content = format!("{}\n{}", content, assert_function); + + fs::write(file_path, content).expect("Failed to write post-processed TypeScript file"); } } diff --git a/engine/sdks/typescript/runner-protocol/src/index.ts b/engine/sdks/typescript/runner-protocol/src/index.ts index 941d1eea03..8c06280a4b 100644 --- a/engine/sdks/typescript/runner-protocol/src/index.ts +++ b/engine/sdks/typescript/runner-protocol/src/index.ts @@ -1,4 +1,3 @@ -import assert from "node:assert" import * as bare from "@bare-ts/lib" const DEFAULT_CONFIG = /* @__PURE__ */ bare.Config({}) @@ -2119,3 +2118,9 @@ export function decodeToServerlessServer(bytes: Uint8Array): ToServerlessServer } return result } + + +function assert(condition: boolean, message?: string): asserts condition { + if (!condition) throw new Error(message ?? "Assertion failed") +} +