@depup/sentry__server-utils 10.67.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 +32 -0
- package/build/cjs/debug-build.js +6 -0
- package/build/cjs/debug-build.js.map +1 -0
- package/build/cjs/graphql/graphql-dc-subscriber.js +123 -0
- package/build/cjs/graphql/graphql-dc-subscriber.js.map +1 -0
- package/build/cjs/graphql/index.js +23 -0
- package/build/cjs/graphql/index.js.map +1 -0
- package/build/cjs/graphql/utils.js +92 -0
- package/build/cjs/graphql/utils.js.map +1 -0
- package/build/cjs/index.js +34 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/amqplib.js +420 -0
- package/build/cjs/integrations/tracing-channel/amqplib.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/anthropic.js +101 -0
- package/build/cjs/integrations/tracing-channel/anthropic.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js +16 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/index.js +154 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +46 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js +47 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +419 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js +131 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js +21 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js +64 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js +21 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +27 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js +63 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js +116 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +25 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/utils.js +30 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/utils.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/dataloader.js +95 -0
- package/build/cjs/integrations/tracing-channel/dataloader.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/express/index.js +24 -0
- package/build/cjs/integrations/tracing-channel/express/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/express/instrumentation.js +168 -0
- package/build/cjs/integrations/tracing-channel/express/instrumentation.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/express/route.js +76 -0
- package/build/cjs/integrations/tracing-channel/express/route.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/fastify/errors.js +42 -0
- package/build/cjs/integrations/tracing-channel/fastify/errors.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/fastify/index.js +34 -0
- package/build/cjs/integrations/tracing-channel/fastify/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js +279 -0
- package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/fastify/utils.js +11 -0
- package/build/cjs/integrations/tracing-channel/fastify/utils.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/generic-pool.js +34 -0
- package/build/cjs/integrations/tracing-channel/generic-pool.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/google-genai.js +96 -0
- package/build/cjs/integrations/tracing-channel/google-genai.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/graphql/constants.js +26 -0
- package/build/cjs/integrations/tracing-channel/graphql/constants.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/graphql/index.js +66 -0
- package/build/cjs/integrations/tracing-channel/graphql/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/graphql/resolvers.js +168 -0
- package/build/cjs/integrations/tracing-channel/graphql/resolvers.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/graphql/spans.js +102 -0
- package/build/cjs/integrations/tracing-channel/graphql/spans.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/hapi-types.js +30 -0
- package/build/cjs/integrations/tracing-channel/hapi-types.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/hapi-utils.js +177 -0
- package/build/cjs/integrations/tracing-channel/hapi-utils.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/hapi.js +52 -0
- package/build/cjs/integrations/tracing-channel/hapi.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/ioredis.js +99 -0
- package/build/cjs/integrations/tracing-channel/ioredis.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/consumer.js +71 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/consumer.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/index.js +70 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/semconv.js +22 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/semconv.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/spans.js +119 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/spans.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/knex.js +188 -0
- package/build/cjs/integrations/tracing-channel/knex.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/koa.js +146 -0
- package/build/cjs/integrations/tracing-channel/koa.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/langchain.js +63 -0
- package/build/cjs/integrations/tracing-channel/langchain.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/langgraph.js +100 -0
- package/build/cjs/integrations/tracing-channel/langgraph.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/lru-memoizer.js +31 -0
- package/build/cjs/integrations/tracing-channel/lru-memoizer.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/mongodb.js +104 -0
- package/build/cjs/integrations/tracing-channel/mongodb.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/mongoose.js +110 -0
- package/build/cjs/integrations/tracing-channel/mongoose.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/mysql.js +107 -0
- package/build/cjs/integrations/tracing-channel/mysql.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/mysql2.js +83 -0
- package/build/cjs/integrations/tracing-channel/mysql2.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/openai.js +81 -0
- package/build/cjs/integrations/tracing-channel/openai.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/postgres-js.js +191 -0
- package/build/cjs/integrations/tracing-channel/postgres-js.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/postgres.js +170 -0
- package/build/cjs/integrations/tracing-channel/postgres.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/redis.js +218 -0
- package/build/cjs/integrations/tracing-channel/redis.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/tedious.js +145 -0
- package/build/cjs/integrations/tracing-channel/tedious.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/vercel-ai.js +25 -0
- package/build/cjs/integrations/tracing-channel/vercel-ai.js.map +1 -0
- package/build/cjs/mongodb/mongodb-span.js +133 -0
- package/build/cjs/mongodb/mongodb-span.js.map +1 -0
- package/build/cjs/mongoose/index.js +23 -0
- package/build/cjs/mongoose/index.js.map +1 -0
- package/build/cjs/mongoose/mongoose-dc-subscriber.js +97 -0
- package/build/cjs/mongoose/mongoose-dc-subscriber.js.map +1 -0
- package/build/cjs/mongoose/mongoose-legacy-span.js +40 -0
- package/build/cjs/mongoose/mongoose-legacy-span.js.map +1 -0
- package/build/cjs/mysql2/index.js +23 -0
- package/build/cjs/mysql2/index.js.map +1 -0
- package/build/cjs/mysql2/mysql2-dc-subscriber.js +68 -0
- package/build/cjs/mysql2/mysql2-dc-subscriber.js.map +1 -0
- package/build/cjs/orchestrion/bundler/esbuild.js +15 -0
- package/build/cjs/orchestrion/bundler/esbuild.js.map +1 -0
- package/build/cjs/orchestrion/bundler/options.js +24 -0
- package/build/cjs/orchestrion/bundler/options.js.map +1 -0
- package/build/cjs/orchestrion/bundler/rollup.js +15 -0
- package/build/cjs/orchestrion/bundler/rollup.js.map +1 -0
- package/build/cjs/orchestrion/bundler/vite.js +21 -0
- package/build/cjs/orchestrion/bundler/vite.js.map +1 -0
- package/build/cjs/orchestrion/bundler/webpack.js +36 -0
- package/build/cjs/orchestrion/bundler/webpack.js.map +1 -0
- package/build/cjs/orchestrion/channels.js +70 -0
- package/build/cjs/orchestrion/channels.js.map +1 -0
- package/build/cjs/orchestrion/config/amqplib.js +81 -0
- package/build/cjs/orchestrion/config/amqplib.js.map +1 -0
- package/build/cjs/orchestrion/config/anthropic-ai.js +43 -0
- package/build/cjs/orchestrion/config/anthropic-ai.js.map +1 -0
- package/build/cjs/orchestrion/config/aws-sdk.js +28 -0
- package/build/cjs/orchestrion/config/aws-sdk.js.map +1 -0
- package/build/cjs/orchestrion/config/dataloader.js +53 -0
- package/build/cjs/orchestrion/config/dataloader.js.map +1 -0
- package/build/cjs/orchestrion/config/express.js +77 -0
- package/build/cjs/orchestrion/config/express.js.map +1 -0
- package/build/cjs/orchestrion/config/firebase.js +8 -0
- package/build/cjs/orchestrion/config/firebase.js.map +1 -0
- package/build/cjs/orchestrion/config/generic-pool.js +21 -0
- package/build/cjs/orchestrion/config/generic-pool.js.map +1 -0
- package/build/cjs/orchestrion/config/google-genai.js +38 -0
- package/build/cjs/orchestrion/config/google-genai.js.map +1 -0
- package/build/cjs/orchestrion/config/graphql.js +28 -0
- package/build/cjs/orchestrion/config/graphql.js.map +1 -0
- package/build/cjs/orchestrion/config/hapi.js +26 -0
- package/build/cjs/orchestrion/config/hapi.js.map +1 -0
- package/build/cjs/orchestrion/config/index.js +89 -0
- package/build/cjs/orchestrion/config/index.js.map +1 -0
- package/build/cjs/orchestrion/config/ioredis.js +35 -0
- package/build/cjs/orchestrion/config/ioredis.js.map +1 -0
- package/build/cjs/orchestrion/config/kafkajs.js +30 -0
- package/build/cjs/orchestrion/config/kafkajs.js.map +1 -0
- package/build/cjs/orchestrion/config/knex.js +43 -0
- package/build/cjs/orchestrion/config/knex.js.map +1 -0
- package/build/cjs/orchestrion/config/koa.js +16 -0
- package/build/cjs/orchestrion/config/koa.js.map +1 -0
- package/build/cjs/orchestrion/config/langchain.js +52 -0
- package/build/cjs/orchestrion/config/langchain.js.map +1 -0
- package/build/cjs/orchestrion/config/langgraph.js +28 -0
- package/build/cjs/orchestrion/config/langgraph.js.map +1 -0
- package/build/cjs/orchestrion/config/lru-memoizer.js +17 -0
- package/build/cjs/orchestrion/config/lru-memoizer.js.map +1 -0
- package/build/cjs/orchestrion/config/mongodb.js +67 -0
- package/build/cjs/orchestrion/config/mongodb.js.map +1 -0
- package/build/cjs/orchestrion/config/mongoose.js +107 -0
- package/build/cjs/orchestrion/config/mongoose.js.map +1 -0
- package/build/cjs/orchestrion/config/mysql.js +16 -0
- package/build/cjs/orchestrion/config/mysql.js.map +1 -0
- package/build/cjs/orchestrion/config/mysql2.js +32 -0
- package/build/cjs/orchestrion/config/mysql2.js.map +1 -0
- package/build/cjs/orchestrion/config/nestjs.js +122 -0
- package/build/cjs/orchestrion/config/nestjs.js.map +1 -0
- package/build/cjs/orchestrion/config/openai.js +40 -0
- package/build/cjs/orchestrion/config/openai.js.map +1 -0
- package/build/cjs/orchestrion/config/pg.js +51 -0
- package/build/cjs/orchestrion/config/pg.js.map +1 -0
- package/build/cjs/orchestrion/config/postgres.js +50 -0
- package/build/cjs/orchestrion/config/postgres.js.map +1 -0
- package/build/cjs/orchestrion/config/prisma.js +8 -0
- package/build/cjs/orchestrion/config/prisma.js.map +1 -0
- package/build/cjs/orchestrion/config/react-router.js +8 -0
- package/build/cjs/orchestrion/config/react-router.js.map +1 -0
- package/build/cjs/orchestrion/config/redis.js +76 -0
- package/build/cjs/orchestrion/config/redis.js.map +1 -0
- package/build/cjs/orchestrion/config/remix.js +54 -0
- package/build/cjs/orchestrion/config/remix.js.map +1 -0
- package/build/cjs/orchestrion/config/tedious.js +24 -0
- package/build/cjs/orchestrion/config/tedious.js.map +1 -0
- package/build/cjs/orchestrion/config/vercel-ai.js +48 -0
- package/build/cjs/orchestrion/config/vercel-ai.js.map +1 -0
- package/build/cjs/orchestrion/detect.js +26 -0
- package/build/cjs/orchestrion/detect.js.map +1 -0
- package/build/cjs/orchestrion/index.js +89 -0
- package/build/cjs/orchestrion/index.js.map +1 -0
- package/build/cjs/orchestrion/runtime/register.js +77 -0
- package/build/cjs/orchestrion/runtime/register.js.map +1 -0
- package/build/cjs/prisma/global.js +14 -0
- package/build/cjs/prisma/global.js.map +1 -0
- package/build/cjs/prisma/index.js +27 -0
- package/build/cjs/prisma/index.js.map +1 -0
- package/build/cjs/prisma/tracing-helper.js +211 -0
- package/build/cjs/prisma/tracing-helper.js.map +1 -0
- package/build/cjs/redis/index.js +23 -0
- package/build/cjs/redis/index.js.map +1 -0
- package/build/cjs/redis/redis-dc-subscriber.js +101 -0
- package/build/cjs/redis/redis-dc-subscriber.js.map +1 -0
- package/build/cjs/redis/redis-statement-serializer.js +34 -0
- package/build/cjs/redis/redis-statement-serializer.js.map +1 -0
- package/build/cjs/tracing-channel.js +134 -0
- package/build/cjs/tracing-channel.js.map +1 -0
- package/build/cjs/vercel-ai/index.js +23 -0
- package/build/cjs/vercel-ai/index.js.map +1 -0
- package/build/cjs/vercel-ai/util.js +112 -0
- package/build/cjs/vercel-ai/util.js.map +1 -0
- package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js +433 -0
- package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
- package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js +399 -0
- package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
- package/build/esm/debug-build.js +4 -0
- package/build/esm/debug-build.js.map +1 -0
- package/build/esm/graphql/graphql-dc-subscriber.js +116 -0
- package/build/esm/graphql/graphql-dc-subscriber.js.map +1 -0
- package/build/esm/graphql/index.js +21 -0
- package/build/esm/graphql/index.js.map +1 -0
- package/build/esm/graphql/utils.js +87 -0
- package/build/esm/graphql/utils.js.map +1 -0
- package/build/esm/index.js +12 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/amqplib.js +418 -0
- package/build/esm/integrations/tracing-channel/amqplib.js.map +1 -0
- package/build/esm/integrations/tracing-channel/anthropic.js +99 -0
- package/build/esm/integrations/tracing-channel/anthropic.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/constants.js +9 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/constants.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/index.js +152 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +41 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js +45 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +417 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js +129 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js +19 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js +62 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js +19 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +25 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js +61 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js +114 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +23 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/utils.js +26 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/utils.js.map +1 -0
- package/build/esm/integrations/tracing-channel/dataloader.js +93 -0
- package/build/esm/integrations/tracing-channel/dataloader.js.map +1 -0
- package/build/esm/integrations/tracing-channel/express/index.js +22 -0
- package/build/esm/integrations/tracing-channel/express/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/express/instrumentation.js +166 -0
- package/build/esm/integrations/tracing-channel/express/instrumentation.js.map +1 -0
- package/build/esm/integrations/tracing-channel/express/route.js +68 -0
- package/build/esm/integrations/tracing-channel/express/route.js.map +1 -0
- package/build/esm/integrations/tracing-channel/fastify/errors.js +39 -0
- package/build/esm/integrations/tracing-channel/fastify/errors.js.map +1 -0
- package/build/esm/integrations/tracing-channel/fastify/index.js +30 -0
- package/build/esm/integrations/tracing-channel/fastify/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/fastify/instrumentation.js +277 -0
- package/build/esm/integrations/tracing-channel/fastify/instrumentation.js.map +1 -0
- package/build/esm/integrations/tracing-channel/fastify/utils.js +8 -0
- package/build/esm/integrations/tracing-channel/fastify/utils.js.map +1 -0
- package/build/esm/integrations/tracing-channel/generic-pool.js +32 -0
- package/build/esm/integrations/tracing-channel/generic-pool.js.map +1 -0
- package/build/esm/integrations/tracing-channel/google-genai.js +94 -0
- package/build/esm/integrations/tracing-channel/google-genai.js.map +1 -0
- package/build/esm/integrations/tracing-channel/graphql/constants.js +14 -0
- package/build/esm/integrations/tracing-channel/graphql/constants.js.map +1 -0
- package/build/esm/integrations/tracing-channel/graphql/index.js +63 -0
- package/build/esm/integrations/tracing-channel/graphql/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/graphql/resolvers.js +164 -0
- package/build/esm/integrations/tracing-channel/graphql/resolvers.js.map +1 -0
- package/build/esm/integrations/tracing-channel/graphql/spans.js +96 -0
- package/build/esm/integrations/tracing-channel/graphql/spans.js.map +1 -0
- package/build/esm/integrations/tracing-channel/hapi-types.js +25 -0
- package/build/esm/integrations/tracing-channel/hapi-types.js.map +1 -0
- package/build/esm/integrations/tracing-channel/hapi-utils.js +172 -0
- package/build/esm/integrations/tracing-channel/hapi-utils.js.map +1 -0
- package/build/esm/integrations/tracing-channel/hapi.js +50 -0
- package/build/esm/integrations/tracing-channel/hapi.js.map +1 -0
- package/build/esm/integrations/tracing-channel/ioredis.js +96 -0
- package/build/esm/integrations/tracing-channel/ioredis.js.map +1 -0
- package/build/esm/integrations/tracing-channel/kafkajs/consumer.js +67 -0
- package/build/esm/integrations/tracing-channel/kafkajs/consumer.js.map +1 -0
- package/build/esm/integrations/tracing-channel/kafkajs/index.js +68 -0
- package/build/esm/integrations/tracing-channel/kafkajs/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/kafkajs/semconv.js +12 -0
- package/build/esm/integrations/tracing-channel/kafkajs/semconv.js.map +1 -0
- package/build/esm/integrations/tracing-channel/kafkajs/spans.js +112 -0
- package/build/esm/integrations/tracing-channel/kafkajs/spans.js.map +1 -0
- package/build/esm/integrations/tracing-channel/knex.js +186 -0
- package/build/esm/integrations/tracing-channel/knex.js.map +1 -0
- package/build/esm/integrations/tracing-channel/koa.js +144 -0
- package/build/esm/integrations/tracing-channel/koa.js.map +1 -0
- package/build/esm/integrations/tracing-channel/langchain.js +61 -0
- package/build/esm/integrations/tracing-channel/langchain.js.map +1 -0
- package/build/esm/integrations/tracing-channel/langgraph.js +98 -0
- package/build/esm/integrations/tracing-channel/langgraph.js.map +1 -0
- package/build/esm/integrations/tracing-channel/lru-memoizer.js +29 -0
- package/build/esm/integrations/tracing-channel/lru-memoizer.js.map +1 -0
- package/build/esm/integrations/tracing-channel/mongodb.js +102 -0
- package/build/esm/integrations/tracing-channel/mongodb.js.map +1 -0
- package/build/esm/integrations/tracing-channel/mongoose.js +108 -0
- package/build/esm/integrations/tracing-channel/mongoose.js.map +1 -0
- package/build/esm/integrations/tracing-channel/mysql.js +105 -0
- package/build/esm/integrations/tracing-channel/mysql.js.map +1 -0
- package/build/esm/integrations/tracing-channel/mysql2.js +81 -0
- package/build/esm/integrations/tracing-channel/mysql2.js.map +1 -0
- package/build/esm/integrations/tracing-channel/openai.js +79 -0
- package/build/esm/integrations/tracing-channel/openai.js.map +1 -0
- package/build/esm/integrations/tracing-channel/postgres-js.js +189 -0
- package/build/esm/integrations/tracing-channel/postgres-js.js.map +1 -0
- package/build/esm/integrations/tracing-channel/postgres.js +168 -0
- package/build/esm/integrations/tracing-channel/postgres.js.map +1 -0
- package/build/esm/integrations/tracing-channel/redis.js +216 -0
- package/build/esm/integrations/tracing-channel/redis.js.map +1 -0
- package/build/esm/integrations/tracing-channel/tedious.js +143 -0
- package/build/esm/integrations/tracing-channel/tedious.js.map +1 -0
- package/build/esm/integrations/tracing-channel/vercel-ai.js +23 -0
- package/build/esm/integrations/tracing-channel/vercel-ai.js.map +1 -0
- package/build/esm/mongodb/mongodb-span.js +126 -0
- package/build/esm/mongodb/mongodb-span.js.map +1 -0
- package/build/esm/mongoose/index.js +21 -0
- package/build/esm/mongoose/index.js.map +1 -0
- package/build/esm/mongoose/mongoose-dc-subscriber.js +89 -0
- package/build/esm/mongoose/mongoose-dc-subscriber.js.map +1 -0
- package/build/esm/mongoose/mongoose-legacy-span.js +38 -0
- package/build/esm/mongoose/mongoose-legacy-span.js.map +1 -0
- package/build/esm/mysql2/index.js +21 -0
- package/build/esm/mysql2/index.js.map +1 -0
- package/build/esm/mysql2/mysql2-dc-subscriber.js +62 -0
- package/build/esm/mysql2/mysql2-dc-subscriber.js.map +1 -0
- package/build/esm/orchestrion/bundler/esbuild.js +9 -0
- package/build/esm/orchestrion/bundler/esbuild.js.map +1 -0
- package/build/esm/orchestrion/bundler/options.js +22 -0
- package/build/esm/orchestrion/bundler/options.js.map +1 -0
- package/build/esm/orchestrion/bundler/rollup.js +9 -0
- package/build/esm/orchestrion/bundler/rollup.js.map +1 -0
- package/build/esm/orchestrion/bundler/vite.js +15 -0
- package/build/esm/orchestrion/bundler/vite.js.map +1 -0
- package/build/esm/orchestrion/bundler/webpack.js +27 -0
- package/build/esm/orchestrion/bundler/webpack.js.map +1 -0
- package/build/esm/orchestrion/channels.js +68 -0
- package/build/esm/orchestrion/channels.js.map +1 -0
- package/build/esm/orchestrion/config/amqplib.js +78 -0
- package/build/esm/orchestrion/config/amqplib.js.map +1 -0
- package/build/esm/orchestrion/config/anthropic-ai.js +40 -0
- package/build/esm/orchestrion/config/anthropic-ai.js.map +1 -0
- package/build/esm/orchestrion/config/aws-sdk.js +25 -0
- package/build/esm/orchestrion/config/aws-sdk.js.map +1 -0
- package/build/esm/orchestrion/config/dataloader.js +50 -0
- package/build/esm/orchestrion/config/dataloader.js.map +1 -0
- package/build/esm/orchestrion/config/express.js +74 -0
- package/build/esm/orchestrion/config/express.js.map +1 -0
- package/build/esm/orchestrion/config/firebase.js +5 -0
- package/build/esm/orchestrion/config/firebase.js.map +1 -0
- package/build/esm/orchestrion/config/generic-pool.js +18 -0
- package/build/esm/orchestrion/config/generic-pool.js.map +1 -0
- package/build/esm/orchestrion/config/google-genai.js +35 -0
- package/build/esm/orchestrion/config/google-genai.js.map +1 -0
- package/build/esm/orchestrion/config/graphql.js +25 -0
- package/build/esm/orchestrion/config/graphql.js.map +1 -0
- package/build/esm/orchestrion/config/hapi.js +23 -0
- package/build/esm/orchestrion/config/hapi.js.map +1 -0
- package/build/esm/orchestrion/config/index.js +84 -0
- package/build/esm/orchestrion/config/index.js.map +1 -0
- package/build/esm/orchestrion/config/ioredis.js +32 -0
- package/build/esm/orchestrion/config/ioredis.js.map +1 -0
- package/build/esm/orchestrion/config/kafkajs.js +27 -0
- package/build/esm/orchestrion/config/kafkajs.js.map +1 -0
- package/build/esm/orchestrion/config/knex.js +40 -0
- package/build/esm/orchestrion/config/knex.js.map +1 -0
- package/build/esm/orchestrion/config/koa.js +13 -0
- package/build/esm/orchestrion/config/koa.js.map +1 -0
- package/build/esm/orchestrion/config/langchain.js +48 -0
- package/build/esm/orchestrion/config/langchain.js.map +1 -0
- package/build/esm/orchestrion/config/langgraph.js +25 -0
- package/build/esm/orchestrion/config/langgraph.js.map +1 -0
- package/build/esm/orchestrion/config/lru-memoizer.js +14 -0
- package/build/esm/orchestrion/config/lru-memoizer.js.map +1 -0
- package/build/esm/orchestrion/config/mongodb.js +64 -0
- package/build/esm/orchestrion/config/mongodb.js.map +1 -0
- package/build/esm/orchestrion/config/mongoose.js +103 -0
- package/build/esm/orchestrion/config/mongoose.js.map +1 -0
- package/build/esm/orchestrion/config/mysql.js +13 -0
- package/build/esm/orchestrion/config/mysql.js.map +1 -0
- package/build/esm/orchestrion/config/mysql2.js +29 -0
- package/build/esm/orchestrion/config/mysql2.js.map +1 -0
- package/build/esm/orchestrion/config/nestjs.js +119 -0
- package/build/esm/orchestrion/config/nestjs.js.map +1 -0
- package/build/esm/orchestrion/config/openai.js +37 -0
- package/build/esm/orchestrion/config/openai.js.map +1 -0
- package/build/esm/orchestrion/config/pg.js +48 -0
- package/build/esm/orchestrion/config/pg.js.map +1 -0
- package/build/esm/orchestrion/config/postgres.js +47 -0
- package/build/esm/orchestrion/config/postgres.js.map +1 -0
- package/build/esm/orchestrion/config/prisma.js +5 -0
- package/build/esm/orchestrion/config/prisma.js.map +1 -0
- package/build/esm/orchestrion/config/react-router.js +5 -0
- package/build/esm/orchestrion/config/react-router.js.map +1 -0
- package/build/esm/orchestrion/config/redis.js +73 -0
- package/build/esm/orchestrion/config/redis.js.map +1 -0
- package/build/esm/orchestrion/config/remix.js +51 -0
- package/build/esm/orchestrion/config/remix.js.map +1 -0
- package/build/esm/orchestrion/config/tedious.js +21 -0
- package/build/esm/orchestrion/config/tedious.js.map +1 -0
- package/build/esm/orchestrion/config/vercel-ai.js +45 -0
- package/build/esm/orchestrion/config/vercel-ai.js.map +1 -0
- package/build/esm/orchestrion/detect.js +23 -0
- package/build/esm/orchestrion/detect.js.map +1 -0
- package/build/esm/orchestrion/index.js +58 -0
- package/build/esm/orchestrion/index.js.map +1 -0
- package/build/esm/orchestrion/runtime/register.js +76 -0
- package/build/esm/orchestrion/runtime/register.js.map +1 -0
- package/build/esm/package.json +1 -0
- package/build/esm/prisma/global.js +12 -0
- package/build/esm/prisma/global.js.map +1 -0
- package/build/esm/prisma/index.js +24 -0
- package/build/esm/prisma/index.js.map +1 -0
- package/build/esm/prisma/tracing-helper.js +209 -0
- package/build/esm/prisma/tracing-helper.js.map +1 -0
- package/build/esm/redis/index.js +21 -0
- package/build/esm/redis/index.js.map +1 -0
- package/build/esm/redis/redis-dc-subscriber.js +94 -0
- package/build/esm/redis/redis-dc-subscriber.js.map +1 -0
- package/build/esm/redis/redis-statement-serializer.js +32 -0
- package/build/esm/redis/redis-statement-serializer.js.map +1 -0
- package/build/esm/tracing-channel.js +132 -0
- package/build/esm/tracing-channel.js.map +1 -0
- package/build/esm/vercel-ai/index.js +21 -0
- package/build/esm/vercel-ai/index.js.map +1 -0
- package/build/esm/vercel-ai/util.js +106 -0
- package/build/esm/vercel-ai/util.js.map +1 -0
- package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js +425 -0
- package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
- package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js +397 -0
- package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
- package/build/orchestrion/import-hook.mjs +19 -0
- package/build/types/debug-build.d.ts +7 -0
- package/build/types/debug-build.d.ts.map +1 -0
- package/build/types/graphql/graphql-dc-subscriber.d.ts +94 -0
- package/build/types/graphql/graphql-dc-subscriber.d.ts.map +1 -0
- package/build/types/graphql/index.d.ts +12 -0
- package/build/types/graphql/index.d.ts.map +1 -0
- package/build/types/graphql/utils.d.ts +36 -0
- package/build/types/graphql/utils.d.ts.map +1 -0
- package/build/types/index.d.ts +22 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/amqplib.d.ts +11 -0
- package/build/types/integrations/tracing-channel/amqplib.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/anthropic.d.ts +10 -0
- package/build/types/integrations/tracing-channel/anthropic.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts +43 -0
- package/build/types/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts +15 -0
- package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts +15 -0
- package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts +23 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts +9 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts +10 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts +14 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts +8 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/index.d.ts +2 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts +6 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/lambda.d.ts +9 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/lambda.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/s3.d.ts +6 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/s3.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts +8 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/sns.d.ts +9 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/sns.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/sqs.d.ts +9 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/sqs.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts +6 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts +26 -0
- package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/utils.d.ts +5 -0
- package/build/types/integrations/tracing-channel/aws-sdk/utils.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/dataloader.d.ts +11 -0
- package/build/types/integrations/tracing-channel/dataloader.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/express/index.d.ts +18 -0
- package/build/types/integrations/tracing-channel/express/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/express/instrumentation.d.ts +4 -0
- package/build/types/integrations/tracing-channel/express/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/express/route.d.ts +28 -0
- package/build/types/integrations/tracing-channel/express/route.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/express/types.d.ts +64 -0
- package/build/types/integrations/tracing-channel/express/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/errors.d.ts +12 -0
- package/build/types/integrations/tracing-channel/fastify/errors.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/index.d.ts +66 -0
- package/build/types/integrations/tracing-channel/fastify/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts +10 -0
- package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/types.d.ts +32 -0
- package/build/types/integrations/tracing-channel/fastify/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/utils.d.ts +9 -0
- package/build/types/integrations/tracing-channel/fastify/utils.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/generic-pool.d.ts +10 -0
- package/build/types/integrations/tracing-channel/generic-pool.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/google-genai.d.ts +12 -0
- package/build/types/integrations/tracing-channel/google-genai.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/constants.d.ts +12 -0
- package/build/types/integrations/tracing-channel/graphql/constants.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/graphql-types.d.ts +135 -0
- package/build/types/integrations/tracing-channel/graphql/graphql-types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/index.d.ts +28 -0
- package/build/types/integrations/tracing-channel/graphql/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/resolvers.d.ts +13 -0
- package/build/types/integrations/tracing-channel/graphql/resolvers.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/spans.d.ts +17 -0
- package/build/types/integrations/tracing-channel/graphql/spans.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/types.d.ts +25 -0
- package/build/types/integrations/tracing-channel/graphql/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/hapi-types.d.ts +53 -0
- package/build/types/integrations/tracing-channel/hapi-types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/hapi-utils.d.ts +25 -0
- package/build/types/integrations/tracing-channel/hapi-utils.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/hapi.d.ts +9 -0
- package/build/types/integrations/tracing-channel/hapi.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/ioredis.d.ts +37 -0
- package/build/types/integrations/tracing-channel/ioredis.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/consumer.d.ts +8 -0
- package/build/types/integrations/tracing-channel/kafkajs/consumer.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/index.d.ts +17 -0
- package/build/types/integrations/tracing-channel/kafkajs/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts +10 -0
- package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts +38 -0
- package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/types.d.ts +40 -0
- package/build/types/integrations/tracing-channel/kafkajs/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/knex.d.ts +11 -0
- package/build/types/integrations/tracing-channel/knex.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/koa.d.ts +14 -0
- package/build/types/integrations/tracing-channel/koa.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/langchain.d.ts +10 -0
- package/build/types/integrations/tracing-channel/langchain.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/langgraph.d.ts +10 -0
- package/build/types/integrations/tracing-channel/langgraph.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/lru-memoizer.d.ts +10 -0
- package/build/types/integrations/tracing-channel/lru-memoizer.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/mongodb.d.ts +12 -0
- package/build/types/integrations/tracing-channel/mongodb.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/mongoose.d.ts +15 -0
- package/build/types/integrations/tracing-channel/mongoose.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/mysql.d.ts +12 -0
- package/build/types/integrations/tracing-channel/mysql.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/mysql2.d.ts +15 -0
- package/build/types/integrations/tracing-channel/mysql2.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/openai.d.ts +10 -0
- package/build/types/integrations/tracing-channel/openai.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/postgres-js.d.ts +26 -0
- package/build/types/integrations/tracing-channel/postgres-js.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/postgres.d.ts +15 -0
- package/build/types/integrations/tracing-channel/postgres.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/redis.d.ts +16 -0
- package/build/types/integrations/tracing-channel/redis.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/tedious.d.ts +11 -0
- package/build/types/integrations/tracing-channel/tedious.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/vercel-ai.d.ts +13 -0
- package/build/types/integrations/tracing-channel/vercel-ai.d.ts.map +1 -0
- package/build/types/mongodb/mongodb-span.d.ts +66 -0
- package/build/types/mongodb/mongodb-span.d.ts.map +1 -0
- package/build/types/mongoose/index.d.ts +13 -0
- package/build/types/mongoose/index.d.ts.map +1 -0
- package/build/types/mongoose/mongoose-dc-subscriber.d.ts +63 -0
- package/build/types/mongoose/mongoose-dc-subscriber.d.ts.map +1 -0
- package/build/types/mongoose/mongoose-legacy-span.d.ts +29 -0
- package/build/types/mongoose/mongoose-legacy-span.d.ts.map +1 -0
- package/build/types/mysql2/index.d.ts +11 -0
- package/build/types/mysql2/index.d.ts.map +1 -0
- package/build/types/mysql2/mysql2-dc-subscriber.d.ts +59 -0
- package/build/types/mysql2/mysql2-dc-subscriber.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/esbuild.d.ts +21 -0
- package/build/types/orchestrion/bundler/esbuild.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/options.d.ts +29 -0
- package/build/types/orchestrion/bundler/options.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/rollup.d.ts +17 -0
- package/build/types/orchestrion/bundler/rollup.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/vite.d.ts +18 -0
- package/build/types/orchestrion/bundler/vite.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/webpack.d.ts +19 -0
- package/build/types/orchestrion/bundler/webpack.d.ts.map +1 -0
- package/build/types/orchestrion/channels.d.ts +130 -0
- package/build/types/orchestrion/channels.d.ts.map +1 -0
- package/build/types/orchestrion/config/amqplib.d.ts +66 -0
- package/build/types/orchestrion/config/amqplib.d.ts.map +1 -0
- package/build/types/orchestrion/config/anthropic-ai.d.ts +31 -0
- package/build/types/orchestrion/config/anthropic-ai.d.ts.map +1 -0
- package/build/types/orchestrion/config/aws-sdk.d.ts +19 -0
- package/build/types/orchestrion/config/aws-sdk.d.ts.map +1 -0
- package/build/types/orchestrion/config/dataloader.d.ts +46 -0
- package/build/types/orchestrion/config/dataloader.d.ts.map +1 -0
- package/build/types/orchestrion/config/express.d.ts +30 -0
- package/build/types/orchestrion/config/express.d.ts.map +1 -0
- package/build/types/orchestrion/config/firebase.d.ts +4 -0
- package/build/types/orchestrion/config/firebase.d.ts.map +1 -0
- package/build/types/orchestrion/config/generic-pool.d.ts +31 -0
- package/build/types/orchestrion/config/generic-pool.d.ts.map +1 -0
- package/build/types/orchestrion/config/google-genai.d.ts +30 -0
- package/build/types/orchestrion/config/google-genai.d.ts.map +1 -0
- package/build/types/orchestrion/config/graphql.d.ts +29 -0
- package/build/types/orchestrion/config/graphql.d.ts.map +1 -0
- package/build/types/orchestrion/config/hapi.d.ts +17 -0
- package/build/types/orchestrion/config/hapi.d.ts.map +1 -0
- package/build/types/orchestrion/config/index.d.ts +37 -0
- package/build/types/orchestrion/config/index.d.ts.map +1 -0
- package/build/types/orchestrion/config/ioredis.d.ts +7 -0
- package/build/types/orchestrion/config/ioredis.d.ts.map +1 -0
- package/build/types/orchestrion/config/kafkajs.d.ts +17 -0
- package/build/types/orchestrion/config/kafkajs.d.ts.map +1 -0
- package/build/types/orchestrion/config/knex.d.ts +9 -0
- package/build/types/orchestrion/config/knex.d.ts.map +1 -0
- package/build/types/orchestrion/config/koa.d.ts +17 -0
- package/build/types/orchestrion/config/koa.d.ts.map +1 -0
- package/build/types/orchestrion/config/langchain.d.ts +18 -0
- package/build/types/orchestrion/config/langchain.d.ts.map +1 -0
- package/build/types/orchestrion/config/langgraph.d.ts +21 -0
- package/build/types/orchestrion/config/langgraph.d.ts.map +1 -0
- package/build/types/orchestrion/config/lru-memoizer.d.ts +16 -0
- package/build/types/orchestrion/config/lru-memoizer.d.ts.map +1 -0
- package/build/types/orchestrion/config/mongodb.d.ts +59 -0
- package/build/types/orchestrion/config/mongodb.d.ts.map +1 -0
- package/build/types/orchestrion/config/mongoose.d.ts +40 -0
- package/build/types/orchestrion/config/mongoose.d.ts.map +1 -0
- package/build/types/orchestrion/config/mysql.d.ts +16 -0
- package/build/types/orchestrion/config/mysql.d.ts.map +1 -0
- package/build/types/orchestrion/config/mysql2.d.ts +18 -0
- package/build/types/orchestrion/config/mysql2.d.ts.map +1 -0
- package/build/types/orchestrion/config/nestjs.d.ts +24 -0
- package/build/types/orchestrion/config/nestjs.d.ts.map +1 -0
- package/build/types/orchestrion/config/openai.d.ts +18 -0
- package/build/types/orchestrion/config/openai.d.ts.map +1 -0
- package/build/types/orchestrion/config/pg.d.ts +33 -0
- package/build/types/orchestrion/config/pg.d.ts.map +1 -0
- package/build/types/orchestrion/config/postgres.d.ts +9 -0
- package/build/types/orchestrion/config/postgres.d.ts.map +1 -0
- package/build/types/orchestrion/config/prisma.d.ts +4 -0
- package/build/types/orchestrion/config/prisma.d.ts.map +1 -0
- package/build/types/orchestrion/config/react-router.d.ts +4 -0
- package/build/types/orchestrion/config/react-router.d.ts.map +1 -0
- package/build/types/orchestrion/config/redis.d.ts +37 -0
- package/build/types/orchestrion/config/redis.d.ts.map +1 -0
- package/build/types/orchestrion/config/remix.d.ts +9 -0
- package/build/types/orchestrion/config/remix.d.ts.map +1 -0
- package/build/types/orchestrion/config/tedious.d.ts +12 -0
- package/build/types/orchestrion/config/tedious.d.ts.map +1 -0
- package/build/types/orchestrion/config/vercel-ai.d.ts +12 -0
- package/build/types/orchestrion/config/vercel-ai.d.ts.map +1 -0
- package/build/types/orchestrion/detect.d.ts +26 -0
- package/build/types/orchestrion/detect.d.ts.map +1 -0
- package/build/types/orchestrion/index.d.ts +136 -0
- package/build/types/orchestrion/index.d.ts.map +1 -0
- package/build/types/orchestrion/runtime/register.d.ts +25 -0
- package/build/types/orchestrion/runtime/register.d.ts.map +1 -0
- package/build/types/prisma/global.d.ts +5 -0
- package/build/types/prisma/global.d.ts.map +1 -0
- package/build/types/prisma/index.d.ts +45 -0
- package/build/types/prisma/index.d.ts.map +1 -0
- package/build/types/prisma/tracing-helper.d.ts +46 -0
- package/build/types/prisma/tracing-helper.d.ts.map +1 -0
- package/build/types/prisma/types.d.ts +37 -0
- package/build/types/prisma/types.d.ts.map +1 -0
- package/build/types/redis/index.d.ts +18 -0
- package/build/types/redis/index.d.ts.map +1 -0
- package/build/types/redis/redis-dc-subscriber.d.ts +89 -0
- package/build/types/redis/redis-dc-subscriber.d.ts.map +1 -0
- package/build/types/redis/redis-statement-serializer.d.ts +6 -0
- package/build/types/redis/redis-statement-serializer.d.ts.map +1 -0
- package/build/types/tracing-channel.d.ts +73 -0
- package/build/types/tracing-channel.d.ts.map +1 -0
- package/build/types/vercel-ai/index.d.ts +27 -0
- package/build/types/vercel-ai/index.d.ts.map +1 -0
- package/build/types/vercel-ai/util.d.ts +30 -0
- package/build/types/vercel-ai/util.d.ts.map +1 -0
- package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts +72 -0
- package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +1 -0
- package/build/types/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts +12 -0
- package/build/types/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts.map +1 -0
- package/build/types-ts3.8/debug-build.d.ts +7 -0
- package/build/types-ts3.8/graphql/graphql-dc-subscriber.d.ts +94 -0
- package/build/types-ts3.8/graphql/index.d.ts +12 -0
- package/build/types-ts3.8/graphql/utils.d.ts +36 -0
- package/build/types-ts3.8/index.d.ts +23 -0
- package/build/types-ts3.8/integrations/tracing-channel/amqplib.d.ts +11 -0
- package/build/types-ts3.8/integrations/tracing-channel/anthropic.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts +43 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/constants.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/index.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts +23 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts +14 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts +8 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/index.d.ts +2 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts +6 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/lambda.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/s3.d.ts +6 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts +8 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sns.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sqs.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts +6 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/types.d.ts +26 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/utils.d.ts +5 -0
- package/build/types-ts3.8/integrations/tracing-channel/dataloader.d.ts +11 -0
- package/build/types-ts3.8/integrations/tracing-channel/express/index.d.ts +18 -0
- package/build/types-ts3.8/integrations/tracing-channel/express/instrumentation.d.ts +4 -0
- package/build/types-ts3.8/integrations/tracing-channel/express/route.d.ts +28 -0
- package/build/types-ts3.8/integrations/tracing-channel/express/types.d.ts +64 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/errors.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/index.d.ts +66 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/instrumentation.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/types.d.ts +32 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/utils.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/generic-pool.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/google-genai.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/constants.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/graphql-types.d.ts +135 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/index.d.ts +30 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/resolvers.d.ts +13 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/spans.d.ts +17 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/types.d.ts +25 -0
- package/build/types-ts3.8/integrations/tracing-channel/hapi-types.d.ts +65 -0
- package/build/types-ts3.8/integrations/tracing-channel/hapi-utils.d.ts +25 -0
- package/build/types-ts3.8/integrations/tracing-channel/hapi.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/ioredis.d.ts +37 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/consumer.d.ts +8 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/index.d.ts +17 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/semconv.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/spans.d.ts +38 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/types.d.ts +40 -0
- package/build/types-ts3.8/integrations/tracing-channel/knex.d.ts +11 -0
- package/build/types-ts3.8/integrations/tracing-channel/koa.d.ts +14 -0
- package/build/types-ts3.8/integrations/tracing-channel/langchain.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/langgraph.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/lru-memoizer.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/mongodb.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/mongoose.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/mysql.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/mysql2.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/openai.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/postgres-js.d.ts +26 -0
- package/build/types-ts3.8/integrations/tracing-channel/postgres.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/redis.d.ts +16 -0
- package/build/types-ts3.8/integrations/tracing-channel/tedious.d.ts +11 -0
- package/build/types-ts3.8/integrations/tracing-channel/vercel-ai.d.ts +13 -0
- package/build/types-ts3.8/mongodb/mongodb-span.d.ts +66 -0
- package/build/types-ts3.8/mongoose/index.d.ts +13 -0
- package/build/types-ts3.8/mongoose/mongoose-dc-subscriber.d.ts +63 -0
- package/build/types-ts3.8/mongoose/mongoose-legacy-span.d.ts +29 -0
- package/build/types-ts3.8/mysql2/index.d.ts +11 -0
- package/build/types-ts3.8/mysql2/mysql2-dc-subscriber.d.ts +59 -0
- package/build/types-ts3.8/node-diagnostics-channel.d.ts +19 -0
- package/build/types-ts3.8/orchestrion/bundler/esbuild.d.ts +21 -0
- package/build/types-ts3.8/orchestrion/bundler/options.d.ts +29 -0
- package/build/types-ts3.8/orchestrion/bundler/rollup.d.ts +17 -0
- package/build/types-ts3.8/orchestrion/bundler/vite.d.ts +18 -0
- package/build/types-ts3.8/orchestrion/bundler/webpack.d.ts +19 -0
- package/build/types-ts3.8/orchestrion/channels.d.ts +130 -0
- package/build/types-ts3.8/orchestrion/config/amqplib.d.ts +66 -0
- package/build/types-ts3.8/orchestrion/config/anthropic-ai.d.ts +31 -0
- package/build/types-ts3.8/orchestrion/config/aws-sdk.d.ts +19 -0
- package/build/types-ts3.8/orchestrion/config/dataloader.d.ts +46 -0
- package/build/types-ts3.8/orchestrion/config/express.d.ts +30 -0
- package/build/types-ts3.8/orchestrion/config/firebase.d.ts +4 -0
- package/build/types-ts3.8/orchestrion/config/generic-pool.d.ts +31 -0
- package/build/types-ts3.8/orchestrion/config/google-genai.d.ts +30 -0
- package/build/types-ts3.8/orchestrion/config/graphql.d.ts +29 -0
- package/build/types-ts3.8/orchestrion/config/hapi.d.ts +17 -0
- package/build/types-ts3.8/orchestrion/config/index.d.ts +37 -0
- package/build/types-ts3.8/orchestrion/config/ioredis.d.ts +7 -0
- package/build/types-ts3.8/orchestrion/config/kafkajs.d.ts +17 -0
- package/build/types-ts3.8/orchestrion/config/knex.d.ts +9 -0
- package/build/types-ts3.8/orchestrion/config/koa.d.ts +17 -0
- package/build/types-ts3.8/orchestrion/config/langchain.d.ts +18 -0
- package/build/types-ts3.8/orchestrion/config/langgraph.d.ts +21 -0
- package/build/types-ts3.8/orchestrion/config/lru-memoizer.d.ts +16 -0
- package/build/types-ts3.8/orchestrion/config/mongodb.d.ts +59 -0
- package/build/types-ts3.8/orchestrion/config/mongoose.d.ts +40 -0
- package/build/types-ts3.8/orchestrion/config/mysql.d.ts +16 -0
- package/build/types-ts3.8/orchestrion/config/mysql2.d.ts +18 -0
- package/build/types-ts3.8/orchestrion/config/nestjs.d.ts +24 -0
- package/build/types-ts3.8/orchestrion/config/openai.d.ts +18 -0
- package/build/types-ts3.8/orchestrion/config/pg.d.ts +33 -0
- package/build/types-ts3.8/orchestrion/config/postgres.d.ts +9 -0
- package/build/types-ts3.8/orchestrion/config/prisma.d.ts +4 -0
- package/build/types-ts3.8/orchestrion/config/react-router.d.ts +4 -0
- package/build/types-ts3.8/orchestrion/config/redis.d.ts +37 -0
- package/build/types-ts3.8/orchestrion/config/remix.d.ts +9 -0
- package/build/types-ts3.8/orchestrion/config/tedious.d.ts +12 -0
- package/build/types-ts3.8/orchestrion/config/vercel-ai.d.ts +12 -0
- package/build/types-ts3.8/orchestrion/detect.d.ts +26 -0
- package/build/types-ts3.8/orchestrion/index.d.ts +138 -0
- package/build/types-ts3.8/orchestrion/runtime/register.d.ts +25 -0
- package/build/types-ts3.8/prisma/global.d.ts +5 -0
- package/build/types-ts3.8/prisma/index.d.ts +45 -0
- package/build/types-ts3.8/prisma/tracing-helper.d.ts +52 -0
- package/build/types-ts3.8/prisma/types.d.ts +40 -0
- package/build/types-ts3.8/redis/index.d.ts +18 -0
- package/build/types-ts3.8/redis/redis-dc-subscriber.d.ts +89 -0
- package/build/types-ts3.8/redis/redis-statement-serializer.d.ts +6 -0
- package/build/types-ts3.8/tracing-channel.d.ts +73 -0
- package/build/types-ts3.8/vercel-ai/index.d.ts +27 -0
- package/build/types-ts3.8/vercel-ai/util.d.ts +30 -0
- package/build/types-ts3.8/vercel-ai/vercel-ai-dc-subscriber.d.ts +72 -0
- package/build/types-ts3.8/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts +12 -0
- package/changes.json +14 -0
- package/package.json +189 -0
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
const core = require('@sentry/core');
|
|
4
|
+
const attributes = require('@sentry/conventions/attributes');
|
|
5
|
+
const debugBuild = require('../../../../debug-build.js');
|
|
6
|
+
const constants = require('../constants.js');
|
|
7
|
+
|
|
8
|
+
const textDecoder = new TextDecoder();
|
|
9
|
+
class BedrockRuntimeServiceExtension {
|
|
10
|
+
requestPreSpanHook(request) {
|
|
11
|
+
switch (request.commandName) {
|
|
12
|
+
case "Converse":
|
|
13
|
+
return this._requestPreSpanHookConverse(request, false);
|
|
14
|
+
case "ConverseStream":
|
|
15
|
+
return this._requestPreSpanHookConverse(request, true);
|
|
16
|
+
case "InvokeModel":
|
|
17
|
+
return this._requestPreSpanHookInvokeModel(request, false);
|
|
18
|
+
case "InvokeModelWithResponseStream":
|
|
19
|
+
return this._requestPreSpanHookInvokeModel(request, true);
|
|
20
|
+
}
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
responseHook(response, span) {
|
|
24
|
+
const commandName = response.request.commandName;
|
|
25
|
+
if (!span.isRecording()) {
|
|
26
|
+
if (commandName === "ConverseStream" || commandName === "InvokeModelWithResponseStream") {
|
|
27
|
+
span.end();
|
|
28
|
+
}
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
switch (commandName) {
|
|
32
|
+
case "Converse":
|
|
33
|
+
return this._responseHookConverse(response, span);
|
|
34
|
+
case "ConverseStream":
|
|
35
|
+
return this._responseHookConverseStream(response, span);
|
|
36
|
+
case "InvokeModel":
|
|
37
|
+
return this._responseHookInvokeModel(response, span);
|
|
38
|
+
case "InvokeModelWithResponseStream":
|
|
39
|
+
return this._responseHookInvokeModelWithResponseStream(response, span);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
_requestPreSpanHookConverse(request, isStream) {
|
|
43
|
+
let spanName = constants.GEN_AI_OPERATION_NAME_VALUE_CHAT;
|
|
44
|
+
const spanAttributes = {
|
|
45
|
+
// oxlint-disable-next-line typescript/no-deprecated
|
|
46
|
+
[attributes.GEN_AI_SYSTEM]: constants.GEN_AI_SYSTEM_VALUE_AWS_BEDROCK,
|
|
47
|
+
[attributes.GEN_AI_OPERATION_NAME]: constants.GEN_AI_OPERATION_NAME_VALUE_CHAT
|
|
48
|
+
};
|
|
49
|
+
const modelId = request.commandInput.modelId;
|
|
50
|
+
if (modelId) {
|
|
51
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MODEL] = modelId;
|
|
52
|
+
if (spanName) {
|
|
53
|
+
spanName += ` ${modelId}`;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const inferenceConfig = request.commandInput.inferenceConfig;
|
|
57
|
+
if (inferenceConfig) {
|
|
58
|
+
const { maxTokens, temperature, topP, stopSequences } = inferenceConfig;
|
|
59
|
+
if (maxTokens !== void 0) {
|
|
60
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MAX_TOKENS] = maxTokens;
|
|
61
|
+
}
|
|
62
|
+
if (temperature !== void 0) {
|
|
63
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TEMPERATURE] = temperature;
|
|
64
|
+
}
|
|
65
|
+
if (topP !== void 0) {
|
|
66
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TOP_P] = topP;
|
|
67
|
+
}
|
|
68
|
+
if (stopSequences !== void 0) {
|
|
69
|
+
spanAttributes[attributes.GEN_AI_REQUEST_STOP_SEQUENCES] = stopSequences;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
spanName,
|
|
74
|
+
isStream,
|
|
75
|
+
spanAttributes
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
_requestPreSpanHookInvokeModel(request, isStream) {
|
|
79
|
+
const spanAttributes = {
|
|
80
|
+
// oxlint-disable-next-line typescript/no-deprecated
|
|
81
|
+
[attributes.GEN_AI_SYSTEM]: constants.GEN_AI_SYSTEM_VALUE_AWS_BEDROCK
|
|
82
|
+
};
|
|
83
|
+
const modelId = request.commandInput?.modelId;
|
|
84
|
+
if (modelId) {
|
|
85
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MODEL] = modelId;
|
|
86
|
+
}
|
|
87
|
+
if (request.commandInput?.body) {
|
|
88
|
+
const requestBody = JSON.parse(request.commandInput.body);
|
|
89
|
+
if (modelId.includes("amazon.titan")) {
|
|
90
|
+
if (requestBody.textGenerationConfig?.temperature !== void 0) {
|
|
91
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TEMPERATURE] = requestBody.textGenerationConfig.temperature;
|
|
92
|
+
}
|
|
93
|
+
if (requestBody.textGenerationConfig?.topP !== void 0) {
|
|
94
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TOP_P] = requestBody.textGenerationConfig.topP;
|
|
95
|
+
}
|
|
96
|
+
if (requestBody.textGenerationConfig?.maxTokenCount !== void 0) {
|
|
97
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MAX_TOKENS] = requestBody.textGenerationConfig.maxTokenCount;
|
|
98
|
+
}
|
|
99
|
+
if (requestBody.textGenerationConfig?.stopSequences !== void 0) {
|
|
100
|
+
spanAttributes[attributes.GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.textGenerationConfig.stopSequences;
|
|
101
|
+
}
|
|
102
|
+
} else if (modelId.includes("amazon.nova")) {
|
|
103
|
+
if (requestBody.inferenceConfig?.temperature !== void 0) {
|
|
104
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TEMPERATURE] = requestBody.inferenceConfig.temperature;
|
|
105
|
+
}
|
|
106
|
+
if (requestBody.inferenceConfig?.top_p !== void 0) {
|
|
107
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TOP_P] = requestBody.inferenceConfig.top_p;
|
|
108
|
+
}
|
|
109
|
+
if (requestBody.inferenceConfig?.max_new_tokens !== void 0) {
|
|
110
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MAX_TOKENS] = requestBody.inferenceConfig.max_new_tokens;
|
|
111
|
+
}
|
|
112
|
+
if (requestBody.inferenceConfig?.stopSequences !== void 0) {
|
|
113
|
+
spanAttributes[attributes.GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.inferenceConfig.stopSequences;
|
|
114
|
+
}
|
|
115
|
+
} else if (modelId.includes("anthropic.claude")) {
|
|
116
|
+
if (requestBody.max_tokens !== void 0) {
|
|
117
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_tokens;
|
|
118
|
+
}
|
|
119
|
+
if (requestBody.temperature !== void 0) {
|
|
120
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;
|
|
121
|
+
}
|
|
122
|
+
if (requestBody.top_p !== void 0) {
|
|
123
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TOP_P] = requestBody.top_p;
|
|
124
|
+
}
|
|
125
|
+
if (requestBody.stop_sequences !== void 0) {
|
|
126
|
+
spanAttributes[attributes.GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.stop_sequences;
|
|
127
|
+
}
|
|
128
|
+
} else if (modelId.includes("meta.llama")) {
|
|
129
|
+
if (requestBody.max_gen_len !== void 0) {
|
|
130
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_gen_len;
|
|
131
|
+
}
|
|
132
|
+
if (requestBody.temperature !== void 0) {
|
|
133
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;
|
|
134
|
+
}
|
|
135
|
+
if (requestBody.top_p !== void 0) {
|
|
136
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TOP_P] = requestBody.top_p;
|
|
137
|
+
}
|
|
138
|
+
} else if (modelId.includes("cohere.command-r")) {
|
|
139
|
+
if (requestBody.max_tokens !== void 0) {
|
|
140
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_tokens;
|
|
141
|
+
}
|
|
142
|
+
if (requestBody.temperature !== void 0) {
|
|
143
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;
|
|
144
|
+
}
|
|
145
|
+
if (requestBody.p !== void 0) {
|
|
146
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TOP_P] = requestBody.p;
|
|
147
|
+
}
|
|
148
|
+
if (requestBody.message !== void 0) {
|
|
149
|
+
spanAttributes[attributes.GEN_AI_USAGE_INPUT_TOKENS] = Math.ceil(requestBody.message.length / 6);
|
|
150
|
+
}
|
|
151
|
+
if (requestBody.stop_sequences !== void 0) {
|
|
152
|
+
spanAttributes[attributes.GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.stop_sequences;
|
|
153
|
+
}
|
|
154
|
+
} else if (modelId.includes("cohere.command")) {
|
|
155
|
+
if (requestBody.max_tokens !== void 0) {
|
|
156
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_tokens;
|
|
157
|
+
}
|
|
158
|
+
if (requestBody.temperature !== void 0) {
|
|
159
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;
|
|
160
|
+
}
|
|
161
|
+
if (requestBody.p !== void 0) {
|
|
162
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TOP_P] = requestBody.p;
|
|
163
|
+
}
|
|
164
|
+
if (requestBody.prompt !== void 0) {
|
|
165
|
+
spanAttributes[attributes.GEN_AI_USAGE_INPUT_TOKENS] = Math.ceil(requestBody.prompt.length / 6);
|
|
166
|
+
}
|
|
167
|
+
if (requestBody.stop_sequences !== void 0) {
|
|
168
|
+
spanAttributes[attributes.GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.stop_sequences;
|
|
169
|
+
}
|
|
170
|
+
} else if (modelId.includes("mistral")) {
|
|
171
|
+
if (requestBody.prompt !== void 0) {
|
|
172
|
+
spanAttributes[attributes.GEN_AI_USAGE_INPUT_TOKENS] = Math.ceil(requestBody.prompt.length / 6);
|
|
173
|
+
}
|
|
174
|
+
if (requestBody.max_tokens !== void 0) {
|
|
175
|
+
spanAttributes[attributes.GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_tokens;
|
|
176
|
+
}
|
|
177
|
+
if (requestBody.temperature !== void 0) {
|
|
178
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;
|
|
179
|
+
}
|
|
180
|
+
if (requestBody.top_p !== void 0) {
|
|
181
|
+
spanAttributes[attributes.GEN_AI_REQUEST_TOP_P] = requestBody.top_p;
|
|
182
|
+
}
|
|
183
|
+
if (requestBody.stop !== void 0) {
|
|
184
|
+
spanAttributes[attributes.GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.stop;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return {
|
|
189
|
+
isStream,
|
|
190
|
+
spanAttributes
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
_responseHookConverse(response, span) {
|
|
194
|
+
const { stopReason, usage } = response.data;
|
|
195
|
+
setStopReason(span, stopReason);
|
|
196
|
+
setUsage(span, usage);
|
|
197
|
+
}
|
|
198
|
+
_responseHookConverseStream(response, span) {
|
|
199
|
+
response.data.stream = wrapConverseStreamResponse(response.data.stream, span);
|
|
200
|
+
}
|
|
201
|
+
_responseHookInvokeModel(response, span) {
|
|
202
|
+
const currentModelId = response.request.commandInput?.modelId;
|
|
203
|
+
if (response.data?.body) {
|
|
204
|
+
const decodedResponseBody = textDecoder.decode(response.data.body);
|
|
205
|
+
const responseBody = JSON.parse(decodedResponseBody);
|
|
206
|
+
if (currentModelId.includes("amazon.titan")) {
|
|
207
|
+
if (responseBody.inputTextTokenCount !== void 0) {
|
|
208
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, responseBody.inputTextTokenCount);
|
|
209
|
+
}
|
|
210
|
+
if (responseBody.results?.[0]?.tokenCount !== void 0) {
|
|
211
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, responseBody.results[0].tokenCount);
|
|
212
|
+
}
|
|
213
|
+
if (responseBody.results?.[0]?.completionReason !== void 0) {
|
|
214
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.results[0].completionReason]);
|
|
215
|
+
}
|
|
216
|
+
} else if (currentModelId.includes("amazon.nova")) {
|
|
217
|
+
if (responseBody.usage !== void 0) {
|
|
218
|
+
if (responseBody.usage.inputTokens !== void 0) {
|
|
219
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, responseBody.usage.inputTokens);
|
|
220
|
+
}
|
|
221
|
+
if (responseBody.usage.outputTokens !== void 0) {
|
|
222
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, responseBody.usage.outputTokens);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (responseBody.stopReason !== void 0) {
|
|
226
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.stopReason]);
|
|
227
|
+
}
|
|
228
|
+
} else if (currentModelId.includes("anthropic.claude")) {
|
|
229
|
+
if (responseBody.usage?.input_tokens !== void 0) {
|
|
230
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, responseBody.usage.input_tokens);
|
|
231
|
+
}
|
|
232
|
+
if (responseBody.usage?.output_tokens !== void 0) {
|
|
233
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, responseBody.usage.output_tokens);
|
|
234
|
+
}
|
|
235
|
+
if (responseBody.stop_reason !== void 0) {
|
|
236
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.stop_reason]);
|
|
237
|
+
}
|
|
238
|
+
} else if (currentModelId.includes("meta.llama")) {
|
|
239
|
+
if (responseBody.prompt_token_count !== void 0) {
|
|
240
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, responseBody.prompt_token_count);
|
|
241
|
+
}
|
|
242
|
+
if (responseBody.generation_token_count !== void 0) {
|
|
243
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, responseBody.generation_token_count);
|
|
244
|
+
}
|
|
245
|
+
if (responseBody.stop_reason !== void 0) {
|
|
246
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.stop_reason]);
|
|
247
|
+
}
|
|
248
|
+
} else if (currentModelId.includes("cohere.command-r")) {
|
|
249
|
+
if (responseBody.text !== void 0) {
|
|
250
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(responseBody.text.length / 6));
|
|
251
|
+
}
|
|
252
|
+
if (responseBody.finish_reason !== void 0) {
|
|
253
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.finish_reason]);
|
|
254
|
+
}
|
|
255
|
+
} else if (currentModelId.includes("cohere.command")) {
|
|
256
|
+
if (responseBody.generations?.[0]?.text !== void 0) {
|
|
257
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(responseBody.generations[0].text.length / 6));
|
|
258
|
+
}
|
|
259
|
+
if (responseBody.generations?.[0]?.finish_reason !== void 0) {
|
|
260
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.generations[0].finish_reason]);
|
|
261
|
+
}
|
|
262
|
+
} else if (currentModelId.includes("mistral")) {
|
|
263
|
+
if (responseBody.outputs?.[0]?.text !== void 0) {
|
|
264
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(responseBody.outputs[0].text.length / 6));
|
|
265
|
+
}
|
|
266
|
+
if (responseBody.outputs?.[0]?.stop_reason !== void 0) {
|
|
267
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.outputs[0].stop_reason]);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
_responseHookInvokeModelWithResponseStream(response, span) {
|
|
273
|
+
const stream = response.data?.body;
|
|
274
|
+
const modelId = response.request.commandInput?.modelId;
|
|
275
|
+
if (!stream || !modelId) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
const recordAttributes = resolveStreamRecorder(modelId);
|
|
279
|
+
response.data.body = (async function* () {
|
|
280
|
+
try {
|
|
281
|
+
for await (const chunk of stream) {
|
|
282
|
+
if (recordAttributes) {
|
|
283
|
+
const parsedChunk = parseChunk(chunk?.chunk?.bytes);
|
|
284
|
+
if (parsedChunk) {
|
|
285
|
+
recordAttributes(parsedChunk, span);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
yield chunk;
|
|
289
|
+
}
|
|
290
|
+
} finally {
|
|
291
|
+
span.end();
|
|
292
|
+
}
|
|
293
|
+
})();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
function resolveStreamRecorder(modelId) {
|
|
297
|
+
if (modelId.includes("amazon.titan")) return recordTitanAttributes;
|
|
298
|
+
if (modelId.includes("anthropic.claude")) return recordClaudeAttributes;
|
|
299
|
+
if (modelId.includes("amazon.nova")) return recordNovaAttributes;
|
|
300
|
+
if (modelId.includes("meta.llama")) return recordLlamaAttributes;
|
|
301
|
+
if (modelId.includes("cohere.command-r")) return recordCohereRAttributes;
|
|
302
|
+
if (modelId.includes("cohere.command")) return recordCohereAttributes;
|
|
303
|
+
if (modelId.includes("mistral")) return recordMistralAttributes;
|
|
304
|
+
return void 0;
|
|
305
|
+
}
|
|
306
|
+
async function* wrapConverseStreamResponse(stream, span) {
|
|
307
|
+
try {
|
|
308
|
+
let usage;
|
|
309
|
+
for await (const item of stream) {
|
|
310
|
+
setStopReason(span, item.messageStop?.stopReason);
|
|
311
|
+
usage = item.metadata?.usage;
|
|
312
|
+
yield item;
|
|
313
|
+
}
|
|
314
|
+
setUsage(span, usage);
|
|
315
|
+
} finally {
|
|
316
|
+
span.end();
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
function setStopReason(span, stopReason) {
|
|
320
|
+
if (stopReason !== void 0) {
|
|
321
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [stopReason]);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
function setUsage(span, usage) {
|
|
325
|
+
if (usage) {
|
|
326
|
+
const { inputTokens, outputTokens } = usage;
|
|
327
|
+
if (inputTokens !== void 0) {
|
|
328
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, inputTokens);
|
|
329
|
+
}
|
|
330
|
+
if (outputTokens !== void 0) {
|
|
331
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, outputTokens);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
function parseChunk(bytes) {
|
|
336
|
+
if (!bytes || !(bytes instanceof Uint8Array)) {
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
339
|
+
try {
|
|
340
|
+
const str = Buffer.from(bytes).toString("utf-8");
|
|
341
|
+
return JSON.parse(str);
|
|
342
|
+
} catch (err) {
|
|
343
|
+
debugBuild.DEBUG_BUILD && core.debug.warn("[orchestrion:aws-sdk] failed to parse streamed bedrock chunk", err);
|
|
344
|
+
return null;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
function recordNovaAttributes(parsedChunk, span) {
|
|
348
|
+
if (parsedChunk.metadata?.usage !== void 0) {
|
|
349
|
+
if (parsedChunk.metadata?.usage.inputTokens !== void 0) {
|
|
350
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, parsedChunk.metadata.usage.inputTokens);
|
|
351
|
+
}
|
|
352
|
+
if (parsedChunk.metadata?.usage.outputTokens !== void 0) {
|
|
353
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, parsedChunk.metadata.usage.outputTokens);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
if (parsedChunk.messageStop?.stopReason !== void 0) {
|
|
357
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.messageStop.stopReason]);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
function recordClaudeAttributes(parsedChunk, span) {
|
|
361
|
+
if (parsedChunk.message?.usage?.input_tokens !== void 0) {
|
|
362
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, parsedChunk.message.usage.input_tokens);
|
|
363
|
+
}
|
|
364
|
+
if (parsedChunk.message?.usage?.output_tokens !== void 0) {
|
|
365
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, parsedChunk.message.usage.output_tokens);
|
|
366
|
+
}
|
|
367
|
+
if (parsedChunk.delta?.stop_reason !== void 0) {
|
|
368
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.delta.stop_reason]);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
function recordTitanAttributes(parsedChunk, span) {
|
|
372
|
+
if (parsedChunk.inputTextTokenCount !== void 0) {
|
|
373
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, parsedChunk.inputTextTokenCount);
|
|
374
|
+
}
|
|
375
|
+
if (parsedChunk.totalOutputTextTokenCount !== void 0) {
|
|
376
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, parsedChunk.totalOutputTextTokenCount);
|
|
377
|
+
}
|
|
378
|
+
if (parsedChunk.completionReason !== void 0) {
|
|
379
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.completionReason]);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
function recordLlamaAttributes(parsedChunk, span) {
|
|
383
|
+
if (parsedChunk.prompt_token_count !== void 0) {
|
|
384
|
+
span.setAttribute(attributes.GEN_AI_USAGE_INPUT_TOKENS, parsedChunk.prompt_token_count);
|
|
385
|
+
}
|
|
386
|
+
if (parsedChunk.generation_token_count !== void 0) {
|
|
387
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, parsedChunk.generation_token_count);
|
|
388
|
+
}
|
|
389
|
+
if (parsedChunk.stop_reason !== void 0) {
|
|
390
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.stop_reason]);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
function recordMistralAttributes(parsedChunk, span) {
|
|
394
|
+
if (parsedChunk.outputs?.[0]?.text !== void 0) {
|
|
395
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(parsedChunk.outputs[0].text.length / 6));
|
|
396
|
+
}
|
|
397
|
+
if (parsedChunk.outputs?.[0]?.stop_reason !== void 0) {
|
|
398
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.outputs[0].stop_reason]);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
function recordCohereAttributes(parsedChunk, span) {
|
|
402
|
+
if (parsedChunk.generations?.[0]?.text !== void 0) {
|
|
403
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(parsedChunk.generations[0].text.length / 6));
|
|
404
|
+
}
|
|
405
|
+
if (parsedChunk.generations?.[0]?.finish_reason !== void 0) {
|
|
406
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.generations[0].finish_reason]);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
function recordCohereRAttributes(parsedChunk, span) {
|
|
410
|
+
if (parsedChunk.text !== void 0) {
|
|
411
|
+
span.setAttribute(attributes.GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(parsedChunk.text.length / 6));
|
|
412
|
+
}
|
|
413
|
+
if (parsedChunk.finish_reason !== void 0) {
|
|
414
|
+
span.setAttribute(attributes.GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.finish_reason]);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
exports.BedrockRuntimeServiceExtension = BedrockRuntimeServiceExtension;
|
|
419
|
+
//# sourceMappingURL=bedrock-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock-runtime.js","sources":["../../../../../../src/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.ts"],"sourcesContent":["import type { Span } from '@sentry/core';\nimport { debug } from '@sentry/core';\nimport {\n GEN_AI_OPERATION_NAME,\n GEN_AI_REQUEST_MAX_TOKENS,\n GEN_AI_REQUEST_MODEL,\n GEN_AI_REQUEST_STOP_SEQUENCES as ATTR_GEN_AI_REQUEST_STOP_SEQUENCES,\n GEN_AI_REQUEST_TEMPERATURE,\n GEN_AI_REQUEST_TOP_P,\n GEN_AI_RESPONSE_FINISH_REASONS,\n GEN_AI_SYSTEM,\n GEN_AI_USAGE_INPUT_TOKENS,\n GEN_AI_USAGE_OUTPUT_TOKENS,\n} from '@sentry/conventions/attributes';\nimport { DEBUG_BUILD } from '../../../../debug-build';\nimport { GEN_AI_OPERATION_NAME_VALUE_CHAT, GEN_AI_SYSTEM_VALUE_AWS_BEDROCK } from '../constants';\nimport type { NormalizedRequest, NormalizedResponse } from '../types';\nimport type { RequestMetadata, ServiceExtension } from './ServiceExtension';\n\n// Simplified types inlined from @aws-sdk/client-bedrock-runtime\n// Only the fields accessed by this instrumentation are included\ninterface TokenUsage {\n inputTokens: number | undefined;\n outputTokens: number | undefined;\n totalTokens: number | undefined;\n}\n\ninterface ConverseStreamOutput {\n messageStop?: { stopReason?: string };\n metadata?: { usage?: TokenUsage };\n [key: string]: unknown;\n}\n\n// Streamed `InvokeModel` chunks and response bodies are model-family-specific JSON (titan, nova,\n// claude, llama, cohere, mistral); the record helpers probe the shapes defensively, so `any` instead\n// of one structural type per family.\ntype ParsedChunk = any;\n\nconst textDecoder = new TextDecoder();\n\nexport class BedrockRuntimeServiceExtension implements ServiceExtension {\n public requestPreSpanHook(request: NormalizedRequest): RequestMetadata {\n switch (request.commandName) {\n case 'Converse':\n return this._requestPreSpanHookConverse(request, false);\n case 'ConverseStream':\n return this._requestPreSpanHookConverse(request, true);\n case 'InvokeModel':\n return this._requestPreSpanHookInvokeModel(request, false);\n case 'InvokeModelWithResponseStream':\n return this._requestPreSpanHookInvokeModel(request, true);\n }\n\n return {};\n }\n\n public responseHook(response: NormalizedResponse, span: Span): void {\n const commandName = response.request.commandName;\n\n if (!span.isRecording()) {\n // Streaming spans are ended by the wrapped stream (the subscriber's `deferSpanEnd` suppresses\n // the helper's own `end()`). When the span isn't recording we skip wrapping, so end it here to\n // avoid leaking an open span. Non-streaming commands are ended by the helper, so leave them.\n if (commandName === 'ConverseStream' || commandName === 'InvokeModelWithResponseStream') {\n span.end();\n }\n return;\n }\n\n switch (commandName) {\n case 'Converse':\n return this._responseHookConverse(response, span);\n case 'ConverseStream':\n return this._responseHookConverseStream(response, span);\n case 'InvokeModel':\n return this._responseHookInvokeModel(response, span);\n case 'InvokeModelWithResponseStream':\n return this._responseHookInvokeModelWithResponseStream(response, span);\n }\n }\n\n private _requestPreSpanHookConverse(request: NormalizedRequest, isStream: boolean): RequestMetadata {\n let spanName = GEN_AI_OPERATION_NAME_VALUE_CHAT;\n const spanAttributes: Record<string, unknown> = {\n // oxlint-disable-next-line typescript/no-deprecated\n [GEN_AI_SYSTEM]: GEN_AI_SYSTEM_VALUE_AWS_BEDROCK,\n [GEN_AI_OPERATION_NAME]: GEN_AI_OPERATION_NAME_VALUE_CHAT,\n };\n\n const modelId = request.commandInput.modelId;\n if (modelId) {\n spanAttributes[GEN_AI_REQUEST_MODEL] = modelId;\n if (spanName) {\n spanName += ` ${modelId}`;\n }\n }\n\n const inferenceConfig = request.commandInput.inferenceConfig;\n if (inferenceConfig) {\n const { maxTokens, temperature, topP, stopSequences } = inferenceConfig;\n if (maxTokens !== undefined) {\n spanAttributes[GEN_AI_REQUEST_MAX_TOKENS] = maxTokens;\n }\n if (temperature !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TEMPERATURE] = temperature;\n }\n if (topP !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TOP_P] = topP;\n }\n if (stopSequences !== undefined) {\n spanAttributes[ATTR_GEN_AI_REQUEST_STOP_SEQUENCES] = stopSequences;\n }\n }\n\n return {\n spanName,\n isStream,\n spanAttributes,\n };\n }\n\n private _requestPreSpanHookInvokeModel(request: NormalizedRequest, isStream: boolean): RequestMetadata {\n const spanAttributes: Record<string, unknown> = {\n // oxlint-disable-next-line typescript/no-deprecated\n [GEN_AI_SYSTEM]: GEN_AI_SYSTEM_VALUE_AWS_BEDROCK,\n };\n\n const modelId = request.commandInput?.modelId;\n if (modelId) {\n spanAttributes[GEN_AI_REQUEST_MODEL] = modelId;\n }\n\n if (request.commandInput?.body) {\n const requestBody = JSON.parse(request.commandInput.body);\n if (modelId.includes('amazon.titan')) {\n if (requestBody.textGenerationConfig?.temperature !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TEMPERATURE] = requestBody.textGenerationConfig.temperature;\n }\n if (requestBody.textGenerationConfig?.topP !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TOP_P] = requestBody.textGenerationConfig.topP;\n }\n if (requestBody.textGenerationConfig?.maxTokenCount !== undefined) {\n spanAttributes[GEN_AI_REQUEST_MAX_TOKENS] = requestBody.textGenerationConfig.maxTokenCount;\n }\n if (requestBody.textGenerationConfig?.stopSequences !== undefined) {\n spanAttributes[ATTR_GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.textGenerationConfig.stopSequences;\n }\n } else if (modelId.includes('amazon.nova')) {\n if (requestBody.inferenceConfig?.temperature !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TEMPERATURE] = requestBody.inferenceConfig.temperature;\n }\n if (requestBody.inferenceConfig?.top_p !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TOP_P] = requestBody.inferenceConfig.top_p;\n }\n if (requestBody.inferenceConfig?.max_new_tokens !== undefined) {\n spanAttributes[GEN_AI_REQUEST_MAX_TOKENS] = requestBody.inferenceConfig.max_new_tokens;\n }\n if (requestBody.inferenceConfig?.stopSequences !== undefined) {\n spanAttributes[ATTR_GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.inferenceConfig.stopSequences;\n }\n } else if (modelId.includes('anthropic.claude')) {\n if (requestBody.max_tokens !== undefined) {\n spanAttributes[GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_tokens;\n }\n if (requestBody.temperature !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;\n }\n if (requestBody.top_p !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TOP_P] = requestBody.top_p;\n }\n if (requestBody.stop_sequences !== undefined) {\n spanAttributes[ATTR_GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.stop_sequences;\n }\n } else if (modelId.includes('meta.llama')) {\n if (requestBody.max_gen_len !== undefined) {\n spanAttributes[GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_gen_len;\n }\n if (requestBody.temperature !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;\n }\n if (requestBody.top_p !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TOP_P] = requestBody.top_p;\n }\n // request for meta llama models does not contain stop_sequences field\n } else if (modelId.includes('cohere.command-r')) {\n if (requestBody.max_tokens !== undefined) {\n spanAttributes[GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_tokens;\n }\n if (requestBody.temperature !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;\n }\n if (requestBody.p !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TOP_P] = requestBody.p;\n }\n if (requestBody.message !== undefined) {\n // NOTE: We approximate the token count since this value is not directly available in the body.\n // According to Bedrock docs they use (total_chars / 6) to approximate token count for pricing.\n spanAttributes[GEN_AI_USAGE_INPUT_TOKENS] = Math.ceil(requestBody.message.length / 6);\n }\n if (requestBody.stop_sequences !== undefined) {\n spanAttributes[ATTR_GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.stop_sequences;\n }\n } else if (modelId.includes('cohere.command')) {\n if (requestBody.max_tokens !== undefined) {\n spanAttributes[GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_tokens;\n }\n if (requestBody.temperature !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;\n }\n if (requestBody.p !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TOP_P] = requestBody.p;\n }\n if (requestBody.prompt !== undefined) {\n spanAttributes[GEN_AI_USAGE_INPUT_TOKENS] = Math.ceil(requestBody.prompt.length / 6);\n }\n if (requestBody.stop_sequences !== undefined) {\n spanAttributes[ATTR_GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.stop_sequences;\n }\n } else if (modelId.includes('mistral')) {\n if (requestBody.prompt !== undefined) {\n spanAttributes[GEN_AI_USAGE_INPUT_TOKENS] = Math.ceil(requestBody.prompt.length / 6);\n }\n if (requestBody.max_tokens !== undefined) {\n spanAttributes[GEN_AI_REQUEST_MAX_TOKENS] = requestBody.max_tokens;\n }\n if (requestBody.temperature !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TEMPERATURE] = requestBody.temperature;\n }\n if (requestBody.top_p !== undefined) {\n spanAttributes[GEN_AI_REQUEST_TOP_P] = requestBody.top_p;\n }\n if (requestBody.stop !== undefined) {\n spanAttributes[ATTR_GEN_AI_REQUEST_STOP_SEQUENCES] = requestBody.stop;\n }\n }\n }\n\n return {\n isStream,\n spanAttributes,\n };\n }\n\n private _responseHookConverse(response: NormalizedResponse, span: Span): void {\n const { stopReason, usage } = response.data;\n\n setStopReason(span, stopReason);\n setUsage(span, usage);\n }\n\n private _responseHookConverseStream(response: NormalizedResponse, span: Span): void {\n // Wrap and replace the response stream in place to process events into telemetry\n // before yielding to the user.\n response.data.stream = wrapConverseStreamResponse(response.data.stream, span);\n }\n\n private _responseHookInvokeModel(response: NormalizedResponse, span: Span): void {\n const currentModelId = response.request.commandInput?.modelId;\n if (response.data?.body) {\n const decodedResponseBody = textDecoder.decode(response.data.body);\n const responseBody = JSON.parse(decodedResponseBody);\n if (currentModelId.includes('amazon.titan')) {\n if (responseBody.inputTextTokenCount !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, responseBody.inputTextTokenCount);\n }\n if (responseBody.results?.[0]?.tokenCount !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, responseBody.results[0].tokenCount);\n }\n if (responseBody.results?.[0]?.completionReason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.results[0].completionReason]);\n }\n } else if (currentModelId.includes('amazon.nova')) {\n if (responseBody.usage !== undefined) {\n if (responseBody.usage.inputTokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, responseBody.usage.inputTokens);\n }\n if (responseBody.usage.outputTokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, responseBody.usage.outputTokens);\n }\n }\n if (responseBody.stopReason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.stopReason]);\n }\n } else if (currentModelId.includes('anthropic.claude')) {\n if (responseBody.usage?.input_tokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, responseBody.usage.input_tokens);\n }\n if (responseBody.usage?.output_tokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, responseBody.usage.output_tokens);\n }\n if (responseBody.stop_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.stop_reason]);\n }\n } else if (currentModelId.includes('meta.llama')) {\n if (responseBody.prompt_token_count !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, responseBody.prompt_token_count);\n }\n if (responseBody.generation_token_count !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, responseBody.generation_token_count);\n }\n if (responseBody.stop_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.stop_reason]);\n }\n } else if (currentModelId.includes('cohere.command-r')) {\n if (responseBody.text !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(responseBody.text.length / 6));\n }\n if (responseBody.finish_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.finish_reason]);\n }\n } else if (currentModelId.includes('cohere.command')) {\n if (responseBody.generations?.[0]?.text !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(responseBody.generations[0].text.length / 6));\n }\n if (responseBody.generations?.[0]?.finish_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.generations[0].finish_reason]);\n }\n } else if (currentModelId.includes('mistral')) {\n if (responseBody.outputs?.[0]?.text !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(responseBody.outputs[0].text.length / 6));\n }\n if (responseBody.outputs?.[0]?.stop_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [responseBody.outputs[0].stop_reason]);\n }\n }\n }\n }\n\n private _responseHookInvokeModelWithResponseStream(response: NormalizedResponse, span: Span): void {\n const stream = response.data?.body;\n const modelId = response.request.commandInput?.modelId;\n if (!stream || !modelId) {\n return;\n }\n\n // Resolved once: the model family is fixed for the whole stream, and for unrecognized families\n // the chunks don't need to be parsed at all.\n const recordAttributes = resolveStreamRecorder(modelId);\n\n // Replace the original response body with our instrumented stream, deferring span.end() until the\n // entire stream is consumed. Downstream consumers still receive the full stream.\n response.data.body = (async function* () {\n try {\n for await (const chunk of stream) {\n if (recordAttributes) {\n const parsedChunk = parseChunk(chunk?.chunk?.bytes);\n if (parsedChunk) {\n recordAttributes(parsedChunk, span);\n }\n }\n yield chunk;\n }\n } finally {\n span.end();\n }\n })();\n }\n}\n\nfunction resolveStreamRecorder(modelId: string): ((parsedChunk: ParsedChunk, span: Span) => void) | undefined {\n if (modelId.includes('amazon.titan')) return recordTitanAttributes;\n if (modelId.includes('anthropic.claude')) return recordClaudeAttributes;\n if (modelId.includes('amazon.nova')) return recordNovaAttributes;\n if (modelId.includes('meta.llama')) return recordLlamaAttributes;\n if (modelId.includes('cohere.command-r')) return recordCohereRAttributes;\n if (modelId.includes('cohere.command')) return recordCohereAttributes;\n if (modelId.includes('mistral')) return recordMistralAttributes;\n return undefined;\n}\n\nasync function* wrapConverseStreamResponse(\n stream: AsyncIterable<ConverseStreamOutput>,\n span: Span,\n): AsyncGenerator<ConverseStreamOutput> {\n try {\n let usage: TokenUsage | undefined;\n for await (const item of stream) {\n setStopReason(span, item.messageStop?.stopReason);\n usage = item.metadata?.usage;\n yield item;\n }\n setUsage(span, usage);\n } finally {\n span.end();\n }\n}\n\nfunction setStopReason(span: Span, stopReason: string | undefined): void {\n if (stopReason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [stopReason]);\n }\n}\n\nfunction setUsage(span: Span, usage: TokenUsage | undefined): void {\n if (usage) {\n const { inputTokens, outputTokens } = usage;\n if (inputTokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, inputTokens);\n }\n if (outputTokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, outputTokens);\n }\n }\n}\n\nfunction parseChunk(bytes?: Uint8Array): ParsedChunk {\n if (!bytes || !(bytes instanceof Uint8Array)) {\n return null;\n }\n try {\n const str = Buffer.from(bytes).toString('utf-8');\n return JSON.parse(str);\n } catch (err) {\n DEBUG_BUILD && debug.warn('[orchestrion:aws-sdk] failed to parse streamed bedrock chunk', err);\n return null;\n }\n}\n\nfunction recordNovaAttributes(parsedChunk: ParsedChunk, span: Span): void {\n if (parsedChunk.metadata?.usage !== undefined) {\n if (parsedChunk.metadata?.usage.inputTokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, parsedChunk.metadata.usage.inputTokens);\n }\n if (parsedChunk.metadata?.usage.outputTokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, parsedChunk.metadata.usage.outputTokens);\n }\n }\n if (parsedChunk.messageStop?.stopReason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.messageStop.stopReason]);\n }\n}\n\nfunction recordClaudeAttributes(parsedChunk: ParsedChunk, span: Span): void {\n if (parsedChunk.message?.usage?.input_tokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, parsedChunk.message.usage.input_tokens);\n }\n if (parsedChunk.message?.usage?.output_tokens !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, parsedChunk.message.usage.output_tokens);\n }\n if (parsedChunk.delta?.stop_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.delta.stop_reason]);\n }\n}\n\nfunction recordTitanAttributes(parsedChunk: ParsedChunk, span: Span): void {\n if (parsedChunk.inputTextTokenCount !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, parsedChunk.inputTextTokenCount);\n }\n if (parsedChunk.totalOutputTextTokenCount !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, parsedChunk.totalOutputTextTokenCount);\n }\n if (parsedChunk.completionReason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.completionReason]);\n }\n}\n\nfunction recordLlamaAttributes(parsedChunk: ParsedChunk, span: Span): void {\n if (parsedChunk.prompt_token_count !== undefined) {\n span.setAttribute(GEN_AI_USAGE_INPUT_TOKENS, parsedChunk.prompt_token_count);\n }\n if (parsedChunk.generation_token_count !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, parsedChunk.generation_token_count);\n }\n if (parsedChunk.stop_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.stop_reason]);\n }\n}\n\nfunction recordMistralAttributes(parsedChunk: ParsedChunk, span: Span): void {\n if (parsedChunk.outputs?.[0]?.text !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(parsedChunk.outputs[0].text.length / 6));\n }\n if (parsedChunk.outputs?.[0]?.stop_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.outputs[0].stop_reason]);\n }\n}\n\nfunction recordCohereAttributes(parsedChunk: ParsedChunk, span: Span): void {\n if (parsedChunk.generations?.[0]?.text !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(parsedChunk.generations[0].text.length / 6));\n }\n if (parsedChunk.generations?.[0]?.finish_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.generations[0].finish_reason]);\n }\n}\n\nfunction recordCohereRAttributes(parsedChunk: ParsedChunk, span: Span): void {\n if (parsedChunk.text !== undefined) {\n span.setAttribute(GEN_AI_USAGE_OUTPUT_TOKENS, Math.ceil(parsedChunk.text.length / 6));\n }\n if (parsedChunk.finish_reason !== undefined) {\n span.setAttribute(GEN_AI_RESPONSE_FINISH_REASONS, [parsedChunk.finish_reason]);\n }\n}\n"],"names":["GEN_AI_OPERATION_NAME_VALUE_CHAT","GEN_AI_SYSTEM","GEN_AI_SYSTEM_VALUE_AWS_BEDROCK","GEN_AI_OPERATION_NAME","GEN_AI_REQUEST_MODEL","GEN_AI_REQUEST_MAX_TOKENS","GEN_AI_REQUEST_TEMPERATURE","GEN_AI_REQUEST_TOP_P","ATTR_GEN_AI_REQUEST_STOP_SEQUENCES","GEN_AI_USAGE_INPUT_TOKENS","GEN_AI_USAGE_OUTPUT_TOKENS","GEN_AI_RESPONSE_FINISH_REASONS","DEBUG_BUILD","debug"],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
|
|
3
|
+
const core = require('@sentry/core');
|
|
4
|
+
const attributes = require('@sentry/conventions/attributes');
|
|
5
|
+
const constants = require('../constants.js');
|
|
6
|
+
|
|
7
|
+
function toArray(values) {
|
|
8
|
+
return Array.isArray(values) ? values : [values];
|
|
9
|
+
}
|
|
10
|
+
class DynamodbServiceExtension {
|
|
11
|
+
requestPreSpanHook(normalizedRequest) {
|
|
12
|
+
const operation = normalizedRequest.commandName;
|
|
13
|
+
const tableName = normalizedRequest.commandInput?.TableName;
|
|
14
|
+
const spanAttributes = {};
|
|
15
|
+
spanAttributes[attributes.DB_SYSTEM] = constants.DB_SYSTEM_VALUE_DYNAMODB;
|
|
16
|
+
spanAttributes[attributes.DB_NAME] = tableName;
|
|
17
|
+
spanAttributes[attributes.DB_OPERATION] = operation;
|
|
18
|
+
if (normalizedRequest.commandInput?.TableName) {
|
|
19
|
+
spanAttributes[attributes.AWS_DYNAMODB_TABLE_NAMES] = [normalizedRequest.commandInput.TableName];
|
|
20
|
+
} else if (normalizedRequest.commandInput?.RequestItems) {
|
|
21
|
+
spanAttributes[attributes.AWS_DYNAMODB_TABLE_NAMES] = Object.keys(normalizedRequest.commandInput.RequestItems);
|
|
22
|
+
}
|
|
23
|
+
if (operation === "CreateTable" || operation === "UpdateTable") {
|
|
24
|
+
if (normalizedRequest.commandInput?.ProvisionedThroughput) {
|
|
25
|
+
spanAttributes[attributes.AWS_DYNAMODB_PROVISIONED_READ_CAPACITY] = normalizedRequest.commandInput.ProvisionedThroughput.ReadCapacityUnits;
|
|
26
|
+
spanAttributes[attributes.AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY] = normalizedRequest.commandInput.ProvisionedThroughput.WriteCapacityUnits;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (operation === "GetItem" || operation === "Scan" || operation === "Query") {
|
|
30
|
+
if (normalizedRequest.commandInput?.ConsistentRead) {
|
|
31
|
+
spanAttributes[attributes.AWS_DYNAMODB_CONSISTENT_READ] = normalizedRequest.commandInput.ConsistentRead;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (operation === "Query" || operation === "Scan") {
|
|
35
|
+
if (normalizedRequest.commandInput?.ProjectionExpression) {
|
|
36
|
+
spanAttributes[attributes.AWS_DYNAMODB_PROJECTION] = normalizedRequest.commandInput.ProjectionExpression;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (operation === "CreateTable") {
|
|
40
|
+
if (normalizedRequest.commandInput?.GlobalSecondaryIndexes) {
|
|
41
|
+
spanAttributes[attributes.AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES] = toArray(
|
|
42
|
+
normalizedRequest.commandInput.GlobalSecondaryIndexes
|
|
43
|
+
).map((x) => JSON.stringify(x));
|
|
44
|
+
}
|
|
45
|
+
if (normalizedRequest.commandInput?.LocalSecondaryIndexes) {
|
|
46
|
+
spanAttributes[attributes.AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES] = toArray(
|
|
47
|
+
normalizedRequest.commandInput.LocalSecondaryIndexes
|
|
48
|
+
).map((x) => JSON.stringify(x));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (operation === "ListTables" || operation === "Query" || operation === "Scan") {
|
|
52
|
+
if (normalizedRequest.commandInput?.Limit) {
|
|
53
|
+
spanAttributes[attributes.AWS_DYNAMODB_LIMIT] = normalizedRequest.commandInput.Limit;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (operation === "ListTables") {
|
|
57
|
+
if (normalizedRequest.commandInput?.ExclusiveStartTableName) {
|
|
58
|
+
spanAttributes[attributes.AWS_DYNAMODB_EXCLUSIVE_START_TABLE] = normalizedRequest.commandInput.ExclusiveStartTableName;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (operation === "Query") {
|
|
62
|
+
if (normalizedRequest.commandInput?.ScanIndexForward) {
|
|
63
|
+
spanAttributes[attributes.AWS_DYNAMODB_SCAN_FORWARD] = normalizedRequest.commandInput.ScanIndexForward;
|
|
64
|
+
}
|
|
65
|
+
if (normalizedRequest.commandInput?.IndexName) {
|
|
66
|
+
spanAttributes[attributes.AWS_DYNAMODB_INDEX_NAME] = normalizedRequest.commandInput.IndexName;
|
|
67
|
+
}
|
|
68
|
+
if (normalizedRequest.commandInput?.Select) {
|
|
69
|
+
spanAttributes[attributes.AWS_DYNAMODB_SELECT] = normalizedRequest.commandInput.Select;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (operation === "Scan") {
|
|
73
|
+
if (normalizedRequest.commandInput?.Segment) {
|
|
74
|
+
spanAttributes[attributes.AWS_DYNAMODB_SEGMENT] = normalizedRequest.commandInput?.Segment;
|
|
75
|
+
}
|
|
76
|
+
if (normalizedRequest.commandInput?.TotalSegments) {
|
|
77
|
+
spanAttributes[attributes.AWS_DYNAMODB_TOTAL_SEGMENTS] = normalizedRequest.commandInput?.TotalSegments;
|
|
78
|
+
}
|
|
79
|
+
if (normalizedRequest.commandInput?.IndexName) {
|
|
80
|
+
spanAttributes[attributes.AWS_DYNAMODB_INDEX_NAME] = normalizedRequest.commandInput.IndexName;
|
|
81
|
+
}
|
|
82
|
+
if (normalizedRequest.commandInput?.Select) {
|
|
83
|
+
spanAttributes[attributes.AWS_DYNAMODB_SELECT] = normalizedRequest.commandInput.Select;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (operation === "UpdateTable") {
|
|
87
|
+
if (normalizedRequest.commandInput?.AttributeDefinitions) {
|
|
88
|
+
spanAttributes[attributes.AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS] = toArray(
|
|
89
|
+
normalizedRequest.commandInput.AttributeDefinitions
|
|
90
|
+
).map((x) => JSON.stringify(x));
|
|
91
|
+
}
|
|
92
|
+
if (normalizedRequest.commandInput?.GlobalSecondaryIndexUpdates) {
|
|
93
|
+
spanAttributes[attributes.AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES] = toArray(
|
|
94
|
+
normalizedRequest.commandInput.GlobalSecondaryIndexUpdates
|
|
95
|
+
).map((x) => JSON.stringify(x));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
spanAttributes,
|
|
100
|
+
spanKind: core.SPAN_KIND.CLIENT,
|
|
101
|
+
// Matches what the exporter infers from `db.system` for the OTel DynamoDB spans.
|
|
102
|
+
spanOp: "db"
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
responseHook(response, span) {
|
|
106
|
+
if (response.data?.ConsumedCapacity) {
|
|
107
|
+
span.setAttribute(
|
|
108
|
+
attributes.AWS_DYNAMODB_CONSUMED_CAPACITY,
|
|
109
|
+
toArray(response.data.ConsumedCapacity).map((x) => JSON.stringify(x))
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
if (response.data?.ItemCollectionMetrics) {
|
|
113
|
+
span.setAttribute(
|
|
114
|
+
attributes.AWS_DYNAMODB_ITEM_COLLECTION_METRICS,
|
|
115
|
+
toArray(response.data.ItemCollectionMetrics).map((x) => JSON.stringify(x))
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
if (response.data?.TableNames) {
|
|
119
|
+
span.setAttribute(attributes.AWS_DYNAMODB_TABLE_COUNT, response.data?.TableNames.length);
|
|
120
|
+
}
|
|
121
|
+
if (response.data?.Count) {
|
|
122
|
+
span.setAttribute(attributes.AWS_DYNAMODB_COUNT, response.data?.Count);
|
|
123
|
+
}
|
|
124
|
+
if (response.data?.ScannedCount) {
|
|
125
|
+
span.setAttribute(attributes.AWS_DYNAMODB_SCANNED_COUNT, response.data?.ScannedCount);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
exports.DynamodbServiceExtension = DynamodbServiceExtension;
|
|
131
|
+
//# sourceMappingURL=dynamodb.js.map
|