prismcast 1.12.1 → 1.13.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 (568) hide show
  1. package/dist/app.d.ts +0 -1
  2. package/dist/app.js +8 -7
  3. package/dist/app.js.map +1 -1
  4. package/dist/browser/blockedPage.d.ts +0 -1
  5. package/dist/browser/browserSupervisor.d.ts +4 -4
  6. package/dist/browser/browserSupervisor.js.map +1 -1
  7. package/dist/browser/cdp.d.ts +2 -3
  8. package/dist/browser/cdp.js +5 -4
  9. package/dist/browser/cdp.js.map +1 -1
  10. package/dist/browser/channelSelection.d.ts +16 -4
  11. package/dist/browser/channelSelection.js +42 -31
  12. package/dist/browser/channelSelection.js.map +1 -1
  13. package/dist/browser/consent.d.ts +17 -4
  14. package/dist/browser/consent.js +25 -40
  15. package/dist/browser/consent.js.map +1 -1
  16. package/dist/browser/display.d.ts +0 -1
  17. package/dist/browser/hlsPlaylistObserver.d.ts +3 -2
  18. package/dist/browser/hlsPlaylistObserver.js +9 -4
  19. package/dist/browser/hlsPlaylistObserver.js.map +1 -1
  20. package/dist/browser/index.d.ts +76 -26
  21. package/dist/browser/index.js +201 -101
  22. package/dist/browser/index.js.map +1 -1
  23. package/dist/browser/launchGovernor.d.ts +0 -1
  24. package/dist/browser/login.d.ts +8 -7
  25. package/dist/browser/login.js +25 -16
  26. package/dist/browser/login.js.map +1 -1
  27. package/dist/browser/manifestInterceptor.d.ts +14 -5
  28. package/dist/browser/manifestInterceptor.js +25 -12
  29. package/dist/browser/manifestInterceptor.js.map +1 -1
  30. package/dist/browser/navigation.d.ts +28 -0
  31. package/dist/browser/navigation.js +57 -0
  32. package/dist/browser/navigation.js.map +1 -0
  33. package/dist/browser/pageStaleness.d.ts +0 -1
  34. package/dist/browser/precaching.d.ts +4 -2
  35. package/dist/browser/precaching.js +39 -32
  36. package/dist/browser/precaching.js.map +1 -1
  37. package/dist/browser/tabCapture.d.ts +7 -10
  38. package/dist/browser/tabCapture.js +35 -41
  39. package/dist/browser/tabCapture.js.map +1 -1
  40. package/dist/browser/tabNetworkObserver.d.ts +0 -1
  41. package/dist/browser/tabSelection.d.ts +5 -5
  42. package/dist/browser/tabSelection.js +11 -10
  43. package/dist/browser/tabSelection.js.map +1 -1
  44. package/dist/browser/tuning/cache.d.ts +0 -1
  45. package/dist/browser/tuning/comcastPolymer.d.ts +0 -1
  46. package/dist/browser/tuning/comcastPolymer.js +16 -17
  47. package/dist/browser/tuning/comcastPolymer.js.map +1 -1
  48. package/dist/browser/tuning/cox.d.ts +0 -1
  49. package/dist/browser/tuning/directv.d.ts +0 -1
  50. package/dist/browser/tuning/directv.js +11 -12
  51. package/dist/browser/tuning/directv.js.map +1 -1
  52. package/dist/browser/tuning/fox.d.ts +0 -1
  53. package/dist/browser/tuning/fox.js +2 -2
  54. package/dist/browser/tuning/fox.js.map +1 -1
  55. package/dist/browser/tuning/gridSearch.d.ts +0 -1
  56. package/dist/browser/tuning/hbo.d.ts +0 -1
  57. package/dist/browser/tuning/hulu.d.ts +14 -2
  58. package/dist/browser/tuning/hulu.js +144 -21
  59. package/dist/browser/tuning/hulu.js.map +1 -1
  60. package/dist/browser/tuning/shared.d.ts +0 -1
  61. package/dist/browser/tuning/sling.d.ts +0 -1
  62. package/dist/browser/tuning/sling.js +17 -22
  63. package/dist/browser/tuning/sling.js.map +1 -1
  64. package/dist/browser/tuning/spectrum.d.ts +0 -1
  65. package/dist/browser/tuning/thumbnailRow.d.ts +0 -1
  66. package/dist/browser/tuning/tileClick.d.ts +0 -1
  67. package/dist/browser/tuning/xfinity.d.ts +0 -1
  68. package/dist/browser/tuning/youtubeTv.d.ts +0 -1
  69. package/dist/browser/video.d.ts +22 -20
  70. package/dist/browser/video.js +102 -119
  71. package/dist/browser/video.js.map +1 -1
  72. package/dist/browser/windowSync.d.ts +0 -1
  73. package/dist/channels/index.d.ts +0 -1
  74. package/dist/config/channelForm.d.ts +0 -1
  75. package/dist/config/channelIdentity.d.ts +27 -0
  76. package/dist/config/channelIdentity.js +72 -0
  77. package/dist/config/channelIdentity.js.map +1 -0
  78. package/dist/config/channelSort.d.ts +25 -0
  79. package/dist/config/channelSort.js +101 -0
  80. package/dist/config/channelSort.js.map +1 -0
  81. package/dist/config/consistencyProbe.d.ts +0 -1
  82. package/dist/config/health.d.ts +3 -2
  83. package/dist/config/health.js +41 -28
  84. package/dist/config/health.js.map +1 -1
  85. package/dist/config/index.d.ts +0 -1
  86. package/dist/config/paths.d.ts +0 -1
  87. package/dist/config/persistence.context.d.ts +0 -1
  88. package/dist/config/persistence.d.ts +0 -1
  89. package/dist/config/presets.d.ts +0 -1
  90. package/dist/config/profiles.d.ts +9 -4
  91. package/dist/config/profiles.js +37 -3
  92. package/dist/config/profiles.js.map +1 -1
  93. package/dist/config/providerLineups.d.ts +0 -1
  94. package/dist/config/reactivity.d.ts +0 -1
  95. package/dist/config/servicePacks.d.ts +0 -1
  96. package/dist/config/services.d.ts +1 -47
  97. package/dist/config/services.js +3 -134
  98. package/dist/config/services.js.map +1 -1
  99. package/dist/config/sites.d.ts +0 -9
  100. package/dist/config/sites.js +5 -40
  101. package/dist/config/sites.js.map +1 -1
  102. package/dist/config/userChannels.d.ts +22 -28
  103. package/dist/config/userChannels.js +46 -60
  104. package/dist/config/userChannels.js.map +1 -1
  105. package/dist/config/userConfig.d.ts +4 -1
  106. package/dist/config/userConfig.js +4 -0
  107. package/dist/config/userConfig.js.map +1 -1
  108. package/dist/config/userProfiles.d.ts +2 -3
  109. package/dist/config/userProfiles.js +6 -2
  110. package/dist/config/userProfiles.js.map +1 -1
  111. package/dist/hdhr/channelMap.d.ts +0 -1
  112. package/dist/hdhr/deviceId.d.ts +0 -1
  113. package/dist/hdhr/discover.d.ts +0 -1
  114. package/dist/hdhr/getHandlers.d.ts +0 -1
  115. package/dist/hdhr/identity.d.ts +0 -1
  116. package/dist/hdhr/index.d.ts +0 -1
  117. package/dist/hdhr/protocol.d.ts +0 -1
  118. package/dist/hdhr/tunerState.d.ts +0 -1
  119. package/dist/hdhr/udp.d.ts +0 -1
  120. package/dist/identity.d.ts +0 -1
  121. package/dist/index.d.ts +0 -1
  122. package/dist/native/codecInference.d.ts +5 -4
  123. package/dist/native/codecInference.js +12 -7
  124. package/dist/native/codecInference.js.map +1 -1
  125. package/dist/native/decrypt.d.ts +10 -3
  126. package/dist/native/decrypt.js +9 -5
  127. package/dist/native/decrypt.js.map +1 -1
  128. package/dist/native/index.d.ts +25 -23
  129. package/dist/native/index.js +23 -17
  130. package/dist/native/index.js.map +1 -1
  131. package/dist/native/probe.d.ts +7 -10
  132. package/dist/native/probe.js +40 -36
  133. package/dist/native/probe.js.map +1 -1
  134. package/dist/native/proxy.d.ts +2 -3
  135. package/dist/native/proxy.js +86 -64
  136. package/dist/native/proxy.js.map +1 -1
  137. package/dist/native/tokenExpiry.d.ts +0 -1
  138. package/dist/routes/assets.d.ts +0 -1
  139. package/dist/routes/auth.d.ts +0 -1
  140. package/dist/routes/auth.js +1 -1
  141. package/dist/routes/auth.js.map +1 -1
  142. package/dist/routes/cdp.d.ts +11 -5
  143. package/dist/routes/cdp.js +90 -62
  144. package/dist/routes/cdp.js.map +1 -1
  145. package/dist/routes/channels.d.ts +0 -1
  146. package/dist/routes/clientActions.d.ts +0 -1
  147. package/dist/routes/components.d.ts +0 -1
  148. package/dist/routes/config/channels/endpoints/browse.d.ts +0 -1
  149. package/dist/routes/config/channels/endpoints/bulk.d.ts +0 -1
  150. package/dist/routes/config/channels/endpoints/bulk.js +1 -1
  151. package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
  152. package/dist/routes/config/channels/endpoints/crud.d.ts +0 -1
  153. package/dist/routes/config/channels/endpoints/crud.js +3 -2
  154. package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
  155. package/dist/routes/config/channels/endpoints/importExport.d.ts +0 -1
  156. package/dist/routes/config/channels/endpoints/importExport.js +7 -3
  157. package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
  158. package/dist/routes/config/channels/endpoints/predefined.d.ts +0 -1
  159. package/dist/routes/config/channels/endpoints/prefs.d.ts +0 -1
  160. package/dist/routes/config/channels/endpoints/prefs.js +1 -1
  161. package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
  162. package/dist/routes/config/channels/endpoints/service.d.ts +0 -1
  163. package/dist/routes/config/channels/endpoints/service.js +8 -5
  164. package/dist/routes/config/channels/endpoints/service.js.map +1 -1
  165. package/dist/routes/config/channels/endpoints/tags.d.ts +0 -1
  166. package/dist/routes/config/channels/healthBridge.d.ts +0 -1
  167. package/dist/routes/config/channels/http/handler.d.ts +0 -1
  168. package/dist/routes/config/channels/http/playlistHint.d.ts +0 -1
  169. package/dist/routes/config/channels/http/serviceWarning.d.ts +0 -1
  170. package/dist/routes/config/channels/http/serviceWarning.js +1 -1
  171. package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
  172. package/dist/routes/config/channels/index.d.ts +0 -1
  173. package/dist/routes/config/channels/setup.d.ts +0 -1
  174. package/dist/routes/config/channels/table.d.ts +0 -1
  175. package/dist/routes/config/channels/table.js +2 -1
  176. package/dist/routes/config/channels/table.js.map +1 -1
  177. package/dist/routes/config/http/envelope.d.ts +0 -1
  178. package/dist/routes/config/index.d.ts +0 -1
  179. package/dist/routes/config/index.js +2 -1
  180. package/dist/routes/config/index.js.map +1 -1
  181. package/dist/routes/config/services.d.ts +0 -1
  182. package/dist/routes/config/services.js +4 -3
  183. package/dist/routes/config/services.js.map +1 -1
  184. package/dist/routes/config/settings.d.ts +0 -1
  185. package/dist/routes/config/settings.js +2 -1
  186. package/dist/routes/config/settings.js.map +1 -1
  187. package/dist/routes/debug.d.ts +0 -1
  188. package/dist/routes/health.d.ts +1 -2
  189. package/dist/routes/health.js +5 -2
  190. package/dist/routes/health.js.map +1 -1
  191. package/dist/routes/hls.d.ts +0 -1
  192. package/dist/routes/icons.d.ts +0 -1
  193. package/dist/routes/index.d.ts +0 -1
  194. package/dist/routes/logs.d.ts +3 -2
  195. package/dist/routes/logs.js +4 -2
  196. package/dist/routes/logs.js.map +1 -1
  197. package/dist/routes/mpegts.d.ts +0 -1
  198. package/dist/routes/play.d.ts +0 -1
  199. package/dist/routes/playlist.d.ts +0 -1
  200. package/dist/routes/playlist.js +2 -1
  201. package/dist/routes/playlist.js.map +1 -1
  202. package/dist/routes/root/content.d.ts +0 -1
  203. package/dist/routes/root/index.d.ts +0 -1
  204. package/dist/routes/root/scripts/channels.d.ts +0 -1
  205. package/dist/routes/root/scripts/channels.js +2 -2
  206. package/dist/routes/root/scripts/channels.js.map +1 -1
  207. package/dist/routes/root/scripts/clientEscape.d.ts +0 -1
  208. package/dist/routes/root/scripts/clientUrl.d.ts +0 -1
  209. package/dist/routes/root/scripts/config.d.ts +0 -1
  210. package/dist/routes/root/scripts/config.js +5 -26
  211. package/dist/routes/root/scripts/config.js.map +1 -1
  212. package/dist/routes/root/scripts/index.d.ts +0 -1
  213. package/dist/routes/root/scripts/shared.d.ts +0 -1
  214. package/dist/routes/root/scripts/status.d.ts +0 -1
  215. package/dist/routes/root/scripts/status.handlers.d.ts +0 -1
  216. package/dist/routes/root/scripts/status.handlers.js +3 -2
  217. package/dist/routes/root/scripts/status.handlers.js.map +1 -1
  218. package/dist/routes/root/styles.d.ts +0 -1
  219. package/dist/routes/services.d.ts +0 -1
  220. package/dist/routes/services.js +1 -1
  221. package/dist/routes/services.js.map +1 -1
  222. package/dist/routes/sse.d.ts +3 -2
  223. package/dist/routes/sse.js +7 -3
  224. package/dist/routes/sse.js.map +1 -1
  225. package/dist/routes/streams.d.ts +4 -2
  226. package/dist/routes/streams.js +8 -5
  227. package/dist/routes/streams.js.map +1 -1
  228. package/dist/routes/theme.d.ts +0 -1
  229. package/dist/routes/ui.d.ts +0 -1
  230. package/dist/routes/upgrade.d.ts +0 -1
  231. package/dist/routes/upgrade.js +2 -1
  232. package/dist/routes/upgrade.js.map +1 -1
  233. package/dist/service/commands.context.d.ts +0 -1
  234. package/dist/service/commands.context.js +7 -1
  235. package/dist/service/commands.context.js.map +1 -1
  236. package/dist/service/commands.d.ts +0 -1
  237. package/dist/service/generators.context.d.ts +0 -1
  238. package/dist/service/generators.d.ts +0 -1
  239. package/dist/service/index.d.ts +0 -1
  240. package/dist/streaming/captureLock.d.ts +1 -2
  241. package/dist/streaming/captureLock.js +6 -5
  242. package/dist/streaming/captureLock.js.map +1 -1
  243. package/dist/streaming/captureSession.d.ts +0 -1
  244. package/dist/streaming/clients.d.ts +4 -3
  245. package/dist/streaming/clients.js +5 -4
  246. package/dist/streaming/clients.js.map +1 -1
  247. package/dist/streaming/codec.d.ts +0 -1
  248. package/dist/streaming/fmp4Segmenter.d.ts +2 -1
  249. package/dist/streaming/fmp4Segmenter.js +12 -11
  250. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  251. package/dist/streaming/hls.d.ts +34 -1
  252. package/dist/streaming/hls.js +121 -54
  253. package/dist/streaming/hls.js.map +1 -1
  254. package/dist/streaming/hlsResume.d.ts +8 -5
  255. package/dist/streaming/hlsResume.js +10 -8
  256. package/dist/streaming/hlsResume.js.map +1 -1
  257. package/dist/streaming/hlsSegments.d.ts +9 -7
  258. package/dist/streaming/hlsSegments.js +19 -14
  259. package/dist/streaming/hlsSegments.js.map +1 -1
  260. package/dist/streaming/lifecycle.d.ts +5 -4
  261. package/dist/streaming/lifecycle.js +25 -13
  262. package/dist/streaming/lifecycle.js.map +1 -1
  263. package/dist/streaming/monitor.d.ts +3 -2
  264. package/dist/streaming/monitor.js +63 -57
  265. package/dist/streaming/monitor.js.map +1 -1
  266. package/dist/streaming/mp4Parser.d.ts +0 -1
  267. package/dist/streaming/mpegts.d.ts +0 -1
  268. package/dist/streaming/mpegts.js +23 -7
  269. package/dist/streaming/mpegts.js.map +1 -1
  270. package/dist/streaming/playlistBuilder.d.ts +0 -1
  271. package/dist/streaming/preroll.d.ts +34 -15
  272. package/dist/streaming/preroll.js +30 -28
  273. package/dist/streaming/preroll.js.map +1 -1
  274. package/dist/streaming/pretune.d.ts +2 -3
  275. package/dist/streaming/pretune.js +45 -45
  276. package/dist/streaming/pretune.js.map +1 -1
  277. package/dist/streaming/pretuneTimers.d.ts +16 -12
  278. package/dist/streaming/pretuneTimers.js +27 -37
  279. package/dist/streaming/pretuneTimers.js.map +1 -1
  280. package/dist/streaming/recovery.d.ts +7 -5
  281. package/dist/streaming/recovery.js +10 -7
  282. package/dist/streaming/recovery.js.map +1 -1
  283. package/dist/streaming/registry.d.ts +23 -5
  284. package/dist/streaming/registry.js +17 -3
  285. package/dist/streaming/registry.js.map +1 -1
  286. package/dist/streaming/setup.d.ts +39 -7
  287. package/dist/streaming/setup.js +130 -65
  288. package/dist/streaming/setup.js.map +1 -1
  289. package/dist/streaming/showInfo.d.ts +8 -4
  290. package/dist/streaming/showInfo.js +54 -45
  291. package/dist/streaming/showInfo.js.map +1 -1
  292. package/dist/streaming/statusEmitter.d.ts +1 -2
  293. package/dist/streaming/statusEmitter.js +1 -1
  294. package/dist/streaming/statusEmitter.js.map +1 -1
  295. package/dist/types/channels.d.ts +0 -1
  296. package/dist/types/config.d.ts +0 -1
  297. package/dist/types/index.d.ts +1 -2
  298. package/dist/types/index.js.map +1 -1
  299. package/dist/types/profiles.d.ts +1 -1
  300. package/dist/types/selection.d.ts +10 -1
  301. package/dist/types/shared.d.ts +0 -1
  302. package/dist/types/streaming.d.ts +0 -1
  303. package/dist/upgrade/commands.context.d.ts +0 -1
  304. package/dist/upgrade/commands.d.ts +0 -1
  305. package/dist/upgrade/detection.context.d.ts +0 -1
  306. package/dist/upgrade/detection.d.ts +0 -1
  307. package/dist/upgrade/index.d.ts +0 -1
  308. package/dist/upgrade/lifecycle.context.d.ts +2 -1
  309. package/dist/upgrade/lifecycle.context.js +9 -4
  310. package/dist/upgrade/lifecycle.context.js.map +1 -1
  311. package/dist/upgrade/lifecycle.d.ts +0 -1
  312. package/dist/upgrade/pathHandle.d.ts +0 -1
  313. package/dist/utils/bootSession.context.d.ts +0 -1
  314. package/dist/utils/bootSession.context.js +2 -1
  315. package/dist/utils/bootSession.context.js.map +1 -1
  316. package/dist/utils/bootSession.d.ts +0 -1
  317. package/dist/utils/chromeFetch.d.ts +0 -1
  318. package/dist/utils/cliOutput.d.ts +0 -1
  319. package/dist/utils/debugFilter.d.ts +0 -1
  320. package/dist/utils/delay.d.ts +47 -25
  321. package/dist/utils/delay.js +74 -37
  322. package/dist/utils/delay.js.map +1 -1
  323. package/dist/utils/errors.d.ts +0 -1
  324. package/dist/utils/evaluate.d.ts +11 -3
  325. package/dist/utils/evaluate.js +4 -3
  326. package/dist/utils/evaluate.js.map +1 -1
  327. package/dist/utils/ffmpeg.context.d.ts +0 -1
  328. package/dist/utils/ffmpeg.d.ts +0 -1
  329. package/dist/utils/fileLogger.d.ts +3 -2
  330. package/dist/utils/fileLogger.js +16 -8
  331. package/dist/utils/fileLogger.js.map +1 -1
  332. package/dist/utils/format.d.ts +12 -3
  333. package/dist/utils/format.js +29 -11
  334. package/dist/utils/format.js.map +1 -1
  335. package/dist/utils/index.d.ts +0 -2
  336. package/dist/utils/index.js +0 -1
  337. package/dist/utils/index.js.map +1 -1
  338. package/dist/utils/logEmitter.d.ts +0 -1
  339. package/dist/utils/logger.d.ts +0 -1
  340. package/dist/utils/m3u.d.ts +0 -1
  341. package/dist/utils/markup.d.ts +0 -1
  342. package/dist/utils/memo.d.ts +0 -1
  343. package/dist/utils/morganStream.d.ts +0 -1
  344. package/dist/utils/network.d.ts +0 -1
  345. package/dist/utils/never.d.ts +0 -1
  346. package/dist/utils/pid.d.ts +0 -1
  347. package/dist/utils/platform.d.ts +0 -1
  348. package/dist/utils/processInspector.context.d.ts +32 -2
  349. package/dist/utils/processInspector.context.js +117 -1
  350. package/dist/utils/processInspector.context.js.map +1 -1
  351. package/dist/utils/processInspector.d.ts +0 -32
  352. package/dist/utils/processInspector.js +10 -117
  353. package/dist/utils/processInspector.js.map +1 -1
  354. package/dist/utils/retry.d.ts +5 -4
  355. package/dist/utils/retry.js +43 -33
  356. package/dist/utils/retry.js.map +1 -1
  357. package/dist/utils/runtimeIdentity.context.d.ts +0 -1
  358. package/dist/utils/runtimeIdentity.context.js +3 -1
  359. package/dist/utils/runtimeIdentity.context.js.map +1 -1
  360. package/dist/utils/runtimeIdentity.d.ts +1 -1
  361. package/dist/utils/runtimeIdentity.js +1 -1
  362. package/dist/utils/runtimeIdentity.js.map +1 -1
  363. package/dist/utils/sanitize.d.ts +0 -1
  364. package/dist/utils/streamContext.d.ts +0 -1
  365. package/dist/utils/timing.d.ts +3 -4
  366. package/dist/utils/timing.js +4 -4
  367. package/dist/utils/timing.js.map +1 -1
  368. package/dist/utils/version.d.ts +5 -4
  369. package/dist/utils/version.js +35 -24
  370. package/dist/utils/version.js.map +1 -1
  371. package/package.json +7 -7
  372. package/dist/app.d.ts.map +0 -1
  373. package/dist/browser/blockedPage.d.ts.map +0 -1
  374. package/dist/browser/browserSupervisor.d.ts.map +0 -1
  375. package/dist/browser/cdp.d.ts.map +0 -1
  376. package/dist/browser/channelSelection.d.ts.map +0 -1
  377. package/dist/browser/consent.d.ts.map +0 -1
  378. package/dist/browser/display.d.ts.map +0 -1
  379. package/dist/browser/hlsPlaylistObserver.d.ts.map +0 -1
  380. package/dist/browser/index.d.ts.map +0 -1
  381. package/dist/browser/launchGovernor.d.ts.map +0 -1
  382. package/dist/browser/login.d.ts.map +0 -1
  383. package/dist/browser/manifestInterceptor.d.ts.map +0 -1
  384. package/dist/browser/pageStaleness.d.ts.map +0 -1
  385. package/dist/browser/precaching.d.ts.map +0 -1
  386. package/dist/browser/tabCapture.d.ts.map +0 -1
  387. package/dist/browser/tabNetworkObserver.d.ts.map +0 -1
  388. package/dist/browser/tabSelection.d.ts.map +0 -1
  389. package/dist/browser/tuning/cache.d.ts.map +0 -1
  390. package/dist/browser/tuning/comcastPolymer.d.ts.map +0 -1
  391. package/dist/browser/tuning/cox.d.ts.map +0 -1
  392. package/dist/browser/tuning/directv.d.ts.map +0 -1
  393. package/dist/browser/tuning/fox.d.ts.map +0 -1
  394. package/dist/browser/tuning/gridSearch.d.ts.map +0 -1
  395. package/dist/browser/tuning/hbo.d.ts.map +0 -1
  396. package/dist/browser/tuning/hulu.d.ts.map +0 -1
  397. package/dist/browser/tuning/shared.d.ts.map +0 -1
  398. package/dist/browser/tuning/sling.d.ts.map +0 -1
  399. package/dist/browser/tuning/spectrum.d.ts.map +0 -1
  400. package/dist/browser/tuning/thumbnailRow.d.ts.map +0 -1
  401. package/dist/browser/tuning/tileClick.d.ts.map +0 -1
  402. package/dist/browser/tuning/xfinity.d.ts.map +0 -1
  403. package/dist/browser/tuning/youtubeTv.d.ts.map +0 -1
  404. package/dist/browser/video.d.ts.map +0 -1
  405. package/dist/browser/windowSync.d.ts.map +0 -1
  406. package/dist/channels/index.d.ts.map +0 -1
  407. package/dist/config/channelForm.d.ts.map +0 -1
  408. package/dist/config/consistencyProbe.d.ts.map +0 -1
  409. package/dist/config/health.d.ts.map +0 -1
  410. package/dist/config/index.d.ts.map +0 -1
  411. package/dist/config/paths.d.ts.map +0 -1
  412. package/dist/config/persistence.context.d.ts.map +0 -1
  413. package/dist/config/persistence.d.ts.map +0 -1
  414. package/dist/config/presets.d.ts.map +0 -1
  415. package/dist/config/profiles.d.ts.map +0 -1
  416. package/dist/config/providerLineups.d.ts.map +0 -1
  417. package/dist/config/reactivity.d.ts.map +0 -1
  418. package/dist/config/servicePacks.d.ts.map +0 -1
  419. package/dist/config/services.d.ts.map +0 -1
  420. package/dist/config/sites.d.ts.map +0 -1
  421. package/dist/config/userChannels.d.ts.map +0 -1
  422. package/dist/config/userConfig.d.ts.map +0 -1
  423. package/dist/config/userProfiles.d.ts.map +0 -1
  424. package/dist/hdhr/channelMap.d.ts.map +0 -1
  425. package/dist/hdhr/deviceId.d.ts.map +0 -1
  426. package/dist/hdhr/discover.d.ts.map +0 -1
  427. package/dist/hdhr/getHandlers.d.ts.map +0 -1
  428. package/dist/hdhr/identity.d.ts.map +0 -1
  429. package/dist/hdhr/index.d.ts.map +0 -1
  430. package/dist/hdhr/protocol.d.ts.map +0 -1
  431. package/dist/hdhr/tunerState.d.ts.map +0 -1
  432. package/dist/hdhr/udp.d.ts.map +0 -1
  433. package/dist/identity.d.ts.map +0 -1
  434. package/dist/index.d.ts.map +0 -1
  435. package/dist/native/codecInference.d.ts.map +0 -1
  436. package/dist/native/decrypt.d.ts.map +0 -1
  437. package/dist/native/index.d.ts.map +0 -1
  438. package/dist/native/probe.d.ts.map +0 -1
  439. package/dist/native/proxy.d.ts.map +0 -1
  440. package/dist/native/tokenExpiry.d.ts.map +0 -1
  441. package/dist/routes/assets.d.ts.map +0 -1
  442. package/dist/routes/auth.d.ts.map +0 -1
  443. package/dist/routes/cdp.d.ts.map +0 -1
  444. package/dist/routes/channels.d.ts.map +0 -1
  445. package/dist/routes/clientActions.d.ts.map +0 -1
  446. package/dist/routes/components.d.ts.map +0 -1
  447. package/dist/routes/config/channels/endpoints/browse.d.ts.map +0 -1
  448. package/dist/routes/config/channels/endpoints/bulk.d.ts.map +0 -1
  449. package/dist/routes/config/channels/endpoints/crud.d.ts.map +0 -1
  450. package/dist/routes/config/channels/endpoints/importExport.d.ts.map +0 -1
  451. package/dist/routes/config/channels/endpoints/predefined.d.ts.map +0 -1
  452. package/dist/routes/config/channels/endpoints/prefs.d.ts.map +0 -1
  453. package/dist/routes/config/channels/endpoints/service.d.ts.map +0 -1
  454. package/dist/routes/config/channels/endpoints/tags.d.ts.map +0 -1
  455. package/dist/routes/config/channels/healthBridge.d.ts.map +0 -1
  456. package/dist/routes/config/channels/http/handler.d.ts.map +0 -1
  457. package/dist/routes/config/channels/http/playlistHint.d.ts.map +0 -1
  458. package/dist/routes/config/channels/http/serviceWarning.d.ts.map +0 -1
  459. package/dist/routes/config/channels/index.d.ts.map +0 -1
  460. package/dist/routes/config/channels/setup.d.ts.map +0 -1
  461. package/dist/routes/config/channels/table.d.ts.map +0 -1
  462. package/dist/routes/config/http/envelope.d.ts.map +0 -1
  463. package/dist/routes/config/index.d.ts.map +0 -1
  464. package/dist/routes/config/services.d.ts.map +0 -1
  465. package/dist/routes/config/settings.d.ts.map +0 -1
  466. package/dist/routes/debug.d.ts.map +0 -1
  467. package/dist/routes/health.d.ts.map +0 -1
  468. package/dist/routes/hls.d.ts.map +0 -1
  469. package/dist/routes/icons.d.ts.map +0 -1
  470. package/dist/routes/index.d.ts.map +0 -1
  471. package/dist/routes/logs.d.ts.map +0 -1
  472. package/dist/routes/mpegts.d.ts.map +0 -1
  473. package/dist/routes/play.d.ts.map +0 -1
  474. package/dist/routes/playlist.d.ts.map +0 -1
  475. package/dist/routes/root/content.d.ts.map +0 -1
  476. package/dist/routes/root/index.d.ts.map +0 -1
  477. package/dist/routes/root/scripts/channels.d.ts.map +0 -1
  478. package/dist/routes/root/scripts/clientEscape.d.ts.map +0 -1
  479. package/dist/routes/root/scripts/clientUrl.d.ts.map +0 -1
  480. package/dist/routes/root/scripts/config.d.ts.map +0 -1
  481. package/dist/routes/root/scripts/index.d.ts.map +0 -1
  482. package/dist/routes/root/scripts/shared.d.ts.map +0 -1
  483. package/dist/routes/root/scripts/status.d.ts.map +0 -1
  484. package/dist/routes/root/scripts/status.handlers.d.ts.map +0 -1
  485. package/dist/routes/root/styles.d.ts.map +0 -1
  486. package/dist/routes/services.d.ts.map +0 -1
  487. package/dist/routes/sse.d.ts.map +0 -1
  488. package/dist/routes/streams.d.ts.map +0 -1
  489. package/dist/routes/theme.d.ts.map +0 -1
  490. package/dist/routes/ui.d.ts.map +0 -1
  491. package/dist/routes/upgrade.d.ts.map +0 -1
  492. package/dist/service/commands.context.d.ts.map +0 -1
  493. package/dist/service/commands.d.ts.map +0 -1
  494. package/dist/service/generators.context.d.ts.map +0 -1
  495. package/dist/service/generators.d.ts.map +0 -1
  496. package/dist/service/index.d.ts.map +0 -1
  497. package/dist/streaming/captureLock.d.ts.map +0 -1
  498. package/dist/streaming/captureSession.d.ts.map +0 -1
  499. package/dist/streaming/clients.d.ts.map +0 -1
  500. package/dist/streaming/codec.d.ts.map +0 -1
  501. package/dist/streaming/fmp4Segmenter.d.ts.map +0 -1
  502. package/dist/streaming/hls.d.ts.map +0 -1
  503. package/dist/streaming/hlsResume.d.ts.map +0 -1
  504. package/dist/streaming/hlsSegments.d.ts.map +0 -1
  505. package/dist/streaming/lifecycle.d.ts.map +0 -1
  506. package/dist/streaming/monitor.d.ts.map +0 -1
  507. package/dist/streaming/mp4Parser.d.ts.map +0 -1
  508. package/dist/streaming/mpegts.d.ts.map +0 -1
  509. package/dist/streaming/playlistBuilder.d.ts.map +0 -1
  510. package/dist/streaming/preroll.d.ts.map +0 -1
  511. package/dist/streaming/pretune.d.ts.map +0 -1
  512. package/dist/streaming/pretuneTimers.d.ts.map +0 -1
  513. package/dist/streaming/recovery.d.ts.map +0 -1
  514. package/dist/streaming/registry.d.ts.map +0 -1
  515. package/dist/streaming/setup.d.ts.map +0 -1
  516. package/dist/streaming/showInfo.d.ts.map +0 -1
  517. package/dist/streaming/statusEmitter.d.ts.map +0 -1
  518. package/dist/types/channels.d.ts.map +0 -1
  519. package/dist/types/config.d.ts.map +0 -1
  520. package/dist/types/index.d.ts.map +0 -1
  521. package/dist/types/profiles.d.ts.map +0 -1
  522. package/dist/types/selection.d.ts.map +0 -1
  523. package/dist/types/shared.d.ts.map +0 -1
  524. package/dist/types/streaming.d.ts.map +0 -1
  525. package/dist/upgrade/commands.context.d.ts.map +0 -1
  526. package/dist/upgrade/commands.d.ts.map +0 -1
  527. package/dist/upgrade/detection.context.d.ts.map +0 -1
  528. package/dist/upgrade/detection.d.ts.map +0 -1
  529. package/dist/upgrade/index.d.ts.map +0 -1
  530. package/dist/upgrade/lifecycle.context.d.ts.map +0 -1
  531. package/dist/upgrade/lifecycle.d.ts.map +0 -1
  532. package/dist/upgrade/pathHandle.d.ts.map +0 -1
  533. package/dist/utils/bootSession.context.d.ts.map +0 -1
  534. package/dist/utils/bootSession.d.ts.map +0 -1
  535. package/dist/utils/chromeFetch.d.ts.map +0 -1
  536. package/dist/utils/cliOutput.d.ts.map +0 -1
  537. package/dist/utils/clock.d.ts +0 -15
  538. package/dist/utils/clock.d.ts.map +0 -1
  539. package/dist/utils/clock.js +0 -31
  540. package/dist/utils/clock.js.map +0 -1
  541. package/dist/utils/debugFilter.d.ts.map +0 -1
  542. package/dist/utils/delay.d.ts.map +0 -1
  543. package/dist/utils/errors.d.ts.map +0 -1
  544. package/dist/utils/evaluate.d.ts.map +0 -1
  545. package/dist/utils/ffmpeg.context.d.ts.map +0 -1
  546. package/dist/utils/ffmpeg.d.ts.map +0 -1
  547. package/dist/utils/fileLogger.d.ts.map +0 -1
  548. package/dist/utils/format.d.ts.map +0 -1
  549. package/dist/utils/index.d.ts.map +0 -1
  550. package/dist/utils/logEmitter.d.ts.map +0 -1
  551. package/dist/utils/logger.d.ts.map +0 -1
  552. package/dist/utils/m3u.d.ts.map +0 -1
  553. package/dist/utils/markup.d.ts.map +0 -1
  554. package/dist/utils/memo.d.ts.map +0 -1
  555. package/dist/utils/morganStream.d.ts.map +0 -1
  556. package/dist/utils/network.d.ts.map +0 -1
  557. package/dist/utils/never.d.ts.map +0 -1
  558. package/dist/utils/pid.d.ts.map +0 -1
  559. package/dist/utils/platform.d.ts.map +0 -1
  560. package/dist/utils/processInspector.context.d.ts.map +0 -1
  561. package/dist/utils/processInspector.d.ts.map +0 -1
  562. package/dist/utils/retry.d.ts.map +0 -1
  563. package/dist/utils/runtimeIdentity.context.d.ts.map +0 -1
  564. package/dist/utils/runtimeIdentity.d.ts.map +0 -1
  565. package/dist/utils/sanitize.d.ts.map +0 -1
  566. package/dist/utils/streamContext.d.ts.map +0 -1
  567. package/dist/utils/timing.d.ts.map +0 -1
  568. package/dist/utils/version.d.ts.map +0 -1
