@ai-matrx/meet 0.9.0 → 0.10.1
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/CHANGELOG.md +26 -0
- package/dist/{collab-B6scmSST.d.cts → collab-BBQxcyRQ.d.cts} +53 -2
- package/dist/{collab-B6scmSST.d.ts → collab-BBQxcyRQ.d.ts} +53 -2
- package/dist/{components-BeCQ9h0h.d.cts → components-1XBHgMYK.d.ts} +6 -2
- package/dist/{components-D0TqyeiY.d.ts → components-CK0EyqGL.d.cts} +6 -2
- package/dist/core.cjs +1225 -939
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +101 -26
- package/dist/core.d.ts +101 -26
- package/dist/core.js +1225 -939
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +1225 -939
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1225 -939
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +3120 -2694
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +69 -6
- package/dist/react.d.ts +69 -6
- package/dist/react.js +2775 -2349
- package/dist/react.js.map +1 -1
- package/dist/skins/meet.cjs +1051 -911
- package/dist/skins/meet.cjs.map +1 -1
- package/dist/skins/meet.d.cts +2 -2
- package/dist/skins/meet.d.ts +2 -2
- package/dist/skins/meet.js +702 -562
- package/dist/skins/meet.js.map +1 -1
- package/dist/styles.css +8 -0
- package/package.json +5 -5
package/dist/core.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as ParticipantIdentity,
|
|
2
|
-
export { A as AccessTokenSource,
|
|
1
|
+
import { P as ParticipantIdentity, a1 as NoteTakerState, a as MeetParticipant, M as MeetingRecord, ab as RoomPhase, k as AdmissionState, e as ParticipantRole, a6 as ParticipantStanding, a3 as ObserversVisibleTo, S as StageLayout, L as LobbyEntry, aa as RecordingState, U as UserId, aE as RecordingSource, af as TranscriptSegment, g as MeetingNote, W as WrapUpAnnouncement, j as CollabSnapshot, p as ConnectionQuality, h as MeetingId, R as RoomName, b as MeetApi, d as CallInvite, f as CallMode, O as OrganizationId, m as CallId, n as CallState, Z as MeetingKind, a8 as RecordingPolicy, V as MeetingAttendee, a9 as RecordingRecord, a0 as MeetingSettings, X as MeetingChanges, a4 as OccurrenceOverride, $ as MeetingOccurrence, ag as UpcomingOccurrence, Y as MeetingInvitee, I as InviteeInput, q as InviteeRole, ac as RsvpAnswer, ad as RsvpInvitation, c as MeetIdentity, C as CollabPanel } from './collab-BBQxcyRQ.cjs';
|
|
2
|
+
export { A as AccessTokenSource, l as CAPTION_LANGUAGES, o as CallablePerson, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, J as JsonObject, r as JsonValue, s as MeetApiOptions, t as MeetApiRequest, u as MeetAppFocus, v as MeetBreakoutBroadcast, w as MeetBreakoutPlan, x as MeetBreakoutRoom, y as MeetCollabSettings, z as MeetFileMedia, B as MeetPoll, D as MeetPollOption, G as MeetPollState, H as MeetQuestion, K as MeetQuestionState, N as MeetStroke, Q as MeetingActivities, i as MeetingAppPanel, _ as MeetingNoteKind, a2 as ORGANIZATION_HEADER, a5 as OccurrenceState, a7 as ROLE_RANK, ae as RsvpState, T as TranscriptSource, ah as appPanelOf, ai as applyCollabPacket, aj as asCallId, ak as asMeetingId, al as asOrganizationId, am as asParticipantIdentity, an as asRoomName, ao as asUserId, ap as assignedRoom, aq as autoAssign, ar as breakoutRemainingMs, as as collabFromState, at as createMeetApi, au as defaultCaptionLanguage, av as fileDownloadPath, aw as focusFromRow, ax as isGuest, ay as isHostRole, az as isLinkFollower, aA as isObserverRole, aB as loadMeetingActivities, aC as scheduleSettingsPatch, aD as withItem } from './collab-BBQxcyRQ.cjs';
|
|
3
3
|
import { RealtimeManager } from '@ai-matrx/realtime';
|
|
4
4
|
import { MessagingSupabaseClient, ActionHandler } from '@ai-matrx/messaging';
|
|
5
5
|
import { RoomOptions, ConnectionQuality as ConnectionQuality$1, Participant } from 'livekit-client';
|
|
@@ -341,11 +341,33 @@ interface MeetGrants {
|
|
|
341
341
|
readonly canRecord: boolean;
|
|
342
342
|
readonly canPublish: boolean;
|
|
343
343
|
readonly canSubscribe: boolean;
|
|
344
|
+
/** HR-360 wave 2 (MD-16): who sees the "Observing" line in People (knob). */
|
|
345
|
+
readonly observersVisibleTo?: ObserversVisibleTo | undefined;
|
|
344
346
|
}
|
|
345
347
|
/** No token yet grants nothing. Never "assume host until told otherwise". */
|
|
346
348
|
declare const NO_GRANTS: MeetGrants;
|
|
349
|
+
/**
|
|
350
|
+
* S4 — THIS PERSON'S WAIT, as the server's state read (`GET /v1/meet/state`) last said it
|
|
351
|
+
* (CORE-DESIGN §2.6). Set while `phase === "lobby"`; the waiting screens read it, never a
|
|
352
|
+
* broadcast. `admission` is the row's own word: `waiting_host` · `knocking` · `denied` ·
|
|
353
|
+
* `expired` · `withdrawn` · `ended` (`admitted` is never held here — it is a join).
|
|
354
|
+
*/
|
|
355
|
+
interface MeetWaiting {
|
|
356
|
+
readonly admission: AdmissionState;
|
|
357
|
+
/** Is anyone who may admit in the room? null until the first read. */
|
|
358
|
+
readonly admittersPresent: boolean | null;
|
|
359
|
+
/** May a denied person ask again (`reknock_after_deny`)? */
|
|
360
|
+
readonly reknockAllowed: boolean;
|
|
361
|
+
readonly knockExpiresAt: string | null;
|
|
362
|
+
/** How often the core reads while waiting (`waiting_poll_seconds`). */
|
|
363
|
+
readonly pollSeconds: number;
|
|
364
|
+
/** The run's `live_version` at the last read. */
|
|
365
|
+
readonly liveVersion: number;
|
|
366
|
+
}
|
|
347
367
|
interface MeetSnapshot {
|
|
348
368
|
readonly phase: RoomPhase;
|
|
369
|
+
/** S4: this person's wait (see `MeetWaiting`); null outside the waiting room. */
|
|
370
|
+
readonly waiting: MeetWaiting | null;
|
|
349
371
|
readonly meeting: MeetingRecord | null;
|
|
350
372
|
readonly localIdentity: ParticipantIdentity | null;
|
|
351
373
|
/** The server's word on what THIS joiner may do. See `MeetGrants`. */
|
|
@@ -743,7 +765,10 @@ declare const RPCS: {
|
|
|
743
765
|
readonly getOrCreateMeeting: "meet_get_or_create_meeting";
|
|
744
766
|
/** Resolve a durable public link, before/during/after its scheduled time. */
|
|
745
767
|
readonly meetingBySlug: "meet_meeting_by_slug";
|
|
746
|
-
readonly admit: "
|
|
768
|
+
readonly admit: "meet_admit";
|
|
769
|
+
readonly deny: "meet_deny";
|
|
770
|
+
readonly undeny: "meet_undeny";
|
|
771
|
+
readonly admitAll: "meet_admit_all";
|
|
747
772
|
readonly setLock: "meet_set_lock";
|
|
748
773
|
readonly recordConsent: "meet_record_consent";
|
|
749
774
|
/** Schedule with every setting at create; unset settings come from the knobs. */
|
|
@@ -827,12 +852,15 @@ interface MeetRepository {
|
|
|
827
852
|
readonly items: readonly MeetingRecord[];
|
|
828
853
|
readonly hasMore: boolean;
|
|
829
854
|
}>;
|
|
830
|
-
|
|
855
|
+
/** S4: one decision on one waiting person; returns the row as it now stands. */
|
|
856
|
+
decideAdmission(args: {
|
|
831
857
|
meetingId: MeetingId;
|
|
832
858
|
identity: string;
|
|
833
|
-
|
|
859
|
+
decision: "admit" | "deny" | "undeny";
|
|
834
860
|
byUserId: UserId;
|
|
835
|
-
}): Promise<
|
|
861
|
+
}): Promise<MeetingAttendee>;
|
|
862
|
+
/** S4: admit everyone still waiting (not expired); returns the admitted rows. */
|
|
863
|
+
admitAll(meetingId: MeetingId, byUserId: UserId): Promise<readonly MeetingAttendee[]>;
|
|
836
864
|
setLock(meetingId: MeetingId, locked: boolean, byUserId: UserId): Promise<MeetingRecord>;
|
|
837
865
|
projectSegment(row: Row): TranscriptSegment;
|
|
838
866
|
projectNote(row: Row): MeetingNote;
|
|
@@ -926,6 +954,13 @@ interface ScheduleMeetingInput {
|
|
|
926
954
|
/** RRULE subset: FREQ=DAILY|WEEKLY|MONTHLY, INTERVAL, BYDAY, BYMONTHDAY, COUNT, UNTIL. */
|
|
927
955
|
readonly recurrenceRule?: string | null | undefined;
|
|
928
956
|
readonly settings?: MeetingSettings | undefined;
|
|
957
|
+
/** HR-360 wave 2 (MD-15): the registered app panel the call opens beside it. */
|
|
958
|
+
readonly appPanel?: {
|
|
959
|
+
readonly key: string;
|
|
960
|
+
readonly recordId: string;
|
|
961
|
+
} | undefined;
|
|
962
|
+
/** HR-360 wave 2 (MD-16): user ids the host names as silent observers. */
|
|
963
|
+
readonly observers?: readonly string[] | undefined;
|
|
929
964
|
}
|
|
930
965
|
interface RepositoryOptions {
|
|
931
966
|
/**
|
|
@@ -1121,14 +1156,15 @@ declare const MEET_EVENTS: {
|
|
|
1121
1156
|
readonly cancel: "mx.call.cancel";
|
|
1122
1157
|
/** You answered (or declined) on another device. Stop ringing here. */
|
|
1123
1158
|
readonly settled: "mx.call.settled";
|
|
1124
|
-
/**
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1159
|
+
/**
|
|
1160
|
+
* 🚨 S4 (CORE-DESIGN §2.6): the ONE room-channel event — payload-free "something changed,
|
|
1161
|
+
* read again". Nothing a person must see rides it: a waiting person learns admitted /
|
|
1162
|
+
* denied / expired / ended by READING their row (`GET /v1/meet/state`) on a timer and on
|
|
1163
|
+
* every hint. The four payload broadcasts (`mx.lobby.knock`, `mx.lobby.admission`,
|
|
1164
|
+
* `mx.room.lock`, `mx.room.recording`) are gone with their senders and receivers. The
|
|
1165
|
+
* server publishes the same event on the same topic (aidream `admission.room_topic`).
|
|
1166
|
+
*/
|
|
1167
|
+
readonly stateChanged: "mx.state.changed";
|
|
1132
1168
|
};
|
|
1133
1169
|
/**
|
|
1134
1170
|
* 🚨 `mx.meeting.transcript` and `mx.meeting.note` WERE declared here and
|
|
@@ -1766,14 +1802,12 @@ interface MeetingSessionOptions {
|
|
|
1766
1802
|
*/
|
|
1767
1803
|
onAdmitted?: (() => void) | undefined;
|
|
1768
1804
|
/**
|
|
1769
|
-
*
|
|
1770
|
-
*
|
|
1771
|
-
* automatically" to a person the host had already turned away (production
|
|
1772
|
-
* 2026-09-27). The provider wires it to `engine.rejoin()`: the server then
|
|
1773
|
-
* refuses the mint with its own sentence ("The host did not admit you…"),
|
|
1774
|
-
* so the words on screen are the server's decision, never the client's guess.
|
|
1805
|
+
* S4: the meeting pass this device holds (`x-meet-pass`) — what the state read and
|
|
1806
|
+
* `/leave` are authorized by. Null when no pass is held yet.
|
|
1775
1807
|
*/
|
|
1776
|
-
|
|
1808
|
+
resolvePass?: (() => string | null) | undefined;
|
|
1809
|
+
/** S4: mint again (Ask to join again / Rejoin from the waiting screens). */
|
|
1810
|
+
rejoin?: (() => Promise<void>) | undefined;
|
|
1777
1811
|
}
|
|
1778
1812
|
interface MeetingSession {
|
|
1779
1813
|
/** Subscribe to the room's out-of-band plane. Hosts see knocks; guests see verdicts. */
|
|
@@ -1786,10 +1820,24 @@ interface MeetingSession {
|
|
|
1786
1820
|
* permanently missing the minute nobody noticed.
|
|
1787
1821
|
*/
|
|
1788
1822
|
watchMeeting(meetingId: MeetingId): void;
|
|
1789
|
-
/** A guest (or a late arrival at a locked room) announces themselves. */
|
|
1790
|
-
knock(roomName: RoomName): void;
|
|
1791
1823
|
admit(entry: LobbyEntry, admitted: boolean): Promise<void>;
|
|
1824
|
+
/** S4: lift a denial so the person may knock again (`meet_undeny`). */
|
|
1825
|
+
undeny(entry: LobbyEntry): Promise<void>;
|
|
1792
1826
|
admitAll(): Promise<void>;
|
|
1827
|
+
/**
|
|
1828
|
+
* 🚨 S4 — THE WAIT READS SERVER TRUTH (CORE-DESIGN §2.6). While this tab waits, the state
|
|
1829
|
+
* read (`GET /v1/meet/state`) runs every `waiting_poll_seconds`, on every
|
|
1830
|
+
* `mx.state.changed` hint, on `online` and on visibility return. Admitted → a fresh mint
|
|
1831
|
+
* (`rejoin`); denied / expired / ended are what the row says, never a broadcast's guess.
|
|
1832
|
+
*/
|
|
1833
|
+
startWaiting(): void;
|
|
1834
|
+
stopWaiting(): void;
|
|
1835
|
+
/** One state read now (idempotent while one is in flight). */
|
|
1836
|
+
readState(): Promise<void>;
|
|
1837
|
+
/** Stop waiting: the row becomes `withdrawn` (`POST /v1/meet/leave {intent: "withdraw"}`). */
|
|
1838
|
+
withdraw(): Promise<void>;
|
|
1839
|
+
/** Ask again after a denial or an expired knock (only offered when allowed). */
|
|
1840
|
+
askAgain(): Promise<void>;
|
|
1793
1841
|
setLock(locked: boolean): Promise<MeetingRecord>;
|
|
1794
1842
|
/** End it for everyone, through the server (MRI-A6). */
|
|
1795
1843
|
endForEveryone(): Promise<EndMeetingResult>;
|
|
@@ -1925,12 +1973,20 @@ interface RoomToken {
|
|
|
1925
1973
|
readonly sessionId: string | null;
|
|
1926
1974
|
/** True when the server put this joiner in the lobby (D6). */
|
|
1927
1975
|
readonly lobby: boolean;
|
|
1976
|
+
/**
|
|
1977
|
+
* S4: what the mint wrote on the person row — `admitted` · `knocking` · `waiting_host`.
|
|
1978
|
+
* A waiting person then reads `GET /v1/meet/state` every `pollSeconds`.
|
|
1979
|
+
*/
|
|
1980
|
+
readonly admissionState?: AdmissionState | undefined;
|
|
1981
|
+
readonly pollSeconds?: number | undefined;
|
|
1928
1982
|
/**
|
|
1929
1983
|
* Meet wave 5: the breakout room this pass is for, or null for the main room. The
|
|
1930
1984
|
* pass is still keyed by the MEETING's room name — it is this person's pass for the
|
|
1931
1985
|
* meeting, and the server accepts a breakout pass wherever the meeting's is asked.
|
|
1932
1986
|
*/
|
|
1933
1987
|
readonly breakoutRoomId?: string | null | undefined;
|
|
1988
|
+
/** HR-360 wave 2 (MD-16): who sees the "Observing" line in People (knob). */
|
|
1989
|
+
readonly observersVisibleTo?: ObserversVisibleTo | undefined;
|
|
1934
1990
|
}
|
|
1935
1991
|
|
|
1936
1992
|
interface TokenClientOptions {
|
|
@@ -1982,6 +2038,8 @@ interface TokenRequest {
|
|
|
1982
2038
|
readonly slug?: string | undefined;
|
|
1983
2039
|
/** Meet wave 5: a breakout room of this meeting; absent = the main room. */
|
|
1984
2040
|
readonly breakoutRoomId?: string | null | undefined;
|
|
2041
|
+
/** HR-360 wave 2 (MD-16): ask to join as a silent observer. The server decides. */
|
|
2042
|
+
readonly observe?: boolean | undefined;
|
|
1985
2043
|
}
|
|
1986
2044
|
interface TokenClient {
|
|
1987
2045
|
/** A currently-valid token, minting or refreshing only when it must. */
|
|
@@ -2070,6 +2128,16 @@ declare const MEET_ROUTES: {
|
|
|
2070
2128
|
readonly collab: "/api/v1/meet/collab";
|
|
2071
2129
|
/** Meet wave 5: translate finished caption lines into this viewer's language. */
|
|
2072
2130
|
readonly captionsTranslate: "/api/v1/meet/captions/translate";
|
|
2131
|
+
/**
|
|
2132
|
+
* S4 — THE STATE READ (CORE-DESIGN §2.6): `GET ?meeting_id=` with `x-meet-pass`. This
|
|
2133
|
+
* person's admission (lazy expiry applied), whether anyone who can admit is here, the run's
|
|
2134
|
+
* phase. Read every `waiting_poll_seconds` while waiting and on every `mx.state.changed`.
|
|
2135
|
+
*/
|
|
2136
|
+
readonly state: "/api/v1/meet/state";
|
|
2137
|
+
/** S4: `withdraw` (stop waiting) or `leave` (close this tab); the pass may ride in the body. */
|
|
2138
|
+
readonly leave: "/api/v1/meet/leave";
|
|
2139
|
+
/** S4: a pass holder (guests included) saw the recording notice, for this run. */
|
|
2140
|
+
readonly consent: "/api/v1/meet/consent";
|
|
2073
2141
|
};
|
|
2074
2142
|
/** A `MEET_ROUTES` template with its `{meeting_id}` filled in, URL-encoded. */
|
|
2075
2143
|
declare function meetingPath(template: string, meetingId: string): string;
|
|
@@ -2626,6 +2694,8 @@ interface JoinRequest {
|
|
|
2626
2694
|
readonly microphone?: boolean | undefined;
|
|
2627
2695
|
/** Meet wave 5: a breakout room of this meeting; absent/null = the main room. */
|
|
2628
2696
|
readonly breakoutRoomId?: string | null | undefined;
|
|
2697
|
+
/** HR-360 wave 2 (MD-16): ask to join as a silent observer. The server decides. */
|
|
2698
|
+
readonly observe?: boolean | undefined;
|
|
2629
2699
|
}
|
|
2630
2700
|
interface RoomEngineOptions {
|
|
2631
2701
|
store: MeetStore;
|
|
@@ -2803,7 +2873,9 @@ interface InRoomClient {
|
|
|
2803
2873
|
}[]): Promise<void>;
|
|
2804
2874
|
}
|
|
2805
2875
|
/** Every room-item action the server performs. One vocabulary with `services/meet/collab.py`. */
|
|
2806
|
-
type CollabAction = "poll_create" | "poll_update" | "poll_launch" | "poll_close" | "poll_share" | "poll_vote" | "poll_delete" | "question_ask" | "question_upvote" | "question_answer" | "question_reopen" | "question_dismiss" | "question_delete" | "stroke_add" | "stroke_erase" | "whiteboard_clear" | "breakout_open" | "breakout_update" | "breakout_broadcast" | "breakout_move" | "breakout_join" | "breakout_close" | "breakout_expire"
|
|
2876
|
+
type CollabAction = "poll_create" | "poll_update" | "poll_launch" | "poll_close" | "poll_share" | "poll_vote" | "poll_delete" | "question_ask" | "question_upvote" | "question_answer" | "question_reopen" | "question_dismiss" | "question_delete" | "stroke_add" | "stroke_erase" | "whiteboard_clear" | "breakout_open" | "breakout_update" | "breakout_broadcast" | "breakout_move" | "breakout_join" | "breakout_close" | "breakout_expire"
|
|
2877
|
+
/** HR-360 wave 2 (MD-15): move everyone's app panel to one section. */
|
|
2878
|
+
| "focus_set";
|
|
2807
2879
|
interface CollabRequest {
|
|
2808
2880
|
readonly action: CollabAction;
|
|
2809
2881
|
readonly itemId?: string | undefined;
|
|
@@ -2828,6 +2900,9 @@ interface CollabRequest {
|
|
|
2828
2900
|
readonly identity?: string | undefined;
|
|
2829
2901
|
/** `null` = the main room (breakout_join / breakout_move). */
|
|
2830
2902
|
readonly roomId?: string | null | undefined;
|
|
2903
|
+
/** focus_set: the app panel's key and the section everyone looks at. */
|
|
2904
|
+
readonly panel?: string | undefined;
|
|
2905
|
+
readonly section?: string | undefined;
|
|
2831
2906
|
}
|
|
2832
2907
|
interface CollabResult {
|
|
2833
2908
|
readonly action: CollabAction;
|
|
@@ -3039,7 +3114,7 @@ declare function takeMoveRequest(store: CollabStoreLike): {
|
|
|
3039
3114
|
*/
|
|
3040
3115
|
type ObservedRole = "host" | "cohost" | "participant" | "guest";
|
|
3041
3116
|
/** `data-meet-phase` values this release renders (a subset of the contract's §2). */
|
|
3042
|
-
type ObservedPhase = "resolving" | `refused:${string}` | "prejoin" | "joining" | "waiting:knocking" | "in_call" | "disconnected" | "ended";
|
|
3117
|
+
type ObservedPhase = "resolving" | `refused:${string}` | "prejoin" | "joining" | "waiting:knocking" | "waiting:host_not_started" | "denied" | "knock_expired" | "left" | "in_call" | "disconnected" | "ended";
|
|
3043
3118
|
type ObservedConnection = "stable" | "reconnecting" | "server_unreachable";
|
|
3044
3119
|
interface MeetObservation {
|
|
3045
3120
|
readonly phase: ObservedPhase;
|
|
@@ -3081,4 +3156,4 @@ declare function participantAttributes(p: MeetParticipant): Record<string, strin
|
|
|
3081
3156
|
/** The listen-only notice's contract code, from why the microphone is off. */
|
|
3082
3157
|
declare function microphoneNoticeCode(track: LocalTrackState): "mic-blocked" | "device-lost" | null;
|
|
3083
3158
|
|
|
3084
|
-
export { ATTENDANCE_CSV_HEADER, AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, CallId, CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, CallMode, CallState, type CollabAction, CollabPanel, type CollabRequest, type CollabResult, type CollabRuntime, CollabSnapshot, type CollabStoreLike, ConnectionQuality, type CreateCallInviteInput, type CreateMeetingInput, DATA_TOPICS, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, type DataTopic, type DeviceKind, type DeviceManager, type DeviceManagerOptions, type DeviceSnapshot, type DeviceStorage, type DriverConnectionState, type DriverParticipant, type DriverTrackKind, type DriverTranscription, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, type FollowUpDraft, type FollowUpRecipient, type FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, IDLE_MEDIA, IDLE_TRACK, type InRoomClient, type InRoomClientOptions, InviteeInput, InviteeRole, type JoinRequest, LISTEN_ONLY_NOTICE, type LibraryRecording, type LiveKitDriverOptions, LobbyEntry, type LocalMediaState, type LocalTrackState, MEETING_INVITE_KIND, MEETING_INVITE_VERSION, MEETING_PASS_HEADER, MEETING_RECORD_GRACE_MS, MEET_ANSWER_CONTEXT_EVENT, MEET_ANSWER_EVENTS, MEET_EVENTS, MEET_REACTIONS, MEET_ROUTES, MEET_SCHEMA, MODERATION_ACTIONS, type MediaDevicesLike, type MediaEffects, type MediaUnavailable, type MeetAi, type MeetAiAnswer, type MeetAiOptions, type MeetAnswerCoverage, MeetApi, type MeetDevice, MeetError, type MeetErrorCode, type MeetEvent, type MeetGrants, MeetIdentity, type MeetObservation, MeetParticipant, type MeetRepository, type MeetRoomDriver, type MeetSnapshot, type MeetStore, MeetingAttendee, MeetingChanges, type MeetingChatHistory, MeetingId, type MeetingInviteHandlerOptions, type MeetingInvitePayload, MeetingInvitee, MeetingKind, MeetingNote, MeetingOccurrence, MeetingRecord, type MeetingRecordAnswer, type MeetingRecordBundle, type MeetingRecordCache, type MeetingRecordChange, type MeetingRecordFailure, type MeetingRecordParts, type MeetingRecordRestriction, type MeetingRecordRestrictionNotice, type MeetingRecordState, type MeetingSearchHit, type MeetingSearchSource, type MeetingSession, type MeetingSessionOptions, MeetingSettings, type ModerationAction, type ModerationNotice, type ModerationRequest, type ModerationResult, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, type NameBook, type NoteTakerDispatch, type NoteTakerRefusal, NoteTakerState, type NoteTakerStatus, type ObserveInput, type ObservedConnection, type ObservedPhase, OccurrenceOverride, OrganizationId, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, ParticipantIdentity, ParticipantRole, ParticipantStanding, REACTION_TTL_MS, REFUSED_ABSENCE, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, type RecordingController, type RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, type RepositoryOptions, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, RoomName, RoomPhase, type RoomReaction, type RoomToken, type RoomTokenStorage, RsvpAnswer, RsvpInvitation, type ScheduleMeetingInput, type Stage, type StageArgs, StageLayout, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, type TokenClient, type TokenClientOptions, type TokenRequest, type TranscriptBlock, type TranscriptFormat, type TranscriptMatch, TranscriptSegment, UpcomingOccurrence, UserId, type VideoEffect, WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, clockPosition, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuestIdentity, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, microphoneNoticeCode, moveToRoom, nextTranslationBatch, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, notesDocument, observe as observeMeeting, observedDevice, observedPhase, observedQuality, orderParticipants, parseRoomToken, participantAttributes, participantSummary, performCollab, playableRecordingFileId, projectInvitee, projectLibraryRecording, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSearchHit, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, recordingOffsetMs, rememberedMeetingPass, roleOf, roomTopic, rootAttributes, searchTranscript, sendFollowUp, setCaptionLanguage, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, staticObservation, summarizeMeetingRecordRestrictions, takeMoveRequest, takePanelRequest, transcriptDocument, unavailableFrom, uniqueAttendees, untranslatedLines, userTopic, wasRefused, wrapUpStatus };
|
|
3159
|
+
export { ATTENDANCE_CSV_HEADER, AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, CallId, CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, CallMode, CallState, type CollabAction, CollabPanel, type CollabRequest, type CollabResult, type CollabRuntime, CollabSnapshot, type CollabStoreLike, ConnectionQuality, type CreateCallInviteInput, type CreateMeetingInput, DATA_TOPICS, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, type DataTopic, type DeviceKind, type DeviceManager, type DeviceManagerOptions, type DeviceSnapshot, type DeviceStorage, type DriverConnectionState, type DriverParticipant, type DriverTrackKind, type DriverTranscription, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, type FollowUpDraft, type FollowUpRecipient, type FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, IDLE_MEDIA, IDLE_TRACK, type InRoomClient, type InRoomClientOptions, InviteeInput, InviteeRole, type JoinRequest, LISTEN_ONLY_NOTICE, type LibraryRecording, type LiveKitDriverOptions, LobbyEntry, type LocalMediaState, type LocalTrackState, MEETING_INVITE_KIND, MEETING_INVITE_VERSION, MEETING_PASS_HEADER, MEETING_RECORD_GRACE_MS, MEET_ANSWER_CONTEXT_EVENT, MEET_ANSWER_EVENTS, MEET_EVENTS, MEET_REACTIONS, MEET_ROUTES, MEET_SCHEMA, MODERATION_ACTIONS, type MediaDevicesLike, type MediaEffects, type MediaUnavailable, type MeetAi, type MeetAiAnswer, type MeetAiOptions, type MeetAnswerCoverage, MeetApi, type MeetDevice, MeetError, type MeetErrorCode, type MeetEvent, type MeetGrants, MeetIdentity, type MeetObservation, MeetParticipant, type MeetRepository, type MeetRoomDriver, type MeetSnapshot, type MeetStore, MeetingAttendee, MeetingChanges, type MeetingChatHistory, MeetingId, type MeetingInviteHandlerOptions, type MeetingInvitePayload, MeetingInvitee, MeetingKind, MeetingNote, MeetingOccurrence, MeetingRecord, type MeetingRecordAnswer, type MeetingRecordBundle, type MeetingRecordCache, type MeetingRecordChange, type MeetingRecordFailure, type MeetingRecordParts, type MeetingRecordRestriction, type MeetingRecordRestrictionNotice, type MeetingRecordState, type MeetingSearchHit, type MeetingSearchSource, type MeetingSession, type MeetingSessionOptions, MeetingSettings, type ModerationAction, type ModerationNotice, type ModerationRequest, type ModerationResult, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, type NameBook, type NoteTakerDispatch, type NoteTakerRefusal, NoteTakerState, type NoteTakerStatus, type ObserveInput, type ObservedConnection, type ObservedPhase, ObserversVisibleTo, OccurrenceOverride, OrganizationId, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, ParticipantIdentity, ParticipantRole, ParticipantStanding, REACTION_TTL_MS, REFUSED_ABSENCE, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, type RecordingController, type RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, type RepositoryOptions, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, RoomName, RoomPhase, type RoomReaction, type RoomToken, type RoomTokenStorage, RsvpAnswer, RsvpInvitation, type ScheduleMeetingInput, type Stage, type StageArgs, StageLayout, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, type TokenClient, type TokenClientOptions, type TokenRequest, type TranscriptBlock, type TranscriptFormat, type TranscriptMatch, TranscriptSegment, UpcomingOccurrence, UserId, type VideoEffect, WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, clockPosition, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuestIdentity, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, microphoneNoticeCode, moveToRoom, nextTranslationBatch, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, notesDocument, observe as observeMeeting, observedDevice, observedPhase, observedQuality, orderParticipants, parseRoomToken, participantAttributes, participantSummary, performCollab, playableRecordingFileId, projectInvitee, projectLibraryRecording, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSearchHit, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, recordingOffsetMs, rememberedMeetingPass, roleOf, roomTopic, rootAttributes, searchTranscript, sendFollowUp, setCaptionLanguage, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, staticObservation, summarizeMeetingRecordRestrictions, takeMoveRequest, takePanelRequest, transcriptDocument, unavailableFrom, uniqueAttendees, untranslatedLines, userTopic, wasRefused, wrapUpStatus };
|
package/dist/core.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as ParticipantIdentity,
|
|
2
|
-
export { A as AccessTokenSource,
|
|
1
|
+
import { P as ParticipantIdentity, a1 as NoteTakerState, a as MeetParticipant, M as MeetingRecord, ab as RoomPhase, k as AdmissionState, e as ParticipantRole, a6 as ParticipantStanding, a3 as ObserversVisibleTo, S as StageLayout, L as LobbyEntry, aa as RecordingState, U as UserId, aE as RecordingSource, af as TranscriptSegment, g as MeetingNote, W as WrapUpAnnouncement, j as CollabSnapshot, p as ConnectionQuality, h as MeetingId, R as RoomName, b as MeetApi, d as CallInvite, f as CallMode, O as OrganizationId, m as CallId, n as CallState, Z as MeetingKind, a8 as RecordingPolicy, V as MeetingAttendee, a9 as RecordingRecord, a0 as MeetingSettings, X as MeetingChanges, a4 as OccurrenceOverride, $ as MeetingOccurrence, ag as UpcomingOccurrence, Y as MeetingInvitee, I as InviteeInput, q as InviteeRole, ac as RsvpAnswer, ad as RsvpInvitation, c as MeetIdentity, C as CollabPanel } from './collab-BBQxcyRQ.js';
|
|
2
|
+
export { A as AccessTokenSource, l as CAPTION_LANGUAGES, o as CallablePerson, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, J as JsonObject, r as JsonValue, s as MeetApiOptions, t as MeetApiRequest, u as MeetAppFocus, v as MeetBreakoutBroadcast, w as MeetBreakoutPlan, x as MeetBreakoutRoom, y as MeetCollabSettings, z as MeetFileMedia, B as MeetPoll, D as MeetPollOption, G as MeetPollState, H as MeetQuestion, K as MeetQuestionState, N as MeetStroke, Q as MeetingActivities, i as MeetingAppPanel, _ as MeetingNoteKind, a2 as ORGANIZATION_HEADER, a5 as OccurrenceState, a7 as ROLE_RANK, ae as RsvpState, T as TranscriptSource, ah as appPanelOf, ai as applyCollabPacket, aj as asCallId, ak as asMeetingId, al as asOrganizationId, am as asParticipantIdentity, an as asRoomName, ao as asUserId, ap as assignedRoom, aq as autoAssign, ar as breakoutRemainingMs, as as collabFromState, at as createMeetApi, au as defaultCaptionLanguage, av as fileDownloadPath, aw as focusFromRow, ax as isGuest, ay as isHostRole, az as isLinkFollower, aA as isObserverRole, aB as loadMeetingActivities, aC as scheduleSettingsPatch, aD as withItem } from './collab-BBQxcyRQ.js';
|
|
3
3
|
import { RealtimeManager } from '@ai-matrx/realtime';
|
|
4
4
|
import { MessagingSupabaseClient, ActionHandler } from '@ai-matrx/messaging';
|
|
5
5
|
import { RoomOptions, ConnectionQuality as ConnectionQuality$1, Participant } from 'livekit-client';
|
|
@@ -341,11 +341,33 @@ interface MeetGrants {
|
|
|
341
341
|
readonly canRecord: boolean;
|
|
342
342
|
readonly canPublish: boolean;
|
|
343
343
|
readonly canSubscribe: boolean;
|
|
344
|
+
/** HR-360 wave 2 (MD-16): who sees the "Observing" line in People (knob). */
|
|
345
|
+
readonly observersVisibleTo?: ObserversVisibleTo | undefined;
|
|
344
346
|
}
|
|
345
347
|
/** No token yet grants nothing. Never "assume host until told otherwise". */
|
|
346
348
|
declare const NO_GRANTS: MeetGrants;
|
|
349
|
+
/**
|
|
350
|
+
* S4 — THIS PERSON'S WAIT, as the server's state read (`GET /v1/meet/state`) last said it
|
|
351
|
+
* (CORE-DESIGN §2.6). Set while `phase === "lobby"`; the waiting screens read it, never a
|
|
352
|
+
* broadcast. `admission` is the row's own word: `waiting_host` · `knocking` · `denied` ·
|
|
353
|
+
* `expired` · `withdrawn` · `ended` (`admitted` is never held here — it is a join).
|
|
354
|
+
*/
|
|
355
|
+
interface MeetWaiting {
|
|
356
|
+
readonly admission: AdmissionState;
|
|
357
|
+
/** Is anyone who may admit in the room? null until the first read. */
|
|
358
|
+
readonly admittersPresent: boolean | null;
|
|
359
|
+
/** May a denied person ask again (`reknock_after_deny`)? */
|
|
360
|
+
readonly reknockAllowed: boolean;
|
|
361
|
+
readonly knockExpiresAt: string | null;
|
|
362
|
+
/** How often the core reads while waiting (`waiting_poll_seconds`). */
|
|
363
|
+
readonly pollSeconds: number;
|
|
364
|
+
/** The run's `live_version` at the last read. */
|
|
365
|
+
readonly liveVersion: number;
|
|
366
|
+
}
|
|
347
367
|
interface MeetSnapshot {
|
|
348
368
|
readonly phase: RoomPhase;
|
|
369
|
+
/** S4: this person's wait (see `MeetWaiting`); null outside the waiting room. */
|
|
370
|
+
readonly waiting: MeetWaiting | null;
|
|
349
371
|
readonly meeting: MeetingRecord | null;
|
|
350
372
|
readonly localIdentity: ParticipantIdentity | null;
|
|
351
373
|
/** The server's word on what THIS joiner may do. See `MeetGrants`. */
|
|
@@ -743,7 +765,10 @@ declare const RPCS: {
|
|
|
743
765
|
readonly getOrCreateMeeting: "meet_get_or_create_meeting";
|
|
744
766
|
/** Resolve a durable public link, before/during/after its scheduled time. */
|
|
745
767
|
readonly meetingBySlug: "meet_meeting_by_slug";
|
|
746
|
-
readonly admit: "
|
|
768
|
+
readonly admit: "meet_admit";
|
|
769
|
+
readonly deny: "meet_deny";
|
|
770
|
+
readonly undeny: "meet_undeny";
|
|
771
|
+
readonly admitAll: "meet_admit_all";
|
|
747
772
|
readonly setLock: "meet_set_lock";
|
|
748
773
|
readonly recordConsent: "meet_record_consent";
|
|
749
774
|
/** Schedule with every setting at create; unset settings come from the knobs. */
|
|
@@ -827,12 +852,15 @@ interface MeetRepository {
|
|
|
827
852
|
readonly items: readonly MeetingRecord[];
|
|
828
853
|
readonly hasMore: boolean;
|
|
829
854
|
}>;
|
|
830
|
-
|
|
855
|
+
/** S4: one decision on one waiting person; returns the row as it now stands. */
|
|
856
|
+
decideAdmission(args: {
|
|
831
857
|
meetingId: MeetingId;
|
|
832
858
|
identity: string;
|
|
833
|
-
|
|
859
|
+
decision: "admit" | "deny" | "undeny";
|
|
834
860
|
byUserId: UserId;
|
|
835
|
-
}): Promise<
|
|
861
|
+
}): Promise<MeetingAttendee>;
|
|
862
|
+
/** S4: admit everyone still waiting (not expired); returns the admitted rows. */
|
|
863
|
+
admitAll(meetingId: MeetingId, byUserId: UserId): Promise<readonly MeetingAttendee[]>;
|
|
836
864
|
setLock(meetingId: MeetingId, locked: boolean, byUserId: UserId): Promise<MeetingRecord>;
|
|
837
865
|
projectSegment(row: Row): TranscriptSegment;
|
|
838
866
|
projectNote(row: Row): MeetingNote;
|
|
@@ -926,6 +954,13 @@ interface ScheduleMeetingInput {
|
|
|
926
954
|
/** RRULE subset: FREQ=DAILY|WEEKLY|MONTHLY, INTERVAL, BYDAY, BYMONTHDAY, COUNT, UNTIL. */
|
|
927
955
|
readonly recurrenceRule?: string | null | undefined;
|
|
928
956
|
readonly settings?: MeetingSettings | undefined;
|
|
957
|
+
/** HR-360 wave 2 (MD-15): the registered app panel the call opens beside it. */
|
|
958
|
+
readonly appPanel?: {
|
|
959
|
+
readonly key: string;
|
|
960
|
+
readonly recordId: string;
|
|
961
|
+
} | undefined;
|
|
962
|
+
/** HR-360 wave 2 (MD-16): user ids the host names as silent observers. */
|
|
963
|
+
readonly observers?: readonly string[] | undefined;
|
|
929
964
|
}
|
|
930
965
|
interface RepositoryOptions {
|
|
931
966
|
/**
|
|
@@ -1121,14 +1156,15 @@ declare const MEET_EVENTS: {
|
|
|
1121
1156
|
readonly cancel: "mx.call.cancel";
|
|
1122
1157
|
/** You answered (or declined) on another device. Stop ringing here. */
|
|
1123
1158
|
readonly settled: "mx.call.settled";
|
|
1124
|
-
/**
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1159
|
+
/**
|
|
1160
|
+
* 🚨 S4 (CORE-DESIGN §2.6): the ONE room-channel event — payload-free "something changed,
|
|
1161
|
+
* read again". Nothing a person must see rides it: a waiting person learns admitted /
|
|
1162
|
+
* denied / expired / ended by READING their row (`GET /v1/meet/state`) on a timer and on
|
|
1163
|
+
* every hint. The four payload broadcasts (`mx.lobby.knock`, `mx.lobby.admission`,
|
|
1164
|
+
* `mx.room.lock`, `mx.room.recording`) are gone with their senders and receivers. The
|
|
1165
|
+
* server publishes the same event on the same topic (aidream `admission.room_topic`).
|
|
1166
|
+
*/
|
|
1167
|
+
readonly stateChanged: "mx.state.changed";
|
|
1132
1168
|
};
|
|
1133
1169
|
/**
|
|
1134
1170
|
* 🚨 `mx.meeting.transcript` and `mx.meeting.note` WERE declared here and
|
|
@@ -1766,14 +1802,12 @@ interface MeetingSessionOptions {
|
|
|
1766
1802
|
*/
|
|
1767
1803
|
onAdmitted?: (() => void) | undefined;
|
|
1768
1804
|
/**
|
|
1769
|
-
*
|
|
1770
|
-
*
|
|
1771
|
-
* automatically" to a person the host had already turned away (production
|
|
1772
|
-
* 2026-09-27). The provider wires it to `engine.rejoin()`: the server then
|
|
1773
|
-
* refuses the mint with its own sentence ("The host did not admit you…"),
|
|
1774
|
-
* so the words on screen are the server's decision, never the client's guess.
|
|
1805
|
+
* S4: the meeting pass this device holds (`x-meet-pass`) — what the state read and
|
|
1806
|
+
* `/leave` are authorized by. Null when no pass is held yet.
|
|
1775
1807
|
*/
|
|
1776
|
-
|
|
1808
|
+
resolvePass?: (() => string | null) | undefined;
|
|
1809
|
+
/** S4: mint again (Ask to join again / Rejoin from the waiting screens). */
|
|
1810
|
+
rejoin?: (() => Promise<void>) | undefined;
|
|
1777
1811
|
}
|
|
1778
1812
|
interface MeetingSession {
|
|
1779
1813
|
/** Subscribe to the room's out-of-band plane. Hosts see knocks; guests see verdicts. */
|
|
@@ -1786,10 +1820,24 @@ interface MeetingSession {
|
|
|
1786
1820
|
* permanently missing the minute nobody noticed.
|
|
1787
1821
|
*/
|
|
1788
1822
|
watchMeeting(meetingId: MeetingId): void;
|
|
1789
|
-
/** A guest (or a late arrival at a locked room) announces themselves. */
|
|
1790
|
-
knock(roomName: RoomName): void;
|
|
1791
1823
|
admit(entry: LobbyEntry, admitted: boolean): Promise<void>;
|
|
1824
|
+
/** S4: lift a denial so the person may knock again (`meet_undeny`). */
|
|
1825
|
+
undeny(entry: LobbyEntry): Promise<void>;
|
|
1792
1826
|
admitAll(): Promise<void>;
|
|
1827
|
+
/**
|
|
1828
|
+
* 🚨 S4 — THE WAIT READS SERVER TRUTH (CORE-DESIGN §2.6). While this tab waits, the state
|
|
1829
|
+
* read (`GET /v1/meet/state`) runs every `waiting_poll_seconds`, on every
|
|
1830
|
+
* `mx.state.changed` hint, on `online` and on visibility return. Admitted → a fresh mint
|
|
1831
|
+
* (`rejoin`); denied / expired / ended are what the row says, never a broadcast's guess.
|
|
1832
|
+
*/
|
|
1833
|
+
startWaiting(): void;
|
|
1834
|
+
stopWaiting(): void;
|
|
1835
|
+
/** One state read now (idempotent while one is in flight). */
|
|
1836
|
+
readState(): Promise<void>;
|
|
1837
|
+
/** Stop waiting: the row becomes `withdrawn` (`POST /v1/meet/leave {intent: "withdraw"}`). */
|
|
1838
|
+
withdraw(): Promise<void>;
|
|
1839
|
+
/** Ask again after a denial or an expired knock (only offered when allowed). */
|
|
1840
|
+
askAgain(): Promise<void>;
|
|
1793
1841
|
setLock(locked: boolean): Promise<MeetingRecord>;
|
|
1794
1842
|
/** End it for everyone, through the server (MRI-A6). */
|
|
1795
1843
|
endForEveryone(): Promise<EndMeetingResult>;
|
|
@@ -1925,12 +1973,20 @@ interface RoomToken {
|
|
|
1925
1973
|
readonly sessionId: string | null;
|
|
1926
1974
|
/** True when the server put this joiner in the lobby (D6). */
|
|
1927
1975
|
readonly lobby: boolean;
|
|
1976
|
+
/**
|
|
1977
|
+
* S4: what the mint wrote on the person row — `admitted` · `knocking` · `waiting_host`.
|
|
1978
|
+
* A waiting person then reads `GET /v1/meet/state` every `pollSeconds`.
|
|
1979
|
+
*/
|
|
1980
|
+
readonly admissionState?: AdmissionState | undefined;
|
|
1981
|
+
readonly pollSeconds?: number | undefined;
|
|
1928
1982
|
/**
|
|
1929
1983
|
* Meet wave 5: the breakout room this pass is for, or null for the main room. The
|
|
1930
1984
|
* pass is still keyed by the MEETING's room name — it is this person's pass for the
|
|
1931
1985
|
* meeting, and the server accepts a breakout pass wherever the meeting's is asked.
|
|
1932
1986
|
*/
|
|
1933
1987
|
readonly breakoutRoomId?: string | null | undefined;
|
|
1988
|
+
/** HR-360 wave 2 (MD-16): who sees the "Observing" line in People (knob). */
|
|
1989
|
+
readonly observersVisibleTo?: ObserversVisibleTo | undefined;
|
|
1934
1990
|
}
|
|
1935
1991
|
|
|
1936
1992
|
interface TokenClientOptions {
|
|
@@ -1982,6 +2038,8 @@ interface TokenRequest {
|
|
|
1982
2038
|
readonly slug?: string | undefined;
|
|
1983
2039
|
/** Meet wave 5: a breakout room of this meeting; absent = the main room. */
|
|
1984
2040
|
readonly breakoutRoomId?: string | null | undefined;
|
|
2041
|
+
/** HR-360 wave 2 (MD-16): ask to join as a silent observer. The server decides. */
|
|
2042
|
+
readonly observe?: boolean | undefined;
|
|
1985
2043
|
}
|
|
1986
2044
|
interface TokenClient {
|
|
1987
2045
|
/** A currently-valid token, minting or refreshing only when it must. */
|
|
@@ -2070,6 +2128,16 @@ declare const MEET_ROUTES: {
|
|
|
2070
2128
|
readonly collab: "/api/v1/meet/collab";
|
|
2071
2129
|
/** Meet wave 5: translate finished caption lines into this viewer's language. */
|
|
2072
2130
|
readonly captionsTranslate: "/api/v1/meet/captions/translate";
|
|
2131
|
+
/**
|
|
2132
|
+
* S4 — THE STATE READ (CORE-DESIGN §2.6): `GET ?meeting_id=` with `x-meet-pass`. This
|
|
2133
|
+
* person's admission (lazy expiry applied), whether anyone who can admit is here, the run's
|
|
2134
|
+
* phase. Read every `waiting_poll_seconds` while waiting and on every `mx.state.changed`.
|
|
2135
|
+
*/
|
|
2136
|
+
readonly state: "/api/v1/meet/state";
|
|
2137
|
+
/** S4: `withdraw` (stop waiting) or `leave` (close this tab); the pass may ride in the body. */
|
|
2138
|
+
readonly leave: "/api/v1/meet/leave";
|
|
2139
|
+
/** S4: a pass holder (guests included) saw the recording notice, for this run. */
|
|
2140
|
+
readonly consent: "/api/v1/meet/consent";
|
|
2073
2141
|
};
|
|
2074
2142
|
/** A `MEET_ROUTES` template with its `{meeting_id}` filled in, URL-encoded. */
|
|
2075
2143
|
declare function meetingPath(template: string, meetingId: string): string;
|
|
@@ -2626,6 +2694,8 @@ interface JoinRequest {
|
|
|
2626
2694
|
readonly microphone?: boolean | undefined;
|
|
2627
2695
|
/** Meet wave 5: a breakout room of this meeting; absent/null = the main room. */
|
|
2628
2696
|
readonly breakoutRoomId?: string | null | undefined;
|
|
2697
|
+
/** HR-360 wave 2 (MD-16): ask to join as a silent observer. The server decides. */
|
|
2698
|
+
readonly observe?: boolean | undefined;
|
|
2629
2699
|
}
|
|
2630
2700
|
interface RoomEngineOptions {
|
|
2631
2701
|
store: MeetStore;
|
|
@@ -2803,7 +2873,9 @@ interface InRoomClient {
|
|
|
2803
2873
|
}[]): Promise<void>;
|
|
2804
2874
|
}
|
|
2805
2875
|
/** Every room-item action the server performs. One vocabulary with `services/meet/collab.py`. */
|
|
2806
|
-
type CollabAction = "poll_create" | "poll_update" | "poll_launch" | "poll_close" | "poll_share" | "poll_vote" | "poll_delete" | "question_ask" | "question_upvote" | "question_answer" | "question_reopen" | "question_dismiss" | "question_delete" | "stroke_add" | "stroke_erase" | "whiteboard_clear" | "breakout_open" | "breakout_update" | "breakout_broadcast" | "breakout_move" | "breakout_join" | "breakout_close" | "breakout_expire"
|
|
2876
|
+
type CollabAction = "poll_create" | "poll_update" | "poll_launch" | "poll_close" | "poll_share" | "poll_vote" | "poll_delete" | "question_ask" | "question_upvote" | "question_answer" | "question_reopen" | "question_dismiss" | "question_delete" | "stroke_add" | "stroke_erase" | "whiteboard_clear" | "breakout_open" | "breakout_update" | "breakout_broadcast" | "breakout_move" | "breakout_join" | "breakout_close" | "breakout_expire"
|
|
2877
|
+
/** HR-360 wave 2 (MD-15): move everyone's app panel to one section. */
|
|
2878
|
+
| "focus_set";
|
|
2807
2879
|
interface CollabRequest {
|
|
2808
2880
|
readonly action: CollabAction;
|
|
2809
2881
|
readonly itemId?: string | undefined;
|
|
@@ -2828,6 +2900,9 @@ interface CollabRequest {
|
|
|
2828
2900
|
readonly identity?: string | undefined;
|
|
2829
2901
|
/** `null` = the main room (breakout_join / breakout_move). */
|
|
2830
2902
|
readonly roomId?: string | null | undefined;
|
|
2903
|
+
/** focus_set: the app panel's key and the section everyone looks at. */
|
|
2904
|
+
readonly panel?: string | undefined;
|
|
2905
|
+
readonly section?: string | undefined;
|
|
2831
2906
|
}
|
|
2832
2907
|
interface CollabResult {
|
|
2833
2908
|
readonly action: CollabAction;
|
|
@@ -3039,7 +3114,7 @@ declare function takeMoveRequest(store: CollabStoreLike): {
|
|
|
3039
3114
|
*/
|
|
3040
3115
|
type ObservedRole = "host" | "cohost" | "participant" | "guest";
|
|
3041
3116
|
/** `data-meet-phase` values this release renders (a subset of the contract's §2). */
|
|
3042
|
-
type ObservedPhase = "resolving" | `refused:${string}` | "prejoin" | "joining" | "waiting:knocking" | "in_call" | "disconnected" | "ended";
|
|
3117
|
+
type ObservedPhase = "resolving" | `refused:${string}` | "prejoin" | "joining" | "waiting:knocking" | "waiting:host_not_started" | "denied" | "knock_expired" | "left" | "in_call" | "disconnected" | "ended";
|
|
3043
3118
|
type ObservedConnection = "stable" | "reconnecting" | "server_unreachable";
|
|
3044
3119
|
interface MeetObservation {
|
|
3045
3120
|
readonly phase: ObservedPhase;
|
|
@@ -3081,4 +3156,4 @@ declare function participantAttributes(p: MeetParticipant): Record<string, strin
|
|
|
3081
3156
|
/** The listen-only notice's contract code, from why the microphone is off. */
|
|
3082
3157
|
declare function microphoneNoticeCode(track: LocalTrackState): "mic-blocked" | "device-lost" | null;
|
|
3083
3158
|
|
|
3084
|
-
export { ATTENDANCE_CSV_HEADER, AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, CallId, CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, CallMode, CallState, type CollabAction, CollabPanel, type CollabRequest, type CollabResult, type CollabRuntime, CollabSnapshot, type CollabStoreLike, ConnectionQuality, type CreateCallInviteInput, type CreateMeetingInput, DATA_TOPICS, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, type DataTopic, type DeviceKind, type DeviceManager, type DeviceManagerOptions, type DeviceSnapshot, type DeviceStorage, type DriverConnectionState, type DriverParticipant, type DriverTrackKind, type DriverTranscription, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, type FollowUpDraft, type FollowUpRecipient, type FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, IDLE_MEDIA, IDLE_TRACK, type InRoomClient, type InRoomClientOptions, InviteeInput, InviteeRole, type JoinRequest, LISTEN_ONLY_NOTICE, type LibraryRecording, type LiveKitDriverOptions, LobbyEntry, type LocalMediaState, type LocalTrackState, MEETING_INVITE_KIND, MEETING_INVITE_VERSION, MEETING_PASS_HEADER, MEETING_RECORD_GRACE_MS, MEET_ANSWER_CONTEXT_EVENT, MEET_ANSWER_EVENTS, MEET_EVENTS, MEET_REACTIONS, MEET_ROUTES, MEET_SCHEMA, MODERATION_ACTIONS, type MediaDevicesLike, type MediaEffects, type MediaUnavailable, type MeetAi, type MeetAiAnswer, type MeetAiOptions, type MeetAnswerCoverage, MeetApi, type MeetDevice, MeetError, type MeetErrorCode, type MeetEvent, type MeetGrants, MeetIdentity, type MeetObservation, MeetParticipant, type MeetRepository, type MeetRoomDriver, type MeetSnapshot, type MeetStore, MeetingAttendee, MeetingChanges, type MeetingChatHistory, MeetingId, type MeetingInviteHandlerOptions, type MeetingInvitePayload, MeetingInvitee, MeetingKind, MeetingNote, MeetingOccurrence, MeetingRecord, type MeetingRecordAnswer, type MeetingRecordBundle, type MeetingRecordCache, type MeetingRecordChange, type MeetingRecordFailure, type MeetingRecordParts, type MeetingRecordRestriction, type MeetingRecordRestrictionNotice, type MeetingRecordState, type MeetingSearchHit, type MeetingSearchSource, type MeetingSession, type MeetingSessionOptions, MeetingSettings, type ModerationAction, type ModerationNotice, type ModerationRequest, type ModerationResult, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, type NameBook, type NoteTakerDispatch, type NoteTakerRefusal, NoteTakerState, type NoteTakerStatus, type ObserveInput, type ObservedConnection, type ObservedPhase, OccurrenceOverride, OrganizationId, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, ParticipantIdentity, ParticipantRole, ParticipantStanding, REACTION_TTL_MS, REFUSED_ABSENCE, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, type RecordingController, type RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, type RepositoryOptions, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, RoomName, RoomPhase, type RoomReaction, type RoomToken, type RoomTokenStorage, RsvpAnswer, RsvpInvitation, type ScheduleMeetingInput, type Stage, type StageArgs, StageLayout, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, type TokenClient, type TokenClientOptions, type TokenRequest, type TranscriptBlock, type TranscriptFormat, type TranscriptMatch, TranscriptSegment, UpcomingOccurrence, UserId, type VideoEffect, WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, clockPosition, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuestIdentity, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, microphoneNoticeCode, moveToRoom, nextTranslationBatch, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, notesDocument, observe as observeMeeting, observedDevice, observedPhase, observedQuality, orderParticipants, parseRoomToken, participantAttributes, participantSummary, performCollab, playableRecordingFileId, projectInvitee, projectLibraryRecording, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSearchHit, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, recordingOffsetMs, rememberedMeetingPass, roleOf, roomTopic, rootAttributes, searchTranscript, sendFollowUp, setCaptionLanguage, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, staticObservation, summarizeMeetingRecordRestrictions, takeMoveRequest, takePanelRequest, transcriptDocument, unavailableFrom, uniqueAttendees, untranslatedLines, userTopic, wasRefused, wrapUpStatus };
|
|
3159
|
+
export { ATTENDANCE_CSV_HEADER, AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, CallId, CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, CallMode, CallState, type CollabAction, CollabPanel, type CollabRequest, type CollabResult, type CollabRuntime, CollabSnapshot, type CollabStoreLike, ConnectionQuality, type CreateCallInviteInput, type CreateMeetingInput, DATA_TOPICS, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, type DataTopic, type DeviceKind, type DeviceManager, type DeviceManagerOptions, type DeviceSnapshot, type DeviceStorage, type DriverConnectionState, type DriverParticipant, type DriverTrackKind, type DriverTranscription, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, type FollowUpDraft, type FollowUpRecipient, type FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, IDLE_MEDIA, IDLE_TRACK, type InRoomClient, type InRoomClientOptions, InviteeInput, InviteeRole, type JoinRequest, LISTEN_ONLY_NOTICE, type LibraryRecording, type LiveKitDriverOptions, LobbyEntry, type LocalMediaState, type LocalTrackState, MEETING_INVITE_KIND, MEETING_INVITE_VERSION, MEETING_PASS_HEADER, MEETING_RECORD_GRACE_MS, MEET_ANSWER_CONTEXT_EVENT, MEET_ANSWER_EVENTS, MEET_EVENTS, MEET_REACTIONS, MEET_ROUTES, MEET_SCHEMA, MODERATION_ACTIONS, type MediaDevicesLike, type MediaEffects, type MediaUnavailable, type MeetAi, type MeetAiAnswer, type MeetAiOptions, type MeetAnswerCoverage, MeetApi, type MeetDevice, MeetError, type MeetErrorCode, type MeetEvent, type MeetGrants, MeetIdentity, type MeetObservation, MeetParticipant, type MeetRepository, type MeetRoomDriver, type MeetSnapshot, type MeetStore, MeetingAttendee, MeetingChanges, type MeetingChatHistory, MeetingId, type MeetingInviteHandlerOptions, type MeetingInvitePayload, MeetingInvitee, MeetingKind, MeetingNote, MeetingOccurrence, MeetingRecord, type MeetingRecordAnswer, type MeetingRecordBundle, type MeetingRecordCache, type MeetingRecordChange, type MeetingRecordFailure, type MeetingRecordParts, type MeetingRecordRestriction, type MeetingRecordRestrictionNotice, type MeetingRecordState, type MeetingSearchHit, type MeetingSearchSource, type MeetingSession, type MeetingSessionOptions, MeetingSettings, type ModerationAction, type ModerationNotice, type ModerationRequest, type ModerationResult, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, type NameBook, type NoteTakerDispatch, type NoteTakerRefusal, NoteTakerState, type NoteTakerStatus, type ObserveInput, type ObservedConnection, type ObservedPhase, ObserversVisibleTo, OccurrenceOverride, OrganizationId, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, ParticipantIdentity, ParticipantRole, ParticipantStanding, REACTION_TTL_MS, REFUSED_ABSENCE, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, type RecordingController, type RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, type RepositoryOptions, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, RoomName, RoomPhase, type RoomReaction, type RoomToken, type RoomTokenStorage, RsvpAnswer, RsvpInvitation, type ScheduleMeetingInput, type Stage, type StageArgs, StageLayout, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, type TokenClient, type TokenClientOptions, type TokenRequest, type TranscriptBlock, type TranscriptFormat, type TranscriptMatch, TranscriptSegment, UpcomingOccurrence, UserId, type VideoEffect, WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, clockPosition, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuestIdentity, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, microphoneNoticeCode, moveToRoom, nextTranslationBatch, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, notesDocument, observe as observeMeeting, observedDevice, observedPhase, observedQuality, orderParticipants, parseRoomToken, participantAttributes, participantSummary, performCollab, playableRecordingFileId, projectInvitee, projectLibraryRecording, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSearchHit, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, recordingOffsetMs, rememberedMeetingPass, roleOf, roomTopic, rootAttributes, searchTranscript, sendFollowUp, setCaptionLanguage, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, staticObservation, summarizeMeetingRecordRestrictions, takeMoveRequest, takePanelRequest, transcriptDocument, unavailableFrom, uniqueAttendees, untranslatedLines, userTopic, wasRefused, wrapUpStatus };
|