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 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/routes/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/routes/ui.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ import type { Express } from "express";
4
4
  * @param app - The Express application.
5
5
  */
6
6
  export declare function setupUpgradeEndpoint(app: Express): void;
7
+ //# sourceMappingURL=upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/routes/upgrade.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAc1D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA6EvD"}
@@ -42,7 +42,8 @@ export function setupUpgradeEndpoint(app) {
42
42
  sendValidationError(res, "This installation method does not support in-place upgrades.");
43
43
  return;
44
44
  }
45
- // Execute the upgrade command asynchronously to avoid blocking the event loop.
45
+ // We build the exec options for the upgrade command with a two-minute timeout, which bounds a slow package install so a stuck download is killed and surfaced as a
46
+ // failed upgrade rather than hanging the request indefinitely. For a local npm install we also point the working directory at the package directory below.
46
47
  const options = { timeout: 120000 };
47
48
  if ((info.method === "npm-local") && info.packageDir) {
48
49
  options.cwd = info.packageDir;
@@ -51,10 +52,13 @@ export function setupUpgradeEndpoint(app) {
51
52
  await exec(info.upgradeCommand, options);
52
53
  const willRestart = isRunningAsService();
53
54
  sendSuccess(res, { data: { willRestart }, message: "Upgrade complete." });
54
- // If running as a service, exit after a short delay so the service manager restarts us with the new version.
55
+ // If running as a service, delay briefly before exiting so the HTTP response from sendSuccess above has time to flush to the client. An immediate exit
56
+ // could truncate the response and leave the caller without confirmation that the upgrade succeeded; the service manager then restarts us with the new version.
55
57
  if (willRestart) {
56
58
  setTimeout(() => {
57
59
  LOG.info("Exiting for service manager restart after upgrade.");
60
+ // We exit either way, regardless of whether closeBrowser() succeeds, so the service manager restarts us on the new version in both cases. The exit
61
+ // code distinguishes a clean shutdown (0) from an unclean one (1) for anyone reading service logs.
58
62
  void closeBrowser().then(() => { process.exit(0); }).catch(() => { process.exit(1); });
59
63
  }, 500);
60
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/routes/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/routes/upgrade.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxI,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAErC;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAE/C,qHAAqH;IACrH,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;QAE7E,IAAI,CAAC;YAEH,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC7D,MAAM,aAAa,GAAG,MAAM,kBAAkB,EAAE,CAAC;YACjD,MAAM,eAAe,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAErG,GAAG,CAAC,IAAI,CAAC;gBAEP,cAAc;gBACd,aAAa;gBACb,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,eAAe;gBACf,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,8JAA8J;IAC9J,sEAAsE;IACtE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAiB,EAAE;QAEzE,IAAI,CAAC;YAEH,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;YAEnC,IAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAErB,mBAAmB,CAAC,GAAG,EAAE,8DAA8D,CAAC,CAAC;gBAEzF,OAAO;YACT,CAAC;YAED,mKAAmK;YACnK,2JAA2J;YAC3J,MAAM,OAAO,GAAsC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAEvE,IAAG,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAEpD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAEnE,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAEzC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YAEzC,WAAW,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAE1E,uJAAuJ;YACvJ,+JAA+J;YAC/J,IAAG,WAAW,EAAE,CAAC;gBAEf,UAAU,CAAC,GAAG,EAAE;oBAEd,GAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;oBAE/D,mJAAmJ;oBACnJ,mGAAmG;oBACnG,KAAK,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzF,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -4,3 +4,4 @@ import type { ServiceContext } from "./commands.ts";
4
4
  * @returns A ServiceContext populated from the live process.
5
5
  */
6
6
  export declare function createDefaultServiceContext(): ServiceContext;
7
+ //# sourceMappingURL=commands.context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.context.d.ts","sourceRoot":"","sources":["../../src/service/commands.context.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAC;AAOrE;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,cAAc,CAuC5D"}
@@ -1,13 +1,14 @@
1
1
  /* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
2
2
  *
3
3
  * commands.context.ts: The default adapter that produces a ServiceContext from real runtime I/O. The handlers in commands.ts are pure orchestrators over a
4
- * ServiceContext; this file is the only place in the service-commands module that calls execFile, fetches HTTP, reads the filesystem, or queries process.platform.
5
- * Tests bypass this file entirely by constructing ServiceContext literals inline.
4
+ * ServiceContext; this file is where those handlers are wired to live runtime I/O - it performs the HTTP probe of the running server directly and
5
+ * delegates the platform-specific generator factory and the path and platform queries to their respective helpers. Tests bypass this file entirely by constructing
6
+ * ServiceContext literals inline.
6
7
  */
7
8
  import { DEFAULTS, readConfig } from "../config/userConfig.js";
8
- import { getNodeExecutablePath, getPlatform, getPrismCastEntryPoint } from "../utils/platform.js";
9
9
  import { buildServiceDefinition, detectStalePaths, getServiceGenerator, getServicePaths } from "./generators.js";
10
10
  import { getDataDir, getServiceFilePath } from "../config/paths.js";
11
+ import { getNodeExecutablePath, getPlatform, getPrismCastEntryPoint } from "../utils/platform.js";
11
12
  import { print, printError } from "../utils/cliOutput.js";
12
13
  /**
13
14
  * Builds the default ServiceContext from real runtime I/O.
@@ -1 +1 @@
1
- {"version":3,"file":"commands.context.js","sourceRoot":"","sources":["../../src/service/commands.context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAiB,qBAAqB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IAEzC,OAAO;QAEL,sBAAsB;QACtB,gBAAgB;QAChB,kBAAkB,EAAE,KAAK,EAAE,IAAY,EAAmC,EAAE;YAE1E,IAAI,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAErH,IAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAEhB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAqB,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBAEP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,UAAU;QACV,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,GAAa,EAAE,CAAC,WAAW,EAAE;QAC1C,aAAa,EAAE,KAAK,IAAqB,EAAE;YAEzC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;YAElC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5D,CAAC;QACD,kBAAkB;QAClB,eAAe;QACf,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,KAAK;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"commands.context.js","sourceRoot":"","sources":["../../src/service/commands.context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAG1D;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IAEzC,OAAO;QAEL,sBAAsB;QACtB,gBAAgB;QAChB,kBAAkB,EAAE,KAAK,EAAE,IAAY,EAAmC,EAAE;YAE1E,IAAI,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAErH,IAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAEhB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAqB,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBAEP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,UAAU;QACV,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,GAAa,EAAE,CAAC,WAAW,EAAE;QAC1C,aAAa,EAAE,KAAK,IAAqB,EAAE;YAEzC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;YAElC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5D,CAAC;QACD,kBAAkB;QAClB,eAAe;QACf,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,KAAK;KACd,CAAC;AACJ,CAAC"}
@@ -86,3 +86,4 @@ export declare function handleStatus(ctx?: ServiceContext): Promise<number>;
86
86
  * @returns Exit code (0 for success, 1 for error).
87
87
  */
88
88
  export declare function handleServiceCommand(args: string[], ctx?: ServiceContext): Promise<number>;
89
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQrD;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;CACL;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAG7B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;IAGzD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAG3D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAGlF,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAC;IAGlC,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAC;IAGrC,QAAQ,CAAC,YAAY,EAAE,MAAM,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAGxD,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IAGnC,QAAQ,CAAC,WAAW,EAAE,MAAM,QAAQ,CAAC;IAGrC,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAG9C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,MAAM,CAAC;IAG1C,QAAQ,CAAC,eAAe,EAAE,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAGvD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAGxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAmCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,cAA8C,GAAG,IAAI,CAiB3F;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAE,cAA8C,GAAG,OAAO,CAAC,MAAM,CAAC,CA6FxH;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,GAAG,GAAE,cAA8C,GAAG,OAAO,CAAC,MAAM,CAAC,CA2C1G;AAwFD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,GAAG,GAAE,cAA8C,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BtG;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,cAA8C,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCrG;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,GAAE,cAA8C,GAAG,OAAO,CAAC,MAAM,CAAC,CAoCxG;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,GAAG,GAAE,cAA8C,GAAG,OAAO,CAAC,MAAM,CAAC,CA+EvG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,cAA8C,GAAG,OAAO,CAAC,MAAM,CAAC,CAgE/H"}
@@ -2,8 +2,8 @@ import { SERVICE_NAME } from "../identity.js";
2
2
  import { createDefaultServiceContext } from "./commands.context.js";
3
3
  import { formatDuration } from "../utils/format.js";
4
4
  import path from "node:path";
5
- /* These handlers implement the `prismcast service` subcommands for installing, uninstalling, and checking the status of PrismCast as a system service. Each handler
6
- * prints its output through the context's stdout/stderr writers and returns an exit code; the dispatcher returns to the CLI bootstrap which calls process.exit.
5
+ /* These handlers implement the `prismcast service` subcommands for managing PrismCast as a system service. Each handler prints its output through the context's
6
+ * stdout/stderr writers and returns an exit code; the dispatcher returns to the CLI bootstrap which calls process.exit.
7
7
  */
8
8
  /**
9
9
  * Prints a stale path warning block to stderr. Called by handleStatus() when the service file references paths that no longer exist on disk.
@@ -57,7 +57,6 @@ export async function handleInstall(force, ctx = createDefaultServiceContext())
57
57
  ctx.stderr("Error: Service installation is not supported on this platform (" + ctx.getPlatform() + ").");
58
58
  return 1;
59
59
  }
60
- // Check if already installed.
61
60
  const isInstalled = await generator.isInstalled();
62
61
  if (isInstalled && !force) {
63
62
  ctx.stderr("Error: " + SERVICE_NAME + " service is already installed.");
@@ -131,7 +130,6 @@ export async function handleUninstall(ctx = createDefaultServiceContext()) {
131
130
  ctx.stderr("Error: Service management is not supported on this platform (" + ctx.getPlatform() + ").");
132
131
  return 1;
133
132
  }
134
- // Check if installed.
135
133
  const isInstalled = await generator.isInstalled();
136
134
  if (!isInstalled) {
137
135
  ctx.stderr("Error: " + SERVICE_NAME + " service is not installed.");
@@ -164,11 +162,14 @@ export async function handleUninstall(ctx = createDefaultServiceContext()) {
164
162
  * @returns Exit code (0 for success, 1 for error).
165
163
  */
166
164
  async function restartService(ctx, generator, action) {
167
- // Compare the paths in the existing service file against the current runtime paths to determine whether regeneration is needed. All supported platforms (launchd
168
- // plist, systemd unit, Windows PowerShell launcher) store paths in their service files, so getServicePaths() only returns null for corrupt or unparseable files.
165
+ // Compare the paths in the existing service file against the current runtime paths to determine whether regeneration is needed. The caller has already confirmed
166
+ // the service is installed and all supported platforms (launchd plist, systemd unit, Windows PowerShell launcher) store paths in their service files, so in this
167
+ // gated context getServicePaths() returns null only for a corrupt or unparseable service file.
169
168
  const existingPaths = ctx.getServicePaths();
170
169
  const currentNodePath = ctx.getNodePath();
171
170
  const currentEntryPoint = ctx.getEntryPoint();
171
+ // The second comparison accesses existingPaths.entryPoint without optional chaining; this is safe because the first comparison's optional chaining already
172
+ // evaluates to false whenever existingPaths is null, short-circuiting the && before the non-optional access is reached.
172
173
  const pathsMatch = (existingPaths?.nodePath === currentNodePath) && (existingPaths.entryPoint === currentEntryPoint);
173
174
  // Regenerate the service file if paths have changed or couldn't be extracted.
174
175
  if (!pathsMatch) {
@@ -183,6 +184,8 @@ async function restartService(ctx, generator, action) {
183
184
  }
184
185
  ctx.stdout("Regenerating service file...");
185
186
  try {
187
+ // install() re-registers and starts the service on every platform (launchd load -w, systemctl enable+start, Windows Register+Start-ScheduledTask), so the
188
+ // regeneration path needs no separate start() call; the success message below reflects a service that install() has already brought up.
186
189
  await generator.install(ctx.buildServiceDefinition());
187
190
  }
188
191
  catch (error) {
@@ -223,14 +226,12 @@ export async function handleStart(ctx = createDefaultServiceContext()) {
223
226
  ctx.stderr("Error: Service management is not supported on this platform (" + ctx.getPlatform() + ").");
224
227
  return 1;
225
228
  }
226
- // Check if installed.
227
229
  const isInstalled = await generator.isInstalled();
228
230
  if (!isInstalled) {
229
231
  ctx.stderr("Error: " + SERVICE_NAME + " service is not installed.");
230
232
  ctx.stderr("Run 'prismcast service install' first.");
231
233
  return 1;
232
234
  }
233
- // Check if already running.
234
235
  const isRunning = await generator.isRunning();
235
236
  if (isRunning) {
236
237
  ctx.stdout(SERVICE_NAME + " service is already running.");
@@ -250,15 +251,13 @@ export async function handleStop(ctx = createDefaultServiceContext()) {
250
251
  ctx.stderr("Error: Service management is not supported on this platform (" + ctx.getPlatform() + ").");
251
252
  return 1;
252
253
  }
253
- // Check if installed.
254
254
  const isInstalled = await generator.isInstalled();
255
255
  if (!isInstalled) {
256
256
  ctx.stderr("Error: " + SERVICE_NAME + " service is not installed.");
257
257
  return 1;
258
258
  }
259
259
  // Always attempt to stop the service regardless of whether isRunning() reports it as running. On launchd, a service can be in a "loaded but not running" state
260
- // (e.g., after a crash) where isRunning() returns false but the stale definition remains loaded. Skipping the stop in that case prevents launchctl unload from
261
- // clearing the loaded state, which causes subsequent start attempts to reuse the cached (potentially stale) definition.
260
+ // (e.g., after a crash) where isRunning() returns false but the stale definition remains loaded, and only an explicit stop() clears it via launchctl unload.
262
261
  ctx.stdout("Stopping " + SERVICE_NAME + " service...");
263
262
  try {
264
263
  await generator.stop();
@@ -284,7 +283,6 @@ export async function handleRestart(ctx = createDefaultServiceContext()) {
284
283
  ctx.stderr("Error: Service management is not supported on this platform (" + ctx.getPlatform() + ").");
285
284
  return 1;
286
285
  }
287
- // Check if installed.
288
286
  const isInstalled = await generator.isInstalled();
289
287
  if (!isInstalled) {
290
288
  ctx.stderr("Error: " + SERVICE_NAME + " service is not installed.");
@@ -333,7 +331,6 @@ export async function handleStatus(ctx = createDefaultServiceContext()) {
333
331
  if (isInstalled) {
334
332
  printStalePathWarning(ctx);
335
333
  }
336
- // If the service is running, fetch and display active streams.
337
334
  if (isRunning) {
338
335
  const port = await ctx.getServerPort();
339
336
  const streamsData = await ctx.fetchActiveStreams(port);
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ import type { GeneratorIO } from "./generators.ts";
4
4
  * @returns A GeneratorIO populated from the live process.
5
5
  */
6
6
  export declare function createDefaultGeneratorIO(): GeneratorIO;
7
+ //# sourceMappingURL=generators.context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators.context.d.ts","sourceRoot":"","sources":["../../src/service/generators.context.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAUnD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAkCtD"}
@@ -5,10 +5,10 @@
5
5
  * Tests bypass this file entirely by constructing GeneratorIO literals inline so install/uninstall/start/stop pipelines run against fakes rather than spawning
6
6
  * launchctl/systemctl/powershell.exe.
7
7
  */
8
- import { getPlatform } from "../utils/platform.js";
9
8
  import { getServiceFileDirectory, getServiceFilePath } from "../config/paths.js";
10
9
  import { execFile as execFileCallback } from "node:child_process";
11
10
  import fs from "node:fs";
11
+ import { getPlatform } from "../utils/platform.js";
12
12
  import { promisify } from "node:util";
13
13
  const execFile = promisify(execFileCallback);
14
14
  const { promises: fsPromises } = fs;
@@ -1 +1 @@
1
- {"version":3,"file":"generators.context.js","sourceRoot":"","sources":["../../src/service/generators.context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAiB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC7C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IAEtC,OAAO;QAEL,MAAM,EAAE,KAAK,EAAE,IAAY,EAAiB,EAAE;YAE5C,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,IAAc,EAA+C,EAAE;YAE5F,yJAAyJ;YACzJ,4BAA4B;YAC5B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC;QACD,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,WAAW,EAAE,GAAa,EAAE,CAAC,WAAW,EAAE;QAC1C,uBAAuB;QACvB,kBAAkB;QAClB,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,OAA+B,EAAiB,EAAE;YAE5E,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,YAAY,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QACrE,EAAE,EAAE,KAAK,EAAE,IAAY,EAAE,OAA2B,EAAiB,EAAE;YAErE,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,IAAY,EAAE,OAAe,EAAiB,EAAE;YAEhE,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"generators.context.js","sourceRoot":"","sources":["../../src/service/generators.context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGjF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC7C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IAEtC,OAAO;QAEL,MAAM,EAAE,KAAK,EAAE,IAAY,EAAiB,EAAE;YAE5C,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,IAAc,EAA+C,EAAE;YAE5F,yJAAyJ;YACzJ,4BAA4B;YAC5B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC;QACD,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,WAAW,EAAE,GAAa,EAAE,CAAC,WAAW,EAAE;QAC1C,uBAAuB;QACvB,kBAAkB;QAClB,KAAK,EAAE,KAAK,EAAE,IAAY,EAAE,OAA+B,EAAiB,EAAE;YAE5E,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,YAAY,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QACrE,EAAE,EAAE,KAAK,EAAE,IAAY,EAAE,OAA2B,EAAiB,EAAE;YAErE,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,IAAY,EAAE,OAAe,EAAiB,EAAE;YAEhE,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,12 +1,12 @@
1
- import { type Platform, type ServiceManager } from "../utils/platform.ts";
1
+ import type { Platform, ServiceManager } from "../utils/platform.ts";
2
2
  import type { Nullable } from "../types/index.ts";
3
3
  /**
4
4
  * The runtime I/O context each generator consumes. Models the entire boundary between generator orchestration logic and real subprocess + filesystem I/O.
5
5
  * Production wires it through createDefaultGeneratorIO (in generators.context.ts); tests pass an IO literal whose execFile/mkdir/writeFile/etc. are fakes that
6
6
  * record their inputs and return synthetic results.
7
7
  *
8
- * The platform field and getServiceFilePath/getServiceFileDirectory accessors are bundled here too so that generator selection and path resolution flow through
9
- * the same injection point - tests can simulate any platform without touching process.platform or the data-dir helpers.
8
+ * The getPlatform accessor and the getServiceFilePath/getServiceFileDirectory accessors are bundled here too so that generator selection and path resolution
9
+ * flow through the same injection point - tests can simulate any platform without touching process.platform or the data-dir helpers.
10
10
  */
11
11
  export interface GeneratorIO {
12
12
  readonly access: (path: string) => Promise<void>;
@@ -98,3 +98,4 @@ export declare function collectServiceEnvironment(): Record<string, string>;
98
98
  * @returns The structured service definition.
99
99
  */
100
100
  export declare function buildServiceDefinition(): ServiceDefinition;
101
+ //# sourceMappingURL=generators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators.d.ts","sourceRoot":"","sources":["../../src/service/generators.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,5 @@
1
- /* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
2
- *
3
- * generators.ts: Platform-specific service file generators for PrismCast.
4
- *
5
- * Each generator factory is a pure orchestrator over a GeneratorIO. The default I/O wiring lives in generators.context.ts; production callers go through
6
- * getServiceGenerator() which uses createDefaultGeneratorIO() under the hood. Tests construct GeneratorIO literals inline so install/uninstall/start/stop run
7
- * against fakes that record subprocess invocations and file writes without spawning real launchctl/systemctl/powershell.exe.
8
- */
9
- import { getNodeExecutablePath, getPrismCastEntryPoint, getPrismCastWorkingDirectory } from "../utils/platform.js";
10
1
  import { SERVICE_ID, SERVICE_NAME } from "../identity.js";
2
+ import { getNodeExecutablePath, getPrismCastEntryPoint, getPrismCastWorkingDirectory } from "../utils/platform.js";
11
3
  import { CONFIG_METADATA } from "../config/userConfig.js";
12
4
  import { createDefaultGeneratorIO } from "./generators.context.js";
13
5
  import { escapeXml } from "../utils/index.js";
@@ -17,7 +9,7 @@ import path from "node:path";
17
9
  * Runs an asynchronous child_process call and, on failure, re-throws an Error whose message includes the trimmed stderr text captured from the failed child and
18
10
  * whose cause chain points back at the original Error. Without the stderr enrichment, execFile/exec failures surface to users as a generic "Command failed: ..."
19
11
  * line while the actual diagnostic - written by the child to stderr - is left on the Error's unread stderr Buffer. Attaching the original via Error.cause
20
- * preserves the original stack and structured properties (status, signal, stdout, stderr) for any programmatic consumer.
12
+ * preserves the original stack and structured properties (code, signal, stdout, stderr) for any programmatic consumer.
21
13
  * @param description - A short human-readable label describing what was attempted; prepended to the error message.
22
14
  * @param run - The child_process thunk to execute.
23
15
  */
@@ -36,7 +28,7 @@ async function runAndSurfaceStderr(description, run) {
36
28
  }
37
29
  /**
38
30
  * Returns the service definition's environment variables as a deterministically ordered array of [key, value] entries. Consumed by every generator to produce
39
- * byte-stable output across regenerations (essential for reliable stale-path detection and clean diffs when users inspect the generated files).
31
+ * byte-stable output across regenerations, for clean diffs when users inspect the generated files across upgrades.
40
32
  * @param envVars - The environment variable map to order.
41
33
  * @returns The entries sorted alphabetically by key.
42
34
  */
@@ -153,7 +145,7 @@ function createLaunchdGenerator(io) {
153
145
  return false;
154
146
  }
155
147
  const pid = line.trim().split("\t")[0];
156
- return (pid !== "-") && !isNaN(Number(pid));
148
+ return (pid !== "-") && !Number.isNaN(Number(pid));
157
149
  }
158
150
  catch {
159
151
  return false;
@@ -163,8 +155,8 @@ function createLaunchdGenerator(io) {
163
155
  serviceManager: "launchd",
164
156
  async start() {
165
157
  const installPath = io.getServiceFilePath();
166
- // Unload first to clear any stale loaded-but-not-running state. Without this, `launchctl load -w` is a no-op when the definition is already loaded (e.g.,
167
- // after a crash or upgrade with changed paths), and the cached stale definition is reused.
158
+ // Unload first: `launchctl load -w` is a no-op when the definition is already loaded (e.g., after a crash or upgrade), so skipping this step would leave
159
+ // the previously loaded definition in effect instead of the freshly written one.
168
160
  try {
169
161
  await io.execFile("launchctl", ["unload", installPath]);
170
162
  }
@@ -199,6 +191,91 @@ function createLaunchdGenerator(io) {
199
191
  * Linux deliberately does not redirect stdout/stderr to files - systemd captures them to the journal, which is the native Linux logging surface (journalctl
200
192
  * --user -u prismcast).
201
193
  */
194
+ /* The ExecStart codec: quoteUnitValue writes a field and parseExecStartFields reads it back, and they live side by side because they are exact inverses. ExecStart
195
+ * is a space-separated command line, so an installation path containing a space would otherwise split into extra arguments with no way to tell which boundary was
196
+ * real. Quoting both fields removes that ambiguity. The reader accepts the bare, unquoted grammar as well, because unit files sitting on disk carry it and an
197
+ * upgrade has to read the unit it is about to replace.
198
+ */
199
+ /**
200
+ * Quotes a single ExecStart field per systemd's unit-file escaping rules.
201
+ * @param value - The path to write into the ExecStart line.
202
+ * @returns The value wrapped in double quotes with every character systemd gives meaning to escaped.
203
+ */
204
+ function quoteUnitValue(value) {
205
+ /* One pass over the four characters that carry meaning inside a quoted field. A backslash and a double quote are escaped with a backslash; a percent (a
206
+ * specifier such as %n) and a dollar (a variable such as $FOO) are escaped by doubling, because systemd expands both inside double quotes exactly as it does
207
+ * outside them. A single pass avoids the ordering trap of chained replacements, where a later pass re-escapes the backslashes an earlier one introduced.
208
+ */
209
+ const escaped = value.replaceAll(/[\\"%$]/g, (character) => ((character === "%") || (character === "$")) ? (character + character) : ("\\" + character));
210
+ return "\"" + escaped + "\"";
211
+ }
212
+ /**
213
+ * Reads an ExecStart value into the two paths it carries, accepting both the quoted grammar quoteUnitValue writes and the bare grammar of units already on disk.
214
+ * @param execStart - The ExecStart value with its "ExecStart=" prefix already stripped.
215
+ * @returns The node path and entry point, or null when the value does not hold exactly two non-empty fields.
216
+ */
217
+ function parseExecStartFields(execStart) {
218
+ const fields = [];
219
+ let index = 0;
220
+ while (index < execStart.length) {
221
+ // Runs of spaces separate fields and carry no content of their own.
222
+ if (execStart.charAt(index) === " ") {
223
+ index++;
224
+ continue;
225
+ }
226
+ let field = "";
227
+ if (execStart.charAt(index) === "\"") {
228
+ index++;
229
+ /* A quoted field runs to the next unescaped quote, decoding as it scans. Decoding during the scan rather than afterwards is what keeps a path ending in a
230
+ * backslash unambiguous: the escaped backslash is consumed as one unit, so the quote that follows it closes the field instead of being read as the
231
+ * character it escapes.
232
+ */
233
+ let closed = false;
234
+ while (index < execStart.length) {
235
+ const character = execStart.charAt(index);
236
+ if (character === "\"") {
237
+ closed = true;
238
+ index++;
239
+ break;
240
+ }
241
+ const next = execStart.charAt(index + 1);
242
+ if ((character === "\\") && ((next === "\\") || (next === "\""))) {
243
+ field += next;
244
+ index += 2;
245
+ continue;
246
+ }
247
+ if ((next === character) && ((character === "%") || (character === "$"))) {
248
+ field += character;
249
+ index += 2;
250
+ continue;
251
+ }
252
+ field += character;
253
+ index++;
254
+ }
255
+ // An unterminated quote leaves everything after it ambiguous, so the whole value is malformed.
256
+ if (!closed) {
257
+ return null;
258
+ }
259
+ }
260
+ else {
261
+ // A bare field runs to the first space.
262
+ while ((index < execStart.length) && (execStart.charAt(index) !== " ")) {
263
+ field += execStart.charAt(index);
264
+ index++;
265
+ }
266
+ }
267
+ fields.push(field);
268
+ }
269
+ const [nodePath, entryPoint] = fields;
270
+ /* ExecStart carries exactly the node binary and the entry point. Any other count is ambiguous - a bare path holding a space yields a third token, and nothing
271
+ * in the line says where the real boundary was - so we answer null rather than a guess. Both callers already handle null: the restart path regenerates the
272
+ * unit, and the status path stays quiet instead of printing a stale-path warning built from paths it cannot trust.
273
+ */
274
+ if ((fields.length !== 2) || !nodePath || !entryPoint) {
275
+ return null;
276
+ }
277
+ return { entryPoint, nodePath };
278
+ }
202
279
  /**
203
280
  * Creates a systemd service generator for Linux.
204
281
  * @param io - The generator I/O context.
@@ -211,6 +288,9 @@ function createSystemdGenerator(io) {
211
288
  * @returns The unit file content as a UTF-8 string.
212
289
  */
213
290
  function generateUnit(definition) {
291
+ // Unlike generatePlist's escapeXml calls and the PowerShell launcher's powerShellLiteral quoting, these values are wrapped in double quotes without further
292
+ // escaping. They come only from operator-controlled environment variables (PATH and the CONFIG_METADATA-declared allowlist) and PrismCast's own path
293
+ // helpers, never from arbitrary or network-supplied input, so no additional escaping is required here.
214
294
  const envLines = sortedEnvEntries(definition.envVars).map(([key, value]) => "Environment=\"" + key + "=" + value + "\"").join("\n");
215
295
  return [
216
296
  "[Unit]",
@@ -219,7 +299,7 @@ function createSystemdGenerator(io) {
219
299
  "",
220
300
  "[Service]",
221
301
  "Type=simple",
222
- "ExecStart=" + definition.nodePath + " " + definition.entryPoint,
302
+ "ExecStart=" + quoteUnitValue(definition.nodePath) + " " + quoteUnitValue(definition.entryPoint),
223
303
  "WorkingDirectory=" + definition.workingDir,
224
304
  "Restart=always",
225
305
  "RestartSec=5",
@@ -246,9 +326,12 @@ function createSystemdGenerator(io) {
246
326
  catch {
247
327
  // Ignore if systemctl isn't available (shouldn't happen on systemd systems).
248
328
  }
249
- // Enable and start the service.
329
+ /* Enable the unit so it comes up at login, then bring it up now. The verb is restart rather than start because install also serves reinstallation: on an
330
+ * inactive unit restart does exactly what start does, and on a unit that is already running it replaces the process so the service runs against the unit
331
+ * definition daemon-reload has just loaded. A start would report success and leave the old process in place against the old definition.
332
+ */
250
333
  await runAndSurfaceStderr("systemctl enable failed", async () => io.execFile("systemctl", ["--user", "enable", "prismcast.service"]));
251
- await runAndSurfaceStderr("systemctl start failed", async () => io.execFile("systemctl", ["--user", "start", "prismcast.service"]));
334
+ await runAndSurfaceStderr("systemctl restart failed", async () => io.execFile("systemctl", ["--user", "restart", "prismcast.service"]));
252
335
  },
253
336
  async isInstalled() {
254
337
  return fileExists(io, io.getServiceFilePath());
@@ -307,8 +390,8 @@ function createSystemdGenerator(io) {
307
390
  * surface exposed as typed cmdlets. We do not emit Task Scheduler XML and we do not invoke schtasks.exe. That choice eliminates the MSXML encoding dialect, the
308
391
  * shell-quoting hazards of schtasks /TR, and the need to get the Task XML schema's element order exactly right.
309
392
  *
310
- * - Task Scheduler spawns `powershell.exe -WindowStyle Hidden -File <launcher.ps1>`. PowerShell with -WindowStyle Hidden suppresses the console window natively on
311
- * Windows 10+, so no .vbs launcher is needed. VBScript was deprecated by Microsoft in 2024.
393
+ * - Task Scheduler spawns `powershell.exe -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -File "<launcher.ps1>"`. PowerShell with
394
+ * -WindowStyle Hidden suppresses the console window natively on Windows 10+, so no .vbs launcher is needed. VBScript was deprecated by Microsoft in 2024.
312
395
  *
313
396
  * All PowerShell invocations from Node go through invokePowerShell(), which documents the single argument-escape rule in its docstring. Values flow through Node's
314
397
  * execFile without shell interpretation, and inside the PowerShell command string the one escape surface is single-quote doubling - see invokePowerShell below.
@@ -359,7 +442,7 @@ function makePowerShellInvoker(io) {
359
442
  *
360
443
  * The first step stops any currently-running instance of the existing task and waits for its process to actually terminate before we replace the definition. Two
361
444
  * Microsoft-documented facts make this wait necessary: Stop-ScheduledTask initiates the stop but returns before the process has exited (there is no -Wait
362
- * switch and no built-in completion primitive), and "You can make changes to a task definition even if an instance of the task is running. The changes do not
445
+ * switch and no builtin completion primitive), and "You can make changes to a task definition even if an instance of the task is running. The changes do not
363
446
  * affect the current instance." (Set-ScheduledTask docs, which applies equally to Register-ScheduledTask -Force). Without the poll loop, `prismcast service
364
447
  * install --force` on a running service would leave the old node process holding port 5589 while Start-ScheduledTask spawns a new node that fails to bind,
365
448
  * triggering the 1-minute RestartOnFailure backoff and silently delaying the service becoming available for up to three minutes.
@@ -412,7 +495,7 @@ const WINDOWS_START_SCRIPT = [
412
495
  "Enable-ScheduledTask -TaskName $TaskName -ErrorAction SilentlyContinue | Out-Null",
413
496
  "Start-ScheduledTask -TaskName $TaskName | Out-Null"
414
497
  ].join("\n");
415
- /* Stops the task. Disables it first to prevent the RestartOnFailure policy from re-launching the process after we stop it. Start-ScheduledTask in WINDOWS_START_SCRIPT
498
+ /* Stops the task. Disables it first to prevent the RestartOnFailure policy from re-launching the process after we stop it. Enable-ScheduledTask in WINDOWS_START_SCRIPT
416
499
  * re-enables the task. Takes the task name as its sole parameter.
417
500
  */
418
501
  const WINDOWS_STOP_SCRIPT = [
@@ -497,8 +580,8 @@ function createWindowsSchedulerGenerator(io) {
497
580
  ].join("\r\n");
498
581
  }
499
582
  /**
500
- * Removes the legacy three-file service artifacts (.cmd launcher, .vbs wrapper, .xml task definition) and the long-obsolete service-installed.marker file from
501
- * prior PrismCast versions. Safe to call unconditionally; missing files are silently ignored.
583
+ * Removes legacy service artifacts (.cmd launcher, .vbs wrapper, .xml task definition, and the service-installed.marker file) from prior PrismCast versions.
584
+ * Safe to call unconditionally; missing files are silently ignored.
502
585
  * @param installDir - The service file directory.
503
586
  */
504
587
  async function removeLegacyWindowsArtifacts(installDir) {
@@ -609,20 +692,17 @@ export function getServicePaths(io = createDefaultGeneratorIO()) {
609
692
  }
610
693
  return { entryPoint, nodePath };
611
694
  }
612
- // Systemd unit: ExecStart=<node> <entrypoint> on one line.
695
+ // Systemd unit: ExecStart=<node> <entrypoint> on one line. parseExecStartFields owns the field grammar and answers null for anything it cannot read as
696
+ // exactly two paths.
613
697
  case "linux": {
614
698
  const execStart = /^ExecStart=(.+)$/m.exec(content)?.[1];
615
699
  if (!execStart) {
616
700
  return null;
617
701
  }
618
- const [nodePath, entryPoint] = execStart.split(" ");
619
- if (!nodePath || !entryPoint) {
620
- return null;
621
- }
622
- return { entryPoint, nodePath };
702
+ return parseExecStartFields(execStart);
623
703
  }
624
- // Windows: paths are stored as "# node:<path>" and "# entry:<path>" metadata comments near the top of the PowerShell launcher. The .trim() handles CRLF line
625
- // endings where \r would otherwise be captured by the regex.
704
+ // Windows: paths are stored as "# node: <path>" and "# entry: <path>" metadata comments near the top of the PowerShell launcher. The .trim() strips the
705
+ // leading space that follows the colon in that format.
626
706
  case "windows": {
627
707
  const nodePath = /^# node:(.+)$/m.exec(content)?.[1]?.trim();
628
708
  const entryPoint = /^# entry:(.+)$/m.exec(content)?.[1]?.trim();