← All @molecule/* packages · App templates
@molecule/api-error-tracking-sentryProvider bond · error-tracking · API (Node) · v1.0.1 · Apache-2.0
Sentry error tracking provider for molecule.dev.
npm install @molecule/api-error-tracking-sentrynpm · Source on GitHub · Implements @molecule/api-error-tracking
@molecule/api-error-tracking-sentry is a provider bond on the API (Node) side: it implements the error-tracking core interface (@molecule/api-error-tracking) with a concrete vendor or library behind it.
Your code calls the core; you wire this provider once at startup. Swapping vendors later is one line in that wiring, not a rewrite.
import { setProvider, captureException } from '@molecule/api-error-tracking'
import { provider } from '@molecule/api-error-tracking-sentry'
// Bond at startup (e.g. in setupBonds())
setProvider(provider)
// Anywhere in the app — delivered to Sentry once SENTRY_DSN is set
captureException(new Error('boom'), { tags: { source: 'worker' } })Works with: @molecule/api-bond, @molecule/api-error-tracking, @molecule/api-secrets
Secrets: SENTRY_DSN, SENTRY_ENVIRONMENT (optional), SENTRY_TRACES_SAMPLE_RATE (optional)
Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit
src/index.tsJSDoc, not this file.
Sentry error tracking provider for molecule.dev.
Reports exceptions and messages to Sentry via @sentry/node, mapping the
normalized @molecule/api-error-tracking context onto Sentry scopes
(tags/user/extra).
import { setProvider, captureException } from '@molecule/api-error-tracking'
import { provider } from '@molecule/api-error-tracking-sentry'
// Bond at startup (e.g. in setupBonds())
setProvider(provider)
// Anywhere in the app — delivered to Sentry once SENTRY_DSN is set
captureException(new Error('boom'), { tags: { source: 'worker' } })
provider
npm install @molecule/api-error-tracking-sentry @molecule/api-bond @molecule/api-error-tracking @molecule/api-secrets @sentry/node
providerSentry error tracking provider. Lazily initialized from SENTRY_DSN;
every method is a documented no-op while the DSN is unset.
const provider: ErrorTrackingProvider
sentrySecretDefinitionsSecret definitions required by the Sentry error tracking bond.
const sentrySecretDefinitions: SecretDefinition[]
Implements @molecule/api-error-tracking interface.
Setup function to register this provider with the core interface:
import { setProvider } from '@molecule/api-error-tracking'
import { provider } from '@molecule/api-error-tracking-sentry'
export function setupErrorTrackingSentry(): void {
setProvider(provider)
}
Peer dependencies:
@molecule/api-bond ^1.0.1@molecule/api-error-tracking ^1.0.1@molecule/api-secrets ^1.0.1SENTRY_DSN (required) — Sentry DSN
https://examplePublicKey@o0.ingest.sentry.io/0SENTRY_ENVIRONMENT (optional) — Sentry environment
productionSENTRY_TRACES_SAMPLE_RATE (optional) — Sentry traces sample rate
0.1@molecule/api-bond
@molecule/api-error-tracking
@molecule/api-secrets
@sentry/node
Without SENTRY_DSN the provider is a documented no-op. It never
throws or crashes an app that installed it but hasn't configured the
key — captures simply do nothing, and the boot-time config report flags
the missing SENTRY_DSN with setup instructions.
The SDK is initialized lazily (once) on first use, from SENTRY_DSN,
optional SENTRY_ENVIRONMENT (defaults to NODE_ENV), and optional
SENTRY_TRACES_SAMPLE_RATE (0–1; unset disables tracing).
A returned event id does NOT confirm delivery. The SDK buffers and
sends asynchronously; a capture can return an id and still never reach
Sentry (bad DSN, network egress blocked, process exited too soon). Call
flush(timeoutMs) before process exit — false means events may have
been dropped — and check the DSN/network before concluding the
integration is broken.