@ai-matrx/meet 0.7.10 → 0.7.11
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 +31 -0
- package/dist/index.cjs +1673 -1116
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +292 -1
- package/dist/index.d.ts +292 -1
- package/dist/index.js +1673 -1116
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +2340 -698
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +94 -3
- package/dist/react.d.ts +94 -3
- package/dist/react.js +2341 -699
- package/dist/react.js.map +1 -1
- package/dist/styles.css +293 -0
- package/dist/tokens.css +2 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -260,6 +260,13 @@ interface MeetingChanges extends MeetingSettings {
|
|
|
260
260
|
readonly scheduledFor?: string | null | undefined;
|
|
261
261
|
readonly scheduledDurationMinutes?: number | null | undefined;
|
|
262
262
|
readonly recurrenceRule?: string | null | undefined;
|
|
263
|
+
/**
|
|
264
|
+
* When the SERIES moves (start, rule or zone), carry its per-date changes
|
|
265
|
+
* (cancelled or moved occurrences) to the new schedule instead of archiving
|
|
266
|
+
* them — Google Calendar's and Outlook's "keep changes to individual events".
|
|
267
|
+
* Absent or false archives them (restorable). Ask the person; never decide.
|
|
268
|
+
*/
|
|
269
|
+
readonly keepExceptions?: boolean | undefined;
|
|
263
270
|
}
|
|
264
271
|
/** What the emailed RSVP link shows and answers (no account needed). */
|
|
265
272
|
type RsvpInvitation = {
|
|
@@ -365,7 +372,20 @@ interface MeetingAttendee {
|
|
|
365
372
|
readonly role: ParticipantRole;
|
|
366
373
|
readonly admissionState: AdmissionState;
|
|
367
374
|
readonly isAgent: boolean;
|
|
375
|
+
/** FIRST arrival in the room — a rejoin never moves it. */
|
|
368
376
|
readonly joinedAt: string | null;
|
|
377
|
+
/** Null while in the room, else the last time they left. */
|
|
378
|
+
readonly leftAt: string | null;
|
|
379
|
+
/**
|
|
380
|
+
* Every stay in the room, oldest first (`metadata.sessions`, written by the
|
|
381
|
+
* server's one attendance rule). Empty for a row recorded before stays were
|
|
382
|
+
* kept; the report then falls back to `joinedAt`–`leftAt`.
|
|
383
|
+
*/
|
|
384
|
+
readonly sessions?: readonly AttendanceStay[] | undefined;
|
|
385
|
+
}
|
|
386
|
+
/** One stay in the room: arrived, and left (null = still there or never recorded). */
|
|
387
|
+
interface AttendanceStay {
|
|
388
|
+
readonly joinedAt: string;
|
|
369
389
|
readonly leftAt: string | null;
|
|
370
390
|
}
|
|
371
391
|
type MeetingNoteKind = "note" | "decision" | "action-item";
|
|
@@ -861,6 +881,187 @@ declare function noteTakerStatus(args: {
|
|
|
861
881
|
*/
|
|
862
882
|
declare function noteTakerLabel(status: NoteTakerStatus): string;
|
|
863
883
|
|
|
884
|
+
/**
|
|
885
|
+
* MEETING ROOM ITEMS — polls, Q&A, the shared whiteboard and breakout rooms (Meet wave 5).
|
|
886
|
+
*
|
|
887
|
+
* The server decides every one of them (`aidream/services/meet/collab.py`,
|
|
888
|
+
* `breakouts.py`): who may create, launch, vote, ask, answer, draw, erase, open rooms or
|
|
889
|
+
* move people — and what each viewer SEES (a draft poll is the host's alone; counts
|
|
890
|
+
* reach everyone only once shared; anonymous votes and questions carry no identity;
|
|
891
|
+
* a dismissed question stays with the hosts). This file only holds what the server
|
|
892
|
+
* said and folds the room's `matrx.meet.collab` packets into it.
|
|
893
|
+
*
|
|
894
|
+
* Two reads, one truth: `GET /v1/meet/collab` once per join (a late joiner sees every
|
|
895
|
+
* poll, question, stroke and the open breakout plan), then packets. Every item is keyed
|
|
896
|
+
* by its row id, so the same item arriving twice is one item.
|
|
897
|
+
*/
|
|
898
|
+
|
|
899
|
+
interface MeetPollOption {
|
|
900
|
+
readonly id: string;
|
|
901
|
+
readonly text: string;
|
|
902
|
+
/** Present when this viewer may see counts (a host, or results shared). */
|
|
903
|
+
readonly votes?: number | undefined;
|
|
904
|
+
/** Who picked it — hosts only, never for an anonymous poll. */
|
|
905
|
+
readonly voters?: readonly string[] | undefined;
|
|
906
|
+
}
|
|
907
|
+
type MeetPollState = "draft" | "live" | "closed";
|
|
908
|
+
interface MeetPoll {
|
|
909
|
+
readonly id: string;
|
|
910
|
+
readonly question: string;
|
|
911
|
+
readonly options: readonly MeetPollOption[];
|
|
912
|
+
readonly multiple: boolean;
|
|
913
|
+
readonly anonymous: boolean;
|
|
914
|
+
readonly state: MeetPollState;
|
|
915
|
+
readonly resultsShared: boolean;
|
|
916
|
+
readonly voterCount: number | null;
|
|
917
|
+
/** This viewer's own answer — kept locally, since a room packet cannot know it. */
|
|
918
|
+
readonly myVote: readonly string[];
|
|
919
|
+
readonly createdByName: string;
|
|
920
|
+
readonly createdAt: string | null;
|
|
921
|
+
}
|
|
922
|
+
type MeetQuestionState = "open" | "answered" | "dismissed";
|
|
923
|
+
interface MeetQuestion {
|
|
924
|
+
readonly id: string;
|
|
925
|
+
readonly text: string;
|
|
926
|
+
readonly askerName: string;
|
|
927
|
+
readonly anonymous: boolean;
|
|
928
|
+
readonly state: MeetQuestionState;
|
|
929
|
+
readonly answer: string | null;
|
|
930
|
+
readonly answeredByName: string | null;
|
|
931
|
+
readonly upvotes: number;
|
|
932
|
+
readonly upvotedByMe: boolean;
|
|
933
|
+
readonly mine: boolean;
|
|
934
|
+
readonly createdAt: string | null;
|
|
935
|
+
}
|
|
936
|
+
interface MeetStroke {
|
|
937
|
+
readonly id: string;
|
|
938
|
+
/** Points in the board's own 0..1 space. */
|
|
939
|
+
readonly points: readonly (readonly [number, number])[];
|
|
940
|
+
readonly color: string;
|
|
941
|
+
readonly width: number;
|
|
942
|
+
readonly tool: "pen" | "highlighter";
|
|
943
|
+
readonly by: string;
|
|
944
|
+
readonly byName: string;
|
|
945
|
+
/** True while this browser's stroke has not come back from the server. */
|
|
946
|
+
readonly pending?: boolean | undefined;
|
|
947
|
+
}
|
|
948
|
+
interface MeetBreakoutRoom {
|
|
949
|
+
readonly id: string;
|
|
950
|
+
readonly name: string;
|
|
951
|
+
readonly identities: readonly string[];
|
|
952
|
+
}
|
|
953
|
+
interface MeetBreakoutBroadcast {
|
|
954
|
+
readonly text: string;
|
|
955
|
+
readonly by: string;
|
|
956
|
+
readonly at: string;
|
|
957
|
+
}
|
|
958
|
+
interface MeetBreakoutPlan {
|
|
959
|
+
readonly id: string;
|
|
960
|
+
readonly state: "open" | "closed";
|
|
961
|
+
readonly rooms: readonly MeetBreakoutRoom[];
|
|
962
|
+
readonly allowChoose: boolean;
|
|
963
|
+
readonly minutes: number;
|
|
964
|
+
readonly openedAt: string | null;
|
|
965
|
+
readonly endsAt: string | null;
|
|
966
|
+
readonly closedAt: string | null;
|
|
967
|
+
readonly broadcasts: readonly MeetBreakoutBroadcast[];
|
|
968
|
+
}
|
|
969
|
+
/** The org's knobs for this meeting — which controls EXIST (absent, never dead). */
|
|
970
|
+
interface MeetCollabSettings {
|
|
971
|
+
readonly pollsEnabled: boolean;
|
|
972
|
+
readonly pollMaxOptions: number;
|
|
973
|
+
readonly qaEnabled: boolean;
|
|
974
|
+
readonly qaAnonymousAllowed: boolean;
|
|
975
|
+
readonly whiteboardEnabled: boolean;
|
|
976
|
+
readonly breakoutsEnabled: boolean;
|
|
977
|
+
readonly breakoutMaxRooms: number;
|
|
978
|
+
readonly breakoutDefaultMinutes: number;
|
|
979
|
+
readonly captionTranslationEnabled: boolean;
|
|
980
|
+
/** Empty = the viewer's own language. */
|
|
981
|
+
readonly captionTranslationLanguage: string;
|
|
982
|
+
}
|
|
983
|
+
type CollabPanel = "polls" | "qa" | "whiteboard" | "breakouts";
|
|
984
|
+
interface CollabSnapshot {
|
|
985
|
+
readonly loaded: boolean;
|
|
986
|
+
/** Why the state could not be read, in words — or null. */
|
|
987
|
+
readonly error: string | null;
|
|
988
|
+
readonly settings: MeetCollabSettings | null;
|
|
989
|
+
readonly polls: readonly MeetPoll[];
|
|
990
|
+
readonly questions: readonly MeetQuestion[];
|
|
991
|
+
readonly strokes: readonly MeetStroke[];
|
|
992
|
+
readonly breakout: MeetBreakoutPlan | null;
|
|
993
|
+
/** The newest message a host sent to every breakout room, for the banner. */
|
|
994
|
+
readonly broadcast: MeetBreakoutBroadcast | null;
|
|
995
|
+
/** A host moved THIS person (or everyone came back): where to go. `undefined` = nothing asked. */
|
|
996
|
+
readonly moveRequest: {
|
|
997
|
+
readonly roomId: string | null;
|
|
998
|
+
readonly at: number;
|
|
999
|
+
} | null;
|
|
1000
|
+
/** Something asked a panel to open (a poll launched, a question arrived for a host). */
|
|
1001
|
+
readonly panelRequest: {
|
|
1002
|
+
readonly panel: CollabPanel;
|
|
1003
|
+
readonly at: number;
|
|
1004
|
+
} | null;
|
|
1005
|
+
/** Caption translations for THIS viewer: line id → text, for `captionLanguage`. */
|
|
1006
|
+
readonly captionLanguage: string | null;
|
|
1007
|
+
readonly captionTranslations: Readonly<Record<string, string>>;
|
|
1008
|
+
readonly captionTranslationError: string | null;
|
|
1009
|
+
}
|
|
1010
|
+
declare const EMPTY_COLLAB: CollabSnapshot;
|
|
1011
|
+
type Row$1 = Record<string, unknown>;
|
|
1012
|
+
/** The server's `GET /collab` body → a loaded snapshot (keeps this viewer's caption state). */
|
|
1013
|
+
declare function collabFromState(body: Row$1, previous: CollabSnapshot): CollabSnapshot;
|
|
1014
|
+
/**
|
|
1015
|
+
* Fold one server item into the snapshot. `fromRoom` = it came on the room broadcast,
|
|
1016
|
+
* which cannot know THIS viewer's vote, upvote or authorship — those are kept from what
|
|
1017
|
+
* the viewer's own reads and answers already said.
|
|
1018
|
+
*/
|
|
1019
|
+
declare function withItem(collab: CollabSnapshot, row: Row$1, fromRoom?: boolean): CollabSnapshot;
|
|
1020
|
+
interface CollabPacketContext {
|
|
1021
|
+
readonly localIdentity: ParticipantIdentity | null;
|
|
1022
|
+
/** Hosts and co-hosts receive a second, fuller packet; they ignore the room copy. */
|
|
1023
|
+
readonly isHost: boolean;
|
|
1024
|
+
readonly now: number;
|
|
1025
|
+
}
|
|
1026
|
+
/**
|
|
1027
|
+
* One `matrx.meet.collab` packet → the next snapshot, or `null` when it must be dropped
|
|
1028
|
+
* (with the reason in `dropped`). Pure; the room-event dispatcher patches the store.
|
|
1029
|
+
*/
|
|
1030
|
+
declare function applyCollabPacket(collab: CollabSnapshot, payload: Row$1, context: CollabPacketContext): {
|
|
1031
|
+
next: CollabSnapshot | null;
|
|
1032
|
+
dropped?: string;
|
|
1033
|
+
};
|
|
1034
|
+
/** The breakout room a person is assigned to, or null. */
|
|
1035
|
+
declare function assignedRoom(plan: MeetBreakoutPlan | null, identity: string | null): MeetBreakoutRoom | null;
|
|
1036
|
+
/**
|
|
1037
|
+
* Split people into `rooms` rooms, round-robin in the order given — Zoom's "assign
|
|
1038
|
+
* automatically". Hosts are left out (they visit); pass them in `exclude`.
|
|
1039
|
+
*/
|
|
1040
|
+
declare function autoAssign(identities: readonly string[], rooms: number, exclude?: readonly string[]): string[][];
|
|
1041
|
+
/** Milliseconds until the plan's timer ends, or null when it has none. */
|
|
1042
|
+
declare function breakoutRemainingMs(plan: MeetBreakoutPlan | null, now: number): number | null;
|
|
1043
|
+
/** The language translated captions start in: the knob, else the viewer's own. */
|
|
1044
|
+
declare function defaultCaptionLanguage(settings: MeetCollabSettings | null, viewerLanguage: string | null | undefined): string;
|
|
1045
|
+
/** Languages offered in the captions menu (tags the translator understands). */
|
|
1046
|
+
declare const CAPTION_LANGUAGES: readonly {
|
|
1047
|
+
readonly tag: string;
|
|
1048
|
+
readonly name: string;
|
|
1049
|
+
}[];
|
|
1050
|
+
interface MeetingActivities {
|
|
1051
|
+
/** Polls (with results), questions, whiteboard strokes — or null when refused. */
|
|
1052
|
+
readonly collab: CollabSnapshot | null;
|
|
1053
|
+
readonly refusal: {
|
|
1054
|
+
readonly message: string;
|
|
1055
|
+
readonly remedy: string;
|
|
1056
|
+
} | null;
|
|
1057
|
+
}
|
|
1058
|
+
/**
|
|
1059
|
+
* THE MEETING'S POLLS, Q&A AND WHITEBOARD, AFTER IT (Meet wave 5) — for the record page.
|
|
1060
|
+
* The same `GET /v1/meet/collab` the room reads on join; a refusal is returned as data,
|
|
1061
|
+
* so the record still renders everything else.
|
|
1062
|
+
*/
|
|
1063
|
+
declare function loadMeetingActivities(api: MeetApi, meetingId: string, roomToken?: string | null): Promise<MeetingActivities>;
|
|
1064
|
+
|
|
864
1065
|
/**
|
|
865
1066
|
* THE ROOM SNAPSHOT — one immutable object the UI renders and nothing else.
|
|
866
1067
|
*
|
|
@@ -1044,6 +1245,13 @@ interface MeetSnapshot {
|
|
|
1044
1245
|
readonly message: string;
|
|
1045
1246
|
readonly remedy: string;
|
|
1046
1247
|
} | null;
|
|
1248
|
+
/**
|
|
1249
|
+
* Meet wave 5: polls, Q&A, the shared whiteboard and the breakout plan — what the
|
|
1250
|
+
* server said, per viewer (`core/collab.ts`). Read once per join, then packets.
|
|
1251
|
+
*/
|
|
1252
|
+
readonly collab: CollabSnapshot;
|
|
1253
|
+
/** The breakout room THIS participant is in, or null for the main room. */
|
|
1254
|
+
readonly breakoutRoomId: string | null;
|
|
1047
1255
|
}
|
|
1048
1256
|
/** Reactions live this long. A dropped end event cannot outlive it. */
|
|
1049
1257
|
declare const REACTION_TTL_MS = 5000;
|
|
@@ -1795,6 +2003,13 @@ declare const ROOM_EVENTS: {
|
|
|
1795
2003
|
* role}` — to everyone.
|
|
1796
2004
|
*/
|
|
1797
2005
|
readonly moderation: "matrx.meet.moderation";
|
|
2006
|
+
/**
|
|
2007
|
+
* A meeting ROOM ITEM changed (Meet wave 5): a poll, a Q&A question, a whiteboard
|
|
2008
|
+
* stroke or the breakout plan. Payload `{ meeting_id, item }` · `{ removed: [ids] }` ·
|
|
2009
|
+
* `{ hidden: [ids] }` · `{ cleared: "whiteboard" }` · `{ broadcast }` · `{ item, move }`.
|
|
2010
|
+
* A host's fuller copy of a poll or question carries `audience: "hosts"`.
|
|
2011
|
+
*/
|
|
2012
|
+
readonly collab: "matrx.meet.collab";
|
|
1798
2013
|
};
|
|
1799
2014
|
type RoomEventTopic = (typeof ROOM_EVENTS)[keyof typeof ROOM_EVENTS];
|
|
1800
2015
|
declare function isRoomEventTopic(topic: string): boolean;
|
|
@@ -2489,6 +2704,12 @@ interface RoomToken {
|
|
|
2489
2704
|
readonly role: ParticipantRole;
|
|
2490
2705
|
/** True when the server put this joiner in the lobby (D6). */
|
|
2491
2706
|
readonly lobby: boolean;
|
|
2707
|
+
/**
|
|
2708
|
+
* Meet wave 5: the breakout room this pass is for, or null for the main room. The
|
|
2709
|
+
* pass is still keyed by the MEETING's room name — it is this person's pass for the
|
|
2710
|
+
* meeting, and the server accepts a breakout pass wherever the meeting's is asked.
|
|
2711
|
+
*/
|
|
2712
|
+
readonly breakoutRoomId?: string | null | undefined;
|
|
2492
2713
|
}
|
|
2493
2714
|
|
|
2494
2715
|
interface TokenClientOptions {
|
|
@@ -2533,6 +2754,8 @@ interface TokenRequest {
|
|
|
2533
2754
|
readonly meetingId?: string | undefined;
|
|
2534
2755
|
/** The public meeting slug, when joining by link without knowing the id. */
|
|
2535
2756
|
readonly slug?: string | undefined;
|
|
2757
|
+
/** Meet wave 5: a breakout room of this meeting; absent = the main room. */
|
|
2758
|
+
readonly breakoutRoomId?: string | null | undefined;
|
|
2536
2759
|
}
|
|
2537
2760
|
interface TokenClient {
|
|
2538
2761
|
/** A currently-valid token, minting or refreshing only when it must. */
|
|
@@ -2608,6 +2831,13 @@ declare const MEET_ROUTES: {
|
|
|
2608
2831
|
readonly moderate: "/api/v1/meet/moderate";
|
|
2609
2832
|
/** Meet wave 2: the SAVED chat — `POST` sends to everyone, `GET ?meeting_id=` reads history. */
|
|
2610
2833
|
readonly chat: "/api/v1/meet/chat";
|
|
2834
|
+
/**
|
|
2835
|
+
* Meet wave 5: polls, Q&A, the shared whiteboard and breakout rooms. `POST` acts
|
|
2836
|
+
* (`{meeting_id, action, …}`), `GET ?meeting_id=` reads what this viewer may see.
|
|
2837
|
+
*/
|
|
2838
|
+
readonly collab: "/api/v1/meet/collab";
|
|
2839
|
+
/** Meet wave 5: translate finished caption lines into this viewer's language. */
|
|
2840
|
+
readonly captionsTranslate: "/api/v1/meet/captions/translate";
|
|
2611
2841
|
};
|
|
2612
2842
|
/** A `MEET_ROUTES` template with its `{meeting_id}` filled in, URL-encoded. */
|
|
2613
2843
|
declare function meetingPath(template: string, meetingId: string): string;
|
|
@@ -3129,6 +3359,8 @@ interface JoinRequest {
|
|
|
3129
3359
|
* device lands in `snapshot.media.microphone.unavailable`, not in a throw.
|
|
3130
3360
|
*/
|
|
3131
3361
|
readonly microphone?: boolean | undefined;
|
|
3362
|
+
/** Meet wave 5: a breakout room of this meeting; absent/null = the main room. */
|
|
3363
|
+
readonly breakoutRoomId?: string | null | undefined;
|
|
3132
3364
|
}
|
|
3133
3365
|
interface RoomEngineOptions {
|
|
3134
3366
|
store: MeetStore;
|
|
@@ -3168,6 +3400,12 @@ interface RoomEngine {
|
|
|
3168
3400
|
* once you are admitted" — is a lie, and the guest waits forever.
|
|
3169
3401
|
*/
|
|
3170
3402
|
rejoin(): Promise<void>;
|
|
3403
|
+
/**
|
|
3404
|
+
* Meet wave 5: go to a breakout room (`null` = back to the main room). The server
|
|
3405
|
+
* mints the pass (`/token` with `breakout_room_id`) and refuses a room the plan does
|
|
3406
|
+
* not allow; the move is a reconnect that never reads as leaving the meeting.
|
|
3407
|
+
*/
|
|
3408
|
+
moveToBreakout(roomId: string | null): Promise<void>;
|
|
3171
3409
|
leave(): Promise<void>;
|
|
3172
3410
|
setMicrophoneEnabled(enabled: boolean): Promise<void>;
|
|
3173
3411
|
setCameraEnabled(enabled: boolean): Promise<void>;
|
|
@@ -3275,6 +3513,59 @@ interface InRoomClient {
|
|
|
3275
3513
|
sendChat(text: string): Promise<void>;
|
|
3276
3514
|
/** Read the saved chat once per join, so a late joiner sees what was said. */
|
|
3277
3515
|
loadChat(): Promise<void>;
|
|
3516
|
+
/**
|
|
3517
|
+
* Meet wave 5: read the polls, questions, whiteboard and breakout plan this viewer
|
|
3518
|
+
* may see, once per join. A refusal is written to `collab.error`, never thrown away.
|
|
3519
|
+
*/
|
|
3520
|
+
loadCollab(): Promise<void>;
|
|
3521
|
+
/**
|
|
3522
|
+
* Meet wave 5: one poll / Q&A / whiteboard / breakout action. The server's answer is
|
|
3523
|
+
* folded into the store at once (the room packet that follows is the same item).
|
|
3524
|
+
* Returns the server's sentence; throws a `MeetError` with the server's words.
|
|
3525
|
+
*/
|
|
3526
|
+
collab(request: CollabRequest): Promise<CollabResult>;
|
|
3527
|
+
/**
|
|
3528
|
+
* Meet wave 5: translate finished caption lines into `language` for this viewer.
|
|
3529
|
+
* Results land in `collab.captionTranslations`; a refusal in `captionTranslationError`.
|
|
3530
|
+
*/
|
|
3531
|
+
translateCaptions(language: string, lines: readonly {
|
|
3532
|
+
id: string;
|
|
3533
|
+
text: string;
|
|
3534
|
+
}[]): Promise<void>;
|
|
3535
|
+
}
|
|
3536
|
+
/** Every room-item action the server performs. One vocabulary with `services/meet/collab.py`. */
|
|
3537
|
+
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";
|
|
3538
|
+
interface CollabRequest {
|
|
3539
|
+
readonly action: CollabAction;
|
|
3540
|
+
readonly itemId?: string | undefined;
|
|
3541
|
+
readonly question?: string | undefined;
|
|
3542
|
+
readonly options?: readonly string[] | undefined;
|
|
3543
|
+
readonly multiple?: boolean | undefined;
|
|
3544
|
+
readonly anonymous?: boolean | undefined;
|
|
3545
|
+
readonly optionIds?: readonly string[] | undefined;
|
|
3546
|
+
readonly text?: string | undefined;
|
|
3547
|
+
readonly stroke?: {
|
|
3548
|
+
readonly points: readonly (readonly [number, number])[];
|
|
3549
|
+
readonly color: string;
|
|
3550
|
+
readonly width: number;
|
|
3551
|
+
readonly tool: "pen" | "highlighter";
|
|
3552
|
+
} | undefined;
|
|
3553
|
+
readonly rooms?: readonly {
|
|
3554
|
+
readonly name: string;
|
|
3555
|
+
readonly identities: readonly string[];
|
|
3556
|
+
}[] | undefined;
|
|
3557
|
+
readonly allowChoose?: boolean | undefined;
|
|
3558
|
+
readonly minutes?: number | undefined;
|
|
3559
|
+
readonly identity?: string | undefined;
|
|
3560
|
+
/** `null` = the main room (breakout_join / breakout_move). */
|
|
3561
|
+
readonly roomId?: string | null | undefined;
|
|
3562
|
+
}
|
|
3563
|
+
interface CollabResult {
|
|
3564
|
+
readonly action: CollabAction;
|
|
3565
|
+
readonly message: string;
|
|
3566
|
+
readonly removed: readonly string[];
|
|
3567
|
+
/** The id of the item the server returned (a created poll, a new question), or null. */
|
|
3568
|
+
readonly itemId: string | null;
|
|
3278
3569
|
}
|
|
3279
3570
|
interface InRoomClientOptions {
|
|
3280
3571
|
api: MeetApi;
|
|
@@ -3285,4 +3576,4 @@ interface InRoomClientOptions {
|
|
|
3285
3576
|
}
|
|
3286
3577
|
declare function createInRoomClient(options: InRoomClientOptions): InRoomClient;
|
|
3287
3578
|
|
|
3288
|
-
export { ATTENDANCE_CSV_HEADER, type AccessTokenSource, type 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, type CallId, type CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, type CallMode, type CallState, type CallablePerson, type 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, FILE_SESSION_PATH, 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, type InviteeInput, type InviteeRole, type JoinRequest, type JsonObject, type JsonValue, LISTEN_ONLY_NOTICE, type LibraryRecording, type LiveKitDriverOptions, type LobbyEntry, type LocalMediaState, type LocalTrackState, MEETING_INVITE_KIND, MEETING_INVITE_VERSION, MEET_ANSWER_CONTEXT_EVENT, MEET_ANSWER_EVENTS, MEET_EVENTS, MEET_ROUTES, MEET_SCHEMA, MODERATION_ACTIONS, type MediaDevicesLike, type MediaEffects, type MediaUnavailable, type MeetAi, type MeetAiAnswer, type MeetAiOptions, type MeetAnswerCoverage, type MeetApi, type MeetApiOptions, type MeetApiRequest, type MeetDevice, MeetError, type MeetErrorCode, type MeetEvent, type MeetFileMedia, type MeetGrants, type MeetIdentity, type MeetParticipant, type MeetRepository, type MeetRoomDriver, type MeetSnapshot, type MeetStore, type MeetingAttendee, type MeetingChanges, type MeetingChatHistory, type MeetingId, type MeetingInviteHandlerOptions, type MeetingInvitePayload, type MeetingInvitee, type MeetingKind, type MeetingNote, type MeetingNoteKind, type MeetingOccurrence, type MeetingRecord, type MeetingRecordBundle, type MeetingRecordRestriction, type MeetingRecordRestrictionNotice, type MeetingSearchHit, type MeetingSearchSource, type MeetingSession, type MeetingSessionOptions, type 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, type NoteTakerState, type NoteTakerStatus, ORGANIZATION_HEADER, type OccurrenceOverride, type OccurrenceState, type OrganizationId, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, type ParticipantIdentity, type ParticipantRole, REACTION_TTL_MS, REFUSED_ABSENCE, ROLE_RANK, ROOM_EVENTS, ROOM_EVENT_PREFIX, ROOM_TOKEN_HEADER, RPCS, type RecordingController, type RecordingControllerOptions, type RecordingPolicy, type RecordingRecord, type RecordingState, type RepositoryOptions, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, type RoomName, type RoomPhase, type RoomReaction, type RoomToken, type RoomTokenStorage, type RsvpAnswer, type RsvpInvitation, type RsvpState, type ScheduleMeetingInput, type Stage, type StageArgs, type StageLayout, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, type TokenClient, type TokenClientOptions, type TokenRequest, type TranscriptBlock, type TranscriptFormat, type TranscriptMatch, type TranscriptSegment, type TranscriptSource, type UpcomingOccurrence, type UserId, type VideoEffect, type WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, announceMeeting, applyRoomEvent, asCallId, asMeetingId, asOrganizationId, asParticipantIdentity, asRoomName, asUserId, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, clockPosition, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetApi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, fileDownloadPath, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuest, isGuestIdentity, isHostRole, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, notesDocument, orderParticipants, parseRoomToken, participantSummary, playableRecordingFileId, projectInvitee, projectLibraryRecording, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSearchHit, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, recordingOffsetMs, roleOf, roomTopic, searchTranscript, sendFollowUp, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, summarizeMeetingRecordRestrictions, transcriptDocument, unavailableFrom, uniqueAttendees, userTopic, wasRefused, wrapUpStatus };
|
|
3579
|
+
export { ATTENDANCE_CSV_HEADER, type AccessTokenSource, type AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, type AttendanceKind, type AttendanceRow, type AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CAPTION_LANGUAGES, CONSENT_NOTICE_ATTRIBUTE, type CallCenter, type CallCenterOptions, type CallId, type CallInvite, type CallInviteHandlerOptions, type CallInvitePayload, type CallMode, type CallState, type CallablePerson, type CollabAction, type CollabPanel, type CollabRequest, type CollabResult, type CollabSnapshot, type 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, EMPTY_COLLAB, END_MEETING_NOT_SERVED, type EffectsStorage, type EndMeetingResult, FILE_SESSION_PATH, 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, type InviteeInput, type InviteeRole, type JoinRequest, type JsonObject, type JsonValue, LISTEN_ONLY_NOTICE, type LibraryRecording, type LiveKitDriverOptions, type LobbyEntry, type LocalMediaState, type LocalTrackState, MEETING_INVITE_KIND, MEETING_INVITE_VERSION, MEET_ANSWER_CONTEXT_EVENT, MEET_ANSWER_EVENTS, MEET_EVENTS, MEET_ROUTES, MEET_SCHEMA, MODERATION_ACTIONS, type MediaDevicesLike, type MediaEffects, type MediaUnavailable, type MeetAi, type MeetAiAnswer, type MeetAiOptions, type MeetAnswerCoverage, type MeetApi, type MeetApiOptions, type MeetApiRequest, type MeetBreakoutBroadcast, type MeetBreakoutPlan, type MeetBreakoutRoom, type MeetCollabSettings, type MeetDevice, MeetError, type MeetErrorCode, type MeetEvent, type MeetFileMedia, type MeetGrants, type MeetIdentity, type MeetParticipant, type MeetPoll, type MeetPollOption, type MeetPollState, type MeetQuestion, type MeetQuestionState, type MeetRepository, type MeetRoomDriver, type MeetSnapshot, type MeetStore, type MeetStroke, type MeetingActivities, type MeetingAttendee, type MeetingChanges, type MeetingChatHistory, type MeetingId, type MeetingInviteHandlerOptions, type MeetingInvitePayload, type MeetingInvitee, type MeetingKind, type MeetingNote, type MeetingNoteKind, type MeetingOccurrence, type MeetingRecord, type MeetingRecordBundle, type MeetingRecordRestriction, type MeetingRecordRestrictionNotice, type MeetingSearchHit, type MeetingSearchSource, type MeetingSession, type MeetingSessionOptions, type 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, type NoteTakerState, type NoteTakerStatus, ORGANIZATION_HEADER, type OccurrenceOverride, type OccurrenceState, type OrganizationId, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, type ParticipantIdentity, type ParticipantRole, REACTION_TTL_MS, REFUSED_ABSENCE, ROLE_RANK, ROOM_EVENTS, ROOM_EVENT_PREFIX, ROOM_TOKEN_HEADER, RPCS, type RecordingController, type RecordingControllerOptions, type RecordingPolicy, type RecordingRecord, type RecordingState, type RepositoryOptions, type RoomChatMessage, type RoomDriverFactory, type RoomDriverHandlers, type RoomEngine, type RoomEngineOptions, type RoomEventOutcome, type RoomEventTopic, type RoomName, type RoomPhase, type RoomReaction, type RoomToken, type RoomTokenStorage, type RsvpAnswer, type RsvpInvitation, type RsvpState, type ScheduleMeetingInput, type Stage, type StageArgs, type StageLayout, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, type TokenClient, type TokenClientOptions, type TokenRequest, type TranscriptBlock, type TranscriptFormat, type TranscriptMatch, type TranscriptSegment, type TranscriptSource, type UpcomingOccurrence, type UserId, type VideoEffect, type WrapUpAnnouncement, type WrapUpStatus, absenceSentence, activeWrapUpSummary, announceMeeting, applyCollabPacket, applyRoomEvent, asCallId, asMeetingId, asOrganizationId, asParticipantIdentity, asRoomName, asUserId, assignedRoom, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, autoAssign, breakoutRemainingMs, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, clockPosition, collabFromState, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetApi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, defaultCaptionLanguage, displayNameFor, fileDownloadPath, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuest, isGuestIdentity, isHostRole, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingActivities, loadMeetingChat, loadMeetingRecord, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, notesDocument, orderParticipants, parseRoomToken, participantSummary, playableRecordingFileId, projectInvitee, projectLibraryRecording, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSearchHit, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, recordingOffsetMs, roleOf, roomTopic, searchTranscript, sendFollowUp, setGuestRecordAccess, settingsPatch, snapshotParticipant, snippetRuns, summarizeMeetingRecordRestrictions, transcriptDocument, unavailableFrom, uniqueAttendees, userTopic, wasRefused, withItem, wrapUpStatus };
|