@3dsource/angular-unreal-module 0.0.156-dev.0 → 0.0.157

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3dsource/angular-unreal-module",
3
- "version": "0.0.156-dev.0",
3
+ "version": "0.0.157",
4
4
  "description": "Unreal module for connect with unreal engine stream",
5
5
  "keywords": [
6
6
  "3dsource",
@@ -620,6 +620,279 @@ interface StreamResolutionProps {
620
620
  height: number | null;
621
621
  }
622
622
 
623
+ /**
624
+ * Wire contract for every event `StreamStatusTelemetryService2` dispatches
625
+ * through `trackTelemetryData`.
626
+ *
627
+ * This file is the **single source of truth** for the producer side. The
628
+ * consumer side lives in the telemetry viewer
629
+ * (`253.StreamTelemetry/src/app/telemetry/models/telemetry.types.ts`) — any
630
+ * change here needs a paired edit there.
631
+ *
632
+ * Event taxonomy (8 names, 6 payload shapes):
633
+ * | event | payload |
634
+ * |----------------------------|------------------------------------|
635
+ * | `stream.session_started` | {@link SessionStartedData} |
636
+ * | `stream.phase_ended` | {@link PhaseEndedData} |
637
+ * | `stream.session_ended` | {@link SessionEndedData} |
638
+ * | `stream.sample` | {@link SampleData} |
639
+ * | `stream.quality_degraded` | {@link QualityAnomalyData} |
640
+ * | `stream.quality_recovered` | {@link QualityAnomalyData} |
641
+ * | `stream.fps_low` | {@link FpsLowData} |
642
+ * | `stream.signaling_retry` | {@link SignalingRetryData} |
643
+ */
644
+ /**
645
+ * Every stable id the service can put on the wire — phases, milestones,
646
+ * overlays. The viewer's vocabulary maps each member to a human label, so
647
+ * every id added here needs a paired vocabulary row in the viewer
648
+ * (`telemetry-vocabulary.ts`).
649
+ */
650
+ type EventId = 'region-resolving' | 'signaling-connection' | 'webrtc-negotiation' | 'unreal-communication' | 'region-ping-fetch-start' | 'region-ping-fetch-end' | 'region-resolved' | 'polling-started' | 'polling-ended' | 'aws-instance-resolved' | 'signaling-ws-connected' | 'instance-reserved' | 'instance-ready' | 'config-received' | 'ssinfo-received' | 'offer-received' | 'answer-sent' | 'answer-received' | 'first-ice-candidate' | 'last-ice-candidate' | 'datachannel-connected' | 'first-command-started' | 'loopback-sent' | 'loopback-received' | 'viewport-ready' | 'polling-to-instance' | 'signaling-handshake' | 'stabilization-warmup';
651
+ /**
652
+ * High-level cause of `stream.session_ended`.
653
+ * - `disconnected` — Cirrus/WebRTC dropped us mid-stream (granular cause
654
+ * rides in {@link SessionEndedData.disconnectReason}).
655
+ * - `pagehide` — tab closed / evicted to bfcache.
656
+ * - `restart` — a new connection attempt superseded this session.
657
+ * - `destroy` — the scene component was torn down (route change).
658
+ */
659
+ type SessionEndReason = 'disconnected' | 'pagehide' | 'restart' | 'destroy';
660
+ /** Which retry loop in `SignallingService` fired. Mirrors the
661
+ * `signalingRetryAttempted` action's `kind`. */
662
+ type SignalingRetryKind = 'ws-retry' | 'connect' | 'orchestration' | 'region-cycle';
663
+ /**
664
+ * Statistical summary of a time-series metric (bitrate, fps, qp, jitter,
665
+ * rtt) over one aggregation window (5 s, ~20 samples at 250 ms).
666
+ *
667
+ * - `p50` — the typical tick; robust to outliers, primary dashboard signal.
668
+ * - `p95` — the bad tail users actually perceive; preferred for SLOs.
669
+ * - `min` — worst single tick (freeze detection).
670
+ * - `max` — best single tick (did we ever reach the target?).
671
+ */
672
+ interface WindowAggregate {
673
+ readonly p50: number;
674
+ readonly p95: number;
675
+ readonly min: number;
676
+ readonly max: number;
677
+ }
678
+ /** Milestone pin inside a phase. `id` is stable and kebab-case; the human
679
+ * label lives in the viewer's vocabulary. `time` is anchor-relative ms. */
680
+ interface EmittedMilestone {
681
+ readonly id: EventId;
682
+ readonly time: number;
683
+ }
684
+ /** Display key/value row, rendered verbatim in the viewer's phase tooltip.
685
+ * Always primitives — structured values are pre-formatted by the phase
686
+ * closer before flattening. */
687
+ interface PhaseParam {
688
+ readonly key: string;
689
+ readonly value: string;
690
+ }
691
+ /** Diagonal-striped region inside a phase bar. Endpoints are
692
+ * anchor-relative ms, already resolved by the producer. */
693
+ interface PhaseOverlay {
694
+ readonly fromMs: number;
695
+ readonly toMs: number;
696
+ readonly id: EventId;
697
+ }
698
+ /** Selected WebRTC ICE candidate pair, read off `AggregatedStat`. Flattened
699
+ * to `localCandidate` / `remoteCandidate` params by the viewport closer. */
700
+ interface SelectedIceCandidatePair {
701
+ readonly local: {
702
+ type: string;
703
+ url: string;
704
+ };
705
+ readonly remote: {
706
+ type: string;
707
+ url: string;
708
+ };
709
+ }
710
+ /** Resource Timing totals for one `initiatorType` (or the grand total).
711
+ * `durationMs` is the SUM across the bucket — with `count` it yields the
712
+ * average per request, and `maxDurationMs` the slowest single one. */
713
+ interface ResourceBucket {
714
+ readonly count: number;
715
+ /** `transferSize === 0 && decodedBodySize > 0` — served from HTTP cache. */
716
+ readonly cachedCount: number;
717
+ readonly transferSize: number;
718
+ readonly encodedBodySize: number;
719
+ readonly decodedBodySize: number;
720
+ readonly durationMs: number;
721
+ readonly maxDurationMs: number;
722
+ }
723
+ interface ResourceTotals extends ResourceBucket {
724
+ readonly byType: Record<string, ResourceBucket>;
725
+ }
726
+ /** One entry of {@link BootstrapInfo.slowestResources}. */
727
+ interface SlowResource {
728
+ /** Path only — origin and query stripped (short, stable, no PII). */
729
+ readonly name: string;
730
+ /** Resource Timing `initiatorType`: 'script' | 'css' | 'img' | 'fetch' | … */
731
+ readonly type: string;
732
+ /** `responseEnd − startTime`, ms. */
733
+ readonly durationMs: number;
734
+ /** Bytes over the wire (0 = served from cache). */
735
+ readonly transferKb: number;
736
+ /** Fetched after `window.load` (lazy route chunk) vs. during page load. */
737
+ readonly lazy: boolean;
738
+ }
739
+ /** Navigation / page-load context explaining the "app bootstrap →
740
+ * session_started" waterfall row. `null` when the Navigation Timing entry
741
+ * is unavailable. */
742
+ interface BootstrapInfo {
743
+ /** `'navigate' | 'reload' | 'back_forward' | 'prerender'`. */
744
+ readonly type: NavigationTimingType;
745
+ /** `nextHopProtocol` — 'h2' / 'h3' / 'http/1.1'. */
746
+ readonly protocol: string | null;
747
+ readonly firstByteMs: number;
748
+ readonly domInteractiveMs: number;
749
+ readonly domContentLoadedMs: number;
750
+ readonly loadEventMs: number;
751
+ readonly navigationTransferSize: number | null;
752
+ readonly navigationEncodedBodySize: number | null;
753
+ readonly navigationDecodedBodySize: number | null;
754
+ /** Resources fetched **before** `loadEventEnd` — page weight. */
755
+ readonly resources: ResourceTotals | null;
756
+ /** Resources fetched **after** `loadEventEnd` — typically lazy chunks for
757
+ * the route the streamer lives on. */
758
+ readonly lazyResources: ResourceTotals | null;
759
+ /** Top-8 slowest individual resources, so the viewer can name the
760
+ * offending file / endpoint. */
761
+ readonly slowestResources: readonly SlowResource[];
762
+ }
763
+ /** Fields present on EVERY event. `userId` is attached centrally by
764
+ * `track()`; the server buckets files under `data/<userId>/<sessionId>`. */
765
+ interface TelemetryEventEnvelope {
766
+ readonly userId: string;
767
+ readonly sessionId: string;
768
+ }
769
+ /** Lifecycle events additionally carry a phase-local `duration` — ms since
770
+ * the previous lifecycle event, NOT anchor-relative. */
771
+ interface TelemetryLifecycleEnvelope extends TelemetryEventEnvelope {
772
+ readonly duration: number;
773
+ }
774
+ /** `stream.session_started` — once per real connection attempt.
775
+ * `duration` = full page-load elapsed on the first session, 0 on resume. */
776
+ interface SessionStartedData extends TelemetryLifecycleEnvelope {
777
+ readonly startTimeUtc: string;
778
+ readonly pixelRatio: number;
779
+ /** `window.innerWidth/innerHeight` at session start — the container that
780
+ * gates rendered video resolution, not the physical screen. */
781
+ readonly browserInnerSize: {
782
+ readonly width: number;
783
+ readonly height: number;
784
+ };
785
+ readonly userAgent: string;
786
+ readonly sampleWindowMs: number;
787
+ /** `location.href` — the server-observed `Referer` is origin-truncated. */
788
+ readonly pageUrl: string;
789
+ readonly bootstrapInfo?: BootstrapInfo;
790
+ }
791
+ /** `stream.phase_ended` — once per phase closer in the service's catalog.
792
+ * No display text on the wire; the viewer's vocabulary resolves every id. */
793
+ interface PhaseEndedData extends TelemetryLifecycleEnvelope {
794
+ /** Stable 1-based catalog index — the viewer orders phases by this. */
795
+ readonly phaseNo: number;
796
+ readonly id: EventId;
797
+ /** CSS hex color for the bar fill. */
798
+ readonly color: string;
799
+ readonly milestones: readonly EmittedMilestone[];
800
+ readonly params: readonly PhaseParam[];
801
+ readonly overlays: readonly PhaseOverlay[];
802
+ /** Set on the connection phases of an ADOPTED prefetched stream: the
803
+ * handshake ran in parallel with page load, so the bar is positioned at
804
+ * {@link spanStartMs} (left-shifted) instead of sequentially. */
805
+ readonly prefetched?: boolean;
806
+ /** Anchor-relative start (ms) of a {@link prefetched} phase's bar. */
807
+ readonly spanStartMs?: number;
808
+ /** Anchor-relative moment Angular adopted the prefetched connection — the
809
+ * sequential timeline resumes here. */
810
+ readonly adoptionAtMs?: number;
811
+ }
812
+ /** `stream.session_ended` — once per session, on disconnect / pagehide /
813
+ * restart / destroy. Requires `api_transport: 'sendBeacon'` to survive a
814
+ * tab close. */
815
+ interface SessionEndedData extends TelemetryLifecycleEnvelope {
816
+ readonly reason: SessionEndReason;
817
+ /** Granular cause read from store state. Omitted when state is clean. */
818
+ readonly disconnectReason?: DisconnectReasonType;
819
+ /** Free-text message paired with {@link disconnectReason}, only when the
820
+ * originating action carried one (e.g. `"Manual Console Drop"`). */
821
+ readonly disconnectMessage?: string;
822
+ readonly timestamp: string;
823
+ }
824
+ /** `stream.sample` — every 5 s, window-aggregated. `seq` is monotonic per
825
+ * session for server-side ordering & dedup. */
826
+ interface SampleData extends TelemetryEventEnvelope {
827
+ readonly seq: number;
828
+ readonly timestamp: string;
829
+ readonly sampleCount: number;
830
+ readonly visibilityState: DocumentVisibilityState;
831
+ readonly bitrate: WindowAggregate;
832
+ readonly fps: WindowAggregate;
833
+ readonly qp: WindowAggregate;
834
+ readonly jitter: WindowAggregate;
835
+ readonly rtt: WindowAggregate;
836
+ readonly packetsLost?: number;
837
+ readonly viewPort: {
838
+ readonly width?: number;
839
+ readonly height?: number;
840
+ };
841
+ }
842
+ /** `stream.quality_degraded` / `stream.quality_recovered` — QP p50 crossing
843
+ * the red threshold (35) in either direction. */
844
+ interface QualityAnomalyData extends TelemetryEventEnvelope {
845
+ readonly seq: number;
846
+ readonly timestamp: string;
847
+ readonly qpP50: number;
848
+ readonly qpP95: number;
849
+ }
850
+ /** `stream.fps_low` — window FPS p50 dropped below 70% of the target. */
851
+ interface FpsLowData extends TelemetryEventEnvelope {
852
+ readonly seq: number;
853
+ readonly timestamp: string;
854
+ /** Requested `maxFps`; `0` means unlimited. */
855
+ readonly target: number;
856
+ /** Target actually compared against (60 when `target === 0`). */
857
+ readonly referenceTarget: number;
858
+ readonly fpsP50: number;
859
+ readonly fpsP95: number;
860
+ }
861
+ /** `stream.signaling_retry` — one per `retry({ delay })` fire in
862
+ * `SignallingService`. Surfaced in the viewer's Anomalies table. */
863
+ interface SignalingRetryData extends TelemetryEventEnvelope {
864
+ readonly seq: number;
865
+ readonly timestamp: string;
866
+ readonly attempt: number;
867
+ readonly reason: string;
868
+ readonly kind: SignalingRetryKind;
869
+ }
870
+ /** Event name → payload. The authoritative index of the wire taxonomy. */
871
+ interface StreamTelemetryEventMap {
872
+ 'stream.session_started': SessionStartedData;
873
+ 'stream.phase_ended': PhaseEndedData;
874
+ 'stream.session_ended': SessionEndedData;
875
+ 'stream.sample': SampleData;
876
+ 'stream.quality_degraded': QualityAnomalyData;
877
+ 'stream.quality_recovered': QualityAnomalyData;
878
+ 'stream.fps_low': FpsLowData;
879
+ 'stream.signaling_retry': SignalingRetryData;
880
+ }
881
+ type StreamTelemetryEventName = keyof StreamTelemetryEventMap;
882
+ /** Names emitted via `emitLifecycle` — the three `duration`-carrying events. */
883
+ type StreamTelemetryLifecycleEventName = 'stream.session_started' | 'stream.phase_ended' | 'stream.session_ended';
884
+ /** Discriminated union of every `trackTelemetryData` envelope. */
885
+ type StreamTelemetryEvent = {
886
+ [K in StreamTelemetryEventName]: {
887
+ readonly event: K;
888
+ readonly data: StreamTelemetryEventMap[K];
889
+ };
890
+ }[StreamTelemetryEventName];
891
+ /** Payload a caller supplies to `track()` — `userId` is added centrally. */
892
+ type StreamTelemetryTrackData<K extends StreamTelemetryEventName> = Omit<StreamTelemetryEventMap[K], 'userId'>;
893
+ /** Payload a caller supplies to `emitLifecycle()` — `duration` is computed. */
894
+ type StreamTelemetryLifecycleData<K extends StreamTelemetryLifecycleEventName> = Omit<StreamTelemetryEventMap[K], 'userId' | 'duration'>;
895
+
623
896
  type TelemetryType = 'commandSent' | 'commandStop';
624
897
 
625
898
  declare class SubService {
@@ -1142,51 +1415,6 @@ declare class StreamStatusTelemetryService extends SubService {
1142
1415
  static ɵprov: i0.ɵɵInjectableDeclaration<StreamStatusTelemetryService>;
1143
1416
  }
1144
1417
 
1145
- /**
1146
- * Every stable id this service can emit on the wire — phases,
1147
- * milestones, overlays. The viewer's vocabulary maps each member to a
1148
- * human label, so every id added here needs a paired vocabulary row
1149
- * in the viewer (`telemetry-vocabulary.ts`).
1150
- */
1151
- type EventId = 'region-resolving' | 'signaling-connection' | 'webrtc-negotiation' | 'unreal-communication' | 'region-ping-fetch-start' | 'region-ping-fetch-end' | 'region-resolved' | 'polling-started' | 'polling-ended' | 'aws-instance-resolved' | 'signaling-ws-connected' | 'instance-reserved' | 'instance-ready' | 'config-received' | 'ssinfo-received' | 'offer-received' | 'answer-sent' | 'answer-received' | 'first-ice-candidate' | 'last-ice-candidate' | 'datachannel-connected' | 'first-command-started' | 'loopback-sent' | 'loopback-received' | 'viewport-ready' | 'polling-to-instance' | 'signaling-handshake' | 'stabilization-warmup';
1152
- /** Wire-format milestone — minimal by design. `id` is a stable
1153
- * kebab-case identifier; the viewer maps it to a human label via its
1154
- * vocabulary. */
1155
- interface EmittedMilestone {
1156
- readonly id: EventId;
1157
- readonly time: number;
1158
- }
1159
- /**
1160
- * Selected WebRTC ICE candidate pair, pulled off {@link AggregatedStat}.
1161
- * The closer for the viewport phase flattens this to two `PhaseParam`
1162
- * rows (`localCandidate`, `remoteCandidate`) before emission.
1163
- */
1164
- interface SelectedIceCandidatePair {
1165
- local: {
1166
- type: string;
1167
- url: string;
1168
- };
1169
- remote: {
1170
- type: string;
1171
- url: string;
1172
- };
1173
- }
1174
- /**
1175
- * Wire-format display key/value pair — rendered verbatim in the viewer's
1176
- * phase tooltip. Nested or structured values should be pre-formatted by
1177
- * the catalog closer's `map(...)` (string/number/boolean only).
1178
- */
1179
- interface PhaseParam {
1180
- readonly key: string;
1181
- readonly value: string;
1182
- }
1183
- /** Resolved overlay region sent on the wire. `id` is a stable
1184
- * kebab-case identifier mapped to a title by the viewer's vocabulary. */
1185
- interface PhaseOverlay {
1186
- readonly fromMs: number;
1187
- readonly toMs: number;
1188
- readonly id: EventId;
1189
- }
1190
1418
  declare class StreamStatusTelemetryService2 {
1191
1419
  private readonly store;
1192
1420
  private readonly actions$;
@@ -2810,6 +3038,22 @@ declare class UnrealEffects {
2810
3038
  code: number | null;
2811
3039
  error?: string;
2812
3040
  } & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
3041
+ /**
3042
+ * `dataChannelReady` is a ONCE-PER-SESSION signal: it starts app init
3043
+ * (console commands → loopback → viewport) and makes `SignallingService`
3044
+ * send `p2pEstablished`. Neither is idempotent, so a second
3045
+ * `dataChannelConnected` inside the same session must not re-emit it.
3046
+ *
3047
+ * That second announcement is real in the prefetch flow: `adopt()` declares
3048
+ * the already-open channel manually, while the transport it adopted can
3049
+ * still produce its own `dataChannelConnected` afterwards — the effect used
3050
+ * to turn both into `dataChannelReady`.
3051
+ *
3052
+ * `exhaustMap` over an inner stream that emits once and then idles keeps the
3053
+ * gate shut until the session actually ends; `takeUntil` re-opens it on a
3054
+ * cirrus drop, a scene destroy, or the start of a peer reconnect (which is
3055
+ * where the pre-existing `isReconnecting` filter hands over).
3056
+ */
2813
3057
  unrealReceiverReady$: rxjs.Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
2814
3058
  initAppByDataChannelReady$: rxjs.Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
2815
3059
  setViewportReadyBySetLoopBackCommandIsCompleted$: rxjs.Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
@@ -3049,4 +3293,4 @@ declare const selectUserInactivityDetected: _ngrx_store.MemoizedSelector<Record<
3049
3293
  declare const selectIsVideoPlayingAndDataChannelConnected: _ngrx_store.MemoizedSelector<Record<string, any>, boolean, (s1: boolean, s2: boolean) => boolean>;
3050
3294
 
3051
3295
  export { AFKService, AUTO_HIGH_RESOLUTION_IDLE_MS, AfkTimeoutModalComponent, AggregatorService, AnalyticsService, AnswerHandler, CommandTelemetryService, ConfigHandler, ConsoleExtensionsService, ControlScheme, DATA_CHANNEL_CONNECTION_TIMEOUT, DEBOUNCE_TO_MANY_RESIZE_CALLS, DEFAULT_AFK_TIMEOUT, DEFAULT_AFK_TIMEOUT_PERIOD, DESTROY_DISCONNECT_REASONS, DataFlowMonitor, DevModeService, DisconnectReason, FULL_HD_HEIGHT, FULL_HD_WIDTH, FileHandlerService, FileReceiverService, FilterSettingsComponent, FpsMonitorService, FreezeFrameComponent, FreezeFrameService, INNER_RETRY_LIMIT, IceCandidateHandler, ImageLoadingSrcComponent, InputOptions, InputService, InstanceReadyHandler, InstanceReservedHandler, IntroSrcComponent, KalmanFilter1D, LatencyTimings, LoadingProgressService, LowBandwidthDetectorComponent, LowBandwidthModalComponent, LowBandwidthStateService, MINIMAL_FPS, MIN_CONTAINER_SIZE, MessageType, MouseButton, MouseButtonsMask, OUTER_RETRY_DELAY, OnCloseHandler, OnErrorHandler, OnMessageHandler, OnOpenHandler, OrchestrationMessageTypes, POLLING_TIME, PingHandler, PlayerCountHandler, RECONNECT_CONFIG, REGION_PING_ACCURATE_SAMPLES, REGION_PING_BACKGROUND_REFRESH_DELAY_MS, REGION_PING_CACHE_KEY, REGION_PING_CACHE_TTL_MS, REGION_PING_WARMUP_DEADLINE_MS, RegionsPingService, SAME_SIZE_THRESHOLD, SCREEN_LOCKER_CONTAINER_ID, SIGNALLING_PERCENT_VALUE, SSInfoHandler, STREAMING_AUDIO_ID, STREAMING_VIDEO_ID, SafePipe, SignallingService, SpecialKeyCodes, StatGraphComponent, StreamAdoptionService, StreamStatusTelemetryService, StreamStatusTelemetryService2, SubService, ToClientMessage, UNREAL_CONFIG, UnrealCallbackService, UnrealCommunicatorService, UnrealEffects, UnrealSceneComponent, UnrealStatusMessage, VideoService, VideoStatsComponent, WSCloseCode_CIRRUS_ABNORMAL_CLOSURE, WSCloseCode_CIRRUS_MAX_PLAYERS_ERROR, WSCloseCode_CIRRUS_PLAYER_DISCONNECTED, WSCloseCode_CIRRUS_STREAMER_KIKED_PLAYER, WSCloseCode_FORCE_CIRRUS_CLOSE, WSCloseCode_NORMAL_AFK_TIMEOUT, WSCloseCode_NORMAL_CLOSURE, WSCloseCode_NORMAL_MANUAL_DISCONNECT, WSCloseCode_UNKNOWN, WSCloseCodes, WS_OPEN_STATE, WS_RETRY_PER_INSTANCE, WS_TIMEOUT, WebRtcPlayerService, WebrtcErrorModalComponent, abortEstablishingConnection, answerSent, changeStatusMainVideoOnScene, changeStreamResolutionAction, commandCompleted, commandStarted, dataChannelConnected, dataChannelReady, decodeData, destroyRemoteConnections, destroyUnrealScene, disconnectStream, dispatchResize, dropConnection, dropDC, dropPC, floatToPercents, floatToSmoothPercents, forceResizeViewport, fromResizeObserver, getActiveUrl, getImageFromVideoStream, getResizeStudioValues, getResizeValuesUniversal, getRtcErrorMessage, iceConnectionFailed, initSignalling, instanceReady, keepMaxUntilReset, makeEven, pollingEnded, pollingStarted, provideUnrealModule, provideUnrealState, qpToQuality, reconnectPeer, reconnectPeerFailed, reconnectPeerSuccess, regionPingFetchEnd, regionPingFetchStart, regionResolved, resetAfk, resetConfig, resetDataChannelForReconnect, resetIntroSrc, resetUserInactivityTimeout, resetWarnTimeout, saveAnalyticsEvent, selectCirrusConnectionId, selectClientAndViewIds, selectCommandProgress, selectFreezeFrameCombinedDataUrl, selectFreezeFrameDataUrl, selectFreezeFrameDataUrlFromVideo, selectFreezeFrameProgressMessageFromVideo, selectIsAutostart, selectIsExistMatchUrls, selectIsFreezeFrameLoading, selectIsFullyConnected, selectIsLoaderScreenVisible, selectIsVideoPlayingAndDataChannelConnected, selectShowLoader, selectShowReconnectPopup, selectSignalingParameters, selectStreamConfig, selectTotalProgress, selectUserInactivityDetected, selectWarnTimeout, setAfkTimerCountdown, setAfkTimerHide, setAfkTimerVisible, setAwsInstance, setCirrusConnected, setCirrusDisconnected, setConfig, setEstablishingConnection, setFreezeFrame, setFreezeFrameFromVideo, setIntroImageSrc, setIntroVideoSrc, setLoadingImageSrc, setLoopBackCommandIsCompleted, setMaxFps, setOrchestrationContext, setOrchestrationMessage, setOrchestrationParameters, setOrchestrationProgress, setSignalingName, setStatusMessage, setStatusPercentSignallingServer, setStreamClientCompanyId, setStreamViewId, setUnrealPlaywrightConfig, setUserInactivityTimeout, setViewportNotReady, setViewportReady, showLoadingProgress, showResumeStreamPopup, showUnrealErrorMessage, showUserInactivityTimeoutPopup, signalingRetryAttempted, smoothTransition, startStream, streamAdopted, trackMixpanelEvent, trackTelemetryData, uint8ToBase64, unrealCommandCallback, unrealFeature, unrealReducer, updateCirrusInfo, videoAdaptedToContainer, videoStreamInitialized };
3052
- export type { AggregatedStat, AnySignalingMessage, AwsInstance, CandidateMessage, CloseReason, CommandInProgress, ConfigMessage, ConnectionError, ControlSchemeValues, DataFlowCheckResult, DisconnectReasonType, EmittedMilestone, EventId, ForceClientDisconnect, FreezeFrameMessage, InboundVideoStats, InputProps, InstanceReady, InstanceReserved, InterruptClientStream, ListStreamersMessage, MessageBase, MessageTypeValues, OrchestrationErrorMessage, OrchestrationMessageType, P2PEstablishedMessage, ParkedStream, PhaseOverlay, PhaseParam, PingMessage, PlayerCountMessage, PollingOrchestrationMessage, Quality, ReceivedFile, RequestStream, SSInfo, SelectedIceCandidatePair, SignalingData, SignalingMessageHandler, SignalingMessageMap, StreamConfig, StreamRequestContext, StreamResolutionProps, StreamerListMessage, TelemetryType, UnknownFields, UnrealCallbackDescriptor, UnrealCallbackEventMap, UnrealCallbackJson, UnrealCallbackJsonWrapped, UnrealInitialConfig, UnrealState, WSCloseCodesValues, streamPreparedForUserInteractionMessage };
3296
+ export type { AggregatedStat, AnySignalingMessage, AwsInstance, BootstrapInfo, CandidateMessage, CloseReason, CommandInProgress, ConfigMessage, ConnectionError, ControlSchemeValues, DataFlowCheckResult, DisconnectReasonType, EmittedMilestone, EventId, ForceClientDisconnect, FpsLowData, FreezeFrameMessage, InboundVideoStats, InputProps, InstanceReady, InstanceReserved, InterruptClientStream, ListStreamersMessage, MessageBase, MessageTypeValues, OrchestrationErrorMessage, OrchestrationMessageType, P2PEstablishedMessage, ParkedStream, PhaseEndedData, PhaseOverlay, PhaseParam, PingMessage, PlayerCountMessage, PollingOrchestrationMessage, Quality, QualityAnomalyData, ReceivedFile, RequestStream, ResourceBucket, ResourceTotals, SSInfo, SampleData, SelectedIceCandidatePair, SessionEndReason, SessionEndedData, SessionStartedData, SignalingData, SignalingMessageHandler, SignalingMessageMap, SignalingRetryData, SignalingRetryKind, SlowResource, StreamConfig, StreamRequestContext, StreamResolutionProps, StreamTelemetryEvent, StreamTelemetryEventMap, StreamTelemetryEventName, StreamTelemetryLifecycleData, StreamTelemetryLifecycleEventName, StreamTelemetryTrackData, StreamerListMessage, TelemetryEventEnvelope, TelemetryLifecycleEnvelope, TelemetryType, UnknownFields, UnrealCallbackDescriptor, UnrealCallbackEventMap, UnrealCallbackJson, UnrealCallbackJsonWrapped, UnrealInitialConfig, UnrealState, WSCloseCodesValues, WindowAggregate, streamPreparedForUserInteractionMessage };