prismcast 1.12.0 → 1.13.0
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/app.d.ts +41 -1
- package/dist/app.js +164 -76
- package/dist/app.js.map +1 -1
- package/dist/browser/blockedPage.d.ts +0 -1
- package/dist/browser/browserSupervisor.d.ts +34 -5
- package/dist/browser/browserSupervisor.js +39 -12
- package/dist/browser/browserSupervisor.js.map +1 -1
- package/dist/browser/cdp.d.ts +58 -6
- package/dist/browser/cdp.js +147 -9
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +18 -6
- package/dist/browser/channelSelection.js +47 -36
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/consent.d.ts +33 -4
- package/dist/browser/consent.js +87 -50
- package/dist/browser/consent.js.map +1 -1
- package/dist/browser/display.d.ts +0 -1
- package/dist/browser/hlsPlaylistObserver.d.ts +3 -2
- package/dist/browser/hlsPlaylistObserver.js +11 -6
- package/dist/browser/hlsPlaylistObserver.js.map +1 -1
- package/dist/browser/index.d.ts +273 -59
- package/dist/browser/index.js +768 -255
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/launchGovernor.d.ts +0 -1
- package/dist/browser/login.d.ts +11 -10
- package/dist/browser/login.js +42 -33
- package/dist/browser/login.js.map +1 -1
- package/dist/browser/manifestInterceptor.d.ts +14 -5
- package/dist/browser/manifestInterceptor.js +26 -13
- package/dist/browser/manifestInterceptor.js.map +1 -1
- package/dist/browser/navigation.d.ts +28 -0
- package/dist/browser/navigation.js +57 -0
- package/dist/browser/navigation.js.map +1 -0
- package/dist/browser/pageStaleness.d.ts +1 -2
- package/dist/browser/pageStaleness.js +9 -9
- package/dist/browser/pageStaleness.js.map +1 -1
- package/dist/browser/precaching.d.ts +27 -13
- package/dist/browser/precaching.js +219 -73
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tabCapture.d.ts +97 -0
- package/dist/browser/tabCapture.js +314 -0
- package/dist/browser/tabCapture.js.map +1 -0
- package/dist/browser/tabNetworkObserver.d.ts +0 -1
- package/dist/browser/tabSelection.d.ts +117 -0
- package/dist/browser/tabSelection.js +547 -0
- package/dist/browser/tabSelection.js.map +1 -0
- package/dist/browser/tuning/cache.d.ts +0 -1
- package/dist/browser/tuning/comcastPolymer.d.ts +0 -1
- package/dist/browser/tuning/comcastPolymer.js +18 -19
- package/dist/browser/tuning/comcastPolymer.js.map +1 -1
- package/dist/browser/tuning/cox.d.ts +0 -1
- package/dist/browser/tuning/directv.d.ts +0 -1
- package/dist/browser/tuning/directv.js +12 -13
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +0 -1
- package/dist/browser/tuning/fox.js +2 -2
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/gridSearch.d.ts +0 -1
- package/dist/browser/tuning/hbo.d.ts +0 -1
- package/dist/browser/tuning/hbo.js +2 -2
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.d.ts +14 -2
- package/dist/browser/tuning/hulu.js +150 -24
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +1 -2
- package/dist/browser/tuning/shared.js +1 -1
- package/dist/browser/tuning/sling.d.ts +0 -1
- package/dist/browser/tuning/sling.js +17 -22
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.d.ts +0 -1
- package/dist/browser/tuning/thumbnailRow.d.ts +0 -1
- package/dist/browser/tuning/tileClick.d.ts +0 -1
- package/dist/browser/tuning/xfinity.d.ts +0 -1
- package/dist/browser/tuning/youtubeTv.d.ts +0 -1
- package/dist/browser/tuning/youtubeTv.js +1 -2
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +55 -33
- package/dist/browser/video.js +213 -169
- package/dist/browser/video.js.map +1 -1
- package/dist/browser/windowSync.d.ts +45 -0
- package/dist/browser/windowSync.js +153 -0
- package/dist/browser/windowSync.js.map +1 -0
- package/dist/channels/index.d.ts +7 -1
- package/dist/channels/index.js +24 -8
- package/dist/channels/index.js.map +1 -1
- package/dist/config/channelForm.d.ts +0 -1
- package/dist/config/channelIdentity.d.ts +27 -0
- package/dist/config/channelIdentity.js +72 -0
- package/dist/config/channelIdentity.js.map +1 -0
- package/dist/config/channelSort.d.ts +25 -0
- package/dist/config/channelSort.js +101 -0
- package/dist/config/channelSort.js.map +1 -0
- package/dist/config/consistencyProbe.d.ts +0 -1
- package/dist/config/consistencyProbe.js +1 -1
- package/dist/config/consistencyProbe.js.map +1 -1
- package/dist/config/health.d.ts +3 -2
- package/dist/config/health.js +41 -31
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.d.ts +12 -1
- package/dist/config/index.js +77 -31
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +17 -2
- package/dist/config/paths.js +21 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/persistence.context.d.ts +0 -1
- package/dist/config/persistence.d.ts +8 -4
- package/dist/config/persistence.js +143 -82
- package/dist/config/persistence.js.map +1 -1
- package/dist/config/presets.d.ts +0 -1
- package/dist/config/profiles.d.ts +9 -4
- package/dist/config/profiles.js +39 -6
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providerLineups.d.ts +0 -1
- package/dist/config/providerLineups.js +0 -3
- package/dist/config/providerLineups.js.map +1 -1
- package/dist/config/reactivity.d.ts +0 -1
- package/dist/config/servicePacks.d.ts +0 -1
- package/dist/config/services.d.ts +1 -47
- package/dist/config/services.js +4 -135
- package/dist/config/services.js.map +1 -1
- package/dist/config/sites.d.ts +0 -9
- package/dist/config/sites.js +82 -98
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +22 -29
- package/dist/config/userChannels.js +47 -65
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +19 -4
- package/dist/config/userConfig.js +123 -25
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +2 -3
- package/dist/config/userProfiles.js +16 -13
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +0 -1
- package/dist/hdhr/deviceId.d.ts +0 -1
- package/dist/hdhr/discover.d.ts +0 -1
- package/dist/hdhr/getHandlers.d.ts +0 -1
- package/dist/hdhr/identity.d.ts +0 -1
- package/dist/hdhr/index.d.ts +0 -1
- package/dist/hdhr/protocol.d.ts +1 -2
- package/dist/hdhr/protocol.js +1 -1
- package/dist/hdhr/tunerState.d.ts +0 -1
- package/dist/hdhr/udp.d.ts +0 -1
- package/dist/hdhr/udp.js +16 -4
- package/dist/hdhr/udp.js.map +1 -1
- package/dist/identity.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/native/codecInference.d.ts +5 -4
- package/dist/native/codecInference.js +12 -7
- package/dist/native/codecInference.js.map +1 -1
- package/dist/native/decrypt.d.ts +10 -3
- package/dist/native/decrypt.js +9 -5
- package/dist/native/decrypt.js.map +1 -1
- package/dist/native/index.d.ts +26 -24
- package/dist/native/index.js +26 -20
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +7 -10
- package/dist/native/probe.js +41 -37
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +3 -4
- package/dist/native/proxy.js +91 -69
- package/dist/native/proxy.js.map +1 -1
- package/dist/native/tokenExpiry.d.ts +0 -1
- package/dist/routes/assets.d.ts +0 -1
- package/dist/routes/auth.d.ts +0 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/cdp.d.ts +11 -5
- package/dist/routes/cdp.js +91 -63
- package/dist/routes/cdp.js.map +1 -1
- package/dist/routes/channels.d.ts +0 -1
- package/dist/routes/clientActions.d.ts +0 -1
- package/dist/routes/components.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/bulk.js +3 -3
- package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/crud.js +4 -3
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/importExport.js +7 -3
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/prefs.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/prefs.js +1 -1
- package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
- package/dist/routes/config/channels/endpoints/service.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/service.js +8 -5
- package/dist/routes/config/channels/endpoints/service.js.map +1 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/tags.js +3 -3
- package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
- package/dist/routes/config/channels/healthBridge.d.ts +4 -1
- package/dist/routes/config/channels/healthBridge.js +9 -5
- package/dist/routes/config/channels/healthBridge.js.map +1 -1
- package/dist/routes/config/channels/http/handler.d.ts +0 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts +0 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts +0 -1
- package/dist/routes/config/channels/http/serviceWarning.js +1 -1
- package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +0 -1
- package/dist/routes/config/channels/setup.d.ts +0 -1
- package/dist/routes/config/channels/table.d.ts +0 -1
- package/dist/routes/config/channels/table.js +66 -134
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/http/envelope.d.ts +1 -2
- package/dist/routes/config/index.d.ts +5 -5
- package/dist/routes/config/index.js +7 -5
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/services.d.ts +0 -1
- package/dist/routes/config/services.js +17 -19
- package/dist/routes/config/services.js.map +1 -1
- package/dist/routes/config/settings.d.ts +6 -15
- package/dist/routes/config/settings.js +16 -35
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.d.ts +0 -1
- package/dist/routes/debug.js +1 -1
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/health.d.ts +16 -8
- package/dist/routes/health.js +27 -12
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/hls.d.ts +0 -1
- package/dist/routes/icons.d.ts +0 -1
- package/dist/routes/index.d.ts +0 -1
- package/dist/routes/logs.d.ts +3 -2
- package/dist/routes/logs.js +54 -14
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/mpegts.d.ts +0 -1
- package/dist/routes/play.d.ts +0 -1
- package/dist/routes/playlist.d.ts +0 -1
- package/dist/routes/playlist.js +2 -1
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.d.ts +0 -1
- package/dist/routes/root/content.js +32 -11
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.d.ts +10 -1
- package/dist/routes/root/index.js +17 -7
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.d.ts +0 -1
- package/dist/routes/root/scripts/channels.js +10 -20
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/clientEscape.d.ts +0 -1
- package/dist/routes/root/scripts/clientEscape.js +1 -1
- package/dist/routes/root/scripts/clientUrl.d.ts +0 -1
- package/dist/routes/root/scripts/config.d.ts +0 -1
- package/dist/routes/root/scripts/config.js +8 -29
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +0 -1
- package/dist/routes/root/scripts/shared.d.ts +0 -1
- package/dist/routes/root/scripts/shared.js +16 -13
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.d.ts +0 -1
- package/dist/routes/root/scripts/status.handlers.d.ts +3 -1
- package/dist/routes/root/scripts/status.handlers.js +52 -26
- package/dist/routes/root/scripts/status.handlers.js.map +1 -1
- package/dist/routes/root/styles.d.ts +0 -1
- package/dist/routes/root/styles.js +10 -18
- package/dist/routes/root/styles.js.map +1 -1
- package/dist/routes/services.d.ts +0 -1
- package/dist/routes/services.js +1 -1
- package/dist/routes/services.js.map +1 -1
- package/dist/routes/sse.d.ts +3 -2
- package/dist/routes/sse.js +7 -3
- package/dist/routes/sse.js.map +1 -1
- package/dist/routes/streams.d.ts +4 -2
- package/dist/routes/streams.js +8 -5
- package/dist/routes/streams.js.map +1 -1
- package/dist/routes/theme.d.ts +0 -1
- package/dist/routes/theme.js +3 -3
- package/dist/routes/theme.js.map +1 -1
- package/dist/routes/ui.d.ts +0 -1
- package/dist/routes/ui.js +5 -5
- package/dist/routes/ui.js.map +1 -1
- package/dist/routes/upgrade.d.ts +0 -1
- package/dist/routes/upgrade.js +2 -1
- package/dist/routes/upgrade.js.map +1 -1
- package/dist/service/commands.context.d.ts +0 -1
- package/dist/service/commands.context.js +7 -1
- package/dist/service/commands.context.js.map +1 -1
- package/dist/service/commands.d.ts +0 -1
- package/dist/service/generators.context.d.ts +0 -1
- package/dist/service/generators.d.ts +0 -1
- package/dist/service/index.d.ts +0 -1
- package/dist/streaming/captureLock.d.ts +1 -2
- package/dist/streaming/captureLock.js +8 -7
- package/dist/streaming/captureLock.js.map +1 -1
- package/dist/streaming/captureSession.d.ts +0 -1
- package/dist/streaming/clients.d.ts +4 -3
- package/dist/streaming/clients.js +5 -4
- package/dist/streaming/clients.js.map +1 -1
- package/dist/streaming/codec.d.ts +0 -1
- package/dist/streaming/fmp4Segmenter.d.ts +11 -6
- package/dist/streaming/fmp4Segmenter.js +39 -17
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +96 -3
- package/dist/streaming/hls.js +282 -171
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +8 -5
- package/dist/streaming/hlsResume.js +10 -8
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +11 -8
- package/dist/streaming/hlsSegments.js +38 -18
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.d.ts +5 -4
- package/dist/streaming/lifecycle.js +43 -13
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +14 -3
- package/dist/streaming/monitor.js +447 -234
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +0 -1
- package/dist/streaming/mpegts.d.ts +11 -1
- package/dist/streaming/mpegts.js +92 -28
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +0 -1
- package/dist/streaming/preroll.d.ts +34 -15
- package/dist/streaming/preroll.js +32 -30
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/pretune.d.ts +2 -3
- package/dist/streaming/pretune.js +45 -45
- package/dist/streaming/pretune.js.map +1 -1
- package/dist/streaming/pretuneTimers.d.ts +16 -12
- package/dist/streaming/pretuneTimers.js +27 -37
- package/dist/streaming/pretuneTimers.js.map +1 -1
- package/dist/streaming/recovery.d.ts +97 -9
- package/dist/streaming/recovery.js +96 -18
- package/dist/streaming/recovery.js.map +1 -1
- package/dist/streaming/registry.d.ts +102 -15
- package/dist/streaming/registry.js +90 -5
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +90 -32
- package/dist/streaming/setup.js +379 -248
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +8 -4
- package/dist/streaming/showInfo.js +54 -45
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +5 -3
- package/dist/streaming/statusEmitter.js +20 -8
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +0 -1
- package/dist/types/channels.js +0 -4
- package/dist/types/channels.js.map +1 -1
- package/dist/types/config.d.ts +0 -1
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +51 -9
- package/dist/types/profiles.js +35 -1
- package/dist/types/profiles.js.map +1 -1
- package/dist/types/selection.d.ts +10 -1
- package/dist/types/shared.d.ts +0 -1
- package/dist/types/streaming.d.ts +8 -1
- package/dist/types/streaming.js +7 -0
- package/dist/types/streaming.js.map +1 -1
- package/dist/upgrade/commands.context.d.ts +0 -1
- package/dist/upgrade/commands.d.ts +0 -1
- package/dist/upgrade/commands.js +1 -1
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/upgrade/detection.context.d.ts +0 -1
- package/dist/upgrade/detection.d.ts +1 -2
- package/dist/upgrade/index.d.ts +0 -1
- package/dist/upgrade/lifecycle.context.d.ts +2 -1
- package/dist/upgrade/lifecycle.context.js +9 -4
- package/dist/upgrade/lifecycle.context.js.map +1 -1
- package/dist/upgrade/lifecycle.d.ts +0 -1
- package/dist/upgrade/pathHandle.d.ts +0 -1
- package/dist/utils/bootSession.context.d.ts +0 -1
- package/dist/utils/bootSession.context.js +3 -2
- package/dist/utils/bootSession.context.js.map +1 -1
- package/dist/utils/bootSession.d.ts +0 -1
- package/dist/utils/chromeFetch.d.ts +0 -1
- package/dist/utils/cliOutput.d.ts +0 -1
- package/dist/utils/debugFilter.d.ts +0 -1
- package/dist/utils/debugFilter.js +5 -3
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +65 -13
- package/dist/utils/delay.js +96 -23
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/errors.d.ts +0 -11
- package/dist/utils/errors.js +3 -14
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/evaluate.d.ts +11 -3
- package/dist/utils/evaluate.js +4 -3
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.context.d.ts +0 -1
- package/dist/utils/ffmpeg.d.ts +1 -1
- package/dist/utils/ffmpeg.js +2 -1
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +26 -7
- package/dist/utils/fileLogger.js +241 -102
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +36 -4
- package/dist/utils/format.js +66 -12
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +1 -2
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.d.ts +0 -1
- package/dist/utils/logger.d.ts +0 -1
- package/dist/utils/m3u.d.ts +0 -1
- package/dist/utils/markup.d.ts +0 -1
- package/dist/utils/memo.d.ts +0 -1
- package/dist/utils/morganStream.d.ts +2 -3
- package/dist/utils/morganStream.js +6 -8
- package/dist/utils/morganStream.js.map +1 -1
- package/dist/utils/network.d.ts +0 -1
- package/dist/utils/never.d.ts +8 -0
- package/dist/utils/never.js +20 -0
- package/dist/utils/never.js.map +1 -0
- package/dist/utils/pid.d.ts +0 -1
- package/dist/utils/platform.d.ts +0 -1
- package/dist/utils/processInspector.context.d.ts +32 -2
- package/dist/utils/processInspector.context.js +117 -1
- package/dist/utils/processInspector.context.js.map +1 -1
- package/dist/utils/processInspector.d.ts +0 -32
- package/dist/utils/processInspector.js +10 -117
- package/dist/utils/processInspector.js.map +1 -1
- package/dist/utils/retry.d.ts +5 -4
- package/dist/utils/retry.js +43 -33
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/runtimeIdentity.context.d.ts +0 -1
- package/dist/utils/runtimeIdentity.context.js +3 -1
- package/dist/utils/runtimeIdentity.context.js.map +1 -1
- package/dist/utils/runtimeIdentity.d.ts +1 -1
- package/dist/utils/runtimeIdentity.js +1 -1
- package/dist/utils/runtimeIdentity.js.map +1 -1
- package/dist/utils/sanitize.d.ts +8 -1
- package/dist/utils/sanitize.js +19 -0
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/streamContext.d.ts +0 -1
- package/dist/utils/timing.d.ts +3 -4
- package/dist/utils/timing.js +4 -4
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.d.ts +14 -8
- package/dist/utils/version.js +35 -24
- package/dist/utils/version.js.map +1 -1
- package/package.json +7 -7
- package/dist/app.d.ts.map +0 -1
- package/dist/browser/blockedPage.d.ts.map +0 -1
- package/dist/browser/browserSupervisor.d.ts.map +0 -1
- package/dist/browser/cdp.d.ts.map +0 -1
- package/dist/browser/channelSelection.d.ts.map +0 -1
- package/dist/browser/consent.d.ts.map +0 -1
- package/dist/browser/display.d.ts.map +0 -1
- package/dist/browser/hlsPlaylistObserver.d.ts.map +0 -1
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/launchGovernor.d.ts.map +0 -1
- package/dist/browser/login.d.ts.map +0 -1
- package/dist/browser/manifestInterceptor.d.ts.map +0 -1
- package/dist/browser/pageStaleness.d.ts.map +0 -1
- package/dist/browser/precaching.d.ts.map +0 -1
- package/dist/browser/tabNetworkObserver.d.ts.map +0 -1
- package/dist/browser/tuning/cache.d.ts.map +0 -1
- package/dist/browser/tuning/comcastPolymer.d.ts.map +0 -1
- package/dist/browser/tuning/cox.d.ts.map +0 -1
- package/dist/browser/tuning/directv.d.ts.map +0 -1
- package/dist/browser/tuning/fox.d.ts.map +0 -1
- package/dist/browser/tuning/gridSearch.d.ts.map +0 -1
- package/dist/browser/tuning/hbo.d.ts.map +0 -1
- package/dist/browser/tuning/hulu.d.ts.map +0 -1
- package/dist/browser/tuning/shared.d.ts.map +0 -1
- package/dist/browser/tuning/sling.d.ts.map +0 -1
- package/dist/browser/tuning/spectrum.d.ts.map +0 -1
- package/dist/browser/tuning/thumbnailRow.d.ts.map +0 -1
- package/dist/browser/tuning/tileClick.d.ts.map +0 -1
- package/dist/browser/tuning/xfinity.d.ts.map +0 -1
- package/dist/browser/tuning/youtubeTv.d.ts.map +0 -1
- package/dist/browser/video.d.ts.map +0 -1
- package/dist/channels/index.d.ts.map +0 -1
- package/dist/config/channelForm.d.ts.map +0 -1
- package/dist/config/consistencyProbe.d.ts.map +0 -1
- package/dist/config/health.d.ts.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/paths.d.ts.map +0 -1
- package/dist/config/persistence.context.d.ts.map +0 -1
- package/dist/config/persistence.d.ts.map +0 -1
- package/dist/config/presets.d.ts.map +0 -1
- package/dist/config/profiles.d.ts.map +0 -1
- package/dist/config/providerLineups.d.ts.map +0 -1
- package/dist/config/reactivity.d.ts.map +0 -1
- package/dist/config/servicePacks.d.ts.map +0 -1
- package/dist/config/services.d.ts.map +0 -1
- package/dist/config/sites.d.ts.map +0 -1
- package/dist/config/userChannels.d.ts.map +0 -1
- package/dist/config/userConfig.d.ts.map +0 -1
- package/dist/config/userProfiles.d.ts.map +0 -1
- package/dist/hdhr/channelMap.d.ts.map +0 -1
- package/dist/hdhr/deviceId.d.ts.map +0 -1
- package/dist/hdhr/discover.d.ts.map +0 -1
- package/dist/hdhr/getHandlers.d.ts.map +0 -1
- package/dist/hdhr/identity.d.ts.map +0 -1
- package/dist/hdhr/index.d.ts.map +0 -1
- package/dist/hdhr/protocol.d.ts.map +0 -1
- package/dist/hdhr/tunerState.d.ts.map +0 -1
- package/dist/hdhr/udp.d.ts.map +0 -1
- package/dist/identity.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/native/codecInference.d.ts.map +0 -1
- package/dist/native/decrypt.d.ts.map +0 -1
- package/dist/native/index.d.ts.map +0 -1
- package/dist/native/probe.d.ts.map +0 -1
- package/dist/native/proxy.d.ts.map +0 -1
- package/dist/native/tokenExpiry.d.ts.map +0 -1
- package/dist/routes/assets.d.ts.map +0 -1
- package/dist/routes/auth.d.ts.map +0 -1
- package/dist/routes/cdp.d.ts.map +0 -1
- package/dist/routes/channels.d.ts.map +0 -1
- package/dist/routes/clientActions.d.ts.map +0 -1
- package/dist/routes/components.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/prefs.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/service.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts.map +0 -1
- package/dist/routes/config/channels/healthBridge.d.ts.map +0 -1
- package/dist/routes/config/channels/http/handler.d.ts.map +0 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts.map +0 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts.map +0 -1
- package/dist/routes/config/channels/index.d.ts.map +0 -1
- package/dist/routes/config/channels/setup.d.ts.map +0 -1
- package/dist/routes/config/channels/table.d.ts.map +0 -1
- package/dist/routes/config/http/envelope.d.ts.map +0 -1
- package/dist/routes/config/index.d.ts.map +0 -1
- package/dist/routes/config/services.d.ts.map +0 -1
- package/dist/routes/config/settings.d.ts.map +0 -1
- package/dist/routes/debug.d.ts.map +0 -1
- package/dist/routes/health.d.ts.map +0 -1
- package/dist/routes/hls.d.ts.map +0 -1
- package/dist/routes/icons.d.ts.map +0 -1
- package/dist/routes/index.d.ts.map +0 -1
- package/dist/routes/logs.d.ts.map +0 -1
- package/dist/routes/mpegts.d.ts.map +0 -1
- package/dist/routes/play.d.ts.map +0 -1
- package/dist/routes/playlist.d.ts.map +0 -1
- package/dist/routes/root/content.d.ts.map +0 -1
- package/dist/routes/root/index.d.ts.map +0 -1
- package/dist/routes/root/scripts/channels.d.ts.map +0 -1
- package/dist/routes/root/scripts/clientEscape.d.ts.map +0 -1
- package/dist/routes/root/scripts/clientUrl.d.ts.map +0 -1
- package/dist/routes/root/scripts/config.d.ts.map +0 -1
- package/dist/routes/root/scripts/index.d.ts.map +0 -1
- package/dist/routes/root/scripts/shared.d.ts.map +0 -1
- package/dist/routes/root/scripts/status.d.ts.map +0 -1
- package/dist/routes/root/scripts/status.handlers.d.ts.map +0 -1
- package/dist/routes/root/styles.d.ts.map +0 -1
- package/dist/routes/services.d.ts.map +0 -1
- package/dist/routes/sse.d.ts.map +0 -1
- package/dist/routes/streams.d.ts.map +0 -1
- package/dist/routes/theme.d.ts.map +0 -1
- package/dist/routes/ui.d.ts.map +0 -1
- package/dist/routes/upgrade.d.ts.map +0 -1
- package/dist/service/commands.context.d.ts.map +0 -1
- package/dist/service/commands.d.ts.map +0 -1
- package/dist/service/generators.context.d.ts.map +0 -1
- package/dist/service/generators.d.ts.map +0 -1
- package/dist/service/index.d.ts.map +0 -1
- package/dist/streaming/captureLock.d.ts.map +0 -1
- package/dist/streaming/captureSession.d.ts.map +0 -1
- package/dist/streaming/clients.d.ts.map +0 -1
- package/dist/streaming/codec.d.ts.map +0 -1
- package/dist/streaming/fmp4Segmenter.d.ts.map +0 -1
- package/dist/streaming/hls.d.ts.map +0 -1
- package/dist/streaming/hlsResume.d.ts.map +0 -1
- package/dist/streaming/hlsSegments.d.ts.map +0 -1
- package/dist/streaming/lifecycle.d.ts.map +0 -1
- package/dist/streaming/monitor.d.ts.map +0 -1
- package/dist/streaming/mp4Parser.d.ts.map +0 -1
- package/dist/streaming/mpegts.d.ts.map +0 -1
- package/dist/streaming/playlistBuilder.d.ts.map +0 -1
- package/dist/streaming/preroll.d.ts.map +0 -1
- package/dist/streaming/pretune.d.ts.map +0 -1
- package/dist/streaming/pretuneTimers.d.ts.map +0 -1
- package/dist/streaming/recovery.d.ts.map +0 -1
- package/dist/streaming/registry.d.ts.map +0 -1
- package/dist/streaming/setup.d.ts.map +0 -1
- package/dist/streaming/showInfo.d.ts.map +0 -1
- package/dist/streaming/statusEmitter.d.ts.map +0 -1
- package/dist/types/channels.d.ts.map +0 -1
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/profiles.d.ts.map +0 -1
- package/dist/types/selection.d.ts.map +0 -1
- package/dist/types/shared.d.ts.map +0 -1
- package/dist/types/streaming.d.ts.map +0 -1
- package/dist/upgrade/commands.context.d.ts.map +0 -1
- package/dist/upgrade/commands.d.ts.map +0 -1
- package/dist/upgrade/detection.context.d.ts.map +0 -1
- package/dist/upgrade/detection.d.ts.map +0 -1
- package/dist/upgrade/index.d.ts.map +0 -1
- package/dist/upgrade/lifecycle.context.d.ts.map +0 -1
- package/dist/upgrade/lifecycle.d.ts.map +0 -1
- package/dist/upgrade/pathHandle.d.ts.map +0 -1
- package/dist/utils/bootSession.context.d.ts.map +0 -1
- package/dist/utils/bootSession.d.ts.map +0 -1
- package/dist/utils/chromeFetch.d.ts.map +0 -1
- package/dist/utils/cliOutput.d.ts.map +0 -1
- package/dist/utils/clock.d.ts +0 -15
- package/dist/utils/clock.d.ts.map +0 -1
- package/dist/utils/clock.js +0 -31
- package/dist/utils/clock.js.map +0 -1
- package/dist/utils/debugFilter.d.ts.map +0 -1
- package/dist/utils/delay.d.ts.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/evaluate.d.ts.map +0 -1
- package/dist/utils/ffmpeg.context.d.ts.map +0 -1
- package/dist/utils/ffmpeg.d.ts.map +0 -1
- package/dist/utils/fileLogger.d.ts.map +0 -1
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/logEmitter.d.ts.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/m3u.d.ts.map +0 -1
- package/dist/utils/markup.d.ts.map +0 -1
- package/dist/utils/memo.d.ts.map +0 -1
- package/dist/utils/morganStream.d.ts.map +0 -1
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/pid.d.ts.map +0 -1
- package/dist/utils/platform.d.ts.map +0 -1
- package/dist/utils/processInspector.context.d.ts.map +0 -1
- package/dist/utils/processInspector.d.ts.map +0 -1
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/runtimeIdentity.context.d.ts.map +0 -1
- package/dist/utils/runtimeIdentity.d.ts.map +0 -1
- package/dist/utils/sanitize.d.ts.map +0 -1
- package/dist/utils/streamContext.d.ts.map +0 -1
- package/dist/utils/timing.d.ts.map +0 -1
- package/dist/utils/version.d.ts.map +0 -1
package/dist/types/channels.d.ts
CHANGED
package/dist/types/channels.js
CHANGED
|
@@ -13,8 +13,6 @@ export const CHANNEL_IDENTITY_KEYS = [
|
|
|
13
13
|
*/
|
|
14
14
|
export const CHANNEL_BINDING_KEYS = ["channelSelector", "dismissSelector", "profile", "scrollSelector", "scrollTarget", "scrollToBottom", "service", "url"];
|
|
15
15
|
const _partitionCompleteness = true;
|
|
16
|
-
/* Mark the assertion as intentionally unused - its only purpose is the compile-time check above. */
|
|
17
|
-
void _partitionCompleteness;
|
|
18
16
|
/**
|
|
19
17
|
* Identity fields that participate in the user-facing delta surface (form input, JSON import, channels.json hand edit). Subset of CHANNEL_IDENTITY_KEYS that
|
|
20
18
|
* excludes catalog-driven structural fields like pacificStationId, which trigger Pacific auto-generation in the flattener and are not user-overridable through
|
|
@@ -37,6 +35,4 @@ export const DELTA_ELIGIBLE_BINDING_KEYS = [
|
|
|
37
35
|
"channelSelector", "profile", "url"
|
|
38
36
|
];
|
|
39
37
|
const _deltaCompleteness = true;
|
|
40
|
-
/* Mark the assertion as intentionally unused - its only purpose is the compile-time check above. */
|
|
41
|
-
void _deltaCompleteness;
|
|
42
38
|
//# sourceMappingURL=channels.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/types/channels.ts"],"names":[],"mappings":"AAyMA;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;CAC5H,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAW,CAAC;AAiBvK,MAAM,sBAAsB,GAAyE,IAAI,CAAC;AAE1G
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/types/channels.ts"],"names":[],"mappings":"AAyMA;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;CAC5H,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAW,CAAC;AAiBvK,MAAM,sBAAsB,GAAyE,IAAI,CAAC;AAE1G;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;CAC9C,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,iBAAiB,EAAE,SAAS,EAAE,KAAK;CAC8B,CAAC;AA0BpE,MAAM,kBAAkB,GAA0F,IAAI,CAAC"}
|
package/dist/types/config.d.ts
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export type { BrowserConfig, CaptureMode, ChannelsConfig, Config, HdhrConfig, HLSConfig, LoggingConfig, PathsConfig, PlaybackConfig, RecoveryConfig, ServerConfig, StreamingConfig } from "./config.ts";
|
|
2
2
|
export type { CanonicalChannel, Channel, ChannelDefinition, ChannelDelta, ChannelIdentity, ChannelListingEntry, ChannelMap, ChannelServiceBinding, CustomizableField, ResolvedChannel, ResolvedChannelMap, ServiceGroup, ServiceVariant, StoredChannel, StoredChannelMap, VariantChannel } from "./channels.ts";
|
|
3
3
|
export { CHANNEL_BINDING_KEYS, CHANNEL_IDENTITY_KEYS, DELTA_ELIGIBLE_BINDING_KEYS, DELTA_ELIGIBLE_IDENTITY_KEYS } from "./channels.ts";
|
|
4
|
-
export type { ChannelSelectionConfig, ChannelSelectionStrategy, DomainConfig, ProfileCategory, ProfileResolutionResult, ProfilesValidationResult, ResolvedSiteProfile, ServicePack, SiteProfile, UserProfilesFile, UserProfilesLoadResult } from "./profiles.ts";
|
|
5
|
-
export
|
|
4
|
+
export type { ChannelSelectionConfig, ChannelSelectionStrategy, DomainConfig, ProfileCategory, ProfileCategoryInfo, ProfileResolutionResult, ProfilesValidationResult, ResolvedSiteProfile, ServicePack, SiteProfile, UserProfilesFile, UserProfilesLoadResult } from "./profiles.ts";
|
|
5
|
+
export { PROFILE_CATEGORIES } from "./profiles.ts";
|
|
6
|
+
export type { AuthWallIndicators, CategoryResolution, CategoryResolutionConfig, CategoryResolutionFailure, CategoryResolutionSuccess, ChannelSelectionProfile, ChannelSelectorResult, ChannelStrategyEntry, ChannelStrategyHandler, ClickTarget, DiscoveredChannel, ProviderModule, StrategyNavigator, TuneResult } from "./selection.ts";
|
|
6
7
|
export type { ChannelSortField, Nullable, SortDirection } from "./shared.ts";
|
|
7
8
|
export type { CaptureCodec, HealthStatus, MediaContainer, StreamListItem, StreamListResponse, StreamingMode, UrlValidationResult, VideoSelectorType, VideoState } from "./streaming.ts";
|
|
8
|
-
export { RECOGNIZED_CODECS } from "./streaming.ts";
|
|
9
|
+
export { CAPTURE_SOURCE_UNAVAILABLE_MESSAGE, RECOGNIZED_CODECS } from "./streaming.ts";
|
|
9
10
|
export { isChannelSelectionProfile } from "./selection.ts";
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/types/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { CHANNEL_BINDING_KEYS, CHANNEL_IDENTITY_KEYS, DELTA_ELIGIBLE_BINDING_KEYS, DELTA_ELIGIBLE_IDENTITY_KEYS } from "./channels.js";
|
|
2
|
-
export {
|
|
2
|
+
export { PROFILE_CATEGORIES } from "./profiles.js";
|
|
3
|
+
export { CAPTURE_SOURCE_UNAVAILABLE_MESSAGE, RECOGNIZED_CODECS } from "./streaming.js";
|
|
3
4
|
export { isChannelSelectionProfile } from "./selection.js";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAGvI,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAOnD,OAAO,EAAE,kCAAkC,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/types/profiles.d.ts
CHANGED
|
@@ -41,14 +41,57 @@ export interface ChannelSelectionConfig {
|
|
|
41
41
|
strategy: ChannelSelectionStrategy;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
45
|
-
* - "api": Profiles using the JavaScript fullscreen API (including embedded iframe and click-to-play variants).
|
|
46
|
-
* - "custom": User-defined profiles created via the profile builder wizard or imported from service packs.
|
|
47
|
-
* - "keyboard": Profiles using keyboard shortcuts (typically the 'f' key) for fullscreen.
|
|
48
|
-
* - "multiChannel": Multi-channel profiles requiring a channel selector for tile or thumbnail-based channel selection.
|
|
49
|
-
* - "special": Special-purpose profiles like static page capture.
|
|
44
|
+
* One profile category as every surface renders it.
|
|
50
45
|
*/
|
|
51
|
-
export
|
|
46
|
+
export interface ProfileCategoryInfo {
|
|
47
|
+
readonly description: string;
|
|
48
|
+
readonly key: string;
|
|
49
|
+
readonly requiresSelector: boolean;
|
|
50
|
+
readonly title: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Every profile category, in the order the profile dropdown, the profile reference, and the custom-profile wizard all display them. Categories group profiles
|
|
54
|
+
* by the native fullscreen mechanism their sites' players support, and by special characteristics:
|
|
55
|
+
*
|
|
56
|
+
* - "api": players that expose the JavaScript fullscreen API, including the embedded iframe and click-to-play variants.
|
|
57
|
+
* - "keyboard": players that toggle fullscreen with a keyboard shortcut, typically the 'f' key.
|
|
58
|
+
* - "special": special-purpose profiles like static page capture.
|
|
59
|
+
* - "multiChannel": profiles that need a channel selector for tile or thumbnail-based channel selection.
|
|
60
|
+
* - "custom": user-defined profiles created via the profile builder wizard or imported from service packs.
|
|
61
|
+
*
|
|
62
|
+
* This array is the single definition from which the ProfileCategory type and every rendered category title and description derive, so adding a category is
|
|
63
|
+
* one entry here and the compiler then asks for its bucket everywhere a category is enumerated.
|
|
64
|
+
*/
|
|
65
|
+
export declare const PROFILE_CATEGORIES: readonly [{
|
|
66
|
+
readonly description: "For single-channel sites whose player exposes JavaScript's requestFullscreen() API.";
|
|
67
|
+
readonly key: "api";
|
|
68
|
+
readonly requiresSelector: false;
|
|
69
|
+
readonly title: "Fullscreen API";
|
|
70
|
+
}, {
|
|
71
|
+
readonly description: "For single-channel sites whose player toggles fullscreen with the 'f' key.";
|
|
72
|
+
readonly key: "keyboard";
|
|
73
|
+
readonly requiresSelector: false;
|
|
74
|
+
readonly title: "Keyboard Fullscreen";
|
|
75
|
+
}, {
|
|
76
|
+
readonly description: "For non-standard use cases like static pages without video.";
|
|
77
|
+
readonly key: "special";
|
|
78
|
+
readonly requiresSelector: false;
|
|
79
|
+
readonly title: "Special";
|
|
80
|
+
}, {
|
|
81
|
+
readonly description: string;
|
|
82
|
+
readonly key: "multiChannel";
|
|
83
|
+
readonly requiresSelector: true;
|
|
84
|
+
readonly title: "Multi-Channel";
|
|
85
|
+
}, {
|
|
86
|
+
readonly description: "User-defined profiles created via the profile builder wizard or imported from service packs.";
|
|
87
|
+
readonly key: "custom";
|
|
88
|
+
readonly requiresSelector: false;
|
|
89
|
+
readonly title: "Custom";
|
|
90
|
+
}];
|
|
91
|
+
/**
|
|
92
|
+
* UI category for profile grouping in dropdowns and reference documentation, derived from PROFILE_CATEGORIES.
|
|
93
|
+
*/
|
|
94
|
+
export type ProfileCategory = typeof PROFILE_CATEGORIES[number]["key"];
|
|
52
95
|
/**
|
|
53
96
|
* Site profile definition with optional flags. All flags are optional because profiles can inherit from other profiles, and only the flags that differ from the
|
|
54
97
|
* parent need to be specified. The DEFAULT_SITE_PROFILE provides baseline values for any flags not set through inheritance.
|
|
@@ -110,6 +153,7 @@ export interface ProfileResolutionResult {
|
|
|
110
153
|
*/
|
|
111
154
|
export interface DomainConfig {
|
|
112
155
|
dismissSelector?: string;
|
|
156
|
+
hideSelector?: string;
|
|
113
157
|
iconUrl?: string;
|
|
114
158
|
loginUrl?: string;
|
|
115
159
|
maxContinuousPlayback?: number;
|
|
@@ -133,7 +177,6 @@ export interface UserProfilesLoadResult {
|
|
|
133
177
|
parseError: boolean;
|
|
134
178
|
parseErrorMessage?: string;
|
|
135
179
|
profiles: Record<string, SiteProfile>;
|
|
136
|
-
recoveredFromBackup: boolean;
|
|
137
180
|
}
|
|
138
181
|
/**
|
|
139
182
|
* Service pack distribution format. Bundles a profile, domain mapping(s), and optionally channels for a streaming service into a single JSON file. On import,
|
|
@@ -155,4 +198,3 @@ export interface ProfilesValidationResult {
|
|
|
155
198
|
profiles: Record<string, SiteProfile>;
|
|
156
199
|
valid: boolean;
|
|
157
200
|
}
|
|
158
|
-
//# sourceMappingURL=profiles.d.ts.map
|
package/dist/types/profiles.js
CHANGED
|
@@ -1,2 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Every profile category, in the order the profile dropdown, the profile reference, and the custom-profile wizard all display them. Categories group profiles
|
|
3
|
+
* by the native fullscreen mechanism their sites' players support, and by special characteristics:
|
|
4
|
+
*
|
|
5
|
+
* - "api": players that expose the JavaScript fullscreen API, including the embedded iframe and click-to-play variants.
|
|
6
|
+
* - "keyboard": players that toggle fullscreen with a keyboard shortcut, typically the 'f' key.
|
|
7
|
+
* - "special": special-purpose profiles like static page capture.
|
|
8
|
+
* - "multiChannel": profiles that need a channel selector for tile or thumbnail-based channel selection.
|
|
9
|
+
* - "custom": user-defined profiles created via the profile builder wizard or imported from service packs.
|
|
10
|
+
*
|
|
11
|
+
* This array is the single definition from which the ProfileCategory type and every rendered category title and description derive, so adding a category is
|
|
12
|
+
* one entry here and the compiler then asks for its bucket everywhere a category is enumerated.
|
|
13
|
+
*/
|
|
14
|
+
export const PROFILE_CATEGORIES = [
|
|
15
|
+
{
|
|
16
|
+
description: "For single-channel sites whose player exposes JavaScript's requestFullscreen() API.", key: "api", requiresSelector: false,
|
|
17
|
+
title: "Fullscreen API"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
description: "For single-channel sites whose player toggles fullscreen with the 'f' key.", key: "keyboard", requiresSelector: false,
|
|
21
|
+
title: "Keyboard Fullscreen"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
description: "For non-standard use cases like static pages without video.", key: "special", requiresSelector: false, title: "Special"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
description: "For sites that host multiple live channels on a single page. These profiles require a channel selector to identify which channel to tune " +
|
|
28
|
+
"to. Set the Channel Selector field in Advanced Options when using these profiles.", key: "multiChannel", requiresSelector: true,
|
|
29
|
+
title: "Multi-Channel"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
description: "User-defined profiles created via the profile builder wizard or imported from service packs.", key: "custom", requiresSelector: false,
|
|
33
|
+
title: "Custom"
|
|
34
|
+
}
|
|
35
|
+
];
|
|
2
36
|
//# sourceMappingURL=profiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/types/profiles.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/types/profiles.ts"],"names":[],"mappings":"AA2GA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QAEE,WAAW,EAAE,qFAAqF,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK;QACvI,KAAK,EAAE,gBAAgB;KACxB;IACD;QAEE,WAAW,EAAE,4EAA4E,EAAE,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK;QACnI,KAAK,EAAE,qBAAqB;KAC7B;IACD;QAEE,WAAW,EAAE,6DAA6D,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS;KACtI;IACD;QAEE,WAAW,EAAE,2IAA2I;YACtJ,mFAAmF,EAAE,GAAG,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI;QAClI,KAAK,EAAE,eAAe;KACvB;IACD;QAEE,WAAW,EAAE,8FAA8F,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK;QACnJ,KAAK,EAAE,QAAQ;KAChB;CACgD,CAAC"}
|
|
@@ -27,6 +27,10 @@ export interface ChannelSelectorResult {
|
|
|
27
27
|
* The strategy function signature. All strategies take the Puppeteer page and a narrowed profile with guaranteed non-null channelSelector.
|
|
28
28
|
*/
|
|
29
29
|
export type ChannelStrategyHandler = (page: Page, profile: ChannelSelectionProfile) => Promise<ChannelSelectorResult>;
|
|
30
|
+
/**
|
|
31
|
+
* A strategy's own route onto a URL, taking the place of the plain document load for every navigation and reload of a profile on that strategy.
|
|
32
|
+
*/
|
|
33
|
+
export type StrategyNavigator = (page: Page, url: string) => Promise<void>;
|
|
30
34
|
/**
|
|
31
35
|
* The complete contract for a channel selection strategy. Each provider file exports a single object implementing this interface. The coordinator accesses all
|
|
32
36
|
* provider behavior through these hooks - no strategy-specific imports or hardcoded strategy name checks outside the registry.
|
|
@@ -45,6 +49,12 @@ export interface ChannelStrategyEntry {
|
|
|
45
49
|
* Removes a cached watch URL after it failed to produce a working stream. Called by the coordinator when a cached direct navigation fails.
|
|
46
50
|
*/
|
|
47
51
|
invalidateDirectUrl?: (channelSelector: string) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Puts the page on a URL for this strategy, in place of the plain document load. A provider whose guide is not always reachable by requesting its URL
|
|
54
|
+
* directly declares this and owns the route in; the navigation and reload functions in browser/video.ts dispatch to it for every profile on this strategy,
|
|
55
|
+
* so the tune path, the re-establishment path, and the recovery route all enter the same way. Undefined for every strategy whose pages load by URL.
|
|
56
|
+
*/
|
|
57
|
+
navigate?: StrategyNavigator;
|
|
48
58
|
/**
|
|
49
59
|
* Returns a watch URL for direct navigation, bypassing guide page loading. Implementations may perform async work such as fetching current asset IDs from
|
|
50
60
|
* provider APIs. The page parameter allows setting up response interception or accessing browser context when needed (e.g., cold cache setup).
|
|
@@ -167,4 +177,3 @@ export interface TuneResult {
|
|
|
167
177
|
context: Frame | Page;
|
|
168
178
|
directTune?: boolean;
|
|
169
179
|
}
|
|
170
|
-
//# sourceMappingURL=selection.d.ts.map
|
package/dist/types/shared.d.ts
CHANGED
|
@@ -8,6 +8,13 @@ export declare const RECOGNIZED_CODECS: readonly ["h264", "hevc"];
|
|
|
8
8
|
* Video codec identifier for browser capture, derived from RECOGNIZED_CODECS.
|
|
9
9
|
*/
|
|
10
10
|
export type CaptureCodec = typeof RECOGNIZED_CODECS[number];
|
|
11
|
+
/**
|
|
12
|
+
* Chrome's rejection text when it cannot open a capture source for the tab. Two layers speak this string and neither may spell it independently: the capture
|
|
13
|
+
* module tests a refusal against it to decide whether the start is worth one more attempt, and the recovery module carries it in the signature list that
|
|
14
|
+
* classifies a failure as capture infrastructure. It lives here, in a module with no runtime dependencies at all, so the classifier can read the protocol's own
|
|
15
|
+
* wording without taking on the browser stack that speaks the protocol.
|
|
16
|
+
*/
|
|
17
|
+
export declare const CAPTURE_SOURCE_UNAVAILABLE_MESSAGE = "Could not start video source";
|
|
11
18
|
/**
|
|
12
19
|
* Snapshot of a video element's playback state. Collected by the playback health monitor to detect stalls, errors, and other problems.
|
|
13
20
|
*/
|
|
@@ -53,6 +60,7 @@ export type MediaContainer = "fmp4" | "ts";
|
|
|
53
60
|
*/
|
|
54
61
|
export interface HealthStatus {
|
|
55
62
|
browser: {
|
|
63
|
+
captureImpaired: boolean;
|
|
56
64
|
connected: boolean;
|
|
57
65
|
pageCount: number;
|
|
58
66
|
};
|
|
@@ -100,4 +108,3 @@ export interface StreamListResponse {
|
|
|
100
108
|
limit: number;
|
|
101
109
|
streams: StreamListItem[];
|
|
102
110
|
}
|
|
103
|
-
//# sourceMappingURL=streaming.d.ts.map
|
package/dist/types/streaming.js
CHANGED
|
@@ -3,4 +3,11 @@
|
|
|
3
3
|
* from which the CaptureCodec type, MIME type lookup, and config validation all derive.
|
|
4
4
|
*/
|
|
5
5
|
export const RECOGNIZED_CODECS = ["h264", "hevc"];
|
|
6
|
+
/**
|
|
7
|
+
* Chrome's rejection text when it cannot open a capture source for the tab. Two layers speak this string and neither may spell it independently: the capture
|
|
8
|
+
* module tests a refusal against it to decide whether the start is worth one more attempt, and the recovery module carries it in the signature list that
|
|
9
|
+
* classifies a failure as capture infrastructure. It lives here, in a module with no runtime dependencies at all, so the classifier can read the protocol's own
|
|
10
|
+
* wording without taking on the browser stack that speaks the protocol.
|
|
11
|
+
*/
|
|
12
|
+
export const CAPTURE_SOURCE_UNAVAILABLE_MESSAGE = "Could not start video source";
|
|
6
13
|
//# sourceMappingURL=streaming.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAE,MAAM,EAAE,MAAM,CAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAE,MAAM,EAAE,MAAM,CAAW,CAAC;AAO7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,8BAA8B,CAAC"}
|
package/dist/upgrade/commands.js
CHANGED
|
@@ -121,7 +121,7 @@ export async function handleUpgradeCommand(args, ctx = createDefaultUpgradeConte
|
|
|
121
121
|
// The restart message is deliberately phrased as a conditional rather than an unconditional promise. The helper only restarts the scheduled task when one
|
|
122
122
|
// is registered; a user who invokes `prismcast upgrade` against a non-service install will need to restart PrismCast manually after the helper finishes.
|
|
123
123
|
// We cannot know which branch will apply without probing Task Scheduler from our process, and that would add a synchronous PowerShell call to every
|
|
124
|
-
// upgrade. The
|
|
124
|
+
// upgrade. The two-clause message keeps both audiences correctly informed without that cost.
|
|
125
125
|
ctx.stdout("Upgrade is running in the background.");
|
|
126
126
|
ctx.stdout("If PrismCast is registered as a Windows service, the helper will restart it when the upgrade completes; otherwise, restart PrismCast manually.");
|
|
127
127
|
ctx.stdout("Helper log: " + step.logPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/upgrade/commands.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/upgrade/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,7 +91,7 @@ export type RegisteredMethod = typeof STRATEGY_TUPLE[number]["id"];
|
|
|
91
91
|
*/
|
|
92
92
|
export declare const INSTALL_STRATEGIES: readonly InstallStrategy<RegisteredMethod>[];
|
|
93
93
|
/**
|
|
94
|
-
* The full install-method
|
|
94
|
+
* The full install-method set. Adds the unknown sentinel that the dispatcher returns when no strategy in the registry matches; everything else is
|
|
95
95
|
* registered. Consumers that need exhaustive coverage over the full method set get it via this type.
|
|
96
96
|
*/
|
|
97
97
|
export type InstallMethod = RegisteredMethod | "unknown";
|
|
@@ -144,4 +144,3 @@ export declare const UNKNOWN_INSTALL: NonUpgradeableInstallInfo;
|
|
|
144
144
|
*/
|
|
145
145
|
export declare function detectInstallMethod(ctx?: DetectionContext): InstallInfo;
|
|
146
146
|
export {};
|
|
147
|
-
//# sourceMappingURL=detection.d.ts.map
|
package/dist/upgrade/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { UpgradeLifecycleContext } from "./lifecycle.ts";
|
|
2
|
+
import type { Clock } from "homebridge-plugin-utils";
|
|
2
3
|
/**
|
|
3
4
|
* Options the caller uses to shape the context it gets back. The only knob is the command deadline, because that is the one policy the two callers disagree
|
|
4
5
|
* about: the CLI runs unbounded with a user watching the terminal, while the web UI bounds the command so a stalled install cannot hold an HTTP request open
|
|
5
6
|
* indefinitely.
|
|
6
7
|
*/
|
|
7
8
|
export interface LifecycleContextOptions {
|
|
9
|
+
readonly clock?: Clock;
|
|
8
10
|
readonly commandTimeoutMs?: number;
|
|
9
11
|
}
|
|
10
12
|
/**
|
|
@@ -26,4 +28,3 @@ export interface LifecycleContextOptions {
|
|
|
26
28
|
* @returns An UpgradeLifecycleContext populated from the live process.
|
|
27
29
|
*/
|
|
28
30
|
export declare function createDefaultLifecycleContext(options?: LifecycleContextOptions): UpgradeLifecycleContext;
|
|
29
|
-
//# sourceMappingURL=lifecycle.context.d.ts.map
|
|
@@ -2,6 +2,7 @@ import { SERVICE_NAME } from "../identity.js";
|
|
|
2
2
|
import { getDataDir } from "../config/paths.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { spawn } from "node:child_process";
|
|
5
|
+
import { systemClock } from "homebridge-plugin-utils";
|
|
5
6
|
/**
|
|
6
7
|
* Runs a shell command to completion, inheriting the caller's stdio so npm and brew output flows live, and resolves with nothing but the success verdict.
|
|
7
8
|
*
|
|
@@ -15,16 +16,17 @@ import { spawn } from "node:child_process";
|
|
|
15
16
|
* @param cmd - The shell command line to run.
|
|
16
17
|
* @param options.cwd - The working directory for the command, when the install method has one.
|
|
17
18
|
* @param options.timeoutMs - The deadline in milliseconds, or undefined to run unbounded.
|
|
19
|
+
* @param clock - The clock the deadline arms on.
|
|
18
20
|
* @returns Promise resolving to the run outcome.
|
|
19
21
|
*/
|
|
20
|
-
async function runShellCommand(cmd, options) {
|
|
22
|
+
async function runShellCommand(cmd, options, clock) {
|
|
21
23
|
const { promise, resolve } = Promise.withResolvers();
|
|
22
24
|
const child = spawn(cmd, { cwd: options.cwd, shell: true, stdio: "inherit" });
|
|
23
|
-
const deadline = (options.timeoutMs === undefined) ? undefined :
|
|
25
|
+
const deadline = (options.timeoutMs === undefined) ? undefined : clock.schedule(() => { child.kill("SIGTERM"); }, options.timeoutMs);
|
|
24
26
|
// Both terminal events route through one settle so the deadline timer is always cleared, whichever way the command ends. A second call is harmless: the first
|
|
25
27
|
// resolution wins and the rest are dropped by the promise itself.
|
|
26
28
|
const settle = (success) => {
|
|
27
|
-
|
|
29
|
+
deadline?.[Symbol.dispose]();
|
|
28
30
|
resolve({ success });
|
|
29
31
|
};
|
|
30
32
|
// A spawn error (no shell, permission denied) is a failed upgrade like any other. The user sees the package manager's own diagnostics on the inherited stdio,
|
|
@@ -52,11 +54,14 @@ async function runShellCommand(cmd, options) {
|
|
|
52
54
|
* @returns An UpgradeLifecycleContext populated from the live process.
|
|
53
55
|
*/
|
|
54
56
|
export function createDefaultLifecycleContext(options = {}) {
|
|
57
|
+
const clock = options.clock ?? systemClock;
|
|
55
58
|
return {
|
|
56
59
|
commandTimeoutMs: options.commandTimeoutMs,
|
|
57
60
|
parentPid: process.pid,
|
|
58
61
|
platform: process.platform,
|
|
59
|
-
runCommand
|
|
62
|
+
// The port's runCommand takes the command and its options only, so the clock is closed over here rather than added to a type the strategies would have to
|
|
63
|
+
// carry through every call.
|
|
64
|
+
runCommand: async (cmd, commandOptions) => runShellCommand(cmd, commandOptions, clock),
|
|
60
65
|
serviceTaskName: (process.platform === "win32") ? SERVICE_NAME : "",
|
|
61
66
|
spawnDetached: (command, args) => {
|
|
62
67
|
const child = spawn(command, [...args], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.context.js","sourceRoot":"","sources":["../../src/upgrade/lifecycle.context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifecycle.context.js","sourceRoot":"","sources":["../../src/upgrade/lifecycle.context.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgBtD;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAA+D,EAAE,KAAY;IAEvH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAoB,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAErI,8JAA8J;IAC9J,kEAAkE;IAClE,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAQ,EAAE;QAExC,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,8JAA8J;IAC9J,2CAA2C;IAC3C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAAmC,EAAE;IAEjF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;IAE3C,OAAO;QAEL,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,SAAS,EAAE,OAAO,CAAC,GAAG;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAE1B,0JAA0J;QAC1J,4BAA4B;QAC5B,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC;QACtF,eAAe,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;QACnE,aAAa,EAAE,CAAC,OAAe,EAAE,IAAuB,EAAQ,EAAE;YAEhE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;gBAEtC,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QACD,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC;KACvD,CAAC;AACJ,CAAC"}
|
|
@@ -71,4 +71,3 @@ export declare function selectLifecycle(platform: NodeJS.Platform): UpgradeLifec
|
|
|
71
71
|
* @returns Promise resolving to the upgrade outcome.
|
|
72
72
|
*/
|
|
73
73
|
export declare function performUpgrade(ctx: UpgradeLifecycleContext, info: InstallInfo): Promise<UpgradeStep>;
|
|
74
|
-
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -13,4 +13,3 @@ export declare function createDefaultBootSessionContext(): BootSessionContext;
|
|
|
13
13
|
* @returns The starttime field as a string, or null when the payload is malformed.
|
|
14
14
|
*/
|
|
15
15
|
export declare function parsePid1StartTicks(raw: string): Nullable<string>;
|
|
16
|
-
//# sourceMappingURL=bootSession.context.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import { isRunningInContainer } from "./platform.js";
|
|
3
3
|
import os from "node:os";
|
|
4
|
+
import { systemClock } from "homebridge-plugin-utils";
|
|
4
5
|
/**
|
|
5
6
|
* Builds the default BootSessionContext from real runtime I/O, snapshotting every reading at construction time so subsequent accessor calls return frozen values.
|
|
6
7
|
* @returns A BootSessionContext whose readings are frozen at the moment of this call.
|
|
@@ -12,7 +13,7 @@ export function createDefaultBootSessionContext() {
|
|
|
12
13
|
// /proc/sys/kernel/random/boot_id is a kernel-generated UUID that is regenerated each boot and immune to clock drift; switching this branch to read that file would
|
|
13
14
|
// eliminate the minute-boundary jitter entirely. macOS (sysctl kern.boottime) and Windows (Win32_OS.LastBootUpTime) have equivalent kernel facts but require a
|
|
14
15
|
// subprocess; deferred until a real boundary-jitter incident motivates the work.
|
|
15
|
-
const hostBootMinuteSnapshot = Math.round((
|
|
16
|
+
const hostBootMinuteSnapshot = Math.round((systemClock.now() - (os.uptime() * 1000)) / 60000);
|
|
16
17
|
// Snapshot the container detection result. The project-wide helper reads PRISMCAST_CONTAINER and /.dockerenv; both are stable for the process lifetime.
|
|
17
18
|
const inContainerSnapshot = isRunningInContainer();
|
|
18
19
|
// Snapshot the container instance tag only when in a container. Outside a container /proc/1/stat is the host init, which would not distinguish container
|
|
@@ -54,7 +55,7 @@ export function parsePid1StartTicks(raw) {
|
|
|
54
55
|
return null;
|
|
55
56
|
}
|
|
56
57
|
// Coalesce to null even though the length guard above proves the index is in range; TypeScript's noUncheckedIndexedAccess still types fields[19] as
|
|
57
|
-
// string | undefined and the explicit ?? null keeps the return type
|
|
58
|
+
// string | undefined and the explicit ?? null keeps the return type exact.
|
|
58
59
|
return fields[19] ?? null;
|
|
59
60
|
}
|
|
60
61
|
//# sourceMappingURL=bootSession.context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootSession.context.js","sourceRoot":"","sources":["../../src/utils/bootSession.context.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"bootSession.context.js","sourceRoot":"","sources":["../../src/utils/bootSession.context.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,+BAA+B;IAE7C,qKAAqK;IACrK,iKAAiK;IACjK,2JAA2J;IAC3J,oKAAoK;IACpK,+JAA+J;IAC/J,iFAAiF;IACjF,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAE9F,wJAAwJ;IACxJ,MAAM,mBAAmB,GAAG,oBAAoB,EAAE,CAAC;IAEnD,yJAAyJ;IACzJ,8HAA8H;IAC9H,MAAM,4BAA4B,GAAG,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvF,OAAO;QAEL,oBAAoB,EAAE,GAAG,EAAE,CAAC,4BAA4B;QACxD,cAAc,EAAE,GAAG,EAAE,CAAC,sBAAsB;QAC5C,WAAW,EAAE,GAAG,EAAE,CAAC,mBAAmB;KACvC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB;IAEzB,IAAI,CAAC;QAEH,OAAO,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QAEP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAE7C,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAG,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzD,IAAG,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oJAAoJ;IACpJ,2EAA2E;IAC3E,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC"}
|
|
@@ -14,4 +14,3 @@ export interface BootSessionContext {
|
|
|
14
14
|
* @returns A string that is stable across calls in the same kernel/container session and differs across reboots or container restarts.
|
|
15
15
|
*/
|
|
16
16
|
export declare function getBootSessionId(ctx?: BootSessionContext): string;
|
|
17
|
-
//# sourceMappingURL=bootSession.d.ts.map
|
|
@@ -38,4 +38,3 @@ export interface DebugCategory {
|
|
|
38
38
|
* Parent groups (e.g., "streaming", "timing", "tuning") are derived by the UI from the colon-separated namespaces - only leaf categories are declared here.
|
|
39
39
|
*/
|
|
40
40
|
export declare const DEBUG_CATEGORIES: readonly DebugCategory[];
|
|
41
|
-
//# sourceMappingURL=debugFilter.d.ts.map
|
|
@@ -144,12 +144,14 @@ export function getCurrentPattern() {
|
|
|
144
144
|
*/
|
|
145
145
|
export const DEBUG_CATEGORIES = [
|
|
146
146
|
{ category: "browser:consent", description: "Automatic consent/overlay handling: cookie-banner rejects, embed-gate accepts, per-site modal dismissals." },
|
|
147
|
-
{ category: "browser:lifecycle", description: "Browser lifecycle: launch, close, stale page cleanup, restart." },
|
|
147
|
+
{ category: "browser:lifecycle", description: "Browser lifecycle: launch, close, stale page cleanup, restart, per-capture-page surface emulation and re-affirmation." },
|
|
148
|
+
{ category: "browser:tabObserver", description: "Tab network observer: root CDP session creation, per-target attach and detach, disposal." },
|
|
148
149
|
{ category: "browser:video", description: "Video context, fullscreen, volume locking, playback." },
|
|
149
150
|
{ category: "cdp", description: "Enables the Chrome DevTools Protocol proxy at /cdp. Feature gate, not a log filter - observable via its HTTP/WS surface." },
|
|
150
151
|
{ category: "config:general", description: "Service groups, version checking." },
|
|
151
152
|
{ category: "config:reactivity", description: "Config-change reactivity dispatch: outcomes ignored for paths a handler was not given." },
|
|
152
153
|
{ category: "hdhr", description: "HDHomeRun UDP responder: per-packet dispatch traces (Discover, Get, Set, malformed drops), reply send failures." },
|
|
154
|
+
{ category: "native:codec", description: "Codec inference from the first MPEG-TS segment: the prefix fetch, the inferred codec, misses." },
|
|
153
155
|
{ category: "native:coordinator", description: "Native streaming decisions: interception result, probe result, capture teardown, proxy start." },
|
|
154
156
|
{ category: "native:decrypt", description: "AES-128 decryption: key fetch, IV source (explicit vs. sequence), segment sizes." },
|
|
155
157
|
{ category: "native:intercept", description: "CDP manifest interception: listener installed, .m3u8 URLs observed, master identified, timeout." },
|
|
@@ -161,7 +163,7 @@ export const DEBUG_CATEGORIES = [
|
|
|
161
163
|
{ category: "persistence:write", description: "File store writes: per-mutation save to disk after successful atomic temp+rename and integrity check." },
|
|
162
164
|
{ category: "precache", description: "Channel lineup precaching: deferred runs, service filter skips." },
|
|
163
165
|
{ category: "recovery:context", description: "Video context: frame detachment, re-search." },
|
|
164
|
-
{ category: "recovery:general", description: "General recovery:
|
|
166
|
+
{ category: "recovery:general", description: "General recovery: playback buffering, monitor abort." },
|
|
165
167
|
{ category: "recovery:nav", description: "Page navigation recovery: new tab detection, URL validation." },
|
|
166
168
|
{ category: "recovery:resolution", description: "Video resolution monitoring: ABR degradation detection, grace periods, recovery escalation." },
|
|
167
169
|
{ category: "recovery:segments", description: "Segment production: self-heal detection." },
|
|
@@ -178,7 +180,6 @@ export const DEBUG_CATEGORIES = [
|
|
|
178
180
|
{ category: "streaming:setup", description: "Stream setup: redirect resolution, profile override, capture init." },
|
|
179
181
|
{ category: "streaming:showinfo", description: "Channels DVR show name lookups, device mapping." },
|
|
180
182
|
{ category: "timing:browser", description: "Browser launch: process spawn, extension init, capability detection." },
|
|
181
|
-
{ category: "timing:hls", description: "HLS playlist delivery time." },
|
|
182
183
|
{ category: "timing:native", description: "Native streaming: interception latency, probe latency, first segment, refresh duration." },
|
|
183
184
|
{ category: "timing:recovery", description: "Recovery totals: navigation recovery, tab replacement." },
|
|
184
185
|
{ category: "timing:startup", description: "Stream startup: init segment, first playlist, capture ready." },
|
|
@@ -190,6 +191,7 @@ export const DEBUG_CATEGORIES = [
|
|
|
190
191
|
{ category: "tuning:fox", description: "Fox.com guide grid: console bridge, page errors, request failures, channel-switch diagnostics." },
|
|
191
192
|
{ category: "tuning:hbo", description: "HBO Max: tab URL discovery, channel rail, navigation." },
|
|
192
193
|
{ category: "tuning:hulu", description: "Hulu Live guide grid: binary search, cache, click retries." },
|
|
194
|
+
{ category: "tuning:selector", description: "Channel selector resolution: a category resolved to an identifier, persisted to the channel store, unresolved reasons." },
|
|
193
195
|
{ category: "tuning:sling", description: "Sling TV guide grid: binary search, cache, click retries." },
|
|
194
196
|
{ category: "tuning:spectrum", description: "Spectrum TV guide grid: channel discovery, cache, direct URL navigation." },
|
|
195
197
|
{ category: "tuning:tileClick", description: "Tile click strategy: scroll phase, matchSelector poll, play button retries, modal dismiss." },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugFilter.js","sourceRoot":"","sources":["../../src/utils/debugFilter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"debugFilter.js","sourceRoot":"","sources":["../../src/utils/debugFilter.ts"],"names":[],"mappings":"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"}
|