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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/tags.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AA0C1D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAgQpD"}
|
|
@@ -3,13 +3,15 @@ import { sendConflictError, sendError, sendNotFoundError, sendSuccess, sendValid
|
|
|
3
3
|
import { LOG } from "../../../../utils/index.js";
|
|
4
4
|
import { PREDEFINED_TAGS } from "../../../../channels/index.js";
|
|
5
5
|
import { route } from "../http/handler.js";
|
|
6
|
-
// Pattern for valid tag names: must start and end with alphanumeric, may contain letters, numbers, spaces, and hyphens in between. Enforced
|
|
6
|
+
// Pattern for valid tag names: must start and end with alphanumeric, may contain letters, numbers, spaces, and hyphens in between. Enforced by validateTagName,
|
|
7
|
+
// the single source of truth for tag-name rules.
|
|
7
8
|
const TAG_NAME_PATTERN = /^[a-zA-Z0-9]([a-zA-Z0-9 -]*[a-zA-Z0-9])?$/;
|
|
8
|
-
// Maximum tag name length, enforced
|
|
9
|
+
// Maximum tag name length, enforced by validateTagName, the single source of truth for tag-name rules. Keep this in sync with the maxlength attribute on the
|
|
10
|
+
// tag-manager input in table.ts, which duplicates this value as a literal.
|
|
9
11
|
const TAG_NAME_MAX_LENGTH = 30;
|
|
10
12
|
/**
|
|
11
13
|
* Validates a submitted tag name against the project's tag-name rules (required, length cap, character pattern). Returns an error message on failure or
|
|
12
|
-
* undefined when the name passes. Used by
|
|
14
|
+
* undefined when the name passes. Used by every endpoint that accepts a user-supplied tag name, so the rules live in exactly one place.
|
|
13
15
|
* @param tag - The tag name to validate. Caller is expected to have already trimmed whitespace.
|
|
14
16
|
* @returns The user-facing validation error, or undefined when valid.
|
|
15
17
|
*/
|
|
@@ -98,7 +100,8 @@ export function registerTagRoutes(app) {
|
|
|
98
100
|
return;
|
|
99
101
|
}
|
|
100
102
|
LOG.info("Deleted tag '%s' from vocabulary and %d channel assignments.", tag, affectedKeys.length);
|
|
101
|
-
|
|
103
|
+
// The hint rides whenever the cascade touched a channel: tags render in the playlist, while a vocabulary-only change shows nothing there.
|
|
104
|
+
sendSuccess(res, { affectedKeys, message: "Tag '" + tag + "' deleted.", playlistHint: affectedKeys.length > 0, tags: true });
|
|
102
105
|
}));
|
|
103
106
|
// POST /config/tags/restore - Restore a previously deleted predefined tag. Removes it from deletedTags so it reappears in the active vocabulary, then cascade-
|
|
104
107
|
// restores the tag on predefined channels whose definition includes it.
|
|
@@ -130,9 +133,11 @@ export function registerTagRoutes(app) {
|
|
|
130
133
|
return;
|
|
131
134
|
}
|
|
132
135
|
LOG.info("Restored predefined tag '%s' on %d channels.", tag, affectedKeys.length);
|
|
133
|
-
|
|
136
|
+
// The hint rides whenever the cascade touched a channel: tags render in the playlist, while a vocabulary-only change shows nothing there.
|
|
137
|
+
sendSuccess(res, { affectedKeys, message: "Tag '" + canonicalTag + "' restored.", playlistHint: affectedKeys.length > 0, tags: true });
|
|
134
138
|
}));
|
|
135
|
-
// POST /config/tags/rename - Rename a tag
|
|
139
|
+
// POST /config/tags/rename - Rename a tag across the vocabulary and all channel assignments via two ordered writes: the registry first, then a single batched
|
|
140
|
+
// channel update through transformChannelTags. Case-only renames are allowed (the identity is shared).
|
|
136
141
|
app.post("/config/tags/rename", route("rename tag", async (req, res) => {
|
|
137
142
|
const body = req.body;
|
|
138
143
|
const oldTag = typeof body.oldTag === "string" ? body.oldTag.trim() : "";
|
|
@@ -179,7 +184,8 @@ export function registerTagRoutes(app) {
|
|
|
179
184
|
return;
|
|
180
185
|
}
|
|
181
186
|
LOG.info("Renamed tag '%s' to '%s' across %d channels.", oldTag, newTag, affectedKeys.length);
|
|
182
|
-
|
|
187
|
+
// The hint rides whenever the cascade touched a channel: tags render in the playlist, while a vocabulary-only change shows nothing there.
|
|
188
|
+
sendSuccess(res, { affectedKeys, message: "Tag '" + oldTag + "' renamed to '" + newTag + "'.", playlistHint: affectedKeys.length > 0, tags: true });
|
|
183
189
|
}));
|
|
184
190
|
}
|
|
185
191
|
//# sourceMappingURL=tags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/tags.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ChannelTablePatch } from "./table.ts";
|
|
2
|
+
import type { HealthEvent } from "../../../config/health.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the channel keys whose rendered state would change as a consequence of a health event. The event's channelKey is included when present (it is empty
|
|
5
|
+
* for markDomainAuth which has no channel context). Every channel whose currently-selected service variant resolves to the event's domain is also included, since
|
|
6
|
+
* the domain auth indicator on those rows reflects shared state across the service.
|
|
7
|
+
* @param event - The health event.
|
|
8
|
+
* @returns The set of channel keys that should be re-rendered, deduplicated and order-independent.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveAffectedKeys(event: HealthEvent): string[];
|
|
11
|
+
/**
|
|
12
|
+
* Installs the health-to-patch bridge. Subscribes to health events from config/health.ts and, for each one, emits a channel table patch via emitChannelUpdate.
|
|
13
|
+
* Returns the unsubscribe function so callers can tear down the subscription if needed (production never does - the bridge lives for the process lifetime).
|
|
14
|
+
* @returns The unsubscribe function from subscribeToHealth.
|
|
15
|
+
*/
|
|
16
|
+
export declare function installHealthBridge(): () => void;
|
|
17
|
+
/**
|
|
18
|
+
* Builds a channel table patch covering every row whose visible state is influenced by the current in-memory health/auth state. Used by the SSE snapshot to
|
|
19
|
+
* catch reconnecting clients up to any health changes that may have occurred while their EventSource was disconnected - the patch is bounded by the size of the
|
|
20
|
+
* health snapshot rather than the total channel count, so a fresh install with no recorded state emits an empty patch.
|
|
21
|
+
* @returns A channel table patch covering all rows with current health or domain auth entries.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildSnapshotChannelPatch(): ChannelTablePatch;
|
|
24
|
+
//# sourceMappingURL=healthBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthBridge.d.ts","sourceRoot":"","sources":["../../../../src/routes/config/channels/healthBridge.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAM7D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAuBhE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,IAAI,CAahD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,iBAAiB,CAmB7D"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
|
|
2
|
+
*
|
|
3
|
+
* healthBridge.ts: Reactive bridge between the health emitter and the channel table patch stream. Listens for every health/auth state change and emits a channel
|
|
4
|
+
* table patch covering the rows whose rendered state the change can affect: the channel whose health was recorded, plus every other channel whose currently-selected
|
|
5
|
+
* service variant resolves to the event's domain (the domain-verification indicator on those rows reflects shared state).
|
|
6
|
+
*
|
|
7
|
+
* Enforces that channel row presentation has a single source of truth - generateChannelRowHtml on the server. Client code never composes channel row HTML,
|
|
8
|
+
* classes, or titles imperatively; every change flows through buildChannelTablePatch...emitChannelUpdate...channelTable.applyPatch.
|
|
9
|
+
*/
|
|
10
|
+
import { getAuthDomainForChannel, resolveServiceKey } from "../../../config/services.js";
|
|
11
|
+
import { getHealthSnapshot, subscribeToHealth } from "../../../config/health.js";
|
|
12
|
+
import { buildChannelTablePatch } from "./table.js";
|
|
13
|
+
import { emitChannelUpdate } from "../../../streaming/statusEmitter.js";
|
|
14
|
+
import { getAllChannels } from "../../../config/userChannels.js";
|
|
15
|
+
import { getProfiles } from "../../../config/profiles.js";
|
|
16
|
+
/**
|
|
17
|
+
* Resolves the channel keys whose rendered state would change as a consequence of a health event. The event's channelKey is included when present (it is empty
|
|
18
|
+
* for markDomainAuth which has no channel context). Every channel whose currently-selected service variant resolves to the event's domain is also included, since
|
|
19
|
+
* the domain auth indicator on those rows reflects shared state across the service.
|
|
20
|
+
* @param event - The health event.
|
|
21
|
+
* @returns The set of channel keys that should be re-rendered, deduplicated and order-independent.
|
|
22
|
+
*/
|
|
23
|
+
export function resolveAffectedKeys(event) {
|
|
24
|
+
const keys = new Set();
|
|
25
|
+
if (event.channelKey) {
|
|
26
|
+
keys.add(event.channelKey);
|
|
27
|
+
}
|
|
28
|
+
if (event.domain) {
|
|
29
|
+
for (const key of Object.keys(getAllChannels())) {
|
|
30
|
+
const variantKey = resolveServiceKey(key);
|
|
31
|
+
if (getAuthDomainForChannel(variantKey) === event.domain) {
|
|
32
|
+
keys.add(key);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return Array.from(keys);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Installs the health-to-patch bridge. Subscribes to health events from config/health.ts and, for each one, emits a channel table patch via emitChannelUpdate.
|
|
40
|
+
* Returns the unsubscribe function so callers can tear down the subscription if needed (production never does - the bridge lives for the process lifetime).
|
|
41
|
+
* @returns The unsubscribe function from subscribeToHealth.
|
|
42
|
+
*/
|
|
43
|
+
export function installHealthBridge() {
|
|
44
|
+
return subscribeToHealth((event) => {
|
|
45
|
+
const affectedKeys = resolveAffectedKeys(event);
|
|
46
|
+
if (affectedKeys.length === 0) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
emitChannelUpdate(buildChannelTablePatch(affectedKeys, getProfiles()));
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Builds a channel table patch covering every row whose visible state is influenced by the current in-memory health/auth state. Used by the SSE snapshot to
|
|
54
|
+
* catch reconnecting clients up to any health changes that may have occurred while their EventSource was disconnected - the patch is bounded by the size of the
|
|
55
|
+
* health snapshot rather than the total channel count, so a fresh install with no recorded state emits an empty patch.
|
|
56
|
+
* @returns A channel table patch covering all rows with current health or domain auth entries.
|
|
57
|
+
*/
|
|
58
|
+
export function buildSnapshotChannelPatch() {
|
|
59
|
+
const snapshot = getHealthSnapshot();
|
|
60
|
+
const keys = new Set(Object.keys(snapshot.channels));
|
|
61
|
+
for (const domain of Object.keys(snapshot.domains)) {
|
|
62
|
+
for (const key of Object.keys(getAllChannels())) {
|
|
63
|
+
const variantKey = resolveServiceKey(key);
|
|
64
|
+
if (getAuthDomainForChannel(variantKey) === domain) {
|
|
65
|
+
keys.add(key);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return buildChannelTablePatch(Array.from(keys), getProfiles());
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=healthBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthBridge.js","sourceRoot":"","sources":["../../../../src/routes/config/channels/healthBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IAEpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,IAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAEpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,IAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAEhB,KAAI,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YAE/C,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAG,uBAAuB,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBAExD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IAEjC,OAAO,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;QAEjC,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAG,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAE7B,OAAO;QACT,CAAC;QAED,iBAAiB,CAAC,sBAAsB,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IAEvC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7D,KAAI,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAElD,KAAI,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YAE/C,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAG,uBAAuB,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;gBAElD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -8,3 +8,4 @@ import type { Request, RequestHandler, Response } from "express";
|
|
|
8
8
|
* @returns An Express RequestHandler suitable for registering with app.get/post/put/patch/delete.
|
|
9
9
|
*/
|
|
10
10
|
export declare function route(action: string, handler: (req: Request, res: Response) => Promise<void> | void): RequestHandler;
|
|
11
|
+
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/http/handler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjE;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,cAAc,CAYpH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ChannelDelta, ResolvedChannel, StoredChannel } from "../../../../types/index.ts";
|
|
2
|
-
export declare const M3U_FIELDS: readonly ["channelNumber", "guideTitle", "logoUrl", "name", "stationId", "tvgShift"];
|
|
2
|
+
export declare const M3U_FIELDS: readonly ["channelNumber", "guideTitle", "logoUrl", "name", "stationId", "tags", "tvgShift"];
|
|
3
3
|
export declare const PLAYLIST_HINT = " Reload the playlist in Channels DVR to see this change.";
|
|
4
4
|
/**
|
|
5
5
|
* Returns PLAYLIST_HINT when a stored channel entry contains any M3U-affecting fields, otherwise an empty string. Used when reverting or removing an override to
|
|
@@ -23,3 +23,4 @@ export declare function playlistHintForDelta(delta: ChannelDelta): string;
|
|
|
23
23
|
* @returns The hint string, or an empty string when no M3U-affecting fields changed.
|
|
24
24
|
*/
|
|
25
25
|
export declare function playlistHintForChange(previous: ResolvedChannel | undefined, next: ResolvedChannel): string;
|
|
26
|
+
//# sourceMappingURL=playlistHint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playlistHint.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/http/playlistHint.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAa/F,eAAO,MAAM,UAAU,8FAA8I,CAAC;AAGtK,eAAO,MAAM,aAAa,6DAA6D,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAG/E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAGhE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAgB1G"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
import { getChannelEffectiveTags } from "../../../../config/userChannels.js";
|
|
2
|
+
import { tagsEqual } from "../../../../config/channelForm.js";
|
|
1
3
|
/* Fields that appear in the generated M3U playlist and affect Channels DVR's view of the channel. When any of these change, we append PLAYLIST_HINT so the
|
|
2
4
|
* user knows to reload the playlist in Channels DVR for the change to take effect. The `satisfies` constraint ensures every entry is a real ResolvedChannel
|
|
3
5
|
* property name, so renaming a Channel identity field flags this list at compile time instead of silently orphaning the check.
|
|
6
|
+
*
|
|
7
|
+
* The list is field-level, and that is an approximation for two of the three helpers: playlistHintForStored and playlistHintForDelta report only that a listed
|
|
8
|
+
* field is present, and rendering can shadow a listed field (guideTitle wins over name) or filter its value (tags are intersected with the active vocabulary),
|
|
9
|
+
* so those two can report a change the playlist does not actually show. playlistHintForChange holds both full channel records, so it compares the tags field the
|
|
10
|
+
* way the playlist renders it rather than by presence alone.
|
|
4
11
|
*/
|
|
5
|
-
export const M3U_FIELDS = ["channelNumber", "guideTitle", "logoUrl", "name", "stationId", "tvgShift"];
|
|
12
|
+
export const M3U_FIELDS = ["channelNumber", "guideTitle", "logoUrl", "name", "stationId", "tags", "tvgShift"];
|
|
6
13
|
// Appended to success messages when an M3U-affecting field changed. Begins with a leading space so callers can concatenate directly onto their message.
|
|
7
14
|
export const PLAYLIST_HINT = " Reload the playlist in Channels DVR to see this change.";
|
|
8
15
|
/**
|
|
@@ -35,6 +42,13 @@ export function playlistHintForChange(previous, next) {
|
|
|
35
42
|
if (!previous) {
|
|
36
43
|
return PLAYLIST_HINT;
|
|
37
44
|
}
|
|
38
|
-
|
|
45
|
+
/* tags is the one array-valued field in the list, so identity comparison would flag every rebuilt-but-equal array. It is also the one field the playlist
|
|
46
|
+
* renders through a filter - the M3U shows effective tags, the intersection with the active vocabulary - so both sides are filtered before the
|
|
47
|
+
* order-independent, case-sensitive content comparison. A change confined to tag strings outside the vocabulary is therefore not playlist-visible and
|
|
48
|
+
* produces no hint. getChannelEffectiveTags returns [] for a channel with no tags, so the absent case needs no defaulting here.
|
|
49
|
+
*/
|
|
50
|
+
return M3U_FIELDS.some((f) => (f === "tags") ?
|
|
51
|
+
!tagsEqual(getChannelEffectiveTags(previous), getChannelEffectiveTags(next)) :
|
|
52
|
+
(previous[f] !== next[f])) ? PLAYLIST_HINT : "";
|
|
39
53
|
}
|
|
40
54
|
//# sourceMappingURL=playlistHint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playlistHint.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/http/playlistHint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playlistHint.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/http/playlistHint.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAwD,CAAC;AAEtK,wJAAwJ;AACxJ,MAAM,CAAC,MAAM,aAAa,GAAG,0DAA0D,CAAC;AAExF;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiC;IAErE,OAAO,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAmB;IAEtD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAqC,EAAE,IAAqB;IAEhG,iFAAiF;IACjF,IAAG,CAAC,QAAQ,EAAE,CAAC;QAEb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC,SAAS,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Builds a service filter warning payload when a URL's service tag is not in the active filter. Returns undefined when no filter is active, the
|
|
3
|
-
*
|
|
2
|
+
* Builds a service filter warning payload when a URL's service tag is not in the active filter. Returns undefined when no filter is active, when the resolved
|
|
3
|
+
* domain has no configured service tag, or when the tag is already enabled. The literal "direct" comparison only matters for a user-supplied domain mapping
|
|
4
|
+
* that explicitly sets serviceTag: "direct" - built-in mappings never do, since network-owned sites are left untagged rather than tagged "direct".
|
|
4
5
|
* @param url - The channel URL to derive the service tag from.
|
|
5
6
|
* @returns The warning with display label and tag, or undefined when no warning is needed.
|
|
6
7
|
*/
|
|
@@ -8,3 +9,4 @@ export declare function buildServiceFilterWarning(url: string): {
|
|
|
8
9
|
serviceLabel: string;
|
|
9
10
|
serviceTag: string;
|
|
10
11
|
} | undefined;
|
|
12
|
+
//# sourceMappingURL=serviceWarning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serviceWarning.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/http/serviceWarning.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgB/G"}
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
import { getEnabledServices, getServiceDisplayName, isServiceTagEnabled } from "../../../../config/services.js";
|
|
10
10
|
import { getDomainConfig } from "../../../../config/sites.js";
|
|
11
11
|
/**
|
|
12
|
-
* Builds a service filter warning payload when a URL's service tag is not in the active filter. Returns undefined when no filter is active, the
|
|
13
|
-
*
|
|
12
|
+
* Builds a service filter warning payload when a URL's service tag is not in the active filter. Returns undefined when no filter is active, when the resolved
|
|
13
|
+
* domain has no configured service tag, or when the tag is already enabled. The literal "direct" comparison only matters for a user-supplied domain mapping
|
|
14
|
+
* that explicitly sets serviceTag: "direct" - built-in mappings never do, since network-owned sites are left untagged rather than tagged "direct".
|
|
14
15
|
* @param url - The channel URL to derive the service tag from.
|
|
15
16
|
* @returns The warning with display label and tag, or undefined when no warning is needed.
|
|
16
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceWarning.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/http/serviceWarning.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D
|
|
1
|
+
{"version":3,"file":"serviceWarning.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/http/serviceWarning.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IAEnD,uEAAuE;IACvE,IAAG,kBAAkB,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAErC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAE7C,IAAG,GAAG,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAE1D,OAAO,EAAE,YAAY,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACvE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export type { ChannelRowHtml, ChannelTableCounts, ChannelTablePatch } from "./table.ts";
|
|
2
2
|
export { OPTIONAL_COLUMNS, VALID_OPTIONAL_COLUMNS, buildChannelTablePatch, buildChannelTableState, generateChannelRowHtml, generateChannelsPanel, generateServiceFilterToolbar, generateTagFilterContent, generateTagManagerBody } from "./table.ts";
|
|
3
3
|
export { setupChannelRoutes } from "./setup.ts";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/config/channels/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAC9I,4BAA4B,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACrG,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/routes/config/channels/setup.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAUvC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAUrD"}
|
|
@@ -30,9 +30,8 @@ export interface ChannelRowHtml {
|
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Generates the HTML for a single channel's table rows (display row and edit form row). All channels - predefined, override, and user-defined - get both rows.
|
|
33
|
-
* The edit form is pre-populated with the effective (resolved) values so users see what they're changing.
|
|
34
|
-
*
|
|
35
|
-
* parameter to trigger an internal lookup.
|
|
33
|
+
* The edit form is pre-populated with the effective (resolved) values so users see what they're changing. Callers pass a pre-resolved listing entry via the
|
|
34
|
+
* entry parameter to avoid redundant getChannelListing() calls; the parameter is optional so an internal lookup remains available as a fallback.
|
|
36
35
|
* @param key - The channel key.
|
|
37
36
|
* @param profiles - List of available profiles with descriptions for the dropdown.
|
|
38
37
|
* @param entry - Optional pre-resolved listing entry. When omitted, looked up from getChannelListing().
|
|
@@ -135,3 +134,4 @@ export declare function generateServiceFilterToolbar(): string;
|
|
|
135
134
|
* @returns HTML string for the Channels panel content.
|
|
136
135
|
*/
|
|
137
136
|
export declare function generateChannelsPanel(channelMessage?: string, channelError?: boolean, editingChannelKey?: string, showAddForm?: boolean, formErrors?: Map<string, string>, formValues?: Map<string, string>): string;
|
|
137
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/routes/config/channels/table.ts"],"names":[],"mappings":"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"}
|