@depup/sentry__server-utils 11.0.0-depup.0 → 11.1.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 (263) hide show
  1. package/README.md +3 -9
  2. package/build/cjs/ai/anthropic-ai/index.js +10 -10
  3. package/build/cjs/ai/anthropic-ai/index.js.map +1 -1
  4. package/build/cjs/ai/google-genai/streaming.js +0 -8
  5. package/build/cjs/ai/google-genai/streaming.js.map +1 -1
  6. package/build/cjs/ai/typesafe/constants.js +10 -0
  7. package/build/cjs/ai/typesafe/constants.js.map +1 -0
  8. package/build/cjs/ai/typesafe/index.js +113 -0
  9. package/build/cjs/ai/typesafe/index.js.map +1 -0
  10. package/build/cjs/index.js +27 -18
  11. package/build/cjs/index.js.map +1 -1
  12. package/build/cjs/index.no-diagnostic-channels.js +4 -2
  13. package/build/cjs/index.no-diagnostic-channels.js.map +1 -1
  14. package/build/cjs/integrations/amqplib.js +11 -24
  15. package/build/cjs/integrations/amqplib.js.map +1 -1
  16. package/build/cjs/integrations/anthropic.js +2 -15
  17. package/build/cjs/integrations/anthropic.js.map +1 -1
  18. package/build/cjs/integrations/aws-sdk/index.js +2 -15
  19. package/build/cjs/integrations/aws-sdk/index.js.map +1 -1
  20. package/build/cjs/integrations/dataloader.js +5 -18
  21. package/build/cjs/integrations/dataloader.js.map +1 -1
  22. package/build/cjs/integrations/express/index.js +2 -15
  23. package/build/cjs/integrations/express/index.js.map +1 -1
  24. package/build/cjs/integrations/fastify/errors.js +2 -15
  25. package/build/cjs/integrations/fastify/errors.js.map +1 -1
  26. package/build/cjs/integrations/fastify/instrumentation.js +2 -15
  27. package/build/cjs/integrations/fastify/instrumentation.js.map +1 -1
  28. package/build/cjs/integrations/firebase/instrumentation.js +3 -16
  29. package/build/cjs/integrations/firebase/instrumentation.js.map +1 -1
  30. package/build/cjs/integrations/generic-pool.js +2 -15
  31. package/build/cjs/integrations/generic-pool.js.map +1 -1
  32. package/build/cjs/integrations/google-genai.js +2 -15
  33. package/build/cjs/integrations/google-genai.js.map +1 -1
  34. package/build/cjs/integrations/graphql/index.js +6 -19
  35. package/build/cjs/integrations/graphql/index.js.map +1 -1
  36. package/build/cjs/integrations/hapi/index.js +5 -18
  37. package/build/cjs/integrations/hapi/index.js.map +1 -1
  38. package/build/cjs/integrations/index.js +5 -1
  39. package/build/cjs/integrations/index.js.map +1 -1
  40. package/build/cjs/integrations/kafkajs/index.js +3 -16
  41. package/build/cjs/integrations/kafkajs/index.js.map +1 -1
  42. package/build/cjs/integrations/knex.js +4 -17
  43. package/build/cjs/integrations/knex.js.map +1 -1
  44. package/build/cjs/integrations/koa/index.js +3 -16
  45. package/build/cjs/integrations/koa/index.js.map +1 -1
  46. package/build/cjs/integrations/langchain.js +3 -16
  47. package/build/cjs/integrations/langchain.js.map +1 -1
  48. package/build/cjs/integrations/langgraph.js +3 -16
  49. package/build/cjs/integrations/langgraph.js.map +1 -1
  50. package/build/cjs/integrations/lru-memoizer.js +2 -15
  51. package/build/cjs/integrations/lru-memoizer.js.map +1 -1
  52. package/build/cjs/integrations/mastra.js +4 -17
  53. package/build/cjs/integrations/mastra.js.map +1 -1
  54. package/build/cjs/integrations/mcp-server.js +37 -0
  55. package/build/cjs/integrations/mcp-server.js.map +1 -0
  56. package/build/cjs/integrations/mistral.js +2 -15
  57. package/build/cjs/integrations/mistral.js.map +1 -1
  58. package/build/cjs/integrations/mongodb/index.js +4 -17
  59. package/build/cjs/integrations/mongodb/index.js.map +1 -1
  60. package/build/cjs/integrations/mongoose/index.js +5 -18
  61. package/build/cjs/integrations/mongoose/index.js.map +1 -1
  62. package/build/cjs/integrations/mysql.js +2 -15
  63. package/build/cjs/integrations/mysql.js.map +1 -1
  64. package/build/cjs/integrations/mysql2/index.js +4 -17
  65. package/build/cjs/integrations/mysql2/index.js.map +1 -1
  66. package/build/cjs/integrations/openai-compatible.js +2 -15
  67. package/build/cjs/integrations/openai-compatible.js.map +1 -1
  68. package/build/cjs/integrations/openai.js +2 -15
  69. package/build/cjs/integrations/openai.js.map +1 -1
  70. package/build/cjs/integrations/postgres-js.js +5 -18
  71. package/build/cjs/integrations/postgres-js.js.map +1 -1
  72. package/build/cjs/integrations/postgres.js +2 -15
  73. package/build/cjs/integrations/postgres.js.map +1 -1
  74. package/build/cjs/integrations/prisma/index.js +9 -0
  75. package/build/cjs/integrations/prisma/index.js.map +1 -1
  76. package/build/cjs/integrations/prisma/orchestrion.js +140 -0
  77. package/build/cjs/integrations/prisma/orchestrion.js.map +1 -0
  78. package/build/cjs/integrations/prisma/tracing-helper.js +1 -0
  79. package/build/cjs/integrations/prisma/tracing-helper.js.map +1 -1
  80. package/build/cjs/integrations/redis/index.js +7 -20
  81. package/build/cjs/integrations/redis/index.js.map +1 -1
  82. package/build/cjs/integrations/redis/ioredis-channel-subscriber.js +3 -16
  83. package/build/cjs/integrations/redis/ioredis-channel-subscriber.js.map +1 -1
  84. package/build/cjs/integrations/tedious.js +3 -16
  85. package/build/cjs/integrations/tedious.js.map +1 -1
  86. package/build/cjs/integrations/typesafe.js +45 -0
  87. package/build/cjs/integrations/typesafe.js.map +1 -0
  88. package/build/cjs/integrations/vercel-ai/index.js +4 -17
  89. package/build/cjs/integrations/vercel-ai/index.js.map +1 -1
  90. package/build/cjs/integrations/vercel-ai/vercel-ai-dc-subscriber.js +33 -2
  91. package/build/cjs/integrations/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -1
  92. package/build/cjs/orchestrion/channels.js +6 -0
  93. package/build/cjs/orchestrion/channels.js.map +1 -1
  94. package/build/cjs/orchestrion/config/amqplib.js +1 -1
  95. package/build/cjs/orchestrion/config/amqplib.js.map +1 -1
  96. package/build/cjs/orchestrion/config/channel-integration-definitions.js +3 -0
  97. package/build/cjs/orchestrion/config/channel-integration-definitions.js.map +1 -1
  98. package/build/cjs/orchestrion/config/index.js +6 -0
  99. package/build/cjs/orchestrion/config/index.js.map +1 -1
  100. package/build/cjs/orchestrion/config/mcp-server.js +41 -0
  101. package/build/cjs/orchestrion/config/mcp-server.js.map +1 -0
  102. package/build/cjs/orchestrion/config/prisma.js +53 -0
  103. package/build/cjs/orchestrion/config/prisma.js.map +1 -0
  104. package/build/cjs/orchestrion/config/tedious.js +1 -1
  105. package/build/cjs/orchestrion/config/tedious.js.map +1 -1
  106. package/build/cjs/orchestrion/config/typesafe.js +18 -0
  107. package/build/cjs/orchestrion/config/typesafe.js.map +1 -0
  108. package/build/cjs/orchestrion/instrumentation.js +2 -15
  109. package/build/cjs/orchestrion/instrumentation.js.map +1 -1
  110. package/build/cjs/utils/diagnosticsChannel.js +47 -0
  111. package/build/cjs/utils/diagnosticsChannel.js.map +1 -0
  112. package/build/esm/ai/anthropic-ai/index.js +4 -4
  113. package/build/esm/ai/anthropic-ai/utils.js +1 -1
  114. package/build/esm/ai/core/utils.js +1 -1
  115. package/build/esm/ai/google-genai/streaming.js +0 -8
  116. package/build/esm/ai/google-genai/streaming.js.map +1 -1
  117. package/build/esm/ai/typesafe/constants.js +6 -0
  118. package/build/esm/ai/typesafe/constants.js.map +1 -0
  119. package/build/esm/ai/typesafe/index.js +108 -0
  120. package/build/esm/ai/typesafe/index.js.map +1 -0
  121. package/build/esm/index.js +4 -0
  122. package/build/esm/index.js.map +1 -1
  123. package/build/esm/index.no-diagnostic-channels.js +1 -0
  124. package/build/esm/index.no-diagnostic-channels.js.map +1 -1
  125. package/build/esm/integrations/amqplib.js +13 -13
  126. package/build/esm/integrations/amqplib.js.map +1 -1
  127. package/build/esm/integrations/anthropic.js +2 -2
  128. package/build/esm/integrations/anthropic.js.map +1 -1
  129. package/build/esm/integrations/aws-sdk/index.js +2 -2
  130. package/build/esm/integrations/aws-sdk/index.js.map +1 -1
  131. package/build/esm/integrations/dataloader.js +5 -5
  132. package/build/esm/integrations/dataloader.js.map +1 -1
  133. package/build/esm/integrations/express/index.js +2 -2
  134. package/build/esm/integrations/express/index.js.map +1 -1
  135. package/build/esm/integrations/fastify/errors.js +2 -2
  136. package/build/esm/integrations/fastify/errors.js.map +1 -1
  137. package/build/esm/integrations/fastify/instrumentation.js +2 -2
  138. package/build/esm/integrations/fastify/instrumentation.js.map +1 -1
  139. package/build/esm/integrations/firebase/instrumentation.js +3 -3
  140. package/build/esm/integrations/firebase/instrumentation.js.map +1 -1
  141. package/build/esm/integrations/generic-pool.js +2 -2
  142. package/build/esm/integrations/generic-pool.js.map +1 -1
  143. package/build/esm/integrations/google-genai.js +2 -2
  144. package/build/esm/integrations/google-genai.js.map +1 -1
  145. package/build/esm/integrations/graphql/index.js +6 -6
  146. package/build/esm/integrations/graphql/index.js.map +1 -1
  147. package/build/esm/integrations/hapi/index.js +5 -5
  148. package/build/esm/integrations/hapi/index.js.map +1 -1
  149. package/build/esm/integrations/index.js +5 -1
  150. package/build/esm/integrations/index.js.map +1 -1
  151. package/build/esm/integrations/kafkajs/index.js +3 -3
  152. package/build/esm/integrations/kafkajs/index.js.map +1 -1
  153. package/build/esm/integrations/knex.js +4 -4
  154. package/build/esm/integrations/knex.js.map +1 -1
  155. package/build/esm/integrations/koa/index.js +3 -3
  156. package/build/esm/integrations/koa/index.js.map +1 -1
  157. package/build/esm/integrations/langchain.js +3 -3
  158. package/build/esm/integrations/langchain.js.map +1 -1
  159. package/build/esm/integrations/langgraph.js +3 -3
  160. package/build/esm/integrations/langgraph.js.map +1 -1
  161. package/build/esm/integrations/lru-memoizer.js +2 -2
  162. package/build/esm/integrations/lru-memoizer.js.map +1 -1
  163. package/build/esm/integrations/mastra.js +4 -4
  164. package/build/esm/integrations/mastra.js.map +1 -1
  165. package/build/esm/integrations/mcp-server.js +35 -0
  166. package/build/esm/integrations/mcp-server.js.map +1 -0
  167. package/build/esm/integrations/mistral.js +2 -2
  168. package/build/esm/integrations/mistral.js.map +1 -1
  169. package/build/esm/integrations/mongodb/index.js +4 -4
  170. package/build/esm/integrations/mongodb/index.js.map +1 -1
  171. package/build/esm/integrations/mongoose/index.js +5 -5
  172. package/build/esm/integrations/mongoose/index.js.map +1 -1
  173. package/build/esm/integrations/mysql.js +2 -2
  174. package/build/esm/integrations/mysql.js.map +1 -1
  175. package/build/esm/integrations/mysql2/index.js +4 -4
  176. package/build/esm/integrations/mysql2/index.js.map +1 -1
  177. package/build/esm/integrations/openai-compatible.js +2 -2
  178. package/build/esm/integrations/openai-compatible.js.map +1 -1
  179. package/build/esm/integrations/openai.js +2 -2
  180. package/build/esm/integrations/openai.js.map +1 -1
  181. package/build/esm/integrations/postgres-js.js +5 -5
  182. package/build/esm/integrations/postgres-js.js.map +1 -1
  183. package/build/esm/integrations/postgres.js +2 -2
  184. package/build/esm/integrations/postgres.js.map +1 -1
  185. package/build/esm/integrations/prisma/index.js +9 -0
  186. package/build/esm/integrations/prisma/index.js.map +1 -1
  187. package/build/esm/integrations/prisma/orchestrion.js +138 -0
  188. package/build/esm/integrations/prisma/orchestrion.js.map +1 -0
  189. package/build/esm/integrations/prisma/tracing-helper.js +1 -1
  190. package/build/esm/integrations/prisma/tracing-helper.js.map +1 -1
  191. package/build/esm/integrations/redis/index.js +7 -7
  192. package/build/esm/integrations/redis/index.js.map +1 -1
  193. package/build/esm/integrations/redis/ioredis-channel-subscriber.js +3 -3
  194. package/build/esm/integrations/redis/ioredis-channel-subscriber.js.map +1 -1
  195. package/build/esm/integrations/tedious.js +3 -3
  196. package/build/esm/integrations/tedious.js.map +1 -1
  197. package/build/esm/integrations/typesafe.js +43 -0
  198. package/build/esm/integrations/typesafe.js.map +1 -0
  199. package/build/esm/integrations/vercel-ai/index.js +4 -4
  200. package/build/esm/integrations/vercel-ai/index.js.map +1 -1
  201. package/build/esm/integrations/vercel-ai/vercel-ai-dc-subscriber.js +34 -3
  202. package/build/esm/integrations/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -1
  203. package/build/esm/orchestrion/channels.js +6 -0
  204. package/build/esm/orchestrion/channels.js.map +1 -1
  205. package/build/esm/orchestrion/config/amqplib.js +1 -1
  206. package/build/esm/orchestrion/config/amqplib.js.map +1 -1
  207. package/build/esm/orchestrion/config/channel-integration-definitions.js +3 -0
  208. package/build/esm/orchestrion/config/channel-integration-definitions.js.map +1 -1
  209. package/build/esm/orchestrion/config/index.js +6 -0
  210. package/build/esm/orchestrion/config/index.js.map +1 -1
  211. package/build/esm/orchestrion/config/mcp-server.js +37 -0
  212. package/build/esm/orchestrion/config/mcp-server.js.map +1 -0
  213. package/build/esm/orchestrion/config/prisma.js +47 -0
  214. package/build/esm/orchestrion/config/prisma.js.map +1 -0
  215. package/build/esm/orchestrion/config/tedious.js +1 -1
  216. package/build/esm/orchestrion/config/tedious.js.map +1 -1
  217. package/build/esm/orchestrion/config/typesafe.js +14 -0
  218. package/build/esm/orchestrion/config/typesafe.js.map +1 -0
  219. package/build/esm/orchestrion/instrumentation.js +2 -2
  220. package/build/esm/orchestrion/instrumentation.js.map +1 -1
  221. package/build/esm/package.json +1 -1
  222. package/build/esm/utils/diagnosticsChannel.js +30 -0
  223. package/build/esm/utils/diagnosticsChannel.js.map +1 -0
  224. package/build/types/ai/google-genai/streaming.d.ts.map +1 -1
  225. package/build/types/ai/index.d.ts +1 -0
  226. package/build/types/ai/index.d.ts.map +1 -1
  227. package/build/types/ai/typesafe/constants.d.ts +4 -0
  228. package/build/types/ai/typesafe/constants.d.ts.map +1 -0
  229. package/build/types/ai/typesafe/index.d.ts +21 -0
  230. package/build/types/ai/typesafe/index.d.ts.map +1 -0
  231. package/build/types/index.d.ts +3 -0
  232. package/build/types/index.d.ts.map +1 -1
  233. package/build/types/integrations/index.d.ts.map +1 -1
  234. package/build/types/integrations/mcp-server.d.ts +10 -0
  235. package/build/types/integrations/mcp-server.d.ts.map +1 -0
  236. package/build/types/integrations/prisma/index.d.ts +3 -1
  237. package/build/types/integrations/prisma/index.d.ts.map +1 -1
  238. package/build/types/integrations/prisma/orchestrion.d.ts +10 -0
  239. package/build/types/integrations/prisma/orchestrion.d.ts.map +1 -0
  240. package/build/types/integrations/prisma/tracing-helper.d.ts +2 -0
  241. package/build/types/integrations/prisma/tracing-helper.d.ts.map +1 -1
  242. package/build/types/integrations/typesafe.d.ts +10 -0
  243. package/build/types/integrations/typesafe.d.ts.map +1 -0
  244. package/build/types/integrations/vercel-ai/vercel-ai-dc-subscriber.d.ts +1 -1
  245. package/build/types/integrations/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +1 -1
  246. package/build/types/orchestrion/channels.d.ts +16 -0
  247. package/build/types/orchestrion/channels.d.ts.map +1 -1
  248. package/build/types/orchestrion/config/amqplib.d.ts +4 -4
  249. package/build/types/orchestrion/config/channel-integration-definitions.d.ts +9 -0
  250. package/build/types/orchestrion/config/channel-integration-definitions.d.ts.map +1 -1
  251. package/build/types/orchestrion/config/index.d.ts.map +1 -1
  252. package/build/types/orchestrion/config/mcp-server.d.ts +8 -0
  253. package/build/types/orchestrion/config/mcp-server.d.ts.map +1 -0
  254. package/build/types/orchestrion/config/mongodb.d.ts +2 -2
  255. package/build/types/orchestrion/config/pg.d.ts +1 -1
  256. package/build/types/orchestrion/config/prisma.d.ts +21 -0
  257. package/build/types/orchestrion/config/prisma.d.ts.map +1 -0
  258. package/build/types/orchestrion/config/typesafe.d.ts +18 -0
  259. package/build/types/orchestrion/config/typesafe.d.ts.map +1 -0
  260. package/build/types/utils/diagnosticsChannel.d.ts +12 -0
  261. package/build/types/utils/diagnosticsChannel.d.ts.map +1 -0
  262. package/changes.json +3 -8
  263. package/package.json +6 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typesafe.js","sources":["../../../src/integrations/typesafe.ts"],"sourcesContent":["import * as diagnosticsChannel from '../utils/diagnosticsChannel';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport type { GenAiOptions } from '../ai/core/utils';\nimport { resolveAIRecordingOptions } from '../ai/core/utils';\nimport { addResponseAttributes, onSystemOneResponse, startEvaluateSpan } from '../ai/typesafe';\nimport { TYPESAFE_INTEGRATION_NAME } from '../ai/typesafe/constants';\nimport { CHANNELS } from '../orchestrion/channels';\nimport { typesafeModuleNames } from '../orchestrion/config/typesafe';\nimport { invokeOrchestrionInstrumentation } from '../orchestrion/instrumentation';\nimport { bindTracingChannelToSpan } from '../tracing-channel';\n\n/**\n * The context orchestrion shares across the tracing-channel lifecycle hooks: `arguments` is the live\n * args array passed to `systemOne(request, options)`, `self` the `TypeSafeClient`, and `result` the\n * returned `APIPromise` (replaced by the parsed response body once it arrives). `Sync` tracing keeps\n * orchestrion from calling `.then()` on it, see `orchestrion/config/typesafe.ts`.\n */\ninterface TypeSafeChannelContext {\n arguments: unknown[];\n self?: unknown;\n result?: unknown;\n}\n\nconst _typesafeIntegration = ((options: GenAiOptions = {}) => {\n return {\n name: TYPESAFE_INTEGRATION_NAME,\n setup(client) {\n invokeOrchestrionInstrumentation(client, typesafeModuleNames, instrumentTypeSafe, [options]);\n },\n };\n}) satisfies IntegrationFn;\n\nfunction instrumentTypeSafe(options: GenAiOptions): void {\n bindTracingChannelToSpan(\n diagnosticsChannel.tracingChannel<TypeSafeChannelContext>(CHANNELS.TYPESAFE_SYSTEM_ONE),\n data => startEvaluateSpan(data.arguments?.[0], data.self, resolveAIRecordingOptions(options).recordInputs),\n {\n beforeSpanEnd: (span, data) => {\n if (!('error' in data)) {\n addResponseAttributes(span, data.result, resolveAIRecordingOptions(options).recordOutputs);\n }\n },\n deferSpanEnd: ({ data, end }) =>\n onSystemOneResponse(\n data.result,\n body => {\n data.result = body;\n end();\n },\n error => end(error),\n ),\n },\n );\n}\n\n/**\n * Diagnostics-channel-based integration for the TypeSafe SDK (`@typesafe-ai/sdk` >= 0.5.0 < 1).\n * Subscribes to the `orchestrion:@typesafe-ai/sdk:system-one` channel injected into\n * `TypeSafeClient.systemOne`, so it requires the Sentry runtime hook or bundler plugin.\n */\nexport const typesafeIntegration = defineIntegration(_typesafeIntegration);\n"],"names":["TYPESAFE_INTEGRATION_NAME","invokeOrchestrionInstrumentation","typesafeModuleNames","bindTracingChannelToSpan","diagnosticsChannel.tracingChannel","CHANNELS","startEvaluateSpan","resolveAIRecordingOptions","addResponseAttributes","onSystemOneResponse","defineIntegration"],"mappings":"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"}
