Last add error, shown under the picker.
True while an Add request is in flight.
The MODEL override chosen in the "Add an agent" picker (dev-only; null = co-agent/target default).
The target id chosen in the "Add an agent" picker.
The VOICE override chosen in the "Add an agent" picker (dev-only; null = co-agent/target default).
The agent to voice (agent mode) — the Realtime Co-Agent / voice front-end.
The agent's display name (bot name + addressing).
The agent bots currently bridged into the room (the first is the one started on join).
Resolve the connection automatically on init.
Target agents the user can ADD in-room (id + name). The host (e.g. the Explorer resource) supplies these.
Active Realtime models + their voices, supplied by the host (for the add-agent dropdowns).
Whether the dev model/voice pickers are shown in the in-room "Add an agent" control. The HOST
computes this (the Realtime: Advanced Session Controls authorization) and passes it down — this
generic component never evaluates authorizations itself.
Emitted when the room connects.
Max time to wait for the connection to start before surfacing a retryable error, so a hung or very
slow server (e.g. an agent bot that can't reach the LiveKit media path) doesn't spin forever. Set
0 to disable the client-side timeout.
Emitted for inbound data-channel messages.
Emitted when the room disconnects.
The display name the local user joins as. Defaults to the authenticated user server-side.
Show the in-room "Agents" panel to add/remove agents (agent mode only).
Offer "End meeting for everyone" in the control bar's Zoom-style leave menu. When on (default) and a
room is resolved, ending tears down every agent in the room server-side (by name — so it works even
when this client only joined). Set false for contexts where only the local user should ever leave.
Show the "Invite" pill that copies a join link to this room.
Enable the server-authorized recording control (composite egress).
True while an "End meeting" (stop all agents + leave) is in flight.
The token/session-resolution error, if any.
Emitted on room errors (and on token/session-resolution failures).
True briefly after the invite link is copied (drives the "Link copied" pill state).
Emitted (with the room name) when the user clicks "Invite people". The host (e.g. the Explorer resource) opens an MJ user-picker and calls the invite mutation — kept out of this generic component, which knows nothing about MJ users.
Whether a recording is currently in progress.
Whether the binding is resolving the token/session.
Whether to start an agent in the room ('agent') or just join an existing room ('join').
Emitted when a participant joins.
Emitted when a participant leaves.
If specified, this provider will be used for communication and for all metadata purposes. By default, if not provided, the Metadata and RunView classes are used for this and the default GraphQLDataProvider is used which is connected to the same back-end MJAPI instance as the Metadata and RunView classes. If you want to have this component connect to a different MJAPI back-end, create an instance of a ProviderBase sub-class like GraphQLDataProvider/etc, and configure it as appropriate to connect to the MJAPI back-end you want to use, and then pass it in here.
Per-session Realtime MODEL override for the INITIAL agent (from the host's pre-join picker).
Per-session VOICE override for the INITIAL agent (from the host's pre-join picker).
The MJ: Files id of this room's meeting recording, when one exists — set when a recording is STOPPED
(the server registers the egress MP4 and returns its file id) or resolved for an already-recorded room
on join. Drives the MJStorageMediaPlayerComponent playback panel.
The display name passed to the room.
The resolved room name (for recording calls).
The room name. Required for 'join' mode; optional for 'agent' (server generates one).
The resolved LiveKit server URL.
Emitted once the agent room session is started (agent mode).
Whether the floating agents panel is open.
Whether the recording playback panel is shown (dismissable).
The TARGET agent the co-agent voices — the one being "called". The Realtime Co-Agent delegates to
it via invoke-target-agent; without it the agent has nobody to speak for and stays idle.
The resolved access token.
Turn-taking mode for the agent.
Exposed for template use — platform-safe UUID equality (SQL upper vs PG lower).
Performs a case-insensitive comparison of two UUID strings. Handles null/undefined gracefully — two nullish values are considered equal, but a nullish value is never equal to a non-nullish value.
First UUID to compare
Second UUID to compare
true if the UUIDs are equal (case-insensitive), false otherwise
StaticɵdirStaticɵfacVoices for the model chosen in the add-agent picker (empty when no model picked or it has none).
Available agents not already in the room (by target id) — the "Add" picker options.
Builds the shareable invite URL for THIS room: the current page URL with a room=<roomName> query
param. Opening it lands the invitee on the Live Room in join mode for the same room.
Returns either the default Metadata provider or the one specified in the Provider property, if it was specified
Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified
Returns either the default RunReport provider or the one specified in the Provider property, if it was specified
Returns either the default RunView provider or the one specified in the Provider property, if it was specified
Adds another agent to the SAME room — starts a new bridge (the co-agent voicing the chosen target) and appends it to the roster. The new bot joins the live room alongside the existing participants.
Copies inviteUrl to the clipboard and flips the pill to "Link copied" briefly.
End meeting (the Zoom/Teams "End for all", reached from the control-bar leave menu): tears down EVERY agent in the room server-side — by room name, so it works even when this client only joined the room and never tracked the bridge ids locally — then disconnects the local user. Contrast with Leave (the other menu item → LiveKitRoomComponent.Leave), which only disconnects YOU and lets the meeting continue; the server then auto-leaves the agents once the last human is gone, so neither path strands billable agent sessions in an empty room.
A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.
Records the add-agent MODEL choice; clears the voice so it can't outlive a model switch.
Picker selection handler for the in-room "Add an agent" control (native select; no FormsModule dep).
Records the add-agent VOICE choice.
Toggles room recording via the RealtimeBridge GraphQL surface (server-authorized egress).
Removes an agent from the room — stops its bridge and drops it from the roster.
Resolves the connection (mints a token and, in agent mode, starts the agent session).
mj-livekit-agent-room— the MemberJunction binding for the LiveKit room UI. It resolves a scoped access token (and, in'agent'mode, starts the agent's presence in the room) via the RealtimeBridge GraphQL surface, then renders LiveKitRoomComponent with the resolved connection. All the rich feature gates of the generic component are forwarded; MJ user/provider context is threaded in.Public members are PascalCase (MJ convention); private members are camelCase.