prismcast 1.4.1 → 1.4.2

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.
@@ -14,8 +14,8 @@ const huluEabCache = new Map();
14
14
  // Tracks pages with details API response listeners to avoid duplicate registration. Mirrors the pagesWithListeners pattern in sling.ts.
15
15
  const huluPagesWithListeners = new WeakSet();
16
16
  // The Hulu live page URL. The evaluateOnNewDocument fetch interceptor swaps channel_id and content_eab_id in the playlist API request, making the app play the
17
- // target channel through its own pipeline without guide grid interaction. On warm cache, UUID and EAB are injected at install time. On cold cache (non-affiliate),
18
- // the interceptor captures them from listing and details API responses during page load, holding the playlist request until both are resolved.
17
+ // target channel through its own pipeline without guide grid interaction. On warm cache, UUID and EAB are injected at install time. On cold cache, the guide
18
+ // grid's Channels tab click triggers full API expansion, and the interceptor captures UUID+EAB from those expanded responses.
19
19
  const HULU_LIVE_URL = "https://www.hulu.com/live";
20
20
  /**
21
21
  * Clears all Hulu caches: guide row cache, channel UUID cache, and EAB program cache. Called by clearChannelSelectionCaches() in the coordinator when the
@@ -315,26 +315,60 @@ async function clickOnNowCellAndPlay(page, clickTarget, playSelector, channelNam
315
315
  return { reason: "Play button did not appear after " + String(MAX_CLICK_ATTEMPTS) + " on-now cell click attempts for " + channelName + ".", success: false };
316
316
  }
317
317
  /**
318
- * Attempts to tune to a channel via the fast path: injects UUID and EAB into the in-page fetch interceptor, which swaps the held playlist request to the target
319
- * channel. Called after binary search identifies a local affiliate whose UUID and EAB are available in the server-side caches. On success, dismisses the guide
320
- * overlay so the video player is visible for capture, then returns true. On failure (interceptor's directTunePromise already resolved due to timeout), returns
321
- * false so the caller can fall through to the click-based path.
318
+ * Attempts a fast-path tune by either injecting UUID+EAB from server-side caches into the in-page interceptor, or detecting that the interceptor has already
319
+ * self-resolved from in-page API data. Two resolution mechanisms handle different channel types:
320
+ *
321
+ * 1. Server-side injection: looks up the currently-airing EAB for the given channel UUID and calls __prismcastResolveDirectTune to inject both values into the
322
+ * held playlist request. Primary mechanism for local affiliates whose call signs don't match the channelSelector network name — the interceptor can't
323
+ * self-resolve by name for these, so external injection is the only path.
324
+ * 2. Self-resolution detection: queries __prismcastIsDirectTuneResolved to check if the interceptor already captured UUID+EAB from the expanded
325
+ * Details+Listing API responses and resolved the playlist autonomously. Primary mechanism for non-affiliate channels on cold cache, where the interceptor's
326
+ * in-page name matching succeeds before the guide grid completes binary search.
327
+ *
328
+ * On success, dismisses the guide overlay so the video player is visible for capture.
322
329
  * @param page - The Puppeteer page object.
323
- * @param channelUuid - The channel UUID to inject into the interceptor.
324
- * @param currentEab - The currently-airing EAB to inject into the interceptor.
330
+ * @param channelUuid - The channel UUID from server-side cache, or null if not yet available.
325
331
  * @param channelName - The original channel name for logging.
326
- * @returns True if the injection succeeded, false if the interceptor's Promise had already resolved.
332
+ * @returns True if the tune was resolved (via injection or self-resolution), false otherwise.
327
333
  */
