prismcast 1.2.0 → 1.3.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 (129) hide show
  1. package/README.md +26 -1
  2. package/dist/app.js +29 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/browser/cdp.js +1 -1
  5. package/dist/browser/cdp.js.map +1 -1
  6. package/dist/browser/channelSelection.d.ts +14 -4
  7. package/dist/browser/channelSelection.js +48 -704
  8. package/dist/browser/channelSelection.js.map +1 -1
  9. package/dist/browser/index.d.ts +18 -4
  10. package/dist/browser/index.js +205 -39
  11. package/dist/browser/index.js.map +1 -1
  12. package/dist/browser/tuning/fox.d.ts +19 -0
  13. package/dist/browser/tuning/fox.js +61 -0
  14. package/dist/browser/tuning/fox.js.map +1 -0
  15. package/dist/browser/tuning/hbo.d.ts +22 -0
  16. package/dist/browser/tuning/hbo.js +182 -0
  17. package/dist/browser/tuning/hbo.js.map +1 -0
  18. package/dist/browser/tuning/hulu.d.ts +30 -0
  19. package/dist/browser/tuning/hulu.js +514 -0
  20. package/dist/browser/tuning/hulu.js.map +1 -0
  21. package/dist/browser/tuning/sling.d.ts +22 -0
  22. package/dist/browser/tuning/sling.js +287 -0
  23. package/dist/browser/tuning/sling.js.map +1 -0
  24. package/dist/browser/tuning/thumbnailRow.d.ts +18 -0
  25. package/dist/browser/tuning/thumbnailRow.js +107 -0
  26. package/dist/browser/tuning/thumbnailRow.js.map +1 -0
  27. package/dist/browser/tuning/tileClick.d.ts +18 -0
  28. package/dist/browser/tuning/tileClick.js +102 -0
  29. package/dist/browser/tuning/tileClick.js.map +1 -0
  30. package/dist/browser/tuning/youtubeTv.d.ts +17 -0
  31. package/dist/browser/tuning/youtubeTv.js +99 -0
  32. package/dist/browser/tuning/youtubeTv.js.map +1 -0
  33. package/dist/browser/video.d.ts +2 -2
  34. package/dist/browser/video.js +18 -8
  35. package/dist/browser/video.js.map +1 -1
  36. package/dist/channels/index.js +131 -12
  37. package/dist/channels/index.js.map +1 -1
  38. package/dist/config/profiles.d.ts +5 -5
  39. package/dist/config/profiles.js +35 -11
  40. package/dist/config/profiles.js.map +1 -1
  41. package/dist/config/providers.d.ts +48 -4
  42. package/dist/config/providers.js +182 -22
  43. package/dist/config/providers.js.map +1 -1
  44. package/dist/config/sites.d.ts +10 -0
  45. package/dist/config/sites.js +96 -17
  46. package/dist/config/sites.js.map +1 -1
  47. package/dist/config/userChannels.js +21 -3
  48. package/dist/config/userChannels.js.map +1 -1
  49. package/dist/config/userConfig.d.ts +2 -1
  50. package/dist/config/userConfig.js +12 -4
  51. package/dist/config/userConfig.js.map +1 -1
  52. package/dist/index.js +10 -4
  53. package/dist/index.js.map +1 -1
  54. package/dist/routes/auth.js +6 -0
  55. package/dist/routes/auth.js.map +1 -1
  56. package/dist/routes/config.d.ts +5 -0
  57. package/dist/routes/config.js +273 -35
  58. package/dist/routes/config.js.map +1 -1
  59. package/dist/routes/debug.d.ts +6 -0
  60. package/dist/routes/debug.js +274 -0
  61. package/dist/routes/debug.js.map +1 -0
  62. package/dist/routes/index.d.ts +1 -0
  63. package/dist/routes/index.js +3 -0
  64. package/dist/routes/index.js.map +1 -1
  65. package/dist/routes/logs.js +17 -5
  66. package/dist/routes/logs.js.map +1 -1
  67. package/dist/routes/root.js +507 -128
  68. package/dist/routes/root.js.map +1 -1
  69. package/dist/routes/theme.js +7 -0
  70. package/dist/routes/theme.js.map +1 -1
  71. package/dist/service/commands.js +8 -8
  72. package/dist/service/commands.js.map +1 -1
  73. package/dist/service/generators.js +22 -16
  74. package/dist/service/generators.js.map +1 -1
  75. package/dist/streaming/fmp4Segmenter.d.ts +7 -0
  76. package/dist/streaming/fmp4Segmenter.js +124 -15
  77. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  78. package/dist/streaming/hls.d.ts +74 -6
  79. package/dist/streaming/hls.js +212 -130
  80. package/dist/streaming/hls.js.map +1 -1
  81. package/dist/streaming/hlsSegments.js +11 -4
  82. package/dist/streaming/hlsSegments.js.map +1 -1
  83. package/dist/streaming/lifecycle.js +1 -1
  84. package/dist/streaming/lifecycle.js.map +1 -1
  85. package/dist/streaming/monitor.d.ts +1 -1
  86. package/dist/streaming/monitor.js +202 -53
  87. package/dist/streaming/monitor.js.map +1 -1
  88. package/dist/streaming/mp4Parser.d.ts +29 -1
  89. package/dist/streaming/mp4Parser.js +243 -18
  90. package/dist/streaming/mp4Parser.js.map +1 -1
  91. package/dist/streaming/mpegts.d.ts +5 -2
  92. package/dist/streaming/mpegts.js +122 -29
  93. package/dist/streaming/mpegts.js.map +1 -1
  94. package/dist/streaming/registry.d.ts +1 -1
  95. package/dist/streaming/registry.js.map +1 -1
  96. package/dist/streaming/setup.d.ts +13 -1
  97. package/dist/streaming/setup.js +136 -36
  98. package/dist/streaming/setup.js.map +1 -1
  99. package/dist/streaming/showInfo.js +9 -9
  100. package/dist/streaming/showInfo.js.map +1 -1
  101. package/dist/streaming/statusEmitter.js +5 -6
  102. package/dist/streaming/statusEmitter.js.map +1 -1
  103. package/dist/types/index.d.ts +16 -3
  104. package/dist/types/index.js +5 -1
  105. package/dist/types/index.js.map +1 -1
  106. package/dist/utils/debugFilter.d.ts +38 -0
  107. package/dist/utils/debugFilter.js +157 -0
  108. package/dist/utils/debugFilter.js.map +1 -0
  109. package/dist/utils/evaluate.js.map +1 -1
  110. package/dist/utils/ffmpeg.d.ts +5 -0
  111. package/dist/utils/ffmpeg.js +13 -2
  112. package/dist/utils/ffmpeg.js.map +1 -1
  113. package/dist/utils/fileLogger.d.ts +2 -1
  114. package/dist/utils/fileLogger.js +4 -2
  115. package/dist/utils/fileLogger.js.map +1 -1
  116. package/dist/utils/index.d.ts +1 -0
  117. package/dist/utils/index.js +1 -0
  118. package/dist/utils/index.js.map +1 -1
  119. package/dist/utils/logEmitter.d.ts +1 -0
  120. package/dist/utils/logEmitter.js.map +1 -1
  121. package/dist/utils/logger.d.ts +9 -8
  122. package/dist/utils/logger.js +52 -28
  123. package/dist/utils/logger.js.map +1 -1
  124. package/dist/utils/retry.d.ts +1 -1
  125. package/dist/utils/retry.js +3 -3
  126. package/dist/utils/retry.js.map +1 -1
  127. package/dist/utils/version.js +4 -9
  128. package/dist/utils/version.js.map +1 -1
  129. package/package.json +6 -6
