@memberjunction/ng-mj-livekit-room 0.0.1 → 5.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -43
- package/dist/lib/mj-livekit-room.component.d.ts +251 -0
- package/dist/lib/mj-livekit-room.component.d.ts.map +1 -0
- package/dist/lib/mj-livekit-room.component.js +897 -0
- package/dist/lib/mj-livekit-room.component.js.map +1 -0
- package/dist/public-api.d.ts +2 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +8 -0
- package/dist/public-api.js.map +1 -0
- package/package.json +44 -6
package/README.md
CHANGED
|
@@ -1,45 +1,63 @@
|
|
|
1
1
|
# @memberjunction/ng-mj-livekit-room
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
##
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
- [
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
3
|
+
The **MemberJunction binding** for the LiveKit room UI. `<mj-livekit-agent-room>` wraps the portable
|
|
4
|
+
[`@memberjunction/ng-livekit-room`](../livekit-room) component and connects it to MJ's realtime-bridge
|
|
5
|
+
infrastructure: it mints a scoped access token (and optionally starts an **agent room session**) via the
|
|
6
|
+
`RealtimeBridge` GraphQL surface, threads MJ user/provider context, and forwards every feature gate.
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
@memberjunction/ng-mj-livekit-room ← you are here (MJ-aware, app-agnostic)
|
|
10
|
+
▲ wraps
|
|
11
|
+
@memberjunction/ng-livekit-room (portable UI)
|
|
12
|
+
▲ calls
|
|
13
|
+
RealtimeBridgeResolver (MJServer) ──► @memberjunction/livekit-room-server
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<!-- Start an agent in a room and join it -->
|
|
20
|
+
<mj-livekit-agent-room
|
|
21
|
+
[Mode]="'agent'"
|
|
22
|
+
[AgentID]="agentId"
|
|
23
|
+
[AgentName]="'Sage'"
|
|
24
|
+
[Provider]="Provider"
|
|
25
|
+
[ShowAgentState]="true"
|
|
26
|
+
[EnableRecording]="true"
|
|
27
|
+
(SessionStarted)="onSessionStarted($event)"
|
|
28
|
+
></mj-livekit-agent-room>
|
|
29
|
+
|
|
30
|
+
<!-- Or just join an existing room -->
|
|
31
|
+
<mj-livekit-agent-room [Mode]="'join'" [RoomName]="'support-42'" [DisplayName]="'Amith'"></mj-livekit-agent-room>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## What it adds over the generic component
|
|
35
|
+
|
|
36
|
+
- **Token resolution** — calls `GraphQLLiveKitClient.MintClientToken` / `StartAgentRoomSession`; you never
|
|
37
|
+
handle LiveKit credentials in the browser.
|
|
38
|
+
- **Agent sessions** — `Mode="agent"` starts the agent's presence in the room via the realtime bridge and
|
|
39
|
+
emits `SessionStarted` with the bridge id.
|
|
40
|
+
- **Server-authorized recording** — `EnableRecording` wires the record button to the egress mutations.
|
|
41
|
+
- **Multi-provider** — extends `BaseAngularComponent`; pass `[Provider]` to scope to a specific MJ server.
|
|
42
|
+
|
|
43
|
+
## Inputs
|
|
44
|
+
|
|
45
|
+
`Mode` (`agent` / `join`), `AgentID`, `AgentName`, `RoomName`, `DisplayName`, `TurnMode`, `AutoStart`,
|
|
46
|
+
plus pass-through gates: `Layout`, `Title`, `ShowHeader`, `ShowControlBar`, `ShowChat`,
|
|
47
|
+
`ShowParticipantsPanel`, `EnablePinning`, `EnableLayoutSwitcher`, `EnableNoiseFilter`,
|
|
48
|
+
`EnableBackgroundEffects`, `ShowAgentState`, `ShowPreJoin`, `EnableRecording`, `StartWithMicrophone`,
|
|
49
|
+
`StartWithCamera`, `AgentAvatarUrl`, `E2EEPassphrase`, `E2EEWorker`, and the device-control gates.
|
|
50
|
+
|
|
51
|
+
## Outputs
|
|
52
|
+
|
|
53
|
+
`SessionStarted`, `Connected`, `Disconnected`, `ParticipantJoined`, `ParticipantLeft`, `DataReceived`,
|
|
54
|
+
`ErrorOccurred`.
|
|
55
|
+
|
|
56
|
+
## In Explorer
|
|
57
|
+
|
|
58
|
+
`@memberjunction/ng-explorer-core` registers a `LiveKitRoomResource` (`DriverClass = 'LiveKitRoomResource'`)
|
|
59
|
+
that hosts this component as a tab — add a nav item with that driver class to surface it in an app.
|
|
60
|
+
|
|
61
|
+
## License
|
|
62
|
+
|
|
63
|
+
ISC © MemberJunction.com
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
3
|
+
import { UUIDsEqual } from '@memberjunction/global';
|
|
4
|
+
import { RealtimeModelVoices, RealtimeVoiceOption } from '@memberjunction/graphql-dataprovider';
|
|
5
|
+
import { type LiveKitRoomLayout } from '@memberjunction/ng-livekit-room';
|
|
6
|
+
import type { LiveKitDataMessage, LiveKitDisconnectedEvent, LiveKitParticipantJoinedEvent, LiveKitParticipantLeftEvent, LiveKitRoomError, LiveKitRoomState } from '@memberjunction/livekit-room-core';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/** How the MJ binding obtains its room: start an agent in a room, or just join an existing room. */
|
|
9
|
+
export type MJLiveKitConnectionMode = 'agent' | 'join';
|
|
10
|
+
/** Emitted when an agent room session has been started server-side. */
|
|
11
|
+
export interface MJLiveKitSessionStartedEvent {
|
|
12
|
+
/** The durable bridge-session row id. */
|
|
13
|
+
SessionBridgeID: string;
|
|
14
|
+
/** The room name. */
|
|
15
|
+
RoomName: string;
|
|
16
|
+
}
|
|
17
|
+
/** One agent bot bridged into the room — tracked for the in-room add/remove roster. */
|
|
18
|
+
export interface AgentInRoom {
|
|
19
|
+
/** The `MJ: AI Agent Session Bridges` row id (used to stop/remove this agent). */
|
|
20
|
+
SessionBridgeID: string;
|
|
21
|
+
/** The target agent this bot voices, when known. */
|
|
22
|
+
TargetAgentID: string | null;
|
|
23
|
+
/** Display name (the target agent's name). */
|
|
24
|
+
Name: string;
|
|
25
|
+
/** True while a remove request is in flight. */
|
|
26
|
+
Removing?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* `mj-livekit-agent-room` — the MemberJunction binding for the LiveKit room UI. It resolves a scoped
|
|
30
|
+
* access token (and, in `'agent'` mode, starts the agent's presence in the room) via the RealtimeBridge
|
|
31
|
+
* GraphQL surface, then renders {@link LiveKitRoomComponent} with the resolved connection. All the rich
|
|
32
|
+
* feature gates of the generic component are forwarded; MJ user/provider context is threaded in.
|
|
33
|
+
*
|
|
34
|
+
* Public members are PascalCase (MJ convention); private members are camelCase.
|
|
35
|
+
*/
|
|
36
|
+
export declare class MJLiveKitRoomComponent extends BaseAngularComponent implements OnInit {
|
|
37
|
+
private readonly cdr;
|
|
38
|
+
/** Whether to start an agent in the room (`'agent'`) or just join an existing room (`'join'`). */
|
|
39
|
+
Mode: MJLiveKitConnectionMode;
|
|
40
|
+
/** The agent to voice (agent mode) — the Realtime Co-Agent / voice front-end. */
|
|
41
|
+
AgentID: string | null;
|
|
42
|
+
/** The agent's display name (bot name + addressing). */
|
|
43
|
+
AgentName: string | null;
|
|
44
|
+
/**
|
|
45
|
+
* The TARGET agent the co-agent voices — the one being "called". The Realtime Co-Agent delegates to
|
|
46
|
+
* it via `invoke-target-agent`; without it the agent has nobody to speak for and stays idle.
|
|
47
|
+
*/
|
|
48
|
+
TargetAgentID: string | null;
|
|
49
|
+
/** The room name. Required for `'join'` mode; optional for `'agent'` (server generates one). */
|
|
50
|
+
RoomName: string | null;
|
|
51
|
+
/** The display name the local user joins as. Defaults to the authenticated user server-side. */
|
|
52
|
+
DisplayName: string | null;
|
|
53
|
+
/** Turn-taking mode for the agent. */
|
|
54
|
+
TurnMode: 'Passive' | 'Active' | 'Hybrid' | null;
|
|
55
|
+
/** Resolve the connection automatically on init. */
|
|
56
|
+
AutoStart: boolean;
|
|
57
|
+
/** Show the in-room "Agents" panel to add/remove agents (agent mode only). */
|
|
58
|
+
EnableAgentManagement: boolean;
|
|
59
|
+
/** Show the "Invite" pill that copies a join link to this room. */
|
|
60
|
+
EnableInvite: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Offer "End meeting for everyone" in the control bar's Zoom-style leave menu. When on (default) and a
|
|
63
|
+
* room is resolved, ending tears down every agent in the room server-side (by name — so it works even
|
|
64
|
+
* when this client only *joined*). Set `false` for contexts where only the local user should ever leave.
|
|
65
|
+
*/
|
|
66
|
+
EnableEndForAll: boolean;
|
|
67
|
+
/** Target agents the user can ADD in-room (id + name). The host (e.g. the Explorer resource) supplies these. */
|
|
68
|
+
AvailableAgents: {
|
|
69
|
+
ID: string;
|
|
70
|
+
Name: string;
|
|
71
|
+
}[];
|
|
72
|
+
/** Per-session Realtime MODEL override for the INITIAL agent (from the host's pre-join picker). */
|
|
73
|
+
RealtimeModelID: string | null;
|
|
74
|
+
/** Per-session VOICE override for the INITIAL agent (from the host's pre-join picker). */
|
|
75
|
+
RealtimeVoice: string | null;
|
|
76
|
+
/**
|
|
77
|
+
* Whether the dev model/voice pickers are shown in the in-room "Add an agent" control. The HOST
|
|
78
|
+
* computes this (the `Realtime: Advanced Session Controls` authorization) and passes it down — this
|
|
79
|
+
* generic component never evaluates authorizations itself.
|
|
80
|
+
*/
|
|
81
|
+
CanPickModelVoice: boolean;
|
|
82
|
+
/** Active Realtime models + their voices, supplied by the host (for the add-agent dropdowns). */
|
|
83
|
+
AvailableModels: RealtimeModelVoices[];
|
|
84
|
+
/** True briefly after the invite link is copied (drives the "Link copied" pill state). */
|
|
85
|
+
inviteCopied: boolean;
|
|
86
|
+
/** Whether the floating agents panel is open. */
|
|
87
|
+
showAgentsPanel: boolean;
|
|
88
|
+
/** The agent bots currently bridged into the room (the first is the one started on join). */
|
|
89
|
+
agentsInRoom: AgentInRoom[];
|
|
90
|
+
/** The target id chosen in the "Add an agent" picker. */
|
|
91
|
+
addTargetId: string | null;
|
|
92
|
+
/** The MODEL override chosen in the "Add an agent" picker (dev-only; null = co-agent/target default). */
|
|
93
|
+
addModelId: string | null;
|
|
94
|
+
/** The VOICE override chosen in the "Add an agent" picker (dev-only; null = co-agent/target default). */
|
|
95
|
+
addVoice: string | null;
|
|
96
|
+
/** Exposed for template use — platform-safe UUID equality (SQL upper vs PG lower). */
|
|
97
|
+
UUIDsEqual: typeof UUIDsEqual;
|
|
98
|
+
/** True while an Add request is in flight. */
|
|
99
|
+
addingAgent: boolean;
|
|
100
|
+
/** Last add error, shown under the picker. */
|
|
101
|
+
addError: string | null;
|
|
102
|
+
/** True while an "End meeting" (stop all agents + leave) is in flight. */
|
|
103
|
+
endingMeeting: boolean;
|
|
104
|
+
/** The inner Generic room — used to trigger the local disconnect when ending/leaving the meeting. */
|
|
105
|
+
private roomComponent?;
|
|
106
|
+
/** Available agents not already in the room (by target id) — the "Add" picker options. */
|
|
107
|
+
get availableToAdd(): {
|
|
108
|
+
ID: string;
|
|
109
|
+
Name: string;
|
|
110
|
+
}[];
|
|
111
|
+
/** Voices for the model chosen in the add-agent picker (empty when no model picked or it has none). */
|
|
112
|
+
get addVoices(): RealtimeVoiceOption[];
|
|
113
|
+
/** Records the add-agent MODEL choice; clears the voice so it can't outlive a model switch. */
|
|
114
|
+
onAddModelChange(event: Event): void;
|
|
115
|
+
/** Records the add-agent VOICE choice. */
|
|
116
|
+
onAddVoiceChange(event: Event): void;
|
|
117
|
+
/** @see LiveKitRoomComponent.Layout */
|
|
118
|
+
Layout: LiveKitRoomLayout;
|
|
119
|
+
/** @see LiveKitRoomComponent.Title */
|
|
120
|
+
Title: string | null;
|
|
121
|
+
/** @see LiveKitRoomComponent.ShowHeader */
|
|
122
|
+
ShowHeader: boolean;
|
|
123
|
+
/** @see LiveKitRoomComponent.ShowControlBar */
|
|
124
|
+
ShowControlBar: boolean;
|
|
125
|
+
/** @see LiveKitRoomComponent.ShowChat */
|
|
126
|
+
ShowChat: boolean;
|
|
127
|
+
/** @see LiveKitRoomComponent.ShowParticipantsPanel */
|
|
128
|
+
ShowParticipantsPanel: boolean;
|
|
129
|
+
/** @see LiveKitRoomComponent.EnableMicrophoneControl */
|
|
130
|
+
EnableMicrophoneControl: boolean;
|
|
131
|
+
/** @see LiveKitRoomComponent.EnableCameraControl */
|
|
132
|
+
EnableCameraControl: boolean;
|
|
133
|
+
/** @see LiveKitRoomComponent.EnableScreenShareControl */
|
|
134
|
+
EnableScreenShareControl: boolean;
|
|
135
|
+
/** @see LiveKitRoomComponent.EnableDeviceSettings */
|
|
136
|
+
EnableDeviceSettings: boolean;
|
|
137
|
+
/** @see LiveKitRoomComponent.EnableLeaveControl */
|
|
138
|
+
EnableLeaveControl: boolean;
|
|
139
|
+
/** @see LiveKitRoomComponent.StartWithMicrophone */
|
|
140
|
+
StartWithMicrophone: boolean;
|
|
141
|
+
/** @see LiveKitRoomComponent.StartWithCamera */
|
|
142
|
+
StartWithCamera: boolean;
|
|
143
|
+
/** @see LiveKitRoomComponent.AgentAvatarUrl */
|
|
144
|
+
AgentAvatarUrl: string | null;
|
|
145
|
+
/** @see LiveKitRoomComponent.EnablePinning */
|
|
146
|
+
EnablePinning: boolean;
|
|
147
|
+
/** @see LiveKitRoomComponent.EnableLayoutSwitcher */
|
|
148
|
+
EnableLayoutSwitcher: boolean;
|
|
149
|
+
/** @see LiveKitRoomComponent.EnableNoiseFilter */
|
|
150
|
+
EnableNoiseFilter: boolean;
|
|
151
|
+
/** @see LiveKitRoomComponent.EnableBackgroundEffects */
|
|
152
|
+
EnableBackgroundEffects: boolean;
|
|
153
|
+
/** @see LiveKitRoomComponent.ShowAgentState */
|
|
154
|
+
ShowAgentState: boolean;
|
|
155
|
+
/** @see LiveKitRoomComponent.ShowWhiteboard */
|
|
156
|
+
ShowWhiteboard: boolean;
|
|
157
|
+
/** @see LiveKitRoomComponent.ShowPreJoin */
|
|
158
|
+
ShowPreJoin: boolean;
|
|
159
|
+
/** Enable the server-authorized recording control (composite egress). */
|
|
160
|
+
EnableRecording: boolean;
|
|
161
|
+
/** @see LiveKitRoomComponent.E2EEPassphrase */
|
|
162
|
+
E2EEPassphrase: string | null;
|
|
163
|
+
/** @see LiveKitRoomComponent.E2EEWorker */
|
|
164
|
+
E2EEWorker: Worker | null;
|
|
165
|
+
/** Emitted once the agent room session is started (agent mode). */
|
|
166
|
+
SessionStarted: EventEmitter<MJLiveKitSessionStartedEvent>;
|
|
167
|
+
/**
|
|
168
|
+
* Emitted (with the room name) when the user clicks "Invite people". The host (e.g. the Explorer
|
|
169
|
+
* resource) opens an MJ user-picker and calls the invite mutation — kept out of this generic
|
|
170
|
+
* component, which knows nothing about MJ users.
|
|
171
|
+
*/
|
|
172
|
+
InvitePeopleRequested: EventEmitter<string>;
|
|
173
|
+
/** Emitted when the room connects. */
|
|
174
|
+
Connected: EventEmitter<LiveKitRoomState>;
|
|
175
|
+
/** Emitted when the room disconnects. */
|
|
176
|
+
Disconnected: EventEmitter<LiveKitDisconnectedEvent>;
|
|
177
|
+
/** Emitted when a participant joins. */
|
|
178
|
+
ParticipantJoined: EventEmitter<LiveKitParticipantJoinedEvent>;
|
|
179
|
+
/** Emitted when a participant leaves. */
|
|
180
|
+
ParticipantLeft: EventEmitter<LiveKitParticipantLeftEvent>;
|
|
181
|
+
/** Emitted for inbound data-channel messages. */
|
|
182
|
+
DataReceived: EventEmitter<LiveKitDataMessage>;
|
|
183
|
+
/** Emitted on room errors (and on token/session-resolution failures). */
|
|
184
|
+
ErrorOccurred: EventEmitter<LiveKitRoomError>;
|
|
185
|
+
/** Whether the binding is resolving the token/session. */
|
|
186
|
+
loading: boolean;
|
|
187
|
+
/** The token/session-resolution error, if any. */
|
|
188
|
+
errorMessage: string | null;
|
|
189
|
+
/** The resolved LiveKit server URL. */
|
|
190
|
+
serverUrl: string | null;
|
|
191
|
+
/** The resolved access token. */
|
|
192
|
+
token: string | null;
|
|
193
|
+
/** The display name passed to the room. */
|
|
194
|
+
resolvedDisplayName: string | null;
|
|
195
|
+
/** The resolved room name (for recording calls). */
|
|
196
|
+
resolvedRoomName: string | null;
|
|
197
|
+
/** Whether a recording is currently in progress. */
|
|
198
|
+
isRecording: boolean;
|
|
199
|
+
/** The active egress id, when recording. */
|
|
200
|
+
private currentEgressId;
|
|
201
|
+
ngOnInit(): void;
|
|
202
|
+
/**
|
|
203
|
+
* Max time to wait for the connection to start before surfacing a retryable error, so a hung or very
|
|
204
|
+
* slow server (e.g. an agent bot that can't reach the LiveKit media path) doesn't spin forever. Set
|
|
205
|
+
* `0` to disable the client-side timeout.
|
|
206
|
+
*/
|
|
207
|
+
ConnectTimeoutMs: number;
|
|
208
|
+
/** Resolves the connection (mints a token and, in agent mode, starts the agent session). */
|
|
209
|
+
Start(): Promise<void>;
|
|
210
|
+
/**
|
|
211
|
+
* Races `op` against a timeout: if it hasn't settled within `ms`, rejects with a clear, retryable
|
|
212
|
+
* message (the template's "Try again" button re-runs {@link Start}). A non-positive `ms` disables it.
|
|
213
|
+
*/
|
|
214
|
+
private withTimeout;
|
|
215
|
+
/** Starts the agent room session and applies the returned client token. */
|
|
216
|
+
private startAgentSession;
|
|
217
|
+
/** Picker selection handler for the in-room "Add an agent" control (native select; no FormsModule dep). */
|
|
218
|
+
onAddTargetChange(event: Event): void;
|
|
219
|
+
/**
|
|
220
|
+
* Adds another agent to the SAME room — starts a new bridge (the co-agent voicing the chosen target)
|
|
221
|
+
* and appends it to the roster. The new bot joins the live room alongside the existing participants.
|
|
222
|
+
*/
|
|
223
|
+
AddAgent(): Promise<void>;
|
|
224
|
+
/** Removes an agent from the room — stops its bridge and drops it from the roster. */
|
|
225
|
+
RemoveAgent(agent: AgentInRoom): Promise<void>;
|
|
226
|
+
/**
|
|
227
|
+
* **End meeting** (the Zoom/Teams "End for all", reached from the control-bar leave menu): tears down EVERY
|
|
228
|
+
* agent in the room server-side — *by room name*, so it works even when this client only **joined** the room
|
|
229
|
+
* and never tracked the bridge ids locally — then disconnects the local user. Contrast with **Leave** (the
|
|
230
|
+
* other menu item → {@link LiveKitRoomComponent.Leave}), which only disconnects YOU and lets the meeting
|
|
231
|
+
* continue; the server then auto-leaves the agents once the last human is gone, so neither path strands
|
|
232
|
+
* billable agent sessions in an empty room.
|
|
233
|
+
*/
|
|
234
|
+
EndMeeting(): Promise<void>;
|
|
235
|
+
/**
|
|
236
|
+
* Builds the shareable invite URL for THIS room: the current page URL with a `room=<roomName>` query
|
|
237
|
+
* param. Opening it lands the invitee on the Live Room in join mode for the same room.
|
|
238
|
+
*/
|
|
239
|
+
get inviteUrl(): string;
|
|
240
|
+
/** Copies {@link inviteUrl} to the clipboard and flips the pill to "Link copied" briefly. */
|
|
241
|
+
CopyInvite(): Promise<void>;
|
|
242
|
+
/** Joins an existing room by minting a client token. */
|
|
243
|
+
private joinRoom;
|
|
244
|
+
/** Toggles room recording via the RealtimeBridge GraphQL surface (server-authorized egress). */
|
|
245
|
+
onToggleRecording(): Promise<void>;
|
|
246
|
+
/** Records a failure and emits an error event. */
|
|
247
|
+
private fail;
|
|
248
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MJLiveKitRoomComponent, never>;
|
|
249
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MJLiveKitRoomComponent, "mj-livekit-agent-room", never, { "Mode": { "alias": "Mode"; "required": false; }; "AgentID": { "alias": "AgentID"; "required": false; }; "AgentName": { "alias": "AgentName"; "required": false; }; "TargetAgentID": { "alias": "TargetAgentID"; "required": false; }; "RoomName": { "alias": "RoomName"; "required": false; }; "DisplayName": { "alias": "DisplayName"; "required": false; }; "TurnMode": { "alias": "TurnMode"; "required": false; }; "AutoStart": { "alias": "AutoStart"; "required": false; }; "EnableAgentManagement": { "alias": "EnableAgentManagement"; "required": false; }; "EnableInvite": { "alias": "EnableInvite"; "required": false; }; "EnableEndForAll": { "alias": "EnableEndForAll"; "required": false; }; "AvailableAgents": { "alias": "AvailableAgents"; "required": false; }; "RealtimeModelID": { "alias": "RealtimeModelID"; "required": false; }; "RealtimeVoice": { "alias": "RealtimeVoice"; "required": false; }; "CanPickModelVoice": { "alias": "CanPickModelVoice"; "required": false; }; "AvailableModels": { "alias": "AvailableModels"; "required": false; }; "Layout": { "alias": "Layout"; "required": false; }; "Title": { "alias": "Title"; "required": false; }; "ShowHeader": { "alias": "ShowHeader"; "required": false; }; "ShowControlBar": { "alias": "ShowControlBar"; "required": false; }; "ShowChat": { "alias": "ShowChat"; "required": false; }; "ShowParticipantsPanel": { "alias": "ShowParticipantsPanel"; "required": false; }; "EnableMicrophoneControl": { "alias": "EnableMicrophoneControl"; "required": false; }; "EnableCameraControl": { "alias": "EnableCameraControl"; "required": false; }; "EnableScreenShareControl": { "alias": "EnableScreenShareControl"; "required": false; }; "EnableDeviceSettings": { "alias": "EnableDeviceSettings"; "required": false; }; "EnableLeaveControl": { "alias": "EnableLeaveControl"; "required": false; }; "StartWithMicrophone": { "alias": "StartWithMicrophone"; "required": false; }; "StartWithCamera": { "alias": "StartWithCamera"; "required": false; }; "AgentAvatarUrl": { "alias": "AgentAvatarUrl"; "required": false; }; "EnablePinning": { "alias": "EnablePinning"; "required": false; }; "EnableLayoutSwitcher": { "alias": "EnableLayoutSwitcher"; "required": false; }; "EnableNoiseFilter": { "alias": "EnableNoiseFilter"; "required": false; }; "EnableBackgroundEffects": { "alias": "EnableBackgroundEffects"; "required": false; }; "ShowAgentState": { "alias": "ShowAgentState"; "required": false; }; "ShowWhiteboard": { "alias": "ShowWhiteboard"; "required": false; }; "ShowPreJoin": { "alias": "ShowPreJoin"; "required": false; }; "EnableRecording": { "alias": "EnableRecording"; "required": false; }; "E2EEPassphrase": { "alias": "E2EEPassphrase"; "required": false; }; "E2EEWorker": { "alias": "E2EEWorker"; "required": false; }; "ConnectTimeoutMs": { "alias": "ConnectTimeoutMs"; "required": false; }; }, { "SessionStarted": "SessionStarted"; "InvitePeopleRequested": "InvitePeopleRequested"; "Connected": "Connected"; "Disconnected": "Disconnected"; "ParticipantJoined": "ParticipantJoined"; "ParticipantLeft": "ParticipantLeft"; "DataReceived": "DataReceived"; "ErrorOccurred": "ErrorOccurred"; }, never, never, true, never>;
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=mj-livekit-room.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mj-livekit-room.component.d.ts","sourceRoot":"","sources":["../../src/lib/mj-livekit-room.component.ts"],"names":[],"mappings":"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"}
|