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": 43689,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 43689,
+ "url": "http://localhost:43689/openai/embeddings",
+ "url.full": "http://localhost:43689/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:43689/openai/embeddings",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "4da28be2407c26d5",
+ "span_id": "5424264bcf4f3a26",
+ "start_timestamp": 1775216803.683,
"status": "ok",
+ "timestamp": 1775216803.7402332,
+ "trace_id": "dac8adae5495219cd0644cbc71aa5dea",
},
- 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": 43689,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 43689,
+ "url": "http://localhost:43689/openai/embeddings",
+ "url.full": "http://localhost:43689/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:43689/openai/embeddings",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "4da28be2407c26d5",
+ "span_id": "ff554a7aa0a721fc",
+ "start_timestamp": 1775216803.746,
+ "status": "not_found",
+ "timestamp": 1775216803.7618718,
+ "trace_id": "dac8adae5495219cd0644cbc71aa5dea",
},
- 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": 42345,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 42345,
+ "url": "http://localhost:42345/openai/embeddings",
+ "url.full": "http://localhost:42345/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:42345/openai/embeddings",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "d0a358e0a7ef7e10",
+ "span_id": "12bc04d441674891",
+ "start_timestamp": 1775216801.792,
"status": "ok",
+ "timestamp": 1775216801.8386097,
+ "trace_id": "6c072a3621ecf7d4f66a9377c676a423",
},
- 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": 42345,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 42345,
+ "url": "http://localhost:42345/openai/embeddings",
+ "url.full": "http://localhost:42345/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:42345/openai/embeddings",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "d0a358e0a7ef7e10",
+ "span_id": "3f022b5014f94f0b",
+ "start_timestamp": 1775216801.843,
+ "status": "not_found",
+ "timestamp": 1775216801.8540926,
+ "trace_id": "6c072a3621ecf7d4f66a9377c676a423",
+ },
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 42345,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 42345,
+ "url": "http://localhost:42345/openai/embed
|
|
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": 39007,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 39007,
+ "url": "http://localhost:39007/openai/chat/completions",
+ "url.full": "http://localhost:39007/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:39007/openai/chat/completions",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "012bd41fb0849e3c",
+ "span_id": "a79fd2f396d19871",
+ "start_timestamp": 1775216797.406,
+ "status": "ok",
+ "timestamp": 1775216797.4539018,
+ "trace_id": "2f56e33dbc9e8c46a42c146f6dc88cea",
+ },
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 200,
+ "network.peer.address": "::1",
+ "network.peer.port": 39007,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 39007,
+ "url": "http://localhost:39007/openai/responses",
+ "url.full": "http://localhost:39007/openai/responses",
+ "url.path": "/openai/responses",
+ "url.query": "",
+ "url.scheme": "http",
+ "user_agent.original": "OpenAI/JS 5.18.1",
+ },
+ "description": "POST http://localhost:39007/openai/responses",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "012bd41fb0849e3c",
+ "span_id": "29cf1da249f44aee",
+ "start_timestamp": 1775216797.46,
+ "status": "ok",
+ "timestamp": 1775216797.4749267,
+ "trace_id": "2f56e33dbc9e8c46a42c146f6dc88cea",
+ },
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 500,
+ "network.peer.address": "::1",
+ "network.peer.port": 39007,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 39007,
+ "url": "http://localhost:39007/openai/chat/completions",
+ "url.full": "http://localhost:39007/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:39007/openai/chat/completions",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "012bd41fb0849e3c",
+ "span_id": "a5b45b84d0175973",
+ "start_timestamp": 1775216797.477,
+ "status": "internal_error",
+ "timestamp": 1775216797.5150323,
+ "trace_id": "2f56e33dbc9e8c46a42c146f6dc88cea",
+ },
+ {
+ "data": {
+ "http.request.method": "POST",
+ "http.request.method_original": "POST",
+ "http.response.status_code": 500,
+ "network.peer.addre
|
|
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": 41033,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 41033,
+ "url": "http://localhost:41033/openai/chat/completions",
+ "url.full": "http://localhost:41033/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:41033/openai/chat/completions",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "ae11ac2afa22f20f",
+ "span_id": "4ca99f4cf3b9c5f3",
+ "start_timestamp": 1775216790.282,
"status": "ok",
+ "timestamp": 1775216790.3675926,
+ "trace_id": "fcb43f51dc96b1b450afcce18741b816",
},
- 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": 41033,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 41033,
+ "url": "http://localhost:41033/openai/responses",
+ "url.full": "http://localhost:41033/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": 45145,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 45145,
+ "url": "http://localhost:45145/openai/chat/completions",
+ "url.full": "http://localhost:45145/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:45145/openai/chat/completions",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "c9156acaa4005175",
+ "span_id": "a4004534d701887e",
+ "start_timestamp": 1775216783.229,
"status": "ok",
+ "timestamp": 1775216783.3015716,
+ "trace_id": "37e096b54b2b1db16123023be1bd2b97",
},
- 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": 45145,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 45145,
+ "url": "http://localhost:45145/openai/responses",
+ "url.full": "http://localhost:45145/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:45145/openai/responses",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "c9156acaa4005175",
+ "span_id": "b0e4d6421f325eba",
+ "start_timestamp": 1775216783.309,
"status": "ok",
+ "timestamp": 1775216783.3279898,
+ "trace_id": "37e096b54b2b1db16123023be1bd2b97",
},
- ObjectContaining {
+ {
"data": {
- "gen_ai.operation.name": "chat",
- "gen_ai.request.model": "error-model",
- "gen_ai.system": "openai",
- "se
|
|
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": 36185,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 36185,
+ "url": "http://localhost:36185/anthropic/v1/messages",
+ "url.full": "http://localhost:36185/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:36185/anthropic/v1/messages",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "8f8eec72ba60ab88",
+ "span_id": "00bf9011736e67b9",
+ "start_timestamp": 1775216811.931,
+ "status": "ok",
+ "timestamp": 1775216811.971473,
+ "trace_id": "4de5eaf0a9d63abc71c9cd2bf5deec5b",
},
],
"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":"3a2bf239b7964d4d","trace_id":"51ab03b81389e3eb12b8c8a1553490a8","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":"v24.14.0"},"app":{"app_start_time":"2026-04-03T11:46:41.085Z","app_memory":128307200,"free_memory":14952398848},"os":{"kernel_version":"6.17.0-1008-azure","name":"Ubuntu Linux","version":"24.04"},"device":{"boot_time":"2026-04-03T11:39:31.315Z","arch":"x64","memory_size":16770826240,"free_memory":14952398848,"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":"d11ead2ae1d04d2b","trace_id":"51ab03b81389e3eb12b8c8a1553490a8","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:38087/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":38087,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":38087,"http.response.status_code":200,"url":"http://localhost:38087/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:38087/anthropic/v1/messages","parent_span_id":"3a2bf239b7964d4d","start_timestamp":1775216801.632,"timestamp":1775216801.693576,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"96f37306afa6c64d","trace_id":"51ab03b81389e3eb12b8c8a1553490a8","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:38087/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":38087,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":38087,"http.response.status_code":404,"url":"http://localhost:38087/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:38087/anthropic/v1/messages","parent_span_id":"3a2bf239b7964d4d","start_timestamp":1775216801.699,"timestamp":1775216801.713235,"status":"not_found","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"a00e77a06334e09c","trace_id":"51ab03b81389e3eb12b8c8a1553490a8","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:38087/anthropic/v1/messages/count_tokens","url.path":"/anthropic/v1/messages/count_tokens","url.query":"","url.scheme":"http","server.address":"localhost","server.port":38087,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":38087,"http.response.status_code":200,"url":"http://localhost:38087/anthropic/v1/messages/count_tokens","otel.kind":"CLIENT"},"description":"POST http://localhost:38087/anthropic/v1/messages/count_tokens","parent_span_id":"3a2bf239b7964d4d","start_timestamp":1775216801.717,"timestamp":1775216801.7492142,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"d83232a8a2739975","trace_id":"51ab03b81389e3eb12b8c8a1553490a8","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:38087/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":38087,"
|
|
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":"6daa4ac4a89a7c2d","trace_id":"105915aa4ca7abe8c7fdf136f7e88ef9","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":"v24.14.0"},"app":{"app_start_time":"2026-04-03T11:46:39.272Z","app_memory":128024576,"free_memory":14929244160},"os":{"kernel_version":"6.17.0-1008-azure","name":"Ubuntu Linux","version":"24.04"},"device":{"boot_time":"2026-04-03T11:39:31.319Z","arch":"x64","memory_size":16770826240,"free_memory":14929244160,"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":"58ab37a371d6426a","trace_id":"105915aa4ca7abe8c7fdf136f7e88ef9","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:39679/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":39679,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":39679,"http.response.status_code":200,"url":"http://localhost:39679/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:39679/anthropic/v1/messages","parent_span_id":"6daa4ac4a89a7c2d","start_timestamp":1775216799.802,"timestamp":1775216799.860858,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"43b808804b6deb84","trace_id":"105915aa4ca7abe8c7fdf136f7e88ef9","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:39679/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":39679,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":39679,"http.response.status_code":404,"url":"http://localhost:39679/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:39679/anthropic/v1/messages","parent_span_id":"6daa4ac4a89a7c2d","start_timestamp":1775216799.866,"timestamp":1775216799.876863,"status":"not_found","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"40e51b724921caec","trace_id":"105915aa4ca7abe8c7fdf136f7e88ef9","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:39679/anthropic/v1/messages/count_tokens","url.path":"/anthropic/v1/messages/count_tokens","url.query":"","url.scheme":"http","server.address":"localhost","server.port":39679,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":39679,"http.response.status_code":200,"url":"http://localhost:39679/anthropic/v1/messages/count_tokens","otel.kind":"CLIENT"},"description":"POST http://localhost:39679/anthropic/v1/messages/count_tokens","parent_span_id":"6daa4ac4a89a7c2d","start_timestamp":1775216799.881,"timestamp":1775216799.8860543,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"ebcb0d9628b9ef52","trace_id":"105915aa4ca7abe8c7fdf136f7e88ef9","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:39679/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":39679,"
|
|
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":"d4aa3e10ed68046d","trace_id":"f043cb934e1c3aa655b2bdd7fb73d9c1","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":"v24.14.0"},"app":{"app_start_time":"2026-04-03T11:46:37.663Z","app_memory":128544768,"free_memory":14933889024},"os":{"kernel_version":"6.17.0-1008-azure","name":"Ubuntu Linux","version":"24.04"},"device":{"boot_time":"2026-04-03T11:39:31.322Z","arch":"x64","memory_size":16770826240,"free_memory":14933889024,"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":"7fb47087afcfedf3","trace_id":"f043cb934e1c3aa655b2bdd7fb73d9c1","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:34313/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":34313,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":34313,"http.response.status_code":200,"url":"http://localhost:34313/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:34313/anthropic/v1/messages","parent_span_id":"d4aa3e10ed68046d","start_timestamp":1775216798.103,"timestamp":1775216798.1457562,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"8c09f4485e40033a","trace_id":"f043cb934e1c3aa655b2bdd7fb73d9c1","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:34313/anthropic/v1/messages","url.path":"/anthropic/v1/messages","url.query":"","url.scheme":"http","server.address":"localhost","server.port":34313,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":34313,"http.response.status_code":404,"url":"http://localhost:34313/anthropic/v1/messages","otel.kind":"CLIENT"},"description":"POST http://localhost:34313/anthropic/v1/messages","parent_span_id":"d4aa3e10ed68046d","start_timestamp":1775216798.15,"timestamp":1775216798.1564987,"status":"not_found","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"365b3832630dad2a","trace_id":"f043cb934e1c3aa655b2bdd7fb73d9c1","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:34313/anthropic/v1/messages/count_tokens","url.path":"/anthropic/v1/messages/count_tokens","url.query":"","url.scheme":"http","server.address":"localhost","server.port":34313,"user_agent.original":"Anthropic/JS 0.63.0","network.peer.address":"::1","network.peer.port":34313,"http.response.status_code":200,"url":"http://localhost:34313/anthropic/v1/messages/count_tokens","otel.kind":"CLIENT"},"description":"POST http://localhost:34313/anthropic/v1/messages/count_tokens","parent_span_id":"d4aa3e10ed68046d","start_timestamp":1775216798.159,"timestamp":1775216798.194868,"status":"ok","op":"http.client","origin":"auto.http.otel.node_fetch"},{"span_id":"89f118c723567fd3","trace_id":"f043cb934e1c3aa655b2bdd7fb73d9c1","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:34313/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":34313,"
|
|
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": 33879,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 33879,
+ "url": "http://localhost:33879/anthropic/v1/messages",
+ "url.full": "http://localhost:33879/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:33879/anthropic/v1/messages",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "6582a0c197873e0d",
+ "span_id": "cd702d52a9e6d29e",
+ "start_timestamp": 1775216796.379,
"status": "ok",
+ "timestamp": 1775216796.423207,
+ "trace_id": "710e9f06656d670783d6592f49a18d5e",
},
- 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": 33879,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 33879,
+ "url": "http://localhost:33879/anthropic/v1/messages",
+ "url.full": "http://localhost:33879/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:33879/anthropic/v1/messages",
+ "op": "http.client",
+ "origin": "auto.http.otel.node_fetch",
+ "parent_span_id": "6582a0c197873e0d",
+ "span_id": "85fc2110f040a8d9",
+ "start_timestamp": 1775216796.427,
"status": "ok",
+ "timestamp": 1775216796.436545,
+ "trace_id": "710e9f06656d670783d6592f49a18d5e",
},
- 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": 33879,
+ "otel.kind": "CLIENT",
+ "sentry.op": "http.client",
+ "sentry.origin": "auto.http.otel.node_fetch",
+ "server.address": "localhost",
+ "server.port": 33879,
+ "url": "http://localhost:33879/anthropic/v1/messages",
+ "url.full": "http://localhost:33879/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