From 8995e58cd9e6923aba3d0a42a64d1fbe86228dca Mon Sep 17 00:00:00 2001 From: Andrew Diller Date: Mon, 26 Jan 2026 23:32:06 -0500 Subject: [PATCH] fix(diagnostics-otel): update to @opentelemetry/resources v2.x API The Resource class was removed in @opentelemetry/resources v2.x. Use resourceFromAttributes() function instead of new Resource(). Fixes TypeError: _resources.Resource is not a constructor --- extensions/diagnostics-otel/src/service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/diagnostics-otel/src/service.ts b/extensions/diagnostics-otel/src/service.ts index 2c11271b7..87c8a11cd 100644 --- a/extensions/diagnostics-otel/src/service.ts +++ b/extensions/diagnostics-otel/src/service.ts @@ -3,7 +3,7 @@ import type { SeverityNumber } from "@opentelemetry/api-logs"; import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http"; import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http"; import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http"; -import { Resource } from "@opentelemetry/resources"; +import { resourceFromAttributes } from "@opentelemetry/resources"; import { BatchLogRecordProcessor, LoggerProvider } from "@opentelemetry/sdk-logs"; import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics"; import { NodeSDK } from "@opentelemetry/sdk-node"; @@ -62,7 +62,7 @@ export function createDiagnosticsOtelService(): ClawdbotPluginService { const logsEnabled = otel.logs === true; if (!tracesEnabled && !metricsEnabled && !logsEnabled) return; - const resource = new Resource({ + const resource = resourceFromAttributes({ [SemanticResourceAttributes.SERVICE_NAME]: serviceName, });