Member Junction
    Preparing search index...

    The injectable calendar-API seam — the per-provider calendar backend the CalendarWatcher polls. This is the bridge program's "documented seam, not a hard dependency" pattern (mirroring the bridge SDK seams and IRealtimeSession): the watcher depends only on this interface, so it is fully unit-testable with an in-memory mock and production binds the real Microsoft Graph / Google Calendar client behind it.

    An implementation watches one agent identity's calendar (the identity value is passed per call so a single adapter instance can serve many identities on the same provider/credential).

    GraphCalendarSource / GoogleCalendarSource for the production binding stubs.

    interface ICalendarSource {
        ListUpcomingInvites(
            identityValue: string,
            sinceCursor?: string,
        ): Promise<CalendarPollResult>;
    }

    Implemented by

    Index

    Methods

    • Lists invites for identityValue's calendar that are new since sinceCursor. The adapter is responsible only for fetching + normalizing — the watcher decides attendee-membership, join-URL resolution, and dedupe. An adapter SHOULD return only upcoming (future-start) invites where it can, but the watcher defends against past-start invites regardless.

      Parameters

      • identityValue: string

        The agent identity's address (an email, for IdentityType='Email').

      • OptionalsinceCursor: string

        The cursor returned by the previous poll, or undefined on the first poll.

      Returns Promise<CalendarPollResult>

      The new invites + the next cursor.

      May reject on transport/auth failure; the watcher catches per-identity and continues.