@ai-matrx/meet 0.11.35 → 0.11.37
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 +12 -0
- package/dist/core.cjs +99 -86
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +73 -22
- package/dist/core.d.ts +73 -22
- package/dist/core.js +99 -86
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +99 -86
- 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 +99 -86
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +213 -106
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +20 -4
- package/dist/react.d.ts +20 -4
- package/dist/react.js +213 -106
- package/dist/react.js.map +1 -1
- package/dist/skins/meet.cjs +126 -20
- package/dist/skins/meet.cjs.map +1 -1
- package/dist/skins/meet.js +126 -20
- package/dist/skins/meet.js.map +1 -1
- package/dist/styles.css +7 -0
- package/package.json +3 -3
package/dist/core.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as ParticipantIdentity, k as AdmissionState, a1 as NoteTakerState, a as MeetParticipant, M as MeetingRecord, R as RoomName, d as CallInvite,
|
|
1
|
+
import { P as ParticipantIdentity, e as ParticipantRole, k as AdmissionState, a1 as NoteTakerState, a as MeetParticipant, M as MeetingRecord, R as RoomName, d as CallInvite, a6 as ParticipantStanding, a3 as ObserversVisibleTo, S as StageLayout, L as LobbyEntry, aa as RecordingState, U as UserId, aE as RecordingSource, ae as TranscriptSegment, g as MeetingNote, W as WrapUpAnnouncement, j as CollabSnapshot, p as ConnectionQuality, h as MeetingId, b as MeetApi, 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, af as UpcomingOccurrence, Y as MeetingInvitee, I as InviteeInput, q as InviteeRole, ab as RsvpAnswer, ac as RsvpInvitation, c as MeetIdentity, C as CollabPanel } from './collab-XY6Xj1dG.cjs';
|
|
2
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, ad as RsvpState, T as TranscriptSource, ag as appPanelOf, ah as applyCollabPacket, ai as asCallId, aj as asMeetingId, ak as asOrganizationId, al as asParticipantIdentity, am as asRoomName, an as asUserId, ao as assignedRoom, ap as autoAssign, aq as breakoutRemainingMs, ar as captureHeldOf, 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-XY6Xj1dG.cjs';
|
|
3
3
|
import { RealtimeManager } from '@ai-matrx/realtime';
|
|
4
4
|
import { MessagingSupabaseClient, ActionHandler } from '@ai-matrx/messaging';
|
|
@@ -125,6 +125,39 @@ declare function learnNames(book: NameBook, entries: readonly {
|
|
|
125
125
|
*/
|
|
126
126
|
declare function displayNameFor(book: NameBook, identity: ParticipantIdentity | string, preferred?: string | null | undefined): string;
|
|
127
127
|
|
|
128
|
+
/**
|
|
129
|
+
* S8 — LEAVE INTENTS (CORE-DESIGN §2.7 `/v1/meet/leave`, §4.2 `host_leave_prompt` · `end_confirm`,
|
|
130
|
+
* §11 `leave-or-end-choice`, `host-leave-assign`).
|
|
131
|
+
*
|
|
132
|
+
* What the host's Leave OFFERS is the meeting's behavior profile, resolved by the server and
|
|
133
|
+
* carried on the token response (`leave_policy`). What each choice DOES is the server's: the
|
|
134
|
+
* `/leave` door decides from the pass and the run row whether this person holds the run's host
|
|
135
|
+
* powers. The skin owns only the words.
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
type HostLeavePrompt = "leave_or_end" | "must_assign_or_end" | "leave_only";
|
|
139
|
+
interface LeavePolicy {
|
|
140
|
+
readonly hostLeavePrompt: HostLeavePrompt;
|
|
141
|
+
/** Ask "End for everyone?" once more before ending (Teams). */
|
|
142
|
+
readonly endConfirm: boolean;
|
|
143
|
+
}
|
|
144
|
+
/** The Meet profile's values — used only when the server sent none (an ad-hoc call). */
|
|
145
|
+
declare const DEFAULT_LEAVE_POLICY: LeavePolicy;
|
|
146
|
+
declare function leavePolicyFrom(raw: unknown): LeavePolicy;
|
|
147
|
+
/** One thing the Leave control can do. */
|
|
148
|
+
type LeaveChoice = "leave" | "assign_and_leave" | "end_for_all";
|
|
149
|
+
/**
|
|
150
|
+
* The choices Leave offers, in order. Not the host → just leave (no menu). The host:
|
|
151
|
+
* `leave_or_end` (Meet) → leave · end for everyone; `must_assign_or_end` (Zoom) → assign a new
|
|
152
|
+
* host (when someone else is here) · end for everyone, with a plain leave only when nobody is
|
|
153
|
+
* left to hand it to; `leave_only` (Teams) → leave · end meeting.
|
|
154
|
+
*/
|
|
155
|
+
declare function leaveChoices(args: {
|
|
156
|
+
readonly policy: LeavePolicy;
|
|
157
|
+
readonly role: ParticipantRole | null;
|
|
158
|
+
readonly othersPresent: boolean;
|
|
159
|
+
}): readonly LeaveChoice[];
|
|
160
|
+
|
|
128
161
|
/**
|
|
129
162
|
* LISTEN-ONLY ATTENDANCE — being IN the room is never contingent on a device.
|
|
130
163
|
*
|
|
@@ -717,6 +750,16 @@ interface MeetSnapshot {
|
|
|
717
750
|
* (server-set, delivered on join). A local pin outranks it on this screen only.
|
|
718
751
|
*/
|
|
719
752
|
readonly spotlight: ParticipantIdentity | null;
|
|
753
|
+
/**
|
|
754
|
+
* S8 REPLICATED ROOM STATE (CORE-DESIGN §2.6 RS), from the room's metadata — the server's
|
|
755
|
+
* truth, delivered on join and after every reconnect: who holds the run's host powers
|
|
756
|
+
* (`actingHost`), who is presenting, and how many people wait to be let in.
|
|
757
|
+
*/
|
|
758
|
+
readonly actingHost: ParticipantIdentity | null;
|
|
759
|
+
readonly presenter: ParticipantIdentity | null;
|
|
760
|
+
readonly waitingCount: number;
|
|
761
|
+
/** S8: what the host's Leave offers in this meeting (from the token's `leave_policy`). */
|
|
762
|
+
readonly leavePolicy: LeavePolicy;
|
|
720
763
|
/** The last thing a host did to THIS participant, in words. Dismissible. */
|
|
721
764
|
readonly moderationNotice: ModerationNotice | null;
|
|
722
765
|
/**
|
|
@@ -819,11 +862,6 @@ interface MeetStore {
|
|
|
819
862
|
setParticipants(participants: readonly MeetParticipant[]): void;
|
|
820
863
|
setSpeaking(identities: readonly ParticipantIdentity[]): void;
|
|
821
864
|
setQuality(identity: ParticipantIdentity, quality: ConnectionQuality): void;
|
|
822
|
-
/**
|
|
823
|
-
* Raise or lower a hand. `at` is WHEN it went up, which is the hand queue's
|
|
824
|
-
* order — first raised, first called on, the way Meet orders it.
|
|
825
|
-
*/
|
|
826
|
-
setHand(identity: ParticipantIdentity, raised: boolean, at?: number): void;
|
|
827
865
|
addChat(message: RoomChatMessage): void;
|
|
828
866
|
/** The saved chat, read once per join. Merged with anything that arrived live. */
|
|
829
867
|
loadChat(messages: readonly RoomChatMessage[]): void;
|
|
@@ -1562,18 +1600,6 @@ declare const ROOM_EVENTS: {
|
|
|
1562
1600
|
readonly wrapUp: "matrx.meet.wrap_up";
|
|
1563
1601
|
/** The meeting ended for everyone. Payload `{ meeting_id, ended_at, trigger }`. */
|
|
1564
1602
|
readonly ended: "matrx.meet.ended";
|
|
1565
|
-
/**
|
|
1566
|
-
* A `meet_recordings` row changed state. Payload
|
|
1567
|
-
* `{ meeting_id, recording: { id, state, started_by } }`.
|
|
1568
|
-
*
|
|
1569
|
-
* 🚨 THIS IS THE ONLY WAY A GUEST LEARNS A RECORDING IS RUNNING. PreJoin
|
|
1570
|
-
* promises every joiner an indicator, and `anon` holds no SELECT grant on
|
|
1571
|
-
* `meet_recordings` (MRI-A10 settled that widening it is forbidden), so
|
|
1572
|
-
* without this packet the promise was a sentence with nothing behind it: on
|
|
1573
|
-
* production 2026-09-09 the guest lane showed no indicator at all while the
|
|
1574
|
-
* host recorded (MRI-C8).
|
|
1575
|
-
*/
|
|
1576
|
-
readonly recording: "matrx.meet.recording";
|
|
1577
1603
|
/**
|
|
1578
1604
|
* A chat message to everyone was SAVED (Meet wave 2). Payload
|
|
1579
1605
|
* `{ message: { id, meeting_id, sender_identity, sender_name, body, created_at } }`.
|
|
@@ -2020,11 +2046,16 @@ interface MeetRoomDriver {
|
|
|
2020
2046
|
* (the gesture is what the browser checks). Optional: a driver without it never blocks.
|
|
2021
2047
|
*/
|
|
2022
2048
|
startAudio?(): Promise<void>;
|
|
2049
|
+
/**
|
|
2050
|
+
* S7 — a "join here too" companion plays no remote audio (the person's other device does; two
|
|
2051
|
+
* speakers in one room echo). `false` removes every attached remote audio element and keeps new
|
|
2052
|
+
* ones from attaching. Optional: a driver without it always plays.
|
|
2053
|
+
*/
|
|
2054
|
+
setRemoteAudioPlayback?(enabled: boolean): void;
|
|
2023
2055
|
}
|
|
2024
2056
|
type RoomDriverFactory = (handlers: RoomDriverHandlers) => MeetRoomDriver | Promise<MeetRoomDriver>;
|
|
2025
2057
|
/** Topics for the in-room control plane. One place, so senders cannot drift. */
|
|
2026
2058
|
declare const DATA_TOPICS: {
|
|
2027
|
-
readonly hand: "mx.hand";
|
|
2028
2059
|
readonly reaction: "mx.reaction";
|
|
2029
2060
|
readonly chat: "mx.chat";
|
|
2030
2061
|
};
|
|
@@ -2201,6 +2232,14 @@ interface MeetingSession {
|
|
|
2201
2232
|
withdraw(): Promise<void>;
|
|
2202
2233
|
/** Ask again after a denial or an expired knock (only offered when allowed). */
|
|
2203
2234
|
askAgain(): Promise<void>;
|
|
2235
|
+
/**
|
|
2236
|
+
* S8: the HOST's leave intents through `POST /v1/meet/leave` — end the meeting for everyone,
|
|
2237
|
+
* or hand the run's host powers to `assignTo` (a person key) before leaving. The server
|
|
2238
|
+
* decides from the pass whether this person holds the run's host powers.
|
|
2239
|
+
*/
|
|
2240
|
+
hostLeave(intent: "end_for_all" | {
|
|
2241
|
+
readonly assignTo: string;
|
|
2242
|
+
}): Promise<void>;
|
|
2204
2243
|
setLock(locked: boolean): Promise<MeetingRecord>;
|
|
2205
2244
|
/** End it for everyone, through the server (MRI-A6). */
|
|
2206
2245
|
endForEveryone(): Promise<EndMeetingResult>;
|
|
@@ -2522,12 +2561,18 @@ interface RoomEngine {
|
|
|
2522
2561
|
leave(): Promise<void>;
|
|
2523
2562
|
/** The person's own "back to the device check" press from `left` / `disconnected`. */
|
|
2524
2563
|
backToPrejoin(): void;
|
|
2564
|
+
/**
|
|
2565
|
+
* S7: BEFORE Join — is this person already live in `roomName` on another tab of THIS browser
|
|
2566
|
+
* (`TabClaim.presentElsewhere`)? When yes the pre-join offers Switch here / Join here too up
|
|
2567
|
+
* front (the same choice the server would otherwise ask after the press). Returns whether it did.
|
|
2568
|
+
* A guest has no stable person key before the pass, so the server's own answer covers them.
|
|
2569
|
+
*/
|
|
2570
|
+
checkElsewhere(roomName: RoomName): Promise<boolean>;
|
|
2525
2571
|
/** Clear a refused-share notice (the `share` region) the person dismissed. */
|
|
2526
2572
|
dismissShareNotice(): void;
|
|
2527
2573
|
setMicrophoneEnabled(enabled: boolean): Promise<void>;
|
|
2528
2574
|
setCameraEnabled(enabled: boolean): Promise<void>;
|
|
2529
2575
|
setScreenShareEnabled(enabled: boolean): Promise<void>;
|
|
2530
|
-
raiseHand(raised: boolean): Promise<void>;
|
|
2531
2576
|
react(emoji: string): Promise<void>;
|
|
2532
2577
|
/**
|
|
2533
2578
|
* A PRIVATE message to one person (Meet wave 2). Data plane only, addressed
|
|
@@ -2579,6 +2624,8 @@ interface EffectsStorage {
|
|
|
2579
2624
|
* them out of THIS file and fails if the two sides drift.
|
|
2580
2625
|
*/
|
|
2581
2626
|
declare const PARTICIPANT_ROLE_ATTRIBUTE = "matrx.participant.role";
|
|
2627
|
+
/** S8: the server's raise time of a hand (epoch ms), "" when down. Pinned with aidream's `room_state.ATTRIBUTE_HAND`. */
|
|
2628
|
+
declare const PARTICIPANT_HAND_ATTRIBUTE = "matrx.hand";
|
|
2582
2629
|
declare const PARTICIPANT_CAN_RECORD_ATTRIBUTE = "matrx.participant.can_record";
|
|
2583
2630
|
/** Standing travels beside the role (CORE-DESIGN §2.1). Pinned by aidream's tests too. */
|
|
2584
2631
|
declare const PARTICIPANT_STANDING_ATTRIBUTE = "matrx.participant.standing";
|
|
@@ -2828,6 +2875,8 @@ interface RoomToken {
|
|
|
2828
2875
|
* ladder. Absent from an older server → the knob defaults.
|
|
2829
2876
|
*/
|
|
2830
2877
|
readonly connectionPolicy?: ConnectionPolicy | undefined;
|
|
2878
|
+
/** S8: what the host's Leave offers for this meeting (`host_leave_prompt`, `end_confirm`). */
|
|
2879
|
+
readonly leavePolicy?: LeavePolicy | undefined;
|
|
2831
2880
|
}
|
|
2832
2881
|
|
|
2833
2882
|
interface TokenClientOptions {
|
|
@@ -3535,13 +3584,15 @@ declare function createWebEffectsStorage(key?: string): EffectsStorage;
|
|
|
3535
3584
|
*/
|
|
3536
3585
|
|
|
3537
3586
|
/** Every host power the server performs. One vocabulary with `services/meet/moderation.py`. */
|
|
3538
|
-
type ModerationAction = "mute" | "stop_video" | "stop_screen" | "mute_all" | "ask_unmute" | "ask_all_unmute" | "spotlight" | "lower_hand" | "lower_all_hands" | "make_cohost" | "revoke_cohost" | "transfer_host" | "rename" | "remove" | "report";
|
|
3587
|
+
type ModerationAction = "mute" | "stop_video" | "stop_screen" | "mute_all" | "ask_unmute" | "ask_all_unmute" | "spotlight" | "present" | "raise_hand" | "lower_hand" | "lower_all_hands" | "make_cohost" | "revoke_cohost" | "transfer_host" | "rename" | "remove" | "report";
|
|
3539
3588
|
declare const MODERATION_ACTIONS: readonly ModerationAction[];
|
|
3540
3589
|
interface ModerationRequest {
|
|
3541
3590
|
readonly action: ModerationAction;
|
|
3542
3591
|
readonly identity?: ParticipantIdentity | null | undefined;
|
|
3543
3592
|
readonly name?: string | undefined;
|
|
3544
3593
|
readonly reason?: string | undefined;
|
|
3594
|
+
/** `present` only: true = I am presenting now, false = I stopped (S8). */
|
|
3595
|
+
readonly on?: boolean | undefined;
|
|
3545
3596
|
}
|
|
3546
3597
|
interface ModerationResult {
|
|
3547
3598
|
readonly action: ModerationAction;
|
|
@@ -3863,4 +3914,4 @@ declare function participantAttributes(p: MeetParticipant): Record<string, strin
|
|
|
3863
3914
|
/** The listen-only notice's contract code, from why the microphone is off. */
|
|
3864
3915
|
declare function microphoneNoticeCode(track: LocalTrackState, permission?: PermissionReading): "mic-blocked" | "device-lost" | null;
|
|
3865
3916
|
|
|
3866
|
-
export { ATTENDANCE_CSV_HEADER, AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, type BrowserFamily, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, CallId, CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, CallMode, type CallOutcomePhase, CallState, type CollabAction, CollabPanel, type CollabRequest, type CollabResult, type CollabRuntime, CollabSnapshot, type CollabStoreLike, type ConnectionPolicy, ConnectionQuality, type ConnectionRegion, type ConnectionSupervisor, type ConnectionSupervisorOptions, type CreateCallInviteInput, type CreateMeetingInput, DATA_TOPICS, DEFAULT_CONNECTION_POLICY, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, type DataTopic, type DeviceKind, type DeviceManager, type DeviceManagerOptions, type DeviceNotice, type DeviceOffer, type DeviceSnapshot, type DeviceStorage, type DeviceUnavailableReason, type DriverConnectionState, type DriverParticipant, type DriverTrackKind, type DriverTranscription, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, type ExitInput, type ExitPhase, type ExitResolution, type ExitServerWord, type FollowUpDraft, type FollowUpRecipient, type FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type Ghost, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, IDLE_MEDIA, IDLE_MEDIA_REGION, IDLE_PHASES, IDLE_TRACK, type InRoomClient, type InRoomClientOptions, InviteeInput, InviteeRole, JOIN_REFUSAL_REASONS, type JoinRefusalReason, type JoinRequest, LISTEN_ONLY_NOTICE, LIVEKIT_BASE_DELAYS_MS, LIVE_PHASES, 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 MediaKind, type MediaPlatform, type MediaRegionState, type MediaSupervisor, type MediaSupervisorOptions, 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 MeetPatch, type MeetPhase, 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, NO_SHARE, type NameBook, type NetworkPort, type NoteTakerDispatch, type NoteTakerRefusal, NoteTakerState, type NoteTakerStatus, type ObserveInput, type ObservedConnection, type ObservedPhase, ObserversVisibleTo, OccurrenceOverride, OrganizationId, type OsFamily, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, ParticipantIdentity, ParticipantRole, ParticipantStanding, type PermissionReading, type PhaseEvent, type PhaseEventType, type PlatformDevice, REACTION_TTL_MS, REFUSED_ABSENCE, RESUME_WINDOW_MS, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, type ReconnectPolicyLike, type ReconnectPolicyOptions, type RecordingController, type RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, type RepositoryOptions, type ResumeMarker, type ResumeStorage, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, RoomName, type RoomReaction, type RoomToken, type RoomTokenStorage, RsvpAnswer, RsvpInvitation, type ScheduleMeetingInput, type ShareRegion, 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, WAITING_PHASES, WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, admissionPhase, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, autoRejoinDelayMs, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, classifyDeviceFailure, clockPosition, computeStage, connectionPolicyFrom, countLabel, createCallCenter, createCallInviteHandler, createConnectionSupervisor, createDeviceManager, createInRoomClient, createLiveKitDriver, createMediaSupervisor, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createReachabilityProbe, createReconnectPolicy, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebNetworkPort, createWebResumeStorage, createWebRoomTokenStorage, detectBrowser, detectOs, deviceChipLabel, deviceFixSteps, deviceNoticeCode, deviceUnavailableReason, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, httpUrlOf, invalidResponse, isGuestIdentity, isJoinRefusalReason, isListenOnly, isLivePhase, isNoteTaker, isRealName, isRefusedPhase, isRoomEventTopic, isUnannouncedDeparture, isWaitingPhase, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeGhosts, mergeRecord, microphoneNoticeCode, moveToRoom, nextPhase, 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, reasonOf, recordingLabel, recordingNotice, recordingOffsetMs, refusalPhase, rememberedMeetingPass, resolveExit, roleOf, roomTopic, rootAttributes, searchTranscript, sendFollowUp, setCaptionLanguage, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, staticObservation, summarizeMeetingRecordRestrictions, takeMoveRequest, takePanelRequest, transcriptDocument, unavailableFrom, uniqueAttendees, untranslatedLines, userTopic, wasRefused, webMediaPlatform, wrapUpStatus };
|
|
3917
|
+
export { ATTENDANCE_CSV_HEADER, AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, type BrowserFamily, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, CallId, CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, CallMode, type CallOutcomePhase, CallState, type CollabAction, CollabPanel, type CollabRequest, type CollabResult, type CollabRuntime, CollabSnapshot, type CollabStoreLike, type ConnectionPolicy, ConnectionQuality, type ConnectionRegion, type ConnectionSupervisor, type ConnectionSupervisorOptions, type CreateCallInviteInput, type CreateMeetingInput, DATA_TOPICS, DEFAULT_CONNECTION_POLICY, DEFAULT_EFFECTS, DEFAULT_LEAVE_POLICY, DEFAULT_PAGE_SIZE, type DataTopic, type DeviceKind, type DeviceManager, type DeviceManagerOptions, type DeviceNotice, type DeviceOffer, type DeviceSnapshot, type DeviceStorage, type DeviceUnavailableReason, type DriverConnectionState, type DriverParticipant, type DriverTrackKind, type DriverTranscription, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, type ExitInput, type ExitPhase, type ExitResolution, type ExitServerWord, type FollowUpDraft, type FollowUpRecipient, type FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type Ghost, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, type HostLeavePrompt, IDLE_MEDIA, IDLE_MEDIA_REGION, IDLE_PHASES, IDLE_TRACK, type InRoomClient, type InRoomClientOptions, InviteeInput, InviteeRole, JOIN_REFUSAL_REASONS, type JoinRefusalReason, type JoinRequest, LISTEN_ONLY_NOTICE, LIVEKIT_BASE_DELAYS_MS, LIVE_PHASES, type LeaveChoice, type LeavePolicy, 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 MediaKind, type MediaPlatform, type MediaRegionState, type MediaSupervisor, type MediaSupervisorOptions, 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 MeetPatch, type MeetPhase, 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, NO_SHARE, type NameBook, type NetworkPort, type NoteTakerDispatch, type NoteTakerRefusal, NoteTakerState, type NoteTakerStatus, type ObserveInput, type ObservedConnection, type ObservedPhase, ObserversVisibleTo, OccurrenceOverride, OrganizationId, type OsFamily, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_HAND_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, ParticipantIdentity, ParticipantRole, ParticipantStanding, type PermissionReading, type PhaseEvent, type PhaseEventType, type PlatformDevice, REACTION_TTL_MS, REFUSED_ABSENCE, RESUME_WINDOW_MS, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, type ReconnectPolicyLike, type ReconnectPolicyOptions, type RecordingController, type RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, type RepositoryOptions, type ResumeMarker, type ResumeStorage, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, RoomName, type RoomReaction, type RoomToken, type RoomTokenStorage, RsvpAnswer, RsvpInvitation, type ScheduleMeetingInput, type ShareRegion, 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, WAITING_PHASES, WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, admissionPhase, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, autoRejoinDelayMs, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, classifyDeviceFailure, clockPosition, computeStage, connectionPolicyFrom, countLabel, createCallCenter, createCallInviteHandler, createConnectionSupervisor, createDeviceManager, createInRoomClient, createLiveKitDriver, createMediaSupervisor, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createReachabilityProbe, createReconnectPolicy, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebNetworkPort, createWebResumeStorage, createWebRoomTokenStorage, detectBrowser, detectOs, deviceChipLabel, deviceFixSteps, deviceNoticeCode, deviceUnavailableReason, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, httpUrlOf, invalidResponse, isGuestIdentity, isJoinRefusalReason, isListenOnly, isLivePhase, isNoteTaker, isRealName, isRefusedPhase, isRoomEventTopic, isUnannouncedDeparture, isWaitingPhase, learnName, learnNames, leaveChoices, leavePolicyFrom, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeGhosts, mergeRecord, microphoneNoticeCode, moveToRoom, nextPhase, 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, reasonOf, recordingLabel, recordingNotice, recordingOffsetMs, refusalPhase, rememberedMeetingPass, resolveExit, roleOf, roomTopic, rootAttributes, searchTranscript, sendFollowUp, setCaptionLanguage, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, staticObservation, summarizeMeetingRecordRestrictions, takeMoveRequest, takePanelRequest, transcriptDocument, unavailableFrom, uniqueAttendees, untranslatedLines, userTopic, wasRefused, webMediaPlatform, wrapUpStatus };
|
package/dist/core.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as ParticipantIdentity, k as AdmissionState, a1 as NoteTakerState, a as MeetParticipant, M as MeetingRecord, R as RoomName, d as CallInvite,
|
|
1
|
+
import { P as ParticipantIdentity, e as ParticipantRole, k as AdmissionState, a1 as NoteTakerState, a as MeetParticipant, M as MeetingRecord, R as RoomName, d as CallInvite, a6 as ParticipantStanding, a3 as ObserversVisibleTo, S as StageLayout, L as LobbyEntry, aa as RecordingState, U as UserId, aE as RecordingSource, ae as TranscriptSegment, g as MeetingNote, W as WrapUpAnnouncement, j as CollabSnapshot, p as ConnectionQuality, h as MeetingId, b as MeetApi, 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, af as UpcomingOccurrence, Y as MeetingInvitee, I as InviteeInput, q as InviteeRole, ab as RsvpAnswer, ac as RsvpInvitation, c as MeetIdentity, C as CollabPanel } from './collab-XY6Xj1dG.js';
|
|
2
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, ad as RsvpState, T as TranscriptSource, ag as appPanelOf, ah as applyCollabPacket, ai as asCallId, aj as asMeetingId, ak as asOrganizationId, al as asParticipantIdentity, am as asRoomName, an as asUserId, ao as assignedRoom, ap as autoAssign, aq as breakoutRemainingMs, ar as captureHeldOf, 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-XY6Xj1dG.js';
|
|
3
3
|
import { RealtimeManager } from '@ai-matrx/realtime';
|
|
4
4
|
import { MessagingSupabaseClient, ActionHandler } from '@ai-matrx/messaging';
|
|
@@ -125,6 +125,39 @@ declare function learnNames(book: NameBook, entries: readonly {
|
|
|
125
125
|
*/
|
|
126
126
|
declare function displayNameFor(book: NameBook, identity: ParticipantIdentity | string, preferred?: string | null | undefined): string;
|
|
127
127
|
|
|
128
|
+
/**
|
|
129
|
+
* S8 — LEAVE INTENTS (CORE-DESIGN §2.7 `/v1/meet/leave`, §4.2 `host_leave_prompt` · `end_confirm`,
|
|
130
|
+
* §11 `leave-or-end-choice`, `host-leave-assign`).
|
|
131
|
+
*
|
|
132
|
+
* What the host's Leave OFFERS is the meeting's behavior profile, resolved by the server and
|
|
133
|
+
* carried on the token response (`leave_policy`). What each choice DOES is the server's: the
|
|
134
|
+
* `/leave` door decides from the pass and the run row whether this person holds the run's host
|
|
135
|
+
* powers. The skin owns only the words.
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
type HostLeavePrompt = "leave_or_end" | "must_assign_or_end" | "leave_only";
|
|
139
|
+
interface LeavePolicy {
|
|
140
|
+
readonly hostLeavePrompt: HostLeavePrompt;
|
|
141
|
+
/** Ask "End for everyone?" once more before ending (Teams). */
|
|
142
|
+
readonly endConfirm: boolean;
|
|
143
|
+
}
|
|
144
|
+
/** The Meet profile's values — used only when the server sent none (an ad-hoc call). */
|
|
145
|
+
declare const DEFAULT_LEAVE_POLICY: LeavePolicy;
|
|
146
|
+
declare function leavePolicyFrom(raw: unknown): LeavePolicy;
|
|
147
|
+
/** One thing the Leave control can do. */
|
|
148
|
+
type LeaveChoice = "leave" | "assign_and_leave" | "end_for_all";
|
|
149
|
+
/**
|
|
150
|
+
* The choices Leave offers, in order. Not the host → just leave (no menu). The host:
|
|
151
|
+
* `leave_or_end` (Meet) → leave · end for everyone; `must_assign_or_end` (Zoom) → assign a new
|
|
152
|
+
* host (when someone else is here) · end for everyone, with a plain leave only when nobody is
|
|
153
|
+
* left to hand it to; `leave_only` (Teams) → leave · end meeting.
|
|
154
|
+
*/
|
|
155
|
+
declare function leaveChoices(args: {
|
|
156
|
+
readonly policy: LeavePolicy;
|
|
157
|
+
readonly role: ParticipantRole | null;
|
|
158
|
+
readonly othersPresent: boolean;
|
|
159
|
+
}): readonly LeaveChoice[];
|
|
160
|
+
|
|
128
161
|
/**
|
|
129
162
|
* LISTEN-ONLY ATTENDANCE — being IN the room is never contingent on a device.
|
|
130
163
|
*
|
|
@@ -717,6 +750,16 @@ interface MeetSnapshot {
|
|
|
717
750
|
* (server-set, delivered on join). A local pin outranks it on this screen only.
|
|
718
751
|
*/
|
|
719
752
|
readonly spotlight: ParticipantIdentity | null;
|
|
753
|
+
/**
|
|
754
|
+
* S8 REPLICATED ROOM STATE (CORE-DESIGN §2.6 RS), from the room's metadata — the server's
|
|
755
|
+
* truth, delivered on join and after every reconnect: who holds the run's host powers
|
|
756
|
+
* (`actingHost`), who is presenting, and how many people wait to be let in.
|
|
757
|
+
*/
|
|
758
|
+
readonly actingHost: ParticipantIdentity | null;
|
|
759
|
+
readonly presenter: ParticipantIdentity | null;
|
|
760
|
+
readonly waitingCount: number;
|
|
761
|
+
/** S8: what the host's Leave offers in this meeting (from the token's `leave_policy`). */
|
|
762
|
+
readonly leavePolicy: LeavePolicy;
|
|
720
763
|
/** The last thing a host did to THIS participant, in words. Dismissible. */
|
|
721
764
|
readonly moderationNotice: ModerationNotice | null;
|
|
722
765
|
/**
|
|
@@ -819,11 +862,6 @@ interface MeetStore {
|
|
|
819
862
|
setParticipants(participants: readonly MeetParticipant[]): void;
|
|
820
863
|
setSpeaking(identities: readonly ParticipantIdentity[]): void;
|
|
821
864
|
setQuality(identity: ParticipantIdentity, quality: ConnectionQuality): void;
|
|
822
|
-
/**
|
|
823
|
-
* Raise or lower a hand. `at` is WHEN it went up, which is the hand queue's
|
|
824
|
-
* order — first raised, first called on, the way Meet orders it.
|
|
825
|
-
*/
|
|
826
|
-
setHand(identity: ParticipantIdentity, raised: boolean, at?: number): void;
|
|
827
865
|
addChat(message: RoomChatMessage): void;
|
|
828
866
|
/** The saved chat, read once per join. Merged with anything that arrived live. */
|
|
829
867
|
loadChat(messages: readonly RoomChatMessage[]): void;
|
|
@@ -1562,18 +1600,6 @@ declare const ROOM_EVENTS: {
|
|
|
1562
1600
|
readonly wrapUp: "matrx.meet.wrap_up";
|
|
1563
1601
|
/** The meeting ended for everyone. Payload `{ meeting_id, ended_at, trigger }`. */
|
|
1564
1602
|
readonly ended: "matrx.meet.ended";
|
|
1565
|
-
/**
|
|
1566
|
-
* A `meet_recordings` row changed state. Payload
|
|
1567
|
-
* `{ meeting_id, recording: { id, state, started_by } }`.
|
|
1568
|
-
*
|
|
1569
|
-
* 🚨 THIS IS THE ONLY WAY A GUEST LEARNS A RECORDING IS RUNNING. PreJoin
|
|
1570
|
-
* promises every joiner an indicator, and `anon` holds no SELECT grant on
|
|
1571
|
-
* `meet_recordings` (MRI-A10 settled that widening it is forbidden), so
|
|
1572
|
-
* without this packet the promise was a sentence with nothing behind it: on
|
|
1573
|
-
* production 2026-09-09 the guest lane showed no indicator at all while the
|
|
1574
|
-
* host recorded (MRI-C8).
|
|
1575
|
-
*/
|
|
1576
|
-
readonly recording: "matrx.meet.recording";
|
|
1577
1603
|
/**
|
|
1578
1604
|
* A chat message to everyone was SAVED (Meet wave 2). Payload
|
|
1579
1605
|
* `{ message: { id, meeting_id, sender_identity, sender_name, body, created_at } }`.
|
|
@@ -2020,11 +2046,16 @@ interface MeetRoomDriver {
|
|
|
2020
2046
|
* (the gesture is what the browser checks). Optional: a driver without it never blocks.
|
|
2021
2047
|
*/
|
|
2022
2048
|
startAudio?(): Promise<void>;
|
|
2049
|
+
/**
|
|
2050
|
+
* S7 — a "join here too" companion plays no remote audio (the person's other device does; two
|
|
2051
|
+
* speakers in one room echo). `false` removes every attached remote audio element and keeps new
|
|
2052
|
+
* ones from attaching. Optional: a driver without it always plays.
|
|
2053
|
+
*/
|
|
2054
|
+
setRemoteAudioPlayback?(enabled: boolean): void;
|
|
2023
2055
|
}
|
|
2024
2056
|
type RoomDriverFactory = (handlers: RoomDriverHandlers) => MeetRoomDriver | Promise<MeetRoomDriver>;
|
|
2025
2057
|
/** Topics for the in-room control plane. One place, so senders cannot drift. */
|
|
2026
2058
|
declare const DATA_TOPICS: {
|
|
2027
|
-
readonly hand: "mx.hand";
|
|
2028
2059
|
readonly reaction: "mx.reaction";
|
|
2029
2060
|
readonly chat: "mx.chat";
|
|
2030
2061
|
};
|
|
@@ -2201,6 +2232,14 @@ interface MeetingSession {
|
|
|
2201
2232
|
withdraw(): Promise<void>;
|
|
2202
2233
|
/** Ask again after a denial or an expired knock (only offered when allowed). */
|
|
2203
2234
|
askAgain(): Promise<void>;
|
|
2235
|
+
/**
|
|
2236
|
+
* S8: the HOST's leave intents through `POST /v1/meet/leave` — end the meeting for everyone,
|
|
2237
|
+
* or hand the run's host powers to `assignTo` (a person key) before leaving. The server
|
|
2238
|
+
* decides from the pass whether this person holds the run's host powers.
|
|
2239
|
+
*/
|
|
2240
|
+
hostLeave(intent: "end_for_all" | {
|
|
2241
|
+
readonly assignTo: string;
|
|
2242
|
+
}): Promise<void>;
|
|
2204
2243
|
setLock(locked: boolean): Promise<MeetingRecord>;
|
|
2205
2244
|
/** End it for everyone, through the server (MRI-A6). */
|
|
2206
2245
|
endForEveryone(): Promise<EndMeetingResult>;
|
|
@@ -2522,12 +2561,18 @@ interface RoomEngine {
|
|
|
2522
2561
|
leave(): Promise<void>;
|
|
2523
2562
|
/** The person's own "back to the device check" press from `left` / `disconnected`. */
|
|
2524
2563
|
backToPrejoin(): void;
|
|
2564
|
+
/**
|
|
2565
|
+
* S7: BEFORE Join — is this person already live in `roomName` on another tab of THIS browser
|
|
2566
|
+
* (`TabClaim.presentElsewhere`)? When yes the pre-join offers Switch here / Join here too up
|
|
2567
|
+
* front (the same choice the server would otherwise ask after the press). Returns whether it did.
|
|
2568
|
+
* A guest has no stable person key before the pass, so the server's own answer covers them.
|
|
2569
|
+
*/
|
|
2570
|
+
checkElsewhere(roomName: RoomName): Promise<boolean>;
|
|
2525
2571
|
/** Clear a refused-share notice (the `share` region) the person dismissed. */
|
|
2526
2572
|
dismissShareNotice(): void;
|
|
2527
2573
|
setMicrophoneEnabled(enabled: boolean): Promise<void>;
|
|
2528
2574
|
setCameraEnabled(enabled: boolean): Promise<void>;
|
|
2529
2575
|
setScreenShareEnabled(enabled: boolean): Promise<void>;
|
|
2530
|
-
raiseHand(raised: boolean): Promise<void>;
|
|
2531
2576
|
react(emoji: string): Promise<void>;
|
|
2532
2577
|
/**
|
|
2533
2578
|
* A PRIVATE message to one person (Meet wave 2). Data plane only, addressed
|
|
@@ -2579,6 +2624,8 @@ interface EffectsStorage {
|
|
|
2579
2624
|
* them out of THIS file and fails if the two sides drift.
|
|
2580
2625
|
*/
|
|
2581
2626
|
declare const PARTICIPANT_ROLE_ATTRIBUTE = "matrx.participant.role";
|
|
2627
|
+
/** S8: the server's raise time of a hand (epoch ms), "" when down. Pinned with aidream's `room_state.ATTRIBUTE_HAND`. */
|
|
2628
|
+
declare const PARTICIPANT_HAND_ATTRIBUTE = "matrx.hand";
|
|
2582
2629
|
declare const PARTICIPANT_CAN_RECORD_ATTRIBUTE = "matrx.participant.can_record";
|
|
2583
2630
|
/** Standing travels beside the role (CORE-DESIGN §2.1). Pinned by aidream's tests too. */
|
|
2584
2631
|
declare const PARTICIPANT_STANDING_ATTRIBUTE = "matrx.participant.standing";
|
|
@@ -2828,6 +2875,8 @@ interface RoomToken {
|
|
|
2828
2875
|
* ladder. Absent from an older server → the knob defaults.
|
|
2829
2876
|
*/
|
|
2830
2877
|
readonly connectionPolicy?: ConnectionPolicy | undefined;
|
|
2878
|
+
/** S8: what the host's Leave offers for this meeting (`host_leave_prompt`, `end_confirm`). */
|
|
2879
|
+
readonly leavePolicy?: LeavePolicy | undefined;
|
|
2831
2880
|
}
|
|
2832
2881
|
|
|
2833
2882
|
interface TokenClientOptions {
|
|
@@ -3535,13 +3584,15 @@ declare function createWebEffectsStorage(key?: string): EffectsStorage;
|
|
|
3535
3584
|
*/
|
|
3536
3585
|
|
|
3537
3586
|
/** Every host power the server performs. One vocabulary with `services/meet/moderation.py`. */
|
|
3538
|
-
type ModerationAction = "mute" | "stop_video" | "stop_screen" | "mute_all" | "ask_unmute" | "ask_all_unmute" | "spotlight" | "lower_hand" | "lower_all_hands" | "make_cohost" | "revoke_cohost" | "transfer_host" | "rename" | "remove" | "report";
|
|
3587
|
+
type ModerationAction = "mute" | "stop_video" | "stop_screen" | "mute_all" | "ask_unmute" | "ask_all_unmute" | "spotlight" | "present" | "raise_hand" | "lower_hand" | "lower_all_hands" | "make_cohost" | "revoke_cohost" | "transfer_host" | "rename" | "remove" | "report";
|
|
3539
3588
|
declare const MODERATION_ACTIONS: readonly ModerationAction[];
|
|
3540
3589
|
interface ModerationRequest {
|
|
3541
3590
|
readonly action: ModerationAction;
|
|
3542
3591
|
readonly identity?: ParticipantIdentity | null | undefined;
|
|
3543
3592
|
readonly name?: string | undefined;
|
|
3544
3593
|
readonly reason?: string | undefined;
|
|
3594
|
+
/** `present` only: true = I am presenting now, false = I stopped (S8). */
|
|
3595
|
+
readonly on?: boolean | undefined;
|
|
3545
3596
|
}
|
|
3546
3597
|
interface ModerationResult {
|
|
3547
3598
|
readonly action: ModerationAction;
|
|
@@ -3863,4 +3914,4 @@ declare function participantAttributes(p: MeetParticipant): Record<string, strin
|
|
|
3863
3914
|
/** The listen-only notice's contract code, from why the microphone is off. */
|
|
3864
3915
|
declare function microphoneNoticeCode(track: LocalTrackState, permission?: PermissionReading): "mic-blocked" | "device-lost" | null;
|
|
3865
3916
|
|
|
3866
|
-
export { ATTENDANCE_CSV_HEADER, AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, type BrowserFamily, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, CallId, CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, CallMode, type CallOutcomePhase, CallState, type CollabAction, CollabPanel, type CollabRequest, type CollabResult, type CollabRuntime, CollabSnapshot, type CollabStoreLike, type ConnectionPolicy, ConnectionQuality, type ConnectionRegion, type ConnectionSupervisor, type ConnectionSupervisorOptions, type CreateCallInviteInput, type CreateMeetingInput, DATA_TOPICS, DEFAULT_CONNECTION_POLICY, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, type DataTopic, type DeviceKind, type DeviceManager, type DeviceManagerOptions, type DeviceNotice, type DeviceOffer, type DeviceSnapshot, type DeviceStorage, type DeviceUnavailableReason, type DriverConnectionState, type DriverParticipant, type DriverTrackKind, type DriverTranscription, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, type ExitInput, type ExitPhase, type ExitResolution, type ExitServerWord, type FollowUpDraft, type FollowUpRecipient, type FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type Ghost, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, IDLE_MEDIA, IDLE_MEDIA_REGION, IDLE_PHASES, IDLE_TRACK, type InRoomClient, type InRoomClientOptions, InviteeInput, InviteeRole, JOIN_REFUSAL_REASONS, type JoinRefusalReason, type JoinRequest, LISTEN_ONLY_NOTICE, LIVEKIT_BASE_DELAYS_MS, LIVE_PHASES, 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 MediaKind, type MediaPlatform, type MediaRegionState, type MediaSupervisor, type MediaSupervisorOptions, 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 MeetPatch, type MeetPhase, 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, NO_SHARE, type NameBook, type NetworkPort, type NoteTakerDispatch, type NoteTakerRefusal, NoteTakerState, type NoteTakerStatus, type ObserveInput, type ObservedConnection, type ObservedPhase, ObserversVisibleTo, OccurrenceOverride, OrganizationId, type OsFamily, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, ParticipantIdentity, ParticipantRole, ParticipantStanding, type PermissionReading, type PhaseEvent, type PhaseEventType, type PlatformDevice, REACTION_TTL_MS, REFUSED_ABSENCE, RESUME_WINDOW_MS, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, type ReconnectPolicyLike, type ReconnectPolicyOptions, type RecordingController, type RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, type RepositoryOptions, type ResumeMarker, type ResumeStorage, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, RoomName, type RoomReaction, type RoomToken, type RoomTokenStorage, RsvpAnswer, RsvpInvitation, type ScheduleMeetingInput, type ShareRegion, 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, WAITING_PHASES, WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, admissionPhase, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, autoRejoinDelayMs, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, classifyDeviceFailure, clockPosition, computeStage, connectionPolicyFrom, countLabel, createCallCenter, createCallInviteHandler, createConnectionSupervisor, createDeviceManager, createInRoomClient, createLiveKitDriver, createMediaSupervisor, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createReachabilityProbe, createReconnectPolicy, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebNetworkPort, createWebResumeStorage, createWebRoomTokenStorage, detectBrowser, detectOs, deviceChipLabel, deviceFixSteps, deviceNoticeCode, deviceUnavailableReason, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, httpUrlOf, invalidResponse, isGuestIdentity, isJoinRefusalReason, isListenOnly, isLivePhase, isNoteTaker, isRealName, isRefusedPhase, isRoomEventTopic, isUnannouncedDeparture, isWaitingPhase, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeGhosts, mergeRecord, microphoneNoticeCode, moveToRoom, nextPhase, 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, reasonOf, recordingLabel, recordingNotice, recordingOffsetMs, refusalPhase, rememberedMeetingPass, resolveExit, roleOf, roomTopic, rootAttributes, searchTranscript, sendFollowUp, setCaptionLanguage, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, staticObservation, summarizeMeetingRecordRestrictions, takeMoveRequest, takePanelRequest, transcriptDocument, unavailableFrom, uniqueAttendees, untranslatedLines, userTopic, wasRefused, webMediaPlatform, wrapUpStatus };
|
|
3917
|
+
export { ATTENDANCE_CSV_HEADER, AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, type BrowserFamily, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, CallId, CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, CallMode, type CallOutcomePhase, CallState, type CollabAction, CollabPanel, type CollabRequest, type CollabResult, type CollabRuntime, CollabSnapshot, type CollabStoreLike, type ConnectionPolicy, ConnectionQuality, type ConnectionRegion, type ConnectionSupervisor, type ConnectionSupervisorOptions, type CreateCallInviteInput, type CreateMeetingInput, DATA_TOPICS, DEFAULT_CONNECTION_POLICY, DEFAULT_EFFECTS, DEFAULT_LEAVE_POLICY, DEFAULT_PAGE_SIZE, type DataTopic, type DeviceKind, type DeviceManager, type DeviceManagerOptions, type DeviceNotice, type DeviceOffer, type DeviceSnapshot, type DeviceStorage, type DeviceUnavailableReason, type DriverConnectionState, type DriverParticipant, type DriverTrackKind, type DriverTranscription, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, type ExitInput, type ExitPhase, type ExitResolution, type ExitServerWord, type FollowUpDraft, type FollowUpRecipient, type FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type Ghost, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, type HostLeavePrompt, IDLE_MEDIA, IDLE_MEDIA_REGION, IDLE_PHASES, IDLE_TRACK, type InRoomClient, type InRoomClientOptions, InviteeInput, InviteeRole, JOIN_REFUSAL_REASONS, type JoinRefusalReason, type JoinRequest, LISTEN_ONLY_NOTICE, LIVEKIT_BASE_DELAYS_MS, LIVE_PHASES, type LeaveChoice, type LeavePolicy, 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 MediaKind, type MediaPlatform, type MediaRegionState, type MediaSupervisor, type MediaSupervisorOptions, 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 MeetPatch, type MeetPhase, 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, NO_SHARE, type NameBook, type NetworkPort, type NoteTakerDispatch, type NoteTakerRefusal, NoteTakerState, type NoteTakerStatus, type ObserveInput, type ObservedConnection, type ObservedPhase, ObserversVisibleTo, OccurrenceOverride, OrganizationId, type OsFamily, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_HAND_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, ParticipantIdentity, ParticipantRole, ParticipantStanding, type PermissionReading, type PhaseEvent, type PhaseEventType, type PlatformDevice, REACTION_TTL_MS, REFUSED_ABSENCE, RESUME_WINDOW_MS, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, type ReconnectPolicyLike, type ReconnectPolicyOptions, type RecordingController, type RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, type RepositoryOptions, type ResumeMarker, type ResumeStorage, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, RoomName, type RoomReaction, type RoomToken, type RoomTokenStorage, RsvpAnswer, RsvpInvitation, type ScheduleMeetingInput, type ShareRegion, 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, WAITING_PHASES, WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, admissionPhase, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, autoRejoinDelayMs, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, classifyDeviceFailure, clockPosition, computeStage, connectionPolicyFrom, countLabel, createCallCenter, createCallInviteHandler, createConnectionSupervisor, createDeviceManager, createInRoomClient, createLiveKitDriver, createMediaSupervisor, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createReachabilityProbe, createReconnectPolicy, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebNetworkPort, createWebResumeStorage, createWebRoomTokenStorage, detectBrowser, detectOs, deviceChipLabel, deviceFixSteps, deviceNoticeCode, deviceUnavailableReason, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, httpUrlOf, invalidResponse, isGuestIdentity, isJoinRefusalReason, isListenOnly, isLivePhase, isNoteTaker, isRealName, isRefusedPhase, isRoomEventTopic, isUnannouncedDeparture, isWaitingPhase, learnName, learnNames, leaveChoices, leavePolicyFrom, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeGhosts, mergeRecord, microphoneNoticeCode, moveToRoom, nextPhase, 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, reasonOf, recordingLabel, recordingNotice, recordingOffsetMs, refusalPhase, rememberedMeetingPass, resolveExit, roleOf, roomTopic, rootAttributes, searchTranscript, sendFollowUp, setCaptionLanguage, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, staticObservation, summarizeMeetingRecordRestrictions, takeMoveRequest, takePanelRequest, transcriptDocument, unavailableFrom, uniqueAttendees, untranslatedLines, userTopic, wasRefused, webMediaPlatform, wrapUpStatus };
|