@@ -1,3 +1,15 @@
1
- import type { ProviderModule } from "../../types/index.ts";
1
+ import type { Nullable, ProviderModule } from "../../types/index.ts";
2
+ export interface HuluListingProgram {
3
+ airingEnd: string;
4
+ airingStart: string;
5
+ eab: string;
6
+ }
7
+ /**
8
+ * Finds the currently-airing EAB from a program schedule array. Searches the programs for one whose airing window brackets the current time. Returns null if the
9
+ * array is empty or no program is currently airing (stale data or program boundary gap).
10
+ * @param programs - Array of programs with EAB IDs and airing times.
11
+ * @param now - The instant the airing windows are compared against.
12
+ * @returns The currently-airing EAB string, or null if no match.
13
+ */
14
+ export declare function findCurrentEabFromPrograms(programs: HuluListingProgram[], now: number): Nullable<string>;
2
15
  export declare const huluProvider: ProviderModule;
3
- //# sourceMappingURL=hulu.d.ts.map
@@ -1,8 +1,11 @@
1
1
  import { LOG, delay, evaluateWithAbort, formatError } from "../../utils/index.js";
2
2
  import { installOrReplaceOnNewDocument, logAvailableChannels, normalizeChannelName, scrollAndClick } from "./shared.js";
3
3
  import { CONFIG } from "../../config/index.js";