@@ -6,8 +6,11 @@
6
6
  * - url: Streaming site URL.
7
7
  * - profile: Site behavior profile (optional). Use "auto" or omit to auto-detect from URL domain. See config/profiles.ts for available profiles.
8
8
  * - stationId: Gracenote station ID for guide data (optional). Local affiliates (ABC, CBS, NBC) vary by region.
9
- * - channelSelector: Channel identifier for multi-channel pages. For thumbnailRow/tileClick profiles, this is a slug matched against image URLs. For guideGrid
10
- * (huluLive), this is the exact channel name matched against image alt text.
9
+ * - channelSelector: Channel identifier for multi-channel pages. For thumbnailRow/tileClick profiles, this is a slug matched against image URLs. For foxGrid
10
+ * (foxLive), this is the station code matched against GuideChannelLogo button titles (e.g., FOXD2C, FNC, FS1). For guideGrid (huluLive), this is the exact
11
+ * channel name matched against image alt text. For hboGrid (hboMax), this is the channel name matched against the live channel rail tile text (e.g., HBO, HBO
12
+ * Hits). For slingGrid (slingLive), this is the channel name as it appears in the Sling TV guide grid data-testid attributes. For youtubeGrid (youtubeTV), this
13
+ * is the channel name from the YouTube TV guide or a network name (e.g., NBC) for local affiliates.
11
14
  * - provider: Display name override for the provider selection dropdown (optional). Normally auto-derived from the URL domain via DOMAIN_CONFIG in
12
15
  * config/profiles.ts. Only needed when a channel's display name should differ from the domain-level default.
13
16
  *
@@ -18,142 +21,242 @@
18
21
  * for independent channels (e.g., "cnni" instead of "cnn-international").
19
22
  */
