@ai-matrx/meet 0.11.44 → 0.11.46

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/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ATTENDANCE_CSV_HEADER, AnnounceResult, ApplyRoomEventArgs, AskArgs, AttendanceKind, AttendanceRow, AudioProcessing, BrowserFamily, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, CallCenter, CallCenterOptions, CallInviteHandlerOptions, CallInvitePayload, CallOutcomePhase, CollabAction, CollabRequest, CollabResult, CollabRuntime, CollabStoreLike, ConnectionPolicy, ConnectionRegion, ConnectionSupervisor, ConnectionSupervisorOptions, CreateCallInviteInput, CreateMeetingInput, DATA_TOPICS, DEFAULT_CONNECTION_POLICY, DEFAULT_EFFECTS, DEFAULT_LEAVE_POLICY, DEFAULT_PAGE_SIZE, DataTopic, DeviceKind, DeviceManager, DeviceManagerOptions, DeviceNotice, DeviceOffer, DeviceSnapshot, DeviceStorage, DeviceUnavailableReason, 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, Ghost, GuestRecordAccess, GuestRecordAccessResolution, GuestRecordAccessSetting, HostLeavePrompt, IDLE_MEDIA, IDLE_MEDIA_REGION, IDLE_PHASES, IDLE_TRACK, InRoomClient, InRoomClientOptions, JOIN_REFUSAL_REASONS, JoinRefusalReason, JoinRequest, LISTEN_ONLY_NOTICE, LIVEKIT_BASE_DELAYS_MS, LIVE_PHASES, LeaveChoice, LeavePolicy, LibraryRecording, LiveKitDriverOptions, LocalMediaState, 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, MediaEffects, MediaKind, MediaPlatform, MediaRegionState, MediaSupervisor, MediaSupervisorOptions, MediaUnavailable, MeetAi, MeetAiAnswer, MeetAiOptions, MeetAnswerCoverage, MeetCapabilities, MeetDevice, MeetError, MeetErrorCode, MeetEvent, MeetGrants, MeetObservation, MeetPatch, MeetPhase, MeetRepository, MeetRoomDriver, MeetSnapshot, MeetStore, MeetingChatHistory, MeetingInviteHandlerOptions, MeetingInvitePayload, MeetingRecordAnswer, MeetingRecordBundle, MeetingRecordCache, MeetingRecordChange, MeetingRecordFailure, MeetingRecordParts, MeetingRecordRestriction, MeetingRecordRestrictionNotice, MeetingRecordState, MeetingSearchHit, MeetingSearchSource, MeetingSession, MeetingSessionOptions, ModerationAction, ModerationNotice, ModerationRequest, ModerationResult, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, NO_SHARE, NameBook, NetworkPort, NoteTakerDispatch, NoteTakerRefusal, NoteTakerStatus, ObserveInput, ObservedConnection, ObservedPhase, OsFamily, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_HAND_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, PermissionReading, PhaseEvent, PhaseEventType, PlatformDevice, REACTION_TTL_MS, REFUSED_ABSENCE, RESUME_WINDOW_MS, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, ReconnectPolicyLike, ReconnectPolicyOptions, RecordingController, RecordingControllerOptions, RepositoryOptions, ResumeMarker, ResumeStorage, RoomChatMessage, RoomDriverFactory, RoomDriverHandlers, RoomEngine, RoomEngineOptions, RoomEventOutcome, RoomEventTopic, RoomReaction, RoomToken, RoomTokenStorage, ScheduleMeetingInput, ShareRegion, SpeakingWhileMutedDetector, SpeakingWhileMutedOptions, Stage, StageArgs, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, TokenClient, TokenClientOptions, TokenRequest, TranscriptBlock, TranscriptFormat, TranscriptMatch, UnsupportedReason, VideoEffect, WAITING_PHASES, 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, createSpeakingWhileMutedDetector, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebNetworkPort, createWebResumeStorage, createWebRoomTokenStorage, detectBrowser, detectCapabilities, detectOs, deviceChipLabel, deviceFixSteps, deviceNoticeCode, deviceUnavailableReason, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, httpUrlOf, invalidResponse, isGuestIdentity, isJoinRefusalReason, isListenOnly, isLivePhase, isMobileUserAgent, 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, 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, unsupportedWords, untranslatedLines, userTopic, wasRefused, webMediaPlatform, wrapUpStatus } from './core.cjs';
2
- export { A as AccessTokenSource, k as AdmissionState, l as CAPTION_LANGUAGES, m as CallId, d as CallInvite, f as CallMode, n as CallState, o as CallablePerson, C as CollabPanel, j as CollabSnapshot, p as ConnectionQuality, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, I as InviteeInput, q as InviteeRole, J as JsonObject, r as JsonValue, L as LobbyEntry, b as MeetApi, s as MeetApiOptions, t as MeetApiRequest, u as MeetAppFocus, v as MeetBreakoutBroadcast, w as MeetBreakoutPlan, x as MeetBreakoutRoom, y as MeetCollabSettings, z as MeetFileMedia, c as MeetIdentity, a as MeetParticipant, B as MeetPoll, D as MeetPollOption, G as MeetPollState, H as MeetQuestion, K as MeetQuestionState, N as MeetStroke, Q as MeetingActivities, i as MeetingAppPanel, V as MeetingAttendee, X as MeetingChanges, h as MeetingId, Y as MeetingInvitee, Z as MeetingKind, g as MeetingNote, _ as MeetingNoteKind, $ as MeetingOccurrence, M as MeetingRecord, a0 as MeetingSettings, a1 as NoteTakerState, a2 as ORGANIZATION_HEADER, a3 as ObserversVisibleTo, a4 as OccurrenceOverride, a5 as OccurrenceState, O as OrganizationId, P as ParticipantIdentity, e as ParticipantRole, a6 as ParticipantStanding, a7 as ROLE_RANK, a8 as RecordingPolicy, a9 as RecordingRecord, aa as RecordingState, R as RoomName, ab as RsvpAnswer, ac as RsvpInvitation, ad as RsvpState, S as StageLayout, ae as TranscriptSegment, T as TranscriptSource, af as UpcomingOccurrence, U as UserId, W as WrapUpAnnouncement, 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 breakoutClosingMs, ar as breakoutRemainingMs, as as captureHeldOf, at as collabFromState, au as createMeetApi, av as defaultCaptionLanguage, aw as fileDownloadPath, ax as focusFromRow, ay as isGuest, az as isHostRole, aA as isLinkFollower, aB as isObserverRole, aC as loadMeetingActivities, aD as scheduleSettingsPatch, aE as withItem } from './collab-BNJNgXFB.cjs';
2
+ export { A as AccessTokenSource, k as AdmissionState, l as CAPTION_LANGUAGES, m as CallId, d as CallInvite, f as CallMode, n as CallState, o as CallablePerson, C as CollabPanel, j as CollabSnapshot, p as ConnectionQuality, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, I as InviteeInput, q as InviteeRole, J as JsonObject, r as JsonValue, L as LobbyEntry, b as MeetApi, s as MeetApiOptions, t as MeetApiRequest, u as MeetAppFocus, v as MeetBreakoutBroadcast, w as MeetBreakoutPlan, x as MeetBreakoutRoom, y as MeetCollabSettings, z as MeetFileMedia, c as MeetIdentity, a as MeetParticipant, B as MeetPoll, D as MeetPollOption, G as MeetPollState, H as MeetQuestion, K as MeetQuestionState, N as MeetStroke, Q as MeetingActivities, i as MeetingAppPanel, V as MeetingAttendee, X as MeetingChanges, h as MeetingId, Y as MeetingInvitee, Z as MeetingKind, g as MeetingNote, _ as MeetingNoteKind, $ as MeetingOccurrence, M as MeetingRecord, a0 as MeetingSettings, a1 as NoteTakerState, a2 as ORGANIZATION_HEADER, a3 as ObserversVisibleTo, a4 as OccurrenceOverride, a5 as OccurrenceState, O as OrganizationId, P as ParticipantIdentity, e as ParticipantRole, a6 as ParticipantStanding, a7 as ROLE_RANK, a8 as RecordingPolicy, a9 as RecordingRecord, aa as RecordingState, R as RoomName, ab as RsvpAnswer, ac as RsvpInvitation, ad as RsvpState, S as StageLayout, ae as TranscriptSegment, T as TranscriptSource, af as UpcomingOccurrence, U as UserId, W as WrapUpAnnouncement, 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 breakoutClosingMs, ar as breakoutRemainingMs, as as captureHeldOf, at as collabFromState, au as createMeetApi, av as defaultCaptionLanguage, aw as fileDownloadPath, ax as focusFromRow, ay as isGuest, az as isHostRole, aA as isLinkFollower, aB as isObserverRole, aC as loadMeetingActivities, aD as scheduleSettingsPatch, aE as withItem } from './collab-D1TX5uf9.cjs';
3
3
  import '@ai-matrx/realtime';
