@ai-matrx/meet 0.11.27 → 0.11.28

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/dist/react.d.cts CHANGED
@@ -2,9 +2,9 @@ import { ReactNode, ComponentType } from 'react';
2
2
  import { MessagingSupabaseClient } from '@ai-matrx/messaging';
3
3
  import { MeetStore, RoomEngine, CallCenter, MeetingSession, InRoomClient, RecordingController, DeviceManager, MeetRepository, TokenClient, MeetAi, RoomDriverFactory, DeviceSnapshot, MeetSnapshot, ObservedPhase, MeetObservation, GuestRecordAccessSetting, GuestRecordAccessResolution, ModerationRequest, ModerationResult, MediaEffects, NoteTakerStatus, MeetAnswerCoverage, MeetingRecordBundle, MeetPhase, JoinRequest, MeetingRecordCache, LocalMediaState, ModerationNotice, Stage, CollabRequest, ConnectionRegion, ShareRegion } from './core.cjs';
4
4
  export { ATTENDANCE_CSV_HEADER, AnnounceResult, ApplyRoomEventArgs, AskArgs, AttendanceKind, AttendanceRow, AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, CallCenterOptions, CallInviteHandlerOptions, CallInvitePayload, CallOutcomePhase, CollabAction, CollabResult, CollabRuntime, CollabStoreLike, CreateCallInviteInput, CreateMeetingInput, DATA_TOPICS, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, DataTopic, DeviceKind, DeviceManagerOptions, DeviceStorage, DriverConnectionState, DriverParticipant, DriverTrackKind, DriverTranscription, END_MEETING_NOT_SERVED, EffectsStorage, EndMeetingResult, ExitInput, ExitPhase, ExitResolution, ExitServerWord, FollowUpDraft, FollowUpRecipient, FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, GuestRecordAccess, IDLE_MEDIA, IDLE_PHASES, IDLE_TRACK, InRoomClientOptions, JOIN_REFUSAL_REASONS, JoinRefusalReason, LISTEN_ONLY_NOTICE, LIVE_PHASES, LibraryRecording, LiveKitDriverOptions, 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, MediaDevicesLike, MediaUnavailable, MeetAiAnswer, MeetAiOptions, MeetDevice, MeetError, MeetErrorCode, MeetEvent, MeetGrants, MeetPatch, MeetRoomDriver, MeetingChatHistory, MeetingInviteHandlerOptions, MeetingInvitePayload, MeetingRecordAnswer, MeetingRecordChange, MeetingRecordFailure, MeetingRecordParts, MeetingRecordRestriction, MeetingRecordRestrictionNotice, MeetingRecordState, MeetingSearchHit, MeetingSearchSource, MeetingSessionOptions, ModerationAction, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, NO_SHARE, NameBook, NoteTakerDispatch, NoteTakerRefusal, ObserveInput, ObservedConnection, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, PhaseEvent, PhaseEventType, REACTION_TTL_MS, REFUSED_ABSENCE, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, RecordingControllerOptions, RepositoryOptions, RoomChatMessage, RoomDriverHandlers, RoomEngineOptions, RoomEventOutcome, RoomEventTopic, RoomReaction, RoomToken, RoomTokenStorage, ScheduleMeetingInput, StageArgs, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, TokenClientOptions, TokenRequest, TranscriptBlock, TranscriptFormat, TranscriptMatch, VideoEffect, WAITING_PHASES, WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, admissionPhase, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, clockPosition, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuestIdentity, isJoinRefusalReason, isListenOnly, isLivePhase, isNoteTaker, isRealName, isRefusedPhase, isRoomEventTopic, isWaitingPhase, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, microphoneNoticeCode, moveToRoom, nextPhase, nextTranslationBatch, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, notesDocument, 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, wrapUpStatus } from './core.cjs';
