Athas Boilerplate

@athas/integrations-core

external-ready

Provider 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:
    • isEmailProviderConfigured
    • isPushProviderConfigured
    • isAnalyticsProviderConfigured
    • isBillingProviderConfigured

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:

  • none is accepted in backend env for provider target toggles.
  • none means "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)

On this page