Resolved credentials + media opts + the native module specifier.
The native-addon loader (defaults to the lazy specifier loader).
Returns the current roster from the native client, mapped to SlackParticipant.
Loads the native addon, constructs a client, wires its callbacks, and joins the huddle with the resolved bot token. Brings BOTH hearing and the agent's voice online.
The bridge's join args (channel id, huddle id, bot name, auth).
The bot/huddle identifiers.
Leaves the huddle and releases the native client. Tolerant of teardown errors.
Mutes a participant via the native huddle control (subject to the bot's authority). No-ops (without throwing) before join.
The participant to mute.
Registers the inbound per-attendee audio handler (the diarized hearing path).
Registers the native hand-raise/lower handler (partial — may never fire on some workspaces).
Registers the huddle-ended handler.
Registers the participant-join handler.
Registers the participant-leave handler.
Posts a message to the huddle's thread/channel via the native client. No-ops (without throwing) before join.
The chat message text.
Sends one raw PCM frame as the bot's outbound audio — the agent's real voice into the huddle, via the native huddle media send path. No-ops (without throwing) before join so an early model frame never crashes the session.
The PCM audio bytes to speak into the huddle.
A real, two-way ISlackHuddleSdk over the native Slack huddle media addon (Chime-backed send + receive).
Gives the agent both hearing (per-attendee inbound audio → diarized SlackAudioFrames) and a voice (sendAudioFrame → the native huddle media send path), plus working huddle controls (chat / mute) and roster/hand-raise events. Construct via BindSlackNative (the factory the bridge's
SetSdkFactorywants), not directly, so config resolution + the lazy loader wire consistently.