diff --git a/docs/platforms/javascript/common/configuration/integrations/vercelai.mdx b/docs/platforms/javascript/common/configuration/integrations/vercelai.mdx index fcb777731a412..62684930483d2 100644 --- a/docs/platforms/javascript/common/configuration/integrations/vercelai.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/vercelai.mdx @@ -9,6 +9,7 @@ supported: - javascript.express - javascript.fastify - javascript.gcp-functions + - javascript.cloudflare - javascript.hapi - javascript.hono - javascript.koa @@ -27,22 +28,21 @@ supported: -This integration only works in the Node.js and Bun runtimes. Requires SDK version `9.30.0` or higher. +This integration only works in the Node.js, Cloudflare Workers, Vercel Edge Functions and Bun runtimes. Requires SDK version `9.33.0` or higher. - - - - - - _Import name: `Sentry.vercelAIIntegration`_ -The `vercelAIIntegration` adds instrumentation for the [`ai`](https://www.npmjs.com/package/ai) SDK by Vercel to capture spans using the [`AI SDK's built-in Telemetry`](https://sdk.vercel.ai/docs/ai-sdk-core/telemetry). Get started with the following snippet: +The `vercelAIIntegration` adds instrumentation for the [`ai`](https://www.npmjs.com/package/ai) SDK by Vercel to capture spans using the [`AI SDK's built-in Telemetry`](https://sdk.vercel.ai/docs/ai-sdk-core/telemetry). + + + It is enabled by default and will automatically capture spans for all `ai` + function calls. You can opt-in to capture inputs and outputs by setting `recordInputs` and `recordOutputs` in the integration config: ```javascript Sentry.init({ + dsn: "____PUBLIC_DSN____" tracesSampleRate: 1.0, integrations: [ Sentry.vercelAIIntegration({ @@ -53,6 +53,35 @@ Sentry.init({ }); ``` + + + +This integration is not enabled by default. You need to manually enable it by passing `Sentry.vercelAIIntegration()` to `Sentry.init`: + +```javascript +Sentry.init({ + dsn: "____PUBLIC_DSN____" + tracesSampleRate: 1.0, + integrations: [Sentry.vercelAIIntegration()], +}); +``` + + + + +This integration is enabled by default in the Node runtime, but not in the Edge runtime. You need to manually enable it by passing `Sentry.vercelAIIntegration()` to `Sentry.init` in your `sentry.edge.config.js` file: + +```javascript {filename: 'sentry.edge.config.(js|ts)'} +Sentry.init({ + dsn: "____PUBLIC_DSN____" + tracesSampleRate: 1.0, + integrations: [Sentry.vercelAIIntegration()], +}); +``` + + + + To correctly capture spans, pass the `experimental_telemetry` object with `isEnabled: true` to every `generateText`, `generateObject`, and `streamText` function call. For more details, see the [AI SDK Telemetry Metadata docs](https://sdk.vercel.ai/docs/ai-sdk-core/telemetry#telemetry-metadata). ```javascript @@ -60,10 +89,15 @@ const result = await generateText({ model: openai("gpt-4o"), experimental_telemetry: { isEnabled: true, + recordInputs: true, + recordOutputs: true, }, }); ``` + + + ## Options ### `force` @@ -82,6 +116,12 @@ Sentry.init({ }); ``` + + This option is not available in the Edge runtime. There, the integration is + forced when it is enabled. + + + ### `recordInputs` Requires SDK version `9.27.0` or higher. @@ -114,6 +154,10 @@ Sentry.init({ }); ``` + + + + ## Identifying functions In order to make it easier to correlate captured spans with the function calls we recommend setting `functionId` in `experimental_telemetry` in all generation function calls: diff --git a/docs/product/insights/agents/getting-started.mdx b/docs/product/insights/agents/getting-started.mdx index 9eb975fd82767..f141a267814b0 100644 --- a/docs/product/insights/agents/getting-started.mdx +++ b/docs/product/insights/agents/getting-started.mdx @@ -81,6 +81,11 @@ The Sentry JavaScript SDK supports AI agent monitoring through the Vercel AI int label="Connect" url="/platforms/javascript/guides/connect/configuration/integrations/vercelai/" /> +- - - ```javascript import { Sentry } from "@sentry/node"; diff --git a/includes/nextjs-server-only.mdx b/includes/nextjs-server-only.mdx deleted file mode 100644 index 416dc01f19fdb..0000000000000 --- a/includes/nextjs-server-only.mdx +++ /dev/null @@ -1,5 +0,0 @@ - - -For Next.js applications, the Vercel AI integration can only be added to `sentry.server.config.ts` (server-side configuration). It is not supported in edge configurations (`sentry.edge.config.ts`) or browser configurations (`instrumentation-client.ts`). - - diff --git a/platform-includes/configuration/integrations/javascript.astro.mdx b/platform-includes/configuration/integrations/javascript.astro.mdx index 43df58e3a7728..5189a6567e60b 100644 --- a/platform-includes/configuration/integrations/javascript.astro.mdx +++ b/platform-includes/configuration/integrations/javascript.astro.mdx @@ -22,7 +22,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| +| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -72,6 +72,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`dataloaderIntegration`](./dataloader) | ✓ | | ✓ | | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | | [`fsIntegration`](./fs) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.aws-lambda.mdx b/platform-includes/configuration/integrations/javascript.aws-lambda.mdx index 25cb1b670b65b..c38e7b1f5e7a5 100644 --- a/platform-includes/configuration/integrations/javascript.aws-lambda.mdx +++ b/platform-includes/configuration/integrations/javascript.aws-lambda.mdx @@ -17,6 +17,7 @@ | [`onUncaughtExceptionIntegration`](./onuncaughtexception) | ✓ | ✓ | | | | [`onUnhandledRejectionIntegration`](./unhandledrejection) | ✓ | ✓ | | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`amqplibIntegration`](./amqplib) | | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.bun.mdx b/platform-includes/configuration/integrations/javascript.bun.mdx index a5929a78d1d4a..da3c317d233cf 100644 --- a/platform-includes/configuration/integrations/javascript.bun.mdx +++ b/platform-includes/configuration/integrations/javascript.bun.mdx @@ -29,6 +29,7 @@ | [`requestDataIntegration`](./requestdata) | ✓ | | ✓ | | | [`tediousIntegration`](./tedious) | ✓ | | ✓ | | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | | [`dataloaderIntegration`](./dataloader) | | | ✓ | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.connect.mdx b/platform-includes/configuration/integrations/javascript.connect.mdx index 3e9acc8dad1af..4de92e46239f0 100644 --- a/platform-includes/configuration/integrations/javascript.connect.mdx +++ b/platform-includes/configuration/integrations/javascript.connect.mdx @@ -30,6 +30,7 @@ | [`tediousIntegration`](./tedious) | ✓ | | ✓ | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`rewriteFramesIntegration`](./rewriteframes) | ✓ | ✓ | | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | | [`dataloaderIntegration`](./dataloader) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.fastify.mdx b/platform-includes/configuration/integrations/javascript.fastify.mdx index a93952bb47714..12fa3b9c88a38 100644 --- a/platform-includes/configuration/integrations/javascript.fastify.mdx +++ b/platform-includes/configuration/integrations/javascript.fastify.mdx @@ -30,6 +30,7 @@ | [`tediousIntegration`](./tedious) | ✓ | | ✓ | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | | [`dataloaderIntegration`](./dataloader) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.gcp-functions.mdx b/platform-includes/configuration/integrations/javascript.gcp-functions.mdx index fa1001bee4fe5..76be76e3ac923 100644 --- a/platform-includes/configuration/integrations/javascript.gcp-functions.mdx +++ b/platform-includes/configuration/integrations/javascript.gcp-functions.mdx @@ -17,6 +17,7 @@ | [`onUncaughtExceptionIntegration`](./onuncaughtexception) | ✓ | ✓ | | | | [`onUnhandledRejectionIntegration`](./unhandledrejection) | ✓ | ✓ | | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`amqplibIntegration`](./amqplib) | | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | @@ -40,4 +41,4 @@ | [`requestDataIntegration`](./requestdata) | | | ✓ | | | [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | | [`tediousIntegration`](./tedious) | | | ✓ | | -| [`trpcMiddleware`](./trpc) | | ✓ | ✓ | ✓ | \ No newline at end of file +| [`trpcMiddleware`](./trpc) | | ✓ | ✓ | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.hapi.mdx b/platform-includes/configuration/integrations/javascript.hapi.mdx index c9dfabda1864e..6690807c00fce 100644 --- a/platform-includes/configuration/integrations/javascript.hapi.mdx +++ b/platform-includes/configuration/integrations/javascript.hapi.mdx @@ -30,6 +30,7 @@ | [`tediousIntegration`](./tedious) | ✓ | | ✓ | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | | [`dataloaderIntegration`](./dataloader) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.nestjs.mdx b/platform-includes/configuration/integrations/javascript.nestjs.mdx index d16992456d23e..c1838e3ae9e16 100644 --- a/platform-includes/configuration/integrations/javascript.nestjs.mdx +++ b/platform-includes/configuration/integrations/javascript.nestjs.mdx @@ -30,6 +30,7 @@ | [`tediousIntegration`](./tedious) | ✓ | | ✓ | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | | [`dataloaderIntegration`](./dataloader) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.nextjs.mdx b/platform-includes/configuration/integrations/javascript.nextjs.mdx index 485a7edecb70b..af9ddbbe8e8a7 100644 --- a/platform-includes/configuration/integrations/javascript.nextjs.mdx +++ b/platform-includes/configuration/integrations/javascript.nextjs.mdx @@ -22,7 +22,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| +| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -85,9 +85,11 @@ Depending on whether an integration enhances the functionality of a particular r | [`localVariablesIntegration`](./localvariables) | | ✓ | | | | [`nodeProfilingIntegration`](./nodeprofiling) | | | ✓ | | | [`trpcMiddleware`](./trpc) | | ✓ | ✓ | ✓ | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | ✓ | ### Edge Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Additional Context** | | --------------------------------------------- | :--------------: | :--------: | :---------: | :--------------------: | | [`winterCGFetchIntegration`](./wintercgfetch) | ✓ | | ✓ | ✓ | +| [`vercelAiIntegration`](./vercelai) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.node.mdx b/platform-includes/configuration/integrations/javascript.node.mdx index 402ad2f10efea..21e0b8ab6b959 100644 --- a/platform-includes/configuration/integrations/javascript.node.mdx +++ b/platform-includes/configuration/integrations/javascript.node.mdx @@ -36,6 +36,7 @@ | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | | [`redisIntegration`](./redis) | ✓ | | ✓ | | | [`requestDataIntegration`](./requestdata) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | | [`supabaseIntegration`](./supabase) | | ✓ | ✓ | | | [`tediousIntegration`](./tedious) | ✓ | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.nuxt.mdx b/platform-includes/configuration/integrations/javascript.nuxt.mdx index fc022ae4f8fba..73687500dc019 100644 --- a/platform-includes/configuration/integrations/javascript.nuxt.mdx +++ b/platform-includes/configuration/integrations/javascript.nuxt.mdx @@ -71,6 +71,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`dataloaderIntegration`](./dataloader) | ✓ | | ✓ | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | | [`fsIntegration`](./fs) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.remix.mdx b/platform-includes/configuration/integrations/javascript.remix.mdx index 003109b47c265..96a94fd9ef407 100644 --- a/platform-includes/configuration/integrations/javascript.remix.mdx +++ b/platform-includes/configuration/integrations/javascript.remix.mdx @@ -71,6 +71,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`dataloaderIntegration`](./dataloader) | ✓ | | ✓ | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | | [`fsIntegration`](./fs) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.solidstart.mdx b/platform-includes/configuration/integrations/javascript.solidstart.mdx index 657b5f012c09d..f900ea624a6b6 100644 --- a/platform-includes/configuration/integrations/javascript.solidstart.mdx +++ b/platform-includes/configuration/integrations/javascript.solidstart.mdx @@ -71,6 +71,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`dataloaderIntegration`](./dataloader) | ✓ | | ✓ | | | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | | [`fsIntegration`](./fs) | | | ✓ | | diff --git a/platform-includes/configuration/integrations/javascript.sveltekit.mdx b/platform-includes/configuration/integrations/javascript.sveltekit.mdx index 2dae5eb8891a3..743e028d75a7d 100644 --- a/platform-includes/configuration/integrations/javascript.sveltekit.mdx +++ b/platform-includes/configuration/integrations/javascript.sveltekit.mdx @@ -21,7 +21,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| +| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -70,6 +70,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`childProcessIntegration`](./childProcess) | ✓ | | | ✓ | | [`dataloaderIntegration`](./dataloader) | ✓ | | ✓ | | | [`prismaIntegration`](./prisma) | ✓ | | ✓ | | +| [`vercelAiIntegration`](./vercelai) | ✓ | | ✓ | | | [`anrIntegration`](./anr) | | ✓ | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | | [`fsIntegration`](./fs) | | | ✓ | |