@@ -2,33 +2,20 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
 
3
3
  const core = require('@sentry/core');
4
4
  const vercelAiDcSubscriber = require('./vercel-ai-dc-subscriber.js');
5
- const diagnosticsChannel = require('node:diagnostics_channel');
5
+ const diagnosticsChannel = require('../../utils/diagnosticsChannel.js');
6
6
  const instrumentation = require('../../orchestrion/instrumentation.js');
7
7
  const vercelAi = require('../../orchestrion/config/vercel-ai.js');
8
8
  const vercelAiOrchestrionSubscriber = require('./vercel-ai-orchestrion-subscriber.js');
9
9
 
10
- function _interopNamespaceDefault(e) {
11
- const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
12
- if (e) {
13
- for (const k in e) {
14
- n[k] = e[k];
15
- }
16
- }
17
- n.default = e;
18
- return n;
19
- }
20
-
21
- const diagnosticsChannel__namespace = /*#__PURE__*/_interopNamespaceDefault(diagnosticsChannel);
22
-
23
10
  const _vercelAIIntegration = ((options = {}) => {
24
11
  return {
25
12
  name: "VercelAI",
26
13
  setupOnce() {
27
- if (!diagnosticsChannel__namespace.tracingChannel) {
14
+ if (!diagnosticsChannel.tracingChannel) {
28
15
  return;
29
16
  }
30
17
  core.waitForTracingChannelBinding(() => {
31
- vercelAiDcSubscriber.subscribeVercelAiTracingChannel(diagnosticsChannel__namespace.tracingChannel, options);
18
+ vercelAiDcSubscriber.subscribeVercelAiTracingChannel(diagnosticsChannel.tracingChannel, options);
32
19
  });
33
20
  },
34
21
  setup(client) {
@@ -38,7 +25,7 @@ const _vercelAIIntegration = ((options = {}) => {
38
25
  });
39
26
  const vercelAIIntegration = core.defineIntegration(_vercelAIIntegration);
40
27
  function instrumentVercelAiOrchestrion(options) {
41
- vercelAiOrchestrionSubscriber.subscribeVercelAiOrchestrionChannels(diagnosticsChannel__namespace.tracingChannel, options);
28
+ vercelAiOrchestrionSubscriber.subscribeVercelAiOrchestrionChannels(diagnosticsChannel.tracingChannel, options);
42
29
  }
43
30
 
44
31
  exports.vercelAIIntegration = vercelAIIntegration;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/integrations/vercel-ai/index.ts"],"sourcesContent":["import { defineIntegration, waitForTracingChannelBinding, type IntegrationFn } from '@sentry/core';\nimport type { GenAiOptions } from '../../ai/core/utils';\nimport { subscribeVercelAiTracingChannel } from './vercel-ai-dc-subscriber';\nimport * as dc from 'node:diagnostics_channel';\nimport { invokeOrchestrionInstrumentation } from '../../orchestrion/instrumentation';\nimport { vercelAiModuleNames } from '../../orchestrion/config/vercel-ai';\nimport { subscribeVercelAiOrchestrionChannels } from './vercel-ai-orchestrion-subscriber';\n\n/** Options for the Vercel AI integration. */\nexport type VercelAiOptions = GenAiOptions;\n\nconst _vercelAIIntegration = ((options: VercelAiOptions = {}) => {\n return {\n name: 'VercelAI' as const,\n setupOnce() {\n // Bail if this is not available\n if (!dc.tracingChannel) {\n return;\n }\n\n // Subscribe to the `ai` SDK's native telemetry tracing channel (ai >= 7).\n // This is a no-op on versions that don't publish to the channel, so it is always safe to call.\n waitForTracingChannelBinding(() => {\n subscribeVercelAiTracingChannel(dc.tracingChannel, options);\n });\n },\n setup(client) {\n invokeOrchestrionInstrumentation(client, vercelAiModuleNames, instrumentVercelAiOrchestrion, [options]);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Auto-instrument the `ai` SDK. Supported are:\n * - v7 via native `ai:telemetry` tracing channel\n * - v4, v5 & v6 via the injected `orchestrion:ai:*` channels\n */\nexport const vercelAIIntegration = defineIntegration(_vercelAIIntegration);\n\nfunction instrumentVercelAiOrchestrion(options: VercelAiOptions): void {\n subscribeVercelAiOrchestrionChannels(dc.tracingChannel, options);\n}\n"],"names":["dc","waitForTracingChannelBinding","subscribeVercelAiTracingChannel","invokeOrchestrionInstrumentation","vercelAiModuleNames","defineIntegration","subscribeVercelAiOrchestrionChannels"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/integrations/vercel-ai/index.ts"],"sourcesContent":["import { defineIntegration, waitForTracingChannelBinding, type IntegrationFn } from '@sentry/core';\nimport type { GenAiOptions } from '../../ai/core/utils';\nimport { subscribeVercelAiTracingChannel } from './vercel-ai-dc-subscriber';\nimport * as dc from '../../utils/diagnosticsChannel';\nimport { invokeOrchestrionInstrumentation } from '../../orchestrion/instrumentation';\nimport { vercelAiModuleNames } from '../../orchestrion/config/vercel-ai';\nimport { subscribeVercelAiOrchestrionChannels } from './vercel-ai-orchestrion-subscriber';\n\n/** Options for the Vercel AI integration. */\nexport type VercelAiOptions = GenAiOptions;\n\nconst _vercelAIIntegration = ((options: VercelAiOptions = {}) => {\n return {\n name: 'VercelAI' as const,\n setupOnce() {\n // Bail if this is not available\n if (!dc.tracingChannel) {\n return;\n }\n\n // Subscribe to the `ai` SDK's native telemetry tracing channel (ai >= 7).\n // This is a no-op on versions that don't publish to the channel, so it is always safe to call.\n waitForTracingChannelBinding(() => {\n subscribeVercelAiTracingChannel(dc.tracingChannel, options);\n });\n },\n setup(client) {\n invokeOrchestrionInstrumentation(client, vercelAiModuleNames, instrumentVercelAiOrchestrion, [options]);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Auto-instrument the `ai` SDK. Supported are:\n * - v7 via native `ai:telemetry` tracing channel\n * - v4, v5 & v6 via the injected `orchestrion:ai:*` channels\n */\nexport const vercelAIIntegration = defineIntegration(_vercelAIIntegration);\n\nfunction instrumentVercelAiOrchestrion(options: VercelAiOptions): void {\n subscribeVercelAiOrchestrionChannels(dc.tracingChannel, options);\n}\n"],"names":["dc.tracingChannel","waitForTracingChannelBinding","subscribeVercelAiTracingChannel","invokeOrchestrionInstrumentation","vercelAiModuleNames","defineIntegration","subscribeVercelAiOrchestrionChannels"],"mappings":"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"}
@@ -13,9 +13,11 @@ const utils = require('../../ai/core/utils.js');
13
13
 
14
14
  const AI_SDK_TELEMETRY_TRACING_CHANNEL = "ai:telemetry";
15
15
  const ORIGIN = "auto.vercelai.channel";
16
+ const GEN_AI_EVALUATE = "gen_ai.evaluate";
16
17
  const GEN_AI_OPERATION_SPAN_OPS = {
17
18
  embeddings: op.GEN_AI_EMBEDDINGS,
18
19
  rerank: op.GEN_AI_RERANK,
20
+ evaluate: GEN_AI_EVALUATE,
19
21
  invoke_agent: op.GEN_AI_INVOKE_AGENT,
20
22
  execute_tool: op.GEN_AI_EXECUTE_TOOL,
21
23
  // The model-call op matches the Vercel AI OTel integration (`gen_ai.generate_content`) rather than
@@ -224,6 +226,15 @@ function createSpanFromMessage(data, channelOptions) {
224
226
  }
225
227
  case "rerank":
226
228
  return startGenAiSpan("rerank", modelId, baseAttributes);
229
+ case "experimental_evaluate":
230
+ return startGenAiSpan("evaluate", modelId, {
231
+ ...baseAttributes,
232
+ ...recordInputs ? {
233
+ [attributes.GEN_AI_INPUT_MESSAGES]: core.stringify([
234
+ { type: "evaluation", state: event.state, questions: event.questions }
235
+ ])
236
+ } : {}
237
+ });
227
238
  default:
228
239
  return void 0;
229
240
  }
@@ -333,13 +344,33 @@ function enrichSpanOnEnd(span, data, channelOptions) {
333
344
  dropLastStepOnlyUsage(providerAttributes, type);
334
345
  span.setAttributes(providerAttributes);
335
346
  if (recordOutputs) {
336
- const parts = type === "languageModelCall" && Array.isArray(result.content) ? partsFromContent(result.content) : partsFromTextAndToolCalls(result.text, result.toolCalls);
337
- const outputMessages = buildOutputMessages(parts, finishReason);
347
+ const outputMessages = getOutputMessages(type, result, finishReason);
338
348
  if (outputMessages) {
339
349
  span.setAttribute(attributes.GEN_AI_OUTPUT_MESSAGES, outputMessages);
340
350
  }
341
351
  }
342
352
  }
353
+ function getOutputMessages(type, result, finishReason) {
354
+ if (type === "experimental_evaluate") {
355
+ return core.stringify([{ type: "evaluation", answers: withProviderConfidence(result) }]);
356
+ }
357
+ const parts = type === "languageModelCall" && Array.isArray(result.content) ? partsFromContent(result.content) : partsFromTextAndToolCalls(result.text, result.toolCalls);
358
+ return buildOutputMessages(parts, finishReason);
359
+ }
360
+ function withProviderConfidence(result) {
361
+ const { answers, providerMetadata } = result;
362
+ const typesafe = core.isObjectLike(providerMetadata) ? providerMetadata.typesafe : void 0;
363
+ const confidence = core.isObjectLike(typesafe) && core.isObjectLike(typesafe.confidence) ? typesafe.confidence : void 0;
364
+ if (!confidence || !core.isObjectLike(answers)) {
365
+ return answers;
366
+ }
367
+ return Object.fromEntries(
368
+ Object.entries(answers).map(([id, answer]) => [
369
+ id,
370
+ core.isObjectLike(answer) && typeof confidence[id] === "number" && answer.confidence === void 0 ? { ...answer, confidence: confidence[id] } : answer
371
+ ])
372
+ );
373
+ }
343
374
  function normalizeFinishReason(finishReason) {
344
375
  return finishReason === "tool-calls" ? "tool_call" : finishReason ?? "stop";
345
376
  }