Skip to content

feat(node): Update vercel ai integration attributes #36070

feat(node): Update vercel ai integration attributes

feat(node): Update vercel ai integration attributes #36070

Triggered via pull request July 2, 2025 18:39
Status Failure
Total duration 15m 54s
Artifacts 17

build.yml

on: pull_request
Get Metadata
5s
Get Metadata
Check file formatting
50s
Check file formatting
Check PR branches
4s
Check PR branches
Prepare E2E tests
2m 10s
Prepare E2E tests
Matrix: job_browser_loader_tests
Matrix: job_browser_playwright_tests
Matrix: job_node_integration_tests
Matrix: job_node_unit_tests
Matrix: job_remix_integration_tests
Lint
6m 10s
Lint
Circular Dependency Check
1m 15s
Circular Dependency Check
Upload Artifacts
0s
Upload Artifacts
Browser Unit Tests
3m 8s
Browser Unit Tests
Bun Unit Tests
33s
Bun Unit Tests
Deno Unit Tests
40s
Deno Unit Tests
Size Check
1m 26s
Size Check
Check for faulty .d.ts files
30s
Check for faulty .d.ts files
Matrix: job_e2e_tests
Matrix: job_optional_e2e_tests
All required jobs passed or were skipped
3s
All required jobs passed or were skipped
Fit to window
Zoom out
Zoom in

Annotations

