prismcast 1.5.2 → 1.7.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.
Files changed (239) hide show
  1. package/README.md +44 -28
  2. package/dist/app.d.ts +5 -0
  3. package/dist/app.js +63 -5
  4. package/dist/app.js.map +1 -1
  5. package/dist/browser/cdp.js +1 -1
  6. package/dist/browser/cdp.js.map +1 -1
  7. package/dist/browser/channelSelection.d.ts +10 -34
  8. package/dist/browser/channelSelection.js +31 -96
  9. package/dist/browser/channelSelection.js.map +1 -1
  10. package/dist/browser/display.d.ts +19 -0
  11. package/dist/browser/display.js +16 -11
  12. package/dist/browser/display.js.map +1 -1
  13. package/dist/browser/index.d.ts +31 -54
  14. package/dist/browser/index.js +334 -272
  15. package/dist/browser/index.js.map +1 -1
  16. package/dist/browser/login.d.ts +65 -0
  17. package/dist/browser/login.js +193 -0
  18. package/dist/browser/login.js.map +1 -0
  19. package/dist/browser/precaching.js +15 -3
  20. package/dist/browser/precaching.js.map +1 -1
  21. package/dist/browser/tuning/comcastPolymer.d.ts +23 -0
  22. package/dist/browser/tuning/comcastPolymer.js +655 -0
  23. package/dist/browser/tuning/comcastPolymer.js.map +1 -0
  24. package/dist/browser/tuning/cox.d.ts +2 -0
  25. package/dist/browser/tuning/cox.js +14 -0
  26. package/dist/browser/tuning/cox.js.map +1 -0
  27. package/dist/browser/tuning/directv.js +14 -1
  28. package/dist/browser/tuning/directv.js.map +1 -1
  29. package/dist/browser/tuning/fox.js +14 -2
  30. package/dist/browser/tuning/fox.js.map +1 -1
  31. package/dist/browser/tuning/hbo.js +12 -1
  32. package/dist/browser/tuning/hbo.js.map +1 -1
  33. package/dist/browser/tuning/hulu.js +24 -1
  34. package/dist/browser/tuning/hulu.js.map +1 -1
  35. package/dist/browser/tuning/shared.d.ts +46 -0
  36. package/dist/browser/tuning/shared.js +100 -0
  37. package/dist/browser/tuning/shared.js.map +1 -0
  38. package/dist/browser/tuning/sling.js +35 -5
  39. package/dist/browser/tuning/sling.js.map +1 -1
  40. package/dist/browser/tuning/spectrum.js +13 -1
  41. package/dist/browser/tuning/spectrum.js.map +1 -1
  42. package/dist/browser/tuning/thumbnailRow.js +1 -1
  43. package/dist/browser/tuning/thumbnailRow.js.map +1 -1
  44. package/dist/browser/tuning/tileClick.js +1 -1
  45. package/dist/browser/tuning/tileClick.js.map +1 -1
  46. package/dist/browser/tuning/xfinity.d.ts +2 -0
  47. package/dist/browser/tuning/xfinity.js +14 -0
  48. package/dist/browser/tuning/xfinity.js.map +1 -0
  49. package/dist/browser/tuning/youtubeTv.js +15 -1
  50. package/dist/browser/tuning/youtubeTv.js.map +1 -1
  51. package/dist/browser/video.d.ts +20 -0
  52. package/dist/browser/video.js +168 -124
  53. package/dist/browser/video.js.map +1 -1
  54. package/dist/channels/index.d.ts +2 -2
  55. package/dist/channels/index.js +2075 -683
  56. package/dist/channels/index.js.map +1 -1
  57. package/dist/config/health.d.ts +28 -28
  58. package/dist/config/health.js +72 -54
  59. package/dist/config/health.js.map +1 -1
  60. package/dist/config/index.js +29 -64
  61. package/dist/config/index.js.map +1 -1
  62. package/dist/config/paths.d.ts +12 -0
  63. package/dist/config/paths.js +16 -0
  64. package/dist/config/paths.js.map +1 -1
  65. package/dist/config/profiles.d.ts +3 -2
  66. package/dist/config/profiles.js +45 -34
  67. package/dist/config/profiles.js.map +1 -1
  68. package/dist/config/providerPacks.js +4 -1
  69. package/dist/config/providerPacks.js.map +1 -1
  70. package/dist/config/providers.d.ts +19 -5
  71. package/dist/config/providers.js +123 -93
  72. package/dist/config/providers.js.map +1 -1
  73. package/dist/config/sites.d.ts +28 -0
  74. package/dist/config/sites.js +104 -127
  75. package/dist/config/sites.js.map +1 -1
  76. package/dist/config/userChannels.d.ts +53 -2
  77. package/dist/config/userChannels.js +222 -13
  78. package/dist/config/userChannels.js.map +1 -1
  79. package/dist/config/userConfig.d.ts +2 -1
  80. package/dist/config/userConfig.js +6 -15
  81. package/dist/config/userConfig.js.map +1 -1
  82. package/dist/config/userProfiles.d.ts +0 -1
  83. package/dist/config/userProfiles.js +18 -10
  84. package/dist/config/userProfiles.js.map +1 -1
  85. package/dist/hdhr/channelMap.d.ts +1 -1
  86. package/dist/hdhr/channelMap.js +4 -4
  87. package/dist/hdhr/channelMap.js.map +1 -1
  88. package/dist/index.js +25 -22
  89. package/dist/index.js.map +1 -1
  90. package/dist/native/decrypt.d.ts +32 -0
  91. package/dist/native/decrypt.js +85 -0
  92. package/dist/native/decrypt.js.map +1 -0
  93. package/dist/native/index.d.ts +61 -0
  94. package/dist/native/index.js +342 -0
  95. package/dist/native/index.js.map +1 -0
  96. package/dist/native/intercept.d.ts +35 -0
  97. package/dist/native/intercept.js +184 -0
  98. package/dist/native/intercept.js.map +1 -0
  99. package/dist/native/probe.d.ts +49 -0
  100. package/dist/native/probe.js +294 -0
  101. package/dist/native/probe.js.map +1 -0
  102. package/dist/native/proxy.d.ts +54 -0
  103. package/dist/native/proxy.js +947 -0
  104. package/dist/native/proxy.js.map +1 -0
  105. package/dist/routes/components.d.ts +43 -0
  106. package/dist/routes/components.js +122 -0
  107. package/dist/routes/components.js.map +1 -1
  108. package/dist/routes/config/channels/index.d.ts +2 -2
  109. package/dist/routes/config/channels/index.js +1 -1
  110. package/dist/routes/config/channels/index.js.map +1 -1
  111. package/dist/routes/config/channels/routes.js +443 -65
  112. package/dist/routes/config/channels/routes.js.map +1 -1
  113. package/dist/routes/config/channels/table.d.ts +76 -0
  114. package/dist/routes/config/channels/table.js +369 -89
  115. package/dist/routes/config/channels/table.js.map +1 -1
  116. package/dist/routes/config/index.d.ts +1 -1
  117. package/dist/routes/config/index.js +1 -1
  118. package/dist/routes/config/index.js.map +1 -1
  119. package/dist/routes/config/providers.d.ts +6 -6
  120. package/dist/routes/config/providers.js +73 -99
  121. package/dist/routes/config/providers.js.map +1 -1
  122. package/dist/routes/debug.js +5 -5
  123. package/dist/routes/debug.js.map +1 -1
  124. package/dist/routes/hls.js +12 -2
  125. package/dist/routes/hls.js.map +1 -1
  126. package/dist/routes/index.d.ts +0 -15
  127. package/dist/routes/index.js +2 -16
  128. package/dist/routes/index.js.map +1 -1
  129. package/dist/routes/providers.js +106 -3
  130. package/dist/routes/providers.js.map +1 -1
  131. package/dist/routes/root/content.js +124 -47
  132. package/dist/routes/root/content.js.map +1 -1
  133. package/dist/routes/root/index.js +2 -1
  134. package/dist/routes/root/index.js.map +1 -1
  135. package/dist/routes/root/scripts/channels.js +772 -312
  136. package/dist/routes/root/scripts/channels.js.map +1 -1
  137. package/dist/routes/root/scripts/config.js +596 -544
  138. package/dist/routes/root/scripts/config.js.map +1 -1
  139. package/dist/routes/root/scripts/index.d.ts +1 -0
  140. package/dist/routes/root/scripts/index.js +1 -0
  141. package/dist/routes/root/scripts/index.js.map +1 -1
  142. package/dist/routes/root/scripts/shared.d.ts +6 -0
  143. package/dist/routes/root/scripts/shared.js +391 -0
  144. package/dist/routes/root/scripts/shared.js.map +1 -0
  145. package/dist/routes/root/scripts/status.js +49 -33
  146. package/dist/routes/root/scripts/status.js.map +1 -1
  147. package/dist/routes/root/styles.js +117 -10
  148. package/dist/routes/root/styles.js.map +1 -1
  149. package/dist/service/commands.js +2 -1
  150. package/dist/service/commands.js.map +1 -1
  151. package/dist/streaming/fmp4Segmenter.d.ts +5 -0
  152. package/dist/streaming/fmp4Segmenter.js +146 -42
  153. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  154. package/dist/streaming/hls.d.ts +24 -19
  155. package/dist/streaming/hls.js +603 -297
  156. package/dist/streaming/hls.js.map +1 -1
  157. package/dist/streaming/hlsResume.d.ts +16 -3
  158. package/dist/streaming/hlsResume.js +35 -8
  159. package/dist/streaming/hlsResume.js.map +1 -1
  160. package/dist/streaming/hlsSegments.d.ts +41 -2
  161. package/dist/streaming/hlsSegments.js +131 -28
  162. package/dist/streaming/hlsSegments.js.map +1 -1
  163. package/dist/streaming/lifecycle.js +27 -13
  164. package/dist/streaming/lifecycle.js.map +1 -1
  165. package/dist/streaming/monitor.d.ts +1 -0
  166. package/dist/streaming/monitor.js +862 -474
  167. package/dist/streaming/monitor.js.map +1 -1
  168. package/dist/streaming/mp4Parser.d.ts +52 -6
  169. package/dist/streaming/mp4Parser.js +156 -30
  170. package/dist/streaming/mp4Parser.js.map +1 -1
  171. package/dist/streaming/mpegts.d.ts +2 -2
  172. package/dist/streaming/mpegts.js +156 -109
  173. package/dist/streaming/mpegts.js.map +1 -1
  174. package/dist/streaming/playlistBuilder.d.ts +38 -0
  175. package/dist/streaming/playlistBuilder.js +66 -0
  176. package/dist/streaming/playlistBuilder.js.map +1 -0
  177. package/dist/streaming/preroll.d.ts +126 -0
  178. package/dist/streaming/preroll.js +434 -0
  179. package/dist/streaming/preroll.js.map +1 -0
  180. package/dist/streaming/pretune.d.ts +8 -0
  181. package/dist/streaming/pretune.js +226 -0
  182. package/dist/streaming/pretune.js.map +1 -0
  183. package/dist/streaming/recovery.d.ts +0 -6
  184. package/dist/streaming/recovery.js +0 -8
  185. package/dist/streaming/recovery.js.map +1 -1
  186. package/dist/streaming/registry.d.ts +57 -9
  187. package/dist/streaming/registry.js +26 -7
  188. package/dist/streaming/registry.js.map +1 -1
  189. package/dist/streaming/setup.d.ts +8 -1
  190. package/dist/streaming/setup.js +71 -27
  191. package/dist/streaming/setup.js.map +1 -1
  192. package/dist/streaming/showInfo.d.ts +29 -4
  193. package/dist/streaming/showInfo.js +210 -38
  194. package/dist/streaming/showInfo.js.map +1 -1
  195. package/dist/streaming/statusEmitter.d.ts +20 -6
  196. package/dist/streaming/statusEmitter.js +31 -7
  197. package/dist/streaming/statusEmitter.js.map +1 -1
  198. package/dist/types/channels.d.ts +32 -0
  199. package/dist/types/config.d.ts +2 -2
  200. package/dist/types/index.d.ts +2 -2
  201. package/dist/types/index.js.map +1 -1
  202. package/dist/types/profiles.d.ts +13 -1
  203. package/dist/types/selection.d.ts +5 -1
  204. package/dist/types/shared.d.ts +1 -1
  205. package/dist/types/streaming.d.ts +7 -0
  206. package/dist/utils/chromeFetch.d.ts +20 -0
  207. package/dist/utils/chromeFetch.js +43 -0
  208. package/dist/utils/chromeFetch.js.map +1 -0
  209. package/dist/utils/debugFilter.d.ts +0 -5
  210. package/dist/utils/debugFilter.js +20 -11
  211. package/dist/utils/debugFilter.js.map +1 -1
  212. package/dist/utils/delay.d.ts +28 -0
  213. package/dist/utils/delay.js +35 -1
  214. package/dist/utils/delay.js.map +1 -1
  215. package/dist/utils/evaluate.js +6 -11
  216. package/dist/utils/evaluate.js.map +1 -1
  217. package/dist/utils/ffmpeg.d.ts +14 -12
  218. package/dist/utils/ffmpeg.js +114 -134
  219. package/dist/utils/ffmpeg.js.map +1 -1
  220. package/dist/utils/format.d.ts +6 -0
  221. package/dist/utils/format.js +8 -0
  222. package/dist/utils/format.js.map +1 -1
  223. package/dist/utils/index.d.ts +3 -0
  224. package/dist/utils/index.js +3 -0
  225. package/dist/utils/index.js.map +1 -1
  226. package/dist/utils/logEmitter.js +1 -1
  227. package/dist/utils/logEmitter.js.map +1 -1
  228. package/dist/utils/pid.d.ts +40 -0
  229. package/dist/utils/pid.js +83 -0
  230. package/dist/utils/pid.js.map +1 -0
  231. package/dist/utils/retry.d.ts +15 -9
  232. package/dist/utils/retry.js +7 -23
  233. package/dist/utils/retry.js.map +1 -1
  234. package/dist/utils/timing.d.ts +5 -0
  235. package/dist/utils/timing.js +13 -0
  236. package/dist/utils/timing.js.map +1 -0
  237. package/dist/utils/version.js +2 -2
  238. package/dist/utils/version.js.map +1 -1
  239. package/package.json +7 -7
