@athas/integrations-core
external-readyProvider runtime contracts and readiness checks shared by integrations adapters.
Purpose
@athas/integrations-core centralizes provider-domain constants, runtime env mapping, and provider readiness rules.
otel is intentionally generic (not vendor-named) so runtime OTLP telemetry can target SigNoz or other OTLP-compatible backends. PostHog remains a telemetry provider choice at the telemetry layer (posthog_logs) rather than an integrations analytics provider.
Current exports
PROVIDER_DOMAINS- provider settings contracts (
ProviderSettingsRecord,ProviderSettingsUnion) - provider capability matrices (
EMAIL_PROVIDER_CAPABILITIES,ANALYTICS_PROVIDER_CAPABILITIES, ...) - runtime env mapping + validation (
mapIntegrationsRuntimeEnv,resolveIntegrationsRuntimeEnv,validateIntegrationsRuntimeEnv) - capability matrix snapshots (
buildIntegrationsCapabilityMatrix) - provider selection helpers (
normalizeProviderSelection,resolveDefaultProviderSelection) - readiness checks:
isEmailProviderConfiguredisPushProviderConfiguredisAnalyticsProviderConfiguredisBillingProviderConfigured
Boundary
Keep this package framework-agnostic.
- allowed: typed contracts and pure checks
- not allowed: Nest module wiring, controller logic, SDK client instantiation
Provider disable semantics
Provider enums in contracts remain concrete providers (nodemailer, brevo, otel, umami, etc.).
Runtime disable uses env mapping semantics, not contract enums:
noneis accepted in backend env for provider target toggles.nonemeans "provider disabled for this runtime target" and is normalized by env mapping.- selection contracts still use concrete providers to keep admin/client payloads type-safe.
Analytics supports split targets:
ANALYTICS_PROVIDER_BACKEND: backend event delivery target (otel,umami,none)ANALYTICS_PROVIDER_FRONTEND: frontend event delivery target (umami,otel,none)