20
23
  export const CHANNELS = {
21
- abc: { name: "ABC", url: "https://abc.com/watch-live/b2f23a6e-a2a4-4d63-bd3b-e330921b0942" },
24
+ abc: { name: "ABC", url: "https://abc.com/watch-live" },
22
25
  "abc-hulu": { channelSelector: "ABC", url: "https://www.hulu.com/live" },
26
+ "abc-sling": { channelSelector: "ABC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
27
+ "abc-yttv": { channelSelector: "ABC", url: "https://tv.youtube.com/live" },
23
28
  ae: { name: "A&E", stationId: "51529", url: "https://play.aetv.com/live" },
24
29
  "ae-hulu": { channelSelector: "A&E", url: "https://www.hulu.com/live" },
30
+ "ae-sling": { channelSelector: "A&E", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
25
31
  ahc: { name: "American Heroes", stationId: "78808", url: "https://watch.foodnetwork.com/channel/ahc" },
32
+ amc: { channelSelector: "AMC", name: "AMC", stationId: "59337", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
33
+ "amc-yttv": { channelSelector: "AMC", url: "https://tv.youtube.com/live" },
34
+ amcthrillers: { channelSelector: "AMC Thrillers", name: "AMC Thrillers", stationId: "115678", url: "https://tv.youtube.com/live" },
26
35
  animal: { name: "Animal Planet", stationId: "57394", url: "https://watch.foodnetwork.com/channel/animal-planet" },
27
36
  "animal-hulu": { channelSelector: "Animal Planet", url: "https://www.hulu.com/live" },
37
+ "animal-yttv": { channelSelector: "Animal Planet", url: "https://tv.youtube.com/live" },
28
38
  bet: { name: "BET", stationId: "63236", url: "https://www.bet.com/live-tv" },
29
39
  "bet-hulu": { channelSelector: "BET", url: "https://www.hulu.com/live" },
40
+ "bet-sling": { channelSelector: "BET", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
41
+ "bet-yttv": { channelSelector: "BET", url: "https://tv.youtube.com/live" },
30
42
  bigten: { name: "Big 10", stationId: "58321", url: "https://www.foxsports.com/live/btn" },
43
+ "bigten-foxcom": { channelSelector: "BTN", url: "https://www.fox.com/live/channels" },
31
44
  "bigten-hulu": { channelSelector: "Big Ten Network", url: "https://www.hulu.com/live" },
32
45
  bravo: { name: "Bravo", stationId: "58625", url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_east" },
33
46
  "bravo-hulu": { channelSelector: "Bravo", url: "https://www.hulu.com/live" },
47
+ "bravo-sling": { channelSelector: "Bravo", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
48
+ "bravo-yttv": { channelSelector: "Bravo", url: "https://tv.youtube.com/live" },
34
49
  bravop: { name: "Bravo (Pacific)", stationId: "73994", url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_west" },
35
50
  cbs: { name: "CBS", url: "https://www.cbs.com/live-tv/stream" },
36
51
  "cbs-hulu": { channelSelector: "CBS", url: "https://www.hulu.com/live" },
37
52
  "cbs-paramountplus": { name: "CBS", url: "https://www.paramountplus.com/live-tv/" },
38
- cmt: { channelSelector: "CMT", name: "CMT", url: "https://www.hulu.com/live" },
53
+ "cbs-yttv": { channelSelector: "CBS", url: "https://tv.youtube.com/live" },
54
+ cmt: { channelSelector: "CMT", name: "CMT", stationId: "59440", url: "https://www.hulu.com/live" },
39
55
  cnbc: { name: "CNBC", stationId: "58780", url: "https://www.cnbc.com/live-tv" },
40
56
  "cnbc-hulu": { channelSelector: "CNBC", url: "https://www.hulu.com/live" },
41
57
  "cnbc-usa": { channelSelector: "CNBC_US", url: "https://www.usanetwork.com/live" },
58
+ "cnbc-yttv": { channelSelector: "CNBC", url: "https://tv.youtube.com/live" },
42
59
  cnn: { name: "CNN", stationId: "58646", url: "https://www.cnn.com/videos/cnn" },
43
60
  "cnn-hulu": { channelSelector: "CNN", url: "https://www.hulu.com/live" },
61
+ "cnn-sling": { channelSelector: "CNN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
62
+ "cnn-yttv": { channelSelector: "CNN", url: "https://tv.youtube.com/live" },
44
63
  cnni: { name: "CNN International", stationId: "83110", url: "https://www.cnn.com/videos/cnn-i" },
45
64
  "cnni-hulu": { channelSelector: "CNN International", url: "https://www.hulu.com/live" },
65
+ "cnni-yttv": { channelSelector: "CNN International", url: "https://tv.youtube.com/live" },
46
66
  "comedycentral": { channelSelector: "Comedy Central", name: "Comedy Central", stationId: "62420", url: "https://www.hulu.com/live" },
67
+ "comedycentral-sling": { channelSelector: "Comedy Central", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
68
+ "comedycentral-yttv": { channelSelector: "Comedy Central", url: "https://tv.youtube.com/live" },
47
69
  cooking: { name: "Cooking", stationId: "68065", url: "https://watch.foodnetwork.com/channel/cooking-channel" },
48
70
  cspan: { name: "C-SPAN", stationId: "68344", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span" },
49
71
  "cspan-hulu": { channelSelector: "C-SPAN", url: "https://www.hulu.com/live" },
72
+ "cspan-yttv": { channelSelector: "C-SPAN", url: "https://tv.youtube.com/live" },
50
73
  cspan2: { name: "C-SPAN 2", stationId: "68334", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-2" },
51
74
  "cspan2-hulu": { channelSelector: "C-SPAN2", url: "https://www.hulu.com/live" },
75
+ "cspan2-yttv": { channelSelector: "C-SPAN2", url: "https://tv.youtube.com/live" },
52
76
  cspan3: { name: "C-SPAN 3", stationId: "68332", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-3" },
53
77
  "cspan3-hulu": { channelSelector: "C-SPAN3", url: "https://www.hulu.com/live" },
78
+ "cspan3-yttv": { channelSelector: "C-SPAN3", url: "https://tv.youtube.com/live" },
54
79
  cw: { channelSelector: "CW", name: "CW", url: "https://www.hulu.com/live" },
80
+ "cw-yttv": { channelSelector: "CW", url: "https://tv.youtube.com/live" },
55
81
  discovery: { name: "Discovery", stationId: "56905", url: "https://watch.foodnetwork.com/channel/discovery" },
56
82
  "discovery-hulu": { channelSelector: "Discovery", url: "https://www.hulu.com/live" },
83
+ "discovery-sling": { channelSelector: "Discovery", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
84
+ "discovery-yttv": { channelSelector: "Discovery Channel", url: "https://tv.youtube.com/live" },
57
85
  discoverylife: { name: "Discovery Life", stationId: "92204", url: "https://watch.foodnetwork.com/channel/discovery-life" },
58
86
  discoveryturbo: { name: "Discovery Turbo", stationId: "31046", url: "https://watch.foodnetwork.com/channel/motortrend" },
59
87
  "discoveryturbo-hulu": { channelSelector: "Discovery Turbo", url: "https://www.hulu.com/live" },
88
+ "discoveryturbo-sling": { channelSelector: "Discovery Turbo", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
60
89
  disney: { name: "Disney", stationId: "59684", url: "https://disneynow.com/watch-live?brand=004" },
61
90
  "disney-hulu": { channelSelector: "Disney Channel", url: "https://www.hulu.com/live" },
91
+ "disney-sling": { channelSelector: "Disney Channel", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
92
+ "disney-yttv": { channelSelector: "Disney Channel", url: "https://tv.youtube.com/live" },
62
93
  disneyjr: { name: "Disney Jr.", stationId: "74885", url: "https://disneynow.com/watch-live?brand=008" },
63
94
  "disneyjr-hulu": { channelSelector: "Disney Junior", url: "https://www.hulu.com/live" },
95
+ "disneyjr-yttv": { channelSelector: "Disney Junior", url: "https://tv.youtube.com/live" },
64
96
  disneyxd: { name: "Disney XD", stationId: "60006", url: "https://disneynow.com/watch-live?brand=009" },
65
97
  "disneyxd-hulu": { channelSelector: "Disney XD", url: "https://www.hulu.com/live" },
98
+ "disneyxd-yttv": { channelSelector: "Disney XD", url: "https://tv.youtube.com/live" },
66
99
  e: { channelSelector: "E-_East", name: "E!", stationId: "61812", url: "https://www.usanetwork.com/live" },
67
100
  "e-hulu": { channelSelector: "E!", url: "https://www.hulu.com/live" },
101
+ "e-sling": { channelSelector: "E!", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
102
+ "e-yttv": { channelSelector: "E!", url: "https://tv.youtube.com/live" },
68
103
  ep: { channelSelector: "E-_West", name: "E! (Pacific)", stationId: "91579", url: "https://www.usanetwork.com/live" },
69
104
  espn: { name: "ESPN", stationId: "32645", url: "https://www.espn.com/watch/player?network=espn" },
70
105
  "espn-disneyplus": { channelSelector: "poster_linear_espn_none", url: "https://www.disneyplus.com/browse/live" },
71
106
  "espn-hulu": { channelSelector: "ESPN", url: "https://www.hulu.com/live" },
107
+ "espn-sling": { channelSelector: "ESPN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
108
+ "espn-yttv": { channelSelector: "ESPN", url: "https://tv.youtube.com/live" },
72
109
  espn2: { name: "ESPN2", stationId: "45507", url: "https://www.espn.com/watch/player?network=espn2" },
73
110
  "espn2-disneyplus": { channelSelector: "poster_linear_espn2_none", url: "https://www.disneyplus.com/browse/live" },
74
111
  "espn2-hulu": { channelSelector: "ESPN2", url: "https://www.hulu.com/live" },
112
+ "espn2-sling": { channelSelector: "ESPN2", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
113
+ "espn2-yttv": { channelSelector: "ESPN2", url: "https://tv.youtube.com/live" },
75
114
  espnacc: { name: "ACC Network", stationId: "111871", url: "https://www.espn.com/watch/player?network=acc" },
76
115
  "espnacc-disneyplus": { channelSelector: "poster_linear_acc-network_none", url: "https://www.disneyplus.com/browse/live" },
77
116
  "espnacc-hulu": { channelSelector: "ACC Network", url: "https://www.hulu.com/live" },
117
+ "espnacc-yttv": { channelSelector: "ACC Network", url: "https://tv.youtube.com/live" },
78
118
  espndeportes: { name: "ESPN Deportes", stationId: "71914", url: "https://www.espn.com/watch/player?network=espndeportes" },
79
119
  "espndeportes-disneyplus": { channelSelector: "poster_linear_espn-deportes_none", url: "https://www.disneyplus.com/browse/live" },
80
120
  espnews: { name: "ESPNews", stationId: "59976", url: "https://www.espn.com/watch/player?network=espnews" },
81
121
  "espnews-disneyplus": { channelSelector: "poster_linear_espnews_none", url: "https://www.disneyplus.com/browse/live" },
82
122
  "espnews-hulu": { channelSelector: "ESPNEWS", url: "https://www.hulu.com/live" },
123
+ "espnews-yttv": { channelSelector: "ESPNEWS", url: "https://tv.youtube.com/live" },
83
124
  espnsec: { name: "SEC Network", stationId: "89714", url: "https://www.espn.com/watch/player?network=sec" },
84
125
  "espnsec-disneyplus": { channelSelector: "poster_linear_sec-network_none", url: "https://www.disneyplus.com/browse/live" },
85
126
  "espnsec-hulu": { channelSelector: "SEC Network", url: "https://www.hulu.com/live" },
127
+ "espnsec-yttv": { channelSelector: "SEC Network", url: "https://tv.youtube.com/live" },
86
128
  espnu: { name: "ESPNU", stationId: "60696", url: "https://www.espn.com/watch/player?network=espnu" },
87
129
  "espnu-disneyplus": { channelSelector: "poster_linear_espnu_none", url: "https://www.disneyplus.com/browse/live" },
88
130
  "espnu-hulu": { channelSelector: "ESPNU", url: "https://www.hulu.com/live" },
131
+ "espnu-yttv": { channelSelector: "ESPNU", url: "https://tv.youtube.com/live" },
89
132
  fbc: { name: "Fox Business", stationId: "58718", url: "https://www.foxbusiness.com/video/5640669329001" },
133
+ "fbc-foxcom": { channelSelector: "FBN", url: "https://www.fox.com/live/channels" },
90
134
  "fbc-hulu": { channelSelector: "Fox Business", url: "https://www.hulu.com/live" },
135
+ "fbc-yttv": { channelSelector: "Fox Business", url: "https://tv.youtube.com/live" },
91
136
  fnc: { name: "Fox News", stationId: "60179", url: "https://www.foxnews.com/video/5614615980001" },
137
+ "fnc-foxcom": { channelSelector: "FNC", url: "https://www.fox.com/live/channels" },
92
138
  "fnc-hulu": { channelSelector: "Fox News", url: "https://www.hulu.com/live" },
139
+ "fnc-sling": { channelSelector: "Fox News", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
140
+ "fnc-yttv": { channelSelector: "Fox News", url: "https://tv.youtube.com/live" },
93
141
  food: { name: "Food Network", stationId: "50747", url: "https://watch.foodnetwork.com/channel/food-network" },
94
142
  "food-hulu": { channelSelector: "Food Network", url: "https://www.hulu.com/live" },
95
- fox: { channelSelector: "Fox", name: "Fox", url: "https://www.hulu.com/live" },
143
+ "food-sling": { channelSelector: "Food Network", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
144
+ "food-yttv": { channelSelector: "Food Network", url: "https://tv.youtube.com/live" },
145
+ fox: { channelSelector: "FOXD2C", name: "Fox", url: "https://www.fox.com/live/channels" },
146
+ "fox-hulu": { channelSelector: "Fox", url: "https://www.hulu.com/live" },
147
+ "fox-sling": { channelSelector: "FOX", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
148
+ "fox-yttv": { channelSelector: "FOX", url: "https://tv.youtube.com/live" },
96
149
  foxdeportes: { name: "Fox Deportes", stationId: "72189", url: "https://www.foxsports.com/live/foxdep" },
150
+ "foxdeportes-foxcom": { channelSelector: "FOXD", url: "https://www.fox.com/live/channels" },
97
151
  foxsoccerplus: { name: "Fox Soccer Plus", stationId: "66879", url: "https://www.foxsports.com/live/fsp" },
98
152
  france24: { name: "France 24", stationId: "60961", url: "https://www.france24.com/en/live" },
153
+ "france24-sling": { channelSelector: "France 24 (English)", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
99
154
  france24fr: { name: "France 24 (French)", stationId: "58685", url: "https://www.france24.com/fr/direct" },
155
+ "france24fr-sling": { channelSelector: "France 24", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
100
156
  fs1: { name: "FS1", stationId: "82547", url: "https://www.foxsports.com/live/fs1" },
157
+ "fs1-foxcom": { channelSelector: "FS1", url: "https://www.fox.com/live/channels" },
101
158
  "fs1-hulu": { channelSelector: "FS1", url: "https://www.hulu.com/live" },
159
+ "fs1-sling": { channelSelector: "FOX Sports 1", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
160
+ "fs1-yttv": { channelSelector: "FS1", url: "https://tv.youtube.com/live" },
102
161
  fs2: { name: "FS2", stationId: "59305", url: "https://www.foxsports.com/live/fs2" },
162
+ "fs2-foxcom": { channelSelector: "FS2", url: "https://www.fox.com/live/channels" },
103
163
  "fs2-hulu": { channelSelector: "FS2", url: "https://www.hulu.com/live" },
164
+ "fs2-yttv": { channelSelector: "FS2", url: "https://tv.youtube.com/live" },
104
165
  fx: { name: "FX", stationId: "58574", url: "https://abc.com/watch-live/93256af4-5e80-4558-aa2e-2bdfffa119a0" },
105
166
  "fx-hulu": { channelSelector: "FX", url: "https://www.hulu.com/live" },
167
+ "fx-sling": { channelSelector: "FX", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
168
+ "fx-yttv": { channelSelector: "FX", url: "https://tv.youtube.com/live" },
106
169
  fxm: { name: "FXM", stationId: "70253", url: "https://abc.com/watch-live/d298ab7e-c6b1-4efa-ac6e-a52dceed92ee" },
107
170
  "fxm-hulu": { channelSelector: "FXM", url: "https://www.hulu.com/live" },
171
+ "fxm-yttv": { channelSelector: "FXM", url: "https://tv.youtube.com/live" },
108
172
  fxp: { name: "FX (Pacific)", stationId: "59814", url: "https://abc.com/watch-live/2cee3401-f63b-42d0-b32e-962fef610b9e" },
109
173
  fxx: { name: "FXX", stationId: "66379", url: "https://abc.com/watch-live/49f4a471-8d36-4728-8457-ea65cbbc84ea" },
110
174
  "fxx-hulu": { channelSelector: "FXX", url: "https://www.hulu.com/live" },
175
+ "fxx-yttv": { channelSelector: "FXX", url: "https://tv.youtube.com/live" },
111
176
  fxxp: { name: "FXX (Pacific)", stationId: "82571", url: "https://abc.com/watch-live/e4c83395-62ed-4a49-829a-c55ab3c33e7d" },
112
177
  fyi: { name: "FYI", stationId: "58988", url: "https://play.fyi.tv/live" },
113
178
  "fyi-hulu": { channelSelector: "FYI", url: "https://www.hulu.com/live" },
114
179
  golf: { name: "Golf", stationId: "61854", url: "https://www.golfchannel.com/watch/live" },
115
180
  "golf-hulu": { channelSelector: "Golf Channel", url: "https://www.hulu.com/live" },
116
181
  "golf-usa": { channelSelector: "gc", url: "https://www.usanetwork.com/live" },
117
- hallmark: { channelSelector: "Hallmark Channel", name: "Hallmark Channel", url: "https://www.hulu.com/live" },
118
- hallmarkmystery: { channelSelector: "Hallmark Mystery", name: "Hallmark Mystery", url: "https://www.hulu.com/live" },
182
+ "golf-yttv": { channelSelector: "Golf Channel", url: "https://tv.youtube.com/live" },
183
+ hallmark: { name: "Hallmark", stationId: "66268", url: "https://www.watchhallmarktv.com/playback/item/live" },
184
+ "hallmark-hulu": { channelSelector: "Hallmark Channel", url: "https://www.hulu.com/live" },
185
+ "hallmark-yttv": { channelSelector: "Hallmark Channel", url: "https://tv.youtube.com/live" },
186
+ hallmarkfamily: { name: "Hallmark Family", stationId: "105723", url: "https://www.watchhallmarktv.com/playback/item/hdlive" },
187
+ hallmarkmystery: { name: "Hallmark Mystery", stationId: "46710", url: "https://www.watchhallmarktv.com/playback/item/hmmlive" },
188
+ "hallmarkmystery-hulu": { channelSelector: "Hallmark Mystery", url: "https://www.hulu.com/live" },
189
+ "hallmarkmystery-yttv": { channelSelector: "Hallmark Mystery", url: "https://tv.youtube.com/live" },
190
+ hbo: { channelSelector: "HBO", name: "HBO", stationId: "19548", url: "https://play.hbomax.com" },
191
+ "hbo-yttv": { channelSelector: "HBO East", url: "https://tv.youtube.com/live" },
192
+ hbocomedy: { channelSelector: "HBO Comedy", name: "HBO Comedy", stationId: "59839", url: "https://play.hbomax.com" },
193
+ "hbocomedy-yttv": { channelSelector: "HBO Comedy East", url: "https://tv.youtube.com/live" },
194
+ hbodrama: { channelSelector: "HBO Drama", name: "HBO Drama", stationId: "59363", url: "https://play.hbomax.com" },
195
+ "hbodrama-yttv": { channelSelector: "HBO Drama East", url: "https://tv.youtube.com/live" },
196
+ hbohits: { channelSelector: "HBO Hits", name: "HBO Hits", stationId: "59368", url: "https://play.hbomax.com" },
197
+ "hbohits-yttv": { channelSelector: "HBO Hits East", url: "https://tv.youtube.com/live" },
198
+ hbomovies: { channelSelector: "HBO Movies", name: "HBO Movies", stationId: "59845", url: "https://play.hbomax.com" },
199
+ "hbomovies-yttv": { channelSelector: "HBO Movies East", url: "https://tv.youtube.com/live" },
119
200
  hgtv: { name: "HGTV", stationId: "49788", url: "https://watch.foodnetwork.com/channel/hgtv" },
120
201
  "hgtv-hulu": { channelSelector: "HGTV", url: "https://www.hulu.com/live" },
202
+ "hgtv-sling": { channelSelector: "HGTV", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
203
+ "hgtv-yttv": { channelSelector: "HGTV", url: "https://tv.youtube.com/live" },
121
204
  history: { name: "History", stationId: "14771", url: "https://play.history.com/live" },
122
205
  "history-hulu": { channelSelector: "The HISTORY Channel", url: "https://www.hulu.com/live" },
206
+ "history-sling": { channelSelector: "History", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
123
207
  hln: { name: "HLN", stationId: "64549", url: "https://www.cnn.com/videos/hln" },
124
208
  "hln-hulu": { channelSelector: "HLN", url: "https://www.hulu.com/live" },
209
+ "hln-sling": { channelSelector: "HLN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
210
+ "hln-yttv": { channelSelector: "HLN", url: "https://tv.youtube.com/live" },
125
211
  id: { name: "Investigation Discovery", stationId: "65342", url: "https://watch.foodnetwork.com/channel/investigation-discovery" },
126
212
  "id-hulu": { channelSelector: "Investigation Discovery", url: "https://www.hulu.com/live" },
213
+ "id-sling": { channelSelector: "Investigation Discovery", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
214
+ "id-yttv": { channelSelector: "Investigation Discovery", url: "https://tv.youtube.com/live" },
215
+ ifc: { channelSelector: "IFC", name: "IFC", stationId: "59444", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
216
+ "ifc-yttv": { channelSelector: "IFC", url: "https://tv.youtube.com/live" },
127
217
  lifetime: { name: "Lifetime", stationId: "60150", url: "https://play.mylifetime.com/live" },
128
218
  "lifetime-hulu": { channelSelector: "Lifetime", url: "https://www.hulu.com/live" },
129
- lmn: { channelSelector: "LMN", name: "Lifetime Movie Network", url: "https://www.hulu.com/live" },
219
+ "lifetime-sling": { channelSelector: "Lifetime", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
220
+ lmn: { channelSelector: "LMN", name: "Lifetime Movie Network", stationId: "55887", url: "https://www.hulu.com/live" },
130
221
  magnolia: { name: "Magnolia Network", stationId: "67375", url: "https://watch.foodnetwork.com/channel/magnolia-network-preview-atve-us" },
131
222
  "magnolia-hulu": { channelSelector: "Magnolia Network", url: "https://www.hulu.com/live" },
132
- mlb: { channelSelector: "MLB Network", name: "MLB Network", url: "https://www.hulu.com/live" },
133
- msnow: { name: "MSNOW", stationId: "64241", url: "https://www.ms.now/live" },
223
+ "magnolia-yttv": { channelSelector: "Magnolia Network", url: "https://tv.youtube.com/live" },
224
+ mlb: { channelSelector: "MLB Network", name: "MLB Network", stationId: "62081", url: "https://www.hulu.com/live" },
225
+ msnow: { name: "MS NOW", stationId: "64241", url: "https://www.ms.now/live" },
134
226
  "msnow-hulu": { channelSelector: "MS NOW", url: "https://www.hulu.com/live" },
227
+ "msnow-sling": { channelSelector: "MS NOW", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
135
228
  "msnow-usa": { channelSelector: "image-23", url: "https://www.usanetwork.com/live" },
229
+ "msnow-yttv": { channelSelector: "MS NOW", url: "https://tv.youtube.com/live" },
136
230
  natgeo: { name: "National Geographic", stationId: "49438", url: "https://www.nationalgeographic.com/tv/watch-live/0826a9a3-3384-4bb5-8841-91f01cb0e3a7" },
137
231
  "natgeo-hulu": { channelSelector: "National Geographic", url: "https://www.hulu.com/live" },
232
+ "natgeo-sling": { channelSelector: "National Geographic", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
233
+ "natgeo-yttv": { channelSelector: "National Geographic", url: "https://tv.youtube.com/live" },
138
234
  natgeop: { name: "National Geographic (Pacific)", stationId: "71601", url: "https://www.nationalgeographic.com/tv/watch-live/91456580-f32f-417c-8e1a-9f82640832a7" },
139
235
  natgeowild: { name: "Nat Geo Wild", stationId: "67331", url: "https://www.nationalgeographic.com/tv/watch-live/239b9590-583f-4955-a499-22e9eefff9cf" },
140
236
  "natgeowild-hulu": { channelSelector: "Nat Geo WILD", url: "https://www.hulu.com/live" },
237
+ "natgeowild-yttv": { channelSelector: "Nat Geo WILD", url: "https://tv.youtube.com/live" },
238
+ nba: { name: "NBA TV", stationId: "45526", url: "https://www.nba.com/watch/nba-tv" },
239
+ "nba-yttv": { channelSelector: "NBA TV", url: "https://tv.youtube.com/live" },
141
240
  nbc: { name: "NBC", url: "https://www.nbc.com/live?brand=nbc&callsign=nbc" },
142
241
  "nbc-hulu": { channelSelector: "NBC", url: "https://www.hulu.com/live" },
242
+ "nbc-sling": { channelSelector: "NBC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
243
+ "nbc-yttv": { channelSelector: "NBC", url: "https://tv.youtube.com/live" },
143
244
  nbcnews: { name: "NBC News Now", stationId: "114174", url: "https://www.nbc.com/live?brand=nbc-news&callsign=nbcnews" },
144
245
  "nbcnews-hulu": { channelSelector: "NBC News NOW", url: "https://www.hulu.com/live" },
145
246
  nbcsbayarea: { name: "NBC Sports Bay Area", stationId: "63138", url: "https://www.nbc.com/live?brand=rsn-bay-area&callsign=nbcsbayarea" },
146
247
  nbcsboston: { name: "NBC Sports Boston", stationId: "49198", url: "https://www.nbc.com/live?brand=rsn-boston&callsign=nbcsboston" },
147
248
  nbcscalifornia: { name: "NBC Sports California", stationId: "45540", url: "https://www.nbc.com/live?brand=rsn-california&callsign=nbcscalifornia" },
148
- nbcschicago: { name: "NBC Sports Chicago", stationId: "44905", url: "https://www.nbc.com/live?brand=rsn-chicago&callsign=nbcschicago" },
149
249
  nbcsphiladelphia: { name: "NBC Sports Philadelphia", stationId: "32571", url: "https://www.nbc.com/live?brand=rsn-philadelphia&callsign=nbcsphiladelphia" },
150
250
  necn: { name: "NECN", stationId: "66278", url: "https://www.nbc.com/live?brand=necn&callsign=necn" },
151
251
  own: { name: "OWN", stationId: "70388", url: "https://watch.foodnetwork.com/channel/own" },
152
252
  "own-hulu": { channelSelector: "Oprah Winfrey Network", url: "https://www.hulu.com/live" },
253
+ "own-yttv": { channelSelector: "OWN", url: "https://tv.youtube.com/live" },
153
254
  oxygen: { channelSelector: "Oxygen_East", name: "Oxygen", stationId: "70522", url: "https://www.usanetwork.com/live" },
154
255
  "oxygen-hulu": { channelSelector: "Oxygen True Crime", url: "https://www.hulu.com/live" },
256
+ "oxygen-yttv": { channelSelector: "Oxygen True Crime", url: "https://tv.youtube.com/live" },
155
257
  oxygenp: { channelSelector: "Oxygen_West", name: "Oxygen (Pacific)", stationId: "74032", url: "https://www.usanetwork.com/live" },
156
258
  pbs: { channelSelector: "PBS", name: "PBS", url: "https://www.hulu.com/live" },
259
+ "pbs-yttv": { channelSelector: "PBS", url: "https://tv.youtube.com/live" },
157
260
  pbschicago: { name: "PBS Chicago (WTTW)", stationId: "30415", url: "https://www.wttw.com/wttw-live-stream" },
158
261
  "pbschicago-hulu": { channelSelector: "PBS", url: "https://www.hulu.com/live" },
159
262
  pbslakeshore: { name: "PBS Lakeshore (WYIN)", stationId: "49237", url: "https://video.lakeshorepbs.org/livestream" },
@@ -163,29 +266,45 @@ export const CHANNELS = {
163
266
  showtimep: { name: "Showtime (Pacific)", stationId: "91621", url: "https://www.paramountplus.com/live-tv/stream/showtime-west" },
164
267
  syfy: { channelSelector: "Syfy_East", name: "Syfy", stationId: "58623", url: "https://www.usanetwork.com/live" },
165
268
  "syfy-hulu": { channelSelector: "SYFY", url: "https://www.hulu.com/live" },
269
+ "syfy-sling": { channelSelector: "SYFY", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
270
+ "syfy-yttv": { channelSelector: "SYFY", url: "https://tv.youtube.com/live" },
166
271
  syfyp: { channelSelector: "Syfy_West", name: "Syfy (Pacific)", stationId: "65626", url: "https://www.usanetwork.com/live" },
167
272
  tbs: { name: "TBS", stationId: "58515", url: "https://www.tbs.com/watchtbs/east" },
168
273
  "tbs-hulu": { channelSelector: "TBS (East)", url: "https://www.hulu.com/live" },
274
+ "tbs-sling": { channelSelector: "TBS", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
275
+ "tbs-yttv": { channelSelector: "TBS", url: "https://tv.youtube.com/live" },
169
276
  tbsp: { name: "TBS (Pacific)", stationId: "67890", url: "https://www.tbs.com/watchtbs/west" },
170
277
  "tbsp-hulu": { channelSelector: "TBS (West)", url: "https://www.hulu.com/live" },
171
278
  tlc: { name: "TLC", stationId: "57391", url: "https://watch.foodnetwork.com/channel/tlc" },
172
279
  "tlc-hulu": { channelSelector: "TLC", url: "https://www.hulu.com/live" },
280
+ "tlc-sling": { channelSelector: "TLC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
281
+ "tlc-yttv": { channelSelector: "TLC", url: "https://tv.youtube.com/live" },
173
282
  tnt: { name: "TNT", stationId: "42642", url: "https://www.tntdrama.com/watchtnt/east" },
174
283
  "tnt-hulu": { channelSelector: "TNT (East)", url: "https://www.hulu.com/live" },
284
+ "tnt-sling": { channelSelector: "TNT", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
285
+ "tnt-yttv": { channelSelector: "TNT", url: "https://tv.youtube.com/live" },
175
286
  tntp: { name: "TNT (Pacific)", stationId: "61340", url: "https://www.tntdrama.com/watchtnt/west" },
176
287
  "tntp-hulu": { channelSelector: "TNT (West)", url: "https://www.hulu.com/live" },
177
288
  travel: { name: "Travel", stationId: "59303", url: "https://watch.foodnetwork.com/channel/travel-channel" },
178
289
  "travel-hulu": { channelSelector: "Travel Channel", url: "https://www.hulu.com/live" },
290
+ "travel-sling": { channelSelector: "Travel Channel", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
291
+ "travel-yttv": { channelSelector: "Travel Channel", url: "https://tv.youtube.com/live" },
179
292
  trutv: { name: "truTV", stationId: "64490", url: "https://www.trutv.com/watchtrutv/east" },
180
293
  "trutv-hulu": { channelSelector: "truTV (East)", url: "https://www.hulu.com/live" },
294
+ "trutv-sling": { channelSelector: "truTV", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
295
+ "trutv-yttv": { channelSelector: "truTV", url: "https://tv.youtube.com/live" },
181
296
  trutvp: { name: "truTV (Pacific)", stationId: "65717", url: "https://www.trutv.com/watchtrutv/east" },
182
297
  "trutvp-hulu": { channelSelector: "truTV (West)", url: "https://www.hulu.com/live" },
183
298
  usa: { channelSelector: "USA_East", name: "USA Network", stationId: "58452", url: "https://www.usanetwork.com/live" },
184
299
  "usa-hulu": { channelSelector: "USA", url: "https://www.hulu.com/live" },
300
+ "usa-sling": { channelSelector: "USA", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
301
+ "usa-yttv": { channelSelector: "USA", url: "https://tv.youtube.com/live" },
185
302
  usap: { channelSelector: "USA_West", name: "USA Network (Pacific)", stationId: "74030", url: "https://www.usanetwork.com/live" },
186
303
  vh1: { name: "VH1", stationId: "60046", url: "https://www.vh1.com/live-tv" },
187
304
  "vh1-hulu": { channelSelector: "VH1", url: "https://www.hulu.com/live" },
188
- weather: { channelSelector: "The Weather Channel", name: "The Weather Channel", stationId: "58812", url: "https://www.hulu.com/live" }
305
+ "vh1-yttv": { channelSelector: "VH1", url: "https://tv.youtube.com/live" },
306
+ weather: { channelSelector: "The Weather Channel", name: "The Weather Channel", stationId: "58812", url: "https://www.hulu.com/live" },
307
+ "weather-yttv": { channelSelector: "The Weather Channel", url: "https://tv.youtube.com/live" }
189
308
  };
190
309
  // Re-export CHANNELS as PREDEFINED_CHANNELS for use in userChannels.ts where the distinction between predefined and user channels is important.
191
310
  export { CHANNELS as PREDEFINED_CHANNELS };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channels/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channels/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES } from "./sites.js";
1
+ import { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES, getDomainConfig } from "./sites.js";
2
2
  import type { ProfileCategory, ProfileResolutionResult, ResolvedSiteProfile } from "../types/index.js";
3
3
  import type { DomainConfig } from "./sites.js";
4
- export { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES };
4
+ export { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES, getDomainConfig };
5
5
  export type { DomainConfig };
6
6
  /**
7
7
  * Resolves a named profile from SITE_PROFILES, handling inheritance and merging with the default profile to ensure all required properties are present. Inheritance
@@ -21,9 +21,9 @@ export type { DomainConfig };
21
21
  */
22
22
  export declare function resolveProfile(profileName: string | undefined): ResolvedSiteProfile;
23
23
  /**
24
- * Resolves the site profile for a given URL by extracting the concise domain and looking it up in DOMAIN_CONFIG. Uses the same extractDomain() function as
25
- * getProviderDisplayName() to ensure both profile resolution and display name resolution match on the same key. Falls back to the default profile if no matching
26
- * domain is found or the matching domain has no profile configured.
24
+ * 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
25
+ * 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
26
+ * configured.
27
27
  * @param url - The URL to resolve a profile for.
28
28
  * @returns The site profile containing behavior flags.
29
29
  */
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * profiles.ts: Site profile resolution and validation for PrismCast.
4
4
  */
5
- import { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES } from "./sites.js";
5
+ import { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES, getDomainConfig } from "./sites.js";
6
6
  import { CHANNELS } from "../channels/index.js";
7
7
  import { extractDomain } from "../utils/index.js";
8
8
  // Re-export site data so existing consumers can import from either module.
9
- export { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES };
9
+ export { DEFAULT_SITE_PROFILE, DOMAIN_CONFIG, SITE_PROFILES, getDomainConfig };
10
10
  /*
11
11
  * Profile resolution is the process of determining which behavior flags to use for a given stream. The resolution process handles inheritance, merging parent and
12
12
  * child profile properties, and falling back to defaults for unspecified flags.
@@ -68,9 +68,9 @@ export function resolveProfile(profileName) {
68
68
  return resolved;
69
69
  }
70
70
  /**
71
- * Resolves the site profile for a given URL by extracting the concise domain and looking it up in DOMAIN_CONFIG. Uses the same extractDomain() function as
72
- * getProviderDisplayName() to ensure both profile resolution and display name resolution match on the same key. Falls back to the default profile if no matching
73
- * domain is found or the matching domain has no profile configured.
71
+ * 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
72
+ * 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
73
+ * configured.
74
74
  * @param url - The URL to resolve a profile for.
75
75
  * @returns The site profile containing behavior flags.
76
76
  */
@@ -79,13 +79,18 @@ export function getProfileForUrl(url) {
79
79
  if (!url) {
80
80
  return { profile: { ...DEFAULT_SITE_PROFILE }, profileName: "default" };
81
81
  }
82
- // Extract the concise domain (last two hostname parts) and look up the configuration.
83
- const config = DOMAIN_CONFIG[extractDomain(url)];
84
- if (config?.profile) {
85
- return { profile: resolveProfile(config.profile), profileName: config.profile };
82
+ // Look up the domain configuration, trying the full hostname first for subdomain-specific overrides (e.g., "tv.youtube.com" before "youtube.com").
83
+ const config = getDomainConfig(url);
84
+ // Resolve the profile from the domain configuration, falling back to the default profile for unrecognized domains or domains without a profile entry.
85
+ const profile = config?.profile ? resolveProfile(config.profile) : { ...DEFAULT_SITE_PROFILE };
86
+ const profileName = config?.profile ?? "default";
87
+ // Merge domain-level properties that represent site policies rather than player behaviors. maxContinuousPlayback is a site-imposed session limit, not a player
88
+ // characteristic, so it lives in DOMAIN_CONFIG rather than in site profiles. Note: getProfileForChannel() performs this same merge for the explicit-profile path
89
+ // where this function is bypassed. If adding new domain-level policies here, update getProfileForChannel() as well.
90
+ if (config?.maxContinuousPlayback !== undefined) {
91
+ profile.maxContinuousPlayback = config.maxContinuousPlayback;
86
92
  }
87
- // No matching domain found (or domain has no profile) - use the default profile.
88
- return { profile: { ...DEFAULT_SITE_PROFILE }, profileName: "default" };
93
+ return { profile, profileName };
89
94
  }
90
95
  /**
91
96
  * 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
@@ -125,6 +130,25 @@ export function getProfileForChannel(channel) {
125
130
  profile = { ...DEFAULT_SITE_PROFILE };
126
131
  profileName = "default";
127
132
  }
133
+ // If the resolved profile requires channel selection (strategy other than "none") but the channel has no channelSelector, the hostname-specific domain entry
134
+ // (e.g., watch.sling.com → slingLive) is not appropriate for this direct-URL channel. Fall back to the concise domain entry (e.g., sling.com →
135
+ // embeddedVolumeLock) which provides generic player handling for direct URLs on the same service.
136
+ if ((profile.channelSelection.strategy !== "none") && !channel.channelSelector && channel.url) {
137
+ const conciseConfig = DOMAIN_CONFIG[extractDomain(channel.url)];
138
+ if (conciseConfig?.profile && (conciseConfig.profile !== profileName)) {
139
+ profile = resolveProfile(conciseConfig.profile);
140
+ profileName = conciseConfig.profile;
141
+ }
142
+ }
143
+ // Merge domain-level site policies that apply regardless of how the profile was resolved. These represent site-imposed constraints (like session duration limits)
144
+ // 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
145
+ // path above, getProfileForUrl() already merges these — the re-application here is idempotent. For the explicit-profile path, this fills the gap.
146
+ if (channel.url) {
147
+ const domainConfig = getDomainConfig(channel.url);
148
+ if (domainConfig?.maxContinuousPlayback !== undefined) {
149
+ profile = { ...profile, maxContinuousPlayback: domainConfig.maxContinuousPlayback };
150
+ }
151
+ }
128
152
  // Merge channel-specific properties into the profile. Currently only channelSelector is supported, which specifies a CSS selector for the channel button in
129
153
  // multi-channel player pages. The channelSelector on the channel overrides any channelSelector from the profile.
130
154
  if (channel.channelSelector) {
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,2EAA2E;AAC3E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAG9D;;;;;;;;;;;;;;;;;;GAkBG;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,+JAA+J;IAC/J,wGAAwG;IACxG,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAA4B,CAAC;IAEtE,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;;;;;;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,sFAAsF;IACtF,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAA6B,CAAC;IAE7E,IAAG,MAAM,EAAE,OAAO,EAAE,CAAC;QAEnB,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAClF,CAAC;IAED,iFAAiF;IACjF,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,oBAAoB,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAiF;IAEpH,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,4JAA4J;IAC5J,iHAAiH;IACjH,IAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAE3B,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB;IAE9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,6JAA6J;IAC7J,UAAU;IACV,KAAI,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAEpD,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,kFAAkF;YAClF,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAA4B,CAAC;YAElE,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;YAE3B,6FAA6F;YAC7F,uEAAuE;YACvE,IAAG,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAEtD,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,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAA4B,CAAC;YAE/E,IAAG,CAAC,aAAa,EAAE,CAAC;gBAElB,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,iHAAiH;IACjH,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,uEAAuE;QACvE,IAAG,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;YAEnG,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,sFAAsF;IACtF,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;AACH,CAAC;AAwBD;;;;GAIG;AACH,MAAM,UAAU,WAAW;IAEzB,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAEpD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO;YAEL,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;YACvC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE;SACtD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"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"}