prismcast 1.7.0 → 1.9.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.js +24 -13
- package/dist/app.js.map +1 -1
- package/dist/browser/cdp.d.ts +4 -6
- package/dist/browser/cdp.js +13 -17
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/index.js +3 -3
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/login.js +11 -8
- package/dist/browser/login.js.map +1 -1
- 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/directv.js +4 -7
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.js +1 -1
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/hbo.js +1 -1
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.js +3 -3
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/sling.js +2 -2
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/channels/index.d.ts +2 -0
- package/dist/channels/index.js +438 -252
- package/dist/channels/index.js.map +1 -1
- package/dist/config/health.d.ts +3 -3
- package/dist/config/health.js +13 -18
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.js +11 -2
- package/dist/config/index.js.map +1 -1
- package/dist/config/persistence.d.ts +59 -0
- package/dist/config/persistence.js +127 -0
- package/dist/config/persistence.js.map +1 -0
- package/dist/config/profiles.js +10 -10
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/servicePacks.d.ts +46 -0
- package/dist/config/{providerPacks.js → servicePacks.js} +28 -31
- package/dist/config/servicePacks.js.map +1 -0
- package/dist/config/services.d.ts +202 -0
- package/dist/config/services.js +758 -0
- package/dist/config/services.js.map +1 -0
- package/dist/config/sites.js +61 -61
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +89 -27
- package/dist/config/userChannels.js +400 -184
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +13 -9
- package/dist/config/userConfig.js +78 -60
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +31 -15
- package/dist/config/userProfiles.js +154 -123
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +1 -1
- package/dist/hdhr/channelMap.js +4 -7
- package/dist/hdhr/channelMap.js.map +1 -1
- package/dist/hdhr/discover.js +7 -15
- package/dist/hdhr/discover.js.map +1 -1
- package/dist/hdhr/index.js +6 -9
- package/dist/hdhr/index.js.map +1 -1
- package/dist/native/index.d.ts +2 -2
- package/dist/native/index.js +17 -27
- package/dist/native/index.js.map +1 -1
- package/dist/native/intercept.js +86 -89
- package/dist/native/intercept.js.map +1 -1
- package/dist/native/probe.js +2 -2
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +2 -2
- package/dist/native/proxy.js +4 -4
- package/dist/native/proxy.js.map +1 -1
- package/dist/routes/assets.js +29 -51
- package/dist/routes/assets.js.map +1 -1
- package/dist/routes/auth.js +3 -3
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/channels.js +5 -11
- package/dist/routes/channels.js.map +1 -1
- package/dist/routes/components.d.ts +0 -8
- package/dist/routes/components.js +0 -19
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +1 -1
- package/dist/routes/config/channels/index.js +1 -1
- package/dist/routes/config/channels/index.js.map +1 -1
- package/dist/routes/config/channels/routes.js +748 -420
- package/dist/routes/config/channels/routes.js.map +1 -1
- package/dist/routes/config/channels/table.d.ts +21 -6
- package/dist/routes/config/channels/table.js +456 -193
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/index.d.ts +2 -2
- package/dist/routes/config/index.js +3 -3
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/{providers.js → services.js} +47 -42
- package/dist/routes/config/services.js.map +1 -0
- package/dist/routes/config/settings.js +88 -49
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.js +5 -7
- 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.d.ts +16 -0
- package/dist/routes/icons.js +44 -0
- package/dist/routes/icons.js.map +1 -0
- package/dist/routes/index.js +2 -2
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/logs.js +4 -4
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/playlist.d.ts +6 -4
- package/dist/routes/playlist.js +98 -45
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.js +94 -55
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/scripts/channels.js +620 -478
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/config.js +884 -964
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/shared.js +468 -188
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.js +252 -207
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/root/styles.js +57 -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} +43 -43
- package/dist/routes/services.js.map +1 -0
- package/dist/routes/ui.d.ts +1 -1
- package/dist/routes/ui.js +3 -1
- package/dist/routes/ui.js.map +1 -1
- package/dist/service/commands.js +8 -43
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.d.ts +1 -1
- package/dist/service/generators.js +143 -41
- package/dist/service/generators.js.map +1 -1
- package/dist/streaming/codec.d.ts +20 -0
- package/dist/streaming/codec.js +68 -0
- package/dist/streaming/codec.js.map +1 -0
- package/dist/streaming/fmp4Segmenter.d.ts +2 -2
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +4 -4
- package/dist/streaming/hls.js +35 -29
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.js +3 -3
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/monitor.d.ts +2 -2
- package/dist/streaming/monitor.js +19 -13
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/preroll.d.ts +15 -14
- package/dist/streaming/preroll.js +32 -12
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/registry.d.ts +2 -2
- package/dist/streaming/registry.js +4 -8
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +4 -4
- package/dist/streaming/setup.js +28 -34
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.js +8 -10
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +4 -3
- package/dist/streaming/statusEmitter.js +3 -3
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +18 -11
- package/dist/types/config.d.ts +3 -2
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +9 -9
- package/dist/types/selection.d.ts +1 -1
- package/dist/types/shared.d.ts +1 -1
- package/dist/types/streaming.d.ts +8 -16
- package/dist/types/streaming.js +5 -1
- package/dist/types/streaming.js.map +1 -1
- package/dist/upgrade/commands.js +1 -16
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/utils/chromeFetch.js +1 -1
- package/dist/utils/cliOutput.d.ts +10 -0
- package/dist/utils/cliOutput.js +17 -0
- package/dist/utils/cliOutput.js.map +1 -0
- package/dist/utils/debugFilter.js +3 -3
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/fileLogger.js +4 -3
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +21 -4
- package/dist/utils/format.js +45 -7
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.js +17 -27
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/morganStream.js +2 -2
- package/dist/utils/morganStream.js.map +1 -1
- package/dist/utils/platform.js +3 -2
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/retry.js +2 -4
- package/dist/utils/retry.js.map +1 -1
- 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/version.js +4 -4
- package/dist/utils/version.js.map +1 -1
- package/package.json +5 -7
- 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 -678
- package/dist/config/providers.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
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { formatTimestamp } from "./format.js";
|
|
2
2
|
import { isConsoleLogging } from "./logger.js";
|
|
3
3
|
import { writeLogEntry } from "./fileLogger.js";
|
|
4
4
|
/* Morgan HTTP request logger needs a writable stream to output log entries. By default, Morgan writes to stdout. This adapter routes Morgan output to either the
|
|
@@ -19,7 +19,7 @@ export function createMorganStream() {
|
|
|
19
19
|
const trimmedMessage = message.trim();
|
|
20
20
|
if (isConsoleLogging()) {
|
|
21
21
|
// Console logging mode - add timestamp prefix and write to stdout.
|
|
22
|
-
const timestamp =
|
|
22
|
+
const timestamp = formatTimestamp();
|
|
23
23
|
// eslint-disable-next-line no-console
|
|
24
24
|
console.log(["[", timestamp, "] ", trimmedMessage].join(""));
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morganStream.js","sourceRoot":"","sources":["../../src/utils/morganStream.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"morganStream.js","sourceRoot":"","sources":["../../src/utils/morganStream.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAEhC,OAAO;QAEL,KAAK,EAAE,CAAC,OAAe,EAAQ,EAAE;YAE/B,8EAA8E;YAC9E,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAEtC,IAAG,gBAAgB,EAAE,EAAE,CAAC;gBAEtB,mEAAmE;gBACnE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;gBAEpC,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,CAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBAEN,kFAAkF;gBAClF,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/utils/platform.js
CHANGED
|
@@ -88,8 +88,9 @@ export function getServiceFilePath() {
|
|
|
88
88
|
return path.join(homeDir, ".config", "systemd", "user", "prismcast.service");
|
|
89
89
|
}
|
|
90
90
|
case "windows": {
|
|
91
|
-
//
|
|
92
|
-
|
|
91
|
+
// The batch startup script is the primary service file on Windows. It contains the runtime configuration (working directory, environment variables, node and
|
|
92
|
+
// entry point paths) and serves as the single source of truth for stale path detection.
|
|
93
|
+
return path.join(getDataDir(), "prismcast-service.cmd");
|
|
93
94
|
}
|
|
94
95
|
default: {
|
|
95
96
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,UAAU,CAAC;AAY3B,2DAA2D;AAC3D,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,yDAAyD;AACzD,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAExD,qCAAqC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,WAAW;IAEzB,QAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;QAExB,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEd,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YAEb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YAER,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAE/B,QAAO,WAAW,EAAE,EAAE,CAAC;QAErB,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YAEb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YAEf,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YAER,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IAEhC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAElC,IAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wHAAwH;IACxH,IAAI,CAAC;QAEH,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QAEP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAEhC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAE7B,QAAO,WAAW,EAAE,EAAE,CAAC;QAErB,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEd,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YAEb,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC/E,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YAEf,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,UAAU,CAAC;AAY3B,2DAA2D;AAC3D,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,yDAAyD;AACzD,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAExD,qCAAqC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,WAAW;IAEzB,QAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;QAExB,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEd,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YAEb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YAER,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAE/B,QAAO,WAAW,EAAE,EAAE,CAAC;QAErB,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YAEb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YAEf,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YAER,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IAEhC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAElC,IAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wHAAwH;IACxH,IAAI,CAAC;QAEH,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QAEP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAEhC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAE7B,QAAO,WAAW,EAAE,EAAE,CAAC;QAErB,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEd,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YAEb,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC/E,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YAEf,6JAA6J;YAC7J,wFAAwF;YACxF,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YAER,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IAErC,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IAEnC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;IAEtC,6DAA6D;IAC7D,MAAM,YAAY,GAAG;QACnB,wBAAwB;QACxB,qBAAqB;QACrB,eAAe;QACf,qCAAqC;KACtC,CAAC;IAEF,2EAA2E;IAC3E,KAAI,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QAEtC,IAAI,CAAC;YAEH,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAE9C,IAAG,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAE7B,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YAEP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IAEpC,kKAAkK;IAClK,uGAAuG;IACvG,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B;IAE1C,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;IAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAE9B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAE9B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAE/B,OAAO,EAAE,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/utils/retry.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
*
|
|
3
3
|
* retry.ts: Retry logic with exponential backoff for PrismCast.
|
|
4
4
|
*/
|
|
5
|
+
import { delay, raceWithTimeout } from "./delay.js";
|
|
5
6
|
import { formatError, isSessionClosedError } from "./errors.js";
|
|
6
7
|
import { LOG } from "./logger.js";
|
|
7
|
-
import { raceWithTimeout } from "./delay.js";
|
|
8
8
|
/**
|
|
9
9
|
* Implements a generic retry mechanism with exponential backoff and jitter. This function attempts an operation multiple times, waiting progressively longer between
|
|
10
10
|
* attempts to avoid overwhelming failing services. The exponential backoff with jitter prevents thundering herd problems where many clients retry simultaneously.
|
|
@@ -55,9 +55,7 @@ export async function retryOperation(options) {
|
|
|
55
55
|
const baseDelay = Math.min(1000 * Math.pow(2, attempt - 1), maxBackoffDelay);
|
|
56
56
|
const jitter = Math.random() * backoffJitter;
|
|
57
57
|
// eslint-disable-next-line no-await-in-loop
|
|
58
|
-
await
|
|
59
|
-
setTimeout(resolve, baseDelay + jitter);
|
|
60
|
-
});
|
|
58
|
+
await delay(baseDelay + jitter);
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
61
|
}
|
package/dist/utils/retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAuClC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,OAAwB;IAE9D,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAEjJ,IAAI,SAAS,GAAY,IAAI,CAAC;IAE9B,KAAI,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QAEvD,gJAAgJ;QAChJ,IAAG,WAAW,EAAE,EAAE,EAAE,CAAC;YAEnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAG,OAAO,GAAG,CAAC,EAAE,CAAC;YAEf,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,iCAAiC,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC;YAEH,4CAA4C;YAC5C,OAAO,MAAM,eAAe,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,SAAS,GAAG,KAAK,CAAC;YAElB,8HAA8H;YAC9H,IAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAE/B,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,2CAA2C,EAAE,WAAW,CAAC,CAAC;gBAE7E,MAAM,KAAK,CAAC;YACd,CAAC;YAED,6JAA6J;YAC7J,gKAAgK;YAChK,IAAG,iBAAiB,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAEjE,IAAI,CAAC;oBAEH,4CAA4C;oBAC5C,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;oBAEhD,IAAG,aAAa,EAAE,CAAC;wBAEjB,OAAO;oBACT,CAAC;gBACH,CAAC;gBAAC,OAAM,WAAW,EAAE,CAAC;oBAEpB,yDAAyD;gBAC3D,CAAC;YACH,CAAC;YAED,oIAAoI;YACpI,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnF,4EAA4E;YAC5E,IAAG,OAAO,GAAG,WAAW,EAAE,CAAC;gBAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;gBAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC;gBAE7C,4CAA4C;gBAC5C,MAAM,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export interface StreamContext {
|
|
6
6
|
channelName?: string;
|
|
7
|
+
showNameResolver?: () => string;
|
|
7
8
|
streamId: string;
|
|
8
9
|
url?: string;
|
|
9
10
|
}
|
|
@@ -26,3 +27,9 @@ export declare function getStreamContext(): StreamContext | undefined;
|
|
|
26
27
|
* @returns The stream ID, or undefined if not running within a stream context.
|
|
27
28
|
*/
|
|
28
29
|
export declare function getStreamId(): string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Resolves the current show name from the stream context's lazy resolver. Returns an empty string if no resolver is set or no show name is available. Named
|
|
32
|
+
* distinctly from the stream-ID-based show name lookup in the streaming module to avoid ambiguity via the barrel export in utils/index.ts.
|
|
33
|
+
* @returns The current show name, or an empty string.
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveContextShowName(): string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
*
|
|
3
3
|
* streamContext.ts: AsyncLocalStorage-based stream context for automatic log correlation.
|
|
4
4
|
*/
|
|
5
|
-
import { AsyncLocalStorage } from "async_hooks";
|
|
5
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
6
6
|
// AsyncLocalStorage instance for stream context. This is the core mechanism that allows context to propagate through async calls.
|
|
7
7
|
const streamContextStorage = new AsyncLocalStorage();
|
|
8
8
|
/**
|
|
@@ -30,4 +30,13 @@ export function getStreamContext() {
|
|
|
30
30
|
export function getStreamId() {
|
|
31
31
|
return streamContextStorage.getStore()?.streamId;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Resolves the current show name from the stream context's lazy resolver. Returns an empty string if no resolver is set or no show name is available. Named
|
|
35
|
+
* distinctly from the stream-ID-based show name lookup in the streaming module to avoid ambiguity via the barrel export in utils/index.ts.
|
|
36
|
+
* @returns The current show name, or an empty string.
|
|
37
|
+
*/
|
|
38
|
+
export function resolveContextShowName() {
|
|
39
|
+
const resolver = streamContextStorage.getStore()?.showNameResolver;
|
|
40
|
+
return resolver ? resolver() : "";
|
|
41
|
+
}
|
|
33
42
|
//# sourceMappingURL=streamContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamContext.js","sourceRoot":"","sources":["../../src/utils/streamContext.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"streamContext.js","sourceRoot":"","sources":["../../src/utils/streamContext.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAgCrD,kIAAkI;AAClI,MAAM,oBAAoB,GAAG,IAAI,iBAAiB,EAAiB,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAI,OAAsB,EAAE,EAAoB;IAExF,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAE9B,OAAO,oBAAoB,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IAEzB,OAAO,oBAAoB,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IAEpC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,gBAAgB,CAAC;IAEnE,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC"}
|
package/dist/utils/version.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* version.ts: Version checking and update notification utilities.
|
|
4
4
|
*/
|
|
5
5
|
import { LOG } from "./logger.js";
|
|
6
|
-
import { fileURLToPath } from "url";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { formatError } from "./errors.js";
|
|
8
|
-
import { readFileSync } from "fs";
|
|
9
|
-
import { resolve } from "path";
|
|
8
|
+
import { readFileSync } from "node:fs";
|
|
9
|
+
import { resolve } from "node:path";
|
|
10
10
|
// Package name for npm registry lookups.
|
|
11
11
|
const NPM_PACKAGE_NAME = "prismcast";
|
|
12
12
|
// Cached package version.
|
|
@@ -114,7 +114,7 @@ async function fetchChangelogContent() {
|
|
|
114
114
|
function extractVersionChangelog(changelog, version) {
|
|
115
115
|
// Match the version header and capture everything until the next version header or end of file. The changelog format is: ## 1.0.8 (date)
|
|
116
116
|
// Note: We use (?![^]) instead of $ for end-of-string because the m flag makes $ match end-of-line, which would stop the non-greedy *? at the first line.
|
|
117
|
-
const pattern = new RegExp("^## " + version.
|
|
117
|
+
const pattern = new RegExp("^## " + version.replaceAll(".", "\\.") + "\\s+\\([^)]+\\)\\s*\\n([\\s\\S]*?)(?=^## \\d|(?![^]))", "m");
|
|
118
118
|
const match = changelog.match(pattern);
|
|
119
119
|
if (!match) {
|
|
120
120
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prismcast",
|
|
3
3
|
"displayName": "PrismCast",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.9.0",
|
|
5
5
|
"description": "Browser-based live TV capture server for Channels DVR, Plex, and other streaming clients.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "HJD",
|
|
@@ -64,25 +64,23 @@
|
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"compression": "^1.8.1",
|
|
67
|
-
"console-stamp": "3.1.2",
|
|
68
67
|
"express": "5.2.1",
|
|
69
68
|
"ffmpeg-for-homebridge": "2.2.2",
|
|
70
69
|
"morgan": "1.10.1",
|
|
71
|
-
"puppeteer-core": "24.
|
|
70
|
+
"puppeteer-core": "24.41.0",
|
|
72
71
|
"puppeteer-stream": "3.0.21"
|
|
73
72
|
},
|
|
74
73
|
"devDependencies": {
|
|
75
74
|
"@stylistic/eslint-plugin": "5.10.0",
|
|
76
75
|
"@types/compression": "^1.8.1",
|
|
77
|
-
"@types/dateformat": "5.0.3",
|
|
78
76
|
"@types/express": "5.0.6",
|
|
79
77
|
"@types/morgan": "1.9.10",
|
|
80
|
-
"@types/node": "25.
|
|
78
|
+
"@types/node": "25.6.0",
|
|
81
79
|
"eslint": "9.39.2",
|
|
82
|
-
"homebridge-plugin-utils": "1.
|
|
80
|
+
"homebridge-plugin-utils": "1.35.0",
|
|
83
81
|
"nodemon": "3.1.14",
|
|
84
82
|
"shx": "0.4.0",
|
|
85
83
|
"typescript": "5.9.3",
|
|
86
|
-
"typescript-eslint": "8.
|
|
84
|
+
"typescript-eslint": "8.58.2"
|
|
87
85
|
}
|
|
88
86
|
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { ProviderPack } from "../types/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Result of parsing a provider pack.
|
|
4
|
-
*/
|
|
5
|
-
export interface ParseResult {
|
|
6
|
-
errors: string[];
|
|
7
|
-
pack?: ProviderPack;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Summary of what was imported from a provider pack. The primary import (profiles and domains) is tracked separately from the secondary channel import so that
|
|
11
|
-
* callers can report partial success accurately — profiles may save while channels fail.
|
|
12
|
-
*/
|
|
13
|
-
export interface ImportSummary {
|
|
14
|
-
channelsAdded: number;
|
|
15
|
-
domainsAdded: number;
|
|
16
|
-
errors: string[];
|
|
17
|
-
profilesAdded: number;
|
|
18
|
-
success: boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Parses and validates a raw provider pack import. Checks the version field, validates profiles and domains via the userProfiles validation functions.
|
|
22
|
-
* @param data - The raw JSON data to parse.
|
|
23
|
-
* @returns Parse result with validated pack or errors.
|
|
24
|
-
*/
|
|
25
|
-
export declare function parseProviderPack(data: unknown): ParseResult;
|
|
26
|
-
/**
|
|
27
|
-
* Imports a validated provider pack by writing its contents to profiles.json and optionally channels.json. Returns a summary of what was added.
|
|
28
|
-
* @param pack - The validated provider pack to import.
|
|
29
|
-
* @param options - Import options. Set skipChannels to true to skip importing channels even if the pack contains them.
|
|
30
|
-
* @returns Summary of what was imported.
|
|
31
|
-
*/
|
|
32
|
-
export declare function importProviderPack(pack: ProviderPack, options?: {
|
|
33
|
-
skipChannels?: boolean;
|
|
34
|
-
}): Promise<ImportSummary>;
|
|
35
|
-
/**
|
|
36
|
-
* Exports one or more user profiles and their associated domain mappings as a provider pack JSON object. Optionally includes channels that reference the
|
|
37
|
-
* selected profiles.
|
|
38
|
-
* @param profileKeys - Array of user profile keys to export.
|
|
39
|
-
* @param options - Export options controlling what to include.
|
|
40
|
-
* @returns The provider pack object, or null if none of the requested profiles exist.
|
|
41
|
-
*/
|
|
42
|
-
export declare function exportProviderPack(profileKeys: string[], options?: {
|
|
43
|
-
includeChannels?: boolean;
|
|
44
|
-
includeDomains?: boolean;
|
|
45
|
-
name?: string;
|
|
46
|
-
}): ProviderPack | null;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providerPacks.js","sourceRoot":"","sources":["../../src/config/providerPacks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import type { Channel, ChannelMap, ChannelSortField, ProviderGroup, SortDirection } from "../types/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Gets the provider tag for a channel key. For channels in a provider group, reads the pre-computed tag from the group variant entry (computed at group-building
|
|
4
|
-
* time by buildProviderGroups). For standalone channels not in any group, derives the tag from the channel's URL domain. This function should not be called with
|
|
5
|
-
* :predefined synthetic keys — those only exist inside provider groups and their tags are available via the group's variant entries.
|
|
6
|
-
* @param key - The channel key.
|
|
7
|
-
* @returns The provider tag string.
|
|
8
|
-
*/
|
|
9
|
-
export declare function getProviderTagForChannel(key: string): string;
|
|
10
|
-
/**
|
|
11
|
-
* Returns the auth domain for a channel key. Domain is the natural auth boundary — browser cookies and sessions scope to it. Multi-channel providers work correctly
|
|
12
|
-
* because all their channels share one domain, and canonical channels work correctly because each has its own domain.
|
|
13
|
-
* @param key - The channel key.
|
|
14
|
-
* @returns The extracted domain from the channel's URL, or empty string if the channel or URL cannot be resolved.
|
|
15
|
-
*/
|
|
16
|
-
export declare function getAuthDomainForChannel(key: string): string;
|
|
17
|
-
/**
|
|
18
|
-
* Returns all provider tags for a channel (canonical tag + all variant suffix tags). Used to determine which providers offer this channel.
|
|
19
|
-
* @param canonicalKey - The canonical channel key.
|
|
20
|
-
* @returns Array of provider tag strings.
|
|
21
|
-
*/
|
|
22
|
-
export declare function getChannelProviderTags(canonicalKey: string): string[];
|
|
23
|
-
/**
|
|
24
|
-
* Scans all provider groups and collects unique provider tags with display names. Display names are derived from the provider field in DOMAIN_CONFIG entries that
|
|
25
|
-
* have a providerTag.
|
|
26
|
-
* @returns Array of { displayName, domain, iconUrl, tag } objects sorted alphabetically by display name, with "direct" always first.
|
|
27
|
-
*/
|
|
28
|
-
export declare function getAllProviderTags(): {
|
|
29
|
-
displayName: string;
|
|
30
|
-
domain?: string;
|
|
31
|
-
iconUrl?: string;
|
|
32
|
-
tag: string;
|
|
33
|
-
}[];
|
|
34
|
-
/**
|
|
35
|
-
* Gets the current enabled provider tags.
|
|
36
|
-
* @returns Copy of the enabled providers array. Empty means no filter (all shown).
|
|
37
|
-
*/
|
|
38
|
-
export declare function getEnabledProviders(): string[];
|
|
39
|
-
/**
|
|
40
|
-
* Sets the enabled provider tags. Empty array means "no filter" (all providers shown).
|
|
41
|
-
* @param tags - The provider tags to enable.
|
|
42
|
-
*/
|
|
43
|
-
export declare function setEnabledProviders(tags: string[]): void;
|
|
44
|
-
/**
|
|
45
|
-
* Checks if a provider tag is currently enabled. Returns true if the tag is enabled, if no filter is active (empty set), or if the tag is "direct".
|
|
46
|
-
* @param tag - The provider tag to check.
|
|
47
|
-
* @returns True if the provider is available.
|
|
48
|
-
*/
|
|
49
|
-
export declare function isProviderTagEnabled(tag: string): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Centralized availability check for the provider filter. Returns true if the channel has at least one variant whose provider tag is enabled.
|
|
52
|
-
* @param canonicalKey - The canonical channel key.
|
|
53
|
-
* @returns True if the channel passes the provider filter.
|
|
54
|
-
*/
|
|
55
|
-
export declare function isChannelAvailableByProvider(canonicalKey: string): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Builds provider groups by scanning all channels and grouping by canonicalKey. Variant entries declare their canonical via the canonicalKey field (set by the
|
|
58
|
-
* flattener for predefined channels, by the browse modal for user channels, and by the one-time migration for pre-existing user entries). This is a single
|
|
59
|
-
* pass over the merged channel map — one field, one mechanism for both predefined and user-defined variant relationships.
|
|
60
|
-
*
|
|
61
|
-
* User overrides of predefined channels (same key, different object reference) produce a two-entry group with "Custom" and the original predefined version,
|
|
62
|
-
* even for single-provider channels that don't have canonicalKey-based variants.
|
|
63
|
-
* @param channels - The merged channel map (predefined + user channels).
|
|
64
|
-
*/
|
|
65
|
-
export declare function buildProviderGroups(channels: ChannelMap): void;
|
|
66
|
-
/**
|
|
67
|
-
* Resolves a URL to a friendly provider display name. Checks built-in DOMAIN_CONFIG first for a stable, well-known provider name, then falls back to
|
|
68
|
-
* getDomainConfig() which includes user domain mappings. This ordering prevents user domain overrides from corrupting display labels for predefined channel
|
|
69
|
-
* variants — a user mapping a built-in domain to a custom profile should not rename every provider dropdown entry that uses that domain.
|
|
70
|
-
* @param url - The URL to resolve a provider display name for.
|
|
71
|
-
* @returns The provider display name, or the concise domain if no provider name is configured.
|
|
72
|
-
*/
|
|
73
|
-
export declare function getProviderDisplayName(url: string): string;
|
|
74
|
-
/**
|
|
75
|
-
* Resolves the provider display label for a channel. Checks in order: explicit `provider` field on the channel, the channel's explicit profile resolved via
|
|
76
|
-
* user domain mappings, then URL-based built-in display name. This ensures channels assigned to user-defined profiles show the profile's provider name rather
|
|
77
|
-
* than the built-in name for the URL domain.
|
|
78
|
-
* @param channel - The channel to resolve a label for.
|
|
79
|
-
* @returns The provider display label.
|
|
80
|
-
*/
|
|
81
|
-
export declare function getChannelProviderLabel(channel: Channel): string;
|
|
82
|
-
export declare const VALID_SORT_FIELDS: Set<ChannelSortField>;
|
|
83
|
-
/**
|
|
84
|
-
* Extracts a sortable string value from a channel for the specified sort field. Channel numbers are zero-padded to 6 digits for correct numeric ordering within a
|
|
85
|
-
* string comparison. Provider values use the display label for human-meaningful sort order. This is the single source of truth for channel sort key extraction,
|
|
86
|
-
* shared by both the server-side table renderer and the M3U playlist generator.
|
|
87
|
-
* @param channel - Fallback channel definition, used only when the selected provider variant cannot be resolved (e.g., key not in the merged channel map).
|
|
88
|
-
* @param key - The canonical channel key. Used for key-based sorting and to resolve the selected provider variant internally.
|
|
89
|
-
* @param field - The sort field to extract.
|
|
90
|
-
* @returns A lowercase string suitable for comparison-based sorting.
|
|
91
|
-
*/
|
|
92
|
-
export declare function getChannelSortKey(channel: Channel, key: string, field: ChannelSortField): string;
|
|
93
|
-
/**
|
|
94
|
-
* Compares two channels for sorting by the specified field and direction with a built-in channel name tiebreaker. The tiebreaker is always ascending so that rows
|
|
95
|
-
* within each group maintain a consistent alphabetical order regardless of the primary sort direction. This is the single comparator for all sort sites — server HTML
|
|
96
|
-
* render, client re-sort, and M3U playlist — to prevent ordering divergence.
|
|
97
|
-
* @param channelA - First channel definition.
|
|
98
|
-
* @param keyA - First channel key.
|
|
99
|
-
* @param channelB - Second channel definition.
|
|
100
|
-
* @param keyB - Second channel key.
|
|
101
|
-
* @param field - The sort field to compare.
|
|
102
|
-
* @param direction - Sort direction for the primary field.
|
|
103
|
-
* @returns A negative, zero, or positive number for sort ordering.
|
|
104
|
-
*/
|
|
105
|
-
export declare function compareChannelSort(channelA: Channel, keyA: string, channelB: Channel, keyB: string, field: ChannelSortField, direction: SortDirection): number;
|
|
106
|
-
/**
|
|
107
|
-
* Gets the provider group for a channel key. Works with both canonical and variant keys.
|
|
108
|
-
* @param key - Any channel key in the group.
|
|
109
|
-
* @returns The provider group if the channel is part of a multi-provider group, undefined otherwise.
|
|
110
|
-
*/
|
|
111
|
-
export declare function getProviderGroup(key: string): ProviderGroup | undefined;
|
|
112
|
-
/**
|
|
113
|
-
* Checks if a channel key is a non-canonical provider variant. Used to filter variants from channel listings.
|
|
114
|
-
* @param key - The channel key to check.
|
|
115
|
-
* @returns True if the key is a variant (not canonical) in a provider group.
|
|
116
|
-
*/
|
|
117
|
-
export declare function isProviderVariant(key: string): boolean;
|
|
118
|
-
/**
|
|
119
|
-
* Checks if a channel has multiple provider options. Used to determine whether to show a provider dropdown in the UI.
|
|
120
|
-
* @param key - The channel key to check.
|
|
121
|
-
* @returns True if the channel has more than one provider variant.
|
|
122
|
-
*/
|
|
123
|
-
export declare function hasMultipleProviders(key: string): boolean;
|
|
124
|
-
/**
|
|
125
|
-
* Gets the canonical key for any channel key. For variant keys, returns the canonical key. For non-grouped or canonical keys, returns the input unchanged.
|
|
126
|
-
* Handles the PREDEFINED_SUFFIX used when a user has overridden a predefined channel.
|
|
127
|
-
* @param key - Any channel key.
|
|
128
|
-
* @returns The canonical key for the channel's provider group, or the input key if not part of a group.
|
|
129
|
-
*/
|
|
130
|
-
export declare function getCanonicalKey(key: string): string;
|
|
131
|
-
/**
|
|
132
|
-
* Sets the user's provider selections. Called when loading from channels.json.
|
|
133
|
-
* @param selections - Provider selections keyed by canonical channel key.
|
|
134
|
-
*/
|
|
135
|
-
export declare function setProviderSelections(selections: Record<string, string>): void;
|
|
136
|
-
/**
|
|
137
|
-
* Gets all provider selections.
|
|
138
|
-
* @returns Copy of the provider selections object.
|
|
139
|
-
*/
|
|
140
|
-
export declare function getProviderSelections(): Record<string, string>;
|
|
141
|
-
/**
|
|
142
|
-
* Gets the provider selection for a specific channel.
|
|
143
|
-
* @param canonicalKey - The canonical channel key.
|
|
144
|
-
* @returns The selected provider key, or undefined if using the default.
|
|
145
|
-
*/
|
|
146
|
-
export declare function getProviderSelection(canonicalKey: string): string | undefined;
|
|
147
|
-
/**
|
|
148
|
-
* Sets the provider selection for a channel.
|
|
149
|
-
* @param canonicalKey - The canonical channel key.
|
|
150
|
-
* @param providerKey - The selected provider key.
|
|
151
|
-
*/
|
|
152
|
-
export declare function setProviderSelection(canonicalKey: string, providerKey: string): void;
|
|
153
|
-
/**
|
|
154
|
-
* Resolves a canonical channel key to the actual channel key based on user selection. If the user has selected a specific provider for this channel, returns that
|
|
155
|
-
* provider's key. Otherwise returns the canonical key (default provider). When the provider filter is active, falls back to the first enabled variant if the stored
|
|
156
|
-
* selection's provider is filtered out.
|
|
157
|
-
* @param canonicalKey - The canonical channel key.
|
|
158
|
-
* @returns The resolved provider key to use for streaming.
|
|
159
|
-
*/
|
|
160
|
-
export declare function resolveProviderKey(canonicalKey: string): string;
|
|
161
|
-
/**
|
|
162
|
-
* Gets a channel with inheritance applied. For provider variants, this merges the variant's properties with inherited properties from the canonical entry
|
|
163
|
-
* using the live channel data (which includes user overrides). Use `resolvePredefinedVariant()` when you need resolution against pure predefined data.
|
|
164
|
-
* @param key - The channel key (canonical or variant).
|
|
165
|
-
* @returns The complete channel with inheritance applied, or undefined if the channel doesn't exist.
|
|
166
|
-
*/
|
|
167
|
-
export declare function getResolvedChannel(key: string): Channel | undefined;
|
|
168
|
-
/**
|
|
169
|
-
* Resolves a variant channel key against pure predefined data (ignoring user overrides). This is used for revert detection — when the user's edits match a
|
|
170
|
-
* variant's predefined definition, the custom override can be removed and the provider selection switched to that variant. For canonical keys, returns the raw
|
|
171
|
-
* predefined channel. For variant keys, applies the same inheritance rules as `getResolvedChannel()` but against `PREDEFINED_CHANNELS` instead of `channelsRef`.
|
|
172
|
-
* @param key - The channel key (canonical or variant).
|
|
173
|
-
* @returns The channel with inheritance applied against predefined data, or undefined if the key has no predefined definition.
|
|
174
|
-
*/
|
|
175
|
-
export declare function resolvePredefinedVariant(key: string): Channel | undefined;
|