@@ -2,13 +2,13 @@
2
2
  *
3
3
  * profiles.ts: Site profile resolution and validation for PrismCast.
4
4
  */
5
- import { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES, getDomainConfig } from "./sites.js";
5
+ import { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, PROVIDER_PROFILES, SITE_PROFILES, getBuiltinProfile, getDomainConfig, getRegisteredProviderModuleProfiles } from "./sites.js";
6
6
  import { getUserDomains, getUserProfiles, validateDomain, validateProfile } from "./userProfiles.js";
7
7
  import { CHANNELS } from "../channels/index.js";
8
8
  import { LOG } from "../utils/index.js";
9
9
  import { extractDomain } from "../utils/index.js";
10
10
  // Re-export site data so existing consumers can import from either module.
11
- export { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES, getDomainConfig };
11
+ export { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, PROVIDER_PROFILES, SITE_PROFILES, getBuiltinProfile, getDomainConfig };
12
12
  /* Profile resolution is the process of determining which behavior flags to use for a given stream. The resolution process handles inheritance, merging parent and
13
13
  * child profile properties, and falling back to defaults for unspecified flags.
14
14
  *
@@ -48,9 +48,9 @@ export function resolveProfile(profileName) {
48
48
  if (!profileName) {
49
49
  return { ...DEFAULT_SITE_PROFILE };
50
50
  }
51
- // Check built-in profiles first, then user-defined profiles. User profiles are stored separately and can only extend built-in profiles (not other user profiles),
52
- // so the resolution chain always terminates at a built-in profile.
53
- const profile = SITE_PROFILES[profileName] ?? getUserProfiles()[profileName];
51
+ // Check all profile sources: static built-in tables (general + provider) and registered provider module profiles via getBuiltinProfile(), then user-defined
52
+ // profiles. User profiles can only extend built-in profiles (not other user profiles), so the resolution chain always terminates at a built-in profile.
53
+ const profile = getBuiltinProfile(profileName) ?? getUserProfiles()[profileName];
54
54
  if (!profile) {
55
55
  return { ...DEFAULT_SITE_PROFILE };
56
56
  }
@@ -68,6 +68,25 @@ export function resolveProfile(profileName) {
68
68
  resolved = { ...resolved, ...profileFlags };
69
69
  return resolved;
70
70
  }
71
+ /**
72
+ * Merges domain-level properties from a DomainConfig into a resolved site profile. Domain-level properties represent site-specific behaviors or policies that
73
+ * apply to all channels on a domain regardless of which player profile they use. When a property is present in the domain config, it overrides the corresponding
74
+ * value in the profile.
75
+ * @param profile - The resolved site profile to merge into.
76
+ * @param config - The domain configuration to merge from, or undefined if no domain match was found.
77
+ * @returns A new profile with domain-level properties applied.
78
+ */
79
+ function mergeDomainProperties(profile, config) {
80
+ if (!config) {
81
+ return profile;
82
+ }
83
+ return {
84
+ ...profile,
85
+ ...(config.dismissSelector !== undefined ? { dismissSelector: config.dismissSelector } : {}),
86
+ ...(config.maxContinuousPlayback !== undefined ? { maxContinuousPlayback: config.maxContinuousPlayback } : {}),
87
+ ...(config.videoTimeout !== undefined ? { videoTimeout: config.videoTimeout } : {})
88
+ };
89
+ }
71
90
  /**
72
91
  * Resolves the site profile for a given URL by looking it up in DOMAIN_CONFIG via getDomainConfig(), which tries the full hostname first for subdomain-specific
73
92
  * overrides before falling back to the concise domain. Falls back to the default profile if no matching domain is found or the matching domain has no profile
@@ -85,13 +104,9 @@ export function getProfileForUrl(url) {
85
104
  // Resolve the profile from the domain configuration, falling back to the default profile for unrecognized domains or domains without a profile entry.
86
105
  const profile = config?.profile ? resolveProfile(config.profile) : { ...DEFAULT_SITE_PROFILE };
87
106
  const profileName = config?.profile ?? "default";
88
- // Merge domain-level properties that represent site policies rather than player behaviors. maxContinuousPlayback is a site-imposed session limit, not a player
89
- // characteristic, so it lives in DOMAIN_CONFIG rather than in site profiles. Note: getProfileForChannel() performs this same merge for the explicit-profile path
90
- // where this function is bypassed. If adding new domain-level policies here, update getProfileForChannel() as well.
91
- if (config?.maxContinuousPlayback !== undefined) {
92
- profile.maxContinuousPlayback = config.maxContinuousPlayback;
93
- }
94
- return { profile, profileName };
107
+ // Merge domain-level properties that live in DOMAIN_CONFIG rather than site profiles. These represent site-specific behaviors or policies that apply to all
108
+ // channels on a domain regardless of which profile they use.
109
+ return { profile: mergeDomainProperties(profile, config), profileName };
95
110
  }
96
111
  /**
97
112
  * Resolves the site profile for a channel. Channels can explicitly declare their profile by name, which takes precedence over URL-based detection. This is useful
@@ -141,21 +156,20 @@ export function getProfileForChannel(channel) {
141
156
  profileName = conciseConfig.profile;
142
157
  }
143
158
  }
144
- // Merge domain-level site policies that apply regardless of how the profile was resolved. These represent site-imposed constraints (like session duration limits)
145
- // rather than player behaviors, so they must always be applied based on the channel's URL even when the player profile is explicitly overridden. For the URL-based
146
- // path above, getProfileForUrl() already merges these — the re-application here is idempotent. For the explicit-profile path, this fills the gap.
159
+ // Merge domain-level properties that apply regardless of how the profile was resolved. These represent site-specific behaviors or policies that must always be
160
+ // applied based on the channel's URL even when the player profile is explicitly overridden. For the URL-based path above, getProfileForUrl() already merges
161
+ // these — the re-application here is idempotent. For the explicit-profile path, this fills the gap.
147
162
  if (channel.url) {
148
- const domainConfig = getDomainConfig(channel.url);
149
- if (domainConfig?.maxContinuousPlayback !== undefined) {
150
- profile = { ...profile, maxContinuousPlayback: domainConfig.maxContinuousPlayback };
151
- }
163
+ profile = mergeDomainProperties(profile, getDomainConfig(channel.url));
152
164
  }
153
- // Merge channel-specific properties into the profile. The channelSelector on the channel overrides any channelSelector from the profile. Channel-level scroll
154
- // overrides (scrollSelector, scrollTarget, scrollToBottom) are merged into the profile's channelSelection config, allowing individual channels to customize
155
- // scroll behavior without changing the shared profile definition.
165
+ // Merge channel-specific properties into the profile. Channel-level values override domain-level and profile-level values, allowing individual channels to
166
+ // customize behavior without changing the shared profile or domain config.
156
167
  if (channel.channelSelector) {
157
168
  profile = { ...profile, channelSelector: channel.channelSelector };
158
169
  }
170
+ if (channel.dismissSelector !== undefined) {
171
+ profile = { ...profile, dismissSelector: channel.dismissSelector };
172
+ }
159
173
  if ((channel.scrollSelector !== undefined) || (channel.scrollTarget !== undefined) || (channel.scrollToBottom !== undefined)) {
160
174
  profile = {
161
175
  ...profile,
@@ -195,9 +209,10 @@ export function getProfileForChannel(channel) {
195
209
  */
