diff --git a/Cargo.lock b/Cargo.lock
index d45e097..d77d03c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -917,7 +917,7 @@ dependencies = [
[[package]]
name = "libdd-capabilities"
version = "2.1.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
"bytes",
@@ -941,7 +941,7 @@ dependencies = [
[[package]]
name = "libdd-capabilities-impl"
version = "3.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
"bytes",
@@ -990,7 +990,7 @@ dependencies = [
[[package]]
name = "libdd-common"
version = "5.1.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
"bytes",
@@ -1031,7 +1031,7 @@ dependencies = [
"libc",
"libdd-common 5.0.0",
"libdd-libunwind-sys",
- "libdd-telemetry",
+ "libdd-telemetry 5.0.1",
"nix 0.29.0",
"num-derive",
"num-traits",
@@ -1053,7 +1053,7 @@ dependencies = [
[[package]]
name = "libdd-data-pipeline"
version = "7.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
"arc-swap",
@@ -1070,9 +1070,10 @@ dependencies = [
"libdd-ddsketch 1.1.0",
"libdd-dogstatsd-client",
"libdd-shared-runtime 2.0.0",
+ "libdd-telemetry 6.0.0",
"libdd-tinybytes",
"libdd-trace-normalization",
- "libdd-trace-protobuf 4.0.0",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec)",
"libdd-trace-stats",
"libdd-trace-utils",
"rmp-serde",
@@ -1097,7 +1098,7 @@ dependencies = [
[[package]]
name = "libdd-ddsketch"
version = "1.1.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"prost",
]
@@ -1105,38 +1106,27 @@ dependencies = [
[[package]]
name = "libdd-dogstatsd-client"
version = "4.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
+ "async-trait",
"cadence",
"http",
"libdd-common 5.1.0",
+ "libdd-shared-runtime 2.0.0",
"serde",
+ "tokio",
"tracing",
]
[[package]]
name = "libdd-library-config"
-version = "1.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=353134770b312b7ccd2df6afabc253090b948e5f#353134770b312b7ccd2df6afabc253090b948e5f"
-dependencies = [
- "anyhow",
- "memfd",
- "rand",
- "rmp",
- "rmp-serde",
- "serde",
- "serde_yaml",
-]
-
-[[package]]
-name = "libdd-library-config"
-version = "2.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=7cdeb7896e92d1ba38bde495934e112dac2eda25#7cdeb7896e92d1ba38bde495934e112dac2eda25"
+version = "3.0.0"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=0c6e2a5df2a163d34c4f385353ffc5d7257c72f4#0c6e2a5df2a163d34c4f385353ffc5d7257c72f4"
dependencies = [
"anyhow",
"libc",
- "libdd-trace-protobuf 3.0.2",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=0c6e2a5df2a163d34c4f385353ffc5d7257c72f4)",
"memfd",
"prost",
"rand",
@@ -1177,7 +1167,7 @@ dependencies = [
[[package]]
name = "libdd-shared-runtime"
version = "2.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"async-trait",
"futures",
@@ -1218,10 +1208,39 @@ dependencies = [
"winver",
]
+[[package]]
+name = "libdd-telemetry"
+version = "6.0.0"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "base64",
+ "bytes",
+ "futures",
+ "getrandom 0.2.17",
+ "hashbrown 0.15.5",
+ "http",
+ "libc",
+ "libdd-capabilities 2.1.0",
+ "libdd-common 5.1.0",
+ "libdd-ddsketch 1.1.0",
+ "libdd-shared-runtime 2.0.0",
+ "serde",
+ "serde_json",
+ "sys-info",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "uuid",
+ "web-time",
+ "winver",
+]
+
[[package]]
name = "libdd-tinybytes"
version = "1.1.1"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"serde",
]
@@ -1229,21 +1248,21 @@ dependencies = [
[[package]]
name = "libdd-trace-normalization"
version = "3.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
- "libdd-trace-protobuf 4.0.0",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec)",
]
[[package]]
name = "libdd-trace-obfuscation"
version = "5.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
"fluent-uri",
"libdd-common 5.1.0",
- "libdd-trace-protobuf 4.0.0",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec)",
"libdd-trace-utils",
"log",
"percent-encoding",
@@ -1253,8 +1272,8 @@ dependencies = [
[[package]]
name = "libdd-trace-protobuf"
-version = "3.0.2"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=7cdeb7896e92d1ba38bde495934e112dac2eda25#7cdeb7896e92d1ba38bde495934e112dac2eda25"
+version = "4.0.0"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=0c6e2a5df2a163d34c4f385353ffc5d7257c72f4#0c6e2a5df2a163d34c4f385353ffc5d7257c72f4"
dependencies = [
"prost",
"serde",
@@ -1264,7 +1283,7 @@ dependencies = [
[[package]]
name = "libdd-trace-protobuf"
version = "4.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"prost",
"serde",
@@ -1274,7 +1293,7 @@ dependencies = [
[[package]]
name = "libdd-trace-stats"
version = "6.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
"arc-swap",
@@ -1288,8 +1307,9 @@ dependencies = [
"libdd-ddsketch 1.1.0",
"libdd-dogstatsd-client",
"libdd-shared-runtime 2.0.0",
+ "libdd-telemetry 6.0.0",
"libdd-trace-obfuscation",
- "libdd-trace-protobuf 4.0.0",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec)",
"libdd-trace-utils",
"rmp-serde",
"serde",
@@ -1302,7 +1322,7 @@ dependencies = [
[[package]]
name = "libdd-trace-utils"
version = "9.0.0"
-source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
+source = "git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec#15899dfe754d12186ce7db72f0ff41c1920d52ec"
dependencies = [
"anyhow",
"base64",
@@ -1320,7 +1340,7 @@ dependencies = [
"libdd-common 5.1.0",
"libdd-tinybytes",
"libdd-trace-normalization",
- "libdd-trace-protobuf 4.0.0",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=15899dfe754d12186ce7db72f0ff41c1920d52ec)",
"prost",
"rand",
"rmp",
@@ -1357,7 +1377,7 @@ version = "0.2.0"
dependencies = [
"anyhow",
"getrandom 0.2.17",
- "libdd-library-config 1.0.0",
+ "libdd-library-config",
"serde",
"serde-wasm-bindgen",
"wasm-bindgen",
@@ -1801,27 +1821,21 @@ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
name = "pipeline"
version = "0.1.0"
dependencies = [
- "bytes",
"console_error_panic_hook",
"getrandom 0.2.17",
- "http",
"js-sys",
"libdatadog-nodejs-capabilities",
"libdd-capabilities 2.1.0",
"libdd-common 5.1.0",
"libdd-data-pipeline",
"libdd-shared-runtime 2.0.0",
- "libdd-trace-protobuf 4.0.0",
- "libdd-trace-stats",
"libdd-trace-utils",
- "rmp-serde",
"serde",
"serde_json",
"uuid",
"wasm-bindgen",
"wasm-bindgen-futures",
"wasm-bindgen-test",
- "web-time",
]
[[package]]
@@ -1872,8 +1886,8 @@ name = "process-discovery"
version = "0.1.0"
dependencies = [
"anyhow",
- "libdd-library-config 2.0.0",
- "libdd-trace-protobuf 3.0.2",
+ "libdd-library-config",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=0c6e2a5df2a163d34c4f385353ffc5d7257c72f4)",
"napi",
"napi-derive",
]
diff --git a/crates/capabilities/Cargo.toml b/crates/capabilities/Cargo.toml
index edb40ad..371b3f4 100644
--- a/crates/capabilities/Cargo.toml
+++ b/crates/capabilities/Cargo.toml
@@ -15,7 +15,7 @@ http = "1"
bytes = "1.4"
futures-core = "0.3"
anyhow = "1"
-libdd-capabilities = { git = "https://github.com/DataDog/libdatadog.git", rev = "3081603d3c74f209be4e3be951f78a1a7469397f" }
+libdd-capabilities = { git = "https://github.com/DataDog/libdatadog.git", rev = "15899dfe754d12186ce7db72f0ff41c1920d52ec" }
[dev-dependencies]
wasm-bindgen-test = "0.3"
diff --git a/crates/capabilities/src/env.rs b/crates/capabilities/src/env.rs
new file mode 100644
index 0000000..716d4b4
--- /dev/null
+++ b/crates/capabilities/src/env.rs
@@ -0,0 +1,28 @@
+// Copyright 2026-Present Datadog, Inc. https://www.datadoghq.com/
+// SPDX-License-Identifier: Apache-2.0
+
+//! Wasm implementation of [`EnvCapability`] backed by Node.js `process.env`.
+
+use wasm_bindgen::prelude::*;
+
+use libdd_capabilities::env::{EnvCapability, EnvError};
+
+#[wasm_bindgen(module = "/src/env_transport.js")]
+extern "C" {
+ #[wasm_bindgen(js_name = "get")]
+ fn js_env_get(name: &str) -> JsValue;
+}
+
+#[derive(Debug, Clone)]
+pub struct WasmEnvCapability;
+
+impl EnvCapability for WasmEnvCapability {
+ fn new() -> Self {
+ Self
+ }
+
+ fn get(&self, name: &str) -> Result