@depup/sentry__server-utils 10.75.2-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 +34 -361
- 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 +19 -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 +19 -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 +10 -0
- 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 -75
- 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,67 @@
|
|
|
1
|
+
import { SERVER_PORT, SERVER_ADDRESS, DB_NAMESPACE, DB_OPERATION_NAME, DB_QUERY_SUMMARY, DB_QUERY_TEXT, DB_SYSTEM_NAME, SENTRY_OP } from '@sentry/conventions/attributes';
|
|
2
|
+
import { DB } from '@sentry/conventions/op';
|
|
3
|
+
import { getClient, hasSpanStreamingEnabled, startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
|
|
4
|
+
import { bindTracingChannelToSpan } from '../../tracing-channel.js';
|
|
5
|
+
import { sanitizeSqlQueryWithSummary } from '../../utils/sql.js';
|
|
6
|
+
|
|
7
|
+
const MYSQL2_DC_CHANNEL_QUERY = "mysql2:query";
|
|
8
|
+
const MYSQL2_DC_CHANNEL_EXECUTE = "mysql2:execute";
|
|
9
|
+
const MYSQL2_DC_CHANNEL_CONNECT = "mysql2:connect";
|
|
10
|
+
const MYSQL2_DC_CHANNEL_POOL_CONNECT = "mysql2:pool:connect";
|
|
11
|
+
const ORIGIN = "auto.db.mysql2.diagnostic_channel";
|
|
12
|
+
const DB_SYSTEM_NAME_VALUE_MYSQL = "mysql";
|
|
13
|
+
const SQL_OPERATION_RE = /^\s*(\w+)/;
|
|
14
|
+
function subscribeMysql2DiagnosticChannels(tracingChannel) {
|
|
15
|
+
setupQueryChannel(tracingChannel, MYSQL2_DC_CHANNEL_QUERY);
|
|
16
|
+
setupQueryChannel(tracingChannel, MYSQL2_DC_CHANNEL_EXECUTE);
|
|
17
|
+
setupConnectChannel(tracingChannel, MYSQL2_DC_CHANNEL_CONNECT, "mysql2.connect");
|
|
18
|
+
setupConnectChannel(tracingChannel, MYSQL2_DC_CHANNEL_POOL_CONNECT, "mysql2.pool.connect");
|
|
19
|
+
}
|
|
20
|
+
function setupQueryChannel(tracingChannel, channelName) {
|
|
21
|
+
bindTracingChannelToSpan(
|
|
22
|
+
tracingChannel(channelName),
|
|
23
|
+
(data) => {
|
|
24
|
+
const { queryText, querySummary } = sanitizeSqlQueryWithSummary(data.query, "mysql");
|
|
25
|
+
const operation = queryText?.match(SQL_OPERATION_RE)?.[1]?.toUpperCase();
|
|
26
|
+
const client = getClient();
|
|
27
|
+
const name = client && hasSpanStreamingEnabled(client) ? querySummary || data.database || DB_SYSTEM_NAME_VALUE_MYSQL : queryText || "mysql2.query";
|
|
28
|
+
return startInactiveSpan({
|
|
29
|
+
name,
|
|
30
|
+
attributes: {
|
|
31
|
+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,
|
|
32
|
+
[SENTRY_OP]: DB,
|
|
33
|
+
[DB_SYSTEM_NAME]: DB_SYSTEM_NAME_VALUE_MYSQL,
|
|
34
|
+
[DB_QUERY_TEXT]: queryText,
|
|
35
|
+
[DB_QUERY_SUMMARY]: querySummary,
|
|
36
|
+
[DB_OPERATION_NAME]: operation,
|
|
37
|
+
[DB_NAMESPACE]: data.database || void 0,
|
|
38
|
+
[SERVER_ADDRESS]: data.serverAddress,
|
|
39
|
+
[SERVER_PORT]: data.serverPort
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
{ requiresParentSpan: true }
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
function setupConnectChannel(tracingChannel, channelName, spanName) {
|
|
47
|
+
bindTracingChannelToSpan(
|
|
48
|
+
tracingChannel(channelName),
|
|
49
|
+
(data) => {
|
|
50
|
+
return startInactiveSpan({
|
|
51
|
+
name: spanName,
|
|
52
|
+
attributes: {
|
|
53
|
+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,
|
|
54
|
+
[SENTRY_OP]: DB,
|
|
55
|
+
[DB_SYSTEM_NAME]: DB_SYSTEM_NAME_VALUE_MYSQL,
|
|
56
|
+
[DB_NAMESPACE]: data.database || void 0,
|
|
57
|
+
[SERVER_ADDRESS]: data.serverAddress,
|
|
58
|
+
[SERVER_PORT]: data.serverPort
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
{ requiresParentSpan: true }
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { MYSQL2_DC_CHANNEL_CONNECT, MYSQL2_DC_CHANNEL_EXECUTE, MYSQL2_DC_CHANNEL_POOL_CONNECT, MYSQL2_DC_CHANNEL_QUERY, subscribeMysql2DiagnosticChannels };
|
|
67
|
+
//# sourceMappingURL=mysql2-dc-subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql2-dc-subscriber.js","sources":["../../../../src/integrations/mysql2/mysql2-dc-subscriber.ts"],"sourcesContent":["import type { TracingChannel } from 'node:diagnostics_channel';\nimport {\n DB_NAMESPACE,\n DB_OPERATION_NAME,\n DB_QUERY_SUMMARY,\n DB_QUERY_TEXT,\n DB_SYSTEM_NAME,\n SENTRY_OP,\n SERVER_ADDRESS,\n SERVER_PORT,\n} from '@sentry/conventions/attributes';\nimport { DB } from '@sentry/conventions/op';\nimport { getClient, hasSpanStreamingEnabled, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, startInactiveSpan } from '@sentry/core';\nimport { bindTracingChannelToSpan } from '../../tracing-channel';\nimport { sanitizeSqlQueryWithSummary } from '../../utils/sql';\n\n// Channel names published by mysql2 >= 3.20.0 (see mysql2 `lib/tracing.js`).\n// Hardcoded so the subscriber does not have to import mysql2 — the channels\n// just have to be subscribed to before the user's mysql2 code publishes.\nexport const MYSQL2_DC_CHANNEL_QUERY = 'mysql2:query';\nexport const MYSQL2_DC_CHANNEL_EXECUTE = 'mysql2:execute';\nexport const MYSQL2_DC_CHANNEL_CONNECT = 'mysql2:connect';\nexport const MYSQL2_DC_CHANNEL_POOL_CONNECT = 'mysql2:pool:connect';\n\nconst ORIGIN = 'auto.db.mysql2.diagnostic_channel';\nconst DB_SYSTEM_NAME_VALUE_MYSQL = 'mysql';\n\n// Leading keyword of a SQL statement (SELECT, INSERT, …) → `db.operation.name`.\nconst SQL_OPERATION_RE = /^\\s*(\\w+)/;\n\n/**\n * Shape of the context object mysql2 >= 3.20.0 publishes on its query/execute\n * tracing channels (see mysql2 `lib/base/connection.js`).\n *\n * Node's `traceCallback`/`tracePromise` mutate this same object with\n * `result`/`error` once the operation settles, which `bindTracingChannelToSpan`\n * reads in its lifecycle handlers — hence both are declared optional here.\n *\n * `query` is the SQL statement. On the `query` channel mysql2 has already\n * inlined `values` into it (`Connection.format`), so it carries raw user data;\n * on the `execute` channel it keeps `?` placeholders. Either way we sanitize it\n * before emitting `db.query.text` and never attach `values`.\n */\nexport interface MySQL2QueryData {\n query?: string;\n values?: unknown;\n database?: string;\n serverAddress?: string;\n /** Absent for unix-socket connections, where `serverAddress` is the socket path. */\n serverPort?: number;\n result?: unknown;\n error?: Error;\n}\n\n/**\n * Shape of the context object mysql2 >= 3.20.0 publishes on its\n * `connect`/`pool:connect` channels.\n */\nexport interface MySQL2ConnectData {\n database?: string;\n serverAddress?: string;\n serverPort?: number;\n user?: string;\n result?: unknown;\n error?: Error;\n}\n\n/**\n * Platform-provided factory that creates a native tracing channel for the given name. The\n * subscriber binds the span and its lifecycle onto the channel via `bindTracingChannelToSpan`,\n * which propagates the active span through the runtime's async context.\n *\n * Node passes `node:diagnostics_channel`'s `tracingChannel` directly.\n */\nexport type MySQL2TracingChannelFactory = <T extends object>(name: string) => TracingChannel<T, T>;\n\n/**\n * Subscribe Sentry span handlers to mysql2's diagnostics-channel events\n * (`mysql2:query`, `:execute`, `:connect`, `:pool:connect`), published by\n * mysql2 >= 3.20.0.\n *\n * On older mysql2 versions the channels are never published to, so the\n * subscribers are inert — there is no double-instrumentation against the\n * vendored OTel patcher, which is gated to `< 3.20.0`.\n */\nexport function subscribeMysql2DiagnosticChannels(tracingChannel: MySQL2TracingChannelFactory): void {\n setupQueryChannel(tracingChannel, MYSQL2_DC_CHANNEL_QUERY);\n setupQueryChannel(tracingChannel, MYSQL2_DC_CHANNEL_EXECUTE);\n setupConnectChannel(tracingChannel, MYSQL2_DC_CHANNEL_CONNECT, 'mysql2.connect');\n setupConnectChannel(tracingChannel, MYSQL2_DC_CHANNEL_POOL_CONNECT, 'mysql2.pool.connect');\n}\n\nfunction setupQueryChannel(tracingChannel: MySQL2TracingChannelFactory, channelName: string): void {\n bindTracingChannelToSpan(\n tracingChannel<MySQL2QueryData>(channelName),\n data => {\n // mysql2 does not sanitize its channel payload, so the statement may carry\n // raw user values (on the `query` channel they are inlined). Strip every\n // literal before it leaves the process; `values` is never attached.\n const { queryText, querySummary } = sanitizeSqlQueryWithSummary(data.query, 'mysql');\n const operation = queryText?.match(SQL_OPERATION_RE)?.[1]?.toUpperCase();\n\n const client = getClient();\n const name =\n client && hasSpanStreamingEnabled(client)\n ? querySummary || data.database || DB_SYSTEM_NAME_VALUE_MYSQL\n : queryText || 'mysql2.query';\n\n return startInactiveSpan({\n name,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n [SENTRY_OP]: DB,\n [DB_SYSTEM_NAME]: DB_SYSTEM_NAME_VALUE_MYSQL,\n [DB_QUERY_TEXT]: queryText,\n [DB_QUERY_SUMMARY]: querySummary,\n [DB_OPERATION_NAME]: operation,\n [DB_NAMESPACE]: data.database || undefined,\n [SERVER_ADDRESS]: data.serverAddress,\n [SERVER_PORT]: data.serverPort,\n },\n });\n },\n { requiresParentSpan: true },\n );\n}\n\nfunction setupConnectChannel(tracingChannel: MySQL2TracingChannelFactory, channelName: string, spanName: string): void {\n bindTracingChannelToSpan(\n tracingChannel<MySQL2ConnectData>(channelName),\n data => {\n return startInactiveSpan({\n name: spanName,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n [SENTRY_OP]: DB,\n [DB_SYSTEM_NAME]: DB_SYSTEM_NAME_VALUE_MYSQL,\n [DB_NAMESPACE]: data.database || undefined,\n [SERVER_ADDRESS]: data.serverAddress,\n [SERVER_PORT]: data.serverPort,\n },\n });\n },\n { requiresParentSpan: true },\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as diagnosticsChannel from 'node:diagnostics_channel';
|
|
2
|
+
import { _INTERNAL_shouldSkipAiProviderWrapping, getClient, startInactiveSpan, hasSpanStreamingEnabled, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
|
|
3
|
+
import { GEN_AI_PROVIDER_NAME } from '@sentry/conventions/attributes';
|
|
4
|
+
import { resolveAIRecordingOptions, getGenAiSpanOp } from '../ai/core/utils.js';
|
|
5
|
+
import { extractRequestAttributes, addRequestAttributes } from '../ai/openai/index.js';
|
|
6
|
+
import { instrumentStream } from '../ai/openai/streaming.js';
|
|
7
|
+
import { addResponseAttributes } from '../ai/openai/utils.js';
|
|
8
|
+
import { invokeOrchestrionInstrumentation } from '../orchestrion/instrumentation.js';
|
|
9
|
+
import { bindTracingChannelToSpan } from '../tracing-channel.js';
|
|
10
|
+
|
|
11
|
+
function createOpenAiCompatibleIntegration(provider) {
|
|
12
|
+
const instrumentedChannels = [
|
|
13
|
+
{ channel: provider.channels.chat, operation: "chat" },
|
|
14
|
+
{ channel: provider.channels.embeddings, operation: "embeddings" }
|
|
15
|
+
];
|
|
16
|
+
function instrument(options) {
|
|
17
|
+
for (const { channel, operation } of instrumentedChannels) {
|
|
18
|
+
bindTracingChannelToSpan(
|
|
19
|
+
diagnosticsChannel.tracingChannel(channel),
|
|
20
|
+
(data) => createGenAiSpan(data, operation, provider, options),
|
|
21
|
+
{
|
|
22
|
+
beforeSpanEnd: (span, data) => {
|
|
23
|
+
addResponseAttributes(span, data.result, resolveAIRecordingOptions(options).recordOutputs);
|
|
24
|
+
},
|
|
25
|
+
// Streaming: the result is a `Stream` consumed later, so instrument it and let it end the span.
|
|
26
|
+
deferSpanEnd: ({ span, data }) => wrapStreamResult(span, data, options)
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return ((options = {}) => {
|
|
32
|
+
return {
|
|
33
|
+
name: provider.integrationName,
|
|
34
|
+
setup(client) {
|
|
35
|
+
invokeOrchestrionInstrumentation(client, provider.moduleNames, instrument, [options]);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function createGenAiSpan(data, operation, provider, options) {
|
|
41
|
+
if (_INTERNAL_shouldSkipAiProviderWrapping(provider.integrationName)) {
|
|
42
|
+
return void 0;
|
|
43
|
+
}
|
|
44
|
+
const args = data.arguments ?? [];
|
|
45
|
+
const params = args[0];
|
|
46
|
+
const { recordInputs } = resolveAIRecordingOptions(options);
|
|
47
|
+
const attributes = extractRequestAttributes(args, operation, recordInputs);
|
|
48
|
+
attributes[GEN_AI_PROVIDER_NAME] = provider.providerName;
|
|
49
|
+
attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] = provider.origin;
|
|
50
|
+
const model = params?.model || "unknown";
|
|
51
|
+
const client = getClient();
|
|
52
|
+
const span = startInactiveSpan({
|
|
53
|
+
// With span streaming, omit the `'unknown'` model sentinel so the name stays low-cardinality.
|
|
54
|
+
name: model !== "unknown" || !(client && hasSpanStreamingEnabled(client)) ? `${operation} ${model}` : operation,
|
|
55
|
+
op: getGenAiSpanOp(operation),
|
|
56
|
+
attributes
|
|
57
|
+
});
|
|
58
|
+
if (recordInputs && params) {
|
|
59
|
+
addRequestAttributes(span, params, operation);
|
|
60
|
+
}
|
|
61
|
+
return span;
|
|
62
|
+
}
|
|
63
|
+
function isAsyncIterable(value) {
|
|
64
|
+
return !!value && typeof value[Symbol.asyncIterator] === "function";
|
|
65
|
+
}
|
|
66
|
+
function wrapStreamResult(span, data, options) {
|
|
67
|
+
const result = data.result;
|
|
68
|
+
if (!isAsyncIterable(result)) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
const { recordOutputs } = resolveAIRecordingOptions(options);
|
|
72
|
+
const iterate = result[Symbol.asyncIterator].bind(result);
|
|
73
|
+
const instrumented = instrumentStream({ [Symbol.asyncIterator]: iterate }, span, recordOutputs ?? false);
|
|
74
|
+
result[Symbol.asyncIterator] = () => instrumented;
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { createOpenAiCompatibleIntegration };
|
|
79
|
+
//# sourceMappingURL=openai-compatible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-compatible.js","sources":["../../../src/integrations/openai-compatible.ts"],"sourcesContent":["import * as diagnosticsChannel from 'node:diagnostics_channel';\nimport type { Integration, IntegrationFn, Span, SpanAttributeValue } from '@sentry/core';\nimport {\n _INTERNAL_shouldSkipAiProviderWrapping,\n getClient,\n hasSpanStreamingEnabled,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n startInactiveSpan,\n} from '@sentry/core';\nimport { GEN_AI_PROVIDER_NAME } from '@sentry/conventions/attributes';\nimport { getGenAiSpanOp, resolveAIRecordingOptions } from '../ai/core/utils';\nimport { addRequestAttributes, extractRequestAttributes } from '../ai/openai';\nimport { instrumentStream } from '../ai/openai/streaming';\nimport type { OpenAiOptions } from '../ai/openai/types';\nimport { addResponseAttributes } from '../ai/openai/utils';\nimport { invokeOrchestrionInstrumentation } from '../orchestrion/instrumentation';\nimport { bindTracingChannelToSpan } from '../tracing-channel';\n\n/**\n * Describes an OpenAI-compatible provider whose SDK mirrors the openai wire format (Groq, Together, ...),\n * so the span building, streaming and response parsing can all be reused from `ai/openai`.\n */\nexport interface OpenAiCompatibleProvider {\n /** Integration name; also the key used to skip double-wrapping when another provider drives the SDK. */\n integrationName: string;\n /** Value reported on `gen_ai.provider.name`. */\n providerName: string;\n /** Span origin, `auto.ai.<provider>`. */\n origin: string;\n /** The instrumented `module.name`s (from the orchestrion config's `getModuleNames`). */\n moduleNames: string[];\n /** The fully-qualified orchestrion channels this provider publishes to. */\n channels: { chat: string; embeddings: string };\n}\n\n/**\n * The context orchestrion shares across the tracing-channel lifecycle hooks: `arguments` is the live args\n * array passed to `Completions.create(body, options)`, and Node's `tracingChannel` attaches `result` when\n * the returned promise settles.\n */\ninterface OpenAiCompatibleChannelContext {\n arguments: unknown[];\n result?: unknown;\n}\n\n/**\n * Builds a diagnostics-channel integration for an OpenAI-compatible provider SDK. It subscribes to the\n * `orchestrion:<module>:{chat,embeddings}` channels injected into the SDK's `create` methods, so it\n * requires the Sentry runtime hook or bundler plugin. Everything below the channel — request/response\n * attributes and streaming — is shared with the openai integration; only the provider name and origin\n * differ.\n */\nexport function createOpenAiCompatibleIntegration<T extends OpenAiCompatibleProvider>(\n provider: T,\n): (options?: OpenAiOptions) => Integration & { name: T['integrationName'] } {\n const instrumentedChannels = [\n { channel: provider.channels.chat, operation: 'chat' },\n { channel: provider.channels.embeddings, operation: 'embeddings' },\n ] as const;\n\n function instrument(options: OpenAiOptions): void {\n for (const { channel, operation } of instrumentedChannels) {\n bindTracingChannelToSpan(\n diagnosticsChannel.tracingChannel<OpenAiCompatibleChannelContext>(channel),\n data => createGenAiSpan(data, operation, provider, options),\n {\n beforeSpanEnd: (span, data) => {\n addResponseAttributes(span, data.result, resolveAIRecordingOptions(options).recordOutputs);\n },\n // Streaming: the result is a `Stream` consumed later, so instrument it and let it end the span.\n deferSpanEnd: ({ span, data }) => wrapStreamResult(span, data, options),\n },\n );\n }\n }\n\n return ((options: OpenAiOptions = {}) => {\n return {\n name: provider.integrationName,\n setup(client) {\n invokeOrchestrionInstrumentation(client, provider.moduleNames, instrument, [options]);\n },\n };\n }) satisfies IntegrationFn;\n}\n\n/**\n * Build the span for an instrumented `create` call.\n * Returning `undefined` opts the payload out so no span is opened.\n */\nfunction createGenAiSpan(\n data: OpenAiCompatibleChannelContext,\n operation: string,\n provider: OpenAiCompatibleProvider,\n options: OpenAiOptions,\n): Span | undefined {\n // When another provider (e.g. LangChain) is driving the SDK, it records the spans itself and marks this\n // provider as skipped; skip here to avoid double spans.\n if (_INTERNAL_shouldSkipAiProviderWrapping(provider.integrationName)) {\n return undefined;\n }\n\n const args = data.arguments ?? [];\n const params = args[0] as Record<string, unknown> | undefined;\n\n const { recordInputs } = resolveAIRecordingOptions(options);\n\n // `extractRequestAttributes` defaults the provider to openai; override it for the concrete provider.\n const attributes = extractRequestAttributes(args, operation, recordInputs);\n attributes[GEN_AI_PROVIDER_NAME] = provider.providerName;\n attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] = provider.origin;\n const model = (params?.model as string) || 'unknown';\n const client = getClient();\n\n const span = startInactiveSpan({\n // With span streaming, omit the `'unknown'` model sentinel so the name stays low-cardinality.\n name: model !== 'unknown' || !(client && hasSpanStreamingEnabled(client)) ? `${operation} ${model}` : operation,\n op: getGenAiSpanOp(operation),\n attributes: attributes as Record<string, SpanAttributeValue>,\n });\n\n if (recordInputs && params) {\n addRequestAttributes(span, params, operation);\n }\n\n return span;\n}\n\ntype AsyncIterableStream = { [Symbol.asyncIterator]: () => AsyncIterator<unknown> };\n\nfunction isAsyncIterable(value: unknown): value is AsyncIterableStream {\n return !!value && typeof (value as AsyncIterableStream)[Symbol.asyncIterator] === 'function';\n}\n\n/**\n * For a streaming `create({ stream: true })` the result is a `Stream` the caller consumes later. We can't\n * swap what `create` returns, but the `Stream` in `data.result` is the same instance the caller holds and\n * `asyncEnd` fires before the caller iterates — so we patch its async iterator in place to run through\n * `instrumentStream`, which accumulates the streamed attributes and ends the span when iteration finishes.\n * Only a streaming call resolves to an async-iterable, so that check alone distinguishes it. Returns `true`\n * to hand span-ending ownership to `instrumentStream`; `false` for non-streaming/errored results, which end\n * via the normal `beforeSpanEnd` path.\n */\nfunction wrapStreamResult(span: Span, data: OpenAiCompatibleChannelContext, options: OpenAiOptions): boolean {\n const result = data.result;\n if (!isAsyncIterable(result)) {\n return false;\n }\n\n const { recordOutputs } = resolveAIRecordingOptions(options);\n const iterate = result[Symbol.asyncIterator].bind(result);\n const instrumented = instrumentStream({ [Symbol.asyncIterator]: iterate }, span, recordOutputs ?? false);\n result[Symbol.asyncIterator] = () => instrumented;\n\n return true;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as diagnosticsChannel from 'node:diagnostics_channel';
|
|
2
|
+
import { defineIntegration, _INTERNAL_shouldSkipAiProviderWrapping, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, getClient, startInactiveSpan, hasSpanStreamingEnabled } from '@sentry/core';
|
|
3
|
+
import { resolveAIRecordingOptions, getGenAiSpanOp } from '../ai/core/utils.js';
|
|
4
|
+
import { extractRequestAttributes, addRequestAttributes } from '../ai/openai/index.js';
|
|
5
|
+
import { instrumentStream } from '../ai/openai/streaming.js';
|
|
6
|
+
import { addResponseAttributes } from '../ai/openai/utils.js';
|
|
7
|
+
import { CHANNELS } from '../orchestrion/channels.js';
|
|
8
|
+
import { bindTracingChannelToSpan } from '../tracing-channel.js';
|
|
9
|
+
import { openaiModuleNames } from '../orchestrion/config/openai.js';
|
|
10
|
+
import { invokeOrchestrionInstrumentation } from '../orchestrion/instrumentation.js';
|
|
11
|
+
|
|
12
|
+
const INTEGRATION_NAME = "OpenAI";
|
|
13
|
+
const ORIGIN = "auto.ai.openai";
|
|
14
|
+
const INSTRUMENTED_CHANNELS = [
|
|
15
|
+
{ channel: CHANNELS.OPENAI_CHAT, operation: "chat" },
|
|
16
|
+
{ channel: CHANNELS.OPENAI_EMBEDDINGS, operation: "embeddings" }
|
|
17
|
+
];
|
|
18
|
+
const _openAIIntegration = ((options = {}) => {
|
|
19
|
+
return {
|
|
20
|
+
name: INTEGRATION_NAME,
|
|
21
|
+
setup(client) {
|
|
22
|
+
invokeOrchestrionInstrumentation(client, openaiModuleNames, instrumentOpenai, [options]);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
function instrumentOpenai(options) {
|
|
27
|
+
for (const { channel, operation } of INSTRUMENTED_CHANNELS) {
|
|
28
|
+
bindTracingChannelToSpan(
|
|
29
|
+
diagnosticsChannel.tracingChannel(channel),
|
|
30
|
+
(data) => createGenAiSpan(data, operation, options),
|
|
31
|
+
{
|
|
32
|
+
beforeSpanEnd: (span, data) => {
|
|
33
|
+
addResponseAttributes(span, data.result, resolveAIRecordingOptions(options).recordOutputs);
|
|
34
|
+
},
|
|
35
|
+
// Streaming: the result is a `Stream` consumed later, so instrument it and let it end the span.
|
|
36
|
+
deferSpanEnd: ({ span, data }) => wrapStreamResult(span, data, options)
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function createGenAiSpan(data, operation, options) {
|
|
42
|
+
if (_INTERNAL_shouldSkipAiProviderWrapping(INTEGRATION_NAME)) {
|
|
43
|
+
return void 0;
|
|
44
|
+
}
|
|
45
|
+
const args = data.arguments ?? [];
|
|
46
|
+
const params = args[0];
|
|
47
|
+
const { recordInputs } = resolveAIRecordingOptions(options);
|
|
48
|
+
const attributes = extractRequestAttributes(args, operation, recordInputs);
|
|
49
|
+
attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] = ORIGIN;
|
|
50
|
+
const model = params?.model || "unknown";
|
|
51
|
+
const client = getClient();
|
|
52
|
+
const span = startInactiveSpan({
|
|
53
|
+
// With span streaming, omit the `'unknown'` model sentinel so the name stays low-cardinality.
|
|
54
|
+
name: model !== "unknown" || !(client && hasSpanStreamingEnabled(client)) ? `${operation} ${model}` : operation,
|
|
55
|
+
op: getGenAiSpanOp(operation),
|
|
56
|
+
attributes
|
|
57
|
+
});
|
|
58
|
+
if (recordInputs && params) {
|
|
59
|
+
addRequestAttributes(span, params, operation);
|
|
60
|
+
}
|
|
61
|
+
return span;
|
|
62
|
+
}
|
|
63
|
+
function isAsyncIterable(value) {
|
|
64
|
+
return !!value && typeof value[Symbol.asyncIterator] === "function";
|
|
65
|
+
}
|
|
66
|
+
function wrapStreamResult(span, data, options) {
|
|
67
|
+
const result = data.result;
|
|
68
|
+
if (!isAsyncIterable(result)) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
const { recordOutputs } = resolveAIRecordingOptions(options);
|
|
72
|
+
const iterate = result[Symbol.asyncIterator].bind(result);
|
|
73
|
+
const instrumented = instrumentStream({ [Symbol.asyncIterator]: iterate }, span, recordOutputs ?? false);
|
|
74
|
+
result[Symbol.asyncIterator] = () => instrumented;
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
const openAIIntegration = defineIntegration(_openAIIntegration);
|
|
78
|
+
|
|
79
|
+
export { openAIIntegration };
|
|
80
|
+
//# sourceMappingURL=openai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.js","sources":["../../../src/integrations/openai.ts"],"sourcesContent":["import * as diagnosticsChannel from 'node:diagnostics_channel';\nimport type { IntegrationFn, Span, SpanAttributeValue } from '@sentry/core';\nimport {\n _INTERNAL_shouldSkipAiProviderWrapping,\n defineIntegration,\n getClient,\n hasSpanStreamingEnabled,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n startInactiveSpan,\n} from '@sentry/core';\nimport { getGenAiSpanOp, resolveAIRecordingOptions } from '../ai/core/utils';\nimport { addRequestAttributes, extractRequestAttributes } from '../ai/openai';\nimport { instrumentStream } from '../ai/openai/streaming';\nimport type { OpenAiOptions } from '../ai/openai/types';\nimport { addResponseAttributes } from '../ai/openai/utils';\nimport { CHANNELS } from '../orchestrion/channels';\nimport { bindTracingChannelToSpan } from '../tracing-channel';\nimport { openaiModuleNames } from '../orchestrion/config/openai';\nimport { invokeOrchestrionInstrumentation } from '../orchestrion/instrumentation';\n\n// Same name as the OTel integration by design, so the OTel 'OpenAI'\n// integration is deduplicated out of the default set.\nconst INTEGRATION_NAME = 'OpenAI' as const;\n\nconst ORIGIN = 'auto.ai.openai';\n\n// Each instrumented `create` method maps to the gen_ai operation its span reports.\nconst INSTRUMENTED_CHANNELS = [\n { channel: CHANNELS.OPENAI_CHAT, operation: 'chat' },\n { channel: CHANNELS.OPENAI_EMBEDDINGS, operation: 'embeddings' },\n] as const;\n\n/**\n * The context object orchestrion shares across the tracing-channel lifecycle hooks: `arguments` is the\n * live args array passed to `Completions.create(body, options)`, and Node's `tracingChannel` attaches\n * `result` when the returned promise settles.\n */\ninterface OpenAiChatChannelContext {\n arguments: unknown[];\n result?: unknown;\n}\n\nconst _openAIIntegration = ((options: OpenAiOptions = {}) => {\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n invokeOrchestrionInstrumentation(client, openaiModuleNames, instrumentOpenai, [options]);\n },\n };\n}) satisfies IntegrationFn;\n\nfunction instrumentOpenai(options: OpenAiOptions): void {\n for (const { channel, operation } of INSTRUMENTED_CHANNELS) {\n bindTracingChannelToSpan(\n diagnosticsChannel.tracingChannel<OpenAiChatChannelContext>(channel),\n data => createGenAiSpan(data, operation, options),\n {\n beforeSpanEnd: (span, data) => {\n addResponseAttributes(span, data.result, resolveAIRecordingOptions(options).recordOutputs);\n },\n // Streaming: the result is a `Stream` consumed later, so instrument it and let it end the span.\n deferSpanEnd: ({ span, data }) => wrapStreamResult(span, data, options),\n },\n );\n }\n}\n\n/**\n * Build the span for an instrumented `create` call.\n * Returning `undefined` opts the payload out so no span is opened.\n */\nfunction createGenAiSpan(data: OpenAiChatChannelContext, operation: string, options: OpenAiOptions): Span | undefined {\n // When another provider (e.g. LangChain) is driving the SDK, it records the spans itself and marks this\n // provider as skipped; skip here to avoid double spans.\n if (_INTERNAL_shouldSkipAiProviderWrapping(INTEGRATION_NAME)) {\n return undefined;\n }\n\n const args = data.arguments ?? [];\n const params = args[0] as Record<string, unknown> | undefined;\n\n const { recordInputs } = resolveAIRecordingOptions(options);\n\n const attributes = extractRequestAttributes(args, operation, recordInputs);\n attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] = ORIGIN;\n const model = (params?.model as string) || 'unknown';\n const client = getClient();\n\n const span = startInactiveSpan({\n // With span streaming, omit the `'unknown'` model sentinel so the name stays low-cardinality.\n name: model !== 'unknown' || !(client && hasSpanStreamingEnabled(client)) ? `${operation} ${model}` : operation,\n op: getGenAiSpanOp(operation),\n attributes: attributes as Record<string, SpanAttributeValue>,\n });\n\n if (recordInputs && params) {\n addRequestAttributes(span, params, operation);\n }\n\n return span;\n}\n\ntype AsyncIterableStream = { [Symbol.asyncIterator]: () => AsyncIterator<unknown> };\n\nfunction isAsyncIterable(value: unknown): value is AsyncIterableStream {\n return !!value && typeof (value as AsyncIterableStream)[Symbol.asyncIterator] === 'function';\n}\n\n/**\n * For a streaming `create({ stream: true })` the result is a `Stream` the caller consumes later. We can't\n * swap what `create` returns, but the `Stream` in `data.result` is the same instance the caller holds and\n * `asyncEnd` fires before the caller iterates — so we patch its async iterator in place to run through\n * `instrumentStream`, which accumulates the streamed attributes and ends the span when iteration finishes.\n * Only a streaming call resolves to an async-iterable, so that check alone distinguishes it. Returns `true`\n * to hand span-ending ownership to `instrumentStream`; `false` for non-streaming/errored results, which end\n * via the normal `beforeSpanEnd` path.\n */\nfunction wrapStreamResult(span: Span, data: OpenAiChatChannelContext, options: OpenAiOptions): boolean {\n const result = data.result;\n if (!isAsyncIterable(result)) {\n return false;\n }\n\n const { recordOutputs } = resolveAIRecordingOptions(options);\n const iterate = result[Symbol.asyncIterator].bind(result);\n const instrumented = instrumentStream({ [Symbol.asyncIterator]: iterate }, span, recordOutputs ?? false);\n result[Symbol.asyncIterator] = () => instrumented;\n\n return true;\n}\n\n/**\n * Diagnostics-channel-based OpenAI integration. Subscribes to the `orchestrion:openai:*`\n * diagnostics_channels injected into `openai`'s `create` methods (chat completions, responses, embeddings,\n * conversations), so it requires the Sentry runtime hook or bundler plugin.\n */\nexport const openAIIntegration = defineIntegration(_openAIIntegration);\n"],"names":[],"mappings":";;;;;;;;;;;AAsBA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,qBAAA,CAAA,CAAA,CAAwB;AAAA,CAAA,CAC5B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,WAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAAA,CAAA,CACnD,CAAA,CAAE,OAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACpD,CAAA;AAYA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,kBAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,EAAC,CAAA,CAAA,CAAA,CAAA,CAAM;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAAA,CAAA,CAAA,CAAA,CACL,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACN,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACZ,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA;AAAA,CAAA,CAAA,CAAA,CACzF;AAAA,CAAA,CAAA,CACF;AACF,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B;AACtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAW,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB;AAC1D,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;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAyC,OAAO,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChD;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,aAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAC7B,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,CAAsB,CAAA,CAAA,CAAA,GAAM,IAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,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,CAA0B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,aAAa,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC3F,CAAA;AAAA,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,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,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAE,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,GAAK,CAAA,CAAA,CAAA,CAAA,CAAM,gBAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACxE,CAAA,CAAA,CAAA,CAAA,CACF;AAAA,CAAA,CACF;AACF;AAMA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,eAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,EAAgC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,OAAA,CAAA,CAA0C;AAGpH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAG;AAC5D,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT;AAEA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAa,CAAA,CAAC;AAChC,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,EAAK,CAAC,CAAA;AAErB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,GAAI,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,CAA0B,OAAO,CAAA;AAE1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA;AACzE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,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,CAAgC,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/C,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,IAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB;AAAA,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,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,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,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAE7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACtG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,SAAS,CAAA;AAAA,CAAA,CAAA,CAAA,CAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACD,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAC1B,CAAA,CAAA,CAAA,CAAA,oBAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,SAAS,CAAA;AAAA,CAAA,CAC9C;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AACT;AAIA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8C;AACrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,KAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACpF;AAWA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,gBAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,OAAA,CAAA,CAAiC;AACrG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACpB,CAAA,CAAA,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG;AAC5B,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,GAAI,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,CAA0B,OAAO,CAAA;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,MAAM,CAAA;AACxD,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,gBAAA,CAAiB,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,aAAa,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,KAAK,CAAA;AACvG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,aAAa,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAErC,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AACT;AAOO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA;;"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import * as diagnosticsChannel from 'node:diagnostics_channel';
|
|
2
|
+
import { DB_OPERATION_NAME, DB_QUERY_SUMMARY, DB_QUERY_TEXT, DB_SYSTEM_NAME, SENTRY_KIND, SENTRY_OP, ERROR_TYPE } from '@sentry/conventions/attributes';
|
|
3
|
+
import { DB } from '@sentry/conventions/op';
|
|
4
|
+
import { defineIntegration, getClient, hasSpanStreamingEnabled, startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, debug, SPAN_STATUS_ERROR } from '@sentry/core';
|
|
5
|
+
import { DEBUG_BUILD } from '../debug-build.js';
|
|
6
|
+
import { sanitizeSqlQuery, getSqlQuerySummary } from '../utils/sql.js';
|
|
7
|
+
import { _reconstructQuery, _getOperationName, _buildConnectionContext, _getConnectionAttributes } from './postgresjs.js';
|
|
8
|
+
import { CHANNELS } from '../orchestrion/channels.js';
|
|
9
|
+
import { bindTracingChannelToSpan } from '../tracing-channel.js';
|
|
10
|
+
import { postgresJsModuleNames } from '../orchestrion/config/postgres.js';
|
|
11
|
+
import { invokeOrchestrionInstrumentation } from '../orchestrion/instrumentation.js';
|
|
12
|
+
|
|
13
|
+
const INTEGRATION_NAME = "PostgresJs";
|
|
14
|
+
const ORIGIN = "auto.db.postgresjs";
|
|
15
|
+
const DB_SYSTEM_NAME_POSTGRES = "postgres";
|
|
16
|
+
const DB_RESPONSE_STATUS_CODE = "db.response.status_code";
|
|
17
|
+
const NOOP = () => {
|
|
18
|
+
};
|
|
19
|
+
const QUERY_FROM_INSTRUMENTED_SQL = /* @__PURE__ */ Symbol.for("sentry.query.from.instrumented.sql");
|
|
20
|
+
const QUERY_SPAN = /* @__PURE__ */ Symbol("sentryPostgresJsSpan");
|
|
21
|
+
const CONNECTION_ATTRS_SET = /* @__PURE__ */ Symbol("sentryPostgresJsConnectionAttrsSet");
|
|
22
|
+
const SPAN_ENDED = /* @__PURE__ */ Symbol("sentryPostgresJsSpanEnded");
|
|
23
|
+
const connectionContexts = /* @__PURE__ */ new WeakMap();
|
|
24
|
+
const endpointRegistry = [];
|
|
25
|
+
function registerEndpoint(context) {
|
|
26
|
+
const alreadyKnown = endpointRegistry.some(
|
|
27
|
+
(e) => e.ATTR_SERVER_ADDRESS === context.ATTR_SERVER_ADDRESS && e.ATTR_SERVER_PORT === context.ATTR_SERVER_PORT && e.ATTR_DB_NAMESPACE === context.ATTR_DB_NAMESPACE
|
|
28
|
+
);
|
|
29
|
+
if (!alreadyKnown) {
|
|
30
|
+
endpointRegistry.push(context);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function resolveSingleEndpoint() {
|
|
34
|
+
return endpointRegistry.length === 1 ? endpointRegistry[0] : void 0;
|
|
35
|
+
}
|
|
36
|
+
function recordConnectionFromChannel(message) {
|
|
37
|
+
const connection = message.result;
|
|
38
|
+
const options = message.arguments?.[0];
|
|
39
|
+
if (!connection || typeof connection !== "object" || !options) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const context = _buildConnectionContext(options);
|
|
43
|
+
connectionContexts.set(connection, context);
|
|
44
|
+
registerEndpoint(context);
|
|
45
|
+
}
|
|
46
|
+
function setConnectionAttributes(span, query, context) {
|
|
47
|
+
const queryRecord = query;
|
|
48
|
+
if (queryRecord[CONNECTION_ATTRS_SET]) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
queryRecord[CONNECTION_ATTRS_SET] = true;
|
|
52
|
+
if (context) {
|
|
53
|
+
span.setAttributes(_getConnectionAttributes(context));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function attachConnectionAttributesFromChannel(message) {
|
|
57
|
+
const connection = message.self;
|
|
58
|
+
const query = message.arguments?.[0];
|
|
59
|
+
if (!connection || !query) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const span = query[QUERY_SPAN];
|
|
63
|
+
const context = connectionContexts.get(connection);
|
|
64
|
+
if (span && context) {
|
|
65
|
+
setConnectionAttributes(span, query, context);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function wrapQuerySettlement(data, span, sanitizedSqlQuery) {
|
|
69
|
+
const query = data.self;
|
|
70
|
+
if (!query) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const markEnded = () => {
|
|
74
|
+
data[SPAN_ENDED] = true;
|
|
75
|
+
};
|
|
76
|
+
const originalResolve = query.resolve;
|
|
77
|
+
if (typeof originalResolve === "function") {
|
|
78
|
+
query.resolve = function(...resolveArgs) {
|
|
79
|
+
markEnded();
|
|
80
|
+
try {
|
|
81
|
+
const command = resolveArgs[0]?.command;
|
|
82
|
+
span.setAttribute(DB_OPERATION_NAME, _getOperationName(sanitizedSqlQuery, command));
|
|
83
|
+
span.end();
|
|
84
|
+
} catch (e) {
|
|
85
|
+
DEBUG_BUILD && debug.error("[instrumentation:postgresjs] error ending span in resolve:", e);
|
|
86
|
+
}
|
|
87
|
+
return originalResolve.apply(this, resolveArgs);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const originalReject = query.reject;
|
|
91
|
+
if (typeof originalReject === "function") {
|
|
92
|
+
query.reject = function(...rejectArgs) {
|
|
93
|
+
markEnded();
|
|
94
|
+
try {
|
|
95
|
+
const err = rejectArgs[0];
|
|
96
|
+
span.setStatus({ code: SPAN_STATUS_ERROR, message: err?.message || "unknown_error" });
|
|
97
|
+
span.setAttribute(DB_RESPONSE_STATUS_CODE, err?.code || "unknown");
|
|
98
|
+
span.setAttribute(ERROR_TYPE, err?.name || "unknown");
|
|
99
|
+
span.end();
|
|
100
|
+
} catch (e) {
|
|
101
|
+
DEBUG_BUILD && debug.error("[instrumentation:postgresjs] error ending span in reject:", e);
|
|
102
|
+
}
|
|
103
|
+
return originalReject.apply(this, rejectArgs);
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const _postgresJsIntegration = ((options = {}) => {
|
|
108
|
+
return {
|
|
109
|
+
name: INTEGRATION_NAME,
|
|
110
|
+
setup(client) {
|
|
111
|
+
invokeOrchestrionInstrumentation(client, postgresJsModuleNames, instrumentPostgresJs, [options]);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
function instrumentPostgresJs(options) {
|
|
116
|
+
const { requireParentSpan, requestHook } = options;
|
|
117
|
+
diagnosticsChannel.tracingChannel(CHANNELS.POSTGRESJS_CONNECTION).subscribe({
|
|
118
|
+
start: NOOP,
|
|
119
|
+
asyncStart: NOOP,
|
|
120
|
+
asyncEnd: NOOP,
|
|
121
|
+
error: NOOP,
|
|
122
|
+
end: recordConnectionFromChannel
|
|
123
|
+
});
|
|
124
|
+
diagnosticsChannel.tracingChannel(CHANNELS.POSTGRESJS_EXECUTE).subscribe({
|
|
125
|
+
end: NOOP,
|
|
126
|
+
asyncStart: NOOP,
|
|
127
|
+
asyncEnd: NOOP,
|
|
128
|
+
error: NOOP,
|
|
129
|
+
start: attachConnectionAttributesFromChannel
|
|
130
|
+
});
|
|
131
|
+
diagnosticsChannel.tracingChannel(CHANNELS.POSTGRESJS_CONNECT).subscribe({
|
|
132
|
+
end: NOOP,
|
|
133
|
+
asyncStart: NOOP,
|
|
134
|
+
asyncEnd: NOOP,
|
|
135
|
+
error: NOOP,
|
|
136
|
+
start: attachConnectionAttributesFromChannel
|
|
137
|
+
});
|
|
138
|
+
bindTracingChannelToSpan(
|
|
139
|
+
diagnosticsChannel.tracingChannel(CHANNELS.POSTGRESJS_HANDLE),
|
|
140
|
+
(data) => {
|
|
141
|
+
const query = data.self;
|
|
142
|
+
if (!query) {
|
|
143
|
+
return void 0;
|
|
144
|
+
}
|
|
145
|
+
if (query.executed === true || query[QUERY_FROM_INSTRUMENTED_SQL]) {
|
|
146
|
+
return void 0;
|
|
147
|
+
}
|
|
148
|
+
const fullQuery = _reconstructQuery(query.strings);
|
|
149
|
+
const sanitizedSqlQuery = sanitizeSqlQuery(fullQuery);
|
|
150
|
+
const querySummary = getSqlQuerySummary(sanitizedSqlQuery);
|
|
151
|
+
const client = getClient();
|
|
152
|
+
const context = resolveSingleEndpoint();
|
|
153
|
+
const name = client && hasSpanStreamingEnabled(client) ? querySummary || context?.ATTR_DB_NAMESPACE || DB_SYSTEM_NAME_POSTGRES : sanitizedSqlQuery || "postgresjs.query";
|
|
154
|
+
const span = startInactiveSpan({
|
|
155
|
+
name,
|
|
156
|
+
attributes: {
|
|
157
|
+
[SENTRY_OP]: DB,
|
|
158
|
+
[SENTRY_KIND]: "client",
|
|
159
|
+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,
|
|
160
|
+
[DB_SYSTEM_NAME]: DB_SYSTEM_NAME_POSTGRES,
|
|
161
|
+
[DB_QUERY_TEXT]: sanitizedSqlQuery,
|
|
162
|
+
[DB_QUERY_SUMMARY]: querySummary,
|
|
163
|
+
[DB_OPERATION_NAME]: _getOperationName(sanitizedSqlQuery)
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
query[QUERY_SPAN] = span;
|
|
167
|
+
if (context) {
|
|
168
|
+
setConnectionAttributes(span, query, context);
|
|
169
|
+
}
|
|
170
|
+
if (requestHook) {
|
|
171
|
+
try {
|
|
172
|
+
requestHook(span, sanitizedSqlQuery, context);
|
|
173
|
+
} catch (e) {
|
|
174
|
+
span.setAttribute("sentry.hook.error", "requestHook failed");
|
|
175
|
+
DEBUG_BUILD && debug.error("[instrumentation:postgresjs] error in requestHook:", e);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
wrapQuerySettlement(data, span, sanitizedSqlQuery);
|
|
179
|
+
return span;
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
requiresParentSpan: requireParentSpan !== false,
|
|
183
|
+
deferSpanEnd({ data }) {
|
|
184
|
+
if (data[SPAN_ENDED]) {
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
if ("error" in data) {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
const postgresJsIntegration = defineIntegration(_postgresJsIntegration);
|
|
196
|
+
|
|
197
|
+
export { postgresJsIntegration };
|
|
198
|
+
//# sourceMappingURL=postgres-js.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-js.js","sources":["../../../src/integrations/postgres-js.ts"],"sourcesContent":["import * as diagnosticsChannel from 'node:diagnostics_channel';\nimport {\n DB_OPERATION_NAME,\n DB_QUERY_SUMMARY,\n DB_QUERY_TEXT,\n DB_SYSTEM_NAME,\n ERROR_TYPE,\n SENTRY_KIND,\n SENTRY_OP,\n} from '@sentry/conventions/attributes';\nimport { DB } from '@sentry/conventions/op';\nimport type { IntegrationFn, Span } from '@sentry/core';\nimport {\n debug,\n defineIntegration,\n getClient,\n hasSpanStreamingEnabled,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SPAN_STATUS_ERROR,\n startInactiveSpan,\n} from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build';\nimport { getSqlQuerySummary, sanitizeSqlQuery } from '../utils/sql';\nimport {\n _buildConnectionContext,\n _getConnectionAttributes,\n _getOperationName,\n _reconstructQuery,\n type PostgresConnectionContext,\n} from './postgresjs';\nimport { CHANNELS } from '../orchestrion/channels';\nimport { bindTracingChannelToSpan } from '../tracing-channel';\nimport { postgresJsModuleNames } from '../orchestrion/config/postgres';\nimport { invokeOrchestrionInstrumentation } from '../orchestrion/instrumentation';\n\n// Same name as the OTel `PostgresJs` integration by design, so the OTel\n// integration of the same name is deduplicated out of the default set.\nconst INTEGRATION_NAME = 'PostgresJs' as const;\n\nconst ORIGIN = 'auto.db.postgresjs';\n\nconst DB_SYSTEM_NAME_POSTGRES = 'postgres';\n\n// Not part of `@sentry/conventions`, so we keep it inline (matches older OTel\n// `PostgresJsInstrumentation`).\nconst DB_RESPONSE_STATUS_CODE = 'db.response.status_code';\n\nconst NOOP = (): void => {};\n\n// Same `Symbol.for()` marker the core `instrumentPostgresJsSql` wrapper sets on\n// queries it manually instruments, so we skip them there and never double-span.\nconst QUERY_FROM_INSTRUMENTED_SQL = Symbol.for('sentry.query.from.instrumented.sql');\n// The query span, stashed on the `Query` so the `execute`/`connect` channels can\n// attach connection attributes to it.\nconst QUERY_SPAN = Symbol('sentryPostgresJsSpan');\n// Set once connection attributes are on the span, so the fallback and the\n// `execute`/`connect` channels don't both write them.\nconst CONNECTION_ATTRS_SET = Symbol('sentryPostgresJsConnectionAttrsSet');\n// Set on the channel context once the resolve/reject wrappers have ended the\n// span, so `deferSpanEnd` knows the wrappers own the lifecycle.\nconst SPAN_ENDED = Symbol('sentryPostgresJsSpanEnded');\n\nexport interface PostgresJsIntegrationOptions {\n /**\n * Only create spans when there's already an active parent span. Defaults to\n * `true`, matching the OTel `postgresJsIntegration`.\n */\n requireParentSpan?: boolean;\n /**\n * Hook to modify the query span before the query runs. Receives the span, the\n * sanitized SQL, and (when resolvable) the connection context.\n */\n requestHook?: (span: Span, sanitizedSqlQuery: string, postgresConnectionContext?: PostgresConnectionContext) => void;\n}\n\n/** The `Query` instance postgres.js passes as `self` to `Query.prototype.handle`. */\ninterface PostgresQuery {\n strings?: string[];\n executed?: boolean;\n resolve?: (...args: unknown[]) => unknown;\n reject?: (...args: unknown[]) => unknown;\n}\n\ninterface PostgresJsQueryContext {\n arguments?: unknown[];\n self?: PostgresQuery;\n result?: unknown;\n error?: unknown;\n}\n\n// A connection object -> its resolved context, populated on the `connection`\n// channel and read on the `execute`/`connect` channels (keyed by the same object).\nconst connectionContexts = new WeakMap<object, PostgresConnectionContext>();\n// Distinct endpoints seen so far (value-compared, so N connections to one DB\n// count once). When exactly one endpoint exists — the common case, and the only\n// one the tests exercise — every query resolves to it at handle-start.\nconst endpointRegistry: PostgresConnectionContext[] = [];\n\nfunction registerEndpoint(context: PostgresConnectionContext): void {\n const alreadyKnown = endpointRegistry.some(\n e =>\n e.ATTR_SERVER_ADDRESS === context.ATTR_SERVER_ADDRESS &&\n e.ATTR_SERVER_PORT === context.ATTR_SERVER_PORT &&\n e.ATTR_DB_NAMESPACE === context.ATTR_DB_NAMESPACE,\n );\n if (!alreadyKnown) {\n endpointRegistry.push(context);\n }\n}\n\n/** The single known endpoint, or `undefined` when zero or multiple are known. */\nfunction resolveSingleEndpoint(): PostgresConnectionContext | undefined {\n return endpointRegistry.length === 1 ? endpointRegistry[0] : undefined;\n}\n\n/**\n * Record a connection from the `connection` channel `end` (`result` is the\n * connection object, `arguments[0]` the parsed options), keying its resolved\n * context by the connection object and tracking its endpoint.\n */\nfunction recordConnectionFromChannel(message: PostgresJsQueryContext): void {\n const connection = message.result;\n const options = message.arguments?.[0] as { host?: string[]; port?: number[]; database?: string } | undefined;\n if (!connection || typeof connection !== 'object' || !options) {\n return;\n }\n const context = _buildConnectionContext(options);\n connectionContexts.set(connection, context);\n registerEndpoint(context);\n}\n\nfunction setConnectionAttributes(span: Span, query: PostgresQuery, context: PostgresConnectionContext): void {\n const queryRecord = query as Record<symbol, unknown>;\n if (queryRecord[CONNECTION_ATTRS_SET]) {\n return;\n }\n queryRecord[CONNECTION_ATTRS_SET] = true;\n if (context) {\n span.setAttributes(_getConnectionAttributes(context));\n }\n}\n\n/**\n * Backfill connection attributes onto a query's span from a channel whose `self`\n * is the connection object and `arguments[0]` the query. Shared by the `execute`\n * and `connect` channels; both carry that shape and both resolve the context via\n * the `connectionContexts` WeakMap. Idempotent (guarded inside\n * `setConnectionAttributes`).\n */\nfunction attachConnectionAttributesFromChannel(message: PostgresJsQueryContext): void {\n const connection = message.self;\n const query = message.arguments?.[0] as PostgresQuery | undefined;\n if (!connection || !query) {\n return;\n }\n const span = (query as Record<symbol, unknown>)[QUERY_SPAN] as Span | undefined;\n const context = connectionContexts.get(connection);\n if (span && context) {\n setConnectionAttributes(span, query, context);\n }\n}\n\n/**\n * Wrap `query.resolve`/`query.reject` so the span ends when the query settles.\n *\n * `Query extends Promise` and `async handle()` only dispatches — its promise\n * resolves immediately, long before the query completes. postgres.js signals\n * completion by calling `this.resolve`/`this.reject`, so we own the span end\n * there. Wrapping happens at handle-start because `reject` can fire\n * synchronously during dispatch and `cursor()` reassigns both before executing.\n */\nfunction wrapQuerySettlement(data: PostgresJsQueryContext, span: Span, sanitizedSqlQuery: string): void {\n const query = data.self;\n if (!query) {\n return;\n }\n\n // Claim ownership of ending the span up front, so `deferSpanEnd` defers to the\n // wrapper even if `span.end()` below throws.\n const markEnded = (): void => {\n (data as Record<symbol, unknown>)[SPAN_ENDED] = true;\n };\n\n const originalResolve = query.resolve;\n if (typeof originalResolve === 'function') {\n query.resolve = function (this: unknown, ...resolveArgs: unknown[]): unknown {\n markEnded();\n try {\n const command = (resolveArgs[0] as { command?: string } | undefined)?.command;\n // Re-set the operation name with the server-reported command, which is more reliable than the query text.\n span.setAttribute(DB_OPERATION_NAME, _getOperationName(sanitizedSqlQuery, command));\n span.end();\n } catch (e) {\n DEBUG_BUILD && debug.error('[instrumentation:postgresjs] error ending span in resolve:', e);\n }\n return originalResolve.apply(this, resolveArgs);\n };\n }\n\n const originalReject = query.reject;\n if (typeof originalReject === 'function') {\n query.reject = function (this: unknown, ...rejectArgs: unknown[]): unknown {\n markEnded();\n try {\n const err = rejectArgs[0] as { message?: string; code?: string; name?: string } | undefined;\n span.setStatus({ code: SPAN_STATUS_ERROR, message: err?.message || 'unknown_error' });\n span.setAttribute(DB_RESPONSE_STATUS_CODE, err?.code || 'unknown');\n span.setAttribute(ERROR_TYPE, err?.name || 'unknown');\n span.end();\n } catch (e) {\n DEBUG_BUILD && debug.error('[instrumentation:postgresjs] error ending span in reject:', e);\n }\n return originalReject.apply(this, rejectArgs);\n };\n }\n}\n\nconst _postgresJsIntegration = ((options: PostgresJsIntegrationOptions = {}) => {\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n invokeOrchestrionInstrumentation(client, postgresJsModuleNames, instrumentPostgresJs, [options]);\n },\n };\n}) satisfies IntegrationFn;\n\nfunction instrumentPostgresJs(options: PostgresJsIntegrationOptions): void {\n const { requireParentSpan, requestHook } = options;\n\n // Connection + execute are pure observers (no span, no async binding).\n diagnosticsChannel.tracingChannel<PostgresJsQueryContext>(CHANNELS.POSTGRESJS_CONNECTION).subscribe({\n start: NOOP,\n asyncStart: NOOP,\n asyncEnd: NOOP,\n error: NOOP,\n end: recordConnectionFromChannel,\n });\n\n // Per-connection attributes for queries reusing an already-open connection\n // (`c.execute(q)`, `self === c`). `execute` is also called bare\n // (`self === undefined`) for the first query on each connection, `fetchState`\n // and `retry`; those miss here (the `connect` channel below covers the first\n // user query, and the single-endpoint fallback covers the common case).\n diagnosticsChannel.tracingChannel<PostgresJsQueryContext>(CHANNELS.POSTGRESJS_EXECUTE).subscribe({\n end: NOOP,\n asyncStart: NOOP,\n asyncEnd: NOOP,\n error: NOOP,\n start: attachConnectionAttributesFromChannel,\n });\n\n // The connection's `connect(query)` method (`self === c`, `arguments[0]` the\n // query) fires when a fresh connection is opened for a query. That first query\n // is later dispatched via a bare `execute` (no `self`), so this is where it\n // gets its connection attributes in multi-endpoint apps.\n diagnosticsChannel.tracingChannel<PostgresJsQueryContext>(CHANNELS.POSTGRESJS_CONNECT).subscribe({\n end: NOOP,\n asyncStart: NOOP,\n asyncEnd: NOOP,\n error: NOOP,\n start: attachConnectionAttributesFromChannel,\n });\n\n bindTracingChannelToSpan<PostgresJsQueryContext>(\n diagnosticsChannel.tracingChannel<PostgresJsQueryContext>(CHANNELS.POSTGRESJS_HANDLE),\n data => {\n const query = data.self;\n if (!query) {\n return undefined;\n }\n\n // Opt out of re-entrant `handle()` calls (then/catch/finally re-invoke\n // it, guarded by `executed`) and queries already wrapped by the portable\n // `instrumentPostgresJsSql`. The parent-span requirement is applied via\n // `requiresParentSpan` below.\n if (query.executed === true || (query as Record<symbol, unknown>)[QUERY_FROM_INSTRUMENTED_SQL]) {\n return undefined;\n }\n\n const fullQuery = _reconstructQuery(query.strings);\n const sanitizedSqlQuery = sanitizeSqlQuery(fullQuery);\n\n const querySummary = getSqlQuerySummary(sanitizedSqlQuery);\n\n const client = getClient();\n\n // Single-endpoint fallback: resolve context now so the span name and `requestHook` have\n // it, and the first-query-per-connection (bare `execute`) path still gets attrs.\n const context = resolveSingleEndpoint();\n\n const name =\n client && hasSpanStreamingEnabled(client)\n ? querySummary || context?.ATTR_DB_NAMESPACE || DB_SYSTEM_NAME_POSTGRES\n : sanitizedSqlQuery || 'postgresjs.query';\n\n // `sentry.kind: client` matches the mysql/pg channel subscribers.\n const span = startInactiveSpan({\n name,\n attributes: {\n [SENTRY_OP]: DB,\n [SENTRY_KIND]: 'client',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n [DB_SYSTEM_NAME]: DB_SYSTEM_NAME_POSTGRES,\n [DB_QUERY_TEXT]: sanitizedSqlQuery,\n [DB_QUERY_SUMMARY]: querySummary,\n [DB_OPERATION_NAME]: _getOperationName(sanitizedSqlQuery),\n },\n });\n\n // Stash for the `execute`/`connect` channels to attach per-connection attributes.\n (query as Record<symbol, unknown>)[QUERY_SPAN] = span;\n\n if (context) {\n setConnectionAttributes(span, query, context);\n }\n\n if (requestHook) {\n try {\n requestHook(span, sanitizedSqlQuery, context);\n } catch (e) {\n span.setAttribute('sentry.hook.error', 'requestHook failed');\n DEBUG_BUILD && debug.error('[instrumentation:postgresjs] error in requestHook:', e);\n }\n }\n\n wrapQuerySettlement(data, span, sanitizedSqlQuery);\n\n return span;\n },\n {\n requiresParentSpan: requireParentSpan !== false,\n deferSpanEnd({ data }) {\n // `handle` is async: its promise settles on dispatch (asyncEnd), long\n // before the query does. The resolve/reject wrappers own the ending.\n if ((data as Record<symbol, unknown>)[SPAN_ENDED]) {\n return true; // wrappers already ended it\n }\n if ('error' in data) {\n return false; // `handle()` itself threw; the error subscriber annotated the span, let the helper end it\n }\n // NOTE: for a cursor consumed as an async iterator, only the first batch\n // reaches `handle` (the `executed` guard blocks the rest), so the span\n // ends on the first batch — a pre-existing flaw kept for parity.\n return true; // query in flight; the wrappers will end the span when it settles\n },\n },\n );\n}\n\n/**\n * Diagnostics-channel-based postgres.js (`postgres` v3.x) integration.\n *\n * Subscribes to the `orchestrion:postgres:handle` / `:connection` / `:execute` /\n * `:connect` diagnostics channels injected into postgres.js' `Query.prototype.handle`\n * and `Connection`/`execute`/`connect` (in `src/*` and `cjs/src/*`) and creates db\n * spans matching the OTel `postgresJsIntegration`. Requires the Sentry runtime\n * hook or bundler plugin.\n */\nexport const postgresJsIntegration = defineIntegration(_postgresJsIntegration);\n"],"names":[],"mappings":"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"}
|