5
- import { b as MeetApi, c as MeetIdentity, A as AccessTokenSource, d as CallInvite, U as UserId, e as ParticipantRole, M as MeetingRecord, P as ParticipantIdentity, T as TranscriptSource, f as CallMode, a as MeetParticipant, L as LobbyEntry, g as MeetingNote, W as WrapUpAnnouncement, S as StageLayout, h as MeetingId, O as OrganizationId, R as RoomName, i as MeetingAppPanel, j as CollabSnapshot, C as CollabPanel } from './collab-CIyXdQ5l.cjs';
6
- export { k as AdmissionState, l as CAPTION_LANGUAGES, m as CallId, n as CallState, o as CallablePerson, p as ConnectionQuality, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, I as InviteeInput, q as InviteeRole, 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, V as MeetingAttendee, X as MeetingChanges, Y as MeetingInvitee, Z as MeetingKind, _ as MeetingNoteKind, $ as MeetingOccurrence, a0 as MeetingSettings, a1 as NoteTakerState, a2 as ORGANIZATION_HEADER, a3 as ObserversVisibleTo, a4 as OccurrenceOverride, a5 as OccurrenceState, a6 as ParticipantStanding, a7 as ROLE_RANK, a8 as RecordingPolicy, a9 as RecordingRecord, aa as RecordingState, ab as RsvpAnswer, ac as RsvpInvitation, ad as RsvpState, ae as TranscriptSegment, af as UpcomingOccurrence, 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-CIyXdQ5l.cjs';
7
- export { G as GuestRecordAccessControl } from './components-DUvy3BQf.cjs';
5
+ import { b as MeetApi, c as MeetIdentity, A as AccessTokenSource, d as CallInvite, U as UserId, e as ParticipantRole, M as MeetingRecord, P as ParticipantIdentity, T as TranscriptSource, f as CallMode, a as MeetParticipant, L as LobbyEntry, g as MeetingNote, W as WrapUpAnnouncement, S as StageLayout, h as MeetingId, O as OrganizationId, R as RoomName, i as MeetingAppPanel, j as CollabSnapshot, C as CollabPanel } from './collab-CUxjUtrb.cjs';
6
+ export { k as AdmissionState, l as CAPTION_LANGUAGES, m as CallId, n as CallState, o as CallablePerson, p as ConnectionQuality, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, I as InviteeInput, q as InviteeRole, 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, V as MeetingAttendee, X as MeetingChanges, Y as MeetingInvitee, Z as MeetingKind, _ as MeetingNoteKind, $ as MeetingOccurrence, a0 as MeetingSettings, a1 as NoteTakerState, a2 as ORGANIZATION_HEADER, a3 as ObserversVisibleTo, a4 as OccurrenceOverride, a5 as OccurrenceState, a6 as ParticipantStanding, a7 as ROLE_RANK, a8 as RecordingPolicy, a9 as RecordingRecord, aa as RecordingState, ab as RsvpAnswer, ac as RsvpInvitation, ad as RsvpState, ae as TranscriptSegment, af as UpcomingOccurrence, 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-CUxjUtrb.cjs';
7
+ export { G as GuestRecordAccessControl } from './components-DPdU3POT.cjs';
8
8
  import '@ai-matrx/realtime';
9
9
  import 'livekit-client';
10
10
 
package/dist/react.d.ts CHANGED
@@ -2,9 +2,9 @@ import { ReactNode, ComponentType } from 'react';
2
2
  import { MessagingSupabaseClient } from '@ai-matrx/messaging';
3
3
  import { MeetStore, RoomEngine, CallCenter, MeetingSession, InRoomClient, RecordingController, DeviceManager, MeetRepository, TokenClient, MeetAi, RoomDriverFactory, DeviceSnapshot, MeetSnapshot, ObservedPhase, MeetObservation, GuestRecordAccessSetting, GuestRecordAccessResolution, ModerationRequest, ModerationResult, MediaEffects, NoteTakerStatus, MeetAnswerCoverage, MeetingRecordBundle, MeetPhase, JoinRequest, MeetingRecordCache, LocalMediaState, ModerationNotice, Stage, CollabRequest, ConnectionRegion, ShareRegion } from './core.js';
4
4
  export { ATTENDANCE_CSV_HEADER, AnnounceResult, ApplyRoomEventArgs, AskArgs, AttendanceKind, AttendanceRow, AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, CallCenterOptions, CallInviteHandlerOptions, CallInvitePayload, CallOutcomePhase, CollabAction, CollabResult, CollabRuntime, CollabStoreLike, CreateCallInviteInput, CreateMeetingInput, DATA_TOPICS, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, DataTopic, DeviceKind, DeviceManagerOptions, DeviceStorage, DriverConnectionState, DriverParticipant, DriverTrackKind, DriverTranscription, END_MEETING_NOT_SERVED, EffectsStorage, EndMeetingResult, ExitInput, ExitPhase, ExitResolution, ExitServerWord, FollowUpDraft, FollowUpRecipient, FollowUpSendResult, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, GuestRecordAccess, IDLE_MEDIA, IDLE_PHASES, IDLE_TRACK, InRoomClientOptions, JOIN_REFUSAL_REASONS, JoinRefusalReason, LISTEN_ONLY_NOTICE, LIVE_PHASES, LibraryRecording, LiveKitDriverOptions, 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, MediaDevicesLike, MediaUnavailable, MeetAiAnswer, MeetAiOptions, MeetDevice, MeetError, MeetErrorCode, MeetEvent, MeetGrants, MeetPatch, MeetRoomDriver, MeetingChatHistory, MeetingInviteHandlerOptions, MeetingInvitePayload, MeetingRecordAnswer, MeetingRecordChange, MeetingRecordFailure, MeetingRecordParts, MeetingRecordRestriction, MeetingRecordRestrictionNotice, MeetingRecordState, MeetingSearchHit, MeetingSearchSource, MeetingSessionOptions, ModerationAction, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, NO_SHARE, NameBook, NoteTakerDispatch, NoteTakerRefusal, ObserveInput, ObservedConnection, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, PhaseEvent, PhaseEventType, REACTION_TTL_MS, REFUSED_ABSENCE, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, RecordingControllerOptions, RepositoryOptions, RoomChatMessage, RoomDriverHandlers, RoomEngineOptions, RoomEventOutcome, RoomEventTopic, RoomReaction, RoomToken, RoomTokenStorage, ScheduleMeetingInput, StageArgs, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, TokenClientOptions, TokenRequest, TranscriptBlock, TranscriptFormat, TranscriptMatch, VideoEffect, WAITING_PHASES, WrapUpStatus, absenceSentence, activeWrapUpSummary, activityAttention, admissionPhase, announceMeeting, applyRoomEvent, assembleMeetingRecord, attendanceCsv, attendanceReport, attendanceTotals, attendeeKey, availableActivities, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, clockPosition, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingRecordCache, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuestIdentity, isJoinRefusalReason, isListenOnly, isLivePhase, isNoteTaker, isRealName, isRefusedPhase, isRoomEventTopic, isWaitingPhase, learnName, learnNames, listenOnlyNotice, loadFollowUpDraft, loadGuestMeetingRecord, loadMeetingChat, loadMeetingRecord, loadMeetingRecordParts, mapConnectionState, mapQuality, meetingInviteAction, meetingLength, meetingLink, meetingPassHeaders, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, microphoneNoticeCode, moveToRoom, nextPhase, nextTranslationBatch, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, notesDocument, 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, wrapUpStatus } from './core.js';
5
- import { b as MeetApi, c as MeetIdentity, A as AccessTokenSource, d as CallInvite, U as UserId, e as ParticipantRole, M as MeetingRecord, P as ParticipantIdentity, T as TranscriptSource, f as CallMode, a as MeetParticipant, L as LobbyEntry, g as MeetingNote, W as WrapUpAnnouncement, S as StageLayout, h as MeetingId, O as OrganizationId, R as RoomName, i as MeetingAppPanel, j as CollabSnapshot, C as CollabPanel } from './collab-CIyXdQ5l.js';
6
- export { k as AdmissionState, l as CAPTION_LANGUAGES, m as CallId, n as CallState, o as CallablePerson, p as ConnectionQuality, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, I as InviteeInput, q as InviteeRole, 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, V as MeetingAttendee, X as MeetingChanges, Y as MeetingInvitee, Z as MeetingKind, _ as MeetingNoteKind, $ as MeetingOccurrence, a0 as MeetingSettings, a1 as NoteTakerState, a2 as ORGANIZATION_HEADER, a3 as ObserversVisibleTo, a4 as OccurrenceOverride, a5 as OccurrenceState, a6 as ParticipantStanding, a7 as ROLE_RANK, a8 as RecordingPolicy, a9 as RecordingRecord, aa as RecordingState, ab as RsvpAnswer, ac as RsvpInvitation, ad as RsvpState, ae as TranscriptSegment, af as UpcomingOccurrence, 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-CIyXdQ5l.js';
7
- export { G as GuestRecordAccessControl } from './components-DiGxfKXI.js';
5
+ import { b as MeetApi, c as MeetIdentity, A as AccessTokenSource, d as CallInvite, U as UserId, e as ParticipantRole, M as MeetingRecord, P as ParticipantIdentity, T as TranscriptSource, f as CallMode, a as MeetParticipant, L as LobbyEntry, g as MeetingNote, W as WrapUpAnnouncement, S as StageLayout, h as MeetingId, O as OrganizationId, R as RoomName, i as MeetingAppPanel, j as CollabSnapshot, C as CollabPanel } from './collab-CUxjUtrb.js';
6
+ export { k as AdmissionState, l as CAPTION_LANGUAGES, m as CallId, n as CallState, o as CallablePerson, p as ConnectionQuality, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, I as InviteeInput, q as InviteeRole, 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, V as MeetingAttendee, X as MeetingChanges, Y as MeetingInvitee, Z as MeetingKind, _ as MeetingNoteKind, $ as MeetingOccurrence, a0 as MeetingSettings, a1 as NoteTakerState, a2 as ORGANIZATION_HEADER, a3 as ObserversVisibleTo, a4 as OccurrenceOverride, a5 as OccurrenceState, a6 as ParticipantStanding, a7 as ROLE_RANK, a8 as RecordingPolicy, a9 as RecordingRecord, aa as RecordingState, ab as RsvpAnswer, ac as RsvpInvitation, ad as RsvpState, ae as TranscriptSegment, af as UpcomingOccurrence, 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-CUxjUtrb.js';
7
+ export { G as GuestRecordAccessControl } from './components-CUPzD0y3.js';
8
8
  import '@ai-matrx/realtime';
9
9
  import 'livekit-client';
10
10
 
package/dist/react.js CHANGED
@@ -1111,6 +1111,8 @@ function nextPhase(from, event) {
1111
1111
  return from === "resolving" ? "prejoin" : null;
1112
1112
  case "unsupported":
1113
1113
  return from === "resolving" ? "unsupported" : null;
1114
+ case "link_state":
1115
+ return from === "resolving" && event.reason !== null && isJoinRefusalReason(event.reason) ? refusalPhase(event.reason) : null;
1114
1116
  case "join":
1115
1117
  return JOINABLE_FROM.has(from) ? "joining" : null;
1116
1118
  case "back_to_prejoin":
@@ -1873,6 +1875,8 @@ var RPCS = {
1873
1875
  getOrCreateMeeting: "meet_get_or_create_meeting",
1874
1876
  /** Resolve a durable public link, before/during/after its scheduled time. */
1875
1877
  meetingBySlug: "meet_meeting_by_slug",
1878
+ /** The current run of a durable link (open / not started / ended + next start), no pass needed. */
1879
+ linkState: "meet_link_state",
1876
1880
  /*
1877
1881
  * ── S4 ADMISSION (CORE-DESIGN §2.4). Each returns the decided row; the caller then
1878
1882
  * sends the payload-free `mx.state.changed` hint. Authorized by `who_may_admit`.
@@ -2181,6 +2185,14 @@ function createMeetRepository(options) {
2181
2185
  if (response.error !== null) throw normalizeMeetError(response.error, operation);
2182
2186
  }
2183
2187
  }
2188
+ async function readLinkRun(slug) {
2189
+ try {
2190
+ const response = await db.rpc(RPCS.linkState, { p_slug: slug });
2191
+ return projectLinkRun(response.error === null ? response.data : null);
2192
+ } catch {
2193
+ return void 0;
2194
+ }
2195
+ }
2184
2196
  async function guard(operation, run) {
2185
2197
  let response = await run();
2186
2198
  if (response.error !== null) {
@@ -2582,11 +2594,12 @@ function createMeetRepository(options) {
2582
2594
  return projectMeeting(row);
2583
2595
  },
2584
2596
  async meetingBySlug(slug) {
2585
- const row = await guard(
2586
- "meet.meetingBySlug",
2587
- () => db.rpc(RPCS.meetingBySlug, { p_slug: slug })
2588
- );
2589
- return withRunNoteTaker(projectMeeting(row));
2597
+ const [row, linkRun] = await Promise.all([
2598
+ guard("meet.meetingBySlug", () => db.rpc(RPCS.meetingBySlug, { p_slug: slug })),
2599
+ readLinkRun(slug)
2600
+ ]);
2601
+ const record = withRunNoteTaker(projectMeeting(row));
2602
+ return linkRun === void 0 ? record : { ...record, linkRun };
2590
2603
  },
2591
2604
  async meeting(id) {
2592
2605
  const response = await db.from(TABLES.meetings).select(MEETING_COLUMNS).eq("id", id).single();
@@ -2775,6 +2788,15 @@ function snippetRuns(snippet) {
2775
2788
  if (last < snippet.length) runs.push({ text: snippet.slice(last), hit: false });
2776
2789
  return runs;
2777
2790
  }
2791
+ function projectLinkRun(value) {
2792
+ if (typeof value !== "object" || value === null) return void 0;
2793
+ const row = value;
2794
+ const state = row["state"];
2795
+ if (state !== "open" && state !== "not_started" && state !== "ended" && state !== "cancelled") return void 0;
2796
+ const reason = row["reason"] === "ended" || row["reason"] === "cancelled" ? row["reason"] : null;
2797
+ const nextStart = typeof row["next_start"] === "string" ? row["next_start"] : null;
2798
+ return { state, reason, nextStart };
2799
+ }
2778
2800
 
2779
2801
  // src/core/app-panel.ts
2780
2802
  function appPanelOf(meeting) {
@@ -11591,7 +11613,7 @@ function ExitScreen({ onLeave }) {
11591
11613
  if (phase.startsWith("refused:")) {
11592
11614
  const code = phase.slice("refused:".length);
11593
11615
  title = REFUSED_TITLES[code] ?? "You can't join this meeting";
11594
- line = failure?.remedy ?? null;
11616
+ line = code === "too_early" || code === "registration_required" || code === "cancelled" ? failure?.remedy ?? null : null;
11595
11617
  actionsNode = /* @__PURE__ */ jsxs3(Fragment, { children: [
11596
11618
  /* @__PURE__ */ jsx6(Button, { type: "button", variant: "outline", onClick: actions.retry, children: "Try again" }),
11597
11619
  home
@@ -11641,6 +11663,10 @@ function ExitScreen({ onLeave }) {
11641
11663
  case "ended":
11642
11664
  case "record":
11643
11665
  title = reason === "time_limit" ? "The meeting reached its time limit" : "The meeting has ended";
11666
+ if (failure?.reason === "ended" && failure.remedy.length > 0 && failure.message.startsWith("This run")) {
11667
+ title = failure.message.replace(/\.$/, "");
11668
+ line = failure.remedy;
11669
+ }
11644
11670
  notice = "meeting-ended";
11645
11671
  break;
11646
11672
  default:
@@ -12211,8 +12237,15 @@ function MeetingSkinRootBody({
12211
12237
  if (now.phase !== "resolving" && now.roomName !== null && now.roomName !== roomName && now.call === null) {
12212
12238
  host.store.dispatch({ type: "reset" });
12213
12239
  }
12214
- if (host.store.snapshot().phase === "resolving") host.store.dispatch({ type: "resolved" });
12215
- }, [host, roomName, phase]);
12240
+ if (host.store.snapshot().phase !== "resolving") return;
12241
+ const reason = given?.linkRun?.reason ?? null;
12242
+ if (reason !== null && given?.linkRun !== void 0) {
12243
+ const words = linkRunWords(given.linkRun);
12244
+ host.store.patch({ failure: { message: words.message, remedy: words.remedy, reason } });
12245
+ if (host.store.dispatch({ type: "link_state", reason })) return;
12246
+ }
12247
+ host.store.dispatch({ type: "resolved" });
12248
+ }, [host, roomName, phase, given]);
12216
12249
  useEffect8(() => {
12217
12250
  if (given === void 0) return;
12218
12251
  if (host.store.snapshot().meeting !== null) return;
@@ -12239,6 +12272,31 @@ function MeetingSkinRootBody({
12239
12272
  }
12240
12273
  );
12241
12274
  }
12275
+ function linkRunWords(run) {
12276
+ if (run.reason === "cancelled") {
12277
+ return {
12278
+ message: "This occurrence of the meeting was cancelled.",
12279
+ remedy: "The series continues; open the same link at its next time."
12280
+ };
12281
+ }
12282
+ if (run.nextStart === null) {
12283
+ return {
12284
+ message: "This meeting has ended.",
12285
+ remedy: "The link still opens its record: summary, notes and transcript. Nobody can rejoin."
12286
+ };
12287
+ }
12288
+ const when2 = new Date(run.nextStart).toLocaleString(void 0, {
12289
+ weekday: "short",
12290
+ month: "short",
12291
+ day: "numeric",
12292
+ hour: "numeric",
12293
+ minute: "2-digit"
12294
+ });
12295
+ return {
12296
+ message: "This run of the meeting has ended.",
12297
+ remedy: `The next one starts ${when2}. Open the same link then.`
12298
+ };
12299
+ }
12242
12300
 
12243
12301
  // src/react/calls-ui.tsx
12244
12302
  import { useEffect as useEffect9 } from "react";