@depup/sentry__server-utils 10.75.1-depup.0 → 11.0.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 +4 -4
- package/build/THIRD-PARTY-LICENSES.txt +35 -362
- package/build/cjs/ai/anthropic-ai/constants.js +13 -0
- package/build/cjs/ai/anthropic-ai/constants.js.map +1 -0
- package/build/cjs/ai/anthropic-ai/index.js +216 -0
- package/build/cjs/ai/anthropic-ai/index.js.map +1 -0
- package/build/cjs/ai/anthropic-ai/streaming.js +148 -0
- package/build/cjs/ai/anthropic-ai/streaming.js.map +1 -0
- package/build/cjs/ai/anthropic-ai/utils.js +62 -0
- package/build/cjs/ai/anthropic-ai/utils.js.map +1 -0
- package/build/cjs/ai/core/gen-ai-attributes.js +14 -0
- package/build/cjs/ai/core/gen-ai-attributes.js.map +1 -0
- package/build/cjs/ai/core/utils.js +165 -0
- package/build/cjs/ai/core/utils.js.map +1 -0
- package/build/cjs/ai/flue/constants.js +20 -0
- package/build/cjs/ai/flue/constants.js.map +1 -0
- package/build/cjs/ai/flue/index.js +115 -0
- package/build/cjs/ai/flue/index.js.map +1 -0
- package/build/cjs/ai/flue/utils.js +202 -0
- package/build/cjs/ai/flue/utils.js.map +1 -0
- package/build/cjs/ai/google-genai/constants.js +17 -0
- package/build/cjs/ai/google-genai/constants.js.map +1 -0
- package/build/cjs/ai/google-genai/index.js +262 -0
- package/build/cjs/ai/google-genai/index.js.map +1 -0
- package/build/cjs/ai/google-genai/streaming.js +79 -0
- package/build/cjs/ai/google-genai/streaming.js.map +1 -0
- package/build/cjs/ai/google-genai/utils.js +131 -0
- package/build/cjs/ai/google-genai/utils.js.map +1 -0
- package/build/cjs/ai/langchain/constants.js +17 -0
- package/build/cjs/ai/langchain/constants.js.map +1 -0
- package/build/cjs/ai/langchain/embeddings.js +82 -0
- package/build/cjs/ai/langchain/embeddings.js.map +1 -0
- package/build/cjs/ai/langchain/index.js +246 -0
- package/build/cjs/ai/langchain/index.js.map +1 -0
- package/build/cjs/ai/langchain/utils.js +272 -0
- package/build/cjs/ai/langchain/utils.js.map +1 -0
- package/build/cjs/ai/langgraph/constants.js +8 -0
- package/build/cjs/ai/langgraph/constants.js.map +1 -0
- package/build/cjs/ai/langgraph/index.js +170 -0
- package/build/cjs/ai/langgraph/index.js.map +1 -0
- package/build/cjs/ai/langgraph/utils.js +225 -0
- package/build/cjs/ai/langgraph/utils.js.map +1 -0
- package/build/cjs/ai/mastra/constants.js +40 -0
- package/build/cjs/ai/mastra/constants.js.map +1 -0
- package/build/cjs/ai/mastra/index.js +176 -0
- package/build/cjs/ai/mastra/index.js.map +1 -0
- package/build/cjs/ai/mastra/span-registry.js +20 -0
- package/build/cjs/ai/mastra/span-registry.js.map +1 -0
- package/build/cjs/ai/mastra/utils.js +159 -0
- package/build/cjs/ai/mastra/utils.js.map +1 -0
- package/build/cjs/ai/mistral/constants.js +20 -0
- package/build/cjs/ai/mistral/constants.js.map +1 -0
- package/build/cjs/ai/mistral/index.js +130 -0
- package/build/cjs/ai/mistral/index.js.map +1 -0
- package/build/cjs/ai/mistral/streaming.js +208 -0
- package/build/cjs/ai/mistral/streaming.js.map +1 -0
- package/build/cjs/ai/mistral/utils.js +87 -0
- package/build/cjs/ai/mistral/utils.js.map +1 -0
- package/build/cjs/ai/openai/constants.js +33 -0
- package/build/cjs/ai/openai/constants.js.map +1 -0
- package/build/cjs/ai/openai/index.js +156 -0
- package/build/cjs/ai/openai/index.js.map +1 -0
- package/build/cjs/ai/openai/streaming.js +126 -0
- package/build/cjs/ai/openai/streaming.js.map +1 -0
- package/build/cjs/ai/openai/utils.js +111 -0
- package/build/cjs/ai/openai/utils.js.map +1 -0
- package/build/cjs/ai/vercel-ai/index.js +71 -0
- package/build/cjs/ai/vercel-ai/index.js.map +1 -0
- package/build/cjs/ai/workers-ai/constants.js +10 -0
- package/build/cjs/ai/workers-ai/constants.js.map +1 -0
- package/build/cjs/ai/workers-ai/index.js +85 -0
- package/build/cjs/ai/workers-ai/index.js.map +1 -0
- package/build/cjs/ai/workers-ai/streaming.js +149 -0
- package/build/cjs/ai/workers-ai/streaming.js.map +1 -0
- package/build/cjs/ai/workers-ai/utils.js +113 -0
- package/build/cjs/ai/workers-ai/utils.js.map +1 -0
- package/build/cjs/async-context.js +68 -0
- package/build/cjs/async-context.js.map +1 -0
- package/build/cjs/eve.js +30 -0
- package/build/cjs/eve.js.map +1 -0
- package/build/cjs/index.js +122 -27
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.no-diagnostic-channels.js +41 -0
- package/build/cjs/index.no-diagnostic-channels.js.map +1 -0
- package/build/cjs/integrations/amqplib.js +402 -0
- package/build/cjs/integrations/amqplib.js.map +1 -0
- package/build/cjs/integrations/anthropic.js +113 -0
- package/build/cjs/integrations/anthropic.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/constants.js +16 -0
- package/build/cjs/integrations/aws-sdk/constants.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/index.js +154 -0
- package/build/cjs/integrations/aws-sdk/index.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/MessageAttributes.js +46 -0
- package/build/cjs/integrations/aws-sdk/services/MessageAttributes.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/ServicesExtensions.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/bedrock-runtime.js +424 -0
- package/build/cjs/integrations/aws-sdk/services/bedrock-runtime.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/dynamodb.js +130 -0
- package/build/cjs/integrations/aws-sdk/services/dynamodb.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/kinesis.js +19 -0
- package/build/cjs/integrations/aws-sdk/services/kinesis.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/lambda.js +63 -0
- package/build/cjs/integrations/aws-sdk/services/lambda.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/s3.js +19 -0
- package/build/cjs/integrations/aws-sdk/services/s3.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/secretsmanager.js +25 -0
- package/build/cjs/integrations/aws-sdk/services/secretsmanager.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/sns.js +79 -0
- package/build/cjs/integrations/aws-sdk/services/sns.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/sqs.js +135 -0
- package/build/cjs/integrations/aws-sdk/services/sqs.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/stepfunctions.js +23 -0
- package/build/cjs/integrations/aws-sdk/services/stepfunctions.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/utils.js.map +1 -0
- package/build/cjs/integrations/dataloader.js +134 -0
- package/build/cjs/integrations/dataloader.js.map +1 -0
- package/build/cjs/integrations/express/error-handled.js +17 -0
- package/build/cjs/integrations/express/error-handled.js.map +1 -0
- package/build/cjs/integrations/express/error-handler.js +43 -0
- package/build/cjs/integrations/express/error-handler.js.map +1 -0
- package/build/cjs/integrations/express/index.js +37 -0
- package/build/cjs/integrations/express/index.js.map +1 -0
- package/build/cjs/integrations/express/instrumentation.js +200 -0
- package/build/cjs/integrations/express/instrumentation.js.map +1 -0
- package/build/cjs/integrations/express/route.js.map +1 -0
- package/build/cjs/integrations/express/utils.js +12 -0
- package/build/cjs/integrations/express/utils.js.map +1 -0
- package/build/cjs/integrations/fastify/errors.js +49 -0
- package/build/cjs/integrations/fastify/errors.js.map +1 -0
- package/build/cjs/integrations/fastify/index.js +28 -0
- package/build/cjs/integrations/fastify/index.js.map +1 -0
- package/build/cjs/integrations/fastify/instrumentation.js +265 -0
- package/build/cjs/integrations/fastify/instrumentation.js.map +1 -0
- package/build/cjs/integrations/fastify/utils.js.map +1 -0
- package/build/cjs/integrations/firebase/firestore.js +92 -0
- package/build/cjs/integrations/firebase/firestore.js.map +1 -0
- package/build/cjs/integrations/firebase/functions.js +79 -0
- package/build/cjs/integrations/firebase/functions.js.map +1 -0
- package/build/cjs/integrations/firebase/index.js +20 -0
- package/build/cjs/integrations/firebase/index.js.map +1 -0
- package/build/cjs/integrations/firebase/instrumentation.js +69 -0
- package/build/cjs/integrations/firebase/instrumentation.js.map +1 -0
- package/build/cjs/integrations/flue.js +40 -0
- package/build/cjs/integrations/flue.js.map +1 -0
- package/build/cjs/integrations/generic-pool.js +49 -0
- package/build/cjs/integrations/generic-pool.js.map +1 -0
- package/build/cjs/integrations/google-genai.js +112 -0
- package/build/cjs/integrations/google-genai.js.map +1 -0
- package/build/cjs/integrations/graphql/constants.js +38 -0
- package/build/cjs/integrations/graphql/constants.js.map +1 -0
- package/build/cjs/integrations/graphql/graphql-dc-subscriber.js +122 -0
- package/build/cjs/integrations/graphql/graphql-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/graphql/index.js +73 -0
- package/build/cjs/integrations/graphql/index.js.map +1 -0
- package/build/cjs/integrations/graphql/resolvers.js +174 -0
- package/build/cjs/integrations/graphql/resolvers.js.map +1 -0
- package/build/cjs/integrations/graphql/spans.js +114 -0
- package/build/cjs/integrations/graphql/spans.js.map +1 -0
- package/build/cjs/integrations/graphql/utils.js +98 -0
- package/build/cjs/integrations/graphql/utils.js.map +1 -0
- package/build/cjs/integrations/groq.js +21 -0
- package/build/cjs/integrations/groq.js.map +1 -0
- package/build/cjs/integrations/hapi/hapi-error-handler.js +46 -0
- package/build/cjs/integrations/hapi/hapi-error-handler.js.map +1 -0
- package/build/cjs/integrations/hapi/hapi-types.js.map +1 -0
- package/build/cjs/integrations/hapi/hapi-utils.js +197 -0
- package/build/cjs/integrations/hapi/hapi-utils.js.map +1 -0
- package/build/cjs/integrations/hapi/index.js +86 -0
- package/build/cjs/integrations/hapi/index.js.map +1 -0
- package/build/cjs/integrations/index.js +76 -0
- package/build/cjs/integrations/index.js.map +1 -0
- package/build/cjs/integrations/kafkajs/consumer.js.map +1 -0
- package/build/cjs/integrations/kafkajs/index.js +83 -0
- package/build/cjs/integrations/kafkajs/index.js.map +1 -0
- package/build/cjs/integrations/kafkajs/semconv.js.map +1 -0
- package/build/cjs/integrations/kafkajs/spans.js +127 -0
- package/build/cjs/integrations/kafkajs/spans.js.map +1 -0
- package/build/cjs/integrations/knex.js +230 -0
- package/build/cjs/integrations/knex.js.map +1 -0
- package/build/cjs/integrations/koa/index.js +168 -0
- package/build/cjs/integrations/koa/index.js.map +1 -0
- package/build/cjs/integrations/koa/koa-error-handler.js +33 -0
- package/build/cjs/integrations/koa/koa-error-handler.js.map +1 -0
- package/build/cjs/integrations/langchain.js +90 -0
- package/build/cjs/integrations/langchain.js.map +1 -0
- package/build/cjs/integrations/langgraph.js +100 -0
- package/build/cjs/integrations/langgraph.js.map +1 -0
- package/build/cjs/integrations/lru-memoizer.js +42 -0
- package/build/cjs/integrations/lru-memoizer.js.map +1 -0
- package/build/cjs/integrations/mastra.js +258 -0
- package/build/cjs/integrations/mastra.js.map +1 -0
- package/build/cjs/integrations/mistral.js +81 -0
- package/build/cjs/integrations/mistral.js.map +1 -0
- package/build/cjs/integrations/mongodb/index.js +117 -0
- package/build/cjs/integrations/mongodb/index.js.map +1 -0
- package/build/cjs/integrations/mongodb/mongodb-span.js +134 -0
- package/build/cjs/integrations/mongodb/mongodb-span.js.map +1 -0
- package/build/cjs/integrations/mongoose/index.js +122 -0
- package/build/cjs/integrations/mongoose/index.js.map +1 -0
- package/build/cjs/integrations/mongoose/mongoose-dc-subscriber.js +101 -0
- package/build/cjs/integrations/mongoose/mongoose-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/mongoose/mongoose-legacy-span.js +41 -0
- package/build/cjs/integrations/mongoose/mongoose-legacy-span.js.map +1 -0
- package/build/cjs/integrations/mysql.js +120 -0
- package/build/cjs/integrations/mysql.js.map +1 -0
- package/build/cjs/integrations/mysql2/index.js +104 -0
- package/build/cjs/integrations/mysql2/index.js.map +1 -0
- package/build/cjs/integrations/mysql2/mysql2-dc-subscriber.js +73 -0
- package/build/cjs/integrations/mysql2/mysql2-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/openai-compatible.js +94 -0
- package/build/cjs/integrations/openai-compatible.js.map +1 -0
- package/build/cjs/integrations/openai.js +95 -0
- package/build/cjs/integrations/openai.js.map +1 -0
- package/build/cjs/integrations/postgres-js.js +213 -0
- package/build/cjs/integrations/postgres-js.js.map +1 -0
- package/build/cjs/integrations/postgres.js +185 -0
- package/build/cjs/integrations/postgres.js.map +1 -0
- package/build/cjs/integrations/postgresjs.js +226 -0
- package/build/cjs/integrations/postgresjs.js.map +1 -0
- package/build/cjs/integrations/prisma/global.js.map +1 -0
- package/build/cjs/integrations/prisma/index.js.map +1 -0
- package/build/cjs/integrations/prisma/tracing-helper.js +238 -0
- package/build/cjs/integrations/prisma/tracing-helper.js.map +1 -0
- package/build/cjs/integrations/redis/index.js +234 -0
- package/build/cjs/integrations/redis/index.js.map +1 -0
- package/build/cjs/integrations/redis/ioredis-channel-subscriber.js +104 -0
- package/build/cjs/integrations/redis/ioredis-channel-subscriber.js.map +1 -0
- package/build/cjs/integrations/redis/redis-cache.js +144 -0
- package/build/cjs/integrations/redis/redis-cache.js.map +1 -0
- package/build/cjs/integrations/redis/redis-dc-subscriber.js +107 -0
- package/build/cjs/integrations/redis/redis-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/redis/redis-span-name.js +32 -0
- package/build/cjs/integrations/redis/redis-span-name.js.map +1 -0
- package/build/cjs/integrations/redis/redis-statement-serializer.js.map +1 -0
- package/build/cjs/integrations/tedious.js +170 -0
- package/build/cjs/integrations/tedious.js.map +1 -0
- package/build/cjs/integrations/together-ai.js +19 -0
- package/build/cjs/integrations/together-ai.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/gen-ai-recording-mode.js +13 -0
- package/build/cjs/integrations/vercel-ai/gen-ai-recording-mode.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/index.js +45 -0
- package/build/cjs/integrations/vercel-ai/index.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/util.js +108 -0
- package/build/cjs/integrations/vercel-ai/util.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/vercel-ai-dc-subscriber.js +482 -0
- package/build/cjs/integrations/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.js +400 -0
- package/build/cjs/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
- package/build/cjs/opentelemetry.js +45 -0
- package/build/cjs/opentelemetry.js.map +1 -0
- package/build/cjs/orchestrion/bundler/bun.js +37 -0
- package/build/cjs/orchestrion/bundler/bun.js.map +1 -0
- package/build/cjs/orchestrion/bundler/esbuild.js +20 -0
- package/build/cjs/orchestrion/bundler/esbuild.js.map +1 -1
- package/build/cjs/orchestrion/bundler/moduleInjectedTransform.js +55 -0
- package/build/cjs/orchestrion/bundler/moduleInjectedTransform.js.map +1 -0
- package/build/cjs/orchestrion/bundler/options.js +7 -20
- package/build/cjs/orchestrion/bundler/options.js.map +1 -1
- package/build/cjs/orchestrion/bundler/resolve.js +27 -0
- package/build/cjs/orchestrion/bundler/resolve.js.map +1 -0
- package/build/cjs/orchestrion/bundler/rollup.js +40 -1
- package/build/cjs/orchestrion/bundler/rollup.js.map +1 -1
- package/build/cjs/orchestrion/bundler/vite.js +66 -3
- package/build/cjs/orchestrion/bundler/vite.js.map +1 -1
- package/build/cjs/orchestrion/bundler/webpack-loader.js +16 -2
- package/build/cjs/orchestrion/bundler/webpack-loader.js.map +1 -1
- package/build/cjs/orchestrion/bundler/webpack.js +36 -29
- package/build/cjs/orchestrion/bundler/webpack.js.map +1 -1
- package/build/cjs/orchestrion/channels.js +8 -0
- package/build/cjs/orchestrion/channels.js.map +1 -1
- package/build/cjs/orchestrion/config/amqplib.js +3 -3
- package/build/cjs/orchestrion/config/amqplib.js.map +1 -1
- package/build/cjs/orchestrion/config/anthropic-ai.js +8 -16
- package/build/cjs/orchestrion/config/anthropic-ai.js.map +1 -1
- package/build/cjs/orchestrion/config/aws-sdk.js +3 -3
- package/build/cjs/orchestrion/config/aws-sdk.js.map +1 -1
- package/build/cjs/orchestrion/config/channel-integration-definitions.js +40 -18
- package/build/cjs/orchestrion/config/channel-integration-definitions.js.map +1 -1
- package/build/cjs/orchestrion/config/dataloader.js +0 -4
- package/build/cjs/orchestrion/config/dataloader.js.map +1 -1
- package/build/cjs/orchestrion/config/express.js +4 -4
- package/build/cjs/orchestrion/config/express.js.map +1 -1
- package/build/cjs/orchestrion/config/firebase.js +3 -3
- package/build/cjs/orchestrion/config/firebase.js.map +1 -1
- package/build/cjs/orchestrion/config/flue.js +10 -0
- package/build/cjs/orchestrion/config/flue.js.map +1 -0
- package/build/cjs/orchestrion/config/generic-pool.js +3 -3
- package/build/cjs/orchestrion/config/generic-pool.js.map +1 -1
- package/build/cjs/orchestrion/config/google-genai.js +8 -7
- package/build/cjs/orchestrion/config/google-genai.js.map +1 -1
- package/build/cjs/orchestrion/config/graphql.js +12 -12
- package/build/cjs/orchestrion/config/graphql.js.map +1 -1
- package/build/cjs/orchestrion/config/groq.js +19 -0
- package/build/cjs/orchestrion/config/groq.js.map +1 -0
- package/build/cjs/orchestrion/config/hapi.js +22 -4
- package/build/cjs/orchestrion/config/hapi.js.map +1 -1
- package/build/cjs/orchestrion/config/index.js +20 -32
- package/build/cjs/orchestrion/config/index.js.map +1 -1
- package/build/cjs/orchestrion/config/ioredis.js +5 -3
- package/build/cjs/orchestrion/config/ioredis.js.map +1 -1
- package/build/cjs/orchestrion/config/kafkajs.js +3 -3
- package/build/cjs/orchestrion/config/kafkajs.js.map +1 -1
- package/build/cjs/orchestrion/config/knex.js +0 -4
- package/build/cjs/orchestrion/config/knex.js.map +1 -1
- package/build/cjs/orchestrion/config/koa.js +16 -4
- package/build/cjs/orchestrion/config/koa.js.map +1 -1
- package/build/cjs/orchestrion/config/langchain.js +3 -3
- package/build/cjs/orchestrion/config/langchain.js.map +1 -1
- package/build/cjs/orchestrion/config/langgraph.js +3 -3
- package/build/cjs/orchestrion/config/langgraph.js.map +1 -1
- package/build/cjs/orchestrion/config/lru-memoizer.js +3 -3
- package/build/cjs/orchestrion/config/lru-memoizer.js.map +1 -1
- package/build/cjs/orchestrion/config/mastra.js +38 -0
- package/build/cjs/orchestrion/config/mastra.js.map +1 -0
- package/build/cjs/orchestrion/config/mistral.js +57 -0
- package/build/cjs/orchestrion/config/mistral.js.map +1 -0
- package/build/cjs/orchestrion/config/module-names.js +8 -0
- package/build/cjs/orchestrion/config/module-names.js.map +1 -0
- package/build/cjs/orchestrion/config/mongodb.js +3 -3
- package/build/cjs/orchestrion/config/mongodb.js.map +1 -1
- package/build/cjs/orchestrion/config/mongoose.js +5 -3
- package/build/cjs/orchestrion/config/mongoose.js.map +1 -1
- package/build/cjs/orchestrion/config/mysql.js +3 -3
- package/build/cjs/orchestrion/config/mysql.js.map +1 -1
- package/build/cjs/orchestrion/config/mysql2.js +5 -3
- package/build/cjs/orchestrion/config/mysql2.js.map +1 -1
- package/build/cjs/orchestrion/config/nestjs.js +4 -8
- package/build/cjs/orchestrion/config/nestjs.js.map +1 -1
- package/build/cjs/orchestrion/config/openai-compatible.js +19 -0
- package/build/cjs/orchestrion/config/openai-compatible.js.map +1 -0
- package/build/cjs/orchestrion/config/openai.js +3 -3
- package/build/cjs/orchestrion/config/openai.js.map +1 -1
- package/build/cjs/orchestrion/config/pg.js +3 -3
- package/build/cjs/orchestrion/config/pg.js.map +1 -1
- package/build/cjs/orchestrion/config/postgres.js +3 -3
- package/build/cjs/orchestrion/config/postgres.js.map +1 -1
- package/build/cjs/orchestrion/config/redis.js +5 -3
- package/build/cjs/orchestrion/config/redis.js.map +1 -1
- package/build/cjs/orchestrion/config/registration-only.js +15 -0
- package/build/cjs/orchestrion/config/registration-only.js.map +1 -0
- package/build/cjs/orchestrion/config/remix.js +0 -4
- package/build/cjs/orchestrion/config/remix.js.map +1 -1
- package/build/cjs/orchestrion/config/tedious.js +3 -3
- package/build/cjs/orchestrion/config/tedious.js.map +1 -1
- package/build/cjs/orchestrion/config/together-ai.js +19 -0
- package/build/cjs/orchestrion/config/together-ai.js.map +1 -0
- package/build/cjs/orchestrion/config/vercel-ai.js +7 -3
- package/build/cjs/orchestrion/config/vercel-ai.js.map +1 -1
- package/build/cjs/orchestrion/detect.js +7 -4
- package/build/cjs/orchestrion/detect.js.map +1 -1
- package/build/cjs/orchestrion/instrumentation.js +86 -0
- package/build/cjs/orchestrion/instrumentation.js.map +1 -0
- package/build/cjs/tracing-channel.js +20 -1
- package/build/cjs/tracing-channel.js.map +1 -1
- package/build/cjs/utils/moduleInjected.js +18 -0
- package/build/cjs/utils/moduleInjected.js.map +1 -0
- package/build/cjs/utils/setHttpServerSpanRouteAttribute.js +26 -0
- package/build/cjs/utils/setHttpServerSpanRouteAttribute.js.map +1 -0
- package/build/cjs/utils/sql.js +236 -0
- package/build/cjs/utils/sql.js.map +1 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/matcher.js +5 -2
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/matcher.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/transformer.js +5 -3
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/transformer.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/transforms.js +51 -15
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/transforms.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js +65 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js.map +1 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js +2 -2
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/esbuild.js +4 -4
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/esbuild.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/instrumentation-serde-C-Xxv-jj.js +23 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/instrumentation-serde-C-Xxv-jj.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack-loader-factory.js +117 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack-loader-factory.js.map +1 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack.js +34 -5
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack.js.map +1 -1
- package/build/cjs/vendored/module-details-from-path/index.js +2 -3
- package/build/cjs/vendored/module-details-from-path/index.js.map +1 -1
- package/build/esm/ai/anthropic-ai/constants.js +10 -0
- package/build/esm/ai/anthropic-ai/constants.js.map +1 -0
- package/build/esm/ai/anthropic-ai/index.js +211 -0
- package/build/esm/ai/anthropic-ai/index.js.map +1 -0
- package/build/esm/ai/anthropic-ai/streaming.js +145 -0
- package/build/esm/ai/anthropic-ai/streaming.js.map +1 -0
- package/build/esm/ai/anthropic-ai/utils.js +57 -0
- package/build/esm/ai/anthropic-ai/utils.js.map +1 -0
- package/build/esm/ai/core/gen-ai-attributes.js +8 -0
- package/build/esm/ai/core/gen-ai-attributes.js.map +1 -0
- package/build/esm/ai/core/utils.js +155 -0
- package/build/esm/ai/core/utils.js.map +1 -0
- package/build/esm/ai/flue/constants.js +13 -0
- package/build/esm/ai/flue/constants.js.map +1 -0
- package/build/esm/ai/flue/index.js +113 -0
- package/build/esm/ai/flue/index.js.map +1 -0
- package/build/esm/ai/flue/utils.js +193 -0
- package/build/esm/ai/flue/utils.js.map +1 -0
- package/build/esm/ai/google-genai/constants.js +13 -0
- package/build/esm/ai/google-genai/constants.js.map +1 -0
- package/build/esm/ai/google-genai/index.js +255 -0
- package/build/esm/ai/google-genai/index.js.map +1 -0
- package/build/esm/ai/google-genai/streaming.js +77 -0
- package/build/esm/ai/google-genai/streaming.js.map +1 -0
- package/build/esm/ai/google-genai/utils.js +125 -0
- package/build/esm/ai/google-genai/utils.js.map +1 -0
- package/build/esm/ai/langchain/constants.js +13 -0
- package/build/esm/ai/langchain/constants.js.map +1 -0
- package/build/esm/ai/langchain/embeddings.js +78 -0
- package/build/esm/ai/langchain/embeddings.js.map +1 -0
- package/build/esm/ai/langchain/index.js +244 -0
- package/build/esm/ai/langchain/index.js.map +1 -0
- package/build/esm/ai/langchain/utils.js +263 -0
- package/build/esm/ai/langchain/utils.js.map +1 -0
- package/build/esm/ai/langgraph/constants.js +5 -0
- package/build/esm/ai/langgraph/constants.js.map +1 -0
- package/build/esm/ai/langgraph/index.js +165 -0
- package/build/esm/ai/langgraph/index.js.map +1 -0
- package/build/esm/ai/langgraph/utils.js +216 -0
- package/build/esm/ai/langgraph/utils.js.map +1 -0
- package/build/esm/ai/mastra/constants.js +29 -0
- package/build/esm/ai/mastra/constants.js.map +1 -0
- package/build/esm/ai/mastra/index.js +174 -0
- package/build/esm/ai/mastra/index.js.map +1 -0
- package/build/esm/ai/mastra/span-registry.js +16 -0
- package/build/esm/ai/mastra/span-registry.js.map +1 -0
- package/build/esm/ai/mastra/utils.js +152 -0
- package/build/esm/ai/mastra/utils.js.map +1 -0
- package/build/esm/ai/mistral/constants.js +15 -0
- package/build/esm/ai/mistral/constants.js.map +1 -0
- package/build/esm/ai/mistral/index.js +126 -0
- package/build/esm/ai/mistral/index.js.map +1 -0
- package/build/esm/ai/mistral/streaming.js +205 -0
- package/build/esm/ai/mistral/streaming.js.map +1 -0
- package/build/esm/ai/mistral/utils.js +82 -0
- package/build/esm/ai/mistral/utils.js.map +1 -0
- package/build/esm/ai/openai/constants.js +28 -0
- package/build/esm/ai/openai/constants.js.map +1 -0
- package/build/esm/ai/openai/index.js +152 -0
- package/build/esm/ai/openai/index.js.map +1 -0
- package/build/esm/ai/openai/streaming.js +124 -0
- package/build/esm/ai/openai/streaming.js.map +1 -0
- package/build/esm/ai/openai/utils.js +106 -0
- package/build/esm/ai/openai/utils.js.map +1 -0
- package/build/esm/ai/vercel-ai/index.js +68 -0
- package/build/esm/ai/vercel-ai/index.js.map +1 -0
- package/build/esm/ai/workers-ai/constants.js +6 -0
- package/build/esm/ai/workers-ai/constants.js.map +1 -0
- package/build/esm/ai/workers-ai/index.js +83 -0
- package/build/esm/ai/workers-ai/index.js.map +1 -0
- package/build/esm/ai/workers-ai/streaming.js +147 -0
- package/build/esm/ai/workers-ai/streaming.js.map +1 -0
- package/build/esm/ai/workers-ai/utils.js +106 -0
- package/build/esm/ai/workers-ai/utils.js.map +1 -0
- package/build/esm/async-context.js +66 -0
- package/build/esm/async-context.js.map +1 -0
- package/build/esm/eve.js +27 -0
- package/build/esm/eve.js.map +1 -0
- package/build/esm/index.js +60 -10
- package/build/esm/index.js.map +1 -1
- package/build/esm/index.no-diagnostic-channels.js +16 -0
- package/build/esm/index.no-diagnostic-channels.js.map +1 -0
- package/build/esm/integrations/amqplib.js +386 -0
- package/build/esm/integrations/amqplib.js.map +1 -0
- package/build/esm/integrations/anthropic.js +98 -0
- package/build/esm/integrations/anthropic.js.map +1 -0
- package/build/esm/integrations/aws-sdk/constants.js +9 -0
- package/build/esm/integrations/aws-sdk/constants.js.map +1 -0
- package/build/esm/integrations/aws-sdk/index.js +139 -0
- package/build/esm/integrations/aws-sdk/index.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/MessageAttributes.js +41 -0
- package/build/esm/integrations/aws-sdk/services/MessageAttributes.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/ServicesExtensions.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/bedrock-runtime.js +422 -0
- package/build/esm/integrations/aws-sdk/services/bedrock-runtime.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/dynamodb.js +128 -0
- package/build/esm/integrations/aws-sdk/services/dynamodb.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/kinesis.js +17 -0
- package/build/esm/integrations/aws-sdk/services/kinesis.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/lambda.js +61 -0
- package/build/esm/integrations/aws-sdk/services/lambda.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/s3.js +17 -0
- package/build/esm/integrations/aws-sdk/services/s3.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/secretsmanager.js +23 -0
- package/build/esm/integrations/aws-sdk/services/secretsmanager.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/sns.js +77 -0
- package/build/esm/integrations/aws-sdk/services/sns.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/sqs.js +133 -0
- package/build/esm/integrations/aws-sdk/services/sqs.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/stepfunctions.js +21 -0
- package/build/esm/integrations/aws-sdk/services/stepfunctions.js.map +1 -0
- package/build/esm/integrations/aws-sdk/utils.js.map +1 -0
- package/build/esm/integrations/dataloader.js +119 -0
- package/build/esm/integrations/dataloader.js.map +1 -0
- package/build/esm/integrations/express/error-handled.js +14 -0
- package/build/esm/integrations/express/error-handled.js.map +1 -0
- package/build/esm/integrations/express/error-handler.js +40 -0
- package/build/esm/integrations/express/error-handler.js.map +1 -0
- package/build/esm/integrations/express/index.js +22 -0
- package/build/esm/integrations/express/index.js.map +1 -0
- package/build/esm/integrations/express/instrumentation.js +197 -0
- package/build/esm/integrations/express/instrumentation.js.map +1 -0
- package/build/esm/integrations/express/route.js.map +1 -0
- package/build/esm/integrations/express/utils.js +10 -0
- package/build/esm/integrations/express/utils.js.map +1 -0
- package/build/esm/integrations/fastify/errors.js +33 -0
- package/build/esm/integrations/fastify/errors.js.map +1 -0
- package/build/esm/integrations/fastify/index.js +25 -0
- package/build/esm/integrations/fastify/index.js.map +1 -0
- package/build/esm/integrations/fastify/instrumentation.js +250 -0
- package/build/esm/integrations/fastify/instrumentation.js.map +1 -0
- package/build/esm/integrations/fastify/utils.js.map +1 -0
- package/build/esm/integrations/firebase/firestore.js +76 -0
- package/build/esm/integrations/firebase/firestore.js.map +1 -0
- package/build/esm/integrations/firebase/functions.js +77 -0
- package/build/esm/integrations/firebase/functions.js.map +1 -0
- package/build/esm/integrations/firebase/index.js +18 -0
- package/build/esm/integrations/firebase/index.js.map +1 -0
- package/build/esm/integrations/firebase/instrumentation.js +54 -0
- package/build/esm/integrations/firebase/instrumentation.js.map +1 -0
- package/build/esm/integrations/flue.js +38 -0
- package/build/esm/integrations/flue.js.map +1 -0
- package/build/esm/integrations/generic-pool.js +34 -0
- package/build/esm/integrations/generic-pool.js.map +1 -0
- package/build/esm/integrations/google-genai.js +97 -0
- package/build/esm/integrations/google-genai.js.map +1 -0
- package/build/esm/integrations/graphql/constants.js +20 -0
- package/build/esm/integrations/graphql/constants.js.map +1 -0
- package/build/esm/integrations/graphql/graphql-dc-subscriber.js +115 -0
- package/build/esm/integrations/graphql/graphql-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/graphql/index.js +58 -0
- package/build/esm/integrations/graphql/index.js.map +1 -0
- package/build/esm/integrations/graphql/resolvers.js +170 -0
- package/build/esm/integrations/graphql/resolvers.js.map +1 -0
- package/build/esm/integrations/graphql/spans.js +108 -0
- package/build/esm/integrations/graphql/spans.js.map +1 -0
- package/build/esm/integrations/graphql/utils.js +93 -0
- package/build/esm/integrations/graphql/utils.js.map +1 -0
- package/build/esm/integrations/groq.js +18 -0
- package/build/esm/integrations/groq.js.map +1 -0
- package/build/esm/integrations/hapi/hapi-error-handler.js +44 -0
- package/build/esm/integrations/hapi/hapi-error-handler.js.map +1 -0
- package/build/esm/integrations/hapi/hapi-types.js.map +1 -0
- package/build/esm/integrations/hapi/hapi-utils.js +191 -0
- package/build/esm/integrations/hapi/hapi-utils.js.map +1 -0
- package/build/esm/integrations/hapi/index.js +71 -0
- package/build/esm/integrations/hapi/index.js.map +1 -0
- package/build/esm/integrations/index.js +73 -0
- package/build/esm/integrations/index.js.map +1 -0
- package/build/esm/integrations/kafkajs/consumer.js.map +1 -0
- package/build/esm/integrations/kafkajs/index.js +68 -0
- package/build/esm/integrations/kafkajs/index.js.map +1 -0
- package/build/esm/integrations/kafkajs/semconv.js.map +1 -0
- package/build/esm/integrations/kafkajs/spans.js +120 -0
- package/build/esm/integrations/kafkajs/spans.js.map +1 -0
- package/build/esm/integrations/knex.js +215 -0
- package/build/esm/integrations/knex.js.map +1 -0
- package/build/esm/integrations/koa/index.js +153 -0
- package/build/esm/integrations/koa/index.js.map +1 -0
- package/build/esm/integrations/koa/koa-error-handler.js +30 -0
- package/build/esm/integrations/koa/koa-error-handler.js.map +1 -0
- package/build/esm/integrations/langchain.js +75 -0
- package/build/esm/integrations/langchain.js.map +1 -0
- package/build/esm/integrations/langgraph.js +85 -0
- package/build/esm/integrations/langgraph.js.map +1 -0
- package/build/esm/integrations/lru-memoizer.js +27 -0
- package/build/esm/integrations/lru-memoizer.js.map +1 -0
- package/build/esm/integrations/mastra.js +243 -0
- package/build/esm/integrations/mastra.js.map +1 -0
- package/build/esm/integrations/mistral.js +66 -0
- package/build/esm/integrations/mistral.js.map +1 -0
- package/build/esm/integrations/mongodb/index.js +102 -0
- package/build/esm/integrations/mongodb/index.js.map +1 -0
- package/build/esm/integrations/mongodb/mongodb-span.js +127 -0
- package/build/esm/integrations/mongodb/mongodb-span.js.map +1 -0
- package/build/esm/integrations/mongoose/index.js +107 -0
- package/build/esm/integrations/mongoose/index.js.map +1 -0
- package/build/esm/integrations/mongoose/mongoose-dc-subscriber.js +93 -0
- package/build/esm/integrations/mongoose/mongoose-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/mongoose/mongoose-legacy-span.js +39 -0
- package/build/esm/integrations/mongoose/mongoose-legacy-span.js.map +1 -0
- package/build/esm/integrations/mysql.js +105 -0
- package/build/esm/integrations/mysql.js.map +1 -0
- package/build/esm/integrations/mysql2/index.js +89 -0
- package/build/esm/integrations/mysql2/index.js.map +1 -0
- package/build/esm/integrations/mysql2/mysql2-dc-subscriber.js +67 -0
- package/build/esm/integrations/mysql2/mysql2-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/openai-compatible.js +79 -0
- package/build/esm/integrations/openai-compatible.js.map +1 -0
- package/build/esm/integrations/openai.js +80 -0
- package/build/esm/integrations/openai.js.map +1 -0
- package/build/esm/integrations/postgres-js.js +198 -0
- package/build/esm/integrations/postgres-js.js.map +1 -0
- package/build/esm/integrations/postgres.js +170 -0
- package/build/esm/integrations/postgres.js.map +1 -0
- package/build/esm/integrations/postgresjs.js +220 -0
- package/build/esm/integrations/postgresjs.js.map +1 -0
- package/build/esm/integrations/prisma/global.js.map +1 -0
- package/build/esm/integrations/prisma/index.js.map +1 -0
- package/build/esm/integrations/prisma/tracing-helper.js +236 -0
- package/build/esm/integrations/prisma/tracing-helper.js.map +1 -0
- package/build/esm/integrations/redis/index.js +219 -0
- package/build/esm/integrations/redis/index.js.map +1 -0
- package/build/esm/integrations/redis/ioredis-channel-subscriber.js +88 -0
- package/build/esm/integrations/redis/ioredis-channel-subscriber.js.map +1 -0
- package/build/esm/integrations/redis/redis-cache.js +133 -0
- package/build/esm/integrations/redis/redis-cache.js.map +1 -0
- package/build/esm/integrations/redis/redis-dc-subscriber.js +100 -0
- package/build/esm/integrations/redis/redis-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/redis/redis-span-name.js +30 -0
- package/build/esm/integrations/redis/redis-span-name.js.map +1 -0
- package/build/esm/integrations/redis/redis-statement-serializer.js.map +1 -0
- package/build/esm/integrations/tedious.js +155 -0
- package/build/esm/integrations/tedious.js.map +1 -0
- package/build/esm/integrations/together-ai.js +17 -0
- package/build/esm/integrations/together-ai.js.map +1 -0
- package/build/esm/integrations/vercel-ai/gen-ai-recording-mode.js +10 -0
- package/build/esm/integrations/vercel-ai/gen-ai-recording-mode.js.map +1 -0
- package/build/esm/integrations/vercel-ai/index.js +30 -0
- package/build/esm/integrations/vercel-ai/index.js.map +1 -0
- package/build/esm/integrations/vercel-ai/util.js +103 -0
- package/build/esm/integrations/vercel-ai/util.js.map +1 -0
- package/build/esm/integrations/vercel-ai/vercel-ai-dc-subscriber.js +474 -0
- package/build/esm/integrations/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.js +398 -0
- package/build/esm/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
- package/build/esm/opentelemetry.js +42 -0
- package/build/esm/opentelemetry.js.map +1 -0
- package/build/esm/orchestrion/bundler/bun.js +35 -0
- package/build/esm/orchestrion/bundler/bun.js.map +1 -0
- package/build/esm/orchestrion/bundler/esbuild.js +20 -0
- package/build/esm/orchestrion/bundler/esbuild.js.map +1 -1
- package/build/esm/orchestrion/bundler/moduleInjectedTransform.js +52 -0
- package/build/esm/orchestrion/bundler/moduleInjectedTransform.js.map +1 -0
- package/build/esm/orchestrion/bundler/options.js +7 -21
- package/build/esm/orchestrion/bundler/options.js.map +1 -1
- package/build/esm/orchestrion/bundler/resolve.js +22 -0
- package/build/esm/orchestrion/bundler/resolve.js.map +1 -0
- package/build/esm/orchestrion/bundler/rollup.js +41 -2
- package/build/esm/orchestrion/bundler/rollup.js.map +1 -1
- package/build/esm/orchestrion/bundler/vite.js +67 -4
- package/build/esm/orchestrion/bundler/vite.js.map +1 -1
- package/build/esm/orchestrion/bundler/webpack-loader.js +16 -2
- package/build/esm/orchestrion/bundler/webpack-loader.js.map +1 -1
- package/build/esm/orchestrion/bundler/webpack.js +34 -27
- package/build/esm/orchestrion/bundler/webpack.js.map +1 -1
- package/build/esm/orchestrion/channels.js +8 -0
- package/build/esm/orchestrion/channels.js.map +1 -1
- package/build/esm/orchestrion/config/amqplib.js +3 -3
- package/build/esm/orchestrion/config/amqplib.js.map +1 -1
- package/build/esm/orchestrion/config/anthropic-ai.js +8 -16
- package/build/esm/orchestrion/config/anthropic-ai.js.map +1 -1
- package/build/esm/orchestrion/config/aws-sdk.js +3 -3
- package/build/esm/orchestrion/config/aws-sdk.js.map +1 -1
- package/build/esm/orchestrion/config/channel-integration-definitions.js +40 -18
- package/build/esm/orchestrion/config/channel-integration-definitions.js.map +1 -1
- package/build/esm/orchestrion/config/dataloader.js +1 -4
- package/build/esm/orchestrion/config/dataloader.js.map +1 -1
- package/build/esm/orchestrion/config/express.js +4 -4
- package/build/esm/orchestrion/config/express.js.map +1 -1
- package/build/esm/orchestrion/config/firebase.js +3 -3
- package/build/esm/orchestrion/config/firebase.js.map +1 -1
- package/build/esm/orchestrion/config/flue.js +8 -0
- package/build/esm/orchestrion/config/flue.js.map +1 -0
- package/build/esm/orchestrion/config/generic-pool.js +3 -3
- package/build/esm/orchestrion/config/generic-pool.js.map +1 -1
- package/build/esm/orchestrion/config/google-genai.js +8 -7
- package/build/esm/orchestrion/config/google-genai.js.map +1 -1
- package/build/esm/orchestrion/config/graphql.js +12 -12
- package/build/esm/orchestrion/config/graphql.js.map +1 -1
- package/build/esm/orchestrion/config/groq.js +15 -0
- package/build/esm/orchestrion/config/groq.js.map +1 -0
- package/build/esm/orchestrion/config/hapi.js +22 -4
- package/build/esm/orchestrion/config/hapi.js.map +1 -1
- package/build/esm/orchestrion/config/index.js +48 -61
- package/build/esm/orchestrion/config/index.js.map +1 -1
- package/build/esm/orchestrion/config/ioredis.js +5 -3
- package/build/esm/orchestrion/config/ioredis.js.map +1 -1
- package/build/esm/orchestrion/config/kafkajs.js +3 -3
- package/build/esm/orchestrion/config/kafkajs.js.map +1 -1
- package/build/esm/orchestrion/config/knex.js +1 -4
- package/build/esm/orchestrion/config/knex.js.map +1 -1
- package/build/esm/orchestrion/config/koa.js +16 -4
- package/build/esm/orchestrion/config/koa.js.map +1 -1
- package/build/esm/orchestrion/config/langchain.js +3 -3
- package/build/esm/orchestrion/config/langchain.js.map +1 -1
- package/build/esm/orchestrion/config/langgraph.js +3 -3
- package/build/esm/orchestrion/config/langgraph.js.map +1 -1
- package/build/esm/orchestrion/config/lru-memoizer.js +3 -3
- package/build/esm/orchestrion/config/lru-memoizer.js.map +1 -1
- package/build/esm/orchestrion/config/mastra.js +34 -0
- package/build/esm/orchestrion/config/mastra.js.map +1 -0
- package/build/esm/orchestrion/config/mistral.js +53 -0
- package/build/esm/orchestrion/config/mistral.js.map +1 -0
- package/build/esm/orchestrion/config/module-names.js +6 -0
- package/build/esm/orchestrion/config/module-names.js.map +1 -0
- package/build/esm/orchestrion/config/mongodb.js +3 -3
- package/build/esm/orchestrion/config/mongodb.js.map +1 -1
- package/build/esm/orchestrion/config/mongoose.js +5 -3
- package/build/esm/orchestrion/config/mongoose.js.map +1 -1
- package/build/esm/orchestrion/config/mysql.js +3 -3
- package/build/esm/orchestrion/config/mysql.js.map +1 -1
- package/build/esm/orchestrion/config/mysql2.js +5 -3
- package/build/esm/orchestrion/config/mysql2.js.map +1 -1
- package/build/esm/orchestrion/config/nestjs.js +5 -8
- package/build/esm/orchestrion/config/nestjs.js.map +1 -1
- package/build/esm/orchestrion/config/openai-compatible.js +17 -0
- package/build/esm/orchestrion/config/openai-compatible.js.map +1 -0
- package/build/esm/orchestrion/config/openai.js +3 -3
- package/build/esm/orchestrion/config/openai.js.map +1 -1
- package/build/esm/orchestrion/config/pg.js +3 -3
- package/build/esm/orchestrion/config/pg.js.map +1 -1
- package/build/esm/orchestrion/config/postgres.js +3 -3
- package/build/esm/orchestrion/config/postgres.js.map +1 -1
- package/build/esm/orchestrion/config/redis.js +5 -3
- package/build/esm/orchestrion/config/redis.js.map +1 -1
- package/build/esm/orchestrion/config/registration-only.js +12 -0
- package/build/esm/orchestrion/config/registration-only.js.map +1 -0
- package/build/esm/orchestrion/config/remix.js +1 -4
- package/build/esm/orchestrion/config/remix.js.map +1 -1
- package/build/esm/orchestrion/config/tedious.js +3 -3
- package/build/esm/orchestrion/config/tedious.js.map +1 -1
- package/build/esm/orchestrion/config/together-ai.js +15 -0
- package/build/esm/orchestrion/config/together-ai.js.map +1 -0
- package/build/esm/orchestrion/config/vercel-ai.js +7 -3
- package/build/esm/orchestrion/config/vercel-ai.js.map +1 -1
- package/build/esm/orchestrion/detect.js +7 -4
- package/build/esm/orchestrion/detect.js.map +1 -1
- package/build/esm/orchestrion/instrumentation.js +71 -0
- package/build/esm/orchestrion/instrumentation.js.map +1 -0
- package/build/esm/package.json +1 -1
- package/build/esm/tracing-channel.js +20 -3
- package/build/esm/tracing-channel.js.map +1 -1
- package/build/esm/utils/moduleInjected.js +16 -0
- package/build/esm/utils/moduleInjected.js.map +1 -0
- package/build/esm/utils/setHttpServerSpanRouteAttribute.js +24 -0
- package/build/esm/utils/setHttpServerSpanRouteAttribute.js.map +1 -0
- package/build/esm/utils/sql.js +231 -0
- package/build/esm/utils/sql.js.map +1 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/matcher.js +5 -2
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/matcher.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/transformer.js +6 -4
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/transformer.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/transforms.js +51 -15
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/transforms.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js +63 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js.map +1 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js +2 -2
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/instrumentation-serde-C-Xxv-jj.js +23 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/instrumentation-serde-C-Xxv-jj.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack-loader-factory.js +116 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack-loader-factory.js.map +1 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack.js +34 -5
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack.js.map +1 -1
- package/build/esm/vendored/module-details-from-path/index.js +2 -2
- package/build/types/ai/anthropic-ai/constants.d.ts +17 -0
- package/build/types/ai/anthropic-ai/constants.d.ts.map +1 -0
- package/build/types/ai/anthropic-ai/index.d.ts +26 -0
- package/build/types/ai/anthropic-ai/index.d.ts.map +1 -0
- package/build/types/ai/anthropic-ai/streaming.d.ts +15 -0
- package/build/types/ai/anthropic-ai/streaming.d.ts.map +1 -0
- package/build/types/ai/anthropic-ai/types.d.ts +89 -0
- package/build/types/ai/anthropic-ai/types.d.ts.map +1 -0
- package/build/types/ai/anthropic-ai/utils.d.ts +21 -0
- package/build/types/ai/anthropic-ai/utils.d.ts.map +1 -0
- package/build/types/ai/core/gen-ai-attributes.d.ts +32 -0
- package/build/types/ai/core/gen-ai-attributes.d.ts.map +1 -0
- package/build/types/ai/core/utils.d.ts +120 -0
- package/build/types/ai/core/utils.d.ts.map +1 -0
- package/build/types/ai/flue/constants.d.ts +37 -0
- package/build/types/ai/flue/constants.d.ts.map +1 -0
- package/build/types/ai/flue/index.d.ts +18 -0
- package/build/types/ai/flue/index.d.ts.map +1 -0
- package/build/types/ai/flue/types.d.ts +118 -0
- package/build/types/ai/flue/types.d.ts.map +1 -0
- package/build/types/ai/flue/utils.d.ts +38 -0
- package/build/types/ai/flue/utils.d.ts.map +1 -0
- package/build/types/ai/google-genai/constants.d.ts +25 -0
- package/build/types/ai/google-genai/constants.d.ts.map +1 -0
- package/build/types/ai/google-genai/index.d.ts +61 -0
- package/build/types/ai/google-genai/index.d.ts.map +1 -0
- package/build/types/ai/google-genai/streaming.d.ts +9 -0
- package/build/types/ai/google-genai/streaming.d.ts.map +1 -0
- package/build/types/ai/google-genai/types.d.ts +141 -0
- package/build/types/ai/google-genai/types.d.ts.map +1 -0
- package/build/types/ai/google-genai/utils.d.ts +50 -0
- package/build/types/ai/google-genai/utils.d.ts.map +1 -0
- package/build/types/ai/index.d.ts +16 -0
- package/build/types/ai/index.d.ts.map +1 -0
- package/build/types/ai/langchain/constants.d.ts +4 -0
- package/build/types/ai/langchain/constants.d.ts.map +1 -0
- package/build/types/ai/langchain/embeddings.d.ts +38 -0
- package/build/types/ai/langchain/embeddings.d.ts.map +1 -0
- package/build/types/ai/langchain/index.d.ts +10 -0
- package/build/types/ai/langchain/index.d.ts.map +1 -0
- package/build/types/ai/langchain/types.d.ts +136 -0
- package/build/types/ai/langchain/types.d.ts.map +1 -0
- package/build/types/ai/langchain/utils.d.ts +67 -0
- package/build/types/ai/langchain/utils.d.ts.map +1 -0
- package/build/types/ai/langgraph/constants.d.ts +3 -0
- package/build/types/ai/langgraph/constants.d.ts.map +1 -0
- package/build/types/ai/langgraph/index.d.ts +44 -0
- package/build/types/ai/langgraph/index.d.ts.map +1 -0
- package/build/types/ai/langgraph/types.d.ts +64 -0
- package/build/types/ai/langgraph/types.d.ts.map +1 -0
- package/build/types/ai/langgraph/utils.d.ts +45 -0
- package/build/types/ai/langgraph/utils.d.ts.map +1 -0
- package/build/types/ai/mastra/constants.d.ts +32 -0
- package/build/types/ai/mastra/constants.d.ts.map +1 -0
- package/build/types/ai/mastra/index.d.ts +43 -0
- package/build/types/ai/mastra/index.d.ts.map +1 -0
- package/build/types/ai/mastra/span-registry.d.ts +5 -0
- package/build/types/ai/mastra/span-registry.d.ts.map +1 -0
- package/build/types/ai/mastra/types.d.ts +84 -0
- package/build/types/ai/mastra/types.d.ts.map +1 -0
- package/build/types/ai/mastra/utils.d.ts +23 -0
- package/build/types/ai/mastra/utils.d.ts.map +1 -0
- package/build/types/ai/mistral/constants.d.ts +30 -0
- package/build/types/ai/mistral/constants.d.ts.map +1 -0
- package/build/types/ai/mistral/index.d.ts +20 -0
- package/build/types/ai/mistral/index.d.ts.map +1 -0
- package/build/types/ai/mistral/streaming.d.ts +24 -0
- package/build/types/ai/mistral/streaming.d.ts.map +1 -0
- package/build/types/ai/mistral/types.d.ts +39 -0
- package/build/types/ai/mistral/types.d.ts.map +1 -0
- package/build/types/ai/mistral/utils.d.ts +20 -0
- package/build/types/ai/mistral/utils.d.ts.map +1 -0
- package/build/types/ai/openai/constants.d.ts +18 -0
- package/build/types/ai/openai/constants.d.ts.map +1 -0
- package/build/types/ai/openai/index.d.ts +13 -0
- package/build/types/ai/openai/index.d.ts.map +1 -0
- package/build/types/ai/openai/streaming.d.ts +13 -0
- package/build/types/ai/openai/streaming.d.ts.map +1 -0
- package/build/types/ai/openai/types.d.ts +217 -0
- package/build/types/ai/openai/types.d.ts.map +1 -0
- package/build/types/ai/openai/utils.d.ts +20 -0
- package/build/types/ai/openai/utils.d.ts.map +1 -0
- package/build/types/ai/vercel-ai/index.d.ts +15 -0
- package/build/types/ai/vercel-ai/index.d.ts.map +1 -0
- package/build/types/ai/vercel-ai/vercel-ai-attributes.d.ts +239 -0
- package/build/types/ai/vercel-ai/vercel-ai-attributes.d.ts.map +1 -0
- package/build/types/ai/workers-ai/constants.d.ts +16 -0
- package/build/types/ai/workers-ai/constants.d.ts.map +1 -0
- package/build/types/ai/workers-ai/index.d.ts +18 -0
- package/build/types/ai/workers-ai/index.d.ts.map +1 -0
- package/build/types/ai/workers-ai/streaming.d.ts +9 -0
- package/build/types/ai/workers-ai/streaming.d.ts.map +1 -0
- package/build/types/ai/workers-ai/types.d.ts +41 -0
- package/build/types/ai/workers-ai/types.d.ts.map +1 -0
- package/build/types/ai/workers-ai/utils.d.ts +24 -0
- package/build/types/ai/workers-ai/utils.d.ts.map +1 -0
- package/build/types/async-context.d.ts +15 -0
- package/build/types/async-context.d.ts.map +1 -0
- package/build/types/eve.d.ts +53 -0
- package/build/types/eve.d.ts.map +1 -0
- package/build/types/exports.d.ts +9 -0
- package/build/types/exports.d.ts.map +1 -0
- package/build/types/index.d.ts +51 -19
- package/build/types/index.d.ts.map +1 -1
- package/build/types/index.no-diagnostic-channels.d.ts +2 -0
- package/build/types/index.no-diagnostic-channels.d.ts.map +1 -0
- package/build/types/integrations/amqplib.d.ts +20 -0
- package/build/types/integrations/amqplib.d.ts.map +1 -0
- package/build/types/integrations/anthropic.d.ts +9 -0
- package/build/types/integrations/anthropic.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/aws-sdk.types.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/constants.d.ts +15 -0
- package/build/types/integrations/aws-sdk/constants.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/index.d.ts +12 -0
- package/build/types/integrations/aws-sdk/index.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/MessageAttributes.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/ServiceExtension.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/ServicesExtensions.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/bedrock-runtime.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/dynamodb.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/index.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/kinesis.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/lambda.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/s3.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/secretsmanager.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/sns.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/sqs.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/stepfunctions.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/types.d.ts +24 -0
- package/build/types/integrations/aws-sdk/types.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/utils.d.ts.map +1 -0
- package/build/types/integrations/dataloader.d.ts +11 -0
- package/build/types/integrations/dataloader.d.ts.map +1 -0
- package/build/types/integrations/express/error-handled.d.ts +10 -0
- package/build/types/integrations/express/error-handled.d.ts.map +1 -0
- package/build/types/integrations/express/error-handler.d.ts +25 -0
- package/build/types/integrations/express/error-handler.d.ts.map +1 -0
- package/build/types/integrations/express/index.d.ts +17 -0
- package/build/types/integrations/express/index.d.ts.map +1 -0
- package/build/types/integrations/express/instrumentation.d.ts +23 -0
- package/build/types/integrations/express/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/express/route.d.ts.map +1 -0
- package/build/types/integrations/express/types.d.ts +107 -0
- package/build/types/integrations/express/types.d.ts.map +1 -0
- package/build/types/integrations/express/utils.d.ts +8 -0
- package/build/types/integrations/express/utils.d.ts.map +1 -0
- package/build/types/integrations/fastify/errors.d.ts +17 -0
- package/build/types/integrations/fastify/errors.d.ts.map +1 -0
- package/build/types/integrations/fastify/index.d.ts +57 -0
- package/build/types/integrations/fastify/index.d.ts.map +1 -0
- package/build/types/integrations/fastify/instrumentation.d.ts +6 -0
- package/build/types/integrations/fastify/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/fastify/types.d.ts +31 -0
- package/build/types/integrations/fastify/types.d.ts.map +1 -0
- package/build/types/integrations/fastify/utils.d.ts +9 -0
- package/build/types/integrations/fastify/utils.d.ts.map +1 -0
- package/build/types/integrations/firebase/firestore-types.d.ts.map +1 -0
- package/build/types/integrations/firebase/firestore.d.ts +17 -0
- package/build/types/integrations/firebase/firestore.d.ts.map +1 -0
- package/build/types/integrations/firebase/functions.d.ts.map +1 -0
- package/build/types/integrations/firebase/index.d.ts +12 -0
- package/build/types/integrations/firebase/index.d.ts.map +1 -0
- package/build/types/integrations/firebase/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/flue.d.ts +4 -0
- package/build/types/integrations/flue.d.ts.map +1 -0
- package/build/types/integrations/generic-pool.d.ts +10 -0
- package/build/types/integrations/generic-pool.d.ts.map +1 -0
- package/build/types/integrations/google-genai.d.ts +11 -0
- package/build/types/integrations/google-genai.d.ts.map +1 -0
- package/build/types/integrations/graphql/constants.d.ts +18 -0
- package/build/types/integrations/graphql/constants.d.ts.map +1 -0
- package/build/types/integrations/graphql/graphql-dc-subscriber.d.ts +98 -0
- package/build/types/integrations/graphql/graphql-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/graphql/graphql-types.d.ts.map +1 -0
- package/build/types/integrations/graphql/index.d.ts +9 -0
- package/build/types/integrations/graphql/index.d.ts.map +1 -0
- package/build/types/integrations/graphql/resolvers.d.ts.map +1 -0
- package/build/types/integrations/graphql/spans.d.ts.map +1 -0
- package/build/types/integrations/graphql/types.d.ts +41 -0
- package/build/types/integrations/graphql/types.d.ts.map +1 -0
- package/build/types/integrations/graphql/utils.d.ts +19 -0
- package/build/types/integrations/graphql/utils.d.ts.map +1 -0
- package/build/types/integrations/groq.d.ts +10 -0
- package/build/types/integrations/groq.d.ts.map +1 -0
- package/build/types/integrations/hapi/hapi-error-handler.d.ts +21 -0
- package/build/types/integrations/hapi/hapi-error-handler.d.ts.map +1 -0
- package/build/types/integrations/hapi/hapi-types.d.ts +99 -0
- package/build/types/integrations/hapi/hapi-types.d.ts.map +1 -0
- package/build/types/integrations/hapi/hapi-utils.d.ts +34 -0
- package/build/types/integrations/hapi/hapi-utils.d.ts.map +1 -0
- package/build/types/integrations/hapi/index.d.ts +35 -0
- package/build/types/integrations/hapi/index.d.ts.map +1 -0
- package/build/types/integrations/index.d.ts +6 -0
- package/build/types/integrations/index.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/consumer.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/index.d.ts +16 -0
- package/build/types/integrations/kafkajs/index.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/semconv.d.ts +10 -0
- package/build/types/integrations/kafkajs/semconv.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/spans.d.ts +38 -0
- package/build/types/integrations/kafkajs/spans.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/types.d.ts.map +1 -0
- package/build/types/integrations/knex.d.ts +11 -0
- package/build/types/integrations/knex.d.ts.map +1 -0
- package/build/types/integrations/koa/index.d.ts +14 -0
- package/build/types/integrations/koa/index.d.ts.map +1 -0
- package/build/types/integrations/koa/koa-error-handler.d.ts +33 -0
- package/build/types/integrations/koa/koa-error-handler.d.ts.map +1 -0
- package/build/types/integrations/langchain.d.ts +9 -0
- package/build/types/integrations/langchain.d.ts.map +1 -0
- package/build/types/integrations/langgraph.d.ts +9 -0
- package/build/types/integrations/langgraph.d.ts.map +1 -0
- package/build/types/integrations/lru-memoizer.d.ts +10 -0
- package/build/types/integrations/lru-memoizer.d.ts.map +1 -0
- package/build/types/integrations/mastra.d.ts +18 -0
- package/build/types/integrations/mastra.d.ts.map +1 -0
- package/build/types/integrations/mistral.d.ts +7 -0
- package/build/types/integrations/mistral.d.ts.map +1 -0
- package/build/types/integrations/mongodb/index.d.ts +12 -0
- package/build/types/integrations/mongodb/index.d.ts.map +1 -0
- package/build/types/integrations/mongodb/mongodb-span.d.ts +65 -0
- package/build/types/integrations/mongodb/mongodb-span.d.ts.map +1 -0
- package/build/types/integrations/mongoose/index.d.ts +15 -0
- package/build/types/integrations/mongoose/index.d.ts.map +1 -0
- package/build/types/integrations/mongoose/mongoose-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/mongoose/mongoose-legacy-span.d.ts +30 -0
- package/build/types/integrations/mongoose/mongoose-legacy-span.d.ts.map +1 -0
- package/build/types/integrations/mysql.d.ts +12 -0
- package/build/types/integrations/mysql.d.ts.map +1 -0
- package/build/types/integrations/mysql2/index.d.ts +17 -0
- package/build/types/integrations/mysql2/index.d.ts.map +1 -0
- package/build/types/integrations/mysql2/mysql2-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/openai-compatible.d.ts +32 -0
- package/build/types/integrations/openai-compatible.d.ts.map +1 -0
- package/build/types/integrations/openai.d.ts +9 -0
- package/build/types/integrations/openai.d.ts.map +1 -0
- package/build/types/integrations/postgres-js.d.ts +27 -0
- package/build/types/integrations/postgres-js.d.ts.map +1 -0
- package/build/types/integrations/postgres.d.ts +15 -0
- package/build/types/integrations/postgres.d.ts.map +1 -0
- package/build/types/integrations/postgresjs.d.ts +75 -0
- package/build/types/integrations/postgresjs.d.ts.map +1 -0
- package/build/types/integrations/prisma/global.d.ts.map +1 -0
- package/build/types/integrations/prisma/index.d.ts +41 -0
- package/build/types/integrations/prisma/index.d.ts.map +1 -0
- package/build/types/integrations/prisma/tracing-helper.d.ts.map +1 -0
- package/build/types/integrations/prisma/types.d.ts +37 -0
- package/build/types/integrations/prisma/types.d.ts.map +1 -0
- package/build/types/integrations/redis/index.d.ts +25 -0
- package/build/types/integrations/redis/index.d.ts.map +1 -0
- package/build/types/integrations/redis/ioredis-channel-subscriber.d.ts +30 -0
- package/build/types/integrations/redis/ioredis-channel-subscriber.d.ts.map +1 -0
- package/build/types/integrations/redis/redis-cache.d.ts +61 -0
- package/build/types/integrations/redis/redis-cache.d.ts.map +1 -0
- package/build/types/integrations/redis/redis-dc-subscriber.d.ts +81 -0
- package/build/types/integrations/redis/redis-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/redis/redis-span-name.d.ts +24 -0
- package/build/types/integrations/redis/redis-span-name.d.ts.map +1 -0
- package/build/types/integrations/redis/redis-statement-serializer.d.ts.map +1 -0
- package/build/types/integrations/tedious.d.ts +11 -0
- package/build/types/integrations/tedious.d.ts.map +1 -0
- package/build/types/integrations/together-ai.d.ts +9 -0
- package/build/types/integrations/together-ai.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/gen-ai-recording-mode.d.ts +15 -0
- package/build/types/integrations/vercel-ai/gen-ai-recording-mode.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/index.d.ts +12 -0
- package/build/types/integrations/vercel-ai/index.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/util.d.ts +30 -0
- package/build/types/integrations/vercel-ai/util.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/vercel-ai-dc-subscriber.d.ts +69 -0
- package/build/types/integrations/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts.map +1 -0
- package/build/types/opentelemetry.d.ts +49 -0
- package/build/types/opentelemetry.d.ts.map +1 -0
- package/build/types/orchestrion/apmTypes.d.ts +4 -0
- package/build/types/orchestrion/apmTypes.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/bun.d.ts +21 -0
- package/build/types/orchestrion/bundler/bun.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/esbuild.d.ts +1 -0
- package/build/types/orchestrion/bundler/esbuild.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/moduleInjectedTransform.d.ts +31 -0
- package/build/types/orchestrion/bundler/moduleInjectedTransform.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/options.d.ts +36 -31
- package/build/types/orchestrion/bundler/options.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/resolve.d.ts +35 -0
- package/build/types/orchestrion/bundler/resolve.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/rollup.d.ts +1 -0
- package/build/types/orchestrion/bundler/rollup.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/vite.d.ts +1 -0
- package/build/types/orchestrion/bundler/vite.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/webpack-loader.d.ts +26 -1
- package/build/types/orchestrion/bundler/webpack-loader.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/webpack.d.ts +3 -18
- package/build/types/orchestrion/bundler/webpack.d.ts.map +1 -1
- package/build/types/orchestrion/channels.d.ts +138 -125
- package/build/types/orchestrion/channels.d.ts.map +1 -1
- package/build/types/orchestrion/config/amqplib.d.ts +21 -22
- package/build/types/orchestrion/config/amqplib.d.ts.map +1 -1
- package/build/types/orchestrion/config/anthropic-ai.d.ts +5 -7
- package/build/types/orchestrion/config/anthropic-ai.d.ts.map +1 -1
- package/build/types/orchestrion/config/aws-sdk.d.ts +4 -5
- package/build/types/orchestrion/config/aws-sdk.d.ts.map +1 -1
- package/build/types/orchestrion/config/channel-integration-definitions.d.ts +68 -35
- package/build/types/orchestrion/config/channel-integration-definitions.d.ts.map +1 -1
- package/build/types/orchestrion/config/dataloader.d.ts +17 -19
- package/build/types/orchestrion/config/dataloader.d.ts.map +1 -1
- package/build/types/orchestrion/config/express.d.ts +5 -6
- package/build/types/orchestrion/config/express.d.ts.map +1 -1
- package/build/types/orchestrion/config/firebase.d.ts +23 -24
- package/build/types/orchestrion/config/firebase.d.ts.map +1 -1
- package/build/types/orchestrion/config/flue.d.ts +9 -0
- package/build/types/orchestrion/config/flue.d.ts.map +1 -0
- package/build/types/orchestrion/config/generic-pool.d.ts +4 -5
- package/build/types/orchestrion/config/generic-pool.d.ts.map +1 -1
- package/build/types/orchestrion/config/google-genai.d.ts +6 -7
- package/build/types/orchestrion/config/google-genai.d.ts.map +1 -1
- package/build/types/orchestrion/config/graphql.d.ts +6 -7
- package/build/types/orchestrion/config/graphql.d.ts.map +1 -1
- package/build/types/orchestrion/config/groq.d.ts +8 -0
- package/build/types/orchestrion/config/groq.d.ts.map +1 -0
- package/build/types/orchestrion/config/hapi.d.ts +5 -4
- package/build/types/orchestrion/config/hapi.d.ts.map +1 -1
- package/build/types/orchestrion/config/index.d.ts +47 -10
- package/build/types/orchestrion/config/index.d.ts.map +1 -1
- package/build/types/orchestrion/config/ioredis.d.ts +4 -4
- package/build/types/orchestrion/config/ioredis.d.ts.map +1 -1
- package/build/types/orchestrion/config/kafkajs.d.ts +3 -4
- package/build/types/orchestrion/config/kafkajs.d.ts.map +1 -1
- package/build/types/orchestrion/config/knex.d.ts +5 -6
- package/build/types/orchestrion/config/knex.d.ts.map +1 -1
- package/build/types/orchestrion/config/koa.d.ts +3 -3
- package/build/types/orchestrion/config/koa.d.ts.map +1 -1
- package/build/types/orchestrion/config/langchain.d.ts +4 -5
- package/build/types/orchestrion/config/langchain.d.ts.map +1 -1
- package/build/types/orchestrion/config/langgraph.d.ts +5 -6
- package/build/types/orchestrion/config/langgraph.d.ts.map +1 -1
- package/build/types/orchestrion/config/lru-memoizer.d.ts +2 -3
- package/build/types/orchestrion/config/lru-memoizer.d.ts.map +1 -1
- package/build/types/orchestrion/config/mastra.d.ts +8 -0
- package/build/types/orchestrion/config/mastra.d.ts.map +1 -0
- package/build/types/orchestrion/config/mistral.d.ts +46 -0
- package/build/types/orchestrion/config/mistral.d.ts.map +1 -0
- package/build/types/orchestrion/config/module-names.d.ts +8 -0
- package/build/types/orchestrion/config/module-names.d.ts.map +1 -0
- package/build/types/orchestrion/config/mongodb.d.ts +21 -22
- package/build/types/orchestrion/config/mongodb.d.ts.map +1 -1
- package/build/types/orchestrion/config/mongoose.d.ts +10 -32
- package/build/types/orchestrion/config/mongoose.d.ts.map +1 -1
- package/build/types/orchestrion/config/mysql.d.ts +2 -3
- package/build/types/orchestrion/config/mysql.d.ts.map +1 -1
- package/build/types/orchestrion/config/mysql2.d.ts +5 -17
- package/build/types/orchestrion/config/mysql2.d.ts.map +1 -1
- package/build/types/orchestrion/config/nestjs.d.ts +10 -11
- package/build/types/orchestrion/config/nestjs.d.ts.map +1 -1
- package/build/types/orchestrion/config/openai-compatible.d.ts +17 -0
- package/build/types/orchestrion/config/openai-compatible.d.ts.map +1 -0
- package/build/types/orchestrion/config/openai.d.ts +4 -5
- package/build/types/orchestrion/config/openai.d.ts.map +1 -1
- package/build/types/orchestrion/config/pg.d.ts +6 -7
- package/build/types/orchestrion/config/pg.d.ts.map +1 -1
- package/build/types/orchestrion/config/postgres.d.ts +6 -6
- package/build/types/orchestrion/config/postgres.d.ts.map +1 -1
- package/build/types/orchestrion/config/redis.d.ts +10 -36
- package/build/types/orchestrion/config/redis.d.ts.map +1 -1
- package/build/types/orchestrion/config/registration-only.d.ts +22 -0
- package/build/types/orchestrion/config/registration-only.d.ts.map +1 -0
- package/build/types/orchestrion/config/remix.d.ts +5 -6
- package/build/types/orchestrion/config/remix.d.ts.map +1 -1
- package/build/types/orchestrion/config/tedious.d.ts +9 -9
- package/build/types/orchestrion/config/tedious.d.ts.map +1 -1
- package/build/types/orchestrion/config/together-ai.d.ts +8 -0
- package/build/types/orchestrion/config/together-ai.d.ts.map +1 -0
- package/build/types/orchestrion/config/vercel-ai.d.ts +9 -9
- package/build/types/orchestrion/config/vercel-ai.d.ts.map +1 -1
- package/build/types/orchestrion/detect.d.ts +12 -9
- package/build/types/orchestrion/detect.d.ts.map +1 -1
- package/build/types/orchestrion/instrumentation.d.ts +37 -0
- package/build/types/orchestrion/instrumentation.d.ts.map +1 -0
- package/build/types/tracing-channel.d.ts +13 -1
- package/build/types/tracing-channel.d.ts.map +1 -1
- package/build/types/utils/moduleInjected.d.ts +30 -0
- package/build/types/utils/moduleInjected.d.ts.map +1 -0
- package/build/types/utils/setHttpServerSpanRouteAttribute.d.ts +9 -0
- package/build/types/utils/setHttpServerSpanRouteAttribute.d.ts.map +1 -0
- package/build/types/utils/sql.d.ts +53 -0
- package/build/types/utils/sql.d.ts.map +1 -0
- package/changes.json +3 -3
- package/package.json +27 -63
- package/build/cjs/_virtual/chunk-D6vf50IK.js +0 -6
- package/build/cjs/_virtual/chunk-D6vf50IK.js.map +0 -1
- package/build/cjs/_virtual/instrumentation-serde-BFky_HG6.js +0 -6
- package/build/cjs/_virtual/instrumentation-serde-BFky_HG6.js.map +0 -1
- package/build/cjs/_virtual/node.js +0 -6
- package/build/cjs/_virtual/node.js.map +0 -1
- package/build/cjs/_virtual/transforms.js +0 -6
- package/build/cjs/_virtual/transforms.js.map +0 -1
- package/build/cjs/graphql/graphql-dc-subscriber.js +0 -123
- package/build/cjs/graphql/graphql-dc-subscriber.js.map +0 -1
- package/build/cjs/graphql/index.js +0 -36
- package/build/cjs/graphql/index.js.map +0 -1
- package/build/cjs/graphql/utils.js +0 -92
- package/build/cjs/graphql/utils.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/amqplib.js +0 -433
- package/build/cjs/integrations/tracing-channel/amqplib.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/anthropic.js +0 -114
- package/build/cjs/integrations/tracing-channel/anthropic.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js +0 -16
- package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/index.js +0 -167
- package/build/cjs/integrations/tracing-channel/aws-sdk/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +0 -46
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +0 -419
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js +0 -131
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js +0 -21
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js +0 -64
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js +0 -21
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +0 -27
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js +0 -63
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js +0 -116
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +0 -25
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/utils.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/dataloader.js +0 -118
- package/build/cjs/integrations/tracing-channel/dataloader.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/express/index.js +0 -41
- package/build/cjs/integrations/tracing-channel/express/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/express/instrumentation.js +0 -168
- package/build/cjs/integrations/tracing-channel/express/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/express/route.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/fastify/errors.js +0 -55
- package/build/cjs/integrations/tracing-channel/fastify/errors.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/fastify/index.js +0 -32
- package/build/cjs/integrations/tracing-channel/fastify/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js +0 -292
- package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/fastify/utils.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/firebase/firestore.js +0 -91
- package/build/cjs/integrations/tracing-channel/firebase/firestore.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/firebase/functions.js +0 -67
- package/build/cjs/integrations/tracing-channel/firebase/functions.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/firebase/index.js +0 -37
- package/build/cjs/integrations/tracing-channel/firebase/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/firebase/instrumentation.js +0 -79
- package/build/cjs/integrations/tracing-channel/firebase/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/generic-pool.js +0 -47
- package/build/cjs/integrations/tracing-channel/generic-pool.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/google-genai.js +0 -109
- package/build/cjs/integrations/tracing-channel/google-genai.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/graphql/constants.js +0 -26
- package/build/cjs/integrations/tracing-channel/graphql/constants.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/graphql/index.js +0 -79
- package/build/cjs/integrations/tracing-channel/graphql/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/graphql/resolvers.js +0 -168
- package/build/cjs/integrations/tracing-channel/graphql/resolvers.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/graphql/spans.js +0 -102
- package/build/cjs/integrations/tracing-channel/graphql/spans.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/hapi-types.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/hapi-utils.js +0 -177
- package/build/cjs/integrations/tracing-channel/hapi-utils.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/hapi.js +0 -65
- package/build/cjs/integrations/tracing-channel/hapi.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/ioredis.js +0 -112
- package/build/cjs/integrations/tracing-channel/ioredis.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/kafkajs/consumer.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/kafkajs/index.js +0 -83
- package/build/cjs/integrations/tracing-channel/kafkajs/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/kafkajs/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/kafkajs/spans.js +0 -119
- package/build/cjs/integrations/tracing-channel/kafkajs/spans.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/knex.js +0 -201
- package/build/cjs/integrations/tracing-channel/knex.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/koa.js +0 -159
- package/build/cjs/integrations/tracing-channel/koa.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/langchain.js +0 -75
- package/build/cjs/integrations/tracing-channel/langchain.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/langgraph.js +0 -113
- package/build/cjs/integrations/tracing-channel/langgraph.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/lru-memoizer.js +0 -44
- package/build/cjs/integrations/tracing-channel/lru-memoizer.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/mongodb.js +0 -117
- package/build/cjs/integrations/tracing-channel/mongodb.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/mongoose.js +0 -123
- package/build/cjs/integrations/tracing-channel/mongoose.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/mysql.js +0 -120
- package/build/cjs/integrations/tracing-channel/mysql.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/mysql2.js +0 -96
- package/build/cjs/integrations/tracing-channel/mysql2.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/openai.js +0 -94
- package/build/cjs/integrations/tracing-channel/openai.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/postgres-js.js +0 -204
- package/build/cjs/integrations/tracing-channel/postgres-js.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/postgres.js +0 -183
- package/build/cjs/integrations/tracing-channel/postgres.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/redis.js +0 -231
- package/build/cjs/integrations/tracing-channel/redis.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/tedious.js +0 -158
- package/build/cjs/integrations/tracing-channel/tedious.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/vercel-ai.js +0 -38
- package/build/cjs/integrations/tracing-channel/vercel-ai.js.map +0 -1
- package/build/cjs/mongodb/mongodb-span.js +0 -133
- package/build/cjs/mongodb/mongodb-span.js.map +0 -1
- package/build/cjs/mongoose/index.js +0 -36
- package/build/cjs/mongoose/index.js.map +0 -1
- package/build/cjs/mongoose/mongoose-dc-subscriber.js +0 -97
- package/build/cjs/mongoose/mongoose-dc-subscriber.js.map +0 -1
- package/build/cjs/mongoose/mongoose-legacy-span.js +0 -40
- package/build/cjs/mongoose/mongoose-legacy-span.js.map +0 -1
- package/build/cjs/mysql2/index.js +0 -36
- package/build/cjs/mysql2/index.js.map +0 -1
- package/build/cjs/mysql2/mysql2-dc-subscriber.js +0 -68
- package/build/cjs/mysql2/mysql2-dc-subscriber.js.map +0 -1
- package/build/cjs/orchestrion/bundler/subscribeInjection.js +0 -41
- package/build/cjs/orchestrion/bundler/subscribeInjection.js.map +0 -1
- package/build/cjs/orchestrion/config/subscribe-injection.js +0 -25
- package/build/cjs/orchestrion/config/subscribe-injection.js.map +0 -1
- package/build/cjs/orchestrion/index.js +0 -94
- package/build/cjs/orchestrion/index.js.map +0 -1
- package/build/cjs/orchestrion/registerChannelIntegration.js +0 -13
- package/build/cjs/orchestrion/registerChannelIntegration.js.map +0 -1
- package/build/cjs/orchestrion/runtime/hook.js +0 -17
- package/build/cjs/orchestrion/runtime/hook.js.map +0 -1
- package/build/cjs/orchestrion/runtime/register.js +0 -84
- package/build/cjs/orchestrion/runtime/register.js.map +0 -1
- package/build/cjs/prisma/global.js.map +0 -1
- package/build/cjs/prisma/index.js.map +0 -1
- package/build/cjs/prisma/tracing-helper.js +0 -211
- package/build/cjs/prisma/tracing-helper.js.map +0 -1
- package/build/cjs/redis/index.js +0 -36
- package/build/cjs/redis/index.js.map +0 -1
- package/build/cjs/redis/redis-dc-subscriber.js +0 -101
- package/build/cjs/redis/redis-dc-subscriber.js.map +0 -1
- package/build/cjs/redis/redis-statement-serializer.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/chunk-D6vf50IK.js +0 -33
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/chunk-D6vf50IK.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/instrumentation-serde-BFky_HG6.js +0 -66
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/instrumentation-serde-BFky_HG6.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/webpack-loader.js +0 -90
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/webpack-loader.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/hook.js +0 -166
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/hook.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/index.js +0 -88
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/index.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/lib/diagnostics.js +0 -15
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/lib/diagnostics.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/lib/get-package-version.js +0 -30
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/lib/get-package-version.js.map +0 -1
- package/build/cjs/vendored/debug/src/common.js +0 -178
- package/build/cjs/vendored/debug/src/common.js.map +0 -1
- package/build/cjs/vendored/debug/src/node.js +0 -186
- package/build/cjs/vendored/debug/src/node.js.map +0 -1
- package/build/cjs/vendored/has-flag/index.js +0 -11
- package/build/cjs/vendored/has-flag/index.js.map +0 -1
- package/build/cjs/vendored/ms/index.js +0 -115
- package/build/cjs/vendored/ms/index.js.map +0 -1
- package/build/cjs/vendored/supports-color/index.js +0 -104
- package/build/cjs/vendored/supports-color/index.js.map +0 -1
- package/build/cjs/vercel-ai/index.js +0 -36
- package/build/cjs/vercel-ai/index.js.map +0 -1
- package/build/cjs/vercel-ai/util.js +0 -112
- package/build/cjs/vercel-ai/util.js.map +0 -1
- package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js +0 -444
- package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js.map +0 -1
- package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js +0 -399
- package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +0 -1
- package/build/esm/_virtual/chunk-D6vf50IK.js +0 -4
- package/build/esm/_virtual/chunk-D6vf50IK.js.map +0 -1
- package/build/esm/_virtual/instrumentation-serde-BFky_HG6.js +0 -4
- package/build/esm/_virtual/instrumentation-serde-BFky_HG6.js.map +0 -1
- package/build/esm/_virtual/node.js +0 -4
- package/build/esm/_virtual/node.js.map +0 -1
- package/build/esm/_virtual/transforms.js +0 -4
- package/build/esm/_virtual/transforms.js.map +0 -1
- package/build/esm/graphql/graphql-dc-subscriber.js +0 -116
- package/build/esm/graphql/graphql-dc-subscriber.js.map +0 -1
- package/build/esm/graphql/index.js +0 -21
- package/build/esm/graphql/index.js.map +0 -1
- package/build/esm/graphql/utils.js +0 -87
- package/build/esm/graphql/utils.js.map +0 -1
- package/build/esm/integrations/tracing-channel/amqplib.js +0 -418
- package/build/esm/integrations/tracing-channel/amqplib.js.map +0 -1
- package/build/esm/integrations/tracing-channel/anthropic.js +0 -99
- package/build/esm/integrations/tracing-channel/anthropic.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/constants.js +0 -9
- package/build/esm/integrations/tracing-channel/aws-sdk/constants.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/index.js +0 -152
- package/build/esm/integrations/tracing-channel/aws-sdk/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +0 -41
- package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +0 -417
- package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js +0 -129
- package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js +0 -19
- package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js +0 -62
- package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js +0 -19
- package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +0 -25
- package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js +0 -61
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js +0 -114
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +0 -23
- package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/utils.js.map +0 -1
- package/build/esm/integrations/tracing-channel/dataloader.js +0 -103
- package/build/esm/integrations/tracing-channel/dataloader.js.map +0 -1
- package/build/esm/integrations/tracing-channel/express/index.js +0 -26
- package/build/esm/integrations/tracing-channel/express/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/express/instrumentation.js +0 -166
- package/build/esm/integrations/tracing-channel/express/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing-channel/express/route.js.map +0 -1
- package/build/esm/integrations/tracing-channel/fastify/errors.js +0 -39
- package/build/esm/integrations/tracing-channel/fastify/errors.js.map +0 -1
- package/build/esm/integrations/tracing-channel/fastify/index.js +0 -28
- package/build/esm/integrations/tracing-channel/fastify/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/fastify/instrumentation.js +0 -277
- package/build/esm/integrations/tracing-channel/fastify/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing-channel/fastify/utils.js.map +0 -1
- package/build/esm/integrations/tracing-channel/firebase/firestore.js +0 -75
- package/build/esm/integrations/tracing-channel/firebase/firestore.js.map +0 -1
- package/build/esm/integrations/tracing-channel/firebase/functions.js +0 -65
- package/build/esm/integrations/tracing-channel/firebase/functions.js.map +0 -1
- package/build/esm/integrations/tracing-channel/firebase/index.js +0 -22
- package/build/esm/integrations/tracing-channel/firebase/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/firebase/instrumentation.js +0 -64
- package/build/esm/integrations/tracing-channel/firebase/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing-channel/generic-pool.js +0 -32
- package/build/esm/integrations/tracing-channel/generic-pool.js.map +0 -1
- package/build/esm/integrations/tracing-channel/google-genai.js +0 -94
- package/build/esm/integrations/tracing-channel/google-genai.js.map +0 -1
- package/build/esm/integrations/tracing-channel/graphql/constants.js +0 -14
- package/build/esm/integrations/tracing-channel/graphql/constants.js.map +0 -1
- package/build/esm/integrations/tracing-channel/graphql/index.js +0 -63
- package/build/esm/integrations/tracing-channel/graphql/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/graphql/resolvers.js +0 -164
- package/build/esm/integrations/tracing-channel/graphql/resolvers.js.map +0 -1
- package/build/esm/integrations/tracing-channel/graphql/spans.js +0 -96
- package/build/esm/integrations/tracing-channel/graphql/spans.js.map +0 -1
- package/build/esm/integrations/tracing-channel/hapi-types.js.map +0 -1
- package/build/esm/integrations/tracing-channel/hapi-utils.js +0 -172
- package/build/esm/integrations/tracing-channel/hapi-utils.js.map +0 -1
- package/build/esm/integrations/tracing-channel/hapi.js +0 -50
- package/build/esm/integrations/tracing-channel/hapi.js.map +0 -1
- package/build/esm/integrations/tracing-channel/ioredis.js +0 -96
- package/build/esm/integrations/tracing-channel/ioredis.js.map +0 -1
- package/build/esm/integrations/tracing-channel/kafkajs/consumer.js.map +0 -1
- package/build/esm/integrations/tracing-channel/kafkajs/index.js +0 -68
- package/build/esm/integrations/tracing-channel/kafkajs/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/kafkajs/semconv.js.map +0 -1
- package/build/esm/integrations/tracing-channel/kafkajs/spans.js +0 -112
- package/build/esm/integrations/tracing-channel/kafkajs/spans.js.map +0 -1
- package/build/esm/integrations/tracing-channel/knex.js +0 -186
- package/build/esm/integrations/tracing-channel/knex.js.map +0 -1
- package/build/esm/integrations/tracing-channel/koa.js +0 -144
- package/build/esm/integrations/tracing-channel/koa.js.map +0 -1
- package/build/esm/integrations/tracing-channel/langchain.js +0 -60
- package/build/esm/integrations/tracing-channel/langchain.js.map +0 -1
- package/build/esm/integrations/tracing-channel/langgraph.js +0 -98
- package/build/esm/integrations/tracing-channel/langgraph.js.map +0 -1
- package/build/esm/integrations/tracing-channel/lru-memoizer.js +0 -29
- package/build/esm/integrations/tracing-channel/lru-memoizer.js.map +0 -1
- package/build/esm/integrations/tracing-channel/mongodb.js +0 -102
- package/build/esm/integrations/tracing-channel/mongodb.js.map +0 -1
- package/build/esm/integrations/tracing-channel/mongoose.js +0 -108
- package/build/esm/integrations/tracing-channel/mongoose.js.map +0 -1
- package/build/esm/integrations/tracing-channel/mysql.js +0 -105
- package/build/esm/integrations/tracing-channel/mysql.js.map +0 -1
- package/build/esm/integrations/tracing-channel/mysql2.js +0 -81
- package/build/esm/integrations/tracing-channel/mysql2.js.map +0 -1
- package/build/esm/integrations/tracing-channel/openai.js +0 -79
- package/build/esm/integrations/tracing-channel/openai.js.map +0 -1
- package/build/esm/integrations/tracing-channel/postgres-js.js +0 -189
- package/build/esm/integrations/tracing-channel/postgres-js.js.map +0 -1
- package/build/esm/integrations/tracing-channel/postgres.js +0 -168
- package/build/esm/integrations/tracing-channel/postgres.js.map +0 -1
- package/build/esm/integrations/tracing-channel/redis.js +0 -216
- package/build/esm/integrations/tracing-channel/redis.js.map +0 -1
- package/build/esm/integrations/tracing-channel/tedious.js +0 -143
- package/build/esm/integrations/tracing-channel/tedious.js.map +0 -1
- package/build/esm/integrations/tracing-channel/vercel-ai.js +0 -23
- package/build/esm/integrations/tracing-channel/vercel-ai.js.map +0 -1
- package/build/esm/mongodb/mongodb-span.js +0 -126
- package/build/esm/mongodb/mongodb-span.js.map +0 -1
- package/build/esm/mongoose/index.js +0 -21
- package/build/esm/mongoose/index.js.map +0 -1
- package/build/esm/mongoose/mongoose-dc-subscriber.js +0 -89
- package/build/esm/mongoose/mongoose-dc-subscriber.js.map +0 -1
- package/build/esm/mongoose/mongoose-legacy-span.js +0 -38
- package/build/esm/mongoose/mongoose-legacy-span.js.map +0 -1
- package/build/esm/mysql2/index.js +0 -21
- package/build/esm/mysql2/index.js.map +0 -1
- package/build/esm/mysql2/mysql2-dc-subscriber.js +0 -62
- package/build/esm/mysql2/mysql2-dc-subscriber.js.map +0 -1
- package/build/esm/orchestrion/bundler/subscribeInjection.js +0 -39
- package/build/esm/orchestrion/bundler/subscribeInjection.js.map +0 -1
- package/build/esm/orchestrion/config/subscribe-injection.js +0 -22
- package/build/esm/orchestrion/config/subscribe-injection.js.map +0 -1
- package/build/esm/orchestrion/index.js +0 -61
- package/build/esm/orchestrion/index.js.map +0 -1
- package/build/esm/orchestrion/registerChannelIntegration.js +0 -11
- package/build/esm/orchestrion/registerChannelIntegration.js.map +0 -1
- package/build/esm/orchestrion/runtime/hook.js +0 -8
- package/build/esm/orchestrion/runtime/hook.js.map +0 -1
- package/build/esm/orchestrion/runtime/register.js +0 -69
- package/build/esm/orchestrion/runtime/register.js.map +0 -1
- package/build/esm/prisma/global.js.map +0 -1
- package/build/esm/prisma/index.js.map +0 -1
- package/build/esm/prisma/tracing-helper.js +0 -209
- package/build/esm/prisma/tracing-helper.js.map +0 -1
- package/build/esm/redis/index.js +0 -21
- package/build/esm/redis/index.js.map +0 -1
- package/build/esm/redis/redis-dc-subscriber.js +0 -94
- package/build/esm/redis/redis-dc-subscriber.js.map +0 -1
- package/build/esm/redis/redis-statement-serializer.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/chunk-D6vf50IK.js +0 -33
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/chunk-D6vf50IK.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/instrumentation-serde-BFky_HG6.js +0 -66
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/instrumentation-serde-BFky_HG6.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/webpack-loader.js +0 -88
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/webpack-loader.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/hook.js +0 -157
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/hook.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/index.js +0 -86
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/index.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/lib/diagnostics.js +0 -13
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/lib/diagnostics.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/lib/get-package-version.js +0 -27
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/lib/get-package-version.js.map +0 -1
- package/build/esm/vendored/debug/src/common.js +0 -176
- package/build/esm/vendored/debug/src/common.js.map +0 -1
- package/build/esm/vendored/debug/src/node.js +0 -183
- package/build/esm/vendored/debug/src/node.js.map +0 -1
- package/build/esm/vendored/has-flag/index.js +0 -9
- package/build/esm/vendored/has-flag/index.js.map +0 -1
- package/build/esm/vendored/ms/index.js +0 -113
- package/build/esm/vendored/ms/index.js.map +0 -1
- package/build/esm/vendored/supports-color/index.js +0 -102
- package/build/esm/vendored/supports-color/index.js.map +0 -1
- package/build/esm/vercel-ai/index.js +0 -21
- package/build/esm/vercel-ai/index.js.map +0 -1
- package/build/esm/vercel-ai/util.js +0 -106
- package/build/esm/vercel-ai/util.js.map +0 -1
- package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js +0 -436
- package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js.map +0 -1
- package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js +0 -397
- package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +0 -1
- package/build/orchestrion/import-hook.mjs +0 -19
- package/build/types/graphql/graphql-dc-subscriber.d.ts +0 -94
- package/build/types/graphql/graphql-dc-subscriber.d.ts.map +0 -1
- package/build/types/graphql/index.d.ts +0 -12
- package/build/types/graphql/index.d.ts.map +0 -1
- package/build/types/graphql/utils.d.ts +0 -36
- package/build/types/graphql/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/amqplib.d.ts +0 -11
- package/build/types/integrations/tracing-channel/amqplib.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/anthropic.d.ts +0 -10
- package/build/types/integrations/tracing-channel/anthropic.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts +0 -15
- package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts +0 -15
- package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/lambda.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/s3.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/sns.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/sqs.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts +0 -26
- package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/dataloader.d.ts +0 -11
- package/build/types/integrations/tracing-channel/dataloader.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/express/index.d.ts +0 -18
- package/build/types/integrations/tracing-channel/express/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/express/instrumentation.d.ts +0 -4
- package/build/types/integrations/tracing-channel/express/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/express/route.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/express/types.d.ts +0 -76
- package/build/types/integrations/tracing-channel/express/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/errors.d.ts +0 -12
- package/build/types/integrations/tracing-channel/fastify/errors.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/index.d.ts +0 -66
- package/build/types/integrations/tracing-channel/fastify/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts +0 -10
- package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/types.d.ts +0 -32
- package/build/types/integrations/tracing-channel/fastify/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/utils.d.ts +0 -9
- package/build/types/integrations/tracing-channel/fastify/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/firestore-types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/firestore.d.ts +0 -18
- package/build/types/integrations/tracing-channel/firebase/firestore.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/functions.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/index.d.ts +0 -15
- package/build/types/integrations/tracing-channel/firebase/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/generic-pool.d.ts +0 -10
- package/build/types/integrations/tracing-channel/generic-pool.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/google-genai.d.ts +0 -12
- package/build/types/integrations/tracing-channel/google-genai.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/constants.d.ts +0 -12
- package/build/types/integrations/tracing-channel/graphql/constants.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/graphql-types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/index.d.ts +0 -28
- package/build/types/integrations/tracing-channel/graphql/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/resolvers.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/spans.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/types.d.ts +0 -25
- package/build/types/integrations/tracing-channel/graphql/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/hapi-types.d.ts +0 -53
- package/build/types/integrations/tracing-channel/hapi-types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/hapi-utils.d.ts +0 -25
- package/build/types/integrations/tracing-channel/hapi-utils.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/hapi.d.ts +0 -9
- package/build/types/integrations/tracing-channel/hapi.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/ioredis.d.ts +0 -37
- package/build/types/integrations/tracing-channel/ioredis.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/consumer.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/index.d.ts +0 -17
- package/build/types/integrations/tracing-channel/kafkajs/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts +0 -10
- package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts +0 -38
- package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/knex.d.ts +0 -11
- package/build/types/integrations/tracing-channel/knex.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/koa.d.ts +0 -14
- package/build/types/integrations/tracing-channel/koa.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/langchain.d.ts +0 -10
- package/build/types/integrations/tracing-channel/langchain.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/langgraph.d.ts +0 -10
- package/build/types/integrations/tracing-channel/langgraph.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/lru-memoizer.d.ts +0 -10
- package/build/types/integrations/tracing-channel/lru-memoizer.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/mongodb.d.ts +0 -12
- package/build/types/integrations/tracing-channel/mongodb.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/mongoose.d.ts +0 -15
- package/build/types/integrations/tracing-channel/mongoose.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/mysql.d.ts +0 -12
- package/build/types/integrations/tracing-channel/mysql.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/mysql2.d.ts +0 -15
- package/build/types/integrations/tracing-channel/mysql2.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/openai.d.ts +0 -10
- package/build/types/integrations/tracing-channel/openai.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/postgres-js.d.ts +0 -26
- package/build/types/integrations/tracing-channel/postgres-js.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/postgres.d.ts +0 -15
- package/build/types/integrations/tracing-channel/postgres.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/redis.d.ts +0 -16
- package/build/types/integrations/tracing-channel/redis.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/tedious.d.ts +0 -11
- package/build/types/integrations/tracing-channel/tedious.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/vercel-ai.d.ts +0 -9
- package/build/types/integrations/tracing-channel/vercel-ai.d.ts.map +0 -1
- package/build/types/mongodb/mongodb-span.d.ts +0 -66
- package/build/types/mongodb/mongodb-span.d.ts.map +0 -1
- package/build/types/mongoose/index.d.ts +0 -13
- package/build/types/mongoose/index.d.ts.map +0 -1
- package/build/types/mongoose/mongoose-dc-subscriber.d.ts.map +0 -1
- package/build/types/mongoose/mongoose-legacy-span.d.ts +0 -29
- package/build/types/mongoose/mongoose-legacy-span.d.ts.map +0 -1
- package/build/types/mysql2/index.d.ts +0 -11
- package/build/types/mysql2/index.d.ts.map +0 -1
- package/build/types/mysql2/mysql2-dc-subscriber.d.ts.map +0 -1
- package/build/types/orchestrion/bundler/subscribeInjection.d.ts +0 -13
- package/build/types/orchestrion/bundler/subscribeInjection.d.ts.map +0 -1
- package/build/types/orchestrion/config/subscribe-injection.d.ts +0 -31
- package/build/types/orchestrion/config/subscribe-injection.d.ts.map +0 -1
- package/build/types/orchestrion/index.d.ts +0 -137
- package/build/types/orchestrion/index.d.ts.map +0 -1
- package/build/types/orchestrion/registerChannelIntegration.d.ts +0 -33
- package/build/types/orchestrion/registerChannelIntegration.d.ts.map +0 -1
- package/build/types/orchestrion/runtime/register.d.ts +0 -21
- package/build/types/orchestrion/runtime/register.d.ts.map +0 -1
- package/build/types/prisma/global.d.ts.map +0 -1
- package/build/types/prisma/index.d.ts +0 -45
- package/build/types/prisma/index.d.ts.map +0 -1
- package/build/types/prisma/tracing-helper.d.ts.map +0 -1
- package/build/types/prisma/types.d.ts +0 -37
- package/build/types/prisma/types.d.ts.map +0 -1
- package/build/types/redis/index.d.ts +0 -18
- package/build/types/redis/index.d.ts.map +0 -1
- package/build/types/redis/redis-dc-subscriber.d.ts +0 -89
- package/build/types/redis/redis-dc-subscriber.d.ts.map +0 -1
- package/build/types/redis/redis-statement-serializer.d.ts.map +0 -1
- package/build/types/vercel-ai/index.d.ts +0 -26
- package/build/types/vercel-ai/index.d.ts.map +0 -1
- package/build/types/vercel-ai/util.d.ts +0 -30
- package/build/types/vercel-ai/util.d.ts.map +0 -1
- package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts +0 -72
- package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +0 -1
- package/build/types/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts.map +0 -1
- package/build/types-ts3.8/debug-build.d.ts +0 -7
- package/build/types-ts3.8/graphql/graphql-dc-subscriber.d.ts +0 -94
- package/build/types-ts3.8/graphql/index.d.ts +0 -12
- package/build/types-ts3.8/graphql/utils.d.ts +0 -36
- package/build/types-ts3.8/index.d.ts +0 -23
- package/build/types-ts3.8/integrations/tracing-channel/amqplib.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing-channel/anthropic.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts +0 -43
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/constants.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/index.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts +0 -23
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts +0 -14
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts +0 -8
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/index.d.ts +0 -2
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/lambda.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/s3.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts +0 -8
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sns.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sqs.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/types.d.ts +0 -26
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/utils.d.ts +0 -5
- package/build/types-ts3.8/integrations/tracing-channel/dataloader.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing-channel/express/index.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing-channel/express/instrumentation.d.ts +0 -4
- package/build/types-ts3.8/integrations/tracing-channel/express/route.d.ts +0 -28
- package/build/types-ts3.8/integrations/tracing-channel/express/types.d.ts +0 -76
- package/build/types-ts3.8/integrations/tracing-channel/fastify/errors.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/fastify/index.d.ts +0 -66
- package/build/types-ts3.8/integrations/tracing-channel/fastify/instrumentation.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/fastify/types.d.ts +0 -32
- package/build/types-ts3.8/integrations/tracing-channel/fastify/utils.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/firebase/firestore-types.d.ts +0 -38
- package/build/types-ts3.8/integrations/tracing-channel/firebase/firestore.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing-channel/firebase/functions.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/firebase/index.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/firebase/instrumentation.d.ts +0 -2
- package/build/types-ts3.8/integrations/tracing-channel/generic-pool.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/google-genai.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/graphql/constants.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/graphql/graphql-types.d.ts +0 -135
- package/build/types-ts3.8/integrations/tracing-channel/graphql/index.d.ts +0 -30
- package/build/types-ts3.8/integrations/tracing-channel/graphql/resolvers.d.ts +0 -13
- package/build/types-ts3.8/integrations/tracing-channel/graphql/spans.d.ts +0 -17
- package/build/types-ts3.8/integrations/tracing-channel/graphql/types.d.ts +0 -25
- package/build/types-ts3.8/integrations/tracing-channel/hapi-types.d.ts +0 -65
- package/build/types-ts3.8/integrations/tracing-channel/hapi-utils.d.ts +0 -25
- package/build/types-ts3.8/integrations/tracing-channel/hapi.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/ioredis.d.ts +0 -37
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/consumer.d.ts +0 -8
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/index.d.ts +0 -17
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/semconv.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/spans.d.ts +0 -38
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/types.d.ts +0 -40
- package/build/types-ts3.8/integrations/tracing-channel/knex.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing-channel/koa.d.ts +0 -14
- package/build/types-ts3.8/integrations/tracing-channel/langchain.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/langgraph.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/lru-memoizer.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/mongodb.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/mongoose.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/mysql.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/mysql2.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/openai.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/postgres-js.d.ts +0 -26
- package/build/types-ts3.8/integrations/tracing-channel/postgres.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/redis.d.ts +0 -16
- package/build/types-ts3.8/integrations/tracing-channel/tedious.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing-channel/vercel-ai.d.ts +0 -9
- package/build/types-ts3.8/mongodb/mongodb-span.d.ts +0 -66
- package/build/types-ts3.8/mongoose/index.d.ts +0 -13
- package/build/types-ts3.8/mongoose/mongoose-dc-subscriber.d.ts +0 -63
- package/build/types-ts3.8/mongoose/mongoose-legacy-span.d.ts +0 -29
- package/build/types-ts3.8/mysql2/index.d.ts +0 -11
- package/build/types-ts3.8/mysql2/mysql2-dc-subscriber.d.ts +0 -59
- package/build/types-ts3.8/node-diagnostics-channel.d.ts +0 -19
- package/build/types-ts3.8/orchestrion/apmTypes.d.ts +0 -169
- package/build/types-ts3.8/orchestrion/bundler/esbuild.d.ts +0 -20
- package/build/types-ts3.8/orchestrion/bundler/options.d.ts +0 -63
- package/build/types-ts3.8/orchestrion/bundler/rollup.d.ts +0 -17
- package/build/types-ts3.8/orchestrion/bundler/subscribeInjection.d.ts +0 -13
- package/build/types-ts3.8/orchestrion/bundler/vite.d.ts +0 -18
- package/build/types-ts3.8/orchestrion/bundler/webpack-loader.d.ts +0 -3
- package/build/types-ts3.8/orchestrion/bundler/webpack.d.ts +0 -35
- package/build/types-ts3.8/orchestrion/channels.d.ts +0 -145
- package/build/types-ts3.8/orchestrion/config/amqplib.d.ts +0 -68
- package/build/types-ts3.8/orchestrion/config/anthropic-ai.d.ts +0 -33
- package/build/types-ts3.8/orchestrion/config/aws-sdk.d.ts +0 -21
- package/build/types-ts3.8/orchestrion/config/channel-integration-definitions.d.ts +0 -139
- package/build/types-ts3.8/orchestrion/config/dataloader.d.ts +0 -48
- package/build/types-ts3.8/orchestrion/config/express.d.ts +0 -32
- package/build/types-ts3.8/orchestrion/config/firebase.d.ts +0 -43
- package/build/types-ts3.8/orchestrion/config/generic-pool.d.ts +0 -33
- package/build/types-ts3.8/orchestrion/config/google-genai.d.ts +0 -32
- package/build/types-ts3.8/orchestrion/config/graphql.d.ts +0 -31
- package/build/types-ts3.8/orchestrion/config/hapi.d.ts +0 -19
- package/build/types-ts3.8/orchestrion/config/index.d.ts +0 -49
- package/build/types-ts3.8/orchestrion/config/ioredis.d.ts +0 -8
- package/build/types-ts3.8/orchestrion/config/kafkajs.d.ts +0 -19
- package/build/types-ts3.8/orchestrion/config/knex.d.ts +0 -10
- package/build/types-ts3.8/orchestrion/config/koa.d.ts +0 -19
- package/build/types-ts3.8/orchestrion/config/langchain.d.ts +0 -20
- package/build/types-ts3.8/orchestrion/config/langgraph.d.ts +0 -23
- package/build/types-ts3.8/orchestrion/config/lru-memoizer.d.ts +0 -18
- package/build/types-ts3.8/orchestrion/config/mongodb.d.ts +0 -61
- package/build/types-ts3.8/orchestrion/config/mongoose.d.ts +0 -42
- package/build/types-ts3.8/orchestrion/config/mysql.d.ts +0 -18
- package/build/types-ts3.8/orchestrion/config/mysql2.d.ts +0 -20
- package/build/types-ts3.8/orchestrion/config/nestjs.d.ts +0 -25
- package/build/types-ts3.8/orchestrion/config/openai.d.ts +0 -20
- package/build/types-ts3.8/orchestrion/config/pg.d.ts +0 -35
- package/build/types-ts3.8/orchestrion/config/postgres.d.ts +0 -10
- package/build/types-ts3.8/orchestrion/config/redis.d.ts +0 -39
- package/build/types-ts3.8/orchestrion/config/remix.d.ts +0 -10
- package/build/types-ts3.8/orchestrion/config/subscribe-injection.d.ts +0 -31
- package/build/types-ts3.8/orchestrion/config/tedious.d.ts +0 -13
- package/build/types-ts3.8/orchestrion/config/vercel-ai.d.ts +0 -13
- package/build/types-ts3.8/orchestrion/detect.d.ts +0 -26
- package/build/types-ts3.8/orchestrion/index.d.ts +0 -139
- package/build/types-ts3.8/orchestrion/registerChannelIntegration.d.ts +0 -33
- package/build/types-ts3.8/orchestrion/runtime/register.d.ts +0 -21
- package/build/types-ts3.8/prisma/global.d.ts +0 -5
- package/build/types-ts3.8/prisma/index.d.ts +0 -45
- package/build/types-ts3.8/prisma/tracing-helper.d.ts +0 -52
- package/build/types-ts3.8/prisma/types.d.ts +0 -40
- package/build/types-ts3.8/redis/index.d.ts +0 -18
- package/build/types-ts3.8/redis/redis-dc-subscriber.d.ts +0 -89
- package/build/types-ts3.8/redis/redis-statement-serializer.d.ts +0 -6
- package/build/types-ts3.8/tracing-channel.d.ts +0 -73
- package/build/types-ts3.8/vercel-ai/index.d.ts +0 -26
- package/build/types-ts3.8/vercel-ai/util.d.ts +0 -30
- package/build/types-ts3.8/vercel-ai/vercel-ai-dc-subscriber.d.ts +0 -72
- package/build/types-ts3.8/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts +0 -12
- /package/build/cjs/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/ServicesExtensions.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/aws-sdk → aws-sdk}/utils.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/express → express}/route.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/fastify → fastify}/utils.js +0 -0
- /package/build/cjs/integrations/{tracing-channel → hapi}/hapi-types.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/kafkajs → kafkajs}/consumer.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/kafkajs → kafkajs}/semconv.js +0 -0
- /package/build/cjs/{prisma → integrations/prisma}/global.js +0 -0
- /package/build/cjs/{prisma → integrations/prisma}/index.js +0 -0
- /package/build/cjs/{redis → integrations/redis}/redis-statement-serializer.js +0 -0
- /package/build/esm/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/ServicesExtensions.js +0 -0
- /package/build/esm/integrations/{tracing-channel/aws-sdk → aws-sdk}/utils.js +0 -0
- /package/build/esm/integrations/{tracing-channel/express → express}/route.js +0 -0
- /package/build/esm/integrations/{tracing-channel/fastify → fastify}/utils.js +0 -0
- /package/build/esm/integrations/{tracing-channel → hapi}/hapi-types.js +0 -0
- /package/build/esm/integrations/{tracing-channel/kafkajs → kafkajs}/consumer.js +0 -0
- /package/build/esm/integrations/{tracing-channel/kafkajs → kafkajs}/semconv.js +0 -0
- /package/build/esm/{prisma → integrations/prisma}/global.js +0 -0
- /package/build/esm/{prisma → integrations/prisma}/index.js +0 -0
- /package/build/esm/{redis → integrations/redis}/redis-statement-serializer.js +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/aws-sdk.types.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/MessageAttributes.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/ServiceExtension.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/ServicesExtensions.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/bedrock-runtime.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/dynamodb.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/index.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/kinesis.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/lambda.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/s3.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/secretsmanager.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/sns.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/sqs.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/stepfunctions.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/utils.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/express → express}/route.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/firebase → firebase}/firestore-types.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/firebase → firebase}/functions.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/firebase → firebase}/instrumentation.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/graphql → graphql}/graphql-types.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/graphql → graphql}/resolvers.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/graphql → graphql}/spans.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/kafkajs → kafkajs}/consumer.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/kafkajs → kafkajs}/types.d.ts +0 -0
- /package/build/types/{mongoose → integrations/mongoose}/mongoose-dc-subscriber.d.ts +0 -0
- /package/build/types/{mysql2 → integrations/mysql2}/mysql2-dc-subscriber.d.ts +0 -0
- /package/build/types/{prisma → integrations/prisma}/global.d.ts +0 -0
- /package/build/types/{prisma → integrations/prisma}/tracing-helper.d.ts +0 -0
- /package/build/types/{redis → integrations/redis}/redis-statement-serializer.d.ts +0 -0
- /package/build/types/{vercel-ai → integrations/vercel-ai}/vercel-ai-orchestrion-subscriber.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ai/vercel-ai/index.ts"],"sourcesContent":["import type { SpanAttributeValue } from '@sentry/core';\nimport {\n GEN_AI_CONVERSATION_ID,\n GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS,\n GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS,\n GEN_AI_USAGE_OUTPUT_TOKENS,\n GEN_AI_USAGE_REASONING_OUTPUT_TOKENS,\n GEN_AI_USAGE_TOTAL_TOKENS,\n} from '@sentry/conventions/attributes';\nimport type { OpenAiProviderMetadata, ProviderMetadata } from './vercel-ai-attributes';\n\n/**\n * Derive the `gen_ai.usage.*` cache/reasoning/prediction token attributes and `gen_ai.conversation.id`\n * from an AI SDK `providerMetadata` object.\n *\n * Used by the `ai` >= 7 tracing-channel subscriber, which receives `providerMetadata` as an object on\n * the channel result. Pass the already-parsed object; unknown/empty input yields `{}`.\n */\nexport function getProviderMetadataAttributes(providerMetadata: unknown): Record<string, number | string> {\n const attributes: Record<string, number | string> = {};\n\n if (!providerMetadata || typeof providerMetadata !== 'object') {\n return attributes;\n }\n const metadata = providerMetadata as ProviderMetadata;\n\n // OpenAI (v5 uses 'openai', v6 Azure Responses API uses 'azure')\n const openaiMetadata: OpenAiProviderMetadata | undefined = metadata.openai ?? metadata.azure;\n if (openaiMetadata) {\n setAttributeIfDefined(attributes, GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS, openaiMetadata.cachedPromptTokens);\n setAttributeIfDefined(attributes, GEN_AI_USAGE_REASONING_OUTPUT_TOKENS, openaiMetadata.reasoningTokens);\n setAttributeIfDefined(\n attributes,\n 'gen_ai.usage.output_tokens.prediction_accepted',\n openaiMetadata.acceptedPredictionTokens,\n );\n setAttributeIfDefined(\n attributes,\n 'gen_ai.usage.output_tokens.prediction_rejected',\n openaiMetadata.rejectedPredictionTokens,\n );\n setAttributeIfDefined(attributes, GEN_AI_CONVERSATION_ID, openaiMetadata.responseId);\n }\n\n if (metadata.anthropic) {\n const cachedInputTokens =\n metadata.anthropic.usage?.cache_read_input_tokens ?? metadata.anthropic.cacheReadInputTokens;\n setAttributeIfDefined(attributes, GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS, cachedInputTokens);\n\n const cacheWriteInputTokens =\n metadata.anthropic.usage?.cache_creation_input_tokens ?? metadata.anthropic.cacheCreationInputTokens;\n setAttributeIfDefined(attributes, GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS, cacheWriteInputTokens);\n }\n\n if (metadata.bedrock?.usage) {\n setAttributeIfDefined(\n attributes,\n GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS,\n metadata.bedrock.usage.cacheReadInputTokens,\n );\n setAttributeIfDefined(\n attributes,\n GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS,\n metadata.bedrock.usage.cacheWriteInputTokens,\n );\n }\n\n if (metadata.deepseek) {\n setAttributeIfDefined(attributes, GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS, metadata.deepseek.promptCacheHitTokens);\n setAttributeIfDefined(attributes, 'gen_ai.usage.input_tokens.cache_miss', metadata.deepseek.promptCacheMissTokens);\n }\n\n // Google (v5 uses 'google', v6 Vertex AI uses 'vertex'). Gemini reports its reasoning (\"thoughts\")\n // tokens separately from the candidate output count, so the SDK's `outputTokens` covers only the\n // visible answer. Recompute output from `candidatesTokenCount + thoughtsTokenCount` rather than\n // adding onto the existing value, which stays correct on `ai` v6+ where `outputTokens` already\n // folds reasoning in. `candidatesTokenCount` is omitted when the response is truncated during\n // thinking, which means no candidate tokens, so it counts as zero. Reasoning is a subset of\n // output per the conventions, so it is only written alongside the output it belongs to.\n const googleUsage = (metadata.google ?? metadata.vertex)?.usageMetadata;\n if (googleUsage && typeof googleUsage.thoughtsTokenCount === 'number' && googleUsage.thoughtsTokenCount > 0) {\n attributes[GEN_AI_USAGE_OUTPUT_TOKENS] = (googleUsage.candidatesTokenCount ?? 0) + googleUsage.thoughtsTokenCount;\n setAttributeIfDefined(attributes, GEN_AI_USAGE_TOTAL_TOKENS, googleUsage.totalTokenCount);\n setAttributeIfDefined(attributes, GEN_AI_USAGE_REASONING_OUTPUT_TOKENS, googleUsage.thoughtsTokenCount);\n }\n\n return attributes;\n}\n\n/**\n * Usage attributes derived from `providerMetadata`, which describes only the last step of a call.\n * They must not be written onto a span that reports usage aggregated across steps\n * (`gen_ai.invoke_agent`), where they would replace the aggregate with one step's figures.\n */\nexport const LAST_STEP_ONLY_USAGE_KEYS = new Set<string>([\n GEN_AI_USAGE_OUTPUT_TOKENS,\n GEN_AI_USAGE_TOTAL_TOKENS,\n GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS,\n GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS,\n]);\n\n/**\n * Sets an attribute only if the value is not null or undefined.\n */\nfunction setAttributeIfDefined(\n attributes: Record<string, unknown>,\n key: string,\n value: SpanAttributeValue | undefined,\n): void {\n if (value != null) {\n attributes[key] = value;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const WORKERS_AI_PROVIDER_NAME = "cloudflare.workers_ai";
|
|
2
|
+
const WORKERS_AI_ORIGIN = "auto.ai.cloudflare.workers_ai";
|
|
3
|
+
const WORKERS_AI_INTEGRATION_NAME = "WorkersAI";
|
|
4
|
+
|
|
5
|
+
export { WORKERS_AI_INTEGRATION_NAME, WORKERS_AI_ORIGIN, WORKERS_AI_PROVIDER_NAME };
|
|
6
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/ai/workers-ai/constants.ts"],"sourcesContent":["/**\n * The provider value for the `gen_ai.provider.name` attribute.\n * @see https://developers.cloudflare.com/workers-ai/\n */\nexport const WORKERS_AI_PROVIDER_NAME = 'cloudflare.workers_ai';\n\n/**\n * The Sentry origin for spans created by the Workers AI instrumentation.\n */\nexport const WORKERS_AI_ORIGIN = 'auto.ai.cloudflare.workers_ai';\n\n/**\n * The key used to register this provider in the AI provider skip registry.\n *\n * @see `_INTERNAL_skipAiProviderWrapping`\n */\nexport const WORKERS_AI_INTEGRATION_NAME = 'WorkersAI' as const;\n"],"names":[],"mappings":"AAIO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,wBAAA,CAAA,CAAA,CAA2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAKjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,iBAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAO1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,2BAAA,CAAA,CAAA,CAA8B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { SENTRY_OP } from '@sentry/conventions/attributes';
|
|
2
|
+
import { _INTERNAL_shouldSkipAiProviderWrapping, getClient, hasSpanStreamingEnabled, startSpanManual, startSpan, SPAN_STATUS_ERROR } from '@sentry/core';
|
|
3
|
+
import { resolveAIRecordingOptions, isReadableStream } from '../core/utils.js';
|
|
4
|
+
import { WORKERS_AI_INTEGRATION_NAME } from './constants.js';
|
|
5
|
+
import { instrumentWorkersAiStream } from './streaming.js';
|
|
6
|
+
import { extractRequestAttributes, WORKERS_AI_OPERATION_SPAN_OPS, addRequestAttributes, addResponseAttributes, getOperationName } from './utils.js';
|
|
7
|
+
|
|
8
|
+
function instrumentRun(originalRun, context, options) {
|
|
9
|
+
return function instrumentedRun(...args) {
|
|
10
|
+
if (_INTERNAL_shouldSkipAiProviderWrapping(WORKERS_AI_INTEGRATION_NAME)) {
|
|
11
|
+
return originalRun.apply(context, args);
|
|
12
|
+
}
|
|
13
|
+
const [model, inputs, runOptions] = args;
|
|
14
|
+
const operationName = getOperationName(inputs);
|
|
15
|
+
const requestAttributes = extractRequestAttributes(model, inputs, operationName);
|
|
16
|
+
const modelName = typeof model === "string" && model ? model : "unknown";
|
|
17
|
+
const client = getClient();
|
|
18
|
+
const isStreamRequested = !!inputs && typeof inputs === "object" && inputs.stream === true;
|
|
19
|
+
const returnsRawResponse = !!runOptions && typeof runOptions === "object" && (runOptions.returnRawResponse === true || runOptions.websocket === true);
|
|
20
|
+
const spanConfig = {
|
|
21
|
+
// With span streaming, omit the `'unknown'` model sentinel so the name stays low-cardinality.
|
|
22
|
+
name: modelName !== "unknown" || !(client && hasSpanStreamingEnabled(client)) ? `${operationName} ${modelName}` : operationName,
|
|
23
|
+
attributes: {
|
|
24
|
+
[SENTRY_OP]: WORKERS_AI_OPERATION_SPAN_OPS[operationName],
|
|
25
|
+
...requestAttributes
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
if (isStreamRequested && !returnsRawResponse) {
|
|
29
|
+
return startSpanManual(spanConfig, (span) => {
|
|
30
|
+
const handleError = (error) => {
|
|
31
|
+
span.setStatus({ code: SPAN_STATUS_ERROR, message: "internal_error" });
|
|
32
|
+
span.end();
|
|
33
|
+
throw error;
|
|
34
|
+
};
|
|
35
|
+
let originalResult;
|
|
36
|
+
try {
|
|
37
|
+
originalResult = originalRun.apply(context, args);
|
|
38
|
+
} catch (error) {
|
|
39
|
+
return handleError(error);
|
|
40
|
+
}
|
|
41
|
+
if (options.recordInputs) {
|
|
42
|
+
addRequestAttributes(span, inputs, operationName);
|
|
43
|
+
}
|
|
44
|
+
return originalResult.then((result) => {
|
|
45
|
+
if (isReadableStream(result)) {
|
|
46
|
+
return instrumentWorkersAiStream(result, span, options.recordOutputs);
|
|
47
|
+
}
|
|
48
|
+
addResponseAttributes(span, result, options.recordOutputs);
|
|
49
|
+
span.end();
|
|
50
|
+
return result;
|
|
51
|
+
}, handleError);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return startSpan(spanConfig, (span) => {
|
|
55
|
+
const originalResult = originalRun.apply(context, args);
|
|
56
|
+
if (options.recordInputs) {
|
|
57
|
+
addRequestAttributes(span, inputs, operationName);
|
|
58
|
+
}
|
|
59
|
+
return originalResult.then((result) => {
|
|
60
|
+
if (!returnsRawResponse) {
|
|
61
|
+
addResponseAttributes(span, result, options.recordOutputs);
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function instrumentWorkersAiClient(client, options) {
|
|
69
|
+
const resolvedOptions = resolveAIRecordingOptions(options);
|
|
70
|
+
const instrumented = new Proxy(client, {
|
|
71
|
+
get(target, prop, receiver) {
|
|
72
|
+
const value = Reflect.get(target, prop, receiver);
|
|
73
|
+
if (prop === "run" && typeof value === "function") {
|
|
74
|
+
return instrumentRun(value, target, resolvedOptions);
|
|
75
|
+
}
|
|
76
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return instrumented;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { instrumentWorkersAiClient };
|
|
83
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/ai/workers-ai/index.ts"],"sourcesContent":["import { SENTRY_OP } from '@sentry/conventions/attributes';\nimport {\n _INTERNAL_shouldSkipAiProviderWrapping,\n getClient,\n hasSpanStreamingEnabled,\n SPAN_STATUS_ERROR,\n startSpan,\n startSpanManual,\n} from '@sentry/core';\nimport type { Span } from '@sentry/core';\nimport { isReadableStream, resolveAIRecordingOptions } from '../core/utils';\nimport { WORKERS_AI_INTEGRATION_NAME } from './constants';\nimport { instrumentWorkersAiStream } from './streaming';\nimport type { WorkersAiOptions } from './types';\nimport {\n addRequestAttributes,\n addResponseAttributes,\n extractRequestAttributes,\n getOperationName,\n WORKERS_AI_OPERATION_SPAN_OPS,\n} from './utils';\n\n/**\n * Wrap the `run` method of the Workers AI binding with Sentry tracing.\n */\nfunction instrumentRun(\n originalRun: (...args: unknown[]) => Promise<unknown>,\n context: unknown,\n options: WorkersAiOptions & Required<Pick<WorkersAiOptions, 'recordInputs' | 'recordOutputs'>>,\n): (...args: unknown[]) => Promise<unknown> {\n return function instrumentedRun(...args: unknown[]): Promise<unknown> {\n // When another integration (e.g. Vercel AI via `workers-ai-provider`) is driving this binding,\n // it records the spans itself and marks this provider as skipped; skip here to avoid double spans.\n if (_INTERNAL_shouldSkipAiProviderWrapping(WORKERS_AI_INTEGRATION_NAME)) {\n return originalRun.apply(context, args);\n }\n\n const [model, inputs, runOptions] = args as [unknown, unknown, Record<string, unknown> | undefined];\n\n const operationName = getOperationName(inputs);\n const requestAttributes = extractRequestAttributes(model, inputs, operationName);\n const modelName = typeof model === 'string' && model ? model : 'unknown';\n const client = getClient();\n\n const isStreamRequested =\n !!inputs && typeof inputs === 'object' && (inputs as { stream?: unknown }).stream === true;\n const returnsRawResponse =\n !!runOptions &&\n typeof runOptions === 'object' &&\n (runOptions.returnRawResponse === true || runOptions.websocket === true);\n\n const spanConfig = {\n // With span streaming, omit the `'unknown'` model sentinel so the name stays low-cardinality.\n name:\n modelName !== 'unknown' || !(client && hasSpanStreamingEnabled(client))\n ? `${operationName} ${modelName}`\n : operationName,\n attributes: {\n [SENTRY_OP]: WORKERS_AI_OPERATION_SPAN_OPS[operationName],\n ...requestAttributes,\n },\n };\n\n if (isStreamRequested && !returnsRawResponse) {\n return startSpanManual(spanConfig, (span: Span) => {\n // `startSpanManual` does not auto-end the span, so we must end it on every exit path,\n // including a synchronous throw from `run`.\n const handleError = (error: unknown): never => {\n span.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n span.end();\n throw error;\n };\n\n let originalResult: Promise<unknown>;\n\n try {\n originalResult = originalRun.apply(context, args) as Promise<unknown>;\n } catch (error) {\n return handleError(error);\n }\n\n if (options.recordInputs) {\n addRequestAttributes(span, inputs, operationName);\n }\n\n return originalResult.then(result => {\n if (isReadableStream<Uint8Array>(result)) {\n return instrumentWorkersAiStream(result, span, options.recordOutputs);\n }\n\n // The model did not actually return a stream — finalize the span eagerly.\n addResponseAttributes(span, result, options.recordOutputs);\n span.end();\n return result;\n }, handleError);\n });\n }\n\n return startSpan(spanConfig, (span: Span) => {\n const originalResult = originalRun.apply(context, args) as Promise<unknown>;\n\n if (options.recordInputs) {\n addRequestAttributes(span, inputs, operationName);\n }\n\n return originalResult.then(result => {\n if (!returnsRawResponse) {\n addResponseAttributes(span, result, options.recordOutputs);\n }\n return result;\n });\n });\n };\n}\n\n/**\n * Instrument a Cloudflare Workers AI binding (`env.AI`) with Sentry tracing.\n *\n * This wraps the binding's `run` method to create `gen_ai` spans following the\n * Sentry AI Agents conventions. All other methods are passed through untouched.\n *\n * In `@sentry/cloudflare`, the `env.AI` binding is instrumented automatically —\n * wrapping manually is only needed to pass custom options.\n *\n * @example\n * ```javascript\n * const ai = Sentry.instrumentWorkersAiClient(env.AI, { recordInputs: true, recordOutputs: true });\n * const result = await ai.run('@cf/meta/llama-3.1-8b-instruct', { prompt: 'Hello' });\n * ```\n */\nexport function instrumentWorkersAiClient<T extends object>(client: T, options?: WorkersAiOptions): T {\n const resolvedOptions = resolveAIRecordingOptions(options);\n\n const instrumented = new Proxy(client, {\n get(target: object, prop: string | symbol, receiver: unknown): unknown {\n const value = Reflect.get(target, prop, receiver);\n\n if (prop === 'run' && typeof value === 'function') {\n return instrumentRun(value as (...args: unknown[]) => Promise<unknown>, target, resolvedOptions);\n }\n\n // Bind passed-through functions to the original target to preserve `this` (e.g. private fields).\n return typeof value === 'function' ? (value as (...args: unknown[]) => unknown).bind(target) : value;\n },\n }) as T;\n\n return instrumented;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { SPAN_STATUS_ERROR } from '@sentry/core';
|
|
2
|
+
import { setOutputMessagesAttribute, endStreamSpan } from '../core/utils.js';
|
|
3
|
+
|
|
4
|
+
function accumulateStreamingToolCalls(toolCalls, accumulator) {
|
|
5
|
+
for (const toolCall of toolCalls) {
|
|
6
|
+
const name = toolCall.function?.name ?? toolCall.name;
|
|
7
|
+
const args = toolCall.function?.arguments ?? toolCall.arguments;
|
|
8
|
+
if (name == null && args == null) {
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
const index = toolCall.index ?? 0;
|
|
12
|
+
const existing = accumulator[index];
|
|
13
|
+
if (!existing) {
|
|
14
|
+
accumulator[index] = {
|
|
15
|
+
index,
|
|
16
|
+
id: toolCall.id,
|
|
17
|
+
type: toolCall.type,
|
|
18
|
+
function: {
|
|
19
|
+
name,
|
|
20
|
+
arguments: args ?? ""
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
} else if (existing.function) {
|
|
24
|
+
if (name && !existing.function.name) {
|
|
25
|
+
existing.function.name = name;
|
|
26
|
+
}
|
|
27
|
+
if (args) {
|
|
28
|
+
existing.function.arguments = `${existing.function.arguments ?? ""}${args}`;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function processLine(line, state, recordOutputs, toolCallAccumulator) {
|
|
34
|
+
const trimmed = line.trim();
|
|
35
|
+
if (!trimmed.startsWith("data:")) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const data = trimmed.slice("data:".length).trim();
|
|
39
|
+
if (!data || data === "[DONE]") {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
let parsed;
|
|
43
|
+
try {
|
|
44
|
+
parsed = JSON.parse(data);
|
|
45
|
+
} catch {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (parsed.usage) {
|
|
49
|
+
if (typeof parsed.usage.prompt_tokens === "number") {
|
|
50
|
+
state.promptTokens = parsed.usage.prompt_tokens;
|
|
51
|
+
}
|
|
52
|
+
if (typeof parsed.usage.completion_tokens === "number") {
|
|
53
|
+
state.completionTokens = parsed.usage.completion_tokens;
|
|
54
|
+
}
|
|
55
|
+
if (typeof parsed.usage.total_tokens === "number") {
|
|
56
|
+
state.totalTokens = parsed.usage.total_tokens;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (recordOutputs && typeof parsed.response === "string") {
|
|
60
|
+
state.responseTexts.push(parsed.response);
|
|
61
|
+
}
|
|
62
|
+
if (recordOutputs && Array.isArray(parsed.tool_calls) && parsed.tool_calls.length > 0) {
|
|
63
|
+
state.toolCalls.push(...parsed.tool_calls);
|
|
64
|
+
}
|
|
65
|
+
if (Array.isArray(parsed.choices)) {
|
|
66
|
+
for (const choice of parsed.choices) {
|
|
67
|
+
if (recordOutputs && typeof choice.delta?.content === "string" && choice.delta.content) {
|
|
68
|
+
state.responseTexts.push(choice.delta.content);
|
|
69
|
+
}
|
|
70
|
+
if (recordOutputs && Array.isArray(choice.delta?.tool_calls)) {
|
|
71
|
+
accumulateStreamingToolCalls(choice.delta.tool_calls, toolCallAccumulator);
|
|
72
|
+
}
|
|
73
|
+
if (typeof choice.finish_reason === "string") {
|
|
74
|
+
state.finishReasons.push(choice.finish_reason);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function instrumentWorkersAiStream(stream, span, recordOutputs) {
|
|
80
|
+
const reader = stream.getReader();
|
|
81
|
+
const decoder = new TextDecoder();
|
|
82
|
+
const state = {
|
|
83
|
+
responseId: "",
|
|
84
|
+
responseModel: "",
|
|
85
|
+
finishReasons: [],
|
|
86
|
+
responseTexts: [],
|
|
87
|
+
toolCalls: [],
|
|
88
|
+
promptTokens: void 0,
|
|
89
|
+
completionTokens: void 0,
|
|
90
|
+
totalTokens: void 0
|
|
91
|
+
};
|
|
92
|
+
const toolCallAccumulator = {};
|
|
93
|
+
let buffer = "";
|
|
94
|
+
let spanEnded = false;
|
|
95
|
+
const finish = () => {
|
|
96
|
+
if (spanEnded) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
spanEnded = true;
|
|
100
|
+
if (recordOutputs) {
|
|
101
|
+
const accumulatedToolCalls = Object.values(toolCallAccumulator);
|
|
102
|
+
if (accumulatedToolCalls.length > 0) {
|
|
103
|
+
state.toolCalls.push(...accumulatedToolCalls);
|
|
104
|
+
}
|
|
105
|
+
setOutputMessagesAttribute(span, {
|
|
106
|
+
responseText: state.responseTexts.join(""),
|
|
107
|
+
toolCalls: state.toolCalls
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
endStreamSpan(span, state, recordOutputs);
|
|
111
|
+
};
|
|
112
|
+
const flushBuffer = (isDone) => {
|
|
113
|
+
const lines = buffer.split("\n");
|
|
114
|
+
buffer = isDone ? "" : lines.pop() ?? "";
|
|
115
|
+
for (const line of lines) {
|
|
116
|
+
processLine(line, state, recordOutputs, toolCallAccumulator);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
return new ReadableStream({
|
|
120
|
+
async pull(controller) {
|
|
121
|
+
try {
|
|
122
|
+
const { done, value } = await reader.read();
|
|
123
|
+
if (done) {
|
|
124
|
+
buffer += decoder.decode();
|
|
125
|
+
flushBuffer(true);
|
|
126
|
+
finish();
|
|
127
|
+
controller.close();
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
buffer += decoder.decode(value, { stream: true });
|
|
131
|
+
flushBuffer(false);
|
|
132
|
+
controller.enqueue(value);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
span.setStatus({ code: SPAN_STATUS_ERROR, message: "internal_error" });
|
|
135
|
+
finish();
|
|
136
|
+
controller.error(error);
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
async cancel(reason) {
|
|
140
|
+
finish();
|
|
141
|
+
await reader.cancel(reason);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export { instrumentWorkersAiStream };
|
|
147
|
+
//# sourceMappingURL=streaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.js","sources":["../../../../src/ai/workers-ai/streaming.ts"],"sourcesContent":["import { SPAN_STATUS_ERROR } from '@sentry/core';\nimport type { Span } from '@sentry/core';\nimport { endStreamSpan, type StreamResponseState } from '../core/utils';\nimport type { WorkersAiUsage } from './types';\nimport { setOutputMessagesAttribute } from './utils';\n\ninterface WorkersAiStreamingToolCall {\n index?: number;\n id?: string;\n type?: string;\n function?: { name?: string; arguments?: string };\n // Some Workers AI models stream tool calls with the name/arguments at the top\n // level of the tool-call object instead of nested under `function`.\n name?: string;\n arguments?: string;\n}\n\ninterface WorkersAiStreamChunk {\n // Native Workers AI streaming shape (`env.AI.run` with `stream: true`).\n response?: unknown;\n tool_calls?: unknown[];\n // OpenAI-compatible streaming shape emitted for models routed through the\n // OpenAI-compatible endpoint (e.g. via `workers-ai-provider`).\n choices?: Array<{\n delta?: { content?: unknown; tool_calls?: WorkersAiStreamingToolCall[] };\n finish_reason?: unknown;\n }>;\n usage?: WorkersAiUsage & { prompt_tokens?: number; completion_tokens?: number; total_tokens?: number };\n}\n\n/**\n * Accumulate a fragmented OpenAI-compatible tool call (delivered across multiple\n * `choices[].delta.tool_calls` chunks) into the index-keyed accumulator.\n */\nfunction accumulateStreamingToolCalls(\n toolCalls: WorkersAiStreamingToolCall[],\n accumulator: Record<number, WorkersAiStreamingToolCall>,\n): void {\n for (const toolCall of toolCalls) {\n // Normalize both shapes: name/arguments nested under `function`, or at the top level.\n const name = toolCall.function?.name ?? toolCall.name;\n const args = toolCall.function?.arguments ?? toolCall.arguments;\n\n // A tool call must carry at least a name or argument fragment to be meaningful.\n if (name == null && args == null) {\n continue;\n }\n\n const index = toolCall.index ?? 0;\n const existing = accumulator[index];\n\n if (!existing) {\n accumulator[index] = {\n index,\n id: toolCall.id,\n type: toolCall.type,\n function: {\n name,\n arguments: args ?? '',\n },\n };\n } else if (existing.function) {\n if (name && !existing.function.name) {\n existing.function.name = name;\n }\n if (args) {\n existing.function.arguments = `${existing.function.arguments ?? ''}${args}`;\n }\n }\n }\n}\n\n/**\n * Parse a single SSE line (`data: {...}`) and accumulate its data into the streaming state.\n *\n * Handles both the native Workers AI shape (top-level `response`/`tool_calls`) and the\n * OpenAI-compatible shape (`choices[].delta.content`/`choices[].delta.tool_calls`), because\n * the same `run()` call transparently yields either format depending on the model.\n */\nfunction processLine(\n line: string,\n state: StreamResponseState,\n recordOutputs: boolean,\n toolCallAccumulator: Record<number, WorkersAiStreamingToolCall>,\n): void {\n const trimmed = line.trim();\n if (!trimmed.startsWith('data:')) {\n return;\n }\n\n const data = trimmed.slice('data:'.length).trim();\n if (!data || data === '[DONE]') {\n return;\n }\n\n let parsed: WorkersAiStreamChunk;\n try {\n parsed = JSON.parse(data) as WorkersAiStreamChunk;\n } catch {\n return;\n }\n\n if (parsed.usage) {\n if (typeof parsed.usage.prompt_tokens === 'number') {\n state.promptTokens = parsed.usage.prompt_tokens;\n }\n if (typeof parsed.usage.completion_tokens === 'number') {\n state.completionTokens = parsed.usage.completion_tokens;\n }\n if (typeof parsed.usage.total_tokens === 'number') {\n state.totalTokens = parsed.usage.total_tokens;\n }\n }\n\n if (recordOutputs && typeof parsed.response === 'string') {\n state.responseTexts.push(parsed.response);\n }\n\n if (recordOutputs && Array.isArray(parsed.tool_calls) && parsed.tool_calls.length > 0) {\n state.toolCalls.push(...parsed.tool_calls);\n }\n\n if (Array.isArray(parsed.choices)) {\n for (const choice of parsed.choices) {\n if (recordOutputs && typeof choice.delta?.content === 'string' && choice.delta.content) {\n state.responseTexts.push(choice.delta.content);\n }\n if (recordOutputs && Array.isArray(choice.delta?.tool_calls)) {\n accumulateStreamingToolCalls(choice.delta.tool_calls, toolCallAccumulator);\n }\n if (typeof choice.finish_reason === 'string') {\n state.finishReasons.push(choice.finish_reason);\n }\n }\n }\n}\n\n/**\n * Wrap a Workers AI streaming response (a server-sent-events `ReadableStream`) so we can\n * accumulate the response text and token usage while passing the original bytes through untouched.\n *\n * The span is ended once the consumer finishes reading (or cancels) the stream.\n */\nexport function instrumentWorkersAiStream(\n stream: ReadableStream<Uint8Array>,\n span: Span,\n recordOutputs: boolean,\n): ReadableStream<Uint8Array> {\n const reader = stream.getReader();\n const decoder = new TextDecoder();\n\n const state: StreamResponseState = {\n responseId: '',\n responseModel: '',\n finishReasons: [],\n responseTexts: [],\n toolCalls: [],\n promptTokens: undefined,\n completionTokens: undefined,\n totalTokens: undefined,\n };\n\n // OpenAI-compatible tool calls arrive fragmented across chunks and are keyed by index;\n // accumulate them here and flatten into `state.toolCalls` once the stream ends.\n const toolCallAccumulator: Record<number, WorkersAiStreamingToolCall> = {};\n\n let buffer = '';\n let spanEnded = false;\n\n const finish = (): void => {\n if (spanEnded) {\n return;\n }\n spanEnded = true;\n\n if (recordOutputs) {\n const accumulatedToolCalls = Object.values(toolCallAccumulator);\n if (accumulatedToolCalls.length > 0) {\n state.toolCalls.push(...accumulatedToolCalls);\n }\n\n // Set the authoritative `gen_ai.output.messages` alongside the deprecated response\n // attributes `endStreamSpan` writes, so tool calls survive Relay's lossy migration.\n setOutputMessagesAttribute(span, {\n responseText: state.responseTexts.join(''),\n toolCalls: state.toolCalls,\n });\n }\n\n endStreamSpan(span, state, recordOutputs);\n };\n\n const flushBuffer = (isDone: boolean): void => {\n const lines = buffer.split('\\n');\n // Keep the last (potentially incomplete) line in the buffer unless the stream is done.\n buffer = isDone ? '' : (lines.pop() ?? '');\n for (const line of lines) {\n processLine(line, state, recordOutputs, toolCallAccumulator);\n }\n };\n\n return new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const { done, value } = await reader.read();\n\n if (done) {\n buffer += decoder.decode();\n flushBuffer(true);\n finish();\n controller.close();\n return;\n }\n\n buffer += decoder.decode(value, { stream: true });\n flushBuffer(false);\n controller.enqueue(value);\n } catch (error) {\n span.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n finish();\n controller.error(error);\n }\n },\n async cancel(reason) {\n finish();\n await reader.cancel(reason);\n },\n });\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { GEN_AI_EMBEDDINGS_INPUT, GEN_AI_SYSTEM_INSTRUCTIONS, GEN_AI_INPUT_MESSAGES, GEN_AI_RESPONSE_TEXT, GEN_AI_RESPONSE_TOOL_CALLS, GEN_AI_REQUEST_MODEL, GEN_AI_OPERATION_NAME, GEN_AI_PROVIDER_NAME, GEN_AI_REQUEST_TEMPERATURE, GEN_AI_REQUEST_MAX_TOKENS, GEN_AI_REQUEST_TOP_P, GEN_AI_REQUEST_TOP_K, GEN_AI_REQUEST_FREQUENCY_PENALTY, GEN_AI_REQUEST_PRESENCE_PENALTY } from '@sentry/conventions/attributes';
|
|
2
|
+
import { GEN_AI_EMBEDDINGS, GEN_AI_CHAT } from '@sentry/conventions/op';
|
|
3
|
+
import { stringify, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
|
|
4
|
+
import { GEN_AI_REQUEST_STREAM_ATTRIBUTE } from '../core/gen-ai-attributes.js';
|
|
5
|
+
import { extractSystemInstructions, setTokenUsageAttributes, setOutputMessagesAttribute } from '../core/utils.js';
|
|
6
|
+
import { WORKERS_AI_ORIGIN, WORKERS_AI_PROVIDER_NAME } from './constants.js';
|
|
7
|
+
|
|
8
|
+
const WORKERS_AI_OPERATION_SPAN_OPS = {
|
|
9
|
+
chat: GEN_AI_CHAT,
|
|
10
|
+
embeddings: GEN_AI_EMBEDDINGS
|
|
11
|
+
};
|
|
12
|
+
function getOperationName(inputs) {
|
|
13
|
+
if (inputs && typeof inputs === "object") {
|
|
14
|
+
if ("messages" in inputs || "prompt" in inputs) {
|
|
15
|
+
return "chat";
|
|
16
|
+
}
|
|
17
|
+
if ("text" in inputs) {
|
|
18
|
+
return "embeddings";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return "chat";
|
|
22
|
+
}
|
|
23
|
+
function extractRequestAttributes(model, inputs, operationName) {
|
|
24
|
+
const attributes = {
|
|
25
|
+
[GEN_AI_PROVIDER_NAME]: WORKERS_AI_PROVIDER_NAME,
|
|
26
|
+
[GEN_AI_OPERATION_NAME]: operationName,
|
|
27
|
+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: WORKERS_AI_ORIGIN,
|
|
28
|
+
[GEN_AI_REQUEST_MODEL]: typeof model === "string" ? model : "unknown"
|
|
29
|
+
};
|
|
30
|
+
if (inputs && typeof inputs === "object") {
|
|
31
|
+
const params = inputs;
|
|
32
|
+
if (typeof params.temperature === "number") {
|
|
33
|
+
attributes[GEN_AI_REQUEST_TEMPERATURE] = params.temperature;
|
|
34
|
+
}
|
|
35
|
+
if (typeof params.max_tokens === "number") {
|
|
36
|
+
attributes[GEN_AI_REQUEST_MAX_TOKENS] = params.max_tokens;
|
|
37
|
+
}
|
|
38
|
+
if (typeof params.top_p === "number") {
|
|
39
|
+
attributes[GEN_AI_REQUEST_TOP_P] = params.top_p;
|
|
40
|
+
}
|
|
41
|
+
if (typeof params.top_k === "number") {
|
|
42
|
+
attributes[GEN_AI_REQUEST_TOP_K] = params.top_k;
|
|
43
|
+
}
|
|
44
|
+
if (typeof params.frequency_penalty === "number") {
|
|
45
|
+
attributes[GEN_AI_REQUEST_FREQUENCY_PENALTY] = params.frequency_penalty;
|
|
46
|
+
}
|
|
47
|
+
if (typeof params.presence_penalty === "number") {
|
|
48
|
+
attributes[GEN_AI_REQUEST_PRESENCE_PENALTY] = params.presence_penalty;
|
|
49
|
+
}
|
|
50
|
+
if (params.stream === true) {
|
|
51
|
+
attributes[GEN_AI_REQUEST_STREAM_ATTRIBUTE] = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return attributes;
|
|
55
|
+
}
|
|
56
|
+
function addRequestAttributes(span, inputs, operationName) {
|
|
57
|
+
if (!inputs || typeof inputs !== "object") {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const params = inputs;
|
|
61
|
+
if (operationName === "embeddings") {
|
|
62
|
+
const text = params.text;
|
|
63
|
+
if (text == null || typeof text === "string" && text.length === 0 || Array.isArray(text) && text.length === 0) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
span.setAttribute(GEN_AI_EMBEDDINGS_INPUT, stringify(text, String));
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const src = params.messages ?? params.prompt;
|
|
70
|
+
if (src == null || Array.isArray(src) && src.length === 0) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const { systemInstructions, filteredMessages } = extractSystemInstructions(src);
|
|
74
|
+
if (systemInstructions) {
|
|
75
|
+
span.setAttribute(GEN_AI_SYSTEM_INSTRUCTIONS, systemInstructions);
|
|
76
|
+
}
|
|
77
|
+
span.setAttribute(GEN_AI_INPUT_MESSAGES, stringify(filteredMessages));
|
|
78
|
+
}
|
|
79
|
+
function addResponseAttributes(span, result, recordOutputs) {
|
|
80
|
+
if (!result || typeof result !== "object" || // Raw `Response` objects (from `returnRawResponse`/`websocket`) cannot be introspected without consuming them.
|
|
81
|
+
typeof Response !== "undefined" && result instanceof Response) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const response = result;
|
|
85
|
+
if (response.usage) {
|
|
86
|
+
setTokenUsageAttributes(span, response.usage.prompt_tokens, response.usage.completion_tokens);
|
|
87
|
+
}
|
|
88
|
+
if (recordOutputs) {
|
|
89
|
+
let responseText;
|
|
90
|
+
if (typeof response.response === "string") {
|
|
91
|
+
responseText = response.response;
|
|
92
|
+
span.setAttribute(GEN_AI_RESPONSE_TEXT, response.response);
|
|
93
|
+
} else if (response.response != null) {
|
|
94
|
+
responseText = JSON.stringify(response.response);
|
|
95
|
+
span.setAttribute(GEN_AI_RESPONSE_TEXT, responseText);
|
|
96
|
+
}
|
|
97
|
+
const toolCalls = Array.isArray(response.tool_calls) && response.tool_calls.length > 0 ? response.tool_calls : void 0;
|
|
98
|
+
if (toolCalls) {
|
|
99
|
+
span.setAttribute(GEN_AI_RESPONSE_TOOL_CALLS, JSON.stringify(toolCalls));
|
|
100
|
+
}
|
|
101
|
+
setOutputMessagesAttribute(span, { responseText, toolCalls });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export { WORKERS_AI_OPERATION_SPAN_OPS, addRequestAttributes, addResponseAttributes, extractRequestAttributes, getOperationName, setOutputMessagesAttribute };
|
|
106
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/ai/workers-ai/utils.ts"],"sourcesContent":["/* eslint-disable typescript-eslint/no-deprecated */\nimport {\n GEN_AI_EMBEDDINGS_INPUT,\n GEN_AI_INPUT_MESSAGES,\n GEN_AI_OPERATION_NAME,\n GEN_AI_PROVIDER_NAME,\n GEN_AI_REQUEST_FREQUENCY_PENALTY,\n GEN_AI_REQUEST_MAX_TOKENS,\n GEN_AI_REQUEST_MODEL,\n GEN_AI_REQUEST_PRESENCE_PENALTY,\n GEN_AI_REQUEST_TEMPERATURE,\n GEN_AI_REQUEST_TOP_K,\n GEN_AI_REQUEST_TOP_P,\n GEN_AI_RESPONSE_TEXT,\n GEN_AI_RESPONSE_TOOL_CALLS,\n GEN_AI_SYSTEM_INSTRUCTIONS,\n} from '@sentry/conventions/attributes';\nimport { GEN_AI_CHAT, GEN_AI_EMBEDDINGS } from '@sentry/conventions/op';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, stringify } from '@sentry/core';\nimport type { Span, SpanAttributeValue } from '@sentry/core';\nimport { GEN_AI_REQUEST_STREAM_ATTRIBUTE } from '../core/gen-ai-attributes';\nimport { extractSystemInstructions, setOutputMessagesAttribute, setTokenUsageAttributes } from '../core/utils';\n// Re-exported so `workers-ai/streaming.ts` keeps importing it from this module.\nexport { setOutputMessagesAttribute };\nimport { WORKERS_AI_ORIGIN, WORKERS_AI_PROVIDER_NAME } from './constants';\nimport type { WorkersAiInput, WorkersAiOutput } from './types';\n\n/**\n * Determine the gen_ai operation name from the inputs passed to `AI.run`.\n * Workers AI exposes a single `run` method, so we infer the operation from the input shape.\n */\nexport type WorkersAiOperationName = 'chat' | 'embeddings';\n\nexport const WORKERS_AI_OPERATION_SPAN_OPS: Record<WorkersAiOperationName, string> = {\n chat: GEN_AI_CHAT,\n embeddings: GEN_AI_EMBEDDINGS,\n};\n\nexport function getOperationName(inputs: unknown): WorkersAiOperationName {\n if (inputs && typeof inputs === 'object') {\n if ('messages' in inputs || 'prompt' in inputs) {\n return 'chat';\n }\n if ('text' in inputs) {\n return 'embeddings';\n }\n }\n return 'chat';\n}\n\n/**\n * Extract the request attributes (model, request parameters, system, origin) from a `run` call.\n */\nexport function extractRequestAttributes(\n model: unknown,\n inputs: unknown,\n operationName: string,\n): Record<string, SpanAttributeValue> {\n const attributes: Record<string, SpanAttributeValue> = {\n [GEN_AI_PROVIDER_NAME]: WORKERS_AI_PROVIDER_NAME,\n [GEN_AI_OPERATION_NAME]: operationName,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: WORKERS_AI_ORIGIN,\n [GEN_AI_REQUEST_MODEL]: typeof model === 'string' ? model : 'unknown',\n };\n\n if (inputs && typeof inputs === 'object') {\n const params = inputs as WorkersAiInput;\n\n if (typeof params.temperature === 'number') {\n attributes[GEN_AI_REQUEST_TEMPERATURE] = params.temperature;\n }\n if (typeof params.max_tokens === 'number') {\n attributes[GEN_AI_REQUEST_MAX_TOKENS] = params.max_tokens;\n }\n if (typeof params.top_p === 'number') {\n attributes[GEN_AI_REQUEST_TOP_P] = params.top_p;\n }\n if (typeof params.top_k === 'number') {\n attributes[GEN_AI_REQUEST_TOP_K] = params.top_k;\n }\n if (typeof params.frequency_penalty === 'number') {\n attributes[GEN_AI_REQUEST_FREQUENCY_PENALTY] = params.frequency_penalty;\n }\n if (typeof params.presence_penalty === 'number') {\n attributes[GEN_AI_REQUEST_PRESENCE_PENALTY] = params.presence_penalty;\n }\n if (params.stream === true) {\n attributes[GEN_AI_REQUEST_STREAM_ATTRIBUTE] = true;\n }\n }\n\n return attributes;\n}\n\n/**\n * Record the request inputs (messages/prompt/embeddings input) on the span.\n * Only called when `recordInputs` is enabled.\n */\nexport function addRequestAttributes(span: Span, inputs: unknown, operationName: string): void {\n if (!inputs || typeof inputs !== 'object') {\n return;\n }\n const params = inputs as WorkersAiInput;\n\n // Store embeddings input on a separate attribute\n if (operationName === 'embeddings') {\n const text = params.text;\n\n if (text == null || (typeof text === 'string' && text.length === 0) || (Array.isArray(text) && text.length === 0)) {\n return;\n }\n\n span.setAttribute(GEN_AI_EMBEDDINGS_INPUT, stringify(text, String));\n return;\n }\n\n const src = params.messages ?? params.prompt;\n\n if (src == null || (Array.isArray(src) && src.length === 0)) {\n return;\n }\n\n const { systemInstructions, filteredMessages } = extractSystemInstructions(src);\n\n if (systemInstructions) {\n span.setAttribute(GEN_AI_SYSTEM_INSTRUCTIONS, systemInstructions);\n }\n\n span.setAttribute(GEN_AI_INPUT_MESSAGES, stringify(filteredMessages));\n}\n\n/**\n * Record the response attributes (token usage, response text, tool calls) on the span.\n */\nexport function addResponseAttributes(span: Span, result: unknown, recordOutputs: boolean): void {\n if (\n !result ||\n typeof result !== 'object' ||\n // Raw `Response` objects (from `returnRawResponse`/`websocket`) cannot be introspected without consuming them.\n (typeof Response !== 'undefined' && result instanceof Response)\n ) {\n return;\n }\n\n const response = result as WorkersAiOutput;\n\n if (response.usage) {\n setTokenUsageAttributes(span, response.usage.prompt_tokens, response.usage.completion_tokens);\n }\n\n if (recordOutputs) {\n let responseText: string | undefined;\n if (typeof response.response === 'string') {\n responseText = response.response;\n span.setAttribute(GEN_AI_RESPONSE_TEXT, response.response);\n } else if (response.response != null) {\n responseText = JSON.stringify(response.response);\n span.setAttribute(GEN_AI_RESPONSE_TEXT, responseText);\n }\n\n const toolCalls =\n Array.isArray(response.tool_calls) && response.tool_calls.length > 0 ? response.tool_calls : undefined;\n if (toolCalls) {\n span.setAttribute(GEN_AI_RESPONSE_TOOL_CALLS, JSON.stringify(toolCalls));\n }\n\n setOutputMessagesAttribute(span, { responseText, toolCalls });\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import { getAsyncContextStrategy, getMainCarrier, setAsyncContextStrategy, isContinuingTrace, _INTERNAL_safeMathRandom, generateTraceId, getDefaultIsolationScope, getDefaultCurrentScope } from '@sentry/core';
|
|
3
|
+
|
|
4
|
+
function setAsyncLocalStorageAsyncContextStrategy() {
|
|
5
|
+
const existingAsyncStorage = getAsyncContextStrategy(getMainCarrier()).getTracingChannelBinding?.()?.asyncLocalStorage;
|
|
6
|
+
const asyncStorage = existingAsyncStorage ?? new AsyncLocalStorage();
|
|
7
|
+
function getScopes() {
|
|
8
|
+
const scopes = asyncStorage.getStore();
|
|
9
|
+
if (scopes) {
|
|
10
|
+
return scopes;
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
scope: getDefaultCurrentScope(),
|
|
14
|
+
isolationScope: getDefaultIsolationScope()
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function withScope(callback) {
|
|
18
|
+
const scope = getScopes().scope.clone();
|
|
19
|
+
const isolationScope = getScopes().isolationScope;
|
|
20
|
+
return asyncStorage.run({ scope, isolationScope }, () => {
|
|
21
|
+
return callback(scope);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function withSetScope(scope, callback) {
|
|
25
|
+
const isolationScope = getScopes().isolationScope;
|
|
26
|
+
return asyncStorage.run({ scope, isolationScope }, () => {
|
|
27
|
+
return callback(scope);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function withIsolationScope(callback) {
|
|
31
|
+
const scope = getScopes().scope.clone();
|
|
32
|
+
const isolationScope = getScopes().isolationScope.clone();
|
|
33
|
+
if (!isContinuingTrace(scope.getPropagationContext())) {
|
|
34
|
+
scope.setPropagationContext({
|
|
35
|
+
traceId: generateTraceId(),
|
|
36
|
+
sampleRand: _INTERNAL_safeMathRandom()
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return asyncStorage.run({ scope, isolationScope }, () => {
|
|
40
|
+
return callback(isolationScope);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function withSetIsolationScope(isolationScope, callback) {
|
|
44
|
+
const scope = getScopes().scope.clone();
|
|
45
|
+
return asyncStorage.run({ scope, isolationScope }, () => {
|
|
46
|
+
return callback(isolationScope);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
setAsyncContextStrategy({
|
|
50
|
+
withScope,
|
|
51
|
+
withSetScope,
|
|
52
|
+
withIsolationScope,
|
|
53
|
+
withSetIsolationScope,
|
|
54
|
+
getCurrentScope: () => getScopes().scope,
|
|
55
|
+
getIsolationScope: () => getScopes().isolationScope,
|
|
56
|
+
getTracingChannelBinding: () => {
|
|
57
|
+
return {
|
|
58
|
+
asyncLocalStorage: asyncStorage
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return asyncStorage;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export { setAsyncLocalStorageAsyncContextStrategy };
|
|
66
|
+
//# sourceMappingURL=async-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-context.js","sources":["../../src/async-context.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport type { Scope } from '@sentry/core';\nimport {\n getAsyncContextStrategy,\n _INTERNAL_safeMathRandom,\n generateTraceId,\n getDefaultCurrentScope,\n getDefaultIsolationScope,\n getMainCarrier,\n isContinuingTrace,\n setAsyncContextStrategy,\n} from '@sentry/core';\n\ntype ScopeStore = { scope: Scope; isolationScope: Scope };\n\n/**\n * Sets the async context strategy to use AsyncLocalStorage.\n *\n * Returns the underlying `AsyncLocalStorage` whose store is the `{ scope, isolationScope }` object, so\n * callers (e.g. `@sentry/node-native`) can read scope out of it from a native thread.\n */\nexport function setAsyncLocalStorageAsyncContextStrategy(): AsyncLocalStorage<ScopeStore> {\n // Re-use the AsyncLocalStorage of an already-installed strategy, if any. Otherwise a repeated\n // setup (e.g. a second `Sentry.init()`) would swap in a new store while integrations that captured\n // the previous one (via `getTracingChannelBinding().asyncLocalStorage`) keep reading the old one,\n // breaking scope propagation across async boundaries.\n const existingAsyncStorage = getAsyncContextStrategy(getMainCarrier()).getTracingChannelBinding?.()\n ?.asyncLocalStorage as AsyncLocalStorage<ScopeStore> | undefined;\n\n const asyncStorage = existingAsyncStorage ?? new AsyncLocalStorage<ScopeStore>();\n\n function getScopes(): { scope: Scope; isolationScope: Scope } {\n const scopes = asyncStorage.getStore();\n\n if (scopes) {\n return scopes;\n }\n\n // fallback behavior:\n // if, for whatever reason, we can't find scopes on the context here, we have to fix this somehow\n return {\n scope: getDefaultCurrentScope(),\n isolationScope: getDefaultIsolationScope(),\n };\n }\n\n function withScope<T>(callback: (scope: Scope) => T): T {\n const scope = getScopes().scope.clone();\n const isolationScope = getScopes().isolationScope;\n return asyncStorage.run({ scope, isolationScope }, () => {\n return callback(scope);\n });\n }\n\n // The isolation scope is shared, not forked, matching `withScope` above and the OpenTelemetry\n // strategy. Forking it would silently discard `setUser`/`setTag`/`setContext` calls made inside\n // the callback, as those write to the isolation scope.\n function withSetScope<T>(scope: Scope, callback: (scope: Scope) => T): T {\n const isolationScope = getScopes().isolationScope;\n return asyncStorage.run({ scope, isolationScope }, () => {\n return callback(scope);\n });\n }\n\n // The current scope is forked alongside the isolation scope, matching the OpenTelemetry strategy\n // (`buildContextWithSentryScopes` clones it on every fork). Sharing it by reference would let\n // current-scope mutations inside the callback leak back out to the caller.\n function withIsolationScope<T>(callback: (isolationScope: Scope) => T): T {\n const scope = getScopes().scope.clone();\n const isolationScope = getScopes().isolationScope.clone();\n\n // When forking an isolation scope, unless we are continuing an incoming\n // trace, we give the freshly forked scope its own trace. This way, new\n // root spans in an isolation scope will get separate traces. The previous\n // trace's `sampled` and `propagationSpanId` are dropped on purpose.\n // Carrying them over would apply the old trace's sampling decision to the\n // new one and propagate a span id from a different trace.\n if (!isContinuingTrace(scope.getPropagationContext())) {\n scope.setPropagationContext({\n traceId: generateTraceId(),\n sampleRand: _INTERNAL_safeMathRandom(),\n });\n }\n\n return asyncStorage.run({ scope, isolationScope }, () => {\n return callback(isolationScope);\n });\n }\n\n function withSetIsolationScope<T>(isolationScope: Scope, callback: (isolationScope: Scope) => T): T {\n const scope = getScopes().scope.clone();\n return asyncStorage.run({ scope, isolationScope }, () => {\n return callback(isolationScope);\n });\n }\n\n setAsyncContextStrategy({\n withScope,\n withSetScope,\n withIsolationScope,\n withSetIsolationScope,\n getCurrentScope: () => getScopes().scope,\n getIsolationScope: () => getScopes().isolationScope,\n getTracingChannelBinding: () => {\n return {\n asyncLocalStorage: asyncStorage,\n };\n },\n });\n\n return asyncStorage;\n}\n"],"names":[],"mappings":"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"}
|