@depup/sentry__server-utils 10.75.1-depup.0 → 11.0.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/build/THIRD-PARTY-LICENSES.txt +35 -362
- package/build/cjs/ai/anthropic-ai/constants.js +13 -0
- package/build/cjs/ai/anthropic-ai/constants.js.map +1 -0
- package/build/cjs/ai/anthropic-ai/index.js +216 -0
- package/build/cjs/ai/anthropic-ai/index.js.map +1 -0
- package/build/cjs/ai/anthropic-ai/streaming.js +148 -0
- package/build/cjs/ai/anthropic-ai/streaming.js.map +1 -0
- package/build/cjs/ai/anthropic-ai/utils.js +62 -0
- package/build/cjs/ai/anthropic-ai/utils.js.map +1 -0
- package/build/cjs/ai/core/gen-ai-attributes.js +14 -0
- package/build/cjs/ai/core/gen-ai-attributes.js.map +1 -0
- package/build/cjs/ai/core/utils.js +165 -0
- package/build/cjs/ai/core/utils.js.map +1 -0
- package/build/cjs/ai/flue/constants.js +20 -0
- package/build/cjs/ai/flue/constants.js.map +1 -0
- package/build/cjs/ai/flue/index.js +115 -0
- package/build/cjs/ai/flue/index.js.map +1 -0
- package/build/cjs/ai/flue/utils.js +202 -0
- package/build/cjs/ai/flue/utils.js.map +1 -0
- package/build/cjs/ai/google-genai/constants.js +17 -0
- package/build/cjs/ai/google-genai/constants.js.map +1 -0
- package/build/cjs/ai/google-genai/index.js +262 -0
- package/build/cjs/ai/google-genai/index.js.map +1 -0
- package/build/cjs/ai/google-genai/streaming.js +79 -0
- package/build/cjs/ai/google-genai/streaming.js.map +1 -0
- package/build/cjs/ai/google-genai/utils.js +131 -0
- package/build/cjs/ai/google-genai/utils.js.map +1 -0
- package/build/cjs/ai/langchain/constants.js +17 -0
- package/build/cjs/ai/langchain/constants.js.map +1 -0
- package/build/cjs/ai/langchain/embeddings.js +82 -0
- package/build/cjs/ai/langchain/embeddings.js.map +1 -0
- package/build/cjs/ai/langchain/index.js +246 -0
- package/build/cjs/ai/langchain/index.js.map +1 -0
- package/build/cjs/ai/langchain/utils.js +272 -0
- package/build/cjs/ai/langchain/utils.js.map +1 -0
- package/build/cjs/ai/langgraph/constants.js +8 -0
- package/build/cjs/ai/langgraph/constants.js.map +1 -0
- package/build/cjs/ai/langgraph/index.js +170 -0
- package/build/cjs/ai/langgraph/index.js.map +1 -0
- package/build/cjs/ai/langgraph/utils.js +225 -0
- package/build/cjs/ai/langgraph/utils.js.map +1 -0
- package/build/cjs/ai/mastra/constants.js +40 -0
- package/build/cjs/ai/mastra/constants.js.map +1 -0
- package/build/cjs/ai/mastra/index.js +176 -0
- package/build/cjs/ai/mastra/index.js.map +1 -0
- package/build/cjs/ai/mastra/span-registry.js +20 -0
- package/build/cjs/ai/mastra/span-registry.js.map +1 -0
- package/build/cjs/ai/mastra/utils.js +159 -0
- package/build/cjs/ai/mastra/utils.js.map +1 -0
- package/build/cjs/ai/mistral/constants.js +20 -0
- package/build/cjs/ai/mistral/constants.js.map +1 -0
- package/build/cjs/ai/mistral/index.js +130 -0
- package/build/cjs/ai/mistral/index.js.map +1 -0
- package/build/cjs/ai/mistral/streaming.js +208 -0
- package/build/cjs/ai/mistral/streaming.js.map +1 -0
- package/build/cjs/ai/mistral/utils.js +87 -0
- package/build/cjs/ai/mistral/utils.js.map +1 -0
- package/build/cjs/ai/openai/constants.js +33 -0
- package/build/cjs/ai/openai/constants.js.map +1 -0
- package/build/cjs/ai/openai/index.js +156 -0
- package/build/cjs/ai/openai/index.js.map +1 -0
- package/build/cjs/ai/openai/streaming.js +126 -0
- package/build/cjs/ai/openai/streaming.js.map +1 -0
- package/build/cjs/ai/openai/utils.js +111 -0
- package/build/cjs/ai/openai/utils.js.map +1 -0
- package/build/cjs/ai/vercel-ai/index.js +71 -0
- package/build/cjs/ai/vercel-ai/index.js.map +1 -0
- package/build/cjs/ai/workers-ai/constants.js +10 -0
- package/build/cjs/ai/workers-ai/constants.js.map +1 -0
- package/build/cjs/ai/workers-ai/index.js +85 -0
- package/build/cjs/ai/workers-ai/index.js.map +1 -0
- package/build/cjs/ai/workers-ai/streaming.js +149 -0
- package/build/cjs/ai/workers-ai/streaming.js.map +1 -0
- package/build/cjs/ai/workers-ai/utils.js +113 -0
- package/build/cjs/ai/workers-ai/utils.js.map +1 -0
- package/build/cjs/async-context.js +68 -0
- package/build/cjs/async-context.js.map +1 -0
- package/build/cjs/eve.js +30 -0
- package/build/cjs/eve.js.map +1 -0
- package/build/cjs/index.js +122 -27
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.no-diagnostic-channels.js +41 -0
- package/build/cjs/index.no-diagnostic-channels.js.map +1 -0
- package/build/cjs/integrations/amqplib.js +402 -0
- package/build/cjs/integrations/amqplib.js.map +1 -0
- package/build/cjs/integrations/anthropic.js +113 -0
- package/build/cjs/integrations/anthropic.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/constants.js +16 -0
- package/build/cjs/integrations/aws-sdk/constants.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/index.js +154 -0
- package/build/cjs/integrations/aws-sdk/index.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/MessageAttributes.js +46 -0
- package/build/cjs/integrations/aws-sdk/services/MessageAttributes.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/ServicesExtensions.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/bedrock-runtime.js +424 -0
- package/build/cjs/integrations/aws-sdk/services/bedrock-runtime.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/dynamodb.js +130 -0
- package/build/cjs/integrations/aws-sdk/services/dynamodb.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/kinesis.js +19 -0
- package/build/cjs/integrations/aws-sdk/services/kinesis.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/lambda.js +63 -0
- package/build/cjs/integrations/aws-sdk/services/lambda.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/s3.js +19 -0
- package/build/cjs/integrations/aws-sdk/services/s3.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/secretsmanager.js +25 -0
- package/build/cjs/integrations/aws-sdk/services/secretsmanager.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/sns.js +79 -0
- package/build/cjs/integrations/aws-sdk/services/sns.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/sqs.js +135 -0
- package/build/cjs/integrations/aws-sdk/services/sqs.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/services/stepfunctions.js +23 -0
- package/build/cjs/integrations/aws-sdk/services/stepfunctions.js.map +1 -0
- package/build/cjs/integrations/aws-sdk/utils.js.map +1 -0
- package/build/cjs/integrations/dataloader.js +134 -0
- package/build/cjs/integrations/dataloader.js.map +1 -0
- package/build/cjs/integrations/express/error-handled.js +17 -0
- package/build/cjs/integrations/express/error-handled.js.map +1 -0
- package/build/cjs/integrations/express/error-handler.js +43 -0
- package/build/cjs/integrations/express/error-handler.js.map +1 -0
- package/build/cjs/integrations/express/index.js +37 -0
- package/build/cjs/integrations/express/index.js.map +1 -0
- package/build/cjs/integrations/express/instrumentation.js +200 -0
- package/build/cjs/integrations/express/instrumentation.js.map +1 -0
- package/build/cjs/integrations/express/route.js.map +1 -0
- package/build/cjs/integrations/express/utils.js +12 -0
- package/build/cjs/integrations/express/utils.js.map +1 -0
- package/build/cjs/integrations/fastify/errors.js +49 -0
- package/build/cjs/integrations/fastify/errors.js.map +1 -0
- package/build/cjs/integrations/fastify/index.js +28 -0
- package/build/cjs/integrations/fastify/index.js.map +1 -0
- package/build/cjs/integrations/fastify/instrumentation.js +265 -0
- package/build/cjs/integrations/fastify/instrumentation.js.map +1 -0
- package/build/cjs/integrations/fastify/utils.js.map +1 -0
- package/build/cjs/integrations/firebase/firestore.js +92 -0
- package/build/cjs/integrations/firebase/firestore.js.map +1 -0
- package/build/cjs/integrations/firebase/functions.js +79 -0
- package/build/cjs/integrations/firebase/functions.js.map +1 -0
- package/build/cjs/integrations/firebase/index.js +20 -0
- package/build/cjs/integrations/firebase/index.js.map +1 -0
- package/build/cjs/integrations/firebase/instrumentation.js +69 -0
- package/build/cjs/integrations/firebase/instrumentation.js.map +1 -0
- package/build/cjs/integrations/flue.js +40 -0
- package/build/cjs/integrations/flue.js.map +1 -0
- package/build/cjs/integrations/generic-pool.js +49 -0
- package/build/cjs/integrations/generic-pool.js.map +1 -0
- package/build/cjs/integrations/google-genai.js +112 -0
- package/build/cjs/integrations/google-genai.js.map +1 -0
- package/build/cjs/integrations/graphql/constants.js +38 -0
- package/build/cjs/integrations/graphql/constants.js.map +1 -0
- package/build/cjs/integrations/graphql/graphql-dc-subscriber.js +122 -0
- package/build/cjs/integrations/graphql/graphql-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/graphql/index.js +73 -0
- package/build/cjs/integrations/graphql/index.js.map +1 -0
- package/build/cjs/integrations/graphql/resolvers.js +174 -0
- package/build/cjs/integrations/graphql/resolvers.js.map +1 -0
- package/build/cjs/integrations/graphql/spans.js +114 -0
- package/build/cjs/integrations/graphql/spans.js.map +1 -0
- package/build/cjs/integrations/graphql/utils.js +98 -0
- package/build/cjs/integrations/graphql/utils.js.map +1 -0
- package/build/cjs/integrations/groq.js +21 -0
- package/build/cjs/integrations/groq.js.map +1 -0
- package/build/cjs/integrations/hapi/hapi-error-handler.js +46 -0
- package/build/cjs/integrations/hapi/hapi-error-handler.js.map +1 -0
- package/build/cjs/integrations/hapi/hapi-types.js.map +1 -0
- package/build/cjs/integrations/hapi/hapi-utils.js +197 -0
- package/build/cjs/integrations/hapi/hapi-utils.js.map +1 -0
- package/build/cjs/integrations/hapi/index.js +86 -0
- package/build/cjs/integrations/hapi/index.js.map +1 -0
- package/build/cjs/integrations/index.js +76 -0
- package/build/cjs/integrations/index.js.map +1 -0
- package/build/cjs/integrations/kafkajs/consumer.js.map +1 -0
- package/build/cjs/integrations/kafkajs/index.js +83 -0
- package/build/cjs/integrations/kafkajs/index.js.map +1 -0
- package/build/cjs/integrations/kafkajs/semconv.js.map +1 -0
- package/build/cjs/integrations/kafkajs/spans.js +127 -0
- package/build/cjs/integrations/kafkajs/spans.js.map +1 -0
- package/build/cjs/integrations/knex.js +230 -0
- package/build/cjs/integrations/knex.js.map +1 -0
- package/build/cjs/integrations/koa/index.js +168 -0
- package/build/cjs/integrations/koa/index.js.map +1 -0
- package/build/cjs/integrations/koa/koa-error-handler.js +33 -0
- package/build/cjs/integrations/koa/koa-error-handler.js.map +1 -0
- package/build/cjs/integrations/langchain.js +90 -0
- package/build/cjs/integrations/langchain.js.map +1 -0
- package/build/cjs/integrations/langgraph.js +100 -0
- package/build/cjs/integrations/langgraph.js.map +1 -0
- package/build/cjs/integrations/lru-memoizer.js +42 -0
- package/build/cjs/integrations/lru-memoizer.js.map +1 -0
- package/build/cjs/integrations/mastra.js +258 -0
- package/build/cjs/integrations/mastra.js.map +1 -0
- package/build/cjs/integrations/mistral.js +81 -0
- package/build/cjs/integrations/mistral.js.map +1 -0
- package/build/cjs/integrations/mongodb/index.js +117 -0
- package/build/cjs/integrations/mongodb/index.js.map +1 -0
- package/build/cjs/integrations/mongodb/mongodb-span.js +134 -0
- package/build/cjs/integrations/mongodb/mongodb-span.js.map +1 -0
- package/build/cjs/integrations/mongoose/index.js +122 -0
- package/build/cjs/integrations/mongoose/index.js.map +1 -0
- package/build/cjs/integrations/mongoose/mongoose-dc-subscriber.js +101 -0
- package/build/cjs/integrations/mongoose/mongoose-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/mongoose/mongoose-legacy-span.js +41 -0
- package/build/cjs/integrations/mongoose/mongoose-legacy-span.js.map +1 -0
- package/build/cjs/integrations/mysql.js +120 -0
- package/build/cjs/integrations/mysql.js.map +1 -0
- package/build/cjs/integrations/mysql2/index.js +104 -0
- package/build/cjs/integrations/mysql2/index.js.map +1 -0
- package/build/cjs/integrations/mysql2/mysql2-dc-subscriber.js +73 -0
- package/build/cjs/integrations/mysql2/mysql2-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/openai-compatible.js +94 -0
- package/build/cjs/integrations/openai-compatible.js.map +1 -0
- package/build/cjs/integrations/openai.js +95 -0
- package/build/cjs/integrations/openai.js.map +1 -0
- package/build/cjs/integrations/postgres-js.js +213 -0
- package/build/cjs/integrations/postgres-js.js.map +1 -0
- package/build/cjs/integrations/postgres.js +185 -0
- package/build/cjs/integrations/postgres.js.map +1 -0
- package/build/cjs/integrations/postgresjs.js +226 -0
- package/build/cjs/integrations/postgresjs.js.map +1 -0
- package/build/cjs/integrations/prisma/global.js.map +1 -0
- package/build/cjs/integrations/prisma/index.js.map +1 -0
- package/build/cjs/integrations/prisma/tracing-helper.js +238 -0
- package/build/cjs/integrations/prisma/tracing-helper.js.map +1 -0
- package/build/cjs/integrations/redis/index.js +234 -0
- package/build/cjs/integrations/redis/index.js.map +1 -0
- package/build/cjs/integrations/redis/ioredis-channel-subscriber.js +104 -0
- package/build/cjs/integrations/redis/ioredis-channel-subscriber.js.map +1 -0
- package/build/cjs/integrations/redis/redis-cache.js +144 -0
- package/build/cjs/integrations/redis/redis-cache.js.map +1 -0
- package/build/cjs/integrations/redis/redis-dc-subscriber.js +107 -0
- package/build/cjs/integrations/redis/redis-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/redis/redis-span-name.js +32 -0
- package/build/cjs/integrations/redis/redis-span-name.js.map +1 -0
- package/build/cjs/integrations/redis/redis-statement-serializer.js.map +1 -0
- package/build/cjs/integrations/tedious.js +170 -0
- package/build/cjs/integrations/tedious.js.map +1 -0
- package/build/cjs/integrations/together-ai.js +19 -0
- package/build/cjs/integrations/together-ai.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/gen-ai-recording-mode.js +13 -0
- package/build/cjs/integrations/vercel-ai/gen-ai-recording-mode.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/index.js +45 -0
- package/build/cjs/integrations/vercel-ai/index.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/util.js +108 -0
- package/build/cjs/integrations/vercel-ai/util.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/vercel-ai-dc-subscriber.js +482 -0
- package/build/cjs/integrations/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
- package/build/cjs/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.js +400 -0
- package/build/cjs/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
- package/build/cjs/opentelemetry.js +45 -0
- package/build/cjs/opentelemetry.js.map +1 -0
- package/build/cjs/orchestrion/bundler/bun.js +37 -0
- package/build/cjs/orchestrion/bundler/bun.js.map +1 -0
- package/build/cjs/orchestrion/bundler/esbuild.js +20 -0
- package/build/cjs/orchestrion/bundler/esbuild.js.map +1 -1
- package/build/cjs/orchestrion/bundler/moduleInjectedTransform.js +55 -0
- package/build/cjs/orchestrion/bundler/moduleInjectedTransform.js.map +1 -0
- package/build/cjs/orchestrion/bundler/options.js +7 -20
- package/build/cjs/orchestrion/bundler/options.js.map +1 -1
- package/build/cjs/orchestrion/bundler/resolve.js +27 -0
- package/build/cjs/orchestrion/bundler/resolve.js.map +1 -0
- package/build/cjs/orchestrion/bundler/rollup.js +40 -1
- package/build/cjs/orchestrion/bundler/rollup.js.map +1 -1
- package/build/cjs/orchestrion/bundler/vite.js +66 -3
- package/build/cjs/orchestrion/bundler/vite.js.map +1 -1
- package/build/cjs/orchestrion/bundler/webpack-loader.js +16 -2
- package/build/cjs/orchestrion/bundler/webpack-loader.js.map +1 -1
- package/build/cjs/orchestrion/bundler/webpack.js +36 -29
- package/build/cjs/orchestrion/bundler/webpack.js.map +1 -1
- package/build/cjs/orchestrion/channels.js +8 -0
- package/build/cjs/orchestrion/channels.js.map +1 -1
- package/build/cjs/orchestrion/config/amqplib.js +3 -3
- package/build/cjs/orchestrion/config/amqplib.js.map +1 -1
- package/build/cjs/orchestrion/config/anthropic-ai.js +8 -16
- package/build/cjs/orchestrion/config/anthropic-ai.js.map +1 -1
- package/build/cjs/orchestrion/config/aws-sdk.js +3 -3
- package/build/cjs/orchestrion/config/aws-sdk.js.map +1 -1
- package/build/cjs/orchestrion/config/channel-integration-definitions.js +40 -18
- package/build/cjs/orchestrion/config/channel-integration-definitions.js.map +1 -1
- package/build/cjs/orchestrion/config/dataloader.js +0 -4
- package/build/cjs/orchestrion/config/dataloader.js.map +1 -1
- package/build/cjs/orchestrion/config/express.js +4 -4
- package/build/cjs/orchestrion/config/express.js.map +1 -1
- package/build/cjs/orchestrion/config/firebase.js +3 -3
- package/build/cjs/orchestrion/config/firebase.js.map +1 -1
- package/build/cjs/orchestrion/config/flue.js +10 -0
- package/build/cjs/orchestrion/config/flue.js.map +1 -0
- package/build/cjs/orchestrion/config/generic-pool.js +3 -3
- package/build/cjs/orchestrion/config/generic-pool.js.map +1 -1
- package/build/cjs/orchestrion/config/google-genai.js +8 -7
- package/build/cjs/orchestrion/config/google-genai.js.map +1 -1
- package/build/cjs/orchestrion/config/graphql.js +12 -12
- package/build/cjs/orchestrion/config/graphql.js.map +1 -1
- package/build/cjs/orchestrion/config/groq.js +19 -0
- package/build/cjs/orchestrion/config/groq.js.map +1 -0
- package/build/cjs/orchestrion/config/hapi.js +22 -4
- package/build/cjs/orchestrion/config/hapi.js.map +1 -1
- package/build/cjs/orchestrion/config/index.js +20 -32
- package/build/cjs/orchestrion/config/index.js.map +1 -1
- package/build/cjs/orchestrion/config/ioredis.js +5 -3
- package/build/cjs/orchestrion/config/ioredis.js.map +1 -1
- package/build/cjs/orchestrion/config/kafkajs.js +3 -3
- package/build/cjs/orchestrion/config/kafkajs.js.map +1 -1
- package/build/cjs/orchestrion/config/knex.js +0 -4
- package/build/cjs/orchestrion/config/knex.js.map +1 -1
- package/build/cjs/orchestrion/config/koa.js +16 -4
- package/build/cjs/orchestrion/config/koa.js.map +1 -1
- package/build/cjs/orchestrion/config/langchain.js +3 -3
- package/build/cjs/orchestrion/config/langchain.js.map +1 -1
- package/build/cjs/orchestrion/config/langgraph.js +3 -3
- package/build/cjs/orchestrion/config/langgraph.js.map +1 -1
- package/build/cjs/orchestrion/config/lru-memoizer.js +3 -3
- package/build/cjs/orchestrion/config/lru-memoizer.js.map +1 -1
- package/build/cjs/orchestrion/config/mastra.js +38 -0
- package/build/cjs/orchestrion/config/mastra.js.map +1 -0
- package/build/cjs/orchestrion/config/mistral.js +57 -0
- package/build/cjs/orchestrion/config/mistral.js.map +1 -0
- package/build/cjs/orchestrion/config/module-names.js +8 -0
- package/build/cjs/orchestrion/config/module-names.js.map +1 -0
- package/build/cjs/orchestrion/config/mongodb.js +3 -3
- package/build/cjs/orchestrion/config/mongodb.js.map +1 -1
- package/build/cjs/orchestrion/config/mongoose.js +5 -3
- package/build/cjs/orchestrion/config/mongoose.js.map +1 -1
- package/build/cjs/orchestrion/config/mysql.js +3 -3
- package/build/cjs/orchestrion/config/mysql.js.map +1 -1
- package/build/cjs/orchestrion/config/mysql2.js +5 -3
- package/build/cjs/orchestrion/config/mysql2.js.map +1 -1
- package/build/cjs/orchestrion/config/nestjs.js +4 -8
- package/build/cjs/orchestrion/config/nestjs.js.map +1 -1
- package/build/cjs/orchestrion/config/openai-compatible.js +19 -0
- package/build/cjs/orchestrion/config/openai-compatible.js.map +1 -0
- package/build/cjs/orchestrion/config/openai.js +3 -3
- package/build/cjs/orchestrion/config/openai.js.map +1 -1
- package/build/cjs/orchestrion/config/pg.js +3 -3
- package/build/cjs/orchestrion/config/pg.js.map +1 -1
- package/build/cjs/orchestrion/config/postgres.js +3 -3
- package/build/cjs/orchestrion/config/postgres.js.map +1 -1
- package/build/cjs/orchestrion/config/redis.js +5 -3
- package/build/cjs/orchestrion/config/redis.js.map +1 -1
- package/build/cjs/orchestrion/config/registration-only.js +15 -0
- package/build/cjs/orchestrion/config/registration-only.js.map +1 -0
- package/build/cjs/orchestrion/config/remix.js +0 -4
- package/build/cjs/orchestrion/config/remix.js.map +1 -1
- package/build/cjs/orchestrion/config/tedious.js +3 -3
- package/build/cjs/orchestrion/config/tedious.js.map +1 -1
- package/build/cjs/orchestrion/config/together-ai.js +19 -0
- package/build/cjs/orchestrion/config/together-ai.js.map +1 -0
- package/build/cjs/orchestrion/config/vercel-ai.js +7 -3
- package/build/cjs/orchestrion/config/vercel-ai.js.map +1 -1
- package/build/cjs/orchestrion/detect.js +7 -4
- package/build/cjs/orchestrion/detect.js.map +1 -1
- package/build/cjs/orchestrion/instrumentation.js +86 -0
- package/build/cjs/orchestrion/instrumentation.js.map +1 -0
- package/build/cjs/tracing-channel.js +20 -1
- package/build/cjs/tracing-channel.js.map +1 -1
- package/build/cjs/utils/moduleInjected.js +18 -0
- package/build/cjs/utils/moduleInjected.js.map +1 -0
- package/build/cjs/utils/setHttpServerSpanRouteAttribute.js +26 -0
- package/build/cjs/utils/setHttpServerSpanRouteAttribute.js.map +1 -0
- package/build/cjs/utils/sql.js +236 -0
- package/build/cjs/utils/sql.js.map +1 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/matcher.js +5 -2
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/matcher.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/transformer.js +5 -3
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/transformer.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/transforms.js +51 -15
- package/build/cjs/vendored/@apm-js-collab/code-transformer/lib/transforms.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js +65 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js.map +1 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js +2 -2
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/esbuild.js +4 -4
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/esbuild.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/instrumentation-serde-C-Xxv-jj.js +23 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/instrumentation-serde-C-Xxv-jj.js.map +1 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack-loader-factory.js +117 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack-loader-factory.js.map +1 -0
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack.js +34 -5
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack.js.map +1 -1
- package/build/cjs/vendored/module-details-from-path/index.js +2 -3
- package/build/cjs/vendored/module-details-from-path/index.js.map +1 -1
- package/build/esm/ai/anthropic-ai/constants.js +10 -0
- package/build/esm/ai/anthropic-ai/constants.js.map +1 -0
- package/build/esm/ai/anthropic-ai/index.js +211 -0
- package/build/esm/ai/anthropic-ai/index.js.map +1 -0
- package/build/esm/ai/anthropic-ai/streaming.js +145 -0
- package/build/esm/ai/anthropic-ai/streaming.js.map +1 -0
- package/build/esm/ai/anthropic-ai/utils.js +57 -0
- package/build/esm/ai/anthropic-ai/utils.js.map +1 -0
- package/build/esm/ai/core/gen-ai-attributes.js +8 -0
- package/build/esm/ai/core/gen-ai-attributes.js.map +1 -0
- package/build/esm/ai/core/utils.js +155 -0
- package/build/esm/ai/core/utils.js.map +1 -0
- package/build/esm/ai/flue/constants.js +13 -0
- package/build/esm/ai/flue/constants.js.map +1 -0
- package/build/esm/ai/flue/index.js +113 -0
- package/build/esm/ai/flue/index.js.map +1 -0
- package/build/esm/ai/flue/utils.js +193 -0
- package/build/esm/ai/flue/utils.js.map +1 -0
- package/build/esm/ai/google-genai/constants.js +13 -0
- package/build/esm/ai/google-genai/constants.js.map +1 -0
- package/build/esm/ai/google-genai/index.js +255 -0
- package/build/esm/ai/google-genai/index.js.map +1 -0
- package/build/esm/ai/google-genai/streaming.js +77 -0
- package/build/esm/ai/google-genai/streaming.js.map +1 -0
- package/build/esm/ai/google-genai/utils.js +125 -0
- package/build/esm/ai/google-genai/utils.js.map +1 -0
- package/build/esm/ai/langchain/constants.js +13 -0
- package/build/esm/ai/langchain/constants.js.map +1 -0
- package/build/esm/ai/langchain/embeddings.js +78 -0
- package/build/esm/ai/langchain/embeddings.js.map +1 -0
- package/build/esm/ai/langchain/index.js +244 -0
- package/build/esm/ai/langchain/index.js.map +1 -0
- package/build/esm/ai/langchain/utils.js +263 -0
- package/build/esm/ai/langchain/utils.js.map +1 -0
- package/build/esm/ai/langgraph/constants.js +5 -0
- package/build/esm/ai/langgraph/constants.js.map +1 -0
- package/build/esm/ai/langgraph/index.js +165 -0
- package/build/esm/ai/langgraph/index.js.map +1 -0
- package/build/esm/ai/langgraph/utils.js +216 -0
- package/build/esm/ai/langgraph/utils.js.map +1 -0
- package/build/esm/ai/mastra/constants.js +29 -0
- package/build/esm/ai/mastra/constants.js.map +1 -0
- package/build/esm/ai/mastra/index.js +174 -0
- package/build/esm/ai/mastra/index.js.map +1 -0
- package/build/esm/ai/mastra/span-registry.js +16 -0
- package/build/esm/ai/mastra/span-registry.js.map +1 -0
- package/build/esm/ai/mastra/utils.js +152 -0
- package/build/esm/ai/mastra/utils.js.map +1 -0
- package/build/esm/ai/mistral/constants.js +15 -0
- package/build/esm/ai/mistral/constants.js.map +1 -0
- package/build/esm/ai/mistral/index.js +126 -0
- package/build/esm/ai/mistral/index.js.map +1 -0
- package/build/esm/ai/mistral/streaming.js +205 -0
- package/build/esm/ai/mistral/streaming.js.map +1 -0
- package/build/esm/ai/mistral/utils.js +82 -0
- package/build/esm/ai/mistral/utils.js.map +1 -0
- package/build/esm/ai/openai/constants.js +28 -0
- package/build/esm/ai/openai/constants.js.map +1 -0
- package/build/esm/ai/openai/index.js +152 -0
- package/build/esm/ai/openai/index.js.map +1 -0
- package/build/esm/ai/openai/streaming.js +124 -0
- package/build/esm/ai/openai/streaming.js.map +1 -0
- package/build/esm/ai/openai/utils.js +106 -0
- package/build/esm/ai/openai/utils.js.map +1 -0
- package/build/esm/ai/vercel-ai/index.js +68 -0
- package/build/esm/ai/vercel-ai/index.js.map +1 -0
- package/build/esm/ai/workers-ai/constants.js +6 -0
- package/build/esm/ai/workers-ai/constants.js.map +1 -0
- package/build/esm/ai/workers-ai/index.js +83 -0
- package/build/esm/ai/workers-ai/index.js.map +1 -0
- package/build/esm/ai/workers-ai/streaming.js +147 -0
- package/build/esm/ai/workers-ai/streaming.js.map +1 -0
- package/build/esm/ai/workers-ai/utils.js +106 -0
- package/build/esm/ai/workers-ai/utils.js.map +1 -0
- package/build/esm/async-context.js +66 -0
- package/build/esm/async-context.js.map +1 -0
- package/build/esm/eve.js +27 -0
- package/build/esm/eve.js.map +1 -0
- package/build/esm/index.js +60 -10
- package/build/esm/index.js.map +1 -1
- package/build/esm/index.no-diagnostic-channels.js +16 -0
- package/build/esm/index.no-diagnostic-channels.js.map +1 -0
- package/build/esm/integrations/amqplib.js +386 -0
- package/build/esm/integrations/amqplib.js.map +1 -0
- package/build/esm/integrations/anthropic.js +98 -0
- package/build/esm/integrations/anthropic.js.map +1 -0
- package/build/esm/integrations/aws-sdk/constants.js +9 -0
- package/build/esm/integrations/aws-sdk/constants.js.map +1 -0
- package/build/esm/integrations/aws-sdk/index.js +139 -0
- package/build/esm/integrations/aws-sdk/index.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/MessageAttributes.js +41 -0
- package/build/esm/integrations/aws-sdk/services/MessageAttributes.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/ServicesExtensions.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/bedrock-runtime.js +422 -0
- package/build/esm/integrations/aws-sdk/services/bedrock-runtime.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/dynamodb.js +128 -0
- package/build/esm/integrations/aws-sdk/services/dynamodb.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/kinesis.js +17 -0
- package/build/esm/integrations/aws-sdk/services/kinesis.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/lambda.js +61 -0
- package/build/esm/integrations/aws-sdk/services/lambda.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/s3.js +17 -0
- package/build/esm/integrations/aws-sdk/services/s3.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/secretsmanager.js +23 -0
- package/build/esm/integrations/aws-sdk/services/secretsmanager.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/sns.js +77 -0
- package/build/esm/integrations/aws-sdk/services/sns.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/sqs.js +133 -0
- package/build/esm/integrations/aws-sdk/services/sqs.js.map +1 -0
- package/build/esm/integrations/aws-sdk/services/stepfunctions.js +21 -0
- package/build/esm/integrations/aws-sdk/services/stepfunctions.js.map +1 -0
- package/build/esm/integrations/aws-sdk/utils.js.map +1 -0
- package/build/esm/integrations/dataloader.js +119 -0
- package/build/esm/integrations/dataloader.js.map +1 -0
- package/build/esm/integrations/express/error-handled.js +14 -0
- package/build/esm/integrations/express/error-handled.js.map +1 -0
- package/build/esm/integrations/express/error-handler.js +40 -0
- package/build/esm/integrations/express/error-handler.js.map +1 -0
- package/build/esm/integrations/express/index.js +22 -0
- package/build/esm/integrations/express/index.js.map +1 -0
- package/build/esm/integrations/express/instrumentation.js +197 -0
- package/build/esm/integrations/express/instrumentation.js.map +1 -0
- package/build/esm/integrations/express/route.js.map +1 -0
- package/build/esm/integrations/express/utils.js +10 -0
- package/build/esm/integrations/express/utils.js.map +1 -0
- package/build/esm/integrations/fastify/errors.js +33 -0
- package/build/esm/integrations/fastify/errors.js.map +1 -0
- package/build/esm/integrations/fastify/index.js +25 -0
- package/build/esm/integrations/fastify/index.js.map +1 -0
- package/build/esm/integrations/fastify/instrumentation.js +250 -0
- package/build/esm/integrations/fastify/instrumentation.js.map +1 -0
- package/build/esm/integrations/fastify/utils.js.map +1 -0
- package/build/esm/integrations/firebase/firestore.js +76 -0
- package/build/esm/integrations/firebase/firestore.js.map +1 -0
- package/build/esm/integrations/firebase/functions.js +77 -0
- package/build/esm/integrations/firebase/functions.js.map +1 -0
- package/build/esm/integrations/firebase/index.js +18 -0
- package/build/esm/integrations/firebase/index.js.map +1 -0
- package/build/esm/integrations/firebase/instrumentation.js +54 -0
- package/build/esm/integrations/firebase/instrumentation.js.map +1 -0
- package/build/esm/integrations/flue.js +38 -0
- package/build/esm/integrations/flue.js.map +1 -0
- package/build/esm/integrations/generic-pool.js +34 -0
- package/build/esm/integrations/generic-pool.js.map +1 -0
- package/build/esm/integrations/google-genai.js +97 -0
- package/build/esm/integrations/google-genai.js.map +1 -0
- package/build/esm/integrations/graphql/constants.js +20 -0
- package/build/esm/integrations/graphql/constants.js.map +1 -0
- package/build/esm/integrations/graphql/graphql-dc-subscriber.js +115 -0
- package/build/esm/integrations/graphql/graphql-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/graphql/index.js +58 -0
- package/build/esm/integrations/graphql/index.js.map +1 -0
- package/build/esm/integrations/graphql/resolvers.js +170 -0
- package/build/esm/integrations/graphql/resolvers.js.map +1 -0
- package/build/esm/integrations/graphql/spans.js +108 -0
- package/build/esm/integrations/graphql/spans.js.map +1 -0
- package/build/esm/integrations/graphql/utils.js +93 -0
- package/build/esm/integrations/graphql/utils.js.map +1 -0
- package/build/esm/integrations/groq.js +18 -0
- package/build/esm/integrations/groq.js.map +1 -0
- package/build/esm/integrations/hapi/hapi-error-handler.js +44 -0
- package/build/esm/integrations/hapi/hapi-error-handler.js.map +1 -0
- package/build/esm/integrations/hapi/hapi-types.js.map +1 -0
- package/build/esm/integrations/hapi/hapi-utils.js +191 -0
- package/build/esm/integrations/hapi/hapi-utils.js.map +1 -0
- package/build/esm/integrations/hapi/index.js +71 -0
- package/build/esm/integrations/hapi/index.js.map +1 -0
- package/build/esm/integrations/index.js +73 -0
- package/build/esm/integrations/index.js.map +1 -0
- package/build/esm/integrations/kafkajs/consumer.js.map +1 -0
- package/build/esm/integrations/kafkajs/index.js +68 -0
- package/build/esm/integrations/kafkajs/index.js.map +1 -0
- package/build/esm/integrations/kafkajs/semconv.js.map +1 -0
- package/build/esm/integrations/kafkajs/spans.js +120 -0
- package/build/esm/integrations/kafkajs/spans.js.map +1 -0
- package/build/esm/integrations/knex.js +215 -0
- package/build/esm/integrations/knex.js.map +1 -0
- package/build/esm/integrations/koa/index.js +153 -0
- package/build/esm/integrations/koa/index.js.map +1 -0
- package/build/esm/integrations/koa/koa-error-handler.js +30 -0
- package/build/esm/integrations/koa/koa-error-handler.js.map +1 -0
- package/build/esm/integrations/langchain.js +75 -0
- package/build/esm/integrations/langchain.js.map +1 -0
- package/build/esm/integrations/langgraph.js +85 -0
- package/build/esm/integrations/langgraph.js.map +1 -0
- package/build/esm/integrations/lru-memoizer.js +27 -0
- package/build/esm/integrations/lru-memoizer.js.map +1 -0
- package/build/esm/integrations/mastra.js +243 -0
- package/build/esm/integrations/mastra.js.map +1 -0
- package/build/esm/integrations/mistral.js +66 -0
- package/build/esm/integrations/mistral.js.map +1 -0
- package/build/esm/integrations/mongodb/index.js +102 -0
- package/build/esm/integrations/mongodb/index.js.map +1 -0
- package/build/esm/integrations/mongodb/mongodb-span.js +127 -0
- package/build/esm/integrations/mongodb/mongodb-span.js.map +1 -0
- package/build/esm/integrations/mongoose/index.js +107 -0
- package/build/esm/integrations/mongoose/index.js.map +1 -0
- package/build/esm/integrations/mongoose/mongoose-dc-subscriber.js +93 -0
- package/build/esm/integrations/mongoose/mongoose-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/mongoose/mongoose-legacy-span.js +39 -0
- package/build/esm/integrations/mongoose/mongoose-legacy-span.js.map +1 -0
- package/build/esm/integrations/mysql.js +105 -0
- package/build/esm/integrations/mysql.js.map +1 -0
- package/build/esm/integrations/mysql2/index.js +89 -0
- package/build/esm/integrations/mysql2/index.js.map +1 -0
- package/build/esm/integrations/mysql2/mysql2-dc-subscriber.js +67 -0
- package/build/esm/integrations/mysql2/mysql2-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/openai-compatible.js +79 -0
- package/build/esm/integrations/openai-compatible.js.map +1 -0
- package/build/esm/integrations/openai.js +80 -0
- package/build/esm/integrations/openai.js.map +1 -0
- package/build/esm/integrations/postgres-js.js +198 -0
- package/build/esm/integrations/postgres-js.js.map +1 -0
- package/build/esm/integrations/postgres.js +170 -0
- package/build/esm/integrations/postgres.js.map +1 -0
- package/build/esm/integrations/postgresjs.js +220 -0
- package/build/esm/integrations/postgresjs.js.map +1 -0
- package/build/esm/integrations/prisma/global.js.map +1 -0
- package/build/esm/integrations/prisma/index.js.map +1 -0
- package/build/esm/integrations/prisma/tracing-helper.js +236 -0
- package/build/esm/integrations/prisma/tracing-helper.js.map +1 -0
- package/build/esm/integrations/redis/index.js +219 -0
- package/build/esm/integrations/redis/index.js.map +1 -0
- package/build/esm/integrations/redis/ioredis-channel-subscriber.js +88 -0
- package/build/esm/integrations/redis/ioredis-channel-subscriber.js.map +1 -0
- package/build/esm/integrations/redis/redis-cache.js +133 -0
- package/build/esm/integrations/redis/redis-cache.js.map +1 -0
- package/build/esm/integrations/redis/redis-dc-subscriber.js +100 -0
- package/build/esm/integrations/redis/redis-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/redis/redis-span-name.js +30 -0
- package/build/esm/integrations/redis/redis-span-name.js.map +1 -0
- package/build/esm/integrations/redis/redis-statement-serializer.js.map +1 -0
- package/build/esm/integrations/tedious.js +155 -0
- package/build/esm/integrations/tedious.js.map +1 -0
- package/build/esm/integrations/together-ai.js +17 -0
- package/build/esm/integrations/together-ai.js.map +1 -0
- package/build/esm/integrations/vercel-ai/gen-ai-recording-mode.js +10 -0
- package/build/esm/integrations/vercel-ai/gen-ai-recording-mode.js.map +1 -0
- package/build/esm/integrations/vercel-ai/index.js +30 -0
- package/build/esm/integrations/vercel-ai/index.js.map +1 -0
- package/build/esm/integrations/vercel-ai/util.js +103 -0
- package/build/esm/integrations/vercel-ai/util.js.map +1 -0
- package/build/esm/integrations/vercel-ai/vercel-ai-dc-subscriber.js +474 -0
- package/build/esm/integrations/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
- package/build/esm/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.js +398 -0
- package/build/esm/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
- package/build/esm/opentelemetry.js +42 -0
- package/build/esm/opentelemetry.js.map +1 -0
- package/build/esm/orchestrion/bundler/bun.js +35 -0
- package/build/esm/orchestrion/bundler/bun.js.map +1 -0
- package/build/esm/orchestrion/bundler/esbuild.js +20 -0
- package/build/esm/orchestrion/bundler/esbuild.js.map +1 -1
- package/build/esm/orchestrion/bundler/moduleInjectedTransform.js +52 -0
- package/build/esm/orchestrion/bundler/moduleInjectedTransform.js.map +1 -0
- package/build/esm/orchestrion/bundler/options.js +7 -21
- package/build/esm/orchestrion/bundler/options.js.map +1 -1
- package/build/esm/orchestrion/bundler/resolve.js +22 -0
- package/build/esm/orchestrion/bundler/resolve.js.map +1 -0
- package/build/esm/orchestrion/bundler/rollup.js +41 -2
- package/build/esm/orchestrion/bundler/rollup.js.map +1 -1
- package/build/esm/orchestrion/bundler/vite.js +67 -4
- package/build/esm/orchestrion/bundler/vite.js.map +1 -1
- package/build/esm/orchestrion/bundler/webpack-loader.js +16 -2
- package/build/esm/orchestrion/bundler/webpack-loader.js.map +1 -1
- package/build/esm/orchestrion/bundler/webpack.js +34 -27
- package/build/esm/orchestrion/bundler/webpack.js.map +1 -1
- package/build/esm/orchestrion/channels.js +8 -0
- package/build/esm/orchestrion/channels.js.map +1 -1
- package/build/esm/orchestrion/config/amqplib.js +3 -3
- package/build/esm/orchestrion/config/amqplib.js.map +1 -1
- package/build/esm/orchestrion/config/anthropic-ai.js +8 -16
- package/build/esm/orchestrion/config/anthropic-ai.js.map +1 -1
- package/build/esm/orchestrion/config/aws-sdk.js +3 -3
- package/build/esm/orchestrion/config/aws-sdk.js.map +1 -1
- package/build/esm/orchestrion/config/channel-integration-definitions.js +40 -18
- package/build/esm/orchestrion/config/channel-integration-definitions.js.map +1 -1
- package/build/esm/orchestrion/config/dataloader.js +1 -4
- package/build/esm/orchestrion/config/dataloader.js.map +1 -1
- package/build/esm/orchestrion/config/express.js +4 -4
- package/build/esm/orchestrion/config/express.js.map +1 -1
- package/build/esm/orchestrion/config/firebase.js +3 -3
- package/build/esm/orchestrion/config/firebase.js.map +1 -1
- package/build/esm/orchestrion/config/flue.js +8 -0
- package/build/esm/orchestrion/config/flue.js.map +1 -0
- package/build/esm/orchestrion/config/generic-pool.js +3 -3
- package/build/esm/orchestrion/config/generic-pool.js.map +1 -1
- package/build/esm/orchestrion/config/google-genai.js +8 -7
- package/build/esm/orchestrion/config/google-genai.js.map +1 -1
- package/build/esm/orchestrion/config/graphql.js +12 -12
- package/build/esm/orchestrion/config/graphql.js.map +1 -1
- package/build/esm/orchestrion/config/groq.js +15 -0
- package/build/esm/orchestrion/config/groq.js.map +1 -0
- package/build/esm/orchestrion/config/hapi.js +22 -4
- package/build/esm/orchestrion/config/hapi.js.map +1 -1
- package/build/esm/orchestrion/config/index.js +48 -61
- package/build/esm/orchestrion/config/index.js.map +1 -1
- package/build/esm/orchestrion/config/ioredis.js +5 -3
- package/build/esm/orchestrion/config/ioredis.js.map +1 -1
- package/build/esm/orchestrion/config/kafkajs.js +3 -3
- package/build/esm/orchestrion/config/kafkajs.js.map +1 -1
- package/build/esm/orchestrion/config/knex.js +1 -4
- package/build/esm/orchestrion/config/knex.js.map +1 -1
- package/build/esm/orchestrion/config/koa.js +16 -4
- package/build/esm/orchestrion/config/koa.js.map +1 -1
- package/build/esm/orchestrion/config/langchain.js +3 -3
- package/build/esm/orchestrion/config/langchain.js.map +1 -1
- package/build/esm/orchestrion/config/langgraph.js +3 -3
- package/build/esm/orchestrion/config/langgraph.js.map +1 -1
- package/build/esm/orchestrion/config/lru-memoizer.js +3 -3
- package/build/esm/orchestrion/config/lru-memoizer.js.map +1 -1
- package/build/esm/orchestrion/config/mastra.js +34 -0
- package/build/esm/orchestrion/config/mastra.js.map +1 -0
- package/build/esm/orchestrion/config/mistral.js +53 -0
- package/build/esm/orchestrion/config/mistral.js.map +1 -0
- package/build/esm/orchestrion/config/module-names.js +6 -0
- package/build/esm/orchestrion/config/module-names.js.map +1 -0
- package/build/esm/orchestrion/config/mongodb.js +3 -3
- package/build/esm/orchestrion/config/mongodb.js.map +1 -1
- package/build/esm/orchestrion/config/mongoose.js +5 -3
- package/build/esm/orchestrion/config/mongoose.js.map +1 -1
- package/build/esm/orchestrion/config/mysql.js +3 -3
- package/build/esm/orchestrion/config/mysql.js.map +1 -1
- package/build/esm/orchestrion/config/mysql2.js +5 -3
- package/build/esm/orchestrion/config/mysql2.js.map +1 -1
- package/build/esm/orchestrion/config/nestjs.js +5 -8
- package/build/esm/orchestrion/config/nestjs.js.map +1 -1
- package/build/esm/orchestrion/config/openai-compatible.js +17 -0
- package/build/esm/orchestrion/config/openai-compatible.js.map +1 -0
- package/build/esm/orchestrion/config/openai.js +3 -3
- package/build/esm/orchestrion/config/openai.js.map +1 -1
- package/build/esm/orchestrion/config/pg.js +3 -3
- package/build/esm/orchestrion/config/pg.js.map +1 -1
- package/build/esm/orchestrion/config/postgres.js +3 -3
- package/build/esm/orchestrion/config/postgres.js.map +1 -1
- package/build/esm/orchestrion/config/redis.js +5 -3
- package/build/esm/orchestrion/config/redis.js.map +1 -1
- package/build/esm/orchestrion/config/registration-only.js +12 -0
- package/build/esm/orchestrion/config/registration-only.js.map +1 -0
- package/build/esm/orchestrion/config/remix.js +1 -4
- package/build/esm/orchestrion/config/remix.js.map +1 -1
- package/build/esm/orchestrion/config/tedious.js +3 -3
- package/build/esm/orchestrion/config/tedious.js.map +1 -1
- package/build/esm/orchestrion/config/together-ai.js +15 -0
- package/build/esm/orchestrion/config/together-ai.js.map +1 -0
- package/build/esm/orchestrion/config/vercel-ai.js +7 -3
- package/build/esm/orchestrion/config/vercel-ai.js.map +1 -1
- package/build/esm/orchestrion/detect.js +7 -4
- package/build/esm/orchestrion/detect.js.map +1 -1
- package/build/esm/orchestrion/instrumentation.js +71 -0
- package/build/esm/orchestrion/instrumentation.js.map +1 -0
- package/build/esm/package.json +1 -1
- package/build/esm/tracing-channel.js +20 -3
- package/build/esm/tracing-channel.js.map +1 -1
- package/build/esm/utils/moduleInjected.js +16 -0
- package/build/esm/utils/moduleInjected.js.map +1 -0
- package/build/esm/utils/setHttpServerSpanRouteAttribute.js +24 -0
- package/build/esm/utils/setHttpServerSpanRouteAttribute.js.map +1 -0
- package/build/esm/utils/sql.js +231 -0
- package/build/esm/utils/sql.js.map +1 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/matcher.js +5 -2
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/matcher.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/transformer.js +6 -4
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/transformer.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/transforms.js +51 -15
- package/build/esm/vendored/@apm-js-collab/code-transformer/lib/transforms.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js +63 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js.map +1 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js +2 -2
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/instrumentation-serde-C-Xxv-jj.js +23 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/instrumentation-serde-C-Xxv-jj.js.map +1 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack-loader-factory.js +116 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack-loader-factory.js.map +1 -0
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack.js +34 -5
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/webpack.js.map +1 -1
- package/build/esm/vendored/module-details-from-path/index.js +2 -2
- package/build/types/ai/anthropic-ai/constants.d.ts +17 -0
- package/build/types/ai/anthropic-ai/constants.d.ts.map +1 -0
- package/build/types/ai/anthropic-ai/index.d.ts +26 -0
- package/build/types/ai/anthropic-ai/index.d.ts.map +1 -0
- package/build/types/ai/anthropic-ai/streaming.d.ts +15 -0
- package/build/types/ai/anthropic-ai/streaming.d.ts.map +1 -0
- package/build/types/ai/anthropic-ai/types.d.ts +89 -0
- package/build/types/ai/anthropic-ai/types.d.ts.map +1 -0
- package/build/types/ai/anthropic-ai/utils.d.ts +21 -0
- package/build/types/ai/anthropic-ai/utils.d.ts.map +1 -0
- package/build/types/ai/core/gen-ai-attributes.d.ts +32 -0
- package/build/types/ai/core/gen-ai-attributes.d.ts.map +1 -0
- package/build/types/ai/core/utils.d.ts +120 -0
- package/build/types/ai/core/utils.d.ts.map +1 -0
- package/build/types/ai/flue/constants.d.ts +37 -0
- package/build/types/ai/flue/constants.d.ts.map +1 -0
- package/build/types/ai/flue/index.d.ts +18 -0
- package/build/types/ai/flue/index.d.ts.map +1 -0
- package/build/types/ai/flue/types.d.ts +118 -0
- package/build/types/ai/flue/types.d.ts.map +1 -0
- package/build/types/ai/flue/utils.d.ts +38 -0
- package/build/types/ai/flue/utils.d.ts.map +1 -0
- package/build/types/ai/google-genai/constants.d.ts +25 -0
- package/build/types/ai/google-genai/constants.d.ts.map +1 -0
- package/build/types/ai/google-genai/index.d.ts +61 -0
- package/build/types/ai/google-genai/index.d.ts.map +1 -0
- package/build/types/ai/google-genai/streaming.d.ts +9 -0
- package/build/types/ai/google-genai/streaming.d.ts.map +1 -0
- package/build/types/ai/google-genai/types.d.ts +141 -0
- package/build/types/ai/google-genai/types.d.ts.map +1 -0
- package/build/types/ai/google-genai/utils.d.ts +50 -0
- package/build/types/ai/google-genai/utils.d.ts.map +1 -0
- package/build/types/ai/index.d.ts +16 -0
- package/build/types/ai/index.d.ts.map +1 -0
- package/build/types/ai/langchain/constants.d.ts +4 -0
- package/build/types/ai/langchain/constants.d.ts.map +1 -0
- package/build/types/ai/langchain/embeddings.d.ts +38 -0
- package/build/types/ai/langchain/embeddings.d.ts.map +1 -0
- package/build/types/ai/langchain/index.d.ts +10 -0
- package/build/types/ai/langchain/index.d.ts.map +1 -0
- package/build/types/ai/langchain/types.d.ts +136 -0
- package/build/types/ai/langchain/types.d.ts.map +1 -0
- package/build/types/ai/langchain/utils.d.ts +67 -0
- package/build/types/ai/langchain/utils.d.ts.map +1 -0
- package/build/types/ai/langgraph/constants.d.ts +3 -0
- package/build/types/ai/langgraph/constants.d.ts.map +1 -0
- package/build/types/ai/langgraph/index.d.ts +44 -0
- package/build/types/ai/langgraph/index.d.ts.map +1 -0
- package/build/types/ai/langgraph/types.d.ts +64 -0
- package/build/types/ai/langgraph/types.d.ts.map +1 -0
- package/build/types/ai/langgraph/utils.d.ts +45 -0
- package/build/types/ai/langgraph/utils.d.ts.map +1 -0
- package/build/types/ai/mastra/constants.d.ts +32 -0
- package/build/types/ai/mastra/constants.d.ts.map +1 -0
- package/build/types/ai/mastra/index.d.ts +43 -0
- package/build/types/ai/mastra/index.d.ts.map +1 -0
- package/build/types/ai/mastra/span-registry.d.ts +5 -0
- package/build/types/ai/mastra/span-registry.d.ts.map +1 -0
- package/build/types/ai/mastra/types.d.ts +84 -0
- package/build/types/ai/mastra/types.d.ts.map +1 -0
- package/build/types/ai/mastra/utils.d.ts +23 -0
- package/build/types/ai/mastra/utils.d.ts.map +1 -0
- package/build/types/ai/mistral/constants.d.ts +30 -0
- package/build/types/ai/mistral/constants.d.ts.map +1 -0
- package/build/types/ai/mistral/index.d.ts +20 -0
- package/build/types/ai/mistral/index.d.ts.map +1 -0
- package/build/types/ai/mistral/streaming.d.ts +24 -0
- package/build/types/ai/mistral/streaming.d.ts.map +1 -0
- package/build/types/ai/mistral/types.d.ts +39 -0
- package/build/types/ai/mistral/types.d.ts.map +1 -0
- package/build/types/ai/mistral/utils.d.ts +20 -0
- package/build/types/ai/mistral/utils.d.ts.map +1 -0
- package/build/types/ai/openai/constants.d.ts +18 -0
- package/build/types/ai/openai/constants.d.ts.map +1 -0
- package/build/types/ai/openai/index.d.ts +13 -0
- package/build/types/ai/openai/index.d.ts.map +1 -0
- package/build/types/ai/openai/streaming.d.ts +13 -0
- package/build/types/ai/openai/streaming.d.ts.map +1 -0
- package/build/types/ai/openai/types.d.ts +217 -0
- package/build/types/ai/openai/types.d.ts.map +1 -0
- package/build/types/ai/openai/utils.d.ts +20 -0
- package/build/types/ai/openai/utils.d.ts.map +1 -0
- package/build/types/ai/vercel-ai/index.d.ts +15 -0
- package/build/types/ai/vercel-ai/index.d.ts.map +1 -0
- package/build/types/ai/vercel-ai/vercel-ai-attributes.d.ts +239 -0
- package/build/types/ai/vercel-ai/vercel-ai-attributes.d.ts.map +1 -0
- package/build/types/ai/workers-ai/constants.d.ts +16 -0
- package/build/types/ai/workers-ai/constants.d.ts.map +1 -0
- package/build/types/ai/workers-ai/index.d.ts +18 -0
- package/build/types/ai/workers-ai/index.d.ts.map +1 -0
- package/build/types/ai/workers-ai/streaming.d.ts +9 -0
- package/build/types/ai/workers-ai/streaming.d.ts.map +1 -0
- package/build/types/ai/workers-ai/types.d.ts +41 -0
- package/build/types/ai/workers-ai/types.d.ts.map +1 -0
- package/build/types/ai/workers-ai/utils.d.ts +24 -0
- package/build/types/ai/workers-ai/utils.d.ts.map +1 -0
- package/build/types/async-context.d.ts +15 -0
- package/build/types/async-context.d.ts.map +1 -0
- package/build/types/eve.d.ts +53 -0
- package/build/types/eve.d.ts.map +1 -0
- package/build/types/exports.d.ts +9 -0
- package/build/types/exports.d.ts.map +1 -0
- package/build/types/index.d.ts +51 -19
- package/build/types/index.d.ts.map +1 -1
- package/build/types/index.no-diagnostic-channels.d.ts +2 -0
- package/build/types/index.no-diagnostic-channels.d.ts.map +1 -0
- package/build/types/integrations/amqplib.d.ts +20 -0
- package/build/types/integrations/amqplib.d.ts.map +1 -0
- package/build/types/integrations/anthropic.d.ts +9 -0
- package/build/types/integrations/anthropic.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/aws-sdk.types.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/constants.d.ts +15 -0
- package/build/types/integrations/aws-sdk/constants.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/index.d.ts +12 -0
- package/build/types/integrations/aws-sdk/index.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/MessageAttributes.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/ServiceExtension.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/ServicesExtensions.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/bedrock-runtime.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/dynamodb.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/index.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/kinesis.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/lambda.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/s3.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/secretsmanager.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/sns.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/sqs.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/services/stepfunctions.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/types.d.ts +24 -0
- package/build/types/integrations/aws-sdk/types.d.ts.map +1 -0
- package/build/types/integrations/aws-sdk/utils.d.ts.map +1 -0
- package/build/types/integrations/dataloader.d.ts +11 -0
- package/build/types/integrations/dataloader.d.ts.map +1 -0
- package/build/types/integrations/express/error-handled.d.ts +10 -0
- package/build/types/integrations/express/error-handled.d.ts.map +1 -0
- package/build/types/integrations/express/error-handler.d.ts +25 -0
- package/build/types/integrations/express/error-handler.d.ts.map +1 -0
- package/build/types/integrations/express/index.d.ts +17 -0
- package/build/types/integrations/express/index.d.ts.map +1 -0
- package/build/types/integrations/express/instrumentation.d.ts +23 -0
- package/build/types/integrations/express/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/express/route.d.ts.map +1 -0
- package/build/types/integrations/express/types.d.ts +107 -0
- package/build/types/integrations/express/types.d.ts.map +1 -0
- package/build/types/integrations/express/utils.d.ts +8 -0
- package/build/types/integrations/express/utils.d.ts.map +1 -0
- package/build/types/integrations/fastify/errors.d.ts +17 -0
- package/build/types/integrations/fastify/errors.d.ts.map +1 -0
- package/build/types/integrations/fastify/index.d.ts +57 -0
- package/build/types/integrations/fastify/index.d.ts.map +1 -0
- package/build/types/integrations/fastify/instrumentation.d.ts +6 -0
- package/build/types/integrations/fastify/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/fastify/types.d.ts +31 -0
- package/build/types/integrations/fastify/types.d.ts.map +1 -0
- package/build/types/integrations/fastify/utils.d.ts +9 -0
- package/build/types/integrations/fastify/utils.d.ts.map +1 -0
- package/build/types/integrations/firebase/firestore-types.d.ts.map +1 -0
- package/build/types/integrations/firebase/firestore.d.ts +17 -0
- package/build/types/integrations/firebase/firestore.d.ts.map +1 -0
- package/build/types/integrations/firebase/functions.d.ts.map +1 -0
- package/build/types/integrations/firebase/index.d.ts +12 -0
- package/build/types/integrations/firebase/index.d.ts.map +1 -0
- package/build/types/integrations/firebase/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/flue.d.ts +4 -0
- package/build/types/integrations/flue.d.ts.map +1 -0
- package/build/types/integrations/generic-pool.d.ts +10 -0
- package/build/types/integrations/generic-pool.d.ts.map +1 -0
- package/build/types/integrations/google-genai.d.ts +11 -0
- package/build/types/integrations/google-genai.d.ts.map +1 -0
- package/build/types/integrations/graphql/constants.d.ts +18 -0
- package/build/types/integrations/graphql/constants.d.ts.map +1 -0
- package/build/types/integrations/graphql/graphql-dc-subscriber.d.ts +98 -0
- package/build/types/integrations/graphql/graphql-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/graphql/graphql-types.d.ts.map +1 -0
- package/build/types/integrations/graphql/index.d.ts +9 -0
- package/build/types/integrations/graphql/index.d.ts.map +1 -0
- package/build/types/integrations/graphql/resolvers.d.ts.map +1 -0
- package/build/types/integrations/graphql/spans.d.ts.map +1 -0
- package/build/types/integrations/graphql/types.d.ts +41 -0
- package/build/types/integrations/graphql/types.d.ts.map +1 -0
- package/build/types/integrations/graphql/utils.d.ts +19 -0
- package/build/types/integrations/graphql/utils.d.ts.map +1 -0
- package/build/types/integrations/groq.d.ts +10 -0
- package/build/types/integrations/groq.d.ts.map +1 -0
- package/build/types/integrations/hapi/hapi-error-handler.d.ts +21 -0
- package/build/types/integrations/hapi/hapi-error-handler.d.ts.map +1 -0
- package/build/types/integrations/hapi/hapi-types.d.ts +99 -0
- package/build/types/integrations/hapi/hapi-types.d.ts.map +1 -0
- package/build/types/integrations/hapi/hapi-utils.d.ts +34 -0
- package/build/types/integrations/hapi/hapi-utils.d.ts.map +1 -0
- package/build/types/integrations/hapi/index.d.ts +35 -0
- package/build/types/integrations/hapi/index.d.ts.map +1 -0
- package/build/types/integrations/index.d.ts +6 -0
- package/build/types/integrations/index.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/consumer.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/index.d.ts +16 -0
- package/build/types/integrations/kafkajs/index.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/semconv.d.ts +10 -0
- package/build/types/integrations/kafkajs/semconv.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/spans.d.ts +38 -0
- package/build/types/integrations/kafkajs/spans.d.ts.map +1 -0
- package/build/types/integrations/kafkajs/types.d.ts.map +1 -0
- package/build/types/integrations/knex.d.ts +11 -0
- package/build/types/integrations/knex.d.ts.map +1 -0
- package/build/types/integrations/koa/index.d.ts +14 -0
- package/build/types/integrations/koa/index.d.ts.map +1 -0
- package/build/types/integrations/koa/koa-error-handler.d.ts +33 -0
- package/build/types/integrations/koa/koa-error-handler.d.ts.map +1 -0
- package/build/types/integrations/langchain.d.ts +9 -0
- package/build/types/integrations/langchain.d.ts.map +1 -0
- package/build/types/integrations/langgraph.d.ts +9 -0
- package/build/types/integrations/langgraph.d.ts.map +1 -0
- package/build/types/integrations/lru-memoizer.d.ts +10 -0
- package/build/types/integrations/lru-memoizer.d.ts.map +1 -0
- package/build/types/integrations/mastra.d.ts +18 -0
- package/build/types/integrations/mastra.d.ts.map +1 -0
- package/build/types/integrations/mistral.d.ts +7 -0
- package/build/types/integrations/mistral.d.ts.map +1 -0
- package/build/types/integrations/mongodb/index.d.ts +12 -0
- package/build/types/integrations/mongodb/index.d.ts.map +1 -0
- package/build/types/integrations/mongodb/mongodb-span.d.ts +65 -0
- package/build/types/integrations/mongodb/mongodb-span.d.ts.map +1 -0
- package/build/types/integrations/mongoose/index.d.ts +15 -0
- package/build/types/integrations/mongoose/index.d.ts.map +1 -0
- package/build/types/integrations/mongoose/mongoose-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/mongoose/mongoose-legacy-span.d.ts +30 -0
- package/build/types/integrations/mongoose/mongoose-legacy-span.d.ts.map +1 -0
- package/build/types/integrations/mysql.d.ts +12 -0
- package/build/types/integrations/mysql.d.ts.map +1 -0
- package/build/types/integrations/mysql2/index.d.ts +17 -0
- package/build/types/integrations/mysql2/index.d.ts.map +1 -0
- package/build/types/integrations/mysql2/mysql2-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/openai-compatible.d.ts +32 -0
- package/build/types/integrations/openai-compatible.d.ts.map +1 -0
- package/build/types/integrations/openai.d.ts +9 -0
- package/build/types/integrations/openai.d.ts.map +1 -0
- package/build/types/integrations/postgres-js.d.ts +27 -0
- package/build/types/integrations/postgres-js.d.ts.map +1 -0
- package/build/types/integrations/postgres.d.ts +15 -0
- package/build/types/integrations/postgres.d.ts.map +1 -0
- package/build/types/integrations/postgresjs.d.ts +75 -0
- package/build/types/integrations/postgresjs.d.ts.map +1 -0
- package/build/types/integrations/prisma/global.d.ts.map +1 -0
- package/build/types/integrations/prisma/index.d.ts +41 -0
- package/build/types/integrations/prisma/index.d.ts.map +1 -0
- package/build/types/integrations/prisma/tracing-helper.d.ts.map +1 -0
- package/build/types/integrations/prisma/types.d.ts +37 -0
- package/build/types/integrations/prisma/types.d.ts.map +1 -0
- package/build/types/integrations/redis/index.d.ts +25 -0
- package/build/types/integrations/redis/index.d.ts.map +1 -0
- package/build/types/integrations/redis/ioredis-channel-subscriber.d.ts +30 -0
- package/build/types/integrations/redis/ioredis-channel-subscriber.d.ts.map +1 -0
- package/build/types/integrations/redis/redis-cache.d.ts +61 -0
- package/build/types/integrations/redis/redis-cache.d.ts.map +1 -0
- package/build/types/integrations/redis/redis-dc-subscriber.d.ts +81 -0
- package/build/types/integrations/redis/redis-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/redis/redis-span-name.d.ts +24 -0
- package/build/types/integrations/redis/redis-span-name.d.ts.map +1 -0
- package/build/types/integrations/redis/redis-statement-serializer.d.ts.map +1 -0
- package/build/types/integrations/tedious.d.ts +11 -0
- package/build/types/integrations/tedious.d.ts.map +1 -0
- package/build/types/integrations/together-ai.d.ts +9 -0
- package/build/types/integrations/together-ai.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/gen-ai-recording-mode.d.ts +15 -0
- package/build/types/integrations/vercel-ai/gen-ai-recording-mode.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/index.d.ts +12 -0
- package/build/types/integrations/vercel-ai/index.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/util.d.ts +30 -0
- package/build/types/integrations/vercel-ai/util.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/vercel-ai-dc-subscriber.d.ts +69 -0
- package/build/types/integrations/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +1 -0
- package/build/types/integrations/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts.map +1 -0
- package/build/types/opentelemetry.d.ts +49 -0
- package/build/types/opentelemetry.d.ts.map +1 -0
- package/build/types/orchestrion/apmTypes.d.ts +4 -0
- package/build/types/orchestrion/apmTypes.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/bun.d.ts +21 -0
- package/build/types/orchestrion/bundler/bun.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/esbuild.d.ts +1 -0
- package/build/types/orchestrion/bundler/esbuild.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/moduleInjectedTransform.d.ts +31 -0
- package/build/types/orchestrion/bundler/moduleInjectedTransform.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/options.d.ts +36 -31
- package/build/types/orchestrion/bundler/options.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/resolve.d.ts +35 -0
- package/build/types/orchestrion/bundler/resolve.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/rollup.d.ts +1 -0
- package/build/types/orchestrion/bundler/rollup.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/vite.d.ts +1 -0
- package/build/types/orchestrion/bundler/vite.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/webpack-loader.d.ts +26 -1
- package/build/types/orchestrion/bundler/webpack-loader.d.ts.map +1 -1
- package/build/types/orchestrion/bundler/webpack.d.ts +3 -18
- package/build/types/orchestrion/bundler/webpack.d.ts.map +1 -1
- package/build/types/orchestrion/channels.d.ts +138 -125
- package/build/types/orchestrion/channels.d.ts.map +1 -1
- package/build/types/orchestrion/config/amqplib.d.ts +21 -22
- package/build/types/orchestrion/config/amqplib.d.ts.map +1 -1
- package/build/types/orchestrion/config/anthropic-ai.d.ts +5 -7
- package/build/types/orchestrion/config/anthropic-ai.d.ts.map +1 -1
- package/build/types/orchestrion/config/aws-sdk.d.ts +4 -5
- package/build/types/orchestrion/config/aws-sdk.d.ts.map +1 -1
- package/build/types/orchestrion/config/channel-integration-definitions.d.ts +68 -35
- package/build/types/orchestrion/config/channel-integration-definitions.d.ts.map +1 -1
- package/build/types/orchestrion/config/dataloader.d.ts +17 -19
- package/build/types/orchestrion/config/dataloader.d.ts.map +1 -1
- package/build/types/orchestrion/config/express.d.ts +5 -6
- package/build/types/orchestrion/config/express.d.ts.map +1 -1
- package/build/types/orchestrion/config/firebase.d.ts +23 -24
- package/build/types/orchestrion/config/firebase.d.ts.map +1 -1
- package/build/types/orchestrion/config/flue.d.ts +9 -0
- package/build/types/orchestrion/config/flue.d.ts.map +1 -0
- package/build/types/orchestrion/config/generic-pool.d.ts +4 -5
- package/build/types/orchestrion/config/generic-pool.d.ts.map +1 -1
- package/build/types/orchestrion/config/google-genai.d.ts +6 -7
- package/build/types/orchestrion/config/google-genai.d.ts.map +1 -1
- package/build/types/orchestrion/config/graphql.d.ts +6 -7
- package/build/types/orchestrion/config/graphql.d.ts.map +1 -1
- package/build/types/orchestrion/config/groq.d.ts +8 -0
- package/build/types/orchestrion/config/groq.d.ts.map +1 -0
- package/build/types/orchestrion/config/hapi.d.ts +5 -4
- package/build/types/orchestrion/config/hapi.d.ts.map +1 -1
- package/build/types/orchestrion/config/index.d.ts +47 -10
- package/build/types/orchestrion/config/index.d.ts.map +1 -1
- package/build/types/orchestrion/config/ioredis.d.ts +4 -4
- package/build/types/orchestrion/config/ioredis.d.ts.map +1 -1
- package/build/types/orchestrion/config/kafkajs.d.ts +3 -4
- package/build/types/orchestrion/config/kafkajs.d.ts.map +1 -1
- package/build/types/orchestrion/config/knex.d.ts +5 -6
- package/build/types/orchestrion/config/knex.d.ts.map +1 -1
- package/build/types/orchestrion/config/koa.d.ts +3 -3
- package/build/types/orchestrion/config/koa.d.ts.map +1 -1
- package/build/types/orchestrion/config/langchain.d.ts +4 -5
- package/build/types/orchestrion/config/langchain.d.ts.map +1 -1
- package/build/types/orchestrion/config/langgraph.d.ts +5 -6
- package/build/types/orchestrion/config/langgraph.d.ts.map +1 -1
- package/build/types/orchestrion/config/lru-memoizer.d.ts +2 -3
- package/build/types/orchestrion/config/lru-memoizer.d.ts.map +1 -1
- package/build/types/orchestrion/config/mastra.d.ts +8 -0
- package/build/types/orchestrion/config/mastra.d.ts.map +1 -0
- package/build/types/orchestrion/config/mistral.d.ts +46 -0
- package/build/types/orchestrion/config/mistral.d.ts.map +1 -0
- package/build/types/orchestrion/config/module-names.d.ts +8 -0
- package/build/types/orchestrion/config/module-names.d.ts.map +1 -0
- package/build/types/orchestrion/config/mongodb.d.ts +21 -22
- package/build/types/orchestrion/config/mongodb.d.ts.map +1 -1
- package/build/types/orchestrion/config/mongoose.d.ts +10 -32
- package/build/types/orchestrion/config/mongoose.d.ts.map +1 -1
- package/build/types/orchestrion/config/mysql.d.ts +2 -3
- package/build/types/orchestrion/config/mysql.d.ts.map +1 -1
- package/build/types/orchestrion/config/mysql2.d.ts +5 -17
- package/build/types/orchestrion/config/mysql2.d.ts.map +1 -1
- package/build/types/orchestrion/config/nestjs.d.ts +10 -11
- package/build/types/orchestrion/config/nestjs.d.ts.map +1 -1
- package/build/types/orchestrion/config/openai-compatible.d.ts +17 -0
- package/build/types/orchestrion/config/openai-compatible.d.ts.map +1 -0
- package/build/types/orchestrion/config/openai.d.ts +4 -5
- package/build/types/orchestrion/config/openai.d.ts.map +1 -1
- package/build/types/orchestrion/config/pg.d.ts +6 -7
- package/build/types/orchestrion/config/pg.d.ts.map +1 -1
- package/build/types/orchestrion/config/postgres.d.ts +6 -6
- package/build/types/orchestrion/config/postgres.d.ts.map +1 -1
- package/build/types/orchestrion/config/redis.d.ts +10 -36
- package/build/types/orchestrion/config/redis.d.ts.map +1 -1
- package/build/types/orchestrion/config/registration-only.d.ts +22 -0
- package/build/types/orchestrion/config/registration-only.d.ts.map +1 -0
- package/build/types/orchestrion/config/remix.d.ts +5 -6
- package/build/types/orchestrion/config/remix.d.ts.map +1 -1
- package/build/types/orchestrion/config/tedious.d.ts +9 -9
- package/build/types/orchestrion/config/tedious.d.ts.map +1 -1
- package/build/types/orchestrion/config/together-ai.d.ts +8 -0
- package/build/types/orchestrion/config/together-ai.d.ts.map +1 -0
- package/build/types/orchestrion/config/vercel-ai.d.ts +9 -9
- package/build/types/orchestrion/config/vercel-ai.d.ts.map +1 -1
- package/build/types/orchestrion/detect.d.ts +12 -9
- package/build/types/orchestrion/detect.d.ts.map +1 -1
- package/build/types/orchestrion/instrumentation.d.ts +37 -0
- package/build/types/orchestrion/instrumentation.d.ts.map +1 -0
- package/build/types/tracing-channel.d.ts +13 -1
- package/build/types/tracing-channel.d.ts.map +1 -1
- package/build/types/utils/moduleInjected.d.ts +30 -0
- package/build/types/utils/moduleInjected.d.ts.map +1 -0
- package/build/types/utils/setHttpServerSpanRouteAttribute.d.ts +9 -0
- package/build/types/utils/setHttpServerSpanRouteAttribute.d.ts.map +1 -0
- package/build/types/utils/sql.d.ts +53 -0
- package/build/types/utils/sql.d.ts.map +1 -0
- package/changes.json +3 -3
- package/package.json +27 -63
- package/build/cjs/_virtual/chunk-D6vf50IK.js +0 -6
- package/build/cjs/_virtual/chunk-D6vf50IK.js.map +0 -1
- package/build/cjs/_virtual/instrumentation-serde-BFky_HG6.js +0 -6
- package/build/cjs/_virtual/instrumentation-serde-BFky_HG6.js.map +0 -1
- package/build/cjs/_virtual/node.js +0 -6
- package/build/cjs/_virtual/node.js.map +0 -1
- package/build/cjs/_virtual/transforms.js +0 -6
- package/build/cjs/_virtual/transforms.js.map +0 -1
- package/build/cjs/graphql/graphql-dc-subscriber.js +0 -123
- package/build/cjs/graphql/graphql-dc-subscriber.js.map +0 -1
- package/build/cjs/graphql/index.js +0 -36
- package/build/cjs/graphql/index.js.map +0 -1
- package/build/cjs/graphql/utils.js +0 -92
- package/build/cjs/graphql/utils.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/amqplib.js +0 -433
- package/build/cjs/integrations/tracing-channel/amqplib.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/anthropic.js +0 -114
- package/build/cjs/integrations/tracing-channel/anthropic.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js +0 -16
- package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/index.js +0 -167
- package/build/cjs/integrations/tracing-channel/aws-sdk/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +0 -46
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +0 -419
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js +0 -131
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js +0 -21
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js +0 -64
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js +0 -21
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +0 -27
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js +0 -63
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js +0 -116
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +0 -25
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/aws-sdk/utils.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/dataloader.js +0 -118
- package/build/cjs/integrations/tracing-channel/dataloader.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/express/index.js +0 -41
- package/build/cjs/integrations/tracing-channel/express/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/express/instrumentation.js +0 -168
- package/build/cjs/integrations/tracing-channel/express/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/express/route.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/fastify/errors.js +0 -55
- package/build/cjs/integrations/tracing-channel/fastify/errors.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/fastify/index.js +0 -32
- package/build/cjs/integrations/tracing-channel/fastify/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js +0 -292
- package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/fastify/utils.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/firebase/firestore.js +0 -91
- package/build/cjs/integrations/tracing-channel/firebase/firestore.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/firebase/functions.js +0 -67
- package/build/cjs/integrations/tracing-channel/firebase/functions.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/firebase/index.js +0 -37
- package/build/cjs/integrations/tracing-channel/firebase/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/firebase/instrumentation.js +0 -79
- package/build/cjs/integrations/tracing-channel/firebase/instrumentation.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/generic-pool.js +0 -47
- package/build/cjs/integrations/tracing-channel/generic-pool.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/google-genai.js +0 -109
- package/build/cjs/integrations/tracing-channel/google-genai.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/graphql/constants.js +0 -26
- package/build/cjs/integrations/tracing-channel/graphql/constants.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/graphql/index.js +0 -79
- package/build/cjs/integrations/tracing-channel/graphql/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/graphql/resolvers.js +0 -168
- package/build/cjs/integrations/tracing-channel/graphql/resolvers.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/graphql/spans.js +0 -102
- package/build/cjs/integrations/tracing-channel/graphql/spans.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/hapi-types.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/hapi-utils.js +0 -177
- package/build/cjs/integrations/tracing-channel/hapi-utils.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/hapi.js +0 -65
- package/build/cjs/integrations/tracing-channel/hapi.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/ioredis.js +0 -112
- package/build/cjs/integrations/tracing-channel/ioredis.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/kafkajs/consumer.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/kafkajs/index.js +0 -83
- package/build/cjs/integrations/tracing-channel/kafkajs/index.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/kafkajs/semconv.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/kafkajs/spans.js +0 -119
- package/build/cjs/integrations/tracing-channel/kafkajs/spans.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/knex.js +0 -201
- package/build/cjs/integrations/tracing-channel/knex.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/koa.js +0 -159
- package/build/cjs/integrations/tracing-channel/koa.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/langchain.js +0 -75
- package/build/cjs/integrations/tracing-channel/langchain.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/langgraph.js +0 -113
- package/build/cjs/integrations/tracing-channel/langgraph.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/lru-memoizer.js +0 -44
- package/build/cjs/integrations/tracing-channel/lru-memoizer.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/mongodb.js +0 -117
- package/build/cjs/integrations/tracing-channel/mongodb.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/mongoose.js +0 -123
- package/build/cjs/integrations/tracing-channel/mongoose.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/mysql.js +0 -120
- package/build/cjs/integrations/tracing-channel/mysql.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/mysql2.js +0 -96
- package/build/cjs/integrations/tracing-channel/mysql2.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/openai.js +0 -94
- package/build/cjs/integrations/tracing-channel/openai.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/postgres-js.js +0 -204
- package/build/cjs/integrations/tracing-channel/postgres-js.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/postgres.js +0 -183
- package/build/cjs/integrations/tracing-channel/postgres.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/redis.js +0 -231
- package/build/cjs/integrations/tracing-channel/redis.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/tedious.js +0 -158
- package/build/cjs/integrations/tracing-channel/tedious.js.map +0 -1
- package/build/cjs/integrations/tracing-channel/vercel-ai.js +0 -38
- package/build/cjs/integrations/tracing-channel/vercel-ai.js.map +0 -1
- package/build/cjs/mongodb/mongodb-span.js +0 -133
- package/build/cjs/mongodb/mongodb-span.js.map +0 -1
- package/build/cjs/mongoose/index.js +0 -36
- package/build/cjs/mongoose/index.js.map +0 -1
- package/build/cjs/mongoose/mongoose-dc-subscriber.js +0 -97
- package/build/cjs/mongoose/mongoose-dc-subscriber.js.map +0 -1
- package/build/cjs/mongoose/mongoose-legacy-span.js +0 -40
- package/build/cjs/mongoose/mongoose-legacy-span.js.map +0 -1
- package/build/cjs/mysql2/index.js +0 -36
- package/build/cjs/mysql2/index.js.map +0 -1
- package/build/cjs/mysql2/mysql2-dc-subscriber.js +0 -68
- package/build/cjs/mysql2/mysql2-dc-subscriber.js.map +0 -1
- package/build/cjs/orchestrion/bundler/subscribeInjection.js +0 -41
- package/build/cjs/orchestrion/bundler/subscribeInjection.js.map +0 -1
- package/build/cjs/orchestrion/config/subscribe-injection.js +0 -25
- package/build/cjs/orchestrion/config/subscribe-injection.js.map +0 -1
- package/build/cjs/orchestrion/index.js +0 -94
- package/build/cjs/orchestrion/index.js.map +0 -1
- package/build/cjs/orchestrion/registerChannelIntegration.js +0 -13
- package/build/cjs/orchestrion/registerChannelIntegration.js.map +0 -1
- package/build/cjs/orchestrion/runtime/hook.js +0 -17
- package/build/cjs/orchestrion/runtime/hook.js.map +0 -1
- package/build/cjs/orchestrion/runtime/register.js +0 -84
- package/build/cjs/orchestrion/runtime/register.js.map +0 -1
- package/build/cjs/prisma/global.js.map +0 -1
- package/build/cjs/prisma/index.js.map +0 -1
- package/build/cjs/prisma/tracing-helper.js +0 -211
- package/build/cjs/prisma/tracing-helper.js.map +0 -1
- package/build/cjs/redis/index.js +0 -36
- package/build/cjs/redis/index.js.map +0 -1
- package/build/cjs/redis/redis-dc-subscriber.js +0 -101
- package/build/cjs/redis/redis-dc-subscriber.js.map +0 -1
- package/build/cjs/redis/redis-statement-serializer.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/chunk-D6vf50IK.js +0 -33
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/chunk-D6vf50IK.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/instrumentation-serde-BFky_HG6.js +0 -66
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/instrumentation-serde-BFky_HG6.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/webpack-loader.js +0 -90
- package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/webpack-loader.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/hook.js +0 -166
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/hook.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/index.js +0 -88
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/index.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/lib/diagnostics.js +0 -15
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/lib/diagnostics.js.map +0 -1
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/lib/get-package-version.js +0 -30
- package/build/cjs/vendored/@apm-js-collab/tracing-hooks/lib/get-package-version.js.map +0 -1
- package/build/cjs/vendored/debug/src/common.js +0 -178
- package/build/cjs/vendored/debug/src/common.js.map +0 -1
- package/build/cjs/vendored/debug/src/node.js +0 -186
- package/build/cjs/vendored/debug/src/node.js.map +0 -1
- package/build/cjs/vendored/has-flag/index.js +0 -11
- package/build/cjs/vendored/has-flag/index.js.map +0 -1
- package/build/cjs/vendored/ms/index.js +0 -115
- package/build/cjs/vendored/ms/index.js.map +0 -1
- package/build/cjs/vendored/supports-color/index.js +0 -104
- package/build/cjs/vendored/supports-color/index.js.map +0 -1
- package/build/cjs/vercel-ai/index.js +0 -36
- package/build/cjs/vercel-ai/index.js.map +0 -1
- package/build/cjs/vercel-ai/util.js +0 -112
- package/build/cjs/vercel-ai/util.js.map +0 -1
- package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js +0 -444
- package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js.map +0 -1
- package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js +0 -399
- package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +0 -1
- package/build/esm/_virtual/chunk-D6vf50IK.js +0 -4
- package/build/esm/_virtual/chunk-D6vf50IK.js.map +0 -1
- package/build/esm/_virtual/instrumentation-serde-BFky_HG6.js +0 -4
- package/build/esm/_virtual/instrumentation-serde-BFky_HG6.js.map +0 -1
- package/build/esm/_virtual/node.js +0 -4
- package/build/esm/_virtual/node.js.map +0 -1
- package/build/esm/_virtual/transforms.js +0 -4
- package/build/esm/_virtual/transforms.js.map +0 -1
- package/build/esm/graphql/graphql-dc-subscriber.js +0 -116
- package/build/esm/graphql/graphql-dc-subscriber.js.map +0 -1
- package/build/esm/graphql/index.js +0 -21
- package/build/esm/graphql/index.js.map +0 -1
- package/build/esm/graphql/utils.js +0 -87
- package/build/esm/graphql/utils.js.map +0 -1
- package/build/esm/integrations/tracing-channel/amqplib.js +0 -418
- package/build/esm/integrations/tracing-channel/amqplib.js.map +0 -1
- package/build/esm/integrations/tracing-channel/anthropic.js +0 -99
- package/build/esm/integrations/tracing-channel/anthropic.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/constants.js +0 -9
- package/build/esm/integrations/tracing-channel/aws-sdk/constants.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/index.js +0 -152
- package/build/esm/integrations/tracing-channel/aws-sdk/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +0 -41
- package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +0 -417
- package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js +0 -129
- package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js +0 -19
- package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js +0 -62
- package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js +0 -19
- package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +0 -25
- package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js +0 -61
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js +0 -114
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +0 -23
- package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +0 -1
- package/build/esm/integrations/tracing-channel/aws-sdk/utils.js.map +0 -1
- package/build/esm/integrations/tracing-channel/dataloader.js +0 -103
- package/build/esm/integrations/tracing-channel/dataloader.js.map +0 -1
- package/build/esm/integrations/tracing-channel/express/index.js +0 -26
- package/build/esm/integrations/tracing-channel/express/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/express/instrumentation.js +0 -166
- package/build/esm/integrations/tracing-channel/express/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing-channel/express/route.js.map +0 -1
- package/build/esm/integrations/tracing-channel/fastify/errors.js +0 -39
- package/build/esm/integrations/tracing-channel/fastify/errors.js.map +0 -1
- package/build/esm/integrations/tracing-channel/fastify/index.js +0 -28
- package/build/esm/integrations/tracing-channel/fastify/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/fastify/instrumentation.js +0 -277
- package/build/esm/integrations/tracing-channel/fastify/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing-channel/fastify/utils.js.map +0 -1
- package/build/esm/integrations/tracing-channel/firebase/firestore.js +0 -75
- package/build/esm/integrations/tracing-channel/firebase/firestore.js.map +0 -1
- package/build/esm/integrations/tracing-channel/firebase/functions.js +0 -65
- package/build/esm/integrations/tracing-channel/firebase/functions.js.map +0 -1
- package/build/esm/integrations/tracing-channel/firebase/index.js +0 -22
- package/build/esm/integrations/tracing-channel/firebase/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/firebase/instrumentation.js +0 -64
- package/build/esm/integrations/tracing-channel/firebase/instrumentation.js.map +0 -1
- package/build/esm/integrations/tracing-channel/generic-pool.js +0 -32
- package/build/esm/integrations/tracing-channel/generic-pool.js.map +0 -1
- package/build/esm/integrations/tracing-channel/google-genai.js +0 -94
- package/build/esm/integrations/tracing-channel/google-genai.js.map +0 -1
- package/build/esm/integrations/tracing-channel/graphql/constants.js +0 -14
- package/build/esm/integrations/tracing-channel/graphql/constants.js.map +0 -1
- package/build/esm/integrations/tracing-channel/graphql/index.js +0 -63
- package/build/esm/integrations/tracing-channel/graphql/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/graphql/resolvers.js +0 -164
- package/build/esm/integrations/tracing-channel/graphql/resolvers.js.map +0 -1
- package/build/esm/integrations/tracing-channel/graphql/spans.js +0 -96
- package/build/esm/integrations/tracing-channel/graphql/spans.js.map +0 -1
- package/build/esm/integrations/tracing-channel/hapi-types.js.map +0 -1
- package/build/esm/integrations/tracing-channel/hapi-utils.js +0 -172
- package/build/esm/integrations/tracing-channel/hapi-utils.js.map +0 -1
- package/build/esm/integrations/tracing-channel/hapi.js +0 -50
- package/build/esm/integrations/tracing-channel/hapi.js.map +0 -1
- package/build/esm/integrations/tracing-channel/ioredis.js +0 -96
- package/build/esm/integrations/tracing-channel/ioredis.js.map +0 -1
- package/build/esm/integrations/tracing-channel/kafkajs/consumer.js.map +0 -1
- package/build/esm/integrations/tracing-channel/kafkajs/index.js +0 -68
- package/build/esm/integrations/tracing-channel/kafkajs/index.js.map +0 -1
- package/build/esm/integrations/tracing-channel/kafkajs/semconv.js.map +0 -1
- package/build/esm/integrations/tracing-channel/kafkajs/spans.js +0 -112
- package/build/esm/integrations/tracing-channel/kafkajs/spans.js.map +0 -1
- package/build/esm/integrations/tracing-channel/knex.js +0 -186
- package/build/esm/integrations/tracing-channel/knex.js.map +0 -1
- package/build/esm/integrations/tracing-channel/koa.js +0 -144
- package/build/esm/integrations/tracing-channel/koa.js.map +0 -1
- package/build/esm/integrations/tracing-channel/langchain.js +0 -60
- package/build/esm/integrations/tracing-channel/langchain.js.map +0 -1
- package/build/esm/integrations/tracing-channel/langgraph.js +0 -98
- package/build/esm/integrations/tracing-channel/langgraph.js.map +0 -1
- package/build/esm/integrations/tracing-channel/lru-memoizer.js +0 -29
- package/build/esm/integrations/tracing-channel/lru-memoizer.js.map +0 -1
- package/build/esm/integrations/tracing-channel/mongodb.js +0 -102
- package/build/esm/integrations/tracing-channel/mongodb.js.map +0 -1
- package/build/esm/integrations/tracing-channel/mongoose.js +0 -108
- package/build/esm/integrations/tracing-channel/mongoose.js.map +0 -1
- package/build/esm/integrations/tracing-channel/mysql.js +0 -105
- package/build/esm/integrations/tracing-channel/mysql.js.map +0 -1
- package/build/esm/integrations/tracing-channel/mysql2.js +0 -81
- package/build/esm/integrations/tracing-channel/mysql2.js.map +0 -1
- package/build/esm/integrations/tracing-channel/openai.js +0 -79
- package/build/esm/integrations/tracing-channel/openai.js.map +0 -1
- package/build/esm/integrations/tracing-channel/postgres-js.js +0 -189
- package/build/esm/integrations/tracing-channel/postgres-js.js.map +0 -1
- package/build/esm/integrations/tracing-channel/postgres.js +0 -168
- package/build/esm/integrations/tracing-channel/postgres.js.map +0 -1
- package/build/esm/integrations/tracing-channel/redis.js +0 -216
- package/build/esm/integrations/tracing-channel/redis.js.map +0 -1
- package/build/esm/integrations/tracing-channel/tedious.js +0 -143
- package/build/esm/integrations/tracing-channel/tedious.js.map +0 -1
- package/build/esm/integrations/tracing-channel/vercel-ai.js +0 -23
- package/build/esm/integrations/tracing-channel/vercel-ai.js.map +0 -1
- package/build/esm/mongodb/mongodb-span.js +0 -126
- package/build/esm/mongodb/mongodb-span.js.map +0 -1
- package/build/esm/mongoose/index.js +0 -21
- package/build/esm/mongoose/index.js.map +0 -1
- package/build/esm/mongoose/mongoose-dc-subscriber.js +0 -89
- package/build/esm/mongoose/mongoose-dc-subscriber.js.map +0 -1
- package/build/esm/mongoose/mongoose-legacy-span.js +0 -38
- package/build/esm/mongoose/mongoose-legacy-span.js.map +0 -1
- package/build/esm/mysql2/index.js +0 -21
- package/build/esm/mysql2/index.js.map +0 -1
- package/build/esm/mysql2/mysql2-dc-subscriber.js +0 -62
- package/build/esm/mysql2/mysql2-dc-subscriber.js.map +0 -1
- package/build/esm/orchestrion/bundler/subscribeInjection.js +0 -39
- package/build/esm/orchestrion/bundler/subscribeInjection.js.map +0 -1
- package/build/esm/orchestrion/config/subscribe-injection.js +0 -22
- package/build/esm/orchestrion/config/subscribe-injection.js.map +0 -1
- package/build/esm/orchestrion/index.js +0 -61
- package/build/esm/orchestrion/index.js.map +0 -1
- package/build/esm/orchestrion/registerChannelIntegration.js +0 -11
- package/build/esm/orchestrion/registerChannelIntegration.js.map +0 -1
- package/build/esm/orchestrion/runtime/hook.js +0 -8
- package/build/esm/orchestrion/runtime/hook.js.map +0 -1
- package/build/esm/orchestrion/runtime/register.js +0 -69
- package/build/esm/orchestrion/runtime/register.js.map +0 -1
- package/build/esm/prisma/global.js.map +0 -1
- package/build/esm/prisma/index.js.map +0 -1
- package/build/esm/prisma/tracing-helper.js +0 -209
- package/build/esm/prisma/tracing-helper.js.map +0 -1
- package/build/esm/redis/index.js +0 -21
- package/build/esm/redis/index.js.map +0 -1
- package/build/esm/redis/redis-dc-subscriber.js +0 -94
- package/build/esm/redis/redis-dc-subscriber.js.map +0 -1
- package/build/esm/redis/redis-statement-serializer.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/chunk-D6vf50IK.js +0 -33
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/chunk-D6vf50IK.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/instrumentation-serde-BFky_HG6.js +0 -66
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/instrumentation-serde-BFky_HG6.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/webpack-loader.js +0 -88
- package/build/esm/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/cjs/webpack-loader.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/hook.js +0 -157
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/hook.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/index.js +0 -86
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/index.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/lib/diagnostics.js +0 -13
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/lib/diagnostics.js.map +0 -1
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/lib/get-package-version.js +0 -27
- package/build/esm/vendored/@apm-js-collab/tracing-hooks/lib/get-package-version.js.map +0 -1
- package/build/esm/vendored/debug/src/common.js +0 -176
- package/build/esm/vendored/debug/src/common.js.map +0 -1
- package/build/esm/vendored/debug/src/node.js +0 -183
- package/build/esm/vendored/debug/src/node.js.map +0 -1
- package/build/esm/vendored/has-flag/index.js +0 -9
- package/build/esm/vendored/has-flag/index.js.map +0 -1
- package/build/esm/vendored/ms/index.js +0 -113
- package/build/esm/vendored/ms/index.js.map +0 -1
- package/build/esm/vendored/supports-color/index.js +0 -102
- package/build/esm/vendored/supports-color/index.js.map +0 -1
- package/build/esm/vercel-ai/index.js +0 -21
- package/build/esm/vercel-ai/index.js.map +0 -1
- package/build/esm/vercel-ai/util.js +0 -106
- package/build/esm/vercel-ai/util.js.map +0 -1
- package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js +0 -436
- package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js.map +0 -1
- package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js +0 -397
- package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +0 -1
- package/build/orchestrion/import-hook.mjs +0 -19
- package/build/types/graphql/graphql-dc-subscriber.d.ts +0 -94
- package/build/types/graphql/graphql-dc-subscriber.d.ts.map +0 -1
- package/build/types/graphql/index.d.ts +0 -12
- package/build/types/graphql/index.d.ts.map +0 -1
- package/build/types/graphql/utils.d.ts +0 -36
- package/build/types/graphql/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/amqplib.d.ts +0 -11
- package/build/types/integrations/tracing-channel/amqplib.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/anthropic.d.ts +0 -10
- package/build/types/integrations/tracing-channel/anthropic.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts +0 -15
- package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts +0 -15
- package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/lambda.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/s3.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/sns.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/sqs.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts +0 -26
- package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/aws-sdk/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/dataloader.d.ts +0 -11
- package/build/types/integrations/tracing-channel/dataloader.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/express/index.d.ts +0 -18
- package/build/types/integrations/tracing-channel/express/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/express/instrumentation.d.ts +0 -4
- package/build/types/integrations/tracing-channel/express/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/express/route.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/express/types.d.ts +0 -76
- package/build/types/integrations/tracing-channel/express/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/errors.d.ts +0 -12
- package/build/types/integrations/tracing-channel/fastify/errors.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/index.d.ts +0 -66
- package/build/types/integrations/tracing-channel/fastify/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts +0 -10
- package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/types.d.ts +0 -32
- package/build/types/integrations/tracing-channel/fastify/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/fastify/utils.d.ts +0 -9
- package/build/types/integrations/tracing-channel/fastify/utils.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/firestore-types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/firestore.d.ts +0 -18
- package/build/types/integrations/tracing-channel/firebase/firestore.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/functions.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/index.d.ts +0 -15
- package/build/types/integrations/tracing-channel/firebase/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/firebase/instrumentation.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/generic-pool.d.ts +0 -10
- package/build/types/integrations/tracing-channel/generic-pool.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/google-genai.d.ts +0 -12
- package/build/types/integrations/tracing-channel/google-genai.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/constants.d.ts +0 -12
- package/build/types/integrations/tracing-channel/graphql/constants.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/graphql-types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/index.d.ts +0 -28
- package/build/types/integrations/tracing-channel/graphql/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/resolvers.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/spans.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/graphql/types.d.ts +0 -25
- package/build/types/integrations/tracing-channel/graphql/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/hapi-types.d.ts +0 -53
- package/build/types/integrations/tracing-channel/hapi-types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/hapi-utils.d.ts +0 -25
- package/build/types/integrations/tracing-channel/hapi-utils.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/hapi.d.ts +0 -9
- package/build/types/integrations/tracing-channel/hapi.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/ioredis.d.ts +0 -37
- package/build/types/integrations/tracing-channel/ioredis.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/consumer.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/index.d.ts +0 -17
- package/build/types/integrations/tracing-channel/kafkajs/index.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts +0 -10
- package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts +0 -38
- package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/kafkajs/types.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/knex.d.ts +0 -11
- package/build/types/integrations/tracing-channel/knex.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/koa.d.ts +0 -14
- package/build/types/integrations/tracing-channel/koa.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/langchain.d.ts +0 -10
- package/build/types/integrations/tracing-channel/langchain.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/langgraph.d.ts +0 -10
- package/build/types/integrations/tracing-channel/langgraph.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/lru-memoizer.d.ts +0 -10
- package/build/types/integrations/tracing-channel/lru-memoizer.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/mongodb.d.ts +0 -12
- package/build/types/integrations/tracing-channel/mongodb.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/mongoose.d.ts +0 -15
- package/build/types/integrations/tracing-channel/mongoose.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/mysql.d.ts +0 -12
- package/build/types/integrations/tracing-channel/mysql.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/mysql2.d.ts +0 -15
- package/build/types/integrations/tracing-channel/mysql2.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/openai.d.ts +0 -10
- package/build/types/integrations/tracing-channel/openai.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/postgres-js.d.ts +0 -26
- package/build/types/integrations/tracing-channel/postgres-js.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/postgres.d.ts +0 -15
- package/build/types/integrations/tracing-channel/postgres.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/redis.d.ts +0 -16
- package/build/types/integrations/tracing-channel/redis.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/tedious.d.ts +0 -11
- package/build/types/integrations/tracing-channel/tedious.d.ts.map +0 -1
- package/build/types/integrations/tracing-channel/vercel-ai.d.ts +0 -9
- package/build/types/integrations/tracing-channel/vercel-ai.d.ts.map +0 -1
- package/build/types/mongodb/mongodb-span.d.ts +0 -66
- package/build/types/mongodb/mongodb-span.d.ts.map +0 -1
- package/build/types/mongoose/index.d.ts +0 -13
- package/build/types/mongoose/index.d.ts.map +0 -1
- package/build/types/mongoose/mongoose-dc-subscriber.d.ts.map +0 -1
- package/build/types/mongoose/mongoose-legacy-span.d.ts +0 -29
- package/build/types/mongoose/mongoose-legacy-span.d.ts.map +0 -1
- package/build/types/mysql2/index.d.ts +0 -11
- package/build/types/mysql2/index.d.ts.map +0 -1
- package/build/types/mysql2/mysql2-dc-subscriber.d.ts.map +0 -1
- package/build/types/orchestrion/bundler/subscribeInjection.d.ts +0 -13
- package/build/types/orchestrion/bundler/subscribeInjection.d.ts.map +0 -1
- package/build/types/orchestrion/config/subscribe-injection.d.ts +0 -31
- package/build/types/orchestrion/config/subscribe-injection.d.ts.map +0 -1
- package/build/types/orchestrion/index.d.ts +0 -137
- package/build/types/orchestrion/index.d.ts.map +0 -1
- package/build/types/orchestrion/registerChannelIntegration.d.ts +0 -33
- package/build/types/orchestrion/registerChannelIntegration.d.ts.map +0 -1
- package/build/types/orchestrion/runtime/register.d.ts +0 -21
- package/build/types/orchestrion/runtime/register.d.ts.map +0 -1
- package/build/types/prisma/global.d.ts.map +0 -1
- package/build/types/prisma/index.d.ts +0 -45
- package/build/types/prisma/index.d.ts.map +0 -1
- package/build/types/prisma/tracing-helper.d.ts.map +0 -1
- package/build/types/prisma/types.d.ts +0 -37
- package/build/types/prisma/types.d.ts.map +0 -1
- package/build/types/redis/index.d.ts +0 -18
- package/build/types/redis/index.d.ts.map +0 -1
- package/build/types/redis/redis-dc-subscriber.d.ts +0 -89
- package/build/types/redis/redis-dc-subscriber.d.ts.map +0 -1
- package/build/types/redis/redis-statement-serializer.d.ts.map +0 -1
- package/build/types/vercel-ai/index.d.ts +0 -26
- package/build/types/vercel-ai/index.d.ts.map +0 -1
- package/build/types/vercel-ai/util.d.ts +0 -30
- package/build/types/vercel-ai/util.d.ts.map +0 -1
- package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts +0 -72
- package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +0 -1
- package/build/types/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts.map +0 -1
- package/build/types-ts3.8/debug-build.d.ts +0 -7
- package/build/types-ts3.8/graphql/graphql-dc-subscriber.d.ts +0 -94
- package/build/types-ts3.8/graphql/index.d.ts +0 -12
- package/build/types-ts3.8/graphql/utils.d.ts +0 -36
- package/build/types-ts3.8/index.d.ts +0 -23
- package/build/types-ts3.8/integrations/tracing-channel/amqplib.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing-channel/anthropic.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts +0 -43
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/constants.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/index.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts +0 -23
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts +0 -14
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts +0 -8
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/index.d.ts +0 -2
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/lambda.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/s3.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts +0 -8
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sns.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sqs.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts +0 -6
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/types.d.ts +0 -26
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/utils.d.ts +0 -5
- package/build/types-ts3.8/integrations/tracing-channel/dataloader.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing-channel/express/index.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing-channel/express/instrumentation.d.ts +0 -4
- package/build/types-ts3.8/integrations/tracing-channel/express/route.d.ts +0 -28
- package/build/types-ts3.8/integrations/tracing-channel/express/types.d.ts +0 -76
- package/build/types-ts3.8/integrations/tracing-channel/fastify/errors.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/fastify/index.d.ts +0 -66
- package/build/types-ts3.8/integrations/tracing-channel/fastify/instrumentation.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/fastify/types.d.ts +0 -32
- package/build/types-ts3.8/integrations/tracing-channel/fastify/utils.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/firebase/firestore-types.d.ts +0 -38
- package/build/types-ts3.8/integrations/tracing-channel/firebase/firestore.d.ts +0 -18
- package/build/types-ts3.8/integrations/tracing-channel/firebase/functions.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/firebase/index.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/firebase/instrumentation.d.ts +0 -2
- package/build/types-ts3.8/integrations/tracing-channel/generic-pool.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/google-genai.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/graphql/constants.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/graphql/graphql-types.d.ts +0 -135
- package/build/types-ts3.8/integrations/tracing-channel/graphql/index.d.ts +0 -30
- package/build/types-ts3.8/integrations/tracing-channel/graphql/resolvers.d.ts +0 -13
- package/build/types-ts3.8/integrations/tracing-channel/graphql/spans.d.ts +0 -17
- package/build/types-ts3.8/integrations/tracing-channel/graphql/types.d.ts +0 -25
- package/build/types-ts3.8/integrations/tracing-channel/hapi-types.d.ts +0 -65
- package/build/types-ts3.8/integrations/tracing-channel/hapi-utils.d.ts +0 -25
- package/build/types-ts3.8/integrations/tracing-channel/hapi.d.ts +0 -9
- package/build/types-ts3.8/integrations/tracing-channel/ioredis.d.ts +0 -37
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/consumer.d.ts +0 -8
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/index.d.ts +0 -17
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/semconv.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/spans.d.ts +0 -38
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/types.d.ts +0 -40
- package/build/types-ts3.8/integrations/tracing-channel/knex.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing-channel/koa.d.ts +0 -14
- package/build/types-ts3.8/integrations/tracing-channel/langchain.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/langgraph.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/lru-memoizer.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/mongodb.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/mongoose.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/mysql.d.ts +0 -12
- package/build/types-ts3.8/integrations/tracing-channel/mysql2.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/openai.d.ts +0 -10
- package/build/types-ts3.8/integrations/tracing-channel/postgres-js.d.ts +0 -26
- package/build/types-ts3.8/integrations/tracing-channel/postgres.d.ts +0 -15
- package/build/types-ts3.8/integrations/tracing-channel/redis.d.ts +0 -16
- package/build/types-ts3.8/integrations/tracing-channel/tedious.d.ts +0 -11
- package/build/types-ts3.8/integrations/tracing-channel/vercel-ai.d.ts +0 -9
- package/build/types-ts3.8/mongodb/mongodb-span.d.ts +0 -66
- package/build/types-ts3.8/mongoose/index.d.ts +0 -13
- package/build/types-ts3.8/mongoose/mongoose-dc-subscriber.d.ts +0 -63
- package/build/types-ts3.8/mongoose/mongoose-legacy-span.d.ts +0 -29
- package/build/types-ts3.8/mysql2/index.d.ts +0 -11
- package/build/types-ts3.8/mysql2/mysql2-dc-subscriber.d.ts +0 -59
- package/build/types-ts3.8/node-diagnostics-channel.d.ts +0 -19
- package/build/types-ts3.8/orchestrion/apmTypes.d.ts +0 -169
- package/build/types-ts3.8/orchestrion/bundler/esbuild.d.ts +0 -20
- package/build/types-ts3.8/orchestrion/bundler/options.d.ts +0 -63
- package/build/types-ts3.8/orchestrion/bundler/rollup.d.ts +0 -17
- package/build/types-ts3.8/orchestrion/bundler/subscribeInjection.d.ts +0 -13
- package/build/types-ts3.8/orchestrion/bundler/vite.d.ts +0 -18
- package/build/types-ts3.8/orchestrion/bundler/webpack-loader.d.ts +0 -3
- package/build/types-ts3.8/orchestrion/bundler/webpack.d.ts +0 -35
- package/build/types-ts3.8/orchestrion/channels.d.ts +0 -145
- package/build/types-ts3.8/orchestrion/config/amqplib.d.ts +0 -68
- package/build/types-ts3.8/orchestrion/config/anthropic-ai.d.ts +0 -33
- package/build/types-ts3.8/orchestrion/config/aws-sdk.d.ts +0 -21
- package/build/types-ts3.8/orchestrion/config/channel-integration-definitions.d.ts +0 -139
- package/build/types-ts3.8/orchestrion/config/dataloader.d.ts +0 -48
- package/build/types-ts3.8/orchestrion/config/express.d.ts +0 -32
- package/build/types-ts3.8/orchestrion/config/firebase.d.ts +0 -43
- package/build/types-ts3.8/orchestrion/config/generic-pool.d.ts +0 -33
- package/build/types-ts3.8/orchestrion/config/google-genai.d.ts +0 -32
- package/build/types-ts3.8/orchestrion/config/graphql.d.ts +0 -31
- package/build/types-ts3.8/orchestrion/config/hapi.d.ts +0 -19
- package/build/types-ts3.8/orchestrion/config/index.d.ts +0 -49
- package/build/types-ts3.8/orchestrion/config/ioredis.d.ts +0 -8
- package/build/types-ts3.8/orchestrion/config/kafkajs.d.ts +0 -19
- package/build/types-ts3.8/orchestrion/config/knex.d.ts +0 -10
- package/build/types-ts3.8/orchestrion/config/koa.d.ts +0 -19
- package/build/types-ts3.8/orchestrion/config/langchain.d.ts +0 -20
- package/build/types-ts3.8/orchestrion/config/langgraph.d.ts +0 -23
- package/build/types-ts3.8/orchestrion/config/lru-memoizer.d.ts +0 -18
- package/build/types-ts3.8/orchestrion/config/mongodb.d.ts +0 -61
- package/build/types-ts3.8/orchestrion/config/mongoose.d.ts +0 -42
- package/build/types-ts3.8/orchestrion/config/mysql.d.ts +0 -18
- package/build/types-ts3.8/orchestrion/config/mysql2.d.ts +0 -20
- package/build/types-ts3.8/orchestrion/config/nestjs.d.ts +0 -25
- package/build/types-ts3.8/orchestrion/config/openai.d.ts +0 -20
- package/build/types-ts3.8/orchestrion/config/pg.d.ts +0 -35
- package/build/types-ts3.8/orchestrion/config/postgres.d.ts +0 -10
- package/build/types-ts3.8/orchestrion/config/redis.d.ts +0 -39
- package/build/types-ts3.8/orchestrion/config/remix.d.ts +0 -10
- package/build/types-ts3.8/orchestrion/config/subscribe-injection.d.ts +0 -31
- package/build/types-ts3.8/orchestrion/config/tedious.d.ts +0 -13
- package/build/types-ts3.8/orchestrion/config/vercel-ai.d.ts +0 -13
- package/build/types-ts3.8/orchestrion/detect.d.ts +0 -26
- package/build/types-ts3.8/orchestrion/index.d.ts +0 -139
- package/build/types-ts3.8/orchestrion/registerChannelIntegration.d.ts +0 -33
- package/build/types-ts3.8/orchestrion/runtime/register.d.ts +0 -21
- package/build/types-ts3.8/prisma/global.d.ts +0 -5
- package/build/types-ts3.8/prisma/index.d.ts +0 -45
- package/build/types-ts3.8/prisma/tracing-helper.d.ts +0 -52
- package/build/types-ts3.8/prisma/types.d.ts +0 -40
- package/build/types-ts3.8/redis/index.d.ts +0 -18
- package/build/types-ts3.8/redis/redis-dc-subscriber.d.ts +0 -89
- package/build/types-ts3.8/redis/redis-statement-serializer.d.ts +0 -6
- package/build/types-ts3.8/tracing-channel.d.ts +0 -73
- package/build/types-ts3.8/vercel-ai/index.d.ts +0 -26
- package/build/types-ts3.8/vercel-ai/util.d.ts +0 -30
- package/build/types-ts3.8/vercel-ai/vercel-ai-dc-subscriber.d.ts +0 -72
- package/build/types-ts3.8/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts +0 -12
- /package/build/cjs/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/ServicesExtensions.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/aws-sdk → aws-sdk}/utils.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/express → express}/route.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/fastify → fastify}/utils.js +0 -0
- /package/build/cjs/integrations/{tracing-channel → hapi}/hapi-types.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/kafkajs → kafkajs}/consumer.js +0 -0
- /package/build/cjs/integrations/{tracing-channel/kafkajs → kafkajs}/semconv.js +0 -0
- /package/build/cjs/{prisma → integrations/prisma}/global.js +0 -0
- /package/build/cjs/{prisma → integrations/prisma}/index.js +0 -0
- /package/build/cjs/{redis → integrations/redis}/redis-statement-serializer.js +0 -0
- /package/build/esm/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/ServicesExtensions.js +0 -0
- /package/build/esm/integrations/{tracing-channel/aws-sdk → aws-sdk}/utils.js +0 -0
- /package/build/esm/integrations/{tracing-channel/express → express}/route.js +0 -0
- /package/build/esm/integrations/{tracing-channel/fastify → fastify}/utils.js +0 -0
- /package/build/esm/integrations/{tracing-channel → hapi}/hapi-types.js +0 -0
- /package/build/esm/integrations/{tracing-channel/kafkajs → kafkajs}/consumer.js +0 -0
- /package/build/esm/integrations/{tracing-channel/kafkajs → kafkajs}/semconv.js +0 -0
- /package/build/esm/{prisma → integrations/prisma}/global.js +0 -0
- /package/build/esm/{prisma → integrations/prisma}/index.js +0 -0
- /package/build/esm/{redis → integrations/redis}/redis-statement-serializer.js +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/aws-sdk.types.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/MessageAttributes.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/ServiceExtension.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/ServicesExtensions.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/bedrock-runtime.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/dynamodb.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/index.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/kinesis.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/lambda.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/s3.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/secretsmanager.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/sns.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/sqs.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/services/stepfunctions.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/aws-sdk → aws-sdk}/utils.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/express → express}/route.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/firebase → firebase}/firestore-types.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/firebase → firebase}/functions.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/firebase → firebase}/instrumentation.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/graphql → graphql}/graphql-types.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/graphql → graphql}/resolvers.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/graphql → graphql}/spans.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/kafkajs → kafkajs}/consumer.d.ts +0 -0
- /package/build/types/integrations/{tracing-channel/kafkajs → kafkajs}/types.d.ts +0 -0
- /package/build/types/{mongoose → integrations/mongoose}/mongoose-dc-subscriber.d.ts +0 -0
- /package/build/types/{mysql2 → integrations/mysql2}/mysql2-dc-subscriber.d.ts +0 -0
- /package/build/types/{prisma → integrations/prisma}/global.d.ts +0 -0
- /package/build/types/{prisma → integrations/prisma}/tracing-helper.d.ts +0 -0
- /package/build/types/{redis → integrations/redis}/redis-statement-serializer.d.ts +0 -0
- /package/build/types/{vercel-ai → integrations/vercel-ai}/vercel-ai-orchestrion-subscriber.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.js","sources":["../../../../../../../../node_modules/@apm-js-collab/code-transformer/lib/transforms.js"],"sourcesContent":["'use strict'\n\nconst esquery = require('esquery')\nconst { parse } = require('meriyah')\n\n/**\n * Returns `true` if `node` is already a `tracingChannel` import/require statement,\n * used to avoid duplicate injections.\n *\n * @param {import('estree').Node} node\n * @returns {boolean}\n */\nconst tracingChannelPredicate = (node) => (\n node.declarations?.[0]?.id?.properties?.[0]?.value?.name === 'tr_ch_apm_tracingChannel'\n)\n\nconst CHANNEL_REGEX = /[^\\w]/g\n/**\n * Formats the channel variable name by replacing any non-whitespace characters with `_`\n *\n * @param {string} channelName\n */\nconst formatChannelVariable = (channelName) => `tr_ch_apm$${channelName.replace(CHANNEL_REGEX, '_')}`\n\nconst transforms = module.exports = {\n /**\n * Injects a `tracingChannel` import/require into the program body if one is not\n * already present.\n *\n * @param {{ dcModule: string, sourceType: 'module'|'script' }} state\n * @param {import('estree').Program} node - The program root node.\n */\n tracingChannelImport ({ dcModule, moduleType }, node) {\n if (node.body.some(tracingChannelPredicate)) return\n\n const options = { module: moduleType === 'esm' }\n const index = node.body.findIndex(child => child.directive === 'use strict')\n const dc = moduleType === 'esm'\n ? `import tr_ch_apm_dc from \"${dcModule}\"`\n : `const tr_ch_apm_dc = require(\"${dcModule}\")`\n const tracingChannel = 'const { tracingChannel: tr_ch_apm_tracingChannel } = tr_ch_apm_dc'\n const hasSubscribers = `const tr_ch_apm_hasSubscribers = ch => ch.start.hasSubscribers\n || ch.end.hasSubscribers\n || ch.asyncStart.hasSubscribers\n || ch.asyncEnd.hasSubscribers\n || ch.error.hasSubscribers`\n\n node.body.splice(\n index + 1,\n 0,\n parse(dc, options).body[0],\n parse(tracingChannel, options).body[0],\n parse(hasSubscribers, options).body[0]\n )\n },\n\n /**\n * Injects a `tracingChannel(...)` variable declaration for the config's channel\n * into the program body, also ensuring the import is present.\n *\n * @param {{ channelName: string, module: { name: string }, dcModule: string, sourceType: 'module'|'script' }} state\n * @param {import('estree').Program} node - The program root node.\n */\n tracingChannelDeclaration (state, node) {\n const { channelName, module: { name } } = state\n const channelVariable = formatChannelVariable(channelName)\n\n if (node.body.some(child => child.declarations?.[0]?.id?.name === channelVariable)) return\n\n transforms.tracingChannelImport(state, node)\n\n const index = node.body.findIndex(tracingChannelPredicate)\n const code = `\n const ${channelVariable} = tr_ch_apm_tracingChannel(\"orchestrion:${name}:${channelName}\")\n `\n\n node.body.splice(index + 1, 0, parse(code).body[0])\n },\n\n traceCallback: traceAny,\n tracePromise: traceAny,\n traceSync: traceAny,\n traceAuto: traceAny,\n}\n\n/**\n * Replaces a function's params with numbered placeholders (`__apm$arg0`,\n * `__apm$arg1`, ...) plus a rest element (`...__apm$args`) to capture overflow.\n * This preserves the function's `.length` while giving the preamble a uniform\n * way to reconstruct all call-site arguments. `RestElement` and\n * `AssignmentPattern` params are excluded from the count since they do not\n * contribute to `.length`.\n *\n * @param {import('estree').Pattern[]} params - The original function params.\n * @returns {import('estree').Pattern[]} The replacement params.\n */\nfunction wrapParams (params) {\n const originalParams = params || []\n const numberedParams = originalParams\n .filter(param => param.type !== 'RestElement' && param.type !== 'AssignmentPattern')\n .map((_, i) => ({ type: 'Identifier', name: `__apm$arg${i}` }))\n\n return [\n ...numberedParams,\n { type: 'RestElement', argument: { type: 'Identifier', name: '__apm$args' } }\n ]\n}\n/**\n * Generic trace entry point. Dispatches to {@link traceInstanceMethod} for class\n * nodes or {@link traceFunction} for all other function nodes.\n *\n * @param {object} state - Merged instrumentation + runtime state.\n * @param {import('estree').Node} node - Matched AST node.\n * @param {import('estree').Node} _parent\n * @param {import('estree').Node[]} ancestry - Full ancestor chain, root last.\n */\nfunction traceAny (state, node, _parent, ancestry) {\n const program = ancestry[ancestry.length - 1]\n\n if (node.type === 'ClassDeclaration' || node.type === 'ClassExpression') {\n traceInstanceMethod(state, node, program)\n } else {\n traceFunction(state, node, program)\n }\n}\n\n/**\n * Wraps a function node's body with diagnostics_channel tracing.\n *\n * Injects the channel declaration, wraps the original body in an inner function,\n * and rewrites `super` references if needed.\n *\n * @param {object} state\n * @param {import('estree').Function} node - The function node to instrument.\n * @param {import('estree').Program} program\n */\nfunction traceFunction (state, node, program) {\n transforms.tracingChannelDeclaration(state, program)\n\n const { functionQuery: { methodName, privateMethodName, functionName, expressionName, propertyName } } = state\n const isConstructor = methodName === 'constructor' ||\n (!methodName && !privateMethodName && !functionName && !expressionName && !propertyName)\n const type = isConstructor ? 'ArrowFunctionExpression' : node.type\n const params = node.params\n\n node.body = wrap(state, {\n type,\n params,\n body: node.body,\n async: node.async,\n expression: false,\n generator: node.generator,\n }, program)\n\n node.params = wrapParams(params)\n\n // The original function no longer contains any calls to `await` or `yield` as\n // the function body is copied to the internal wrapped function, so we set\n // these to false to avoid altering the return value of the wrapper. The old\n // values are instead copied to the new AST node above.\n node.generator = false\n node.async = false\n\n wrapSuper(state, node)\n}\n\n/**\n * Instruments an instance method that may not exist on the class at definition\n * time by patching it inside the constructor.\n *\n * If the method is already defined on the class body it is skipped (it will be\n * handled via {@link traceFunction} when the child node is visited). Otherwise a\n * constructor is synthesised (or extended) to wrap `this[methodName]` at runtime.\n *\n * @param {object} state\n * @param {import('estree').ClassDeclaration|import('estree').ClassExpression} node\n * @param {import('estree').Program} program\n */\nfunction traceInstanceMethod (state, node, program) {\n const { functionQuery, operator } = state\n const { methodName } = functionQuery\n\n // No methodName means a constructor-only config — the constructor FunctionExpression\n // is matched directly by the other queries and handled via traceFunction instead.\n if (!methodName) return\n\n const classBody = node.body\n\n // If the method exists on the class, we return as it will be patched later\n // while traversing child nodes later on.\n if (classBody.body.some(({ key }) => key.name === methodName)) return\n\n // Method doesn't exist on the class so we assume an instance method and\n // wrap it in the constructor instead.\n let ctor = classBody.body.find(({ kind }) => kind === 'constructor')\n\n transforms.tracingChannelDeclaration(state, program)\n\n if (!ctor) {\n ctor = parse(\n node.superClass\n ? 'class A extends Object { constructor (...args) { super(...args) } }'\n : 'class A { constructor () {} }'\n ).body[0].body.body[0] // Extract constructor from dummy class body.\n\n classBody.body.unshift(ctor)\n }\n\n const ctorBody = parse(`\n const __apm$${methodName} = this[\"${methodName}\"]\n this[\"${methodName}\"] = function () {}\n if (typeof __apm$${methodName} === 'function') {\n Object.defineProperty(this[\"${methodName}\"], 'length', {\n value: __apm$${methodName}.length,\n configurable: true\n })\n }\n `).body\n\n // Extract only right-hand side function of line 2.\n const fn = ctorBody[1].expression.right\n fn.params = [{ type: 'RestElement', argument: { type: 'Identifier', name: '__apm$args' } }]\n\n fn.async = operator === 'tracePromise'\n fn.body = wrap(state, { type: 'Identifier', name: `__apm$${methodName}` }, program)\n wrapSuper(state, fn)\n\n ctor.value.body.body.push(...ctorBody)\n}\n\n/**\n * Builds the replacement block statement for a function body.\n *\n * Selects the appropriate wrapper template (`wrapSync`, `wrapPromise`, etc.) and\n * prepends the shared `__apm$ctx` / `__apm$traced` preamble before returning the\n * resulting block statement body.\n *\n * @param {object} state\n * @param {import('estree').Node} node - The original function (or identifier for instance methods).\n * @param {import('estree').Program} program\n * @returns {import('estree').BlockStatement['body']}\n */\nfunction wrap (state, node, program) {\n const { operator, moduleVersion } = state\n const { returnKind } = state.functionQuery\n\n const iterPatch = returnKind ? generateIterPatch(state, returnKind, program) : ''\n\n let wrapper\n\n if (operator === 'traceCallback') wrapper = wrapCallback(state, node, iterPatch)\n if (operator === 'tracePromise') wrapper = wrapPromise(state, node, iterPatch)\n if (operator === 'traceSync') wrapper = wrapSync(state, node, iterPatch)\n if (operator === 'traceAuto') wrapper = wrapAuto(state, node, iterPatch)\n\n const args = (node.params || [])\n .filter(param => param.type !== 'RestElement' && param.type !== 'AssignmentPattern')\n .map((_, i) => `__apm$arg${i}`).concat('...__apm$args').join(', ')\n\n const block = wrapper.body[0].body // Extract only block statement of function body.\n const common = parse(node.type === 'ArrowFunctionExpression'\n ? `\n const __apm$arguments = [${args}];\n const __apm$ctx = {\n arguments: __apm$arguments,\n moduleVersion: ${JSON.stringify(moduleVersion)}\n };\n const __apm$traced = () => {\n const __apm$wrapped = () => {};\n return __apm$wrapped(...__apm$arguments);\n };\n `\n : `\n const __apm$arguments = [${args}].slice(0, arguments.length);\n const __apm$ctx = {\n arguments: __apm$arguments,\n self: this,\n moduleVersion: ${JSON.stringify(moduleVersion)}\n };\n const __apm$traced = () => {\n const __apm$wrapped = () => {};\n return __apm$wrapped.apply(this, __apm$arguments);\n };\n `).body\n\n block.body.unshift(...common)\n\n // Replace the right-hand side assignment of `const __apm$wrapped = () => {}`.\n esquery.query(block, '[id.name=__apm$wrapped]')[0].init = node\n\n return block\n}\n\n/**\n * Rewrites `super.method(...)` calls inside a moved function body.\n *\n * Because the original body is copied into a nested arrow/function, `super` would\n * no longer be in scope. Each unique `super.x` reference is replaced with\n * `__apm$super['x']` and a preamble that captures the super-binding in the\n * outermost method scope is prepended.\n *\n * @param {object} _state\n * @param {import('estree').Function} node - The outer (wrapper) function node.\n */\nfunction wrapSuper (_state, node) {\n const members = new Set()\n\n esquery.traverse(\n node.body,\n esquery.parse('[object.type=Super]'),\n (node, parent) => {\n const { name } = node.property\n\n let child\n\n if (parent.callee) {\n // This is needed because for generator functions we have to move the\n // original function to a nested wrapped function, but we can't use an\n // arrow function because arrow function cannot be generator functions,\n // and `super` cannot be called from a nested function, so we have to\n // rewrite any `super` call to not use the keyword.\n const { expression } = parse(`__apm$super['${name}'].call(this)`).body[0]\n\n parent.callee = child = expression.callee\n parent.arguments.unshift(...expression.arguments)\n } else {\n parent.expression = child = parse(`__apm$super['${name}']`).body[0]\n }\n\n child.computed = parent.callee.computed\n child.optional = parent.callee.optional\n\n members.add(name)\n }\n )\n\n for (const name of members) {\n const member = parse(`\n class Wrapper {\n wrapper () {\n __apm$super['${name}'] = super['${name}']\n }\n }\n `).body[0].body.body[0].value.body.body[0]\n\n node.body.body.unshift(member)\n }\n\n if (members.size > 0) {\n node.body.body.unshift(parse('const __apm$super = {}').body[0])\n }\n}\n\n/**\n * Builds a composite wrapper AST that detects at runtime whether to use callback\n * or promise tracing: if the argument at `callbackIndex` is a function, the\n * callback path is taken; otherwise the promise path is used as the fallback.\n *\n * @param {object} state\n * @param {import('estree').Node} node\n * @param {import('estree').Program} program\n * @returns {import('estree').Program} Parsed wrapper function program.\n */\nfunction wrapAuto (state, node, iterPatch = '') {\n const cbWrapperAST = wrapCallback(state, node, iterPatch)\n const promiseWrapperAST = wrapPromise(state, node, iterPatch)\n\n const [\n getCbArg,\n checkHasSubscribers,\n defineWrappedCb,\n checkCbIsFunction,\n spliceCbArg,\n runStores,\n ] = cbWrapperAST.body[0].body.body\n\n const fallbackToPromise = {\n type: 'IfStatement',\n test: checkCbIsFunction.test,\n consequent: { type: 'BlockStatement', body: promiseWrapperAST.body[0].body.body },\n alternate: null,\n }\n\n cbWrapperAST.body[0].body.body = [\n getCbArg,\n fallbackToPromise,\n checkHasSubscribers,\n defineWrappedCb,\n spliceCbArg,\n runStores,\n ]\n\n return cbWrapperAST\n}\n\n/**\n * Builds the wrapper AST for a callback-style function.\n *\n * Replaces the callback argument (at `callbackIndex`) with a wrapped version that\n * publishes to the tracing channel on completion or error.\n *\n * @param {{ channelName: string, functionQuery: { callbackIndex?: number } }} state\n * @param {import('estree').Node} node - The original function node (unused; replaced by preamble).\n * @returns {import('estree').Program} Parsed wrapper function program.\n */\nfunction wrapCallback (state, node, iterPatch = '') {\n const { channelName, functionQuery: { callbackIndex = -1 } } = state\n const channelVariable = formatChannelVariable(channelName)\n\n return parse(`\n function wrapper () {\n const __apm$cb = Array.prototype.at.call(__apm$arguments, ${callbackIndex});\n\n if (!${channelVariable}.start.hasSubscribers) return __apm$traced();\n\n function __apm$wrappedCb(err, res) {\n if (err) {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n } else {\n __apm$ctx.result = res;\n ${iterPatch}\n }\n\n ${channelVariable}.asyncStart.runStores(__apm$ctx, () => {\n try {\n if (__apm$cb) {\n return __apm$cb.apply(this, arguments);\n }\n } finally {\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n }\n });\n }\n\n if (typeof __apm$cb !== 'function') {\n return __apm$traced();\n }\n Array.prototype.splice.call(__apm$arguments, ${callbackIndex}, 1, __apm$wrappedCb);\n\n return ${channelVariable}.start.runStores(__apm$ctx, () => {\n try {\n return __apm$traced();\n } catch (err) {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n throw err;\n } finally {\n __apm$ctx.self ??= this;\n ${channelVariable}.end.publish(__apm$ctx);\n }\n });\n }\n `)\n}\n\n/**\n * Builds the wrapper AST for a Promise-returning function.\n *\n * Uses `runStores` to propagate async context and publishes\n * `asyncStart`/`asyncEnd`/`error` channel events on settlement.\n *\n * @param {{ channelName: string }} state\n * @param {import('estree').Node} node\n * @returns {import('estree').Program} Parsed wrapper function program.\n */\nfunction wrapPromise (state, node, iterPatch = '') {\n const { channelName } = state\n const channelVariable = formatChannelVariable(channelName)\n\n // A subscriber can substitute the resolved value by reassigning\n // `message.result` in `asyncEnd` (the wrapper returns `__apm$ctx.result`),\n // but ONLY for native `Promise` instances. For Promise subclasses and other\n // thenables we side-chain the callbacks and return the original object so\n // that any subclass-specific methods (e.g. `APIPromise.withResponse()`)\n // remain accessible to the caller; that means their resolved value cannot be\n // mutated.\n return parse(`\n function wrapper () {\n if (!tr_ch_apm_hasSubscribers(${channelVariable})) return __apm$traced();\n\n return ${channelVariable}.start.runStores(__apm$ctx, () => {\n try {\n let promise = __apm$traced();\n if (typeof promise?.then !== 'function') {\n __apm$ctx.result = promise;\n ${iterPatch}\n return __apm$ctx.result;\n }\n // Mirror Node.js core diagnostics_channel behaviour: for native Promise\n // instances, chain normally (safe since there is no subclass API to\n // preserve). For Promise subclasses and other thenables, side-chain the\n // callbacks for event publishing and return the original so that any\n // subclass-specific methods (e.g. APIPromise.withResponse()) remain\n // accessible to the caller.\n if (promise instanceof Promise && promise.constructor === Promise) {\n return promise.then(\n result => {\n __apm$ctx.result = result;\n ${iterPatch}\n ${channelVariable}.asyncStart.publish(__apm$ctx);\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n return __apm$ctx.result;\n },\n err => {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n ${channelVariable}.asyncStart.publish(__apm$ctx);\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n throw err;\n }\n );\n }\n promise.then(\n result => {\n __apm$ctx.result = result;\n ${iterPatch}\n ${channelVariable}.asyncStart.publish(__apm$ctx);\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n },\n err => {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n ${channelVariable}.asyncStart.publish(__apm$ctx);\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n }\n );\n return promise;\n } catch (err) {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n throw err;\n } finally {\n __apm$ctx.self ??= this;\n ${channelVariable}.end.publish(__apm$ctx);\n }\n });\n }\n `)\n}\n\n/**\n * Builds the wrapper AST for a synchronous function.\n *\n * Uses `runStores` for context propagation and publishes `error` channel events\n * on throw. The result is stored in `__apm$ctx.result` on success, and the\n * wrapper returns whatever `__apm$ctx.result` holds after `end` publishes, so a\n * subscriber's `end` handler can substitute the return value via `message.result`.\n *\n * @param {{ channelName: string }} state\n * @param {import('estree').Node} node\n * @returns {import('estree').Program} Parsed wrapper function program.\n */\nfunction wrapSync (state, node, iterPatch = '') {\n const { channelName } = state\n const channelVariable = formatChannelVariable(channelName)\n\n // The return value is whatever `__apm$ctx.result` holds *after* `end` has\n // published, so a subscriber's `end` handler can reassign `message.result`\n // to substitute it (e.g. to wrap a returned handler). The `return`\n // therefore sits below the `try`/`finally`: on the throw path the `catch`\n // re-throws, so the trailing `return` is unreachable.\n return parse(`\n function wrapper () {\n if (!tr_ch_apm_hasSubscribers(${channelVariable})) return __apm$traced();\n\n return ${channelVariable}.start.runStores(__apm$ctx, () => {\n try {\n __apm$ctx.result = __apm$traced();\n ${iterPatch}\n } catch (err) {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n throw err;\n } finally {\n __apm$ctx.self ??= this;\n ${channelVariable}.end.publish(__apm$ctx);\n }\n return __apm$ctx.result;\n });\n }\n `)\n}\n\n/**\n * Injects a `:next` tracing channel declaration (for iterator method tracing) into\n * the program body, inserting it immediately after the main channel declaration.\n *\n * @param {object} state\n * @param {import('estree').Program} program\n */\nfunction declareIteratorChannel (state, program) {\n const { channelName, module: { name } } = state\n const iterChannelVariable = formatChannelVariable(channelName + ':next')\n\n if (program.body.some(child => child.declarations?.[0]?.id?.name === iterChannelVariable)) return\n\n const channelVariable = formatChannelVariable(channelName)\n const index = program.body.findIndex(child =>\n child.declarations?.[0]?.id?.name === channelVariable\n )\n const code = `const ${iterChannelVariable} = tr_ch_apm_tracingChannel(\"orchestrion:${name}:${channelName}:next\")`\n program.body.splice(index + 1, 0, parse(code).body[0])\n}\n\n/**\n * Generates the iterator-patching code string for injection into an existing\n * wrapper. Patches `next`, `throw`, and `return` on the iterator held in\n * `__apm$ctx.result`, publishing to the `:next` tracing channel via\n * `traceSync` or `tracePromise` depending on `returnKind`.\n *\n * @param {object} state\n * @param {'Iterator'|'AsyncIterator'} returnKind\n * @param {import('estree').Program} program\n * @returns {string}\n */\nfunction generateIterPatch (state, returnKind, program) {\n const { channelName } = state\n const traceMethod = returnKind === 'Iterator' ? 'traceSync' : 'tracePromise'\n const iterChannelVariable = formatChannelVariable(channelName + ':next')\n\n declareIteratorChannel(state, program)\n\n return `\n const __apm$iter = __apm$ctx.result;\n if (__apm$iter != null && typeof __apm$iter.next === 'function') {\n const __apm$patchIter = function (method) {\n const __apm$orig = __apm$iter[method];\n if (typeof __apm$orig !== 'function') return;\n __apm$iter[method] = function () {\n const __apm$iterArgs = Array.prototype.slice.call(arguments);\n if (!tr_ch_apm_hasSubscribers(${iterChannelVariable})) return __apm$orig.apply(this, __apm$iterArgs);\n __apm$ctx.method = method;\n __apm$ctx.arguments = __apm$iterArgs;\n return ${iterChannelVariable}.${traceMethod}(__apm$orig, __apm$ctx, this, ...__apm$iterArgs);\n };\n };\n __apm$patchIter('next');\n __apm$patchIter('throw');\n __apm$patchIter('return');\n }\n `\n}\n"],"names":["require$$0","require$$1","transformsModule","node"],"mappings":"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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAMvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACR,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,CAAC,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,CAAC,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,OAAO,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,CAAC;AAAA,CAAA,CAAA,CAAA,CAAA,CACvC;AAAA,CAAA,CAAA,CACF;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,C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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAO9C;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACyB,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA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AAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEmD,aAAa,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAElE,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAKhB,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAGf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGX,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAMX,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAQwB,aAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEnD,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAKlB,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAIxB,CAAA;AACH;AAYA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAI;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAY,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;AACxB,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAsB,WAAW,CAAA;AASzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAA,CAAM;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEuB,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEtC,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAKhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAaL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAKf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAQjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAMnB,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAIxB,CAAA;AACH;AAcA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAI;AAC9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAY,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;AACxB,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAsB,WAAW,CAAA;AAOzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAA,CAAM;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEuB,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEtC,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAGlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGT,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA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A,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAQiC,mBAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAG1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,IAAI,WAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAQrD;;;;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"transforms.js","sources":["../../../../../../../../node_modules/@apm-js-collab/code-transformer/lib/transforms.js"],"sourcesContent":["'use strict'\n\nconst esquery = require('esquery')\nconst { parse } = require('meriyah')\n\n/**\n * Returns `true` if `node` is already a `tracingChannel` import/require statement,\n * used to avoid duplicate injections.\n *\n * @param {import('estree').Node} node\n * @returns {boolean}\n */\nconst tracingChannelPredicate = (node) => (\n node.declarations?.[0]?.id?.properties?.[0]?.value?.name === 'tr_ch_apm_tracingChannel'\n)\n\nconst CHANNEL_REGEX = /[^\\w]/g\n/**\n * Formats the channel variable name by replacing any non-whitespace characters with `_`\n *\n * @param {string} channelName\n */\nconst formatChannelVariable = (channelName) => `tr_ch_apm$${channelName.replace(CHANNEL_REGEX, '_')}`\n\nmodule.exports = {\n /**\n * Injects a `tracingChannel` import/require into the program body if one is not\n * already present.\n *\n * @param {{ dcModule: string, sourceType: 'module'|'script' }} state\n * @param {import('estree').Program} node - The program root node.\n */\n tracingChannelImport ({ dcModule, moduleType }, node) {\n if (node.body.some(tracingChannelPredicate)) return\n\n const options = { module: moduleType === 'esm' }\n const index = node.body.findIndex(child => child.directive === 'use strict')\n const dc = moduleType === 'esm'\n ? `import tr_ch_apm_dc from \"${dcModule}\"`\n : `const tr_ch_apm_dc = require(\"${dcModule}\")`\n const tracingChannel = 'const { tracingChannel: tr_ch_apm_tracingChannel } = tr_ch_apm_dc'\n const hasSubscribers = `const tr_ch_apm_hasSubscribers = ch => ch.start.hasSubscribers\n || ch.end.hasSubscribers\n || ch.asyncStart.hasSubscribers\n || ch.asyncEnd.hasSubscribers\n || ch.error.hasSubscribers`\n\n node.body.splice(\n index + 1,\n 0,\n parse(dc, options).body[0],\n parse(tracingChannel, options).body[0],\n parse(hasSubscribers, options).body[0]\n )\n },\n\n /**\n * Injects a `tracingChannel(...)` variable declaration for the config's channel\n * into the program body, also ensuring the import is present.\n *\n * @param {{ channelName: string, module: { name: string }, dcModule: string, sourceType: 'module'|'script', transforms: Record<string, Function> }} state\n * @param {import('estree').Program} node - The program root node.\n */\n tracingChannelDeclaration (state, node) {\n const { channelName, module: { name } } = state\n const channelVariable = formatChannelVariable(channelName)\n\n if (node.body.some(child => child.declarations?.[0]?.id?.name === channelVariable)) return\n\n state.transforms.tracingChannelImport(state, node)\n\n const index = node.body.findIndex(tracingChannelPredicate)\n const code = `\n const ${channelVariable} = tr_ch_apm_tracingChannel(\"orchestrion:${name}:${channelName}\")\n `\n\n node.body.splice(index + 1, 0, parse(code).body[0])\n },\n\n traceCallback: traceAny,\n tracePromise: traceAny,\n traceSync: traceAny,\n traceAuto: traceAny,\n}\n\n/**\n * Replaces a function's params with numbered placeholders (`__apm$arg0`,\n * `__apm$arg1`, ...) plus a rest element (`...__apm$args`) to capture overflow.\n * This preserves the function's `.length` while giving the preamble a uniform\n * way to reconstruct all call-site arguments. `RestElement` and\n * `AssignmentPattern` params are excluded from the count since they do not\n * contribute to `.length`.\n *\n * @param {import('estree').Pattern[]} params - The original function params.\n * @returns {import('estree').Pattern[]} The replacement params.\n */\nfunction wrapParams (params) {\n const originalParams = params || []\n const numberedParams = originalParams\n .filter(param => param.type !== 'RestElement' && param.type !== 'AssignmentPattern')\n .map((_, i) => ({ type: 'Identifier', name: `__apm$arg${i}` }))\n\n return [\n ...numberedParams,\n { type: 'RestElement', argument: { type: 'Identifier', name: '__apm$args' } }\n ]\n}\n/**\n * Generic trace entry point. Dispatches to {@link traceInstanceMethod} for class\n * nodes or {@link traceFunction} for all other function nodes.\n *\n * @param {object} state - Merged instrumentation + runtime state.\n * @param {import('estree').Node} node - Matched AST node.\n * @param {import('estree').Node} _parent\n * @param {import('estree').Node[]} ancestry - Full ancestor chain, root last.\n */\nfunction traceAny (state, node, _parent, ancestry) {\n const program = ancestry[ancestry.length - 1]\n\n if (node.type === 'ClassDeclaration' || node.type === 'ClassExpression') {\n traceInstanceMethod(state, node, program)\n } else {\n traceFunction(state, node, program)\n }\n}\n\n/**\n * Returns `true` if `stmt` is a `return <channelVariable>.start.runStores(...)`\n * statement, the shape every wrapper template\n * (`wrapSync`/`wrapPromise`/`wrapCallback`/`wrapAuto`) ends with.\n *\n * @param {import('estree').Node} stmt\n * @param {string} channelVariable\n * @returns {boolean}\n */\nfunction isChannelRunStoresReturn (stmt, channelVariable) {\n if (stmt.type !== 'ReturnStatement') return false\n const callee = stmt.argument?.type === 'CallExpression' ? stmt.argument.callee : null\n return callee?.type === 'MemberExpression' &&\n callee.property?.name === 'runStores' &&\n callee.object?.type === 'MemberExpression' &&\n callee.object.property?.name === 'start' &&\n callee.object.object?.type === 'Identifier' &&\n callee.object.object.name === channelVariable\n}\n\n/**\n * Given the body statements of a wrapper function, returns the function that was\n * moved into its `__apm$traced` closure as `const __apm$wrapped = <fn>` (i.e. the\n * next layer down: either an inner wrapper or the original function). Returns\n * `null` when there is no such closure, which marks the bottom of the stack (the\n * original, un-wrapped body).\n *\n * @param {import('estree').Statement[]} body\n * @returns {import('estree').Function|null}\n */\nfunction nextWrappedFunction (body) {\n const declInit = (stmts, name) => {\n const decl = stmts?.find(stmt =>\n stmt.type === 'VariableDeclaration' &&\n stmt.declarations.some(d => d.id?.name === name)\n )\n return decl?.declarations.find(d => d.id?.name === name)?.init ?? null\n }\n\n const traced = declInit(body, '__apm$traced')\n const wrapped = declInit(traced?.body?.body, '__apm$wrapped')\n const type = wrapped?.type\n return type === 'FunctionExpression' || type === 'ArrowFunctionExpression' || type === 'FunctionDeclaration'\n ? wrapped\n : null\n}\n\n/**\n * Returns `true` if `node` is already wrapped for `channelVariable` at any layer\n * of the wrapper stack this transform builds.\n *\n * The check is scoped to the specific channel (not just \"is this instrumented at\n * all\") on purpose: re-wrapping the same function on the *same* channel\n * double-publishes to one channel and is the double-instrumentation bug we skip,\n * whereas wrapping it on a *different* channel is a second, independent APM whose\n * instrumentation must not be silently dropped.\n *\n * It walks down the `__apm$wrapped` closure chain rather than only inspecting the\n * outermost layer, so an already-wrapped channel is still detected after a\n * different channel has been wrapped on top of it. The walk only follows this\n * transform's own scaffolding, so unrelated nested functions in the original body\n * are never mistaken for a wrapper.\n *\n * @param {import('estree').Node} node - A function-like node.\n * @param {string} channelVariable - The channel variable name for this config.\n * @returns {boolean}\n */\nfunction isWrappedForChannel (node, channelVariable) {\n const visited = new Set()\n let fn = node\n while (fn && !visited.has(fn)) {\n visited.add(fn)\n const body = fn.body?.body\n if (!Array.isArray(body)) return false\n if (body.some(stmt => isChannelRunStoresReturn(stmt, channelVariable))) return true\n fn = nextWrappedFunction(body)\n }\n return false\n}\n\n/**\n * Returns `true` if `ctor` already declares `bindingName`, the per-channel\n * `const <channelVar>$<method> = this[\"<method>\"]` binding injected by\n * {@link traceInstanceMethod}. Used to keep re-transforming already instrumented\n * output idempotent for instance methods wrapped at runtime inside the\n * constructor, without dropping a different channel's patch.\n *\n * @param {import('estree').MethodDefinition} ctor - The class constructor node.\n * @param {string} bindingName - The channel-namespaced saved-original binding.\n * @returns {boolean}\n */\nfunction constructorPatchesMethod (ctor, bindingName) {\n const body = ctor?.value?.body?.body\n if (!Array.isArray(body)) return false\n return body.some(stmt =>\n stmt.type === 'VariableDeclaration' &&\n stmt.declarations.some(decl => decl.id?.name === bindingName)\n )\n}\n\n/**\n * Wraps a function node's body with diagnostics_channel tracing.\n *\n * Injects the channel declaration, wraps the original body in an inner function,\n * and rewrites `super` references if needed.\n *\n * @param {object} state\n * @param {import('estree').Function} node - The function node to instrument.\n * @param {import('estree').Program} program\n */\nfunction traceFunction (state, node, program) {\n // Idempotency guard: the name-based esquery selectors re-match the outer\n // wrapper function on a second pass (the `[async]` token is structural, and\n // the wrapper keeps the target's name), so bail out if this node is already\n // wrapped for this channel instead of double-publishing to it. A different\n // channel (a second, independent APM) is intentionally allowed to wrap it.\n if (isWrappedForChannel(node, formatChannelVariable(state.channelName))) return\n\n state.transforms.tracingChannelDeclaration(state, program)\n\n const { functionQuery: { methodName, privateMethodName, functionName, expressionName, propertyName } } = state\n const isConstructor = methodName === 'constructor' ||\n (!methodName && !privateMethodName && !functionName && !expressionName && !propertyName)\n const type = isConstructor ? 'ArrowFunctionExpression' : node.type\n const params = node.params\n\n node.body = wrap(state, {\n type,\n params,\n body: node.body,\n async: node.async,\n expression: false,\n generator: node.generator,\n }, program)\n\n node.params = wrapParams(params)\n\n // The original function no longer contains any calls to `await` or `yield` as\n // the function body is copied to the internal wrapped function, so we set\n // these to false to avoid altering the return value of the wrapper. The old\n // values are instead copied to the new AST node above.\n node.generator = false\n node.async = false\n\n wrapSuper(state, node)\n}\n\n/**\n * Instruments an instance method that may not exist on the class at definition\n * time by patching it inside the constructor.\n *\n * If the method is already defined on the class body it is skipped (it will be\n * handled via {@link traceFunction} when the child node is visited). Otherwise a\n * constructor is synthesised (or extended) to wrap `this[methodName]` at runtime.\n *\n * @param {object} state\n * @param {import('estree').ClassDeclaration|import('estree').ClassExpression} node\n * @param {import('estree').Program} program\n */\nfunction traceInstanceMethod (state, node, program) {\n const { functionQuery, operator, channelName } = state\n const { methodName } = functionQuery\n\n // No methodName means a constructor-only config — the constructor FunctionExpression\n // is matched directly by the other queries and handled via traceFunction instead.\n if (!methodName) return\n\n const classBody = node.body\n\n // If the method exists on the class, we return as it will be patched later\n // while traversing child nodes later on.\n // `key` is absent on members without one (e.g. ES2022 `static {}` blocks),\n // so guard against reading `.name` on undefined.\n if (classBody.body.some(({ key }) => key?.name === methodName)) return\n\n // Method doesn't exist on the class so we assume an instance method and\n // wrap it in the constructor instead.\n let ctor = classBody.body.find(({ kind }) => kind === 'constructor')\n\n // The binding that captures the previous `this[method]` is namespaced by\n // channel so that patches for different channels stack in the constructor\n // (each wraps the previous one) rather than colliding on one `const`.\n const savedBinding = `${formatChannelVariable(channelName)}$${methodName}`\n\n // Idempotency guard: skip if this channel has already patched this method into\n // the constructor. Scoped per channel (not per method) so a re-run of the same\n // config is a no-op while a different channel is still allowed to add its own\n // patch, keeping this path consistent with `traceFunction`.\n if (ctor && constructorPatchesMethod(ctor, savedBinding)) return\n\n state.transforms.tracingChannelDeclaration(state, program)\n\n if (!ctor) {\n ctor = parse(\n node.superClass\n ? 'class A extends Object { constructor (...args) { super(...args) } }'\n : 'class A { constructor () {} }'\n ).body[0].body.body[0] // Extract constructor from dummy class body.\n\n classBody.body.unshift(ctor)\n }\n\n const ctorBody = parse(`\n const ${savedBinding} = this[\"${methodName}\"]\n this[\"${methodName}\"] = function () {}\n if (typeof ${savedBinding} === 'function') {\n Object.defineProperty(this[\"${methodName}\"], 'length', {\n value: ${savedBinding}.length,\n configurable: true\n })\n }\n `).body\n\n // Extract only right-hand side function of line 2.\n const fn = ctorBody[1].expression.right\n fn.params = [{ type: 'RestElement', argument: { type: 'Identifier', name: '__apm$args' } }]\n\n fn.async = operator === 'tracePromise'\n fn.body = wrap(state, { type: 'Identifier', name: savedBinding }, program)\n wrapSuper(state, fn)\n\n ctor.value.body.body.push(...ctorBody)\n}\n\n/**\n * Builds the replacement block statement for a function body.\n *\n * Selects the appropriate wrapper template (`wrapSync`, `wrapPromise`, etc.) and\n * prepends the shared `__apm$ctx` / `__apm$traced` preamble before returning the\n * resulting block statement body.\n *\n * @param {object} state\n * @param {import('estree').Node} node - The original function (or identifier for instance methods).\n * @param {import('estree').Program} program\n * @returns {import('estree').BlockStatement['body']}\n */\nfunction wrap (state, node, program) {\n const { operator, moduleVersion } = state\n const { returnKind } = state.functionQuery\n\n const iterPatch = returnKind ? generateIterPatch(state, returnKind, program) : ''\n\n let wrapper\n\n if (operator === 'traceCallback') wrapper = wrapCallback(state, node, iterPatch)\n if (operator === 'tracePromise') wrapper = wrapPromise(state, node, iterPatch)\n if (operator === 'traceSync') wrapper = wrapSync(state, node, iterPatch)\n if (operator === 'traceAuto') wrapper = wrapAuto(state, node, iterPatch)\n\n const args = (node.params || [])\n .filter(param => param.type !== 'RestElement' && param.type !== 'AssignmentPattern')\n .map((_, i) => `__apm$arg${i}`).concat('...__apm$args').join(', ')\n\n const block = wrapper.body[0].body // Extract only block statement of function body.\n const common = parse(node.type === 'ArrowFunctionExpression'\n ? `\n const __apm$arguments = [${args}];\n const __apm$ctx = {\n arguments: __apm$arguments,\n moduleVersion: ${JSON.stringify(moduleVersion)}\n };\n const __apm$traced = () => {\n const __apm$wrapped = () => {};\n return __apm$wrapped(...__apm$arguments);\n };\n `\n : `\n const __apm$arguments = [${args}].slice(0, arguments.length);\n const __apm$ctx = {\n arguments: __apm$arguments,\n self: this,\n moduleVersion: ${JSON.stringify(moduleVersion)}\n };\n const __apm$traced = () => {\n const __apm$wrapped = () => {};\n return __apm$wrapped.apply(this, __apm$arguments);\n };\n `).body\n\n block.body.unshift(...common)\n\n // Replace the right-hand side assignment of `const __apm$wrapped = () => {}`.\n esquery.query(block, '[id.name=__apm$wrapped]')[0].init = node\n\n return block\n}\n\n/**\n * Rewrites `super.method(...)` calls inside a moved function body.\n *\n * Because the original body is copied into a nested arrow/function, `super` would\n * no longer be in scope. Each unique `super.x` reference is replaced with\n * `__apm$super['x']` and a preamble that captures the super-binding in the\n * outermost method scope is prepended.\n *\n * @param {object} _state\n * @param {import('estree').Function} node - The outer (wrapper) function node.\n */\nfunction wrapSuper (_state, node) {\n const members = new Set()\n\n esquery.traverse(\n node.body,\n esquery.parse('[object.type=Super]'),\n (node, parent) => {\n const { name } = node.property\n\n let child\n\n if (parent.callee) {\n // This is needed because for generator functions we have to move the\n // original function to a nested wrapped function, but we can't use an\n // arrow function because arrow function cannot be generator functions,\n // and `super` cannot be called from a nested function, so we have to\n // rewrite any `super` call to not use the keyword.\n const { expression } = parse(`__apm$super['${name}'].call(this)`).body[0]\n\n parent.callee = child = expression.callee\n parent.arguments.unshift(...expression.arguments)\n } else {\n parent.expression = child = parse(`__apm$super['${name}']`).body[0]\n }\n\n child.computed = parent.callee.computed\n child.optional = parent.callee.optional\n\n members.add(name)\n }\n )\n\n for (const name of members) {\n const member = parse(`\n class Wrapper {\n wrapper () {\n __apm$super['${name}'] = super['${name}']\n }\n }\n `).body[0].body.body[0].value.body.body[0]\n\n node.body.body.unshift(member)\n }\n\n if (members.size > 0) {\n node.body.body.unshift(parse('const __apm$super = {}').body[0])\n }\n}\n\n/**\n * Builds a composite wrapper AST that detects at runtime whether to use callback\n * or promise tracing: if the argument at `callbackIndex` is a function, the\n * callback path is taken; otherwise the promise path is used as the fallback.\n *\n * @param {object} state\n * @param {import('estree').Node} node\n * @param {import('estree').Program} program\n * @returns {import('estree').Program} Parsed wrapper function program.\n */\nfunction wrapAuto (state, node, iterPatch = '') {\n const cbWrapperAST = wrapCallback(state, node, iterPatch)\n const promiseWrapperAST = wrapPromise(state, node, iterPatch)\n\n const [\n getCbArg,\n checkHasSubscribers,\n defineWrappedCb,\n checkCbIsFunction,\n spliceCbArg,\n runStores,\n ] = cbWrapperAST.body[0].body.body\n\n const fallbackToPromise = {\n type: 'IfStatement',\n test: checkCbIsFunction.test,\n consequent: { type: 'BlockStatement', body: promiseWrapperAST.body[0].body.body },\n alternate: null,\n }\n\n cbWrapperAST.body[0].body.body = [\n getCbArg,\n fallbackToPromise,\n checkHasSubscribers,\n defineWrappedCb,\n spliceCbArg,\n runStores,\n ]\n\n return cbWrapperAST\n}\n\n/**\n * Builds the wrapper AST for a callback-style function.\n *\n * Replaces the callback argument (at `callbackIndex`) with a wrapped version that\n * publishes to the tracing channel on completion or error.\n *\n * @param {{ channelName: string, functionQuery: { callbackIndex?: number } }} state\n * @param {import('estree').Node} node - The original function node (unused; replaced by preamble).\n * @returns {import('estree').Program} Parsed wrapper function program.\n */\nfunction wrapCallback (state, node, iterPatch = '') {\n const { channelName, functionQuery: { callbackIndex = -1 } } = state\n const channelVariable = formatChannelVariable(channelName)\n\n return parse(`\n function wrapper () {\n const __apm$cb = Array.prototype.at.call(__apm$arguments, ${callbackIndex});\n\n if (!${channelVariable}.start.hasSubscribers) return __apm$traced();\n\n function __apm$wrappedCb(err, res) {\n if (err) {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n } else {\n __apm$ctx.result = res;\n ${iterPatch}\n }\n\n ${channelVariable}.asyncStart.runStores(__apm$ctx, () => {\n try {\n if (__apm$cb) {\n return __apm$cb.apply(this, arguments);\n }\n } finally {\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n }\n });\n }\n\n if (typeof __apm$cb !== 'function') {\n return __apm$traced();\n }\n Array.prototype.splice.call(__apm$arguments, ${callbackIndex}, 1, __apm$wrappedCb);\n\n return ${channelVariable}.start.runStores(__apm$ctx, () => {\n try {\n return __apm$traced();\n } catch (err) {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n throw err;\n } finally {\n __apm$ctx.self ??= this;\n ${channelVariable}.end.publish(__apm$ctx);\n }\n });\n }\n `)\n}\n\n/**\n * Builds the wrapper AST for a Promise-returning function.\n *\n * Uses `runStores` to propagate async context and publishes\n * `asyncStart`/`asyncEnd`/`error` channel events on settlement.\n *\n * @param {{ channelName: string }} state\n * @param {import('estree').Node} node\n * @returns {import('estree').Program} Parsed wrapper function program.\n */\nfunction wrapPromise (state, node, iterPatch = '') {\n const { channelName } = state\n const channelVariable = formatChannelVariable(channelName)\n\n // A subscriber can substitute the resolved value by reassigning\n // `message.result` in `asyncEnd` (the wrapper returns `__apm$ctx.result`),\n // but ONLY for native `Promise` instances. For Promise subclasses and other\n // thenables we side-chain the callbacks and return the original object so\n // that any subclass-specific methods (e.g. `APIPromise.withResponse()`)\n // remain accessible to the caller; that means their resolved value cannot be\n // mutated.\n return parse(`\n function wrapper () {\n if (!tr_ch_apm_hasSubscribers(${channelVariable})) return __apm$traced();\n\n return ${channelVariable}.start.runStores(__apm$ctx, () => {\n try {\n let promise = __apm$traced();\n if (typeof promise?.then !== 'function') {\n __apm$ctx.result = promise;\n ${iterPatch}\n return __apm$ctx.result;\n }\n // Mirror Node.js core diagnostics_channel behaviour: for native Promise\n // instances, chain normally (safe since there is no subclass API to\n // preserve). For Promise subclasses and other thenables, side-chain the\n // callbacks for event publishing and return the original so that any\n // subclass-specific methods (e.g. APIPromise.withResponse()) remain\n // accessible to the caller.\n if (promise instanceof Promise && promise.constructor === Promise) {\n return promise.then(\n result => {\n __apm$ctx.result = result;\n ${iterPatch}\n ${channelVariable}.asyncStart.publish(__apm$ctx);\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n return __apm$ctx.result;\n },\n err => {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n ${channelVariable}.asyncStart.publish(__apm$ctx);\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n throw err;\n }\n );\n }\n promise.then(\n result => {\n __apm$ctx.result = result;\n ${iterPatch}\n ${channelVariable}.asyncStart.publish(__apm$ctx);\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n },\n err => {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n ${channelVariable}.asyncStart.publish(__apm$ctx);\n ${channelVariable}.asyncEnd.publish(__apm$ctx);\n }\n );\n return promise;\n } catch (err) {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n throw err;\n } finally {\n __apm$ctx.self ??= this;\n ${channelVariable}.end.publish(__apm$ctx);\n }\n });\n }\n `)\n}\n\n/**\n * Builds the wrapper AST for a synchronous function.\n *\n * Uses `runStores` for context propagation and publishes `error` channel events\n * on throw. The result is stored in `__apm$ctx.result` on success, and the\n * wrapper returns whatever `__apm$ctx.result` holds after `end` publishes, so a\n * subscriber's `end` handler can substitute the return value via `message.result`.\n *\n * @param {{ channelName: string }} state\n * @param {import('estree').Node} node\n * @returns {import('estree').Program} Parsed wrapper function program.\n */\nfunction wrapSync (state, node, iterPatch = '') {\n const { channelName } = state\n const channelVariable = formatChannelVariable(channelName)\n\n // The return value is whatever `__apm$ctx.result` holds *after* `end` has\n // published, so a subscriber's `end` handler can reassign `message.result`\n // to substitute it (e.g. to wrap a returned handler). The `return`\n // therefore sits below the `try`/`finally`: on the throw path the `catch`\n // re-throws, so the trailing `return` is unreachable.\n return parse(`\n function wrapper () {\n if (!tr_ch_apm_hasSubscribers(${channelVariable})) return __apm$traced();\n\n return ${channelVariable}.start.runStores(__apm$ctx, () => {\n try {\n __apm$ctx.result = __apm$traced();\n ${iterPatch}\n } catch (err) {\n __apm$ctx.error = err;\n ${channelVariable}.error.publish(__apm$ctx);\n throw err;\n } finally {\n __apm$ctx.self ??= this;\n ${channelVariable}.end.publish(__apm$ctx);\n }\n return __apm$ctx.result;\n });\n }\n `)\n}\n\n/**\n * Injects a `:next` tracing channel declaration (for iterator method tracing) into\n * the program body, inserting it immediately after the main channel declaration.\n *\n * @param {object} state\n * @param {import('estree').Program} program\n */\nfunction declareIteratorChannel (state, program) {\n const { channelName, module: { name } } = state\n const iterChannelVariable = formatChannelVariable(channelName + ':next')\n\n if (program.body.some(child => child.declarations?.[0]?.id?.name === iterChannelVariable)) return\n\n const channelVariable = formatChannelVariable(channelName)\n const index = program.body.findIndex(child =>\n child.declarations?.[0]?.id?.name === channelVariable\n )\n const code = `const ${iterChannelVariable} = tr_ch_apm_tracingChannel(\"orchestrion:${name}:${channelName}:next\")`\n program.body.splice(index + 1, 0, parse(code).body[0])\n}\n\n/**\n * Generates the iterator-patching code string for injection into an existing\n * wrapper. Patches `next`, `throw`, and `return` on the iterator held in\n * `__apm$ctx.result`, publishing to the `:next` tracing channel via\n * `traceSync` or `tracePromise` depending on `returnKind`.\n *\n * @param {object} state\n * @param {'Iterator'|'AsyncIterator'} returnKind\n * @param {import('estree').Program} program\n * @returns {string}\n */\nfunction generateIterPatch (state, returnKind, program) {\n const { channelName } = state\n const traceMethod = returnKind === 'Iterator' ? 'traceSync' : 'tracePromise'\n const iterChannelVariable = formatChannelVariable(channelName + ':next')\n\n declareIteratorChannel(state, program)\n\n return `\n const __apm$iter = __apm$ctx.result;\n if (__apm$iter != null && typeof __apm$iter.next === 'function') {\n const __apm$patchIter = function (method) {\n const __apm$orig = __apm$iter[method];\n if (typeof __apm$orig !== 'function') return;\n __apm$iter[method] = function () {\n const __apm$iterArgs = Array.prototype.slice.call(arguments);\n if (!tr_ch_apm_hasSubscribers(${iterChannelVariable})) return __apm$orig.apply(this, __apm$iterArgs);\n __apm$ctx.method = method;\n __apm$ctx.arguments = __apm$iterArgs;\n return ${iterChannelVariable}.${traceMethod}(__apm$orig, __apm$ctx, this, ...__apm$iterArgs);\n };\n };\n __apm$patchIter('next');\n __apm$patchIter('throw');\n __apm$patchIter('return');\n }\n `\n}\n"],"names":["require$$0","require$$1","node"],"mappings":"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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAMvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACR,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,CAAC,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,CAAC,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,OAAO,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,CAAC;AAAA,CAAA,CAAA,CAAA,CAAA,CACvC;AAAA,CAAA,CAAA,CACF;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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AA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEmD,aAAa,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAElE,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAKhB,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAGf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGX,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAMX,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAQwB,aAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEnD,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAKlB,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAIxB,CAAA;AACH;AAYA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAI;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAY,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;AACxB,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAsB,WAAW,CAAA;AASzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAA,CAAM;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEuB,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEtC,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAKhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAaL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAKf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAQjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAGlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGT,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIf,eAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAQiC,mBAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAG1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,IAAI,WAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAQrD;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
|
|
3
|
+
const coreDC9TN3Ev = require('./core-dC9TN3Ev.js');
|
|
4
|
+
const node_fs = require('node:fs');
|
|
5
|
+
|
|
6
|
+
//#region src/bun.ts
|
|
7
|
+
function loaderForPath(path) {
|
|
8
|
+
if (path.endsWith(".tsx")) return "tsx";
|
|
9
|
+
if (path.endsWith(".jsx")) return "jsx";
|
|
10
|
+
if (path.endsWith(".ts") || path.endsWith(".cts") || path.endsWith(".mts")) return "ts";
|
|
11
|
+
return "js";
|
|
12
|
+
}
|
|
13
|
+
function buildFilter(options) {
|
|
14
|
+
const names = Array.from(new Set(options.instrumentations.map((i) => i.module.name))).map((n) => n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
15
|
+
if (names.length === 0) return /(?!)/;
|
|
16
|
+
const alt = names.join("|");
|
|
17
|
+
return new RegExp(`node_modules[/\\\\](?:${alt})[/\\\\].*\\.(?:cjs|mjs|cts|mts|tsx|jsx|ts|js)$`);
|
|
18
|
+
}
|
|
19
|
+
function codeTransformerBun(options) {
|
|
20
|
+
const filter = buildFilter(options);
|
|
21
|
+
return {
|
|
22
|
+
name: "code-transformer",
|
|
23
|
+
setup(build) {
|
|
24
|
+
let transformer = coreDC9TN3Ev.r(options);
|
|
25
|
+
const bunBuild = build;
|
|
26
|
+
if (typeof build.onStart === "function") build.onStart(() => {
|
|
27
|
+
transformer = coreDC9TN3Ev.r(options);
|
|
28
|
+
});
|
|
29
|
+
build.onLoad({
|
|
30
|
+
filter,
|
|
31
|
+
namespace: "file"
|
|
32
|
+
}, (args) => {
|
|
33
|
+
const contents = node_fs.readFileSync(args.path, "utf8");
|
|
34
|
+
const result = transformer.transform(contents, args.path);
|
|
35
|
+
const loader = loaderForPath(args.path);
|
|
36
|
+
return {
|
|
37
|
+
contents: result ? result.code : contents,
|
|
38
|
+
loader
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
if (!options.injectDiagnostics) return;
|
|
42
|
+
if (typeof bunBuild.onEnd !== "function") {
|
|
43
|
+
console.warn("'injectDiagnostics' is not supported when the plugin is registered at runtime via 'Bun.plugin()' because there is no bundle to inject into. Use it with 'Bun.build()'.");
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (!bunBuild.config?.outdir) {
|
|
47
|
+
console.warn("'injectDiagnostics' requires an 'outdir' in the 'Bun.build()' config because in-memory build outputs cannot be modified.");
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
bunBuild.onEnd((result) => {
|
|
51
|
+
if (!result.success) return;
|
|
52
|
+
const injectCode = transformer.getCodeToInject();
|
|
53
|
+
if (!injectCode) return;
|
|
54
|
+
for (const artifact of result.outputs) {
|
|
55
|
+
if (artifact.kind !== "entry-point" || !coreDC9TN3Ev.i(artifact.path)) continue;
|
|
56
|
+
const code = node_fs.readFileSync(artifact.path, "utf8");
|
|
57
|
+
node_fs.writeFileSync(artifact.path, injectCode + code);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
exports.default = codeTransformerBun;
|
|
65
|
+
//# sourceMappingURL=bun.js.map
|
package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun.js","sources":["../../../../../../../../../node_modules/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/bun.mjs"],"sourcesContent":["import { i as isJsFile, r as createCodeTransformer } from \"./core-dC9TN3Ev.mjs\";\nimport { readFileSync, writeFileSync } from \"node:fs\";\n//#region src/bun.ts\nfunction loaderForPath(path) {\n\tif (path.endsWith(\".tsx\")) return \"tsx\";\n\tif (path.endsWith(\".jsx\")) return \"jsx\";\n\tif (path.endsWith(\".ts\") || path.endsWith(\".cts\") || path.endsWith(\".mts\")) return \"ts\";\n\treturn \"js\";\n}\nfunction buildFilter(options) {\n\tconst names = Array.from(new Set(options.instrumentations.map((i) => i.module.name))).map((n) => n.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n\tif (names.length === 0) return /(?!)/;\n\tconst alt = names.join(\"|\");\n\treturn new RegExp(`node_modules[/\\\\\\\\](?:${alt})[/\\\\\\\\].*\\\\.(?:cjs|mjs|cts|mts|tsx|jsx|ts|js)$`);\n}\nfunction codeTransformerBun(options) {\n\tconst filter = buildFilter(options);\n\treturn {\n\t\tname: \"code-transformer\",\n\t\tsetup(build) {\n\t\t\tlet transformer = createCodeTransformer(options);\n\t\t\tconst bunBuild = build;\n\t\t\tif (typeof build.onStart === \"function\") build.onStart(() => {\n\t\t\t\ttransformer = createCodeTransformer(options);\n\t\t\t});\n\t\t\tbuild.onLoad({\n\t\t\t\tfilter,\n\t\t\t\tnamespace: \"file\"\n\t\t\t}, (args) => {\n\t\t\t\tconst contents = readFileSync(args.path, \"utf8\");\n\t\t\t\tconst result = transformer.transform(contents, args.path);\n\t\t\t\tconst loader = loaderForPath(args.path);\n\t\t\t\treturn {\n\t\t\t\t\tcontents: result ? result.code : contents,\n\t\t\t\t\tloader\n\t\t\t\t};\n\t\t\t});\n\t\t\tif (!options.injectDiagnostics) return;\n\t\t\tif (typeof bunBuild.onEnd !== \"function\") {\n\t\t\t\tconsole.warn(\"'injectDiagnostics' is not supported when the plugin is registered at runtime via 'Bun.plugin()' because there is no bundle to inject into. Use it with 'Bun.build()'.\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!bunBuild.config?.outdir) {\n\t\t\t\tconsole.warn(\"'injectDiagnostics' requires an 'outdir' in the 'Bun.build()' config because in-memory build outputs cannot be modified.\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tbunBuild.onEnd((result) => {\n\t\t\t\tif (!result.success) return;\n\t\t\t\tconst injectCode = transformer.getCodeToInject();\n\t\t\t\tif (!injectCode) return;\n\t\t\t\tfor (const artifact of result.outputs) {\n\t\t\t\t\tif (artifact.kind !== \"entry-point\" || !isJsFile(artifact.path)) continue;\n\t\t\t\t\tconst code = readFileSync(artifact.path, \"utf8\");\n\t\t\t\t\twriteFileSync(artifact.path, injectCode + code);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n}\n//#endregion\nexport { codeTransformerBun as default };\n\n//# sourceMappingURL=bun.mjs.map"],"names":["createCodeTransformer","readFileSync","isJsFile","writeFileSync"],"mappings":";;;;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAC7B,CAAC,CAAA,CAAA,CAAA,CAAI,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AACxC,CAAC,CAAA,CAAA,CAAA,CAAI,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK;AACxC,CAAC,CAAA,CAAA,CAAA,CAAI,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI;AACxF,CAAC,OAAO,CAAA,CAAA,CAAA,CAAI;AACZ;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AAC9B,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,qBAAqB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC;AAC3I,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAK,CAAC,CAAA,CAAE,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACtC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,GAAG,CAAC;AAC5B,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAA,CAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC,CAAC;AACjG;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAE;AACrC,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,OAAO,CAAC;AACpC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACR,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB;AAC1B,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE;AACf,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAqB,CAAC,OAAO,CAAC;AACnD,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK;AACzB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAChE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAqB,CAAC,OAAO,CAAC;AAChD,CAAA,CAAA,CAAG,CAAC,CAAC;AACL,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC;AAChB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACV,CAAA,CAAA,CAAA,CAAI,SAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK;AAChB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC;AACpD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC;AAC7D,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,IAAI,CAAC;AAC3C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AACX,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,MAAM,CAAC,CAAA,CAAA,CAAA,CAAI,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AAC9C,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACL,CAAA,CAAA,CAAA,CAAA,CAAK;AACL,CAAA,CAAA,CAAG,CAAC,CAAC;AACL,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,iBAAiB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACnC,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAE;AAC7C,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,wKAAwK,CAAC;AAC1L,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAA,CAAG,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,MAAM,CAAA,CAAE;AACjC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,0HAA0H,CAAC;AAC5I,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAG;AACH,CAAA,CAAA,CAAG,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK;AAC9B,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,OAAO,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAI,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,eAAe,CAAA,CAAE;AACpD,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,OAAO,CAAA,CAAE;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAI,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAGD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC;AACrD,CAAA,CAAA,CAAA,CAAA,CAAKE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,IAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC;AACpD,CAAA,CAAA,CAAA,CAAI;AACJ,CAAA,CAAA,CAAG,CAAC,CAAC;AACL,CAAA,CAAE;AACF,CAAA,CAAE;AACF;;","x_google_ignoreList":[0]}
|
package/build/cjs/vendored/@apm-js-collab/code-transformer-bundler-plugins/dist/esm/core-dC9TN3Ev.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
|
|
3
3
|
const index = require('../../../code-transformer/index.js');
|
|
4
4
|
const require$$0 = require('node:path');
|
|
5
|
-
const
|
|
5
|
+
const fs = require('node:fs');
|
|
6
6
|
const index$1 = require('../../../../module-details-from-path/index.js');
|
|
7
7
|
|
|
8
8
|
//#region node_modules/es-module-lexer/dist/lexer.js
|
|
@@ -147,7 +147,7 @@ function shouldSkipCodeInjection(code, facadeModuleId) {
|
|
|
147
147
|
function getModuleVersion(basedir) {
|
|
148
148
|
try {
|
|
149
149
|
const packageJsonPath = require$$0.join(basedir, "package.json");
|
|
150
|
-
const packageJson = JSON.parse(
|
|
150
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
151
151
|
if (packageJson.version) return packageJson.version;
|
|
152
152
|
} catch (_) {}
|
|
153
153
|
}
|