4
4
  import '@ai-matrx/messaging';
5
5
  import 'livekit-client';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ATTENDANCE_CSV_HEADER, AnnounceResult, ApplyRoomEventArgs, AskArgs, AttendanceKind, AttendanceRow, AudioProcessing, BrowserFamily, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, CallCenter, CallCenterOptions, CallInviteHandlerOptions, CallInvitePayload, CallOutcomePhase, CollabAction, CollabRequest, CollabResult, CollabRuntime, CollabStoreLike, ConnectionPolicy, ConnectionRegion, ConnectionSupervisor, ConnectionSupervisorOptions, CreateCallInviteInput, CreateMeetingInput, DATA_TOPICS, DEFAULT_CONNECTION_POLICY, DEFAULT_EFFECTS, DEFAULT_LEAVE_POLICY, DEFAULT_PAGE_SIZE, DataTopic, DeviceKind, DeviceManager, DeviceManagerOptions, DeviceNotice, DeviceOffer, DeviceSnapshot, DeviceStorage, DeviceUnavailableReason, 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, Ghost, GuestRecordAccess, GuestRecordAccessResolution, GuestRecordAccessSetting, HostLeavePrompt, IDLE_MEDIA, IDLE_MEDIA_REGION, IDLE_PHASES, IDLE_TRACK, InRoomClient, InRoomClientOptions, JOIN_REFUSAL_REASONS, JoinRefusalReason, JoinRequest, LISTEN_ONLY_NOTICE, LIVEKIT_BASE_DELAYS_MS, LIVE_PHASES, LeaveChoice, LeavePolicy, LibraryRecording, LiveKitDriverOptions, LocalMediaState, 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, MediaEffects, MediaKind, MediaPlatform, MediaRegionState, MediaSupervisor, MediaSupervisorOptions, MediaUnavailable, MeetAi, MeetAiAnswer, MeetAiOptions, MeetAnswerCoverage, MeetCapabilities, MeetDevice, MeetError, MeetErrorCode, MeetEvent, MeetGrants, MeetObservation, MeetPatch, MeetPhase, MeetRepository, MeetRoomDriver, MeetSnapshot, MeetStore, MeetingChatHistory, MeetingInviteHandlerOptions, MeetingInvitePayload, MeetingRecordAnswer, MeetingRecordBundle, MeetingRecordCache, MeetingRecordChange, MeetingRecordFailure, MeetingRecordParts, MeetingRecordRestriction, MeetingRecordRestrictionNotice, MeetingRecordState, MeetingSearchHit, MeetingSearchSource, MeetingSession, MeetingSessionOptions, ModerationAction, ModerationNotice, ModerationRequest, ModerationResult, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, NO_SHARE, NameBook, NetworkPort, NoteTakerDispatch, NoteTakerRefusal, NoteTakerStatus, ObserveInput, ObservedConnection, ObservedPhase, OsFamily, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_HAND_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, PARTICIPANT_STANDING_ATTRIBUTE, PermissionReading, PhaseEvent, PhaseEventType, PlatformDevice, REACTION_TTL_MS, REFUSED_ABSENCE, RESUME_WINDOW_MS, ROOM_EVENTS, ROOM_EVENT_PREFIX, RPCS, ReconnectPolicyLike, ReconnectPolicyOptions, RecordingController, RecordingControllerOptions, RepositoryOptions, ResumeMarker, ResumeStorage, RoomChatMessage, RoomDriverFactory, RoomDriverHandlers, RoomEngine, RoomEngineOptions, RoomEventOutcome, RoomEventTopic, RoomReaction, RoomToken, RoomTokenStorage, ScheduleMeetingInput, ShareRegion, SpeakingWhileMutedDetector, SpeakingWhileMutedOptions, Stage, StageArgs, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, TokenClient, TokenClientOptions, TokenRequest, TranscriptBlock, TranscriptFormat, TranscriptMatch, UnsupportedReason, VideoEffect, WAITING_PHASES, 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, createSpeakingWhileMutedDetector, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebNetworkPort, createWebResumeStorage, createWebRoomTokenStorage, detectBrowser, detectCapabilities, detectOs, deviceChipLabel, deviceFixSteps, deviceNoticeCode, deviceUnavailableReason, displayNameFor, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, httpUrlOf, invalidResponse, isGuestIdentity, isJoinRefusalReason, isListenOnly, isLivePhase, isMobileUserAgent, 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, 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, unsupportedWords, untranslatedLines, userTopic, wasRefused, webMediaPlatform, wrapUpStatus } from './core.js';
