Member Junction
    Preparing search index...

    The minimal Microsoft Teams calling-bot SDK surface the import('./teams-bridge').TeamsBridge depends on. Production binds this to the real ACS calling-bot / Graph cloud-communications API; tests inject a FakeTeamsSdk.

    interface ITeamsMeetingSdk {
        getParticipants(): Promise<TeamsParticipant[]>;
        join(args: TeamsJoinArgs): Promise<TeamsJoinResult>;
        leave(): Promise<void>;
        muteParticipant(participantId: string): Promise<void>;
        onAudioFrame(cb: (frame: TeamsAudioFrame) => void): void;
        onHandRaise(cb: (participantId: string, raised: boolean) => void): void;
        onMeetingEnded(cb: () => void): void;
        onParticipantJoin(cb: (participant: TeamsParticipant) => void): void;
        onParticipantLeave(cb: (participantId: string) => void): void;
        postChatMessage(text: string): Promise<void>;
        sendAudioFrame(pcm: ArrayBuffer): void;
    }

    Implemented by

    Index

    Methods

    • Mutes a participant (requires the bot be an organizer/presenter with the relevant policy).

      Parameters

      • participantId: string

        The participant to mute.

      Returns Promise<void>

    • Registers a callback for inbound raw per-participant audio frames (what the agent hears, carrying the speaker label for diarization). "Latest handler wins."

      Parameters

      • cb: (frame: TeamsAudioFrame) => void

        Invoked with each inbound audio frame.

      Returns void

    • Registers a callback for native raised-hand signals. "Latest handler wins."

      ⚠️ Teams raised-hand is partial over the calling-bot API: a clean per-participant event is not guaranteed on every tenant/build. The adapter wires this where the platform exposes it and the driver tolerates the signal never firing.

      Parameters

      • cb: (participantId: string, raised: boolean) => void

        Invoked with the participant id and whether the hand is now raised.

      Returns void

    • Registers a callback fired when the meeting/call ends (organizer ended / call terminated). "Latest handler wins."

      Parameters

      • cb: () => void

        Invoked when the meeting has ended.

      Returns void

    • Registers a callback fired when a participant leaves. "Latest handler wins."

      Parameters

      • cb: (participantId: string) => void

        Invoked with the participant id that left.

      Returns void

    • Posts a message to the Teams meeting chat thread (everyone).

      Parameters

      • text: string

        The chat message text.

      Returns Promise<void>

    • Sends one raw PCM audio frame as the bot's outbound audio (the agent's voice into the meeting), over the ACS application-hosted-media outbound audio socket.

      Parameters

      • pcm: ArrayBuffer

        The PCM audio bytes to send.

      Returns void