@ai-matrx/meet 0.7.1 → 0.7.3
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 +30 -0
- package/dist/index.cjs +471 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +268 -3
- package/dist/index.d.ts +268 -3
- package/dist/index.js +471 -37
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +474 -40
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.js +474 -40
- package/dist/react.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.cts
CHANGED
|
@@ -151,7 +151,135 @@ interface MeetingRecord {
|
|
|
151
151
|
readonly recordingPolicy: RecordingPolicy;
|
|
152
152
|
readonly aiEnabled: boolean;
|
|
153
153
|
readonly metadata: JsonObject;
|
|
154
|
-
|
|
154
|
+
/** IANA zone the meeting's wall-clock time is authored in (`America/Los_Angeles`). */
|
|
155
|
+
readonly timeZone?: string;
|
|
156
|
+
/** Description / agenda text. */
|
|
157
|
+
readonly agenda?: string | null;
|
|
158
|
+
/** RFC 5545 RRULE subset — one row and one durable link per series. */
|
|
159
|
+
readonly recurrenceRule?: string | null;
|
|
160
|
+
/** Signed-in members and invitees may enter before a host arrives. */
|
|
161
|
+
readonly joinBeforeHost?: boolean;
|
|
162
|
+
/** Cancel is a STATE: the link still resolves and says so; nobody can join. */
|
|
163
|
+
readonly cancelledAt?: string | null;
|
|
164
|
+
readonly cancellationReason?: string | null;
|
|
165
|
+
/** Archived (soft deleted). Restorable by the host or a co-host. */
|
|
166
|
+
readonly deletedAt?: string | null;
|
|
167
|
+
/** iCalendar SEQUENCE — bumped by the database on every reschedule and on cancel. */
|
|
168
|
+
readonly calendarSequence?: number;
|
|
169
|
+
/** Row version, for the compare-and-swap in `updateMeeting`. */
|
|
170
|
+
readonly version?: number;
|
|
171
|
+
}
|
|
172
|
+
/** An invitee's answer. `needs_action` = not answered yet (iCalendar NEEDS-ACTION). */
|
|
173
|
+
type RsvpState = "needs_action" | "accepted" | "declined" | "tentative";
|
|
174
|
+
/** The answers a person can give. */
|
|
175
|
+
type RsvpAnswer = Exclude<RsvpState, "needs_action">;
|
|
176
|
+
/** A co-host holds host moderation through a real `iam` admin grant on the meeting. */
|
|
177
|
+
type InviteeRole = "invitee" | "cohost";
|
|
178
|
+
/** One person a meeting was sent to (`communication.meet_invitees`). */
|
|
179
|
+
interface MeetingInvitee {
|
|
180
|
+
readonly id: string;
|
|
181
|
+
readonly meetingId: MeetingId;
|
|
182
|
+
/** Set when the person has an account — they skip the waiting room and answer in-app. */
|
|
183
|
+
readonly userId: UserId | null;
|
|
184
|
+
readonly email: string | null;
|
|
185
|
+
readonly displayName: string | null;
|
|
186
|
+
readonly role: InviteeRole;
|
|
187
|
+
readonly rsvpState: RsvpState;
|
|
188
|
+
readonly respondedAt: string | null;
|
|
189
|
+
readonly rsvpNote: string | null;
|
|
190
|
+
/** The calendar_sequence of the last invitation they were sent; null = never told. */
|
|
191
|
+
readonly lastSentSequence: number | null;
|
|
192
|
+
readonly lastSentAt: string | null;
|
|
193
|
+
}
|
|
194
|
+
/** Who to invite: an account (`userId`) or an address (`email`), or both. */
|
|
195
|
+
interface InviteeInput {
|
|
196
|
+
readonly userId?: UserId | undefined;
|
|
197
|
+
readonly email?: string | undefined;
|
|
198
|
+
readonly displayName?: string | undefined;
|
|
199
|
+
/** Omit to keep an existing invitee's role; `cohost` needs the host or a co-host. */
|
|
200
|
+
readonly role?: InviteeRole | undefined;
|
|
201
|
+
}
|
|
202
|
+
/** Where one occurrence of a meeting stands. */
|
|
203
|
+
type OccurrenceState = "scheduled" | "moved" | "cancelled";
|
|
204
|
+
/** One occurrence — for a one-off meeting, the meeting itself. */
|
|
205
|
+
interface MeetingOccurrence {
|
|
206
|
+
readonly meetingId: MeetingId;
|
|
207
|
+
/** The start the rule generates (iCalendar RECURRENCE-ID). The key for exceptions. */
|
|
208
|
+
readonly originalStart: string;
|
|
209
|
+
/** When it actually happens (differs from `originalStart` only when `moved`). */
|
|
210
|
+
readonly occurrenceStart: string;
|
|
211
|
+
readonly durationMinutes: number | null;
|
|
212
|
+
readonly state: OccurrenceState;
|
|
213
|
+
readonly sequence: number;
|
|
214
|
+
}
|
|
215
|
+
/** One row of the Upcoming list — an occurrence plus what the list shows about its meeting. */
|
|
216
|
+
interface UpcomingOccurrence extends MeetingOccurrence {
|
|
217
|
+
readonly organizationId: OrganizationId;
|
|
218
|
+
readonly title: string;
|
|
219
|
+
readonly slug: string;
|
|
220
|
+
readonly kind: MeetingKind;
|
|
221
|
+
readonly hostUserId: UserId;
|
|
222
|
+
readonly timeZone: string;
|
|
223
|
+
readonly meetingCancelled: boolean;
|
|
224
|
+
/** The signed-in reader's own answer, when they are an invitee. */
|
|
225
|
+
readonly myRsvp: RsvpState | null;
|
|
226
|
+
/** `host`, `cohost` or `invitee` — null when the reader simply can see it (org member). */
|
|
227
|
+
readonly myRole: "host" | InviteeRole | null;
|
|
228
|
+
}
|
|
229
|
+
/** An exception row (`communication.meet_occurrence_overrides`). */
|
|
230
|
+
interface OccurrenceOverride {
|
|
231
|
+
readonly id: string;
|
|
232
|
+
readonly meetingId: MeetingId;
|
|
233
|
+
readonly originalStart: string;
|
|
234
|
+
readonly state: "cancelled" | "moved";
|
|
235
|
+
readonly newStart: string | null;
|
|
236
|
+
readonly newDurationMinutes: number | null;
|
|
237
|
+
readonly reason: string | null;
|
|
238
|
+
readonly calendarSequence: number;
|
|
239
|
+
/** Set when the exception was withdrawn (`restore`) and the occurrence is back on schedule. */
|
|
240
|
+
readonly deletedAt: string | null;
|
|
241
|
+
}
|
|
242
|
+
/** Settings a meeting carries; unset ones come from the person's / organization's knobs. */
|
|
243
|
+
interface MeetingSettings {
|
|
244
|
+
readonly lobbyEnabled?: boolean | undefined;
|
|
245
|
+
readonly recordingPolicy?: RecordingPolicy | undefined;
|
|
246
|
+
readonly aiEnabled?: boolean | undefined;
|
|
247
|
+
readonly joinBeforeHost?: boolean | undefined;
|
|
248
|
+
}
|
|
249
|
+
/** A partial edit. `null` clears a clearable field (agenda, recurrence rule, time). */
|
|
250
|
+
interface MeetingChanges extends MeetingSettings {
|
|
251
|
+
readonly title?: string | undefined;
|
|
252
|
+
readonly agenda?: string | null | undefined;
|
|
253
|
+
readonly timeZone?: string | undefined;
|
|
254
|
+
readonly scheduledFor?: string | null | undefined;
|
|
255
|
+
readonly scheduledDurationMinutes?: number | null | undefined;
|
|
256
|
+
readonly recurrenceRule?: string | null | undefined;
|
|
257
|
+
}
|
|
258
|
+
/** What the emailed RSVP link shows and answers (no account needed). */
|
|
259
|
+
type RsvpInvitation = {
|
|
260
|
+
readonly ok: true;
|
|
261
|
+
readonly meeting: {
|
|
262
|
+
readonly title: string;
|
|
263
|
+
readonly slug: string;
|
|
264
|
+
readonly scheduledFor: string | null;
|
|
265
|
+
readonly durationMinutes: number | null;
|
|
266
|
+
readonly timeZone: string;
|
|
267
|
+
readonly agenda: string | null;
|
|
268
|
+
readonly recurrenceRule: string | null;
|
|
269
|
+
readonly cancelledAt: string | null;
|
|
270
|
+
readonly cancellationReason: string | null;
|
|
271
|
+
readonly endedAt: string | null;
|
|
272
|
+
};
|
|
273
|
+
readonly invitee: {
|
|
274
|
+
readonly displayName: string | null;
|
|
275
|
+
readonly email: string | null;
|
|
276
|
+
readonly rsvpState: RsvpState;
|
|
277
|
+
readonly respondedAt: string | null;
|
|
278
|
+
};
|
|
279
|
+
} | {
|
|
280
|
+
readonly ok: false;
|
|
281
|
+
readonly message: string;
|
|
282
|
+
};
|
|
155
283
|
/** Org-configurable, never hardcoded taste (Law 6 / "opinions become knobs"). */
|
|
156
284
|
type RecordingPolicy = "disabled" | "host-controlled" | "always-on";
|
|
157
285
|
type RecordingState = "idle" | "starting" | "recording" | "stopping" | "processing" | "available"
|
|
@@ -549,7 +677,9 @@ declare function displayNameFor(book: NameBook, identity: ParticipantIdentity |
|
|
|
549
677
|
* "media-error" would make the UI say the wrong sentence three times out of
|
|
550
678
|
* four.
|
|
551
679
|
*/
|
|
552
|
-
type MeetErrorCode = "session-unavailable" | "forbidden" | "not-found" | "conflict" | "token" | "transport" | "invalid-response" | "misconfigured" | "permission-denied" | "device-not-found" | "device-in-use" | "insecure-context" | "media-unsupported" | "room-locked" | "lobby-denied" | "capacity"
|
|
680
|
+
type MeetErrorCode = "session-unavailable" | "forbidden" | "not-found" | "conflict" | "token" | "transport" | "invalid-response" | "misconfigured" | "permission-denied" | "device-not-found" | "device-in-use" | "insecure-context" | "media-unsupported" | "room-locked" | "lobby-denied" | "capacity"
|
|
681
|
+
/** Meet wave 1: the meeting was cancelled — its link resolves, its room never opens. */
|
|
682
|
+
| "cancelled" | "unknown";
|
|
553
683
|
declare class MeetError extends Error {
|
|
554
684
|
readonly code: MeetErrorCode;
|
|
555
685
|
/** What to DO. Rendered to the user for the device codes. */
|
|
@@ -1105,6 +1235,10 @@ declare const TABLES: {
|
|
|
1105
1235
|
readonly recordings: "meet_recordings";
|
|
1106
1236
|
readonly transcripts: "meet_transcript_segments";
|
|
1107
1237
|
readonly notes: "meet_notes";
|
|
1238
|
+
/** Wave 1 (0.8): who a meeting was sent to, and what they answered. */
|
|
1239
|
+
readonly invitees: "meet_invitees";
|
|
1240
|
+
/** Wave 1 (0.8): one occurrence of a series cancelled or moved. */
|
|
1241
|
+
readonly occurrenceOverrides: "meet_occurrence_overrides";
|
|
1108
1242
|
};
|
|
1109
1243
|
declare const RPCS: {
|
|
1110
1244
|
/** Atomic: create the invite row and stamp its expiry in one statement. */
|
|
@@ -1121,6 +1255,29 @@ declare const RPCS: {
|
|
|
1121
1255
|
readonly setLock: "meet_set_lock";
|
|
1122
1256
|
readonly endMeeting: "meet_end_meeting";
|
|
1123
1257
|
readonly recordConsent: "meet_record_consent";
|
|
1258
|
+
/** Schedule with every setting at create; unset settings come from the knobs. */
|
|
1259
|
+
readonly scheduleMeeting: "meet_schedule_meeting";
|
|
1260
|
+
/** Edit / reschedule — a JSON patch with a version compare-and-swap. */
|
|
1261
|
+
readonly updateMeeting: "meet_update_meeting";
|
|
1262
|
+
/** Cancel is a state (`cancelled_at`); the link keeps resolving. */
|
|
1263
|
+
readonly cancelMeeting: "meet_cancel_meeting";
|
|
1264
|
+
/** Archive (soft delete) — the invitations and exceptions cascade. */
|
|
1265
|
+
readonly archiveMeeting: "meet_archive_meeting";
|
|
1266
|
+
readonly restoreMeeting: "meet_restore_meeting";
|
|
1267
|
+
/** Cancel, move or restore ONE occurrence of a series by its original start. */
|
|
1268
|
+
readonly setOccurrence: "meet_set_occurrence";
|
|
1269
|
+
readonly addInvitees: "meet_add_invitees";
|
|
1270
|
+
readonly setInviteeRole: "meet_set_invitee_role";
|
|
1271
|
+
readonly removeInvitee: "meet_remove_invitee";
|
|
1272
|
+
/** A signed-in invitee answers for themselves. */
|
|
1273
|
+
readonly respond: "meet_respond";
|
|
1274
|
+
/** The emailed RSVP link (no account): read and answer. */
|
|
1275
|
+
readonly invitationByToken: "meet_invitation_by_token";
|
|
1276
|
+
readonly respondByToken: "meet_respond_by_token";
|
|
1277
|
+
/** One meeting's occurrences between two instants (INVOKER — the reader's RLS). */
|
|
1278
|
+
readonly meetingOccurrences: "meet_meeting_occurrences";
|
|
1279
|
+
/** Every occurrence the reader can see between two instants — the Upcoming list. */
|
|
1280
|
+
readonly occurrencesBetween: "meet_occurrences_between";
|
|
1124
1281
|
};
|
|
1125
1282
|
type Row = Record<string, unknown>;
|
|
1126
1283
|
interface CreateCallInviteInput {
|
|
@@ -1207,6 +1364,58 @@ interface MeetRepository {
|
|
|
1207
1364
|
acknowledgedAt: string;
|
|
1208
1365
|
}): Promise<void>;
|
|
1209
1366
|
recordings(meetingId: MeetingId): Promise<readonly RecordingRecord[]>;
|
|
1367
|
+
scheduleMeeting(input: ScheduleMeetingInput): Promise<MeetingRecord>;
|
|
1368
|
+
/** `expectedVersion` from the row you edited; a stale one is a `conflict`. */
|
|
1369
|
+
updateMeeting(meetingId: MeetingId, changes: MeetingChanges, options?: {
|
|
1370
|
+
expectedVersion?: number | null;
|
|
1371
|
+
byUserId?: UserId | null;
|
|
1372
|
+
}): Promise<MeetingRecord>;
|
|
1373
|
+
cancelMeeting(meetingId: MeetingId, reason: string | null, byUserId?: UserId | null): Promise<MeetingRecord>;
|
|
1374
|
+
archiveMeeting(meetingId: MeetingId, byUserId?: UserId | null): Promise<MeetingRecord>;
|
|
1375
|
+
restoreMeeting(meetingId: MeetingId, byUserId?: UserId | null): Promise<MeetingRecord>;
|
|
1376
|
+
setOccurrence(args: {
|
|
1377
|
+
meetingId: MeetingId;
|
|
1378
|
+
originalStart: string;
|
|
1379
|
+
action: "cancel" | "move" | "restore";
|
|
1380
|
+
newStart?: string | null;
|
|
1381
|
+
newDurationMinutes?: number | null;
|
|
1382
|
+
reason?: string | null;
|
|
1383
|
+
byUserId?: UserId | null;
|
|
1384
|
+
}): Promise<OccurrenceOverride>;
|
|
1385
|
+
meetingOccurrences(meetingId: MeetingId, range: {
|
|
1386
|
+
from: string;
|
|
1387
|
+
to: string;
|
|
1388
|
+
limit?: number;
|
|
1389
|
+
}): Promise<readonly MeetingOccurrence[]>;
|
|
1390
|
+
/** The Upcoming list: every occurrence the reader may see. `organizationId` FILTERS; RLS decides. */
|
|
1391
|
+
occurrencesBetween(range: {
|
|
1392
|
+
from: string;
|
|
1393
|
+
to: string;
|
|
1394
|
+
organizationId?: OrganizationId | null;
|
|
1395
|
+
limit?: number;
|
|
1396
|
+
}): Promise<readonly UpcomingOccurrence[]>;
|
|
1397
|
+
invitees(meetingId: MeetingId): Promise<readonly MeetingInvitee[]>;
|
|
1398
|
+
addInvitees(meetingId: MeetingId, people: readonly InviteeInput[], byUserId?: UserId | null): Promise<readonly MeetingInvitee[]>;
|
|
1399
|
+
setInviteeRole(inviteeId: string, role: InviteeRole, byUserId?: UserId | null): Promise<MeetingInvitee>;
|
|
1400
|
+
removeInvitee(inviteeId: string, byUserId?: UserId | null): Promise<MeetingInvitee>;
|
|
1401
|
+
respond(meetingId: MeetingId, answer: RsvpAnswer, note?: string | null): Promise<MeetingInvitee>;
|
|
1402
|
+
invitationByToken(secret: string): Promise<RsvpInvitation>;
|
|
1403
|
+
respondByToken(secret: string, answer: RsvpAnswer, note?: string | null): Promise<RsvpInvitation>;
|
|
1404
|
+
projectInvitee(row: Row): MeetingInvitee;
|
|
1405
|
+
}
|
|
1406
|
+
interface ScheduleMeetingInput {
|
|
1407
|
+
readonly organizationId: OrganizationId;
|
|
1408
|
+
readonly hostUserId: UserId;
|
|
1409
|
+
readonly title: string;
|
|
1410
|
+
readonly scheduledFor: string | null;
|
|
1411
|
+
/** IANA zone, e.g. `America/Los_Angeles`. The wall-clock time a series keeps across DST. */
|
|
1412
|
+
readonly timeZone: string;
|
|
1413
|
+
/** Omit to use the person's `meet.default_duration_minutes`. */
|
|
1414
|
+
readonly durationMinutes?: number | null | undefined;
|
|
1415
|
+
readonly agenda?: string | null | undefined;
|
|
1416
|
+
/** RRULE subset: FREQ=DAILY|WEEKLY|MONTHLY, INTERVAL, BYDAY, BYMONTHDAY, COUNT, UNTIL. */
|
|
1417
|
+
readonly recurrenceRule?: string | null | undefined;
|
|
1418
|
+
readonly settings?: MeetingSettings | undefined;
|
|
1210
1419
|
}
|
|
1211
1420
|
interface RepositoryOptions {
|
|
1212
1421
|
/**
|
|
@@ -1234,6 +1443,19 @@ interface RepositoryOptions {
|
|
|
1234
1443
|
*/
|
|
1235
1444
|
declare function projectSegment(row: Row): TranscriptSegment;
|
|
1236
1445
|
declare function projectNote(row: Row): MeetingNote;
|
|
1446
|
+
declare function projectInvitee(row: Row): MeetingInvitee;
|
|
1447
|
+
declare function projectOccurrence(row: Row): MeetingOccurrence;
|
|
1448
|
+
declare function projectUpcoming(row: Row): UpcomingOccurrence;
|
|
1449
|
+
declare function projectOverride(row: Row): OccurrenceOverride;
|
|
1450
|
+
/** The jsonb the RSVP doors return, typed. A body that is neither shape is refused loudly. */
|
|
1451
|
+
declare function projectRsvpInvitation(body: unknown): RsvpInvitation;
|
|
1452
|
+
/** Settings → the door's snake_case object, carrying ONLY what was set. */
|
|
1453
|
+
declare function settingsPatch(settings: MeetingSettings): Record<string, unknown>;
|
|
1454
|
+
/**
|
|
1455
|
+
* A partial edit → the `meet_update_meeting` patch. `undefined` = leave alone,
|
|
1456
|
+
* `null` = clear — the difference a JSON patch exists to carry.
|
|
1457
|
+
*/
|
|
1458
|
+
declare function changesPatch(changes: MeetingChanges): Record<string, unknown>;
|
|
1237
1459
|
declare function createMeetRepository(options: RepositoryOptions): MeetRepository;
|
|
1238
1460
|
|
|
1239
1461
|
/**
|
|
@@ -2017,6 +2239,39 @@ declare function createRecordingController(options: RecordingControllerOptions):
|
|
|
2017
2239
|
/** The indicator's words. One definition, so no surface invents a softer one. */
|
|
2018
2240
|
declare function recordingLabel(state: RecordingState): string | null;
|
|
2019
2241
|
|
|
2242
|
+
/**
|
|
2243
|
+
* MEET WAVE 1 — the two server calls a management screen makes (0.8).
|
|
2244
|
+
*
|
|
2245
|
+
* Every WRITE (schedule, edit, reschedule, cancel, archive, occurrence change,
|
|
2246
|
+
* invite, answer) goes straight to the database through `MeetRepository` — the
|
|
2247
|
+
* database decides who may. What a browser cannot do is send an email with a
|
|
2248
|
+
* calendar object in it, so after any of those writes a screen calls
|
|
2249
|
+
* `announceMeeting`: the server tells each invitee exactly what they have not
|
|
2250
|
+
* been told (invitation, update or cancellation, each with its `.ics`), and
|
|
2251
|
+
* re-queues reminders. It is idempotent — call it after every save.
|
|
2252
|
+
*/
|
|
2253
|
+
|
|
2254
|
+
interface AnnounceResult {
|
|
2255
|
+
readonly invitations: number;
|
|
2256
|
+
readonly updates: number;
|
|
2257
|
+
readonly cancellations: number;
|
|
2258
|
+
readonly alreadyCurrent: number;
|
|
2259
|
+
readonly remindersQueued: number;
|
|
2260
|
+
readonly remindersCancelled: number;
|
|
2261
|
+
}
|
|
2262
|
+
/** Bring every invitee's inbox and calendar up to date. The host, a co-host or an editor. */
|
|
2263
|
+
declare function announceMeeting(api: MeetApi, meetingId: MeetingId): Promise<AnnounceResult>;
|
|
2264
|
+
/**
|
|
2265
|
+
* Put a one-off meeting on the caller's own connected Google Calendar. GATED by
|
|
2266
|
+
* the server to Google's review accounts while the Calendar scope is in review —
|
|
2267
|
+
* a refusal is a `forbidden` MeetError carrying the server's sentence. Everyone
|
|
2268
|
+
* already gets the meeting into any calendar through the invitation's `.ics`.
|
|
2269
|
+
*/
|
|
2270
|
+
declare function pushMeetingToGoogleCalendar(api: MeetApi, meetingId: MeetingId, target: {
|
|
2271
|
+
connectionId: string;
|
|
2272
|
+
calendarId?: string;
|
|
2273
|
+
}): Promise<Record<string, unknown>>;
|
|
2274
|
+
|
|
2020
2275
|
/**
|
|
2021
2276
|
* THE TOKEN FLOW — the ONLY authorization path into a room (R1).
|
|
2022
2277
|
*
|
|
@@ -2165,7 +2420,17 @@ declare const MEET_ROUTES: {
|
|
|
2165
2420
|
readonly record: "/api/v1/meet/record";
|
|
2166
2421
|
/** A host chooses what guests may read of ONE meeting (MRF-1). */
|
|
2167
2422
|
readonly recordAccess: "/api/v1/meet/record/access";
|
|
2423
|
+
/**
|
|
2424
|
+
* Meet wave 1 (0.8): bring every invitee up to date after a write — sends the
|
|
2425
|
+
* invitation / update / cancellation emails with their `.ics` and re-queues
|
|
2426
|
+
* reminders. Idempotent. `{meeting_id}` is substituted by `meetingPath`.
|
|
2427
|
+
*/
|
|
2428
|
+
readonly meetingAnnounce: "/api/v1/meet/meetings/{meeting_id}/announce";
|
|
2429
|
+
/** Put a one-off meeting on the caller's own Google Calendar (gated by the server). */
|
|
2430
|
+
readonly meetingGoogleCalendar: "/api/v1/meet/meetings/{meeting_id}/google-calendar";
|
|
2168
2431
|
};
|
|
2432
|
+
/** A `MEET_ROUTES` template with its `{meeting_id}` filled in, URL-encoded. */
|
|
2433
|
+
declare function meetingPath(template: string, meetingId: string): string;
|
|
2169
2434
|
/** The header the guest's pass rides on. Pinned on both sides. */
|
|
2170
2435
|
declare const ROOM_TOKEN_HEADER = "x-meet-room-token";
|
|
2171
2436
|
declare function parseRoomToken(body: unknown, roomName: RoomName): RoomToken;
|
|
@@ -2489,4 +2754,4 @@ declare function setGuestRecordAccess(args: {
|
|
|
2489
2754
|
/** What a guest is told when the level shares nothing. Rendered, never hidden. */
|
|
2490
2755
|
declare const GUEST_RECORD_NOT_SHARED: Readonly<Record<"recording" | "transcript" | "notes" | "attendance", string>>;
|
|
2491
2756
|
|
|
2492
|
-
export { type AccessTokenSource, type AdmissionState, type ApplyRoomEventArgs, type AskArgs, 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_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 EndMeetingResult, FILE_SESSION_PATH, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, type HostAction, IDLE_MEDIA, IDLE_TRACK, type JoinRequest, type JsonObject, type JsonValue, LISTEN_ONLY_NOTICE, 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, type MediaDevicesLike, 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 MeetingId, type MeetingInviteHandlerOptions, type MeetingInvitePayload, type MeetingKind, type MeetingNote, type MeetingNoteKind, type MeetingRecord, type MeetingRecordBundle, type MeetingRecordRestriction, type MeetingSession, type MeetingSessionOptions, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, type NameBook, type NoteTakerDispatch, type NoteTakerRefusal, type NoteTakerState, type NoteTakerStatus, ORGANIZATION_HEADER, 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 Stage, type StageArgs, type StageLayout, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, type TokenClient, type TokenClientOptions, type TokenRequest, type TranscriptBlock, type TranscriptSegment, type TranscriptSource, type UserId, type WrapUpAnnouncement, absenceSentence, applyRoomEvent, asCallId, asMeetingId, asOrganizationId, asParticipantIdentity, asRoomName, asUserId, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createLiveKitDriver, createMeetAi, createMeetApi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebRoomTokenStorage, displayNameFor, fileDownloadPath, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuest, isGuestIdentity, isHostRole, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadGuestMeetingRecord, loadMeetingRecord, mapConnectionState, mapQuality, meetingInviteAction, meetingLink, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, orderParticipants, parseRoomToken, participantSummary, playableRecordingFileId, projectNote, projectParticipant, projectSegment, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, roleOf, roomTopic, setGuestRecordAccess, snapshotParticipant, unavailableFrom, userTopic, wasRefused };
|
|
2757
|
+
export { type AccessTokenSource, type AdmissionState, type AnnounceResult, type ApplyRoomEventArgs, type AskArgs, 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_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 EndMeetingResult, FILE_SESSION_PATH, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, type GuestRecordAccess, type GuestRecordAccessResolution, type GuestRecordAccessSetting, type HostAction, IDLE_MEDIA, IDLE_TRACK, type InviteeInput, type InviteeRole, type JoinRequest, type JsonObject, type JsonValue, LISTEN_ONLY_NOTICE, 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, type MediaDevicesLike, 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 MeetingId, type MeetingInviteHandlerOptions, type MeetingInvitePayload, type MeetingInvitee, type MeetingKind, type MeetingNote, type MeetingNoteKind, type MeetingOccurrence, type MeetingRecord, type MeetingRecordBundle, type MeetingRecordRestriction, type MeetingSession, type MeetingSessionOptions, type MeetingSettings, 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 TranscriptSegment, type TranscriptSource, type UpcomingOccurrence, type UserId, type WrapUpAnnouncement, absenceSentence, announceMeeting, applyRoomEvent, asCallId, asMeetingId, asOrganizationId, asParticipantIdentity, asRoomName, asUserId, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createLiveKitDriver, createMeetAi, createMeetApi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebRoomTokenStorage, displayNameFor, fileDownloadPath, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuest, isGuestIdentity, isHostRole, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadGuestMeetingRecord, loadMeetingRecord, mapConnectionState, mapQuality, meetingInviteAction, meetingLink, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, orderParticipants, parseRoomToken, participantSummary, playableRecordingFileId, projectInvitee, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, roleOf, roomTopic, setGuestRecordAccess, settingsPatch, snapshotParticipant, unavailableFrom, userTopic, wasRefused };
|