2
- export { A as AccessTokenSource, k as AdmissionState, l as CAPTION_LANGUAGES, m as CallId, d as CallInvite, f as CallMode, n as CallState, o as CallablePerson, C as CollabPanel, j as CollabSnapshot, p as ConnectionQuality, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, I as InviteeInput, q as InviteeRole, J as JsonObject, r as JsonValue, L as LobbyEntry, b as MeetApi, s as MeetApiOptions, t as MeetApiRequest, u as MeetAppFocus, v as MeetBreakoutBroadcast, w as MeetBreakoutPlan, x as MeetBreakoutRoom, y as MeetCollabSettings, z as MeetFileMedia, c as MeetIdentity, a as MeetParticipant, B as MeetPoll, D as MeetPollOption, G as MeetPollState, H as MeetQuestion, K as MeetQuestionState, N as MeetStroke, Q as MeetingActivities, i as MeetingAppPanel, V as MeetingAttendee, X as MeetingChanges, h as MeetingId, Y as MeetingInvitee, Z as MeetingKind, g as MeetingNote, _ as MeetingNoteKind, $ as MeetingOccurrence, M as MeetingRecord, a0 as MeetingSettings, a1 as NoteTakerState, a2 as ORGANIZATION_HEADER, a3 as ObserversVisibleTo, a4 as OccurrenceOverride, a5 as OccurrenceState, O as OrganizationId, P as ParticipantIdentity, e as ParticipantRole, a6 as ParticipantStanding, a7 as ROLE_RANK, a8 as RecordingPolicy, a9 as RecordingRecord, aa as RecordingState, R as RoomName, ab as RsvpAnswer, ac as RsvpInvitation, ad as RsvpState, S as StageLayout, ae as TranscriptSegment, T as TranscriptSource, af as UpcomingOccurrence, U as UserId, W as WrapUpAnnouncement, 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 breakoutClosingMs, ar as breakoutRemainingMs, as as captureHeldOf, at as collabFromState, au as createMeetApi, av as defaultCaptionLanguage, aw as fileDownloadPath, ax as focusFromRow, ay as isGuest, az as isHostRole, aA as isLinkFollower, aB as isObserverRole, aC as loadMeetingActivities, aD as scheduleSettingsPatch, aE as withItem } from './collab-BNJNgXFB.js';
2
+ export { A as AccessTokenSource, k as AdmissionState, l as CAPTION_LANGUAGES, m as CallId, d as CallInvite, f as CallMode, n as CallState, o as CallablePerson, C as CollabPanel, j as CollabSnapshot, p as ConnectionQuality, E as EMPTY_COLLAB, F as FILE_SESSION_PATH, I as InviteeInput, q as InviteeRole, J as JsonObject, r as JsonValue, L as LobbyEntry, b as MeetApi, s as MeetApiOptions, t as MeetApiRequest, u as MeetAppFocus, v as MeetBreakoutBroadcast, w as MeetBreakoutPlan, x as MeetBreakoutRoom, y as MeetCollabSettings, z as MeetFileMedia, c as MeetIdentity, a as MeetParticipant, B as MeetPoll, D as MeetPollOption, G as MeetPollState, H as MeetQuestion, K as MeetQuestionState, N as MeetStroke, Q as MeetingActivities, i as MeetingAppPanel, V as MeetingAttendee, X as MeetingChanges, h as MeetingId, Y as MeetingInvitee, Z as MeetingKind, g as MeetingNote, _ as MeetingNoteKind, $ as MeetingOccurrence, M as MeetingRecord, a0 as MeetingSettings, a1 as NoteTakerState, a2 as ORGANIZATION_HEADER, a3 as ObserversVisibleTo, a4 as OccurrenceOverride, a5 as OccurrenceState, O as OrganizationId, P as ParticipantIdentity, e as ParticipantRole, a6 as ParticipantStanding, a7 as ROLE_RANK, a8 as RecordingPolicy, a9 as RecordingRecord, aa as RecordingState, R as RoomName, ab as RsvpAnswer, ac as RsvpInvitation, ad as RsvpState, S as StageLayout, ae as TranscriptSegment, T as TranscriptSource, af as UpcomingOccurrence, U as UserId, W as WrapUpAnnouncement, 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 breakoutClosingMs, ar as breakoutRemainingMs, as as captureHeldOf, at as collabFromState, au as createMeetApi, av as defaultCaptionLanguage, aw as fileDownloadPath, ax as focusFromRow, ay as isGuest, az as isHostRole, aA as isLinkFollower, aB as isObserverRole, aC as loadMeetingActivities, aD as scheduleSettingsPatch, aE as withItem } from './collab-D1TX5uf9.js';
3
3
  import '@ai-matrx/realtime';
