[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-sentry-sentry-nextjs-sdk":3,"mdc--o8q81s-key":39,"related-repo-sentry-sentry-nextjs-sdk":7015,"related-org-sentry-sentry-nextjs-sdk":7120},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":27,"repoUrl":28,"updatedAt":29,"license":30,"forks":31,"topics":32,"repo":34,"sourceUrl":37,"mdContent":38},"sentry-nextjs-sdk","setup Sentry monitoring for Next.js","Full Sentry SDK setup for Next.js. Use when asked to \"add Sentry to Next.js\", \"install @sentry\u002Fnextjs\", or configure error monitoring, tracing, session replay, logging, profiling, AI monitoring, or crons for Next.js applications. Supports Next.js 13+ with App Router and Pages Router.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"sentry","Sentry","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fsentry.png","getsentry",[13,17,20,23,24],{"name":14,"slug":15,"type":16},"Observability","observability","tag",{"name":18,"slug":19,"type":16},"Next.js","next-js",{"name":21,"slug":22,"type":16},"Monitoring","monitoring",{"name":9,"slug":8,"type":16},{"name":25,"slug":26,"type":16},"Debugging","debugging",237,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-for-ai","2026-07-11T05:53:18.050562","Apache-2.0",30,[33],"tag-production",{"repoUrl":28,"stars":27,"forks":31,"topics":35,"description":36},[33],"Teach your AI coding assistant how to use Sentry - setup, debugging, alerts, and more","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-for-ai\u002Ftree\u002FHEAD\u002Fskills-legacy\u002Fsentry-nextjs-sdk","---\nname: sentry-nextjs-sdk\ndescription: Full Sentry SDK setup for Next.js. Use when asked to \"add Sentry to Next.js\", \"install @sentry\u002Fnextjs\", or configure error monitoring, tracing, session replay, logging, profiling, AI monitoring, or crons for Next.js applications. Supports Next.js 13+ with App Router and Pages Router.\nlicense: Apache-2.0\ncategory: sdk-setup\nparent: sentry-sdk-setup\ndisable-model-invocation: true\n---\n\n> [All Skills](..\u002F..\u002FSKILL_TREE.md) > [SDK Setup](..\u002Fsentry-sdk-setup\u002FSKILL.md) > Next.js SDK\n\n# Sentry Next.js SDK\n\nOpinionated wizard that scans your Next.js project and guides you through complete Sentry setup across all three runtimes: browser, Node.js server, and Edge.\n\n## Invoke This Skill When\n\n- User asks to \"add Sentry to Next.js\" or \"set up Sentry\" in a Next.js app\n- User wants to install or configure `@sentry\u002Fnextjs`\n- User wants error monitoring, tracing, session replay, logging, or profiling for Next.js\n- User asks about `instrumentation.ts`, `withSentryConfig()`, or `global-error.tsx`\n- User wants to capture server actions, server component errors, or edge runtime errors\n\n> **Note:** SDK versions and APIs below reflect current Sentry docs at time of writing (`@sentry\u002Fnextjs` ≥8.28.0).\n> Always verify against [docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002F) before implementing.\n\n---\n\n## Phase 1: Detect\n\nRun these commands to understand the project before making any recommendations:\n\n```bash\n# Detect Next.js version and existing Sentry\ncat package.json | grep -E '\"next\"|\"@sentry\u002F'\n\n# Detect router type (App Router vs Pages Router)\nls src\u002Fapp app src\u002Fpages pages 2>\u002Fdev\u002Fnull\n\n# Check for existing Sentry config files\nls instrumentation.ts instrumentation-client.ts sentry.server.config.ts sentry.edge.config.ts 2>\u002Fdev\u002Fnull\nls src\u002Finstrumentation.ts src\u002Finstrumentation-client.ts 2>\u002Fdev\u002Fnull\n\n# Check next.config\nls next.config.ts next.config.js next.config.mjs 2>\u002Fdev\u002Fnull\n\n# Check for existing error boundaries\nfind . -name \"global-error.tsx\" -o -name \"_error.tsx\" 2>\u002Fdev\u002Fnull | grep -v node_modules\n\n# Check build tool\ncat package.json | grep -E '\"turbopack\"|\"webpack\"'\n\n# Check for logging libraries\ncat package.json | grep -E '\"pino\"|\"winston\"|\"bunyan\"'\n\n# Check for companion backend\nls ..\u002Fbackend ..\u002Fserver ..\u002Fapi 2>\u002Fdev\u002Fnull\ncat ..\u002Fgo.mod ..\u002Frequirements.txt ..\u002FGemfile 2>\u002Fdev\u002Fnull | head -3\n```\n\n**What to determine:**\n\n| Question | Impact |\n|----------|--------|\n| Next.js version? | 13+ required; 15+ needed for Turbopack support |\n| App Router or Pages Router? | Determines error boundary files needed (`global-error.tsx` vs `_error.tsx`) |\n| `@sentry\u002Fnextjs` already present? | Skip install, go to feature config |\n| Existing `instrumentation.ts`? | Merge Sentry into it rather than replace |\n| Turbopack in use? | Tree-shaking in `withSentryConfig` is webpack-only |\n| Logging library detected? | Recommend Sentry Logs integration |\n| Backend directory found? | Trigger Phase 4 cross-link suggestion |\n\n---\n\n## Phase 2: Recommend\n\nPresent a concrete recommendation based on what you found. Don't ask open-ended questions — lead with a proposal:\n\n**Recommended (core coverage):**\n- ✅ **Error Monitoring** — always; captures server errors, client errors, server actions, and unhandled promise rejections\n- ✅ **Tracing** — server-side request tracing + client-side navigation spans across all runtimes\n- ✅ **Session Replay** — recommended for user-facing apps; records sessions around errors\n\n**Optional (enhanced observability):**\n- ⚡ **Logging** — structured logs via `Sentry.logger.*`; recommend when `pino`\u002F`winston` or log search is needed\n- ⚡ **Profiling** — continuous profiling; requires `Document-Policy: js-profiling` header\n- ⚡ **AI Monitoring** — OpenAI, Vercel AI SDK, Anthropic; recommend when AI\u002FLLM calls detected\n- ⚡ **Crons** — detect missed\u002Ffailed scheduled jobs; recommend when cron patterns detected\n- ⚡ **Metrics** — custom metrics via `Sentry.metrics.*`; recommend when custom KPIs or business metrics needed\n\n**Recommendation logic:**\n\n| Feature | Recommend when... |\n|---------|------------------|\n| Error Monitoring | **Always** — non-negotiable baseline |\n| Tracing | **Always for Next.js** — server route tracing + client navigation are high-value |\n| Session Replay | User-facing app, login flows, or checkout pages |\n| Logging | App uses structured logging or needs log-to-trace correlation |\n| Profiling | Performance-critical app; client sets `Document-Policy: js-profiling` |\n| AI Monitoring | App makes OpenAI, Vercel AI SDK, or Anthropic calls |\n| Crons | App has Vercel Cron jobs, scheduled API routes, or `node-cron` usage |\n| Metrics | App needs custom counters, gauges, or histograms via `Sentry.metrics.*` |\n\nPropose: *\"I recommend setting up Error Monitoring + Tracing + Session Replay. Want me to also add Logging or Profiling?\"*\n\n---\n\n## Phase 3: Guide\n\n### Option 1: Wizard (Recommended)\n\n> **You need to run this yourself** — the wizard opens a browser for login and requires interactive input that the agent can't handle. Copy-paste into your terminal:\n>\n> ```\n> npx @sentry\u002Fwizard@latest -i nextjs\n> ```\n>\n> It handles login, org\u002Fproject selection, SDK installation, config files (`instrumentation-client.ts`, `sentry.server.config.ts`, `sentry.edge.config.ts`, `instrumentation.ts`), `next.config.ts` wrapping, source map upload, and adds a `\u002Fsentry-example-page`.\n>\n> **Once it finishes, come back and skip to [Verification](#verification).**\n\nIf the user skips the wizard, proceed with Option 2 (Manual Setup) below.\n\n---\n\n### Option 2: Manual Setup\n\n#### Install\n\n```bash\nnpm install @sentry\u002Fnextjs --save\n```\n\n#### Create `instrumentation-client.ts` — Browser \u002F Client Runtime\n\n> Older docs used `sentry.client.config.ts` — the current pattern is `instrumentation-client.ts`.\n\n```typescript\nimport * as Sentry from \"@sentry\u002Fnextjs\";\n\nSentry.init({\n  dsn: process.env.NEXT_PUBLIC_SENTRY_DSN ?? \"___PUBLIC_DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n\n  \u002F\u002F 100% in dev, 10% in production\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n\n  \u002F\u002F Session Replay: 10% of all sessions, 100% of sessions with errors\n  replaysSessionSampleRate: 0.1,\n  replaysOnErrorSampleRate: 1.0,\n\n  enableLogs: true,\n\n  integrations: [\n    Sentry.replayIntegration(),\n    \u002F\u002F Optional: user feedback widget\n    \u002F\u002F Sentry.feedbackIntegration({ colorScheme: \"system\" }),\n  ],\n});\n\n\u002F\u002F Hook into App Router navigation transitions (App Router only)\nexport const onRouterTransitionStart = Sentry.captureRouterTransitionStart;\n```\n\n#### Create `sentry.server.config.ts` — Node.js Server Runtime\n\n```typescript\nimport * as Sentry from \"@sentry\u002Fnextjs\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n\n  \u002F\u002F Attach local variable values to stack frames\n  includeLocalVariables: true,\n\n  enableLogs: true,\n});\n```\n\n#### Create `sentry.edge.config.ts` — Edge Runtime\n\n```typescript\nimport * as Sentry from \"@sentry\u002Fnextjs\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n\n  enableLogs: true,\n});\n```\n\n#### Create `instrumentation.ts` — Server-Side Registration Hook\n\n> Requires `experimental.instrumentationHook: true` in `next.config` for Next.js \u003C 14.0.4. It's stable in 14.0.4+.\n\n```typescript\nimport * as Sentry from \"@sentry\u002Fnextjs\";\n\nexport async function register() {\n  if (process.env.NEXT_RUNTIME === \"nodejs\") {\n    await import(\".\u002Fsentry.server.config\");\n  }\n\n  if (process.env.NEXT_RUNTIME === \"edge\") {\n    await import(\".\u002Fsentry.edge.config\");\n  }\n}\n\n\u002F\u002F Automatically captures all unhandled server-side request errors\n\u002F\u002F Requires @sentry\u002Fnextjs >= 8.28.0\nexport const onRequestError = Sentry.captureRequestError;\n```\n\n**Runtime dispatch:**\n\n| `NEXT_RUNTIME` | Config file loaded |\n|---|---|\n| `\"nodejs\"` | `sentry.server.config.ts` |\n| `\"edge\"` | `sentry.edge.config.ts` |\n| *(client bundle)* | `instrumentation-client.ts` (Next.js handles this directly) |\n\n#### App Router: Create `app\u002Fglobal-error.tsx`\n\nThis catches errors in the root layout and React render errors:\n\n```tsx\n\"use client\";\n\nimport * as Sentry from \"@sentry\u002Fnextjs\";\nimport NextError from \"next\u002Ferror\";\nimport { useEffect } from \"react\";\n\nexport default function GlobalError({\n  error,\n}: {\n  error: Error & { digest?: string };\n}) {\n  useEffect(() => {\n    Sentry.captureException(error);\n  }, [error]);\n\n  return (\n    \u003Chtml>\n      \u003Cbody>\n        \u003CNextError statusCode={0} \u002F>\n      \u003C\u002Fbody>\n    \u003C\u002Fhtml>\n  );\n}\n```\n\n#### Pages Router: Update `pages\u002F_error.tsx`\n\n```tsx\nimport * as Sentry from \"@sentry\u002Fnextjs\";\nimport type { NextPageContext } from \"next\";\nimport NextErrorComponent from \"next\u002Ferror\";\n\ntype ErrorProps = { statusCode: number };\n\nexport default function CustomError({ statusCode }: ErrorProps) {\n  return \u003CNextErrorComponent statusCode={statusCode} \u002F>;\n}\n\nCustomError.getInitialProps = async (ctx: NextPageContext) => {\n  await Sentry.captureUnderscoreErrorException(ctx);\n  return NextErrorComponent.getInitialProps(ctx);\n};\n```\n\n#### Wrap `next.config.ts` with `withSentryConfig()`\n\n```typescript\nimport type { NextConfig } from \"next\";\nimport { withSentryConfig } from \"@sentry\u002Fnextjs\";\n\nconst nextConfig: NextConfig = {\n  \u002F\u002F your existing Next.js config\n};\n\nexport default withSentryConfig(nextConfig, {\n  org: \"___ORG_SLUG___\",\n  project: \"___PROJECT_SLUG___\",\n\n  \u002F\u002F Source map upload auth token (see Source Maps section below)\n  authToken: process.env.SENTRY_AUTH_TOKEN,\n\n  \u002F\u002F Upload wider set of client source files for better stack trace resolution\n  widenClientFileUpload: true,\n\n  \u002F\u002F Create a proxy API route to bypass ad-blockers\n  tunnelRoute: \"\u002Fmonitoring\",\n\n  \u002F\u002F Suppress non-CI output\n  silent: !process.env.CI,\n});\n```\n\n#### Exclude Tunnel Route from Middleware\n\nIf you have `middleware.ts`, exclude the tunnel path from auth or redirect logic:\n\n```typescript\n\u002F\u002F middleware.ts\nexport const config = {\n  matcher: [\n    \u002F\u002F Exclude monitoring route, Next.js internals, and static files\n    \"\u002F((?!monitoring|_next\u002Fstatic|_next\u002Fimage|favicon.ico).*)\",\n  ],\n};\n```\n\n---\n\n### Source Maps Setup\n\n`withSentryConfig` uploads source maps on production builds so stack traces show your original code instead of minified output. The SDK-specific wiring is the `authToken` (plus `widenClientFileUpload`, which improves client stack traces) in `next.config.ts`:\n\n```typescript\nwithSentryConfig(nextConfig, {\n  org: \"my-org\",\n  project: \"my-project\",\n  authToken: process.env.SENTRY_AUTH_TOKEN, \u002F\u002F from CI env or a gitignored .env.sentry-build-plugin\n  widenClientFileUpload: true,\n});\n```\n\n`SENTRY_AUTH_TOKEN` is a build-time secret, distinct from the DSN. For creating the token, wiring it into CI, and troubleshooting minified traces, see [`sentry-source-maps`](..\u002Fsentry-source-maps\u002FSKILL.md).\n\nSource maps are uploaded automatically on every `next build`.\n\n---\n\n### For Each Agreed Feature\n\nLoad the corresponding reference file and follow its steps:\n\n| Feature | Reference file | Load when... |\n|---------|---------------|-------------|\n| Error Monitoring | `references\u002Ferror-monitoring.md` | Always (baseline) — App Router error boundaries, Pages Router `_error.tsx`, server action wrapping |\n| Tracing | `references\u002Ftracing.md` | Server-side request tracing, client navigation, distributed tracing, `tracePropagationTargets` |\n| Session Replay | `references\u002Fsession-replay.md` | User-facing app; privacy masking, canvas recording, network capture |\n| Logging | `references\u002Flogging.md` | Structured logs, `Sentry.logger.*`, log-to-trace correlation |\n| Profiling | `references\u002Fprofiling.md` | Continuous profiling, `Document-Policy` header, `nodeProfilingIntegration` |\n| AI Monitoring | `references\u002Fai-monitoring.md` | App uses OpenAI, Vercel AI SDK, or Anthropic |\n| Crons | `references\u002Fcrons.md` | Vercel Cron, scheduled API routes, `node-cron` |\n| Metrics | `references\u002Fmetrics.md` | Custom counters, gauges, distributions via `Sentry.metrics.*` |\n\nFor each feature: read the reference file, follow its steps exactly, and verify before moving on.\n\n---\n\n## Configuration Reference\n\n### `Sentry.init()` Options\n\n| Option | Type | Default | Notes |\n|--------|------|---------|-------|\n| `dsn` | `string` | — | Required. Use `NEXT_PUBLIC_SENTRY_DSN` for client, `SENTRY_DSN` for server |\n| `tracesSampleRate` | `number` | — | 0–1; 1.0 in dev, 0.1 in prod recommended |\n| `replaysSessionSampleRate` | `number` | `0.1` | Fraction of all sessions recorded |\n| `replaysOnErrorSampleRate` | `number` | `1.0` | Fraction of error sessions recorded |\n| `dataCollection` | `object` | conservative unless set | Fine-grained control over auto-collected categories (`userInfo`, `cookies`, `httpHeaders`, `httpBodies`, `queryParams`, `genAI`). When omitted, the SDK falls back to `sendDefaultPii` (default `false`). Passing the object — even `{}` — flips unset categories to their permissive defaults; opt out per category. |\n| `includeLocalVariables` | `boolean` | `false` | Attach local variable values to stack frames (server only) |\n| `enableLogs` | `boolean` | `false` | Enable Sentry Logs product |\n| `environment` | `string` | auto | `\"production\"`, `\"staging\"`, etc. |\n| `release` | `string` | auto | Set to commit SHA or version tag |\n| `debug` | `boolean` | `false` | Log SDK activity to console |\n\n### `withSentryConfig()` Options\n\n| Option | Type | Notes |\n|--------|------|-------|\n| `org` | `string` | Sentry organization slug |\n| `project` | `string` | Sentry project slug |\n| `authToken` | `string` | Source map upload token (`SENTRY_AUTH_TOKEN`) |\n| `widenClientFileUpload` | `boolean` | Upload more client files for better stack traces |\n| `tunnelRoute` | `string` | API route path for ad-blocker bypass (e.g. `\"\u002Fmonitoring\"`) |\n| `silent` | `boolean` | Suppress build output (`!process.env.CI` recommended) |\n| `webpack.treeshake.*` | `object` | Tree-shake SDK features (webpack only, not Turbopack) |\n\n### Environment Variables\n\n| Variable | Runtime | Purpose |\n|----------|---------|---------|\n| `NEXT_PUBLIC_SENTRY_DSN` | Client | DSN for browser Sentry init (public) |\n| `SENTRY_DSN` | Server \u002F Edge | DSN for server\u002Fedge Sentry init |\n| `SENTRY_AUTH_TOKEN` | Build | Source map upload auth token (secret) |\n| `SENTRY_ORG` | Build | Org slug (alternative to `org` in config) |\n| `SENTRY_PROJECT` | Build | Project slug (alternative to `project` in config) |\n| `SENTRY_RELEASE` | Server | Release version string (auto-detected from git) |\n| `NEXT_RUNTIME` | Server \u002F Edge | `\"nodejs\"` or `\"edge\"` (set by Next.js internally) |\n\n---\n\n## Verification\n\nAfter wizard or manual setup, verify Sentry is working:\n\n```typescript\n\u002F\u002F Add temporarily to a server action or API route, then remove\nimport * as Sentry from \"@sentry\u002Fnextjs\";\n\nthrow new Error(\"Sentry test error — delete me\");\n\u002F\u002F or\nSentry.captureException(new Error(\"Sentry test error — delete me\"));\n```\n\nThen check your [Sentry Issues dashboard](https:\u002F\u002Fsentry.io\u002Fissues\u002F) — the error should appear within ~30 seconds.\n\n**Verification checklist:**\n\n| Check | How |\n|-------|-----|\n| Client errors captured | Throw in a client component, verify in Sentry |\n| Server errors captured | Throw in a server action or API route |\n| Edge errors captured | Throw in middleware or edge route handler |\n| Source maps working | Check stack trace shows readable file names |\n| Session Replay working | Check Replays tab in Sentry dashboard |\n\n---\n\n## Phase 4: Cross-Link\n\nAfter completing Next.js setup, check for companion services:\n\n```bash\n# Check for backend services in adjacent directories\nls ..\u002Fbackend ..\u002Fserver ..\u002Fapi ..\u002Fservices 2>\u002Fdev\u002Fnull\n\n# Check for backend language indicators\ncat ..\u002Fgo.mod 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002Frequirements.txt ..\u002Fpyproject.toml 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002FGemfile 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002Fpom.xml ..\u002Fbuild.gradle 2>\u002Fdev\u002Fnull | head -3\n```\n\nIf a backend is found, suggest the matching SDK skill:\n\n| Backend detected | Suggest skill |\n|-----------------|--------------|\n| Go (`go.mod`) | `sentry-go-sdk` |\n| Python (`requirements.txt`, `pyproject.toml`) | `sentry-python-sdk` |\n| Ruby (`Gemfile`) | `sentry-ruby-sdk` |\n| Java\u002FKotlin (`pom.xml`, `build.gradle`) | See [docs.sentry.io\u002Fplatforms\u002Fjava\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjava\u002F) |\n| Node.js (Express, Fastify, Hapi) | `@sentry\u002Fnode` — see [docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fexpress\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fexpress\u002F) |\n\nConnecting frontend and backend with the same DSN or linked projects enables **distributed tracing** — stack traces that span your browser, Next.js server, and backend API in a single trace view.\n\n---\n\n## Troubleshooting\n\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| Events not appearing | DSN misconfigured or `debug: false` hiding errors | Set `debug: true` temporarily; check browser network tab for requests to `sentry.io` |\n| Stack traces show minified code | Source maps not uploading | Check `SENTRY_AUTH_TOKEN` is set; run `next build` and look for \"Source Maps\" in build output |\n| `onRequestError` not firing | SDK version \u003C 8.28.0 | Upgrade: `npm install @sentry\u002Fnextjs@latest` |\n| Edge runtime errors missing | `sentry.edge.config.ts` not loaded | Verify `instrumentation.ts` imports it when `NEXT_RUNTIME === \"edge\"` |\n| Tunnel route returns 404 | `tunnelRoute` set but Next.js route missing | The plugin creates it automatically; check you ran `next build` after adding `tunnelRoute` |\n| `withSentryConfig` tree-shaking breaks build | Turbopack in use | Tree-shaking options only work with webpack; remove `webpack.treeshake` options when using Turbopack |\n| `global-error.tsx` not catching errors | Missing `\"use client\"` directive | Add `\"use client\"` as the very first line of `global-error.tsx` |\n| Session Replay not recording | `replayIntegration()` missing from client init | Add `Sentry.replayIntegration()` to `integrations` in `instrumentation-client.ts` |\n",{"data":40,"body":44},{"name":4,"description":6,"license":30,"category":41,"parent":42,"disable-model-invocation":43},"sdk-setup","sentry-sdk-setup",true,{"type":45,"children":46},"root",[47,74,80,85,92,151,182,186,192,197,751,759,912,915,921,926,934,971,979,1078,1086,1232,1243,1246,1252,1259,1346,1351,1354,1360,1367,1397,1410,1432,1976,1988,2317,2329,2621,2633,2657,3022,3030,3116,3128,3133,3623,3635,4042,4060,4499,4505,4518,4620,4623,4629,4661,4817,4838,4850,4853,4859,4864,5102,5107,5110,5116,5128,5575,5585,5803,5809,6008,6011,6016,6021,6185,6199,6207,6294,6297,6303,6308,6505,6510,6671,6683,6686,6692,7009],{"type":48,"tag":49,"props":50,"children":51},"element","blockquote",{},[52],{"type":48,"tag":53,"props":54,"children":55},"p",{},[56,64,66,72],{"type":48,"tag":57,"props":58,"children":60},"a",{"href":59},"..\u002F..\u002FSKILL_TREE.md",[61],{"type":62,"value":63},"text","All Skills",{"type":62,"value":65}," > ",{"type":48,"tag":57,"props":67,"children":69},{"href":68},"..\u002Fsentry-sdk-setup\u002FSKILL.md",[70],{"type":62,"value":71},"SDK Setup",{"type":62,"value":73}," > Next.js SDK",{"type":48,"tag":75,"props":76,"children":77},"h1",{"id":4},[78],{"type":62,"value":79},"Sentry Next.js SDK",{"type":48,"tag":53,"props":81,"children":82},{},[83],{"type":62,"value":84},"Opinionated wizard that scans your Next.js project and guides you through complete Sentry setup across all three runtimes: browser, Node.js server, and Edge.",{"type":48,"tag":86,"props":87,"children":89},"h2",{"id":88},"invoke-this-skill-when",[90],{"type":62,"value":91},"Invoke This Skill When",{"type":48,"tag":93,"props":94,"children":95},"ul",{},[96,102,114,119,146],{"type":48,"tag":97,"props":98,"children":99},"li",{},[100],{"type":62,"value":101},"User asks to \"add Sentry to Next.js\" or \"set up Sentry\" in a Next.js app",{"type":48,"tag":97,"props":103,"children":104},{},[105,107],{"type":62,"value":106},"User wants to install or configure ",{"type":48,"tag":108,"props":109,"children":111},"code",{"className":110},[],[112],{"type":62,"value":113},"@sentry\u002Fnextjs",{"type":48,"tag":97,"props":115,"children":116},{},[117],{"type":62,"value":118},"User wants error monitoring, tracing, session replay, logging, or profiling for Next.js",{"type":48,"tag":97,"props":120,"children":121},{},[122,124,130,132,138,140],{"type":62,"value":123},"User asks about ",{"type":48,"tag":108,"props":125,"children":127},{"className":126},[],[128],{"type":62,"value":129},"instrumentation.ts",{"type":62,"value":131},", ",{"type":48,"tag":108,"props":133,"children":135},{"className":134},[],[136],{"type":62,"value":137},"withSentryConfig()",{"type":62,"value":139},", or ",{"type":48,"tag":108,"props":141,"children":143},{"className":142},[],[144],{"type":62,"value":145},"global-error.tsx",{"type":48,"tag":97,"props":147,"children":148},{},[149],{"type":62,"value":150},"User wants to capture server actions, server component errors, or edge runtime errors",{"type":48,"tag":49,"props":152,"children":153},{},[154],{"type":48,"tag":53,"props":155,"children":156},{},[157,163,165,170,172,180],{"type":48,"tag":158,"props":159,"children":160},"strong",{},[161],{"type":62,"value":162},"Note:",{"type":62,"value":164}," SDK versions and APIs below reflect current Sentry docs at time of writing (",{"type":48,"tag":108,"props":166,"children":168},{"className":167},[],[169],{"type":62,"value":113},{"type":62,"value":171}," ≥8.28.0).\nAlways verify against ",{"type":48,"tag":57,"props":173,"children":177},{"href":174,"rel":175},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002F",[176],"nofollow",[178],{"type":62,"value":179},"docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002F",{"type":62,"value":181}," before implementing.",{"type":48,"tag":183,"props":184,"children":185},"hr",{},[],{"type":48,"tag":86,"props":187,"children":189},{"id":188},"phase-1-detect",[190],{"type":62,"value":191},"Phase 1: Detect",{"type":48,"tag":53,"props":193,"children":194},{},[195],{"type":62,"value":196},"Run these commands to understand the project before making any recommendations:",{"type":48,"tag":198,"props":199,"children":204},"pre",{"className":200,"code":201,"language":202,"meta":203,"style":203},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Detect Next.js version and existing Sentry\ncat package.json | grep -E '\"next\"|\"@sentry\u002F'\n\n# Detect router type (App Router vs Pages Router)\nls src\u002Fapp app src\u002Fpages pages 2>\u002Fdev\u002Fnull\n\n# Check for existing Sentry config files\nls instrumentation.ts instrumentation-client.ts sentry.server.config.ts sentry.edge.config.ts 2>\u002Fdev\u002Fnull\nls src\u002Finstrumentation.ts src\u002Finstrumentation-client.ts 2>\u002Fdev\u002Fnull\n\n# Check next.config\nls next.config.ts next.config.js next.config.mjs 2>\u002Fdev\u002Fnull\n\n# Check for existing error boundaries\nfind . -name \"global-error.tsx\" -o -name \"_error.tsx\" 2>\u002Fdev\u002Fnull | grep -v node_modules\n\n# Check build tool\ncat package.json | grep -E '\"turbopack\"|\"webpack\"'\n\n# Check for logging libraries\ncat package.json | grep -E '\"pino\"|\"winston\"|\"bunyan\"'\n\n# Check for companion backend\nls ..\u002Fbackend ..\u002Fserver ..\u002Fapi 2>\u002Fdev\u002Fnull\ncat ..\u002Fgo.mod ..\u002Frequirements.txt ..\u002FGemfile 2>\u002Fdev\u002Fnull | head -3\n","bash","",[205],{"type":48,"tag":108,"props":206,"children":207},{"__ignoreMap":203},[208,220,267,276,285,324,332,341,377,403,411,420,451,459,468,550,558,567,604,612,621,658,666,675,706],{"type":48,"tag":209,"props":210,"children":213},"span",{"class":211,"line":212},"line",1,[214],{"type":48,"tag":209,"props":215,"children":217},{"style":216},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[218],{"type":62,"value":219},"# Detect Next.js version and existing Sentry\n",{"type":48,"tag":209,"props":221,"children":223},{"class":211,"line":222},2,[224,230,236,242,247,252,257,262],{"type":48,"tag":209,"props":225,"children":227},{"style":226},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[228],{"type":62,"value":229},"cat",{"type":48,"tag":209,"props":231,"children":233},{"style":232},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[234],{"type":62,"value":235}," package.json",{"type":48,"tag":209,"props":237,"children":239},{"style":238},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[240],{"type":62,"value":241}," |",{"type":48,"tag":209,"props":243,"children":244},{"style":226},[245],{"type":62,"value":246}," grep",{"type":48,"tag":209,"props":248,"children":249},{"style":232},[250],{"type":62,"value":251}," -E",{"type":48,"tag":209,"props":253,"children":254},{"style":238},[255],{"type":62,"value":256}," '",{"type":48,"tag":209,"props":258,"children":259},{"style":232},[260],{"type":62,"value":261},"\"next\"|\"@sentry\u002F",{"type":48,"tag":209,"props":263,"children":264},{"style":238},[265],{"type":62,"value":266},"'\n",{"type":48,"tag":209,"props":268,"children":270},{"class":211,"line":269},3,[271],{"type":48,"tag":209,"props":272,"children":273},{"emptyLinePlaceholder":43},[274],{"type":62,"value":275},"\n",{"type":48,"tag":209,"props":277,"children":279},{"class":211,"line":278},4,[280],{"type":48,"tag":209,"props":281,"children":282},{"style":216},[283],{"type":62,"value":284},"# Detect router type (App Router vs Pages Router)\n",{"type":48,"tag":209,"props":286,"children":288},{"class":211,"line":287},5,[289,294,299,304,309,314,319],{"type":48,"tag":209,"props":290,"children":291},{"style":226},[292],{"type":62,"value":293},"ls",{"type":48,"tag":209,"props":295,"children":296},{"style":232},[297],{"type":62,"value":298}," src\u002Fapp",{"type":48,"tag":209,"props":300,"children":301},{"style":232},[302],{"type":62,"value":303}," app",{"type":48,"tag":209,"props":305,"children":306},{"style":232},[307],{"type":62,"value":308}," src\u002Fpages",{"type":48,"tag":209,"props":310,"children":311},{"style":232},[312],{"type":62,"value":313}," pages",{"type":48,"tag":209,"props":315,"children":316},{"style":238},[317],{"type":62,"value":318}," 2>",{"type":48,"tag":209,"props":320,"children":321},{"style":232},[322],{"type":62,"value":323},"\u002Fdev\u002Fnull\n",{"type":48,"tag":209,"props":325,"children":327},{"class":211,"line":326},6,[328],{"type":48,"tag":209,"props":329,"children":330},{"emptyLinePlaceholder":43},[331],{"type":62,"value":275},{"type":48,"tag":209,"props":333,"children":335},{"class":211,"line":334},7,[336],{"type":48,"tag":209,"props":337,"children":338},{"style":216},[339],{"type":62,"value":340},"# Check for existing Sentry config files\n",{"type":48,"tag":209,"props":342,"children":344},{"class":211,"line":343},8,[345,349,354,359,364,369,373],{"type":48,"tag":209,"props":346,"children":347},{"style":226},[348],{"type":62,"value":293},{"type":48,"tag":209,"props":350,"children":351},{"style":232},[352],{"type":62,"value":353}," instrumentation.ts",{"type":48,"tag":209,"props":355,"children":356},{"style":232},[357],{"type":62,"value":358}," instrumentation-client.ts",{"type":48,"tag":209,"props":360,"children":361},{"style":232},[362],{"type":62,"value":363}," sentry.server.config.ts",{"type":48,"tag":209,"props":365,"children":366},{"style":232},[367],{"type":62,"value":368}," sentry.edge.config.ts",{"type":48,"tag":209,"props":370,"children":371},{"style":238},[372],{"type":62,"value":318},{"type":48,"tag":209,"props":374,"children":375},{"style":232},[376],{"type":62,"value":323},{"type":48,"tag":209,"props":378,"children":380},{"class":211,"line":379},9,[381,385,390,395,399],{"type":48,"tag":209,"props":382,"children":383},{"style":226},[384],{"type":62,"value":293},{"type":48,"tag":209,"props":386,"children":387},{"style":232},[388],{"type":62,"value":389}," src\u002Finstrumentation.ts",{"type":48,"tag":209,"props":391,"children":392},{"style":232},[393],{"type":62,"value":394}," src\u002Finstrumentation-client.ts",{"type":48,"tag":209,"props":396,"children":397},{"style":238},[398],{"type":62,"value":318},{"type":48,"tag":209,"props":400,"children":401},{"style":232},[402],{"type":62,"value":323},{"type":48,"tag":209,"props":404,"children":406},{"class":211,"line":405},10,[407],{"type":48,"tag":209,"props":408,"children":409},{"emptyLinePlaceholder":43},[410],{"type":62,"value":275},{"type":48,"tag":209,"props":412,"children":414},{"class":211,"line":413},11,[415],{"type":48,"tag":209,"props":416,"children":417},{"style":216},[418],{"type":62,"value":419},"# Check next.config\n",{"type":48,"tag":209,"props":421,"children":423},{"class":211,"line":422},12,[424,428,433,438,443,447],{"type":48,"tag":209,"props":425,"children":426},{"style":226},[427],{"type":62,"value":293},{"type":48,"tag":209,"props":429,"children":430},{"style":232},[431],{"type":62,"value":432}," next.config.ts",{"type":48,"tag":209,"props":434,"children":435},{"style":232},[436],{"type":62,"value":437}," next.config.js",{"type":48,"tag":209,"props":439,"children":440},{"style":232},[441],{"type":62,"value":442}," next.config.mjs",{"type":48,"tag":209,"props":444,"children":445},{"style":238},[446],{"type":62,"value":318},{"type":48,"tag":209,"props":448,"children":449},{"style":232},[450],{"type":62,"value":323},{"type":48,"tag":209,"props":452,"children":454},{"class":211,"line":453},13,[455],{"type":48,"tag":209,"props":456,"children":457},{"emptyLinePlaceholder":43},[458],{"type":62,"value":275},{"type":48,"tag":209,"props":460,"children":462},{"class":211,"line":461},14,[463],{"type":48,"tag":209,"props":464,"children":465},{"style":216},[466],{"type":62,"value":467},"# Check for existing error boundaries\n",{"type":48,"tag":209,"props":469,"children":471},{"class":211,"line":470},15,[472,477,482,487,492,496,501,506,510,514,519,523,527,532,536,540,545],{"type":48,"tag":209,"props":473,"children":474},{"style":226},[475],{"type":62,"value":476},"find",{"type":48,"tag":209,"props":478,"children":479},{"style":232},[480],{"type":62,"value":481}," .",{"type":48,"tag":209,"props":483,"children":484},{"style":232},[485],{"type":62,"value":486}," -name",{"type":48,"tag":209,"props":488,"children":489},{"style":238},[490],{"type":62,"value":491}," \"",{"type":48,"tag":209,"props":493,"children":494},{"style":232},[495],{"type":62,"value":145},{"type":48,"tag":209,"props":497,"children":498},{"style":238},[499],{"type":62,"value":500},"\"",{"type":48,"tag":209,"props":502,"children":503},{"style":232},[504],{"type":62,"value":505}," -o",{"type":48,"tag":209,"props":507,"children":508},{"style":232},[509],{"type":62,"value":486},{"type":48,"tag":209,"props":511,"children":512},{"style":238},[513],{"type":62,"value":491},{"type":48,"tag":209,"props":515,"children":516},{"style":232},[517],{"type":62,"value":518},"_error.tsx",{"type":48,"tag":209,"props":520,"children":521},{"style":238},[522],{"type":62,"value":500},{"type":48,"tag":209,"props":524,"children":525},{"style":238},[526],{"type":62,"value":318},{"type":48,"tag":209,"props":528,"children":529},{"style":232},[530],{"type":62,"value":531},"\u002Fdev\u002Fnull",{"type":48,"tag":209,"props":533,"children":534},{"style":238},[535],{"type":62,"value":241},{"type":48,"tag":209,"props":537,"children":538},{"style":226},[539],{"type":62,"value":246},{"type":48,"tag":209,"props":541,"children":542},{"style":232},[543],{"type":62,"value":544}," -v",{"type":48,"tag":209,"props":546,"children":547},{"style":232},[548],{"type":62,"value":549}," node_modules\n",{"type":48,"tag":209,"props":551,"children":553},{"class":211,"line":552},16,[554],{"type":48,"tag":209,"props":555,"children":556},{"emptyLinePlaceholder":43},[557],{"type":62,"value":275},{"type":48,"tag":209,"props":559,"children":561},{"class":211,"line":560},17,[562],{"type":48,"tag":209,"props":563,"children":564},{"style":216},[565],{"type":62,"value":566},"# Check build tool\n",{"type":48,"tag":209,"props":568,"children":570},{"class":211,"line":569},18,[571,575,579,583,587,591,595,600],{"type":48,"tag":209,"props":572,"children":573},{"style":226},[574],{"type":62,"value":229},{"type":48,"tag":209,"props":576,"children":577},{"style":232},[578],{"type":62,"value":235},{"type":48,"tag":209,"props":580,"children":581},{"style":238},[582],{"type":62,"value":241},{"type":48,"tag":209,"props":584,"children":585},{"style":226},[586],{"type":62,"value":246},{"type":48,"tag":209,"props":588,"children":589},{"style":232},[590],{"type":62,"value":251},{"type":48,"tag":209,"props":592,"children":593},{"style":238},[594],{"type":62,"value":256},{"type":48,"tag":209,"props":596,"children":597},{"style":232},[598],{"type":62,"value":599},"\"turbopack\"|\"webpack\"",{"type":48,"tag":209,"props":601,"children":602},{"style":238},[603],{"type":62,"value":266},{"type":48,"tag":209,"props":605,"children":607},{"class":211,"line":606},19,[608],{"type":48,"tag":209,"props":609,"children":610},{"emptyLinePlaceholder":43},[611],{"type":62,"value":275},{"type":48,"tag":209,"props":613,"children":615},{"class":211,"line":614},20,[616],{"type":48,"tag":209,"props":617,"children":618},{"style":216},[619],{"type":62,"value":620},"# Check for logging libraries\n",{"type":48,"tag":209,"props":622,"children":624},{"class":211,"line":623},21,[625,629,633,637,641,645,649,654],{"type":48,"tag":209,"props":626,"children":627},{"style":226},[628],{"type":62,"value":229},{"type":48,"tag":209,"props":630,"children":631},{"style":232},[632],{"type":62,"value":235},{"type":48,"tag":209,"props":634,"children":635},{"style":238},[636],{"type":62,"value":241},{"type":48,"tag":209,"props":638,"children":639},{"style":226},[640],{"type":62,"value":246},{"type":48,"tag":209,"props":642,"children":643},{"style":232},[644],{"type":62,"value":251},{"type":48,"tag":209,"props":646,"children":647},{"style":238},[648],{"type":62,"value":256},{"type":48,"tag":209,"props":650,"children":651},{"style":232},[652],{"type":62,"value":653},"\"pino\"|\"winston\"|\"bunyan\"",{"type":48,"tag":209,"props":655,"children":656},{"style":238},[657],{"type":62,"value":266},{"type":48,"tag":209,"props":659,"children":661},{"class":211,"line":660},22,[662],{"type":48,"tag":209,"props":663,"children":664},{"emptyLinePlaceholder":43},[665],{"type":62,"value":275},{"type":48,"tag":209,"props":667,"children":669},{"class":211,"line":668},23,[670],{"type":48,"tag":209,"props":671,"children":672},{"style":216},[673],{"type":62,"value":674},"# Check for companion backend\n",{"type":48,"tag":209,"props":676,"children":678},{"class":211,"line":677},24,[679,683,688,693,698,702],{"type":48,"tag":209,"props":680,"children":681},{"style":226},[682],{"type":62,"value":293},{"type":48,"tag":209,"props":684,"children":685},{"style":232},[686],{"type":62,"value":687}," ..\u002Fbackend",{"type":48,"tag":209,"props":689,"children":690},{"style":232},[691],{"type":62,"value":692}," ..\u002Fserver",{"type":48,"tag":209,"props":694,"children":695},{"style":232},[696],{"type":62,"value":697}," ..\u002Fapi",{"type":48,"tag":209,"props":699,"children":700},{"style":238},[701],{"type":62,"value":318},{"type":48,"tag":209,"props":703,"children":704},{"style":232},[705],{"type":62,"value":323},{"type":48,"tag":209,"props":707,"children":709},{"class":211,"line":708},25,[710,714,719,724,729,733,737,741,746],{"type":48,"tag":209,"props":711,"children":712},{"style":226},[713],{"type":62,"value":229},{"type":48,"tag":209,"props":715,"children":716},{"style":232},[717],{"type":62,"value":718}," ..\u002Fgo.mod",{"type":48,"tag":209,"props":720,"children":721},{"style":232},[722],{"type":62,"value":723}," ..\u002Frequirements.txt",{"type":48,"tag":209,"props":725,"children":726},{"style":232},[727],{"type":62,"value":728}," ..\u002FGemfile",{"type":48,"tag":209,"props":730,"children":731},{"style":238},[732],{"type":62,"value":318},{"type":48,"tag":209,"props":734,"children":735},{"style":232},[736],{"type":62,"value":531},{"type":48,"tag":209,"props":738,"children":739},{"style":238},[740],{"type":62,"value":241},{"type":48,"tag":209,"props":742,"children":743},{"style":226},[744],{"type":62,"value":745}," head",{"type":48,"tag":209,"props":747,"children":748},{"style":232},[749],{"type":62,"value":750}," -3\n",{"type":48,"tag":53,"props":752,"children":753},{},[754],{"type":48,"tag":158,"props":755,"children":756},{},[757],{"type":62,"value":758},"What to determine:",{"type":48,"tag":760,"props":761,"children":762},"table",{},[763,782],{"type":48,"tag":764,"props":765,"children":766},"thead",{},[767],{"type":48,"tag":768,"props":769,"children":770},"tr",{},[771,777],{"type":48,"tag":772,"props":773,"children":774},"th",{},[775],{"type":62,"value":776},"Question",{"type":48,"tag":772,"props":778,"children":779},{},[780],{"type":62,"value":781},"Impact",{"type":48,"tag":783,"props":784,"children":785},"tbody",{},[786,800,827,845,865,886,899],{"type":48,"tag":768,"props":787,"children":788},{},[789,795],{"type":48,"tag":790,"props":791,"children":792},"td",{},[793],{"type":62,"value":794},"Next.js version?",{"type":48,"tag":790,"props":796,"children":797},{},[798],{"type":62,"value":799},"13+ required; 15+ needed for Turbopack support",{"type":48,"tag":768,"props":801,"children":802},{},[803,808],{"type":48,"tag":790,"props":804,"children":805},{},[806],{"type":62,"value":807},"App Router or Pages Router?",{"type":48,"tag":790,"props":809,"children":810},{},[811,813,818,820,825],{"type":62,"value":812},"Determines error boundary files needed (",{"type":48,"tag":108,"props":814,"children":816},{"className":815},[],[817],{"type":62,"value":145},{"type":62,"value":819}," vs ",{"type":48,"tag":108,"props":821,"children":823},{"className":822},[],[824],{"type":62,"value":518},{"type":62,"value":826},")",{"type":48,"tag":768,"props":828,"children":829},{},[830,840],{"type":48,"tag":790,"props":831,"children":832},{},[833,838],{"type":48,"tag":108,"props":834,"children":836},{"className":835},[],[837],{"type":62,"value":113},{"type":62,"value":839}," already present?",{"type":48,"tag":790,"props":841,"children":842},{},[843],{"type":62,"value":844},"Skip install, go to feature config",{"type":48,"tag":768,"props":846,"children":847},{},[848,860],{"type":48,"tag":790,"props":849,"children":850},{},[851,853,858],{"type":62,"value":852},"Existing ",{"type":48,"tag":108,"props":854,"children":856},{"className":855},[],[857],{"type":62,"value":129},{"type":62,"value":859},"?",{"type":48,"tag":790,"props":861,"children":862},{},[863],{"type":62,"value":864},"Merge Sentry into it rather than replace",{"type":48,"tag":768,"props":866,"children":867},{},[868,873],{"type":48,"tag":790,"props":869,"children":870},{},[871],{"type":62,"value":872},"Turbopack in use?",{"type":48,"tag":790,"props":874,"children":875},{},[876,878,884],{"type":62,"value":877},"Tree-shaking in ",{"type":48,"tag":108,"props":879,"children":881},{"className":880},[],[882],{"type":62,"value":883},"withSentryConfig",{"type":62,"value":885}," is webpack-only",{"type":48,"tag":768,"props":887,"children":888},{},[889,894],{"type":48,"tag":790,"props":890,"children":891},{},[892],{"type":62,"value":893},"Logging library detected?",{"type":48,"tag":790,"props":895,"children":896},{},[897],{"type":62,"value":898},"Recommend Sentry Logs integration",{"type":48,"tag":768,"props":900,"children":901},{},[902,907],{"type":48,"tag":790,"props":903,"children":904},{},[905],{"type":62,"value":906},"Backend directory found?",{"type":48,"tag":790,"props":908,"children":909},{},[910],{"type":62,"value":911},"Trigger Phase 4 cross-link suggestion",{"type":48,"tag":183,"props":913,"children":914},{},[],{"type":48,"tag":86,"props":916,"children":918},{"id":917},"phase-2-recommend",[919],{"type":62,"value":920},"Phase 2: Recommend",{"type":48,"tag":53,"props":922,"children":923},{},[924],{"type":62,"value":925},"Present a concrete recommendation based on what you found. Don't ask open-ended questions — lead with a proposal:",{"type":48,"tag":53,"props":927,"children":928},{},[929],{"type":48,"tag":158,"props":930,"children":931},{},[932],{"type":62,"value":933},"Recommended (core coverage):",{"type":48,"tag":93,"props":935,"children":936},{},[937,949,960],{"type":48,"tag":97,"props":938,"children":939},{},[940,942,947],{"type":62,"value":941},"✅ ",{"type":48,"tag":158,"props":943,"children":944},{},[945],{"type":62,"value":946},"Error Monitoring",{"type":62,"value":948}," — always; captures server errors, client errors, server actions, and unhandled promise rejections",{"type":48,"tag":97,"props":950,"children":951},{},[952,953,958],{"type":62,"value":941},{"type":48,"tag":158,"props":954,"children":955},{},[956],{"type":62,"value":957},"Tracing",{"type":62,"value":959}," — server-side request tracing + client-side navigation spans across all runtimes",{"type":48,"tag":97,"props":961,"children":962},{},[963,964,969],{"type":62,"value":941},{"type":48,"tag":158,"props":965,"children":966},{},[967],{"type":62,"value":968},"Session Replay",{"type":62,"value":970}," — recommended for user-facing apps; records sessions around errors",{"type":48,"tag":53,"props":972,"children":973},{},[974],{"type":48,"tag":158,"props":975,"children":976},{},[977],{"type":62,"value":978},"Optional (enhanced observability):",{"type":48,"tag":93,"props":980,"children":981},{},[982,1018,1037,1048,1059],{"type":48,"tag":97,"props":983,"children":984},{},[985,987,992,994,1000,1002,1008,1010,1016],{"type":62,"value":986},"⚡ ",{"type":48,"tag":158,"props":988,"children":989},{},[990],{"type":62,"value":991},"Logging",{"type":62,"value":993}," — structured logs via ",{"type":48,"tag":108,"props":995,"children":997},{"className":996},[],[998],{"type":62,"value":999},"Sentry.logger.*",{"type":62,"value":1001},"; recommend when ",{"type":48,"tag":108,"props":1003,"children":1005},{"className":1004},[],[1006],{"type":62,"value":1007},"pino",{"type":62,"value":1009},"\u002F",{"type":48,"tag":108,"props":1011,"children":1013},{"className":1012},[],[1014],{"type":62,"value":1015},"winston",{"type":62,"value":1017}," or log search is needed",{"type":48,"tag":97,"props":1019,"children":1020},{},[1021,1022,1027,1029,1035],{"type":62,"value":986},{"type":48,"tag":158,"props":1023,"children":1024},{},[1025],{"type":62,"value":1026},"Profiling",{"type":62,"value":1028}," — continuous profiling; requires ",{"type":48,"tag":108,"props":1030,"children":1032},{"className":1031},[],[1033],{"type":62,"value":1034},"Document-Policy: js-profiling",{"type":62,"value":1036}," header",{"type":48,"tag":97,"props":1038,"children":1039},{},[1040,1041,1046],{"type":62,"value":986},{"type":48,"tag":158,"props":1042,"children":1043},{},[1044],{"type":62,"value":1045},"AI Monitoring",{"type":62,"value":1047}," — OpenAI, Vercel AI SDK, Anthropic; recommend when AI\u002FLLM calls detected",{"type":48,"tag":97,"props":1049,"children":1050},{},[1051,1052,1057],{"type":62,"value":986},{"type":48,"tag":158,"props":1053,"children":1054},{},[1055],{"type":62,"value":1056},"Crons",{"type":62,"value":1058}," — detect missed\u002Ffailed scheduled jobs; recommend when cron patterns detected",{"type":48,"tag":97,"props":1060,"children":1061},{},[1062,1063,1068,1070,1076],{"type":62,"value":986},{"type":48,"tag":158,"props":1064,"children":1065},{},[1066],{"type":62,"value":1067},"Metrics",{"type":62,"value":1069}," — custom metrics via ",{"type":48,"tag":108,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":62,"value":1075},"Sentry.metrics.*",{"type":62,"value":1077},"; recommend when custom KPIs or business metrics needed",{"type":48,"tag":53,"props":1079,"children":1080},{},[1081],{"type":48,"tag":158,"props":1082,"children":1083},{},[1084],{"type":62,"value":1085},"Recommendation logic:",{"type":48,"tag":760,"props":1087,"children":1088},{},[1089,1105],{"type":48,"tag":764,"props":1090,"children":1091},{},[1092],{"type":48,"tag":768,"props":1093,"children":1094},{},[1095,1100],{"type":48,"tag":772,"props":1096,"children":1097},{},[1098],{"type":62,"value":1099},"Feature",{"type":48,"tag":772,"props":1101,"children":1102},{},[1103],{"type":62,"value":1104},"Recommend when...",{"type":48,"tag":783,"props":1106,"children":1107},{},[1108,1125,1142,1154,1166,1183,1195,1215],{"type":48,"tag":768,"props":1109,"children":1110},{},[1111,1115],{"type":48,"tag":790,"props":1112,"children":1113},{},[1114],{"type":62,"value":946},{"type":48,"tag":790,"props":1116,"children":1117},{},[1118,1123],{"type":48,"tag":158,"props":1119,"children":1120},{},[1121],{"type":62,"value":1122},"Always",{"type":62,"value":1124}," — non-negotiable baseline",{"type":48,"tag":768,"props":1126,"children":1127},{},[1128,1132],{"type":48,"tag":790,"props":1129,"children":1130},{},[1131],{"type":62,"value":957},{"type":48,"tag":790,"props":1133,"children":1134},{},[1135,1140],{"type":48,"tag":158,"props":1136,"children":1137},{},[1138],{"type":62,"value":1139},"Always for Next.js",{"type":62,"value":1141}," — server route tracing + client navigation are high-value",{"type":48,"tag":768,"props":1143,"children":1144},{},[1145,1149],{"type":48,"tag":790,"props":1146,"children":1147},{},[1148],{"type":62,"value":968},{"type":48,"tag":790,"props":1150,"children":1151},{},[1152],{"type":62,"value":1153},"User-facing app, login flows, or checkout pages",{"type":48,"tag":768,"props":1155,"children":1156},{},[1157,1161],{"type":48,"tag":790,"props":1158,"children":1159},{},[1160],{"type":62,"value":991},{"type":48,"tag":790,"props":1162,"children":1163},{},[1164],{"type":62,"value":1165},"App uses structured logging or needs log-to-trace correlation",{"type":48,"tag":768,"props":1167,"children":1168},{},[1169,1173],{"type":48,"tag":790,"props":1170,"children":1171},{},[1172],{"type":62,"value":1026},{"type":48,"tag":790,"props":1174,"children":1175},{},[1176,1178],{"type":62,"value":1177},"Performance-critical app; client sets ",{"type":48,"tag":108,"props":1179,"children":1181},{"className":1180},[],[1182],{"type":62,"value":1034},{"type":48,"tag":768,"props":1184,"children":1185},{},[1186,1190],{"type":48,"tag":790,"props":1187,"children":1188},{},[1189],{"type":62,"value":1045},{"type":48,"tag":790,"props":1191,"children":1192},{},[1193],{"type":62,"value":1194},"App makes OpenAI, Vercel AI SDK, or Anthropic calls",{"type":48,"tag":768,"props":1196,"children":1197},{},[1198,1202],{"type":48,"tag":790,"props":1199,"children":1200},{},[1201],{"type":62,"value":1056},{"type":48,"tag":790,"props":1203,"children":1204},{},[1205,1207,1213],{"type":62,"value":1206},"App has Vercel Cron jobs, scheduled API routes, or ",{"type":48,"tag":108,"props":1208,"children":1210},{"className":1209},[],[1211],{"type":62,"value":1212},"node-cron",{"type":62,"value":1214}," usage",{"type":48,"tag":768,"props":1216,"children":1217},{},[1218,1222],{"type":48,"tag":790,"props":1219,"children":1220},{},[1221],{"type":62,"value":1067},{"type":48,"tag":790,"props":1223,"children":1224},{},[1225,1227],{"type":62,"value":1226},"App needs custom counters, gauges, or histograms via ",{"type":48,"tag":108,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":62,"value":1075},{"type":48,"tag":53,"props":1233,"children":1234},{},[1235,1237],{"type":62,"value":1236},"Propose: ",{"type":48,"tag":1238,"props":1239,"children":1240},"em",{},[1241],{"type":62,"value":1242},"\"I recommend setting up Error Monitoring + Tracing + Session Replay. Want me to also add Logging or Profiling?\"",{"type":48,"tag":183,"props":1244,"children":1245},{},[],{"type":48,"tag":86,"props":1247,"children":1249},{"id":1248},"phase-3-guide",[1250],{"type":62,"value":1251},"Phase 3: Guide",{"type":48,"tag":1253,"props":1254,"children":1256},"h3",{"id":1255},"option-1-wizard-recommended",[1257],{"type":62,"value":1258},"Option 1: Wizard (Recommended)",{"type":48,"tag":49,"props":1260,"children":1261},{},[1262,1272,1282,1331],{"type":48,"tag":53,"props":1263,"children":1264},{},[1265,1270],{"type":48,"tag":158,"props":1266,"children":1267},{},[1268],{"type":62,"value":1269},"You need to run this yourself",{"type":62,"value":1271}," — the wizard opens a browser for login and requires interactive input that the agent can't handle. Copy-paste into your terminal:",{"type":48,"tag":198,"props":1273,"children":1277},{"className":1274,"code":1276,"language":62},[1275],"language-text","npx @sentry\u002Fwizard@latest -i nextjs\n",[1278],{"type":48,"tag":108,"props":1279,"children":1280},{"__ignoreMap":203},[1281],{"type":62,"value":1276},{"type":48,"tag":53,"props":1283,"children":1284},{},[1285,1287,1293,1294,1300,1301,1307,1308,1313,1315,1321,1323,1329],{"type":62,"value":1286},"It handles login, org\u002Fproject selection, SDK installation, config files (",{"type":48,"tag":108,"props":1288,"children":1290},{"className":1289},[],[1291],{"type":62,"value":1292},"instrumentation-client.ts",{"type":62,"value":131},{"type":48,"tag":108,"props":1295,"children":1297},{"className":1296},[],[1298],{"type":62,"value":1299},"sentry.server.config.ts",{"type":62,"value":131},{"type":48,"tag":108,"props":1302,"children":1304},{"className":1303},[],[1305],{"type":62,"value":1306},"sentry.edge.config.ts",{"type":62,"value":131},{"type":48,"tag":108,"props":1309,"children":1311},{"className":1310},[],[1312],{"type":62,"value":129},{"type":62,"value":1314},"), ",{"type":48,"tag":108,"props":1316,"children":1318},{"className":1317},[],[1319],{"type":62,"value":1320},"next.config.ts",{"type":62,"value":1322}," wrapping, source map upload, and adds a ",{"type":48,"tag":108,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":62,"value":1328},"\u002Fsentry-example-page",{"type":62,"value":1330},".",{"type":48,"tag":53,"props":1332,"children":1333},{},[1334],{"type":48,"tag":158,"props":1335,"children":1336},{},[1337,1339,1345],{"type":62,"value":1338},"Once it finishes, come back and skip to ",{"type":48,"tag":57,"props":1340,"children":1342},{"href":1341},"#verification",[1343],{"type":62,"value":1344},"Verification",{"type":62,"value":1330},{"type":48,"tag":53,"props":1347,"children":1348},{},[1349],{"type":62,"value":1350},"If the user skips the wizard, proceed with Option 2 (Manual Setup) below.",{"type":48,"tag":183,"props":1352,"children":1353},{},[],{"type":48,"tag":1253,"props":1355,"children":1357},{"id":1356},"option-2-manual-setup",[1358],{"type":62,"value":1359},"Option 2: Manual Setup",{"type":48,"tag":1361,"props":1362,"children":1364},"h4",{"id":1363},"install",[1365],{"type":62,"value":1366},"Install",{"type":48,"tag":198,"props":1368,"children":1370},{"className":200,"code":1369,"language":202,"meta":203,"style":203},"npm install @sentry\u002Fnextjs --save\n",[1371],{"type":48,"tag":108,"props":1372,"children":1373},{"__ignoreMap":203},[1374],{"type":48,"tag":209,"props":1375,"children":1376},{"class":211,"line":212},[1377,1382,1387,1392],{"type":48,"tag":209,"props":1378,"children":1379},{"style":226},[1380],{"type":62,"value":1381},"npm",{"type":48,"tag":209,"props":1383,"children":1384},{"style":232},[1385],{"type":62,"value":1386}," install",{"type":48,"tag":209,"props":1388,"children":1389},{"style":232},[1390],{"type":62,"value":1391}," @sentry\u002Fnextjs",{"type":48,"tag":209,"props":1393,"children":1394},{"style":232},[1395],{"type":62,"value":1396}," --save\n",{"type":48,"tag":1361,"props":1398,"children":1400},{"id":1399},"create-instrumentation-clientts-browser-client-runtime",[1401,1403,1408],{"type":62,"value":1402},"Create ",{"type":48,"tag":108,"props":1404,"children":1406},{"className":1405},[],[1407],{"type":62,"value":1292},{"type":62,"value":1409}," — Browser \u002F Client Runtime",{"type":48,"tag":49,"props":1411,"children":1412},{},[1413],{"type":48,"tag":53,"props":1414,"children":1415},{},[1416,1418,1424,1426,1431],{"type":62,"value":1417},"Older docs used ",{"type":48,"tag":108,"props":1419,"children":1421},{"className":1420},[],[1422],{"type":62,"value":1423},"sentry.client.config.ts",{"type":62,"value":1425}," — the current pattern is ",{"type":48,"tag":108,"props":1427,"children":1429},{"className":1428},[],[1430],{"type":62,"value":1292},{"type":62,"value":1330},{"type":48,"tag":198,"props":1433,"children":1437},{"className":1434,"code":1435,"language":1436,"meta":203,"style":203},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import * as Sentry from \"@sentry\u002Fnextjs\";\n\nSentry.init({\n  dsn: process.env.NEXT_PUBLIC_SENTRY_DSN ?? \"___PUBLIC_DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n\n  \u002F\u002F 100% in dev, 10% in production\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n\n  \u002F\u002F Session Replay: 10% of all sessions, 100% of sessions with errors\n  replaysSessionSampleRate: 0.1,\n  replaysOnErrorSampleRate: 1.0,\n\n  enableLogs: true,\n\n  integrations: [\n    Sentry.replayIntegration(),\n    \u002F\u002F Optional: user feedback widget\n    \u002F\u002F Sentry.feedbackIntegration({ colorScheme: \"system\" }),\n  ],\n});\n\n\u002F\u002F Hook into App Router navigation transitions (App Router only)\nexport const onRouterTransitionStart = Sentry.captureRouterTransitionStart;\n","typescript",[1438],{"type":48,"tag":108,"props":1439,"children":1440},{"__ignoreMap":203},[1441,1488,1495,1522,1582,1589,1606,1614,1622,1630,1638,1646,1653,1661,1737,1744,1752,1772,1792,1799,1821,1828,1845,1871,1879,1887,1900,1917,1925,1934],{"type":48,"tag":209,"props":1442,"children":1443},{"class":211,"line":212},[1444,1450,1455,1460,1466,1471,1475,1479,1483],{"type":48,"tag":209,"props":1445,"children":1447},{"style":1446},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1448],{"type":62,"value":1449},"import",{"type":48,"tag":209,"props":1451,"children":1452},{"style":238},[1453],{"type":62,"value":1454}," *",{"type":48,"tag":209,"props":1456,"children":1457},{"style":1446},[1458],{"type":62,"value":1459}," as",{"type":48,"tag":209,"props":1461,"children":1463},{"style":1462},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1464],{"type":62,"value":1465}," Sentry ",{"type":48,"tag":209,"props":1467,"children":1468},{"style":1446},[1469],{"type":62,"value":1470},"from",{"type":48,"tag":209,"props":1472,"children":1473},{"style":238},[1474],{"type":62,"value":491},{"type":48,"tag":209,"props":1476,"children":1477},{"style":232},[1478],{"type":62,"value":113},{"type":48,"tag":209,"props":1480,"children":1481},{"style":238},[1482],{"type":62,"value":500},{"type":48,"tag":209,"props":1484,"children":1485},{"style":238},[1486],{"type":62,"value":1487},";\n",{"type":48,"tag":209,"props":1489,"children":1490},{"class":211,"line":222},[1491],{"type":48,"tag":209,"props":1492,"children":1493},{"emptyLinePlaceholder":43},[1494],{"type":62,"value":275},{"type":48,"tag":209,"props":1496,"children":1497},{"class":211,"line":269},[1498,1502,1506,1512,1517],{"type":48,"tag":209,"props":1499,"children":1500},{"style":1462},[1501],{"type":62,"value":9},{"type":48,"tag":209,"props":1503,"children":1504},{"style":238},[1505],{"type":62,"value":1330},{"type":48,"tag":209,"props":1507,"children":1509},{"style":1508},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1510],{"type":62,"value":1511},"init",{"type":48,"tag":209,"props":1513,"children":1514},{"style":1462},[1515],{"type":62,"value":1516},"(",{"type":48,"tag":209,"props":1518,"children":1519},{"style":238},[1520],{"type":62,"value":1521},"{\n",{"type":48,"tag":209,"props":1523,"children":1524},{"class":211,"line":278},[1525,1531,1536,1541,1545,1550,1554,1559,1564,1568,1573,1577],{"type":48,"tag":209,"props":1526,"children":1528},{"style":1527},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1529],{"type":62,"value":1530},"  dsn",{"type":48,"tag":209,"props":1532,"children":1533},{"style":238},[1534],{"type":62,"value":1535},":",{"type":48,"tag":209,"props":1537,"children":1538},{"style":1462},[1539],{"type":62,"value":1540}," process",{"type":48,"tag":209,"props":1542,"children":1543},{"style":238},[1544],{"type":62,"value":1330},{"type":48,"tag":209,"props":1546,"children":1547},{"style":1462},[1548],{"type":62,"value":1549},"env",{"type":48,"tag":209,"props":1551,"children":1552},{"style":238},[1553],{"type":62,"value":1330},{"type":48,"tag":209,"props":1555,"children":1556},{"style":1462},[1557],{"type":62,"value":1558},"NEXT_PUBLIC_SENTRY_DSN ",{"type":48,"tag":209,"props":1560,"children":1561},{"style":238},[1562],{"type":62,"value":1563},"??",{"type":48,"tag":209,"props":1565,"children":1566},{"style":238},[1567],{"type":62,"value":491},{"type":48,"tag":209,"props":1569,"children":1570},{"style":232},[1571],{"type":62,"value":1572},"___PUBLIC_DSN___",{"type":48,"tag":209,"props":1574,"children":1575},{"style":238},[1576],{"type":62,"value":500},{"type":48,"tag":209,"props":1578,"children":1579},{"style":238},[1580],{"type":62,"value":1581},",\n",{"type":48,"tag":209,"props":1583,"children":1584},{"class":211,"line":287},[1585],{"type":48,"tag":209,"props":1586,"children":1587},{"emptyLinePlaceholder":43},[1588],{"type":62,"value":275},{"type":48,"tag":209,"props":1590,"children":1591},{"class":211,"line":326},[1592,1597,1601],{"type":48,"tag":209,"props":1593,"children":1594},{"style":1527},[1595],{"type":62,"value":1596},"  dataCollection",{"type":48,"tag":209,"props":1598,"children":1599},{"style":238},[1600],{"type":62,"value":1535},{"type":48,"tag":209,"props":1602,"children":1603},{"style":238},[1604],{"type":62,"value":1605}," {\n",{"type":48,"tag":209,"props":1607,"children":1608},{"class":211,"line":334},[1609],{"type":48,"tag":209,"props":1610,"children":1611},{"style":216},[1612],{"type":62,"value":1613},"    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n",{"type":48,"tag":209,"props":1615,"children":1616},{"class":211,"line":343},[1617],{"type":48,"tag":209,"props":1618,"children":1619},{"style":216},[1620],{"type":62,"value":1621},"    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002Fconfiguration\u002Foptions\u002F#dataCollection\n",{"type":48,"tag":209,"props":1623,"children":1624},{"class":211,"line":379},[1625],{"type":48,"tag":209,"props":1626,"children":1627},{"style":216},[1628],{"type":62,"value":1629},"    \u002F\u002F userInfo: false,\n",{"type":48,"tag":209,"props":1631,"children":1632},{"class":211,"line":405},[1633],{"type":48,"tag":209,"props":1634,"children":1635},{"style":216},[1636],{"type":62,"value":1637},"    \u002F\u002F httpBodies: [],\n",{"type":48,"tag":209,"props":1639,"children":1640},{"class":211,"line":413},[1641],{"type":48,"tag":209,"props":1642,"children":1643},{"style":238},[1644],{"type":62,"value":1645},"  },\n",{"type":48,"tag":209,"props":1647,"children":1648},{"class":211,"line":422},[1649],{"type":48,"tag":209,"props":1650,"children":1651},{"emptyLinePlaceholder":43},[1652],{"type":62,"value":275},{"type":48,"tag":209,"props":1654,"children":1655},{"class":211,"line":453},[1656],{"type":48,"tag":209,"props":1657,"children":1658},{"style":216},[1659],{"type":62,"value":1660},"  \u002F\u002F 100% in dev, 10% in production\n",{"type":48,"tag":209,"props":1662,"children":1663},{"class":211,"line":461},[1664,1669,1673,1677,1681,1685,1689,1694,1699,1703,1708,1712,1717,1723,1728,1733],{"type":48,"tag":209,"props":1665,"children":1666},{"style":1527},[1667],{"type":62,"value":1668},"  tracesSampleRate",{"type":48,"tag":209,"props":1670,"children":1671},{"style":238},[1672],{"type":62,"value":1535},{"type":48,"tag":209,"props":1674,"children":1675},{"style":1462},[1676],{"type":62,"value":1540},{"type":48,"tag":209,"props":1678,"children":1679},{"style":238},[1680],{"type":62,"value":1330},{"type":48,"tag":209,"props":1682,"children":1683},{"style":1462},[1684],{"type":62,"value":1549},{"type":48,"tag":209,"props":1686,"children":1687},{"style":238},[1688],{"type":62,"value":1330},{"type":48,"tag":209,"props":1690,"children":1691},{"style":1462},[1692],{"type":62,"value":1693},"NODE_ENV ",{"type":48,"tag":209,"props":1695,"children":1696},{"style":238},[1697],{"type":62,"value":1698},"===",{"type":48,"tag":209,"props":1700,"children":1701},{"style":238},[1702],{"type":62,"value":491},{"type":48,"tag":209,"props":1704,"children":1705},{"style":232},[1706],{"type":62,"value":1707},"development",{"type":48,"tag":209,"props":1709,"children":1710},{"style":238},[1711],{"type":62,"value":500},{"type":48,"tag":209,"props":1713,"children":1714},{"style":238},[1715],{"type":62,"value":1716}," ?",{"type":48,"tag":209,"props":1718,"children":1720},{"style":1719},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1721],{"type":62,"value":1722}," 1.0",{"type":48,"tag":209,"props":1724,"children":1725},{"style":238},[1726],{"type":62,"value":1727}," :",{"type":48,"tag":209,"props":1729,"children":1730},{"style":1719},[1731],{"type":62,"value":1732}," 0.1",{"type":48,"tag":209,"props":1734,"children":1735},{"style":238},[1736],{"type":62,"value":1581},{"type":48,"tag":209,"props":1738,"children":1739},{"class":211,"line":470},[1740],{"type":48,"tag":209,"props":1741,"children":1742},{"emptyLinePlaceholder":43},[1743],{"type":62,"value":275},{"type":48,"tag":209,"props":1745,"children":1746},{"class":211,"line":552},[1747],{"type":48,"tag":209,"props":1748,"children":1749},{"style":216},[1750],{"type":62,"value":1751},"  \u002F\u002F Session Replay: 10% of all sessions, 100% of sessions with errors\n",{"type":48,"tag":209,"props":1753,"children":1754},{"class":211,"line":560},[1755,1760,1764,1768],{"type":48,"tag":209,"props":1756,"children":1757},{"style":1527},[1758],{"type":62,"value":1759},"  replaysSessionSampleRate",{"type":48,"tag":209,"props":1761,"children":1762},{"style":238},[1763],{"type":62,"value":1535},{"type":48,"tag":209,"props":1765,"children":1766},{"style":1719},[1767],{"type":62,"value":1732},{"type":48,"tag":209,"props":1769,"children":1770},{"style":238},[1771],{"type":62,"value":1581},{"type":48,"tag":209,"props":1773,"children":1774},{"class":211,"line":569},[1775,1780,1784,1788],{"type":48,"tag":209,"props":1776,"children":1777},{"style":1527},[1778],{"type":62,"value":1779},"  replaysOnErrorSampleRate",{"type":48,"tag":209,"props":1781,"children":1782},{"style":238},[1783],{"type":62,"value":1535},{"type":48,"tag":209,"props":1785,"children":1786},{"style":1719},[1787],{"type":62,"value":1722},{"type":48,"tag":209,"props":1789,"children":1790},{"style":238},[1791],{"type":62,"value":1581},{"type":48,"tag":209,"props":1793,"children":1794},{"class":211,"line":606},[1795],{"type":48,"tag":209,"props":1796,"children":1797},{"emptyLinePlaceholder":43},[1798],{"type":62,"value":275},{"type":48,"tag":209,"props":1800,"children":1801},{"class":211,"line":614},[1802,1807,1811,1817],{"type":48,"tag":209,"props":1803,"children":1804},{"style":1527},[1805],{"type":62,"value":1806},"  enableLogs",{"type":48,"tag":209,"props":1808,"children":1809},{"style":238},[1810],{"type":62,"value":1535},{"type":48,"tag":209,"props":1812,"children":1814},{"style":1813},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1815],{"type":62,"value":1816}," true",{"type":48,"tag":209,"props":1818,"children":1819},{"style":238},[1820],{"type":62,"value":1581},{"type":48,"tag":209,"props":1822,"children":1823},{"class":211,"line":623},[1824],{"type":48,"tag":209,"props":1825,"children":1826},{"emptyLinePlaceholder":43},[1827],{"type":62,"value":275},{"type":48,"tag":209,"props":1829,"children":1830},{"class":211,"line":660},[1831,1836,1840],{"type":48,"tag":209,"props":1832,"children":1833},{"style":1527},[1834],{"type":62,"value":1835},"  integrations",{"type":48,"tag":209,"props":1837,"children":1838},{"style":238},[1839],{"type":62,"value":1535},{"type":48,"tag":209,"props":1841,"children":1842},{"style":1462},[1843],{"type":62,"value":1844}," [\n",{"type":48,"tag":209,"props":1846,"children":1847},{"class":211,"line":668},[1848,1853,1857,1862,1867],{"type":48,"tag":209,"props":1849,"children":1850},{"style":1462},[1851],{"type":62,"value":1852},"    Sentry",{"type":48,"tag":209,"props":1854,"children":1855},{"style":238},[1856],{"type":62,"value":1330},{"type":48,"tag":209,"props":1858,"children":1859},{"style":1508},[1860],{"type":62,"value":1861},"replayIntegration",{"type":48,"tag":209,"props":1863,"children":1864},{"style":1462},[1865],{"type":62,"value":1866},"()",{"type":48,"tag":209,"props":1868,"children":1869},{"style":238},[1870],{"type":62,"value":1581},{"type":48,"tag":209,"props":1872,"children":1873},{"class":211,"line":677},[1874],{"type":48,"tag":209,"props":1875,"children":1876},{"style":216},[1877],{"type":62,"value":1878},"    \u002F\u002F Optional: user feedback widget\n",{"type":48,"tag":209,"props":1880,"children":1881},{"class":211,"line":708},[1882],{"type":48,"tag":209,"props":1883,"children":1884},{"style":216},[1885],{"type":62,"value":1886},"    \u002F\u002F Sentry.feedbackIntegration({ colorScheme: \"system\" }),\n",{"type":48,"tag":209,"props":1888,"children":1890},{"class":211,"line":1889},26,[1891,1896],{"type":48,"tag":209,"props":1892,"children":1893},{"style":1462},[1894],{"type":62,"value":1895},"  ]",{"type":48,"tag":209,"props":1897,"children":1898},{"style":238},[1899],{"type":62,"value":1581},{"type":48,"tag":209,"props":1901,"children":1903},{"class":211,"line":1902},27,[1904,1909,1913],{"type":48,"tag":209,"props":1905,"children":1906},{"style":238},[1907],{"type":62,"value":1908},"}",{"type":48,"tag":209,"props":1910,"children":1911},{"style":1462},[1912],{"type":62,"value":826},{"type":48,"tag":209,"props":1914,"children":1915},{"style":238},[1916],{"type":62,"value":1487},{"type":48,"tag":209,"props":1918,"children":1920},{"class":211,"line":1919},28,[1921],{"type":48,"tag":209,"props":1922,"children":1923},{"emptyLinePlaceholder":43},[1924],{"type":62,"value":275},{"type":48,"tag":209,"props":1926,"children":1928},{"class":211,"line":1927},29,[1929],{"type":48,"tag":209,"props":1930,"children":1931},{"style":216},[1932],{"type":62,"value":1933},"\u002F\u002F Hook into App Router navigation transitions (App Router only)\n",{"type":48,"tag":209,"props":1935,"children":1936},{"class":211,"line":31},[1937,1942,1948,1953,1958,1963,1967,1972],{"type":48,"tag":209,"props":1938,"children":1939},{"style":1446},[1940],{"type":62,"value":1941},"export",{"type":48,"tag":209,"props":1943,"children":1945},{"style":1944},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1946],{"type":62,"value":1947}," const",{"type":48,"tag":209,"props":1949,"children":1950},{"style":1462},[1951],{"type":62,"value":1952}," onRouterTransitionStart ",{"type":48,"tag":209,"props":1954,"children":1955},{"style":238},[1956],{"type":62,"value":1957},"=",{"type":48,"tag":209,"props":1959,"children":1960},{"style":1462},[1961],{"type":62,"value":1962}," Sentry",{"type":48,"tag":209,"props":1964,"children":1965},{"style":238},[1966],{"type":62,"value":1330},{"type":48,"tag":209,"props":1968,"children":1969},{"style":1462},[1970],{"type":62,"value":1971},"captureRouterTransitionStart",{"type":48,"tag":209,"props":1973,"children":1974},{"style":238},[1975],{"type":62,"value":1487},{"type":48,"tag":1361,"props":1977,"children":1979},{"id":1978},"create-sentryserverconfigts-nodejs-server-runtime",[1980,1981,1986],{"type":62,"value":1402},{"type":48,"tag":108,"props":1982,"children":1984},{"className":1983},[],[1985],{"type":62,"value":1299},{"type":62,"value":1987}," — Node.js Server Runtime",{"type":48,"tag":198,"props":1989,"children":1991},{"className":1434,"code":1990,"language":1436,"meta":203,"style":203},"import * as Sentry from \"@sentry\u002Fnextjs\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n\n  \u002F\u002F Attach local variable values to stack frames\n  includeLocalVariables: true,\n\n  enableLogs: true,\n});\n",[1992],{"type":48,"tag":108,"props":1993,"children":1994},{"__ignoreMap":203},[1995,2034,2041,2064,2117,2124,2139,2146,2153,2160,2167,2174,2241,2248,2256,2276,2283,2302],{"type":48,"tag":209,"props":1996,"children":1997},{"class":211,"line":212},[1998,2002,2006,2010,2014,2018,2022,2026,2030],{"type":48,"tag":209,"props":1999,"children":2000},{"style":1446},[2001],{"type":62,"value":1449},{"type":48,"tag":209,"props":2003,"children":2004},{"style":238},[2005],{"type":62,"value":1454},{"type":48,"tag":209,"props":2007,"children":2008},{"style":1446},[2009],{"type":62,"value":1459},{"type":48,"tag":209,"props":2011,"children":2012},{"style":1462},[2013],{"type":62,"value":1465},{"type":48,"tag":209,"props":2015,"children":2016},{"style":1446},[2017],{"type":62,"value":1470},{"type":48,"tag":209,"props":2019,"children":2020},{"style":238},[2021],{"type":62,"value":491},{"type":48,"tag":209,"props":2023,"children":2024},{"style":232},[2025],{"type":62,"value":113},{"type":48,"tag":209,"props":2027,"children":2028},{"style":238},[2029],{"type":62,"value":500},{"type":48,"tag":209,"props":2031,"children":2032},{"style":238},[2033],{"type":62,"value":1487},{"type":48,"tag":209,"props":2035,"children":2036},{"class":211,"line":222},[2037],{"type":48,"tag":209,"props":2038,"children":2039},{"emptyLinePlaceholder":43},[2040],{"type":62,"value":275},{"type":48,"tag":209,"props":2042,"children":2043},{"class":211,"line":269},[2044,2048,2052,2056,2060],{"type":48,"tag":209,"props":2045,"children":2046},{"style":1462},[2047],{"type":62,"value":9},{"type":48,"tag":209,"props":2049,"children":2050},{"style":238},[2051],{"type":62,"value":1330},{"type":48,"tag":209,"props":2053,"children":2054},{"style":1508},[2055],{"type":62,"value":1511},{"type":48,"tag":209,"props":2057,"children":2058},{"style":1462},[2059],{"type":62,"value":1516},{"type":48,"tag":209,"props":2061,"children":2062},{"style":238},[2063],{"type":62,"value":1521},{"type":48,"tag":209,"props":2065,"children":2066},{"class":211,"line":278},[2067,2071,2075,2079,2083,2087,2091,2096,2100,2104,2109,2113],{"type":48,"tag":209,"props":2068,"children":2069},{"style":1527},[2070],{"type":62,"value":1530},{"type":48,"tag":209,"props":2072,"children":2073},{"style":238},[2074],{"type":62,"value":1535},{"type":48,"tag":209,"props":2076,"children":2077},{"style":1462},[2078],{"type":62,"value":1540},{"type":48,"tag":209,"props":2080,"children":2081},{"style":238},[2082],{"type":62,"value":1330},{"type":48,"tag":209,"props":2084,"children":2085},{"style":1462},[2086],{"type":62,"value":1549},{"type":48,"tag":209,"props":2088,"children":2089},{"style":238},[2090],{"type":62,"value":1330},{"type":48,"tag":209,"props":2092,"children":2093},{"style":1462},[2094],{"type":62,"value":2095},"SENTRY_DSN ",{"type":48,"tag":209,"props":2097,"children":2098},{"style":238},[2099],{"type":62,"value":1563},{"type":48,"tag":209,"props":2101,"children":2102},{"style":238},[2103],{"type":62,"value":491},{"type":48,"tag":209,"props":2105,"children":2106},{"style":232},[2107],{"type":62,"value":2108},"___DSN___",{"type":48,"tag":209,"props":2110,"children":2111},{"style":238},[2112],{"type":62,"value":500},{"type":48,"tag":209,"props":2114,"children":2115},{"style":238},[2116],{"type":62,"value":1581},{"type":48,"tag":209,"props":2118,"children":2119},{"class":211,"line":287},[2120],{"type":48,"tag":209,"props":2121,"children":2122},{"emptyLinePlaceholder":43},[2123],{"type":62,"value":275},{"type":48,"tag":209,"props":2125,"children":2126},{"class":211,"line":326},[2127,2131,2135],{"type":48,"tag":209,"props":2128,"children":2129},{"style":1527},[2130],{"type":62,"value":1596},{"type":48,"tag":209,"props":2132,"children":2133},{"style":238},[2134],{"type":62,"value":1535},{"type":48,"tag":209,"props":2136,"children":2137},{"style":238},[2138],{"type":62,"value":1605},{"type":48,"tag":209,"props":2140,"children":2141},{"class":211,"line":334},[2142],{"type":48,"tag":209,"props":2143,"children":2144},{"style":216},[2145],{"type":62,"value":1613},{"type":48,"tag":209,"props":2147,"children":2148},{"class":211,"line":343},[2149],{"type":48,"tag":209,"props":2150,"children":2151},{"style":216},[2152],{"type":62,"value":1621},{"type":48,"tag":209,"props":2154,"children":2155},{"class":211,"line":379},[2156],{"type":48,"tag":209,"props":2157,"children":2158},{"style":216},[2159],{"type":62,"value":1629},{"type":48,"tag":209,"props":2161,"children":2162},{"class":211,"line":405},[2163],{"type":48,"tag":209,"props":2164,"children":2165},{"style":216},[2166],{"type":62,"value":1637},{"type":48,"tag":209,"props":2168,"children":2169},{"class":211,"line":413},[2170],{"type":48,"tag":209,"props":2171,"children":2172},{"style":238},[2173],{"type":62,"value":1645},{"type":48,"tag":209,"props":2175,"children":2176},{"class":211,"line":422},[2177,2181,2185,2189,2193,2197,2201,2205,2209,2213,2217,2221,2225,2229,2233,2237],{"type":48,"tag":209,"props":2178,"children":2179},{"style":1527},[2180],{"type":62,"value":1668},{"type":48,"tag":209,"props":2182,"children":2183},{"style":238},[2184],{"type":62,"value":1535},{"type":48,"tag":209,"props":2186,"children":2187},{"style":1462},[2188],{"type":62,"value":1540},{"type":48,"tag":209,"props":2190,"children":2191},{"style":238},[2192],{"type":62,"value":1330},{"type":48,"tag":209,"props":2194,"children":2195},{"style":1462},[2196],{"type":62,"value":1549},{"type":48,"tag":209,"props":2198,"children":2199},{"style":238},[2200],{"type":62,"value":1330},{"type":48,"tag":209,"props":2202,"children":2203},{"style":1462},[2204],{"type":62,"value":1693},{"type":48,"tag":209,"props":2206,"children":2207},{"style":238},[2208],{"type":62,"value":1698},{"type":48,"tag":209,"props":2210,"children":2211},{"style":238},[2212],{"type":62,"value":491},{"type":48,"tag":209,"props":2214,"children":2215},{"style":232},[2216],{"type":62,"value":1707},{"type":48,"tag":209,"props":2218,"children":2219},{"style":238},[2220],{"type":62,"value":500},{"type":48,"tag":209,"props":2222,"children":2223},{"style":238},[2224],{"type":62,"value":1716},{"type":48,"tag":209,"props":2226,"children":2227},{"style":1719},[2228],{"type":62,"value":1722},{"type":48,"tag":209,"props":2230,"children":2231},{"style":238},[2232],{"type":62,"value":1727},{"type":48,"tag":209,"props":2234,"children":2235},{"style":1719},[2236],{"type":62,"value":1732},{"type":48,"tag":209,"props":2238,"children":2239},{"style":238},[2240],{"type":62,"value":1581},{"type":48,"tag":209,"props":2242,"children":2243},{"class":211,"line":453},[2244],{"type":48,"tag":209,"props":2245,"children":2246},{"emptyLinePlaceholder":43},[2247],{"type":62,"value":275},{"type":48,"tag":209,"props":2249,"children":2250},{"class":211,"line":461},[2251],{"type":48,"tag":209,"props":2252,"children":2253},{"style":216},[2254],{"type":62,"value":2255},"  \u002F\u002F Attach local variable values to stack frames\n",{"type":48,"tag":209,"props":2257,"children":2258},{"class":211,"line":470},[2259,2264,2268,2272],{"type":48,"tag":209,"props":2260,"children":2261},{"style":1527},[2262],{"type":62,"value":2263},"  includeLocalVariables",{"type":48,"tag":209,"props":2265,"children":2266},{"style":238},[2267],{"type":62,"value":1535},{"type":48,"tag":209,"props":2269,"children":2270},{"style":1813},[2271],{"type":62,"value":1816},{"type":48,"tag":209,"props":2273,"children":2274},{"style":238},[2275],{"type":62,"value":1581},{"type":48,"tag":209,"props":2277,"children":2278},{"class":211,"line":552},[2279],{"type":48,"tag":209,"props":2280,"children":2281},{"emptyLinePlaceholder":43},[2282],{"type":62,"value":275},{"type":48,"tag":209,"props":2284,"children":2285},{"class":211,"line":560},[2286,2290,2294,2298],{"type":48,"tag":209,"props":2287,"children":2288},{"style":1527},[2289],{"type":62,"value":1806},{"type":48,"tag":209,"props":2291,"children":2292},{"style":238},[2293],{"type":62,"value":1535},{"type":48,"tag":209,"props":2295,"children":2296},{"style":1813},[2297],{"type":62,"value":1816},{"type":48,"tag":209,"props":2299,"children":2300},{"style":238},[2301],{"type":62,"value":1581},{"type":48,"tag":209,"props":2303,"children":2304},{"class":211,"line":569},[2305,2309,2313],{"type":48,"tag":209,"props":2306,"children":2307},{"style":238},[2308],{"type":62,"value":1908},{"type":48,"tag":209,"props":2310,"children":2311},{"style":1462},[2312],{"type":62,"value":826},{"type":48,"tag":209,"props":2314,"children":2315},{"style":238},[2316],{"type":62,"value":1487},{"type":48,"tag":1361,"props":2318,"children":2320},{"id":2319},"create-sentryedgeconfigts-edge-runtime",[2321,2322,2327],{"type":62,"value":1402},{"type":48,"tag":108,"props":2323,"children":2325},{"className":2324},[],[2326],{"type":62,"value":1306},{"type":62,"value":2328}," — Edge Runtime",{"type":48,"tag":198,"props":2330,"children":2332},{"className":1434,"code":2331,"language":1436,"meta":203,"style":203},"import * as Sentry from \"@sentry\u002Fnextjs\";\n\nSentry.init({\n  dsn: process.env.SENTRY_DSN ?? \"___DSN___\",\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fnextjs\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n  tracesSampleRate: process.env.NODE_ENV === \"development\" ? 1.0 : 0.1,\n\n  enableLogs: true,\n});\n",[2333],{"type":48,"tag":108,"props":2334,"children":2335},{"__ignoreMap":203},[2336,2375,2382,2405,2456,2463,2478,2485,2492,2499,2506,2513,2580,2587,2606],{"type":48,"tag":209,"props":2337,"children":2338},{"class":211,"line":212},[2339,2343,2347,2351,2355,2359,2363,2367,2371],{"type":48,"tag":209,"props":2340,"children":2341},{"style":1446},[2342],{"type":62,"value":1449},{"type":48,"tag":209,"props":2344,"children":2345},{"style":238},[2346],{"type":62,"value":1454},{"type":48,"tag":209,"props":2348,"children":2349},{"style":1446},[2350],{"type":62,"value":1459},{"type":48,"tag":209,"props":2352,"children":2353},{"style":1462},[2354],{"type":62,"value":1465},{"type":48,"tag":209,"props":2356,"children":2357},{"style":1446},[2358],{"type":62,"value":1470},{"type":48,"tag":209,"props":2360,"children":2361},{"style":238},[2362],{"type":62,"value":491},{"type":48,"tag":209,"props":2364,"children":2365},{"style":232},[2366],{"type":62,"value":113},{"type":48,"tag":209,"props":2368,"children":2369},{"style":238},[2370],{"type":62,"value":500},{"type":48,"tag":209,"props":2372,"children":2373},{"style":238},[2374],{"type":62,"value":1487},{"type":48,"tag":209,"props":2376,"children":2377},{"class":211,"line":222},[2378],{"type":48,"tag":209,"props":2379,"children":2380},{"emptyLinePlaceholder":43},[2381],{"type":62,"value":275},{"type":48,"tag":209,"props":2383,"children":2384},{"class":211,"line":269},[2385,2389,2393,2397,2401],{"type":48,"tag":209,"props":2386,"children":2387},{"style":1462},[2388],{"type":62,"value":9},{"type":48,"tag":209,"props":2390,"children":2391},{"style":238},[2392],{"type":62,"value":1330},{"type":48,"tag":209,"props":2394,"children":2395},{"style":1508},[2396],{"type":62,"value":1511},{"type":48,"tag":209,"props":2398,"children":2399},{"style":1462},[2400],{"type":62,"value":1516},{"type":48,"tag":209,"props":2402,"children":2403},{"style":238},[2404],{"type":62,"value":1521},{"type":48,"tag":209,"props":2406,"children":2407},{"class":211,"line":278},[2408,2412,2416,2420,2424,2428,2432,2436,2440,2444,2448,2452],{"type":48,"tag":209,"props":2409,"children":2410},{"style":1527},[2411],{"type":62,"value":1530},{"type":48,"tag":209,"props":2413,"children":2414},{"style":238},[2415],{"type":62,"value":1535},{"type":48,"tag":209,"props":2417,"children":2418},{"style":1462},[2419],{"type":62,"value":1540},{"type":48,"tag":209,"props":2421,"children":2422},{"style":238},[2423],{"type":62,"value":1330},{"type":48,"tag":209,"props":2425,"children":2426},{"style":1462},[2427],{"type":62,"value":1549},{"type":48,"tag":209,"props":2429,"children":2430},{"style":238},[2431],{"type":62,"value":1330},{"type":48,"tag":209,"props":2433,"children":2434},{"style":1462},[2435],{"type":62,"value":2095},{"type":48,"tag":209,"props":2437,"children":2438},{"style":238},[2439],{"type":62,"value":1563},{"type":48,"tag":209,"props":2441,"children":2442},{"style":238},[2443],{"type":62,"value":491},{"type":48,"tag":209,"props":2445,"children":2446},{"style":232},[2447],{"type":62,"value":2108},{"type":48,"tag":209,"props":2449,"children":2450},{"style":238},[2451],{"type":62,"value":500},{"type":48,"tag":209,"props":2453,"children":2454},{"style":238},[2455],{"type":62,"value":1581},{"type":48,"tag":209,"props":2457,"children":2458},{"class":211,"line":287},[2459],{"type":48,"tag":209,"props":2460,"children":2461},{"emptyLinePlaceholder":43},[2462],{"type":62,"value":275},{"type":48,"tag":209,"props":2464,"children":2465},{"class":211,"line":326},[2466,2470,2474],{"type":48,"tag":209,"props":2467,"children":2468},{"style":1527},[2469],{"type":62,"value":1596},{"type":48,"tag":209,"props":2471,"children":2472},{"style":238},[2473],{"type":62,"value":1535},{"type":48,"tag":209,"props":2475,"children":2476},{"style":238},[2477],{"type":62,"value":1605},{"type":48,"tag":209,"props":2479,"children":2480},{"class":211,"line":334},[2481],{"type":48,"tag":209,"props":2482,"children":2483},{"style":216},[2484],{"type":62,"value":1613},{"type":48,"tag":209,"props":2486,"children":2487},{"class":211,"line":343},[2488],{"type":48,"tag":209,"props":2489,"children":2490},{"style":216},[2491],{"type":62,"value":1621},{"type":48,"tag":209,"props":2493,"children":2494},{"class":211,"line":379},[2495],{"type":48,"tag":209,"props":2496,"children":2497},{"style":216},[2498],{"type":62,"value":1629},{"type":48,"tag":209,"props":2500,"children":2501},{"class":211,"line":405},[2502],{"type":48,"tag":209,"props":2503,"children":2504},{"style":216},[2505],{"type":62,"value":1637},{"type":48,"tag":209,"props":2507,"children":2508},{"class":211,"line":413},[2509],{"type":48,"tag":209,"props":2510,"children":2511},{"style":238},[2512],{"type":62,"value":1645},{"type":48,"tag":209,"props":2514,"children":2515},{"class":211,"line":422},[2516,2520,2524,2528,2532,2536,2540,2544,2548,2552,2556,2560,2564,2568,2572,2576],{"type":48,"tag":209,"props":2517,"children":2518},{"style":1527},[2519],{"type":62,"value":1668},{"type":48,"tag":209,"props":2521,"children":2522},{"style":238},[2523],{"type":62,"value":1535},{"type":48,"tag":209,"props":2525,"children":2526},{"style":1462},[2527],{"type":62,"value":1540},{"type":48,"tag":209,"props":2529,"children":2530},{"style":238},[2531],{"type":62,"value":1330},{"type":48,"tag":209,"props":2533,"children":2534},{"style":1462},[2535],{"type":62,"value":1549},{"type":48,"tag":209,"props":2537,"children":2538},{"style":238},[2539],{"type":62,"value":1330},{"type":48,"tag":209,"props":2541,"children":2542},{"style":1462},[2543],{"type":62,"value":1693},{"type":48,"tag":209,"props":2545,"children":2546},{"style":238},[2547],{"type":62,"value":1698},{"type":48,"tag":209,"props":2549,"children":2550},{"style":238},[2551],{"type":62,"value":491},{"type":48,"tag":209,"props":2553,"children":2554},{"style":232},[2555],{"type":62,"value":1707},{"type":48,"tag":209,"props":2557,"children":2558},{"style":238},[2559],{"type":62,"value":500},{"type":48,"tag":209,"props":2561,"children":2562},{"style":238},[2563],{"type":62,"value":1716},{"type":48,"tag":209,"props":2565,"children":2566},{"style":1719},[2567],{"type":62,"value":1722},{"type":48,"tag":209,"props":2569,"children":2570},{"style":238},[2571],{"type":62,"value":1727},{"type":48,"tag":209,"props":2573,"children":2574},{"style":1719},[2575],{"type":62,"value":1732},{"type":48,"tag":209,"props":2577,"children":2578},{"style":238},[2579],{"type":62,"value":1581},{"type":48,"tag":209,"props":2581,"children":2582},{"class":211,"line":453},[2583],{"type":48,"tag":209,"props":2584,"children":2585},{"emptyLinePlaceholder":43},[2586],{"type":62,"value":275},{"type":48,"tag":209,"props":2588,"children":2589},{"class":211,"line":461},[2590,2594,2598,2602],{"type":48,"tag":209,"props":2591,"children":2592},{"style":1527},[2593],{"type":62,"value":1806},{"type":48,"tag":209,"props":2595,"children":2596},{"style":238},[2597],{"type":62,"value":1535},{"type":48,"tag":209,"props":2599,"children":2600},{"style":1813},[2601],{"type":62,"value":1816},{"type":48,"tag":209,"props":2603,"children":2604},{"style":238},[2605],{"type":62,"value":1581},{"type":48,"tag":209,"props":2607,"children":2608},{"class":211,"line":470},[2609,2613,2617],{"type":48,"tag":209,"props":2610,"children":2611},{"style":238},[2612],{"type":62,"value":1908},{"type":48,"tag":209,"props":2614,"children":2615},{"style":1462},[2616],{"type":62,"value":826},{"type":48,"tag":209,"props":2618,"children":2619},{"style":238},[2620],{"type":62,"value":1487},{"type":48,"tag":1361,"props":2622,"children":2624},{"id":2623},"create-instrumentationts-server-side-registration-hook",[2625,2626,2631],{"type":62,"value":1402},{"type":48,"tag":108,"props":2627,"children":2629},{"className":2628},[],[2630],{"type":62,"value":129},{"type":62,"value":2632}," — Server-Side Registration Hook",{"type":48,"tag":49,"props":2634,"children":2635},{},[2636],{"type":48,"tag":53,"props":2637,"children":2638},{},[2639,2641,2647,2649,2655],{"type":62,"value":2640},"Requires ",{"type":48,"tag":108,"props":2642,"children":2644},{"className":2643},[],[2645],{"type":62,"value":2646},"experimental.instrumentationHook: true",{"type":62,"value":2648}," in ",{"type":48,"tag":108,"props":2650,"children":2652},{"className":2651},[],[2653],{"type":62,"value":2654},"next.config",{"type":62,"value":2656}," for Next.js \u003C 14.0.4. It's stable in 14.0.4+.",{"type":48,"tag":198,"props":2658,"children":2660},{"className":1434,"code":2659,"language":1436,"meta":203,"style":203},"import * as Sentry from \"@sentry\u002Fnextjs\";\n\nexport async function register() {\n  if (process.env.NEXT_RUNTIME === \"nodejs\") {\n    await import(\".\u002Fsentry.server.config\");\n  }\n\n  if (process.env.NEXT_RUNTIME === \"edge\") {\n    await import(\".\u002Fsentry.edge.config\");\n  }\n}\n\n\u002F\u002F Automatically captures all unhandled server-side request errors\n\u002F\u002F Requires @sentry\u002Fnextjs >= 8.28.0\nexport const onRequestError = Sentry.captureRequestError;\n",[2661],{"type":48,"tag":108,"props":2662,"children":2663},{"__ignoreMap":203},[2664,2703,2710,2740,2802,2840,2848,2855,2911,2947,2954,2962,2969,2977,2985],{"type":48,"tag":209,"props":2665,"children":2666},{"class":211,"line":212},[2667,2671,2675,2679,2683,2687,2691,2695,2699],{"type":48,"tag":209,"props":2668,"children":2669},{"style":1446},[2670],{"type":62,"value":1449},{"type":48,"tag":209,"props":2672,"children":2673},{"style":238},[2674],{"type":62,"value":1454},{"type":48,"tag":209,"props":2676,"children":2677},{"style":1446},[2678],{"type":62,"value":1459},{"type":48,"tag":209,"props":2680,"children":2681},{"style":1462},[2682],{"type":62,"value":1465},{"type":48,"tag":209,"props":2684,"children":2685},{"style":1446},[2686],{"type":62,"value":1470},{"type":48,"tag":209,"props":2688,"children":2689},{"style":238},[2690],{"type":62,"value":491},{"type":48,"tag":209,"props":2692,"children":2693},{"style":232},[2694],{"type":62,"value":113},{"type":48,"tag":209,"props":2696,"children":2697},{"style":238},[2698],{"type":62,"value":500},{"type":48,"tag":209,"props":2700,"children":2701},{"style":238},[2702],{"type":62,"value":1487},{"type":48,"tag":209,"props":2704,"children":2705},{"class":211,"line":222},[2706],{"type":48,"tag":209,"props":2707,"children":2708},{"emptyLinePlaceholder":43},[2709],{"type":62,"value":275},{"type":48,"tag":209,"props":2711,"children":2712},{"class":211,"line":269},[2713,2717,2722,2727,2732,2736],{"type":48,"tag":209,"props":2714,"children":2715},{"style":1446},[2716],{"type":62,"value":1941},{"type":48,"tag":209,"props":2718,"children":2719},{"style":1944},[2720],{"type":62,"value":2721}," async",{"type":48,"tag":209,"props":2723,"children":2724},{"style":1944},[2725],{"type":62,"value":2726}," function",{"type":48,"tag":209,"props":2728,"children":2729},{"style":1508},[2730],{"type":62,"value":2731}," register",{"type":48,"tag":209,"props":2733,"children":2734},{"style":238},[2735],{"type":62,"value":1866},{"type":48,"tag":209,"props":2737,"children":2738},{"style":238},[2739],{"type":62,"value":1605},{"type":48,"tag":209,"props":2741,"children":2742},{"class":211,"line":278},[2743,2748,2753,2758,2762,2766,2770,2775,2780,2784,2789,2793,2798],{"type":48,"tag":209,"props":2744,"children":2745},{"style":1446},[2746],{"type":62,"value":2747},"  if",{"type":48,"tag":209,"props":2749,"children":2750},{"style":1527},[2751],{"type":62,"value":2752}," (",{"type":48,"tag":209,"props":2754,"children":2755},{"style":1462},[2756],{"type":62,"value":2757},"process",{"type":48,"tag":209,"props":2759,"children":2760},{"style":238},[2761],{"type":62,"value":1330},{"type":48,"tag":209,"props":2763,"children":2764},{"style":1462},[2765],{"type":62,"value":1549},{"type":48,"tag":209,"props":2767,"children":2768},{"style":238},[2769],{"type":62,"value":1330},{"type":48,"tag":209,"props":2771,"children":2772},{"style":1462},[2773],{"type":62,"value":2774},"NEXT_RUNTIME",{"type":48,"tag":209,"props":2776,"children":2777},{"style":238},[2778],{"type":62,"value":2779}," ===",{"type":48,"tag":209,"props":2781,"children":2782},{"style":238},[2783],{"type":62,"value":491},{"type":48,"tag":209,"props":2785,"children":2786},{"style":232},[2787],{"type":62,"value":2788},"nodejs",{"type":48,"tag":209,"props":2790,"children":2791},{"style":238},[2792],{"type":62,"value":500},{"type":48,"tag":209,"props":2794,"children":2795},{"style":1527},[2796],{"type":62,"value":2797},") ",{"type":48,"tag":209,"props":2799,"children":2800},{"style":238},[2801],{"type":62,"value":1521},{"type":48,"tag":209,"props":2803,"children":2804},{"class":211,"line":287},[2805,2810,2815,2819,2823,2828,2832,2836],{"type":48,"tag":209,"props":2806,"children":2807},{"style":1446},[2808],{"type":62,"value":2809},"    await",{"type":48,"tag":209,"props":2811,"children":2812},{"style":238},[2813],{"type":62,"value":2814}," import",{"type":48,"tag":209,"props":2816,"children":2817},{"style":1527},[2818],{"type":62,"value":1516},{"type":48,"tag":209,"props":2820,"children":2821},{"style":238},[2822],{"type":62,"value":500},{"type":48,"tag":209,"props":2824,"children":2825},{"style":232},[2826],{"type":62,"value":2827},".\u002Fsentry.server.config",{"type":48,"tag":209,"props":2829,"children":2830},{"style":238},[2831],{"type":62,"value":500},{"type":48,"tag":209,"props":2833,"children":2834},{"style":1527},[2835],{"type":62,"value":826},{"type":48,"tag":209,"props":2837,"children":2838},{"style":238},[2839],{"type":62,"value":1487},{"type":48,"tag":209,"props":2841,"children":2842},{"class":211,"line":326},[2843],{"type":48,"tag":209,"props":2844,"children":2845},{"style":238},[2846],{"type":62,"value":2847},"  }\n",{"type":48,"tag":209,"props":2849,"children":2850},{"class":211,"line":334},[2851],{"type":48,"tag":209,"props":2852,"children":2853},{"emptyLinePlaceholder":43},[2854],{"type":62,"value":275},{"type":48,"tag":209,"props":2856,"children":2857},{"class":211,"line":343},[2858,2862,2866,2870,2874,2878,2882,2886,2890,2894,2899,2903,2907],{"type":48,"tag":209,"props":2859,"children":2860},{"style":1446},[2861],{"type":62,"value":2747},{"type":48,"tag":209,"props":2863,"children":2864},{"style":1527},[2865],{"type":62,"value":2752},{"type":48,"tag":209,"props":2867,"children":2868},{"style":1462},[2869],{"type":62,"value":2757},{"type":48,"tag":209,"props":2871,"children":2872},{"style":238},[2873],{"type":62,"value":1330},{"type":48,"tag":209,"props":2875,"children":2876},{"style":1462},[2877],{"type":62,"value":1549},{"type":48,"tag":209,"props":2879,"children":2880},{"style":238},[2881],{"type":62,"value":1330},{"type":48,"tag":209,"props":2883,"children":2884},{"style":1462},[2885],{"type":62,"value":2774},{"type":48,"tag":209,"props":2887,"children":2888},{"style":238},[2889],{"type":62,"value":2779},{"type":48,"tag":209,"props":2891,"children":2892},{"style":238},[2893],{"type":62,"value":491},{"type":48,"tag":209,"props":2895,"children":2896},{"style":232},[2897],{"type":62,"value":2898},"edge",{"type":48,"tag":209,"props":2900,"children":2901},{"style":238},[2902],{"type":62,"value":500},{"type":48,"tag":209,"props":2904,"children":2905},{"style":1527},[2906],{"type":62,"value":2797},{"type":48,"tag":209,"props":2908,"children":2909},{"style":238},[2910],{"type":62,"value":1521},{"type":48,"tag":209,"props":2912,"children":2913},{"class":211,"line":379},[2914,2918,2922,2926,2930,2935,2939,2943],{"type":48,"tag":209,"props":2915,"children":2916},{"style":1446},[2917],{"type":62,"value":2809},{"type":48,"tag":209,"props":2919,"children":2920},{"style":238},[2921],{"type":62,"value":2814},{"type":48,"tag":209,"props":2923,"children":2924},{"style":1527},[2925],{"type":62,"value":1516},{"type":48,"tag":209,"props":2927,"children":2928},{"style":238},[2929],{"type":62,"value":500},{"type":48,"tag":209,"props":2931,"children":2932},{"style":232},[2933],{"type":62,"value":2934},".\u002Fsentry.edge.config",{"type":48,"tag":209,"props":2936,"children":2937},{"style":238},[2938],{"type":62,"value":500},{"type":48,"tag":209,"props":2940,"children":2941},{"style":1527},[2942],{"type":62,"value":826},{"type":48,"tag":209,"props":2944,"children":2945},{"style":238},[2946],{"type":62,"value":1487},{"type":48,"tag":209,"props":2948,"children":2949},{"class":211,"line":405},[2950],{"type":48,"tag":209,"props":2951,"children":2952},{"style":238},[2953],{"type":62,"value":2847},{"type":48,"tag":209,"props":2955,"children":2956},{"class":211,"line":413},[2957],{"type":48,"tag":209,"props":2958,"children":2959},{"style":238},[2960],{"type":62,"value":2961},"}\n",{"type":48,"tag":209,"props":2963,"children":2964},{"class":211,"line":422},[2965],{"type":48,"tag":209,"props":2966,"children":2967},{"emptyLinePlaceholder":43},[2968],{"type":62,"value":275},{"type":48,"tag":209,"props":2970,"children":2971},{"class":211,"line":453},[2972],{"type":48,"tag":209,"props":2973,"children":2974},{"style":216},[2975],{"type":62,"value":2976},"\u002F\u002F Automatically captures all unhandled server-side request errors\n",{"type":48,"tag":209,"props":2978,"children":2979},{"class":211,"line":461},[2980],{"type":48,"tag":209,"props":2981,"children":2982},{"style":216},[2983],{"type":62,"value":2984},"\u002F\u002F Requires @sentry\u002Fnextjs >= 8.28.0\n",{"type":48,"tag":209,"props":2986,"children":2987},{"class":211,"line":470},[2988,2992,2996,3001,3005,3009,3013,3018],{"type":48,"tag":209,"props":2989,"children":2990},{"style":1446},[2991],{"type":62,"value":1941},{"type":48,"tag":209,"props":2993,"children":2994},{"style":1944},[2995],{"type":62,"value":1947},{"type":48,"tag":209,"props":2997,"children":2998},{"style":1462},[2999],{"type":62,"value":3000}," onRequestError ",{"type":48,"tag":209,"props":3002,"children":3003},{"style":238},[3004],{"type":62,"value":1957},{"type":48,"tag":209,"props":3006,"children":3007},{"style":1462},[3008],{"type":62,"value":1962},{"type":48,"tag":209,"props":3010,"children":3011},{"style":238},[3012],{"type":62,"value":1330},{"type":48,"tag":209,"props":3014,"children":3015},{"style":1462},[3016],{"type":62,"value":3017},"captureRequestError",{"type":48,"tag":209,"props":3019,"children":3020},{"style":238},[3021],{"type":62,"value":1487},{"type":48,"tag":53,"props":3023,"children":3024},{},[3025],{"type":48,"tag":158,"props":3026,"children":3027},{},[3028],{"type":62,"value":3029},"Runtime dispatch:",{"type":48,"tag":760,"props":3031,"children":3032},{},[3033,3052],{"type":48,"tag":764,"props":3034,"children":3035},{},[3036],{"type":48,"tag":768,"props":3037,"children":3038},{},[3039,3047],{"type":48,"tag":772,"props":3040,"children":3041},{},[3042],{"type":48,"tag":108,"props":3043,"children":3045},{"className":3044},[],[3046],{"type":62,"value":2774},{"type":48,"tag":772,"props":3048,"children":3049},{},[3050],{"type":62,"value":3051},"Config file loaded",{"type":48,"tag":783,"props":3053,"children":3054},{},[3055,3075,3095],{"type":48,"tag":768,"props":3056,"children":3057},{},[3058,3067],{"type":48,"tag":790,"props":3059,"children":3060},{},[3061],{"type":48,"tag":108,"props":3062,"children":3064},{"className":3063},[],[3065],{"type":62,"value":3066},"\"nodejs\"",{"type":48,"tag":790,"props":3068,"children":3069},{},[3070],{"type":48,"tag":108,"props":3071,"children":3073},{"className":3072},[],[3074],{"type":62,"value":1299},{"type":48,"tag":768,"props":3076,"children":3077},{},[3078,3087],{"type":48,"tag":790,"props":3079,"children":3080},{},[3081],{"type":48,"tag":108,"props":3082,"children":3084},{"className":3083},[],[3085],{"type":62,"value":3086},"\"edge\"",{"type":48,"tag":790,"props":3088,"children":3089},{},[3090],{"type":48,"tag":108,"props":3091,"children":3093},{"className":3092},[],[3094],{"type":62,"value":1306},{"type":48,"tag":768,"props":3096,"children":3097},{},[3098,3106],{"type":48,"tag":790,"props":3099,"children":3100},{},[3101],{"type":48,"tag":1238,"props":3102,"children":3103},{},[3104],{"type":62,"value":3105},"(client bundle)",{"type":48,"tag":790,"props":3107,"children":3108},{},[3109,3114],{"type":48,"tag":108,"props":3110,"children":3112},{"className":3111},[],[3113],{"type":62,"value":1292},{"type":62,"value":3115}," (Next.js handles this directly)",{"type":48,"tag":1361,"props":3117,"children":3119},{"id":3118},"app-router-create-appglobal-errortsx",[3120,3122],{"type":62,"value":3121},"App Router: Create ",{"type":48,"tag":108,"props":3123,"children":3125},{"className":3124},[],[3126],{"type":62,"value":3127},"app\u002Fglobal-error.tsx",{"type":48,"tag":53,"props":3129,"children":3130},{},[3131],{"type":62,"value":3132},"This catches errors in the root layout and React render errors:",{"type":48,"tag":198,"props":3134,"children":3138},{"className":3135,"code":3136,"language":3137,"meta":203,"style":203},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\"use client\";\n\nimport * as Sentry from \"@sentry\u002Fnextjs\";\nimport NextError from \"next\u002Ferror\";\nimport { useEffect } from \"react\";\n\nexport default function GlobalError({\n  error,\n}: {\n  error: Error & { digest?: string };\n}) {\n  useEffect(() => {\n    Sentry.captureException(error);\n  }, [error]);\n\n  return (\n    \u003Chtml>\n      \u003Cbody>\n        \u003CNextError statusCode={0} \u002F>\n      \u003C\u002Fbody>\n    \u003C\u002Fhtml>\n  );\n}\n","tsx",[3139],{"type":48,"tag":108,"props":3140,"children":3141},{"__ignoreMap":203},[3142,3162,3169,3208,3241,3285,3292,3318,3331,3343,3388,3400,3425,3458,3484,3491,3504,3522,3539,3572,3588,3604,3616],{"type":48,"tag":209,"props":3143,"children":3144},{"class":211,"line":212},[3145,3149,3154,3158],{"type":48,"tag":209,"props":3146,"children":3147},{"style":238},[3148],{"type":62,"value":500},{"type":48,"tag":209,"props":3150,"children":3151},{"style":232},[3152],{"type":62,"value":3153},"use client",{"type":48,"tag":209,"props":3155,"children":3156},{"style":238},[3157],{"type":62,"value":500},{"type":48,"tag":209,"props":3159,"children":3160},{"style":238},[3161],{"type":62,"value":1487},{"type":48,"tag":209,"props":3163,"children":3164},{"class":211,"line":222},[3165],{"type":48,"tag":209,"props":3166,"children":3167},{"emptyLinePlaceholder":43},[3168],{"type":62,"value":275},{"type":48,"tag":209,"props":3170,"children":3171},{"class":211,"line":269},[3172,3176,3180,3184,3188,3192,3196,3200,3204],{"type":48,"tag":209,"props":3173,"children":3174},{"style":1446},[3175],{"type":62,"value":1449},{"type":48,"tag":209,"props":3177,"children":3178},{"style":238},[3179],{"type":62,"value":1454},{"type":48,"tag":209,"props":3181,"children":3182},{"style":1446},[3183],{"type":62,"value":1459},{"type":48,"tag":209,"props":3185,"children":3186},{"style":1462},[3187],{"type":62,"value":1465},{"type":48,"tag":209,"props":3189,"children":3190},{"style":1446},[3191],{"type":62,"value":1470},{"type":48,"tag":209,"props":3193,"children":3194},{"style":238},[3195],{"type":62,"value":491},{"type":48,"tag":209,"props":3197,"children":3198},{"style":232},[3199],{"type":62,"value":113},{"type":48,"tag":209,"props":3201,"children":3202},{"style":238},[3203],{"type":62,"value":500},{"type":48,"tag":209,"props":3205,"children":3206},{"style":238},[3207],{"type":62,"value":1487},{"type":48,"tag":209,"props":3209,"children":3210},{"class":211,"line":278},[3211,3215,3220,3224,3228,3233,3237],{"type":48,"tag":209,"props":3212,"children":3213},{"style":1446},[3214],{"type":62,"value":1449},{"type":48,"tag":209,"props":3216,"children":3217},{"style":1462},[3218],{"type":62,"value":3219}," NextError ",{"type":48,"tag":209,"props":3221,"children":3222},{"style":1446},[3223],{"type":62,"value":1470},{"type":48,"tag":209,"props":3225,"children":3226},{"style":238},[3227],{"type":62,"value":491},{"type":48,"tag":209,"props":3229,"children":3230},{"style":232},[3231],{"type":62,"value":3232},"next\u002Ferror",{"type":48,"tag":209,"props":3234,"children":3235},{"style":238},[3236],{"type":62,"value":500},{"type":48,"tag":209,"props":3238,"children":3239},{"style":238},[3240],{"type":62,"value":1487},{"type":48,"tag":209,"props":3242,"children":3243},{"class":211,"line":287},[3244,3248,3253,3258,3263,3268,3272,3277,3281],{"type":48,"tag":209,"props":3245,"children":3246},{"style":1446},[3247],{"type":62,"value":1449},{"type":48,"tag":209,"props":3249,"children":3250},{"style":238},[3251],{"type":62,"value":3252}," {",{"type":48,"tag":209,"props":3254,"children":3255},{"style":1462},[3256],{"type":62,"value":3257}," useEffect",{"type":48,"tag":209,"props":3259,"children":3260},{"style":238},[3261],{"type":62,"value":3262}," }",{"type":48,"tag":209,"props":3264,"children":3265},{"style":1446},[3266],{"type":62,"value":3267}," from",{"type":48,"tag":209,"props":3269,"children":3270},{"style":238},[3271],{"type":62,"value":491},{"type":48,"tag":209,"props":3273,"children":3274},{"style":232},[3275],{"type":62,"value":3276},"react",{"type":48,"tag":209,"props":3278,"children":3279},{"style":238},[3280],{"type":62,"value":500},{"type":48,"tag":209,"props":3282,"children":3283},{"style":238},[3284],{"type":62,"value":1487},{"type":48,"tag":209,"props":3286,"children":3287},{"class":211,"line":326},[3288],{"type":48,"tag":209,"props":3289,"children":3290},{"emptyLinePlaceholder":43},[3291],{"type":62,"value":275},{"type":48,"tag":209,"props":3293,"children":3294},{"class":211,"line":334},[3295,3299,3304,3308,3313],{"type":48,"tag":209,"props":3296,"children":3297},{"style":1446},[3298],{"type":62,"value":1941},{"type":48,"tag":209,"props":3300,"children":3301},{"style":1446},[3302],{"type":62,"value":3303}," default",{"type":48,"tag":209,"props":3305,"children":3306},{"style":1944},[3307],{"type":62,"value":2726},{"type":48,"tag":209,"props":3309,"children":3310},{"style":1508},[3311],{"type":62,"value":3312}," GlobalError",{"type":48,"tag":209,"props":3314,"children":3315},{"style":238},[3316],{"type":62,"value":3317},"({\n",{"type":48,"tag":209,"props":3319,"children":3320},{"class":211,"line":343},[3321,3327],{"type":48,"tag":209,"props":3322,"children":3324},{"style":3323},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3325],{"type":62,"value":3326},"  error",{"type":48,"tag":209,"props":3328,"children":3329},{"style":238},[3330],{"type":62,"value":1581},{"type":48,"tag":209,"props":3332,"children":3333},{"class":211,"line":379},[3334,3339],{"type":48,"tag":209,"props":3335,"children":3336},{"style":238},[3337],{"type":62,"value":3338},"}:",{"type":48,"tag":209,"props":3340,"children":3341},{"style":238},[3342],{"type":62,"value":1605},{"type":48,"tag":209,"props":3344,"children":3345},{"class":211,"line":405},[3346,3350,3354,3359,3364,3368,3373,3378,3383],{"type":48,"tag":209,"props":3347,"children":3348},{"style":1527},[3349],{"type":62,"value":3326},{"type":48,"tag":209,"props":3351,"children":3352},{"style":238},[3353],{"type":62,"value":1535},{"type":48,"tag":209,"props":3355,"children":3356},{"style":226},[3357],{"type":62,"value":3358}," Error",{"type":48,"tag":209,"props":3360,"children":3361},{"style":238},[3362],{"type":62,"value":3363}," &",{"type":48,"tag":209,"props":3365,"children":3366},{"style":238},[3367],{"type":62,"value":3252},{"type":48,"tag":209,"props":3369,"children":3370},{"style":1527},[3371],{"type":62,"value":3372}," digest",{"type":48,"tag":209,"props":3374,"children":3375},{"style":238},[3376],{"type":62,"value":3377},"?:",{"type":48,"tag":209,"props":3379,"children":3380},{"style":226},[3381],{"type":62,"value":3382}," string",{"type":48,"tag":209,"props":3384,"children":3385},{"style":238},[3386],{"type":62,"value":3387}," };\n",{"type":48,"tag":209,"props":3389,"children":3390},{"class":211,"line":413},[3391,3396],{"type":48,"tag":209,"props":3392,"children":3393},{"style":238},[3394],{"type":62,"value":3395},"})",{"type":48,"tag":209,"props":3397,"children":3398},{"style":238},[3399],{"type":62,"value":1605},{"type":48,"tag":209,"props":3401,"children":3402},{"class":211,"line":422},[3403,3408,3412,3416,3421],{"type":48,"tag":209,"props":3404,"children":3405},{"style":1508},[3406],{"type":62,"value":3407},"  useEffect",{"type":48,"tag":209,"props":3409,"children":3410},{"style":1527},[3411],{"type":62,"value":1516},{"type":48,"tag":209,"props":3413,"children":3414},{"style":238},[3415],{"type":62,"value":1866},{"type":48,"tag":209,"props":3417,"children":3418},{"style":1944},[3419],{"type":62,"value":3420}," =>",{"type":48,"tag":209,"props":3422,"children":3423},{"style":238},[3424],{"type":62,"value":1605},{"type":48,"tag":209,"props":3426,"children":3427},{"class":211,"line":453},[3428,3432,3436,3441,3445,3450,3454],{"type":48,"tag":209,"props":3429,"children":3430},{"style":1462},[3431],{"type":62,"value":1852},{"type":48,"tag":209,"props":3433,"children":3434},{"style":238},[3435],{"type":62,"value":1330},{"type":48,"tag":209,"props":3437,"children":3438},{"style":1508},[3439],{"type":62,"value":3440},"captureException",{"type":48,"tag":209,"props":3442,"children":3443},{"style":1527},[3444],{"type":62,"value":1516},{"type":48,"tag":209,"props":3446,"children":3447},{"style":1462},[3448],{"type":62,"value":3449},"error",{"type":48,"tag":209,"props":3451,"children":3452},{"style":1527},[3453],{"type":62,"value":826},{"type":48,"tag":209,"props":3455,"children":3456},{"style":238},[3457],{"type":62,"value":1487},{"type":48,"tag":209,"props":3459,"children":3460},{"class":211,"line":461},[3461,3466,3471,3475,3480],{"type":48,"tag":209,"props":3462,"children":3463},{"style":238},[3464],{"type":62,"value":3465},"  },",{"type":48,"tag":209,"props":3467,"children":3468},{"style":1527},[3469],{"type":62,"value":3470}," [",{"type":48,"tag":209,"props":3472,"children":3473},{"style":1462},[3474],{"type":62,"value":3449},{"type":48,"tag":209,"props":3476,"children":3477},{"style":1527},[3478],{"type":62,"value":3479},"])",{"type":48,"tag":209,"props":3481,"children":3482},{"style":238},[3483],{"type":62,"value":1487},{"type":48,"tag":209,"props":3485,"children":3486},{"class":211,"line":470},[3487],{"type":48,"tag":209,"props":3488,"children":3489},{"emptyLinePlaceholder":43},[3490],{"type":62,"value":275},{"type":48,"tag":209,"props":3492,"children":3493},{"class":211,"line":552},[3494,3499],{"type":48,"tag":209,"props":3495,"children":3496},{"style":1446},[3497],{"type":62,"value":3498},"  return",{"type":48,"tag":209,"props":3500,"children":3501},{"style":1527},[3502],{"type":62,"value":3503}," (\n",{"type":48,"tag":209,"props":3505,"children":3506},{"class":211,"line":560},[3507,3512,3517],{"type":48,"tag":209,"props":3508,"children":3509},{"style":238},[3510],{"type":62,"value":3511},"    \u003C",{"type":48,"tag":209,"props":3513,"children":3514},{"style":1527},[3515],{"type":62,"value":3516},"html",{"type":48,"tag":209,"props":3518,"children":3519},{"style":238},[3520],{"type":62,"value":3521},">\n",{"type":48,"tag":209,"props":3523,"children":3524},{"class":211,"line":569},[3525,3530,3535],{"type":48,"tag":209,"props":3526,"children":3527},{"style":238},[3528],{"type":62,"value":3529},"      \u003C",{"type":48,"tag":209,"props":3531,"children":3532},{"style":1527},[3533],{"type":62,"value":3534},"body",{"type":48,"tag":209,"props":3536,"children":3537},{"style":238},[3538],{"type":62,"value":3521},{"type":48,"tag":209,"props":3540,"children":3541},{"class":211,"line":606},[3542,3547,3552,3557,3562,3567],{"type":48,"tag":209,"props":3543,"children":3544},{"style":238},[3545],{"type":62,"value":3546},"        \u003C",{"type":48,"tag":209,"props":3548,"children":3549},{"style":226},[3550],{"type":62,"value":3551},"NextError",{"type":48,"tag":209,"props":3553,"children":3554},{"style":1944},[3555],{"type":62,"value":3556}," statusCode",{"type":48,"tag":209,"props":3558,"children":3559},{"style":238},[3560],{"type":62,"value":3561},"={",{"type":48,"tag":209,"props":3563,"children":3564},{"style":1719},[3565],{"type":62,"value":3566},"0",{"type":48,"tag":209,"props":3568,"children":3569},{"style":238},[3570],{"type":62,"value":3571},"} \u002F>\n",{"type":48,"tag":209,"props":3573,"children":3574},{"class":211,"line":614},[3575,3580,3584],{"type":48,"tag":209,"props":3576,"children":3577},{"style":238},[3578],{"type":62,"value":3579},"      \u003C\u002F",{"type":48,"tag":209,"props":3581,"children":3582},{"style":1527},[3583],{"type":62,"value":3534},{"type":48,"tag":209,"props":3585,"children":3586},{"style":238},[3587],{"type":62,"value":3521},{"type":48,"tag":209,"props":3589,"children":3590},{"class":211,"line":623},[3591,3596,3600],{"type":48,"tag":209,"props":3592,"children":3593},{"style":238},[3594],{"type":62,"value":3595},"    \u003C\u002F",{"type":48,"tag":209,"props":3597,"children":3598},{"style":1527},[3599],{"type":62,"value":3516},{"type":48,"tag":209,"props":3601,"children":3602},{"style":238},[3603],{"type":62,"value":3521},{"type":48,"tag":209,"props":3605,"children":3606},{"class":211,"line":660},[3607,3612],{"type":48,"tag":209,"props":3608,"children":3609},{"style":1527},[3610],{"type":62,"value":3611},"  )",{"type":48,"tag":209,"props":3613,"children":3614},{"style":238},[3615],{"type":62,"value":1487},{"type":48,"tag":209,"props":3617,"children":3618},{"class":211,"line":668},[3619],{"type":48,"tag":209,"props":3620,"children":3621},{"style":238},[3622],{"type":62,"value":2961},{"type":48,"tag":1361,"props":3624,"children":3626},{"id":3625},"pages-router-update-pages_errortsx",[3627,3629],{"type":62,"value":3628},"Pages Router: Update ",{"type":48,"tag":108,"props":3630,"children":3632},{"className":3631},[],[3633],{"type":62,"value":3634},"pages\u002F_error.tsx",{"type":48,"tag":198,"props":3636,"children":3638},{"className":3135,"code":3637,"language":3137,"meta":203,"style":203},"import * as Sentry from \"@sentry\u002Fnextjs\";\nimport type { NextPageContext } from \"next\";\nimport NextErrorComponent from \"next\u002Ferror\";\n\ntype ErrorProps = { statusCode: number };\n\nexport default function CustomError({ statusCode }: ErrorProps) {\n  return \u003CNextErrorComponent statusCode={statusCode} \u002F>;\n}\n\nCustomError.getInitialProps = async (ctx: NextPageContext) => {\n  await Sentry.captureUnderscoreErrorException(ctx);\n  return NextErrorComponent.getInitialProps(ctx);\n};\n",[3639],{"type":48,"tag":108,"props":3640,"children":3641},{"__ignoreMap":203},[3642,3681,3727,3759,3766,3805,3812,3858,3893,3900,3907,3961,3998,4034],{"type":48,"tag":209,"props":3643,"children":3644},{"class":211,"line":212},[3645,3649,3653,3657,3661,3665,3669,3673,3677],{"type":48,"tag":209,"props":3646,"children":3647},{"style":1446},[3648],{"type":62,"value":1449},{"type":48,"tag":209,"props":3650,"children":3651},{"style":238},[3652],{"type":62,"value":1454},{"type":48,"tag":209,"props":3654,"children":3655},{"style":1446},[3656],{"type":62,"value":1459},{"type":48,"tag":209,"props":3658,"children":3659},{"style":1462},[3660],{"type":62,"value":1465},{"type":48,"tag":209,"props":3662,"children":3663},{"style":1446},[3664],{"type":62,"value":1470},{"type":48,"tag":209,"props":3666,"children":3667},{"style":238},[3668],{"type":62,"value":491},{"type":48,"tag":209,"props":3670,"children":3671},{"style":232},[3672],{"type":62,"value":113},{"type":48,"tag":209,"props":3674,"children":3675},{"style":238},[3676],{"type":62,"value":500},{"type":48,"tag":209,"props":3678,"children":3679},{"style":238},[3680],{"type":62,"value":1487},{"type":48,"tag":209,"props":3682,"children":3683},{"class":211,"line":222},[3684,3688,3693,3697,3702,3706,3710,3714,3719,3723],{"type":48,"tag":209,"props":3685,"children":3686},{"style":1446},[3687],{"type":62,"value":1449},{"type":48,"tag":209,"props":3689,"children":3690},{"style":1446},[3691],{"type":62,"value":3692}," type",{"type":48,"tag":209,"props":3694,"children":3695},{"style":238},[3696],{"type":62,"value":3252},{"type":48,"tag":209,"props":3698,"children":3699},{"style":1462},[3700],{"type":62,"value":3701}," NextPageContext",{"type":48,"tag":209,"props":3703,"children":3704},{"style":238},[3705],{"type":62,"value":3262},{"type":48,"tag":209,"props":3707,"children":3708},{"style":1446},[3709],{"type":62,"value":3267},{"type":48,"tag":209,"props":3711,"children":3712},{"style":238},[3713],{"type":62,"value":491},{"type":48,"tag":209,"props":3715,"children":3716},{"style":232},[3717],{"type":62,"value":3718},"next",{"type":48,"tag":209,"props":3720,"children":3721},{"style":238},[3722],{"type":62,"value":500},{"type":48,"tag":209,"props":3724,"children":3725},{"style":238},[3726],{"type":62,"value":1487},{"type":48,"tag":209,"props":3728,"children":3729},{"class":211,"line":269},[3730,3734,3739,3743,3747,3751,3755],{"type":48,"tag":209,"props":3731,"children":3732},{"style":1446},[3733],{"type":62,"value":1449},{"type":48,"tag":209,"props":3735,"children":3736},{"style":1462},[3737],{"type":62,"value":3738}," NextErrorComponent ",{"type":48,"tag":209,"props":3740,"children":3741},{"style":1446},[3742],{"type":62,"value":1470},{"type":48,"tag":209,"props":3744,"children":3745},{"style":238},[3746],{"type":62,"value":491},{"type":48,"tag":209,"props":3748,"children":3749},{"style":232},[3750],{"type":62,"value":3232},{"type":48,"tag":209,"props":3752,"children":3753},{"style":238},[3754],{"type":62,"value":500},{"type":48,"tag":209,"props":3756,"children":3757},{"style":238},[3758],{"type":62,"value":1487},{"type":48,"tag":209,"props":3760,"children":3761},{"class":211,"line":278},[3762],{"type":48,"tag":209,"props":3763,"children":3764},{"emptyLinePlaceholder":43},[3765],{"type":62,"value":275},{"type":48,"tag":209,"props":3767,"children":3768},{"class":211,"line":287},[3769,3774,3779,3784,3788,3792,3796,3801],{"type":48,"tag":209,"props":3770,"children":3771},{"style":1944},[3772],{"type":62,"value":3773},"type",{"type":48,"tag":209,"props":3775,"children":3776},{"style":226},[3777],{"type":62,"value":3778}," ErrorProps",{"type":48,"tag":209,"props":3780,"children":3781},{"style":238},[3782],{"type":62,"value":3783}," =",{"type":48,"tag":209,"props":3785,"children":3786},{"style":238},[3787],{"type":62,"value":3252},{"type":48,"tag":209,"props":3789,"children":3790},{"style":1527},[3791],{"type":62,"value":3556},{"type":48,"tag":209,"props":3793,"children":3794},{"style":238},[3795],{"type":62,"value":1535},{"type":48,"tag":209,"props":3797,"children":3798},{"style":226},[3799],{"type":62,"value":3800}," number",{"type":48,"tag":209,"props":3802,"children":3803},{"style":238},[3804],{"type":62,"value":3387},{"type":48,"tag":209,"props":3806,"children":3807},{"class":211,"line":326},[3808],{"type":48,"tag":209,"props":3809,"children":3810},{"emptyLinePlaceholder":43},[3811],{"type":62,"value":275},{"type":48,"tag":209,"props":3813,"children":3814},{"class":211,"line":334},[3815,3819,3823,3827,3832,3837,3841,3846,3850,3854],{"type":48,"tag":209,"props":3816,"children":3817},{"style":1446},[3818],{"type":62,"value":1941},{"type":48,"tag":209,"props":3820,"children":3821},{"style":1446},[3822],{"type":62,"value":3303},{"type":48,"tag":209,"props":3824,"children":3825},{"style":1944},[3826],{"type":62,"value":2726},{"type":48,"tag":209,"props":3828,"children":3829},{"style":1508},[3830],{"type":62,"value":3831}," CustomError",{"type":48,"tag":209,"props":3833,"children":3834},{"style":238},[3835],{"type":62,"value":3836},"({",{"type":48,"tag":209,"props":3838,"children":3839},{"style":3323},[3840],{"type":62,"value":3556},{"type":48,"tag":209,"props":3842,"children":3843},{"style":238},[3844],{"type":62,"value":3845}," }:",{"type":48,"tag":209,"props":3847,"children":3848},{"style":226},[3849],{"type":62,"value":3778},{"type":48,"tag":209,"props":3851,"children":3852},{"style":238},[3853],{"type":62,"value":826},{"type":48,"tag":209,"props":3855,"children":3856},{"style":238},[3857],{"type":62,"value":1605},{"type":48,"tag":209,"props":3859,"children":3860},{"class":211,"line":343},[3861,3865,3870,3875,3879,3883,3888],{"type":48,"tag":209,"props":3862,"children":3863},{"style":1446},[3864],{"type":62,"value":3498},{"type":48,"tag":209,"props":3866,"children":3867},{"style":238},[3868],{"type":62,"value":3869}," \u003C",{"type":48,"tag":209,"props":3871,"children":3872},{"style":226},[3873],{"type":62,"value":3874},"NextErrorComponent",{"type":48,"tag":209,"props":3876,"children":3877},{"style":1944},[3878],{"type":62,"value":3556},{"type":48,"tag":209,"props":3880,"children":3881},{"style":238},[3882],{"type":62,"value":3561},{"type":48,"tag":209,"props":3884,"children":3885},{"style":1462},[3886],{"type":62,"value":3887},"statusCode",{"type":48,"tag":209,"props":3889,"children":3890},{"style":238},[3891],{"type":62,"value":3892},"} \u002F>;\n",{"type":48,"tag":209,"props":3894,"children":3895},{"class":211,"line":379},[3896],{"type":48,"tag":209,"props":3897,"children":3898},{"style":238},[3899],{"type":62,"value":2961},{"type":48,"tag":209,"props":3901,"children":3902},{"class":211,"line":405},[3903],{"type":48,"tag":209,"props":3904,"children":3905},{"emptyLinePlaceholder":43},[3906],{"type":62,"value":275},{"type":48,"tag":209,"props":3908,"children":3909},{"class":211,"line":413},[3910,3915,3919,3924,3928,3932,3936,3941,3945,3949,3953,3957],{"type":48,"tag":209,"props":3911,"children":3912},{"style":1462},[3913],{"type":62,"value":3914},"CustomError",{"type":48,"tag":209,"props":3916,"children":3917},{"style":238},[3918],{"type":62,"value":1330},{"type":48,"tag":209,"props":3920,"children":3921},{"style":1508},[3922],{"type":62,"value":3923},"getInitialProps",{"type":48,"tag":209,"props":3925,"children":3926},{"style":238},[3927],{"type":62,"value":3783},{"type":48,"tag":209,"props":3929,"children":3930},{"style":1944},[3931],{"type":62,"value":2721},{"type":48,"tag":209,"props":3933,"children":3934},{"style":238},[3935],{"type":62,"value":2752},{"type":48,"tag":209,"props":3937,"children":3938},{"style":3323},[3939],{"type":62,"value":3940},"ctx",{"type":48,"tag":209,"props":3942,"children":3943},{"style":238},[3944],{"type":62,"value":1535},{"type":48,"tag":209,"props":3946,"children":3947},{"style":226},[3948],{"type":62,"value":3701},{"type":48,"tag":209,"props":3950,"children":3951},{"style":238},[3952],{"type":62,"value":826},{"type":48,"tag":209,"props":3954,"children":3955},{"style":1944},[3956],{"type":62,"value":3420},{"type":48,"tag":209,"props":3958,"children":3959},{"style":238},[3960],{"type":62,"value":1605},{"type":48,"tag":209,"props":3962,"children":3963},{"class":211,"line":422},[3964,3969,3973,3977,3982,3986,3990,3994],{"type":48,"tag":209,"props":3965,"children":3966},{"style":1446},[3967],{"type":62,"value":3968},"  await",{"type":48,"tag":209,"props":3970,"children":3971},{"style":1462},[3972],{"type":62,"value":1962},{"type":48,"tag":209,"props":3974,"children":3975},{"style":238},[3976],{"type":62,"value":1330},{"type":48,"tag":209,"props":3978,"children":3979},{"style":1508},[3980],{"type":62,"value":3981},"captureUnderscoreErrorException",{"type":48,"tag":209,"props":3983,"children":3984},{"style":1527},[3985],{"type":62,"value":1516},{"type":48,"tag":209,"props":3987,"children":3988},{"style":1462},[3989],{"type":62,"value":3940},{"type":48,"tag":209,"props":3991,"children":3992},{"style":1527},[3993],{"type":62,"value":826},{"type":48,"tag":209,"props":3995,"children":3996},{"style":238},[3997],{"type":62,"value":1487},{"type":48,"tag":209,"props":3999,"children":4000},{"class":211,"line":453},[4001,4005,4010,4014,4018,4022,4026,4030],{"type":48,"tag":209,"props":4002,"children":4003},{"style":1446},[4004],{"type":62,"value":3498},{"type":48,"tag":209,"props":4006,"children":4007},{"style":1462},[4008],{"type":62,"value":4009}," NextErrorComponent",{"type":48,"tag":209,"props":4011,"children":4012},{"style":238},[4013],{"type":62,"value":1330},{"type":48,"tag":209,"props":4015,"children":4016},{"style":1508},[4017],{"type":62,"value":3923},{"type":48,"tag":209,"props":4019,"children":4020},{"style":1527},[4021],{"type":62,"value":1516},{"type":48,"tag":209,"props":4023,"children":4024},{"style":1462},[4025],{"type":62,"value":3940},{"type":48,"tag":209,"props":4027,"children":4028},{"style":1527},[4029],{"type":62,"value":826},{"type":48,"tag":209,"props":4031,"children":4032},{"style":238},[4033],{"type":62,"value":1487},{"type":48,"tag":209,"props":4035,"children":4036},{"class":211,"line":461},[4037],{"type":48,"tag":209,"props":4038,"children":4039},{"style":238},[4040],{"type":62,"value":4041},"};\n",{"type":48,"tag":1361,"props":4043,"children":4045},{"id":4044},"wrap-nextconfigts-with-withsentryconfig",[4046,4048,4053,4055],{"type":62,"value":4047},"Wrap ",{"type":48,"tag":108,"props":4049,"children":4051},{"className":4050},[],[4052],{"type":62,"value":1320},{"type":62,"value":4054}," with ",{"type":48,"tag":108,"props":4056,"children":4058},{"className":4057},[],[4059],{"type":62,"value":137},{"type":48,"tag":198,"props":4061,"children":4063},{"className":1434,"code":4062,"language":1436,"meta":203,"style":203},"import type { NextConfig } from \"next\";\nimport { withSentryConfig } from \"@sentry\u002Fnextjs\";\n\nconst nextConfig: NextConfig = {\n  \u002F\u002F your existing Next.js config\n};\n\nexport default withSentryConfig(nextConfig, {\n  org: \"___ORG_SLUG___\",\n  project: \"___PROJECT_SLUG___\",\n\n  \u002F\u002F Source map upload auth token (see Source Maps section below)\n  authToken: process.env.SENTRY_AUTH_TOKEN,\n\n  \u002F\u002F Upload wider set of client source files for better stack trace resolution\n  widenClientFileUpload: true,\n\n  \u002F\u002F Create a proxy API route to bypass ad-blockers\n  tunnelRoute: \"\u002Fmonitoring\",\n\n  \u002F\u002F Suppress non-CI output\n  silent: !process.env.CI,\n});\n",[4064],{"type":48,"tag":108,"props":4065,"children":4066},{"__ignoreMap":203},[4067,4111,4151,4158,4187,4195,4202,4209,4238,4267,4296,4303,4311,4348,4355,4363,4383,4390,4398,4427,4434,4442,4484],{"type":48,"tag":209,"props":4068,"children":4069},{"class":211,"line":212},[4070,4074,4078,4082,4087,4091,4095,4099,4103,4107],{"type":48,"tag":209,"props":4071,"children":4072},{"style":1446},[4073],{"type":62,"value":1449},{"type":48,"tag":209,"props":4075,"children":4076},{"style":1446},[4077],{"type":62,"value":3692},{"type":48,"tag":209,"props":4079,"children":4080},{"style":238},[4081],{"type":62,"value":3252},{"type":48,"tag":209,"props":4083,"children":4084},{"style":1462},[4085],{"type":62,"value":4086}," NextConfig",{"type":48,"tag":209,"props":4088,"children":4089},{"style":238},[4090],{"type":62,"value":3262},{"type":48,"tag":209,"props":4092,"children":4093},{"style":1446},[4094],{"type":62,"value":3267},{"type":48,"tag":209,"props":4096,"children":4097},{"style":238},[4098],{"type":62,"value":491},{"type":48,"tag":209,"props":4100,"children":4101},{"style":232},[4102],{"type":62,"value":3718},{"type":48,"tag":209,"props":4104,"children":4105},{"style":238},[4106],{"type":62,"value":500},{"type":48,"tag":209,"props":4108,"children":4109},{"style":238},[4110],{"type":62,"value":1487},{"type":48,"tag":209,"props":4112,"children":4113},{"class":211,"line":222},[4114,4118,4122,4127,4131,4135,4139,4143,4147],{"type":48,"tag":209,"props":4115,"children":4116},{"style":1446},[4117],{"type":62,"value":1449},{"type":48,"tag":209,"props":4119,"children":4120},{"style":238},[4121],{"type":62,"value":3252},{"type":48,"tag":209,"props":4123,"children":4124},{"style":1462},[4125],{"type":62,"value":4126}," withSentryConfig",{"type":48,"tag":209,"props":4128,"children":4129},{"style":238},[4130],{"type":62,"value":3262},{"type":48,"tag":209,"props":4132,"children":4133},{"style":1446},[4134],{"type":62,"value":3267},{"type":48,"tag":209,"props":4136,"children":4137},{"style":238},[4138],{"type":62,"value":491},{"type":48,"tag":209,"props":4140,"children":4141},{"style":232},[4142],{"type":62,"value":113},{"type":48,"tag":209,"props":4144,"children":4145},{"style":238},[4146],{"type":62,"value":500},{"type":48,"tag":209,"props":4148,"children":4149},{"style":238},[4150],{"type":62,"value":1487},{"type":48,"tag":209,"props":4152,"children":4153},{"class":211,"line":269},[4154],{"type":48,"tag":209,"props":4155,"children":4156},{"emptyLinePlaceholder":43},[4157],{"type":62,"value":275},{"type":48,"tag":209,"props":4159,"children":4160},{"class":211,"line":278},[4161,4166,4171,4175,4179,4183],{"type":48,"tag":209,"props":4162,"children":4163},{"style":1944},[4164],{"type":62,"value":4165},"const",{"type":48,"tag":209,"props":4167,"children":4168},{"style":1462},[4169],{"type":62,"value":4170}," nextConfig",{"type":48,"tag":209,"props":4172,"children":4173},{"style":238},[4174],{"type":62,"value":1535},{"type":48,"tag":209,"props":4176,"children":4177},{"style":226},[4178],{"type":62,"value":4086},{"type":48,"tag":209,"props":4180,"children":4181},{"style":238},[4182],{"type":62,"value":3783},{"type":48,"tag":209,"props":4184,"children":4185},{"style":238},[4186],{"type":62,"value":1605},{"type":48,"tag":209,"props":4188,"children":4189},{"class":211,"line":287},[4190],{"type":48,"tag":209,"props":4191,"children":4192},{"style":216},[4193],{"type":62,"value":4194},"  \u002F\u002F your existing Next.js config\n",{"type":48,"tag":209,"props":4196,"children":4197},{"class":211,"line":326},[4198],{"type":48,"tag":209,"props":4199,"children":4200},{"style":238},[4201],{"type":62,"value":4041},{"type":48,"tag":209,"props":4203,"children":4204},{"class":211,"line":334},[4205],{"type":48,"tag":209,"props":4206,"children":4207},{"emptyLinePlaceholder":43},[4208],{"type":62,"value":275},{"type":48,"tag":209,"props":4210,"children":4211},{"class":211,"line":343},[4212,4216,4220,4224,4229,4234],{"type":48,"tag":209,"props":4213,"children":4214},{"style":1446},[4215],{"type":62,"value":1941},{"type":48,"tag":209,"props":4217,"children":4218},{"style":1446},[4219],{"type":62,"value":3303},{"type":48,"tag":209,"props":4221,"children":4222},{"style":1508},[4223],{"type":62,"value":4126},{"type":48,"tag":209,"props":4225,"children":4226},{"style":1462},[4227],{"type":62,"value":4228},"(nextConfig",{"type":48,"tag":209,"props":4230,"children":4231},{"style":238},[4232],{"type":62,"value":4233},",",{"type":48,"tag":209,"props":4235,"children":4236},{"style":238},[4237],{"type":62,"value":1605},{"type":48,"tag":209,"props":4239,"children":4240},{"class":211,"line":379},[4241,4246,4250,4254,4259,4263],{"type":48,"tag":209,"props":4242,"children":4243},{"style":1527},[4244],{"type":62,"value":4245},"  org",{"type":48,"tag":209,"props":4247,"children":4248},{"style":238},[4249],{"type":62,"value":1535},{"type":48,"tag":209,"props":4251,"children":4252},{"style":238},[4253],{"type":62,"value":491},{"type":48,"tag":209,"props":4255,"children":4256},{"style":232},[4257],{"type":62,"value":4258},"___ORG_SLUG___",{"type":48,"tag":209,"props":4260,"children":4261},{"style":238},[4262],{"type":62,"value":500},{"type":48,"tag":209,"props":4264,"children":4265},{"style":238},[4266],{"type":62,"value":1581},{"type":48,"tag":209,"props":4268,"children":4269},{"class":211,"line":405},[4270,4275,4279,4283,4288,4292],{"type":48,"tag":209,"props":4271,"children":4272},{"style":1527},[4273],{"type":62,"value":4274},"  project",{"type":48,"tag":209,"props":4276,"children":4277},{"style":238},[4278],{"type":62,"value":1535},{"type":48,"tag":209,"props":4280,"children":4281},{"style":238},[4282],{"type":62,"value":491},{"type":48,"tag":209,"props":4284,"children":4285},{"style":232},[4286],{"type":62,"value":4287},"___PROJECT_SLUG___",{"type":48,"tag":209,"props":4289,"children":4290},{"style":238},[4291],{"type":62,"value":500},{"type":48,"tag":209,"props":4293,"children":4294},{"style":238},[4295],{"type":62,"value":1581},{"type":48,"tag":209,"props":4297,"children":4298},{"class":211,"line":413},[4299],{"type":48,"tag":209,"props":4300,"children":4301},{"emptyLinePlaceholder":43},[4302],{"type":62,"value":275},{"type":48,"tag":209,"props":4304,"children":4305},{"class":211,"line":422},[4306],{"type":48,"tag":209,"props":4307,"children":4308},{"style":216},[4309],{"type":62,"value":4310},"  \u002F\u002F Source map upload auth token (see Source Maps section below)\n",{"type":48,"tag":209,"props":4312,"children":4313},{"class":211,"line":453},[4314,4319,4323,4327,4331,4335,4339,4344],{"type":48,"tag":209,"props":4315,"children":4316},{"style":1527},[4317],{"type":62,"value":4318},"  authToken",{"type":48,"tag":209,"props":4320,"children":4321},{"style":238},[4322],{"type":62,"value":1535},{"type":48,"tag":209,"props":4324,"children":4325},{"style":1462},[4326],{"type":62,"value":1540},{"type":48,"tag":209,"props":4328,"children":4329},{"style":238},[4330],{"type":62,"value":1330},{"type":48,"tag":209,"props":4332,"children":4333},{"style":1462},[4334],{"type":62,"value":1549},{"type":48,"tag":209,"props":4336,"children":4337},{"style":238},[4338],{"type":62,"value":1330},{"type":48,"tag":209,"props":4340,"children":4341},{"style":1462},[4342],{"type":62,"value":4343},"SENTRY_AUTH_TOKEN",{"type":48,"tag":209,"props":4345,"children":4346},{"style":238},[4347],{"type":62,"value":1581},{"type":48,"tag":209,"props":4349,"children":4350},{"class":211,"line":461},[4351],{"type":48,"tag":209,"props":4352,"children":4353},{"emptyLinePlaceholder":43},[4354],{"type":62,"value":275},{"type":48,"tag":209,"props":4356,"children":4357},{"class":211,"line":470},[4358],{"type":48,"tag":209,"props":4359,"children":4360},{"style":216},[4361],{"type":62,"value":4362},"  \u002F\u002F Upload wider set of client source files for better stack trace resolution\n",{"type":48,"tag":209,"props":4364,"children":4365},{"class":211,"line":552},[4366,4371,4375,4379],{"type":48,"tag":209,"props":4367,"children":4368},{"style":1527},[4369],{"type":62,"value":4370},"  widenClientFileUpload",{"type":48,"tag":209,"props":4372,"children":4373},{"style":238},[4374],{"type":62,"value":1535},{"type":48,"tag":209,"props":4376,"children":4377},{"style":1813},[4378],{"type":62,"value":1816},{"type":48,"tag":209,"props":4380,"children":4381},{"style":238},[4382],{"type":62,"value":1581},{"type":48,"tag":209,"props":4384,"children":4385},{"class":211,"line":560},[4386],{"type":48,"tag":209,"props":4387,"children":4388},{"emptyLinePlaceholder":43},[4389],{"type":62,"value":275},{"type":48,"tag":209,"props":4391,"children":4392},{"class":211,"line":569},[4393],{"type":48,"tag":209,"props":4394,"children":4395},{"style":216},[4396],{"type":62,"value":4397},"  \u002F\u002F Create a proxy API route to bypass ad-blockers\n",{"type":48,"tag":209,"props":4399,"children":4400},{"class":211,"line":606},[4401,4406,4410,4414,4419,4423],{"type":48,"tag":209,"props":4402,"children":4403},{"style":1527},[4404],{"type":62,"value":4405},"  tunnelRoute",{"type":48,"tag":209,"props":4407,"children":4408},{"style":238},[4409],{"type":62,"value":1535},{"type":48,"tag":209,"props":4411,"children":4412},{"style":238},[4413],{"type":62,"value":491},{"type":48,"tag":209,"props":4415,"children":4416},{"style":232},[4417],{"type":62,"value":4418},"\u002Fmonitoring",{"type":48,"tag":209,"props":4420,"children":4421},{"style":238},[4422],{"type":62,"value":500},{"type":48,"tag":209,"props":4424,"children":4425},{"style":238},[4426],{"type":62,"value":1581},{"type":48,"tag":209,"props":4428,"children":4429},{"class":211,"line":614},[4430],{"type":48,"tag":209,"props":4431,"children":4432},{"emptyLinePlaceholder":43},[4433],{"type":62,"value":275},{"type":48,"tag":209,"props":4435,"children":4436},{"class":211,"line":623},[4437],{"type":48,"tag":209,"props":4438,"children":4439},{"style":216},[4440],{"type":62,"value":4441},"  \u002F\u002F Suppress non-CI output\n",{"type":48,"tag":209,"props":4443,"children":4444},{"class":211,"line":660},[4445,4450,4454,4459,4463,4467,4471,4475,4480],{"type":48,"tag":209,"props":4446,"children":4447},{"style":1527},[4448],{"type":62,"value":4449},"  silent",{"type":48,"tag":209,"props":4451,"children":4452},{"style":238},[4453],{"type":62,"value":1535},{"type":48,"tag":209,"props":4455,"children":4456},{"style":238},[4457],{"type":62,"value":4458}," !",{"type":48,"tag":209,"props":4460,"children":4461},{"style":1462},[4462],{"type":62,"value":2757},{"type":48,"tag":209,"props":4464,"children":4465},{"style":238},[4466],{"type":62,"value":1330},{"type":48,"tag":209,"props":4468,"children":4469},{"style":1462},[4470],{"type":62,"value":1549},{"type":48,"tag":209,"props":4472,"children":4473},{"style":238},[4474],{"type":62,"value":1330},{"type":48,"tag":209,"props":4476,"children":4477},{"style":1462},[4478],{"type":62,"value":4479},"CI",{"type":48,"tag":209,"props":4481,"children":4482},{"style":238},[4483],{"type":62,"value":1581},{"type":48,"tag":209,"props":4485,"children":4486},{"class":211,"line":668},[4487,4491,4495],{"type":48,"tag":209,"props":4488,"children":4489},{"style":238},[4490],{"type":62,"value":1908},{"type":48,"tag":209,"props":4492,"children":4493},{"style":1462},[4494],{"type":62,"value":826},{"type":48,"tag":209,"props":4496,"children":4497},{"style":238},[4498],{"type":62,"value":1487},{"type":48,"tag":1361,"props":4500,"children":4502},{"id":4501},"exclude-tunnel-route-from-middleware",[4503],{"type":62,"value":4504},"Exclude Tunnel Route from Middleware",{"type":48,"tag":53,"props":4506,"children":4507},{},[4508,4510,4516],{"type":62,"value":4509},"If you have ",{"type":48,"tag":108,"props":4511,"children":4513},{"className":4512},[],[4514],{"type":62,"value":4515},"middleware.ts",{"type":62,"value":4517},", exclude the tunnel path from auth or redirect logic:",{"type":48,"tag":198,"props":4519,"children":4521},{"className":1434,"code":4520,"language":1436,"meta":203,"style":203},"\u002F\u002F middleware.ts\nexport const config = {\n  matcher: [\n    \u002F\u002F Exclude monitoring route, Next.js internals, and static files\n    \"\u002F((?!monitoring|_next\u002Fstatic|_next\u002Fimage|favicon.ico).*)\",\n  ],\n};\n",[4522],{"type":48,"tag":108,"props":4523,"children":4524},{"__ignoreMap":203},[4525,4533,4557,4573,4581,4602,4613],{"type":48,"tag":209,"props":4526,"children":4527},{"class":211,"line":212},[4528],{"type":48,"tag":209,"props":4529,"children":4530},{"style":216},[4531],{"type":62,"value":4532},"\u002F\u002F middleware.ts\n",{"type":48,"tag":209,"props":4534,"children":4535},{"class":211,"line":222},[4536,4540,4544,4549,4553],{"type":48,"tag":209,"props":4537,"children":4538},{"style":1446},[4539],{"type":62,"value":1941},{"type":48,"tag":209,"props":4541,"children":4542},{"style":1944},[4543],{"type":62,"value":1947},{"type":48,"tag":209,"props":4545,"children":4546},{"style":1462},[4547],{"type":62,"value":4548}," config ",{"type":48,"tag":209,"props":4550,"children":4551},{"style":238},[4552],{"type":62,"value":1957},{"type":48,"tag":209,"props":4554,"children":4555},{"style":238},[4556],{"type":62,"value":1605},{"type":48,"tag":209,"props":4558,"children":4559},{"class":211,"line":269},[4560,4565,4569],{"type":48,"tag":209,"props":4561,"children":4562},{"style":1527},[4563],{"type":62,"value":4564},"  matcher",{"type":48,"tag":209,"props":4566,"children":4567},{"style":238},[4568],{"type":62,"value":1535},{"type":48,"tag":209,"props":4570,"children":4571},{"style":1462},[4572],{"type":62,"value":1844},{"type":48,"tag":209,"props":4574,"children":4575},{"class":211,"line":278},[4576],{"type":48,"tag":209,"props":4577,"children":4578},{"style":216},[4579],{"type":62,"value":4580},"    \u002F\u002F Exclude monitoring route, Next.js internals, and static files\n",{"type":48,"tag":209,"props":4582,"children":4583},{"class":211,"line":287},[4584,4589,4594,4598],{"type":48,"tag":209,"props":4585,"children":4586},{"style":238},[4587],{"type":62,"value":4588},"    \"",{"type":48,"tag":209,"props":4590,"children":4591},{"style":232},[4592],{"type":62,"value":4593},"\u002F((?!monitoring|_next\u002Fstatic|_next\u002Fimage|favicon.ico).*)",{"type":48,"tag":209,"props":4595,"children":4596},{"style":238},[4597],{"type":62,"value":500},{"type":48,"tag":209,"props":4599,"children":4600},{"style":238},[4601],{"type":62,"value":1581},{"type":48,"tag":209,"props":4603,"children":4604},{"class":211,"line":326},[4605,4609],{"type":48,"tag":209,"props":4606,"children":4607},{"style":1462},[4608],{"type":62,"value":1895},{"type":48,"tag":209,"props":4610,"children":4611},{"style":238},[4612],{"type":62,"value":1581},{"type":48,"tag":209,"props":4614,"children":4615},{"class":211,"line":334},[4616],{"type":48,"tag":209,"props":4617,"children":4618},{"style":238},[4619],{"type":62,"value":4041},{"type":48,"tag":183,"props":4621,"children":4622},{},[],{"type":48,"tag":1253,"props":4624,"children":4626},{"id":4625},"source-maps-setup",[4627],{"type":62,"value":4628},"Source Maps Setup",{"type":48,"tag":53,"props":4630,"children":4631},{},[4632,4637,4639,4645,4647,4653,4655,4660],{"type":48,"tag":108,"props":4633,"children":4635},{"className":4634},[],[4636],{"type":62,"value":883},{"type":62,"value":4638}," uploads source maps on production builds so stack traces show your original code instead of minified output. The SDK-specific wiring is the ",{"type":48,"tag":108,"props":4640,"children":4642},{"className":4641},[],[4643],{"type":62,"value":4644},"authToken",{"type":62,"value":4646}," (plus ",{"type":48,"tag":108,"props":4648,"children":4650},{"className":4649},[],[4651],{"type":62,"value":4652},"widenClientFileUpload",{"type":62,"value":4654},", which improves client stack traces) in ",{"type":48,"tag":108,"props":4656,"children":4658},{"className":4657},[],[4659],{"type":62,"value":1320},{"type":62,"value":1535},{"type":48,"tag":198,"props":4662,"children":4664},{"className":1434,"code":4663,"language":1436,"meta":203,"style":203},"withSentryConfig(nextConfig, {\n  org: \"my-org\",\n  project: \"my-project\",\n  authToken: process.env.SENTRY_AUTH_TOKEN, \u002F\u002F from CI env or a gitignored .env.sentry-build-plugin\n  widenClientFileUpload: true,\n});\n",[4665],{"type":48,"tag":108,"props":4666,"children":4667},{"__ignoreMap":203},[4668,4687,4715,4743,4783,4802],{"type":48,"tag":209,"props":4669,"children":4670},{"class":211,"line":212},[4671,4675,4679,4683],{"type":48,"tag":209,"props":4672,"children":4673},{"style":1508},[4674],{"type":62,"value":883},{"type":48,"tag":209,"props":4676,"children":4677},{"style":1462},[4678],{"type":62,"value":4228},{"type":48,"tag":209,"props":4680,"children":4681},{"style":238},[4682],{"type":62,"value":4233},{"type":48,"tag":209,"props":4684,"children":4685},{"style":238},[4686],{"type":62,"value":1605},{"type":48,"tag":209,"props":4688,"children":4689},{"class":211,"line":222},[4690,4694,4698,4702,4707,4711],{"type":48,"tag":209,"props":4691,"children":4692},{"style":1527},[4693],{"type":62,"value":4245},{"type":48,"tag":209,"props":4695,"children":4696},{"style":238},[4697],{"type":62,"value":1535},{"type":48,"tag":209,"props":4699,"children":4700},{"style":238},[4701],{"type":62,"value":491},{"type":48,"tag":209,"props":4703,"children":4704},{"style":232},[4705],{"type":62,"value":4706},"my-org",{"type":48,"tag":209,"props":4708,"children":4709},{"style":238},[4710],{"type":62,"value":500},{"type":48,"tag":209,"props":4712,"children":4713},{"style":238},[4714],{"type":62,"value":1581},{"type":48,"tag":209,"props":4716,"children":4717},{"class":211,"line":269},[4718,4722,4726,4730,4735,4739],{"type":48,"tag":209,"props":4719,"children":4720},{"style":1527},[4721],{"type":62,"value":4274},{"type":48,"tag":209,"props":4723,"children":4724},{"style":238},[4725],{"type":62,"value":1535},{"type":48,"tag":209,"props":4727,"children":4728},{"style":238},[4729],{"type":62,"value":491},{"type":48,"tag":209,"props":4731,"children":4732},{"style":232},[4733],{"type":62,"value":4734},"my-project",{"type":48,"tag":209,"props":4736,"children":4737},{"style":238},[4738],{"type":62,"value":500},{"type":48,"tag":209,"props":4740,"children":4741},{"style":238},[4742],{"type":62,"value":1581},{"type":48,"tag":209,"props":4744,"children":4745},{"class":211,"line":278},[4746,4750,4754,4758,4762,4766,4770,4774,4778],{"type":48,"tag":209,"props":4747,"children":4748},{"style":1527},[4749],{"type":62,"value":4318},{"type":48,"tag":209,"props":4751,"children":4752},{"style":238},[4753],{"type":62,"value":1535},{"type":48,"tag":209,"props":4755,"children":4756},{"style":1462},[4757],{"type":62,"value":1540},{"type":48,"tag":209,"props":4759,"children":4760},{"style":238},[4761],{"type":62,"value":1330},{"type":48,"tag":209,"props":4763,"children":4764},{"style":1462},[4765],{"type":62,"value":1549},{"type":48,"tag":209,"props":4767,"children":4768},{"style":238},[4769],{"type":62,"value":1330},{"type":48,"tag":209,"props":4771,"children":4772},{"style":1462},[4773],{"type":62,"value":4343},{"type":48,"tag":209,"props":4775,"children":4776},{"style":238},[4777],{"type":62,"value":4233},{"type":48,"tag":209,"props":4779,"children":4780},{"style":216},[4781],{"type":62,"value":4782}," \u002F\u002F from CI env or a gitignored .env.sentry-build-plugin\n",{"type":48,"tag":209,"props":4784,"children":4785},{"class":211,"line":287},[4786,4790,4794,4798],{"type":48,"tag":209,"props":4787,"children":4788},{"style":1527},[4789],{"type":62,"value":4370},{"type":48,"tag":209,"props":4791,"children":4792},{"style":238},[4793],{"type":62,"value":1535},{"type":48,"tag":209,"props":4795,"children":4796},{"style":1813},[4797],{"type":62,"value":1816},{"type":48,"tag":209,"props":4799,"children":4800},{"style":238},[4801],{"type":62,"value":1581},{"type":48,"tag":209,"props":4803,"children":4804},{"class":211,"line":326},[4805,4809,4813],{"type":48,"tag":209,"props":4806,"children":4807},{"style":238},[4808],{"type":62,"value":1908},{"type":48,"tag":209,"props":4810,"children":4811},{"style":1462},[4812],{"type":62,"value":826},{"type":48,"tag":209,"props":4814,"children":4815},{"style":238},[4816],{"type":62,"value":1487},{"type":48,"tag":53,"props":4818,"children":4819},{},[4820,4825,4827,4837],{"type":48,"tag":108,"props":4821,"children":4823},{"className":4822},[],[4824],{"type":62,"value":4343},{"type":62,"value":4826}," is a build-time secret, distinct from the DSN. For creating the token, wiring it into CI, and troubleshooting minified traces, see ",{"type":48,"tag":57,"props":4828,"children":4830},{"href":4829},"..\u002Fsentry-source-maps\u002FSKILL.md",[4831],{"type":48,"tag":108,"props":4832,"children":4834},{"className":4833},[],[4835],{"type":62,"value":4836},"sentry-source-maps",{"type":62,"value":1330},{"type":48,"tag":53,"props":4839,"children":4840},{},[4841,4843,4849],{"type":62,"value":4842},"Source maps are uploaded automatically on every ",{"type":48,"tag":108,"props":4844,"children":4846},{"className":4845},[],[4847],{"type":62,"value":4848},"next build",{"type":62,"value":1330},{"type":48,"tag":183,"props":4851,"children":4852},{},[],{"type":48,"tag":1253,"props":4854,"children":4856},{"id":4855},"for-each-agreed-feature",[4857],{"type":62,"value":4858},"For Each Agreed Feature",{"type":48,"tag":53,"props":4860,"children":4861},{},[4862],{"type":62,"value":4863},"Load the corresponding reference file and follow its steps:",{"type":48,"tag":760,"props":4865,"children":4866},{},[4867,4887],{"type":48,"tag":764,"props":4868,"children":4869},{},[4870],{"type":48,"tag":768,"props":4871,"children":4872},{},[4873,4877,4882],{"type":48,"tag":772,"props":4874,"children":4875},{},[4876],{"type":62,"value":1099},{"type":48,"tag":772,"props":4878,"children":4879},{},[4880],{"type":62,"value":4881},"Reference file",{"type":48,"tag":772,"props":4883,"children":4884},{},[4885],{"type":62,"value":4886},"Load when...",{"type":48,"tag":783,"props":4888,"children":4889},{},[4890,4918,4945,4966,4994,5029,5050,5076],{"type":48,"tag":768,"props":4891,"children":4892},{},[4893,4897,4906],{"type":48,"tag":790,"props":4894,"children":4895},{},[4896],{"type":62,"value":946},{"type":48,"tag":790,"props":4898,"children":4899},{},[4900],{"type":48,"tag":108,"props":4901,"children":4903},{"className":4902},[],[4904],{"type":62,"value":4905},"references\u002Ferror-monitoring.md",{"type":48,"tag":790,"props":4907,"children":4908},{},[4909,4911,4916],{"type":62,"value":4910},"Always (baseline) — App Router error boundaries, Pages Router ",{"type":48,"tag":108,"props":4912,"children":4914},{"className":4913},[],[4915],{"type":62,"value":518},{"type":62,"value":4917},", server action wrapping",{"type":48,"tag":768,"props":4919,"children":4920},{},[4921,4925,4934],{"type":48,"tag":790,"props":4922,"children":4923},{},[4924],{"type":62,"value":957},{"type":48,"tag":790,"props":4926,"children":4927},{},[4928],{"type":48,"tag":108,"props":4929,"children":4931},{"className":4930},[],[4932],{"type":62,"value":4933},"references\u002Ftracing.md",{"type":48,"tag":790,"props":4935,"children":4936},{},[4937,4939],{"type":62,"value":4938},"Server-side request tracing, client navigation, distributed tracing, ",{"type":48,"tag":108,"props":4940,"children":4942},{"className":4941},[],[4943],{"type":62,"value":4944},"tracePropagationTargets",{"type":48,"tag":768,"props":4946,"children":4947},{},[4948,4952,4961],{"type":48,"tag":790,"props":4949,"children":4950},{},[4951],{"type":62,"value":968},{"type":48,"tag":790,"props":4953,"children":4954},{},[4955],{"type":48,"tag":108,"props":4956,"children":4958},{"className":4957},[],[4959],{"type":62,"value":4960},"references\u002Fsession-replay.md",{"type":48,"tag":790,"props":4962,"children":4963},{},[4964],{"type":62,"value":4965},"User-facing app; privacy masking, canvas recording, network capture",{"type":48,"tag":768,"props":4967,"children":4968},{},[4969,4973,4982],{"type":48,"tag":790,"props":4970,"children":4971},{},[4972],{"type":62,"value":991},{"type":48,"tag":790,"props":4974,"children":4975},{},[4976],{"type":48,"tag":108,"props":4977,"children":4979},{"className":4978},[],[4980],{"type":62,"value":4981},"references\u002Flogging.md",{"type":48,"tag":790,"props":4983,"children":4984},{},[4985,4987,4992],{"type":62,"value":4986},"Structured logs, ",{"type":48,"tag":108,"props":4988,"children":4990},{"className":4989},[],[4991],{"type":62,"value":999},{"type":62,"value":4993},", log-to-trace correlation",{"type":48,"tag":768,"props":4995,"children":4996},{},[4997,5001,5010],{"type":48,"tag":790,"props":4998,"children":4999},{},[5000],{"type":62,"value":1026},{"type":48,"tag":790,"props":5002,"children":5003},{},[5004],{"type":48,"tag":108,"props":5005,"children":5007},{"className":5006},[],[5008],{"type":62,"value":5009},"references\u002Fprofiling.md",{"type":48,"tag":790,"props":5011,"children":5012},{},[5013,5015,5021,5023],{"type":62,"value":5014},"Continuous profiling, ",{"type":48,"tag":108,"props":5016,"children":5018},{"className":5017},[],[5019],{"type":62,"value":5020},"Document-Policy",{"type":62,"value":5022}," header, ",{"type":48,"tag":108,"props":5024,"children":5026},{"className":5025},[],[5027],{"type":62,"value":5028},"nodeProfilingIntegration",{"type":48,"tag":768,"props":5030,"children":5031},{},[5032,5036,5045],{"type":48,"tag":790,"props":5033,"children":5034},{},[5035],{"type":62,"value":1045},{"type":48,"tag":790,"props":5037,"children":5038},{},[5039],{"type":48,"tag":108,"props":5040,"children":5042},{"className":5041},[],[5043],{"type":62,"value":5044},"references\u002Fai-monitoring.md",{"type":48,"tag":790,"props":5046,"children":5047},{},[5048],{"type":62,"value":5049},"App uses OpenAI, Vercel AI SDK, or Anthropic",{"type":48,"tag":768,"props":5051,"children":5052},{},[5053,5057,5066],{"type":48,"tag":790,"props":5054,"children":5055},{},[5056],{"type":62,"value":1056},{"type":48,"tag":790,"props":5058,"children":5059},{},[5060],{"type":48,"tag":108,"props":5061,"children":5063},{"className":5062},[],[5064],{"type":62,"value":5065},"references\u002Fcrons.md",{"type":48,"tag":790,"props":5067,"children":5068},{},[5069,5071],{"type":62,"value":5070},"Vercel Cron, scheduled API routes, ",{"type":48,"tag":108,"props":5072,"children":5074},{"className":5073},[],[5075],{"type":62,"value":1212},{"type":48,"tag":768,"props":5077,"children":5078},{},[5079,5083,5092],{"type":48,"tag":790,"props":5080,"children":5081},{},[5082],{"type":62,"value":1067},{"type":48,"tag":790,"props":5084,"children":5085},{},[5086],{"type":48,"tag":108,"props":5087,"children":5089},{"className":5088},[],[5090],{"type":62,"value":5091},"references\u002Fmetrics.md",{"type":48,"tag":790,"props":5093,"children":5094},{},[5095,5097],{"type":62,"value":5096},"Custom counters, gauges, distributions via ",{"type":48,"tag":108,"props":5098,"children":5100},{"className":5099},[],[5101],{"type":62,"value":1075},{"type":48,"tag":53,"props":5103,"children":5104},{},[5105],{"type":62,"value":5106},"For each feature: read the reference file, follow its steps exactly, and verify before moving on.",{"type":48,"tag":183,"props":5108,"children":5109},{},[],{"type":48,"tag":86,"props":5111,"children":5113},{"id":5112},"configuration-reference",[5114],{"type":62,"value":5115},"Configuration Reference",{"type":48,"tag":1253,"props":5117,"children":5119},{"id":5118},"sentryinit-options",[5120,5126],{"type":48,"tag":108,"props":5121,"children":5123},{"className":5122},[],[5124],{"type":62,"value":5125},"Sentry.init()",{"type":62,"value":5127}," Options",{"type":48,"tag":760,"props":5129,"children":5130},{},[5131,5157],{"type":48,"tag":764,"props":5132,"children":5133},{},[5134],{"type":48,"tag":768,"props":5135,"children":5136},{},[5137,5142,5147,5152],{"type":48,"tag":772,"props":5138,"children":5139},{},[5140],{"type":62,"value":5141},"Option",{"type":48,"tag":772,"props":5143,"children":5144},{},[5145],{"type":62,"value":5146},"Type",{"type":48,"tag":772,"props":5148,"children":5149},{},[5150],{"type":62,"value":5151},"Default",{"type":48,"tag":772,"props":5153,"children":5154},{},[5155],{"type":62,"value":5156},"Notes",{"type":48,"tag":783,"props":5158,"children":5159},{},[5160,5207,5237,5271,5305,5403,5437,5470,5513,5542],{"type":48,"tag":768,"props":5161,"children":5162},{},[5163,5172,5181,5186],{"type":48,"tag":790,"props":5164,"children":5165},{},[5166],{"type":48,"tag":108,"props":5167,"children":5169},{"className":5168},[],[5170],{"type":62,"value":5171},"dsn",{"type":48,"tag":790,"props":5173,"children":5174},{},[5175],{"type":48,"tag":108,"props":5176,"children":5178},{"className":5177},[],[5179],{"type":62,"value":5180},"string",{"type":48,"tag":790,"props":5182,"children":5183},{},[5184],{"type":62,"value":5185},"—",{"type":48,"tag":790,"props":5187,"children":5188},{},[5189,5191,5197,5199,5205],{"type":62,"value":5190},"Required. Use ",{"type":48,"tag":108,"props":5192,"children":5194},{"className":5193},[],[5195],{"type":62,"value":5196},"NEXT_PUBLIC_SENTRY_DSN",{"type":62,"value":5198}," for client, ",{"type":48,"tag":108,"props":5200,"children":5202},{"className":5201},[],[5203],{"type":62,"value":5204},"SENTRY_DSN",{"type":62,"value":5206}," for server",{"type":48,"tag":768,"props":5208,"children":5209},{},[5210,5219,5228,5232],{"type":48,"tag":790,"props":5211,"children":5212},{},[5213],{"type":48,"tag":108,"props":5214,"children":5216},{"className":5215},[],[5217],{"type":62,"value":5218},"tracesSampleRate",{"type":48,"tag":790,"props":5220,"children":5221},{},[5222],{"type":48,"tag":108,"props":5223,"children":5225},{"className":5224},[],[5226],{"type":62,"value":5227},"number",{"type":48,"tag":790,"props":5229,"children":5230},{},[5231],{"type":62,"value":5185},{"type":48,"tag":790,"props":5233,"children":5234},{},[5235],{"type":62,"value":5236},"0–1; 1.0 in dev, 0.1 in prod recommended",{"type":48,"tag":768,"props":5238,"children":5239},{},[5240,5249,5257,5266],{"type":48,"tag":790,"props":5241,"children":5242},{},[5243],{"type":48,"tag":108,"props":5244,"children":5246},{"className":5245},[],[5247],{"type":62,"value":5248},"replaysSessionSampleRate",{"type":48,"tag":790,"props":5250,"children":5251},{},[5252],{"type":48,"tag":108,"props":5253,"children":5255},{"className":5254},[],[5256],{"type":62,"value":5227},{"type":48,"tag":790,"props":5258,"children":5259},{},[5260],{"type":48,"tag":108,"props":5261,"children":5263},{"className":5262},[],[5264],{"type":62,"value":5265},"0.1",{"type":48,"tag":790,"props":5267,"children":5268},{},[5269],{"type":62,"value":5270},"Fraction of all sessions recorded",{"type":48,"tag":768,"props":5272,"children":5273},{},[5274,5283,5291,5300],{"type":48,"tag":790,"props":5275,"children":5276},{},[5277],{"type":48,"tag":108,"props":5278,"children":5280},{"className":5279},[],[5281],{"type":62,"value":5282},"replaysOnErrorSampleRate",{"type":48,"tag":790,"props":5284,"children":5285},{},[5286],{"type":48,"tag":108,"props":5287,"children":5289},{"className":5288},[],[5290],{"type":62,"value":5227},{"type":48,"tag":790,"props":5292,"children":5293},{},[5294],{"type":48,"tag":108,"props":5295,"children":5297},{"className":5296},[],[5298],{"type":62,"value":5299},"1.0",{"type":48,"tag":790,"props":5301,"children":5302},{},[5303],{"type":62,"value":5304},"Fraction of error sessions recorded",{"type":48,"tag":768,"props":5306,"children":5307},{},[5308,5317,5326,5331],{"type":48,"tag":790,"props":5309,"children":5310},{},[5311],{"type":48,"tag":108,"props":5312,"children":5314},{"className":5313},[],[5315],{"type":62,"value":5316},"dataCollection",{"type":48,"tag":790,"props":5318,"children":5319},{},[5320],{"type":48,"tag":108,"props":5321,"children":5323},{"className":5322},[],[5324],{"type":62,"value":5325},"object",{"type":48,"tag":790,"props":5327,"children":5328},{},[5329],{"type":62,"value":5330},"conservative unless set",{"type":48,"tag":790,"props":5332,"children":5333},{},[5334,5336,5342,5343,5349,5350,5356,5357,5363,5364,5370,5371,5377,5379,5385,5387,5393,5395,5401],{"type":62,"value":5335},"Fine-grained control over auto-collected categories (",{"type":48,"tag":108,"props":5337,"children":5339},{"className":5338},[],[5340],{"type":62,"value":5341},"userInfo",{"type":62,"value":131},{"type":48,"tag":108,"props":5344,"children":5346},{"className":5345},[],[5347],{"type":62,"value":5348},"cookies",{"type":62,"value":131},{"type":48,"tag":108,"props":5351,"children":5353},{"className":5352},[],[5354],{"type":62,"value":5355},"httpHeaders",{"type":62,"value":131},{"type":48,"tag":108,"props":5358,"children":5360},{"className":5359},[],[5361],{"type":62,"value":5362},"httpBodies",{"type":62,"value":131},{"type":48,"tag":108,"props":5365,"children":5367},{"className":5366},[],[5368],{"type":62,"value":5369},"queryParams",{"type":62,"value":131},{"type":48,"tag":108,"props":5372,"children":5374},{"className":5373},[],[5375],{"type":62,"value":5376},"genAI",{"type":62,"value":5378},"). When omitted, the SDK falls back to ",{"type":48,"tag":108,"props":5380,"children":5382},{"className":5381},[],[5383],{"type":62,"value":5384},"sendDefaultPii",{"type":62,"value":5386}," (default ",{"type":48,"tag":108,"props":5388,"children":5390},{"className":5389},[],[5391],{"type":62,"value":5392},"false",{"type":62,"value":5394},"). Passing the object — even ",{"type":48,"tag":108,"props":5396,"children":5398},{"className":5397},[],[5399],{"type":62,"value":5400},"{}",{"type":62,"value":5402}," — flips unset categories to their permissive defaults; opt out per category.",{"type":48,"tag":768,"props":5404,"children":5405},{},[5406,5415,5424,5432],{"type":48,"tag":790,"props":5407,"children":5408},{},[5409],{"type":48,"tag":108,"props":5410,"children":5412},{"className":5411},[],[5413],{"type":62,"value":5414},"includeLocalVariables",{"type":48,"tag":790,"props":5416,"children":5417},{},[5418],{"type":48,"tag":108,"props":5419,"children":5421},{"className":5420},[],[5422],{"type":62,"value":5423},"boolean",{"type":48,"tag":790,"props":5425,"children":5426},{},[5427],{"type":48,"tag":108,"props":5428,"children":5430},{"className":5429},[],[5431],{"type":62,"value":5392},{"type":48,"tag":790,"props":5433,"children":5434},{},[5435],{"type":62,"value":5436},"Attach local variable values to stack frames (server only)",{"type":48,"tag":768,"props":5438,"children":5439},{},[5440,5449,5457,5465],{"type":48,"tag":790,"props":5441,"children":5442},{},[5443],{"type":48,"tag":108,"props":5444,"children":5446},{"className":5445},[],[5447],{"type":62,"value":5448},"enableLogs",{"type":48,"tag":790,"props":5450,"children":5451},{},[5452],{"type":48,"tag":108,"props":5453,"children":5455},{"className":5454},[],[5456],{"type":62,"value":5423},{"type":48,"tag":790,"props":5458,"children":5459},{},[5460],{"type":48,"tag":108,"props":5461,"children":5463},{"className":5462},[],[5464],{"type":62,"value":5392},{"type":48,"tag":790,"props":5466,"children":5467},{},[5468],{"type":62,"value":5469},"Enable Sentry Logs product",{"type":48,"tag":768,"props":5471,"children":5472},{},[5473,5482,5490,5495],{"type":48,"tag":790,"props":5474,"children":5475},{},[5476],{"type":48,"tag":108,"props":5477,"children":5479},{"className":5478},[],[5480],{"type":62,"value":5481},"environment",{"type":48,"tag":790,"props":5483,"children":5484},{},[5485],{"type":48,"tag":108,"props":5486,"children":5488},{"className":5487},[],[5489],{"type":62,"value":5180},{"type":48,"tag":790,"props":5491,"children":5492},{},[5493],{"type":62,"value":5494},"auto",{"type":48,"tag":790,"props":5496,"children":5497},{},[5498,5504,5505,5511],{"type":48,"tag":108,"props":5499,"children":5501},{"className":5500},[],[5502],{"type":62,"value":5503},"\"production\"",{"type":62,"value":131},{"type":48,"tag":108,"props":5506,"children":5508},{"className":5507},[],[5509],{"type":62,"value":5510},"\"staging\"",{"type":62,"value":5512},", etc.",{"type":48,"tag":768,"props":5514,"children":5515},{},[5516,5525,5533,5537],{"type":48,"tag":790,"props":5517,"children":5518},{},[5519],{"type":48,"tag":108,"props":5520,"children":5522},{"className":5521},[],[5523],{"type":62,"value":5524},"release",{"type":48,"tag":790,"props":5526,"children":5527},{},[5528],{"type":48,"tag":108,"props":5529,"children":5531},{"className":5530},[],[5532],{"type":62,"value":5180},{"type":48,"tag":790,"props":5534,"children":5535},{},[5536],{"type":62,"value":5494},{"type":48,"tag":790,"props":5538,"children":5539},{},[5540],{"type":62,"value":5541},"Set to commit SHA or version tag",{"type":48,"tag":768,"props":5543,"children":5544},{},[5545,5554,5562,5570],{"type":48,"tag":790,"props":5546,"children":5547},{},[5548],{"type":48,"tag":108,"props":5549,"children":5551},{"className":5550},[],[5552],{"type":62,"value":5553},"debug",{"type":48,"tag":790,"props":5555,"children":5556},{},[5557],{"type":48,"tag":108,"props":5558,"children":5560},{"className":5559},[],[5561],{"type":62,"value":5423},{"type":48,"tag":790,"props":5563,"children":5564},{},[5565],{"type":48,"tag":108,"props":5566,"children":5568},{"className":5567},[],[5569],{"type":62,"value":5392},{"type":48,"tag":790,"props":5571,"children":5572},{},[5573],{"type":62,"value":5574},"Log SDK activity to console",{"type":48,"tag":1253,"props":5576,"children":5578},{"id":5577},"withsentryconfig-options",[5579,5584],{"type":48,"tag":108,"props":5580,"children":5582},{"className":5581},[],[5583],{"type":62,"value":137},{"type":62,"value":5127},{"type":48,"tag":760,"props":5586,"children":5587},{},[5588,5606],{"type":48,"tag":764,"props":5589,"children":5590},{},[5591],{"type":48,"tag":768,"props":5592,"children":5593},{},[5594,5598,5602],{"type":48,"tag":772,"props":5595,"children":5596},{},[5597],{"type":62,"value":5141},{"type":48,"tag":772,"props":5599,"children":5600},{},[5601],{"type":62,"value":5146},{"type":48,"tag":772,"props":5603,"children":5604},{},[5605],{"type":62,"value":5156},{"type":48,"tag":783,"props":5607,"children":5608},{},[5609,5634,5659,5689,5713,5745,5778],{"type":48,"tag":768,"props":5610,"children":5611},{},[5612,5621,5629],{"type":48,"tag":790,"props":5613,"children":5614},{},[5615],{"type":48,"tag":108,"props":5616,"children":5618},{"className":5617},[],[5619],{"type":62,"value":5620},"org",{"type":48,"tag":790,"props":5622,"children":5623},{},[5624],{"type":48,"tag":108,"props":5625,"children":5627},{"className":5626},[],[5628],{"type":62,"value":5180},{"type":48,"tag":790,"props":5630,"children":5631},{},[5632],{"type":62,"value":5633},"Sentry organization slug",{"type":48,"tag":768,"props":5635,"children":5636},{},[5637,5646,5654],{"type":48,"tag":790,"props":5638,"children":5639},{},[5640],{"type":48,"tag":108,"props":5641,"children":5643},{"className":5642},[],[5644],{"type":62,"value":5645},"project",{"type":48,"tag":790,"props":5647,"children":5648},{},[5649],{"type":48,"tag":108,"props":5650,"children":5652},{"className":5651},[],[5653],{"type":62,"value":5180},{"type":48,"tag":790,"props":5655,"children":5656},{},[5657],{"type":62,"value":5658},"Sentry project slug",{"type":48,"tag":768,"props":5660,"children":5661},{},[5662,5670,5678],{"type":48,"tag":790,"props":5663,"children":5664},{},[5665],{"type":48,"tag":108,"props":5666,"children":5668},{"className":5667},[],[5669],{"type":62,"value":4644},{"type":48,"tag":790,"props":5671,"children":5672},{},[5673],{"type":48,"tag":108,"props":5674,"children":5676},{"className":5675},[],[5677],{"type":62,"value":5180},{"type":48,"tag":790,"props":5679,"children":5680},{},[5681,5683,5688],{"type":62,"value":5682},"Source map upload token (",{"type":48,"tag":108,"props":5684,"children":5686},{"className":5685},[],[5687],{"type":62,"value":4343},{"type":62,"value":826},{"type":48,"tag":768,"props":5690,"children":5691},{},[5692,5700,5708],{"type":48,"tag":790,"props":5693,"children":5694},{},[5695],{"type":48,"tag":108,"props":5696,"children":5698},{"className":5697},[],[5699],{"type":62,"value":4652},{"type":48,"tag":790,"props":5701,"children":5702},{},[5703],{"type":48,"tag":108,"props":5704,"children":5706},{"className":5705},[],[5707],{"type":62,"value":5423},{"type":48,"tag":790,"props":5709,"children":5710},{},[5711],{"type":62,"value":5712},"Upload more client files for better stack traces",{"type":48,"tag":768,"props":5714,"children":5715},{},[5716,5725,5733],{"type":48,"tag":790,"props":5717,"children":5718},{},[5719],{"type":48,"tag":108,"props":5720,"children":5722},{"className":5721},[],[5723],{"type":62,"value":5724},"tunnelRoute",{"type":48,"tag":790,"props":5726,"children":5727},{},[5728],{"type":48,"tag":108,"props":5729,"children":5731},{"className":5730},[],[5732],{"type":62,"value":5180},{"type":48,"tag":790,"props":5734,"children":5735},{},[5736,5738,5744],{"type":62,"value":5737},"API route path for ad-blocker bypass (e.g. ",{"type":48,"tag":108,"props":5739,"children":5741},{"className":5740},[],[5742],{"type":62,"value":5743},"\"\u002Fmonitoring\"",{"type":62,"value":826},{"type":48,"tag":768,"props":5746,"children":5747},{},[5748,5757,5765],{"type":48,"tag":790,"props":5749,"children":5750},{},[5751],{"type":48,"tag":108,"props":5752,"children":5754},{"className":5753},[],[5755],{"type":62,"value":5756},"silent",{"type":48,"tag":790,"props":5758,"children":5759},{},[5760],{"type":48,"tag":108,"props":5761,"children":5763},{"className":5762},[],[5764],{"type":62,"value":5423},{"type":48,"tag":790,"props":5766,"children":5767},{},[5768,5770,5776],{"type":62,"value":5769},"Suppress build output (",{"type":48,"tag":108,"props":5771,"children":5773},{"className":5772},[],[5774],{"type":62,"value":5775},"!process.env.CI",{"type":62,"value":5777}," recommended)",{"type":48,"tag":768,"props":5779,"children":5780},{},[5781,5790,5798],{"type":48,"tag":790,"props":5782,"children":5783},{},[5784],{"type":48,"tag":108,"props":5785,"children":5787},{"className":5786},[],[5788],{"type":62,"value":5789},"webpack.treeshake.*",{"type":48,"tag":790,"props":5791,"children":5792},{},[5793],{"type":48,"tag":108,"props":5794,"children":5796},{"className":5795},[],[5797],{"type":62,"value":5325},{"type":48,"tag":790,"props":5799,"children":5800},{},[5801],{"type":62,"value":5802},"Tree-shake SDK features (webpack only, not Turbopack)",{"type":48,"tag":1253,"props":5804,"children":5806},{"id":5805},"environment-variables",[5807],{"type":62,"value":5808},"Environment Variables",{"type":48,"tag":760,"props":5810,"children":5811},{},[5812,5833],{"type":48,"tag":764,"props":5813,"children":5814},{},[5815],{"type":48,"tag":768,"props":5816,"children":5817},{},[5818,5823,5828],{"type":48,"tag":772,"props":5819,"children":5820},{},[5821],{"type":62,"value":5822},"Variable",{"type":48,"tag":772,"props":5824,"children":5825},{},[5826],{"type":62,"value":5827},"Runtime",{"type":48,"tag":772,"props":5829,"children":5830},{},[5831],{"type":62,"value":5832},"Purpose",{"type":48,"tag":783,"props":5834,"children":5835},{},[5836,5857,5878,5899,5927,5954,5976],{"type":48,"tag":768,"props":5837,"children":5838},{},[5839,5847,5852],{"type":48,"tag":790,"props":5840,"children":5841},{},[5842],{"type":48,"tag":108,"props":5843,"children":5845},{"className":5844},[],[5846],{"type":62,"value":5196},{"type":48,"tag":790,"props":5848,"children":5849},{},[5850],{"type":62,"value":5851},"Client",{"type":48,"tag":790,"props":5853,"children":5854},{},[5855],{"type":62,"value":5856},"DSN for browser Sentry init (public)",{"type":48,"tag":768,"props":5858,"children":5859},{},[5860,5868,5873],{"type":48,"tag":790,"props":5861,"children":5862},{},[5863],{"type":48,"tag":108,"props":5864,"children":5866},{"className":5865},[],[5867],{"type":62,"value":5204},{"type":48,"tag":790,"props":5869,"children":5870},{},[5871],{"type":62,"value":5872},"Server \u002F Edge",{"type":48,"tag":790,"props":5874,"children":5875},{},[5876],{"type":62,"value":5877},"DSN for server\u002Fedge Sentry init",{"type":48,"tag":768,"props":5879,"children":5880},{},[5881,5889,5894],{"type":48,"tag":790,"props":5882,"children":5883},{},[5884],{"type":48,"tag":108,"props":5885,"children":5887},{"className":5886},[],[5888],{"type":62,"value":4343},{"type":48,"tag":790,"props":5890,"children":5891},{},[5892],{"type":62,"value":5893},"Build",{"type":48,"tag":790,"props":5895,"children":5896},{},[5897],{"type":62,"value":5898},"Source map upload auth token (secret)",{"type":48,"tag":768,"props":5900,"children":5901},{},[5902,5911,5915],{"type":48,"tag":790,"props":5903,"children":5904},{},[5905],{"type":48,"tag":108,"props":5906,"children":5908},{"className":5907},[],[5909],{"type":62,"value":5910},"SENTRY_ORG",{"type":48,"tag":790,"props":5912,"children":5913},{},[5914],{"type":62,"value":5893},{"type":48,"tag":790,"props":5916,"children":5917},{},[5918,5920,5925],{"type":62,"value":5919},"Org slug (alternative to ",{"type":48,"tag":108,"props":5921,"children":5923},{"className":5922},[],[5924],{"type":62,"value":5620},{"type":62,"value":5926}," in config)",{"type":48,"tag":768,"props":5928,"children":5929},{},[5930,5939,5943],{"type":48,"tag":790,"props":5931,"children":5932},{},[5933],{"type":48,"tag":108,"props":5934,"children":5936},{"className":5935},[],[5937],{"type":62,"value":5938},"SENTRY_PROJECT",{"type":48,"tag":790,"props":5940,"children":5941},{},[5942],{"type":62,"value":5893},{"type":48,"tag":790,"props":5944,"children":5945},{},[5946,5948,5953],{"type":62,"value":5947},"Project slug (alternative to ",{"type":48,"tag":108,"props":5949,"children":5951},{"className":5950},[],[5952],{"type":62,"value":5645},{"type":62,"value":5926},{"type":48,"tag":768,"props":5955,"children":5956},{},[5957,5966,5971],{"type":48,"tag":790,"props":5958,"children":5959},{},[5960],{"type":48,"tag":108,"props":5961,"children":5963},{"className":5962},[],[5964],{"type":62,"value":5965},"SENTRY_RELEASE",{"type":48,"tag":790,"props":5967,"children":5968},{},[5969],{"type":62,"value":5970},"Server",{"type":48,"tag":790,"props":5972,"children":5973},{},[5974],{"type":62,"value":5975},"Release version string (auto-detected from git)",{"type":48,"tag":768,"props":5977,"children":5978},{},[5979,5987,5991],{"type":48,"tag":790,"props":5980,"children":5981},{},[5982],{"type":48,"tag":108,"props":5983,"children":5985},{"className":5984},[],[5986],{"type":62,"value":2774},{"type":48,"tag":790,"props":5988,"children":5989},{},[5990],{"type":62,"value":5872},{"type":48,"tag":790,"props":5992,"children":5993},{},[5994,5999,6001,6006],{"type":48,"tag":108,"props":5995,"children":5997},{"className":5996},[],[5998],{"type":62,"value":3066},{"type":62,"value":6000}," or ",{"type":48,"tag":108,"props":6002,"children":6004},{"className":6003},[],[6005],{"type":62,"value":3086},{"type":62,"value":6007}," (set by Next.js internally)",{"type":48,"tag":183,"props":6009,"children":6010},{},[],{"type":48,"tag":86,"props":6012,"children":6014},{"id":6013},"verification",[6015],{"type":62,"value":1344},{"type":48,"tag":53,"props":6017,"children":6018},{},[6019],{"type":62,"value":6020},"After wizard or manual setup, verify Sentry is working:",{"type":48,"tag":198,"props":6022,"children":6024},{"className":1434,"code":6023,"language":1436,"meta":203,"style":203},"\u002F\u002F Add temporarily to a server action or API route, then remove\nimport * as Sentry from \"@sentry\u002Fnextjs\";\n\nthrow new Error(\"Sentry test error — delete me\");\n\u002F\u002F or\nSentry.captureException(new Error(\"Sentry test error — delete me\"));\n",[6025],{"type":48,"tag":108,"props":6026,"children":6027},{"__ignoreMap":203},[6028,6036,6075,6082,6124,6132],{"type":48,"tag":209,"props":6029,"children":6030},{"class":211,"line":212},[6031],{"type":48,"tag":209,"props":6032,"children":6033},{"style":216},[6034],{"type":62,"value":6035},"\u002F\u002F Add temporarily to a server action or API route, then remove\n",{"type":48,"tag":209,"props":6037,"children":6038},{"class":211,"line":222},[6039,6043,6047,6051,6055,6059,6063,6067,6071],{"type":48,"tag":209,"props":6040,"children":6041},{"style":1446},[6042],{"type":62,"value":1449},{"type":48,"tag":209,"props":6044,"children":6045},{"style":238},[6046],{"type":62,"value":1454},{"type":48,"tag":209,"props":6048,"children":6049},{"style":1446},[6050],{"type":62,"value":1459},{"type":48,"tag":209,"props":6052,"children":6053},{"style":1462},[6054],{"type":62,"value":1465},{"type":48,"tag":209,"props":6056,"children":6057},{"style":1446},[6058],{"type":62,"value":1470},{"type":48,"tag":209,"props":6060,"children":6061},{"style":238},[6062],{"type":62,"value":491},{"type":48,"tag":209,"props":6064,"children":6065},{"style":232},[6066],{"type":62,"value":113},{"type":48,"tag":209,"props":6068,"children":6069},{"style":238},[6070],{"type":62,"value":500},{"type":48,"tag":209,"props":6072,"children":6073},{"style":238},[6074],{"type":62,"value":1487},{"type":48,"tag":209,"props":6076,"children":6077},{"class":211,"line":269},[6078],{"type":48,"tag":209,"props":6079,"children":6080},{"emptyLinePlaceholder":43},[6081],{"type":62,"value":275},{"type":48,"tag":209,"props":6083,"children":6084},{"class":211,"line":278},[6085,6090,6095,6099,6103,6107,6112,6116,6120],{"type":48,"tag":209,"props":6086,"children":6087},{"style":1446},[6088],{"type":62,"value":6089},"throw",{"type":48,"tag":209,"props":6091,"children":6092},{"style":238},[6093],{"type":62,"value":6094}," new",{"type":48,"tag":209,"props":6096,"children":6097},{"style":1508},[6098],{"type":62,"value":3358},{"type":48,"tag":209,"props":6100,"children":6101},{"style":1462},[6102],{"type":62,"value":1516},{"type":48,"tag":209,"props":6104,"children":6105},{"style":238},[6106],{"type":62,"value":500},{"type":48,"tag":209,"props":6108,"children":6109},{"style":232},[6110],{"type":62,"value":6111},"Sentry test error — delete me",{"type":48,"tag":209,"props":6113,"children":6114},{"style":238},[6115],{"type":62,"value":500},{"type":48,"tag":209,"props":6117,"children":6118},{"style":1462},[6119],{"type":62,"value":826},{"type":48,"tag":209,"props":6121,"children":6122},{"style":238},[6123],{"type":62,"value":1487},{"type":48,"tag":209,"props":6125,"children":6126},{"class":211,"line":287},[6127],{"type":48,"tag":209,"props":6128,"children":6129},{"style":216},[6130],{"type":62,"value":6131},"\u002F\u002F or\n",{"type":48,"tag":209,"props":6133,"children":6134},{"class":211,"line":326},[6135,6139,6143,6147,6151,6156,6160,6164,6168,6172,6176,6181],{"type":48,"tag":209,"props":6136,"children":6137},{"style":1462},[6138],{"type":62,"value":9},{"type":48,"tag":209,"props":6140,"children":6141},{"style":238},[6142],{"type":62,"value":1330},{"type":48,"tag":209,"props":6144,"children":6145},{"style":1508},[6146],{"type":62,"value":3440},{"type":48,"tag":209,"props":6148,"children":6149},{"style":1462},[6150],{"type":62,"value":1516},{"type":48,"tag":209,"props":6152,"children":6153},{"style":238},[6154],{"type":62,"value":6155},"new",{"type":48,"tag":209,"props":6157,"children":6158},{"style":1508},[6159],{"type":62,"value":3358},{"type":48,"tag":209,"props":6161,"children":6162},{"style":1462},[6163],{"type":62,"value":1516},{"type":48,"tag":209,"props":6165,"children":6166},{"style":238},[6167],{"type":62,"value":500},{"type":48,"tag":209,"props":6169,"children":6170},{"style":232},[6171],{"type":62,"value":6111},{"type":48,"tag":209,"props":6173,"children":6174},{"style":238},[6175],{"type":62,"value":500},{"type":48,"tag":209,"props":6177,"children":6178},{"style":1462},[6179],{"type":62,"value":6180},"))",{"type":48,"tag":209,"props":6182,"children":6183},{"style":238},[6184],{"type":62,"value":1487},{"type":48,"tag":53,"props":6186,"children":6187},{},[6188,6190,6197],{"type":62,"value":6189},"Then check your ",{"type":48,"tag":57,"props":6191,"children":6194},{"href":6192,"rel":6193},"https:\u002F\u002Fsentry.io\u002Fissues\u002F",[176],[6195],{"type":62,"value":6196},"Sentry Issues dashboard",{"type":62,"value":6198}," — the error should appear within ~30 seconds.",{"type":48,"tag":53,"props":6200,"children":6201},{},[6202],{"type":48,"tag":158,"props":6203,"children":6204},{},[6205],{"type":62,"value":6206},"Verification checklist:",{"type":48,"tag":760,"props":6208,"children":6209},{},[6210,6226],{"type":48,"tag":764,"props":6211,"children":6212},{},[6213],{"type":48,"tag":768,"props":6214,"children":6215},{},[6216,6221],{"type":48,"tag":772,"props":6217,"children":6218},{},[6219],{"type":62,"value":6220},"Check",{"type":48,"tag":772,"props":6222,"children":6223},{},[6224],{"type":62,"value":6225},"How",{"type":48,"tag":783,"props":6227,"children":6228},{},[6229,6242,6255,6268,6281],{"type":48,"tag":768,"props":6230,"children":6231},{},[6232,6237],{"type":48,"tag":790,"props":6233,"children":6234},{},[6235],{"type":62,"value":6236},"Client errors captured",{"type":48,"tag":790,"props":6238,"children":6239},{},[6240],{"type":62,"value":6241},"Throw in a client component, verify in Sentry",{"type":48,"tag":768,"props":6243,"children":6244},{},[6245,6250],{"type":48,"tag":790,"props":6246,"children":6247},{},[6248],{"type":62,"value":6249},"Server errors captured",{"type":48,"tag":790,"props":6251,"children":6252},{},[6253],{"type":62,"value":6254},"Throw in a server action or API route",{"type":48,"tag":768,"props":6256,"children":6257},{},[6258,6263],{"type":48,"tag":790,"props":6259,"children":6260},{},[6261],{"type":62,"value":6262},"Edge errors captured",{"type":48,"tag":790,"props":6264,"children":6265},{},[6266],{"type":62,"value":6267},"Throw in middleware or edge route handler",{"type":48,"tag":768,"props":6269,"children":6270},{},[6271,6276],{"type":48,"tag":790,"props":6272,"children":6273},{},[6274],{"type":62,"value":6275},"Source maps working",{"type":48,"tag":790,"props":6277,"children":6278},{},[6279],{"type":62,"value":6280},"Check stack trace shows readable file names",{"type":48,"tag":768,"props":6282,"children":6283},{},[6284,6289],{"type":48,"tag":790,"props":6285,"children":6286},{},[6287],{"type":62,"value":6288},"Session Replay working",{"type":48,"tag":790,"props":6290,"children":6291},{},[6292],{"type":62,"value":6293},"Check Replays tab in Sentry dashboard",{"type":48,"tag":183,"props":6295,"children":6296},{},[],{"type":48,"tag":86,"props":6298,"children":6300},{"id":6299},"phase-4-cross-link",[6301],{"type":62,"value":6302},"Phase 4: Cross-Link",{"type":48,"tag":53,"props":6304,"children":6305},{},[6306],{"type":62,"value":6307},"After completing Next.js setup, check for companion services:",{"type":48,"tag":198,"props":6309,"children":6311},{"className":200,"code":6310,"language":202,"meta":203,"style":203},"# Check for backend services in adjacent directories\nls ..\u002Fbackend ..\u002Fserver ..\u002Fapi ..\u002Fservices 2>\u002Fdev\u002Fnull\n\n# Check for backend language indicators\ncat ..\u002Fgo.mod 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002Frequirements.txt ..\u002Fpyproject.toml 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002FGemfile 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002Fpom.xml ..\u002Fbuild.gradle 2>\u002Fdev\u002Fnull | head -3\n",[6312],{"type":48,"tag":108,"props":6313,"children":6314},{"__ignoreMap":203},[6315,6323,6355,6362,6370,6401,6437,6468],{"type":48,"tag":209,"props":6316,"children":6317},{"class":211,"line":212},[6318],{"type":48,"tag":209,"props":6319,"children":6320},{"style":216},[6321],{"type":62,"value":6322},"# Check for backend services in adjacent directories\n",{"type":48,"tag":209,"props":6324,"children":6325},{"class":211,"line":222},[6326,6330,6334,6338,6342,6347,6351],{"type":48,"tag":209,"props":6327,"children":6328},{"style":226},[6329],{"type":62,"value":293},{"type":48,"tag":209,"props":6331,"children":6332},{"style":232},[6333],{"type":62,"value":687},{"type":48,"tag":209,"props":6335,"children":6336},{"style":232},[6337],{"type":62,"value":692},{"type":48,"tag":209,"props":6339,"children":6340},{"style":232},[6341],{"type":62,"value":697},{"type":48,"tag":209,"props":6343,"children":6344},{"style":232},[6345],{"type":62,"value":6346}," ..\u002Fservices",{"type":48,"tag":209,"props":6348,"children":6349},{"style":238},[6350],{"type":62,"value":318},{"type":48,"tag":209,"props":6352,"children":6353},{"style":232},[6354],{"type":62,"value":323},{"type":48,"tag":209,"props":6356,"children":6357},{"class":211,"line":269},[6358],{"type":48,"tag":209,"props":6359,"children":6360},{"emptyLinePlaceholder":43},[6361],{"type":62,"value":275},{"type":48,"tag":209,"props":6363,"children":6364},{"class":211,"line":278},[6365],{"type":48,"tag":209,"props":6366,"children":6367},{"style":216},[6368],{"type":62,"value":6369},"# Check for backend language indicators\n",{"type":48,"tag":209,"props":6371,"children":6372},{"class":211,"line":287},[6373,6377,6381,6385,6389,6393,6397],{"type":48,"tag":209,"props":6374,"children":6375},{"style":226},[6376],{"type":62,"value":229},{"type":48,"tag":209,"props":6378,"children":6379},{"style":232},[6380],{"type":62,"value":718},{"type":48,"tag":209,"props":6382,"children":6383},{"style":238},[6384],{"type":62,"value":318},{"type":48,"tag":209,"props":6386,"children":6387},{"style":232},[6388],{"type":62,"value":531},{"type":48,"tag":209,"props":6390,"children":6391},{"style":238},[6392],{"type":62,"value":241},{"type":48,"tag":209,"props":6394,"children":6395},{"style":226},[6396],{"type":62,"value":745},{"type":48,"tag":209,"props":6398,"children":6399},{"style":232},[6400],{"type":62,"value":750},{"type":48,"tag":209,"props":6402,"children":6403},{"class":211,"line":326},[6404,6408,6412,6417,6421,6425,6429,6433],{"type":48,"tag":209,"props":6405,"children":6406},{"style":226},[6407],{"type":62,"value":229},{"type":48,"tag":209,"props":6409,"children":6410},{"style":232},[6411],{"type":62,"value":723},{"type":48,"tag":209,"props":6413,"children":6414},{"style":232},[6415],{"type":62,"value":6416}," ..\u002Fpyproject.toml",{"type":48,"tag":209,"props":6418,"children":6419},{"style":238},[6420],{"type":62,"value":318},{"type":48,"tag":209,"props":6422,"children":6423},{"style":232},[6424],{"type":62,"value":531},{"type":48,"tag":209,"props":6426,"children":6427},{"style":238},[6428],{"type":62,"value":241},{"type":48,"tag":209,"props":6430,"children":6431},{"style":226},[6432],{"type":62,"value":745},{"type":48,"tag":209,"props":6434,"children":6435},{"style":232},[6436],{"type":62,"value":750},{"type":48,"tag":209,"props":6438,"children":6439},{"class":211,"line":334},[6440,6444,6448,6452,6456,6460,6464],{"type":48,"tag":209,"props":6441,"children":6442},{"style":226},[6443],{"type":62,"value":229},{"type":48,"tag":209,"props":6445,"children":6446},{"style":232},[6447],{"type":62,"value":728},{"type":48,"tag":209,"props":6449,"children":6450},{"style":238},[6451],{"type":62,"value":318},{"type":48,"tag":209,"props":6453,"children":6454},{"style":232},[6455],{"type":62,"value":531},{"type":48,"tag":209,"props":6457,"children":6458},{"style":238},[6459],{"type":62,"value":241},{"type":48,"tag":209,"props":6461,"children":6462},{"style":226},[6463],{"type":62,"value":745},{"type":48,"tag":209,"props":6465,"children":6466},{"style":232},[6467],{"type":62,"value":750},{"type":48,"tag":209,"props":6469,"children":6470},{"class":211,"line":343},[6471,6475,6480,6485,6489,6493,6497,6501],{"type":48,"tag":209,"props":6472,"children":6473},{"style":226},[6474],{"type":62,"value":229},{"type":48,"tag":209,"props":6476,"children":6477},{"style":232},[6478],{"type":62,"value":6479}," ..\u002Fpom.xml",{"type":48,"tag":209,"props":6481,"children":6482},{"style":232},[6483],{"type":62,"value":6484}," ..\u002Fbuild.gradle",{"type":48,"tag":209,"props":6486,"children":6487},{"style":238},[6488],{"type":62,"value":318},{"type":48,"tag":209,"props":6490,"children":6491},{"style":232},[6492],{"type":62,"value":531},{"type":48,"tag":209,"props":6494,"children":6495},{"style":238},[6496],{"type":62,"value":241},{"type":48,"tag":209,"props":6498,"children":6499},{"style":226},[6500],{"type":62,"value":745},{"type":48,"tag":209,"props":6502,"children":6503},{"style":232},[6504],{"type":62,"value":750},{"type":48,"tag":53,"props":6506,"children":6507},{},[6508],{"type":62,"value":6509},"If a backend is found, suggest the matching SDK skill:",{"type":48,"tag":760,"props":6511,"children":6512},{},[6513,6529],{"type":48,"tag":764,"props":6514,"children":6515},{},[6516],{"type":48,"tag":768,"props":6517,"children":6518},{},[6519,6524],{"type":48,"tag":772,"props":6520,"children":6521},{},[6522],{"type":62,"value":6523},"Backend detected",{"type":48,"tag":772,"props":6525,"children":6526},{},[6527],{"type":62,"value":6528},"Suggest skill",{"type":48,"tag":783,"props":6530,"children":6531},{},[6532,6556,6587,6611,6645],{"type":48,"tag":768,"props":6533,"children":6534},{},[6535,6547],{"type":48,"tag":790,"props":6536,"children":6537},{},[6538,6540,6546],{"type":62,"value":6539},"Go (",{"type":48,"tag":108,"props":6541,"children":6543},{"className":6542},[],[6544],{"type":62,"value":6545},"go.mod",{"type":62,"value":826},{"type":48,"tag":790,"props":6548,"children":6549},{},[6550],{"type":48,"tag":108,"props":6551,"children":6553},{"className":6552},[],[6554],{"type":62,"value":6555},"sentry-go-sdk",{"type":48,"tag":768,"props":6557,"children":6558},{},[6559,6578],{"type":48,"tag":790,"props":6560,"children":6561},{},[6562,6564,6570,6571,6577],{"type":62,"value":6563},"Python (",{"type":48,"tag":108,"props":6565,"children":6567},{"className":6566},[],[6568],{"type":62,"value":6569},"requirements.txt",{"type":62,"value":131},{"type":48,"tag":108,"props":6572,"children":6574},{"className":6573},[],[6575],{"type":62,"value":6576},"pyproject.toml",{"type":62,"value":826},{"type":48,"tag":790,"props":6579,"children":6580},{},[6581],{"type":48,"tag":108,"props":6582,"children":6584},{"className":6583},[],[6585],{"type":62,"value":6586},"sentry-python-sdk",{"type":48,"tag":768,"props":6588,"children":6589},{},[6590,6602],{"type":48,"tag":790,"props":6591,"children":6592},{},[6593,6595,6601],{"type":62,"value":6594},"Ruby (",{"type":48,"tag":108,"props":6596,"children":6598},{"className":6597},[],[6599],{"type":62,"value":6600},"Gemfile",{"type":62,"value":826},{"type":48,"tag":790,"props":6603,"children":6604},{},[6605],{"type":48,"tag":108,"props":6606,"children":6608},{"className":6607},[],[6609],{"type":62,"value":6610},"sentry-ruby-sdk",{"type":48,"tag":768,"props":6612,"children":6613},{},[6614,6633],{"type":48,"tag":790,"props":6615,"children":6616},{},[6617,6619,6625,6626,6632],{"type":62,"value":6618},"Java\u002FKotlin (",{"type":48,"tag":108,"props":6620,"children":6622},{"className":6621},[],[6623],{"type":62,"value":6624},"pom.xml",{"type":62,"value":131},{"type":48,"tag":108,"props":6627,"children":6629},{"className":6628},[],[6630],{"type":62,"value":6631},"build.gradle",{"type":62,"value":826},{"type":48,"tag":790,"props":6634,"children":6635},{},[6636,6638],{"type":62,"value":6637},"See ",{"type":48,"tag":57,"props":6639,"children":6642},{"href":6640,"rel":6641},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjava\u002F",[176],[6643],{"type":62,"value":6644},"docs.sentry.io\u002Fplatforms\u002Fjava\u002F",{"type":48,"tag":768,"props":6646,"children":6647},{},[6648,6653],{"type":48,"tag":790,"props":6649,"children":6650},{},[6651],{"type":62,"value":6652},"Node.js (Express, Fastify, Hapi)",{"type":48,"tag":790,"props":6654,"children":6655},{},[6656,6662,6664],{"type":48,"tag":108,"props":6657,"children":6659},{"className":6658},[],[6660],{"type":62,"value":6661},"@sentry\u002Fnode",{"type":62,"value":6663}," — see ",{"type":48,"tag":57,"props":6665,"children":6668},{"href":6666,"rel":6667},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fexpress\u002F",[176],[6669],{"type":62,"value":6670},"docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fexpress\u002F",{"type":48,"tag":53,"props":6672,"children":6673},{},[6674,6676,6681],{"type":62,"value":6675},"Connecting frontend and backend with the same DSN or linked projects enables ",{"type":48,"tag":158,"props":6677,"children":6678},{},[6679],{"type":62,"value":6680},"distributed tracing",{"type":62,"value":6682}," — stack traces that span your browser, Next.js server, and backend API in a single trace view.",{"type":48,"tag":183,"props":6684,"children":6685},{},[],{"type":48,"tag":86,"props":6687,"children":6689},{"id":6688},"troubleshooting",[6690],{"type":62,"value":6691},"Troubleshooting",{"type":48,"tag":760,"props":6693,"children":6694},{},[6695,6716],{"type":48,"tag":764,"props":6696,"children":6697},{},[6698],{"type":48,"tag":768,"props":6699,"children":6700},{},[6701,6706,6711],{"type":48,"tag":772,"props":6702,"children":6703},{},[6704],{"type":62,"value":6705},"Issue",{"type":48,"tag":772,"props":6707,"children":6708},{},[6709],{"type":62,"value":6710},"Cause",{"type":48,"tag":772,"props":6712,"children":6713},{},[6714],{"type":62,"value":6715},"Solution",{"type":48,"tag":783,"props":6717,"children":6718},{},[6719,6759,6791,6821,6857,6892,6923,6966],{"type":48,"tag":768,"props":6720,"children":6721},{},[6722,6727,6740],{"type":48,"tag":790,"props":6723,"children":6724},{},[6725],{"type":62,"value":6726},"Events not appearing",{"type":48,"tag":790,"props":6728,"children":6729},{},[6730,6732,6738],{"type":62,"value":6731},"DSN misconfigured or ",{"type":48,"tag":108,"props":6733,"children":6735},{"className":6734},[],[6736],{"type":62,"value":6737},"debug: false",{"type":62,"value":6739}," hiding errors",{"type":48,"tag":790,"props":6741,"children":6742},{},[6743,6745,6751,6753],{"type":62,"value":6744},"Set ",{"type":48,"tag":108,"props":6746,"children":6748},{"className":6747},[],[6749],{"type":62,"value":6750},"debug: true",{"type":62,"value":6752}," temporarily; check browser network tab for requests to ",{"type":48,"tag":108,"props":6754,"children":6756},{"className":6755},[],[6757],{"type":62,"value":6758},"sentry.io",{"type":48,"tag":768,"props":6760,"children":6761},{},[6762,6767,6772],{"type":48,"tag":790,"props":6763,"children":6764},{},[6765],{"type":62,"value":6766},"Stack traces show minified code",{"type":48,"tag":790,"props":6768,"children":6769},{},[6770],{"type":62,"value":6771},"Source maps not uploading",{"type":48,"tag":790,"props":6773,"children":6774},{},[6775,6777,6782,6784,6789],{"type":62,"value":6776},"Check ",{"type":48,"tag":108,"props":6778,"children":6780},{"className":6779},[],[6781],{"type":62,"value":4343},{"type":62,"value":6783}," is set; run ",{"type":48,"tag":108,"props":6785,"children":6787},{"className":6786},[],[6788],{"type":62,"value":4848},{"type":62,"value":6790}," and look for \"Source Maps\" in build output",{"type":48,"tag":768,"props":6792,"children":6793},{},[6794,6805,6810],{"type":48,"tag":790,"props":6795,"children":6796},{},[6797,6803],{"type":48,"tag":108,"props":6798,"children":6800},{"className":6799},[],[6801],{"type":62,"value":6802},"onRequestError",{"type":62,"value":6804}," not firing",{"type":48,"tag":790,"props":6806,"children":6807},{},[6808],{"type":62,"value":6809},"SDK version \u003C 8.28.0",{"type":48,"tag":790,"props":6811,"children":6812},{},[6813,6815],{"type":62,"value":6814},"Upgrade: ",{"type":48,"tag":108,"props":6816,"children":6818},{"className":6817},[],[6819],{"type":62,"value":6820},"npm install @sentry\u002Fnextjs@latest",{"type":48,"tag":768,"props":6822,"children":6823},{},[6824,6829,6839],{"type":48,"tag":790,"props":6825,"children":6826},{},[6827],{"type":62,"value":6828},"Edge runtime errors missing",{"type":48,"tag":790,"props":6830,"children":6831},{},[6832,6837],{"type":48,"tag":108,"props":6833,"children":6835},{"className":6834},[],[6836],{"type":62,"value":1306},{"type":62,"value":6838}," not loaded",{"type":48,"tag":790,"props":6840,"children":6841},{},[6842,6844,6849,6851],{"type":62,"value":6843},"Verify ",{"type":48,"tag":108,"props":6845,"children":6847},{"className":6846},[],[6848],{"type":62,"value":129},{"type":62,"value":6850}," imports it when ",{"type":48,"tag":108,"props":6852,"children":6854},{"className":6853},[],[6855],{"type":62,"value":6856},"NEXT_RUNTIME === \"edge\"",{"type":48,"tag":768,"props":6858,"children":6859},{},[6860,6865,6875],{"type":48,"tag":790,"props":6861,"children":6862},{},[6863],{"type":62,"value":6864},"Tunnel route returns 404",{"type":48,"tag":790,"props":6866,"children":6867},{},[6868,6873],{"type":48,"tag":108,"props":6869,"children":6871},{"className":6870},[],[6872],{"type":62,"value":5724},{"type":62,"value":6874}," set but Next.js route missing",{"type":48,"tag":790,"props":6876,"children":6877},{},[6878,6880,6885,6887],{"type":62,"value":6879},"The plugin creates it automatically; check you ran ",{"type":48,"tag":108,"props":6881,"children":6883},{"className":6882},[],[6884],{"type":62,"value":4848},{"type":62,"value":6886}," after adding ",{"type":48,"tag":108,"props":6888,"children":6890},{"className":6889},[],[6891],{"type":62,"value":5724},{"type":48,"tag":768,"props":6893,"children":6894},{},[6895,6905,6910],{"type":48,"tag":790,"props":6896,"children":6897},{},[6898,6903],{"type":48,"tag":108,"props":6899,"children":6901},{"className":6900},[],[6902],{"type":62,"value":883},{"type":62,"value":6904}," tree-shaking breaks build",{"type":48,"tag":790,"props":6906,"children":6907},{},[6908],{"type":62,"value":6909},"Turbopack in use",{"type":48,"tag":790,"props":6911,"children":6912},{},[6913,6915,6921],{"type":62,"value":6914},"Tree-shaking options only work with webpack; remove ",{"type":48,"tag":108,"props":6916,"children":6918},{"className":6917},[],[6919],{"type":62,"value":6920},"webpack.treeshake",{"type":62,"value":6922}," options when using Turbopack",{"type":48,"tag":768,"props":6924,"children":6925},{},[6926,6936,6949],{"type":48,"tag":790,"props":6927,"children":6928},{},[6929,6934],{"type":48,"tag":108,"props":6930,"children":6932},{"className":6931},[],[6933],{"type":62,"value":145},{"type":62,"value":6935}," not catching errors",{"type":48,"tag":790,"props":6937,"children":6938},{},[6939,6941,6947],{"type":62,"value":6940},"Missing ",{"type":48,"tag":108,"props":6942,"children":6944},{"className":6943},[],[6945],{"type":62,"value":6946},"\"use client\"",{"type":62,"value":6948}," directive",{"type":48,"tag":790,"props":6950,"children":6951},{},[6952,6954,6959,6961],{"type":62,"value":6953},"Add ",{"type":48,"tag":108,"props":6955,"children":6957},{"className":6956},[],[6958],{"type":62,"value":6946},{"type":62,"value":6960}," as the very first line of ",{"type":48,"tag":108,"props":6962,"children":6964},{"className":6963},[],[6965],{"type":62,"value":145},{"type":48,"tag":768,"props":6967,"children":6968},{},[6969,6974,6985],{"type":48,"tag":790,"props":6970,"children":6971},{},[6972],{"type":62,"value":6973},"Session Replay not recording",{"type":48,"tag":790,"props":6975,"children":6976},{},[6977,6983],{"type":48,"tag":108,"props":6978,"children":6980},{"className":6979},[],[6981],{"type":62,"value":6982},"replayIntegration()",{"type":62,"value":6984}," missing from client init",{"type":48,"tag":790,"props":6986,"children":6987},{},[6988,6989,6995,6997,7003,7004],{"type":62,"value":6953},{"type":48,"tag":108,"props":6990,"children":6992},{"className":6991},[],[6993],{"type":62,"value":6994},"Sentry.replayIntegration()",{"type":62,"value":6996}," to ",{"type":48,"tag":108,"props":6998,"children":7000},{"className":6999},[],[7001],{"type":62,"value":7002},"integrations",{"type":62,"value":2648},{"type":48,"tag":108,"props":7005,"children":7007},{"className":7006},[],[7008],{"type":62,"value":1292},{"type":48,"tag":7010,"props":7011,"children":7012},"style",{},[7013],{"type":62,"value":7014},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":7016,"total":1902},[7017,7033,7046,7062,7078,7092,7107],{"slug":7018,"name":7018,"fn":7019,"description":7020,"org":7021,"tags":7022,"stars":27,"repoUrl":28,"updatedAt":7032},"sentry-android-sdk","setup Sentry SDK for Android","Full Sentry SDK setup for Android. Use when asked to \"add Sentry to Android\", \"install sentry-android\", \"setup Sentry in Android\", or configure error monitoring, tracing, profiling, session replay, or logging for Android applications. Supports Kotlin and Java codebases.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7023,7026,7027,7028,7031],{"name":7024,"slug":7025,"type":16},"Android","android",{"name":25,"slug":26,"type":16},{"name":14,"slug":15,"type":16},{"name":7029,"slug":7030,"type":16},"SDK","sdk",{"name":9,"slug":8,"type":16},"2026-07-12T06:08:32.396344",{"slug":7034,"name":7034,"fn":7035,"description":7036,"org":7037,"tags":7038,"stars":27,"repoUrl":28,"updatedAt":7045},"sentry-browser-sdk","setup Sentry error monitoring for browser applications","Full Sentry SDK setup for browser JavaScript. Use when asked to \"add Sentry to a website\", \"install @sentry\u002Fbrowser\", or configure error monitoring, tracing, session replay, or logging for vanilla JavaScript, jQuery, static sites, or WordPress.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7039,7040,7043,7044],{"name":25,"slug":26,"type":16},{"name":7041,"slug":7042,"type":16},"JavaScript","javascript",{"name":21,"slug":22,"type":16},{"name":9,"slug":8,"type":16},"2026-07-18T05:47:44.437436",{"slug":7047,"name":7047,"fn":7048,"description":7049,"org":7050,"tags":7051,"stars":27,"repoUrl":28,"updatedAt":7061},"sentry-cloudflare-sdk","setup Sentry monitoring for Cloudflare","Full Sentry SDK setup for Cloudflare Workers and Pages. Use when asked to \"add Sentry to Cloudflare Workers\", \"install @sentry\u002Fcloudflare\", or configure error monitoring, tracing, logging, crons, or AI monitoring for Cloudflare Workers, Pages, Durable Objects, Queues, Workflows, or Hono on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7052,7055,7058,7059,7060],{"name":7053,"slug":7054,"type":16},"Cloudflare","cloudflare",{"name":7056,"slug":7057,"type":16},"Edge Functions","edge-functions",{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:53:25.361175",{"slug":7063,"name":7063,"fn":7064,"description":7065,"org":7066,"tags":7067,"stars":27,"repoUrl":28,"updatedAt":7077},"sentry-cocoa-sdk","integrate Sentry SDK into Apple applications","Full Sentry SDK setup for Apple platforms (iOS, macOS, tvOS, watchOS, visionOS). Use when asked to \"add Sentry to iOS\", \"add Sentry to Swift\", \"install sentry-cocoa\", or configure error monitoring, tracing, profiling, session replay, logging, or metrics for Apple applications. Supports SwiftUI and UIKit.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7068,7071,7074,7075,7076],{"name":7069,"slug":7070,"type":16},"iOS","ios",{"name":7072,"slug":7073,"type":16},"macOS","macos",{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:52:57.042493",{"slug":7079,"name":7079,"fn":7080,"description":7081,"org":7082,"tags":7083,"stars":27,"repoUrl":28,"updatedAt":7091},"sentry-dotnet-sdk","setup Sentry SDK for .NET","Full Sentry SDK setup for .NET. Use when asked to \"add Sentry to .NET\", \"install Sentry for C#\", or configure error monitoring, tracing, profiling, logging, or crons for ASP.NET Core, MAUI, WPF, WinForms, Blazor, Azure Functions, or any other .NET application.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7084,7087,7088,7089,7090],{"name":7085,"slug":7086,"type":16},".NET","net",{"name":25,"slug":26,"type":16},{"name":14,"slug":15,"type":16},{"name":7029,"slug":7030,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T06:08:33.793148",{"slug":7093,"name":7093,"fn":7094,"description":7095,"org":7096,"tags":7097,"stars":27,"repoUrl":28,"updatedAt":7106},"sentry-elixir-sdk","setup Sentry SDK for Elixir","Full Sentry SDK setup for Elixir. Use when asked to \"add Sentry to Elixir\", \"install sentry for Elixir\", or configure error monitoring, tracing, logging, or crons for Elixir, Phoenix, or Plug applications. Supports Phoenix, Plug, LiveView, Oban, and Quantum.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7098,7101,7104,7105],{"name":7099,"slug":7100,"type":16},"Backend","backend",{"name":7102,"slug":7103,"type":16},"Elixir","elixir",{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:53:11.69581",{"slug":7108,"name":7108,"fn":7109,"description":7110,"org":7111,"tags":7112,"stars":27,"repoUrl":28,"updatedAt":7119},"sentry-fix-issues","fix production issues with Sentry","Find and fix issues from Sentry using MCP. Use when asked to fix Sentry errors, debug production issues, investigate exceptions, or resolve bugs reported in Sentry. Methodically analyzes stack traces, breadcrumbs, traces, and context to identify root causes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7113,7114,7117,7118],{"name":25,"slug":26,"type":16},{"name":7115,"slug":7116,"type":16},"Incident Response","incident-response",{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T06:08:35.550824",{"items":7121,"total":7293},[7122,7141,7155,7170,7184,7201,7217,7231,7241,7252,7262,7280],{"slug":7123,"name":7123,"fn":7124,"description":7125,"org":7126,"tags":7127,"stars":7138,"repoUrl":7139,"updatedAt":7140},"xcodebuildmcp","build and test Apple apps with XcodeBuildMCP","Official skill for XcodeBuildMCP. Use when doing iOS\u002FmacOS\u002FwatchOS\u002FtvOS\u002FvisionOS work (build, test, run, debug, log, UI automation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7128,7129,7130,7131,7132,7135],{"name":25,"slug":26,"type":16},{"name":7069,"slug":7070,"type":16},{"name":7072,"slug":7073,"type":16},{"name":9,"slug":8,"type":16},{"name":7133,"slug":7134,"type":16},"Testing","testing",{"name":7136,"slug":7137,"type":16},"Xcode","xcode",6176,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002FXcodeBuildMCP","2026-04-06T18:13:34.8719",{"slug":7142,"name":7142,"fn":7143,"description":7144,"org":7145,"tags":7146,"stars":7138,"repoUrl":7139,"updatedAt":7154},"xcodebuildmcp-cli","build and test Apple apps via CLI","Official skill for the XcodeBuildMCP CLI. Use when doing iOS\u002FmacOS\u002FwatchOS\u002FtvOS\u002FvisionOS work (build, test, run, debug, log, UI automation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7147,7150,7151,7152,7153],{"name":7148,"slug":7149,"type":16},"CLI","cli",{"name":7069,"slug":7070,"type":16},{"name":7072,"slug":7073,"type":16},{"name":7133,"slug":7134,"type":16},{"name":7136,"slug":7137,"type":16},"2026-04-06T18:13:36.13414",{"slug":7156,"name":7156,"fn":7157,"description":7158,"org":7159,"tags":7160,"stars":7167,"repoUrl":7168,"updatedAt":7169},"agents-md","maintain project instruction files","Creates and maintains concise AGENTS.md and CLAUDE.md project instruction files. Use when asked to create AGENTS.md, update AGENTS.md, maintain agent docs, set up CLAUDE.md, document repository agent conventions, or keep coding-agent instructions minimal and reference-backed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7161,7164],{"name":7162,"slug":7163,"type":16},"Documentation","documentation",{"name":7165,"slug":7166,"type":16},"Engineering","engineering",861,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills","2026-05-15T06:16:29.695991",{"slug":7171,"name":7171,"fn":7172,"description":7173,"org":7174,"tags":7175,"stars":7167,"repoUrl":7168,"updatedAt":7183},"blog-writing-guide","write and review engineering blog posts","Write, review, and improve blog posts for the Sentry engineering blog following Sentry's specific writing standards, voice, and quality bar. Use this skill whenever someone asks to write a blog post, draft a technical article, review blog content, improve a draft, write a product announcement, create an engineering deep-dive, or produce any written content destined for the Sentry blog or developer audience. Also trigger when the user mentions \"blog post,\" \"blog draft,\" \"write-up,\" \"announcement post,\" \"engineering post,\" \"deep dive,\" \"postmortem,\" or asks for help with technical writing for Sentry. Even if the user just says \"help me write about [feature\u002Ftopic]\" — if it sounds like it could become a Sentry blog post, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7176,7179,7180],{"name":7177,"slug":7178,"type":16},"Communications","communications",{"name":9,"slug":8,"type":16},{"name":7181,"slug":7182,"type":16},"Technical Writing","technical-writing","2026-05-15T06:16:33.38217",{"slug":7185,"name":7185,"fn":7186,"description":7187,"org":7188,"tags":7189,"stars":7167,"repoUrl":7168,"updatedAt":7200},"brand-guidelines","write copy following Sentry brand guidelines","Write copy following Sentry brand guidelines. Use when writing UI text, error messages, empty states, onboarding flows, 404 pages, documentation, marketing copy, or any user-facing content. Covers both Plain Speech (default) and Sentry Voice tones.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7190,7193,7196,7197],{"name":7191,"slug":7192,"type":16},"Branding","branding",{"name":7194,"slug":7195,"type":16},"Content Creation","content-creation",{"name":9,"slug":8,"type":16},{"name":7198,"slug":7199,"type":16},"UX Copy","ux-copy","2026-05-15T06:16:22.395707",{"slug":7202,"name":7202,"fn":7203,"description":7204,"org":7205,"tags":7206,"stars":7167,"repoUrl":7168,"updatedAt":7216},"claude-settings-audit","generate Claude Code settings permissions","Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7207,7210,7213],{"name":7208,"slug":7209,"type":16},"Claude Code","claude-code",{"name":7211,"slug":7212,"type":16},"Configuration","configuration",{"name":7214,"slug":7215,"type":16},"Security","security","2026-05-15T06:16:44.335977",{"slug":7218,"name":7218,"fn":7219,"description":7220,"org":7221,"tags":7222,"stars":7167,"repoUrl":7168,"updatedAt":7230},"code-review","perform code reviews for Sentry projects","Perform code reviews following Sentry engineering practices. Use when reviewing pull requests, examining code changes, or providing feedback on code quality. Covers security, performance, testing, and design review.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7223,7225,7226,7229],{"name":7224,"slug":7218,"type":16},"Code Review",{"name":7165,"slug":7166,"type":16},{"name":7227,"slug":7228,"type":16},"Performance","performance",{"name":7214,"slug":7215,"type":16},"2026-05-15T06:16:35.824864",{"slug":7232,"name":7232,"fn":7233,"description":7234,"org":7235,"tags":7236,"stars":7167,"repoUrl":7168,"updatedAt":7240},"code-simplifier","simplify and refine source code","Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to \"simplify code\", \"clean up code\", \"refactor for clarity\", \"improve readability\", or review recently modified code for elegance. Focuses on project-specific best practices.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7237],{"name":7238,"slug":7239,"type":16},"Code Analysis","code-analysis","2026-05-15T06:16:32.127981",{"slug":7242,"name":7242,"fn":7243,"description":7244,"org":7245,"tags":7246,"stars":7167,"repoUrl":7168,"updatedAt":7251},"commit","create commits with Sentry conventions","Use for every request to commit changes or draft a commit message. Creates Sentry-style conventional commits with issue references.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7247,7250],{"name":7248,"slug":7249,"type":16},"Git","git",{"name":9,"slug":8,"type":16},"2026-07-18T05:15:10.723937",{"slug":7253,"name":7253,"fn":7254,"description":7255,"org":7256,"tags":7257,"stars":7167,"repoUrl":7168,"updatedAt":7261},"create-branch","create git branches for Sentry workflows","Create a git branch following Sentry naming conventions. Use when asked to \"create a branch\", \"new branch\", \"start a branch\", \"make a branch\", \"switch to a new branch\", or when starting new work on the default branch.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7258,7259,7260],{"name":7165,"slug":7166,"type":16},{"name":7248,"slug":7249,"type":16},{"name":9,"slug":8,"type":16},"2026-05-15T06:16:39.458431",{"slug":7263,"name":7263,"fn":7264,"description":7265,"org":7266,"tags":7267,"stars":7167,"repoUrl":7168,"updatedAt":7279},"django-access-review","review Django access control and IDOR","Django access control and IDOR security review. Use when reviewing Django views, DRF viewsets, ORM queries, or any Python\u002FDjango code handling user authorization. Trigger keywords: \"IDOR\", \"access control\", \"authorization\", \"Django permissions\", \"object permissions\", \"tenant isolation\", \"broken access\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7268,7271,7272,7275,7278],{"name":7269,"slug":7270,"type":16},"Access Control","access-control",{"name":7238,"slug":7239,"type":16},{"name":7273,"slug":7274,"type":16},"Django","django",{"name":7276,"slug":7277,"type":16},"Python","python",{"name":7214,"slug":7215,"type":16},"2026-05-15T06:16:43.098698",{"slug":7281,"name":7281,"fn":7282,"description":7283,"org":7284,"tags":7285,"stars":7167,"repoUrl":7168,"updatedAt":7292},"django-perf-review","review and optimize Django performance","Django performance code review. Use when asked to \"review Django performance\", \"find N+1 queries\", \"optimize Django\", \"check queryset performance\", \"database performance\", \"Django ORM issues\", or audit Django code for performance problems.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7286,7287,7290,7291],{"name":7224,"slug":7218,"type":16},{"name":7288,"slug":7289,"type":16},"Database","database",{"name":7273,"slug":7274,"type":16},{"name":7227,"slug":7228,"type":16},"2026-05-15T06:16:24.832813",88]