196
210
  export function validateProfiles() {
197
211
  const errors = [];
198
- // Check for circular inheritance and invalid extends references in profiles. We walk the extends chain for each profile, tracking visited profiles to detect
199
- // cycles.
200
- for (const profileName of Object.keys(SITE_PROFILES)) {
212
+ // Check for circular inheritance and invalid extends references across all profile sources. We walk the extends chain for each profile, tracking visited profiles
213
+ // to detect cycles. The allBuiltinProfiles map provides a unified view for validation without merging the tables permanently.
214
+ const allBuiltinProfiles = new Map([...Object.entries(SITE_PROFILES), ...Object.entries(PROVIDER_PROFILES), ...getRegisteredProviderModuleProfiles()]);
215
+ for (const profileName of allBuiltinProfiles.keys()) {
201
216
  const visited = new Set();
202
217
  let current = profileName;
203
218
  while (current) {
@@ -207,12 +222,10 @@ export function validateProfiles() {
207
222
  break;
208
223
  }
209
224
  visited.add(current);
210
- // TypeScript's Record type doesn't capture that the key may not exist at runtime.
211
- const profile = SITE_PROFILES[current];
225
+ const profile = allBuiltinProfiles.get(current);
212
226
  current = profile?.extends;
213
227
  // Check if the extends target exists. This catches typos and references to deleted profiles.
214
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
215
- if ((current !== undefined) && !SITE_PROFILES[current]) {
228
+ if ((current !== undefined) && !allBuiltinProfiles.has(current)) {
216
229
  errors.push(["Profile ", profileName, " extends non-existent profile: ", current].join(""));
217
230
  break;
218
231
  }
@@ -221,8 +234,7 @@ export function validateProfiles() {
221
234
  // Validate all domain-to-profile mappings reference existing profiles. This catches typos in DOMAIN_CONFIG profile entries.
222
235
  for (const [domain, config] of Object.entries(DOMAIN_CONFIG)) {
223
236
  if (config.profile) {
224
- const domainProfile = SITE_PROFILES[config.profile];
225
- if (!domainProfile) {
237
+ if (!getBuiltinProfile(config.profile)) {
226
238
  errors.push(["Domain ", domain, " references non-existent profile: ", config.profile].join(""));
227
239
  }
228
240
  }
@@ -231,8 +243,7 @@ export function validateProfiles() {
231
243
  const userProfiles = getUserProfiles();
232
244
  for (const [channelName, channel] of Object.entries(CHANNELS)) {
233
245
  const channelProfile = channel.profile;
234
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
235
- if ((channelProfile !== undefined) && (channelProfile !== "auto") && !SITE_PROFILES[channelProfile] && !(channelProfile in userProfiles)) {
246
+ if ((channelProfile !== undefined) && (channelProfile !== "auto") && !getBuiltinProfile(channelProfile) && !(channelProfile in userProfiles)) {
236
247
  errors.push(["Channel ", channelName, " references non-existent profile: ", channelProfile].join(""));
237
248
  }
238
249
  }
@@ -243,7 +254,7 @@ export function validateProfiles() {
243
254
  // Validate user-defined profiles and domain mappings. These are warnings, not fatal errors — broken user profiles should not prevent the server from starting.
244
255
  // The user can fix them via the web UI.
245
256
  const userWarnings = [];
246
- const allProfileNames = new Set([...Object.keys(SITE_PROFILES), ...Object.keys(userProfiles)]);
257
+ const allProfileNames = new Set([...allBuiltinProfiles.keys(), ...Object.keys(userProfiles)]);
247
258
  for (const [key, profile] of Object.entries(userProfiles)) {
248
259
  const profileErrors = validateProfile(key, profile);
249
260
  userWarnings.push(...profileErrors);
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAChH,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,2EAA2E;AAC3E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;AAErH;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,WAA+B;IAE5D,6CAA6C;IAC7C,IAAG,CAAC,WAAW,EAAE,CAAC;QAEhB,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACrC,CAAC;IAED,4JAA4J;IAC5J,wJAAwJ;IACxJ,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,IAAK,eAAe,EAAE,CAAC,WAAW,CAA6B,CAAC;IAE9G,IAAG,CAAC,OAAO,EAAE,CAAC;QAEZ,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACrC,CAAC;IAED,uGAAuG;IACvG,IAAI,QAAQ,GAAwB,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAEhE,wIAAwI;IACxI,IAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAEnB,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE/C,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IACxC,CAAC;IAED,0JAA0J;IAC1J,uGAAuG;IACvG,6DAA6D;IAC7D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IAE1H,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;IAE5C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,OAA4B,EAAE,MAAgC;IAE3F,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QAEL,GAAG,OAAO;QACV,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAuB;IAEtD,wCAAwC;IACxC,IAAG,CAAC,GAAG,EAAE,CAAC;QAER,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,oBAAoB,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IAC1E,CAAC;IAED,mJAAmJ;IACnJ,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEpC,sJAAsJ;IACtJ,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC/F,MAAM,WAAW,GAAG,MAAM,EAAE,OAAO,IAAI,SAAS,CAAC;IAEjD,4JAA4J;IAC5J,6DAA6D;IAC7D,OAAO,EAAE,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAExB;IAEX,4CAA4C;IAC5C,IAAG,CAAC,OAAO,EAAE,CAAC;QAEZ,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,oBAAoB,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI,OAA4B,CAAC;IACjC,IAAI,WAAmB,CAAC;IAExB,4JAA4J;IAC5J,gDAAgD;IAChD,IAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC;QAEnD,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;SAAM,IAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAEtB,4CAA4C;QAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7C,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACnC,CAAC;SAAM,CAAC;QAEN,OAAO,GAAG,EAAE,GAAG,oBAAoB,EAAE,CAAC;QACtC,WAAW,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,6JAA6J;IAC7J,+IAA+I;IAC/I,kGAAkG;IAClG,IAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAE7F,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAA6B,CAAC;QAE5F,IAAG,aAAa,EAAE,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,WAAW,CAAC,EAAE,CAAC;YAErE,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,CAAC;IACH,CAAC;IAED,+JAA+J;IAC/J,4JAA4J;IAC5J,oGAAoG;IACpG,IAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAEf,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,2JAA2J;IAC3J,2EAA2E;IAC3E,IAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAE3B,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;IACrE,CAAC;IAED,IAAG,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAEzC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;IACrE,CAAC;IAED,IAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,EAAE,CAAC;QAE5H,OAAO,GAAG;YAER,GAAG,OAAO;YACV,gBAAgB,EAAE;gBAEhB,GAAG,OAAO,CAAC,gBAAgB;gBAC3B,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5F;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB;IAE9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,kKAAkK;IAClK,8HAA8H;IAC9H,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,CAAE,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,GAAG,mCAAmC,EAAE,CAAE,CACrH,CAAC;IAEF,KAAI,MAAM,WAAW,IAAI,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,OAAO,GAAuB,WAAW,CAAC;QAE9C,OAAM,OAAO,EAAE,CAAC;YAEd,mEAAmE;YACnE,IAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAExB,MAAM,CAAC,IAAI,CAAC,CAAE,4CAA4C,EAAE,WAAW,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEpF,MAAM;YACR,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErB,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEhD,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;YAE3B,6FAA6F;YAC7F,IAAG,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAE/D,MAAM,CAAC,IAAI,CAAC,CAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE,OAAO,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE9F,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,4HAA4H;IAC5H,KAAI,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAE9D,IAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAElB,IAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAEtC,MAAM,CAAC,IAAI,CAAC,CAAE,SAAS,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;IACH,CAAC;IAED,oIAAoI;IACpI,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,KAAI,MAAM,CAAE,WAAW,EAAE,OAAO,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAE/D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;QAEvC,IAAG,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,IAAI,YAAY,CAAC,EAAE,CAAC;YAE5I,MAAM,CAAC,IAAI,CAAC,CAAE,UAAU,EAAE,WAAW,EAAE,oCAAoC,EAAE,cAAc,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAED,6GAA6G;IAC7G,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAErB,MAAM,IAAI,KAAK,CAAC,CAAE,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,+JAA+J;IAC/J,wCAAwC;IACxC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAE,CAAC,CAAC;IAEhG,KAAI,MAAM,CAAE,GAAG,EAAE,OAAO,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAE3D,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEpD,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,KAAI,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAE5D,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAErE,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,IAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAE3B,KAAI,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YAElC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AA0BD;;;;GAIG;AACH,MAAM,UAAU,WAAW;IAEzB,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,KAAI,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAEpD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC;YAEV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;YACvC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;IAED,iIAAiI;IACjI,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,KAAI,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAEnD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,CAAC,IAAI,CAAC;YAEV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,IAAI;YACJ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -188,7 +188,10 @@ export function exportProviderPack(profileKeys, options = {}) {
188
188
  const channels = {};
189
189
  for (const entry of listing) {
190
190
  if (entry.channel.profile && keySet.has(entry.channel.profile)) {
191
- channels[entry.key] = entry.channel;
191
+ // Strip hdhrEnabled from exported channels — it's a local deployment preference, not a provider configuration property.
192
+ const exportChannel = { ...entry.channel };
193
+ Reflect.deleteProperty(exportChannel, "hdhrEnabled");
194
+ channels[entry.key] = exportChannel;
192
195
  }
193
196
  }
194
197
  if (Object.keys(channels).length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"providerPacks.js","sourceRoot":"","sources":["../../src/config/providerPacks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AAEH,wCAAwC;AACxC,MAAM,eAAe,GAAG,CAAC,CAAC;AAoC1B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAE7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAExE,OAAO,EAAE,MAAM,EAAE,CAAC,yCAAyC,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,GAAG,GAAG,IAA+B,CAAC;IAE5C,yEAAyE;IACzE,IAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAE9D,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QAEN,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAG,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAEvE,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAG,GAAG,CAAC,OAAO,GAAG,eAAe,EAAE,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,qDAAqD,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC;IACpJ,CAAC;IAED,IAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAmC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAE7J,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACvF,CAAC;IAED,kDAAkD;IAClD,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAErB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,MAAM,gBAAgB,GAA6B,wBAAwB,CAAC;QAE1E,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC,CAAC;IAEH,IAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAE3B,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED,+FAA+F;IAC/F,MAAM,QAAQ,GAAe,EAAE,CAAC;IAEhC,IAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAG,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAErE,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YAEN,8FAA8F;YAC9F,KAAI,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAmC,CAAC,EAAE,CAAC;gBAEpF,IAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAE5E,MAAM,EAAE,GAAG,KAAgC,CAAC;oBAE5C,IAAG,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;wBAEjE,mFAAmF;wBACnF,EAAE,CAAC,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBAClC,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;wBAEhC,IAAG,OAAO,EAAE,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;4BAE1C,EAAE,CAAC,eAAe,GAAG,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;wBAC1D,CAAC;wBAED,IAAG,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;4BAEpC,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC9C,CAAC;wBAED,IAAG,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAElC,EAAE,CAAC,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;wBAC1C,CAAC;wBAED,QAAQ,CAAC,GAAG,CAAC,GAAG,KAA2B,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBAEN,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,sCAAsC,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAErB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,GAAiB;QAEzB,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;QACnC,OAAO,EAAE,GAAG,CAAC,OAAiB;KAC/B,CAAC;IAEF,IAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAEpD,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,IAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAEpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAkB,EAAE,UAAsC,EAAE;IAEnG,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,+DAA+D;IAC/D,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;IACzC,MAAM,cAAc,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjE,MAAM,aAAa,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IAEtE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAE5D,IAAI,CAAC;QAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtG,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACzF,CAAC;IAED,8JAA8J;IAC9J,8DAA8D;IAC9D,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,IAAG,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAErF,IAAI,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YAExC,IAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBAErB,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBAEN,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEhE,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACvC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IAED,OAAO;QAEL,aAAa;QACb,YAAY;QACZ,MAAM;QACN,aAAa;QACb,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAqB,EACrB,UAAkF,EAAE;IAGpF,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,eAAe,GAAgC,EAAE,CAAC;IAExD,KAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAE7B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAA4B,CAAC;QAE7D,IAAG,OAAO,EAAE,CAAC;YAEX,eAAe,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACjC,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAE7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAErD,MAAM,IAAI,GAAiB;QAEzB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,eAAe;KACzB,CAAC;IAEF,uEAAuE;IACvE,IAAG,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAEpC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,MAAM,eAAe,GAAiC,EAAE,CAAC;QAEzD,KAAI,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAE5D,IAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAEhD,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;YACnC,CAAC;QACH,CAAC;QAED,IAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAE3C,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;QACjC,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,IAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,KAAI,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAE3B,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAE9D,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACtC,CAAC;QACH,CAAC;QAED,IAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAEpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"providerPacks.js","sourceRoot":"","sources":["../../src/config/providerPacks.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,19 @@
1
1
  import type { Channel, ChannelMap, ChannelSortField, ProviderGroup, SortDirection } from "../types/index.js";
2
2
  /**
3
- * Gets the provider tag for a channel key. For variant keys (e.g., "espn-hulu"), extracts the suffix after the canonical prefix (e.g., "hulu"). For canonical keys,
4
- * looks up the URL domain via getDomainConfig() and reads the providerTag field, falling back to "direct" if not found.
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.
5
6
  * @param key - The channel key.
6
7
  * @returns The provider tag string.
7
8
  */
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;
9
17
  /**
10
18
  * Returns all provider tags for a channel (canonical tag + all variant suffix tags). Used to determine which providers offer this channel.
11
19
  * @param canonicalKey - The canonical channel key.
@@ -15,10 +23,12 @@ export declare function getChannelProviderTags(canonicalKey: string): string[];
15
23
  /**
16
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
17
25
  * have a providerTag.
18
- * @returns Array of { displayName, tag } objects sorted alphabetically by display name, with "direct" always first.
26
+ * @returns Array of { displayName, domain, iconUrl, tag } objects sorted alphabetically by display name, with "direct" always first.
19
27
  */
20
28
  export declare function getAllProviderTags(): {
21
29
  displayName: string;
30
+ domain?: string;
31
+ iconUrl?: string;
22
32
  tag: string;
23
33
  }[];
24
34
  /**
@@ -44,8 +54,12 @@ export declare function isProviderTagEnabled(tag: string): boolean;
44
54
  */
45
55
  export declare function isChannelAvailableByProvider(canonicalKey: string): boolean;
46
56
  /**
47
- * Builds provider groups by scanning all channels and grouping them by key patterns. A key like "espn-disneyplus" is a variant of "espn" because it starts with
48
- * "espn-". Should be called at startup after channels are loaded.
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.
49
63
  * @param channels - The merged channel map (predefined + user channels).
50
64
  */
51
65
  export declare function buildProviderGroups(channels: ChannelMap): void;