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) | | | ✓ | |