27 errors and 33 warnings
E2E nuxt-3 (canary) Test (optional)
Process completed with exit code 1.
Node (24) Integration Tests
Process completed with exit code 1.
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "062b1be14d32b516", + "span_id": "698c3b369fe677ba", + "start_timestamp": 1751481910.518, "status": "ok", + "timestamp": 1751481910.5212505, + "trace_id": "b6b191fb60680737272357e3b9b973fd", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-pYbqIgZDd1Ap774AQa9gXFyV", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:10.520Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-pYbqIgZDd1Ap774AQa9gXFyV", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "698c3b369fe677ba", + "span_id": "01e003108f34c331", + "start_timestamp": 1751481910.52, "status": "ok", + "timestamp": 1751481910.5208683, + "trace_id": "b6b191fb60680737272357e3b9b973fd", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "062b1be14d32b516", + "span_id": "c8d8657b403c54d0", + "start_timestamp": 1751481910.521, "status": "ok", + "timestamp": 1751481910.5215936, + "trace_id": "b6b191fb60680737272357e3b9b973fd", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provide
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "16aba0d658b61df5", + "span_id": "6593991ca05a5a98", + "start_timestamp": 1751481909.862, "status": "ok", + "timestamp": 1751481909.8667004, + "trace_id": "4911140e7bc2f6d4df3c77db40fb37c8", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-xN5M9IZX09fwIwXL8QoQxDNS", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:09.865Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-xN5M9IZX09fwIwXL8QoQxDNS", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "6593991ca05a5a98", + "span_id": "3146c83fb021a41f", + "start_timestamp": 1751481909.864, "status": "ok", + "timestamp": 1751481909.8652341, + "trace_id": "4911140e7bc2f6d4df3c77db40fb37c8", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "16aba0d658b61df5", + "span_id": "6aa4aa962ca68bf4", + "start_timestamp": 1751481909.867, "status": "ok", + "timestamp": 1751481909.867716, + "trace_id": "4911140e7bc2f6d4df3c77db40fb37c8", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provide
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "e46ed521427b0fa7", + "span_id": "201f9b19e4a362bc", + "start_timestamp": 1751481908.808, "status": "ok", + "timestamp": 1751481908.8120885, + "trace_id": "7a4ff5b8b5a05f1b32911dfa9db21635", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-kLCbsV8FGWO7b05PSTBO0ycx", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:08.810Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-kLCbsV8FGWO7b05PSTBO0ycx", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "201f9b19e4a362bc", + "span_id": "184b73c2d7ece1a4", + "start_timestamp": 1751481908.81, "status": "ok", + "timestamp": 1751481908.811038, + "trace_id": "7a4ff5b8b5a05f1b32911dfa9db21635", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "e46ed521427b0fa7", + "span_id": "ade8245e00107491", + "start_timestamp": 1751481908.812, "status": "ok", + "timestamp": 1751481908.8130622, + "trace_id": "7a4ff5b8b5a05f1b32911dfa9db21635", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.for
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "c1aa772f40e09336", + "span_id": "c0c77713398346b8", + "start_timestamp": 1751481908.115, "status": "ok", + "timestamp": 1751481908.117928, + "trace_id": "4362e384b425f16f751f890464d4334b", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-haxgUoH2qNheUzgHC1Ig7GuG", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:08.117Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-haxgUoH2qNheUzgHC1Ig7GuG", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "c0c77713398346b8", + "span_id": "4ead982509b2cc45", + "start_timestamp": 1751481908.117, "status": "ok", + "timestamp": 1751481908.1177232, + "trace_id": "4362e384b425f16f751f890464d4334b", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "c1aa772f40e09336", + "span_id": "7a2c6ab55717f5ed", + "start_timestamp": 1751481908.119, "status": "ok", + "timestamp": 1751481908.1198788, + "trace_id": "4362e384b425f16f751f890464d4334b", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.fo
Node (18) Integration Tests
Process completed with exit code 1.
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "8f619f990dfa50ea", + "span_id": "e59a091ac9bf3bb4", + "start_timestamp": 1751481910.904, "status": "ok", + "timestamp": 1751481910.9104304, + "trace_id": "14c8ed2c44fcd4bb2c5beaf8f22b6f35", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-AvEXQzb6WNKnew32AAxKc9gp", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:10.908Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-AvEXQzb6WNKnew32AAxKc9gp", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "e59a091ac9bf3bb4", + "span_id": "1a54b61ff7409af1", + "start_timestamp": 1751481910.907, "status": "ok", + "timestamp": 1751481910.9082963, + "trace_id": "14c8ed2c44fcd4bb2c5beaf8f22b6f35", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "8f619f990dfa50ea", + "span_id": "aced6fce607e8faf", + "start_timestamp": 1751481910.91, "status": "ok", + "timestamp": 1751481910.911165, + "trace_id": "14c8ed2c44fcd4bb2c5beaf8f22b6f35", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "7c8f4d86937e897c", + "span_id": "4fce420b529589fa", + "start_timestamp": 1751481910.23, "status": "ok", + "timestamp": 1751481910.234004, + "trace_id": "c3b4bc588ba6c7b6bf97e3ef9e7b7f54", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-75mASOX7qLZWf2sJ0FgXHmT4", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:10.232Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-75mASOX7qLZWf2sJ0FgXHmT4", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "4fce420b529589fa", + "span_id": "b4dde745e6ee0add", + "start_timestamp": 1751481910.232, "status": "ok", + "timestamp": 1751481910.2329848, + "trace_id": "c3b4bc588ba6c7b6bf97e3ef9e7b7f54", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "7c8f4d86937e897c", + "span_id": "dc995b16c0811d88", + "start_timestamp": 1751481910.234, "status": "ok", + "timestamp": 1751481910.2346857, + "trace_id": "c3b4bc588ba6c7b6bf97e3ef9e7b7f54", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "4554de90d43f493d", + "span_id": "8c74baf6b42755d8", + "start_timestamp": 1751481909.101, "status": "ok", + "timestamp": 1751481909.1062458, + "trace_id": "844c222a88311bb0637118de31311fb4", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-cBEPLGfb2SYaDBJ1AiChUSk1", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:09.104Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-cBEPLGfb2SYaDBJ1AiChUSk1", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "8c74baf6b42755d8", + "span_id": "d93da9cc50077124", + "start_timestamp": 1751481909.103, "status": "ok", + "timestamp": 1751481909.1040578, + "trace_id": "844c222a88311bb0637118de31311fb4", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "4554de90d43f493d", + "span_id": "837b37c38604271a", + "start_timestamp": 1751481909.106, "status": "ok", + "timestamp": 1751481909.1069782, + "trace_id": "844c222a88311bb0637118de31311fb4", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.f
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "f17f959a1dbb9aef", + "span_id": "d18e4e3e0451ac0b", + "start_timestamp": 1751481908.225, "status": "ok", + "timestamp": 1751481908.2330732, + "trace_id": "c37e925f78008f4d9d8e3e4dd4ab6a62", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-dr2gByoQnDvaetCpB44xH9D9", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:08.232Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-dr2gByoQnDvaetCpB44xH9D9", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "d18e4e3e0451ac0b", + "span_id": "8201f481bec8290b", + "start_timestamp": 1751481908.231, "status": "ok", + "timestamp": 1751481908.2324545, + "trace_id": "c37e925f78008f4d9d8e3e4dd4ab6a62", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "f17f959a1dbb9aef", + "span_id": "9b4f0d91805aa750", + "start_timestamp": 1751481908.234, "status": "ok", + "timestamp": 1751481908.2352216, + "trace_id": "c37e925f78008f4d9d8e3e4dd4ab6a62", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.f
Node (22) Integration Tests
Process completed with exit code 1.
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "f0f03fcf0b7363f5", + "span_id": "cf259642d4bbbc32", + "start_timestamp": 1751481918.073, "status": "ok", + "timestamp": 1751481918.078315, + "trace_id": "6f119129e6d02d0513ecdd341abd33df", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-PX31QWgwUfXosIB982hCXUcd", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:18.077Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-PX31QWgwUfXosIB982hCXUcd", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "cf259642d4bbbc32", + "span_id": "7c5979e03769b427", + "start_timestamp": 1751481918.076, "status": "ok", + "timestamp": 1751481918.0772789, + "trace_id": "6f119129e6d02d0513ecdd341abd33df", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "f0f03fcf0b7363f5", + "span_id": "5d0949ec506bc079", + "start_timestamp": 1751481918.079, "status": "ok", + "timestamp": 1751481918.079851, + "trace_id": "6f119129e6d02d0513ecdd341abd33df", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "327e9434d239d6e6", + "span_id": "1c6e65b54ef6e9ff", + "start_timestamp": 1751481917.34, "status": "ok", + "timestamp": 1751481917.34483, + "trace_id": "de56407c9fb8e32750373c239553e6b5", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-gK2wj0Rd2UVG6iiPqZ0ppr56", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:17.344Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-gK2wj0Rd2UVG6iiPqZ0ppr56", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "1c6e65b54ef6e9ff", + "span_id": "ff2993d562e9178d", + "start_timestamp": 1751481917.343, "status": "ok", + "timestamp": 1751481917.344167, + "trace_id": "de56407c9fb8e32750373c239553e6b5", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "327e9434d239d6e6", + "span_id": "5a41b41ddf2509af", + "start_timestamp": 1751481917.345, "status": "ok", + "timestamp": 1751481917.3457189, + "trace_id": "de56407c9fb8e32750373c239553e6b5", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider",
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "509ccaf83f492bb4", + "span_id": "0935c0482cd154aa", + "start_timestamp": 1751481916.06, "status": "ok", + "timestamp": 1751481916.0642304, + "trace_id": "3b1da8a97cc02af1f32bdb69af4a4841", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-MYyhXq1jpMdgghIbZIT9yVvd", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:16.063Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-MYyhXq1jpMdgghIbZIT9yVvd", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "0935c0482cd154aa", + "span_id": "6068ac443edd6460", + "start_timestamp": 1751481916.062, "status": "ok", + "timestamp": 1751481916.0630805, + "trace_id": "3b1da8a97cc02af1f32bdb69af4a4841", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "509ccaf83f492bb4", + "span_id": "c6816eaa03b3b47a", + "start_timestamp": 1751481916.064, "status": "ok", + "timestamp": 1751481916.0649152, + "trace_id": "3b1da8a97cc02af1f32bdb69af4a4841", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.fo
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "d8f778c6bf06e716", + "span_id": "78ad89346ea5d1b1", + "start_timestamp": 1751481915.011, "status": "ok", + "timestamp": 1751481915.0178921, + "trace_id": "2d744895a6943269b500c07d4bcb34b0", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-gNRvEp6oX5snhBNpyF5Rdo8h", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:15.013Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-gNRvEp6oX5snhBNpyF5Rdo8h", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "78ad89346ea5d1b1", + "span_id": "f2c49e654f969a27", + "start_timestamp": 1751481915.013, "status": "ok", + "timestamp": 1751481915.0169926, + "trace_id": "2d744895a6943269b500c07d4bcb34b0", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "d8f778c6bf06e716", + "span_id": "92997b35fd79ff09", + "start_timestamp": 1751481915.018, "status": "ok", + "timestamp": 1751481915.0188985, + "trace_id": "2d744895a6943269b500c07d4bcb34b0", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.f
Node (20) Integration Tests
Process completed with exit code 1.
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "d2304f81f91e5eeb", + "span_id": "6393be57d87c32f0", + "start_timestamp": 1751481917.708, "status": "ok", + "timestamp": 1751481917.7141387, + "trace_id": "c4b1e7dff3c4bd9c12711e4a74cf372a", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-WdvssdlzeNZtfKZIsRoJ1h77", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:17.712Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-WdvssdlzeNZtfKZIsRoJ1h77", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "6393be57d87c32f0", + "span_id": "7a5d4183d0446393", + "start_timestamp": 1751481917.711, "status": "ok", + "timestamp": 1751481917.7129393, + "trace_id": "c4b1e7dff3c4bd9c12711e4a74cf372a", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "d2304f81f91e5eeb", + "span_id": "6c442f6c050bebc6", + "start_timestamp": 1751481917.714, "status": "ok", + "timestamp": 1751481917.7151597, + "trace_id": "c4b1e7dff3c4bd9c12711e4a74cf372a", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provid
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "52e950f796973dd0", + "span_id": "ff96a3f644216028", + "start_timestamp": 1751481917.036, "status": "ok", + "timestamp": 1751481917.0415466, + "trace_id": "399f2bfbf40660b679408b693ea7a367", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-jUIMQfm2w8n15cAbFkLJ5o2G", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:17.040Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-jUIMQfm2w8n15cAbFkLJ5o2G", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "ff96a3f644216028", + "span_id": "d1eb14c2774df0a4", + "start_timestamp": 1751481917.039, "status": "ok", + "timestamp": 1751481917.0405312, + "trace_id": "399f2bfbf40660b679408b693ea7a367", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "52e950f796973dd0", + "span_id": "3d87b1bce4a2fe13", + "start_timestamp": 1751481917.042, "status": "ok", + "timestamp": 1751481917.0428963, + "trace_id": "399f2bfbf40660b679408b693ea7a367", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provid
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "22e0139cc1cbbc30", + "span_id": "84d8b058889fa792", + "start_timestamp": 1751481915.67, "status": "ok", + "timestamp": 1751481915.6754124, + "trace_id": "8ceac4df0903b8887fce9df4c5404967", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-JMVE4a7h0OKWBo2pDnwdKNWM", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:15.674Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-JMVE4a7h0OKWBo2pDnwdKNWM", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "84d8b058889fa792", + "span_id": "4eef72c96526d112", + "start_timestamp": 1751481915.673, "status": "ok", + "timestamp": 1751481915.6744037, + "trace_id": "8ceac4df0903b8887fce9df4c5404967", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "22e0139cc1cbbc30", + "span_id": "e4d03561445b729d", + "start_timestamp": 1751481915.676, "status": "ok", + "timestamp": 1751481915.6774337, + "trace_id": "8ceac4df0903b8887fce9df4c5404967", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.fo
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "b7d8c5f1ca3c5723", + "span_id": "2b2112144e19a2b0", + "start_timestamp": 1751481914.396, "status": "ok", + "timestamp": 1751481914.3995206, + "trace_id": "a4faf3b2124b9ef9f62cd281eb90901f", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-OayDFz0454ZTPE7VhmO7jQcm", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:45:14.399Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-OayDFz0454ZTPE7VhmO7jQcm", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "2b2112144e19a2b0", + "span_id": "3ea6058d1868cf21", + "start_timestamp": 1751481914.398, "status": "ok", + "timestamp": 1751481914.39892, + "trace_id": "a4faf3b2124b9ef9f62cd281eb90901f", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "b7d8c5f1ca3c5723", + "span_id": "04ef0a519f1609a7", + "start_timestamp": 1751481914.4, "status": "ok", + "timestamp": 1751481914.4008253, + "trace_id": "a4faf3b2124b9ef9f62cd281eb90901f", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.forma
Node (24) (TS 3.8) Integration Tests
Process completed with exit code 1.
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "c175f8f8155de52a", + "span_id": "af3b92af7568e4b1", + "start_timestamp": 1751482040.922, "status": "ok", + "timestamp": 1751482040.9268677, + "trace_id": "265b81e4109cbc478e48b7717e37ddc1", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-bI3u6ettFVhw4NT5b8fNdXWB", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:47:20.925Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-bI3u6ettFVhw4NT5b8fNdXWB", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "af3b92af7568e4b1", + "span_id": "3b188526ed1f0c16", + "start_timestamp": 1751482040.925, "status": "ok", + "timestamp": 1751482040.926158, + "trace_id": "265b81e4109cbc478e48b7717e37ddc1", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "c175f8f8155de52a", + "span_id": "231dd6b94d174b39", + "start_timestamp": 1751482040.927, "status": "ok", + "timestamp": 1751482040.927879, + "trace_id": "265b81e4109cbc478e48b7717e37ddc1", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: true: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -23,31 +23,36 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "014a72de37d4aa8b", + "span_id": "9084d79437da7ed5", + "start_timestamp": 1751482040.334, "status": "ok", + "timestamp": 1751482040.3387094, + "trace_id": "92870d489e6a1a7645862892cca30c2e", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.prompt.format": "prompt", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-udWQgJFnj6XHLpDFoh23Fulf", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:47:20.337Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"Where is the first span?\"}]}]", "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-udWQgJFnj6XHLpDFoh23Fulf", "gen_ai.response.model": "mock-model-id", "gen_ai.response.text": "First span here!", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, @@ -57,13 +62,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "9084d79437da7ed5", + "span_id": "5d4b01514b0281a8", + "start_timestamp": 1751482040.337, "status": "ok", + "timestamp": 1751482040.3380902, + "trace_id": "92870d489e6a1a7645862892cca30c2e", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -72,44 +82,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "014a72de37d4aa8b", + "span_id": "3d601deacb4ef7f2", + "start_timestamp": 1751482040.339, "status": "ok", + "timestamp": 1751482040.3397148, + "trace_id": "92870d489e6a1a7645862892cca30c2e", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provid
suites/tracing/vercelai/test.ts > Vercel AI integration > cjs > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "ff42b40fbd9a2332", + "span_id": "e029146196128874", + "start_timestamp": 1751482039.362, "status": "ok", + "timestamp": 1751482039.366278, + "trace_id": "acd103dc8ff0773dc36ad5c0b84851e9", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-mPoCYYuCYawJlNsIk38Zvipi", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:47:19.365Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-mPoCYYuCYawJlNsIk38Zvipi", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "e029146196128874", + "span_id": "eeb7a4a6126b3dae", + "start_timestamp": 1751482039.364, "status": "ok", + "timestamp": 1751482039.3651135, + "trace_id": "acd103dc8ff0773dc36ad5c0b84851e9", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "ff42b40fbd9a2332", + "span_id": "efff1ee93d0e1a15", + "start_timestamp": 1751482039.366, "status": "ok", + "timestamp": 1751482039.367182, + "trace_id": "acd103dc8ff0773dc36ad5c0b84851e9", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.for
suites/tracing/vercelai/test.ts > Vercel AI integration > esm > creates ai related spans with sendDefaultPii: false: dev-packages/node-integration-tests/utils/assertions.ts#L34
AssertionError: expected { contexts: { …(8) }, …(13) } to match object { event_id: Any<String>, …(5) } (69 matching properties omitted from actual) - Expected + Received @@ -1,9 +1,9 @@ { "event_id": Any<String>, - "spans": ArrayContaining [ - ObjectContaining { + "spans": [ + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -20,29 +20,34 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "38ca905621771765", + "span_id": "0f929dbc455c311b", + "start_timestamp": 1751482038.661, "status": "ok", + "timestamp": 1751482038.663823, + "trace_id": "39ee9840b2bb4f54acbbc04f6b496aea", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", "ai.response.finishReason": "stop", - "ai.response.id": Any<String>, + "ai.response.id": "aitxt-VIgYrHZFYQehNEHLbtSmggrk", "ai.response.model": "mock-model-id", - "ai.response.timestamp": Any<String>, + "ai.response.timestamp": "2025-07-02T18:47:18.663Z", "ai.settings.maxRetries": 2, "ai.streaming": false, "gen_ai.request.model": "mock-model-id", "gen_ai.response.finish_reasons": [ "stop", ], - "gen_ai.response.id": Any<String>, + "gen_ai.response.id": "aitxt-VIgYrHZFYQehNEHLbtSmggrk", "gen_ai.response.model": "mock-model-id", "gen_ai.system": "mock-provider", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, @@ -51,13 +56,18 @@ "sentry.origin": "auto.vercelai.otel", }, "description": "generate_text mock-model-id", "op": "gen_ai.generate_text", "origin": "auto.vercelai.otel", + "parent_span_id": "0f929dbc455c311b", + "span_id": "c9623a17f3bec57a", + "start_timestamp": 1751482038.662, "status": "ok", + "timestamp": 1751482038.6627464, + "trace_id": "39ee9840b2bb4f54acbbc04f6b496aea", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText", "ai.pipeline.name": "generateText", @@ -66,44 +76,49 @@ "ai.settings.maxRetries": 2, "ai.settings.maxSteps": 1, "ai.streaming": false, "gen_ai.prompt": "{\"prompt\":\"Where is the second span?\"}", "gen_ai.response.model": "mock-model-id", - "gen_ai.response.text": Any<String>, + "gen_ai.response.text": "Second span here!", "gen_ai.usage.input_tokens": 10, "gen_ai.usage.output_tokens": 20, "gen_ai.usage.total_tokens": 30, "operation.name": "ai.generateText", "sentry.op": "gen_ai.invoke_agent", "sentry.origin": "auto.vercelai.otel", }, "description": "generateText", "op": "gen_ai.invoke_agent", "origin": "auto.vercelai.otel", + "parent_span_id": "38ca905621771765", + "span_id": "c0e709f45383efcf", + "start_timestamp": 1751482038.664, "status": "ok", + "timestamp": 1751482038.6650271, + "trace_id": "39ee9840b2bb4f54acbbc04f6b496aea", }, - ObjectContaining { + { "data": { "ai.model.id": "mock-model-id", "ai.model.provider": "mock-provider", "ai.operationId": "ai.generateText.doGenerate", "ai.pipeline.name": "generateText.doGenerate", - "ai.prompt.format": Any<String>, + "ai.prompt.fo
All required jobs passed or were skipped
Process completed with exit code 1.
E2E svelte-5 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/svelte-5/package.json. Falling back
E2E generic-ts3.8 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/generic-ts3.8/package.json. Falling back
E2E nestjs-basic-with-graphql Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json. Falling back
E2E nestjs-fastify Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json. Falling back
E2E nestjs-basic Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json. Falling back
E2E nestjs-with-submodules Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json. Falling back
E2E astro-4 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/astro-4/package.json. Falling back
E2E sveltekit-cloudflare-pages Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/package.json. Falling back
E2E webpack-4 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/webpack-4/package.json. Falling back
E2E solid-solidrouter Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/solid-solidrouter/package.json. Falling back
E2E solidstart-spa Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/solidstart-spa/package.json. Falling back
E2E angular-19 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/angular-19/package.json. Falling back
E2E nestjs-with-submodules-decorator Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json. Falling back
E2E nuxt-3 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nuxt-3/package.json. Falling back
E2E nuxt-3-top-level-import Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/package.json. Falling back
E2E nestjs-distributed-tracing Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json. Falling back
E2E nuxt-4 (canary) Test (optional)
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nuxt-4/package.json. Falling back
E2E sveltekit-2.5.0-twp Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/package.json. Falling back
E2E nestjs-11 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-11/package.json. Falling back
E2E solidstart-top-level-import Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/solidstart-top-level-import/package.json. Falling back
E2E nestjs-8 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-8/package.json. Falling back
E2E astro-5 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/astro-5/package.json. Falling back
E2E webpack-5 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/webpack-5/package.json. Falling back
E2E nestjs-graphql Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json. Falling back
E2E nuxt-3 (canary) Test (optional)
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nuxt-3/package.json. Falling back
E2E sveltekit-2 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json. Falling back
E2E nuxt-4 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nuxt-4/package.json. Falling back
E2E solid Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/solid/package.json. Falling back
E2E nuxt-3-dynamic-import Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/package.json. Falling back
E2E nuxt-3-min Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json. Falling back
E2E sveltekit-2-svelte-5 Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json. Falling back
E2E solidstart-dynamic-import Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/package.json. Falling back
E2E solidstart Test
Could not determine node version from /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/e2e-tests/test-applications/solidstart/package.json. Falling back

Artifacts

Produced during runtime
Name Size Digest
E2E Test Dump (nextjs-13 (canary)) Expired
74.2 KB
sha256:666750d86d7322f540276fb2dcaee98e9e083d5f37d01f8107c4e57fece44143
E2E Test Dump (nextjs-13 (latest)) Expired
80.4 KB
sha256:bf7445ad4502ad0c6d63a9d39334d3cb008c4ded33ded68d6c400b066c09a10e
E2E Test Dump (nextjs-13) Expired
90.1 KB
sha256:e137f2d0c1a39a0c50d6c93e48963ec1098d40b783c0615627bf218c5e9b362a
E2E Test Dump (nextjs-14 (canary)) Expired
39.5 KB
sha256:8533bd16a7ddc4a4443d8dfc36c0730505ca01446acd05b68be5ae2324541671
E2E Test Dump (nextjs-14 (latest)) Expired
35.2 KB
sha256:5674786add12a43aae9f90ed9ac4539ea41022675676a484ef4ce2dc0d3ced59
E2E Test Dump (nextjs-14) Expired
24.7 KB
sha256:22df38488b7a81dff5db29d266230ab59692763d4dbfadd4e233e6310676bc38
E2E Test Dump (nextjs-15 (canary)) Expired
41 KB
sha256:cdad90726eb67034ee8b2117c66bc933d142c07d5eac2af30e35803305a5328f
E2E Test Dump (nextjs-15 (latest)) Expired
81.5 KB
sha256:fc3bcf1c4e62484d5042d5a4609c938f6bdb0da66e04cbf8cbc1d4cd4cf0c553
E2E Test Dump (nextjs-15) Expired
71.6 KB
sha256:5681b878034fb55723f737433485d199b5552a65051119c196f2ae4981161c48
E2E Test Dump (nextjs-app-dir (canary)) Expired
168 KB
sha256:840f90dd182de0b9cf3a1a7fe4ad360d1292a63c434b67b1a2c245c96760923e
E2E Test Dump (nextjs-app-dir (latest)) Expired
164 KB
sha256:74c62c1a546557c852e775cefa40e924169456768f82255ff9f40b7858ed0b04
E2E Test Dump (nextjs-app-dir (next@13)) Expired
145 KB
sha256:59c3e0818dde6f6632f54fcc242373f681e320bba8a7e9a7525710efecbb09fa
E2E Test Dump (nextjs-app-dir) Expired
155 KB
sha256:7c337c486ea69e8b1f4233db48a4e8a642b67edc8de7a5041f3d603c820ea466
E2E Test Dump (nextjs-turbo (canary)) Expired
20.4 KB
sha256:e71a4f484d2522277f50fb0ae112d63d9539ab991aadeb102c03dbf0308dc031
E2E Test Dump (nextjs-turbo (latest)) Expired
19.6 KB
sha256:be4e6d312ce374e86dd2df84e629a21cbc6026e543ae937b1243e0e3669f8442
E2E Test Dump (nextjs-turbo) Expired
19.4 KB
sha256:7d27cefb616fec0470786a13e90d714a7b9d0700ec02a180411c8a5421d43a1a
build-output Expired
16.7 MB
sha256:23d91cef7fcc2afdccd4f313b58c5346299a8498c65304377803327480830fa7