4
+ import { clickSelectorByCoordinate } from "../consent.js";
4
5
  import { createProviderChannelCache } from "./cache.js";
6
+ import { loadDocument } from "../navigation.js";
5
7
  import { searchVirtualizedGrid } from "./gridSearch.js";
8
+ import { systemClock } from "homebridge-plugin-utils";
6
9
  // Unified channel cache for Hulu. Maps normalized channel names to their combined entry. Aliases (e.g., "abc" -> same entry as "wls") share object references for
7
10
  // automatic propagation of fresh programs and EAB data. Cleared on browser disconnect via clearHuluCache(). An affiliate projects into discovery output with its
8
11
  // network name as the channelSelector; every other channel projects with its display name.
@@ -23,6 +26,24 @@ const huluPagesWithListeners = new WeakSet();
23
26
  // 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
24
27
  // grid's Channels tab click triggers full API expansion, and the interceptor captures UUID+EAB from those expanded responses.
25
28
  const HULU_LIVE_URL = "https://www.hulu.com/live";
29
+ // The home hub the live guide is entered from when a direct load of the guide fails at Hulu's edge. Its header carries the Live link, which routes to the guide
30
+ // inside the page rather than requesting the guide's URL, and that in-page route is the one the site itself takes.
31
+ const HULU_HUB_URL = "https://www.hulu.com/hub/home";
32
+ // The header's Live link. It carries no test id, so its route is what identifies it; the first match in document order is the header's.
33
+ const HULU_LIVE_NAV_SELECTOR = "a[href=\"/live\"]";
34
+ // The guide's path the Live link routes to: what the hub entry waits for the main frame to reach before handing the page back.
35
+ const HULU_LIVE_PATH = "/live";
36
+ // How every Hulu document load waits. The guide is a heavy single-page application whose load event is unreliable, so the wait is for network idle; the
37
+ // provider profile below declares the same preference from this one statement.
38
+ const HULU_DOCUMENT_LOAD = { waitForNetworkIdle: true };
39
+ /* Whether the most recent direct load of the live guide failed at Hulu's edge. The failed status is the whole signal - it arrives in a second or two where the
40
+ * guide's missing Channels tab would cost the video timeout - and a tune reads this rather than repeating an attempt discovery has already seen fail. It
41
+ * describes Hulu's server, not this browser session, which is why it is not among the caches a relaunch or a precache clears: every discovery walk re-tests the
42
+ * direct load and rewrites it, and a tune that attempts the direct load rewrites it too, so it is never older than the last precache. A session whose precache
43
+ * filter excludes Hulu has no re-test and keeps the hub route until the next start, which is a working route at a cost of about two seconds per tune. The
44
+ * transitions are what get logged, once each way.
45
+ */
46
+ let directGuideEntryBroken = false;
26
47
  /**
27
48
  * Clears all Hulu caches: the unified channel cache along with its completeness mark, and the listing staging map. Called by clearChannelSelectionCaches() in the
28
49
  * coordinator when the browser restarts, since cached state may be stale in a new browser session.
@@ -96,10 +117,10 @@ function populateHuluChannelCache(items) {
96
117
  * Finds the currently-airing EAB from a program schedule array. Searches the programs for one whose airing window brackets the current time. Returns null if the
97
118
  * array is empty or no program is currently airing (stale data or program boundary gap).
98
119
  * @param programs - Array of programs with EAB IDs and airing times.
120
+ * @param now - The instant the airing windows are compared against.
99
121
  * @returns The currently-airing EAB string, or null if no match.
100
122
  */
