prismcast 1.10.2 → 1.11.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 (693) hide show
  1. package/dist/app.d.ts +6 -3
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/app.js +140 -86
  4. package/dist/app.js.map +1 -1
  5. package/dist/browser/blockedPage.d.ts +80 -0
  6. package/dist/browser/blockedPage.d.ts.map +1 -0
  7. package/dist/browser/blockedPage.js +209 -0
  8. package/dist/browser/blockedPage.js.map +1 -0
  9. package/dist/browser/browserSupervisor.d.ts +80 -0
  10. package/dist/browser/browserSupervisor.d.ts.map +1 -0
  11. package/dist/browser/browserSupervisor.js +186 -0
  12. package/dist/browser/browserSupervisor.js.map +1 -0
  13. package/dist/browser/cdp.d.ts +1 -0
  14. package/dist/browser/cdp.d.ts.map +1 -0
  15. package/dist/browser/cdp.js +6 -5
  16. package/dist/browser/cdp.js.map +1 -1
  17. package/dist/browser/channelSelection.d.ts +45 -14
  18. package/dist/browser/channelSelection.d.ts.map +1 -0
  19. package/dist/browser/channelSelection.js +81 -18
  20. package/dist/browser/channelSelection.js.map +1 -1
  21. package/dist/browser/consent.d.ts +152 -0
  22. package/dist/browser/consent.d.ts.map +1 -0
  23. package/dist/browser/consent.js +418 -0
  24. package/dist/browser/consent.js.map +1 -0
  25. package/dist/browser/display.d.ts +1 -0
  26. package/dist/browser/display.d.ts.map +1 -0
  27. package/dist/browser/hlsPlaylistObserver.d.ts +55 -0
  28. package/dist/browser/hlsPlaylistObserver.d.ts.map +1 -0
  29. package/dist/browser/hlsPlaylistObserver.js +132 -0
  30. package/dist/browser/hlsPlaylistObserver.js.map +1 -0
  31. package/dist/browser/index.d.ts +67 -40
  32. package/dist/browser/index.d.ts.map +1 -0
  33. package/dist/browser/index.js +508 -300
  34. package/dist/browser/index.js.map +1 -1
  35. package/dist/browser/launchGovernor.d.ts +89 -0
  36. package/dist/browser/launchGovernor.d.ts.map +1 -0
  37. package/dist/browser/launchGovernor.js +96 -0
  38. package/dist/browser/launchGovernor.js.map +1 -0
  39. package/dist/browser/login.d.ts +10 -2
  40. package/dist/browser/login.d.ts.map +1 -0
  41. package/dist/browser/login.js +36 -5
  42. package/dist/browser/login.js.map +1 -1
  43. package/dist/browser/manifestInterceptor.d.ts +102 -49
  44. package/dist/browser/manifestInterceptor.d.ts.map +1 -0
  45. package/dist/browser/manifestInterceptor.js +219 -237
  46. package/dist/browser/manifestInterceptor.js.map +1 -1
  47. package/dist/browser/pageStaleness.d.ts +30 -0
  48. package/dist/browser/pageStaleness.d.ts.map +1 -0
  49. package/dist/browser/pageStaleness.js +76 -0
  50. package/dist/browser/pageStaleness.js.map +1 -0
  51. package/dist/browser/precaching.d.ts +95 -3
  52. package/dist/browser/precaching.d.ts.map +1 -0
  53. package/dist/browser/precaching.js +499 -65
  54. package/dist/browser/precaching.js.map +1 -1
  55. package/dist/browser/tabNetworkObserver.d.ts +49 -0
  56. package/dist/browser/tabNetworkObserver.d.ts.map +1 -0
  57. package/dist/browser/tabNetworkObserver.js +144 -0
  58. package/dist/browser/tabNetworkObserver.js.map +1 -0
  59. package/dist/browser/tuning/cache.d.ts +61 -0
  60. package/dist/browser/tuning/cache.d.ts.map +1 -0
  61. package/dist/browser/tuning/cache.js +62 -0
  62. package/dist/browser/tuning/cache.js.map +1 -0
  63. package/dist/browser/tuning/comcastPolymer.d.ts +3 -2
  64. package/dist/browser/tuning/comcastPolymer.d.ts.map +1 -0
  65. package/dist/browser/tuning/comcastPolymer.js +79 -102
  66. package/dist/browser/tuning/comcastPolymer.js.map +1 -1
  67. package/dist/browser/tuning/cox.d.ts +1 -0
  68. package/dist/browser/tuning/cox.d.ts.map +1 -0
  69. package/dist/browser/tuning/directv.d.ts +1 -0
  70. package/dist/browser/tuning/directv.d.ts.map +1 -0
  71. package/dist/browser/tuning/directv.js +52 -46
  72. package/dist/browser/tuning/directv.js.map +1 -1
  73. package/dist/browser/tuning/fox.d.ts +1 -0
  74. package/dist/browser/tuning/fox.d.ts.map +1 -0
  75. package/dist/browser/tuning/fox.js +13 -12
  76. package/dist/browser/tuning/fox.js.map +1 -1
  77. package/dist/browser/tuning/gridSearch.d.ts +68 -0
  78. package/dist/browser/tuning/gridSearch.d.ts.map +1 -0
  79. package/dist/browser/tuning/gridSearch.js +85 -0
  80. package/dist/browser/tuning/gridSearch.js.map +1 -0
  81. package/dist/browser/tuning/hbo.d.ts +1 -0
  82. package/dist/browser/tuning/hbo.d.ts.map +1 -0
  83. package/dist/browser/tuning/hbo.js +73 -45
  84. package/dist/browser/tuning/hbo.js.map +1 -1
  85. package/dist/browser/tuning/hulu.d.ts +1 -0
  86. package/dist/browser/tuning/hulu.d.ts.map +1 -0
  87. package/dist/browser/tuning/hulu.js +128 -173
  88. package/dist/browser/tuning/hulu.js.map +1 -1
  89. package/dist/browser/tuning/shared.d.ts +75 -5
  90. package/dist/browser/tuning/shared.d.ts.map +1 -0
  91. package/dist/browser/tuning/shared.js +216 -6
  92. package/dist/browser/tuning/shared.js.map +1 -1
  93. package/dist/browser/tuning/sling.d.ts +1 -0
  94. package/dist/browser/tuning/sling.d.ts.map +1 -0
  95. package/dist/browser/tuning/sling.js +105 -126
  96. package/dist/browser/tuning/sling.js.map +1 -1
  97. package/dist/browser/tuning/spectrum.d.ts +1 -0
  98. package/dist/browser/tuning/spectrum.d.ts.map +1 -0
  99. package/dist/browser/tuning/spectrum.js +80 -125
  100. package/dist/browser/tuning/spectrum.js.map +1 -1
  101. package/dist/browser/tuning/thumbnailRow.d.ts +1 -0
  102. package/dist/browser/tuning/thumbnailRow.d.ts.map +1 -0
  103. package/dist/browser/tuning/thumbnailRow.js +8 -2
  104. package/dist/browser/tuning/thumbnailRow.js.map +1 -1
  105. package/dist/browser/tuning/tileClick.d.ts +1 -0
  106. package/dist/browser/tuning/tileClick.d.ts.map +1 -0
  107. package/dist/browser/tuning/tileClick.js +3 -2
  108. package/dist/browser/tuning/tileClick.js.map +1 -1
  109. package/dist/browser/tuning/xfinity.d.ts +1 -0
  110. package/dist/browser/tuning/xfinity.d.ts.map +1 -0
  111. package/dist/browser/tuning/youtubeTv.d.ts +1 -0
  112. package/dist/browser/tuning/youtubeTv.d.ts.map +1 -0
  113. package/dist/browser/tuning/youtubeTv.js +74 -127
  114. package/dist/browser/tuning/youtubeTv.js.map +1 -1
  115. package/dist/browser/video.d.ts +54 -14
  116. package/dist/browser/video.d.ts.map +1 -0
  117. package/dist/browser/video.js +296 -138
  118. package/dist/browser/video.js.map +1 -1
  119. package/dist/channels/index.d.ts +1 -0
  120. package/dist/channels/index.d.ts.map +1 -0
  121. package/dist/channels/index.js +12 -9
  122. package/dist/channels/index.js.map +1 -1
  123. package/dist/config/channelForm.d.ts +15 -1
  124. package/dist/config/channelForm.d.ts.map +1 -0
  125. package/dist/config/channelForm.js +28 -12
  126. package/dist/config/channelForm.js.map +1 -1
  127. package/dist/config/consistencyProbe.d.ts +1 -0
  128. package/dist/config/consistencyProbe.d.ts.map +1 -0
  129. package/dist/config/consistencyProbe.js +27 -21
  130. package/dist/config/consistencyProbe.js.map +1 -1
  131. package/dist/config/health.d.ts +41 -8
  132. package/dist/config/health.d.ts.map +1 -0
  133. package/dist/config/health.js +189 -38
  134. package/dist/config/health.js.map +1 -1
  135. package/dist/config/index.d.ts +55 -3
  136. package/dist/config/index.d.ts.map +1 -0
  137. package/dist/config/index.js +320 -69
  138. package/dist/config/index.js.map +1 -1
  139. package/dist/config/paths.d.ts +10 -9
  140. package/dist/config/paths.d.ts.map +1 -0
  141. package/dist/config/paths.js +11 -11
  142. package/dist/config/paths.js.map +1 -1
  143. package/dist/config/persistence.context.d.ts +1 -0
  144. package/dist/config/persistence.context.d.ts.map +1 -0
  145. package/dist/config/persistence.d.ts +13 -10
  146. package/dist/config/persistence.d.ts.map +1 -0
  147. package/dist/config/persistence.js +40 -21
  148. package/dist/config/persistence.js.map +1 -1
  149. package/dist/config/presets.d.ts +1 -0
  150. package/dist/config/presets.d.ts.map +1 -0
  151. package/dist/config/profiles.d.ts +22 -15
  152. package/dist/config/profiles.d.ts.map +1 -0
  153. package/dist/config/profiles.js +81 -47
  154. package/dist/config/profiles.js.map +1 -1
  155. package/dist/config/providerLineups.d.ts +47 -0
  156. package/dist/config/providerLineups.d.ts.map +1 -0
  157. package/dist/config/providerLineups.js +137 -0
  158. package/dist/config/providerLineups.js.map +1 -0
  159. package/dist/config/reactivity.d.ts +84 -0
  160. package/dist/config/reactivity.d.ts.map +1 -0
  161. package/dist/config/reactivity.js +226 -0
  162. package/dist/config/reactivity.js.map +1 -0
  163. package/dist/config/servicePacks.d.ts +18 -2
  164. package/dist/config/servicePacks.d.ts.map +1 -0
  165. package/dist/config/servicePacks.js +53 -11
  166. package/dist/config/servicePacks.js.map +1 -1
  167. package/dist/config/services.d.ts +21 -15
  168. package/dist/config/services.d.ts.map +1 -0
  169. package/dist/config/services.js +35 -24
  170. package/dist/config/services.js.map +1 -1
  171. package/dist/config/sites.d.ts +6 -4
  172. package/dist/config/sites.d.ts.map +1 -0
  173. package/dist/config/sites.js +15 -11
  174. package/dist/config/sites.js.map +1 -1
  175. package/dist/config/userChannels.d.ts +129 -30
  176. package/dist/config/userChannels.d.ts.map +1 -0
  177. package/dist/config/userChannels.js +333 -68
  178. package/dist/config/userChannels.js.map +1 -1
  179. package/dist/config/userConfig.d.ts +14 -9
  180. package/dist/config/userConfig.d.ts.map +1 -0
  181. package/dist/config/userConfig.js +87 -25
  182. package/dist/config/userConfig.js.map +1 -1
  183. package/dist/config/userProfiles.d.ts +10 -6
  184. package/dist/config/userProfiles.d.ts.map +1 -0
  185. package/dist/config/userProfiles.js +64 -39
  186. package/dist/config/userProfiles.js.map +1 -1
  187. package/dist/hdhr/channelMap.d.ts +1 -0
  188. package/dist/hdhr/channelMap.d.ts.map +1 -0
  189. package/dist/hdhr/deviceId.d.ts +1 -0
  190. package/dist/hdhr/deviceId.d.ts.map +1 -0
  191. package/dist/hdhr/discover.d.ts +1 -0
  192. package/dist/hdhr/discover.d.ts.map +1 -0
  193. package/dist/hdhr/discover.js +48 -47
  194. package/dist/hdhr/discover.js.map +1 -1
  195. package/dist/hdhr/getHandlers.d.ts +29 -0
  196. package/dist/hdhr/getHandlers.d.ts.map +1 -0
  197. package/dist/hdhr/getHandlers.js +196 -0
  198. package/dist/hdhr/getHandlers.js.map +1 -0
  199. package/dist/hdhr/identity.d.ts +36 -0
  200. package/dist/hdhr/identity.d.ts.map +1 -0
  201. package/dist/hdhr/identity.js +51 -0
  202. package/dist/hdhr/identity.js.map +1 -0
  203. package/dist/hdhr/index.d.ts +22 -4
  204. package/dist/hdhr/index.d.ts.map +1 -0
  205. package/dist/hdhr/index.js +229 -54
  206. package/dist/hdhr/index.js.map +1 -1
  207. package/dist/hdhr/protocol.d.ts +75 -0
  208. package/dist/hdhr/protocol.d.ts.map +1 -0
  209. package/dist/hdhr/protocol.js +264 -0
  210. package/dist/hdhr/protocol.js.map +1 -0
  211. package/dist/hdhr/tunerState.d.ts +24 -0
  212. package/dist/hdhr/tunerState.d.ts.map +1 -0
  213. package/dist/hdhr/tunerState.js +67 -0
  214. package/dist/hdhr/tunerState.js.map +1 -0
  215. package/dist/hdhr/udp.d.ts +43 -0
  216. package/dist/hdhr/udp.d.ts.map +1 -0
  217. package/dist/hdhr/udp.js +277 -0
  218. package/dist/hdhr/udp.js.map +1 -0
  219. package/dist/identity.d.ts +1 -0
  220. package/dist/identity.d.ts.map +1 -0
  221. package/dist/identity.js +13 -11
  222. package/dist/identity.js.map +1 -1
  223. package/dist/index.d.ts +1 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +11 -12
  226. package/dist/index.js.map +1 -1
  227. package/dist/native/codecInference.d.ts +1 -0
  228. package/dist/native/codecInference.d.ts.map +1 -0
  229. package/dist/native/codecInference.js +50 -5
  230. package/dist/native/codecInference.js.map +1 -1
  231. package/dist/native/decrypt.d.ts +6 -2
  232. package/dist/native/decrypt.d.ts.map +1 -0
  233. package/dist/native/decrypt.js +15 -8
  234. package/dist/native/decrypt.js.map +1 -1
  235. package/dist/native/index.d.ts +40 -17
  236. package/dist/native/index.d.ts.map +1 -0
  237. package/dist/native/index.js +281 -120
  238. package/dist/native/index.js.map +1 -1
  239. package/dist/native/probe.d.ts +114 -18
  240. package/dist/native/probe.d.ts.map +1 -0
  241. package/dist/native/probe.js +452 -115
  242. package/dist/native/probe.js.map +1 -1
  243. package/dist/native/proxy.d.ts +57 -5
  244. package/dist/native/proxy.d.ts.map +1 -0
  245. package/dist/native/proxy.js +604 -170
  246. package/dist/native/proxy.js.map +1 -1
  247. package/dist/native/tokenExpiry.d.ts +1 -0
  248. package/dist/native/tokenExpiry.d.ts.map +1 -0
  249. package/dist/native/tokenExpiry.js +1 -1
  250. package/dist/routes/assets.d.ts +1 -0
  251. package/dist/routes/assets.d.ts.map +1 -0
  252. package/dist/routes/assets.js +4 -2
  253. package/dist/routes/assets.js.map +1 -1
  254. package/dist/routes/auth.d.ts +1 -0
  255. package/dist/routes/auth.d.ts.map +1 -0
  256. package/dist/routes/auth.js +0 -1
  257. package/dist/routes/auth.js.map +1 -1
  258. package/dist/routes/cdp.d.ts +5 -5
  259. package/dist/routes/cdp.d.ts.map +1 -0
  260. package/dist/routes/cdp.js +59 -20
  261. package/dist/routes/cdp.js.map +1 -1
  262. package/dist/routes/channels.d.ts +1 -0
  263. package/dist/routes/channels.d.ts.map +1 -0
  264. package/dist/routes/channels.js +2 -1
  265. package/dist/routes/channels.js.map +1 -1
  266. package/dist/routes/clientActions.d.ts +98 -0
  267. package/dist/routes/clientActions.d.ts.map +1 -0
  268. package/dist/routes/clientActions.js +113 -0
  269. package/dist/routes/clientActions.js.map +1 -0
  270. package/dist/routes/components.d.ts +5 -3
  271. package/dist/routes/components.d.ts.map +1 -0
  272. package/dist/routes/components.js +36 -39
  273. package/dist/routes/components.js.map +1 -1
  274. package/dist/routes/config/channels/endpoints/browse.d.ts +1 -0
  275. package/dist/routes/config/channels/endpoints/browse.d.ts.map +1 -0
  276. package/dist/routes/config/channels/endpoints/browse.js +23 -10
  277. package/dist/routes/config/channels/endpoints/browse.js.map +1 -1
  278. package/dist/routes/config/channels/endpoints/bulk.d.ts +1 -0
  279. package/dist/routes/config/channels/endpoints/bulk.d.ts.map +1 -0
  280. package/dist/routes/config/channels/endpoints/bulk.js +5 -3
  281. package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
  282. package/dist/routes/config/channels/endpoints/crud.d.ts +1 -0
  283. package/dist/routes/config/channels/endpoints/crud.d.ts.map +1 -0
  284. package/dist/routes/config/channels/endpoints/crud.js +85 -93
  285. package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
  286. package/dist/routes/config/channels/endpoints/importExport.d.ts +1 -0
  287. package/dist/routes/config/channels/endpoints/importExport.d.ts.map +1 -0
  288. package/dist/routes/config/channels/endpoints/importExport.js +6 -3
  289. package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
  290. package/dist/routes/config/channels/endpoints/predefined.d.ts +1 -0
  291. package/dist/routes/config/channels/endpoints/predefined.d.ts.map +1 -0
  292. package/dist/routes/config/channels/endpoints/prefs.d.ts +1 -0
  293. package/dist/routes/config/channels/endpoints/prefs.d.ts.map +1 -0
  294. package/dist/routes/config/channels/endpoints/prefs.js +2 -1
  295. package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
  296. package/dist/routes/config/channels/endpoints/service.d.ts +2 -1
  297. package/dist/routes/config/channels/endpoints/service.d.ts.map +1 -0
  298. package/dist/routes/config/channels/endpoints/service.js +3 -1
  299. package/dist/routes/config/channels/endpoints/service.js.map +1 -1
  300. package/dist/routes/config/channels/endpoints/tags.d.ts +1 -0
  301. package/dist/routes/config/channels/endpoints/tags.d.ts.map +1 -0
  302. package/dist/routes/config/channels/endpoints/tags.js +13 -7
  303. package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
  304. package/dist/routes/config/channels/healthBridge.d.ts +24 -0
  305. package/dist/routes/config/channels/healthBridge.d.ts.map +1 -0
  306. package/dist/routes/config/channels/healthBridge.js +71 -0
  307. package/dist/routes/config/channels/healthBridge.js.map +1 -0
  308. package/dist/routes/config/channels/http/handler.d.ts +1 -0
  309. package/dist/routes/config/channels/http/handler.d.ts.map +1 -0
  310. package/dist/routes/config/channels/http/playlistHint.d.ts +2 -1
  311. package/dist/routes/config/channels/http/playlistHint.d.ts.map +1 -0
  312. package/dist/routes/config/channels/http/playlistHint.js +16 -2
  313. package/dist/routes/config/channels/http/playlistHint.js.map +1 -1
  314. package/dist/routes/config/channels/http/serviceWarning.d.ts +4 -2
  315. package/dist/routes/config/channels/http/serviceWarning.d.ts.map +1 -0
  316. package/dist/routes/config/channels/http/serviceWarning.js +3 -2
  317. package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
  318. package/dist/routes/config/channels/index.d.ts +1 -0
  319. package/dist/routes/config/channels/index.d.ts.map +1 -0
  320. package/dist/routes/config/channels/setup.d.ts +1 -0
  321. package/dist/routes/config/channels/setup.d.ts.map +1 -0
  322. package/dist/routes/config/channels/table.d.ts +3 -3
  323. package/dist/routes/config/channels/table.d.ts.map +1 -0
  324. package/dist/routes/config/channels/table.js +148 -107
  325. package/dist/routes/config/channels/table.js.map +1 -1
  326. package/dist/routes/config/http/envelope.d.ts +1 -0
  327. package/dist/routes/config/http/envelope.d.ts.map +1 -0
  328. package/dist/routes/config/index.d.ts +35 -3
  329. package/dist/routes/config/index.d.ts.map +1 -0
  330. package/dist/routes/config/index.js +51 -2
  331. package/dist/routes/config/index.js.map +1 -1
  332. package/dist/routes/config/services.d.ts +5 -4
  333. package/dist/routes/config/services.d.ts.map +1 -0
  334. package/dist/routes/config/services.js +57 -43
  335. package/dist/routes/config/services.js.map +1 -1
  336. package/dist/routes/config/settings.d.ts +1 -0
  337. package/dist/routes/config/settings.d.ts.map +1 -0
  338. package/dist/routes/config/settings.js +98 -49
  339. package/dist/routes/config/settings.js.map +1 -1
  340. package/dist/routes/debug.d.ts +1 -0
  341. package/dist/routes/debug.d.ts.map +1 -0
  342. package/dist/routes/debug.js +277 -139
  343. package/dist/routes/debug.js.map +1 -1
  344. package/dist/routes/health.d.ts +39 -1
  345. package/dist/routes/health.d.ts.map +1 -0
  346. package/dist/routes/health.js +33 -27
  347. package/dist/routes/health.js.map +1 -1
  348. package/dist/routes/hls.d.ts +1 -0
  349. package/dist/routes/hls.d.ts.map +1 -0
  350. package/dist/routes/icons.d.ts +1 -0
  351. package/dist/routes/icons.d.ts.map +1 -0
  352. package/dist/routes/icons.js +1 -1
  353. package/dist/routes/index.d.ts +1 -0
  354. package/dist/routes/index.d.ts.map +1 -0
  355. package/dist/routes/logs.d.ts +1 -0
  356. package/dist/routes/logs.d.ts.map +1 -0
  357. package/dist/routes/logs.js +14 -4
  358. package/dist/routes/logs.js.map +1 -1
  359. package/dist/routes/mpegts.d.ts +1 -0
  360. package/dist/routes/mpegts.d.ts.map +1 -0
  361. package/dist/routes/play.d.ts +1 -0
  362. package/dist/routes/play.d.ts.map +1 -0
  363. package/dist/routes/playlist.d.ts +1 -0
  364. package/dist/routes/playlist.d.ts.map +1 -0
  365. package/dist/routes/playlist.js +7 -2
  366. package/dist/routes/playlist.js.map +1 -1
  367. package/dist/routes/root/content.d.ts +8 -5
  368. package/dist/routes/root/content.d.ts.map +1 -0
  369. package/dist/routes/root/content.js +29 -26
  370. package/dist/routes/root/content.js.map +1 -1
  371. package/dist/routes/root/index.d.ts +2 -1
  372. package/dist/routes/root/index.d.ts.map +1 -0
  373. package/dist/routes/root/index.js +26 -21
  374. package/dist/routes/root/index.js.map +1 -1
  375. package/dist/routes/root/scripts/channels.d.ts +6 -0
  376. package/dist/routes/root/scripts/channels.d.ts.map +1 -0
  377. package/dist/routes/root/scripts/channels.js +197 -118
  378. package/dist/routes/root/scripts/channels.js.map +1 -1
  379. package/dist/routes/root/scripts/clientEscape.d.ts +22 -0
  380. package/dist/routes/root/scripts/clientEscape.d.ts.map +1 -0
  381. package/dist/routes/root/scripts/clientEscape.js +41 -0
  382. package/dist/routes/root/scripts/clientEscape.js.map +1 -0
  383. package/dist/routes/root/scripts/clientUrl.d.ts +23 -0
  384. package/dist/routes/root/scripts/clientUrl.d.ts.map +1 -0
  385. package/dist/routes/root/scripts/clientUrl.js +44 -0
  386. package/dist/routes/root/scripts/clientUrl.js.map +1 -0
  387. package/dist/routes/root/scripts/config.d.ts +6 -0
  388. package/dist/routes/root/scripts/config.d.ts.map +1 -0
  389. package/dist/routes/root/scripts/config.js +110 -24
  390. package/dist/routes/root/scripts/config.js.map +1 -1
  391. package/dist/routes/root/scripts/index.d.ts +1 -0
  392. package/dist/routes/root/scripts/index.d.ts.map +1 -0
  393. package/dist/routes/root/scripts/shared.d.ts +1 -0
  394. package/dist/routes/root/scripts/shared.d.ts.map +1 -0
  395. package/dist/routes/root/scripts/shared.js +112 -26
  396. package/dist/routes/root/scripts/shared.js.map +1 -1
  397. package/dist/routes/root/scripts/status.d.ts +1 -0
  398. package/dist/routes/root/scripts/status.d.ts.map +1 -0
  399. package/dist/routes/root/scripts/status.handlers.d.ts +23 -33
  400. package/dist/routes/root/scripts/status.handlers.d.ts.map +1 -0
  401. package/dist/routes/root/scripts/status.handlers.js +46 -92
  402. package/dist/routes/root/scripts/status.handlers.js.map +1 -1
  403. package/dist/routes/root/scripts/status.js +21 -8
  404. package/dist/routes/root/scripts/status.js.map +1 -1
  405. package/dist/routes/root/styles.d.ts +1 -0
  406. package/dist/routes/root/styles.d.ts.map +1 -0
  407. package/dist/routes/root/styles.js +7 -4
  408. package/dist/routes/root/styles.js.map +1 -1
  409. package/dist/routes/services.d.ts +13 -1
  410. package/dist/routes/services.d.ts.map +1 -0
  411. package/dist/routes/services.js +81 -68
  412. package/dist/routes/services.js.map +1 -1
  413. package/dist/routes/sse.d.ts +1 -0
  414. package/dist/routes/sse.d.ts.map +1 -0
  415. package/dist/routes/sse.js +1 -1
  416. package/dist/routes/sse.js.map +1 -1
  417. package/dist/routes/streams.d.ts +2 -1
  418. package/dist/routes/streams.d.ts.map +1 -0
  419. package/dist/routes/streams.js +6 -4
  420. package/dist/routes/streams.js.map +1 -1
  421. package/dist/routes/theme.d.ts +3 -2
  422. package/dist/routes/theme.d.ts.map +1 -0
  423. package/dist/routes/theme.js +6 -5
  424. package/dist/routes/theme.js.map +1 -1
  425. package/dist/routes/ui.d.ts +3 -1
  426. package/dist/routes/ui.d.ts.map +1 -0
  427. package/dist/routes/ui.js +16 -4
  428. package/dist/routes/ui.js.map +1 -1
  429. package/dist/routes/upgrade.d.ts +1 -0
  430. package/dist/routes/upgrade.d.ts.map +1 -0
  431. package/dist/routes/upgrade.js +6 -2
  432. package/dist/routes/upgrade.js.map +1 -1
  433. package/dist/service/commands.context.d.ts +1 -0
  434. package/dist/service/commands.context.d.ts.map +1 -0
  435. package/dist/service/commands.context.js +4 -3
  436. package/dist/service/commands.context.js.map +1 -1
  437. package/dist/service/commands.d.ts +1 -0
  438. package/dist/service/commands.d.ts.map +1 -0
  439. package/dist/service/commands.js +10 -13
  440. package/dist/service/commands.js.map +1 -1
  441. package/dist/service/generators.context.d.ts +1 -0
  442. package/dist/service/generators.context.d.ts.map +1 -0
  443. package/dist/service/generators.context.js +1 -1
  444. package/dist/service/generators.context.js.map +1 -1
  445. package/dist/service/generators.d.ts +4 -3
  446. package/dist/service/generators.d.ts.map +1 -0
  447. package/dist/service/generators.js +111 -31
  448. package/dist/service/generators.js.map +1 -1
  449. package/dist/service/index.d.ts +1 -0
  450. package/dist/service/index.d.ts.map +1 -0
  451. package/dist/streaming/captureLock.d.ts +44 -0
  452. package/dist/streaming/captureLock.d.ts.map +1 -0
  453. package/dist/streaming/captureLock.js +95 -0
  454. package/dist/streaming/captureLock.js.map +1 -0
  455. package/dist/streaming/captureSession.d.ts +31 -0
  456. package/dist/streaming/captureSession.d.ts.map +1 -0
  457. package/dist/streaming/captureSession.js +54 -0
  458. package/dist/streaming/captureSession.js.map +1 -0
  459. package/dist/streaming/clients.d.ts +1 -0
  460. package/dist/streaming/clients.d.ts.map +1 -0
  461. package/dist/streaming/codec.d.ts +1 -0
  462. package/dist/streaming/codec.d.ts.map +1 -0
  463. package/dist/streaming/fmp4Segmenter.d.ts +29 -2
  464. package/dist/streaming/fmp4Segmenter.d.ts.map +1 -0
  465. package/dist/streaming/fmp4Segmenter.js +79 -26
  466. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  467. package/dist/streaming/hls.d.ts +18 -7
  468. package/dist/streaming/hls.d.ts.map +1 -0
  469. package/dist/streaming/hls.js +220 -120
  470. package/dist/streaming/hls.js.map +1 -1
  471. package/dist/streaming/hlsResume.d.ts +1 -0
  472. package/dist/streaming/hlsResume.d.ts.map +1 -0
  473. package/dist/streaming/hlsResume.js +1 -1
  474. package/dist/streaming/hlsResume.js.map +1 -1
  475. package/dist/streaming/hlsSegments.d.ts +59 -2
  476. package/dist/streaming/hlsSegments.d.ts.map +1 -0
  477. package/dist/streaming/hlsSegments.js +147 -17
  478. package/dist/streaming/hlsSegments.js.map +1 -1
  479. package/dist/streaming/lifecycle.d.ts +4 -1
  480. package/dist/streaming/lifecycle.d.ts.map +1 -0
  481. package/dist/streaming/lifecycle.js +65 -85
  482. package/dist/streaming/lifecycle.js.map +1 -1
  483. package/dist/streaming/monitor.d.ts +6 -4
  484. package/dist/streaming/monitor.d.ts.map +1 -0
  485. package/dist/streaming/monitor.js +343 -145
  486. package/dist/streaming/monitor.js.map +1 -1
  487. package/dist/streaming/mp4Parser.d.ts +5 -4
  488. package/dist/streaming/mp4Parser.d.ts.map +1 -0
  489. package/dist/streaming/mp4Parser.js +36 -13
  490. package/dist/streaming/mp4Parser.js.map +1 -1
  491. package/dist/streaming/mpegts.d.ts +16 -0
  492. package/dist/streaming/mpegts.d.ts.map +1 -0
  493. package/dist/streaming/mpegts.js +61 -17
  494. package/dist/streaming/mpegts.js.map +1 -1
  495. package/dist/streaming/playlistBuilder.d.ts +1 -0
  496. package/dist/streaming/playlistBuilder.d.ts.map +1 -0
  497. package/dist/streaming/preroll.d.ts +32 -5
  498. package/dist/streaming/preroll.d.ts.map +1 -0
  499. package/dist/streaming/preroll.js +70 -32
  500. package/dist/streaming/preroll.js.map +1 -1
  501. package/dist/streaming/pretune.d.ts +26 -1
  502. package/dist/streaming/pretune.d.ts.map +1 -0
  503. package/dist/streaming/pretune.js +22 -24
  504. package/dist/streaming/pretune.js.map +1 -1
  505. package/dist/streaming/pretuneTimers.d.ts +24 -0
  506. package/dist/streaming/pretuneTimers.d.ts.map +1 -0
  507. package/dist/streaming/pretuneTimers.js +56 -0
  508. package/dist/streaming/pretuneTimers.js.map +1 -0
  509. package/dist/streaming/recovery.d.ts +139 -5
  510. package/dist/streaming/recovery.d.ts.map +1 -0
  511. package/dist/streaming/recovery.js +160 -16
  512. package/dist/streaming/recovery.js.map +1 -1
  513. package/dist/streaming/registry.d.ts +27 -9
  514. package/dist/streaming/registry.d.ts.map +1 -0
  515. package/dist/streaming/registry.js +21 -3
  516. package/dist/streaming/registry.js.map +1 -1
  517. package/dist/streaming/setup.d.ts +157 -29
  518. package/dist/streaming/setup.d.ts.map +1 -0
  519. package/dist/streaming/setup.js +1034 -458
  520. package/dist/streaming/setup.js.map +1 -1
  521. package/dist/streaming/showInfo.d.ts +21 -1
  522. package/dist/streaming/showInfo.d.ts.map +1 -0
  523. package/dist/streaming/showInfo.js +31 -16
  524. package/dist/streaming/showInfo.js.map +1 -1
  525. package/dist/streaming/statusEmitter.d.ts +10 -10
  526. package/dist/streaming/statusEmitter.d.ts.map +1 -0
  527. package/dist/streaming/statusEmitter.js +5 -8
  528. package/dist/streaming/statusEmitter.js.map +1 -1
  529. package/dist/types/channels.d.ts +16 -4
  530. package/dist/types/channels.d.ts.map +1 -0
  531. package/dist/types/channels.js +4 -2
  532. package/dist/types/channels.js.map +1 -1
  533. package/dist/types/config.d.ts +16 -5
  534. package/dist/types/config.d.ts.map +1 -0
  535. package/dist/types/index.d.ts +3 -2
  536. package/dist/types/index.d.ts.map +1 -0
  537. package/dist/types/profiles.d.ts +6 -4
  538. package/dist/types/profiles.d.ts.map +1 -0
  539. package/dist/types/selection.d.ts +31 -3
  540. package/dist/types/selection.d.ts.map +1 -0
  541. package/dist/types/selection.js +4 -2
  542. package/dist/types/selection.js.map +1 -1
  543. package/dist/types/shared.d.ts +1 -0
  544. package/dist/types/shared.d.ts.map +1 -0
  545. package/dist/types/streaming.d.ts +8 -0
  546. package/dist/types/streaming.d.ts.map +1 -0
  547. package/dist/upgrade/commands.context.d.ts +1 -0
  548. package/dist/upgrade/commands.context.d.ts.map +1 -0
  549. package/dist/upgrade/commands.context.js +14 -10
  550. package/dist/upgrade/commands.context.js.map +1 -1
  551. package/dist/upgrade/commands.d.ts +8 -15
  552. package/dist/upgrade/commands.d.ts.map +1 -0
  553. package/dist/upgrade/commands.js +27 -28
  554. package/dist/upgrade/commands.js.map +1 -1
  555. package/dist/upgrade/detection.context.d.ts +1 -0
  556. package/dist/upgrade/detection.context.d.ts.map +1 -0
  557. package/dist/upgrade/detection.context.js +4 -1
  558. package/dist/upgrade/detection.context.js.map +1 -1
  559. package/dist/upgrade/detection.d.ts +9 -7
  560. package/dist/upgrade/detection.d.ts.map +1 -0
  561. package/dist/upgrade/detection.js +23 -54
  562. package/dist/upgrade/detection.js.map +1 -1
  563. package/dist/upgrade/index.d.ts +2 -0
  564. package/dist/upgrade/index.d.ts.map +1 -0
  565. package/dist/upgrade/index.js +1 -0
  566. package/dist/upgrade/index.js.map +1 -1
  567. package/dist/upgrade/lifecycle.context.d.ts +20 -0
  568. package/dist/upgrade/lifecycle.context.d.ts.map +1 -0
  569. package/dist/upgrade/lifecycle.context.js +47 -0
  570. package/dist/upgrade/lifecycle.context.js.map +1 -0
  571. package/dist/upgrade/lifecycle.d.ts +72 -0
  572. package/dist/upgrade/lifecycle.d.ts.map +1 -0
  573. package/dist/upgrade/lifecycle.js +175 -0
  574. package/dist/upgrade/lifecycle.js.map +1 -0
  575. package/dist/upgrade/pathHandle.d.ts +30 -0
  576. package/dist/upgrade/pathHandle.d.ts.map +1 -0
  577. package/dist/upgrade/pathHandle.js +102 -0
  578. package/dist/upgrade/pathHandle.js.map +1 -0
  579. package/dist/utils/bootSession.context.d.ts +16 -0
  580. package/dist/utils/bootSession.context.d.ts.map +1 -0
  581. package/dist/utils/bootSession.context.js +60 -0
  582. package/dist/utils/bootSession.context.js.map +1 -0
  583. package/dist/utils/bootSession.d.ts +17 -0
  584. package/dist/utils/bootSession.d.ts.map +1 -0
  585. package/dist/utils/bootSession.js +20 -0
  586. package/dist/utils/bootSession.js.map +1 -0
  587. package/dist/utils/chromeFetch.d.ts +1 -0
  588. package/dist/utils/chromeFetch.d.ts.map +1 -0
  589. package/dist/utils/cliOutput.d.ts +1 -0
  590. package/dist/utils/cliOutput.d.ts.map +1 -0
  591. package/dist/utils/clock.d.ts +5 -4
  592. package/dist/utils/clock.d.ts.map +1 -0
  593. package/dist/utils/clock.js +19 -16
  594. package/dist/utils/clock.js.map +1 -1
  595. package/dist/utils/debugFilter.d.ts +9 -1
  596. package/dist/utils/debugFilter.d.ts.map +1 -0
  597. package/dist/utils/debugFilter.js +60 -33
  598. package/dist/utils/debugFilter.js.map +1 -1
  599. package/dist/utils/delay.d.ts +48 -15
  600. package/dist/utils/delay.d.ts.map +1 -0
  601. package/dist/utils/delay.js +73 -20
  602. package/dist/utils/delay.js.map +1 -1
  603. package/dist/utils/errors.d.ts +32 -0
  604. package/dist/utils/errors.d.ts.map +1 -0
  605. package/dist/utils/errors.js +45 -4
  606. package/dist/utils/errors.js.map +1 -1
  607. package/dist/utils/evaluate.d.ts +1 -0
  608. package/dist/utils/evaluate.d.ts.map +1 -0
  609. package/dist/utils/evaluate.js +29 -23
  610. package/dist/utils/evaluate.js.map +1 -1
  611. package/dist/utils/ffmpeg.context.d.ts +1 -0
  612. package/dist/utils/ffmpeg.context.d.ts.map +1 -0
  613. package/dist/utils/ffmpeg.context.js.map +1 -1
  614. package/dist/utils/ffmpeg.d.ts +29 -7
  615. package/dist/utils/ffmpeg.d.ts.map +1 -0
  616. package/dist/utils/ffmpeg.js +32 -14
  617. package/dist/utils/ffmpeg.js.map +1 -1
  618. package/dist/utils/fileLogger.d.ts +3 -1
  619. package/dist/utils/fileLogger.d.ts.map +1 -0
  620. package/dist/utils/fileLogger.js +64 -29
  621. package/dist/utils/fileLogger.js.map +1 -1
  622. package/dist/utils/format.d.ts +14 -1
  623. package/dist/utils/format.d.ts.map +1 -0
  624. package/dist/utils/format.js +19 -5
  625. package/dist/utils/format.js.map +1 -1
  626. package/dist/utils/index.d.ts +4 -0
  627. package/dist/utils/index.d.ts.map +1 -0
  628. package/dist/utils/index.js +3 -0
  629. package/dist/utils/index.js.map +1 -1
  630. package/dist/utils/logEmitter.d.ts +1 -0
  631. package/dist/utils/logEmitter.d.ts.map +1 -0
  632. package/dist/utils/logger.d.ts +1 -0
  633. package/dist/utils/logger.d.ts.map +1 -0
  634. package/dist/utils/logger.js +10 -6
  635. package/dist/utils/logger.js.map +1 -1
  636. package/dist/utils/m3u.d.ts +3 -2
  637. package/dist/utils/m3u.d.ts.map +1 -0
  638. package/dist/utils/m3u.js +4 -3
  639. package/dist/utils/m3u.js.map +1 -1
  640. package/dist/utils/markup.d.ts +13 -1
  641. package/dist/utils/markup.d.ts.map +1 -0
  642. package/dist/utils/markup.js +28 -4
  643. package/dist/utils/markup.js.map +1 -1
  644. package/dist/utils/memo.d.ts +3 -2
  645. package/dist/utils/memo.d.ts.map +1 -0
  646. package/dist/utils/memo.js +3 -3
  647. package/dist/utils/morganStream.d.ts +1 -0
  648. package/dist/utils/morganStream.d.ts.map +1 -0
  649. package/dist/utils/network.d.ts +1 -0
  650. package/dist/utils/network.d.ts.map +1 -0
  651. package/dist/utils/network.js +2 -2
  652. package/dist/utils/pid.d.ts +3 -25
  653. package/dist/utils/pid.d.ts.map +1 -0
  654. package/dist/utils/pid.js +10 -49
  655. package/dist/utils/pid.js.map +1 -1
  656. package/dist/utils/platform.d.ts +3 -1
  657. package/dist/utils/platform.d.ts.map +1 -0
  658. package/dist/utils/platform.js +2 -1
  659. package/dist/utils/platform.js.map +1 -1
  660. package/dist/utils/processInspector.context.d.ts +8 -0
  661. package/dist/utils/processInspector.context.d.ts.map +1 -0
  662. package/dist/utils/processInspector.context.js +106 -0
  663. package/dist/utils/processInspector.context.js.map +1 -0
  664. package/dist/utils/processInspector.d.ts +55 -0
  665. package/dist/utils/processInspector.d.ts.map +1 -0
  666. package/dist/utils/processInspector.js +127 -0
  667. package/dist/utils/processInspector.js.map +1 -0
  668. package/dist/utils/retry.d.ts +25 -2
  669. package/dist/utils/retry.d.ts.map +1 -0
  670. package/dist/utils/retry.js +33 -6
  671. package/dist/utils/retry.js.map +1 -1
  672. package/dist/utils/runtimeIdentity.context.d.ts +7 -0
  673. package/dist/utils/runtimeIdentity.context.d.ts.map +1 -0
  674. package/dist/utils/runtimeIdentity.context.js +43 -0
  675. package/dist/utils/runtimeIdentity.context.js.map +1 -0
  676. package/dist/utils/runtimeIdentity.d.ts +98 -0
  677. package/dist/utils/runtimeIdentity.d.ts.map +1 -0
  678. package/dist/utils/runtimeIdentity.js +181 -0
  679. package/dist/utils/runtimeIdentity.js.map +1 -0
  680. package/dist/utils/sanitize.d.ts +1 -0
  681. package/dist/utils/sanitize.d.ts.map +1 -0
  682. package/dist/utils/streamContext.d.ts +2 -1
  683. package/dist/utils/streamContext.d.ts.map +1 -0
  684. package/dist/utils/streamContext.js +1 -1
  685. package/dist/utils/timing.d.ts +2 -1
  686. package/dist/utils/timing.d.ts.map +1 -0
  687. package/dist/utils/timing.js +0 -5
  688. package/dist/utils/timing.js.map +1 -1
  689. package/dist/utils/version.d.ts +1 -0
  690. package/dist/utils/version.d.ts.map +1 -0
  691. package/dist/utils/version.js +47 -13
  692. package/dist/utils/version.js.map +1 -1
  693. package/package.json +26 -20
