@danieljvdm/dev-kit 1.0.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/package.json +1 -1
- package/skill-sources.jsonc +6 -29
- package/skill-sources.lock.json +23 -109
- package/skills/animate/LICENSE +21 -0
- package/skills/animate/NOTICE +10 -0
- package/skills/animate/SKILL.md +34 -0
- package/skills/animate/references/gestures.md +27 -0
- package/skills/animate/references/glossary.md +136 -0
- package/skills/animate/references/implementation.md +22 -0
- package/skills/animate/references/opportunities.md +18 -0
- package/skills/animate/references/principles.md +48 -0
- package/skills/animate/references/review.md +19 -0
- package/skills/cloudflare-workers/LICENSE +202 -0
- package/skills/cloudflare-workers/NOTICE +9 -0
- package/skills/cloudflare-workers/SKILL.md +26 -0
- package/skills/cloudflare-workers/references/durable-objects.md +68 -0
- package/skills/cloudflare-workers/references/sandbox.md +48 -0
- package/skills/cloudflare-workers/references/workers.md +63 -0
- package/skills/cloudflare-workers/references/wrangler.md +56 -0
- package/skills/design-ui/LICENSE +21 -0
- package/skills/design-ui/NOTICE +8 -0
- package/skills/design-ui/SKILL.md +29 -0
- package/skills/design-ui/references/appearance.md +22 -0
- package/skills/design-ui/references/components.md +33 -0
- package/skills/design-ui/references/exploration.md +50 -0
- package/skills/design-ui/references/libraries.md +39 -0
- package/skills/design-ui/references/themes.md +23 -0
- package/skills/dev-kit/SKILL.md +19 -38
- package/skills/dev-kit/references/cloudflare-worker-api.md +1 -1
- package/skills/dev-kit/references/skills.md +2 -2
- package/skills/effect-development/SKILL.md +27 -0
- package/skills/effect-development/agents/openai.yaml +4 -0
- package/skills/effect-development/references/api/index.md +32 -0
- package/skills/effect-development/references/api/schema-codecs.md +15 -0
- package/skills/{build-effect-apis/references → effect-development/references/api}/verification.md +10 -5
- package/skills/{effect-architecture-audit/SKILL.md → effect-development/references/architecture/index.md} +1 -6
- package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-client.md +8 -6
- package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-testing.md +7 -2
- package/skills/effect-development/references/atom/index.md +40 -0
- package/skills/{build-effect-clis/references → effect-development/references/cli}/entrypoints-and-testing.md +6 -2
- package/skills/effect-development/references/cli/index.md +39 -0
- package/skills/effect-development/references/setup.md +15 -0
- package/skills/open-pull-request/SKILL.md +11 -115
- package/skills/open-pull-request/agents/openai.yaml +3 -3
- package/skills/open-pull-request/references/evidence.md +22 -0
- package/skills/open-pull-request/references/explanation.md +21 -0
- package/skills/open-pull-request/references/publication.md +21 -0
- package/skills/sentry/LICENSE +202 -0
- package/skills/sentry/LICENSE-UPSTREAM +21 -0
- package/skills/sentry/NOTICE +14 -0
- package/skills/sentry/SKILL.md +33 -0
- package/skills/sentry/references/alert-payloads.md +105 -0
- package/skills/sentry/references/alerts.md +17 -0
- package/skills/sentry/references/artifacts.md +25 -0
- package/skills/sentry/references/auth-token.md +65 -0
- package/skills/sentry/references/concepts/ai-monitoring.md +131 -0
- package/skills/sentry/references/concepts/choosing-a-signal.md +78 -0
- package/skills/sentry/references/concepts/crons.md +50 -0
- package/skills/sentry/references/concepts/data-scrubbing.md +43 -0
- package/skills/sentry/references/concepts/errors.md +40 -0
- package/skills/sentry/references/concepts/logging.md +85 -0
- package/skills/sentry/references/concepts/metrics.md +49 -0
- package/skills/sentry/references/concepts/monitors.md +78 -0
- package/skills/sentry/references/concepts/profiling.md +38 -0
- package/skills/sentry/references/concepts/reduce-volume.md +49 -0
- package/skills/sentry/references/concepts/releases.md +43 -0
- package/skills/sentry/references/concepts/session-replay.md +35 -0
- package/skills/sentry/references/concepts/tracing.md +54 -0
- package/skills/sentry/references/concepts/user-feedback.md +36 -0
- package/skills/sentry/references/debug-artifacts/android.md +68 -0
- package/skills/sentry/references/debug-artifacts/apple.md +96 -0
- package/skills/sentry/references/debug-artifacts/dotnet.md +70 -0
- package/skills/sentry/references/debug-artifacts/flutter.md +65 -0
- package/skills/sentry/references/debug-artifacts/index.md +75 -0
- package/skills/sentry/references/debug-artifacts/javascript.md +94 -0
- package/skills/sentry/references/debug-artifacts/matching.md +73 -0
- package/skills/sentry/references/debug-artifacts/react-native.md +75 -0
- package/skills/sentry/references/first-error-setup.md +25 -0
- package/skills/sentry/references/instrumentation.md +30 -0
- package/skills/sentry/references/issues.md +32 -0
- package/skills/sentry/references/new-project.md +17 -0
- package/skills/sentry/references/otel-exporter.md +30 -0
- package/skills/sentry/references/release-workflow.md +31 -0
- package/skills/sentry/references/releases/ci-pipeline.md +214 -0
- package/skills/sentry/references/releases/index.md +93 -0
- package/skills/sentry/references/releases/suspect-commits.md +155 -0
- package/skills/sentry/references/releases/tagging.md +131 -0
- package/skills/sentry/references/releases/troubleshooting.md +67 -0
- package/skills/sentry/references/sdks/android/crons.md +305 -0
- package/skills/sentry/references/sdks/android/error-monitoring.md +800 -0
- package/skills/sentry/references/sdks/android/index.md +748 -0
- package/skills/sentry/references/sdks/android/integrations.md +48 -0
- package/skills/sentry/references/sdks/android/logging.md +374 -0
- package/skills/sentry/references/sdks/android/metrics.md +288 -0
- package/skills/sentry/references/sdks/android/profiling.md +397 -0
- package/skills/sentry/references/sdks/android/session-replay.md +406 -0
- package/skills/sentry/references/sdks/android/tracing.md +861 -0
- package/skills/sentry/references/sdks/browser/error-monitoring.md +861 -0
- package/skills/sentry/references/sdks/browser/index.md +714 -0
- package/skills/sentry/references/sdks/browser/logging.md +315 -0
- package/skills/sentry/references/sdks/browser/profiling.md +236 -0
- package/skills/sentry/references/sdks/browser/session-replay.md +586 -0
- package/skills/sentry/references/sdks/browser/tracing.md +561 -0
- package/skills/sentry/references/sdks/browser/user-feedback.md +354 -0
- package/skills/sentry/references/sdks/cloudflare/ai-monitoring.md +661 -0
- package/skills/sentry/references/sdks/cloudflare/crons.md +231 -0
- package/skills/sentry/references/sdks/cloudflare/durable-objects.md +381 -0
- package/skills/sentry/references/sdks/cloudflare/error-monitoring.md +329 -0
- package/skills/sentry/references/sdks/cloudflare/index.md +698 -0
- package/skills/sentry/references/sdks/cloudflare/logging.md +169 -0
- package/skills/sentry/references/sdks/cloudflare/nodejs-compat.md +134 -0
- package/skills/sentry/references/sdks/cloudflare/tracing.md +475 -0
- package/skills/sentry/references/sdks/cocoa/error-monitoring.md +394 -0
- package/skills/sentry/references/sdks/cocoa/index.md +497 -0
- package/skills/sentry/references/sdks/cocoa/logging.md +209 -0
- package/skills/sentry/references/sdks/cocoa/metrics.md +136 -0
- package/skills/sentry/references/sdks/cocoa/profiling.md +223 -0
- package/skills/sentry/references/sdks/cocoa/session-replay.md +257 -0
- package/skills/sentry/references/sdks/cocoa/tracing.md +524 -0
- package/skills/sentry/references/sdks/cocoa/user-feedback.md +310 -0
- package/skills/sentry/references/sdks/dotnet/crons.md +465 -0
- package/skills/sentry/references/sdks/dotnet/error-monitoring.md +1100 -0
- package/skills/sentry/references/sdks/dotnet/index.md +614 -0
- package/skills/sentry/references/sdks/dotnet/logging.md +556 -0
- package/skills/sentry/references/sdks/dotnet/metrics.md +229 -0
- package/skills/sentry/references/sdks/dotnet/profiling.md +296 -0
- package/skills/sentry/references/sdks/dotnet/tracing.md +897 -0
- package/skills/sentry/references/sdks/elixir/crons.md +371 -0
- package/skills/sentry/references/sdks/elixir/error-monitoring.md +335 -0
- package/skills/sentry/references/sdks/elixir/index.md +383 -0
- package/skills/sentry/references/sdks/elixir/logging.md +239 -0
- package/skills/sentry/references/sdks/elixir/tracing.md +233 -0
- package/skills/sentry/references/sdks/flutter/ecosystem-integrations.md +70 -0
- package/skills/sentry/references/sdks/flutter/error-monitoring.md +312 -0
- package/skills/sentry/references/sdks/flutter/index.md +728 -0
- package/skills/sentry/references/sdks/flutter/logging.md +387 -0
- package/skills/sentry/references/sdks/flutter/metrics.md +310 -0
- package/skills/sentry/references/sdks/flutter/profiling.md +214 -0
- package/skills/sentry/references/sdks/flutter/session-replay.md +308 -0
- package/skills/sentry/references/sdks/flutter/tracing.md +502 -0
- package/skills/sentry/references/sdks/go/crons.md +270 -0
- package/skills/sentry/references/sdks/go/error-monitoring.md +361 -0
- package/skills/sentry/references/sdks/go/index.md +324 -0
- package/skills/sentry/references/sdks/go/logging.md +354 -0
- package/skills/sentry/references/sdks/go/metrics.md +273 -0
- package/skills/sentry/references/sdks/go/profiling.md +46 -0
- package/skills/sentry/references/sdks/go/tracing.md +366 -0
- package/skills/sentry/references/sdks/index.md +41 -0
- package/skills/sentry/references/sdks/nestjs/ai-monitoring.md +410 -0
- package/skills/sentry/references/sdks/nestjs/crons.md +268 -0
- package/skills/sentry/references/sdks/nestjs/error-monitoring.md +729 -0
- package/skills/sentry/references/sdks/nestjs/index.md +699 -0
- package/skills/sentry/references/sdks/nestjs/logging.md +174 -0
- package/skills/sentry/references/sdks/nestjs/metrics.md +243 -0
- package/skills/sentry/references/sdks/nestjs/profiling.md +127 -0
- package/skills/sentry/references/sdks/nestjs/tracing.md +762 -0
- package/skills/sentry/references/sdks/nextjs/ai-monitoring.md +494 -0
- package/skills/sentry/references/sdks/nextjs/crons.md +383 -0
- package/skills/sentry/references/sdks/nextjs/error-monitoring.md +974 -0
- package/skills/sentry/references/sdks/nextjs/index.md +491 -0
- package/skills/sentry/references/sdks/nextjs/logging.md +381 -0
- package/skills/sentry/references/sdks/nextjs/metrics.md +411 -0
- package/skills/sentry/references/sdks/nextjs/profiling.md +403 -0
- package/skills/sentry/references/sdks/nextjs/session-replay.md +462 -0
- package/skills/sentry/references/sdks/nextjs/tracing.md +628 -0
- package/skills/sentry/references/sdks/node/ai-monitoring.md +303 -0
- package/skills/sentry/references/sdks/node/crons.md +432 -0
- package/skills/sentry/references/sdks/node/error-monitoring.md +1125 -0
- package/skills/sentry/references/sdks/node/index.md +942 -0
- package/skills/sentry/references/sdks/node/logging.md +380 -0
- package/skills/sentry/references/sdks/node/metrics.md +278 -0
- package/skills/sentry/references/sdks/node/profiling.md +373 -0
- package/skills/sentry/references/sdks/node/tracing.md +878 -0
- package/skills/sentry/references/sdks/php/ai-monitoring.md +310 -0
- package/skills/sentry/references/sdks/php/crons.md +265 -0
- package/skills/sentry/references/sdks/php/error-monitoring.md +626 -0
- package/skills/sentry/references/sdks/php/index.md +362 -0
- package/skills/sentry/references/sdks/php/laravel.md +542 -0
- package/skills/sentry/references/sdks/php/logging.md +242 -0
- package/skills/sentry/references/sdks/php/metrics.md +193 -0
- package/skills/sentry/references/sdks/php/profiling.md +115 -0
- package/skills/sentry/references/sdks/php/symfony.md +552 -0
- package/skills/sentry/references/sdks/php/tracing.md +516 -0
- package/skills/sentry/references/sdks/python/ai-monitoring.md +351 -0
- package/skills/sentry/references/sdks/python/crons.md +218 -0
- package/skills/sentry/references/sdks/python/error-monitoring.md +292 -0
- package/skills/sentry/references/sdks/python/index.md +361 -0
- package/skills/sentry/references/sdks/python/logging.md +234 -0
- package/skills/sentry/references/sdks/python/metrics.md +154 -0
- package/skills/sentry/references/sdks/python/profiling.md +120 -0
- package/skills/sentry/references/sdks/python/tracing.md +364 -0
- package/skills/sentry/references/sdks/react/error-monitoring.md +1607 -0
- package/skills/sentry/references/sdks/react/index.md +492 -0
- package/skills/sentry/references/sdks/react/logging.md +364 -0
- package/skills/sentry/references/sdks/react/profiling.md +322 -0
- package/skills/sentry/references/sdks/react/react-features.md +1272 -0
- package/skills/sentry/references/sdks/react/session-replay.md +1193 -0
- package/skills/sentry/references/sdks/react/tracing.md +1415 -0
- package/skills/sentry/references/sdks/react-native/error-monitoring.md +1481 -0
- package/skills/sentry/references/sdks/react-native/expo-config-plugin.md +45 -0
- package/skills/sentry/references/sdks/react-native/index.md +1030 -0
- package/skills/sentry/references/sdks/react-native/logging.md +444 -0
- package/skills/sentry/references/sdks/react-native/profiling.md +386 -0
- package/skills/sentry/references/sdks/react-native/session-replay.md +704 -0
- package/skills/sentry/references/sdks/react-native/tracing.md +1086 -0
- package/skills/sentry/references/sdks/react-native/user-feedback.md +815 -0
- package/skills/sentry/references/sdks/react-router-framework/error-monitoring.md +127 -0
- package/skills/sentry/references/sdks/react-router-framework/index.md +411 -0
- package/skills/sentry/references/sdks/react-router-framework/logging.md +66 -0
- package/skills/sentry/references/sdks/react-router-framework/profiling.md +57 -0
- package/skills/sentry/references/sdks/react-router-framework/react-router-framework-features.md +110 -0
- package/skills/sentry/references/sdks/react-router-framework/session-replay.md +67 -0
- package/skills/sentry/references/sdks/react-router-framework/tracing.md +96 -0
- package/skills/sentry/references/sdks/react-router-framework/user-feedback.md +71 -0
- package/skills/sentry/references/sdks/ruby/crons.md +184 -0
- package/skills/sentry/references/sdks/ruby/error-monitoring.md +248 -0
- package/skills/sentry/references/sdks/ruby/index.md +297 -0
- package/skills/sentry/references/sdks/ruby/logging.md +168 -0
- package/skills/sentry/references/sdks/ruby/metrics.md +196 -0
- package/skills/sentry/references/sdks/ruby/migration.md +321 -0
- package/skills/sentry/references/sdks/ruby/profiling.md +107 -0
- package/skills/sentry/references/sdks/ruby/tracing.md +388 -0
- package/skills/sentry/references/sdks/svelte/error-monitoring.md +456 -0
- package/skills/sentry/references/sdks/svelte/index.md +467 -0
- package/skills/sentry/references/sdks/svelte/logging.md +344 -0
- package/skills/sentry/references/sdks/svelte/session-replay.md +369 -0
- package/skills/sentry/references/sdks/svelte/tracing.md +406 -0
- package/skills/sentry/references/sdks/tanstack-start/error-monitoring.md +149 -0
- package/skills/sentry/references/sdks/tanstack-start/index.md +381 -0
- package/skills/sentry/references/sdks/tanstack-start/logging.md +74 -0
- package/skills/sentry/references/sdks/tanstack-start/session-replay.md +76 -0
- package/skills/sentry/references/sdks/tanstack-start/tanstackstart-features.md +128 -0
- package/skills/sentry/references/sdks/tanstack-start/tracing.md +123 -0
- package/skills/sentry/references/sdks/tanstack-start/user-feedback.md +81 -0
- package/skills/sentry/references/search-query-language.md +226 -0
- package/skills/sentry/references/semantics/angular.md +7 -0
- package/skills/sentry/references/semantics/app.md +28 -0
- package/skills/sentry/references/semantics/art.md +17 -0
- package/skills/sentry/references/semantics/aws.md +43 -0
- package/skills/sentry/references/semantics/browser.md +34 -0
- package/skills/sentry/references/semantics/cache.md +12 -0
- package/skills/sentry/references/semantics/client.md +8 -0
- package/skills/sentry/references/semantics/cloud.md +12 -0
- package/skills/sentry/references/semantics/cloudflare.md +23 -0
- package/skills/sentry/references/semantics/code.md +11 -0
- package/skills/sentry/references/semantics/culture.md +11 -0
- package/skills/sentry/references/semantics/db.md +21 -0
- package/skills/sentry/references/semantics/device.md +43 -0
- package/skills/sentry/references/semantics/error.md +7 -0
- package/skills/sentry/references/semantics/event.md +8 -0
- package/skills/sentry/references/semantics/exception.md +10 -0
- package/skills/sentry/references/semantics/faas.md +19 -0
- package/skills/sentry/references/semantics/file.md +8 -0
- package/skills/sentry/references/semantics/flag.md +7 -0
- package/skills/sentry/references/semantics/gcp.md +16 -0
- package/skills/sentry/references/semantics/gen_ai.md +53 -0
- package/skills/sentry/references/semantics/general.md +11 -0
- package/skills/sentry/references/semantics/graphql.md +9 -0
- package/skills/sentry/references/semantics/grpc.md +19 -0
- package/skills/sentry/references/semantics/http.md +34 -0
- package/skills/sentry/references/semantics/index.md +63 -0
- package/skills/sentry/references/semantics/jsonrpc.md +8 -0
- package/skills/sentry/references/semantics/jvm.md +12 -0
- package/skills/sentry/references/semantics/koa.md +7 -0
- package/skills/sentry/references/semantics/logger.md +7 -0
- package/skills/sentry/references/semantics/mcp.md +37 -0
- package/skills/sentry/references/semantics/mdc.md +7 -0
- package/skills/sentry/references/semantics/messaging.md +23 -0
- package/skills/sentry/references/semantics/middleware.md +7 -0
- package/skills/sentry/references/semantics/navigation.md +9 -0
- package/skills/sentry/references/semantics/nel.md +11 -0
- package/skills/sentry/references/semantics/network.md +17 -0
- package/skills/sentry/references/semantics/os.md +15 -0
- package/skills/sentry/references/semantics/otel.md +10 -0
- package/skills/sentry/references/semantics/params.md +7 -0
- package/skills/sentry/references/semantics/process.md +14 -0
- package/skills/sentry/references/semantics/react.md +7 -0
- package/skills/sentry/references/semantics/remix.md +7 -0
- package/skills/sentry/references/semantics/resource.md +7 -0
- package/skills/sentry/references/semantics/rpc.md +10 -0
- package/skills/sentry/references/semantics/score.md +10 -0
- package/skills/sentry/references/semantics/sentry.md +69 -0
- package/skills/sentry/references/semantics/server.md +8 -0
- package/skills/sentry/references/semantics/service.md +8 -0
- package/skills/sentry/references/semantics/session.md +7 -0
- package/skills/sentry/references/semantics/state.md +7 -0
- package/skills/sentry/references/semantics/thread.md +8 -0
- package/skills/sentry/references/semantics/timber.md +7 -0
- package/skills/sentry/references/semantics/trpc.md +8 -0
- package/skills/sentry/references/semantics/ui.md +18 -0
- package/skills/sentry/references/semantics/url.md +15 -0
- package/skills/sentry/references/semantics/user.md +17 -0
- package/skills/sentry/references/semantics/user_agent.md +7 -0
- package/skills/sentry/references/semantics/vercel.md +42 -0
- package/skills/sentry/references/setup-verification.md +39 -0
- package/skills/sentry/references/snapshots/github-actions-fanout.md +206 -0
- package/skills/sentry/references/snapshots/github-actions-simple.md +102 -0
- package/skills/sentry/references/snapshots/github-actions-swift-snapshot-testing.md +118 -0
- package/skills/sentry/references/snapshots/index.md +19 -0
- package/skills/sentry/references/snapshots/snapshot-previews.md +100 -0
- package/skills/sentry/references/snapshots/snapshots.md +123 -0
- package/skills/sentry/references/snapshots/wizard-setup.md +134 -0
- package/skills/testing/LICENSE +21 -0
- package/skills/testing/NOTICE +7 -0
- package/skills/testing/SKILL.md +13 -19
- package/skills/testing/agents/openai.yaml +1 -2
- package/skills/testing/references/selection.md +23 -0
- package/skills/testing/references/tdd.md +19 -0
- package/skills/testing/references/test-design.md +17 -0
- package/src/catalog.ts +1 -7
- package/skills/build-effect-apis/SKILL.md +0 -81
- package/skills/build-effect-apis/agents/openai.yaml +0 -4
- package/skills/build-effect-clis/SKILL.md +0 -92
- package/skills/build-effect-clis/agents/openai.yaml +0 -4
- package/skills/effect-architecture-audit/agents/openai.yaml +0 -4
- package/skills/effect-atom-state/SKILL.md +0 -97
- package/skills/effect-atom-state/agents/openai.yaml +0 -4
- package/skills/effect-ts/SKILL.md +0 -35
- package/skills/effect-ts/agents/openai.yaml +0 -4
- /package/skills/{build-effect-apis/references → effect-development/references/api}/cloudflare-workers.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/runtime-assembly.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/server-and-middleware.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/shared-contracts.md +0 -0
- /package/skills/{effect-architecture-audit/references → effect-development/references/architecture}/service-and-boundary-audit.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-lifecycle.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-workflows.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/tanstack-start.md +0 -0
- /package/skills/{build-effect-clis/references → effect-development/references/cli}/command-design.md +0 -0
- /package/skills/{build-effect-clis/references → effect-development/references/cli}/processes-and-platform.md +0 -0
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
# AI Monitoring - Sentry Node.js SDK
|
|
2
|
+
|
|
3
|
+
> Minimum SDK: `@sentry/node` >=10.61.0 (Gen AI span streaming is on by default at this
|
|
4
|
+
> version). OpenAI, Anthropic, LangChain, LangGraph, Google GenAI, Vercel AI SDK
|
|
5
|
+
> auto-instrument and are available since 10.53.0.
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
Tracing must be enabled - AI spans require an active trace:
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
Sentry.init({
|
|
13
|
+
dsn: "...",
|
|
14
|
+
tracesSampleRate: 1.0,
|
|
15
|
+
dataCollection: {
|
|
16
|
+
// To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
|
|
17
|
+
// https://docs.sentry.io/platforms/javascript/guides/node/configuration/options/#dataCollection
|
|
18
|
+
// userInfo: false,
|
|
19
|
+
// httpBodies: [],
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Integration Matrix
|
|
25
|
+
|
|
26
|
+
| Integration | Min Library | Auto-Enabled | Status |
|
|
27
|
+
| ---------------------------------- | ----------- | ------------ | ------ |
|
|
28
|
+
| OpenAI (`openai`) | openai 4.0+ | Yes | Stable |
|
|
29
|
+
| Anthropic (`@anthropic-ai/sdk`) | 0.19.2+ | Yes | Stable |
|
|
30
|
+
| Vercel AI SDK (`ai`) | ai 3.0+ | Yes* | Stable |
|
|
31
|
+
| LangChain (`@langchain/core`) | 0.1.0+ | Yes | Stable |
|
|
32
|
+
| LangGraph (`@langchain/langgraph`) | 0.1.0+ | Yes | Stable |
|
|
33
|
+
| Google GenAI (`@google/genai`) | 1.0+ | Yes | Stable |
|
|
34
|
+
|
|
35
|
+
*Vercel AI SDK requires `experimental_telemetry: { isEnabled: true }` on every call.
|
|
36
|
+
|
|
37
|
+
## PII Control
|
|
38
|
+
|
|
39
|
+
| `dataCollection.genAI` | `recordInputs` | Prompts captured? |
|
|
40
|
+
| ---------------------- | ---------------- | ----------------- |
|
|
41
|
+
| default on | `true` (default) | Yes |
|
|
42
|
+
| `{ inputs: false }` | `true` | No |
|
|
43
|
+
| default on | `false` | No |
|
|
44
|
+
|
|
45
|
+
With `dataCollection`, genAI input/output capture is **on by default**. Supported
|
|
46
|
+
integrations default `recordInputs`/`recordOutputs` to `true` (governed by
|
|
47
|
+
`dataCollection.genAI`). To disable it, set
|
|
48
|
+
`dataCollection: { genAI: { inputs: false, outputs: false } }`. Use integration-level
|
|
49
|
+
options to opt out or override specific integrations.
|
|
50
|
+
|
|
51
|
+
## Configuration Examples
|
|
52
|
+
|
|
53
|
+
### Auto-enabled integrations
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
import * as Sentry from "@sentry/node";
|
|
57
|
+
|
|
58
|
+
Sentry.init({
|
|
59
|
+
dsn: process.env.SENTRY_DSN,
|
|
60
|
+
tracesSampleRate: 1.0,
|
|
61
|
+
dataCollection: {
|
|
62
|
+
// To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
|
|
63
|
+
// https://docs.sentry.io/platforms/javascript/guides/node/configuration/options/#dataCollection
|
|
64
|
+
// userInfo: false,
|
|
65
|
+
// httpBodies: [],
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
// OpenAI, Anthropic, LangChain, LangGraph, Google GenAI activate automatically
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Explicit configuration with recordInputs/recordOutputs override
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
Sentry.init({
|
|
75
|
+
dsn: process.env.SENTRY_DSN,
|
|
76
|
+
tracesSampleRate: 1.0,
|
|
77
|
+
dataCollection: {
|
|
78
|
+
// To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
|
|
79
|
+
// https://docs.sentry.io/platforms/javascript/guides/node/configuration/options/#dataCollection
|
|
80
|
+
// userInfo: false,
|
|
81
|
+
// httpBodies: [],
|
|
82
|
+
},
|
|
83
|
+
integrations: [Sentry.openAIIntegration(), Sentry.vercelAIIntegration()],
|
|
84
|
+
});
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Vercel AI SDK per-call telemetry (required)
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
await generateText({
|
|
91
|
+
model: openai("gpt-4.1"),
|
|
92
|
+
prompt: "Hello",
|
|
93
|
+
experimental_telemetry: { isEnabled: true, recordInputs: true, recordOutputs: true },
|
|
94
|
+
});
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Browser / Next.js client-side (manual wrapping required)
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
import OpenAI from "openai";
|
|
101
|
+
import * as Sentry from "@sentry/nextjs"; // or @sentry/browser
|
|
102
|
+
|
|
103
|
+
const openai = Sentry.instrumentOpenAiClient(new OpenAI());
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Manual Instrumentation - `gen_ai.*` Spans
|
|
107
|
+
|
|
108
|
+
Use when the library isn’t supported, or for wrapping custom AI logic.
|
|
109
|
+
|
|
110
|
+
### `gen_ai.request` - LLM call
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
await Sentry.startSpan(
|
|
114
|
+
{
|
|
115
|
+
op: "gen_ai.request",
|
|
116
|
+
name: "chat claude-sonnet-4-6",
|
|
117
|
+
attributes: { "gen_ai.request.model": "claude-sonnet-4-6" },
|
|
118
|
+
},
|
|
119
|
+
async (span) => {
|
|
120
|
+
span.setAttribute("gen_ai.request.messages", JSON.stringify(messages));
|
|
121
|
+
const result = await myClient.chat(messages);
|
|
122
|
+
span.setAttribute("gen_ai.usage.input_tokens", result.usage.inputTokens);
|
|
123
|
+
span.setAttribute("gen_ai.usage.output_tokens", result.usage.outputTokens);
|
|
124
|
+
return result;
|
|
125
|
+
},
|
|
126
|
+
);
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### `gen_ai.invoke_agent` - Agent lifecycle
|
|
130
|
+
|
|
131
|
+
```typescript
|
|
132
|
+
await Sentry.startSpan(
|
|
133
|
+
{
|
|
134
|
+
op: "gen_ai.invoke_agent",
|
|
135
|
+
name: "invoke_agent Weather Agent",
|
|
136
|
+
attributes: {
|
|
137
|
+
"gen_ai.agent.name": "Weather Agent",
|
|
138
|
+
"gen_ai.request.model": "claude-sonnet-4-6",
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
async (span) => {
|
|
142
|
+
const result = await myAgent.run(task);
|
|
143
|
+
span.setAttribute("gen_ai.usage.input_tokens", result.totalInputTokens);
|
|
144
|
+
span.setAttribute("gen_ai.usage.output_tokens", result.totalOutputTokens);
|
|
145
|
+
return result;
|
|
146
|
+
},
|
|
147
|
+
);
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### `gen_ai.execute_tool` - Tool/function call
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
await Sentry.startSpan(
|
|
154
|
+
{
|
|
155
|
+
op: "gen_ai.execute_tool",
|
|
156
|
+
name: "execute_tool get_weather",
|
|
157
|
+
attributes: {
|
|
158
|
+
"gen_ai.tool.name": "get_weather",
|
|
159
|
+
"gen_ai.tool.type": "function",
|
|
160
|
+
"gen_ai.tool.input": JSON.stringify({ location: "Paris" }),
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
async (span) => {
|
|
164
|
+
const result = await getWeather("Paris");
|
|
165
|
+
span.setAttribute("gen_ai.tool.output", JSON.stringify(result));
|
|
166
|
+
return result;
|
|
167
|
+
},
|
|
168
|
+
);
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Span Attribute Reference
|
|
172
|
+
|
|
173
|
+
### Common attributes
|
|
174
|
+
|
|
175
|
+
| Attribute | Type | Required | Description |
|
|
176
|
+
| ----------------------- | ------ | -------- | ---------------------------------------------------------------- |
|
|
177
|
+
| `gen_ai.request.model` | string | Yes | Model identifier (e.g., `claude-sonnet-4-6`, `gemini-2.5-flash`) |
|
|
178
|
+
| `gen_ai.operation.name` | string | No | Human-readable operation label |
|
|
179
|
+
| `gen_ai.agent.name` | string | No | Agent name (for agent spans) |
|
|
180
|
+
|
|
181
|
+
### Model config attributes
|
|
182
|
+
|
|
183
|
+
| Attribute | Type |
|
|
184
|
+
| --------------------------------- | ------ |
|
|
185
|
+
| `gen_ai.request.reasoning_effort` | string |
|
|
186
|
+
|
|
187
|
+
### Content attributes (captured by default; gated by `dataCollection.genAI` + `recordInputs/recordOutputs`)
|
|
188
|
+
|
|
189
|
+
| Attribute | Type | Description |
|
|
190
|
+
| -------------------------------- | ------ | ------------------------------------- |
|
|
191
|
+
| `gen_ai.request.messages` | string | **JSON-stringified** message array |
|
|
192
|
+
| `gen_ai.request.available_tools` | string | **JSON-stringified** tool definitions |
|
|
193
|
+
| `gen_ai.response.text` | string | **JSON-stringified** response array |
|
|
194
|
+
| `gen_ai.response.tool_calls` | string | **JSON-stringified** tool call array |
|
|
195
|
+
|
|
196
|
+
> Span attributes only accept primitives - arrays/objects must be JSON-stringified.
|
|
197
|
+
|
|
198
|
+
### Token usage attributes
|
|
199
|
+
|
|
200
|
+
| Attribute | Type | Description |
|
|
201
|
+
| --------------------------------------- | ---- | ----------------------------------------- |
|
|
202
|
+
| `gen_ai.usage.input_tokens` | int | Total input tokens (including cached) |
|
|
203
|
+
| `gen_ai.usage.input_tokens.cached` | int | Subset served from cache |
|
|
204
|
+
| `gen_ai.usage.input_tokens.cache_write` | int | Tokens written to cache (Anthropic) |
|
|
205
|
+
| `gen_ai.usage.output_tokens` | int | Total output tokens (including reasoning) |
|
|
206
|
+
| `gen_ai.usage.output_tokens.reasoning` | int | Subset for chain-of-thought (o3, etc.) |
|
|
207
|
+
| `gen_ai.usage.total_tokens` | int | Sum of input + output |
|
|
208
|
+
|
|
209
|
+
> Cached and reasoning tokens are **subsets** of totals, not additive.
|
|
210
|
+
> Incorrect reporting produces wrong cost calculations.
|
|
211
|
+
|
|
212
|
+
## Agent Workflow Hierarchy
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
Transaction
|
|
216
|
+
└── gen_ai.invoke_agent "Weather Agent"
|
|
217
|
+
├── gen_ai.request "chat claude-sonnet-4-6"
|
|
218
|
+
├── gen_ai.execute_tool "get_weather"
|
|
219
|
+
├── gen_ai.request "chat claude-sonnet-4-6" ← follow-up
|
|
220
|
+
└── gen_ai.execute_tool "format_report"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Streaming
|
|
224
|
+
|
|
225
|
+
| Integration | Streaming | Token counts in streams |
|
|
226
|
+
| ----------------- | --------- | -------------------------------------------------- |
|
|
227
|
+
| OpenAI | Yes | Requires `stream_options: { include_usage: true }` |
|
|
228
|
+
| Anthropic | Yes | Automatic |
|
|
229
|
+
| Vercel AI SDK | Yes | Automatic (with `experimental_telemetry`) |
|
|
230
|
+
| LangChain | Yes | Tracked |
|
|
231
|
+
| Manual `gen_ai.*` | Yes | Set token counts after stream completes |
|
|
232
|
+
|
|
233
|
+
## Unsupported Providers
|
|
234
|
+
|
|
235
|
+
| Provider | Workaround |
|
|
236
|
+
| ----------- | ----------------------- |
|
|
237
|
+
| Cohere | Manual `gen_ai.*` spans |
|
|
238
|
+
| AWS Bedrock | Manual `gen_ai.*` spans |
|
|
239
|
+
| Mistral | Manual `gen_ai.*` spans |
|
|
240
|
+
| Groq | Manual `gen_ai.*` spans |
|
|
241
|
+
|
|
242
|
+
## Sampling Strategy
|
|
243
|
+
|
|
244
|
+
If `tracesSampleRate` < 1.0, use a `tracesSampler` that keeps 100% of gen_ai-related
|
|
245
|
+
transactions while sampling other traffic at a lower rate.
|
|
246
|
+
|
|
247
|
+
## Conversation Tracking
|
|
248
|
+
|
|
249
|
+
Link AI spans across turns into a chat-style timeline at **Explore > Conversations**.
|
|
250
|
+
|
|
251
|
+
**Prerequisites:** `streamGenAiSpans` defaults to `true` (SDK >=10.61.0, so AI spans
|
|
252
|
+
stream as standalone items) and genAI input/output capture enabled (on by default via
|
|
253
|
+
`dataCollection`) — Conversations reconstructs the chat from input/output attributes, so
|
|
254
|
+
without input/output capture the view will be empty.
|
|
255
|
+
|
|
256
|
+
```typescript
|
|
257
|
+
import * as Sentry from "@sentry/node";
|
|
258
|
+
|
|
259
|
+
// Set at the start of a conversation
|
|
260
|
+
Sentry.setConversationId("conv_abc123");
|
|
261
|
+
|
|
262
|
+
// All subsequent AI calls carry gen_ai.conversation.id: "conv_abc123"
|
|
263
|
+
await openai.chat.completions.create({
|
|
264
|
+
model: "gpt-5.5",
|
|
265
|
+
messages: [{ role: "user", content: "Hello" }],
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
// Later turns in the same conversation are linked automatically
|
|
269
|
+
await openai.chat.completions.create({
|
|
270
|
+
model: "gpt-5.5",
|
|
271
|
+
messages: [
|
|
272
|
+
{ role: "user", content: "Hello" },
|
|
273
|
+
{ role: "assistant", content: "Hi there!" },
|
|
274
|
+
{ role: "user", content: "What's the weather?" },
|
|
275
|
+
],
|
|
276
|
+
});
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
A single conversation can span multiple traces (e.g., page refresh), and a single trace
|
|
280
|
+
can contain multiple conversations.
|
|
281
|
+
|
|
282
|
+
### User Attribution
|
|
283
|
+
|
|
284
|
+
To populate the **User** column in Conversations, call `setUser` once per request or
|
|
285
|
+
session before any AI calls:
|
|
286
|
+
|
|
287
|
+
```typescript
|
|
288
|
+
Sentry.setUser({ id: "user_123", email: "jane@example.com", username: "jane" });
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## Troubleshooting
|
|
292
|
+
|
|
293
|
+
| Issue | Solution |
|
|
294
|
+
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
295
|
+
| No AI spans appearing | Verify `tracesSampleRate > 0`; check SDK >=10.61.0 |
|
|
296
|
+
| Token counts missing in streams | Add `stream_options: { include_usage: true }` (OpenAI) |
|
|
297
|
+
| Vercel AI spans not tracked | Add `experimental_telemetry: { isEnabled: true }` per call |
|
|
298
|
+
| Browser OpenAI not traced | Use `Sentry.instrumentOpenAiClient()` - auto-instrumentation is server-only |
|
|
299
|
+
| Prompts not captured | genAI capture is on by default; ensure you haven’t set `dataCollection: { genAI: { inputs: false } }`, or pass `recordInputs: true` explicitly |
|
|
300
|
+
| AI Agents Dashboard empty | Ensure traces are being sent; check DSN and `tracesSampleRate` |
|
|
301
|
+
| Wrong cost calculations | Cached/reasoning tokens are subsets of totals, not additions |
|
|
302
|
+
| Conversations view empty | Ensure `streamGenAiSpans` is enabled (default since SDK 10.61.0), genAI capture is on (default; not disabled via `dataCollection: { genAI: { inputs: false } }`), and a conversation ID is set via `Sentry.setConversationId()` |
|
|
303
|
+
| User column shows “Unknown” | Call `Sentry.setUser()` once per request or session |
|