@depup/sentry__server-utils 10.67.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (848) hide show
  1. package/README.md +32 -0
  2. package/build/cjs/debug-build.js +6 -0
  3. package/build/cjs/debug-build.js.map +1 -0
  4. package/build/cjs/graphql/graphql-dc-subscriber.js +123 -0
  5. package/build/cjs/graphql/graphql-dc-subscriber.js.map +1 -0
  6. package/build/cjs/graphql/index.js +23 -0
  7. package/build/cjs/graphql/index.js.map +1 -0
  8. package/build/cjs/graphql/utils.js +92 -0
  9. package/build/cjs/graphql/utils.js.map +1 -0
  10. package/build/cjs/index.js +34 -0
  11. package/build/cjs/index.js.map +1 -0
  12. package/build/cjs/integrations/tracing-channel/amqplib.js +420 -0
  13. package/build/cjs/integrations/tracing-channel/amqplib.js.map +1 -0
  14. package/build/cjs/integrations/tracing-channel/anthropic.js +101 -0
  15. package/build/cjs/integrations/tracing-channel/anthropic.js.map +1 -0
  16. package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js +16 -0
  17. package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js.map +1 -0
  18. package/build/cjs/integrations/tracing-channel/aws-sdk/index.js +154 -0
  19. package/build/cjs/integrations/tracing-channel/aws-sdk/index.js.map +1 -0
  20. package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +46 -0
  21. package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +1 -0
  22. package/build/cjs/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js +47 -0
  23. package/build/cjs/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +1 -0
  24. package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +419 -0
  25. package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +1 -0
  26. package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js +131 -0
  27. package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +1 -0
  28. package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js +21 -0
  29. package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +1 -0
  30. package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js +64 -0
  31. package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js.map +1 -0
  32. package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js +21 -0
  33. package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js.map +1 -0
  34. package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +27 -0
  35. package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +1 -0
  36. package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js +63 -0
  37. package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js.map +1 -0
  38. package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js +116 -0
  39. package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js.map +1 -0
  40. package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +25 -0
  41. package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +1 -0
  42. package/build/cjs/integrations/tracing-channel/aws-sdk/utils.js +30 -0
  43. package/build/cjs/integrations/tracing-channel/aws-sdk/utils.js.map +1 -0
  44. package/build/cjs/integrations/tracing-channel/dataloader.js +95 -0
  45. package/build/cjs/integrations/tracing-channel/dataloader.js.map +1 -0
  46. package/build/cjs/integrations/tracing-channel/express/index.js +24 -0
  47. package/build/cjs/integrations/tracing-channel/express/index.js.map +1 -0
  48. package/build/cjs/integrations/tracing-channel/express/instrumentation.js +168 -0
  49. package/build/cjs/integrations/tracing-channel/express/instrumentation.js.map +1 -0
  50. package/build/cjs/integrations/tracing-channel/express/route.js +76 -0
  51. package/build/cjs/integrations/tracing-channel/express/route.js.map +1 -0
  52. package/build/cjs/integrations/tracing-channel/fastify/errors.js +42 -0
  53. package/build/cjs/integrations/tracing-channel/fastify/errors.js.map +1 -0
  54. package/build/cjs/integrations/tracing-channel/fastify/index.js +34 -0
  55. package/build/cjs/integrations/tracing-channel/fastify/index.js.map +1 -0
  56. package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js +279 -0
  57. package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js.map +1 -0
  58. package/build/cjs/integrations/tracing-channel/fastify/utils.js +11 -0
  59. package/build/cjs/integrations/tracing-channel/fastify/utils.js.map +1 -0
  60. package/build/cjs/integrations/tracing-channel/generic-pool.js +34 -0
  61. package/build/cjs/integrations/tracing-channel/generic-pool.js.map +1 -0
  62. package/build/cjs/integrations/tracing-channel/google-genai.js +96 -0
  63. package/build/cjs/integrations/tracing-channel/google-genai.js.map +1 -0
  64. package/build/cjs/integrations/tracing-channel/graphql/constants.js +26 -0
  65. package/build/cjs/integrations/tracing-channel/graphql/constants.js.map +1 -0
  66. package/build/cjs/integrations/tracing-channel/graphql/index.js +66 -0
  67. package/build/cjs/integrations/tracing-channel/graphql/index.js.map +1 -0
  68. package/build/cjs/integrations/tracing-channel/graphql/resolvers.js +168 -0
  69. package/build/cjs/integrations/tracing-channel/graphql/resolvers.js.map +1 -0
  70. package/build/cjs/integrations/tracing-channel/graphql/spans.js +102 -0
  71. package/build/cjs/integrations/tracing-channel/graphql/spans.js.map +1 -0
  72. package/build/cjs/integrations/tracing-channel/hapi-types.js +30 -0
  73. package/build/cjs/integrations/tracing-channel/hapi-types.js.map +1 -0
  74. package/build/cjs/integrations/tracing-channel/hapi-utils.js +177 -0
  75. package/build/cjs/integrations/tracing-channel/hapi-utils.js.map +1 -0
  76. package/build/cjs/integrations/tracing-channel/hapi.js +52 -0
  77. package/build/cjs/integrations/tracing-channel/hapi.js.map +1 -0
  78. package/build/cjs/integrations/tracing-channel/ioredis.js +99 -0
  79. package/build/cjs/integrations/tracing-channel/ioredis.js.map +1 -0
  80. package/build/cjs/integrations/tracing-channel/kafkajs/consumer.js +71 -0
  81. package/build/cjs/integrations/tracing-channel/kafkajs/consumer.js.map +1 -0
  82. package/build/cjs/integrations/tracing-channel/kafkajs/index.js +70 -0
  83. package/build/cjs/integrations/tracing-channel/kafkajs/index.js.map +1 -0
  84. package/build/cjs/integrations/tracing-channel/kafkajs/semconv.js +22 -0
  85. package/build/cjs/integrations/tracing-channel/kafkajs/semconv.js.map +1 -0
  86. package/build/cjs/integrations/tracing-channel/kafkajs/spans.js +119 -0
  87. package/build/cjs/integrations/tracing-channel/kafkajs/spans.js.map +1 -0
  88. package/build/cjs/integrations/tracing-channel/knex.js +188 -0
  89. package/build/cjs/integrations/tracing-channel/knex.js.map +1 -0
  90. package/build/cjs/integrations/tracing-channel/koa.js +146 -0
  91. package/build/cjs/integrations/tracing-channel/koa.js.map +1 -0
  92. package/build/cjs/integrations/tracing-channel/langchain.js +63 -0
  93. package/build/cjs/integrations/tracing-channel/langchain.js.map +1 -0
  94. package/build/cjs/integrations/tracing-channel/langgraph.js +100 -0
  95. package/build/cjs/integrations/tracing-channel/langgraph.js.map +1 -0
  96. package/build/cjs/integrations/tracing-channel/lru-memoizer.js +31 -0
  97. package/build/cjs/integrations/tracing-channel/lru-memoizer.js.map +1 -0
  98. package/build/cjs/integrations/tracing-channel/mongodb.js +104 -0
  99. package/build/cjs/integrations/tracing-channel/mongodb.js.map +1 -0
  100. package/build/cjs/integrations/tracing-channel/mongoose.js +110 -0
  101. package/build/cjs/integrations/tracing-channel/mongoose.js.map +1 -0
  102. package/build/cjs/integrations/tracing-channel/mysql.js +107 -0
  103. package/build/cjs/integrations/tracing-channel/mysql.js.map +1 -0
  104. package/build/cjs/integrations/tracing-channel/mysql2.js +83 -0
  105. package/build/cjs/integrations/tracing-channel/mysql2.js.map +1 -0
  106. package/build/cjs/integrations/tracing-channel/openai.js +81 -0
  107. package/build/cjs/integrations/tracing-channel/openai.js.map +1 -0
  108. package/build/cjs/integrations/tracing-channel/postgres-js.js +191 -0
  109. package/build/cjs/integrations/tracing-channel/postgres-js.js.map +1 -0
  110. package/build/cjs/integrations/tracing-channel/postgres.js +170 -0
  111. package/build/cjs/integrations/tracing-channel/postgres.js.map +1 -0
  112. package/build/cjs/integrations/tracing-channel/redis.js +218 -0
  113. package/build/cjs/integrations/tracing-channel/redis.js.map +1 -0
  114. package/build/cjs/integrations/tracing-channel/tedious.js +145 -0
  115. package/build/cjs/integrations/tracing-channel/tedious.js.map +1 -0
  116. package/build/cjs/integrations/tracing-channel/vercel-ai.js +25 -0
  117. package/build/cjs/integrations/tracing-channel/vercel-ai.js.map +1 -0
  118. package/build/cjs/mongodb/mongodb-span.js +133 -0
  119. package/build/cjs/mongodb/mongodb-span.js.map +1 -0
  120. package/build/cjs/mongoose/index.js +23 -0
  121. package/build/cjs/mongoose/index.js.map +1 -0
  122. package/build/cjs/mongoose/mongoose-dc-subscriber.js +97 -0
  123. package/build/cjs/mongoose/mongoose-dc-subscriber.js.map +1 -0
  124. package/build/cjs/mongoose/mongoose-legacy-span.js +40 -0
  125. package/build/cjs/mongoose/mongoose-legacy-span.js.map +1 -0
  126. package/build/cjs/mysql2/index.js +23 -0
  127. package/build/cjs/mysql2/index.js.map +1 -0
  128. package/build/cjs/mysql2/mysql2-dc-subscriber.js +68 -0
  129. package/build/cjs/mysql2/mysql2-dc-subscriber.js.map +1 -0
  130. package/build/cjs/orchestrion/bundler/esbuild.js +15 -0
  131. package/build/cjs/orchestrion/bundler/esbuild.js.map +1 -0
  132. package/build/cjs/orchestrion/bundler/options.js +24 -0
  133. package/build/cjs/orchestrion/bundler/options.js.map +1 -0
  134. package/build/cjs/orchestrion/bundler/rollup.js +15 -0
  135. package/build/cjs/orchestrion/bundler/rollup.js.map +1 -0
  136. package/build/cjs/orchestrion/bundler/vite.js +21 -0
  137. package/build/cjs/orchestrion/bundler/vite.js.map +1 -0
  138. package/build/cjs/orchestrion/bundler/webpack.js +36 -0
  139. package/build/cjs/orchestrion/bundler/webpack.js.map +1 -0
  140. package/build/cjs/orchestrion/channels.js +70 -0
  141. package/build/cjs/orchestrion/channels.js.map +1 -0
  142. package/build/cjs/orchestrion/config/amqplib.js +81 -0
  143. package/build/cjs/orchestrion/config/amqplib.js.map +1 -0
  144. package/build/cjs/orchestrion/config/anthropic-ai.js +43 -0
  145. package/build/cjs/orchestrion/config/anthropic-ai.js.map +1 -0
  146. package/build/cjs/orchestrion/config/aws-sdk.js +28 -0
  147. package/build/cjs/orchestrion/config/aws-sdk.js.map +1 -0
  148. package/build/cjs/orchestrion/config/dataloader.js +53 -0
  149. package/build/cjs/orchestrion/config/dataloader.js.map +1 -0
  150. package/build/cjs/orchestrion/config/express.js +77 -0
  151. package/build/cjs/orchestrion/config/express.js.map +1 -0
  152. package/build/cjs/orchestrion/config/firebase.js +8 -0
  153. package/build/cjs/orchestrion/config/firebase.js.map +1 -0
  154. package/build/cjs/orchestrion/config/generic-pool.js +21 -0
  155. package/build/cjs/orchestrion/config/generic-pool.js.map +1 -0
  156. package/build/cjs/orchestrion/config/google-genai.js +38 -0
  157. package/build/cjs/orchestrion/config/google-genai.js.map +1 -0
  158. package/build/cjs/orchestrion/config/graphql.js +28 -0
  159. package/build/cjs/orchestrion/config/graphql.js.map +1 -0
  160. package/build/cjs/orchestrion/config/hapi.js +26 -0
  161. package/build/cjs/orchestrion/config/hapi.js.map +1 -0
  162. package/build/cjs/orchestrion/config/index.js +89 -0
  163. package/build/cjs/orchestrion/config/index.js.map +1 -0
  164. package/build/cjs/orchestrion/config/ioredis.js +35 -0
  165. package/build/cjs/orchestrion/config/ioredis.js.map +1 -0
  166. package/build/cjs/orchestrion/config/kafkajs.js +30 -0
  167. package/build/cjs/orchestrion/config/kafkajs.js.map +1 -0
  168. package/build/cjs/orchestrion/config/knex.js +43 -0
  169. package/build/cjs/orchestrion/config/knex.js.map +1 -0
  170. package/build/cjs/orchestrion/config/koa.js +16 -0
  171. package/build/cjs/orchestrion/config/koa.js.map +1 -0
  172. package/build/cjs/orchestrion/config/langchain.js +52 -0
  173. package/build/cjs/orchestrion/config/langchain.js.map +1 -0
  174. package/build/cjs/orchestrion/config/langgraph.js +28 -0
  175. package/build/cjs/orchestrion/config/langgraph.js.map +1 -0
  176. package/build/cjs/orchestrion/config/lru-memoizer.js +17 -0
  177. package/build/cjs/orchestrion/config/lru-memoizer.js.map +1 -0
  178. package/build/cjs/orchestrion/config/mongodb.js +67 -0
  179. package/build/cjs/orchestrion/config/mongodb.js.map +1 -0
  180. package/build/cjs/orchestrion/config/mongoose.js +107 -0
  181. package/build/cjs/orchestrion/config/mongoose.js.map +1 -0
  182. package/build/cjs/orchestrion/config/mysql.js +16 -0
  183. package/build/cjs/orchestrion/config/mysql.js.map +1 -0
  184. package/build/cjs/orchestrion/config/mysql2.js +32 -0
  185. package/build/cjs/orchestrion/config/mysql2.js.map +1 -0
  186. package/build/cjs/orchestrion/config/nestjs.js +122 -0
  187. package/build/cjs/orchestrion/config/nestjs.js.map +1 -0
  188. package/build/cjs/orchestrion/config/openai.js +40 -0
  189. package/build/cjs/orchestrion/config/openai.js.map +1 -0
  190. package/build/cjs/orchestrion/config/pg.js +51 -0
  191. package/build/cjs/orchestrion/config/pg.js.map +1 -0
  192. package/build/cjs/orchestrion/config/postgres.js +50 -0
  193. package/build/cjs/orchestrion/config/postgres.js.map +1 -0
  194. package/build/cjs/orchestrion/config/prisma.js +8 -0
  195. package/build/cjs/orchestrion/config/prisma.js.map +1 -0
  196. package/build/cjs/orchestrion/config/react-router.js +8 -0
  197. package/build/cjs/orchestrion/config/react-router.js.map +1 -0
  198. package/build/cjs/orchestrion/config/redis.js +76 -0
  199. package/build/cjs/orchestrion/config/redis.js.map +1 -0
  200. package/build/cjs/orchestrion/config/remix.js +54 -0
  201. package/build/cjs/orchestrion/config/remix.js.map +1 -0
  202. package/build/cjs/orchestrion/config/tedious.js +24 -0
  203. package/build/cjs/orchestrion/config/tedious.js.map +1 -0
  204. package/build/cjs/orchestrion/config/vercel-ai.js +48 -0
  205. package/build/cjs/orchestrion/config/vercel-ai.js.map +1 -0
  206. package/build/cjs/orchestrion/detect.js +26 -0
  207. package/build/cjs/orchestrion/detect.js.map +1 -0
  208. package/build/cjs/orchestrion/index.js +89 -0
  209. package/build/cjs/orchestrion/index.js.map +1 -0
  210. package/build/cjs/orchestrion/runtime/register.js +77 -0
  211. package/build/cjs/orchestrion/runtime/register.js.map +1 -0
  212. package/build/cjs/prisma/global.js +14 -0
  213. package/build/cjs/prisma/global.js.map +1 -0
  214. package/build/cjs/prisma/index.js +27 -0
  215. package/build/cjs/prisma/index.js.map +1 -0
  216. package/build/cjs/prisma/tracing-helper.js +211 -0
  217. package/build/cjs/prisma/tracing-helper.js.map +1 -0
  218. package/build/cjs/redis/index.js +23 -0
  219. package/build/cjs/redis/index.js.map +1 -0
  220. package/build/cjs/redis/redis-dc-subscriber.js +101 -0
  221. package/build/cjs/redis/redis-dc-subscriber.js.map +1 -0
  222. package/build/cjs/redis/redis-statement-serializer.js +34 -0
  223. package/build/cjs/redis/redis-statement-serializer.js.map +1 -0
  224. package/build/cjs/tracing-channel.js +134 -0
  225. package/build/cjs/tracing-channel.js.map +1 -0
  226. package/build/cjs/vercel-ai/index.js +23 -0
  227. package/build/cjs/vercel-ai/index.js.map +1 -0
  228. package/build/cjs/vercel-ai/util.js +112 -0
  229. package/build/cjs/vercel-ai/util.js.map +1 -0
  230. package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js +433 -0
  231. package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
  232. package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js +399 -0
  233. package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
  234. package/build/esm/debug-build.js +4 -0
  235. package/build/esm/debug-build.js.map +1 -0
  236. package/build/esm/graphql/graphql-dc-subscriber.js +116 -0
  237. package/build/esm/graphql/graphql-dc-subscriber.js.map +1 -0
  238. package/build/esm/graphql/index.js +21 -0
  239. package/build/esm/graphql/index.js.map +1 -0
  240. package/build/esm/graphql/utils.js +87 -0
  241. package/build/esm/graphql/utils.js.map +1 -0
  242. package/build/esm/index.js +12 -0
  243. package/build/esm/index.js.map +1 -0
  244. package/build/esm/integrations/tracing-channel/amqplib.js +418 -0
  245. package/build/esm/integrations/tracing-channel/amqplib.js.map +1 -0
  246. package/build/esm/integrations/tracing-channel/anthropic.js +99 -0
  247. package/build/esm/integrations/tracing-channel/anthropic.js.map +1 -0
  248. package/build/esm/integrations/tracing-channel/aws-sdk/constants.js +9 -0
  249. package/build/esm/integrations/tracing-channel/aws-sdk/constants.js.map +1 -0
  250. package/build/esm/integrations/tracing-channel/aws-sdk/index.js +152 -0
  251. package/build/esm/integrations/tracing-channel/aws-sdk/index.js.map +1 -0
  252. package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +41 -0
  253. package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +1 -0
  254. package/build/esm/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js +45 -0
  255. package/build/esm/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +1 -0
  256. package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +417 -0
  257. package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +1 -0
  258. package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js +129 -0
  259. package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +1 -0
  260. package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js +19 -0
  261. package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +1 -0
  262. package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js +62 -0
  263. package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js.map +1 -0
  264. package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js +19 -0
  265. package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js.map +1 -0
  266. package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +25 -0
  267. package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +1 -0
  268. package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js +61 -0
  269. package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js.map +1 -0
  270. package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js +114 -0
  271. package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js.map +1 -0
  272. package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +23 -0
  273. package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +1 -0
  274. package/build/esm/integrations/tracing-channel/aws-sdk/utils.js +26 -0
  275. package/build/esm/integrations/tracing-channel/aws-sdk/utils.js.map +1 -0
  276. package/build/esm/integrations/tracing-channel/dataloader.js +93 -0
  277. package/build/esm/integrations/tracing-channel/dataloader.js.map +1 -0
  278. package/build/esm/integrations/tracing-channel/express/index.js +22 -0
  279. package/build/esm/integrations/tracing-channel/express/index.js.map +1 -0
  280. package/build/esm/integrations/tracing-channel/express/instrumentation.js +166 -0
  281. package/build/esm/integrations/tracing-channel/express/instrumentation.js.map +1 -0
  282. package/build/esm/integrations/tracing-channel/express/route.js +68 -0
  283. package/build/esm/integrations/tracing-channel/express/route.js.map +1 -0
  284. package/build/esm/integrations/tracing-channel/fastify/errors.js +39 -0
  285. package/build/esm/integrations/tracing-channel/fastify/errors.js.map +1 -0
  286. package/build/esm/integrations/tracing-channel/fastify/index.js +30 -0
  287. package/build/esm/integrations/tracing-channel/fastify/index.js.map +1 -0
  288. package/build/esm/integrations/tracing-channel/fastify/instrumentation.js +277 -0
  289. package/build/esm/integrations/tracing-channel/fastify/instrumentation.js.map +1 -0
  290. package/build/esm/integrations/tracing-channel/fastify/utils.js +8 -0
  291. package/build/esm/integrations/tracing-channel/fastify/utils.js.map +1 -0
  292. package/build/esm/integrations/tracing-channel/generic-pool.js +32 -0
  293. package/build/esm/integrations/tracing-channel/generic-pool.js.map +1 -0
  294. package/build/esm/integrations/tracing-channel/google-genai.js +94 -0
  295. package/build/esm/integrations/tracing-channel/google-genai.js.map +1 -0
  296. package/build/esm/integrations/tracing-channel/graphql/constants.js +14 -0
  297. package/build/esm/integrations/tracing-channel/graphql/constants.js.map +1 -0
  298. package/build/esm/integrations/tracing-channel/graphql/index.js +63 -0
  299. package/build/esm/integrations/tracing-channel/graphql/index.js.map +1 -0
  300. package/build/esm/integrations/tracing-channel/graphql/resolvers.js +164 -0
  301. package/build/esm/integrations/tracing-channel/graphql/resolvers.js.map +1 -0
  302. package/build/esm/integrations/tracing-channel/graphql/spans.js +96 -0
  303. package/build/esm/integrations/tracing-channel/graphql/spans.js.map +1 -0
  304. package/build/esm/integrations/tracing-channel/hapi-types.js +25 -0
  305. package/build/esm/integrations/tracing-channel/hapi-types.js.map +1 -0
  306. package/build/esm/integrations/tracing-channel/hapi-utils.js +172 -0
  307. package/build/esm/integrations/tracing-channel/hapi-utils.js.map +1 -0
  308. package/build/esm/integrations/tracing-channel/hapi.js +50 -0
  309. package/build/esm/integrations/tracing-channel/hapi.js.map +1 -0
  310. package/build/esm/integrations/tracing-channel/ioredis.js +96 -0
  311. package/build/esm/integrations/tracing-channel/ioredis.js.map +1 -0
  312. package/build/esm/integrations/tracing-channel/kafkajs/consumer.js +67 -0
  313. package/build/esm/integrations/tracing-channel/kafkajs/consumer.js.map +1 -0
  314. package/build/esm/integrations/tracing-channel/kafkajs/index.js +68 -0
  315. package/build/esm/integrations/tracing-channel/kafkajs/index.js.map +1 -0
  316. package/build/esm/integrations/tracing-channel/kafkajs/semconv.js +12 -0
  317. package/build/esm/integrations/tracing-channel/kafkajs/semconv.js.map +1 -0
  318. package/build/esm/integrations/tracing-channel/kafkajs/spans.js +112 -0
  319. package/build/esm/integrations/tracing-channel/kafkajs/spans.js.map +1 -0
  320. package/build/esm/integrations/tracing-channel/knex.js +186 -0
  321. package/build/esm/integrations/tracing-channel/knex.js.map +1 -0
  322. package/build/esm/integrations/tracing-channel/koa.js +144 -0
  323. package/build/esm/integrations/tracing-channel/koa.js.map +1 -0
  324. package/build/esm/integrations/tracing-channel/langchain.js +61 -0
  325. package/build/esm/integrations/tracing-channel/langchain.js.map +1 -0
  326. package/build/esm/integrations/tracing-channel/langgraph.js +98 -0
  327. package/build/esm/integrations/tracing-channel/langgraph.js.map +1 -0
  328. package/build/esm/integrations/tracing-channel/lru-memoizer.js +29 -0
  329. package/build/esm/integrations/tracing-channel/lru-memoizer.js.map +1 -0
  330. package/build/esm/integrations/tracing-channel/mongodb.js +102 -0
  331. package/build/esm/integrations/tracing-channel/mongodb.js.map +1 -0
  332. package/build/esm/integrations/tracing-channel/mongoose.js +108 -0
  333. package/build/esm/integrations/tracing-channel/mongoose.js.map +1 -0
  334. package/build/esm/integrations/tracing-channel/mysql.js +105 -0
  335. package/build/esm/integrations/tracing-channel/mysql.js.map +1 -0
  336. package/build/esm/integrations/tracing-channel/mysql2.js +81 -0
  337. package/build/esm/integrations/tracing-channel/mysql2.js.map +1 -0
  338. package/build/esm/integrations/tracing-channel/openai.js +79 -0
  339. package/build/esm/integrations/tracing-channel/openai.js.map +1 -0
  340. package/build/esm/integrations/tracing-channel/postgres-js.js +189 -0
  341. package/build/esm/integrations/tracing-channel/postgres-js.js.map +1 -0
  342. package/build/esm/integrations/tracing-channel/postgres.js +168 -0
  343. package/build/esm/integrations/tracing-channel/postgres.js.map +1 -0
  344. package/build/esm/integrations/tracing-channel/redis.js +216 -0
  345. package/build/esm/integrations/tracing-channel/redis.js.map +1 -0
  346. package/build/esm/integrations/tracing-channel/tedious.js +143 -0
  347. package/build/esm/integrations/tracing-channel/tedious.js.map +1 -0
  348. package/build/esm/integrations/tracing-channel/vercel-ai.js +23 -0
  349. package/build/esm/integrations/tracing-channel/vercel-ai.js.map +1 -0
  350. package/build/esm/mongodb/mongodb-span.js +126 -0
  351. package/build/esm/mongodb/mongodb-span.js.map +1 -0
  352. package/build/esm/mongoose/index.js +21 -0
  353. package/build/esm/mongoose/index.js.map +1 -0
  354. package/build/esm/mongoose/mongoose-dc-subscriber.js +89 -0
  355. package/build/esm/mongoose/mongoose-dc-subscriber.js.map +1 -0
  356. package/build/esm/mongoose/mongoose-legacy-span.js +38 -0
  357. package/build/esm/mongoose/mongoose-legacy-span.js.map +1 -0
  358. package/build/esm/mysql2/index.js +21 -0
  359. package/build/esm/mysql2/index.js.map +1 -0
  360. package/build/esm/mysql2/mysql2-dc-subscriber.js +62 -0
  361. package/build/esm/mysql2/mysql2-dc-subscriber.js.map +1 -0
  362. package/build/esm/orchestrion/bundler/esbuild.js +9 -0
  363. package/build/esm/orchestrion/bundler/esbuild.js.map +1 -0
  364. package/build/esm/orchestrion/bundler/options.js +22 -0
  365. package/build/esm/orchestrion/bundler/options.js.map +1 -0
  366. package/build/esm/orchestrion/bundler/rollup.js +9 -0
  367. package/build/esm/orchestrion/bundler/rollup.js.map +1 -0
  368. package/build/esm/orchestrion/bundler/vite.js +15 -0
  369. package/build/esm/orchestrion/bundler/vite.js.map +1 -0
  370. package/build/esm/orchestrion/bundler/webpack.js +27 -0
  371. package/build/esm/orchestrion/bundler/webpack.js.map +1 -0
  372. package/build/esm/orchestrion/channels.js +68 -0
  373. package/build/esm/orchestrion/channels.js.map +1 -0
  374. package/build/esm/orchestrion/config/amqplib.js +78 -0
  375. package/build/esm/orchestrion/config/amqplib.js.map +1 -0
  376. package/build/esm/orchestrion/config/anthropic-ai.js +40 -0
  377. package/build/esm/orchestrion/config/anthropic-ai.js.map +1 -0
  378. package/build/esm/orchestrion/config/aws-sdk.js +25 -0
  379. package/build/esm/orchestrion/config/aws-sdk.js.map +1 -0
  380. package/build/esm/orchestrion/config/dataloader.js +50 -0
  381. package/build/esm/orchestrion/config/dataloader.js.map +1 -0
  382. package/build/esm/orchestrion/config/express.js +74 -0
  383. package/build/esm/orchestrion/config/express.js.map +1 -0
  384. package/build/esm/orchestrion/config/firebase.js +5 -0
  385. package/build/esm/orchestrion/config/firebase.js.map +1 -0
  386. package/build/esm/orchestrion/config/generic-pool.js +18 -0
  387. package/build/esm/orchestrion/config/generic-pool.js.map +1 -0
  388. package/build/esm/orchestrion/config/google-genai.js +35 -0
  389. package/build/esm/orchestrion/config/google-genai.js.map +1 -0
  390. package/build/esm/orchestrion/config/graphql.js +25 -0
  391. package/build/esm/orchestrion/config/graphql.js.map +1 -0
  392. package/build/esm/orchestrion/config/hapi.js +23 -0
  393. package/build/esm/orchestrion/config/hapi.js.map +1 -0
  394. package/build/esm/orchestrion/config/index.js +84 -0
  395. package/build/esm/orchestrion/config/index.js.map +1 -0
  396. package/build/esm/orchestrion/config/ioredis.js +32 -0
  397. package/build/esm/orchestrion/config/ioredis.js.map +1 -0
  398. package/build/esm/orchestrion/config/kafkajs.js +27 -0
  399. package/build/esm/orchestrion/config/kafkajs.js.map +1 -0
  400. package/build/esm/orchestrion/config/knex.js +40 -0
  401. package/build/esm/orchestrion/config/knex.js.map +1 -0
  402. package/build/esm/orchestrion/config/koa.js +13 -0
  403. package/build/esm/orchestrion/config/koa.js.map +1 -0
  404. package/build/esm/orchestrion/config/langchain.js +48 -0
  405. package/build/esm/orchestrion/config/langchain.js.map +1 -0
  406. package/build/esm/orchestrion/config/langgraph.js +25 -0
  407. package/build/esm/orchestrion/config/langgraph.js.map +1 -0
  408. package/build/esm/orchestrion/config/lru-memoizer.js +14 -0
  409. package/build/esm/orchestrion/config/lru-memoizer.js.map +1 -0
  410. package/build/esm/orchestrion/config/mongodb.js +64 -0
  411. package/build/esm/orchestrion/config/mongodb.js.map +1 -0
  412. package/build/esm/orchestrion/config/mongoose.js +103 -0
  413. package/build/esm/orchestrion/config/mongoose.js.map +1 -0
  414. package/build/esm/orchestrion/config/mysql.js +13 -0
  415. package/build/esm/orchestrion/config/mysql.js.map +1 -0
  416. package/build/esm/orchestrion/config/mysql2.js +29 -0
  417. package/build/esm/orchestrion/config/mysql2.js.map +1 -0
  418. package/build/esm/orchestrion/config/nestjs.js +119 -0
  419. package/build/esm/orchestrion/config/nestjs.js.map +1 -0
  420. package/build/esm/orchestrion/config/openai.js +37 -0
  421. package/build/esm/orchestrion/config/openai.js.map +1 -0
  422. package/build/esm/orchestrion/config/pg.js +48 -0
  423. package/build/esm/orchestrion/config/pg.js.map +1 -0
  424. package/build/esm/orchestrion/config/postgres.js +47 -0
  425. package/build/esm/orchestrion/config/postgres.js.map +1 -0
  426. package/build/esm/orchestrion/config/prisma.js +5 -0
  427. package/build/esm/orchestrion/config/prisma.js.map +1 -0
  428. package/build/esm/orchestrion/config/react-router.js +5 -0
  429. package/build/esm/orchestrion/config/react-router.js.map +1 -0
  430. package/build/esm/orchestrion/config/redis.js +73 -0
  431. package/build/esm/orchestrion/config/redis.js.map +1 -0
  432. package/build/esm/orchestrion/config/remix.js +51 -0
  433. package/build/esm/orchestrion/config/remix.js.map +1 -0
  434. package/build/esm/orchestrion/config/tedious.js +21 -0
  435. package/build/esm/orchestrion/config/tedious.js.map +1 -0
  436. package/build/esm/orchestrion/config/vercel-ai.js +45 -0
  437. package/build/esm/orchestrion/config/vercel-ai.js.map +1 -0
  438. package/build/esm/orchestrion/detect.js +23 -0
  439. package/build/esm/orchestrion/detect.js.map +1 -0
  440. package/build/esm/orchestrion/index.js +58 -0
  441. package/build/esm/orchestrion/index.js.map +1 -0
  442. package/build/esm/orchestrion/runtime/register.js +76 -0
  443. package/build/esm/orchestrion/runtime/register.js.map +1 -0
  444. package/build/esm/package.json +1 -0
  445. package/build/esm/prisma/global.js +12 -0
  446. package/build/esm/prisma/global.js.map +1 -0
  447. package/build/esm/prisma/index.js +24 -0
  448. package/build/esm/prisma/index.js.map +1 -0
  449. package/build/esm/prisma/tracing-helper.js +209 -0
  450. package/build/esm/prisma/tracing-helper.js.map +1 -0
  451. package/build/esm/redis/index.js +21 -0
  452. package/build/esm/redis/index.js.map +1 -0
  453. package/build/esm/redis/redis-dc-subscriber.js +94 -0
  454. package/build/esm/redis/redis-dc-subscriber.js.map +1 -0
  455. package/build/esm/redis/redis-statement-serializer.js +32 -0
  456. package/build/esm/redis/redis-statement-serializer.js.map +1 -0
  457. package/build/esm/tracing-channel.js +132 -0
  458. package/build/esm/tracing-channel.js.map +1 -0
  459. package/build/esm/vercel-ai/index.js +21 -0
  460. package/build/esm/vercel-ai/index.js.map +1 -0
  461. package/build/esm/vercel-ai/util.js +106 -0
  462. package/build/esm/vercel-ai/util.js.map +1 -0
  463. package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js +425 -0
  464. package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
  465. package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js +397 -0
  466. package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
  467. package/build/orchestrion/import-hook.mjs +19 -0
  468. package/build/types/debug-build.d.ts +7 -0
  469. package/build/types/debug-build.d.ts.map +1 -0
  470. package/build/types/graphql/graphql-dc-subscriber.d.ts +94 -0
  471. package/build/types/graphql/graphql-dc-subscriber.d.ts.map +1 -0
  472. package/build/types/graphql/index.d.ts +12 -0
  473. package/build/types/graphql/index.d.ts.map +1 -0
  474. package/build/types/graphql/utils.d.ts +36 -0
  475. package/build/types/graphql/utils.d.ts.map +1 -0
  476. package/build/types/index.d.ts +22 -0
  477. package/build/types/index.d.ts.map +1 -0
  478. package/build/types/integrations/tracing-channel/amqplib.d.ts +11 -0
  479. package/build/types/integrations/tracing-channel/amqplib.d.ts.map +1 -0
  480. package/build/types/integrations/tracing-channel/anthropic.d.ts +10 -0
  481. package/build/types/integrations/tracing-channel/anthropic.d.ts.map +1 -0
  482. package/build/types/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts +43 -0
  483. package/build/types/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts.map +1 -0
  484. package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts +15 -0
  485. package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts.map +1 -0
  486. package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts +15 -0
  487. package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts.map +1 -0
  488. package/build/types/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts +23 -0
  489. package/build/types/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts.map +1 -0
  490. package/build/types/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts +9 -0
  491. package/build/types/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts.map +1 -0
  492. package/build/types/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts +10 -0
  493. package/build/types/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts.map +1 -0
  494. package/build/types/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts +14 -0
  495. package/build/types/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts.map +1 -0
  496. package/build/types/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts +8 -0
  497. package/build/types/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts.map +1 -0
  498. package/build/types/integrations/tracing-channel/aws-sdk/services/index.d.ts +2 -0
  499. package/build/types/integrations/tracing-channel/aws-sdk/services/index.d.ts.map +1 -0
  500. package/build/types/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts +6 -0
  501. package/build/types/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts.map +1 -0
  502. package/build/types/integrations/tracing-channel/aws-sdk/services/lambda.d.ts +9 -0
  503. package/build/types/integrations/tracing-channel/aws-sdk/services/lambda.d.ts.map +1 -0
  504. package/build/types/integrations/tracing-channel/aws-sdk/services/s3.d.ts +6 -0
  505. package/build/types/integrations/tracing-channel/aws-sdk/services/s3.d.ts.map +1 -0
  506. package/build/types/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts +8 -0
  507. package/build/types/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts.map +1 -0
  508. package/build/types/integrations/tracing-channel/aws-sdk/services/sns.d.ts +9 -0
  509. package/build/types/integrations/tracing-channel/aws-sdk/services/sns.d.ts.map +1 -0
  510. package/build/types/integrations/tracing-channel/aws-sdk/services/sqs.d.ts +9 -0
  511. package/build/types/integrations/tracing-channel/aws-sdk/services/sqs.d.ts.map +1 -0
  512. package/build/types/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts +6 -0
  513. package/build/types/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts.map +1 -0
  514. package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts +26 -0
  515. package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts.map +1 -0
  516. package/build/types/integrations/tracing-channel/aws-sdk/utils.d.ts +5 -0
  517. package/build/types/integrations/tracing-channel/aws-sdk/utils.d.ts.map +1 -0
  518. package/build/types/integrations/tracing-channel/dataloader.d.ts +11 -0
  519. package/build/types/integrations/tracing-channel/dataloader.d.ts.map +1 -0
  520. package/build/types/integrations/tracing-channel/express/index.d.ts +18 -0
  521. package/build/types/integrations/tracing-channel/express/index.d.ts.map +1 -0
  522. package/build/types/integrations/tracing-channel/express/instrumentation.d.ts +4 -0
  523. package/build/types/integrations/tracing-channel/express/instrumentation.d.ts.map +1 -0
  524. package/build/types/integrations/tracing-channel/express/route.d.ts +28 -0
  525. package/build/types/integrations/tracing-channel/express/route.d.ts.map +1 -0
  526. package/build/types/integrations/tracing-channel/express/types.d.ts +64 -0
  527. package/build/types/integrations/tracing-channel/express/types.d.ts.map +1 -0
  528. package/build/types/integrations/tracing-channel/fastify/errors.d.ts +12 -0
  529. package/build/types/integrations/tracing-channel/fastify/errors.d.ts.map +1 -0
  530. package/build/types/integrations/tracing-channel/fastify/index.d.ts +66 -0
  531. package/build/types/integrations/tracing-channel/fastify/index.d.ts.map +1 -0
  532. package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts +10 -0
  533. package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts.map +1 -0
  534. package/build/types/integrations/tracing-channel/fastify/types.d.ts +32 -0
  535. package/build/types/integrations/tracing-channel/fastify/types.d.ts.map +1 -0
  536. package/build/types/integrations/tracing-channel/fastify/utils.d.ts +9 -0
  537. package/build/types/integrations/tracing-channel/fastify/utils.d.ts.map +1 -0
  538. package/build/types/integrations/tracing-channel/generic-pool.d.ts +10 -0
  539. package/build/types/integrations/tracing-channel/generic-pool.d.ts.map +1 -0
  540. package/build/types/integrations/tracing-channel/google-genai.d.ts +12 -0
  541. package/build/types/integrations/tracing-channel/google-genai.d.ts.map +1 -0
  542. package/build/types/integrations/tracing-channel/graphql/constants.d.ts +12 -0
  543. package/build/types/integrations/tracing-channel/graphql/constants.d.ts.map +1 -0
  544. package/build/types/integrations/tracing-channel/graphql/graphql-types.d.ts +135 -0
  545. package/build/types/integrations/tracing-channel/graphql/graphql-types.d.ts.map +1 -0
  546. package/build/types/integrations/tracing-channel/graphql/index.d.ts +28 -0
  547. package/build/types/integrations/tracing-channel/graphql/index.d.ts.map +1 -0
  548. package/build/types/integrations/tracing-channel/graphql/resolvers.d.ts +13 -0
  549. package/build/types/integrations/tracing-channel/graphql/resolvers.d.ts.map +1 -0
  550. package/build/types/integrations/tracing-channel/graphql/spans.d.ts +17 -0
  551. package/build/types/integrations/tracing-channel/graphql/spans.d.ts.map +1 -0
  552. package/build/types/integrations/tracing-channel/graphql/types.d.ts +25 -0
  553. package/build/types/integrations/tracing-channel/graphql/types.d.ts.map +1 -0
  554. package/build/types/integrations/tracing-channel/hapi-types.d.ts +53 -0
  555. package/build/types/integrations/tracing-channel/hapi-types.d.ts.map +1 -0
  556. package/build/types/integrations/tracing-channel/hapi-utils.d.ts +25 -0
  557. package/build/types/integrations/tracing-channel/hapi-utils.d.ts.map +1 -0
  558. package/build/types/integrations/tracing-channel/hapi.d.ts +9 -0
  559. package/build/types/integrations/tracing-channel/hapi.d.ts.map +1 -0
  560. package/build/types/integrations/tracing-channel/ioredis.d.ts +37 -0
  561. package/build/types/integrations/tracing-channel/ioredis.d.ts.map +1 -0
  562. package/build/types/integrations/tracing-channel/kafkajs/consumer.d.ts +8 -0
  563. package/build/types/integrations/tracing-channel/kafkajs/consumer.d.ts.map +1 -0
  564. package/build/types/integrations/tracing-channel/kafkajs/index.d.ts +17 -0
  565. package/build/types/integrations/tracing-channel/kafkajs/index.d.ts.map +1 -0
  566. package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts +10 -0
  567. package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts.map +1 -0
  568. package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts +38 -0
  569. package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts.map +1 -0
  570. package/build/types/integrations/tracing-channel/kafkajs/types.d.ts +40 -0
  571. package/build/types/integrations/tracing-channel/kafkajs/types.d.ts.map +1 -0
  572. package/build/types/integrations/tracing-channel/knex.d.ts +11 -0
  573. package/build/types/integrations/tracing-channel/knex.d.ts.map +1 -0
  574. package/build/types/integrations/tracing-channel/koa.d.ts +14 -0
  575. package/build/types/integrations/tracing-channel/koa.d.ts.map +1 -0
  576. package/build/types/integrations/tracing-channel/langchain.d.ts +10 -0
  577. package/build/types/integrations/tracing-channel/langchain.d.ts.map +1 -0
  578. package/build/types/integrations/tracing-channel/langgraph.d.ts +10 -0
  579. package/build/types/integrations/tracing-channel/langgraph.d.ts.map +1 -0
  580. package/build/types/integrations/tracing-channel/lru-memoizer.d.ts +10 -0
  581. package/build/types/integrations/tracing-channel/lru-memoizer.d.ts.map +1 -0
  582. package/build/types/integrations/tracing-channel/mongodb.d.ts +12 -0
  583. package/build/types/integrations/tracing-channel/mongodb.d.ts.map +1 -0
  584. package/build/types/integrations/tracing-channel/mongoose.d.ts +15 -0
  585. package/build/types/integrations/tracing-channel/mongoose.d.ts.map +1 -0
  586. package/build/types/integrations/tracing-channel/mysql.d.ts +12 -0
  587. package/build/types/integrations/tracing-channel/mysql.d.ts.map +1 -0
  588. package/build/types/integrations/tracing-channel/mysql2.d.ts +15 -0
  589. package/build/types/integrations/tracing-channel/mysql2.d.ts.map +1 -0
  590. package/build/types/integrations/tracing-channel/openai.d.ts +10 -0
  591. package/build/types/integrations/tracing-channel/openai.d.ts.map +1 -0
  592. package/build/types/integrations/tracing-channel/postgres-js.d.ts +26 -0
  593. package/build/types/integrations/tracing-channel/postgres-js.d.ts.map +1 -0
  594. package/build/types/integrations/tracing-channel/postgres.d.ts +15 -0
  595. package/build/types/integrations/tracing-channel/postgres.d.ts.map +1 -0
  596. package/build/types/integrations/tracing-channel/redis.d.ts +16 -0
  597. package/build/types/integrations/tracing-channel/redis.d.ts.map +1 -0
  598. package/build/types/integrations/tracing-channel/tedious.d.ts +11 -0
  599. package/build/types/integrations/tracing-channel/tedious.d.ts.map +1 -0
  600. package/build/types/integrations/tracing-channel/vercel-ai.d.ts +13 -0
  601. package/build/types/integrations/tracing-channel/vercel-ai.d.ts.map +1 -0
  602. package/build/types/mongodb/mongodb-span.d.ts +66 -0
  603. package/build/types/mongodb/mongodb-span.d.ts.map +1 -0
  604. package/build/types/mongoose/index.d.ts +13 -0
  605. package/build/types/mongoose/index.d.ts.map +1 -0
  606. package/build/types/mongoose/mongoose-dc-subscriber.d.ts +63 -0
  607. package/build/types/mongoose/mongoose-dc-subscriber.d.ts.map +1 -0
  608. package/build/types/mongoose/mongoose-legacy-span.d.ts +29 -0
  609. package/build/types/mongoose/mongoose-legacy-span.d.ts.map +1 -0
  610. package/build/types/mysql2/index.d.ts +11 -0
  611. package/build/types/mysql2/index.d.ts.map +1 -0
  612. package/build/types/mysql2/mysql2-dc-subscriber.d.ts +59 -0
  613. package/build/types/mysql2/mysql2-dc-subscriber.d.ts.map +1 -0
  614. package/build/types/orchestrion/bundler/esbuild.d.ts +21 -0
  615. package/build/types/orchestrion/bundler/esbuild.d.ts.map +1 -0
  616. package/build/types/orchestrion/bundler/options.d.ts +29 -0
  617. package/build/types/orchestrion/bundler/options.d.ts.map +1 -0
  618. package/build/types/orchestrion/bundler/rollup.d.ts +17 -0
  619. package/build/types/orchestrion/bundler/rollup.d.ts.map +1 -0
  620. package/build/types/orchestrion/bundler/vite.d.ts +18 -0
  621. package/build/types/orchestrion/bundler/vite.d.ts.map +1 -0
  622. package/build/types/orchestrion/bundler/webpack.d.ts +19 -0
  623. package/build/types/orchestrion/bundler/webpack.d.ts.map +1 -0
  624. package/build/types/orchestrion/channels.d.ts +130 -0
  625. package/build/types/orchestrion/channels.d.ts.map +1 -0
  626. package/build/types/orchestrion/config/amqplib.d.ts +66 -0
  627. package/build/types/orchestrion/config/amqplib.d.ts.map +1 -0
  628. package/build/types/orchestrion/config/anthropic-ai.d.ts +31 -0
  629. package/build/types/orchestrion/config/anthropic-ai.d.ts.map +1 -0
  630. package/build/types/orchestrion/config/aws-sdk.d.ts +19 -0
  631. package/build/types/orchestrion/config/aws-sdk.d.ts.map +1 -0
  632. package/build/types/orchestrion/config/dataloader.d.ts +46 -0
  633. package/build/types/orchestrion/config/dataloader.d.ts.map +1 -0
  634. package/build/types/orchestrion/config/express.d.ts +30 -0
  635. package/build/types/orchestrion/config/express.d.ts.map +1 -0
  636. package/build/types/orchestrion/config/firebase.d.ts +4 -0
  637. package/build/types/orchestrion/config/firebase.d.ts.map +1 -0
  638. package/build/types/orchestrion/config/generic-pool.d.ts +31 -0
  639. package/build/types/orchestrion/config/generic-pool.d.ts.map +1 -0
  640. package/build/types/orchestrion/config/google-genai.d.ts +30 -0
  641. package/build/types/orchestrion/config/google-genai.d.ts.map +1 -0
  642. package/build/types/orchestrion/config/graphql.d.ts +29 -0
  643. package/build/types/orchestrion/config/graphql.d.ts.map +1 -0
  644. package/build/types/orchestrion/config/hapi.d.ts +17 -0
  645. package/build/types/orchestrion/config/hapi.d.ts.map +1 -0
  646. package/build/types/orchestrion/config/index.d.ts +37 -0
  647. package/build/types/orchestrion/config/index.d.ts.map +1 -0
  648. package/build/types/orchestrion/config/ioredis.d.ts +7 -0
  649. package/build/types/orchestrion/config/ioredis.d.ts.map +1 -0
  650. package/build/types/orchestrion/config/kafkajs.d.ts +17 -0
  651. package/build/types/orchestrion/config/kafkajs.d.ts.map +1 -0
  652. package/build/types/orchestrion/config/knex.d.ts +9 -0
  653. package/build/types/orchestrion/config/knex.d.ts.map +1 -0
  654. package/build/types/orchestrion/config/koa.d.ts +17 -0
  655. package/build/types/orchestrion/config/koa.d.ts.map +1 -0
  656. package/build/types/orchestrion/config/langchain.d.ts +18 -0
  657. package/build/types/orchestrion/config/langchain.d.ts.map +1 -0
  658. package/build/types/orchestrion/config/langgraph.d.ts +21 -0
  659. package/build/types/orchestrion/config/langgraph.d.ts.map +1 -0
  660. package/build/types/orchestrion/config/lru-memoizer.d.ts +16 -0
  661. package/build/types/orchestrion/config/lru-memoizer.d.ts.map +1 -0
  662. package/build/types/orchestrion/config/mongodb.d.ts +59 -0
  663. package/build/types/orchestrion/config/mongodb.d.ts.map +1 -0
  664. package/build/types/orchestrion/config/mongoose.d.ts +40 -0
  665. package/build/types/orchestrion/config/mongoose.d.ts.map +1 -0
  666. package/build/types/orchestrion/config/mysql.d.ts +16 -0
  667. package/build/types/orchestrion/config/mysql.d.ts.map +1 -0
  668. package/build/types/orchestrion/config/mysql2.d.ts +18 -0
  669. package/build/types/orchestrion/config/mysql2.d.ts.map +1 -0
  670. package/build/types/orchestrion/config/nestjs.d.ts +24 -0
  671. package/build/types/orchestrion/config/nestjs.d.ts.map +1 -0
  672. package/build/types/orchestrion/config/openai.d.ts +18 -0
  673. package/build/types/orchestrion/config/openai.d.ts.map +1 -0
  674. package/build/types/orchestrion/config/pg.d.ts +33 -0
  675. package/build/types/orchestrion/config/pg.d.ts.map +1 -0
  676. package/build/types/orchestrion/config/postgres.d.ts +9 -0
  677. package/build/types/orchestrion/config/postgres.d.ts.map +1 -0
  678. package/build/types/orchestrion/config/prisma.d.ts +4 -0
  679. package/build/types/orchestrion/config/prisma.d.ts.map +1 -0
  680. package/build/types/orchestrion/config/react-router.d.ts +4 -0
  681. package/build/types/orchestrion/config/react-router.d.ts.map +1 -0
  682. package/build/types/orchestrion/config/redis.d.ts +37 -0
  683. package/build/types/orchestrion/config/redis.d.ts.map +1 -0
  684. package/build/types/orchestrion/config/remix.d.ts +9 -0
  685. package/build/types/orchestrion/config/remix.d.ts.map +1 -0
  686. package/build/types/orchestrion/config/tedious.d.ts +12 -0
  687. package/build/types/orchestrion/config/tedious.d.ts.map +1 -0
  688. package/build/types/orchestrion/config/vercel-ai.d.ts +12 -0
  689. package/build/types/orchestrion/config/vercel-ai.d.ts.map +1 -0
  690. package/build/types/orchestrion/detect.d.ts +26 -0
  691. package/build/types/orchestrion/detect.d.ts.map +1 -0
  692. package/build/types/orchestrion/index.d.ts +136 -0
  693. package/build/types/orchestrion/index.d.ts.map +1 -0
  694. package/build/types/orchestrion/runtime/register.d.ts +25 -0
  695. package/build/types/orchestrion/runtime/register.d.ts.map +1 -0
  696. package/build/types/prisma/global.d.ts +5 -0
  697. package/build/types/prisma/global.d.ts.map +1 -0
  698. package/build/types/prisma/index.d.ts +45 -0
  699. package/build/types/prisma/index.d.ts.map +1 -0
  700. package/build/types/prisma/tracing-helper.d.ts +46 -0
  701. package/build/types/prisma/tracing-helper.d.ts.map +1 -0
  702. package/build/types/prisma/types.d.ts +37 -0
  703. package/build/types/prisma/types.d.ts.map +1 -0
  704. package/build/types/redis/index.d.ts +18 -0
  705. package/build/types/redis/index.d.ts.map +1 -0
  706. package/build/types/redis/redis-dc-subscriber.d.ts +89 -0
  707. package/build/types/redis/redis-dc-subscriber.d.ts.map +1 -0
  708. package/build/types/redis/redis-statement-serializer.d.ts +6 -0
  709. package/build/types/redis/redis-statement-serializer.d.ts.map +1 -0
  710. package/build/types/tracing-channel.d.ts +73 -0
  711. package/build/types/tracing-channel.d.ts.map +1 -0
  712. package/build/types/vercel-ai/index.d.ts +27 -0
  713. package/build/types/vercel-ai/index.d.ts.map +1 -0
  714. package/build/types/vercel-ai/util.d.ts +30 -0
  715. package/build/types/vercel-ai/util.d.ts.map +1 -0
  716. package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts +72 -0
  717. package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +1 -0
  718. package/build/types/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts +12 -0
  719. package/build/types/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts.map +1 -0
  720. package/build/types-ts3.8/debug-build.d.ts +7 -0
  721. package/build/types-ts3.8/graphql/graphql-dc-subscriber.d.ts +94 -0
  722. package/build/types-ts3.8/graphql/index.d.ts +12 -0
  723. package/build/types-ts3.8/graphql/utils.d.ts +36 -0
  724. package/build/types-ts3.8/index.d.ts +23 -0
  725. package/build/types-ts3.8/integrations/tracing-channel/amqplib.d.ts +11 -0
  726. package/build/types-ts3.8/integrations/tracing-channel/anthropic.d.ts +10 -0
  727. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts +43 -0
  728. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/constants.d.ts +15 -0
  729. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/index.d.ts +15 -0
  730. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts +23 -0
  731. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts +9 -0
  732. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts +10 -0
  733. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts +14 -0
  734. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts +8 -0
  735. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/index.d.ts +2 -0
  736. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts +6 -0
  737. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/lambda.d.ts +9 -0
  738. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/s3.d.ts +6 -0
  739. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts +8 -0
  740. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sns.d.ts +9 -0
  741. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sqs.d.ts +9 -0
  742. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts +6 -0
  743. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/types.d.ts +26 -0
  744. package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/utils.d.ts +5 -0
  745. package/build/types-ts3.8/integrations/tracing-channel/dataloader.d.ts +11 -0
  746. package/build/types-ts3.8/integrations/tracing-channel/express/index.d.ts +18 -0
  747. package/build/types-ts3.8/integrations/tracing-channel/express/instrumentation.d.ts +4 -0
  748. package/build/types-ts3.8/integrations/tracing-channel/express/route.d.ts +28 -0
  749. package/build/types-ts3.8/integrations/tracing-channel/express/types.d.ts +64 -0
  750. package/build/types-ts3.8/integrations/tracing-channel/fastify/errors.d.ts +12 -0
  751. package/build/types-ts3.8/integrations/tracing-channel/fastify/index.d.ts +66 -0
  752. package/build/types-ts3.8/integrations/tracing-channel/fastify/instrumentation.d.ts +10 -0
  753. package/build/types-ts3.8/integrations/tracing-channel/fastify/types.d.ts +32 -0
  754. package/build/types-ts3.8/integrations/tracing-channel/fastify/utils.d.ts +9 -0
  755. package/build/types-ts3.8/integrations/tracing-channel/generic-pool.d.ts +10 -0
  756. package/build/types-ts3.8/integrations/tracing-channel/google-genai.d.ts +12 -0
  757. package/build/types-ts3.8/integrations/tracing-channel/graphql/constants.d.ts +12 -0
  758. package/build/types-ts3.8/integrations/tracing-channel/graphql/graphql-types.d.ts +135 -0
  759. package/build/types-ts3.8/integrations/tracing-channel/graphql/index.d.ts +30 -0
  760. package/build/types-ts3.8/integrations/tracing-channel/graphql/resolvers.d.ts +13 -0
  761. package/build/types-ts3.8/integrations/tracing-channel/graphql/spans.d.ts +17 -0
  762. package/build/types-ts3.8/integrations/tracing-channel/graphql/types.d.ts +25 -0
  763. package/build/types-ts3.8/integrations/tracing-channel/hapi-types.d.ts +65 -0
  764. package/build/types-ts3.8/integrations/tracing-channel/hapi-utils.d.ts +25 -0
  765. package/build/types-ts3.8/integrations/tracing-channel/hapi.d.ts +9 -0
  766. package/build/types-ts3.8/integrations/tracing-channel/ioredis.d.ts +37 -0
  767. package/build/types-ts3.8/integrations/tracing-channel/kafkajs/consumer.d.ts +8 -0
  768. package/build/types-ts3.8/integrations/tracing-channel/kafkajs/index.d.ts +17 -0
  769. package/build/types-ts3.8/integrations/tracing-channel/kafkajs/semconv.d.ts +10 -0
  770. package/build/types-ts3.8/integrations/tracing-channel/kafkajs/spans.d.ts +38 -0
  771. package/build/types-ts3.8/integrations/tracing-channel/kafkajs/types.d.ts +40 -0
  772. package/build/types-ts3.8/integrations/tracing-channel/knex.d.ts +11 -0
  773. package/build/types-ts3.8/integrations/tracing-channel/koa.d.ts +14 -0
  774. package/build/types-ts3.8/integrations/tracing-channel/langchain.d.ts +10 -0
  775. package/build/types-ts3.8/integrations/tracing-channel/langgraph.d.ts +10 -0
  776. package/build/types-ts3.8/integrations/tracing-channel/lru-memoizer.d.ts +10 -0
  777. package/build/types-ts3.8/integrations/tracing-channel/mongodb.d.ts +12 -0
  778. package/build/types-ts3.8/integrations/tracing-channel/mongoose.d.ts +15 -0
  779. package/build/types-ts3.8/integrations/tracing-channel/mysql.d.ts +12 -0
  780. package/build/types-ts3.8/integrations/tracing-channel/mysql2.d.ts +15 -0
  781. package/build/types-ts3.8/integrations/tracing-channel/openai.d.ts +10 -0
  782. package/build/types-ts3.8/integrations/tracing-channel/postgres-js.d.ts +26 -0
  783. package/build/types-ts3.8/integrations/tracing-channel/postgres.d.ts +15 -0
  784. package/build/types-ts3.8/integrations/tracing-channel/redis.d.ts +16 -0
  785. package/build/types-ts3.8/integrations/tracing-channel/tedious.d.ts +11 -0
  786. package/build/types-ts3.8/integrations/tracing-channel/vercel-ai.d.ts +13 -0
  787. package/build/types-ts3.8/mongodb/mongodb-span.d.ts +66 -0
  788. package/build/types-ts3.8/mongoose/index.d.ts +13 -0
  789. package/build/types-ts3.8/mongoose/mongoose-dc-subscriber.d.ts +63 -0
  790. package/build/types-ts3.8/mongoose/mongoose-legacy-span.d.ts +29 -0
  791. package/build/types-ts3.8/mysql2/index.d.ts +11 -0
  792. package/build/types-ts3.8/mysql2/mysql2-dc-subscriber.d.ts +59 -0
  793. package/build/types-ts3.8/node-diagnostics-channel.d.ts +19 -0
  794. package/build/types-ts3.8/orchestrion/bundler/esbuild.d.ts +21 -0
  795. package/build/types-ts3.8/orchestrion/bundler/options.d.ts +29 -0
  796. package/build/types-ts3.8/orchestrion/bundler/rollup.d.ts +17 -0
  797. package/build/types-ts3.8/orchestrion/bundler/vite.d.ts +18 -0
  798. package/build/types-ts3.8/orchestrion/bundler/webpack.d.ts +19 -0
  799. package/build/types-ts3.8/orchestrion/channels.d.ts +130 -0
  800. package/build/types-ts3.8/orchestrion/config/amqplib.d.ts +66 -0
  801. package/build/types-ts3.8/orchestrion/config/anthropic-ai.d.ts +31 -0
  802. package/build/types-ts3.8/orchestrion/config/aws-sdk.d.ts +19 -0
  803. package/build/types-ts3.8/orchestrion/config/dataloader.d.ts +46 -0
  804. package/build/types-ts3.8/orchestrion/config/express.d.ts +30 -0
  805. package/build/types-ts3.8/orchestrion/config/firebase.d.ts +4 -0
  806. package/build/types-ts3.8/orchestrion/config/generic-pool.d.ts +31 -0
  807. package/build/types-ts3.8/orchestrion/config/google-genai.d.ts +30 -0
  808. package/build/types-ts3.8/orchestrion/config/graphql.d.ts +29 -0
  809. package/build/types-ts3.8/orchestrion/config/hapi.d.ts +17 -0
  810. package/build/types-ts3.8/orchestrion/config/index.d.ts +37 -0
  811. package/build/types-ts3.8/orchestrion/config/ioredis.d.ts +7 -0
  812. package/build/types-ts3.8/orchestrion/config/kafkajs.d.ts +17 -0
  813. package/build/types-ts3.8/orchestrion/config/knex.d.ts +9 -0
  814. package/build/types-ts3.8/orchestrion/config/koa.d.ts +17 -0
  815. package/build/types-ts3.8/orchestrion/config/langchain.d.ts +18 -0
  816. package/build/types-ts3.8/orchestrion/config/langgraph.d.ts +21 -0
  817. package/build/types-ts3.8/orchestrion/config/lru-memoizer.d.ts +16 -0
  818. package/build/types-ts3.8/orchestrion/config/mongodb.d.ts +59 -0
  819. package/build/types-ts3.8/orchestrion/config/mongoose.d.ts +40 -0
  820. package/build/types-ts3.8/orchestrion/config/mysql.d.ts +16 -0
  821. package/build/types-ts3.8/orchestrion/config/mysql2.d.ts +18 -0
  822. package/build/types-ts3.8/orchestrion/config/nestjs.d.ts +24 -0
  823. package/build/types-ts3.8/orchestrion/config/openai.d.ts +18 -0
  824. package/build/types-ts3.8/orchestrion/config/pg.d.ts +33 -0
  825. package/build/types-ts3.8/orchestrion/config/postgres.d.ts +9 -0
  826. package/build/types-ts3.8/orchestrion/config/prisma.d.ts +4 -0
  827. package/build/types-ts3.8/orchestrion/config/react-router.d.ts +4 -0
  828. package/build/types-ts3.8/orchestrion/config/redis.d.ts +37 -0
  829. package/build/types-ts3.8/orchestrion/config/remix.d.ts +9 -0
  830. package/build/types-ts3.8/orchestrion/config/tedious.d.ts +12 -0
  831. package/build/types-ts3.8/orchestrion/config/vercel-ai.d.ts +12 -0
  832. package/build/types-ts3.8/orchestrion/detect.d.ts +26 -0
  833. package/build/types-ts3.8/orchestrion/index.d.ts +138 -0
  834. package/build/types-ts3.8/orchestrion/runtime/register.d.ts +25 -0
  835. package/build/types-ts3.8/prisma/global.d.ts +5 -0
  836. package/build/types-ts3.8/prisma/index.d.ts +45 -0
  837. package/build/types-ts3.8/prisma/tracing-helper.d.ts +52 -0
  838. package/build/types-ts3.8/prisma/types.d.ts +40 -0
  839. package/build/types-ts3.8/redis/index.d.ts +18 -0
  840. package/build/types-ts3.8/redis/redis-dc-subscriber.d.ts +89 -0
  841. package/build/types-ts3.8/redis/redis-statement-serializer.d.ts +6 -0
  842. package/build/types-ts3.8/tracing-channel.d.ts +73 -0
  843. package/build/types-ts3.8/vercel-ai/index.d.ts +27 -0
  844. package/build/types-ts3.8/vercel-ai/util.d.ts +30 -0
  845. package/build/types-ts3.8/vercel-ai/vercel-ai-dc-subscriber.d.ts +72 -0
  846. package/build/types-ts3.8/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts +12 -0
  847. package/changes.json +14 -0
  848. package/package.json +189 -0
