Member Junction
    Preparing search index...

    Base class for all communication providers. Each provider sub-classes this base class and implements functionality specific to the provider.

    All methods accept an optional credentials parameter that allows per-request credential overrides. When credentials are provided, they take precedence over environment variables. Set credentials.disableEnvironmentFallback = true to disable environment variable fallback.

    Each provider defines its own credential interface that extends ProviderCredentialsBase. For example, SendGridCredentials, MSGraphCredentials, etc.

    // Use environment credentials (default behavior)
    await provider.SendSingleMessage(message);

    // Override with request credentials
    await provider.SendSingleMessage(message, { apiKey: 'SG.xxx' });

    // Require explicit credentials (no env fallback)
    await provider.SendSingleMessage(message, {
    apiKey: 'SG.xxx',
    disableEnvironmentFallback: true
    });

    Hierarchy (View Summary)

    Index

    Constructors

    Accessors

    • get ProviderName(): string

      Returns the name of this provider for use in error messages. Override in subclasses to provide a more descriptive name.

      Returns string

    • get SupportsPush(): boolean

      Convenience gate: true when this provider supports inbound push in ANY form (subscription-managed or inbound-parse), false otherwise. Lets callers cleanly short-circuit — if (provider.SupportsPush) { ... } — instead of probing individual operations.

      Derived from GetSubscriptionCapabilities so it stays in lockstep with actual capability: providers that support push return capabilities and thereby report SupportsPush === true for free; providers that don't return undefined and report false. Subclasses normally do NOT override this — override GetSubscriptionCapabilities instead.

      Returns boolean

    Methods

    • Reads calendar events for one identifier.

      CONCRETE, NOT ABSTRACT, and deliberately so: making it abstract would break every existing provider at compile time for a capability most of them will never have. A provider that supports it overrides this and adds 'GetEvents' to getSupportedOperations(); everything else inherits a refusal that NAMES ITSELF, so a caller learns which provider declined rather than receiving an empty list it cannot distinguish from an empty calendar.

      That distinction is the whole reason this returns Success:false rather than {Events: []}. "This provider cannot look" and "there was nothing in the window" are different facts, and a caller advancing a watermark must not treat the first as the second.

      Parameters

      Returns Promise<GetEventsResult<Record<string, any>>>