@depup/sentry__server-utils 11.0.0-depup.0 → 11.1.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -9
- package/build/cjs/ai/anthropic-ai/index.js +10 -10
- package/build/cjs/ai/anthropic-ai/index.js.map +1 -1
- package/build/cjs/ai/google-genai/streaming.js +0 -8
- package/build/cjs/ai/google-genai/streaming.js.map +1 -1
- package/build/cjs/ai/typesafe/constants.js +10 -0
- package/build/cjs/ai/typesafe/constants.js.map +1 -0
- package/build/cjs/ai/typesafe/index.js +113 -0
- package/build/cjs/ai/typesafe/index.js.map +1 -0
- package/build/cjs/index.js +27 -18
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.no-diagnostic-channels.js +4 -2
- package/build/cjs/index.no-diagnostic-channels.js.map +1 -1
- package/build/cjs/integrations/amqplib.js +11 -24
- package/build/cjs/integrations/amqplib.js.map +1 -1
- package/build/cjs/integrations/anthropic.js +2 -15
- package/build/cjs/integrations/anthropic.js.map +1 -1
- package/build/cjs/integrations/aws-sdk/index.js +2 -15
- package/build/cjs/integrations/aws-sdk/index.js.map +1 -1
- package/build/cjs/integrations/dataloader.js +5 -18
- package/build/cjs/integrations/dataloader.js.map +1 -1
- package/build/cjs/integrations/express/index.js +2 -15
- package/build/cjs/integrations/express/index.js.map +1 -1
- package/build/cjs/integrations/fastify/errors.js +2 -15
- package/build/cjs/integrations/fastify/errors.js.map +1 -1
- package/build/cjs/integrations/fastify/instrumentation.js +2 -15
- package/build/cjs/integrations/fastify/instrumentation.js.map +1 -1
- package/build/cjs/integrations/firebase/instrumentation.js +3 -16
- package/build/cjs/integrations/firebase/instrumentation.js.map +1 -1
- package/build/cjs/integrations/generic-pool.js +2 -15
- package/build/cjs/integrations/generic-pool.js.map +1 -1
- package/build/cjs/integrations/google-genai.js +2 -15
- package/build/cjs/integrations/google-genai.js.map +1 -1
- package/build/cjs/integrations/graphql/index.js +6 -19
- package/build/cjs/integrations/graphql/index.js.map +1 -1
- package/build/cjs/integrations/hapi/index.js +5 -18
- package/build/cjs/integrations/hapi/index.js.map +1 -1
- package/build/cjs/integrations/index.js +5 -1
- package/build/cjs/integrations/index.js.map +1 -1
- package/build/cjs/integrations/kafkajs/index.js +3 -16
- package/build/cjs/integrations/kafkajs/index.js.map +1 -1
- package/build/cjs/integrations/knex.js +4 -17
- package/build/cjs/integrations/knex.js.map +1 -1
- package/build/cjs/integrations/koa/index.js +3 -16
- package/build/cjs/integrations/koa/index.js.map +1 -1
- package/build/cjs/integrations/langchain.js +3 -16
- package/build/cjs/integrations/langchain.js.map +1 -1
- package/build/cjs/integrations/langgraph.js +3 -16
- package/build/cjs/integrations/langgraph.js.map +1 -1
- package/build/cjs/integrations/lru-memoizer.js +2 -15
- package/build/cjs/integrations/lru-memoizer.js.map +1 -1
- package/build/cjs/integrations/mastra.js +4 -17
- package/build/cjs/integrations/mastra.js.map +1 -1
- package/build/cjs/integrations/mcp-server.js +37 -0
- package/build/cjs/integrations/mcp-server.js.map +1 -0
- package/build/cjs/integrations/mistral.js +2 -15
- package/build/cjs/integrations/mistral.js.map +1 -1
- package/build/cjs/integrations/mongodb/index.js +4 -17
- package/build/cjs/integrations/mongodb/index.js.map +1 -1
- package/build/cjs/integrations/mongoose/index.js +5 -18
- package/build/cjs/integrations/mongoose/index.js.map +1 -1
- package/build/cjs/integrations/mysql.js +2 -15
- package/build/cjs/integrations/mysql.js.map +1 -1
- package/build/cjs/integrations/mysql2/index.js +4 -17
- package/build/cjs/integrations/mysql2/index.js.map +1 -1
- package/build/cjs/integrations/openai-compatible.js +2 -15
- package/build/cjs/integrations/openai-compatible.js.map +1 -1
- package/build/cjs/integrations/openai.js +2 -15
- package/build/cjs/integrations/openai.js.map +1 -1
- package/build/cjs/integrations/postgres-js.js +5 -18
- package/build/cjs/integrations/postgres-js.js.map +1 -1
- package/build/cjs/integrations/postgres.js +2 -15
- package/build/cjs/integrations/postgres.js.map +1 -1
- package/build/cjs/integrations/prisma/index.js +9 -0
- package/build/cjs/integrations/prisma/index.js.map +1 -1
- package/build/cjs/integrations/prisma/orchestrion.js +140 -0
- package/build/cjs/integrations/prisma/orchestrion.js.map +1 -0
- package/build/cjs/integrations/prisma/tracing-helper.js +1 -0
- package/build/cjs/integrations/prisma/tracing-helper.js.map +1 -1
- package/build/cjs/integrations/redis/index.js +7 -20
- package/build/cjs/integrations/redis/index.js.map +1 -1
- package/build/cjs/integrations/redis/ioredis-channel-subscriber.js +3 -16
- package/build/cjs/integrations/redis/ioredis-channel-subscriber.js.map +1 -1
- package/build/cjs/integrations/tedious.js +3 -16
- package/build/cjs/integrations/tedious.js.map +1 -1
- package/build/cjs/integrations/typesafe.js +45 -0
- package/build/cjs/integrations/typesafe.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/index.js +4 -17
- package/build/cjs/integrations/vercel-ai/index.js.map +1 -1
- package/build/cjs/integrations/vercel-ai/vercel-ai-dc-subscriber.js +33 -2
- package/build/cjs/integrations/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -1
- package/build/cjs/orchestrion/channels.js +6 -0
- package/build/cjs/orchestrion/channels.js.map +1 -1
- package/build/cjs/orchestrion/config/amqplib.js +1 -1
- package/build/cjs/orchestrion/config/amqplib.js.map +1 -1
- package/build/cjs/orchestrion/config/channel-integration-definitions.js +3 -0
- package/build/cjs/orchestrion/config/channel-integration-definitions.js.map +1 -1
- package/build/cjs/orchestrion/config/index.js +6 -0
- package/build/cjs/orchestrion/config/index.js.map +1 -1
- package/build/cjs/orchestrion/config/mcp-server.js +41 -0
- package/build/cjs/orchestrion/config/mcp-server.js.map +1 -0
- package/build/cjs/orchestrion/config/prisma.js +53 -0
- package/build/cjs/orchestrion/config/prisma.js.map +1 -0
- package/build/cjs/orchestrion/config/tedious.js +1 -1
- package/build/cjs/orchestrion/config/tedious.js.map +1 -1
- package/build/cjs/orchestrion/config/typesafe.js +18 -0
- package/build/cjs/orchestrion/config/typesafe.js.map +1 -0
- package/build/cjs/orchestrion/instrumentation.js +2 -15
- package/build/cjs/orchestrion/instrumentation.js.map +1 -1
- package/build/cjs/utils/diagnosticsChannel.js +47 -0
- package/build/cjs/utils/diagnosticsChannel.js.map +1 -0
- package/build/esm/ai/anthropic-ai/index.js +4 -4
- package/build/esm/ai/anthropic-ai/utils.js +1 -1
- package/build/esm/ai/core/utils.js +1 -1
- package/build/esm/ai/google-genai/streaming.js +0 -8
- package/build/esm/ai/google-genai/streaming.js.map +1 -1
- package/build/esm/ai/typesafe/constants.js +6 -0
- package/build/esm/ai/typesafe/constants.js.map +1 -0
- package/build/esm/ai/typesafe/index.js +108 -0
- package/build/esm/ai/typesafe/index.js.map +1 -0
- package/build/esm/index.js +4 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/index.no-diagnostic-channels.js +1 -0
- package/build/esm/index.no-diagnostic-channels.js.map +1 -1
- package/build/esm/integrations/amqplib.js +13 -13
- package/build/esm/integrations/amqplib.js.map +1 -1
- package/build/esm/integrations/anthropic.js +2 -2
- package/build/esm/integrations/anthropic.js.map +1 -1
- package/build/esm/integrations/aws-sdk/index.js +2 -2
- package/build/esm/integrations/aws-sdk/index.js.map +1 -1
- package/build/esm/integrations/dataloader.js +5 -5
- package/build/esm/integrations/dataloader.js.map +1 -1
- package/build/esm/integrations/express/index.js +2 -2
- package/build/esm/integrations/express/index.js.map +1 -1
- package/build/esm/integrations/fastify/errors.js +2 -2
- package/build/esm/integrations/fastify/errors.js.map +1 -1
- package/build/esm/integrations/fastify/instrumentation.js +2 -2
- package/build/esm/integrations/fastify/instrumentation.js.map +1 -1
- package/build/esm/integrations/firebase/instrumentation.js +3 -3
- package/build/esm/integrations/firebase/instrumentation.js.map +1 -1
- package/build/esm/integrations/generic-pool.js +2 -2
- package/build/esm/integrations/generic-pool.js.map +1 -1
- package/build/esm/integrations/google-genai.js +2 -2
- package/build/esm/integrations/google-genai.js.map +1 -1
- package/build/esm/integrations/graphql/index.js +6 -6
- package/build/esm/integrations/graphql/index.js.map +1 -1
- package/build/esm/integrations/hapi/index.js +5 -5
- package/build/esm/integrations/hapi/index.js.map +1 -1
- package/build/esm/integrations/index.js +5 -1
- package/build/esm/integrations/index.js.map +1 -1
- package/build/esm/integrations/kafkajs/index.js +3 -3
- package/build/esm/integrations/kafkajs/index.js.map +1 -1
- package/build/esm/integrations/knex.js +4 -4
- package/build/esm/integrations/knex.js.map +1 -1
- package/build/esm/integrations/koa/index.js +3 -3
- package/build/esm/integrations/koa/index.js.map +1 -1
- package/build/esm/integrations/langchain.js +3 -3
- package/build/esm/integrations/langchain.js.map +1 -1
- package/build/esm/integrations/langgraph.js +3 -3
- package/build/esm/integrations/langgraph.js.map +1 -1
- package/build/esm/integrations/lru-memoizer.js +2 -2
- package/build/esm/integrations/lru-memoizer.js.map +1 -1
- package/build/esm/integrations/mastra.js +4 -4
- package/build/esm/integrations/mastra.js.map +1 -1
- package/build/esm/integrations/mcp-server.js +35 -0
- package/build/esm/integrations/mcp-server.js.map +1 -0
- package/build/esm/integrations/mistral.js +2 -2
- package/build/esm/integrations/mistral.js.map +1 -1
- package/build/esm/integrations/mongodb/index.js +4 -4
- package/build/esm/integrations/mongodb/index.js.map +1 -1
- package/build/esm/integrations/mongoose/index.js +5 -5
- package/build/esm/integrations/mongoose/index.js.map +1 -1
- package/build/esm/integrations/mysql.js +2 -2
- package/build/esm/integrations/mysql.js.map +1 -1
- package/build/esm/integrations/mysql2/index.js +4 -4
- package/build/esm/integrations/mysql2/index.js.map +1 -1
- package/build/esm/integrations/openai-compatible.js +2 -2
- package/build/esm/integrations/openai-compatible.js.map +1 -1
- package/build/esm/integrations/openai.js +2 -2
- package/build/esm/integrations/openai.js.map +1 -1
- package/build/esm/integrations/postgres-js.js +5 -5
- package/build/esm/integrations/postgres-js.js.map +1 -1
- package/build/esm/integrations/postgres.js +2 -2
- package/build/esm/integrations/postgres.js.map +1 -1
- package/build/esm/integrations/prisma/index.js +9 -0
- package/build/esm/integrations/prisma/index.js.map +1 -1
- package/build/esm/integrations/prisma/orchestrion.js +138 -0
- package/build/esm/integrations/prisma/orchestrion.js.map +1 -0
- package/build/esm/integrations/prisma/tracing-helper.js +1 -1
- package/build/esm/integrations/prisma/tracing-helper.js.map +1 -1
- package/build/esm/integrations/redis/index.js +7 -7
- package/build/esm/integrations/redis/index.js.map +1 -1
- package/build/esm/integrations/redis/ioredis-channel-subscriber.js +3 -3
- package/build/esm/integrations/redis/ioredis-channel-subscriber.js.map +1 -1
- package/build/esm/integrations/tedious.js +3 -3
- package/build/esm/integrations/tedious.js.map +1 -1
- package/build/esm/integrations/typesafe.js +43 -0
- package/build/esm/integrations/typesafe.js.map +1 -0
- package/build/esm/integrations/vercel-ai/index.js +4 -4
- package/build/esm/integrations/vercel-ai/index.js.map +1 -1
- package/build/esm/integrations/vercel-ai/vercel-ai-dc-subscriber.js +34 -3
- package/build/esm/integrations/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -1
- package/build/esm/orchestrion/channels.js +6 -0
- package/build/esm/orchestrion/channels.js.map +1 -1
- package/build/esm/orchestrion/config/amqplib.js +1 -1
- package/build/esm/orchestrion/config/amqplib.js.map +1 -1
- package/build/esm/orchestrion/config/channel-integration-definitions.js +3 -0
- package/build/esm/orchestrion/config/channel-integration-definitions.js.map +1 -1
- package/build/esm/orchestrion/config/index.js +6 -0
- package/build/esm/orchestrion/config/index.js.map +1 -1
- package/build/esm/orchestrion/config/mcp-server.js +37 -0
- package/build/esm/orchestrion/config/mcp-server.js.map +1 -0
- package/build/esm/orchestrion/config/prisma.js +47 -0
- package/build/esm/orchestrion/config/prisma.js.map +1 -0
- package/build/esm/orchestrion/config/tedious.js +1 -1
- package/build/esm/orchestrion/config/tedious.js.map +1 -1
- package/build/esm/orchestrion/config/typesafe.js +14 -0
- package/build/esm/orchestrion/config/typesafe.js.map +1 -0
- package/build/esm/orchestrion/instrumentation.js +2 -2
- package/build/esm/orchestrion/instrumentation.js.map +1 -1
- package/build/esm/package.json +1 -1
- package/build/esm/utils/diagnosticsChannel.js +30 -0
- package/build/esm/utils/diagnosticsChannel.js.map +1 -0
- package/build/types/ai/google-genai/streaming.d.ts.map +1 -1
- package/build/types/ai/index.d.ts +1 -0
- package/build/types/ai/index.d.ts.map +1 -1
- package/build/types/ai/typesafe/constants.d.ts +4 -0
- package/build/types/ai/typesafe/constants.d.ts.map +1 -0
- package/build/types/ai/typesafe/index.d.ts +21 -0
- package/build/types/ai/typesafe/index.d.ts.map +1 -0
- package/build/types/index.d.ts +3 -0
- package/build/types/index.d.ts.map +1 -1
- package/build/types/integrations/index.d.ts.map +1 -1
- package/build/types/integrations/mcp-server.d.ts +10 -0
- package/build/types/integrations/mcp-server.d.ts.map +1 -0
- package/build/types/integrations/prisma/index.d.ts +3 -1
- package/build/types/integrations/prisma/index.d.ts.map +1 -1
- package/build/types/integrations/prisma/orchestrion.d.ts +10 -0
- package/build/types/integrations/prisma/orchestrion.d.ts.map +1 -0
- package/build/types/integrations/prisma/tracing-helper.d.ts +2 -0
- package/build/types/integrations/prisma/tracing-helper.d.ts.map +1 -1
- package/build/types/integrations/typesafe.d.ts +10 -0
- package/build/types/integrations/typesafe.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/vercel-ai-dc-subscriber.d.ts +1 -1
- package/build/types/integrations/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +1 -1
- package/build/types/orchestrion/channels.d.ts +16 -0
- package/build/types/orchestrion/channels.d.ts.map +1 -1
- package/build/types/orchestrion/config/amqplib.d.ts +4 -4
- package/build/types/orchestrion/config/channel-integration-definitions.d.ts +9 -0
- package/build/types/orchestrion/config/channel-integration-definitions.d.ts.map +1 -1
- package/build/types/orchestrion/config/index.d.ts.map +1 -1
- package/build/types/orchestrion/config/mcp-server.d.ts +8 -0
- package/build/types/orchestrion/config/mcp-server.d.ts.map +1 -0
- package/build/types/orchestrion/config/mongodb.d.ts +2 -2
- package/build/types/orchestrion/config/pg.d.ts +1 -1
- package/build/types/orchestrion/config/prisma.d.ts +21 -0
- package/build/types/orchestrion/config/prisma.d.ts.map +1 -0
- package/build/types/orchestrion/config/typesafe.d.ts +18 -0
- package/build/types/orchestrion/config/typesafe.d.ts.map +1 -0
- package/build/types/utils/diagnosticsChannel.d.ts +12 -0
- package/build/types/utils/diagnosticsChannel.d.ts.map +1 -0
- package/changes.json +3 -8
- package/package.json +6 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typesafe.js","sources":["../../../src/integrations/typesafe.ts"],"sourcesContent":["import * as diagnosticsChannel from '../utils/diagnosticsChannel';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport type { GenAiOptions } from '../ai/core/utils';\nimport { resolveAIRecordingOptions } from '../ai/core/utils';\nimport { addResponseAttributes, onSystemOneResponse, startEvaluateSpan } from '../ai/typesafe';\nimport { TYPESAFE_INTEGRATION_NAME } from '../ai/typesafe/constants';\nimport { CHANNELS } from '../orchestrion/channels';\nimport { typesafeModuleNames } from '../orchestrion/config/typesafe';\nimport { invokeOrchestrionInstrumentation } from '../orchestrion/instrumentation';\nimport { bindTracingChannelToSpan } from '../tracing-channel';\n\n/**\n * The context orchestrion shares across the tracing-channel lifecycle hooks: `arguments` is the live\n * args array passed to `systemOne(request, options)`, `self` the `TypeSafeClient`, and `result` the\n * returned `APIPromise` (replaced by the parsed response body once it arrives). `Sync` tracing keeps\n * orchestrion from calling `.then()` on it, see `orchestrion/config/typesafe.ts`.\n */\ninterface TypeSafeChannelContext {\n arguments: unknown[];\n self?: unknown;\n result?: unknown;\n}\n\nconst _typesafeIntegration = ((options: GenAiOptions = {}) => {\n return {\n name: TYPESAFE_INTEGRATION_NAME,\n setup(client) {\n invokeOrchestrionInstrumentation(client, typesafeModuleNames, instrumentTypeSafe, [options]);\n },\n };\n}) satisfies IntegrationFn;\n\nfunction instrumentTypeSafe(options: GenAiOptions): void {\n bindTracingChannelToSpan(\n diagnosticsChannel.tracingChannel<TypeSafeChannelContext>(CHANNELS.TYPESAFE_SYSTEM_ONE),\n data => startEvaluateSpan(data.arguments?.[0], data.self, resolveAIRecordingOptions(options).recordInputs),\n {\n beforeSpanEnd: (span, data) => {\n if (!('error' in data)) {\n addResponseAttributes(span, data.result, resolveAIRecordingOptions(options).recordOutputs);\n }\n },\n deferSpanEnd: ({ data, end }) =>\n onSystemOneResponse(\n data.result,\n body => {\n data.result = body;\n end();\n },\n error => end(error),\n ),\n },\n );\n}\n\n/**\n * Diagnostics-channel-based integration for the TypeSafe SDK (`@typesafe-ai/sdk` >= 0.5.0 < 1).\n * Subscribes to the `orchestrion:@typesafe-ai/sdk:system-one` channel injected into\n * `TypeSafeClient.systemOne`, so it requires the Sentry runtime hook or bundler plugin.\n */\nexport const typesafeIntegration = defineIntegration(_typesafeIntegration);\n"],"names":["TYPESAFE_INTEGRATION_NAME","invokeOrchestrionInstrumentation","typesafeModuleNames","bindTracingChannelToSpan","diagnosticsChannel.tracingChannel","CHANNELS","startEvaluateSpan","resolveAIRecordingOptions","addResponseAttributes","onSystemOneResponse","defineIntegration"],"mappings":"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"}
|
|
@@ -2,33 +2,20 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
|
|
3
3
|
const core = require('@sentry/core');
|
|
4
4
|
const vercelAiDcSubscriber = require('./vercel-ai-dc-subscriber.js');
|
|
5
|
-
const diagnosticsChannel = require('
|
|
5
|
+
const diagnosticsChannel = require('../../utils/diagnosticsChannel.js');
|
|
6
6
|
const instrumentation = require('../../orchestrion/instrumentation.js');
|
|
7
7
|
const vercelAi = require('../../orchestrion/config/vercel-ai.js');
|
|
8
8
|
const vercelAiOrchestrionSubscriber = require('./vercel-ai-orchestrion-subscriber.js');
|
|
9
9
|
|
|
10
|
-
function _interopNamespaceDefault(e) {
|
|
11
|
-
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
|
|
12
|
-
if (e) {
|
|
13
|
-
for (const k in e) {
|
|
14
|
-
n[k] = e[k];
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
n.default = e;
|
|
18
|
-
return n;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const diagnosticsChannel__namespace = /*#__PURE__*/_interopNamespaceDefault(diagnosticsChannel);
|
|
22
|
-
|
|
23
10
|
const _vercelAIIntegration = ((options = {}) => {
|
|
24
11
|
return {
|
|
25
12
|
name: "VercelAI",
|
|
26
13
|
setupOnce() {
|
|
27
|
-
if (!
|
|
14
|
+
if (!diagnosticsChannel.tracingChannel) {
|
|
28
15
|
return;
|
|
29
16
|
}
|
|
30
17
|
core.waitForTracingChannelBinding(() => {
|
|
31
|
-
vercelAiDcSubscriber.subscribeVercelAiTracingChannel(
|
|
18
|
+
vercelAiDcSubscriber.subscribeVercelAiTracingChannel(diagnosticsChannel.tracingChannel, options);
|
|
32
19
|
});
|
|
33
20
|
},
|
|
34
21
|
setup(client) {
|
|
@@ -38,7 +25,7 @@ const _vercelAIIntegration = ((options = {}) => {
|
|
|
38
25
|
});
|
|
39
26
|
const vercelAIIntegration = core.defineIntegration(_vercelAIIntegration);
|
|
40
27
|
function instrumentVercelAiOrchestrion(options) {
|
|
41
|
-
vercelAiOrchestrionSubscriber.subscribeVercelAiOrchestrionChannels(
|
|
28
|
+
vercelAiOrchestrionSubscriber.subscribeVercelAiOrchestrionChannels(diagnosticsChannel.tracingChannel, options);
|
|
42
29
|
}
|
|
43
30
|
|
|
44
31
|
exports.vercelAIIntegration = vercelAIIntegration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/integrations/vercel-ai/index.ts"],"sourcesContent":["import { defineIntegration, waitForTracingChannelBinding, type IntegrationFn } from '@sentry/core';\nimport type { GenAiOptions } from '../../ai/core/utils';\nimport { subscribeVercelAiTracingChannel } from './vercel-ai-dc-subscriber';\nimport * as dc from '
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/integrations/vercel-ai/index.ts"],"sourcesContent":["import { defineIntegration, waitForTracingChannelBinding, type IntegrationFn } from '@sentry/core';\nimport type { GenAiOptions } from '../../ai/core/utils';\nimport { subscribeVercelAiTracingChannel } from './vercel-ai-dc-subscriber';\nimport * as dc from '../../utils/diagnosticsChannel';\nimport { invokeOrchestrionInstrumentation } from '../../orchestrion/instrumentation';\nimport { vercelAiModuleNames } from '../../orchestrion/config/vercel-ai';\nimport { subscribeVercelAiOrchestrionChannels } from './vercel-ai-orchestrion-subscriber';\n\n/** Options for the Vercel AI integration. */\nexport type VercelAiOptions = GenAiOptions;\n\nconst _vercelAIIntegration = ((options: VercelAiOptions = {}) => {\n return {\n name: 'VercelAI' as const,\n setupOnce() {\n // Bail if this is not available\n if (!dc.tracingChannel) {\n return;\n }\n\n // Subscribe to the `ai` SDK's native telemetry tracing channel (ai >= 7).\n // This is a no-op on versions that don't publish to the channel, so it is always safe to call.\n waitForTracingChannelBinding(() => {\n subscribeVercelAiTracingChannel(dc.tracingChannel, options);\n });\n },\n setup(client) {\n invokeOrchestrionInstrumentation(client, vercelAiModuleNames, instrumentVercelAiOrchestrion, [options]);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Auto-instrument the `ai` SDK. Supported are:\n * - v7 via native `ai:telemetry` tracing channel\n * - v4, v5 & v6 via the injected `orchestrion:ai:*` channels\n */\nexport const vercelAIIntegration = defineIntegration(_vercelAIIntegration);\n\nfunction instrumentVercelAiOrchestrion(options: VercelAiOptions): void {\n subscribeVercelAiOrchestrionChannels(dc.tracingChannel, options);\n}\n"],"names":["dc.tracingChannel","waitForTracingChannelBinding","subscribeVercelAiTracingChannel","invokeOrchestrionInstrumentation","vercelAiModuleNames","defineIntegration","subscribeVercelAiOrchestrionChannels"],"mappings":"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"}
|
|
@@ -13,9 +13,11 @@ const utils = require('../../ai/core/utils.js');
|
|
|
13
13
|
|
|
14
14
|
const AI_SDK_TELEMETRY_TRACING_CHANNEL = "ai:telemetry";
|
|
15
15
|
const ORIGIN = "auto.vercelai.channel";
|
|
16
|
+
const GEN_AI_EVALUATE = "gen_ai.evaluate";
|
|
16
17
|
const GEN_AI_OPERATION_SPAN_OPS = {
|
|
17
18
|
embeddings: op.GEN_AI_EMBEDDINGS,
|
|
18
19
|
rerank: op.GEN_AI_RERANK,
|
|
20
|
+
evaluate: GEN_AI_EVALUATE,
|
|
19
21
|
invoke_agent: op.GEN_AI_INVOKE_AGENT,
|
|
20
22
|
execute_tool: op.GEN_AI_EXECUTE_TOOL,
|
|
21
23
|
// The model-call op matches the Vercel AI OTel integration (`gen_ai.generate_content`) rather than
|
|
@@ -224,6 +226,15 @@ function createSpanFromMessage(data, channelOptions) {
|
|
|
224
226
|
}
|
|
225
227
|
case "rerank":
|
|
226
228
|
return startGenAiSpan("rerank", modelId, baseAttributes);
|
|
229
|
+
case "experimental_evaluate":
|
|
230
|
+
return startGenAiSpan("evaluate", modelId, {
|
|
231
|
+
...baseAttributes,
|
|
232
|
+
...recordInputs ? {
|
|
233
|
+
[attributes.GEN_AI_INPUT_MESSAGES]: core.stringify([
|
|
234
|
+
{ type: "evaluation", state: event.state, questions: event.questions }
|
|
235
|
+
])
|
|
236
|
+
} : {}
|
|
237
|
+
});
|
|
227
238
|
default:
|
|
228
239
|
return void 0;
|
|
229
240
|
}
|
|
@@ -333,13 +344,33 @@ function enrichSpanOnEnd(span, data, channelOptions) {
|
|
|
333
344
|
dropLastStepOnlyUsage(providerAttributes, type);
|
|
334
345
|
span.setAttributes(providerAttributes);
|
|
335
346
|
if (recordOutputs) {
|
|
336
|
-
const
|
|
337
|
-
const outputMessages = buildOutputMessages(parts, finishReason);
|
|
347
|
+
const outputMessages = getOutputMessages(type, result, finishReason);
|
|
338
348
|
if (outputMessages) {
|
|
339
349
|
span.setAttribute(attributes.GEN_AI_OUTPUT_MESSAGES, outputMessages);
|
|
340
350
|
}
|
|
341
351
|
}
|
|
342
352
|
}
|
|
353
|
+
function getOutputMessages(type, result, finishReason) {
|
|
354
|
+
if (type === "experimental_evaluate") {
|
|
355
|
+
return core.stringify([{ type: "evaluation", answers: withProviderConfidence(result) }]);
|
|
356
|
+
}
|
|
357
|
+
const parts = type === "languageModelCall" && Array.isArray(result.content) ? partsFromContent(result.content) : partsFromTextAndToolCalls(result.text, result.toolCalls);
|
|
358
|
+
return buildOutputMessages(parts, finishReason);
|
|
359
|
+
}
|
|
360
|
+
function withProviderConfidence(result) {
|
|
361
|
+
const { answers, providerMetadata } = result;
|
|
362
|
+
const typesafe = core.isObjectLike(providerMetadata) ? providerMetadata.typesafe : void 0;
|
|
363
|
+
const confidence = core.isObjectLike(typesafe) && core.isObjectLike(typesafe.confidence) ? typesafe.confidence : void 0;
|
|
364
|
+
if (!confidence || !core.isObjectLike(answers)) {
|
|
365
|
+
return answers;
|
|
366
|
+
}
|
|
367
|
+
return Object.fromEntries(
|
|
368
|
+
Object.entries(answers).map(([id, answer]) => [
|
|
369
|
+
id,
|
|
370
|
+
core.isObjectLike(answer) && typeof confidence[id] === "number" && answer.confidence === void 0 ? { ...answer, confidence: confidence[id] } : answer
|
|
371
|
+
])
|
|
372
|
+
);
|
|
373
|
+
}
|
|
343
374
|
function normalizeFinishReason(finishReason) {
|
|
344
375
|
return finishReason === "tool-calls" ? "tool_call" : finishReason ?? "stop";
|
|
345
376
|
}
|