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
@@ -0,0 +1,57 @@
1
+ import { CONFIG } from "../config/index.js";
2
+ import { LOG } from "../utils/index.js";
3
+ /**
4
+ * Puts the page on the given URL and waits for it the way the options ask. Under the network-idle wait, the load returns once network activity settles, allowing
5
+ * up to two concurrent connections for 500 ms, which is what gives a complex JavaScript player time to finish initializing; the wait also carries the navigation
6
+ * timeout, and a timeout under it is tolerated rather than thrown, because the video frequently has loaded even when some background request never completed.
7
+ * Without the network-idle wait the load returns as soon as the page fires its load event, which is the only workable answer for a site whose persistent
8
+ * connections or continuous polling would keep it from ever reaching idle, and a failure there propagates.
9
+ * @param page - The Puppeteer page object.
10
+ * @param url - The URL to load.
11
+ * @param options - The wait preference for this load.
12
+ * @returns The document response, or null when the network-idle wait timed out and the page was left as it loaded.
13
+ */
14
+ export async function loadDocument(page, url, options) {
15
+ if (options.waitForNetworkIdle) {
16
+ try {
17
+ // Wait for network activity to settle. This ensures complex JavaScript players have fully initialized. The networkidle2 strategy allows up to 2
18
+ // concurrent requests, which handles sites with persistent connections for analytics.
19
+ return await page.goto(url, { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "networkidle2" });
20
+ }
21
+ catch (error) {
22
+ // Timeout errors during navigation are common and often non-fatal - the video may have loaded successfully even if some background requests never
23
+ // completed. We log a warning and continue rather than throwing.
24
+ if (error && (error.name === "TimeoutError")) {
25
+ LOG.warn("Page navigation timed out after %sms for %s.", CONFIG.streaming.navigationTimeout, url);
26
+ return null;
27
+ }
28
+ // Non-timeout errors (network failure, invalid URL, etc.) should be propagated for retry handling.
29
+ throw error;
30
+ }
31
+ }
32
+ // Simple navigation without waiting for network idle. Returns after the load event fires. Used for sites that would never reach networkidle due to
33
+ // persistent connections, streaming data, or continuous polling.
34
+ return page.goto(url);
35
+ }
36
+ /**
37
+ * Reloads the page it is handed, mirroring loadDocument's wait strategy and its timeout tolerance so a reload and a fresh load of the same site behave the same
38
+ * way. A reload timeout is often non-fatal - the player may already be present even if some background requests never settled - so it warns and continues, and
39
+ * every other error propagates.
40
+ * @param page - The Puppeteer page object.
41
+ * @param options - The wait preference for this reload.
42
+ */
43
+ export async function reloadDocument(page, options) {
44
+ const waitUntil = options.waitForNetworkIdle ? "networkidle2" : "load";
45
+ try {
46
+ await page.reload({ timeout: CONFIG.streaming.navigationTimeout, waitUntil });
47
+ }
48
+ catch (error) {
49
+ if (error && (error.name === "TimeoutError")) {
50
+ LOG.warn("Page reload timed out after %sms.", CONFIG.streaming.navigationTimeout);
51
+ }
52
+ else {
53
+ throw error;
54
+ }
55
+ }
56
+ }
57
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/browser/navigation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAqBxC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAU,EAAE,GAAW,EAAE,OAA4B;IAEtF,IAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE9B,IAAI,CAAC;YAEH,gJAAgJ;YAChJ,sFAAsF;YACtF,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1G,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,kJAAkJ;YAClJ,iEAAiE;YACjE,IAAG,KAAK,IAAI,CAAE,KAAe,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;gBAEvD,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAAE,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAElG,OAAO,IAAI,CAAC;YACd,CAAC;YAED,mGAAmG;YACnG,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,mJAAmJ;IACnJ,iEAAiE;IACjE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAU,EAAE,OAA4B;IAE3E,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;IAEvE,IAAI,CAAC;QAEH,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;IAChF,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,IAAG,KAAK,IAAI,CAAE,KAAe,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;YAEvD,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YAEN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -27,4 +27,3 @@ export interface StalePageActions {
27
27
  * @returns The clocks to start, the marks to clear, the entries to forget, and the pages to close.
28
28
  */
29
29
  export declare function evaluateStalePages(snapshot: StalePageSnapshot): StalePageActions;
30
- //# sourceMappingURL=pageStaleness.d.ts.map
@@ -3,6 +3,7 @@ import { createDiscoveryPage, emulateLayoutSurface, getCurrentBrowser, isGracefu
3
3
  import { getPersistedLineup, persistProviderLineup } from "../config/providerLineups.ts";
4
4
  import { getProviderBySlug, getProvidersForDomain } from "./channelSelection.ts";
5
5
  import type { BlockedPageClassification } from "./blockedPage.ts";
6
+ import type { Clock } from "homebridge-plugin-utils";
6
7
  import type { Page } from "puppeteer-core";
7
8
  import { startOverlayHandling } from "./consent.ts";
8
9
  /**
@@ -13,6 +14,7 @@ export declare class DiscoveryWalkTimeoutError extends Error {
13
14
  constructor(label: string, timeoutMs: number);
14
15
  }
15
16
  export interface PrecachingDeps {
17
+ readonly clock: Clock;
16
18
  readonly createDiscoveryPage: typeof createDiscoveryPage;
17
19
  readonly emulateLayoutSurface: typeof emulateLayoutSurface;
18
20
  readonly getCurrentBrowser: typeof getCurrentBrowser;
@@ -29,7 +31,8 @@ export interface PrecachingDeps {
29
31
  export declare const defaultPrecachingDeps: PrecachingDeps;
30
32
  /**
31
33
  * Starts the precaching cycle if services are configured. Called from launchBrowser() after the browser is ready. If no services are selected, a shutdown is in
32
- * progress, or a precache cycle is already in progress, returns immediately. The actual work is scheduled via setTimeout to avoid blocking browser launch.
34
+ * progress, or a precache cycle is already in progress, returns immediately. The actual work is scheduled on the dependencies' clock to avoid blocking browser
35
+ * launch.
33
36
  * @param deps - The injected browser and provider-registry dependencies; defaults to defaultPrecachingDeps.
34
37
  */
35
38
  export declare function startPrecaching(deps?: PrecachingDeps): void;
@@ -106,4 +109,3 @@ export declare function precacheService(provider: ProviderModule, deps?: Precach
106
109
  */
107
110
  export declare function revalidateDomainAuth(url: string, deps?: PrecachingDeps): Promise<void>;
108
111
  export {};
109
- //# sourceMappingURL=precaching.d.ts.map
@@ -3,12 +3,12 @@ import { clearDomainAuthRequirement, getDomainAuthState, markDomainAuth, markDom
3
3
  import { createDiscoveryPage, emulateLayoutSurface, getCurrentBrowser, isGracefulShutdown, registerManagedPage, syncWindowVisibility, unregisterManagedPage } from "./index.js";
4
4
  import { getPersistedLineup, persistProviderLineup } from "../config/providerLineups.js";
5
5
  import { getProviderBySlug, getProvidersForDomain } from "./channelSelection.js";
6
+ import { systemClock, waitWithSignal } from "homebridge-plugin-utils";
6
7
  import { CONFIG } from "../config/index.js";
7
8
  import { classifyBlockedPage } from "./blockedPage.js";
8
9
  import { getProfileForUrl } from "../config/profiles.js";
9
10
  import { isLoginModeActive } from "./login.js";
10
11
  import { startOverlayHandling } from "./consent.js";
11
- import { waitWithSignal } from "homebridge-plugin-utils";
12
12
  /* Precaching discovers channel lineups for selected services at startup so that even the first tune benefits from cached lineup data. Each service is precached
13
13
  * sequentially - discovery opens a browser page in a window of its own and navigates to a heavy SPA, so running all services concurrently would stress CPU and
14
14
  * GPU on resource-constrained systems. The HTTP server starts immediately; precaching begins in the background after a brief delay.
@@ -22,6 +22,9 @@ import { waitWithSignal } from "homebridge-plugin-utils";
22
22
  * mutator or the lineup store directly - it calls the recorder, which does. The page session itself is owned by withProviderGuidePage: the single guarded-page
23
23
  * primitive both the precache cycle and that endpoint walk their guides through, and the one place the empty-walk retry policy lives, so no provider carries a
24
24
  * retry of its own.
25
+ *
26
+ * Every timer and deadline this module arms - the startup cycle's delay, the deferred re-attempt, and each walk's ceiling - runs on the clock its dependencies
27
+ * carry, so one injected clock drives the whole schedule.
25
28
  */
26
29
  // Delay in milliseconds before precaching begins after browser launch. This gives the browser time to settle after initialization.
27
30
  const PRECACHE_DELAY = 5000;
@@ -65,24 +68,21 @@ export class DiscoveryWalkTimeoutError extends Error {
65
68
  }
66
69
  // Guard flag preventing overlapping precache cycles. Set to true before the cycle starts, cleared through releasePrecacheGuard in a finally block.
67
70
  let precacheInProgress = false;
68
- // Handle for the scheduled precache cycle, tracked so a graceful shutdown can cancel it before it fires. Null when no cycle is pending.
69
- let precacheTimer = null;
70
- /* The pending deferred re-attempt: the services still to re-walk and the timer that will do it. One value rather than two fields, so arming, cancelling, and
71
- * firing each move the whole thing at once - a slug list with no timer behind it, or a timer whose slugs were cleared, is not a state this can reach.
72
- */
73
- let deferredRetry = null;
71
+ // The scheduler's pending work, or null when it has none.
72
+ let scheduled = null;
74
73
  /* Whether a full precache cycle was requested while the single-flight guard was held. The request always comes from a browser relaunch, which cleared every
75
74
  * provider cache, so the run holding the guard is walking guides for a browser that no longer exists and its result is worth nothing - dropping the request would
76
75
  * leave the new browser with no lineups at all. Whoever releases the guard runs it; releasePrecacheGuard is where that happens, and it is the only place.
77
76
  */
78
77
  let fullCycleRequested = false;
79
78
  /**
80
- * Cancels a pending deferred re-attempt and drops its state as one unit. A no-op when nothing is pending.
79
+ * Cancels a pending deferred re-attempt and drops its state as one unit. A no-op when nothing is pending, and equally a no-op when what is pending is a cycle -
80
+ * only the re-attempt arm is cancelled here.
81
81
  */
82
82
  function clearDeferredRetry() {
83
- if (deferredRetry) {
84
- clearTimeout(deferredRetry.timer);
85
- deferredRetry = null;
83
+ if (scheduled?.kind === "deferred") {
84
+ scheduled.timer[Symbol.dispose]();
85
+ scheduled = null;
86
86
  }
87
87
  }
88
88
  /**
@@ -103,6 +103,7 @@ function releasePrecacheGuard(deps) {
103
103
  startPrecaching(deps);
104
104
  }
105
105
  export const defaultPrecachingDeps = {
106
+ clock: systemClock,
106
107
  createDiscoveryPage,
107
108
  emulateLayoutSurface,
108
109
  getCurrentBrowser,
@@ -118,7 +119,8 @@ export const defaultPrecachingDeps = {
118
119
  };
119
120
  /**
120
121
  * Starts the precaching cycle if services are configured. Called from launchBrowser() after the browser is ready. If no services are selected, a shutdown is in
121
- * progress, or a precache cycle is already in progress, returns immediately. The actual work is scheduled via setTimeout to avoid blocking browser launch.
122
+ * progress, or a precache cycle is already in progress, returns immediately. The actual work is scheduled on the dependencies' clock to avoid blocking browser
123
+ * launch.
122
124
  * @param deps - The injected browser and provider-registry dependencies; defaults to defaultPrecachingDeps.
123
125
  */
124
126
  export function startPrecaching(deps = defaultPrecachingDeps) {
@@ -144,10 +146,10 @@ export function startPrecaching(deps = defaultPrecachingDeps) {
144
146
  clearDeferredRetry();
145
147
  // Schedule the precache cycle after a brief delay to let the browser settle. The handle is tracked so stopPrecaching() can cancel it if shutdown begins during the
146
148
  // delay window; the ref is cleared when the timer fires since it is then spent.
147
- precacheTimer = setTimeout(() => {
148
- precacheTimer = null;
149
- void runPrecacheCycle(deps);
150
- }, PRECACHE_DELAY);
149
+ scheduled = { kind: "cycle", timer: deps.clock.schedule(() => {
150
+ scheduled = null;
151
+ void runPrecacheCycle(deps);
152
+ }, PRECACHE_DELAY) };
151
153
  }
152
154
  /**
153
155
  * Cancels every scheduled precache - the startup cycle and the deferred re-attempt alike - and clears the in-progress guard. Called during graceful shutdown so
@@ -157,9 +159,9 @@ export function startPrecaching(deps = defaultPrecachingDeps) {
157
159
  * which is exactly what releasing through the hand-off would do.
158
160
  */
159
161
  export function stopPrecaching() {
160
- if (precacheTimer) {
161
- clearTimeout(precacheTimer);
162
- precacheTimer = null;
162
+ if (scheduled) {
163
+ scheduled.timer[Symbol.dispose]();
164
+ scheduled = null;
163
165
  }
164
166
  clearDeferredRetry();
165
167
  fullCycleRequested = false;
@@ -257,12 +259,13 @@ export async function recordDiscoveryOutcome(provider, channels, page, deps, cla
257
259
  * travels through untouched. Each call gets its own budget, which is what lets an empty walk's retry be bounded exactly like the first attempt.
258
260
  * @param provider - The provider whose walk to run.
259
261
  * @param page - The guide page the walk runs against, closed if the deadline lapses.
262
+ * @param clock - The clock the deadline arms on.
260
263
  * @returns The discovered channels (possibly empty).
261
264
  * @throws DiscoveryWalkTimeoutError when the walk outlives its budget, and whatever the walk itself rejected with otherwise.
262
265
  */
263
- async function walkWithDeadline(provider, page) {
266
+ async function walkWithDeadline(provider, page, clock) {
264
267
  const lapse = new DiscoveryWalkTimeoutError(provider.label, DISCOVERY_WALK_TIMEOUT);
265
- const deadline = timeoutSignal(DISCOVERY_WALK_TIMEOUT, lapse);
268
+ const deadline = timeoutSignal(DISCOVERY_WALK_TIMEOUT, { clock, reason: lapse });
266
269
  deadline.signal.addEventListener("abort", () => {
267
270
  void page.close().catch(() => { });
268
271
  }, { once: true });
@@ -310,8 +313,8 @@ async function retryAfterEmptyWalk(options) {
310
313
  // reusing it would silently leave the retry unprotected against a banner that reappears after the reload.
311
314
  const retryController = new AbortController();
312
315
  try {
313
- void deps.startOverlayHandling(page, profile, { phase: "discovery", signal: retryController.signal });
314
- return { channels: await walkWithDeadline(provider, page) };
316
+ void deps.startOverlayHandling(page, profile, { clock: deps.clock, phase: "discovery", signal: retryController.signal });
317
+ return { channels: await walkWithDeadline(provider, page, deps.clock) };
315
318
  }
316
319
  finally {
317
320
  retryController.abort();
@@ -335,9 +338,10 @@ async function retryAfterEmptyWalk(options) {
335
338
  export async function withProviderGuidePage(provider, options = {}, deps = defaultPrecachingDeps) {
336
339
  const { afterWalk, signal } = options;
337
340
  const browser = await deps.getCurrentBrowser("page");
338
- /* The guide page is the active tab of a browser window of its own, opened in the background at the shared window's placement. A guide renders only while its
339
- * document is visible, and a walk is never captured, so the page gets a window that presents it without disturbing the shared window's own state or the tab
340
- * the user has selected there. The window closes with the page.
341
+ /* The guide page is the active tab of a browser window of its own, opened in the background at the shared window's placement and presented by the creator for
342
+ * the page's whole life. A guide renders only while Chrome presents its document, and a walk is never captured, so the page gets a window that never disturbs
343
+ * the shared window's own state or the tab the user has selected there, and a presentation that does not depend on that window being shown. The window closes
344
+ * with the page.
341
345
  */
342
346
  const page = await deps.createDiscoveryPage(browser);
343
347
  // Close the page the moment the caller aborts, so any in-progress Puppeteer operation throws and propagates the cancellation through discoverChannels without each
@@ -380,13 +384,13 @@ export async function withProviderGuidePage(provider, options = {}, deps = defau
380
384
  // the poll survive that navigation. The phase's window is the backstop; the abort after the walk is the terminator. The guide page is not a tune, so the phase
381
385
  // forbids the embed-gate accept - only cookie rejection and per-site modal dismissal run here.
382
386
  const { profile } = getProfileForUrl(provider.guideUrl);
383
- void deps.startOverlayHandling(page, profile, { phase: "discovery", signal: overlayController.signal });
387
+ void deps.startOverlayHandling(page, profile, { clock: deps.clock, phase: "discovery", signal: overlayController.signal });
384
388
  // Navigate to the service's guide URL unless the provider module handles its own navigation (e.g., sets up response interception before navigating). We use
385
389
  // networkidle2 rather than load because SPA-based services (e.g., Hulu) have heavy async initialization that can prevent the load event from firing reliably.
386
390
  if (!provider.handlesOwnNavigation) {
387
391
  await page.goto(provider.guideUrl, { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "networkidle2" });
388
392
  }
389
- let channels = await walkWithDeadline(provider, page);
393
+ let channels = await walkWithDeadline(provider, page, deps.clock);
390
394
  // The walk is complete. Abort the overlay poll so the page is quiet by construction before anything classifies it.
391
395
  overlayController.abort();
392
396
  let classification;
@@ -513,7 +517,7 @@ function armDeferredRetry(slugs, deps) {
513
517
  return;
514
518
  }
515
519
  LOG.debug("precache", "Scheduling one deferred discovery re-attempt for %d service%s in %d minutes.", slugs.length, (slugs.length === 1) ? "" : "s", PRECACHE_RETRY_DELAY / 60000);
516
- deferredRetry = { slugs, timer: setTimeout(() => void runDeferredRetry(deps), PRECACHE_RETRY_DELAY) };
520
+ scheduled = { kind: "deferred", slugs, timer: deps.clock.schedule(() => void runDeferredRetry(deps), PRECACHE_RETRY_DELAY) };
517
521
  }
518
522
  /**
519
523
  * Runs the deferred re-attempt for the services a cycle could not settle. Never rejects - it is driven by a timer with nobody to hand a rejection to, so every
@@ -526,11 +530,14 @@ function armDeferredRetry(slugs, deps) {
526
530
  * @returns A promise that resolves once the pass completes or is skipped.
527
531
  */
528
532
  async function runDeferredRetry(deps) {
529
- const pending = deferredRetry;
533
+ if (scheduled?.kind !== "deferred") {
534
+ return;
535
+ }
536
+ const pending = scheduled;
530
537
  // Drop the state before acting on it. This is the only pass there will be, so a handle left standing would tell a later cancellation that something is still
531
538
  // scheduled when nothing is.
532
- deferredRetry = null;
533
- if (!pending || deps.isGracefulShutdown()) {
539
+ scheduled = null;
540
+ if (deps.isGracefulShutdown()) {
534
541
  return;
535
542
  }
536
543
  /* A cycle or a post-login revalidation holding the guard is already walking guides, quite possibly these same ones. This pass exists to try again on a settled
@@ -1 +1 @@
1
- {"version":3,"file":"precaching.js","sourceRoot":"","sources":["../../src/browser/precaching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"precaching.js","sourceRoot":"","sources":["../../src/browser/precaching.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import { getExtensionPage, wss } from "puppeteer-stream";
2
- import type { Clock } from "../utils/index.ts";
2
+ import type { Clock } from "homebridge-plugin-utils";
3
3
  import type { Page } from "puppeteer-core";
4
4
  import type { Readable } from "node:stream";
5
5
  import { withTabSelected } from "./tabSelection.ts";
6
6
  export declare const EXTENSION_READY_EXPRESSION = "typeof START_RECORDING === 'function'";
7
7
  export declare const ACTIVE_TAB_GRANT_PENDING_MESSAGE = "has not been invoked for the current page";
8
8
  export declare const EXTENSION_NOT_READY_MESSAGE = "The capture extension is not ready on this browser.";
9
- export declare const CAPTURE_START_ATTEMPTS = 2;
10
9
  export declare const ACTIVE_TAB_GRANT_POLL_MS = 50;
11
10
  export declare const ACTIVE_TAB_GRANT_CEILING_MS = 1000;
12
11
  export declare const CAPTURE_FRAME_SIZE_MS = 20;
@@ -76,25 +75,23 @@ export interface TabCaptureDeps {
76
75
  readonly wss: typeof wss;
77
76
  }
78
77
  /**
79
- * Per-call context for an acquisition: the clock its waits run on, the collaborators it talks through, and the caller's abort signal.
78
+ * Per-call context for an acquisition: the clock its waits run on and the collaborators it talks through.
80
79
  */
81
80
  export interface AcquireCaptureStreamContext {
82
81
  readonly clock?: Clock;
83
82
  readonly deps?: TabCaptureDeps;
84
- readonly signal?: AbortSignal;
85
83
  }
86
84
  export declare const defaultTabCaptureDeps: TabCaptureDeps;
87
85
  /**
88
86
  * Acquires a tab capture for a page: one started recording, its chunks arriving as a readable stream, and the two controls that end it.
89
87
  *
90
- * A start Chrome refuses with "Could not start video source" is retried once against a fresh attempt, with the window's reported state and the selected tab logged
91
- * so the refusal explains itself. A second refusal, any other rejection, and a refusal arriving after the caller's signal has aborted all fail the acquisition
92
- * unchanged - there is nothing left to retry into.
88
+ * Exactly one start is made. A start Chrome refuses with "Could not start video source" is logged once with the window's reported state and the selected tab, so
89
+ * the refusal explains itself, and then fails the acquisition unchanged; whether that refusal is the browser's fault and what should follow are the
90
+ * establishment's to decide from its capture probe. Every other rejection fails the acquisition the same way, with no log of its own.
93
91
  * @param page - The page to capture.
94
92
  * @param options - What the capture is asked for.
95
- * @param context - The clock, collaborators, and caller abort signal. Defaults to the production collaborators on the real clock, with no signal.
93
+ * @param context - The clock and collaborators. Defaults to the production collaborators on the real clock.
96
94
  * @returns The started capture.
97
- * @throws When the extension is not ready, its tab cannot be selected, or the start fails on every attempt.
95
+ * @throws When the extension is not ready, its tab cannot be selected, or the start fails.
98
96
  */
99
97
  export declare function acquireCaptureStream(page: Page, options: CaptureStreamOptions, context?: AcquireCaptureStreamContext): Promise<CaptureStream>;
100
- //# sourceMappingURL=tabCapture.d.ts.map
@@ -12,20 +12,22 @@
12
12
  * in Node rather than in the browser. Owning the start means the only serialization is the one whose deadline, abort signal, and wedge policy the caller already
13
13
  * controls.
14
14
  *
15
- * A rejected start is a retry rather than an outage. Chrome answers a start it cannot serve with "Could not start video source", and that answer is worth one
16
- * more attempt against a fresh socket index; a second refusal is a real failure carrying the window and selected-tab state that explains it, read while that tab
17
- * is still selected. The activeTab grant gets the same treatment: rather than sleeping a fixed interval after the keyboard command and hoping the grant landed,
15
+ * A rejected start is reported rather than judged. Chrome answers a start it cannot serve with "Could not start video source", and the whole response here is one
16
+ * warning carrying the window and selected-tab state that explains it, read while that tab is still selected, with the rejection travelling to the caller
17
+ * unchanged. What such a refusal says about the browser is the establishment's question, settled by its capture probe, so this layer holds no retry policy of its
18
+ * own. The activeTab grant is the one wait that does belong here: rather than sleeping a fixed interval after the keyboard command and hoping the grant landed,
18
19
  * the start is attempted and Chrome's own "has not been invoked for the current page" answer drives a short poll, so a grant that lands immediately costs nothing.
19
20
  *
20
21
  * The coupling this module takes on is the extension's protocol, and it is asserted rather than trusted: tabCapture.test.ts fingerprints the three library files
21
22
  * this module was written against and derives the settings-object shape from the extension's own source, so a dependency bump that changes either fails the
22
23
  * suite with instructions rather than failing a capture in the field.
23
24
  */
24
- import { LOG, formatError, pollUntil, realClock, startTimer } from "../utils/index.js";
25
+ import { LOG, formatError, pollUntil, startTimer } from "../utils/index.js";
25
26
  import { getExtensionPage, wss } from "puppeteer-stream";
26
27
  import { CAPTURE_SOURCE_UNAVAILABLE_MESSAGE } from "../types/index.js";
27
28
  import { PassThrough } from "node:stream";
28
29
  import { readWindowState } from "./cdp.js";
30
+ import { systemClock } from "homebridge-plugin-utils";
29
31
  import { withTabSelected } from "./tabSelection.js";
30
32
  // Constants.
31
33
  // The extension's readiness predicate, stated once. The launch gate waits on it before publishing a browser, and the acquisition asserts it before preparing an
@@ -37,9 +39,6 @@ export const ACTIVE_TAB_GRANT_PENDING_MESSAGE = "has not been invoked for the cu
37
39
  // The failure when a browser is serving without a loaded capture extension. The launch gate establishes readiness before a browser is published, so reaching
38
40
  // this means the extension went away underneath a published browser.
39
41
  export const EXTENSION_NOT_READY_MESSAGE = "The capture extension is not ready on this browser.";
40
- // How many times a start is attempted before the acquisition fails. Two: the first attempt, and one retry for the source-unavailable answer that a fresh attempt
41
- // against a fresh socket index has been observed to clear.
42
- export const CAPTURE_START_ATTEMPTS = 2;
43
42
  // The cadence between start attempts while Chrome is still reporting the activeTab grant pending, and the ceiling on that wait. A grant that lands with the
44
43
  // keyboard command costs one attempt and no wait at all; the ceiling bounds the case where it never lands, so the caller sees Chrome's own message rather than
45
44
  // a hang. One attempt is a handful of CDP round trips - the selection re-assert, the five key events, the start - taken inside a selection held across the whole
@@ -54,8 +53,8 @@ export const CAPTURE_FRAME_SIZE_MS = 20;
54
53
  export const CAPTURE_STREAM_HIGH_WATER_MARK = 8 * 1024 * 1024;
55
54
  /**
56
55
  * A start Chrome refused, carrying the state that explains the refusal. The state is read while the capture's tab is still selected, which is the only moment it
57
- * describes the conditions the start actually ran under. Chrome's own refusal text is the message, so the capture-infrastructure classifier and the retry's
58
- * substring test both keep matching on it.
56
+ * describes the conditions the start actually ran under. Chrome's own refusal text is the message, so the capture-infrastructure classifier and the
57
+ * establishment's refusal test both keep matching on it.
59
58
  *
60
59
  * Module-private on purpose: the judgment "this is a capture-infrastructure failure" belongs to one mechanism, the pattern list in streaming/recovery.ts, which
61
60
  * reads the message. This class is the internal typed carrier for the diagnostics that travel alongside it, not a second way to ask the same question.
@@ -265,17 +264,17 @@ function attachCaptureControls(attempt, extension, server) {
265
264
  /**
266
265
  * Acquires a tab capture for a page: one started recording, its chunks arriving as a readable stream, and the two controls that end it.
267
266
  *
268
- * A start Chrome refuses with "Could not start video source" is retried once against a fresh attempt, with the window's reported state and the selected tab logged
269
- * so the refusal explains itself. A second refusal, any other rejection, and a refusal arriving after the caller's signal has aborted all fail the acquisition
270
- * unchanged - there is nothing left to retry into.
267
+ * Exactly one start is made. A start Chrome refuses with "Could not start video source" is logged once with the window's reported state and the selected tab, so
268
+ * the refusal explains itself, and then fails the acquisition unchanged; whether that refusal is the browser's fault and what should follow are the
269
+ * establishment's to decide from its capture probe. Every other rejection fails the acquisition the same way, with no log of its own.
271
270
  * @param page - The page to capture.
272
271
  * @param options - What the capture is asked for.
273
- * @param context - The clock, collaborators, and caller abort signal. Defaults to the production collaborators on the real clock, with no signal.
272
+ * @param context - The clock and collaborators. Defaults to the production collaborators on the real clock.
274
273
  * @returns The started capture.
275
- * @throws When the extension is not ready, its tab cannot be selected, or the start fails on every attempt.
274
+ * @throws When the extension is not ready, its tab cannot be selected, or the start fails.
276
275
  */
277
276
  export async function acquireCaptureStream(page, options, context = {}) {
278
- const { clock = realClock, deps = defaultTabCaptureDeps, signal } = context;
277
+ const { clock = systemClock, deps = defaultTabCaptureDeps } = context;
279
278
  const acquisitionElapsed = startTimer(clock);
280
279
  const extension = await deps.getExtensionPage(page.browser());
281
280
  const server = await deps.wss;
@@ -287,34 +286,29 @@ export async function acquireCaptureStream(page, options, context = {}) {
287
286
  if (ready !== true) {
288
287
  throw new Error(EXTENSION_NOT_READY_MESSAGE);
289
288
  }
290
- let failure;
291
- for (let attempt = 1; attempt <= CAPTURE_START_ATTEMPTS; attempt++) {
292
- try {
293
- // eslint-disable-next-line no-await-in-loop -- The attempts are a retry sequence: each has to fail before the next is worth making.
294
- const started = await acquireOnce(page, options, { clock, deps, extension, server });
295
- const stream = attachCaptureControls(started, extension, server);
296
- /* Both close paths end the recording. The owner's disposer destroys the stream, which emits close; a page that dies takes its capture with it and fires
297
- * the page's own close. Registering here rather than inside the socket handler means a capture whose socket never connected still stops cleanly.
298
- */
299
- page.once("close", () => { void stream.stop(); });
300
- stream.once("close", () => { void stream.stop(); });
301
- LOG.debug("timing:startup", "Capture acquired in %dms (attempt %d of %d).", acquisitionElapsed(), attempt, CAPTURE_START_ATTEMPTS);
302
- return stream;
303
- }
304
- catch (error) {
305
- failure = error;
306
- // A refusal is worth another attempt only while there is one left to make and the caller is still waiting for it. Everything else is this acquisition's
307
- // verdict, and it travels unchanged.
308
- if (!formatError(error).includes(CAPTURE_SOURCE_UNAVAILABLE_MESSAGE) || (attempt >= CAPTURE_START_ATTEMPTS) || signal?.aborted) {
309
- break;
310
- }
311
- // The refusal carries the state it was read under, gathered inside the hold while the capture's tab was still the selected one. A refusal that arrives
312
- // without that state is one no selection was live for, so its fields are simply absent.
289
+ try {
290
+ const started = await acquireOnce(page, options, { clock, deps, extension, server });
291
+ const stream = attachCaptureControls(started, extension, server);
292
+ /* Both close paths end the recording. The owner's disposer destroys the stream, which emits close; a page that dies takes its capture with it and fires
293
+ * the page's own close. Registering here rather than inside the socket handler means a capture whose socket never connected still stops cleanly.
294
+ */
295
+ page.once("close", () => { void stream.stop(); });
296
+ stream.once("close", () => { void stream.stop(); });
297
+ LOG.debug("timing:startup", "Capture acquired in %dms.", acquisitionElapsed());
298
+ return stream;
299
+ }
300
+ catch (error) {
301
+ /* Chrome's refusal earns a line of its own, because the state it was read under is recoverable nowhere else: the window's reported state and the tab the
302
+ * start was aimed at were gathered inside the hold, while that tab was still the selected one, and by the time this rejection reaches any other layer the
303
+ * selection is back where the user left it. A refusal that arrives without that state is one no selection was live for, so its fields are simply absent.
304
+ * The line reports and nothing more - the acquisition draws no conclusion about the browser from a single refusal.
305
+ */
306
+ if (formatError(error).includes(CAPTURE_SOURCE_UNAVAILABLE_MESSAGE)) {
313
307
  const diagnostics = (error instanceof CaptureStartRefusedError) ? error.diagnostics : { activeTab: null, windowState: null };
314
- LOG.warn("Chrome could not start the tab capture on the first attempt; retrying once.", { activeTab: diagnostics.activeTab, attempt, elapsedMs: acquisitionElapsed(), windowState: diagnostics.windowState });
308
+ LOG.warn("Chrome refused to start the tab capture.", { activeTab: diagnostics.activeTab, elapsedMs: acquisitionElapsed(), windowState: diagnostics.windowState });
315
309
  }
310
+ // The failure is already an Error: acquireOnce normalizes every rejection at the one boundary where a page-side value enters, so it travels unchanged.
311
+ throw error;
316
312
  }
317
- // The failure is already an Error: acquireOnce normalizes every rejection at the one boundary where a page-side value enters, so it travels unchanged.
318
- throw failure;
319
313
  }
320
314
  //# sourceMappingURL=tabCapture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabCapture.js","sourceRoot":"","sources":["../../src/browser/tabCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAKvE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD,aAAa;AAEb,gKAAgK;AAChK,2DAA2D;AAC3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,uCAAuC,CAAC;AAElF,6JAA6J;AAC7J,mEAAmE;AACnE,MAAM,CAAC,MAAM,gCAAgC,GAAG,2CAA2C,CAAC;AAE5F,6JAA6J;AAC7J,qEAAqE;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qDAAqD,CAAC;AAEjG,iKAAiK;AACjK,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,4JAA4J;AAC5J,+JAA+J;AAC/J,iKAAiK;AACjK,0GAA0G;AAC1G,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEhD,gKAAgK;AAChK,qEAAqE;AACrE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,gKAAgK;AAChK,uCAAuC;AACvC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAmH9D;;;;;;;GAOG;AACH,MAAM,wBAAyB,SAAQ,KAAK;IAEjC,WAAW,CAAiE;IAErF,YAAY,OAAe,EAAE,WAA2E;QAEtG,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,qBAAqB,GAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC;AAEhG,qJAAqJ;AACrJ,sEAAsE;AACtE,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,eAAe;AAEf;;;;;GAKG;AACH,SAAS,OAAO,CAAC,KAAc;IAE7B,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,MAAuB;IAE7C,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,aAAa,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAClF,4GAA4G;IAC5G,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;IAE9C,MAAM,OAAO,GAAmB;QAE9B,KAAK;QACL,YAAY,EAAE,CAAC,MAAiB,EAAE,OAAwB,EAAQ,EAAE;YAElE,kIAAkI;YAClI,IAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAE/F,OAAO;YACT,CAAC;YAED,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YAExB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;gBAErC,IAAG,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAE9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAEtB,IAAG,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAE9C,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,CAAC;gBAED,uJAAuJ;gBACvJ,gDAAgD;gBAChD,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,IAAI;QACZ,OAAO;QACP,MAAM;KACP,CAAC;IAEF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAuB,EAAE,OAAuB;IAEtE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IACxB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACzB,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAAC,IAAU;IAEtC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAAC,SAAe,EAAE,OAAuB,EAAE,OAA6B,EAAE,KAAa;IAElH,MAAM,QAAQ,GAA+B;QAE3C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,SAAS,EAAE,qBAAqB;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC;IAEF,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAqC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,UAAU,WAAW,CAAC,IAAU,EAAE,OAA6B,EAClE,aAA+F;IAE/F,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAEzD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,QAAqB,EAA2B,EAAE;QAEzF,MAAM,UAAU,GAAG,KAAK,IAA6B,EAAE;YAErD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YAEvC,IAAI,CAAC;gBAEH,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAE/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACtC,CAAC;YAAC,OAAM,KAAK,EAAE,CAAC;gBAEd,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEhC,IAAG,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;oBAEjE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;gBAC1C,CAAC;gBAED;;;mBAGG;gBACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;gBAEhD,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YACnG,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,2BAA2B,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU;YACpI,KAAK,EAAE,CAAC,MAAsB,EAAW,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;QAE3E,IAAG,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAE1C,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,OAAuB,EAAE,SAAe,EAAE,MAAuB;IAE9F,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;QAE5C,wJAAwJ;QACxJ,sDAAsD;QACtD,IAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;YAE1D,IAAI,CAAC;gBAEH,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACpF,CAAC;YAAC,OAAM,KAAK,EAAE,CAAC;gBAEd,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,4DAA4D,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAE/C,0JAA0J;QAC1J,IAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAEnB,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,IAAI,GAAG,GAAkB,EAAE;QAE/B,IAAG,CAAC,QAAQ,EAAE,CAAC;YAEb,QAAQ,GAAG,IAAI,CAAC;YAEhB,KAAK,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAU,EAAE,OAA6B,EAClF,UAAuC,EAAE;IAEzC,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,GAAG,qBAAqB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC5E,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC;IAE9B;;;OAGG;IACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAEnE,IAAG,KAAK,KAAK,IAAI,EAAE,CAAC;QAElB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,OAAgB,CAAC;IAErB,KAAI,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,sBAAsB,EAAE,OAAO,EAAE,EAAE,CAAC;QAElE,IAAI,CAAC;YAEH,oIAAoI;YACpI,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAEjE;;eAEG;YACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpD,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,8CAA8C,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAEnI,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,OAAO,GAAG,KAAK,CAAC;YAEhB,wJAAwJ;YACxJ,qCAAqC;YACrC,IAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,CAAC,OAAO,IAAI,sBAAsB,CAAC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBAE9H,MAAM;YACR,CAAC;YAED,uJAAuJ;YACvJ,wFAAwF;YACxF,MAAM,WAAW,GAAG,CAAC,KAAK,YAAY,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAE7H,GAAG,CAAC,IAAI,CAAC,6EAA6E,EACpF,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1H,CAAC;IACH,CAAC;IAED,uJAAuJ;IACvJ,MAAM,OAAO,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"tabCapture.js","sourceRoot":"","sources":["../../src/browser/tabCapture.ts"],"names":[],"mappings":"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"}
@@ -46,4 +46,3 @@ export interface TabNetworkObserver extends Disposable {
46
46
  * @returns The observer handle, or null if installation failed.
47
47
  */
48
48
  export declare function observeTabResponses(page: Page, options: TabNetworkObserverOptions): Promise<Nullable<TabNetworkObserver>>;
49
- //# sourceMappingURL=tabNetworkObserver.d.ts.map