@@ -1,6 +1,7 @@
1
- import { LOG, delay, formatError } from "../../utils/index.js";
2
- import { logAvailableChannels, normalizeChannelName } from "./shared.js";
1
+ import { LOG, boundedWait, delay, formatError } from "../../utils/index.js";
2
+ import { installOncePerPage, logAvailableChannels, normalizeChannelName } from "./shared.js";
3
3
  import { CONFIG } from "../../config/index.js";
4
+ import { buildDiscoveredChannelsFromCache } from "./cache.js";
4
5
  // Unified channel cache for DirecTV Stream. Maps normalized channel names to their combined discovery and tuning data. Populated by the webpack interceptor's
5
6
  // Redux store extraction, emitted as a [DIRECTV-CHANNELS] console signal and parsed by the console listener. Cleared on browser disconnect via clearDirectvCache().
6
7
  const directvChannelCache = new Map();
@@ -13,14 +14,20 @@ const directvPagesWithListeners = new WeakSet();
13
14
  const pendingTunes = new WeakMap();
14
15
  // DirecTV guide URL. All tunes navigate here - the webpack interceptor handles channel selection during page load.
15
16
  const DIRECTV_GUIDE_URL = "https://stream.directv.com/guide";
16
- // Maximum time to wait for the webpack interceptor to emit a tune result. This covers the time from page navigation start through webpack chunk interception,
17
- // React fiber tree traversal, Redux store discovery, channel matching, and playConsumable dispatch. Validated tunes complete in 2-5 seconds; eight seconds
18
- // provides headroom for slow page loads while failing fast enough that logo click fallback isn't delayed excessively.
19
- const TUNE_TIMEOUT = 8000;
20
- // Maximum time to wait for the [DIRECTV-CHANNELS] console signal during discovery. The Redux store extraction polls for the React mount point with a 10-second
21
- // overall timeout and a 5-second milestone timeout after DOM content appears. This Node-side timeout should exceed the browser-side timeout to avoid race
22
- // conditions where the browser script succeeds but the console signal hasn't been processed yet.
23
- const DISCOVERY_TIMEOUT = 15000;
17
+ // The in-page interceptor's overall poll budget for the React mount, passed into the injected script as an argument so the Node-side waits can derive from it. The
18
+ // interceptor is the inner operation and each Node-side timeout is its outer bound, so the derivations below keep that relationship in the compiler's hands rather
19
+ // than in a comment that a later edit to one number can quietly falsify.
20
+ const INTERCEPTOR_POLL_BUDGET_MS = 10000;
21
+ // Maximum time to wait for the webpack interceptor to emit a tune result. This covers the time from page navigation start through webpack chunk interception, React
22
+ // fiber tree traversal, Redux store discovery, channel matching, and playConsumable dispatch. The margin over the poll budget covers only the console-message
23
+ // bridging that follows, since the tune signal is emitted the instant the dispatch completes. Deriving it rather than picking a smaller literal is the deliberate
24
+ // trade: a genuinely dead interceptor delays the logo-click fallback by the margin, and in exchange no tune is abandoned while the in-page poll still has budget
25
+ // left to succeed with.
26
+ const TUNE_TIMEOUT = INTERCEPTOR_POLL_BUDGET_MS + 2000;
27
+ // Maximum time to wait for the [DIRECTV-CHANNELS] console signal during discovery. The Redux store extraction polls for the React mount point within the budget
28
+ // above, with a 5-second milestone timeout after DOM content appears. The margin covers the signal processing that follows a successful in-page extraction, so this
29
+ // Node-side wait cannot expire while the browser script is still within its own budget.
30
+ const DISCOVERY_TIMEOUT = INTERCEPTOR_POLL_BUDGET_MS + 5000;
24
31
  // Network names that have local affiliates on DirecTV Stream, named as "{NETWORK}-{CALLSIGN}" (e.g., "ABC-WABC", "PBS-WNET"). Used for cache aliasing in
