prismcast 1.8.0 → 1.10.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/README.md +6 -6
- package/dist/app.d.ts +1 -1
- package/dist/app.js +41 -13
- package/dist/app.js.map +1 -1
- package/dist/browser/cdp.d.ts +4 -6
- package/dist/browser/cdp.js +18 -22
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +41 -11
- package/dist/browser/channelSelection.js +75 -24
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/display.d.ts +1 -1
- package/dist/browser/index.d.ts +8 -8
- package/dist/browser/index.js +44 -45
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/login.d.ts +2 -2
- package/dist/browser/login.js +1 -1
- package/dist/browser/manifestInterceptor.d.ts +77 -0
- package/dist/browser/manifestInterceptor.js +323 -0
- package/dist/browser/manifestInterceptor.js.map +1 -0
- package/dist/browser/precaching.d.ts +1 -1
- package/dist/browser/precaching.js +23 -23
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tuning/comcastPolymer.d.ts +1 -1
- package/dist/browser/tuning/cox.d.ts +1 -1
- package/dist/browser/tuning/directv.d.ts +1 -1
- package/dist/browser/tuning/directv.js +65 -69
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +1 -1
- package/dist/browser/tuning/fox.js +172 -15
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/hbo.d.ts +1 -1
- package/dist/browser/tuning/hbo.js +7 -7
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.d.ts +1 -1
- package/dist/browser/tuning/hulu.js +120 -113
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +3 -3
- package/dist/browser/tuning/shared.js +5 -5
- package/dist/browser/tuning/sling.d.ts +1 -1
- package/dist/browser/tuning/sling.js +30 -30
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.d.ts +1 -1
- package/dist/browser/tuning/spectrum.js +21 -22
- package/dist/browser/tuning/spectrum.js.map +1 -1
- package/dist/browser/tuning/thumbnailRow.d.ts +1 -1
- package/dist/browser/tuning/thumbnailRow.js +1 -1
- package/dist/browser/tuning/tileClick.d.ts +1 -1
- package/dist/browser/tuning/tileClick.js +5 -5
- package/dist/browser/tuning/xfinity.d.ts +1 -1
- package/dist/browser/tuning/youtubeTv.d.ts +1 -1
- package/dist/browser/tuning/youtubeTv.js +17 -18
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +20 -6
- package/dist/browser/video.js +30 -38
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.d.ts +1 -2
- package/dist/channels/index.js +475 -442
- package/dist/channels/index.js.map +1 -1
- package/dist/config/channelForm.d.ts +58 -0
- package/dist/config/channelForm.js +129 -0
- package/dist/config/channelForm.js.map +1 -0
- package/dist/config/consistencyProbe.d.ts +7 -0
- package/dist/config/consistencyProbe.js +143 -0
- package/dist/config/consistencyProbe.js.map +1 -0
- package/dist/config/health.d.ts +7 -6
- package/dist/config/health.js +78 -65
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.js +21 -14
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +9 -3
- package/dist/config/paths.js +12 -4
- package/dist/config/paths.js.map +1 -1
- package/dist/config/persistence.context.d.ts +8 -0
- package/dist/config/persistence.context.js +30 -0
- package/dist/config/persistence.context.js.map +1 -0
- package/dist/config/persistence.d.ts +157 -0
- package/dist/config/persistence.js +446 -0
- package/dist/config/persistence.js.map +1 -0
- package/dist/config/presets.d.ts +14 -4
- package/dist/config/presets.js +84 -75
- package/dist/config/presets.js.map +1 -1
- package/dist/config/profiles.d.ts +2 -2
- package/dist/config/profiles.js +7 -9
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/servicePacks.d.ts +46 -0
- package/dist/config/{providerPacks.js → servicePacks.js} +50 -53
- package/dist/config/servicePacks.js.map +1 -0
- package/dist/config/services.d.ts +228 -0
- package/dist/config/services.js +772 -0
- package/dist/config/services.js.map +1 -0
- package/dist/config/sites.d.ts +3 -3
- package/dist/config/sites.js +75 -75
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +522 -54
- package/dist/config/userChannels.js +1343 -366
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +108 -13
- package/dist/config/userConfig.js +296 -143
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +34 -16
- package/dist/config/userProfiles.js +189 -100
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +1 -1
- package/dist/hdhr/channelMap.js +10 -16
- package/dist/hdhr/channelMap.js.map +1 -1
- package/dist/hdhr/deviceId.js +10 -9
- package/dist/hdhr/deviceId.js.map +1 -1
- package/dist/hdhr/discover.js +4 -5
- package/dist/hdhr/discover.js.map +1 -1
- package/dist/hdhr/index.js +12 -19
- package/dist/hdhr/index.js.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/native/codecInference.d.ts +44 -0
- package/dist/native/codecInference.js +327 -0
- package/dist/native/codecInference.js.map +1 -0
- package/dist/native/decrypt.d.ts +1 -1
- package/dist/native/index.d.ts +5 -5
- package/dist/native/index.js +45 -67
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +27 -9
- package/dist/native/probe.js +159 -68
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +4 -2
- package/dist/native/proxy.js +56 -53
- package/dist/native/proxy.js.map +1 -1
- package/dist/native/tokenExpiry.d.ts +22 -0
- package/dist/native/tokenExpiry.js +153 -0
- package/dist/native/tokenExpiry.js.map +1 -0
- package/dist/routes/assets.js +3 -3
- package/dist/routes/assets.js.map +1 -1
- package/dist/routes/auth.js +9 -13
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/components.js +2 -2
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/browse.js +195 -0
- package/dist/routes/config/channels/endpoints/browse.js.map +1 -0
- package/dist/routes/config/channels/endpoints/bulk.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/bulk.js +128 -0
- package/dist/routes/config/channels/endpoints/bulk.js.map +1 -0
- package/dist/routes/config/channels/endpoints/crud.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/crud.js +504 -0
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -0
- package/dist/routes/config/channels/endpoints/importExport.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/importExport.js +131 -0
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -0
- package/dist/routes/config/channels/endpoints/predefined.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/predefined.js +78 -0
- package/dist/routes/config/channels/endpoints/predefined.js.map +1 -0
- package/dist/routes/config/channels/endpoints/prefs.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/prefs.js +58 -0
- package/dist/routes/config/channels/endpoints/prefs.js.map +1 -0
- package/dist/routes/config/channels/endpoints/service.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/service.js +149 -0
- package/dist/routes/config/channels/endpoints/service.js.map +1 -0
- package/dist/routes/config/channels/endpoints/tags.d.ts +6 -0
- package/dist/routes/config/channels/endpoints/tags.js +185 -0
- package/dist/routes/config/channels/endpoints/tags.js.map +1 -0
- package/dist/routes/config/channels/http/handler.d.ts +10 -0
- package/dist/routes/config/channels/http/handler.js +20 -0
- package/dist/routes/config/channels/http/handler.js.map +1 -0
- package/dist/routes/config/channels/http/playlistHint.d.ts +25 -0
- package/dist/routes/config/channels/http/playlistHint.js +40 -0
- package/dist/routes/config/channels/http/playlistHint.js.map +1 -0
- package/dist/routes/config/channels/http/serviceWarning.d.ts +10 -0
- package/dist/routes/config/channels/http/serviceWarning.js +28 -0
- package/dist/routes/config/channels/http/serviceWarning.js.map +1 -0
- package/dist/routes/config/channels/index.d.ts +3 -3
- package/dist/routes/config/channels/index.js +2 -2
- package/dist/routes/config/channels/index.js.map +1 -1
- package/dist/routes/config/channels/{routes.d.ts → setup.d.ts} +1 -1
- package/dist/routes/config/channels/setup.js +23 -0
- package/dist/routes/config/channels/setup.js.map +1 -0
- package/dist/routes/config/channels/table.d.ts +13 -13
- package/dist/routes/config/channels/table.js +291 -184
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/http/envelope.d.ts +111 -0
- package/dist/routes/config/http/envelope.js +103 -0
- package/dist/routes/config/http/envelope.js.map +1 -0
- package/dist/routes/config/index.d.ts +9 -9
- package/dist/routes/config/index.js +5 -5
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/{providers.js → services.js} +105 -99
- package/dist/routes/config/services.js.map +1 -0
- package/dist/routes/config/settings.d.ts +1 -1
- package/dist/routes/config/settings.js +85 -60
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.js +17 -18
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/health.js +1 -1
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/icons.js +2 -2
- package/dist/routes/icons.js.map +1 -1
- package/dist/routes/index.js +2 -2
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/logs.js +23 -34
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/mpegts.js +1 -1
- package/dist/routes/playlist.d.ts +5 -5
- package/dist/routes/playlist.js +84 -61
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.js +82 -61
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.js +2 -5
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.js +538 -581
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/config.js +868 -1022
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +4 -4
- package/dist/routes/root/scripts/shared.js +445 -197
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.d.ts +4 -0
- package/dist/routes/root/scripts/status.handlers.d.ts +182 -0
- package/dist/routes/root/scripts/status.handlers.js +713 -0
- package/dist/routes/root/scripts/status.handlers.js.map +1 -0
- package/dist/routes/root/scripts/status.js +85 -436
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/root/styles.js +16 -8
- package/dist/routes/root/styles.js.map +1 -1
- package/dist/routes/services.d.ts +6 -0
- package/dist/routes/{providers.js → services.js} +58 -55
- package/dist/routes/services.js.map +1 -0
- package/dist/routes/sse.d.ts +16 -0
- package/dist/routes/sse.js +29 -0
- package/dist/routes/sse.js.map +1 -0
- package/dist/routes/streams.js +10 -23
- package/dist/routes/streams.js.map +1 -1
- package/dist/routes/ui.d.ts +2 -2
- package/dist/routes/ui.js +2 -0
- package/dist/routes/ui.js.map +1 -1
- package/dist/routes/upgrade.js +6 -7
- package/dist/routes/upgrade.js.map +1 -1
- package/dist/service/commands.context.d.ts +6 -0
- package/dist/service/commands.context.js +47 -0
- package/dist/service/commands.context.js.map +1 -0
- package/dist/service/commands.d.ts +53 -8
- package/dist/service/commands.js +172 -192
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.context.d.ts +6 -0
- package/dist/service/generators.context.js +45 -0
- package/dist/service/generators.context.js.map +1 -0
- package/dist/service/generators.d.ts +56 -16
- package/dist/service/generators.js +509 -291
- package/dist/service/generators.js.map +1 -1
- package/dist/service/index.d.ts +2 -2
- package/dist/streaming/clients.d.ts +2 -2
- package/dist/streaming/clients.js +2 -2
- package/dist/streaming/codec.d.ts +2 -2
- package/dist/streaming/codec.js +0 -1
- package/dist/streaming/codec.js.map +1 -1
- package/dist/streaming/fmp4Segmenter.d.ts +2 -2
- package/dist/streaming/fmp4Segmenter.js +12 -12
- package/dist/streaming/hls.d.ts +7 -7
- package/dist/streaming/hls.js +104 -92
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +3 -3
- package/dist/streaming/hlsResume.js +6 -6
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +5 -2
- package/dist/streaming/hlsSegments.js +14 -9
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/monitor.d.ts +12 -12
- package/dist/streaming/monitor.js +98 -66
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +34 -4
- package/dist/streaming/mp4Parser.js +111 -29
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/mpegts.d.ts +1 -1
- package/dist/streaming/mpegts.js +13 -10
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +1 -1
- package/dist/streaming/playlistBuilder.js +2 -2
- package/dist/streaming/preroll.d.ts +9 -9
- package/dist/streaming/preroll.js +40 -42
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/pretune.js +4 -4
- package/dist/streaming/pretune.js.map +1 -1
- package/dist/streaming/recovery.d.ts +3 -3
- package/dist/streaming/recovery.js +4 -4
- package/dist/streaming/registry.d.ts +6 -6
- package/dist/streaming/registry.js +4 -8
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +11 -10
- package/dist/streaming/setup.js +120 -71
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +9 -3
- package/dist/streaming/showInfo.js +33 -27
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +8 -7
- package/dist/streaming/statusEmitter.js +5 -5
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +139 -36
- package/dist/types/channels.js +39 -1
- package/dist/types/channels.js.map +1 -1
- package/dist/types/config.d.ts +22 -3
- package/dist/types/index.d.ts +9 -8
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +14 -13
- package/dist/types/selection.d.ts +49 -5
- package/dist/types/shared.d.ts +1 -1
- package/dist/types/streaming.d.ts +2 -2
- package/dist/upgrade/commands.context.d.ts +6 -0
- package/dist/upgrade/commands.context.js +29 -0
- package/dist/upgrade/commands.context.js.map +1 -0
- package/dist/upgrade/commands.d.ts +29 -2
- package/dist/upgrade/commands.js +87 -134
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/upgrade/detection.context.d.ts +6 -0
- package/dist/upgrade/detection.context.js +24 -0
- package/dist/upgrade/detection.context.js.map +1 -0
- package/dist/upgrade/detection.d.ts +140 -10
- package/dist/upgrade/detection.js +153 -66
- package/dist/upgrade/detection.js.map +1 -1
- package/dist/upgrade/index.d.ts +2 -2
- package/dist/utils/chromeFetch.d.ts +1 -1
- package/dist/utils/chromeFetch.js +2 -2
- package/dist/utils/clock.d.ts +14 -0
- package/dist/utils/clock.js +28 -0
- package/dist/utils/clock.js.map +1 -0
- package/dist/utils/debugFilter.d.ts +1 -1
- package/dist/utils/debugFilter.js +8 -6
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +2 -3
- package/dist/utils/delay.js +10 -16
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/evaluate.js +12 -14
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.context.d.ts +6 -0
- package/dist/utils/ffmpeg.context.js +31 -0
- package/dist/utils/ffmpeg.context.js.map +1 -0
- package/dist/utils/ffmpeg.d.ts +85 -29
- package/dist/utils/ffmpeg.js +126 -129
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +18 -2
- package/dist/utils/fileLogger.js +60 -31
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +7 -1
- package/dist/utils/format.js +22 -2
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/html.js +1 -3
- package/dist/utils/html.js.map +1 -1
- package/dist/utils/index.d.ts +21 -20
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.js +31 -45
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/m3u.d.ts +18 -3
- package/dist/utils/m3u.js +28 -14
- package/dist/utils/m3u.js.map +1 -1
- package/dist/utils/memo.d.ts +19 -0
- package/dist/utils/memo.js +53 -0
- package/dist/utils/memo.js.map +1 -0
- package/dist/utils/morganStream.js +4 -4
- package/dist/utils/morganStream.js.map +1 -1
- package/dist/utils/pid.d.ts +2 -2
- package/dist/utils/pid.js +2 -2
- package/dist/utils/platform.d.ts +1 -1
- package/dist/utils/platform.js +3 -2
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/retry.d.ts +2 -0
- package/dist/utils/retry.js +9 -7
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/sanitize.d.ts +2 -2
- package/dist/utils/sanitize.js +4 -4
- package/dist/utils/streamContext.d.ts +7 -0
- package/dist/utils/streamContext.js +10 -1
- package/dist/utils/streamContext.js.map +1 -1
- package/dist/utils/timing.d.ts +6 -3
- package/dist/utils/timing.js +10 -6
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.d.ts +3 -2
- package/dist/utils/version.js +15 -28
- package/dist/utils/version.js.map +1 -1
- package/package.json +14 -10
- package/dist/config/providerPacks.d.ts +0 -46
- package/dist/config/providerPacks.js.map +0 -1
- package/dist/config/providers.d.ts +0 -175
- package/dist/config/providers.js +0 -691
- package/dist/config/providers.js.map +0 -1
- package/dist/native/intercept.d.ts +0 -35
- package/dist/native/intercept.js +0 -184
- package/dist/native/intercept.js.map +0 -1
- package/dist/routes/config/channels/routes.js +0 -1477
- package/dist/routes/config/channels/routes.js.map +0 -1
- package/dist/routes/config/providers.js.map +0 -1
- package/dist/routes/providers.d.ts +0 -6
- package/dist/routes/providers.js.map +0 -1
- /package/dist/routes/config/{providers.d.ts → services.d.ts} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CONFIG, getDefaults, validatePositiveInt, validatePositiveNumber } from "../../config/index.js";
|
|
2
|
-
import { CONFIG_METADATA,
|
|
3
|
-
import { LOG, escapeHtml,
|
|
2
|
+
import { CONFIG_METADATA, getAdvancedSections, getEnvOverrides, getNestedValue, getSettingsTabSections, getUITabs, isEqualToDefault, mutateConfig, readConfig, setNestedValue } from "../../config/userConfig.js";
|
|
3
|
+
import { LOG, escapeHtml, isRunningAsService, stringifySorted } from "../../utils/index.js";
|
|
4
|
+
import { sendErrorResponse, sendFormErrors, sendSuccess, sendValidationError } from "./http/envelope.js";
|
|
4
5
|
import { getConfigFilePath } from "../../config/paths.js";
|
|
5
6
|
import { getGpuCapabilities } from "../../browser/display.js";
|
|
6
7
|
import { getPresetOptionsWithDegradation } from "../../config/presets.js";
|
|
@@ -37,7 +38,8 @@ function formatValueForDisplay(value, settingType) {
|
|
|
37
38
|
return value;
|
|
38
39
|
}
|
|
39
40
|
// Config values are always primitives (string, number, boolean). Numbers and strings are handled above.
|
|
40
|
-
|
|
41
|
+
const primitive = value;
|
|
42
|
+
return String(primitive);
|
|
41
43
|
}
|
|
42
44
|
/**
|
|
43
45
|
* Converts a stored value to a display value using the setting's displayDivisor.
|
|
@@ -55,7 +57,7 @@ function toDisplayValue(value, setting) {
|
|
|
55
57
|
}
|
|
56
58
|
if ((typeof value === "number") && setting.displayDivisor) {
|
|
57
59
|
const displayValue = value / setting.displayDivisor;
|
|
58
|
-
// Determine precision: explicit displayPrecision, or 2 for floats, or 1 for integers with displayDivisor (to handle values like 1500ms
|
|
60
|
+
// Determine precision: explicit displayPrecision, or 2 for floats, or 1 for integers with displayDivisor (to handle values like 1500ms -> 1.5s).
|
|
59
61
|
const precision = setting.displayPrecision ?? ((setting.type === "float") ? 2 : 1);
|
|
60
62
|
return Number(displayValue.toFixed(precision));
|
|
61
63
|
}
|
|
@@ -192,7 +194,7 @@ function getFieldWidthClass(setting) {
|
|
|
192
194
|
*/
|
|
193
195
|
function generateSettingField(setting, currentValue, defaultValue, envOverride, validationError) {
|
|
194
196
|
const isDisabled = (envOverride !== undefined) || (setting.disabledReason !== undefined);
|
|
195
|
-
const inputId = setting.path.
|
|
197
|
+
const inputId = setting.path.replaceAll(".", "-");
|
|
196
198
|
const hasError = validationError !== undefined;
|
|
197
199
|
const isModified = !isDisabled && !isEqualToDefault(currentValue, defaultValue);
|
|
198
200
|
// Convert values for display.
|
|
@@ -205,7 +207,7 @@ function generateSettingField(setting, currentValue, defaultValue, envOverride,
|
|
|
205
207
|
const hasValidValues = setting.validValues && (setting.validValues.length > 0);
|
|
206
208
|
// Check if this setting depends on a boolean toggle that is currently disabled. The depends-disabled class applies a visual grey-out without actually
|
|
207
209
|
// disabling the inputs, so values are still submitted during save.
|
|
208
|
-
const dependsOnId = setting.dependsOn ? setting.dependsOn.
|
|
210
|
+
const dependsOnId = setting.dependsOn ? setting.dependsOn.replaceAll(".", "-") : undefined;
|
|
209
211
|
const isDependencyDisabled = setting.dependsOn ? !getNestedValue(CONFIG, setting.dependsOn) : false;
|
|
210
212
|
// Build CSS classes for the form group.
|
|
211
213
|
const groupClasses = ["form-group"];
|
|
@@ -346,8 +348,8 @@ function generateSettingField(setting, currentValue, defaultValue, envOverride,
|
|
|
346
348
|
// Render as input field.
|
|
347
349
|
const inputType = (setting.type === "float") ? "number" : (((setting.type === "integer") || (setting.type === "port")) ? "number" : "text");
|
|
348
350
|
// Calculate step for arrow key increments. Auto-derived from min/displayDivisor: when the min in display units is between 0 and 1 (exclusive), use it as the
|
|
349
|
-
// step (e.g., 500ms
|
|
350
|
-
// (e.g., 0.5, 1.0, 1.5, ... for half-second steps)
|
|
351
|
+
// step (e.g., 500ms -> 0.5s step); otherwise step is 1 whole display unit. This gives meaningful arrow increments and constrains input to a sensible value
|
|
352
|
+
// grid (e.g., 0.5, 1.0, 1.5, ... for half-second steps).
|
|
351
353
|
let step = "1";
|
|
352
354
|
if (setting.displayDivisor && (setting.min !== undefined)) {
|
|
353
355
|
const displayMin = setting.min / setting.displayDivisor;
|
|
@@ -628,8 +630,9 @@ export function generateCollapsibleSection(section, validationErrors, formValues
|
|
|
628
630
|
const validationError = validationErrors?.get(setting.path);
|
|
629
631
|
lines.push(generateSettingField(setting, currentValue, defaultValue, envOverride, validationError));
|
|
630
632
|
}
|
|
631
|
-
|
|
632
|
-
lines.push("</div>");
|
|
633
|
+
// Close section-content, then advanced-section, in reverse order of the opens above.
|
|
634
|
+
lines.push("</div>");
|
|
635
|
+
lines.push("</div>");
|
|
633
636
|
return lines.join("\n");
|
|
634
637
|
}
|
|
635
638
|
/**
|
|
@@ -668,6 +671,25 @@ export function generateSettingsFormFooter() {
|
|
|
668
671
|
export function hasEnvOverrides() {
|
|
669
672
|
return getEnvOverrides().size > 0;
|
|
670
673
|
}
|
|
674
|
+
/**
|
|
675
|
+
* Shallow-merges a source config into a target config. Top-level object values are merged one level deep (preserving sibling keys within each category).
|
|
676
|
+
* Non-object values are assigned directly. This is the single merge strategy used by both the settings form save and config import endpoints.
|
|
677
|
+
* @param target - The existing config to merge into (modified in place).
|
|
678
|
+
* @param source - The new values to merge.
|
|
679
|
+
*/
|
|
680
|
+
function mergeConfigValues(target, source) {
|
|
681
|
+
for (const [path, value] of Object.entries(source)) {
|
|
682
|
+
if ((typeof value === "object") && (value !== null) && !Array.isArray(value)) {
|
|
683
|
+
target[path] ??= {};
|
|
684
|
+
for (const [subPath, subValue] of Object.entries(value)) {
|
|
685
|
+
target[path][subPath] = subValue;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
else {
|
|
689
|
+
target[path] = value;
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
}
|
|
671
693
|
/**
|
|
672
694
|
* Installs all settings-related route handlers on the Express application.
|
|
673
695
|
* @param app - The Express application.
|
|
@@ -693,7 +715,8 @@ export function setupSettingsRoutes(app) {
|
|
|
693
715
|
continue;
|
|
694
716
|
}
|
|
695
717
|
// Parse the value (convert from display units to storage units if needed).
|
|
696
|
-
const
|
|
718
|
+
const primitive = rawValue;
|
|
719
|
+
const parsedValue = parseFormValue(setting, String(primitive));
|
|
697
720
|
// Validate the value.
|
|
698
721
|
const validationError = validateSettingValue(setting, parsedValue);
|
|
699
722
|
if (validationError) {
|
|
@@ -706,56 +729,41 @@ export function setupSettingsRoutes(app) {
|
|
|
706
729
|
}
|
|
707
730
|
// If there are validation errors, return them as JSON.
|
|
708
731
|
if (Object.keys(validationErrors).length > 0) {
|
|
709
|
-
res
|
|
732
|
+
sendFormErrors(res, validationErrors);
|
|
710
733
|
return;
|
|
711
734
|
}
|
|
712
|
-
// Merge form values into the existing config
|
|
713
|
-
//
|
|
714
|
-
//
|
|
715
|
-
// list to maintain.
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
if ((typeof value === "object") && (value !== null) && !Array.isArray(value)) {
|
|
720
|
-
mergedConfig[path] ??= {};
|
|
721
|
-
for (const [subPath, subValue] of Object.entries(value)) {
|
|
722
|
-
mergedConfig[path][subPath] = subValue;
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
else {
|
|
726
|
-
mergedConfig[path] = value;
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
// Filter out values that match defaults to keep the config file clean.
|
|
730
|
-
const filteredConfig = filterDefaults(mergedConfig);
|
|
731
|
-
// Save the configuration.
|
|
732
|
-
await saveUserConfig(filteredConfig);
|
|
735
|
+
// Merge form values into the existing config via mutateConfig. The settings form only manages CONFIG_METADATA fields, but config.json also stores fields
|
|
736
|
+
// managed by separate endpoints (disabledPredefined, enabledServices, visibleColumns, setupCompleted, channelSortField, channelSortDirection,
|
|
737
|
+
// channelsDvr.host, hdhr.deviceId, etc.). Merging form values into the existing config preserves all non-form fields automatically - no carry-forward
|
|
738
|
+
// list to maintain.
|
|
739
|
+
await mutateConfig((existing) => {
|
|
740
|
+
mergeConfigValues(existing, newConfig);
|
|
741
|
+
});
|
|
733
742
|
// Schedule restart after response is sent and return success response with restart info.
|
|
734
743
|
const restartResult = scheduleServerRestart("to apply configuration changes");
|
|
735
|
-
res
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
744
|
+
sendSuccess(res, {
|
|
745
|
+
data: {
|
|
746
|
+
activeStreams: restartResult.activeStreams,
|
|
747
|
+
deferred: restartResult.deferred,
|
|
748
|
+
willRestart: restartResult.willRestart
|
|
749
|
+
},
|
|
750
|
+
message: restartResult.message
|
|
741
751
|
});
|
|
742
752
|
}
|
|
743
753
|
catch (error) {
|
|
744
|
-
|
|
745
|
-
res.status(500).json({ message: "Failed to save configuration: " + formatError(error), success: false });
|
|
754
|
+
sendErrorResponse(res, error, "save configuration");
|
|
746
755
|
}
|
|
747
756
|
});
|
|
748
757
|
// GET /config/export - Export current configuration as JSON.
|
|
749
758
|
app.get("/config/export", async (_req, res) => {
|
|
750
759
|
try {
|
|
751
|
-
const result = await
|
|
760
|
+
const result = await readConfig();
|
|
752
761
|
res.setHeader("Content-Type", "application/json");
|
|
753
762
|
res.setHeader("Content-Disposition", "attachment; filename=\"prismcast-config.json\"");
|
|
754
763
|
res.send(stringifySorted(result.config) + "\n");
|
|
755
764
|
}
|
|
756
765
|
catch (error) {
|
|
757
|
-
|
|
758
|
-
res.status(500).json({ error: "Failed to export configuration: " + formatError(error) });
|
|
766
|
+
sendErrorResponse(res, error, "export configuration");
|
|
759
767
|
}
|
|
760
768
|
});
|
|
761
769
|
// POST /config/import - Import configuration from JSON.
|
|
@@ -765,7 +773,7 @@ export function setupSettingsRoutes(app) {
|
|
|
765
773
|
const rawConfig = req.body;
|
|
766
774
|
// Basic validation - ensure it's an object.
|
|
767
775
|
if ((typeof rawConfig !== "object") || (rawConfig === null) || Array.isArray(rawConfig)) {
|
|
768
|
-
res
|
|
776
|
+
sendValidationError(res, "Invalid configuration format: expected an object.");
|
|
769
777
|
return;
|
|
770
778
|
}
|
|
771
779
|
const importedConfig = rawConfig;
|
|
@@ -801,36 +809,53 @@ export function setupSettingsRoutes(app) {
|
|
|
801
809
|
}
|
|
802
810
|
}
|
|
803
811
|
if (validationErrors.length > 0) {
|
|
804
|
-
res
|
|
812
|
+
sendValidationError(res, "Validation errors:\n" + validationErrors.join("\n"));
|
|
805
813
|
return;
|
|
806
814
|
}
|
|
807
|
-
//
|
|
808
|
-
|
|
809
|
-
//
|
|
810
|
-
|
|
815
|
+
// Import replaces the user settings layer and preserves the system state layer. CONFIG_METADATA is the SSOT for which fields are user settings
|
|
816
|
+
// (port, timeouts, quality preset, etc.) vs system state (channelsDvr.host, deviceId, disabledPredefined, enabledServices, etc.). Clearing all
|
|
817
|
+
// CONFIG_METADATA-tracked paths before merging ensures that settings not present in the import file revert to defaults rather than surviving
|
|
818
|
+
// from the previous config. System state fields are untouched because they're not in CONFIG_METADATA.
|
|
819
|
+
await mutateConfig((existing) => {
|
|
820
|
+
// Clear all user settings from the existing config, leaving only system state.
|
|
821
|
+
for (const settings of Object.values(CONFIG_METADATA)) {
|
|
822
|
+
for (const setting of settings) {
|
|
823
|
+
const [categoryKey, fieldKey] = setting.path.split(".");
|
|
824
|
+
if (!categoryKey || !fieldKey) {
|
|
825
|
+
continue;
|
|
826
|
+
}
|
|
827
|
+
const category = existing[categoryKey];
|
|
828
|
+
if ((typeof category === "object") && (category !== null)) {
|
|
829
|
+
Reflect.deleteProperty(category, fieldKey);
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
// Apply imported settings on top of the preserved system state.
|
|
834
|
+
mergeConfigValues(existing, importedConfig);
|
|
835
|
+
});
|
|
811
836
|
// Schedule restart after response is sent and return success response with restart info.
|
|
812
837
|
const restartResult = scheduleServerRestart("after configuration import");
|
|
813
|
-
res
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
838
|
+
sendSuccess(res, {
|
|
839
|
+
data: {
|
|
840
|
+
activeStreams: restartResult.activeStreams,
|
|
841
|
+
deferred: restartResult.deferred,
|
|
842
|
+
willRestart: restartResult.willRestart
|
|
843
|
+
},
|
|
844
|
+
message: restartResult.message
|
|
819
845
|
});
|
|
820
846
|
}
|
|
821
847
|
catch (error) {
|
|
822
|
-
|
|
823
|
-
res.status(500).json({ error: "Failed to import configuration: " + formatError(error) });
|
|
848
|
+
sendErrorResponse(res, error, "import configuration");
|
|
824
849
|
}
|
|
825
850
|
});
|
|
826
851
|
// POST /config/restart-now - Force immediate server restart regardless of active streams.
|
|
827
852
|
app.post("/config/restart-now", (_req, res) => {
|
|
828
853
|
if (!isRunningAsService()) {
|
|
829
|
-
res
|
|
854
|
+
sendValidationError(res, "Cannot restart: not running as a service.");
|
|
830
855
|
return;
|
|
831
856
|
}
|
|
832
857
|
LOG.info("Forced restart requested via API.");
|
|
833
|
-
res
|
|
858
|
+
sendSuccess(res, { message: "Server is restarting..." });
|
|
834
859
|
// Close the browser first to avoid orphan Chrome processes.
|
|
835
860
|
setTimeout(() => {
|
|
836
861
|
LOG.info("Exiting for forced service manager restart.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/routes/config/settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/routes/config/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/debug.js
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* debug.ts: Debug logging configuration endpoint for PrismCast.
|
|
4
4
|
*/
|
|
5
5
|
import { DEBUG_CATEGORIES, LOG, escapeHtml, formatError, getCurrentPattern, initDebugFilter, isCategoryEnabled } from "../utils/index.js";
|
|
6
|
-
import { filterDefaults, loadUserConfig, saveUserConfig } from "../config/userConfig.js";
|
|
7
6
|
import { generateBaseStyles, generatePageWrapper } from "./ui.js";
|
|
8
7
|
import { CONFIG } from "../config/index.js";
|
|
8
|
+
import { getDebugEnv } from "../config/paths.js";
|
|
9
|
+
import { mutateConfig } from "../config/userConfig.js";
|
|
9
10
|
// Helpers.
|
|
10
11
|
/**
|
|
11
12
|
* Organizes the flat category list into hierarchical groups by splitting on the first colon. Categories without a colon that are also a prefix of other categories
|
|
@@ -129,7 +130,7 @@ function generateDebugScript() {
|
|
|
129
130
|
" if(raw === '') { for(var i = 0; i < all.length; i++) { all[i].checked = false; } }",
|
|
130
131
|
" else {",
|
|
131
132
|
" var rawParts = raw.split(',').map(function(p) { return p.trim(); }).filter(function(p) { return p.length > 0; });",
|
|
132
|
-
" var hasWildcard = rawParts.
|
|
133
|
+
" var hasWildcard = rawParts.includes('*');",
|
|
133
134
|
" var includes = rawParts.filter(function(p) { return p !== '*' && p[0] !== '-'; });",
|
|
134
135
|
" var excludes = rawParts.filter(function(p) { return p[0] === '-'; }).map(function(p) { return p.substring(1); });",
|
|
135
136
|
" for(var i = 0; i < all.length; i++) {",
|
|
@@ -183,7 +184,7 @@ function generateDebugBody() {
|
|
|
183
184
|
parts.push("</div>");
|
|
184
185
|
// Environment variable override warning. When PRISMCAST_DEBUG is set, the env var takes precedence at startup. Changes from the UI are still saved to
|
|
185
186
|
// config.json for when the env var is removed.
|
|
186
|
-
const debugEnv =
|
|
187
|
+
const debugEnv = getDebugEnv();
|
|
187
188
|
if (debugEnv) {
|
|
188
189
|
parts.push("<div class=\"debug-env-warning\">");
|
|
189
190
|
parts.push("<strong>PRISMCAST_DEBUG environment variable is active:</strong> <code>" + escapeHtml(debugEnv) + "</code><br>");
|
|
@@ -213,18 +214,18 @@ function generateDebugBody() {
|
|
|
213
214
|
parts.push("<div class=\"debug-groups\">");
|
|
214
215
|
for (const group of groups) {
|
|
215
216
|
const groupId = "group-" + group.prefix;
|
|
216
|
-
const
|
|
217
|
+
const firstChild = group.children[0];
|
|
218
|
+
const isSingleChild = (group.children.length === 1) && (firstChild?.category === group.prefix);
|
|
217
219
|
parts.push("<div class=\"debug-group\">");
|
|
218
220
|
if (isSingleChild) {
|
|
219
221
|
// Standalone category (no colon, no sub-categories). Render as a single checkbox.
|
|
220
|
-
const
|
|
221
|
-
const checked = isCategoryEnabled(child.category) ? " checked" : "";
|
|
222
|
+
const checked = isCategoryEnabled(firstChild.category) ? " checked" : "";
|
|
222
223
|
parts.push("<div class=\"debug-group-header\">");
|
|
223
|
-
parts.push("<input type=\"checkbox\" id=\"cat-" + escapeHtml(
|
|
224
|
+
parts.push("<input type=\"checkbox\" id=\"cat-" + escapeHtml(firstChild.category) + "\" data-category=\"" + escapeHtml(firstChild.category) + "\"");
|
|
224
225
|
parts.push(" data-group=\"" + escapeHtml(group.prefix) + "\"" + checked);
|
|
225
226
|
parts.push(" onchange=\"syncRawFromCheckboxes()\">");
|
|
226
|
-
parts.push("<label for=\"cat-" + escapeHtml(
|
|
227
|
-
parts.push("<span class=\"debug-child-desc\">" + escapeHtml(
|
|
227
|
+
parts.push("<label for=\"cat-" + escapeHtml(firstChild.category) + "\">" + escapeHtml(firstChild.category) + "</label>");
|
|
228
|
+
parts.push("<span class=\"debug-child-desc\">" + escapeHtml(firstChild.description) + "</span>");
|
|
228
229
|
parts.push("</div>");
|
|
229
230
|
}
|
|
230
231
|
else {
|
|
@@ -272,16 +273,16 @@ function generateDebugBody() {
|
|
|
272
273
|
* @param app - The Express application.
|
|
273
274
|
*/
|
|
274
275
|
export function setupDebugEndpoint(app) {
|
|
275
|
-
// GET /debug
|
|
276
|
+
// GET /debug - Renders the debug category management page.
|
|
276
277
|
app.get("/debug", (_req, res) => {
|
|
277
278
|
const html = generatePageWrapper("Debug Logging", generateBaseStyles() + "\n" + generateDebugStyles(), generateDebugBody());
|
|
278
279
|
res.setHeader("Content-Type", "text/html");
|
|
279
280
|
res.send(html);
|
|
280
281
|
});
|
|
281
|
-
// POST /debug
|
|
282
|
+
// POST /debug - Applies a new debug filter pattern, persists it to config.json, and redirects back to the page.
|
|
282
283
|
app.post("/debug", async (req, res) => {
|
|
283
284
|
const body = req.body;
|
|
284
|
-
const pattern = typeof body
|
|
285
|
+
const pattern = typeof body["pattern"] === "string" ? body["pattern"].trim() : "";
|
|
285
286
|
const previousPattern = getCurrentPattern();
|
|
286
287
|
// Apply the filter immediately at runtime.
|
|
287
288
|
initDebugFilter(pattern);
|
|
@@ -293,12 +294,10 @@ export function setupDebugEndpoint(app) {
|
|
|
293
294
|
LOG.info("Debug filter updated: \"%s\" -> \"%s\".", previousPattern, normalizedPattern);
|
|
294
295
|
// Persist to config.json so the filter survives restarts. Wrap in try/catch so persistence failure doesn't break the runtime update.
|
|
295
296
|
try {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
const filteredConfig = filterDefaults(existingConfig);
|
|
301
|
-
await saveUserConfig(filteredConfig);
|
|
297
|
+
await mutateConfig((config) => {
|
|
298
|
+
config.logging ??= {};
|
|
299
|
+
config.logging.debugFilter = normalizedPattern;
|
|
300
|
+
});
|
|
302
301
|
}
|
|
303
302
|
catch (error) {
|
|
304
303
|
LOG.warn("Failed to persist debug filter to config.json: %s.", formatError(error));
|
package/dist/routes/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/routes/debug.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE1I,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/routes/debug.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/health.js
CHANGED
|
@@ -52,7 +52,7 @@ export function setupHealthEndpoint(app) {
|
|
|
52
52
|
captureMode: CONFIG.streaming.captureMode,
|
|
53
53
|
chrome: getChromeVersion(),
|
|
54
54
|
clients: {
|
|
55
|
-
byType: Array.from(allClientTypes.entries()).
|
|
55
|
+
byType: Array.from(allClientTypes.entries()).toSorted(([a], [b]) => a.localeCompare(b)).map(([type, count]) => ({ count, type })),
|
|
56
56
|
total: totalClients
|
|
57
57
|
},
|
|
58
58
|
ffmpegAvailable: ffmpegAvailable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/routes/health.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAE9C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;QAEvE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;QAE9C,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAG,gBAAgB,EAAE,CAAC;YAEpB,IAAI,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;gBAEtC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,CAAC;YAAC,OAAM,MAAM,EAAE,CAAC;gBAEf,4BAA4B;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAElD,+EAA+E;QAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;QACrD,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAI,MAAM,UAAU,IAAI,aAAa,EAAE,EAAE,CAAC;YAExC,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAEhD,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;YAE9B,KAAI,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAEnC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;QAEnF,IAAI,MAAM,GAAyC,SAAS,CAAC;QAE7D,IAAG,CAAC,gBAAgB,EAAE,CAAC;YAErB,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;aAAM,IAAG,iBAAiB,IAAI,GAAG,EAAE,CAAC;YAEnC,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;QAED,MAAM,MAAM,GAAiB;YAE3B,OAAO,EAAE;gBAEP,SAAS,EAAE,gBAAgB;gBAC3B,SAAS,EAAE,SAAS;aACrB;YACD,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;YACzC,MAAM,EAAE,gBAAgB,EAAE;YAC1B,OAAO,EAAE;gBAEP,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/routes/health.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAE9C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;QAEvE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;QAE9C,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAG,gBAAgB,EAAE,CAAC;YAEpB,IAAI,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;gBAEtC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAC3B,CAAC;YAAC,OAAM,MAAM,EAAE,CAAC;gBAEf,4BAA4B;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAElD,+EAA+E;QAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;QACrD,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAI,MAAM,UAAU,IAAI,aAAa,EAAE,EAAE,CAAC;YAExC,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAEhD,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;YAE9B,KAAI,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAEnC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;QAEnF,IAAI,MAAM,GAAyC,SAAS,CAAC;QAE7D,IAAG,CAAC,gBAAgB,EAAE,CAAC;YAErB,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;aAAM,IAAG,iBAAiB,IAAI,GAAG,EAAE,CAAC;YAEnC,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;QAED,MAAM,MAAM,GAAiB;YAE3B,OAAO,EAAE;gBAEP,SAAS,EAAE,gBAAgB;gBAC3B,SAAS,EAAE,SAAS;aACrB;YACD,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;YACzC,MAAM,EAAE,gBAAgB,EAAE;YAC1B,OAAO,EAAE;gBAEP,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,IAAI,EAAE,KAAK,CAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnI,KAAK,EAAE,YAAY;aACpB;YACD,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE;gBAEN,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,GAAG,EAAE,WAAW,CAAC,GAAG;gBACpB,cAAc,EAAE,aAAa;aAC9B;YACD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBAEP,MAAM,EAAE,cAAc,EAAE;gBACxB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,oBAAoB;aAC7C;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;YACxB,OAAO,EAAE,iBAAiB,EAAE;SAC7B,CAAC;QAEF,IAAG,CAAC,gBAAgB,EAAE,CAAC;YAErB,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC;QAC/C,CAAC;aAAM,IAAG,iBAAiB,IAAI,GAAG,EAAE,CAAC;YAEnC,MAAM,CAAC,OAAO,GAAG,oCAAoC,CAAC;QACxD,CAAC;QAED,oHAAoH;QACpH,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEtD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/routes/icons.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* icons.ts: Shared SVG icon constants for the PrismCast web UI. All icons are 14x14 with stroke-based rendering using currentColor so they adapt to their
|
|
4
4
|
* container's text color. Icons are organized alphabetically by name.
|
|
5
5
|
*/
|
|
6
|
-
//
|
|
6
|
+
// Action Icons.
|
|
7
7
|
export const ICON_ADD = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" " +
|
|
8
8
|
"stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M8 3v10M3 8h10\"/></svg>";
|
|
9
9
|
export const ICON_BOLT = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" " +
|
|
@@ -38,7 +38,7 @@ export const ICON_REVERT = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\
|
|
|
38
38
|
"stroke-linejoin=\"round\"><path d=\"M3 8a5 5 0 1 1 1.5 3.5\"/><path d=\"M3 4v4h4\"/></svg>";
|
|
39
39
|
export const ICON_TRANSFER = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" " +
|
|
40
40
|
"stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 5h10M10 2l3 3-3 3\"/><path d=\"M13 11H3M6 8l-3 3 3 3\"/></svg>";
|
|
41
|
-
//
|
|
41
|
+
// Status Icons.
|
|
42
42
|
export const ICON_HEALTH = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" " +
|
|
43
43
|
"stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"1,9 4,9 6,4 8,12 10,7 12,9 15,9\"/></svg>";
|
|
44
44
|
//# sourceMappingURL=icons.js.map
|
package/dist/routes/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/routes/icons.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/routes/icons.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAEhB,MAAM,CAAC,MAAM,QAAQ,GAAG,mHAAmH;IACzI,uFAAuF,CAAC;AAE1F,MAAM,CAAC,MAAM,SAAS,GAAG,mHAAmH;IAC1I,0GAA0G,CAAC;AAE7G,MAAM,CAAC,MAAM,SAAS,GAAG,4IAA4I;IACnK,2JAA2J,CAAC;AAE9J,MAAM,CAAC,MAAM,WAAW,GAAG,4IAA4I;IACrK,wJAAwJ;IACxJ,yBAAyB,CAAC;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG,4IAA4I;IACtK,+FAA+F,CAAC;AAElG,MAAM,CAAC,MAAM,SAAS,GAAG,4IAA4I;IACnK,iFAAiF,CAAC;AAEpF,MAAM,CAAC,MAAM,WAAW,GAAG,4IAA4I;IACrK,mGAAmG,CAAC;AAEtG,MAAM,CAAC,MAAM,WAAW,GAAG,mHAAmH;IAC5I,+IAA+I,CAAC;AAElJ,MAAM,CAAC,MAAM,WAAW,GAAG,mHAAmH;IAC5I,+FAA+F,CAAC;AAElG,MAAM,CAAC,MAAM,WAAW,GAAG,mHAAmH;IAC5I,8IAA8I,CAAC;AAEjJ,MAAM,CAAC,MAAM,SAAS,GAAG,mHAAmH;IAC1I,qDAAqD;IACrD,kEAAkE;IAClE,wEAAwE,CAAC;AAE3E,MAAM,CAAC,MAAM,UAAU,GAAG,4IAA4I;IACpK,+IAA+I,CAAC;AAElJ,MAAM,CAAC,MAAM,WAAW,GAAG,mHAAmH;IAC5I,qHAAqH;IACrH,6DAA6D,CAAC;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG,4IAA4I;IACrK,4FAA4F,CAAC;AAE/F,MAAM,CAAC,MAAM,aAAa,GAAG,mHAAmH;IAC9I,gIAAgI,CAAC;AAEnI,gBAAgB;AAEhB,MAAM,CAAC,MAAM,WAAW,GAAG,mHAAmH;IAC5I,iHAAiH,CAAC"}
|
package/dist/routes/index.js
CHANGED
|
@@ -10,8 +10,8 @@ import { setupMpegTsRoutes } from "./mpegts.js";
|
|
|
10
10
|
import { setupPlayEndpoint } from "./play.js";
|
|
11
11
|
import { setupPlaylistEndpoint } from "./playlist.js";
|
|
12
12
|
import { setupPrerollRoutes } from "../streaming/preroll.js";
|
|
13
|
-
import { setupProvidersEndpoint } from "./providers.js";
|
|
14
13
|
import { setupRootEndpoint } from "./root/index.js";
|
|
14
|
+
import { setupServicesEndpoint } from "./services.js";
|
|
15
15
|
import { setupStreamsEndpoint } from "./streams.js";
|
|
16
16
|
import { setupUpgradeEndpoint } from "./upgrade.js";
|
|
17
17
|
/* This module aggregates all route setup functions and provides a single function to configure all HTTP endpoints on the Express application.
|
|
@@ -33,7 +33,7 @@ export function setupRoutes(app) {
|
|
|
33
33
|
setupPlayEndpoint(app);
|
|
34
34
|
setupPlaylistEndpoint(app);
|
|
35
35
|
setupPrerollRoutes(app);
|
|
36
|
-
|
|
36
|
+
setupServicesEndpoint(app);
|
|
37
37
|
setupRootEndpoint(app);
|
|
38
38
|
setupStreamsEndpoint(app);
|
|
39
39
|
setupUpgradeEndpoint(app);
|