4
4
  import '@ai-matrx/messaging';
5
5
  import 'livekit-client';
package/dist/index.js CHANGED
@@ -323,7 +323,8 @@ function createWebResumeStorage() {
323
323
  }
324
324
  };
325
325
  }
326
- var CLEARS_RESUME = (phase) => phase === "left" || phase === "removed" || phase === "superseded" || phase === "inactive" || phase === "ended" || phase === "record" || phase === "prejoin" || phase.startsWith("refused:") || phase.startsWith("waiting:");
326
+ var CLEARS_RESUME = (phase) => phase === "left" || phase === "removed" || phase === "superseded" || phase === "inactive" || phase === "ended" || phase === "record" || phase === "prejoin" || phase === "denied" || phase === "knock_expired" || phase.startsWith("refused:");
327
+ var WAITING_RESUMES = (phase) => phase.startsWith("waiting:");
327
328
  function autoRejoinDelayMs(attempt, random = Math.random) {
328
329
  const base = Math.min(15e3, 1e3 * 2 ** Math.max(0, attempt));
329
330
  return Math.round(base * (0.5 + random()));
@@ -455,6 +456,10 @@ function createConnectionSupervisor(options) {
455
456
  rejoinAttempts = 0;
456
457
  stopRejoin();
457
458
  saveMarker(true);
459
+ } else if (WAITING_RESUMES(phase)) {
460
+ stopRejoin();
461
+ driverRegion = null;
462
+ saveMarker(true);
458
463
  } else if (phase === "disconnected") {
459
464
  driverRegion = null;
460
465
  saveMarker(true);
@@ -630,10 +635,10 @@ var MEET_ROUTES = {
630
635
  recordingStop: "/api/v1/meet/recording/stop",
631
636
  noteTakerStart: "/api/v1/meet/agent/start",
632
637
  noteTakerStop: "/api/v1/meet/agent/stop",
633
- /** In-meeting Q&A. Streams NDJSON; body is `{meeting_id, question}` only. */
634
- intelligenceAsk: "/api/v1/meet/intelligence/ask",
635
638
  /** Anyone in the meeting (guests with the room pass included) asks for captions for themselves. */
636
639
  noteTakerCaptions: "/api/v1/meet/agent/captions",
640
+ /** In-meeting Q&A. Streams NDJSON; body is `{meeting_id, question}` only. */
641
+ intelligenceAsk: "/api/v1/meet/intelligence/ask",
637
642
  /** A host ends the meeting for everyone. Served by MRI-A6. */
638
643
  meetingEnd: "/api/v1/meet/end",
639
644
  /**
@@ -758,6 +763,7 @@ function parseRoomToken(body, roomName) {
758
763
  connectionIdentity: readString(payload, "connection_identity") ?? personKey,
759
764
  connectionKind: readString(payload, "connection_kind") === "companion" ? "companion" : "main",
760
765
  secondDeviceChoice,
766
+ secondDeviceRule: readString(payload, "second_device_rule"),
761
767
  displayName: readString(payload, "display_name") ?? readString(payload, "displayName") ?? identity,
762
768
  expiresAt,
763
769
  canPublish: readBoolean(payload, "can_publish", true),
@@ -1302,6 +1308,7 @@ var STATES = [
1302
1308
  "ended"
1303
1309
  ];
1304
1310
  function readState(value) {
1311
+ if (value === "dispatching") return "joining";
1305
1312
  return typeof value === "string" && STATES.includes(value) ? value : null;
1306
1313
  }
1307
1314
  function isNoteTaker(participant) {
@@ -1496,6 +1503,12 @@ var JOINABLE_FROM = /* @__PURE__ */ new Set([
1496
1503
  // allows the press; the server's gate decides whether it knocks or is refused again.
1497
1504
  "refused:lobby_rejects"
1498
1505
  ]);
1506
+ var RETRYABLE_REFUSALS = /* @__PURE__ */ new Set([
1507
+ "refused:locked",
1508
+ "refused:too_early",
1509
+ "refused:meeting_full",
1510
+ "refused:platform_capacity"
1511
+ ]);
1499
1512
  var NOT_ENDABLE = /* @__PURE__ */ new Set([
1500
1513
  "ended",
1501
1514
  "record",
@@ -1561,7 +1574,7 @@ function nextPhase(from, event) {
1561
1574
  case "link_state":
1562
1575
  return from === "resolving" && event.reason !== null && isJoinRefusalReason(event.reason) ? refusalPhase(event.reason) : null;
1563
1576
  case "join":
1564
- return JOINABLE_FROM.has(from) ? "joining" : null;
1577
+ return JOINABLE_FROM.has(from) || RETRYABLE_REFUSALS.has(from) ? "joining" : null;
1565
1578
  case "auto_rejoin":
1566
1579
  return from === "disconnected" ? "joining" : null;
1567
1580
  case "resumed":
@@ -1986,6 +1999,10 @@ var RPCS = {
1986
1999
  admitAll: "meet_admit_all",
1987
2000
  setLock: "meet_set_lock",
1988
2001
  recordConsent: "meet_record_consent",
2002
+ /** One meeting rule as the gate obeys it (the knob ladder, this meeting's rung included). */
2003
+ meetingRule: "meet_policy",
2004
+ /** A host sets one rule for THIS meeting (the `meet_meeting` rung); refusals come back as `{ok:false}`. */
2005
+ setMeetingRule: "meet_policy_set",
1989
2006
  /*
1990
2007
  * ── MEET WAVE 1 — management (0.8). Every write is a SECURITY DEFINER door
1991
2008
  * authorized by the meeting's host or a real iam grant (editor to change,
@@ -2032,7 +2049,7 @@ var INVITEE_COLUMNS = "id,meeting_id,invitee_user_id,email,display_name,role,rsv
2032
2049
  var RECORDING_COLUMNS = "id,meeting_id,state,started_at,ended_at,started_by,file_id,failure_reason";
2033
2050
  var SEGMENT_COLUMNS = "id,meeting_id,identity,speaker,text,started_at,is_final,metadata";
2034
2051
  var NOTE_COLUMNS = "id,meeting_id,text,kind,assignee_user_id,created_at,metadata";
2035
- var ATTENDEE_COLUMNS = "id,meeting_id,identity,participant_user_id,display_name,avatar_url,role,admission_state,knocked_at,knock_expires_at,is_agent,joined_at,left_at,sessions:metadata->sessions";
2052
+ var ATTENDEE_COLUMNS = "id,meeting_id,identity,participant_user_id,display_name,avatar_url,role,admission_state,knocked_at,knock_expires_at,is_agent,joined_at,left_at,sessions:metadata->sessions,knock_flag:metadata->>knock_flag";
2036
2053
  function projectStays(value) {
2037
2054
  if (!Array.isArray(value)) return [];
2038
2055
  const stays = [];
@@ -2432,6 +2449,8 @@ function createMeetRepository(options) {
2432
2449
  admissionState: states.includes(admission) ? admission : "admitted",
2433
2450
  knockedAt: text(row, "knocked_at"),
2434
2451
  knockExpiresAt: text(row, "knock_expires_at"),
2452
+ // The list read selects `metadata->>knock_flag`; a Postgres Changes row carries `metadata`.
2453
+ knockFlag: text(row, "knock_flag") ?? (typeof row["metadata"] === "object" && row["metadata"] !== null ? text(row["metadata"], "knock_flag") : null),
2435
2454
  isAgent: bool(row, "is_agent", false),
2436
2455
  joinedAt: text(row, "joined_at"),
2437
2456
  leftAt: text(row, "left_at"),
@@ -2755,6 +2774,25 @@ function createMeetRepository(options) {
2755
2774
  );
2756
2775
  return projectMeeting(row);
2757
2776
  },
2777
+ async meetingRule(meetingId, key) {
2778
+ const response = await db.rpc(RPCS.meetingRule, { p_meeting_id: meetingId, p_key: key });
2779
+ if (response.error !== null) throw normalizeMeetError(response.error, "meet.meetingRule");
2780
+ return response.data;
2781
+ },
2782
+ async setMeetingRule(meetingId, key, value) {
2783
+ const response = await db.rpc(RPCS.setMeetingRule, { p_meeting_id: meetingId, p_key: key, p_value: value });
2784
+ if (response.error !== null) throw normalizeMeetError(response.error, "meet.setMeetingRule");
2785
+ const answer = response.data ?? {};
2786
+ if (answer["ok"] !== true) {
2787
+ throw new MeetError(
2788
+ "forbidden",
2789
+ typeof answer["detail"] === "string" ? answer["detail"] : "This meeting's rule was not changed.",
2790
+ "Only the meeting's host or a co-host sets its rules; an organization can lock a rule for everyone.",
2791
+ answer
2792
+ );
2793
+ }
2794
+ return answer["effective_value"];
2795
+ },
2758
2796
  async transcript(meetingId, limit = 1e3) {
2759
2797
  const response = await db.from(TABLES.transcripts).select(SEGMENT_COLUMNS).eq("meeting_id", meetingId).order("started_at", { ascending: true }).order("id", { ascending: true }).limit(limit);
2760
2798
  if (response.error !== null) throw normalizeMeetError(response.error, "meet.transcript");
@@ -4920,7 +4958,8 @@ function lobbyEntryFrom(attendee, now = Date.now()) {
4920
4958
  knockedAt: attendee.knockedAt ?? attendee.joinedAt ?? (/* @__PURE__ */ new Date()).toISOString(),
4921
4959
  knockExpiresAt: attendee.knockExpiresAt ?? null,
4922
4960
  decidedAt: null,
4923
- decidedBy: null
4961
+ decidedBy: null,
4962
+ flag: attendee.knockFlag ?? null
4924
4963
  };
4925
4964
  }
4926
4965
  function deniedEntryFrom(attendee) {
@@ -5092,11 +5131,15 @@ function createMeetingSession(options) {
5092
5131
  }
5093
5132
  let policyTimer = null;
5094
5133
  let policyReading = false;
5134
+ let policyInFlight = null;
5095
5135
  async function readLivePolicy() {
5096
5136
  const meeting = store.snapshot().meeting;
5097
5137
  const pass = options.resolvePass?.() ?? null;
5098
- if (meeting === null || pass === null || policyReading) return;
5138
+ if (meeting === null || pass === null) return;
5139
+ if (policyReading) return policyInFlight ?? void 0;
5099
5140
  policyReading = true;
5141
+ let done = () => void 0;
5142
+ policyInFlight = new Promise((resolve) => done = resolve);
5100
5143
  try {
5101
5144
  const response = await options.api.request({
5102
5145
  path: `${MEET_ROUTES.state}?meeting_id=${encodeURIComponent(meeting.id)}`,
@@ -5117,6 +5160,8 @@ function createMeetingSession(options) {
5117
5160
  } catch {
5118
5161
  } finally {
5119
5162
  policyReading = false;
5163
+ policyInFlight = null;
5164
+ done();
5120
5165
  }
5121
5166
  }
5122
5167
  function syncLivePolicyTimer() {
@@ -5415,6 +5460,7 @@ function createMeetingSession(options) {
5415
5460
  },
5416
5461
  stopWaiting,
5417
5462
  readState: readState2,
5463
+ readLivePolicy,
5418
5464
  async readExit(connection, held) {
5419
5465
  const meeting = store.snapshot().meeting;
5420
5466
  const pass = held ?? options.resolvePass?.() ?? null;
@@ -5452,6 +5498,17 @@ function createMeetingSession(options) {
5452
5498
  async askAgain() {
5453
5499
  await options.rejoin?.();
5454
5500
  },
5501
+ async meetingRule(key) {
5502
+ const meeting = requireMeeting("meet.meetingRule");
5503
+ return repository.meetingRule(meeting.id, key);
5504
+ },
5505
+ async setMeetingRule(key, value) {
5506
+ requireHostUser("meet.setMeetingRule");
5507
+ const meeting = requireMeeting("meet.setMeetingRule");
5508
+ const effective = await repository.setMeetingRule(meeting.id, key, value);
5509
+ hint();
5510
+ return effective;
5511
+ },
5455
5512
  async setLock(locked) {
5456
5513
  const by = requireHostUser("meet.setLock");
5457
5514
  const meeting = requireMeeting("meet.setLock");
@@ -6843,7 +6900,7 @@ function createRoomEngine(options) {
6843
6900
  const { secondDevice: _answered, ...rest } = lastRequest;
6844
6901
  lastRequest = rest;
6845
6902
  }
6846
- options.tabClaim?.inRoom(String(request.roomName), String(token.identity));
6903
+ options.tabClaim?.inRoom(String(request.roomName), String(token.identity), token.secondDeviceRule ?? null);
6847
6904
  current = token;
6848
6905
  lastServerUrl = token.serverUrl;
6849
6906
  connectionPolicy = token.connectionPolicy ?? DEFAULT_CONNECTION_POLICY;
@@ -7155,10 +7212,12 @@ function createRoomEngine(options) {
7155
7212
  if (claim === void 0 || userId === null) return false;
7156
7213
  const before = store.snapshot();
7157
7214
  if (before.phase !== "prejoin" || before.secondDevice !== null) return false;
7158
- if (!await claim.presentElsewhere(String(roomName), `user:${String(userId)}`)) return false;
7215
+ const person = `user:${String(userId)}`;
7216
+ const found = claim.presenceElsewhere !== void 0 ? await claim.presenceElsewhere(String(roomName), person) : await claim.presentElsewhere(String(roomName), person) ? { rule: null } : null;
7217
+ if (found === null || found.rule === "allow_both") return false;
7159
7218
  const now2 = store.snapshot();
7160
7219
  if (now2.phase !== "prejoin" || now2.secondDevice !== null) return false;
7161
- store.patch({ secondDevice: { rule: "ask_switch_or_join" } });
7220
+ store.patch({ secondDevice: { rule: found.rule ?? "ask_switch_or_join" } });
7162
7221
  report("info", "meet: this browser already has you in this meeting \u2014 offering the choice before Join");
7163
7222
  return true;
7164
7223
  },
@@ -7414,6 +7473,7 @@ function createInRoomClient(options) {
7414
7473
  action: request.action,
7415
7474
  ...request.identity != null ? { identity: request.identity } : {},
7416
7475
  ...request.name !== void 0 ? { name: request.name } : {},
7476
+ ...request.value !== void 0 ? { value: request.value } : {},
7417
7477
  ...request.reason !== void 0 ? { reason: request.reason } : {}
7418
7478
  },
7419
7479
  ...hdrs !== void 0 ? { headers: hdrs } : {}