25
32
  // processChannelLineup. The in-page interceptor and logo click fallback perform generic prefix matching independent of this set.
26
33
  const DIRECTV_LOCAL_NETWORKS = new Set(["abc", "cbs", "cw", "fox", "nbc", "pbs"]);
@@ -96,9 +103,9 @@ function processChannelLineup(json) {
96
103
  }
97
104
  }
98
105
  /**
99
- * Sets up console listeners on the page to bridge in-page console signals from the evaluateOnNewDocument interceptor to the Node.js process. Handles four signal
100
- * types: [DIRECTV-CHANNELS] for channel lineup data, [DIRECTV-TUNE-OK] and [DIRECTV-TUNE-FAIL] for tune result signaling, and [DIRECTV-DIAG] for diagnostic
101
- * logging. Uses a WeakSet to prevent duplicate listener registration on the same page.
106
+ * Sets up console listeners on the page to bridge in-page console signals from the evaluateOnNewDocument interceptor to the Node.js process. Handles the console
107
+ * signal types the interceptor emits: [DIRECTV-CHANNELS] for channel lineup data, [DIRECTV-TUNE-OK] and [DIRECTV-TUNE-FAIL] for tune result signaling, and
108
+ * [DIRECTV-DIAG] for diagnostic logging. Uses a WeakSet to prevent duplicate listener registration on the same page.
102
109
  * @param page - The Puppeteer page object.
103
110
  */
