prismcast 1.10.2 → 1.11.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 +6 -3
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +140 -86
- package/dist/app.js.map +1 -1
- package/dist/browser/blockedPage.d.ts +80 -0
- package/dist/browser/blockedPage.d.ts.map +1 -0
- package/dist/browser/blockedPage.js +209 -0
- package/dist/browser/blockedPage.js.map +1 -0
- package/dist/browser/browserSupervisor.d.ts +80 -0
- package/dist/browser/browserSupervisor.d.ts.map +1 -0
- package/dist/browser/browserSupervisor.js +186 -0
- package/dist/browser/browserSupervisor.js.map +1 -0
- package/dist/browser/cdp.d.ts +1 -0
- package/dist/browser/cdp.d.ts.map +1 -0
- package/dist/browser/cdp.js +6 -5
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +45 -14
- package/dist/browser/channelSelection.d.ts.map +1 -0
- package/dist/browser/channelSelection.js +81 -18
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/consent.d.ts +152 -0
- package/dist/browser/consent.d.ts.map +1 -0
- package/dist/browser/consent.js +418 -0
- package/dist/browser/consent.js.map +1 -0
- package/dist/browser/display.d.ts +1 -0
- package/dist/browser/display.d.ts.map +1 -0
- package/dist/browser/hlsPlaylistObserver.d.ts +55 -0
- package/dist/browser/hlsPlaylistObserver.d.ts.map +1 -0
- package/dist/browser/hlsPlaylistObserver.js +132 -0
- package/dist/browser/hlsPlaylistObserver.js.map +1 -0
- package/dist/browser/index.d.ts +67 -40
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +508 -300
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/launchGovernor.d.ts +89 -0
- package/dist/browser/launchGovernor.d.ts.map +1 -0
- package/dist/browser/launchGovernor.js +96 -0
- package/dist/browser/launchGovernor.js.map +1 -0
- package/dist/browser/login.d.ts +10 -2
- package/dist/browser/login.d.ts.map +1 -0
- package/dist/browser/login.js +36 -5
- package/dist/browser/login.js.map +1 -1
- package/dist/browser/manifestInterceptor.d.ts +102 -49
- package/dist/browser/manifestInterceptor.d.ts.map +1 -0
- package/dist/browser/manifestInterceptor.js +219 -237
- package/dist/browser/manifestInterceptor.js.map +1 -1
- package/dist/browser/pageStaleness.d.ts +30 -0
- package/dist/browser/pageStaleness.d.ts.map +1 -0
- package/dist/browser/pageStaleness.js +76 -0
- package/dist/browser/pageStaleness.js.map +1 -0
- package/dist/browser/precaching.d.ts +95 -3
- package/dist/browser/precaching.d.ts.map +1 -0
- package/dist/browser/precaching.js +499 -65
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tabNetworkObserver.d.ts +49 -0
- package/dist/browser/tabNetworkObserver.d.ts.map +1 -0
- package/dist/browser/tabNetworkObserver.js +144 -0
- package/dist/browser/tabNetworkObserver.js.map +1 -0
- package/dist/browser/tuning/cache.d.ts +61 -0
- package/dist/browser/tuning/cache.d.ts.map +1 -0
- package/dist/browser/tuning/cache.js +62 -0
- package/dist/browser/tuning/cache.js.map +1 -0
- package/dist/browser/tuning/comcastPolymer.d.ts +3 -2
- package/dist/browser/tuning/comcastPolymer.d.ts.map +1 -0
- package/dist/browser/tuning/comcastPolymer.js +79 -102
- package/dist/browser/tuning/comcastPolymer.js.map +1 -1
- package/dist/browser/tuning/cox.d.ts +1 -0
- package/dist/browser/tuning/cox.d.ts.map +1 -0
- package/dist/browser/tuning/directv.d.ts +1 -0
- package/dist/browser/tuning/directv.d.ts.map +1 -0
- package/dist/browser/tuning/directv.js +52 -46
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +1 -0
- package/dist/browser/tuning/fox.d.ts.map +1 -0
- package/dist/browser/tuning/fox.js +13 -12
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/gridSearch.d.ts +68 -0
- package/dist/browser/tuning/gridSearch.d.ts.map +1 -0
- package/dist/browser/tuning/gridSearch.js +85 -0
- package/dist/browser/tuning/gridSearch.js.map +1 -0
- package/dist/browser/tuning/hbo.d.ts +1 -0
- package/dist/browser/tuning/hbo.d.ts.map +1 -0
- package/dist/browser/tuning/hbo.js +73 -45
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.d.ts +1 -0
- package/dist/browser/tuning/hulu.d.ts.map +1 -0
- package/dist/browser/tuning/hulu.js +128 -173
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +75 -5
- package/dist/browser/tuning/shared.d.ts.map +1 -0
- package/dist/browser/tuning/shared.js +216 -6
- package/dist/browser/tuning/shared.js.map +1 -1
- package/dist/browser/tuning/sling.d.ts +1 -0
- package/dist/browser/tuning/sling.d.ts.map +1 -0
- package/dist/browser/tuning/sling.js +105 -126
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.d.ts +1 -0
- package/dist/browser/tuning/spectrum.d.ts.map +1 -0
- package/dist/browser/tuning/spectrum.js +80 -125
- package/dist/browser/tuning/spectrum.js.map +1 -1
- package/dist/browser/tuning/thumbnailRow.d.ts +1 -0
- package/dist/browser/tuning/thumbnailRow.d.ts.map +1 -0
- package/dist/browser/tuning/thumbnailRow.js +8 -2
- package/dist/browser/tuning/thumbnailRow.js.map +1 -1
- package/dist/browser/tuning/tileClick.d.ts +1 -0
- package/dist/browser/tuning/tileClick.d.ts.map +1 -0
- package/dist/browser/tuning/tileClick.js +3 -2
- package/dist/browser/tuning/tileClick.js.map +1 -1
- package/dist/browser/tuning/xfinity.d.ts +1 -0
- package/dist/browser/tuning/xfinity.d.ts.map +1 -0
- package/dist/browser/tuning/youtubeTv.d.ts +1 -0
- package/dist/browser/tuning/youtubeTv.d.ts.map +1 -0
- package/dist/browser/tuning/youtubeTv.js +74 -127
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +54 -14
- package/dist/browser/video.d.ts.map +1 -0
- package/dist/browser/video.js +296 -138
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.d.ts +1 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +12 -9
- package/dist/channels/index.js.map +1 -1
- package/dist/config/channelForm.d.ts +15 -1
- package/dist/config/channelForm.d.ts.map +1 -0
- package/dist/config/channelForm.js +28 -12
- package/dist/config/channelForm.js.map +1 -1
- package/dist/config/consistencyProbe.d.ts +1 -0
- package/dist/config/consistencyProbe.d.ts.map +1 -0
- package/dist/config/consistencyProbe.js +27 -21
- package/dist/config/consistencyProbe.js.map +1 -1
- package/dist/config/health.d.ts +41 -8
- package/dist/config/health.d.ts.map +1 -0
- package/dist/config/health.js +189 -38
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.d.ts +55 -3
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +320 -69
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +10 -9
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +11 -11
- package/dist/config/paths.js.map +1 -1
- package/dist/config/persistence.context.d.ts +1 -0
- package/dist/config/persistence.context.d.ts.map +1 -0
- package/dist/config/persistence.d.ts +13 -10
- package/dist/config/persistence.d.ts.map +1 -0
- package/dist/config/persistence.js +40 -21
- package/dist/config/persistence.js.map +1 -1
- package/dist/config/presets.d.ts +1 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/profiles.d.ts +22 -15
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +81 -47
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providerLineups.d.ts +47 -0
- package/dist/config/providerLineups.d.ts.map +1 -0
- package/dist/config/providerLineups.js +137 -0
- package/dist/config/providerLineups.js.map +1 -0
- package/dist/config/reactivity.d.ts +84 -0
- package/dist/config/reactivity.d.ts.map +1 -0
- package/dist/config/reactivity.js +226 -0
- package/dist/config/reactivity.js.map +1 -0
- package/dist/config/servicePacks.d.ts +18 -2
- package/dist/config/servicePacks.d.ts.map +1 -0
- package/dist/config/servicePacks.js +53 -11
- package/dist/config/servicePacks.js.map +1 -1
- package/dist/config/services.d.ts +21 -15
- package/dist/config/services.d.ts.map +1 -0
- package/dist/config/services.js +35 -24
- package/dist/config/services.js.map +1 -1
- package/dist/config/sites.d.ts +6 -4
- package/dist/config/sites.d.ts.map +1 -0
- package/dist/config/sites.js +15 -11
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +129 -30
- package/dist/config/userChannels.d.ts.map +1 -0
- package/dist/config/userChannels.js +333 -68
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +14 -9
- package/dist/config/userConfig.d.ts.map +1 -0
- package/dist/config/userConfig.js +87 -25
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +10 -6
- package/dist/config/userProfiles.d.ts.map +1 -0
- package/dist/config/userProfiles.js +64 -39
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +1 -0
- package/dist/hdhr/channelMap.d.ts.map +1 -0
- package/dist/hdhr/deviceId.d.ts +1 -0
- package/dist/hdhr/deviceId.d.ts.map +1 -0
- package/dist/hdhr/discover.d.ts +1 -0
- package/dist/hdhr/discover.d.ts.map +1 -0
- package/dist/hdhr/discover.js +48 -47
- package/dist/hdhr/discover.js.map +1 -1
- package/dist/hdhr/getHandlers.d.ts +29 -0
- package/dist/hdhr/getHandlers.d.ts.map +1 -0
- package/dist/hdhr/getHandlers.js +196 -0
- package/dist/hdhr/getHandlers.js.map +1 -0
- package/dist/hdhr/identity.d.ts +36 -0
- package/dist/hdhr/identity.d.ts.map +1 -0
- package/dist/hdhr/identity.js +51 -0
- package/dist/hdhr/identity.js.map +1 -0
- package/dist/hdhr/index.d.ts +22 -4
- package/dist/hdhr/index.d.ts.map +1 -0
- package/dist/hdhr/index.js +229 -54
- package/dist/hdhr/index.js.map +1 -1
- package/dist/hdhr/protocol.d.ts +75 -0
- package/dist/hdhr/protocol.d.ts.map +1 -0
- package/dist/hdhr/protocol.js +264 -0
- package/dist/hdhr/protocol.js.map +1 -0
- package/dist/hdhr/tunerState.d.ts +24 -0
- package/dist/hdhr/tunerState.d.ts.map +1 -0
- package/dist/hdhr/tunerState.js +67 -0
- package/dist/hdhr/tunerState.js.map +1 -0
- package/dist/hdhr/udp.d.ts +43 -0
- package/dist/hdhr/udp.d.ts.map +1 -0
- package/dist/hdhr/udp.js +277 -0
- package/dist/hdhr/udp.js.map +1 -0
- package/dist/identity.d.ts +1 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +13 -11
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -12
- package/dist/index.js.map +1 -1
- package/dist/native/codecInference.d.ts +1 -0
- package/dist/native/codecInference.d.ts.map +1 -0
- package/dist/native/codecInference.js +50 -5
- package/dist/native/codecInference.js.map +1 -1
- package/dist/native/decrypt.d.ts +6 -2
- package/dist/native/decrypt.d.ts.map +1 -0
- package/dist/native/decrypt.js +15 -8
- package/dist/native/decrypt.js.map +1 -1
- package/dist/native/index.d.ts +40 -17
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +281 -120
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +114 -18
- package/dist/native/probe.d.ts.map +1 -0
- package/dist/native/probe.js +452 -115
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +57 -5
- package/dist/native/proxy.d.ts.map +1 -0
- package/dist/native/proxy.js +604 -170
- package/dist/native/proxy.js.map +1 -1
- package/dist/native/tokenExpiry.d.ts +1 -0
- package/dist/native/tokenExpiry.d.ts.map +1 -0
- package/dist/native/tokenExpiry.js +1 -1
- package/dist/routes/assets.d.ts +1 -0
- package/dist/routes/assets.d.ts.map +1 -0
- package/dist/routes/assets.js +4 -2
- package/dist/routes/assets.js.map +1 -1
- package/dist/routes/auth.d.ts +1 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +0 -1
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/cdp.d.ts +5 -5
- package/dist/routes/cdp.d.ts.map +1 -0
- package/dist/routes/cdp.js +59 -20
- package/dist/routes/cdp.js.map +1 -1
- package/dist/routes/channels.d.ts +1 -0
- package/dist/routes/channels.d.ts.map +1 -0
- package/dist/routes/channels.js +2 -1
- package/dist/routes/channels.js.map +1 -1
- package/dist/routes/clientActions.d.ts +98 -0
- package/dist/routes/clientActions.d.ts.map +1 -0
- package/dist/routes/clientActions.js +113 -0
- package/dist/routes/clientActions.js.map +1 -0
- package/dist/routes/components.d.ts +5 -3
- package/dist/routes/components.d.ts.map +1 -0
- package/dist/routes/components.js +36 -39
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/browse.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/browse.js +23 -10
- package/dist/routes/config/channels/endpoints/browse.js.map +1 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/bulk.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/bulk.js +5 -3
- package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/crud.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/crud.js +85 -93
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/importExport.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/importExport.js +6 -3
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/predefined.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/prefs.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/prefs.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/prefs.js +2 -1
- package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
- package/dist/routes/config/channels/endpoints/service.d.ts +2 -1
- package/dist/routes/config/channels/endpoints/service.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/service.js +3 -1
- package/dist/routes/config/channels/endpoints/service.js.map +1 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/tags.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/tags.js +13 -7
- package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
- package/dist/routes/config/channels/healthBridge.d.ts +24 -0
- package/dist/routes/config/channels/healthBridge.d.ts.map +1 -0
- package/dist/routes/config/channels/healthBridge.js +71 -0
- package/dist/routes/config/channels/healthBridge.js.map +1 -0
- package/dist/routes/config/channels/http/handler.d.ts +1 -0
- package/dist/routes/config/channels/http/handler.d.ts.map +1 -0
- package/dist/routes/config/channels/http/playlistHint.d.ts +2 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts.map +1 -0
- package/dist/routes/config/channels/http/playlistHint.js +16 -2
- package/dist/routes/config/channels/http/playlistHint.js.map +1 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts +4 -2
- package/dist/routes/config/channels/http/serviceWarning.d.ts.map +1 -0
- package/dist/routes/config/channels/http/serviceWarning.js +3 -2
- package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +1 -0
- package/dist/routes/config/channels/index.d.ts.map +1 -0
- package/dist/routes/config/channels/setup.d.ts +1 -0
- package/dist/routes/config/channels/setup.d.ts.map +1 -0
- package/dist/routes/config/channels/table.d.ts +3 -3
- package/dist/routes/config/channels/table.d.ts.map +1 -0
- package/dist/routes/config/channels/table.js +148 -107
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/http/envelope.d.ts +1 -0
- package/dist/routes/config/http/envelope.d.ts.map +1 -0
- package/dist/routes/config/index.d.ts +35 -3
- package/dist/routes/config/index.d.ts.map +1 -0
- package/dist/routes/config/index.js +51 -2
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/services.d.ts +5 -4
- package/dist/routes/config/services.d.ts.map +1 -0
- package/dist/routes/config/services.js +57 -43
- package/dist/routes/config/services.js.map +1 -1
- package/dist/routes/config/settings.d.ts +1 -0
- package/dist/routes/config/settings.d.ts.map +1 -0
- package/dist/routes/config/settings.js +98 -49
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.d.ts +1 -0
- package/dist/routes/debug.d.ts.map +1 -0
- package/dist/routes/debug.js +277 -139
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/health.d.ts +39 -1
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +33 -27
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/hls.d.ts +1 -0
- package/dist/routes/hls.d.ts.map +1 -0
- package/dist/routes/icons.d.ts +1 -0
- package/dist/routes/icons.d.ts.map +1 -0
- package/dist/routes/icons.js +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/logs.d.ts +1 -0
- package/dist/routes/logs.d.ts.map +1 -0
- package/dist/routes/logs.js +14 -4
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/mpegts.d.ts +1 -0
- package/dist/routes/mpegts.d.ts.map +1 -0
- package/dist/routes/play.d.ts +1 -0
- package/dist/routes/play.d.ts.map +1 -0
- package/dist/routes/playlist.d.ts +1 -0
- package/dist/routes/playlist.d.ts.map +1 -0
- package/dist/routes/playlist.js +7 -2
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.d.ts +8 -5
- package/dist/routes/root/content.d.ts.map +1 -0
- package/dist/routes/root/content.js +29 -26
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.d.ts +2 -1
- package/dist/routes/root/index.d.ts.map +1 -0
- package/dist/routes/root/index.js +26 -21
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.d.ts +6 -0
- package/dist/routes/root/scripts/channels.d.ts.map +1 -0
- package/dist/routes/root/scripts/channels.js +197 -118
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/clientEscape.d.ts +22 -0
- package/dist/routes/root/scripts/clientEscape.d.ts.map +1 -0
- package/dist/routes/root/scripts/clientEscape.js +41 -0
- package/dist/routes/root/scripts/clientEscape.js.map +1 -0
- package/dist/routes/root/scripts/clientUrl.d.ts +23 -0
- package/dist/routes/root/scripts/clientUrl.d.ts.map +1 -0
- package/dist/routes/root/scripts/clientUrl.js +44 -0
- package/dist/routes/root/scripts/clientUrl.js.map +1 -0
- package/dist/routes/root/scripts/config.d.ts +6 -0
- package/dist/routes/root/scripts/config.d.ts.map +1 -0
- package/dist/routes/root/scripts/config.js +110 -24
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +1 -0
- package/dist/routes/root/scripts/index.d.ts.map +1 -0
- package/dist/routes/root/scripts/shared.d.ts +1 -0
- package/dist/routes/root/scripts/shared.d.ts.map +1 -0
- package/dist/routes/root/scripts/shared.js +112 -26
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.d.ts +1 -0
- package/dist/routes/root/scripts/status.d.ts.map +1 -0
- package/dist/routes/root/scripts/status.handlers.d.ts +23 -33
- package/dist/routes/root/scripts/status.handlers.d.ts.map +1 -0
- package/dist/routes/root/scripts/status.handlers.js +46 -92
- package/dist/routes/root/scripts/status.handlers.js.map +1 -1
- package/dist/routes/root/scripts/status.js +21 -8
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/root/styles.d.ts +1 -0
- package/dist/routes/root/styles.d.ts.map +1 -0
- package/dist/routes/root/styles.js +7 -4
- package/dist/routes/root/styles.js.map +1 -1
- package/dist/routes/services.d.ts +13 -1
- package/dist/routes/services.d.ts.map +1 -0
- package/dist/routes/services.js +81 -68
- package/dist/routes/services.js.map +1 -1
- package/dist/routes/sse.d.ts +1 -0
- package/dist/routes/sse.d.ts.map +1 -0
- package/dist/routes/sse.js +1 -1
- package/dist/routes/sse.js.map +1 -1
- package/dist/routes/streams.d.ts +2 -1
- package/dist/routes/streams.d.ts.map +1 -0
- package/dist/routes/streams.js +6 -4
- package/dist/routes/streams.js.map +1 -1
- package/dist/routes/theme.d.ts +3 -2
- package/dist/routes/theme.d.ts.map +1 -0
- package/dist/routes/theme.js +6 -5
- package/dist/routes/theme.js.map +1 -1
- package/dist/routes/ui.d.ts +3 -1
- package/dist/routes/ui.d.ts.map +1 -0
- package/dist/routes/ui.js +16 -4
- package/dist/routes/ui.js.map +1 -1
- package/dist/routes/upgrade.d.ts +1 -0
- package/dist/routes/upgrade.d.ts.map +1 -0
- package/dist/routes/upgrade.js +6 -2
- package/dist/routes/upgrade.js.map +1 -1
- package/dist/service/commands.context.d.ts +1 -0
- package/dist/service/commands.context.d.ts.map +1 -0
- package/dist/service/commands.context.js +4 -3
- package/dist/service/commands.context.js.map +1 -1
- package/dist/service/commands.d.ts +1 -0
- package/dist/service/commands.d.ts.map +1 -0
- package/dist/service/commands.js +10 -13
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.context.d.ts +1 -0
- package/dist/service/generators.context.d.ts.map +1 -0
- package/dist/service/generators.context.js +1 -1
- package/dist/service/generators.context.js.map +1 -1
- package/dist/service/generators.d.ts +4 -3
- package/dist/service/generators.d.ts.map +1 -0
- package/dist/service/generators.js +111 -31
- package/dist/service/generators.js.map +1 -1
- package/dist/service/index.d.ts +1 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/streaming/captureLock.d.ts +44 -0
- package/dist/streaming/captureLock.d.ts.map +1 -0
- package/dist/streaming/captureLock.js +95 -0
- package/dist/streaming/captureLock.js.map +1 -0
- package/dist/streaming/captureSession.d.ts +31 -0
- package/dist/streaming/captureSession.d.ts.map +1 -0
- package/dist/streaming/captureSession.js +54 -0
- package/dist/streaming/captureSession.js.map +1 -0
- package/dist/streaming/clients.d.ts +1 -0
- package/dist/streaming/clients.d.ts.map +1 -0
- package/dist/streaming/codec.d.ts +1 -0
- package/dist/streaming/codec.d.ts.map +1 -0
- package/dist/streaming/fmp4Segmenter.d.ts +29 -2
- package/dist/streaming/fmp4Segmenter.d.ts.map +1 -0
- package/dist/streaming/fmp4Segmenter.js +79 -26
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +18 -7
- package/dist/streaming/hls.d.ts.map +1 -0
- package/dist/streaming/hls.js +220 -120
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +1 -0
- package/dist/streaming/hlsResume.d.ts.map +1 -0
- package/dist/streaming/hlsResume.js +1 -1
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +59 -2
- package/dist/streaming/hlsSegments.d.ts.map +1 -0
- package/dist/streaming/hlsSegments.js +147 -17
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.d.ts +4 -1
- package/dist/streaming/lifecycle.d.ts.map +1 -0
- package/dist/streaming/lifecycle.js +65 -85
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +6 -4
- package/dist/streaming/monitor.d.ts.map +1 -0
- package/dist/streaming/monitor.js +343 -145
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +5 -4
- package/dist/streaming/mp4Parser.d.ts.map +1 -0
- package/dist/streaming/mp4Parser.js +36 -13
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/mpegts.d.ts +16 -0
- package/dist/streaming/mpegts.d.ts.map +1 -0
- package/dist/streaming/mpegts.js +61 -17
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +1 -0
- package/dist/streaming/playlistBuilder.d.ts.map +1 -0
- package/dist/streaming/preroll.d.ts +32 -5
- package/dist/streaming/preroll.d.ts.map +1 -0
- package/dist/streaming/preroll.js +70 -32
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/pretune.d.ts +26 -1
- package/dist/streaming/pretune.d.ts.map +1 -0
- package/dist/streaming/pretune.js +22 -24
- package/dist/streaming/pretune.js.map +1 -1
- package/dist/streaming/pretuneTimers.d.ts +24 -0
- package/dist/streaming/pretuneTimers.d.ts.map +1 -0
- package/dist/streaming/pretuneTimers.js +56 -0
- package/dist/streaming/pretuneTimers.js.map +1 -0
- package/dist/streaming/recovery.d.ts +139 -5
- package/dist/streaming/recovery.d.ts.map +1 -0
- package/dist/streaming/recovery.js +160 -16
- package/dist/streaming/recovery.js.map +1 -1
- package/dist/streaming/registry.d.ts +27 -9
- package/dist/streaming/registry.d.ts.map +1 -0
- package/dist/streaming/registry.js +21 -3
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +157 -29
- package/dist/streaming/setup.d.ts.map +1 -0
- package/dist/streaming/setup.js +1034 -458
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +21 -1
- package/dist/streaming/showInfo.d.ts.map +1 -0
- package/dist/streaming/showInfo.js +31 -16
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +10 -10
- package/dist/streaming/statusEmitter.d.ts.map +1 -0
- package/dist/streaming/statusEmitter.js +5 -8
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +16 -4
- package/dist/types/channels.d.ts.map +1 -0
- package/dist/types/channels.js +4 -2
- package/dist/types/channels.js.map +1 -1
- package/dist/types/config.d.ts +16 -5
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/profiles.d.ts +6 -4
- package/dist/types/profiles.d.ts.map +1 -0
- package/dist/types/selection.d.ts +31 -3
- package/dist/types/selection.d.ts.map +1 -0
- package/dist/types/selection.js +4 -2
- package/dist/types/selection.js.map +1 -1
- package/dist/types/shared.d.ts +1 -0
- package/dist/types/shared.d.ts.map +1 -0
- package/dist/types/streaming.d.ts +8 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/upgrade/commands.context.d.ts +1 -0
- package/dist/upgrade/commands.context.d.ts.map +1 -0
- package/dist/upgrade/commands.context.js +14 -10
- package/dist/upgrade/commands.context.js.map +1 -1
- package/dist/upgrade/commands.d.ts +8 -15
- package/dist/upgrade/commands.d.ts.map +1 -0
- package/dist/upgrade/commands.js +27 -28
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/upgrade/detection.context.d.ts +1 -0
- package/dist/upgrade/detection.context.d.ts.map +1 -0
- package/dist/upgrade/detection.context.js +4 -1
- package/dist/upgrade/detection.context.js.map +1 -1
- package/dist/upgrade/detection.d.ts +9 -7
- package/dist/upgrade/detection.d.ts.map +1 -0
- package/dist/upgrade/detection.js +23 -54
- package/dist/upgrade/detection.js.map +1 -1
- package/dist/upgrade/index.d.ts +2 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +1 -0
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/lifecycle.context.d.ts +20 -0
- package/dist/upgrade/lifecycle.context.d.ts.map +1 -0
- package/dist/upgrade/lifecycle.context.js +47 -0
- package/dist/upgrade/lifecycle.context.js.map +1 -0
- package/dist/upgrade/lifecycle.d.ts +72 -0
- package/dist/upgrade/lifecycle.d.ts.map +1 -0
- package/dist/upgrade/lifecycle.js +175 -0
- package/dist/upgrade/lifecycle.js.map +1 -0
- package/dist/upgrade/pathHandle.d.ts +30 -0
- package/dist/upgrade/pathHandle.d.ts.map +1 -0
- package/dist/upgrade/pathHandle.js +102 -0
- package/dist/upgrade/pathHandle.js.map +1 -0
- package/dist/utils/bootSession.context.d.ts +16 -0
- package/dist/utils/bootSession.context.d.ts.map +1 -0
- package/dist/utils/bootSession.context.js +60 -0
- package/dist/utils/bootSession.context.js.map +1 -0
- package/dist/utils/bootSession.d.ts +17 -0
- package/dist/utils/bootSession.d.ts.map +1 -0
- package/dist/utils/bootSession.js +20 -0
- package/dist/utils/bootSession.js.map +1 -0
- package/dist/utils/chromeFetch.d.ts +1 -0
- package/dist/utils/chromeFetch.d.ts.map +1 -0
- package/dist/utils/cliOutput.d.ts +1 -0
- package/dist/utils/cliOutput.d.ts.map +1 -0
- package/dist/utils/clock.d.ts +5 -4
- package/dist/utils/clock.d.ts.map +1 -0
- package/dist/utils/clock.js +19 -16
- package/dist/utils/clock.js.map +1 -1
- package/dist/utils/debugFilter.d.ts +9 -1
- package/dist/utils/debugFilter.d.ts.map +1 -0
- package/dist/utils/debugFilter.js +60 -33
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +48 -15
- package/dist/utils/delay.d.ts.map +1 -0
- package/dist/utils/delay.js +73 -20
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/errors.d.ts +32 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +45 -4
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/evaluate.d.ts +1 -0
- package/dist/utils/evaluate.d.ts.map +1 -0
- package/dist/utils/evaluate.js +29 -23
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.context.d.ts +1 -0
- package/dist/utils/ffmpeg.context.d.ts.map +1 -0
- package/dist/utils/ffmpeg.context.js.map +1 -1
- package/dist/utils/ffmpeg.d.ts +29 -7
- package/dist/utils/ffmpeg.d.ts.map +1 -0
- package/dist/utils/ffmpeg.js +32 -14
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +3 -1
- package/dist/utils/fileLogger.d.ts.map +1 -0
- package/dist/utils/fileLogger.js +64 -29
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +14 -1
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +19 -5
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.d.ts +1 -0
- package/dist/utils/logEmitter.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +10 -6
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/m3u.d.ts +3 -2
- package/dist/utils/m3u.d.ts.map +1 -0
- package/dist/utils/m3u.js +4 -3
- package/dist/utils/m3u.js.map +1 -1
- package/dist/utils/markup.d.ts +13 -1
- package/dist/utils/markup.d.ts.map +1 -0
- package/dist/utils/markup.js +28 -4
- package/dist/utils/markup.js.map +1 -1
- package/dist/utils/memo.d.ts +3 -2
- package/dist/utils/memo.d.ts.map +1 -0
- package/dist/utils/memo.js +3 -3
- package/dist/utils/morganStream.d.ts +1 -0
- package/dist/utils/morganStream.d.ts.map +1 -0
- package/dist/utils/network.d.ts +1 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +2 -2
- package/dist/utils/pid.d.ts +3 -25
- package/dist/utils/pid.d.ts.map +1 -0
- package/dist/utils/pid.js +10 -49
- package/dist/utils/pid.js.map +1 -1
- package/dist/utils/platform.d.ts +3 -1
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +2 -1
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/processInspector.context.d.ts +8 -0
- package/dist/utils/processInspector.context.d.ts.map +1 -0
- package/dist/utils/processInspector.context.js +106 -0
- package/dist/utils/processInspector.context.js.map +1 -0
- package/dist/utils/processInspector.d.ts +55 -0
- package/dist/utils/processInspector.d.ts.map +1 -0
- package/dist/utils/processInspector.js +127 -0
- package/dist/utils/processInspector.js.map +1 -0
- package/dist/utils/retry.d.ts +25 -2
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +33 -6
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/runtimeIdentity.context.d.ts +7 -0
- package/dist/utils/runtimeIdentity.context.d.ts.map +1 -0
- package/dist/utils/runtimeIdentity.context.js +43 -0
- package/dist/utils/runtimeIdentity.context.js.map +1 -0
- package/dist/utils/runtimeIdentity.d.ts +98 -0
- package/dist/utils/runtimeIdentity.d.ts.map +1 -0
- package/dist/utils/runtimeIdentity.js +181 -0
- package/dist/utils/runtimeIdentity.js.map +1 -0
- package/dist/utils/sanitize.d.ts +1 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/streamContext.d.ts +2 -1
- package/dist/utils/streamContext.d.ts.map +1 -0
- package/dist/utils/streamContext.js +1 -1
- package/dist/utils/timing.d.ts +2 -1
- package/dist/utils/timing.d.ts.map +1 -0
- package/dist/utils/timing.js +0 -5
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +47 -13
- package/dist/utils/version.js.map +1 -1
- package/package.json +26 -20
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { LOG, chromeFetch, delay, formatError } from "../../utils/index.js";
|
|
2
2
|
import { logAvailableChannels, normalizeChannelName } from "./shared.js";
|
|
3
3
|
import { CONFIG } from "../../config/index.js";
|
|
4
|
+
import { createProviderChannelCache } from "./cache.js";
|
|
5
|
+
import { searchVirtualizedGrid } from "./gridSearch.js";
|
|
4
6
|
// Sling TV guide grid row index cache. Maps normalized channel names (from data-testid="channel-{NAME}" attributes) to their row indices extracted from the
|
|
5
|
-
// parent .guide-row-container CSS class (gridGuideRow-{N}). Separate from
|
|
6
|
-
// and different scroll mechanics (.guide-cell scrollTop vs document.documentElement.scrollTop).
|
|
7
|
+
// parent .guide-row-container CSS class (gridGuideRow-{N}). Separate from Hulu's row tracking - the rowNumber field on its channel cache entries - because Sling
|
|
8
|
+
// uses a different row index system (CSS class-based) and different scroll mechanics (.guide-cell scrollTop vs document.documentElement.scrollTop).
|
|
7
9
|
const slingRowCache = new Map();
|
|
8
10
|
// Unified channel cache for Sling TV. Maps normalized channel names to their combined tuning and discovery data. Populated by intercepting grid guide API
|
|
9
11
|
// responses during guide page load (both tuning and discovery paths). Channel GUIDs are permanent infrastructure identifiers that never change - only the
|
|
10
|
-
// per-program asset_id rotates. Both tuning (via findChannelGuid / resolvePlayerUrl) and discovery (via
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
// per-program asset_id rotates. Both tuning (via findChannelGuid / resolvePlayerUrl) and discovery (via the cache's own projection) read from this single cache.
|
|
13
|
+
// Cleared on browser disconnect via clearSlingCache(). Only a complete discovery walk may mark the lineup complete: an individual tune populates the cache from
|
|
14
|
+
// whichever API pages happen to arrive during its guide page load, which is a small subset, and serving that as the lineup would report an incomplete list.
|
|
15
|
+
const slingCache = createProviderChannelCache((entry) => {
|
|
16
|
+
const result = { channelSelector: entry.displayName, name: entry.displayName };
|
|
17
|
+
if (entry.tier) {
|
|
18
|
+
result.tier = entry.tier;
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
});
|
|
17
22
|
// Playback info URL template captured from the grid API response. The CDN hostname (e.g., cbd46b77.cdn.cms.movetv.com) may change, so we derive it at runtime
|
|
18
23
|
// from the first PLAY_CONTENT tile's playback_info.url rather than hardcoding it. The template stores everything up to and including "/channels" - the caller
|
|
19
24
|
// appends "/{channel_guid}/schedule/now/playback_info.qvt".
|
|
@@ -22,6 +27,9 @@ let slingPlaybackInfoBase = null;
|
|
|
22
27
|
const pagesWithListeners = new WeakSet();
|
|
23
28
|
// Base URL for constructing direct player URLs. This is the user-facing Sling domain, not a CDN edge - stable.
|
|
24
29
|
const SLING_PLAYER_BASE = "https://watch.sling.com/1/asset";
|
|
30
|
+
// The A-Z grid guide page. The discovery walk navigates here, the provider module advertises it as its guide URL, and the not-found diagnostic points the user
|
|
31
|
+
// at it, so all three read the one constant.
|
|
32
|
+
const SLING_GUIDE_URL = "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z";
|
|
25
33
|
// Polling interval for the frontier-based cache wait. 300ms balances responsiveness (detecting newly arrived API pages quickly) against CPU overhead from cache
|
|
26
34
|
// scans. The API delivers pages in bursts, so shorter intervals provide diminishing returns.
|
|
27
35
|
const FRONTIER_POLL_INTERVAL = 300;
|
|
@@ -37,12 +45,11 @@ const PRECACHE_MIN_CHANNELS = 200;
|
|
|
37
45
|
// videoTimeout (11s), giving up to ~33 additional seconds for slow connections. Retries bail early if the cache reaches PRECACHE_MIN_CHANNELS.
|
|
38
46
|
const PRECACHE_MAX_NETWORK_IDLE_RETRIES = 3;
|
|
39
47
|
/**
|
|
40
|
-
* Clears all Sling TV caches: the unified channel cache, playback info base URL,
|
|
48
|
+
* Clears all Sling TV caches: the unified channel cache along with its completeness mark, the playback info base URL, and the row indices. Called by
|
|
41
49
|
* clearChannelSelectionCaches() in the coordinator when the browser restarts, since cached state may be stale in a new browser session.
|
|
42
50
|
*/
|
|
43
51
|
function clearSlingCache() {
|
|
44
|
-
|
|
45
|
-
slingFullyEnumerated = false;
|
|
52
|
+
slingCache.clear();
|
|
46
53
|
slingPlaybackInfoBase = null;
|
|
47
54
|
slingRowCache.clear();
|
|
48
55
|
}
|
|
@@ -50,7 +57,8 @@ function clearSlingCache() {
|
|
|
50
57
|
* Reads all rendered channel entries from the Sling TV guide grid in a single browser evaluate call. Extracts names from data-testid="channel-{NAME}" attributes
|
|
51
58
|
* and row indices from the parent .guide-row-container CSS class containing gridGuideRow-{N}. When the target channel is found, also locates the on-now program
|
|
52
59
|
* cell, scrolls it into view, and returns its center coordinates - eliminating a second evaluate round-trip. Populates the slingRowCache as a side effect. For
|
|
53
|
-
* local affiliates (ABC
|
|
60
|
+
* local affiliates, which Sling labels in the "network (callsign)" format (e.g., "ABC (WABC)"), also matches any channel whose name starts with the target
|
|
61
|
+
* followed by " (".
|
|
54
62
|
* @param page - The Puppeteer page object.
|
|
55
63
|
* @param targetName - The normalized (lowercased, trimmed) channel name to match, or null to skip click target resolution.
|
|
56
64
|
* @returns Object with all rendered channels, optional click coordinates for the target's on-now cell, and the actual matched name (which may differ from
|
|
@@ -116,14 +124,14 @@ async function readSlingChannelsAndLocate(page, targetName) {
|
|
|
116
124
|
const CLICK_RETRY_TIMEOUT = 5000;
|
|
117
125
|
// The guide page URL contains this path segment. Used to detect whether the page has navigated away from the guide after a click attempt.
|
|
118
126
|
const GUIDE_URL_MARKER = "grid_guide";
|
|
119
|
-
// Maximum number of click attempts before giving up. Three attempts
|
|
120
|
-
//
|
|
127
|
+
// Maximum number of click attempts before giving up. Three attempts (5-second timeouts on the first two, a full timeout on the last) give a worst-case wall-clock
|
|
128
|
+
// time of roughly 20 seconds, but with a much higher success rate for transient failures than a single longer timeout.
|
|
121
129
|
const MAX_CLICK_ATTEMPTS = 3;
|
|
122
130
|
/**
|
|
123
131
|
* Clicks the on-now program cell and waits for Sling to navigate to the player page. The click triggers a full page navigation to a /1/asset/{assetId}/watch URL,
|
|
124
132
|
* so we use Promise.all with page.waitForNavigation() to ensure the player page's DOM is ready before returning. Without this wait, initializePlayback() could run
|
|
125
133
|
* against a page that is mid-transition - either finding nothing or grabbing a stale element from the guide page. Uses domcontentloaded rather than load because
|
|
126
|
-
* the player page only needs to render a <video> element - waiting for all subresources (images, fonts) would add unnecessary latency since
|
|
134
|
+
* the player page only needs to render a <video> element - waiting for all subresources (images, fonts) would add unnecessary latency since waitForVideoReady()
|
|
127
135
|
* independently waits for the video element. No settle delay before the click because readSlingChannelsAndLocate() already called scrollIntoView and read
|
|
128
136
|
* getBoundingClientRect, confirming the element is positioned, and any mispositioned click is caught by the navigation timeout.
|
|
129
137
|
* @param page - The Puppeteer page object.
|
|
@@ -199,14 +207,14 @@ async function clickWithRetry(page, initialTarget, normalizedName, channelName)
|
|
|
199
207
|
* @returns The channel GUID or null if not cached.
|
|
200
208
|
*/
|
|
201
209
|
function findChannelGuid(normalizedName) {
|
|
202
|
-
const exact =
|
|
210
|
+
const exact = slingCache.map.get(normalizedName);
|
|
203
211
|
if (exact) {
|
|
204
212
|
return exact.guid;
|
|
205
213
|
}
|
|
206
|
-
for (const [key, entry] of
|
|
214
|
+
for (const [key, entry] of slingCache.map) {
|
|
207
215
|
if (key.startsWith(normalizedName + " (")) {
|
|
208
216
|
// Cache the full entry under the primary name for O(1) on next lookup.
|
|
209
|
-
|
|
217
|
+
slingCache.map.set(normalizedName, entry);
|
|
210
218
|
return entry.guid;
|
|
211
219
|
}
|
|
212
220
|
}
|
|
@@ -219,7 +227,7 @@ function findChannelGuid(normalizedName) {
|
|
|
219
227
|
*/
|
|
220
228
|
function getCacheFrontier() {
|
|
221
229
|
let max = null;
|
|
222
|
-
for (const key of
|
|
230
|
+
for (const key of slingCache.map.keys()) {
|
|
223
231
|
if (!max || (key > max)) {
|
|
224
232
|
max = key;
|
|
225
233
|
}
|
|
@@ -228,7 +236,7 @@ function getCacheFrontier() {
|
|
|
228
236
|
}
|
|
229
237
|
/**
|
|
230
238
|
* Fetches the current asset_id for a Sling channel from the public playback info endpoint. Returns null if the playback info base URL has not been captured yet
|
|
231
|
-
* (cold cache), the endpoint returns a non-
|
|
239
|
+
* (cold cache), the endpoint returns a non-2xx (non-ok) response, or the response does not contain an asset GUID. Callers should catch network and JSON parse errors.
|
|
232
240
|
* @param channelGuid - The stable Sling channel GUID.
|
|
233
241
|
* @returns The current asset_id string or null.
|
|
234
242
|
*/
|
|
@@ -263,7 +271,7 @@ async function resolvePlayerUrl(normalizedName) {
|
|
|
263
271
|
}
|
|
264
272
|
/**
|
|
265
273
|
* Processes a single Sling grid guide API response, extracting channel data and the playback info base URL. Called by the response interception listener for
|
|
266
|
-
* each paginated grid_guide_a_z response. Populates the unified
|
|
274
|
+
* each paginated grid_guide_a_z response. Populates the unified channel cache and, on the first tile with a PLAY_CONTENT action, captures
|
|
267
275
|
* slingPlaybackInfoBase.
|
|
268
276
|
* @param data - The parsed JSON response from the grid guide API.
|
|
269
277
|
*/
|
|
@@ -285,7 +293,7 @@ function processGridApiResponse(data) {
|
|
|
285
293
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
286
294
|
const packageName = tile?.actions?.DETAIL_VIEW?.adobe?.PackageName;
|
|
287
295
|
const tier = packageName ? (packageName.includes("Freestream") ? "free" : "paid") : undefined;
|
|
288
|
-
|
|
296
|
+
slingCache.map.set(normalized, { displayName: channelName, guid: channelGuid, tier });
|
|
289
297
|
}
|
|
290
298
|
// Extract the playback info base URL from the first tile that has one. The CDN hostname varies (e.g., cbd46b77.cdn.cms.movetv.com), so we derive it
|
|
291
299
|
// from the actual API response rather than hardcoding. We take everything up to and including "/channels" from the tile's playback_info.url.
|
|
@@ -300,7 +308,7 @@ function processGridApiResponse(data) {
|
|
|
300
308
|
/**
|
|
301
309
|
* Sets up response interception on the page to capture Sling's grid guide API responses. As the guide page loads, Sling fetches paginated channel data from the
|
|
302
310
|
* grid_guide_a_z API. Each response contains ribbons with channel GUIDs (stitch_id) and channel names (DETAIL_VIEW.adobe.ChannelName). We intercept these to
|
|
303
|
-
* populate the
|
|
311
|
+
* populate the unified channel cache, enabling the API fast path on subsequent tunes. Also extracts the playback info base URL from the first PLAY_CONTENT tile
|
|
304
312
|
* to avoid hardcoding the CDN hostname. Uses a WeakSet to prevent duplicate listener registration on the same page.
|
|
305
313
|
* @param page - The Puppeteer page object.
|
|
306
314
|
*/
|
|
@@ -353,7 +361,7 @@ async function resolveSlingDirectUrl(channelSelector, page) {
|
|
|
353
361
|
* @param channelSelector - The channel selector string to invalidate.
|
|
354
362
|
*/
|
|
355
363
|
function invalidateSlingDirectUrl(channelSelector) {
|
|
356
|
-
|
|
364
|
+
slingCache.map.delete(normalizeChannelName(channelSelector));
|
|
357
365
|
}
|
|
358
366
|
/**
|
|
359
367
|
* Sling TV grid strategy: finds a channel in the virtualized, alphabetically sorted guide grid at watch.sling.com/dashboard/grid_guide/grid_guide_a_z using binary
|
|
@@ -365,7 +373,8 @@ function invalidateSlingDirectUrl(channelSelector) {
|
|
|
365
373
|
* 1. Wait for channel entries to appear in the DOM (confirms guide grid has loaded and API data is flowing)
|
|
366
374
|
* 2. API fast path with frontier polling: poll the channel cache until the target channel appears, the cache frontier passes the target's position, or 5 seconds
|
|
367
375
|
* elapse - then fetch the current asset_id and navigate directly, skipping all steps below
|
|
368
|
-
* 3. Read grid metadata: locate the .guide-cell scroll host and compute total rows from
|
|
376
|
+
* 3. Read grid metadata: locate the .guide-cell scroll host, measure row height from a rendered .guide-row-container, and compute total rows from
|
|
377
|
+
* (scrollHeight - rowOffset) / that measured height
|
|
369
378
|
* 4. Check the slingRowCache for a direct-scroll shortcut from a previous tune
|
|
370
379
|
* 5. Binary search: scroll .guide-cell to the midpoint row, read rendered channels, compare alphabetically to adjust bounds
|
|
371
380
|
* 6. Click the on-now program cell via clickWithRetry() - retries up to 3 times on navigation timeout before giving up
|
|
@@ -381,12 +390,12 @@ async function slingGridStrategy(page, profile) {
|
|
|
381
390
|
await page.waitForSelector("[data-testid^=\"channel-\"]", { timeout: 5000, visible: true });
|
|
382
391
|
}
|
|
383
392
|
catch {
|
|
384
|
-
return { reason: "Sling TV guide grid did not load.", success: false };
|
|
393
|
+
return { guideUnavailable: true, reason: "Sling TV guide grid did not load.", success: false };
|
|
385
394
|
}
|
|
386
395
|
// API fast path with frontier-based polling. The channel cache populates progressively as paginated grid API responses arrive in alphabetical order during page
|
|
387
|
-
// load. Rather than checking the cache once (missing late-alphabet channels whose API page hasn't arrived yet), poll until
|
|
388
|
-
//
|
|
389
|
-
// channel is not in the lineup), or
|
|
396
|
+
// load. Rather than checking the cache once (missing late-alphabet channels whose API page hasn't arrived yet), poll until any of the following conditions
|
|
397
|
+
// is met: the target channel's GUID appears in the cache, the cache frontier (alphabetically latest entry) passes the target's position (confirming the
|
|
398
|
+
// channel is not in the lineup), or the maximum wait time is exceeded. This ensures the cache is fully populated for all subsequent tunes - a one-time
|
|
390
399
|
// cost that eliminates binary search for the rest of the session.
|
|
391
400
|
const pollStart = Date.now();
|
|
392
401
|
while ((Date.now() - pollStart) < FRONTIER_MAX_WAIT) {
|
|
@@ -415,7 +424,7 @@ async function slingGridStrategy(page, profile) {
|
|
|
415
424
|
return { reason: "Sling TV API fast path navigation failed: " + formatError(error) + ".", success: false };
|
|
416
425
|
}
|
|
417
426
|
}
|
|
418
|
-
LOG.debug("tuning:sling", "Sling binary search fallback for %s after %sms polling (channel cache: %s, base URL: %s).", channelName, Date.now() - pollStart,
|
|
427
|
+
LOG.debug("tuning:sling", "Sling binary search fallback for %s after %sms polling (channel cache: %s, base URL: %s).", channelName, Date.now() - pollStart, slingCache.map.size, slingPlaybackInfoBase ? "yes" : "no");
|
|
419
428
|
// Phase 2: Read grid metadata. The .guide-cell element is the scroll host for the virtualized channel list. We measure the row height dynamically from a rendered
|
|
420
429
|
// row element and read the time header offset from the first row's top position within the scroll container.
|
|
421
430
|
const gridMeta = await page.evaluate(() => {
|
|
@@ -453,6 +462,8 @@ async function slingGridStrategy(page, profile) {
|
|
|
453
462
|
guideCell.scrollTop = scrollTo;
|
|
454
463
|
}
|
|
455
464
|
}, rowOffset + (rowIndex * rowHeight));
|
|
465
|
+
// The .guide-cell virtualizer needs the full 200ms to recycle and render rows for the newly scrolled region. A shorter wait lets readSlingChannelsAndLocate
|
|
466
|
+
// read stale rows from the prior scroll position.
|
|
456
467
|
await delay(200);
|
|
457
468
|
};
|
|
458
469
|
// Phase 3: Check the cache for a direct-scroll shortcut. If we've tuned to this channel before, skip binary search and scroll directly.
|
|
@@ -468,65 +479,46 @@ async function slingGridStrategy(page, profile) {
|
|
|
468
479
|
LOG.debug("tuning:sling", "Sling cache miss for %s. Falling back to binary search.", channelName);
|
|
469
480
|
slingRowCache.delete(normalizedName);
|
|
470
481
|
}
|
|
471
|
-
// Phase 4: Binary search through the virtualized channel list.
|
|
472
|
-
//
|
|
473
|
-
//
|
|
474
|
-
|
|
475
|
-
|
|
482
|
+
// Phase 4: Binary search through the virtualized channel list. Each probe scrolls to the midpoint of the remaining range and reads the rendered channels,
|
|
483
|
+
// resolving the target's on-now cell coordinates in the same pass when it is among them - one browser round-trip serves both the direction decision and the
|
|
484
|
+
// click that follows.
|
|
485
|
+
// Binary search over ~638 rows converges in roughly log2(638) ~= 10 iterations, so 12 provides a small safety margin. This bound guards against pathological
|
|
486
|
+
// virtualizer behavior rather than serving as the normal exit condition; if the search legitimately exhausts it, the channel is reported as not found.
|
|
476
487
|
const maxIterations = 12;
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
}
|
|
497
|
-
// Sort by name so first/last reflect alphabetical extremes. querySelectorAll returns DOM insertion order, which may not match visual order in a virtualizer
|
|
498
|
-
// that recycles elements by appending new rows rather than inserting in visual position.
|
|
499
|
-
channels.sort((a, b) => a.name.localeCompare(b.name));
|
|
500
|
-
// Determine binary search direction by comparing against the first and last rendered channel names.
|
|
501
|
-
const first = channels[0]?.name ?? "";
|
|
502
|
-
const last = channels.at(-1)?.name ?? "";
|
|
503
|
-
if (normalizedName.localeCompare(first) < 0) {
|
|
504
|
-
// Target sorts before the first rendered channel. Scroll up.
|
|
505
|
-
high = mid - 1;
|
|
506
|
-
continue;
|
|
507
|
-
}
|
|
508
|
-
if (normalizedName.localeCompare(last) > 0) {
|
|
509
|
-
// Target sorts after the last rendered channel. Scroll down.
|
|
510
|
-
low = mid + 1;
|
|
511
|
-
continue;
|
|
512
|
-
}
|
|
513
|
-
// Target is between the first and last rendered channels but no exact match. The channel may not exist in the guide.
|
|
514
|
-
break;
|
|
515
|
-
}
|
|
516
|
-
if (!foundClickTarget) {
|
|
488
|
+
const outcome = await searchVirtualizedGrid({
|
|
489
|
+
maxIterations,
|
|
490
|
+
nameOf: (ch) => ch.name,
|
|
491
|
+
probe: async (rowIndex) => {
|
|
492
|
+
await scrollToRow(rowIndex);
|
|
493
|
+
const { channels, clickTarget, matchedName } = await readSlingChannelsAndLocate(page, normalizedName);
|
|
494
|
+
// Sort by name so first/last reflect alphabetical extremes. querySelectorAll returns DOM insertion order, which may not match visual order in a virtualizer
|
|
495
|
+
// that recycles elements by appending new rows rather than inserting in visual position.
|
|
496
|
+
if (channels) {
|
|
497
|
+
channels.sort((a, b) => a.name.localeCompare(b.name));
|
|
498
|
+
}
|
|
499
|
+
// A located target arrives with its click coordinates already resolved, so no second evaluate is needed. A name that matched without those coordinates is
|
|
500
|
+
// not a hit: the search carries on rather than reporting a target nothing can be clicked at.
|
|
501
|
+
return { found: clickTarget ? { clickTarget, matchedName } : null, rows: channels };
|
|
502
|
+
},
|
|
503
|
+
targetName: normalizedName,
|
|
504
|
+
totalRows
|
|
505
|
+
});
|
|
506
|
+
if (outcome.kind === "notFound") {
|
|
517
507
|
// Log available channels from the row cache to help users identify the correct channelSelector value. The cache contains channels seen during binary search
|
|
518
|
-
// iterations and any prior tune attempts in this session - a partial but often actionable subset of Sling's ~
|
|
508
|
+
// iterations and any prior tune attempts in this session - a partial but often actionable subset of Sling's ~638 channel catalog.
|
|
519
509
|
const availableChannels = Array.from(slingRowCache.keys()).toSorted();
|
|
520
510
|
if (availableChannels.length > 0) {
|
|
521
511
|
logAvailableChannels({
|
|
522
512
|
availableChannels,
|
|
523
513
|
channelName,
|
|
524
|
-
guideUrl:
|
|
514
|
+
guideUrl: SLING_GUIDE_URL,
|
|
515
|
+
presetSuffix: "-sling",
|
|
525
516
|
providerName: "Sling TV"
|
|
526
517
|
});
|
|
527
518
|
}
|
|
528
519
|
return { reason: "Could not find channel " + channelName + " in Sling TV guide grid.", success: false };
|
|
529
520
|
}
|
|
521
|
+
const { clickTarget: foundClickTarget, matchedName: foundMatchedName } = outcome.found;
|
|
530
522
|
// When a local affiliate was matched via prefix, cache the network name as an alias so subsequent tunes skip binary search and scroll directly to the
|
|
531
523
|
// affiliate's row.
|
|
532
524
|
if (foundMatchedName && (foundMatchedName !== normalizedName)) {
|
|
@@ -539,48 +531,38 @@ async function slingGridStrategy(page, profile) {
|
|
|
539
531
|
// without tearing down the entire attempt and reloading the guide page.
|
|
540
532
|
return await clickWithRetry(page, foundClickTarget, normalizedName, channelName);
|
|
541
533
|
}
|
|
542
|
-
/**
|
|
543
|
-
* Builds a DiscoveredChannel array from the unified channel cache. Deduplicates alias entries (created by findChannelGuid's prefix matching) by tracking seen
|
|
544
|
-
* entry references - aliases point to the same object as the original guide-name key. Sorts by name before returning.
|
|
545
|
-
* @returns Sorted array of discovered channels with tier tagging.
|
|
546
|
-
*/
|
|
547
|
-
function buildSlingDiscoveredChannels() {
|
|
548
|
-
const channels = [];
|
|
549
|
-
const seen = new Set();
|
|
550
|
-
for (const entry of slingChannelCache.values()) {
|
|
551
|
-
if (seen.has(entry)) {
|
|
552
|
-
continue;
|
|
553
|
-
}
|
|
554
|
-
seen.add(entry);
|
|
555
|
-
const result = { channelSelector: entry.displayName, name: entry.displayName };
|
|
556
|
-
if (entry.tier) {
|
|
557
|
-
result.tier = entry.tier;
|
|
558
|
-
}
|
|
559
|
-
channels.push(result);
|
|
560
|
-
}
|
|
561
|
-
channels.sort((a, b) => a.name.localeCompare(b.name));
|
|
562
|
-
return channels;
|
|
563
|
-
}
|
|
564
534
|
/**
|
|
565
535
|
* Discovers all channels from Sling TV by setting up grid API response interception, navigating to the guide page, and scrolling through the entire guide to
|
|
566
536
|
* trigger all lazy-loaded API page fetches. The Sling guide API only delivers data for the currently visible viewport, so we scroll in viewport-sized increments
|
|
567
537
|
* to ensure complete coverage, then wait for network idle to confirm all triggered API responses have arrived. Requires handlesOwnNavigation on the provider
|
|
568
538
|
* module because response interception must be registered before navigation.
|
|
569
539
|
*
|
|
570
|
-
* Side effect: populates the module-level
|
|
540
|
+
* Side effect: populates the module-level channel cache, warming the tuning cache for subsequent channel tunes.
|
|
571
541
|
* @param page - The Puppeteer page object (fresh page, not yet navigated).
|
|
572
542
|
* @returns Array of discovered channels with tier tagging.
|
|
573
543
|
*/
|
|
574
544
|
async function discoverSlingChannels(page) {
|
|
575
545
|
// Return from the unified cache if a prior discovery walk has fully enumerated the lineup. Individual tunes only populate a subset of the cache, so we require
|
|
576
|
-
// the
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
546
|
+
// the completeness mark to avoid returning an incomplete channel list.
|
|
547
|
+
const cached = slingCache.cached();
|
|
548
|
+
if (cached) {
|
|
549
|
+
return cached;
|
|
550
|
+
}
|
|
551
|
+
/* A full walk measures completeness from zero. Entries accumulated by earlier incomplete walks or by individual tunes must not count toward the threshold the
|
|
552
|
+
* completeness mark is gated on below, or the complete-lineup claim would certify a union of separately-incomplete captures and would keep serving channels a
|
|
553
|
+
* shrunken lineup has dropped. Dropping the mark alongside the cache also covers the corner where a set mark would outlive an emptied cache.
|
|
554
|
+
*
|
|
555
|
+
* The reset is deliberately narrower than clearSlingCache(): the row cache and the playback-info base are tune-path state this walk never writes (the row
|
|
556
|
+
* cache's writers are the binary-search locator and its affiliate alias), so wiping them here would open a degradation that outlives the walk instead of one
|
|
557
|
+
* the walk itself repairs...they keep their own lifecycles, the session-end clear and each tune's own stale-row self-heal. A tune racing this walk therefore
|
|
558
|
+
* reads the walk's partial channel cache and takes its normal miss fallback, which is what any mid-walk view of a progressively populated cache gives it. On
|
|
559
|
+
* the precache path the service's full cache clear runs first and this baseline reset is a no-op behind it.
|
|
560
|
+
*/
|
|
561
|
+
slingCache.clear();
|
|
580
562
|
// Set up response interception BEFORE navigation so we capture all paginated grid API responses during page load. These responses populate the channel cache
|
|
581
563
|
// that discovery reads from.
|
|
582
564
|
setupGridResponseInterception(page);
|
|
583
|
-
await page.goto(
|
|
565
|
+
await page.goto(SLING_GUIDE_URL, { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "load" });
|
|
584
566
|
// Wait for channel entries to appear in the DOM (confirms guide grid has loaded).
|
|
585
567
|
try {
|
|
586
568
|
await page.waitForSelector("[data-testid^=\"channel-\"]", { timeout: 5000, visible: true });
|
|
@@ -625,7 +607,7 @@ async function discoverSlingChannels(page) {
|
|
|
625
607
|
catch {
|
|
626
608
|
// Timeout is non-fatal - check cache completeness below.
|
|
627
609
|
}
|
|
628
|
-
for (let retry = 0; (retry < PRECACHE_MAX_NETWORK_IDLE_RETRIES) && (
|
|
610
|
+
for (let retry = 0; (retry < PRECACHE_MAX_NETWORK_IDLE_RETRIES) && (slingCache.map.size < PRECACHE_MIN_CHANNELS); retry++) {
|
|
629
611
|
try {
|
|
630
612
|
// eslint-disable-next-line no-await-in-loop
|
|
631
613
|
await page.waitForNetworkIdle({ idleTime: 500, timeout: CONFIG.streaming.videoTimeout });
|
|
@@ -634,30 +616,27 @@ async function discoverSlingChannels(page) {
|
|
|
634
616
|
// Timeout is non-fatal - check cache completeness on next iteration.
|
|
635
617
|
}
|
|
636
618
|
}
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
619
|
+
/* The walk has three exits, each with its own outcome for the completeness mark. An empty cache returns nothing and leaves the mark unset - no subscription or
|
|
620
|
+
* an API failure, and either way the next call retries the whole walk. A cache below PRECACHE_MIN_CHANNELS returns what this walk did capture, so the calling
|
|
621
|
+
* request is still served, but leaves the mark unset as well: the retry loop above already spent its full patience on a lineup that never filled out, and
|
|
622
|
+
* recording the complete-lineup claim over a truncated capture would teach every reader of the mark (the provider's cached read and this walk's own return)
|
|
623
|
+
* to serve that truncation for the life of the process. A cache at or above the threshold records the claim - and thanks to the reset at this walk's entry,
|
|
624
|
+
* the claim is about this walk's own capture rather than an accumulated union.
|
|
625
|
+
*
|
|
626
|
+
* The gate reuses the retry loop's completeness condition so the two stay one rule: what the loop waits for is exactly what the mark certifies.
|
|
627
|
+
*/
|
|
628
|
+
if (slingCache.map.size === 0) {
|
|
640
629
|
return [];
|
|
641
630
|
}
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
return buildSlingDiscoveredChannels();
|
|
645
|
-
}
|
|
646
|
-
/**
|
|
647
|
-
* Returns cached discovered channels if a complete discovery walk has fully enumerated the lineup, or null if no complete enumeration has occurred. Individual
|
|
648
|
-
* tunes only populate a subset of the channel cache and must not be treated as a complete lineup.
|
|
649
|
-
* @returns Sorted array of discovered channels or null.
|
|
650
|
-
*/
|
|
651
|
-
function getSlingCachedChannels() {
|
|
652
|
-
if (!slingFullyEnumerated || (slingChannelCache.size === 0)) {
|
|
653
|
-
return null;
|
|
631
|
+
if (slingCache.map.size >= PRECACHE_MIN_CHANNELS) {
|
|
632
|
+
slingCache.markComplete();
|
|
654
633
|
}
|
|
655
|
-
return
|
|
634
|
+
return slingCache.discovered();
|
|
656
635
|
}
|
|
657
636
|
export const slingProvider = {
|
|
658
637
|
discoverChannels: discoverSlingChannels,
|
|
659
|
-
getCachedChannels:
|
|
660
|
-
guideUrl:
|
|
638
|
+
getCachedChannels: slingCache.cached,
|
|
639
|
+
guideUrl: SLING_GUIDE_URL,
|
|
661
640
|
handlesOwnNavigation: true,
|
|
662
641
|
label: "Sling TV",
|
|
663
642
|
// Sling TV live guide grid profile. The A-Z guide renders a virtualized grid of ~638 rows (120px each) with channel identification via
|
|
@@ -685,7 +664,7 @@ export const slingProvider = {
|
|
|
685
664
|
validatePrecache: (channels) => channels.some((ch) => (ch.tier === "paid")),
|
|
686
665
|
// A successful tune on a free-tier Freestream channel does not prove the user has a paid subscription. Only paid-tier channels vouch for provider auth.
|
|
687
666
|
validateTune: (channelSelector) => {
|
|
688
|
-
const entry =
|
|
667
|
+
const entry = slingCache.map.get(normalizeChannelName(channelSelector));
|
|
689
668
|
return (entry?.tier === "paid");
|
|
690
669
|
}
|
|
691
670
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sling.js","sourceRoot":"","sources":["../../../src/browser/tuning/sling.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sling.js","sourceRoot":"","sources":["../../../src/browser/tuning/sling.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spectrum.d.ts","sourceRoot":"","sources":["../../../src/browser/tuning/spectrum.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA+E,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA4exI,eAAO,MAAM,gBAAgB,EAAE,cAgC9B,CAAC"}
|