328
- async function tryFastPathTune(page, channelUuid, currentEab, channelName) {
329
- const injected = await page.evaluate((u, e) => {
330
- const resolver = window.__prismcastResolveDirectTune;
331
- if (typeof resolver === "function") {
332
- return resolver(u, e);
334
+ async function tryFastPathTune(page, channelUuid, channelName) {
335
+ let resolved = false;
336
+ let resolveDetail = "";
337
+ // Phase 1: If UUID is available from the server-side cache, attempt to inject it along with the current EAB into the in-page interceptor. This is the primary
338
+ // mechanism for local affiliates (where the interceptor can't self-resolve by name) and a secondary mechanism for exact-match channels.
339
+ if (channelUuid) {
340
+ const currentEab = findCurrentEab(channelUuid);
341
+ if (currentEab) {
342
+ const injected = await page.evaluate((u, e) => {
343
+ const resolver = window.__prismcastResolveDirectTune;
344
+ if (typeof resolver === "function") {
345
+ return resolver(u, e);
346
+ }
347
+ return false;
348
+ }, channelUuid, currentEab);
349
+ if (injected) {
350
+ resolved = true;
351
+ resolveDetail = "uuid=" + channelUuid;
352
+ }
333
353
  }
334
- return false;
335
- }, channelUuid, currentEab);
336
- if (!injected) {
337
- LOG.debug("tuning:hulu", "Fast-path injection failed for %s (interceptor Promise already resolved).", channelName);
354
+ }
355
+ // Phase 2: If injection didn't succeed, check if the interceptor self-resolved from in-page API data. This happens on cold cache for non-affiliate channels
356
+ // whose names match the Details API response (e.g., "CNN International", "ESPN"). The interceptor captures UUID+EAB from the expanded Details+Listing
357
+ // responses triggered by the Channels tab click and resolves the held playlist autonomously, making the guide grid click redundant.
358
+ if (!resolved) {
359
+ const selfResolved = await page.evaluate(() => {
360
+ const checker = window.__prismcastIsDirectTuneResolved;
361
+ if (typeof checker === "function") {
362
+ return checker();
363
+ }
364
+ return false;
365
+ });
366
+ if (selfResolved) {
367
+ resolved = true;
368
+ resolveDetail = "interceptor self-resolved from API data";
369
+ }
370
+ }
371
+ if (!resolved) {
338
372
  return false;
339
373
  }
340
374
  // Dismiss the guide overlay so the video player is visible for capture. The guide was opened for binary search and is still covering the player.
@@ -345,13 +379,13 @@ async function tryFastPathTune(page, channelUuid, currentEab, channelName) {
345
379
  catch (error) {
346
380
  LOG.debug("tuning:hulu", "Could not dismiss guide after fast-path tune: %s.", formatError(error));
347
381
  }
348
- LOG.debug("tuning:hulu", "Direct tune via fetch interception for inferred affiliate %s (uuid=%s).", channelName, channelUuid);
382
+ LOG.debug("tuning:hulu", "Direct tune via fetch interception for %s (%s).", channelName, resolveDetail);
349
383
  return true;
350
384
  }
351
385
  /**
352
- * Releases the held playlist request in the in-page fetch interceptor, reverting to the click-based flow. Called when the fast-path injection can't proceed
353
- * (UUID or EAB not in server-side caches) or wasn't attempted. Sets holdActive to false in the interceptor so subsequent playlist requests from the play button
354
- * click follow the affiliate capture path ([HULU-CACHE]).
386
+ * Releases the held playlist request in the in-page fetch interceptor, reverting to the click-based flow. Called when tryFastPathTune returns false (neither
387
+ * server-side injection nor interceptor self-resolution succeeded). Sets holdActive to false in the interceptor so subsequent playlist requests from the play
388
+ * button click follow the affiliate capture path ([HULU-CACHE]).
355
389
  * @param page - The Puppeteer page object.
356
390
  */
357
391
  async function releaseHeldPlaylist(page) {
@@ -558,16 +592,10 @@ async function guideGridStrategy(page, profile) {
558
592
  if (inferredUuid) {
559
593
  huluUuidCache.set(normalizedName, inferredUuid);
560
594
  LOG.debug("tuning:hulu", "Cross-referenced UUID cache: %s -> %s (from inferred affiliate %s).", channelName, inferredUuid, inferred);
561
- // Fast path: inject UUID+EAB into the in-page interceptor to tune via fetch interception instead of clicking. The server-side caches are populated
562
- // from details and listing API responses during page load, which typically complete before binary search finishes (~600ms). If both UUID and EAB are
563
- // available, the interceptor swaps the held playlist request to the target channel — no on-now cell click or play button interaction needed.
564
- const currentEab = findCurrentEab(inferredUuid);
565
- if (currentEab) {
566
- // eslint-disable-next-line no-await-in-loop
567
- const fastPathSuccess = await tryFastPathTune(page, inferredUuid, currentEab, channelName);
568
- if (fastPathSuccess) {
569
- return { success: true };
570
- }
595
+ // eslint-disable-next-line no-await-in-loop
596
+ const fastPathSuccess = await tryFastPathTune(page, inferredUuid, channelName);
597
+ if (fastPathSuccess) {
598
+ return { success: true };
571
599
  }
572
600
  }
573
601
  }
@@ -608,8 +636,17 @@ async function guideGridStrategy(page, profile) {
608
636
  }
609
637
  return { reason: "Could not find channel " + channelName + " in guide grid.", success: false };
610
638
  }
611
- // Release the held playlist before falling through to the click path. This is a safety net the inference block releases the hold in all its sub-paths, but
612
- // exact-match and linear-scan paths may reach here without having released. The release is a no-op if the hold was already released or was never active.
639
+ // Fast path: attempt direct tune via server-side cache injection or interceptor self-resolution detection. The Channels tab click (before binary search)
640
+ // triggers full Details+Listing API responses. For non-affiliates, the in-page interceptor may have already self-resolved from those responses (capturing
641
+ // UUID+EAB and swapping the playlist autonomously). For channels where the interceptor hasn't self-resolved, server-side caches provide UUID+EAB for
642
+ // injection. Either path avoids the redundant on-now cell click. Note: for affiliates, the inference block above may have already called tryFastPathTune with
643
+ // the same UUID — that call is redundant here but harmless (~10ms), and avoiding it with a flag would create a fragile coupling to the inference block.
644
+ const fastPathSuccess = await tryFastPathTune(page, huluUuidCache.get(normalizedName) ?? null, channelName);
645
+ if (fastPathSuccess) {
646
+ return { success: true };
647
+ }
648
+ // Release the held playlist before falling through to the click path. Neither tryFastPathTune nor the inference block calls releaseHeldPlaylist — they either
649
+ // inject successfully (resolving the held playlist directly) or return false without side effects. The release is a no-op if the hold was already resolved.
613
650
  await releaseHeldPlaylist(page);
614
651
  // Click the on-now program cell and wait for the play button, with click retries to handle React hydration timing.
615
652
  return await clickOnNowCellAndPlay(page, clickTarget, playSelector, channelName);
@@ -642,7 +679,7 @@ async function guideGridWithRetry(page, profile) {
642
679
  * As the live page loads, Hulu fetches program details from guide.hulu.com/guide/details in batches. Each response item includes channel_info with the
643
680
  * channel's UUID and display name. We intercept these responses to populate the huluUuidCache, enabling instant UUID resolution on subsequent tunes. The
644
681
  * in-page interceptor in resolveHuluDirectUrl() expands details request bodies with additional EABs so these responses cover all ~123 channels. Also bridges
645
- * in-page console signals (HULU-DIAG and HULU-CACHE) to the Node.js LOG. Uses a WeakSet to prevent duplicate listener registration.
682
+ * in-page console signals (HULU-DIAG, HULU-CACHE, and HULU-FAIL) to the Node.js LOG. Uses a WeakSet to prevent duplicate listener registration.
646
683
  * @param page - The Puppeteer page object.
647
684
  */
648
685
  function setupDetailsResponseInterception(page) {
@@ -669,6 +706,12 @@ function setupDetailsResponseInterception(page) {
669
706
  LOG.debug("tuning:hulu", "Cached affiliate UUID from playlist: %s -> %s. UUID cache size: %s.", name, channelUuid, huluUuidCache.size);
670
707
  }
671
708
  }
709
+ // Direct tune failure: the interceptor's hold period expired without resolving UUID+EAB for the target channel. The 503 response prevents Hulu from playing
710
+ // the wrong channel. The guide grid binary search runs as the fallback. Since all cold tunes go through the guide grid (triggering full API expansion), this
711
+ // path should rarely be reached — it provides defense-in-depth against silent false positives.
712
+ if (text.startsWith("[HULU-FAIL]")) {
713
+ LOG.warn(text);
714
+ }
672
715
  });
673
716
  page.on("response", (response) => {
674
717
  const url = response.url();
@@ -738,14 +781,13 @@ function findCurrentEab(channelUuid) {
738
781
  }
739
782
  /**
740
783
  * Resolves a direct URL for Hulu channel tuning and installs a fetch interceptor that handles both warm and cold tunes. On warm cache (UUID and EAB known from
741
- * previous API responses), the interceptor has both values at install time and swaps the first playlist request immediately. On cold cache, the interceptor
742
- * captures the target channel's UUID from the details API response and EAB from the listing API response, holding the playlist request until both are resolved
743
- * (with an 8-second timeout). On all tunes, the interceptor also expands listing and details API requests to populate the full UUID cache (~123 channels) for
744
- * future warm tunes. Returns null only for known local affiliate network names on cold cache (ABC, CBS, NBC, Fox, PBS, CW) — their channel_info.name in the
745
- * details API uses call signs that don't match the channelSelector, so the guide grid handles them via position-based inference.
784
+ * previous API responses), the interceptor has both values at install time and swaps the first playlist request immediately. On cold cache (no UUID), returns
785
+ * null so the guide grid runs the Channels tab click triggers full Details+Listing API expansion for all ~123 channels, and the interceptor captures UUID+EAB
786
+ * from those expanded responses to resolve the held playlist. Without the Channels tab click, the initial page load only provides data for ~10 visible channels.
787
+ * On all tunes, the interceptor also expands listing and details API requests to populate the full UUID cache for future warm tunes.
746
788
  * @param channelSelector - The channel selector string (e.g., "Fox", "CNN", "ESPN").
747
789
  * @param page - The Puppeteer page for evaluateOnNewDocument installation and response interception setup.
748
- * @returns The Hulu live URL for direct tuning, or null for local affiliate networks on cold cache or interceptor installation failure.
790
+ * @returns The Hulu live URL for direct tuning, or null on cold cache (no UUID) or interceptor installation failure.
749
791
  */
750
792
  async function resolveHuluDirectUrl(channelSelector, page) {
751
793
  const normalizedName = normalizeChannelName(channelSelector);
@@ -754,21 +796,20 @@ async function resolveHuluDirectUrl(channelSelector, page) {
754
796
  // during both the guide grid flow (cold cache) and the intercepted page load (warm cache).
755
797
  setupDetailsResponseInterception(page);
756
798
  // Look up the currently-airing EAB for the target channel (if UUID is known). On warm cache (both UUID and EAB available), the interceptor has both at install
757
- // time and swaps immediately. On cold cache or stale EAB, the interceptor captures the values from API responses during page load, holding the playlist until
758
- // both are resolved. The guide grid only runs for local affiliate network names (NETWORK_NAMES_WITH_AFFILIATES) whose names don't match the details API.
799
+ // time and swaps immediately. On cold cache (no UUID), we return null below so the guide grid runs the Channels tab click triggers full API expansion.
759
800
  const cachedEab = cachedUuid ? findCurrentEab(cachedUuid) : null;
760
801
  const isWarmCache = Boolean(cachedUuid && cachedEab);
761
802
  if (isWarmCache) {
762
803
  LOG.debug("tuning:hulu", "resolveHuluDirectUrl: warm cache for %s (uuid=%s, eab=%s).", channelSelector, cachedUuid, cachedEab);
763
804
  }
764
805
  else if (!cachedUuid) {
765
- // On cold cache, local affiliate network names fall through to the guide grid because their channel_info.name uses call signs that the interceptor
766
- // can't match. All other channels attempt cold direct tuning the interceptor captures UUID+EAB from API responses during page load.
806
+ // On cold cache, all channels fall through to the guide grid the Channels tab click triggers full Details+Listing API expansion for all ~123 channels.
807
+ // The affiliate/non-affiliate distinction is diagnostic only (both return null). Affiliates use position-based inference; non-affiliates use exact match.
767
808
  if (NETWORK_NAMES_WITH_AFFILIATES.has(normalizedName)) {
768
809
  LOG.debug("tuning:hulu", "resolveHuluDirectUrl: cold cache for %s (local affiliate). Falling through to guide grid.", channelSelector);
769
810
  }
770
811
  else {
771
- LOG.debug("tuning:hulu", "resolveHuluDirectUrl: cold cache for %s. Attempting cold direct tune via API interception.", channelSelector);
812
+ LOG.debug("tuning:hulu", "resolveHuluDirectUrl: cold cache for %s. Falling through to guide grid for full API expansion.", channelSelector);
772
813
  }
773
814
  }
774
815
  else {
@@ -788,10 +829,11 @@ async function resolveHuluDirectUrl(channelSelector, page) {
788
829
  }
789
830
  }
790
831
  /* Install the fetch interceptor before navigation on both warm and cold tunes. On warm tunes, it swaps channel_id and content_eab_id in playlist requests
791
- * immediately. On cold non-affiliate tunes, it holds the playlist request and swaps after capturing both values from listing and details API responses. On all
792
- * tunes, it captures listing API responses to build an in-page EAB map and expands subsequent details API requests, populating the UUID cache to ~123 channels
793
- * on a single page load. The script runs via evaluateOnNewDocument — it executes before any page JavaScript, patching window.fetch so Hulu's module-scoped
794
- * fetch reference captures the interceptor. Each stream gets its own page via createPageWithCapture(), so there's no persistence concern.
832
+ * immediately. On cold tunes, the guide grid's Channels tab click triggers full API expansion, and the interceptor holds the playlist request until both
833
+ * UUID and EAB are captured from those responses. On all tunes, it captures listing API responses to build an in-page EAB map and expands subsequent
834
+ * details API requests, populating the UUID cache to ~123 channels on a single page load. The script runs via evaluateOnNewDocument — it executes before
835
+ * any page JavaScript, patching window.fetch so Hulu's module-scoped fetch reference captures the interceptor. Each stream gets its own page via
836
+ * createPageWithCapture(), so there's no persistence concern.
795
837
  */
796
838
  try {
797
839
  // Always hold the playlist request. On warm cache, the interceptor swaps immediately. On cold cache (including affiliates), the guide grid strategy will either
@@ -832,18 +874,23 @@ async function resolveHuluDirectUrl(channelSelector, page) {
832
874
  const directTunePromise = (uuid && eab) ?
833
875
  Promise.resolve() :
834
876
  new Promise((resolve) => { directTuneResolve = resolve; });
877
+ // Tracks whether the direct tune has been successfully resolved (UUID+EAB available and playlist swap in progress). Set by tryResolveDirectTune when both
878
+ // values are captured from API responses or injected externally. Warm cache starts resolved. Used by __prismcastIsDirectTuneResolved to let the guide grid
879
+ // strategy detect that the interceptor already handled the tune autonomously, avoiding a redundant on-now cell click.
880
+ let directTuneResolved = Boolean(uuid && eab);
835
881
  // Checks whether both UUID and EAB are now known and resolves directTunePromise if so. Called after each successful capture from listing or details API
836
882
  // responses. Order-independent — handles both "listing first, details second" and "details first, listing second" sequences.
837
883
  function tryResolveDirectTune() {
838
884
  if (uuid && eab && directTuneResolve) {
885
+ directTuneResolved = true;
839
886
  directTuneResolve();
840
887
  directTuneResolve = null;
841
888
  }
842
889
  }
843
- // Injection endpoint for the guide grid strategy's fast-path affiliate tune. After binary search identifies the local affiliate and the server-side caches
844
- // provide the UUID and EAB, the strategy calls this function via page.evaluate to feed both values into the interceptor. The held playlist request then
845
- // resumes with the swapped channel_id and content_eab_id. Returns true if the injection was accepted (directTunePromise not yet resolved), false if the
846
- // Promise already resolved (8s timeout expired or a previous injection).
890
+ // Injection endpoint for the guide grid strategy's fast-path tune. After binary search identifies the target channel and the server-side caches provide the
891
+ // UUID and EAB, the strategy calls this function via page.evaluate to feed both values into the interceptor. The held playlist request then resumes with the
892
+ // swapped channel_id and content_eab_id. Returns true if the injection was accepted (directTunePromise not yet resolved), false if the Promise already
893
+ // resolved (self-resolution from API data, 8s timeout, or a previous injection).
847
894
  window.__prismcastResolveDirectTune = (u, e) => {
848
895
  if (!directTuneResolve) {
849
896
  return false;
@@ -863,6 +910,10 @@ async function resolveHuluDirectUrl(channelSelector, page) {
863
910
  directTuneResolve = null;
864
911
  }
865
912
  };
913
+ // Query endpoint for the guide grid strategy to check if the interceptor has already resolved the direct tune. Returns true if the playlist was swapped
914
+ // (self-resolution from API data, external injection, or warm cache). The guide grid checks this after finding the target channel — if the interceptor
915
+ // already handled the tune, the on-now cell click is redundant and can be skipped.
916
+ window.__prismcastIsDirectTuneResolved = () => directTuneResolved;
866
917
  // In-page EAB map built dynamically from listing API responses. On the first cold tune, cachedEabs is empty (no pre-computed data from Node.js), so this
867
918
  // map is the sole source of expansion data for details API requests. Populated asynchronously when the first listing response arrives.
868
919
  const capturedCurrentEabs = new Map();
@@ -1062,8 +1113,9 @@ async function resolveHuluDirectUrl(channelSelector, page) {
1062
1113
  if (url.includes("play.hulu.com") && url.includes("playlist")) {
1063
1114
  // Wait for UUID and EAB to be available. On warm cache, directTunePromise resolved immediately at creation time. On cold cache with holdActive
1064
1115
  // enabled, this holds the playlist request until either: (1) the guide grid strategy injects UUID+EAB via __prismcastResolveDirectTune (fast path), or
1065
- // (2) the in-page listing/details parsers capture both values (cold non-affiliate), or (3) the 8-second timeout expires (safety net). When holdActive
1066
- // is false (set by __prismcastReleasePlaylist after fast-path failure), the playlist passes through with affiliate UUID capture for the click fallback.
1116
+ // (2) the in-page listing/details parsers capture both values from the guide grid's Channels tab expansion, or (3) the 8-second timeout expires and the
1117
+ // interceptor returns a 503 (safety net). When holdActive is false (set by __prismcastReleasePlaylist after fast-path failure), the playlist passes
1118
+ // through with affiliate UUID capture for the click fallback.
1067
1119
  if (holdActive) {
1068
1120
  await Promise.race([directTunePromise, new Promise((resolve) => { setTimeout(resolve, 8000); })]);
1069
1121
  }
@@ -1093,8 +1145,8 @@ async function resolveHuluDirectUrl(channelSelector, page) {
1093
1145
  return originalFetch(input, init);
1094
1146
  }
1095
1147
  // eslint-disable-next-line no-console
1096
- console.log("[HULU-DIAG] Playlist passthrough: no uuid/eab resolved for " + targetName + " (uuid=" + uuid + ", eab=" + (eab ? "yes" : "no") + ").");
1097
- return originalFetch(input, init);
1148
+ console.log("[HULU-FAIL] Direct tune failed for " + targetName + ": uuid/eab not resolved within hold period.");
1149
+ return new Response("", { status: 503 });
1098
1150
  }
1099
1151
  const bodyText = await getBodyText(input, init);
1100
1152
  if (bodyText) {
@@ -1124,10 +1176,10 @@ async function resolveHuluDirectUrl(channelSelector, page) {
1124
1176
  LOG.debug("tuning:hulu", "Failed to install Hulu fetch interceptor: %s.", formatError(error));
1125
1177
  return null;
1126
1178
  }
1127
- // For known local affiliate network names on cold cache, skip cold direct tuning the channel_info.name in the details API uses the local call sign
1128
- // rather than the network name, so the in-page interceptor can't match by name. The guide grid handles these via position-based inference and
1129
- // cross-references the UUID for warm tunes on subsequent requests.
1130
- if (!cachedUuid && NETWORK_NAMES_WITH_AFFILIATES.has(normalizedName)) {
1179
+ // On cold cache (no UUID), fall through to the guide grid. The initial page load only provides Details API data for ~10 visible channels — the guide grid's
1180
+ // Channels tab click triggers full expansion for all ~123 channels, and the interceptor captures UUID+EAB from those expanded responses to resolve the held
1181
+ // playlist. Affiliates additionally need position-based inference because their channel_info.name uses call signs rather than network names.
1182
+ if (!cachedUuid) {
1131
1183
  return null;
1132
1184
  }
1133
1185
  LOG.debug("tuning:hulu", "Fetch interceptor installed. Returning URL: %s.", HULU_LIVE_URL);
@@ -1 +1 @@
1
- {"version":3,"file":"hulu.js","sourceRoot":"","sources":["../../../src/browser/tuning/hulu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hulu.js","sourceRoot":"","sources":["../../../src/browser/tuning/hulu.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare function getProviderTagForChannel(key: string): string;
14
14
  export declare function getChannelProviderTags(canonicalKey: string): string[];
15
15
  /**
16
16
  * 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
- * have a providerTag, with any trailing parenthetical stripped (e.g., "Hulu (Live Guide)" becomes "Hulu").
17
+ * have a providerTag.
18
18
  * @returns Array of { displayName, tag } objects sorted alphabetically by display name, with "direct" always first.
19
19
  */
20
20
  export declare function getAllProviderTags(): {
@@ -112,9 +112,17 @@ export declare function setProviderSelection(canonicalKey: string, providerKey:
112
112
  */
113
113
  export declare function resolveProviderKey(canonicalKey: string): string;
114
114
  /**
115
- * Gets a channel with inheritance applied. For provider variants, this merges the variant's properties with inherited properties from the canonical entry.
116
- * Inherited properties: `name`, `stationId` (variant takes precedence). `channelSelector` is not inherited it is provider-specific.
115
+ * Gets a channel with inheritance applied. For provider variants, this merges the variant's properties with inherited properties from the canonical entry
116
+ * using the live channel data (which includes user overrides). Use `resolvePredefinedVariant()` when you need resolution against pure predefined data.
117
117
  * @param key - The channel key (canonical or variant).
118
118
  * @returns The complete channel with inheritance applied, or undefined if the channel doesn't exist.
119
119
  */
120
120
  export declare function getResolvedChannel(key: string): Channel | undefined;
121
+ /**
122
+ * 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
123
+ * variant's predefined definition, the custom override can be removed and the provider selection switched to that variant. For canonical keys, returns the raw
124
+ * predefined channel. For variant keys, applies the same inheritance rules as `getResolvedChannel()` but against `PREDEFINED_CHANNELS` instead of `channelsRef`.
125
+ * @param key - The channel key (canonical or variant).
126
+ * @returns The channel with inheritance applied against predefined data, or undefined if the key has no predefined definition.
127
+ */
128
+ export declare function resolvePredefinedVariant(key: string): Channel | undefined;