diff --git a/Cargo.lock b/Cargo.lock
index d45e097..377fa06 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1072,7 +1072,7 @@ dependencies = [
"libdd-shared-runtime 2.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=3081603d3c74f209be4e3be951f78a1a7469397f)",
"libdd-trace-stats",
"libdd-trace-utils",
"rmp-serde",
@@ -1117,26 +1117,12 @@ dependencies = [
[[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",
@@ -1232,7 +1218,7 @@ version = "3.0.0"
source = "git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f#3081603d3c74f209be4e3be951f78a1a7469397f"
dependencies = [
"anyhow",
- "libdd-trace-protobuf 4.0.0",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f)",
]
[[package]]
@@ -1243,7 +1229,7 @@ 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=3081603d3c74f209be4e3be951f78a1a7469397f)",
"libdd-trace-utils",
"log",
"percent-encoding",
@@ -1253,8 +1239,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",
@@ -1289,7 +1275,7 @@ dependencies = [
"libdd-dogstatsd-client",
"libdd-shared-runtime 2.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=3081603d3c74f209be4e3be951f78a1a7469397f)",
"libdd-trace-utils",
"rmp-serde",
"serde",
@@ -1320,7 +1306,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=3081603d3c74f209be4e3be951f78a1a7469397f)",
"prost",
"rand",
"rmp",
@@ -1357,7 +1343,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",
@@ -1811,7 +1797,7 @@ dependencies = [
"libdd-common 5.1.0",
"libdd-data-pipeline",
"libdd-shared-runtime 2.0.0",
- "libdd-trace-protobuf 4.0.0",
+ "libdd-trace-protobuf 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3081603d3c74f209be4e3be951f78a1a7469397f)",
"libdd-trace-stats",
"libdd-trace-utils",
"rmp-serde",
@@ -1872,8 +1858,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/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