@@ -0,0 +1,168 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const op = require('@sentry/conventions/op');
4
+ const core = require('@sentry/core');
5
+ const constants = require('./constants.js');
6
+
7
+ function isPromise(value) {
8
+ return typeof value?.then === "function";
9
+ }
10
+ function wrapFields(type, getConfig) {
11
+ if (!type || type[constants.GRAPHQL_PATCHED_SYMBOL]) {
12
+ return;
13
+ }
14
+ type[constants.GRAPHQL_PATCHED_SYMBOL] = true;
15
+ const fields = type.getFields();
16
+ Object.keys(fields).forEach((key) => {
17
+ const field = fields[key];
18
+ if (!field) {
19
+ return;
20
+ }
21
+ if (field.resolve) {
22
+ field.resolve = wrapFieldResolver(getConfig, field.resolve);
23
+ }
24
+ if (field.type) {
25
+ for (const unwrappedType of unwrapType(field.type)) {
26
+ wrapFields(unwrappedType, getConfig);
27
+ }
28
+ }
29
+ });
30
+ }
31
+ function wrapFieldResolver(getConfig, fieldResolver, isDefaultResolver = false) {
32
+ if (typeof fieldResolver !== "function" || fieldResolver[constants.GRAPHQL_PATCHED_SYMBOL]) {
33
+ return fieldResolver;
34
+ }
35
+ function wrappedFieldResolver(source, args, rawContextValue, info) {
36
+ if (!fieldResolver) {
37
+ return void 0;
38
+ }
39
+ const contextValue = rawContextValue ?? {};
40
+ const config = getConfig();
41
+ if (config.ignoreTrivialResolveSpans && isDefaultResolver && (core.isObjectLike(source) || typeof source === "function")) {
42
+ const property = source[info.fieldName];
43
+ if (typeof property !== "function") {
44
+ return fieldResolver.call(this, source, args, contextValue, info);
45
+ }
46
+ }
47
+ if (!contextValue[constants.GRAPHQL_DATA_SYMBOL]) {
48
+ return fieldResolver.call(this, source, args, contextValue, info);
49
+ }
50
+ const path = pathToArray(info.path);
51
+ const { field, spanAdded } = createFieldIfNotExists(contextValue, info, path);
52
+ const span = field.span;
53
+ return core.withActiveSpan(span, () => {
54
+ try {
55
+ const res = fieldResolver.call(this, source, args, contextValue, info);
56
+ if (isPromise(res)) {
57
+ return res.then(
58
+ (r) => {
59
+ endResolveSpan(span, spanAdded);
60
+ return r;
61
+ },
62
+ (err) => {
63
+ endResolveSpan(span, spanAdded, err);
64
+ throw err;
65
+ }
66
+ );
67
+ }
68
+ endResolveSpan(span, spanAdded);
69
+ return res;
70
+ } catch (err) {
71
+ endResolveSpan(span, spanAdded, err);
72
+ throw err;
73
+ }
74
+ });
75
+ }
76
+ wrappedFieldResolver[constants.GRAPHQL_PATCHED_SYMBOL] = true;
77
+ return wrappedFieldResolver;
78
+ }
79
+ function endResolveSpan(span, shouldEndSpan, error) {
80
+ if (!shouldEndSpan) {
81
+ return;
82
+ }
83
+ if (error) {
84
+ span.setStatus({ code: core.SPAN_STATUS_ERROR, message: error.message });
85
+ }
86
+ span.end();
87
+ }
88
+ function createFieldIfNotExists(contextValue, info, path) {
89
+ const existing = getField(contextValue, path);
90
+ if (existing) {
91
+ return { field: existing, spanAdded: false };
92
+ }
93
+ const field = { span: createResolverSpan(info, path, getParentFieldSpan(contextValue, path)) };
94
+ addField(contextValue, path, field);
95
+ return { field, spanAdded: true };
96
+ }
97
+ function createResolverSpan(info, path, parentSpan) {
98
+ const attributes = {
99
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: constants.ORIGIN,
100
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_OP]: op.WEB_SERVER_GRAPHQL_SPAN_OP,
101
+ [constants.GRAPHQL_FIELD_NAME]: info.fieldName,
102
+ [constants.GRAPHQL_FIELD_PATH]: path.join("."),
103
+ [constants.GRAPHQL_FIELD_TYPE]: info.returnType.toString(),
104
+ [constants.GRAPHQL_PARENT_NAME]: info.parentType.name
105
+ };
106
+ return core.startInactiveSpan({ name: `${constants.SPAN_NAME_RESOLVE} ${path.join(".")}`, attributes, parentSpan });
107
+ }
108
+ function addField(contextValue, path, field) {
109
+ const data = contextValue[constants.GRAPHQL_DATA_SYMBOL];
110
+ if (data) {
111
+ data.fields[path.join(".")] = field;
112
+ }
113
+ }
114
+ function getField(contextValue, path) {
115
+ return contextValue[constants.GRAPHQL_DATA_SYMBOL]?.fields[path.join(".")];
116
+ }
117
+ function getParentFieldSpan(contextValue, path) {
118
+ for (let i = path.length - 1; i > 0; i--) {
119
+ const field = getField(contextValue, path.slice(0, i));
120
+ if (field) {
121
+ return field.span;
122
+ }
123
+ }
124
+ return contextValue[constants.GRAPHQL_DATA_SYMBOL]?.span;
125
+ }
126
+ function pathToArray(path) {
127
+ const flattened = [];
128
+ let curr = path;
129
+ while (curr) {
130
+ flattened.push(String(curr.key));
131
+ curr = curr.prev;
132
+ }
133
+ return flattened.reverse();
134
+ }
135
+ function unwrapType(type) {
136
+ if ("ofType" in type && type.ofType) {
137
+ return unwrapType(type.ofType);
138
+ }
139
+ if (isGraphQLUnionType(type)) {
140
+ return type.getTypes();
141
+ }
142
+ if (isGraphQLObjectType(type)) {
143
+ return [type];
144
+ }
145
+ return [];
146
+ }
147
+ function isGraphQLUnionType(type) {
148
+ return "getTypes" in type && typeof type.getTypes === "function";
149
+ }
150
+ function isGraphQLObjectType(type) {
151
+ return "getFields" in type && typeof type.getFields === "function";
152
+ }
153
+ function getOperation(document, operationName) {
154
+ const definitions = document?.definitions;
155
+ if (!definitions || !Array.isArray(definitions)) {
156
+ return void 0;
157
+ }
158
+ const isOperation = (def) => !!def?.operation && ["query", "mutation", "subscription"].indexOf(def.operation) !== -1;
159
+ if (operationName) {
160
+ return definitions.filter(isOperation).find((def) => operationName === def?.name?.value);
161
+ }
162
+ return definitions.find(isOperation);
163
+ }
164
+
165
+ exports.getOperation = getOperation;
166
+ exports.wrapFieldResolver = wrapFieldResolver;
167
+ exports.wrapFields = wrapFields;
168
+ //# sourceMappingURL=resolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvers.js","sources":["../../../../../src/integrations/tracing-channel/graphql/resolvers.ts"],"sourcesContent":["/*\n * Resolver-span wrapping for the orchestrion graphql path. graphql v14–16 publishes no per-field\n * `resolve` channel (unlike v17's native one), so the schema's field resolvers are swapped for\n * span-creating proxies under the execute channel's `start` (the \"consumer trick\" — the transform\n * can't target user resolvers, but `execute` receives the schema, so we mutate it before the wrapped\n * call runs). Resolver spans use the same origin/op/field attributes as the native subscriber.\n */\n\nimport { WEB_SERVER_GRAPHQL_SPAN_OP } from '@sentry/conventions/op';\nimport type { Span, SpanAttributes } from '@sentry/core';\nimport {\n isObjectLike,\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SPAN_STATUS_ERROR,\n startInactiveSpan,\n withActiveSpan,\n} from '@sentry/core';\nimport {\n GRAPHQL_DATA_SYMBOL,\n GRAPHQL_FIELD_NAME,\n GRAPHQL_FIELD_PATH,\n GRAPHQL_FIELD_TYPE,\n GRAPHQL_PARENT_NAME,\n GRAPHQL_PATCHED_SYMBOL,\n ORIGIN,\n SPAN_NAME_RESOLVE,\n} from './constants';\nimport type {\n DefinitionNode,\n DocumentNode,\n GraphQLFieldResolver,\n GraphQLObjectType,\n GraphQLOutputType,\n GraphQLPath,\n GraphQLResolveInfo,\n GraphQLType,\n GraphQLUnionType,\n GraphqlResolvedConfig,\n Maybe,\n ObjectWithGraphQLData,\n Patched,\n} from './types';\n\nfunction isPromise(value: unknown): value is Promise<unknown> {\n return typeof (value as { then?: unknown } | undefined)?.then === 'function';\n}\n\n/**\n * Walks the query/mutation type tree and swaps each field's `resolve` for a span-creating proxy.\n * Idempotent per type via {@link GRAPHQL_PATCHED_SYMBOL}.\n */\nexport function wrapFields(type: Maybe<GraphQLObjectType & Patched>, getConfig: () => GraphqlResolvedConfig): void {\n if (!type || type[GRAPHQL_PATCHED_SYMBOL]) {\n return;\n }\n\n type[GRAPHQL_PATCHED_SYMBOL] = true;\n const fields = type.getFields();\n\n Object.keys(fields).forEach(key => {\n const field = fields[key];\n if (!field) {\n return;\n }\n\n if (field.resolve) {\n field.resolve = wrapFieldResolver(getConfig, field.resolve);\n }\n\n if (field.type) {\n for (const unwrappedType of unwrapType(field.type)) {\n wrapFields(unwrappedType, getConfig);\n }\n }\n });\n}\n\nexport function wrapFieldResolver(\n getConfig: () => GraphqlResolvedConfig,\n fieldResolver: Maybe<GraphQLFieldResolver & Patched>,\n isDefaultResolver = false,\n): GraphQLFieldResolver & Patched {\n // Return the resolver untouched if it isn't a function or is already a wrapped one — the wrapper we\n // return is marked with `GRAPHQL_PATCHED_SYMBOL` below precisely so it can be detected here. (The\n // guard must test the incoming `fieldResolver`, not the freshly-hoisted `wrappedFieldResolver`.)\n if (typeof fieldResolver !== 'function' || fieldResolver[GRAPHQL_PATCHED_SYMBOL]) {\n return fieldResolver as GraphQLFieldResolver;\n }\n\n function wrappedFieldResolver(\n this: unknown,\n source: unknown,\n args: unknown,\n rawContextValue: unknown,\n info: GraphQLResolveInfo,\n ): unknown {\n if (!fieldResolver) {\n return undefined;\n }\n\n const contextValue = (rawContextValue ?? {}) as ObjectWithGraphQLData;\n const config = getConfig();\n\n // Mirror graphql's own \"trivial resolver\" check: a default resolver that just reads a\n // non-function property is not worth a span.\n if (\n config.ignoreTrivialResolveSpans &&\n isDefaultResolver &&\n (isObjectLike(source) || typeof source === 'function')\n ) {\n const property = (source as Record<string, unknown>)[info.fieldName];\n if (typeof property !== 'function') {\n return fieldResolver.call(this, source, args, contextValue, info);\n }\n }\n\n if (!contextValue[GRAPHQL_DATA_SYMBOL]) {\n return fieldResolver.call(this, source, args, contextValue, info);\n }\n\n const path = pathToArray(info.path);\n const { field, spanAdded } = createFieldIfNotExists(contextValue, info, path);\n const span = field.span;\n\n return withActiveSpan(span, () => {\n try {\n const res = fieldResolver.call(this, source, args, contextValue, info);\n if (isPromise(res)) {\n return res.then(\n r => {\n endResolveSpan(span, spanAdded);\n return r;\n },\n (err: Error) => {\n endResolveSpan(span, spanAdded, err);\n throw err;\n },\n );\n }\n endResolveSpan(span, spanAdded);\n return res;\n } catch (err) {\n endResolveSpan(span, spanAdded, err as Error);\n throw err;\n }\n });\n }\n\n (wrappedFieldResolver as Patched)[GRAPHQL_PATCHED_SYMBOL] = true;\n return wrappedFieldResolver;\n}\n\nfunction endResolveSpan(span: Span, shouldEndSpan: boolean, error?: Error): void {\n if (!shouldEndSpan) {\n return;\n }\n if (error) {\n span.setStatus({ code: SPAN_STATUS_ERROR, message: error.message });\n }\n span.end();\n}\n\nfunction createFieldIfNotExists(\n contextValue: ObjectWithGraphQLData,\n info: GraphQLResolveInfo,\n path: string[],\n): { field: { span: Span }; spanAdded: boolean } {\n const existing = getField(contextValue, path);\n if (existing) {\n return { field: existing, spanAdded: false };\n }\n\n const field = { span: createResolverSpan(info, path, getParentFieldSpan(contextValue, path)) };\n addField(contextValue, path, field);\n return { field, spanAdded: true };\n}\n\nfunction createResolverSpan(info: GraphQLResolveInfo, path: string[], parentSpan?: Span): Span {\n const attributes: SpanAttributes = {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: WEB_SERVER_GRAPHQL_SPAN_OP,\n [GRAPHQL_FIELD_NAME]: info.fieldName,\n [GRAPHQL_FIELD_PATH]: path.join('.'),\n [GRAPHQL_FIELD_TYPE]: info.returnType.toString(),\n [GRAPHQL_PARENT_NAME]: info.parentType.name,\n };\n\n return startInactiveSpan({ name: `${SPAN_NAME_RESOLVE} ${path.join('.')}`, attributes, parentSpan });\n}\n\nfunction addField(contextValue: ObjectWithGraphQLData, path: string[], field: { span: Span }): void {\n const data = contextValue[GRAPHQL_DATA_SYMBOL];\n if (data) {\n data.fields[path.join('.')] = field;\n }\n}\n\nfunction getField(contextValue: ObjectWithGraphQLData, path: string[]): { span: Span } | undefined {\n return contextValue[GRAPHQL_DATA_SYMBOL]?.fields[path.join('.')];\n}\n\nfunction getParentFieldSpan(contextValue: ObjectWithGraphQLData, path: string[]): Span | undefined {\n for (let i = path.length - 1; i > 0; i--) {\n const field = getField(contextValue, path.slice(0, i));\n if (field) {\n return field.span;\n }\n }\n return contextValue[GRAPHQL_DATA_SYMBOL]?.span;\n}\n\nfunction pathToArray(path: GraphQLPath): string[] {\n const flattened: string[] = [];\n let curr: GraphQLPath | undefined = path;\n while (curr) {\n flattened.push(String(curr.key));\n curr = curr.prev;\n }\n return flattened.reverse();\n}\n\nfunction unwrapType(type: GraphQLOutputType): readonly (GraphQLObjectType & Patched)[] {\n // The structural index signature widens `ofType` to `unknown`, so narrow it back explicitly.\n if ('ofType' in type && type.ofType) {\n return unwrapType(type.ofType as GraphQLOutputType);\n }\n if (isGraphQLUnionType(type)) {\n return type.getTypes();\n }\n if (isGraphQLObjectType(type)) {\n return [type];\n }\n return [];\n}\n\nfunction isGraphQLUnionType(type: GraphQLType): type is GraphQLUnionType {\n return 'getTypes' in type && typeof type.getTypes === 'function';\n}\n\nfunction isGraphQLObjectType(type: GraphQLType): type is GraphQLObjectType {\n return 'getFields' in type && typeof (type as GraphQLObjectType).getFields === 'function';\n}\n\n/**\n * Returns the operation definition for `operationName` (or the first operation) from a parsed\n * document, or `undefined` for schema documents / when no operation is present.\n */\nexport function getOperation(document: DocumentNode, operationName?: Maybe<string>): DefinitionNode | undefined {\n const definitions: readonly DefinitionNode[] | undefined = document?.definitions;\n if (!definitions || !Array.isArray(definitions)) {\n return undefined;\n }\n\n const isOperation = (def: DefinitionNode): boolean =>\n !!def?.operation && ['query', 'mutation', 'subscription'].indexOf(def.operation) !== -1;\n\n if (operationName) {\n return definitions.filter(isOperation).find((def: DefinitionNode) => operationName === def?.name?.value);\n }\n return definitions.find(isOperation);\n}\n"],"names":["GRAPHQL_PATCHED_SYMBOL","isObjectLike","GRAPHQL_DATA_SYMBOL","withActiveSpan","SPAN_STATUS_ERROR","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_OP","WEB_SERVER_GRAPHQL_SPAN_OP","GRAPHQL_FIELD_NAME","GRAPHQL_FIELD_PATH","GRAPHQL_FIELD_TYPE","GRAPHQL_PARENT_NAME","startInactiveSpan","SPAN_NAME_RESOLVE"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const attributes = require('@sentry/conventions/attributes');
4
+ const op = require('@sentry/conventions/op');
5
+ const core = require('@sentry/core');
6
+ const utils = require('../../../graphql/utils.js');
7
+ const constants = require('./constants.js');
8
+ const resolvers = require('./resolvers.js');
9
+
10
+ const BASE_ATTRIBUTES = {
11
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: constants.ORIGIN,
12
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_OP]: op.WEB_SERVER_GRAPHQL_SPAN_OP
13
+ };
14
+ function startParseSpan() {
15
+ return core.startInactiveSpan({ name: constants.SPAN_NAME_PARSE, attributes: { ...BASE_ATTRIBUTES } });
16
+ }
17
+ function startValidateSpan(documentAST) {
18
+ return core.startInactiveSpan({
19
+ name: constants.SPAN_NAME_VALIDATE,
20
+ attributes: { ...BASE_ATTRIBUTES, [attributes.GRAPHQL_DOCUMENT]: utils.collectGraphqlDocument(documentAST) }
21
+ });
22
+ }
23
+ function finalizeValidateSpan(span, result) {
24
+ if (Array.isArray(result) && result.length > 0) {
25
+ span.setStatus({ code: core.SPAN_STATUS_ERROR, message: "invalid_argument" });
26
+ }
27
+ }
28
+ function normalizeExecuteArgs(argsArray) {
29
+ if (argsArray.length >= 2) {
30
+ return {
31
+ schema: argsArray[0 /* SCHEMA */],
32
+ document: argsArray[1 /* DOCUMENT */],
33
+ contextValue: argsArray[3 /* CONTEXT_VALUE */] ?? {},
34
+ operationName: argsArray[5 /* OPERATION_NAME */],
35
+ fieldResolver: argsArray[6 /* FIELD_RESOLVER */],
36
+ writeBack: (contextValue, fieldResolver) => {
37
+ argsArray[3 /* CONTEXT_VALUE */] = contextValue;
38
+ argsArray[6 /* FIELD_RESOLVER */] = fieldResolver;
39
+ }
40
+ };
41
+ }
42
+ const obj = argsArray[0] ?? {};
43
+ return {
44
+ schema: obj.schema,
45
+ document: obj.document,
46
+ contextValue: obj.contextValue ?? {},
47
+ operationName: obj.operationName,
48
+ fieldResolver: obj.fieldResolver,
49
+ writeBack: (contextValue, fieldResolver) => {
50
+ obj.contextValue = contextValue;
51
+ obj.fieldResolver = fieldResolver;
52
+ }
53
+ };
54
+ }
55
+ function startExecuteSpan(argsArray, self, config, getConfig) {
56
+ const args = normalizeExecuteArgs(argsArray);
57
+ const { schema, document } = args;
58
+ let { contextValue, fieldResolver } = args;
59
+ const alreadyInstrumented = !!contextValue[constants.GRAPHQL_DATA_SYMBOL];
60
+ if (!config.ignoreResolveSpans && !alreadyInstrumented) {
61
+ const isUsingDefaultResolver = fieldResolver == null;
62
+ const defaultFieldResolver = self?.defaultFieldResolver;
63
+ const fieldResolverForExecute = fieldResolver ?? defaultFieldResolver;
64
+ if (fieldResolverForExecute) {
65
+ fieldResolver = resolvers.wrapFieldResolver(getConfig, fieldResolverForExecute, isUsingDefaultResolver);
66
+ }
67
+ if (schema) {
68
+ resolvers.wrapFields(schema.getQueryType(), getConfig);
69
+ resolvers.wrapFields(schema.getMutationType(), getConfig);
70
+ }
71
+ }
72
+ const operation = resolvers.getOperation(document, args.operationName);
73
+ const operationType = operation?.operation;
74
+ const operationName = operation?.name?.value ?? args.operationName ?? void 0;
75
+ const span = core.startInactiveSpan({
76
+ name: utils.getOperationSpanName(operationType, operationName || void 0, constants.SPAN_NAME_EXECUTE),
77
+ attributes: {
78
+ ...BASE_ATTRIBUTES,
79
+ [attributes.GRAPHQL_OPERATION_TYPE]: operationType,
80
+ [attributes.GRAPHQL_OPERATION_NAME]: operationName || void 0,
81
+ [attributes.GRAPHQL_DOCUMENT]: utils.collectGraphqlDocument(document)
82
+ }
83
+ });
84
+ if (config.useOperationNameForRootSpan && operationType) {
85
+ utils.renameRootSpanWithOperation(span, operationType, operationName || void 0);
86
+ }
87
+ contextValue[constants.GRAPHQL_DATA_SYMBOL] = { source: document, span, fields: {} };
88
+ args.writeBack(contextValue, fieldResolver);
89
+ return span;
90
+ }
91
+ function finalizeExecuteSpan(span, result) {
92
+ if (utils.hasResultErrors(result)) {
93
+ span.setStatus({ code: core.SPAN_STATUS_ERROR, message: "internal_error" });
94
+ }
95
+ }
96
+
97
+ exports.finalizeExecuteSpan = finalizeExecuteSpan;
98
+ exports.finalizeValidateSpan = finalizeValidateSpan;
99
+ exports.startExecuteSpan = startExecuteSpan;
100
+ exports.startParseSpan = startParseSpan;
101
+ exports.startValidateSpan = startValidateSpan;
102
+ //# sourceMappingURL=spans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spans.js","sources":["../../../../../src/integrations/tracing-channel/graphql/spans.ts"],"sourcesContent":["/*\n * Span builders for the orchestrion graphql channels (v14–16). They emit the same spans as the native\n * `diagnostics_channel` subscriber (`../../../graphql/graphql-dc-subscriber.ts`, graphql >= 17) by\n * reusing its `utils` and conventions — only the data source differs: here the payloads are the raw\n * arguments of the injected `parse`/`validate`/`execute` calls rather than graphql's native events.\n */\n\nimport { GRAPHQL_DOCUMENT, GRAPHQL_OPERATION_NAME, GRAPHQL_OPERATION_TYPE } from '@sentry/conventions/attributes';\nimport { WEB_SERVER_GRAPHQL_SPAN_OP } from '@sentry/conventions/op';\nimport type { Span } from '@sentry/core';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SPAN_STATUS_ERROR,\n startInactiveSpan,\n} from '@sentry/core';\nimport type { GraphqlDocumentNode } from '../../../graphql/utils';\nimport {\n collectGraphqlDocument,\n getOperationSpanName,\n hasResultErrors,\n renameRootSpanWithOperation,\n} from '../../../graphql/utils';\nimport { GRAPHQL_DATA_SYMBOL, ORIGIN, SPAN_NAME_EXECUTE, SPAN_NAME_PARSE, SPAN_NAME_VALIDATE } from './constants';\nimport { getOperation, wrapFields, wrapFieldResolver } from './resolvers';\nimport type {\n DocumentNode,\n GraphQLFieldResolver,\n GraphQLSchema,\n GraphqlResolvedConfig,\n Maybe,\n ObjectWithGraphQLData,\n} from './types';\n\nconst BASE_ATTRIBUTES = {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: WEB_SERVER_GRAPHQL_SPAN_OP,\n} as const;\n\nexport function startParseSpan(): Span {\n return startInactiveSpan({ name: SPAN_NAME_PARSE, attributes: { ...BASE_ATTRIBUTES } });\n}\n\n/** `documentAST` is the 2nd argument to `validate(schema, documentAST, …)`. */\nexport function startValidateSpan(documentAST: unknown): Span {\n return startInactiveSpan({\n name: SPAN_NAME_VALIDATE,\n attributes: { ...BASE_ATTRIBUTES, [GRAPHQL_DOCUMENT]: collectGraphqlDocument(documentAST as GraphqlDocumentNode) },\n });\n}\n\n/** `result` is validation's return value: a (possibly empty) array of errors. */\nexport function finalizeValidateSpan(span: Span, result: unknown): void {\n if (Array.isArray(result) && result.length > 0) {\n span.setStatus({ code: SPAN_STATUS_ERROR, message: 'invalid_argument' });\n }\n}\n\n/** Positional slots of a `graphql.execute(schema, document, …)` call (v14/v15 legacy signature). */\nconst enum ExecuteArg {\n SCHEMA = 0,\n DOCUMENT = 1,\n CONTEXT_VALUE = 3,\n OPERATION_NAME = 5,\n FIELD_RESOLVER = 6,\n}\n\ninterface NormalizedExecuteArgs {\n schema?: GraphQLSchema;\n document?: DocumentNode;\n contextValue: ObjectWithGraphQLData;\n operationName?: Maybe<string>;\n fieldResolver?: Maybe<GraphQLFieldResolver>;\n /** Writes `contextValue`/`fieldResolver` mutations back to the live channel `arguments`. */\n writeBack: (contextValue: ObjectWithGraphQLData, fieldResolver: Maybe<GraphQLFieldResolver>) => void;\n}\n\n/**\n * `execute` accepts either a single `ExecutionArgs` object (modern callers, always in v16) or\n * positional args (v14/v15). Both are normalized here; `writeBack` puts mutations onto the correct\n * slot so they reach the real call.\n */\nfunction normalizeExecuteArgs(argsArray: unknown[]): NormalizedExecuteArgs {\n if (argsArray.length >= 2) {\n return {\n schema: argsArray[ExecuteArg.SCHEMA] as GraphQLSchema | undefined,\n document: argsArray[ExecuteArg.DOCUMENT] as DocumentNode | undefined,\n contextValue: (argsArray[ExecuteArg.CONTEXT_VALUE] ?? {}) as ObjectWithGraphQLData,\n operationName: argsArray[ExecuteArg.OPERATION_NAME] as Maybe<string>,\n fieldResolver: argsArray[ExecuteArg.FIELD_RESOLVER] as Maybe<GraphQLFieldResolver>,\n writeBack: (contextValue, fieldResolver) => {\n argsArray[ExecuteArg.CONTEXT_VALUE] = contextValue;\n argsArray[ExecuteArg.FIELD_RESOLVER] = fieldResolver;\n },\n };\n }\n\n const obj = (argsArray[0] ?? {}) as {\n schema?: GraphQLSchema;\n document?: DocumentNode;\n contextValue?: unknown;\n operationName?: Maybe<string>;\n fieldResolver?: Maybe<GraphQLFieldResolver>;\n };\n return {\n schema: obj.schema,\n document: obj.document,\n contextValue: (obj.contextValue ?? {}) as ObjectWithGraphQLData,\n operationName: obj.operationName,\n fieldResolver: obj.fieldResolver,\n writeBack: (contextValue, fieldResolver) => {\n obj.contextValue = contextValue;\n obj.fieldResolver = fieldResolver;\n },\n };\n}\n\n/**\n * Opens the execute span and, unless resolver spans are disabled, swaps the schema's field resolvers\n * (and the default field resolver) for span-creating proxies — mutating the live `arguments` in place\n * so the wrapped `execute` call runs with them. Always returns a span; the caller guards against\n * throws (see `safe` in `index.ts`).\n */\nexport function startExecuteSpan(\n argsArray: unknown[],\n self: unknown,\n config: GraphqlResolvedConfig,\n getConfig: () => GraphqlResolvedConfig,\n): Span {\n const args = normalizeExecuteArgs(argsArray);\n const { schema, document } = args;\n let { contextValue, fieldResolver } = args;\n\n // Skip resolver wrapping when disabled or when a parent execute already set up this context\n // (nested execute reusing the same contextValue).\n const alreadyInstrumented = !!contextValue[GRAPHQL_DATA_SYMBOL];\n if (!config.ignoreResolveSpans && !alreadyInstrumented) {\n const isUsingDefaultResolver = fieldResolver == null;\n const defaultFieldResolver = (self as { defaultFieldResolver?: GraphQLFieldResolver } | undefined)\n ?.defaultFieldResolver;\n const fieldResolverForExecute = fieldResolver ?? defaultFieldResolver;\n if (fieldResolverForExecute) {\n fieldResolver = wrapFieldResolver(getConfig, fieldResolverForExecute, isUsingDefaultResolver);\n }\n\n if (schema) {\n wrapFields(schema.getQueryType(), getConfig);\n wrapFields(schema.getMutationType(), getConfig);\n }\n }\n\n // v14–16 channels carry only the raw args, so derive the operation from the document (native v17\n // provides `operationType`/`operationName` on the event directly).\n const operation = getOperation(document as DocumentNode, args.operationName);\n const operationType = operation?.operation;\n const operationName = operation?.name?.value ?? args.operationName ?? undefined;\n\n const span = startInactiveSpan({\n name: getOperationSpanName(operationType, operationName || undefined, SPAN_NAME_EXECUTE),\n attributes: {\n ...BASE_ATTRIBUTES,\n [GRAPHQL_OPERATION_TYPE]: operationType,\n [GRAPHQL_OPERATION_NAME]: operationName || undefined,\n [GRAPHQL_DOCUMENT]: collectGraphqlDocument(document as GraphqlDocumentNode | undefined),\n },\n });\n\n if (config.useOperationNameForRootSpan && operationType) {\n renameRootSpanWithOperation(span, operationType, operationName || undefined);\n }\n\n // The resolver proxies read the execute span (and their own bookkeeping) off this symbol.\n contextValue[GRAPHQL_DATA_SYMBOL] = { source: document, span, fields: {} };\n args.writeBack(contextValue, fieldResolver);\n\n return span;\n}\n\n/** `result` is the settled `ExecutionResult`; GraphQL errors surface on `result.errors`, not a throw. */\nexport function finalizeExecuteSpan(span: Span, result: unknown): void {\n if (hasResultErrors(result)) {\n span.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n }\n}\n"],"names":["SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_OP","WEB_SERVER_GRAPHQL_SPAN_OP","startInactiveSpan","SPAN_NAME_PARSE","SPAN_NAME_VALIDATE","GRAPHQL_DOCUMENT","collectGraphqlDocument","SPAN_STATUS_ERROR","GRAPHQL_DATA_SYMBOL","wrapFieldResolver","wrapFields","getOperation","getOperationSpanName","SPAN_NAME_EXECUTE","GRAPHQL_OPERATION_TYPE","GRAPHQL_OPERATION_NAME","renameRootSpanWithOperation","hasResultErrors"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const LIFECYCLE_EXT_POINTS = [
4
+ "onPreAuth",
5
+ "onCredentials",
6
+ "onPostAuth",
7
+ "onPreHandler",
8
+ "onPostHandler",
9
+ "onPreResponse",
10
+ "onRequest"
11
+ ];
12
+ const handlerPatched = /* @__PURE__ */ Symbol("hapi-handler-patched");
13
+ const HapiLayerType = {
14
+ ROUTER: "router",
15
+ PLUGIN: "plugin",
16
+ EXT: "server.ext"
17
+ };
18
+ const HapiLifecycleMethodNames = new Set(LIFECYCLE_EXT_POINTS);
19
+ var AttributeNames = /* @__PURE__ */ ((AttributeNames2) => {
20
+ AttributeNames2["HAPI_TYPE"] = "hapi.type";
21
+ AttributeNames2["PLUGIN_NAME"] = "hapi.plugin.name";
22
+ AttributeNames2["EXT_TYPE"] = "server.ext.type";
23
+ return AttributeNames2;
24
+ })(AttributeNames || {});
25
+
26
+ exports.AttributeNames = AttributeNames;
27
+ exports.HapiLayerType = HapiLayerType;
28
+ exports.HapiLifecycleMethodNames = HapiLifecycleMethodNames;
29
+ exports.handlerPatched = handlerPatched;
30
+ //# sourceMappingURL=hapi-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hapi-types.js","sources":["../../../../src/integrations/tracing-channel/hapi-types.ts"],"sourcesContent":["/*\n * Structural type definitions and constants ported from the vendored\n * `@opentelemetry/instrumentation-hapi` types, with all `@hapi/*` and\n * `@opentelemetry/*` dependencies removed. Only the shapes actually accessed by\n * the orchestrion hapi subscriber are kept.\n */\n\n// Single source of truth for the request lifecycle extension points, so the\n// `ServerRequestExtType` union and the runtime `HapiLifecycleMethodNames` set\n// below can't drift apart.\nconst LIFECYCLE_EXT_POINTS = [\n 'onPreAuth',\n 'onCredentials',\n 'onPostAuth',\n 'onPreHandler',\n 'onPostHandler',\n 'onPreResponse',\n 'onRequest',\n] as const;\n\nexport type ServerRequestExtType = (typeof LIFECYCLE_EXT_POINTS)[number];\n\nexport type LifecycleMethod = (request: unknown, h: unknown, err?: Error) => unknown;\n\nexport interface ServerRouteOptions {\n handler?: LifecycleMethod | unknown;\n [key: string]: unknown;\n}\n\nexport interface ServerRoute {\n path: string;\n method: string;\n handler?: LifecycleMethod | unknown;\n options?: ((server: unknown) => ServerRouteOptions) | ServerRouteOptions;\n [key: string]: unknown;\n}\n\nexport interface ServerExtEventsObject {\n type: string;\n [key: string]: unknown;\n}\n\nexport interface ServerExtEventsRequestObject {\n type: ServerRequestExtType;\n method: LifecycleMethod;\n [key: string]: unknown;\n}\n\nexport interface ServerExtOptions {\n [key: string]: unknown;\n}\n\n/**\n * This symbol is used to mark a Hapi route handler or server extension handler as\n * already patched, since it's possible to use these handlers multiple times\n * i.e. when allowing multiple versions of one plugin, or when registering a plugin\n * multiple times on different servers.\n */\nexport const handlerPatched: unique symbol = Symbol('hapi-handler-patched');\n\nexport type PatchableServerRoute = ServerRoute & {\n [handlerPatched]?: boolean;\n};\n\nexport type PatchableExtMethod = LifecycleMethod & {\n [handlerPatched]?: boolean;\n};\n\nexport type ServerExtDirectInput = [ServerRequestExtType, LifecycleMethod, (ServerExtOptions | undefined)?];\n\nexport const HapiLayerType = {\n ROUTER: 'router',\n PLUGIN: 'plugin',\n EXT: 'server.ext',\n} as const;\n\nexport const HapiLifecycleMethodNames = new Set<string>(LIFECYCLE_EXT_POINTS);\n\nexport enum AttributeNames {\n HAPI_TYPE = 'hapi.type',\n PLUGIN_NAME = 'hapi.plugin.name',\n EXT_TYPE = 'server.ext.type',\n}\n"],"names":["AttributeNames"],"mappings":";;AAUA,MAAM,oBAAA,GAAuB;AAAA,EAC3B,WAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA;AAwCO,MAAM,cAAA,0BAAuC,sBAAsB;AAYnE,MAAM,aAAA,GAAgB;AAAA,EAC3B,MAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAQ,QAAA;AAAA,EACR,GAAA,EAAK;AACP;AAEO,MAAM,wBAAA,GAA2B,IAAI,GAAA,CAAY,oBAAoB;AAErE,IAAK,cAAA,qBAAAA,eAAAA,KAAL;AACL,EAAAA,gBAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,gBAAA,aAAA,CAAA,GAAc,kBAAA;AACd,EAAAA,gBAAA,UAAA,CAAA,GAAW,iBAAA;AAHD,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;;;;;"}
@@ -0,0 +1,177 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const core = require('@sentry/core');
4
+ const attributes = require('@sentry/conventions/attributes');
5
+ const hapiTypes = require('./hapi-types.js');
6
+
7
+ function setHttpServerSpanRouteAttribute(route) {
8
+ const activeSpan = core.getActiveSpan();
9
+ if (!activeSpan) {
10
+ return;
11
+ }
12
+ const rootSpan = core.getRootSpan(activeSpan);
13
+ if (!rootSpan) {
14
+ return;
15
+ }
16
+ if (core.spanToJSON(rootSpan).data[core.SEMANTIC_ATTRIBUTE_SENTRY_OP] !== "http.server") {
17
+ return;
18
+ }
19
+ rootSpan.setAttribute(attributes.HTTP_ROUTE, route);
20
+ }
21
+ const isLifecycleExtType = (variableToCheck) => {
22
+ return typeof variableToCheck === "string" && hapiTypes.HapiLifecycleMethodNames.has(variableToCheck);
23
+ };
24
+ const isLifecycleExtEventObj = (variableToCheck) => {
25
+ const event = variableToCheck?.type;
26
+ return event !== void 0 && isLifecycleExtType(event);
27
+ };
28
+ const isDirectExtInput = (variableToCheck) => {
29
+ return Array.isArray(variableToCheck) && variableToCheck.length <= 3 && isLifecycleExtType(variableToCheck[0]) && typeof variableToCheck[1] === "function";
30
+ };
31
+ const isPatchableExtMethod = (variableToCheck) => {
32
+ return !Array.isArray(variableToCheck);
33
+ };
34
+ const getRouteMetadata = (route, pluginName) => {
35
+ const attributes$1 = {
36
+ [attributes.HTTP_ROUTE]: route.path,
37
+ // eslint-disable-next-line typescript/no-deprecated -- TODO(v11): Replace deprecated attributes
38
+ [attributes.HTTP_METHOD]: route.method
39
+ };
40
+ let name;
41
+ if (pluginName) {
42
+ attributes$1[hapiTypes.AttributeNames.HAPI_TYPE] = hapiTypes.HapiLayerType.PLUGIN;
43
+ attributes$1[hapiTypes.AttributeNames.PLUGIN_NAME] = pluginName;
44
+ name = `${pluginName}: route - ${route.path}`;
45
+ } else {
46
+ attributes$1[hapiTypes.AttributeNames.HAPI_TYPE] = hapiTypes.HapiLayerType.ROUTER;
47
+ name = `route - ${route.path}`;
48
+ }
49
+ return { attributes: attributes$1, name };
50
+ };
51
+ const getExtMetadata = (extPoint, pluginName, methodName) => {
52
+ let baseName = `ext - ${extPoint}`;
53
+ if (methodName && methodName !== "method") {
54
+ baseName = `ext - ${extPoint} - ${methodName}`;
55
+ }
56
+ if (pluginName) {
57
+ return {
58
+ attributes: {
59
+ [hapiTypes.AttributeNames.EXT_TYPE]: extPoint,
60
+ [hapiTypes.AttributeNames.HAPI_TYPE]: hapiTypes.HapiLayerType.EXT,
61
+ [hapiTypes.AttributeNames.PLUGIN_NAME]: pluginName
62
+ },
63
+ name: `${pluginName}: ${baseName}`
64
+ };
65
+ }
66
+ return {
67
+ attributes: {
68
+ [hapiTypes.AttributeNames.EXT_TYPE]: extPoint,
69
+ [hapiTypes.AttributeNames.HAPI_TYPE]: hapiTypes.HapiLayerType.EXT
70
+ },
71
+ name: baseName
72
+ };
73
+ };
74
+ function startMetadataSpan(metadata, original) {
75
+ return core.startSpan(
76
+ {
77
+ name: metadata.name,
78
+ op: `${metadata.attributes[hapiTypes.AttributeNames.HAPI_TYPE]}.hapi`,
79
+ attributes: {
80
+ ...metadata.attributes,
81
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.http.orchestrion.hapi"
82
+ }
83
+ },
84
+ original
85
+ );
86
+ }
87
+ function wrapRouteHandler(route, pluginName) {
88
+ if (route[hapiTypes.handlerPatched] === true) return route;
89
+ route[hapiTypes.handlerPatched] = true;
90
+ const wrapHandler = (oldHandler) => {
91
+ return function(...params) {
92
+ if (!core.getActiveSpan()) {
93
+ return oldHandler.call(this, ...params);
94
+ }
95
+ setHttpServerSpanRouteAttribute(route.path);
96
+ const metadata = getRouteMetadata(route, pluginName);
97
+ return startMetadataSpan(metadata, () => oldHandler.call(this, ...params));
98
+ };
99
+ };
100
+ if (typeof route.handler === "function") {
101
+ route.handler = wrapHandler(route.handler);
102
+ } else if (typeof route.options === "function") {
103
+ const oldOptions = route.options;
104
+ route.options = function(server) {
105
+ const options = oldOptions(server);
106
+ if (typeof options.handler === "function") {
107
+ options.handler = wrapHandler(options.handler);
108
+ }
109
+ return options;
110
+ };
111
+ } else if (typeof route.options?.handler === "function") {
112
+ route.options.handler = wrapHandler(route.options.handler);
113
+ }
114
+ return route;
115
+ }
116
+ function wrapExtMethods(method, extPoint, pluginName) {
117
+ if (Array.isArray(method)) {
118
+ for (let i = 0; i < method.length; i++) {
119
+ method[i] = wrapExtMethods(method[i], extPoint);
120
+ }
121
+ return method;
122
+ } else if (isPatchableExtMethod(method)) {
123
+ if (method[hapiTypes.handlerPatched] === true) return method;
124
+ method[hapiTypes.handlerPatched] = true;
125
+ const newHandler = function(...params) {
126
+ if (!core.getActiveSpan()) {
127
+ return method.apply(this, params);
128
+ }
129
+ const metadata = getExtMetadata(extPoint, pluginName, method.name);
130
+ return startMetadataSpan(metadata, () => method.apply(void 0, params));
131
+ };
132
+ newHandler[hapiTypes.handlerPatched] = true;
133
+ return newHandler;
134
+ }
135
+ return method;
136
+ }
137
+ function wrapRouteArguments(args, pluginName) {
138
+ const route = args[0];
139
+ if (Array.isArray(route)) {
140
+ for (let i = 0; i < route.length; i++) {
141
+ route[i] = wrapRouteHandler(route[i], pluginName);
142
+ }
143
+ } else {
144
+ args[0] = wrapRouteHandler(route, pluginName);
145
+ }
146
+ }
147
+ function wrapExtArguments(args, pluginName) {
148
+ if (Array.isArray(args[0])) {
149
+ const eventsList = args[0];
150
+ for (let i = 0; i < eventsList.length; i++) {
151
+ const eventObj = eventsList[i];
152
+ if (isLifecycleExtType(eventObj.type)) {
153
+ const lifecycleEventObj = eventObj;
154
+ const handler = wrapExtMethods(lifecycleEventObj.method, eventObj.type, pluginName);
155
+ lifecycleEventObj.method = handler;
156
+ eventsList[i] = lifecycleEventObj;
157
+ }
158
+ }
159
+ return;
160
+ } else if (isDirectExtInput(args)) {
161
+ const extInput = args;
162
+ const method = extInput[1];
163
+ const handler = wrapExtMethods(method, extInput[0], pluginName);
164
+ args[1] = handler;
165
+ return;
166
+ } else if (isLifecycleExtEventObj(args[0])) {
167
+ const lifecycleEventObj = args[0];
168
+ const handler = wrapExtMethods(lifecycleEventObj.method, lifecycleEventObj.type, pluginName);
169
+ lifecycleEventObj.method = handler;
170
+ }
171
+ }
172
+
173
+ exports.getExtMetadata = getExtMetadata;
174
+ exports.getRouteMetadata = getRouteMetadata;
175
+ exports.wrapExtArguments = wrapExtArguments;
176
+ exports.wrapRouteArguments = wrapRouteArguments;
177
+ //# sourceMappingURL=hapi-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hapi-utils.js","sources":["../../../../src/integrations/tracing-channel/hapi-utils.ts"],"sourcesContent":["/*\n * OTel-free, `@hapi/*`-free port of the span-building helpers and handler/ext\n * wrap logic from the vendored `@opentelemetry/instrumentation-hapi`\n * (upstream @opentelemetry/instrumentation-hapi@0.64.0). Span output (names,\n * ops, origins, attributes) is kept byte-identical to that instrumentation;\n * span creation goes through the `@sentry/core` API and the OTel active-span\n * guard is replaced with `getActiveSpan()`.\n */\n\nimport {\n getActiveSpan,\n getRootSpan,\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n spanToJSON,\n startSpan,\n} from '@sentry/core';\nimport type {\n LifecycleMethod,\n PatchableExtMethod,\n PatchableServerRoute,\n ServerExtDirectInput,\n ServerExtEventsObject,\n ServerExtEventsRequestObject,\n ServerRequestExtType,\n ServerRoute,\n ServerRouteOptions,\n} from './hapi-types';\n// eslint-disable-next-line typescript/no-deprecated -- TODO(v11): Replace deprecated attributes\nimport { HTTP_METHOD, HTTP_ROUTE } from '@sentry/conventions/attributes';\nimport { AttributeNames, handlerPatched, HapiLayerType, HapiLifecycleMethodNames } from './hapi-types';\n\ntype SpanAttributes = Record<string, string | undefined>;\n\ninterface SpanMetadata {\n attributes: SpanAttributes;\n name: string;\n}\n\n/**\n * Set the `http.route` attribute on the root HTTP server span for the current trace.\n *\n * No-op when there is no active span, no root span, or the root span is not an\n * `http.server` span — so framework instrumentations can call this unconditionally\n * without risking attribute pollution on non-HTTP root spans.\n */\nfunction setHttpServerSpanRouteAttribute(route: string): void {\n const activeSpan = getActiveSpan();\n if (!activeSpan) {\n return;\n }\n const rootSpan = getRootSpan(activeSpan);\n if (!rootSpan) {\n return;\n }\n if (spanToJSON(rootSpan).data[SEMANTIC_ATTRIBUTE_SENTRY_OP] !== 'http.server') {\n return;\n }\n rootSpan.setAttribute(HTTP_ROUTE, route);\n}\n\nconst isLifecycleExtType = (variableToCheck: unknown): variableToCheck is ServerRequestExtType => {\n return typeof variableToCheck === 'string' && HapiLifecycleMethodNames.has(variableToCheck);\n};\n\nconst isLifecycleExtEventObj = (variableToCheck: unknown): variableToCheck is ServerExtEventsRequestObject => {\n const event = (variableToCheck as ServerExtEventsRequestObject)?.type;\n return event !== undefined && isLifecycleExtType(event);\n};\n\nconst isDirectExtInput = (variableToCheck: unknown): variableToCheck is ServerExtDirectInput => {\n return (\n Array.isArray(variableToCheck) &&\n variableToCheck.length <= 3 &&\n isLifecycleExtType(variableToCheck[0]) &&\n typeof variableToCheck[1] === 'function'\n );\n};\n\nconst isPatchableExtMethod = (\n variableToCheck: PatchableExtMethod | PatchableExtMethod[],\n): variableToCheck is PatchableExtMethod => {\n return !Array.isArray(variableToCheck);\n};\n\n/** Build the span name and attributes for a Hapi route. */\nexport const getRouteMetadata = (route: ServerRoute, pluginName?: string): SpanMetadata => {\n const attributes: SpanAttributes = {\n [HTTP_ROUTE]: route.path,\n // eslint-disable-next-line typescript/no-deprecated -- TODO(v11): Replace deprecated attributes\n [HTTP_METHOD]: route.method,\n };\n\n let name;\n if (pluginName) {\n attributes[AttributeNames.HAPI_TYPE] = HapiLayerType.PLUGIN;\n attributes[AttributeNames.PLUGIN_NAME] = pluginName;\n name = `${pluginName}: route - ${route.path}`;\n } else {\n attributes[AttributeNames.HAPI_TYPE] = HapiLayerType.ROUTER;\n name = `route - ${route.path}`;\n }\n\n return { attributes, name };\n};\n\n/** Build the span name and attributes for a Hapi server extension. */\nexport const getExtMetadata = (\n extPoint: ServerRequestExtType,\n pluginName?: string,\n methodName?: string,\n): SpanMetadata => {\n let baseName = `ext - ${extPoint}`;\n if (methodName && methodName !== 'method') {\n // `method` is the default name for the extension in the ServerExtEventsObject format.\n baseName = `ext - ${extPoint} - ${methodName}`;\n }\n if (pluginName) {\n return {\n attributes: {\n [AttributeNames.EXT_TYPE]: extPoint,\n [AttributeNames.HAPI_TYPE]: HapiLayerType.EXT,\n [AttributeNames.PLUGIN_NAME]: pluginName,\n },\n name: `${pluginName}: ${baseName}`,\n };\n }\n return {\n attributes: {\n [AttributeNames.EXT_TYPE]: extPoint,\n [AttributeNames.HAPI_TYPE]: HapiLayerType.EXT,\n },\n name: baseName,\n };\n};\n\nfunction startMetadataSpan(metadata: SpanMetadata, original: () => unknown): unknown {\n return startSpan(\n {\n name: metadata.name,\n op: `${metadata.attributes[AttributeNames.HAPI_TYPE]}.hapi`,\n attributes: {\n ...metadata.attributes,\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.orchestrion.hapi',\n },\n },\n original,\n );\n}\n\n/**\n * Patches each individual route handler method in order to create the span. It\n * does not create spans when there is no parent span.\n */\nfunction wrapRouteHandler(route: PatchableServerRoute, pluginName?: string): PatchableServerRoute {\n if (route[handlerPatched] === true) return route;\n route[handlerPatched] = true;\n\n const wrapHandler: (oldHandler: LifecycleMethod) => LifecycleMethod = oldHandler => {\n return function (this: unknown, ...params: Parameters<LifecycleMethod>) {\n if (!getActiveSpan()) {\n return oldHandler.call(this, ...params);\n }\n setHttpServerSpanRouteAttribute(route.path);\n const metadata = getRouteMetadata(route, pluginName);\n return startMetadataSpan(metadata, () => oldHandler.call(this, ...params));\n };\n };\n\n if (typeof route.handler === 'function') {\n route.handler = wrapHandler(route.handler as LifecycleMethod);\n } else if (typeof route.options === 'function') {\n const oldOptions = route.options;\n route.options = function (server: unknown): ServerRouteOptions {\n const options = oldOptions(server);\n if (typeof options.handler === 'function') {\n options.handler = wrapHandler(options.handler as LifecycleMethod);\n }\n return options;\n };\n } else if (typeof route.options?.handler === 'function') {\n route.options.handler = wrapHandler(route.options.handler as LifecycleMethod);\n }\n return route;\n}\n\n/**\n * Wraps request extension methods to add instrumentation to each new extension\n * handler. It does not create spans when there is no parent span.\n */\nfunction wrapExtMethods<T extends PatchableExtMethod | PatchableExtMethod[]>(\n method: T,\n extPoint: ServerRequestExtType,\n pluginName?: string,\n): T {\n if (Array.isArray(method)) {\n for (let i = 0; i < method.length; i++) {\n method[i] = wrapExtMethods(method[i]!, extPoint);\n }\n return method;\n } else if (isPatchableExtMethod(method)) {\n if (method[handlerPatched] === true) return method;\n method[handlerPatched] = true;\n\n const newHandler: PatchableExtMethod = function (this: unknown, ...params: Parameters<LifecycleMethod>) {\n if (!getActiveSpan()) {\n return method.apply(this, params);\n }\n const metadata = getExtMetadata(extPoint, pluginName, method.name);\n return startMetadataSpan(metadata, () => method.apply(undefined, params));\n };\n // Mark the wrapper too (not just the original)\n newHandler[handlerPatched] = true;\n return newHandler as T;\n }\n return method;\n}\n\n/**\n * Wrap the route handler(s) in the live `server.route` arguments array, mutating\n * `args[0]` in place. `args[0]` is either a single route options object or an\n * array of them. Idempotent via the `handlerPatched` marker.\n */\nexport function wrapRouteArguments(args: unknown[], pluginName?: string): void {\n const route = args[0] as PatchableServerRoute | PatchableServerRoute[];\n if (Array.isArray(route)) {\n for (let i = 0; i < route.length; i++) {\n route[i] = wrapRouteHandler(route[i]!, pluginName);\n }\n } else {\n args[0] = wrapRouteHandler(route, pluginName);\n }\n}\n\n/**\n * Wrap the extension method(s) in the live `server.ext` arguments array,\n * mutating `args` in place. Handles the three accepted input shapes:\n * `(eventsArray)`, `(lifecycleEventObject)`, and `(extTypeString, method, options)`.\n * Idempotent via the `handlerPatched` marker.\n */\nexport function wrapExtArguments(args: unknown[], pluginName?: string): void {\n if (Array.isArray(args[0])) {\n const eventsList = args[0] as ServerExtEventsObject[] | ServerExtEventsRequestObject[];\n for (let i = 0; i < eventsList.length; i++) {\n const eventObj = eventsList[i]!;\n if (isLifecycleExtType(eventObj.type)) {\n const lifecycleEventObj = eventObj as ServerExtEventsRequestObject;\n const handler = wrapExtMethods(lifecycleEventObj.method, eventObj.type, pluginName);\n lifecycleEventObj.method = handler;\n eventsList[i] = lifecycleEventObj;\n }\n }\n return;\n } else if (isDirectExtInput(args)) {\n const extInput: ServerExtDirectInput = args;\n const method: PatchableExtMethod = extInput[1];\n const handler = wrapExtMethods(method, extInput[0], pluginName);\n args[1] = handler;\n return;\n } else if (isLifecycleExtEventObj(args[0])) {\n const lifecycleEventObj = args[0];\n const handler = wrapExtMethods(lifecycleEventObj.method, lifecycleEventObj.type, pluginName);\n lifecycleEventObj.method = handler;\n }\n}\n"],"names":["getActiveSpan","getRootSpan","spanToJSON","SEMANTIC_ATTRIBUTE_SENTRY_OP","HTTP_ROUTE","HapiLifecycleMethodNames","attributes","HTTP_METHOD","AttributeNames","HapiLayerType","startSpan","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","handlerPatched"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ const diagnosticsChannel = require('node:diagnostics_channel');
4
+ const core = require('@sentry/core');
5
+ const debugBuild = require('../../debug-build.js');
6
+ const channels = require('../../orchestrion/channels.js');
7
+ const hapiUtils = require('./hapi-utils.js');
8
+
9
+ const INTEGRATION_NAME = "Hapi";
10
+ const _hapiChannelIntegration = (() => {
11
+ return {
12
+ name: INTEGRATION_NAME,
13
+ setupOnce() {
14
+ if (!diagnosticsChannel.tracingChannel) {
15
+ return;
16
+ }
17
+ debugBuild.DEBUG_BUILD && core.debug.log(`[orchestrion:hapi] subscribing to channels "${channels.CHANNELS.HAPI_ROUTE}" / "${channels.CHANNELS.HAPI_EXT}"`);
18
+ diagnosticsChannel.tracingChannel(channels.CHANNELS.HAPI_ROUTE).subscribe({
19
+ start(rawCtx) {
20
+ const ctx = rawCtx;
21
+ hapiUtils.wrapRouteArguments(ctx.arguments, ctx.self?.realm?.plugin);
22
+ },
23
+ end() {
24
+ },
25
+ asyncStart() {
26
+ },
27
+ asyncEnd() {
28
+ },
29
+ error() {
30
+ }
31
+ });
32
+ diagnosticsChannel.tracingChannel(channels.CHANNELS.HAPI_EXT).subscribe({
33
+ start(rawCtx) {
34
+ const ctx = rawCtx;
35
+ hapiUtils.wrapExtArguments(ctx.arguments, ctx.self?.realm?.plugin);
36
+ },
37
+ end() {
38
+ },
39
+ asyncStart() {
40
+ },
41
+ asyncEnd() {
42
+ },
43
+ error() {
44
+ }
45
+ });
46
+ }
47
+ };
48
+ });
49
+ const hapiChannelIntegration = core.defineIntegration(_hapiChannelIntegration);
50
+
51
+ exports.hapiChannelIntegration = hapiChannelIntegration;
52
+ //# sourceMappingURL=hapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hapi.js","sources":["../../../../src/integrations/tracing-channel/hapi.ts"],"sourcesContent":["import * as diagnosticsChannel from 'node:diagnostics_channel';\nimport type { IntegrationFn } from '@sentry/core';\nimport { debug, defineIntegration } from '@sentry/core';\nimport { DEBUG_BUILD } from '../../debug-build';\nimport { CHANNELS } from '../../orchestrion/channels';\nimport { wrapExtArguments, wrapRouteArguments } from './hapi-utils';\n\n// NOTE: same name as the OTel integration by design — when enabled, the OTel\n// 'Hapi' integration is omitted from the default set.\nconst INTEGRATION_NAME = 'Hapi' as const;\n\n/**\n * The shape orchestrion's transform attaches to the `@hapi/hapi` route/ext\n * tracing-channel `context` objects.\n *\n * `arguments` is the *live* args array passed to `server.route` / `server.ext`;\n * we mutate it in place to swap handlers for span-creating proxies. `self` is\n * the hapi server instance: the root server has `self.realm.plugin === undefined`,\n * while a plugin's clone server exposes the registering plugin's name there.\n */\ninterface HapiChannelContext {\n arguments: unknown[];\n self?: { realm?: { plugin?: string } };\n}\n\nconst _hapiChannelIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n if (!diagnosticsChannel.tracingChannel) {\n return;\n }\n\n DEBUG_BUILD &&\n debug.log(`[orchestrion:hapi] subscribing to channels \"${CHANNELS.HAPI_ROUTE}\" / \"${CHANNELS.HAPI_EXT}\"`);\n\n // `subscribe` requires all five lifecycle hooks. We only act on `start`,\n // which orchestrion fires synchronously with the live args array — that's\n // the moment we mutate the handlers in place.\n diagnosticsChannel.tracingChannel(CHANNELS.HAPI_ROUTE).subscribe({\n start(rawCtx) {\n const ctx = rawCtx as HapiChannelContext;\n wrapRouteArguments(ctx.arguments, ctx.self?.realm?.plugin);\n },\n end() {},\n asyncStart() {},\n asyncEnd() {},\n error() {},\n });\n\n diagnosticsChannel.tracingChannel(CHANNELS.HAPI_EXT).subscribe({\n start(rawCtx) {\n const ctx = rawCtx as HapiChannelContext;\n wrapExtArguments(ctx.arguments, ctx.self?.realm?.plugin);\n },\n end() {},\n asyncStart() {},\n asyncEnd() {},\n error() {},\n });\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * EXPERIMENTAL — orchestrion-driven hapi integration. Subscribes to the\n * `orchestrion:@hapi/hapi:route` / `:ext` channels injected into `@hapi/hapi`'s\n * `lib/server.js`. Requires the orchestrion runtime hook or bundler plugin.\n */\nexport const hapiChannelIntegration = defineIntegration(_hapiChannelIntegration);\n"],"names":["DEBUG_BUILD","debug","CHANNELS","wrapRouteArguments","wrapExtArguments","defineIntegration"],"mappings":";;;;;;;;AASA,MAAM,gBAAA,GAAmB,MAAA;AAgBzB,MAAM,2BAA2B,MAAM;AACrC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,IAAI,CAAC,mBAAmB,cAAA,EAAgB;AACtC,QAAA;AAAA,MACF;AAEA,MAAAA,sBAAA,IACEC,UAAA,CAAM,IAAI,CAAA,4CAAA,EAA+CC,iBAAA,CAAS,UAAU,CAAA,KAAA,EAAQA,iBAAA,CAAS,QAAQ,CAAA,CAAA,CAAG,CAAA;AAK1G,MAAA,kBAAA,CAAmB,cAAA,CAAeA,iBAAA,CAAS,UAAU,CAAA,CAAE,SAAA,CAAU;AAAA,QAC/D,MAAM,MAAA,EAAQ;AACZ,UAAA,MAAM,GAAA,GAAM,MAAA;AACZ,UAAAC,4BAAA,CAAmB,GAAA,CAAI,SAAA,EAAW,GAAA,CAAI,IAAA,EAAM,OAAO,MAAM,CAAA;AAAA,QAC3D,CAAA;AAAA,QACA,GAAA,GAAM;AAAA,QAAC,CAAA;AAAA,QACP,UAAA,GAAa;AAAA,QAAC,CAAA;AAAA,QACd,QAAA,GAAW;AAAA,QAAC,CAAA;AAAA,QACZ,KAAA,GAAQ;AAAA,QAAC;AAAA,OACV,CAAA;AAED,MAAA,kBAAA,CAAmB,cAAA,CAAeD,iBAAA,CAAS,QAAQ,CAAA,CAAE,SAAA,CAAU;AAAA,QAC7D,MAAM,MAAA,EAAQ;AACZ,UAAA,MAAM,GAAA,GAAM,MAAA;AACZ,UAAAE,0BAAA,CAAiB,GAAA,CAAI,SAAA,EAAW,GAAA,CAAI,IAAA,EAAM,OAAO,MAAM,CAAA;AAAA,QACzD,CAAA;AAAA,QACA,GAAA,GAAM;AAAA,QAAC,CAAA;AAAA,QACP,UAAA,GAAa;AAAA,QAAC,CAAA;AAAA,QACd,QAAA,GAAW;AAAA,QAAC,CAAA;AAAA,QACZ,KAAA,GAAQ;AAAA,QAAC;AAAA,OACV,CAAA;AAAA,IACH;AAAA,GACF;AACF,CAAA,CAAA;AAOO,MAAM,sBAAA,GAAyBC,uBAAkB,uBAAuB;;;;"}