104
111
  function setupConsoleListeners(page) {
@@ -135,7 +142,7 @@ function setupConsoleListeners(page) {
135
142
  * tree, emits the channel lineup, and optionally dispatches playConsumable to tune to a specific channel. The script runs before any SPA JavaScript and is
136
143
  * entirely self-contained (no Node.js references).
137
144
  *
138
- * The interceptor has four phases:
145
+ * The interceptor proceeds through these phases:
139
146
  * 1. Main-frame guard (skip ad iframes)
140
147
  * 2. Wrap webpackChunk push to capture __webpack_require__ from natural chunk callbacks (defense-in-depth for future webpack builds)
141
148
  * 3. Poll for React fiber root, BFS for Redux store, extract channel lineup, emit [DIRECTV-CHANNELS]
@@ -146,7 +153,11 @@ function setupConsoleListeners(page) {
146
153
  * @param discoverOnly - When true, skip the tune phase and only extract the channel lineup.
147
154
  */
148
155
  async function installDirectTuneInterceptor(page, channelName, discoverOnly) {
149
- await page.evaluateOnNewDocument((targetName, discoverOnlyFlag) => {
156
+ // Gate the evaluateOnNewDocument install through installOncePerPage. resolveDirectvDirectUrl runs this before every navigation, and the monitor's recovery tune
157
+ // resolves a direct URL exactly as stream setup did - so a recovery re-tune calls it again on the same page. Without the gate, each re-tune would stack another
158
+ // webpack-interceptor script; every subsequent navigation would then run multiple competing chunk-push wrappers and Redux-store polls in the same frame. The
159
+ // discovery path uses its own fresh page, so the single per-page key never blocks a discover-then-tune sequence on distinct pages.
160
+ await installOncePerPage(page, "webpack-interceptor", async () => await page.evaluateOnNewDocument((targetName, discoverOnlyFlag, maxPollTime) => {
150
161
  // Phase 1: Main-frame guard. The evaluateOnNewDocument script runs in every frame, including ad iframes. We only want to intercept webpack chunks in the main
151
162
  // frame where the DirecTV SPA loads.
152
163
  try {
@@ -192,9 +203,9 @@ async function installDirectTuneInterceptor(page, channelName, discoverOnly) {
192
203
  };
193
204
  // Phase 3: Poll for React fiber root, extract Redux store and channel lineup. React mounts asynchronously after webpack chunks load, so we poll the DOM for
194
205
  // the fiber root at 200ms intervals. Once found, BFS through the fiber tree to locate pendingProps.store (the Redux store), then extract the channel lineup
195
- // from the store's state.
206
+ // from the store's state. The overall budget for that poll arrives as maxPollTime, passed in from Node so the waits on the other side of the console bridge
207
+ // derive from the same number this loop spends.
196
208
  const POLL_INTERVAL = 200;
197
- const MAX_POLL_TIME = 10000;
198
209
  const pollStart = Date.now();
199
210
  // React property prefixes to search for on candidate mount elements. Covers React 18 createRoot (__reactContainer$), React 17-18 individual fibers
200
211
  // (__reactFiber$), and React 16 legacy (__reactInternalInstance$). Defined once and shared across poll iterations.
@@ -213,10 +224,10 @@ async function installDirectTuneInterceptor(page, channelName, discoverOnly) {
213
224
  // several poll iterations may pass before the data arrives.
214
225
  let channelsEmptyLogged = false;
215
226
  const pollTimer = setInterval(() => {
216
- if ((Date.now() - pollStart) > MAX_POLL_TIME) {
227
+ if ((Date.now() - pollStart) > maxPollTime) {
217
228
  clearInterval(pollTimer);
218
229
  // eslint-disable-next-line no-console
219
- console.log("[DIRECTV-DIAG] Overall poll timeout (" + String(MAX_POLL_TIME) + "ms) - " +
230
+ console.log("[DIRECTV-DIAG] Overall poll timeout (" + String(maxPollTime) + "ms) - " +
220
231
  (cachedStore ? "Redux store found but channel lineup never populated." : "Redux store not found."));
221
232
  if (!discoverOnlyFlag) {
222
233
  // eslint-disable-next-line no-console
@@ -314,8 +325,8 @@ async function installDirectTuneInterceptor(page, channelName, discoverOnly) {
314
325
  console.log("[DIRECTV-DIAG] Found Redux store after " + String(Date.now() - pollStart) + "ms (" + String(visited) + " nodes visited).");
315
326
  }
316
327
  // Phase 3b: Extract the channel lineup from the Redux store state. The store is found early (~400ms after page load) but the SPA fetches channel data
317
- // asynchronously. We poll getState() each interval until the lineup appears. The validated path is state.channels.channelArrays (a 151-element array).
318
- // Fallback paths cover plausible restructurings in future app versions.
328
+ // asynchronously. We poll getState() each interval until the lineup appears. The validated path is state.channels.channelArrays (a ~152-element array,
329
+ // though the exact count is market/DMA-dependent). Fallback paths cover plausible restructurings in future app versions.
319
330
  const state = cachedStore.getState();
320
331
  let channels = [];
321
332
  if (state["channels"]) {
@@ -472,6 +483,10 @@ async function installDirectTuneInterceptor(page, channelName, discoverOnly) {
472
483
  // payload to internally dispatch Redux actions for authorization, CDN token generation, manifest construction, and player initialization. This is NOT a
473
484
  // Redux action creator - do not wrap the call in store.dispatch().
474
485
  try {
486
+ // The payload mirrors the live-linear consumable shape DirecTV's player expects for the "on now" program of a linear channel. These are reverse-engineered
487
+ // values for an undocumented API: consumableType "LINEAR", the "OnNow" badge, the isPlayable constraint, makeFullscreen, and restart are the validated
488
+ // fields a successful live tune requires. duration is a nominal one-hour placeholder (3600 seconds) for the open-ended live tile, not a real program
489
+ // length - the player treats LINEAR content as continuous and does not honor this value.
475
490
  playConsumableFn({
476
491
  consumable: {
477
492
  augmentation: { constraints: { isPlayable: true } },
@@ -494,7 +509,7 @@ async function installDirectTuneInterceptor(page, channelName, discoverOnly) {
494
509
  console.log("[DIRECTV-TUNE-FAIL] Dispatch error: " + String(err));
495
510
  }
496
511
  }, POLL_INTERVAL);
497
- }, channelName, discoverOnly);
512
+ }, channelName, discoverOnly, INTERCEPTOR_POLL_BUDGET_MS));
498
513
  }
499
514
  /**
500
515
  * Installs the DirecTV webpack interceptor before navigation. Called by the coordinator's resolveDirectUrl before page.goto fires. Always returns null so
@@ -546,22 +561,20 @@ async function directvGridStrategy(page, profile) {
546
561
  // or [DIRECTV-TUNE-FAIL] when the playConsumable dispatch completes.
547
562
  const tuneState = pendingTunes.get(page);
548
563
  if (tuneState) {
549
- // Race the tune promise against a timeout. The promise maps to discriminated string results so we can distinguish "interceptor reported failure" from
550
- // "no signal arrived" - critical for debugging whether the interceptor ran at all or stalled silently.
551
- const result = await Promise.race([
552
- tuneState.promise.then((v) => v ? "success" : "failure"),
553
- delay(TUNE_TIMEOUT).then(() => "timeout")
554
- ]);
555
- // Clean up after resolution or timeout. In the success case the console listener already resolved the promise; in the timeout case this removes the
556
- // stale entry so a late-arriving console signal is a no-op.
564
+ // Bound the tune wait. The three outcomes ride the result value directly: true is a tune the interceptor confirmed, false is one it reported as failed,
565
+ // and null is no signal at all. Keeping "reported failure" separate from "nothing arrived" is what tells us whether the interceptor ran and failed or
566
+ // stalled silently.
567
+ const tuned = await boundedWait(tuneState.promise, TUNE_TIMEOUT);
568
+ // Clean up after resolution or lapse. In the success case the console listener already resolved the promise; on a lapse this removes the stale entry so a
569
+ // late-arriving console signal is a no-op.
557
570
  pendingTunes.delete(page);
558
- if (result === "success") {
571
+ if (tuned) {
559
572
  LOG.debug("tuning:directv", "Interceptor tune succeeded for %s.", channelName);
560
573
  return { directTune: true, success: true };
561
574
  }
562
575
  // Invalidate the cache entry so the next tune rediscovers the channel with fresh IDs from the Redux store rather than retrying with the same stale data.
563
576
  directvChannelCache.delete(normalizeChannelName(channelName));
564
- if (result === "failure") {
577
+ if (tuned === false) {
565
578
  LOG.debug("tuning:directv", "Interceptor reported tune failure for %s. Invalidated cache entry. Falling back to logo click.", channelName);
566
579
  }
567
580
  else {
@@ -590,7 +603,7 @@ async function directvLogoClickFallback(page, channelName) {
590
603
  await page.waitForSelector("[aria-label^=\"view \"]", { timeout: CONFIG.streaming.videoTimeout, visible: true });
591
604
  }
592
605
  catch {
593
- return { reason: "DirecTV guide grid did not load (no channel logos found).", success: false };
606
+ return { guideUnavailable: true, reason: "DirecTV guide grid did not load (no channel logos found).", success: false };
594
607
  }
595
608
  // Find and scroll to the target channel's logo. We use DOM element.click() rather than coordinate-based page.mouse.click because DirecTV has an invisible
596
609
  // overlay (React Native for Web Pressable) that intercepts coordinate-based clicks. DOM click dispatches directly to the element, bypassing coordinate
@@ -691,17 +704,7 @@ async function directvLogoClickFallback(page, channelName) {
691
704
  * @returns Sorted array of discovered channels.
692
705
  */
693
706
  function buildDirectvDiscoveredChannels() {
694
- const channels = [];
695
- const seen = new Set();
696
- for (const entry of directvChannelCache.values()) {
697
- if (seen.has(entry.displayName)) {
698
- continue;
699
- }
700
- seen.add(entry.displayName);
701
- channels.push({ channelSelector: entry.displayName, name: entry.displayName });
702
- }
703
- channels.sort((a, b) => a.name.localeCompare(b.name));
704
- return channels;
707
+ return buildDiscoveredChannelsFromCache(directvChannelCache.values(), (entry) => ({ channelSelector: entry.displayName, name: entry.displayName }));
705
708
  }
706
709
  /**
707
710
  * Discovers all channels from DirecTV Stream by installing the webpack interceptor with discoverOnly=true, navigating to the guide page, and waiting for the
@@ -728,9 +731,12 @@ async function discoverDirectvChannels(page) {
728
731
  return [];
729
732
  }
730
733
  await page.goto(DIRECTV_GUIDE_URL, { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "load" });
731
- // Wait for the channel lineup to be emitted by the interceptor. The Redux store extraction polls at 200ms intervals in the browser context.
734
+ // Wait for the channel lineup to be emitted by the interceptor. The Redux store extraction polls at 200ms intervals in the browser context. The page check ends
735
+ // the wait as soon as the page is gone: a closed page can never deliver another console signal, so waiting out the remaining clock would only postpone this
736
+ // walk's settlement - and a refresh that cancelled this walk by closing its page waits on that settlement before it clears the caches. The empty-result path
737
+ // below handles the early exit.
732
738
  const discoveryStart = Date.now();
733
- while (!directvFullyDiscovered && ((Date.now() - discoveryStart) < DISCOVERY_TIMEOUT)) {
739
+ while (!directvFullyDiscovered && !page.isClosed() && ((Date.now() - discoveryStart) < DISCOVERY_TIMEOUT)) {
734
740
  // eslint-disable-next-line no-await-in-loop
735
741
  await delay(500);
736
742
  }
@@ -1 +1 @@
1
- {"version":3,"file":"directv.js","sourceRoot":"","sources":["../../../src/browser/tuning/directv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directv.js","sourceRoot":"","sources":["../../../src/browser/tuning/directv.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import type { ProviderModule } from "../../types/index.ts";
2
2
  export declare const foxProvider: ProviderModule;
3
+ //# sourceMappingURL=fox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fox.d.ts","sourceRoot":"","sources":["../../../src/browser/tuning/fox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmG,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAse5J,eAAO,MAAM,WAAW,EAAE,cAiCzB,CAAC"}
@@ -4,7 +4,7 @@ import { logAvailableChannels } from "./shared.js";
4
4
  // Cached discovery results. Populated by the first discoverFoxChannels call (discovery endpoint). Fox tuning is stateless (no tuning cache exists), so only
5
5
  // the discovery endpoint populates this cache. Cleared on browser disconnect via clearFoxCache().
6
6
  let cachedDiscoveredChannels = null;
7
- // Single source of truth for Fox's category-selector membership. Read by foxProvider.categorySelectors so the resolution layer in selectChannel() knows which
7
+ // Single source of truth for Fox's category-selector membership. Read by foxProvider.categoryResolution.selectors so the resolution layer in selectChannel() knows which
8
8
  // selectors to route through resolveFoxCategorySelector, and read by verifyFoxManifest so it applies wildcard semantics on the same set. Adding a new Fox category
9
9
  // selector means appending one entry here - the provider declaration and the verifier pick it up automatically.
10
10
  const FOX_CATEGORY_SELECTORS = ["FOXD2C"];
@@ -46,8 +46,9 @@ function extractCallSignFromManifestUrl(url) {
46
46
  return channelSegment.substring(0, dashIndex).toLowerCase();
47
47
  }
48
48
  /**
49
- * Failsafe verifier called by streaming/hls.ts after the master manifest URL has been captured for a Fox tune. Confirms the URL belongs to the channel the user
50
- * asked for. The selector is compared lowercase against the call sign extracted from the URL path - both cable channels (FBN, FNC, FS1, etc.) and local affiliate
49
+ * Failsafe verifier called by streaming/setup.ts (setupStream's tune-verification step) after the master manifest URL has been captured for a Fox tune. Confirms
50
+ * the URL belongs to the channel the user asked for. The selector is compared lowercase against the call sign extracted from the URL path - both cable channels
51
+ * (FBN, FNC, FS1, etc.) and local affiliate
51
52
  * call signs (WFLD, WPWRDT, etc.) follow the same lowercase convention in Fox's CDN paths. Returns null on match. Returns null when the URL shape is unrecognized
52
53
  * (fail-open: better to accept a stream we cannot inspect than to reject a working one when Fox restructures their CDN). Returns a failure reason when the URL
53
54
  * decodes cleanly to a different call sign - that is the unmistakable signature of a click that did not switch the player, and we want the stream to fail loudly
@@ -88,23 +89,23 @@ function verifyFoxManifest(url, channelSelector) {
88
89
  return "Manifest URL is for channel \"" + callSign + "\", but \"" + channelSelector + "\" was requested.";
89
90
  }
90
91
  /**
91
- * Resolves a Fox category selector to a concrete per-user call sign. Today the only category is "FOXD2C" - the title shared by every Fox-owned local affiliate
92
- * Fox.com surfaces in the user's market. Resolution consults discovery: if discovery has cached results, we read the first FOXD2C-tagged entry (the entry whose
93
- * affiliate field is populated, set only for FOXD2C entries during discovery). If the cache is empty, we run discovery in-line on the already-loaded page; the
94
- * resolver is invoked from selectChannel() after navigation, so the guide grid is rendered or about to render. Returns null when no FOXD2C affiliate is present,
95
- * which happens before the grid hydrates or when the user is not authenticated; the resolution layer treats null as "could not resolve" and falls through to a
96
- * best-effort match with the original category selector.
92
+ * Resolves one of the provider's declared category selectors (see FOX_CATEGORY_SELECTORS) to a concrete per-user call sign; FOXD2C is the title shared by
93
+ * every Fox-owned local affiliate Fox.com surfaces in the user's market. Resolution consults discovery: if discovery has cached results, we read the first
94
+ * FOXD2C-tagged entry (the entry whose affiliate field is populated, set only for FOXD2C entries during discovery). If the cache is empty, we run discovery
95
+ * in-line on the already-loaded page; the resolver is invoked from selectChannel() after navigation, so the guide grid is rendered or about to render.
96
+ * Returns a CategoryResolutionFailure with a user-facing reason when no FOXD2C affiliate is present, which happens before the grid hydrates or when the user
97
+ * is not authenticated; the resolution layer relays the reason and falls through to a best-effort match with the original category selector.
97
98
  *
98
99
  * For users in markets with multiple FOXD2C affiliates (e.g., Chicago has both WFLD and WPWRDT - Fox-owned Fox and CW O&O), discovery returns them in DOM order
99
100
  * because the in-line walk preserves it and the post-walk alphabetical sort is stable for name ties (every FOXD2C entry has name="FOXD2C"). The first entry is
100
101
  * the primary Fox-owned Fox affiliate in nearly all markets. Users who want the secondary station can manually edit the per-channel override after the system
101
102
  * persists the resolved selector - the override is the same delta a user-set selector produces.
102
- * @param selector - The category selector value being resolved (one of the entries in foxProvider.categorySelectors).
103
+ * @param selector - The category selector value being resolved (one of the entries in foxProvider.categoryResolution.selectors).
103
104
  * @param page - The active Fox.com page. Used to run discovery in-line when the cache is empty.
104
- * @returns The resolution containing the user's call sign, or null when resolution cannot be performed.
105
+ * @returns CategoryResolutionSuccess with the resolved call sign, or CategoryResolutionFailure with a user-facing reason when resolution cannot be performed.
105
106
  */
106
107
  async function resolveFoxCategorySelector(selector, page) {
107
- // Defensive: only resolve selectors this provider actually declares as categories. selectChannel only invokes the resolver for selectors in categorySelectors,
108
+ // Defensive: only resolve selectors this provider actually declares as categories. selectChannel only invokes the resolver for categoryResolution.selectors,
108
109
  // so reaching this branch indicates a bug - either selectChannel routed wrong, or a caller bypassed selectChannel and invoked the resolver directly with the
109
110
  // wrong value. We throw rather than returning a CategoryResolutionFailure because the resolver's `reason` field is contracted as user-facing prose for
110
111
  // operational failures; an internal contract violation is a developer-audience event and belongs in the exception channel where it propagates to the existing
@@ -1 +1 @@
1
- {"version":3,"file":"fox.js","sourceRoot":"","sources":["../../../src/browser/tuning/fox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fox.js","sourceRoot":"","sources":["../../../src/browser/tuning/fox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import type { Nullable } from "../../types/index.ts";
2
+ /**
3
+ * What one probe of the grid found: the rows the virtualizer rendered at the probed position, and the target's payload if the probe recognized it among them.
4
+ *
5
+ * Rows arrive in the guide's own visual order. That is the contract the search rests on and the only one a probe can satisfy, because the search reads the
6
+ * first and last of them as the alphabetical extremes of the rendered window and an in-range-miss hook reasoning about position needs the order the guide
7
+ * actually renders. A guide whose DOM order is its visual order hands its rows back untouched; one whose virtualizer recycles elements out of visual order
8
+ * restores that order inside its own probe. Null or empty rows report that the probe read nothing, which is a transient virtualizer state rather than an
9
+ * answer about where the target sits.
10
+ */
11
+ export interface GridProbeResult<TRow, TFound> {
12
+ /**
13
+ * The payload for a target the probe recognized among the rows it read, or null when it did not. Anything non-null ends the search, so a probe that resolved
14
+ * only part of what a hit needs - a matched name whose click coordinates did not resolve, say - reports null and lets the search carry on.
15
+ */
16
+ found: Nullable<TFound>;
17
+ rows: Nullable<TRow[]>;
18
+ }
19
+ /**
20
+ * How a search ended: the target was found, an in-range-miss hook resolved the caller's whole request on its own, or the range was exhausted without either.
21
+ *
22
+ * The resolved arm exists only for callers that pass a hook returning one. TResult defaults to never for the callers that do not, and the conditional collapses
23
+ * that arm out of the union entirely rather than leaving them a case they would have to handle and could never reach. The comparison is written over one-element
24
+ * tuples so that it tests TResult as a whole instead of distributing across it.
25
+ */
26
+ export type GridSearchOutcome<TFound, TResult> = {
27
+ found: TFound;
28
+ kind: "found";
29
+ } | {
30
+ kind: "notFound";
31
+ } | ([TResult] extends [never] ? never : {
32
+ kind: "resolved";
33
+ result: TResult;
34
+ });
35
+ /**
36
+ * Binary-searches a virtualized guide grid for a channel by name, probing the midpoint of a shrinking row range until a probe recognizes the target or the
37
+ * range runs out. A virtualized guide renders only a small window of its rows, so each step scrolls that window somewhere new and reads what landed there:
38
+ * a hit ends the search, and a miss narrows the range by comparing the target against the window's alphabetical extremes.
39
+ *
40
+ * The search reads nothing off a row itself and touches no provider state. Rows are compared through nameOf, are never sorted or reordered, and reach the
41
+ * in-range-miss hook as the very array the probe returned, because a hook that reasons about a row's position among its neighbors depends on both.
42
+ * @param options - The search bounds and the provider's policy callbacks.
43
+ * @param options.isDirectionAnchor - Reports whether a row's name can be trusted to sort where the row appears, for guides that render rows whose displayed
44
+ * name is not their sort key. Omit when every row anchors.
45
+ * @param options.maxIterations - Hard cap on probes. Sized per guide against the row count it converges over, and a bound on pathological virtualizer behavior
46
+ * rather than the normal exit.
47
+ * @param options.nameOf - Reads the name a row is compared by.
48
+ * @param options.onInRangeMiss - Called with the probe's rows when the target sorts inside the rendered window but no row matched it, for guides where that
49
+ * case is recoverable. Returning a resolved value ends the search as resolved, a found value ends it as found, and null ends it as not found. Omit when the
50
+ * case simply means the channel is absent.
51
+ * @param options.probe - Brings the rows around a row index into the DOM and reads them back, in guide order, along with the target's payload if it is there.
52
+ * @param options.targetName - The normalized channel name being searched for.
53
+ * @param options.totalRows - How many rows the guide holds, which is the initial upper bound.
54
+ * @returns The outcome of the search.
55
+ */
56
+ export declare function searchVirtualizedGrid<TRow, TFound, TResult = never>(options: {
57
+ isDirectionAnchor?: (row: TRow) => boolean;
58
+ maxIterations: number;
59
+ nameOf: (row: TRow) => string;
60
+ onInRangeMiss?: (rows: TRow[]) => Promise<Nullable<{
61
+ found?: TFound;
62
+ resolved?: TResult;
63
+ }>>;
64
+ probe: (rowIndex: number) => Promise<GridProbeResult<TRow, TFound>>;
65
+ targetName: string;
66
+ totalRows: number;
67
+ }): Promise<GridSearchOutcome<TFound, TResult>>;
68
+ //# sourceMappingURL=gridSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridSearch.d.ts","sourceRoot":"","sources":["../../../src/browser/tuning/gridSearch.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,EAAE,MAAM;IAE3C;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAGxB,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,IAC3C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE;IAClF,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;IAC5F,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA2F9C"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Binary-searches a virtualized guide grid for a channel by name, probing the midpoint of a shrinking row range until a probe recognizes the target or the
3
+ * range runs out. A virtualized guide renders only a small window of its rows, so each step scrolls that window somewhere new and reads what landed there:
4
+ * a hit ends the search, and a miss narrows the range by comparing the target against the window's alphabetical extremes.
5
+ *
6
+ * The search reads nothing off a row itself and touches no provider state. Rows are compared through nameOf, are never sorted or reordered, and reach the
7
+ * in-range-miss hook as the very array the probe returned, because a hook that reasons about a row's position among its neighbors depends on both.
8
+ * @param options - The search bounds and the provider's policy callbacks.
9
+ * @param options.isDirectionAnchor - Reports whether a row's name can be trusted to sort where the row appears, for guides that render rows whose displayed
10
+ * name is not their sort key. Omit when every row anchors.
11
+ * @param options.maxIterations - Hard cap on probes. Sized per guide against the row count it converges over, and a bound on pathological virtualizer behavior
12
+ * rather than the normal exit.
13
+ * @param options.nameOf - Reads the name a row is compared by.
14
+ * @param options.onInRangeMiss - Called with the probe's rows when the target sorts inside the rendered window but no row matched it, for guides where that
15
+ * case is recoverable. Returning a resolved value ends the search as resolved, a found value ends it as found, and null ends it as not found. Omit when the
16
+ * case simply means the channel is absent.
17
+ * @param options.probe - Brings the rows around a row index into the DOM and reads them back, in guide order, along with the target's payload if it is there.
18
+ * @param options.targetName - The normalized channel name being searched for.
19
+ * @param options.totalRows - How many rows the guide holds, which is the initial upper bound.
20
+ * @returns The outcome of the search.
21
+ */
22
+ export async function searchVirtualizedGrid(options) {
23
+ const { isDirectionAnchor, maxIterations, nameOf, onInRangeMiss, probe, targetName, totalRows } = options;
24
+ let low = 0;
25
+ let high = totalRows - 1;
26
+ for (let iteration = 0; iteration < maxIterations; iteration++) {
27
+ if (low > high) {
28
+ break;
29
+ }
30
+ const mid = Math.floor((low + high) / 2);
31
+ // eslint-disable-next-line no-await-in-loop
32
+ const { found, rows } = await probe(mid);
33
+ /* A probe that rendered nothing carries no evidence about where the target sits, so the range is left exactly where it was and the next iteration probes
34
+ * the same midpoint again. Emptiness is settled before the hit is read, which is what makes a probe reporting both - however it managed it - resolve as
35
+ * the empty read it is rather than as a hit on rows nobody saw.
36
+ */
37
+ if (!rows || (rows.length === 0)) {
38
+ continue;
39
+ }
40
+ if (found !== null) {
41
+ return { found, kind: "found" };
42
+ }
43
+ // Anchors are the rows whose names the caller vouches for as sorting where they appear. Filtering builds its own array, and the rows the probe returned are
44
+ // never reordered, so what the miss hook receives below is untouched.
45
+ const anchors = isDirectionAnchor ? rows.filter(isDirectionAnchor) : rows;
46
+ const firstAnchor = anchors[0];
47
+ const lastAnchor = anchors.at(-1);
48
+ // A window holding no anchors says nothing about direction - every row it rendered was one the caller excluded from the comparison. Move down and hope the
49
+ // next window reads better. One check covers both ends, since an array with a first element has a last one.
50
+ if ((firstAnchor === undefined) || (lastAnchor === undefined)) {
51
+ low = mid + 1;
52
+ continue;
53
+ }
54
+ // Direction comes from the window's alphabetical extremes, read in the order the probe returned them.
55
+ if (targetName.localeCompare(nameOf(firstAnchor)) < 0) {
56
+ // The target sorts before everything anchored here, so its row is above this window.
57
+ high = mid - 1;
58
+ continue;
59
+ }
60
+ if (targetName.localeCompare(nameOf(lastAnchor)) > 0) {
61
+ // The target sorts after everything anchored here, so its row is below this window.
62
+ low = mid + 1;
63
+ continue;
64
+ }
65
+ // The target belongs inside this window but no row matched it. What that means is the caller's to say: a guide that labels a row with something other than
66
+ // the name it sorts under has a channel to recover here, and a guide that does not simply has no such channel.
67
+ if (onInRangeMiss) {
68
+ // eslint-disable-next-line no-await-in-loop
69
+ const miss = await onInRangeMiss(rows);
70
+ if (miss?.resolved !== undefined) {
71
+ /* The resolved arm is part of the outcome union exactly when TResult is not never, and TResult is not never exactly when the caller passed a hook that
72
+ * returns one - which is the branch this return stands in. The conditional type cannot carry those two facts to each other, so the assertion states
73
+ * what the call signature has already guaranteed.
74
+ */
75
+ return { kind: "resolved", result: miss.resolved };
76
+ }
77
+ if (miss?.found !== undefined) {
78
+ return { found: miss.found, kind: "found" };
79
+ }
80
+ }
81
+ break;
82
+ }
83
+ return { kind: "notFound" };
84
+ }
85
+ //# sourceMappingURL=gridSearch.js.map