101
- function findCurrentEabFromPrograms(programs) {
102
- const now = Date.now();
123
+ export function findCurrentEabFromPrograms(programs, now) {
103
124
  for (const program of programs) {
104
125
  if ((now >= new Date(program.airingStart).getTime()) && (now < new Date(program.airingEnd).getTime())) {
105
126
  return program.eab;
@@ -478,7 +499,7 @@ async function tryFastPathTune(page, entry, channelName) {
478
499
  // Phase 1: If UUID and programs are available from the unified cache, attempt to inject the UUID along with the current EAB into the in-page interceptor. This
479
500
  // is the primary mechanism for local affiliates (where the interceptor can't self-resolve by name) and a secondary mechanism for exact-match channels.
480
501
  if (entry?.uuid && entry.programs) {
481
- const currentEab = findCurrentEabFromPrograms(entry.programs);
502
+ const currentEab = findCurrentEabFromPrograms(entry.programs, systemClock.now());
482
503
  if (currentEab) {
483
504
  const injected = await page.evaluate((u, e) => {
484
505
  // The __prismcast* bridge functions are installed on window by the evaluateOnNewDocument fetch interceptor earlier in this module. The double cast reads
@@ -597,6 +618,104 @@ async function handleProfileSelectorIfPresent(page) {
597
618
  LOG.warn("Hulu profile selection click did not complete cleanly: %s.", formatError(error));
598
619
  }
599
620
  }
621
+ /**
622
+ * Records what a direct load of the live guide answered, and announces the two transitions. A tune reads the memo rather than repeating an attempt discovery has
623
+ * already seen fail, so the value written here is what decides whether the next tune spends an attempt on the direct URL. Only a change of state is logged: a
624
+ * fallback that is already in force has nothing new to report, and a line per tune would bury the two moments that matter.
625
+ * @param failedStatus - The HTTP status the direct load answered with, or null when it answered successfully.
626
+ */
627
+ function recordDirectGuideEntry(failedStatus) {
628
+ const broken = failedStatus !== null;
629
+ if (broken === directGuideEntryBroken) {
630
+ return;
631
+ }
632
+ directGuideEntryBroken = broken;
633
+ if (broken) {
634
+ LOG.info("Hulu's live guide is unavailable by direct navigation (HTTP %s). Entering it through hulu.com until it recovers.", failedStatus);
635
+ return;
636
+ }
637
+ LOG.info("Hulu's live guide is reachable by direct navigation again.");
638
+ }
639
+ /**
640
+ * Clicks the home hub's Live link at the link's own coordinates, and fails when the hub laid out no link to click. The visible wait has just passed, so a link
641
+ * that cannot be located is a layout race rather than a hub without a Live link. The failure is not a TimeoutError, so the route's catch carries it back as it
642
+ * stands instead of rewording it as a route that did not land.
643
+ * @param page - The Puppeteer page object.
644
+ */
645
+ async function clickLiveLink(page) {
646
+ const clicked = await clickSelectorByCoordinate(page, HULU_LIVE_NAV_SELECTOR);
647
+ if (!clicked) {
648
+ throw new Error("Hulu's home hub laid out no Live link to click.");
649
+ }
650
+ }
651
+ /**
652
+ * Enters the live guide the way a viewer does: load the home hub, then click the Live link in its header and wait for the application to route to the guide. The link
653
+ * routes inside the single-page application rather than requesting the guide's URL, which is what makes this route work while a direct request for that URL does
654
+ * not. The document the route renders is the same one the direct load would have produced, so the Channels tab wait and everything after it run unchanged.
655
+ *
656
+ * Errors propagate. A hub that will not route is a failed navigation, and the callers' own retry and failure handling own what happens next.
657
+ * @param page - The Puppeteer page object.
658
+ */
659
+ async function enterHuluGuideThroughHub(page) {
660
+ await loadDocument(page, HULU_HUB_URL, HULU_DOCUMENT_LOAD);
661
+ // The "Who's Watching?" picker can front the hub exactly as it fronts the guide, and it would swallow the Live link click.
662
+ await handleProfileSelectorIfPresent(page);
663
+ // We wait for the link to become VISIBLE rather than merely present, for the same reason the Channels tab wait does: the header renders before it is
664
+ // interactive, and clicking it early dispatches an event the application ignores. The click goes through the real pointer chain, so the page receives the
665
+ // pointer's arrival (the move, the press, the release) and the user activation a trusted click grants. Hulu's live page reveals its guide chrome on pointer
666
+ // activity, and a DOM click carries none of that: the route lands and the guide never renders (measured 2026-09-13). The helper hit-tests the point before
667
+ // it dispatches, falling back to the in-page click only when another element covers the link.
668
+ await page.waitForSelector(HULU_LIVE_NAV_SELECTOR, { timeout: CONFIG.streaming.navigationTimeout, visible: true });
669
+ /* The route is awaited on the navigation signal the application's own history push raises: Chrome reports the main frame's new URL over the protocol and
670
+ * Puppeteer raises its frame-navigated event on it, so the wait needs nothing from inside the page - a condition polled from within the document is never
671
+ * evaluated in a document Chrome is not painting, and neither the discovery window nor a tune's tab is always one it is (measured 2026-09-13). The frame
672
+ * wait rather than the navigation wait, because the navigation wait also requires the frame's lifecycle events and Hulu's documents never fire the load
673
+ * event, while one of the hub's child frames never reports DOMContentLoaded either. The wait is armed before the click so a route that lands first is never
674
+ * missed, and the route names its own timeout: the wait's wording says nothing about which wait lapsed, and the capture-fault classifier on this failure
675
+ * path matches the wording of a lapsed wait, which a page-level wait must never supply.
676
+ */
677
+ try {
678
+ await Promise.all([
679
+ page.waitForFrame((frame) => (frame === page.mainFrame()) && (new URL(frame.url()).pathname === HULU_LIVE_PATH), { timeout: CONFIG.streaming.navigationTimeout }),
680
+ clickLiveLink(page)
681
+ ]);
682
+ }
683
+ catch (error) {
684
+ if (error && (error.name === "TimeoutError")) {
685
+ throw new Error("Hulu's home hub did not route to the live guide within " + String(CONFIG.streaming.navigationTimeout) + "ms.", { cause: error });
686
+ }
687
+ throw error;
688
+ }
689
+ }
690
+ /**
691
+ * The one way into the live guide, used by discovery and by every tune. It tries the direct URL first and judges it on the document's own status, which is the
692
+ * definitive signal and arrives in a second or two where a missing Channels tab would cost the whole video timeout. A failed status falls through to the hub
693
+ * route inside the same attempt, so the tune that discovered the failure still tunes, at a cost of about two seconds. A tune that already knows the direct load
694
+ * is failing skips it and goes straight to the hub, spending nothing on an attempt that has just been seen to fail.
695
+ *
696
+ * Discovery asks for the re-test, which is what returns the direct route the moment Hulu fixes their side: every precache walk tries the direct URL regardless of
697
+ * what the last one found.
698
+ * @param page - The Puppeteer page object.
699
+ * @param url - The guide URL to enter.
700
+ * @param options - Whether to try the direct load even when the last attempt failed, which is discovery's re-test.
701
+ */
702
+ async function enterHuluGuide(page, url, options = {}) {
703
+ if (options.retestDirect || !directGuideEntryBroken) {
704
+ const response = await loadDocument(page, url, HULU_DOCUMENT_LOAD);
705
+ /* A tolerated navigation timeout says nothing about Hulu's edge - the request may well have been answered and only some background call left the page short
706
+ * of idle - so the memo is left as it stands and the page is handed back as it loaded, exactly as every other site's timeout is.
707
+ */
708
+ if (!response) {
709
+ return;
710
+ }
711
+ if (response.ok()) {
712
+ recordDirectGuideEntry(null);
713
+ return;
714
+ }
715
+ recordDirectGuideEntry(response.status());
716
+ }
717
+ await enterHuluGuideThroughHub(page);
718
+ }
600
719
  /**
601
720
  * Guide grid strategy: finds a channel in a virtualized, alphabetically sorted channel grid by scrolling the page to the target row using binary search, then
602
721
  * clicking the on-now program cell to open the playback overlay. This strategy works for sites like Hulu Live TV where the channel guide is rendered as a
@@ -632,12 +751,13 @@ async function guideGridStrategy(page, profile) {
632
751
  await handleProfileSelectorIfPresent(page);
633
752
  // Ensure the guide is open and on the correct tab. We wait for the tab button to become VISIBLE (not just present in the DOM) because the guide overlay may exist
634
753
  // in the DOM structure while still hidden during page initialization or animation. Clicking a hidden button dispatches a DOM event but has no visual effect - the
635
- // guide remains hidden and the virtualizer never populates rows. We use $eval for the click because overlapping elements (spinners, overlays) can intercept
636
- // Puppeteer's coordinate-based mouse events.
754
+ // guide remains hidden and the virtualizer never populates rows. The click is dispatched as a real pointer chain at the tab's own coordinates, which is what
755
+ // React's handlers on Hulu's application answer to, and the helper hit-tests the point first, so a spinner or an overlay covering the tab is reached by the
756
+ // in-page click instead.
637
757
  if (listSelector) {
638
758
  try {
639
759
  await page.waitForSelector(listSelector, { timeout: CONFIG.streaming.videoTimeout, visible: true });
640
- await page.$eval(listSelector, (el) => { el.click(); });
760
+ await clickSelectorByCoordinate(page, listSelector);
641
761
  // Brief delay for the tab switch animation and virtualizer initialization.
642
762
  await delay(300);
643
763
  }
@@ -662,7 +782,7 @@ async function guideGridStrategy(page, profile) {
662
782
  LOG.debug("tuning:hulu", "Guide rows not visible after initial wait. Retrying tab click for %s.", listSelector);
663
783
  try {
664
784
  // eslint-disable-next-line no-await-in-loop
665
- await page.$eval(listSelector, (el) => { el.click(); });
785
+ await clickSelectorByCoordinate(page, listSelector);
666
786
  // eslint-disable-next-line no-await-in-loop
667
787
  await delay(500);
668
788
  }
@@ -929,7 +1049,7 @@ async function resolveHuluDirectUrl(channelSelector, page) {
929
1049
  // Look up the currently-airing EAB for the target channel (if UUID and programs are known). On warm cache (both UUID and EAB available), the interceptor has
930
1050
  // both at install 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
931
1051
  // expansion.
932
- const cachedEab = (cachedEntry?.programs) ? findCurrentEabFromPrograms(cachedEntry.programs) : null;
1052
+ const cachedEab = (cachedEntry?.programs) ? findCurrentEabFromPrograms(cachedEntry.programs, systemClock.now()) : null;
933
1053
  const isWarmCache = Boolean(cachedUuid && cachedEab);
934
1054
  if (isWarmCache) {
935
1055
  LOG.debug("tuning:hulu", "resolveHuluDirectUrl: warm cache for %s (uuid=%s, eab=%s).", channelSelector, cachedUuid, cachedEab);
@@ -959,7 +1079,7 @@ async function resolveHuluDirectUrl(channelSelector, page) {
959
1079
  seenEntries.add(entry);
960
1080
  allCachedUuids.push(entry.uuid);
961
1081
  if (entry.programs) {
962
- const currentEab = findCurrentEabFromPrograms(entry.programs);
1082
+ const currentEab = findCurrentEabFromPrograms(entry.programs, systemClock.now());
963
1083
  if (currentEab) {
964
1084
  allCurrentEabs.push(currentEab);
965
1085
  }
@@ -1358,10 +1478,10 @@ function invalidateHuluDirectUrl(channelSelector) {
1358
1478
  }
1359
1479
  /**
1360
1480
  * Discovers all channels from Hulu Live TV by clicking the Channels tab to trigger full API expansion and performing a complete linear scan through the
1361
- * virtualized guide grid. This function navigates to the Hulu live page itself. Detects local affiliates using the same CALL_SIGN_PATTERN and position-based
1362
- * inference logic as the tuning strategy. Affiliates get the network name as their selector; non-affiliates get their display name. Enriches unified cache
1363
- * entries with affiliate metadata for subsequent getCachedChannels derivation.
1364
- * @param page - The Puppeteer page object; this function navigates it to the Hulu live page.
1481
+ * virtualized guide grid. This function enters the live guide itself, re-testing the direct load on every walk. Detects local affiliates using the same
1482
+ * CALL_SIGN_PATTERN and position-based inference logic as the tuning strategy. Affiliates get the network name as their selector; non-affiliates get their
1483
+ * display name. Enriches unified cache entries with affiliate metadata for subsequent getCachedChannels derivation.
1484
+ * @param page - The Puppeteer page object; this function enters the Hulu live guide on it.
1365
1485
  * @returns Array of discovered channels with affiliate detection and selector mapping.
1366
1486
  */
1367
1487
  async function discoverHuluChannels(page) {
@@ -1375,7 +1495,7 @@ async function discoverHuluChannels(page) {
1375
1495
  // setupDetailsResponseInterception function used by the tuning path ensures a single code path for all API response processing.
1376
1496
  setupDetailsResponseInterception(page);
1377
1497
  try {
1378
- await page.goto(HULU_LIVE_URL, { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "networkidle2" });
1498
+ await enterHuluGuide(page, HULU_LIVE_URL, { retestDirect: true });
1379
1499
  }
1380
1500
  catch {
1381
1501
  return [];
@@ -1383,11 +1503,13 @@ async function discoverHuluChannels(page) {
1383
1503
  // Clear the "Who's Watching?" profile-selector modal before any guide interaction (same logic guideGridStrategy uses on the tuning path).
1384
1504
  await handleProfileSelectorIfPresent(page);
1385
1505
  // Click the Channels tab to reveal the channel list and trigger full API expansion. Matches the tuning path's retry logic - if guide rows don't appear after
1386
- // the first tab click, retry once with a longer delay in case the first click fired during a transitional state before the guide was fully interactive.
1506
+ // the first tab click, retry once with a longer delay in case the first click fired during a transitional state before the guide was fully interactive. The
1507
+ // click is the same real pointer chain the tuning path dispatches, at the tab's own coordinates and hit-tested before it lands, with the in-page click
1508
+ // reaching the tab when something covers it.
1387
1509
  const listSelector = "#CHANNELS";
1388
1510
  try {
1389
1511
  await page.waitForSelector(listSelector, { timeout: CONFIG.streaming.videoTimeout, visible: true });
1390
- await page.$eval(listSelector, (el) => { el.click(); });
1512
+ await clickSelectorByCoordinate(page, listSelector);
1391
1513
  await delay(300);
1392
1514
  }
1393
1515
  catch {
@@ -1407,7 +1529,7 @@ async function discoverHuluChannels(page) {
1407
1529
  if (guideAttempt === 0) {
1408
1530
  try {
1409
1531
  // eslint-disable-next-line no-await-in-loop
1410
- await page.$eval(listSelector, (el) => { el.click(); });
1532
+ await clickSelectorByCoordinate(page, listSelector);
1411
1533
  // eslint-disable-next-line no-await-in-loop
1412
1534
  await delay(500);
1413
1535
  }
@@ -1500,9 +1622,9 @@ export const huluProvider = {
1500
1622
  // calls the JavaScript fullscreen API the watch page's player exposes, and fullscreenSelector clicks the player's own maximize control, whose aria-label Hulu
1501
1623
  // writes in uppercase...the attribute match carries the "i" flag so it reads case-insensitively. The click does more than repeat what the API call asks for: it
1502
1624
  // also takes the player out of its mini-player layout, whose sizing logic would otherwise overwrite the width the capture styling sets. Requires
1503
- // selectReadyVideo because the page may have multiple video elements (ads, previews, main content). Uses waitForNetworkIdle because Hulu's SPA has heavy async
1504
- // initialization that often prevents the load event from firing within the retryOperation timeout; the graceful networkidle2 fallback in navigateToPage()
1505
- // allows execution to continue to channel selection even when background requests are still pending.
1625
+ // selectReadyVideo because the page may have multiple video elements (ads, previews, main content). Every Hulu document load goes through the module's own
1626
+ // guide entry above, which waits for network idle because the SPA's heavy asynchronous initialization often prevents the load event from firing within the
1627
+ // navigation timeout, and tolerates that timeout so execution continues to channel selection even when background requests are still pending.
1506
1628
  profile: {
1507
1629
  category: "multiChannel",
1508
1630
  channelSelection: { listSelector: "#CHANNELS", playSelector: "[data-testid=\"generic-tile-thumbnail\"]", strategy: "guideGrid" },
@@ -1512,7 +1634,7 @@ export const huluProvider = {
1512
1634
  selectReadyVideo: true,
1513
1635
  summary: "Hulu Live TV (guide grid, needs selector)",
1514
1636
  useRequestFullscreen: true,
1515
- waitForNetworkIdle: true
1637
+ waitForNetworkIdle: HULU_DOCUMENT_LOAD.waitForNetworkIdle
1516
1638
  },
1517
1639
  profileName: "huluLive",
1518
1640
  slug: "hulu",
@@ -1520,6 +1642,7 @@ export const huluProvider = {
1520
1642
  clearCache: clearHuluCache,
1521
1643
  execute: guideGridStrategy,
1522
1644
  invalidateDirectUrl: invalidateHuluDirectUrl,
1645
+ navigate: enterHuluGuide,
1523
1646
  resolveDirectUrl: resolveHuluDirectUrl
1524
1647
  },
1525
1648
  strategyName: "guideGrid"
@@ -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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"}
@@ -113,4 +113,3 @@ export declare function attemptGuideRecovery<T>(page: Page, options: {
113
113
  storageTypes: string;
114
114
  waitSelector: string;
115
115
  }): Promise<T[]>;
116
- //# sourceMappingURL=shared.d.ts.map
@@ -1,3 +1,2 @@
1
1
  import type { ProviderModule } from "../../types/index.ts";
2
2
  export declare const slingProvider: ProviderModule;
3
- //# sourceMappingURL=sling.d.ts.map
@@ -1,4 +1,4 @@
1
- import { LOG, chromeFetch, delay, formatError } from "../../utils/index.js";
1
+ import { LOG, chromeFetch, delay, formatError, pollUntil, startTimer } from "../../utils/index.js";
2
2
  import { logAvailableChannels, normalizeChannelName } from "./shared.js";
3
3
  import { CONFIG } from "../../config/index.js";
4
4
  import { createProviderChannelCache } from "./cache.js";
@@ -392,30 +392,25 @@ async function slingGridStrategy(page, profile) {
392
392
  catch {
393
393
  return { guideUnavailable: true, reason: "Sling TV guide grid did not load.", success: false };
394
394
  }
395
- // API fast path with frontier-based polling. The channel cache populates progressively as paginated grid API responses arrive in alphabetical order during page
396
- // load. Rather than checking the cache once (missing late-alphabet channels whose API page hasn't arrived yet), poll until any of the following conditions
397
- // is met: the target channel's GUID appears in the cache, the cache frontier (alphabetically latest entry) passes the target's position (confirming the
398
- // channel is not in the lineup), or the maximum wait time is exceeded. This ensures the cache is fully populated for all subsequent tunes - a one-time
399
- // cost that eliminates binary search for the rest of the session.
400
- const pollStart = Date.now();
401
- while ((Date.now() - pollStart) < FRONTIER_MAX_WAIT) {
402
- if (findChannelGuid(normalizedName)) {
403
- break;
404
- }
405
- // Check if the cache frontier has passed the target's alphabetical position. If the latest cache key sorts after the target, the API page covering
406
- // the target's range has already been processed - the channel is not in the lineup and further polling won't help.
407
- const frontier = getCacheFrontier();
408
- if (frontier && (frontier > normalizedName)) {
409
- LOG.debug("tuning:sling", "Cache frontier \"%s\" passed target \"%s\". Channel not in Sling lineup.", frontier, normalizedName);
410
- break;
411
- }
412
- // eslint-disable-next-line no-await-in-loop
413
- await delay(FRONTIER_POLL_INTERVAL);
395
+ /* API fast path with frontier-based polling, stated through the project's poll policy. The channel cache populates progressively as paginated grid API responses
396
+ * arrive in alphabetical order during page load. Rather than checking the cache once (missing late-alphabet channels whose API page hasn't arrived yet), poll
397
+ * until any of the following conditions is met: the target channel's GUID appears in the cache, the cache frontier (alphabetically latest entry) passes the
398
+ * target's position (confirming the channel is not in the lineup), or the ceiling elapses. This ensures the cache is fully populated for all subsequent tunes -
399
+ * a one-time cost that eliminates binary search for the rest of the session.
400
+ */
401
+ const elapsed = startTimer();
402
+ const frontierPoll = await pollUntil({ cadenceMs: FRONTIER_POLL_INTERVAL, ceilingMs: FRONTIER_MAX_WAIT,
403
+ read: async () => ({ found: findChannelGuid(normalizedName) !== null, frontier: getCacheFrontier() }),
404
+ until: (state) => state.found || ((state.frontier !== null) && (state.frontier > normalizedName)) });
405
+ // Report a frontier that passed the target's alphabetical position: the API page covering the target's range has already been processed, so the channel is not
406
+ // in the lineup and no further polling would have helped.
407
+ if (!frontierPoll.value.found && (frontierPoll.value.frontier !== null) && (frontierPoll.value.frontier > normalizedName)) {
408
+ LOG.debug("tuning:sling", "Cache frontier \"%s\" passed target \"%s\". Channel not in Sling lineup.", frontierPoll.value.frontier, normalizedName);
414
409
  }
415
410
  // After polling, attempt the full resolve pipeline: GUID lookup -> asset_id fetch -> player URL construction.
416
411
  const playerUrl = await resolvePlayerUrl(normalizedName).catch(() => null);
417
412
  if (playerUrl) {
418
- LOG.debug("tuning:sling", "Sling API fast path for %s (%sms): %s.", channelName, Date.now() - pollStart, playerUrl);
413
+ LOG.debug("tuning:sling", "Sling API fast path for %s (%sms): %s.", channelName, elapsed(), playerUrl);
419
414
  try {
420
415
  await page.goto(playerUrl, { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "domcontentloaded" });
421
416
  return { success: true };
@@ -424,7 +419,7 @@ async function slingGridStrategy(page, profile) {
424
419
  return { reason: "Sling TV API fast path navigation failed: " + formatError(error) + ".", success: false };
425
420
  }
426
421
  }
427
- LOG.debug("tuning:sling", "Sling binary search fallback for %s after %sms polling (channel cache: %s, base URL: %s).", channelName, Date.now() - pollStart, slingCache.map.size, slingPlaybackInfoBase ? "yes" : "no");
422
+ LOG.debug("tuning:sling", "Sling binary search fallback for %s after %sms polling (channel cache: %s, base URL: %s).", channelName, elapsed(), slingCache.map.size, slingPlaybackInfoBase ? "yes" : "no");
428
423
  // Phase 2: Read grid metadata. The .guide-cell element is the scroll host for the virtualized channel list. We measure the row height dynamically from a rendered
429
424
  // row element and read the time header offset from the first row's top position within the scroll container.
430
425
  const gridMeta = await page.evaluate(() => {