ref(node): use replaceExports core utility for openai/anthropic client patching #45318
Annotations
10 errors and 6 warnings
|
Run integration tests:
dev-packages/node-integration-tests/utils/assertions.ts#L35
AssertionError: expected { contexts: { …(8) }, …(14) } to match object { event_id: Any<String>, …(5) }
(92 matching properties omitted from actual)
- Expected
+ Received
@@ -1,57 +1,94 @@
{
"event_id": Any<String>,
- "spans": ArrayContaining [
- ObjectContaining {
+ "spans": [
+ {
"data": {
- "gen_ai.embeddings.input": "Embedding test!",
- "gen_ai.operation.name": "embeddings",
- "gen_ai.request.dimensions": 1536,
- "gen_ai.request.encoding_format": "float",
- "gen_ai.request.model": "text-embedding-3-small",
- "gen_ai.response.model": "text-embedding-3-small",
- "gen_ai.system": "openai",
- "gen_ai.usage.input_tokens": 10,
- "gen_ai.usage.total_tokens": 10,
- "sentry.op": "gen_ai.embeddings",
- "sentry.origin": "auto.ai.openai",
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 37861,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 37861,
+ "url": "http://localhost:37861/openai/embeddings",
+ "url.full": "http://localhost:37861/openai/embeddings",
+ "url.path": "/openai/embeddings",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
},
- "description": "embeddings text-embedding-3-small",
- "op": "gen_ai.embeddings",
- "origin": "auto.ai.openai",
+ "description": "POST http://localhost:37861/openai/embeddings",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "c0413328cade8f81",
+ "span_id": "b2e9db1b4c92042b",
+ "start_timestamp": 1775216642.597,
"status": "ok",
+ "timestamp": 1775216642.6629152,
+ "trace_id": "68f4d4c4179cbd6b70909c1f978107e1",
},
- ObjectContaining {
+ {
"data": {
- "gen_ai.embeddings.input": "Error embedding test!",
- "gen_ai.operation.name": "embeddings",
- "gen_ai.request.model": "error-model",
- "gen_ai.system": "openai",
- "sentry.op": "gen_ai.embeddings",
- "sentry.origin": "auto.ai.openai",
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 404,
+ "network.peer.address": "::1",
+ "network.peer.port": 37861,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 37861,
+ "url": "http://localhost:37861/openai/embeddings",
+ "url.full": "http://localhost:37861/openai/embeddings",
+ "url.path": "/openai/embeddings",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
},
- "description": "embeddings error-model",
- "op": "gen_ai.embeddings",
- "origin": "auto.ai.openai",
- "status": "internal_error",
+ "description": "POST http://localhost:37861/openai/embeddings",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "c0413328cade8f81",
+ "span_id": "65feb577460850a5",
+ "start_timestamp": 1775216642.676,
+ "status": "not_found",
+ "timestamp": 1775216642.6932204,
+ "trace_id": "68f4d4c4179cbd6b70909c1f978107e1",
},
- ObjectContaining {
+ {
"data": {
- "gen_ai.embeddings.input": "[\"First input text\",\"Second input text\",\"Third input text\"]",
- "gen_ai.operation.name": "embeddings",
- "gen_ai.request.model": "text-embedding-3-small",
- "gen_ai.response.model": "text-embedding-3-small",
- "gen_ai.system": "openai",
- "
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/assertions.ts#L35
AssertionError: expected { contexts: { …(8) }, …(14) } to match object { event_id: Any<String>, …(5) }
(92 matching properties omitted from actual)
- Expected
+ Received
@@ -1,38 +1,94 @@
{
"event_id": Any<String>,
- "spans": ArrayContaining [
- ObjectContaining {
+ "spans": [
+ {
"data": {
- "gen_ai.operation.name": "embeddings",
- "gen_ai.request.dimensions": 1536,
- "gen_ai.request.encoding_format": "float",
- "gen_ai.request.model": "text-embedding-3-small",
- "gen_ai.response.model": "text-embedding-3-small",
- "gen_ai.system": "openai",
- "gen_ai.usage.input_tokens": 10,
- "gen_ai.usage.total_tokens": 10,
- "sentry.op": "gen_ai.embeddings",
- "sentry.origin": "auto.ai.openai",
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 37597,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 37597,
+ "url": "http://localhost:37597/openai/embeddings",
+ "url.full": "http://localhost:37597/openai/embeddings",
+ "url.path": "/openai/embeddings",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
},
- "description": "embeddings text-embedding-3-small",
- "op": "gen_ai.embeddings",
- "origin": "auto.ai.openai",
+ "description": "POST http://localhost:37597/openai/embeddings",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "ac260ce1b54fd77a",
+ "span_id": "ddcd203bcf4968a9",
+ "start_timestamp": 1775216640.426,
"status": "ok",
+ "timestamp": 1775216640.5090363,
+ "trace_id": "4aef0aa7518c2b5c26ebea7b8ccdeff7",
},
- ObjectContaining {
+ {
"data": {
- "gen_ai.operation.name": "embeddings",
- "gen_ai.request.model": "error-model",
- "gen_ai.system": "openai",
- "sentry.op": "gen_ai.embeddings",
- "sentry.origin": "auto.ai.openai",
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 404,
+ "network.peer.address": "::1",
+ "network.peer.port": 37597,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 37597,
+ "url": "http://localhost:37597/openai/embeddings",
+ "url.full": "http://localhost:37597/openai/embeddings",
+ "url.path": "/openai/embeddings",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
},
- "description": "embeddings error-model",
- "op": "gen_ai.embeddings",
- "origin": "auto.ai.openai",
- "status": "internal_error",
+ "description": "POST http://localhost:37597/openai/embeddings",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "ac260ce1b54fd77a",
+ "span_id": "1dbc34caae2d41af",
+ "start_timestamp": 1775216640.532,
+ "status": "not_found",
+ "timestamp": 1775216640.555398,
+ "trace_id": "4aef0aa7518c2b5c26ebea7b8ccdeff7",
+ },
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 37597,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 37597,
+ "url": "http://localhost:37597/openai/embedd
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/assertions.ts#L35
AssertionError: expected { contexts: { …(8) }, …(14) } to match object { event_id: Any<String>, …(5) }
(92 matching properties omitted from actual)
- Expected
+ Received
@@ -1,20 +1,297 @@
{
"event_id": Any<String>,
- "spans": ArrayContaining [
- ObjectContaining {
- "data": ObjectContaining {
- "gen_ai.input.messages": Any<String>,
- "gen_ai.response.text": Any<String>,
+ "spans": [
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 36867,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36867,
+ "url": "http://localhost:36867/openai/chat/completions",
+ "url.full": "http://localhost:36867/openai/chat/completions",
+ "url.path": "/openai/chat/completions",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
+ },
+ "description": "POST http://localhost:36867/openai/chat/completions",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "b84135a27b593cb2",
+ "span_id": "08b7ba17cb569a13",
+ "start_timestamp": 1775216635.59,
+ "status": "ok",
+ "timestamp": 1775216635.653387,
+ "trace_id": "fcff807fa8a7445e3131dccacb5732a5",
+ },
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 36867,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36867,
+ "url": "http://localhost:36867/openai/responses",
+ "url.full": "http://localhost:36867/openai/responses",
+ "url.path": "/openai/responses",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
+ },
+ "description": "POST http://localhost:36867/openai/responses",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "b84135a27b593cb2",
+ "span_id": "8757d2c60f768e6d",
+ "start_timestamp": 1775216635.662,
+ "status": "ok",
+ "timestamp": 1775216635.6786,
+ "trace_id": "fcff807fa8a7445e3131dccacb5732a5",
+ },
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 500,
+ "network.peer.address": "::1",
+ "network.peer.port": 36867,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36867,
+ "url": "http://localhost:36867/openai/chat/completions",
+ "url.full": "http://localhost:36867/openai/chat/completions",
+ "url.path": "/openai/chat/completions",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
+ },
+ "description": "POST http://localhost:36867/openai/chat/completions",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "b84135a27b593cb2",
+ "span_id": "0b587b65d7c01813",
+ "start_timestamp": 1775216635.682,
+ "status": "internal_error",
+ "timestamp": 1775216635.6897142,
+ "trace_id": "fcff807fa8a7445e3131dccacb5732a5",
+ },
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 500,
+ "network.peer.address":
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/assertions.ts#L35
AssertionError: expected { contexts: { …(8) }, …(14) } to match object { event_id: Any<String>, …(5) }
(92 matching properties omitted from actual)
- Expected
+ Received
@@ -1,134 +1,297 @@
{
"event_id": Any<String>,
- "spans": ArrayContaining [
- ObjectContaining {
+ "spans": [
+ {
"data": {
- "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "gpt-3.5-turbo",
- "gen_ai.request.temperature": 0.7,
- "gen_ai.response.finish_reasons": "[\"stop\"]",
- "gen_ai.response.id": "chatcmpl-mock123",
- "gen_ai.response.model": "gpt-3.5-turbo",
- "gen_ai.response.text": "[\"Hello from OpenAI mock!\"]",
- "gen_ai.system": "openai",
- "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
- "gen_ai.usage.input_tokens": 10,
- "gen_ai.usage.output_tokens": 15,
- "gen_ai.usage.total_tokens": 25,
- "sentry.op": "gen_ai.chat",
- "sentry.origin": "auto.ai.openai",
- "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 36247,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36247,
+ "url": "http://localhost:36247/openai/chat/completions",
+ "url.full": "http://localhost:36247/openai/chat/completions",
+ "url.path": "/openai/chat/completions",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
},
- "description": "chat gpt-3.5-turbo",
- "op": "gen_ai.chat",
- "origin": "auto.ai.openai",
+ "description": "POST http://localhost:36247/openai/chat/completions",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "e2ec0a1f51317af7",
+ "span_id": "422ad7c59eb5c624",
+ "start_timestamp": 1775216628.012,
"status": "ok",
+ "timestamp": 1775216628.059583,
+ "trace_id": "b01a1e07205bb9820013e9209e13f77c",
},
- ObjectContaining {
+ {
"data": {
- "gen_ai.input.messages": "Translate this to French: Hello",
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "gpt-3.5-turbo",
- "gen_ai.response.finish_reasons": "[\"completed\"]",
- "gen_ai.response.id": "resp_mock456",
- "gen_ai.response.model": "gpt-3.5-turbo",
- "gen_ai.response.text": "Response to: Translate this to French: Hello",
- "gen_ai.system": "openai",
- "gen_ai.usage.input_tokens": 5,
- "gen_ai.usage.output_tokens": 8,
- "gen_ai.usage.total_tokens": 13,
- "sentry.op": "gen_ai.chat",
- "sentry.origin": "auto.ai.openai",
- "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 36247,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36247,
+ "url": "http://localhost:36247/openai/responses",
+ "url.full": "http://localhost:36247/openai/responses",
+ "url.path": "/openai/responses",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
},
- "description": "chat gpt-3.5-turbo",
- "op": "gen_ai.chat",
- "origin": "auto.ai.openai",
+ "description":
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/assertions.ts#L35
AssertionError: expected { contexts: { …(8) }, …(14) } to match object { event_id: Any<String>, …(5) }
(92 matching properties omitted from actual)
- Expected
+ Received
@@ -1,116 +1,297 @@
{
"event_id": Any<String>,
- "spans": ArrayContaining [
- ObjectContaining {
+ "spans": [
+ {
"data": {
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "gpt-3.5-turbo",
- "gen_ai.request.temperature": 0.7,
- "gen_ai.response.finish_reasons": "[\"stop\"]",
- "gen_ai.response.id": "chatcmpl-mock123",
- "gen_ai.response.model": "gpt-3.5-turbo",
- "gen_ai.system": "openai",
- "gen_ai.usage.input_tokens": 10,
- "gen_ai.usage.output_tokens": 15,
- "gen_ai.usage.total_tokens": 25,
- "sentry.op": "gen_ai.chat",
- "sentry.origin": "auto.ai.openai",
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 46287,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 46287,
+ "url": "http://localhost:46287/openai/chat/completions",
+ "url.full": "http://localhost:46287/openai/chat/completions",
+ "url.path": "/openai/chat/completions",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
},
- "description": "chat gpt-3.5-turbo",
- "op": "gen_ai.chat",
- "origin": "auto.ai.openai",
+ "description": "POST http://localhost:46287/openai/chat/completions",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "180deaa46cad8927",
+ "span_id": "b2eca57ddc3e6ff9",
+ "start_timestamp": 1775216620.115,
"status": "ok",
+ "timestamp": 1775216620.167423,
+ "trace_id": "89969bfa2b35519c6df30d9ed312672b",
},
- ObjectContaining {
+ {
"data": {
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "gpt-3.5-turbo",
- "gen_ai.response.finish_reasons": "[\"completed\"]",
- "gen_ai.response.id": "resp_mock456",
- "gen_ai.response.model": "gpt-3.5-turbo",
- "gen_ai.system": "openai",
- "gen_ai.usage.input_tokens": 5,
- "gen_ai.usage.output_tokens": 8,
- "gen_ai.usage.total_tokens": 13,
- "sentry.op": "gen_ai.chat",
- "sentry.origin": "auto.ai.openai",
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 46287,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 46287,
+ "url": "http://localhost:46287/openai/responses",
+ "url.full": "http://localhost:46287/openai/responses",
+ "url.path": "/openai/responses",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
},
- "description": "chat gpt-3.5-turbo",
- "op": "gen_ai.chat",
- "origin": "auto.ai.openai",
+ "description": "POST http://localhost:46287/openai/responses",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "180deaa46cad8927",
+ "span_id": "331c227207540a19",
+ "start_timestamp": 1775216620.176,
"status": "ok",
+ "timestamp": 1775216620.1908617,
+ "trace_id": "89969bfa2b35519c6df30d9ed312672b",
},
- ObjectContaining {
+ {
"data": {
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "error-model",
- "gen_ai.system": "openai",
- "sen
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/assertions.ts#L35
AssertionError: expected { contexts: { …(8) }, …(14) } to match object { event_id: Any<String>, …(5) }
(92 matching properties omitted from actual)
- Expected
+ Received
@@ -1,12 +1,36 @@
{
"event_id": Any<String>,
- "spans": ArrayContaining [
- ObjectContaining {
- "data": ObjectContaining {
- "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant\"}]",
+ "spans": [
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 44383,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 44383,
+ "url": "http://localhost:44383/anthropic/v1/messages",
+ "url.full": "http://localhost:44383/anthropic/v1/messages",
+ "url.path": "/anthropic/v1/messages",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "Anthropic/JS 0.63.0",
},
+ "description": "POST http://localhost:44383/anthropic/v1/messages",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "8181a9fb658dd31d",
+ "span_id": "b10491b8017583b9",
+ "start_timestamp": 1775216652.964,
+ "status": "ok",
+ "timestamp": 1775216653.006888,
+ "trace_id": "f03610287c8427d2c65eac9582cf7670",
},
],
"start_timestamp": Anything,
"timestamp": Anything,
"transaction": "main",
❯ assertSentryTransaction utils/assertions.ts:35:18
❯ expectTransactionEvent utils/runner.ts:748:5
❯ newEnvelope utils/runner.ts:514:15
❯ tryParseEnvelopeFromStdoutLine utils/runner.ts:633:15
❯ Socket.<anonymous> utils/runner.ts:651:15
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/runner.ts#L503
Error: Expected envelope item type 'event' but got 'transaction'.
Item: [{"type":"transaction"},{"contexts":{"trace":{"span_id":"d6ca2674bb42959d","trace_id":"7100ec3946decf19244e2c27cf84cf5a","data":{"sentry.source":"custom","sentry.sample_rate":1,"sentry.op":"function","sentry.origin":"manual"},"origin":"manual","op":"function","status":"ok"},"otel":{"resource":{"service.name":"node","service.namespace":"sentry","service.version":"10.47.0","telemetry.sdk.language":"nodejs","telemetry.sdk.name":"opentelemetry","telemetry.sdk.version":"2.6.1"}},"runtime":{"name":"node","version":"v20.20.2"},"app":{"app_start_time":"2026-04-03T11:44:01.365Z","app_memory":97136640,"free_memory":14691033088},"os":{"kernel_version":"6.17.0-1008-azure","name":"Ubuntu Linux","version":"24.04"},"device":{"boot_time":"2026-04-03T11:38:12.373Z","arch":"x64","memory_size":16770830336,"free_memory":14691033088,"processor_count":4,"cpu_description":"AMD EPYC 7763 64-Core Processor","processor_frequency":0},"culture":{"locale":"en-US","timezone":"UTC"},"cloud_resource":{}},"spans":[{"span_id":"4bd40d5e0b7db15a","trace_id":"7100ec3946decf19244e2c27cf84cf5a","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:32853/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":32853,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":32853,"http.response.status_code":200,"url":"http://localhost:32853/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:32853/anthropic/v1/messages","parent_span_id":"d6ca2674bb42959d","start_timestamp":1775216641.975,"timestamp":1775216642.0326157,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"a865a22659b2bc4e","trace_id":"7100ec3946decf19244e2c27cf84cf5a","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:32853/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":32853,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":32853,"http.response.status_code":404,"url":"http://localhost:32853/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:32853/anthropic/v1/messages","parent_span_id":"d6ca2674bb42959d","start_timestamp":1775216642.043,"timestamp":1775216642.0620167,"status":"not_found","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"8cef23048d4b86d5","trace_id":"7100ec3946decf19244e2c27cf84cf5a","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:32853/anthropic/v1/messages/count_tokens","url.path":"/anthropic/v1/messages/count_tokens","url.query":"","url.scheme":"http","server.address":"localhost","server.port":32853,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":32853,"http.response.status_code":200,"url":"http://localhost:32853/anthropic/v1/messages/count_tokens","otel.kind":"CLIENT"},"description":"POST http://localhost:32853/anthropic/v1/messages/count_tokens","parent_span_id":"d6ca2674bb42959d","start_timestamp":1775216642.066,"timestamp":1775216642.1025572,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"6188f41f26455d04","trace_id":"7100ec3946decf19244e2c27cf84cf5a","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"GET","http.request.method_original":"GET","url.full":"http://localhost:32853/anthropic/v1/models/claude-3-haiku-20240307","url.path":"/anthropic/v1/models/claude-3-haiku-20240307","url.query":"","url.scheme":"http","server.address":"localhost","server.port":32853,
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/runner.ts#L503
Error: Expected envelope item type 'event' but got 'transaction'.
Item: [{"type":"transaction"},{"contexts":{"trace":{"span_id":"910c1aac59c3e9a3","trace_id":"9b88c2a69d6b0abe7441ece5acab7c8b","data":{"sentry.source":"custom","sentry.sample_rate":1,"sentry.op":"function","sentry.origin":"manual"},"origin":"manual","op":"function","status":"ok"},"otel":{"resource":{"service.name":"node","service.namespace":"sentry","service.version":"10.47.0","telemetry.sdk.language":"nodejs","telemetry.sdk.name":"opentelemetry","telemetry.sdk.version":"2.6.1"}},"runtime":{"name":"node","version":"v20.20.2"},"app":{"app_start_time":"2026-04-03T11:43:59.149Z","app_memory":105541632,"free_memory":14679633920},"os":{"kernel_version":"6.17.0-1008-azure","name":"Ubuntu Linux","version":"24.04"},"device":{"boot_time":"2026-04-03T11:38:12.369Z","arch":"x64","memory_size":16770830336,"free_memory":14679633920,"processor_count":4,"cpu_description":"AMD EPYC 7763 64-Core Processor","processor_frequency":0},"culture":{"locale":"en-US","timezone":"UTC"},"cloud_resource":{}},"spans":[{"span_id":"474bff127f1c507f","trace_id":"9b88c2a69d6b0abe7441ece5acab7c8b","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:41103/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":41103,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":41103,"http.response.status_code":200,"url":"http://localhost:41103/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:41103/anthropic/v1/messages","parent_span_id":"910c1aac59c3e9a3","start_timestamp":1775216639.772,"timestamp":1775216639.8372114,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"79503c17f1004d13","trace_id":"9b88c2a69d6b0abe7441ece5acab7c8b","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:41103/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":41103,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":41103,"http.response.status_code":404,"url":"http://localhost:41103/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:41103/anthropic/v1/messages","parent_span_id":"910c1aac59c3e9a3","start_timestamp":1775216639.846,"timestamp":1775216639.8614964,"status":"not_found","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"74dd94c9a4b1943b","trace_id":"9b88c2a69d6b0abe7441ece5acab7c8b","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:41103/anthropic/v1/messages/count_tokens","url.path":"/anthropic/v1/messages/count_tokens","url.query":"","url.scheme":"http","server.address":"localhost","server.port":41103,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":41103,"http.response.status_code":200,"url":"http://localhost:41103/anthropic/v1/messages/count_tokens","otel.kind":"CLIENT"},"description":"POST http://localhost:41103/anthropic/v1/messages/count_tokens","parent_span_id":"910c1aac59c3e9a3","start_timestamp":1775216639.865,"timestamp":1775216639.8732462,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"8eb49f3c58ce7f93","trace_id":"9b88c2a69d6b0abe7441ece5acab7c8b","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"GET","http.request.method_original":"GET","url.full":"http://localhost:41103/anthropic/v1/models/claude-3-haiku-20240307","url.path":"/anthropic/v1/models/claude-3-haiku-20240307","url.query":"","url.scheme":"http","server.address":"localhost","server.port":41103
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/runner.ts#L503
Error: Expected envelope item type 'event' but got 'transaction'.
Item: [{"type":"transaction"},{"contexts":{"trace":{"span_id":"84dd8a1fdc855b4a","trace_id":"c5bbcf3ba0db7573b93acdb817e8c01c","data":{"sentry.source":"custom","sentry.sample_rate":1,"sentry.op":"function","sentry.origin":"manual"},"origin":"manual","op":"function","status":"ok"},"otel":{"resource":{"service.name":"node","service.namespace":"sentry","service.version":"10.47.0","telemetry.sdk.language":"nodejs","telemetry.sdk.name":"opentelemetry","telemetry.sdk.version":"2.6.1"}},"runtime":{"name":"node","version":"v20.20.2"},"app":{"app_start_time":"2026-04-03T11:43:57.237Z","app_memory":96546816,"free_memory":14606045184},"os":{"kernel_version":"6.17.0-1008-azure","name":"Ubuntu Linux","version":"24.04"},"device":{"boot_time":"2026-04-03T11:38:12.373Z","arch":"x64","memory_size":16770830336,"free_memory":14606045184,"processor_count":4,"cpu_description":"AMD EPYC 7763 64-Core Processor","processor_frequency":0},"culture":{"locale":"en-US","timezone":"UTC"},"cloud_resource":{}},"spans":[{"span_id":"ee8710c10706ddab","trace_id":"c5bbcf3ba0db7573b93acdb817e8c01c","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:37815/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":37815,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":37815,"http.response.status_code":200,"url":"http://localhost:37815/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:37815/anthropic/v1/messages","parent_span_id":"84dd8a1fdc855b4a","start_timestamp":1775216637.799,"timestamp":1775216637.8429627,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"f83c0d7d4ce8e537","trace_id":"c5bbcf3ba0db7573b93acdb817e8c01c","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:37815/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":37815,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":37815,"http.response.status_code":404,"url":"http://localhost:37815/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:37815/anthropic/v1/messages","parent_span_id":"84dd8a1fdc855b4a","start_timestamp":1775216637.85,"timestamp":1775216637.8660533,"status":"not_found","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"7a1058569f7f0597","trace_id":"c5bbcf3ba0db7573b93acdb817e8c01c","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"POST","http.request.method_original":"POST","url.full":"http://localhost:37815/anthropic/v1/messages/count_tokens","url.path":"/anthropic/v1/messages/count_tokens","url.query":"","url.scheme":"http","server.address":"localhost","server.port":37815,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":37815,"http.response.status_code":200,"url":"http://localhost:37815/anthropic/v1/messages/count_tokens","otel.kind":"CLIENT"},"description":"POST http://localhost:37815/anthropic/v1/messages/count_tokens","parent_span_id":"84dd8a1fdc855b4a","start_timestamp":1775216637.87,"timestamp":1775216637.8781006,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"9a50339089d6b399","trace_id":"c5bbcf3ba0db7573b93acdb817e8c01c","data":{"sentry.origin":"auto.http.otel.node_fetch","sentry.op":"http.client","http.request.method":"GET","http.request.method_original":"GET","url.full":"http://localhost:37815/anthropic/v1/models/claude-3-haiku-20240307","url.path":"/anthropic/v1/models/claude-3-haiku-20240307","url.query":"","url.scheme":"http","server.address":"localhost","server.port":37815,"u
|
|
Run integration tests:
dev-packages/node-integration-tests/utils/assertions.ts#L35
AssertionError: expected { contexts: { …(8) }, …(14) } to match object { event_id: Any<String>, …(5) }
(92 matching properties omitted from actual)
- Expected
+ Received
@@ -1,37 +1,94 @@
{
"event_id": Any<String>,
- "spans": ArrayContaining [
- ObjectContaining {
- "data": ObjectContaining {
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "claude-3-haiku-20240307",
- "gen_ai.response.id": "msg_withresponse",
+ "spans": [
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 36483,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36483,
+ "url": "http://localhost:36483/anthropic/v1/messages",
+ "url.full": "http://localhost:36483/anthropic/v1/messages",
+ "url.path": "/anthropic/v1/messages",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "Anthropic/JS 0.63.0",
},
- "description": "chat claude-3-haiku-20240307",
- "op": "gen_ai.chat",
+ "description": "POST http://localhost:36483/anthropic/v1/messages",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "b6b5fb6cfba9222b",
+ "span_id": "34c19a6ef073410a",
+ "start_timestamp": 1775216635.958,
"status": "ok",
+ "timestamp": 1775216636.0014493,
+ "trace_id": "7e41a066eb6feadd0b77cd3c85c572cb",
},
- ObjectContaining {
- "data": ObjectContaining {
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "claude-3-haiku-20240307",
- "gen_ai.response.id": "msg_withresponse",
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 36483,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36483,
+ "url": "http://localhost:36483/anthropic/v1/messages",
+ "url.full": "http://localhost:36483/anthropic/v1/messages",
+ "url.path": "/anthropic/v1/messages",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "Anthropic/JS 0.63.0",
},
- "description": "chat claude-3-haiku-20240307",
- "op": "gen_ai.chat",
+ "description": "POST http://localhost:36483/anthropic/v1/messages",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "b6b5fb6cfba9222b",
+ "span_id": "d25362be58a6620f",
+ "start_timestamp": 1775216636.007,
"status": "ok",
+ "timestamp": 1775216636.0200753,
+ "trace_id": "7e41a066eb6feadd0b77cd3c85c572cb",
},
- ObjectContaining {
- "data": ObjectContaining {
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "claude-3-haiku-20240307",
- "gen_ai.response.id": "msg_stream_withresponse",
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 36483,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36483,
+ "url": "http://localhost:36483/anthropic/v1/messages",
+ "url.full": "http://localhost:36483/anthropic/v1/messages",
+ "url.path": "/anthropic/v1/messages",
+ "url.query": "",
+ "url.scheme": "http"
|
|
Complete job
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache/restore@v4, actions/download-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Parse and Upload Coverage
Supported formats: clover, cobertura, jacoco, lcov, istanbul, go, codecov
|
|
Parse and Upload Coverage
No coverage files found
|
|
Parse and Upload Coverage
Please ensure your test framework is generating JUnit XML output.
|
|
Parse and Upload Coverage
No JUnit XML files found matching pattern: dev-packages/node-integration-tests/**/*.junit.xml
|
|
Parse and Upload Coverage
No files found matching pattern: dev-packages/node-integration-tests/**/*.junit.xml
|
Loading