hyperframes 0.8.190 → 0.8.192

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 (222) hide show
  1. package/dist/{add-DBKN5H7H.js → add-TZU2UW7A.js} +17 -17
  2. package/dist/{animatedGifPrep-YVBKKLQY.js → animatedGifPrep-NLAXC3VV.js} +11 -10
  3. package/dist/api.js +24 -23
  4. package/dist/{appHistory-TH3TL6N6.js → appHistory-QVCSAOI4.js} +1 -1
  5. package/dist/{asset-2OHQKUMQ.js → asset-JAJXA6LB.js} +2 -2
  6. package/dist/{assetCataloger-O3QAUWIK.js → assetCataloger-4WTX3J4I.js} +13 -12
  7. package/dist/{audio-IR3JGCMM.js → audio-XLWC7JKS.js} +22 -21
  8. package/dist/{auth-J6TAJLGD.js → auth-5K6X3NPJ.js} +4 -4
  9. package/dist/{autoUpdate-D7BJJUT2.js → autoUpdate-RNV7SKGB.js} +4 -4
  10. package/dist/{backgroundChecks-AILHY2YZ.js → backgroundChecks-QXLVZVGX.js} +5 -5
  11. package/dist/backgroundChecksWorker.js +5 -5
  12. package/dist/{batchRender-QZKFVWEI.js → batchRender-THKSPDZR.js} +14 -7
  13. package/dist/{beats-6LOEKZPB.js → beats-K7CGCFVL.js} +53 -15
  14. package/dist/{benchmark-RJMHI3YW.js → benchmark-PHRDIXNL.js} +18 -14
  15. package/dist/{browser-Q3Q36FE3.js → browser-GN6R5ZSK.js} +7 -7
  16. package/dist/{bundleWithLocalizedFonts-RWHFMSFL.js → bundleWithLocalizedFonts-C325UNR4.js} +3 -3
  17. package/dist/{capture-2PNTGVYV.js → capture-6UBQFHZQ.js} +76 -68
  18. package/dist/{capture-FO3ZZCT4.js → capture-BZ7APOGQ.js} +3 -3
  19. package/dist/{captureCompositionFrame-WTMLWVEJ.js → captureCompositionFrame-VORSCTWC.js} +19 -16
  20. package/dist/{catalog-LUZYPUYT.js → catalog-PHU2RUZ3.js} +18 -18
  21. package/dist/{catch-up-TUTLUTFP.js → catch-up-HCNRM46J.js} +7 -7
  22. package/dist/{check-K2TBTJZS.js → check-TJ5ZLB4I.js} +43 -42
  23. package/dist/{checkBrowser-JT7CXDT6.js → checkBrowser-DWP7ZXJ7.js} +38 -37
  24. package/dist/{chunk-STJ2ANMF.js → chunk-2HP5GIQ3.js} +3 -3
  25. package/dist/{chunk-L34DPWY4.js → chunk-2J3NA3OB.js} +13 -13
  26. package/dist/{chunk-B2A56S5C.js → chunk-2MCXIY4B.js} +13 -10
  27. package/dist/{chunk-DCAI5DBR.js → chunk-2ST4WAFY.js} +9 -1
  28. package/dist/{chunk-TSFA2Y5C.js → chunk-2VXY3PEF.js} +99 -69
  29. package/dist/{chunk-AYFF3GX6.js → chunk-32NB4VMH.js} +1 -1
  30. package/dist/{chunk-IXLUTE6N.js → chunk-3422KMTD.js} +5 -1
  31. package/dist/{chunk-JB7LML5B.js → chunk-3CXIX6XS.js} +68 -7
  32. package/dist/{chunk-F6DNM676.js → chunk-3FV5BVWS.js} +2 -2
  33. package/dist/{chunk-OTQXYTQZ.js → chunk-4E75LHAL.js} +23 -3
  34. package/dist/{chunk-TMBUBLZB.js → chunk-4HCJOFMB.js} +166 -46
  35. package/dist/{chunk-UZ7RJDEC.js → chunk-5IPKQHOL.js} +17 -6
  36. package/dist/{chunk-WBUO6WH6.js → chunk-5TRFLZ5Z.js} +2 -2
  37. package/dist/{chunk-HRPWRZGF.js → chunk-6N65ZMC5.js} +1 -1
  38. package/dist/{chunk-XUXGIA7H.js → chunk-6NLPPKBO.js} +1 -2
  39. package/dist/{chunk-3QLT727N.js → chunk-6WNLQI63.js} +4 -4
  40. package/dist/{chunk-XNLYMHX2.js → chunk-6XVKMBUA.js} +9 -6
  41. package/dist/{chunk-JLSXXMRU.js → chunk-7JJMT6LN.js} +1 -1
  42. package/dist/{chunk-7JHTNUF2.js → chunk-7LLRMYP6.js} +2 -2
  43. package/dist/{chunk-BT64TTSE.js → chunk-7RSY7SZN.js} +2 -2
  44. package/dist/{chunk-DX7VEUBO.js → chunk-7UZC4N62.js} +1 -1
  45. package/dist/{chunk-YT5VLUHM.js → chunk-A4OI5ZNX.js} +1 -1
  46. package/dist/{chunk-TSQAPPRS.js → chunk-AEXVVABM.js} +83 -45
  47. package/dist/{chunk-Y5L5I4US.js → chunk-AMZJFCOX.js} +8 -8
  48. package/dist/{chunk-WCT6KGGT.js → chunk-AR46ND2Q.js} +1 -1
  49. package/dist/chunk-B2XLXD7V.js +3897 -0
  50. package/dist/{chunk-KNQQZRB2.js → chunk-BEOK6F26.js} +2 -2
  51. package/dist/{chunk-76ITJYXX.js → chunk-BPKLUHFT.js} +7 -7
  52. package/dist/{chunk-OOAVKK2W.js → chunk-BV6YE455.js} +2 -2
  53. package/dist/{chunk-XGHHVYC7.js → chunk-BY6OQ6XP.js} +2 -2
  54. package/dist/{chunk-JQYJXUJW.js → chunk-C6KE4AFW.js} +1 -1
  55. package/dist/{chunk-TMK4Q7JA.js → chunk-CFUCHO4T.js} +20 -5
  56. package/dist/{chunk-FANFO5HI.js → chunk-CXRZBWSH.js} +11 -11
  57. package/dist/chunk-CZGHFATT.js +31 -0
  58. package/dist/{chunk-CYBXXSC4.js → chunk-DIKAPMMF.js} +2 -2
  59. package/dist/{chunk-7L37AB57.js → chunk-E3P3LJG6.js} +9 -9
  60. package/dist/{chunk-EU5HTY3E.js → chunk-E5V6WEMK.js} +58 -23
  61. package/dist/{chunk-HJZ5CPZA.js → chunk-EKGGSAWR.js} +6 -5
  62. package/dist/{chunk-7KVVNF7B.js → chunk-ELP5QZWL.js} +1 -1
  63. package/dist/{chunk-QH3T4WI2.js → chunk-EXAX37XR.js} +8 -2
  64. package/dist/{chunk-EI7FP7F3.js → chunk-FBVUAH7N.js} +12 -2
  65. package/dist/{chunk-TTZTGXKG.js → chunk-GANST5K3.js} +2 -2
  66. package/dist/{chunk-EQF6TVWB.js → chunk-IMSI7IFW.js} +65 -29
  67. package/dist/{chunk-W64L7IFS.js → chunk-IW5G323T.js} +1 -1
  68. package/dist/{chunk-RBGNU7VD.js → chunk-J2ASTCU6.js} +2 -2
  69. package/dist/{chunk-SUSSMCWL.js → chunk-J2BSUF6X.js} +1 -1
  70. package/dist/{chunk-GGVGOY6M.js → chunk-JCDYDF54.js} +2 -2
  71. package/dist/{chunk-EPOYPP36.js → chunk-K2AKVYNR.js} +2 -2
  72. package/dist/{chunk-XBGEWNGQ.js → chunk-KZOZN4PI.js} +4 -4
  73. package/dist/{chunk-E7DXKMKU.js → chunk-L2YGSAOL.js} +3 -3
  74. package/dist/{chunk-2FFOLLU2.js → chunk-LOKCBZYF.js} +3 -3
  75. package/dist/{chunk-56IDMP37.js → chunk-MEE4NTPZ.js} +2 -2
  76. package/dist/{chunk-56IOFIYB.js → chunk-MGBUWPXX.js} +2 -2
  77. package/dist/{chunk-K4664CDS.js → chunk-MVIJTXN5.js} +35 -14
  78. package/dist/{chunk-S2IEO6TH.js → chunk-ODBYZIOH.js} +28 -16
  79. package/dist/{chunk-45U3KY7Z.js → chunk-OQL4AJ4X.js} +6 -6
  80. package/dist/{chunk-5C7R55BJ.js → chunk-P2I4RLJE.js} +1 -1
  81. package/dist/{chunk-S7C6EM7N.js → chunk-PFRG5P32.js} +1 -1
  82. package/dist/{chunk-RUOG4VB7.js → chunk-PKZ7RK5N.js} +5 -4
  83. package/dist/{chunk-LLFQA7XF.js → chunk-QFPBRZJD.js} +1 -1
  84. package/dist/{chunk-CWVSJA52.js → chunk-QWLES6YV.js} +3 -3
  85. package/dist/{chunk-OAPYPSEB.js → chunk-QX4TB4NH.js} +292 -79
  86. package/dist/{chunk-BWPY64WA.js → chunk-R2U2G4OS.js} +1 -1
  87. package/dist/{chunk-46HEFGXJ.js → chunk-REUL2KH2.js} +1 -1
  88. package/dist/{chunk-R4QASDTN.js → chunk-RHYOWDI6.js} +2 -2
  89. package/dist/{chunk-DYAPHNV6.js → chunk-RWGASWT7.js} +1 -1
  90. package/dist/chunk-RXATE6FZ.js +385 -0
  91. package/dist/{chunk-CWYS2UNQ.js → chunk-SBBQFPCJ.js} +1 -1
  92. package/dist/{chunk-RDHEG7RX.js → chunk-SK7TR7BL.js} +4 -4
  93. package/dist/{chunk-KNU5COPB.js → chunk-T2EUWCJE.js} +1 -1
  94. package/dist/{chunk-6HYHHMX3.js → chunk-T6O5OLN2.js} +3 -3
  95. package/dist/{chunk-FVD44EQX.js → chunk-ULTKB5FC.js} +65 -23
  96. package/dist/{chunk-B7JFAXDP.js → chunk-VNPADTDD.js} +3 -3
  97. package/dist/{chunk-FUHI34T4.js → chunk-VOM2HLUI.js} +4 -4
  98. package/dist/{chunk-IARWN467.js → chunk-VRAXIQ6I.js} +2 -2
  99. package/dist/{chunk-NAUKCKCJ.js → chunk-W24SZ5FL.js} +4 -4
  100. package/dist/{chunk-ZFFKWHXN.js → chunk-WOKVXK4J.js} +1 -1
  101. package/dist/{chunk-WLG4OYH7.js → chunk-XF77MK3J.js} +1 -1
  102. package/dist/{chunk-DRTIIAIZ.js → chunk-XX2PA4L3.js} +2 -2
  103. package/dist/{chunk-A5YHWTSP.js → chunk-YMQQXPD5.js} +2 -2
  104. package/dist/{chunk-KUMUK6QS.js → chunk-YWRQHRDY.js} +17 -12
  105. package/dist/{chunk-EUUHVDMN.js → chunk-ZEMDV6W2.js} +29 -59
  106. package/dist/{clean-UVTWBPXK.js → clean-2RNCTDBT.js} +40 -27
  107. package/dist/cli.js +69 -67
  108. package/dist/{cloud-M42IPKFD.js → cloud-NFIKESNZ.js} +4 -4
  109. package/dist/{cloudrun-CTNX64R6.js → cloudrun-7224BCX3.js} +9 -9
  110. package/dist/commands/contrast-audit.browser.js +1 -1
  111. package/dist/commands/layout-audit.browser.js +64 -3
  112. package/dist/{compare-MQI7TG5M.js → compare-HL44MXVX.js} +80 -48
  113. package/dist/{compiler-EJE3HLCS.js → compiler-WF5QTXV7.js} +8 -7
  114. package/dist/{component-QSYOSFVV.js → component-ZBZXSJBR.js} +3 -3
  115. package/dist/{compositions-ITDFE7K4.js → compositions-76P7LDDX.js} +19 -17
  116. package/dist/{contactSheet-CAGMKI3E.js → contactSheet-43ISAESM.js} +2 -2
  117. package/dist/{delete-NTGTENKJ.js → delete-4YZBYOHJ.js} +7 -7
  118. package/dist/{deploy-AOJOXEYX.js → deploy-UGUUGYLF.js} +1 -1
  119. package/dist/{deterministicFonts-EGAAE7QL.js → deterministicFonts-RO2TCMLZ.js} +3 -3
  120. package/dist/{dist-NHW2JQCA.js → dist-5KKCRFPT.js} +5 -5
  121. package/dist/{dist-JH32CBQL.js → dist-QQ26RUDV.js} +5 -4
  122. package/dist/docs/rendering.md +2 -2
  123. package/dist/{doctor-Q6DAYVSQ.js → doctor-GGVUK4NB.js} +20 -19
  124. package/dist/{events-BQIBYPCF.js → events-OXPTHVDB.js} +4 -4
  125. package/dist/{events-PV3CDO4A.js → events-V2VU4J3B.js} +5 -5
  126. package/dist/{feedback-BZH26JQE.js → feedback-HFZ5SCUK.js} +16 -16
  127. package/dist/{ffmpeg-KU7RNT3U.js → ffmpeg-3VHY7GO3.js} +13 -12
  128. package/dist/{figma-PBGZUEIL.js → figma-7SEZTLBJ.js} +3 -3
  129. package/dist/fontLocalizeCli.js +14 -13
  130. package/dist/{get-MM2JZ5ET.js → get-Y2S2PXCM.js} +7 -7
  131. package/dist/{gpuPolicy-DQE2CD5T.js → gpuPolicy-UHPOWRV5.js} +11 -10
  132. package/dist/{grade-compare-YTDQ7YXW.js → grade-compare-4VTXSQM5.js} +38 -37
  133. package/dist/{gsapParserAcorn-SKODXC2N.js → gsapParserAcorn-OOTY2MVN.js} +2 -2
  134. package/dist/{help-M4B2DN7E.js → help-HXNOACHI.js} +1 -1
  135. package/dist/{history-ZW4UYKAJ.js → history-XDJUI4LC.js} +39 -16
  136. package/dist/hyperframe.manifest.json +1 -1
  137. package/dist/hyperframe.runtime.iife.js +64 -64
  138. package/dist/hyperframes-player.global.js +3 -3
  139. package/dist/hyperframes-slideshow.global.js +1 -1
  140. package/dist/{info-L7LQAXLK.js → info-KYRI3EZV.js} +56 -22
  141. package/dist/{init-HTSQ535A.js → init-IL7EWMT5.js} +38 -45
  142. package/dist/{inspect-EWF2THRR.js → inspect-TBNH23UC.js} +36 -35
  143. package/dist/{installer-PQKH2S7C.js → installer-O2YMFSI4.js} +8 -8
  144. package/dist/{keyframes-X2QKJ4DP.js → keyframes-4GF62KAJ.js} +13 -14
  145. package/dist/{lambda-BURM66GP.js → lambda-JFL6M4XZ.js} +12 -12
  146. package/dist/{layout-3Z3SJGZZ.js → layout-7MAEFR65.js} +36 -35
  147. package/dist/{lint-OMNZ2K5J.js → lint-4AYHKYAM.js} +23 -16
  148. package/dist/{lintProject-XM3DLUKG.js → lintProject-52SLJPRC.js} +5 -4
  149. package/dist/{list-5ZSQEH6N.js → list-3DP3D3MW.js} +7 -7
  150. package/dist/{login-YNCQPHLA.js → login-T54WQYRQ.js} +7 -7
  151. package/dist/{logout-DDC4QLVK.js → logout-JYFWWUGK.js} +3 -3
  152. package/dist/{manager-UHWEKPXC.js → manager-MZIJY73J.js} +3 -3
  153. package/dist/{manager-N6XXRQN3.js → manager-QROK2IH3.js} +14 -13
  154. package/dist/{media-treatment-EOKBRJPY.js → media-treatment-4CXF7MSG.js} +20 -19
  155. package/dist/{models-6T4CCKUV.js → models-IS3I6JKU.js} +18 -17
  156. package/dist/{motionShot-KXKMYZ3A.js → motionShot-DVYJZOTQ.js} +21 -20
  157. package/dist/{normalize-3AYFSN2F.js → normalize-FASIPBUM.js} +1 -1
  158. package/dist/{normalize-audio-VWB7RHHA.js → normalize-audio-4527JIK4.js} +12 -8
  159. package/dist/{open-32SQCNUP.js → open-5JE46SAX.js} +18 -18
  160. package/dist/{parakeetRunner-BXW2WX6Q.js → parakeetRunner-7JIJGJJ7.js} +20 -19
  161. package/dist/{pipeline-V5ONFRCY.js → pipeline-YEN3WFD2.js} +15 -14
  162. package/dist/{play-BBL262JE.js → play-WFX67I7M.js} +27 -26
  163. package/dist/{policies-MBWGLMWB.js → policies-GHVXA5PE.js} +1 -1
  164. package/dist/{preflight-LCNGQFNY.js → preflight-D377HVUZ.js} +15 -14
  165. package/dist/{present-RY4HO4ZQ.js → present-XTSEKAC7.js} +24 -23
  166. package/dist/{preview-BLLPCCLG.js → preview-5XH7EK6O.js} +28 -26
  167. package/dist/{producer-QG4AQ35S.js → producer-TFFYF4ZM.js} +1 -1
  168. package/dist/{projectConfig-LN3NR5OM.js → projectConfig-6YUJHMCL.js} +10 -10
  169. package/dist/{publication-TXMCS4KM.js → publication-JK33Y55E.js} +5 -5
  170. package/dist/{publish-57VURD7Z.js → publish-JHDGXWXU.js} +18 -17
  171. package/dist/{refresh-RXTOPRBB.js → refresh-USSFPJAU.js} +3 -3
  172. package/dist/{remove-background-VEWVIO3A.js → remove-background-P44MYAPJ.js} +16 -15
  173. package/dist/{render-SP7WAUB4.js → render-HJ34EGMN.js} +10 -9
  174. package/dist/{render-XMN3NJIQ.js → render-RBINWWP5.js} +43 -42
  175. package/dist/{render-4E7QDVOI.js → render-RJ3I4E3A.js} +26 -25
  176. package/dist/{render-batch-7ULP5RIJ.js → render-batch-3D6XQYUC.js} +11 -10
  177. package/dist/renderSetupWorker.js +9 -8
  178. package/dist/{resolver-D3XERO6U.js → resolver-HCLTFZUW.js} +7 -7
  179. package/dist/{screenshotCapture-UBY6TT75.js → screenshotCapture-I5EDCITF.js} +6 -3
  180. package/dist/{sherpa-5B5G426W.js → sherpa-IPOUJM6Q.js} +19 -18
  181. package/dist/{sites-5PWHAMEG.js → sites-Q2S3DZY4.js} +2 -1
  182. package/dist/skills/hyperframes/references/captions.md +1 -1
  183. package/dist/skills/hyperframes/references/skill-lifecycle.md +8 -4
  184. package/dist/skills/hyperframes-cli/references/cloudrun.md +1 -1
  185. package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +1 -1
  186. package/dist/skills/hyperframes-cli/references/lambda.md +1 -1
  187. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +2 -2
  188. package/dist/skills/hyperframes-cli/references/preview-render.md +1 -1
  189. package/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +0 -8
  190. package/dist/skills/media-use/audio/references/transcribe.md +2 -2
  191. package/dist/skills/media-use/references/audio.md +1 -1
  192. package/dist/{skills-RXHRF7O7.js → skills-P67QEERC.js} +13 -75
  193. package/dist/{skillsUpdateCheck-JOTDZJAE.js → skillsUpdateCheck-IFMLRVIF.js} +5 -5
  194. package/dist/{slideshow-YTWATJRT.js → slideshow-SJGK4RQS.js} +1 -1
  195. package/dist/{snapshot-DN4MP4VN.js → snapshot-4YM4NNWJ.js} +66 -48
  196. package/dist/{src-W6Y5ZYRQ.js → src-DCD3YMXX.js} +13 -12
  197. package/dist/{src-XSDYRKLG.js → src-SSV66L3F.js} +14 -9
  198. package/dist/{staticProjectServer-JMFGTPMX.js → staticProjectServer-C7PPGLEQ.js} +22 -21
  199. package/dist/{status-CM7IQTU2.js → status-H5WLKQDS.js} +3 -3
  200. package/dist/studio/assets/{hyperframes-player-0HXJPmYC.js → hyperframes-player-ChN3cOr0.js} +3 -3
  201. package/dist/studio/assets/{index-DsSfhjUS.js → index-BYbFcRR0.js} +1 -1
  202. package/dist/studio/assets/{index-BYw97F07.js → index-CHu83hHM.js} +126 -125
  203. package/dist/studio/assets/{index-B3vk3hfU.css → index-CYbvOVp-.css} +1 -1
  204. package/dist/studio/index.html +2 -2
  205. package/dist/{studio-api-SZ4OMFPN.js → studio-api-6YZ7PIQR.js} +17 -14
  206. package/dist/{studioServer-LWO33H7D.js → studioServer-EWHSE4GC.js} +60 -59
  207. package/dist/{telemetry-QG5AANZ4.js → telemetry-4K6CPMNT.js} +2 -2
  208. package/dist/{telemetry-K3AFDKOP.js → telemetry-GGLBHZRZ.js} +5 -5
  209. package/dist/{timeline-NYQOAQDH.js → timeline-NKHQJXJ2.js} +65 -43
  210. package/dist/{tokens-K7YWUVOK.js → tokens-FWNNDJ6R.js} +2 -2
  211. package/dist/{transcribe-QAUMODXM.js → transcribe-TRPKXZ7L.js} +27 -26
  212. package/dist/{transcribe-ANPUQDZD.js → transcribe-VD2TMMC2.js} +17 -16
  213. package/dist/{tts-A2WILYGN.js → tts-5I2AJNLM.js} +1 -1
  214. package/dist/{updateCheck-RNR4HMDI.js → updateCheck-CUPS6LU3.js} +4 -4
  215. package/dist/{upgrade-MKUGZZPA.js → upgrade-23XO6MEX.js} +4 -4
  216. package/dist/{urlDownloader-5USPXLCS.js → urlDownloader-YOAOONCK.js} +10 -9
  217. package/dist/{validate-OJHPDLC5.js → validate-BWIW24G5.js} +30 -29
  218. package/dist/{video-BCKRR6LU.js → video-XRXJS4GC.js} +12 -11
  219. package/dist/warmCheck.js +43 -42
  220. package/package.json +2 -1
  221. package/dist/chunk-DIV37NUE.js +0 -3896
  222. package/dist/chunk-I5JRXMCV.js +0 -6077
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveConfig,
9
9
  usesSoftwareWebGpu
10
- } from "./chunk-OAPYPSEB.js";
10
+ } from "./chunk-QX4TB4NH.js";
11
11
 
12
12
  // src/browser/gpuPolicy.ts
13
13
  function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
@@ -17,7 +17,7 @@ function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCE
17
17
  return "auto";
18
18
  }
19
19
  async function resolveCaptureBrowserGpuMode(requestedMode, chromePath, probeLifecycle) {
20
- const { resolveBrowserGpuMode } = await import("./src-XSDYRKLG.js");
20
+ const { resolveBrowserGpuMode } = await import("./src-SSV66L3F.js");
21
21
  return resolveBrowserGpuMode(requestedMode, { chromePath, probeLifecycle });
22
22
  }
23
23
  function resolveLocalWebGpu(browserGpuMode, requiresWebGpu) {
@@ -6,35 +6,35 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parakeetRunner
9
- } from "./chunk-JLSXXMRU.js";
9
+ } from "./chunk-7JJMT6LN.js";
10
10
  import {
11
11
  DecodeCancelled,
12
12
  prepareSherpaWav,
13
13
  sherpaUnsupportedReason,
14
14
  transcribeWithSherpa
15
- } from "./chunk-FUHI34T4.js";
15
+ } from "./chunk-VOM2HLUI.js";
16
16
  import {
17
17
  initialModelForLanguage,
18
18
  transcribe
19
- } from "./chunk-2FFOLLU2.js";
19
+ } from "./chunk-LOKCBZYF.js";
20
20
  import {
21
21
  createRenderCancellationScope,
22
22
  stoppedByCancelSignal
23
- } from "./chunk-RBGNU7VD.js";
23
+ } from "./chunk-J2ASTCU6.js";
24
24
  import {
25
25
  DEFAULT_MODEL,
26
26
  findWhisper,
27
27
  isWhisperUnavailable
28
- } from "./chunk-S7C6EM7N.js";
28
+ } from "./chunk-PFRG5P32.js";
29
29
  import {
30
30
  formatSrt,
31
31
  formatVtt,
32
32
  loadTranscript,
33
33
  patchCaptionHtml
34
- } from "./chunk-TMK4Q7JA.js";
34
+ } from "./chunk-CFUCHO4T.js";
35
35
  import {
36
36
  normalizeErrorMessage
37
- } from "./chunk-KNU5COPB.js";
37
+ } from "./chunk-T2EUWCJE.js";
38
38
  import {
39
39
  PARAKEET_INSTALL_COMMAND,
40
40
  PARAKEET_LANGUAGES,
@@ -8,7 +8,7 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-TTZTGXKG.js";
11
+ } from "./chunk-GANST5K3.js";
12
12
  import {
13
13
  CliRuntimeError
14
14
  } from "./chunk-JVBRJMOP.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-T6AGUTZJ.js";
21
21
  import {
22
22
  readConfig
23
- } from "./chunk-XUXGIA7H.js";
23
+ } from "./chunk-6NLPPKBO.js";
24
24
 
25
25
  // src/utils/feedbackRating.ts
26
26
  var FEEDBACK_RATING_SCALE = 10;
@@ -6,14 +6,14 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  refreshIfNeeded
9
- } from "./chunk-HRPWRZGF.js";
9
+ } from "./chunk-6N65ZMC5.js";
10
10
  import {
11
11
  buildAuthHeaders,
12
12
  envCredentialVar,
13
13
  isAuthError,
14
14
  isTokenExpired,
15
15
  tryResolveCredential
16
- } from "./chunk-7KVVNF7B.js";
16
+ } from "./chunk-ELP5QZWL.js";
17
17
  import {
18
18
  CSS_URL_RE,
19
19
  isNonRelativeUrl,
@@ -10,7 +10,7 @@ import {
10
10
  hasPreservedUnknownData,
11
11
  readStore,
12
12
  writeStore
13
- } from "./chunk-7KVVNF7B.js";
13
+ } from "./chunk-ELP5QZWL.js";
14
14
 
15
15
  // src/auth/user.ts
16
16
  function isUserInfoEmpty(u) {
@@ -11,6 +11,7 @@ import {
11
11
  // src/whisper/normalize.ts
12
12
  import { readFileSync, readdirSync, writeFileSync } from "fs";
13
13
  import { extname, join } from "path";
14
+ import { parseExpressionAt, tokenizer } from "acorn";
14
15
  function detectFormat(filePath) {
15
16
  const ext = extname(filePath).toLowerCase();
16
17
  if (ext === ".srt") return "srt";
@@ -306,6 +307,20 @@ function loadTranscript(filePath) {
306
307
  }))).map((w, i) => ({ ...w, id: w.id || `w${i}` }));
307
308
  return { words, format };
308
309
  }
310
+ function findCaptionArray(source, name) {
311
+ const prefix = `const ${name} = `;
312
+ const start = source.indexOf(`${prefix}[`);
313
+ if (start < 0) return void 0;
314
+ try {
315
+ const array = parseExpressionAt(source, start + prefix.length, { ecmaVersion: "latest" });
316
+ if (array.type !== "ArrayExpression") return void 0;
317
+ const terminator = tokenizer(source.slice(array.end), { ecmaVersion: "latest" }).getToken();
318
+ if (terminator.type.label !== ";") return void 0;
319
+ return source.slice(start, array.end + terminator.end);
320
+ } catch {
321
+ return void 0;
322
+ }
323
+ }
309
324
  function patchCaptionHtml(dir, words) {
310
325
  if (words.length === 0) return;
311
326
  const wordsJson = JSON.stringify(words, null, 2).replace(/</g, "\\u003c").replace(/\n/g, "\n ");
@@ -318,16 +333,16 @@ function patchCaptionHtml(dir, words) {
318
333
  for (const file of htmlFiles) {
319
334
  let content = readFileSync(file, "utf-8");
320
335
  const scriptBlocks = content.match(/<script>[\s\S]*?<\/script>/g) ?? [];
321
- let scriptMatch = null;
322
- let transcriptMatch = null;
336
+ let scriptMatch;
337
+ let transcriptMatch;
323
338
  for (const block of scriptBlocks) {
324
- scriptMatch = scriptMatch ?? block.match(/const script = \[[\s\S]*?\];/);
325
- transcriptMatch = transcriptMatch ?? block.match(/const TRANSCRIPT = \[[\s\S]*?\];/);
339
+ scriptMatch = scriptMatch ?? findCaptionArray(block, "script");
340
+ transcriptMatch = transcriptMatch ?? findCaptionArray(block, "TRANSCRIPT");
326
341
  }
327
342
  const match = scriptMatch ?? transcriptMatch;
328
343
  if (match) {
329
344
  const varName = scriptMatch ? "script" : "TRANSCRIPT";
330
- content = content.replace(match[0], () => `const ${varName} = ${wordsJson};`);
345
+ content = content.replace(match, () => `const ${varName} = ${wordsJson};`);
331
346
  writeFileSync(file, content, "utf-8");
332
347
  }
333
348
  }
@@ -6,27 +6,27 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-OTQXYTQZ.js";
9
+ } from "./chunk-4E75LHAL.js";
10
10
  import {
11
11
  serveStaticProjectHtml
12
- } from "./chunk-HJZ5CPZA.js";
12
+ } from "./chunk-EKGGSAWR.js";
13
13
  import {
14
14
  AUDIT_SEEK_OPTIONS,
15
15
  installPageFunctionGuard,
16
16
  seekCompositionTimeline,
17
17
  waitForCompositionFonts,
18
18
  waitForRuntimeReady
19
- } from "./chunk-EU5HTY3E.js";
19
+ } from "./chunk-E5V6WEMK.js";
20
20
  import {
21
21
  launchManagedBrowser,
22
22
  resolveManagedGpuMode
23
- } from "./chunk-GGVGOY6M.js";
23
+ } from "./chunk-JCDYDF54.js";
24
24
  import {
25
25
  gotoWhenSent
26
26
  } from "./chunk-MOEGCMKI.js";
27
27
  import {
28
28
  pageNavigationTimeoutMs
29
- } from "./chunk-CWVSJA52.js";
29
+ } from "./chunk-QWLES6YV.js";
30
30
  import {
31
31
  defineCommand
32
32
  } from "./chunk-S3S4TGEH.js";
@@ -40,10 +40,10 @@ import {
40
40
  import {
41
41
  printDeprecationNotice,
42
42
  withMeta
43
- } from "./chunk-STJ2ANMF.js";
43
+ } from "./chunk-2HP5GIQ3.js";
44
44
  import {
45
45
  normalizeErrorMessage
46
- } from "./chunk-KNU5COPB.js";
46
+ } from "./chunk-T2EUWCJE.js";
47
47
 
48
48
  // src/commands/layout.ts
49
49
  import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
@@ -715,7 +715,7 @@ async function collectTweenBoundaries(page) {
715
715
  });
716
716
  }
717
717
  async function bundleProjectHtml(projectDir) {
718
- const { bundleToSingleHtml } = await import("./compiler-EJE3HLCS.js");
718
+ const { bundleToSingleHtml } = await import("./compiler-WF5QTXV7.js");
719
719
  return bundleToSingleHtml(projectDir);
720
720
  }
721
721
  async function alignViewportToComposition(page, url) {
@@ -732,15 +732,15 @@ async function alignViewportToComposition(page, url) {
732
732
  await gotoWhenSent(page, url, pageNavigationTimeoutMs());
733
733
  }
734
734
  async function runLayoutAudit(projectDir, opts) {
735
- const { ensureBrowser } = await import("./manager-UHWEKPXC.js");
735
+ const { ensureBrowser } = await import("./manager-MZIJY73J.js");
736
736
  const puppeteer = await import("puppeteer-core");
737
- const { buildChromeArgs } = await import("./src-XSDYRKLG.js");
737
+ const { buildChromeArgs } = await import("./src-SSV66L3F.js");
738
738
  const {
739
739
  assertWebGpuAdapterAvailable,
740
740
  compositionRequiresWebGpu,
741
741
  resolveLocalBrowserGpuMode,
742
742
  resolveLocalWebGpu
743
- } = await import("./gpuPolicy-DQE2CD5T.js");
743
+ } = await import("./gpuPolicy-UHPOWRV5.js");
744
744
  const html = await bundleProjectHtml(projectDir);
745
745
  const server = await serveStaticProjectHtml(
746
746
  projectDir,
@@ -0,0 +1,31 @@
1
+ import { createRequire as __hf_createRequire } from "node:module";
2
+ import { fileURLToPath as __hf_fileURLToPath } from "node:url";
3
+ import { dirname as __hf_dirname } from "node:path";
4
+ var require = __hf_createRequire(import.meta.url);
5
+ var __filename = __hf_fileURLToPath(import.meta.url);
6
+ var __dirname = __hf_dirname(__filename);
7
+
8
+ // ../parsers/dist/compositionDuration.js
9
+ var TIMING_TOLERANCE_SECONDS = 0.05;
10
+ var isPositiveFinite = (value) => value !== null && Number.isFinite(value) && value > 0;
11
+ function resolveCompositionDuration(input) {
12
+ const pendingClips = input.clipEndsSeconds.filter((end) => end === null).length;
13
+ if (isPositiveFinite(input.authoredDurationSeconds)) {
14
+ return { seconds: input.authoredDurationSeconds, source: "authored", pendingClips };
15
+ }
16
+ const known = input.clipEndsSeconds.filter(isPositiveFinite);
17
+ if (known.length > 0) {
18
+ return { seconds: Math.max(...known), source: "derived", pendingClips };
19
+ }
20
+ return {
21
+ seconds: null,
22
+ source: "unresolved",
23
+ pendingClips,
24
+ reason: pendingClips > 0 ? "every clip's length is still pending" : "no authored duration and no clip with a length"
25
+ };
26
+ }
27
+
28
+ export {
29
+ TIMING_TOLERANCE_SECONDS,
30
+ resolveCompositionDuration
31
+ };
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  runCancellableProcess,
9
9
  runRenderSetupWorker
10
- } from "./chunk-DYAPHNV6.js";
10
+ } from "./chunk-RWGASWT7.js";
11
11
  import {
12
12
  getFreeDiskMb
13
13
  } from "./chunk-T6AGUTZJ.js";
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-4UMPIPCQ.js";
19
19
  import {
20
20
  normalizeErrorMessage
21
- } from "./chunk-KNU5COPB.js";
21
+ } from "./chunk-T2EUWCJE.js";
22
22
 
23
23
  // src/browser/manager.ts
24
24
  import { execSync, spawnSync } from "child_process";
@@ -6,12 +6,12 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  ancestor,
9
- parse,
10
- parseExpressionAt,
11
9
  simple
12
- } from "./chunk-I5JRXMCV.js";
10
+ } from "./chunk-RXATE6FZ.js";
13
11
 
14
12
  // ../parsers/dist/gsapParserAcorn.js
13
+ import * as acorn2 from "acorn";
14
+ import * as acorn from "acorn";
15
15
  var GSAP_DEFAULT_DURATION = 0.5;
16
16
  var BUILTIN_VAR_KEYS = /* @__PURE__ */ new Set(["duration", "ease", "delay"]);
17
17
  var DROPPED_VAR_KEYS = /* @__PURE__ */ new Set([
@@ -636,7 +636,7 @@ var isNumberLiteral = (holder, key, value) => key === "value" && typeof value ==
636
636
  function scriptShape(code, maskNumbers = false) {
637
637
  let tree;
638
638
  try {
639
- tree = parse(code, { ecmaVersion: "latest", allowHashBang: true });
639
+ tree = acorn.parse(code, { ecmaVersion: "latest", allowHashBang: true });
640
640
  } catch {
641
641
  return null;
642
642
  }
@@ -662,13 +662,13 @@ var SCOPE_NODE_TYPES = /* @__PURE__ */ new Set([
662
662
  ]);
663
663
  function parseProgram(script) {
664
664
  try {
665
- return parse(script, {
665
+ return acorn2.parse(script, {
666
666
  ecmaVersion: "latest",
667
667
  sourceType: "script",
668
668
  locations: true
669
669
  });
670
670
  } catch {
671
- return parse(script, {
671
+ return acorn2.parse(script, {
672
672
  ecmaVersion: "latest",
673
673
  sourceType: "module",
674
674
  locations: true
@@ -1601,7 +1601,7 @@ function staggerAmount(raw) {
1601
1601
  if (typeof raw !== "string") return void 0;
1602
1602
  const src = raw.startsWith("__raw:") ? raw.slice(6) : raw;
1603
1603
  try {
1604
- const node = parseExpressionAt(src, 0, { ecmaVersion: "latest" });
1604
+ const node = acorn2.parseExpressionAt(src, 0, { ecmaVersion: "latest" });
1605
1605
  if (src.slice(node.end).trim()) return void 0;
1606
1606
  const value = resolveNode(
1607
1607
  node.type === "ObjectExpression" ? findPropertyNode(node, "each") : node,
@@ -1860,7 +1860,7 @@ function assignStableIds(anims) {
1860
1860
  }
1861
1861
  function parseGsapScriptAcornForWrite(script) {
1862
1862
  try {
1863
- const ast = parse(script, {
1863
+ const ast = acorn2.parse(script, {
1864
1864
  ecmaVersion: "latest",
1865
1865
  sourceType: "script",
1866
1866
  locations: true
@@ -2017,7 +2017,7 @@ function gsapScriptUsesMotionPath(script) {
2017
2017
  }
2018
2018
  function extractGsapLabels(script) {
2019
2019
  try {
2020
- const ast = parse(script, {
2020
+ const ast = acorn2.parse(script, {
2021
2021
  ecmaVersion: "latest",
2022
2022
  sourceType: "script",
2023
2023
  locations: true
@@ -8,34 +8,34 @@ import {
8
8
  launchManagedBrowser,
9
9
  resolveManagedGpuMode,
10
10
  rethrowAfterBrowserCleanup
11
- } from "./chunk-GGVGOY6M.js";
11
+ } from "./chunk-JCDYDF54.js";
12
12
  import {
13
13
  gotoWhenSent
14
14
  } from "./chunk-MOEGCMKI.js";
15
15
  import {
16
16
  pageNavigationTimeoutMs,
17
17
  windowsChromeCrashRemediation
18
- } from "./chunk-CWVSJA52.js";
18
+ } from "./chunk-QWLES6YV.js";
19
19
  import {
20
20
  oneProcessOverPipe
21
21
  } from "./chunk-DKPNNYBZ.js";
22
22
  import {
23
23
  resolveCompositionViewportFromHtml
24
- } from "./chunk-ZFFKWHXN.js";
24
+ } from "./chunk-WOKVXK4J.js";
25
25
  import {
26
26
  resolveLocalBrowserGpuMode,
27
27
  resolveLocalWebGpu
28
- } from "./chunk-KNQQZRB2.js";
28
+ } from "./chunk-BEOK6F26.js";
29
29
  import {
30
30
  c
31
31
  } from "./chunk-ZTZA4UWZ.js";
32
32
  import {
33
33
  assertWebGpuAdapterAvailable,
34
34
  compositionRequiresWebGpu
35
- } from "./chunk-OAPYPSEB.js";
35
+ } from "./chunk-QX4TB4NH.js";
36
36
  import {
37
37
  normalizeErrorMessage
38
- } from "./chunk-KNU5COPB.js";
38
+ } from "./chunk-T2EUWCJE.js";
39
39
 
40
40
  // src/capture/captureCompositionFrame.ts
41
41
  import { spawn } from "child_process";
@@ -49,10 +49,12 @@ var AUDIT_SEEK_OPTIONS = {
49
49
  animationFrameSettle: "double",
50
50
  waitForFontsMs: 500
51
51
  };
52
+ var SCREENSHOT_IMAGE_WAIT_MS = 3e3;
52
53
  var SCREENSHOT_SEEK_OPTIONS = {
53
54
  ...AUDIT_SEEK_OPTIONS,
54
- waitForImagesMs: 120
55
+ waitForImagesMs: SCREENSHOT_IMAGE_WAIT_MS
55
56
  };
57
+ var ALL_IMAGES_SETTLED = { pending: [], failed: [] };
56
58
  var DENSE_GEOMETRY_SEEK_OPTIONS = {
57
59
  ...AUDIT_SEEK_OPTIONS,
58
60
  animationFrameSettle: "none",
@@ -138,7 +140,7 @@ async function waitForCompositionSettle(page, options) {
138
140
  console.warn(` ${c.warn("\u26A0")} Shader transitions did not finish pre-rendering`);
139
141
  });
140
142
  await waitForLateSubresources(page, options.lateSubresourceTimeoutMs ?? CAPTURE_SETTLE_MS);
141
- const { resolveConfig, waitForImagesReady } = await import("./src-XSDYRKLG.js");
143
+ const { resolveConfig, waitForImagesReady } = await import("./src-SSV66L3F.js");
142
144
  const imageTimeoutMs = resolveConfig().playerReadyTimeout;
143
145
  await waitForImagesReady(
144
146
  page,
@@ -187,7 +189,7 @@ async function installPageFunctionGuard(page) {
187
189
  async function openSettledCompositionPage(html, url, options) {
188
190
  const viewport = resolveCompositionViewportFromHtml(html);
189
191
  const requiresWebGpu = compositionRequiresWebGpu(html);
190
- const answer = (await import("./staticProjectServer-JMFGTPMX.js")).inProcessAnswer(url);
192
+ const answer = (await import("./staticProjectServer-C7PPGLEQ.js")).inProcessAnswer(url);
191
193
  const noListen = answer !== void 0;
192
194
  let chromeBrowser;
193
195
  try {
@@ -198,7 +200,7 @@ async function openSettledCompositionPage(html, url, options) {
198
200
  options.onBrowserReady?.();
199
201
  const page = await chromeBrowser.newPage();
200
202
  await installPageFunctionGuard(page);
201
- const { installMediaRenderIdBridge } = await import("./src-XSDYRKLG.js");
203
+ const { installMediaRenderIdBridge } = await import("./src-SSV66L3F.js");
202
204
  await installMediaRenderIdBridge(page);
203
205
  await page.setViewport(viewport);
204
206
  if (answer) await answerPageInProcess(page, url, answer);
@@ -214,10 +216,10 @@ async function openSettledCompositionPage(html, url, options) {
214
216
  }
215
217
  async function launchCompositionBrowser(html, noListen, options) {
216
218
  const viewport = resolveCompositionViewportFromHtml(html);
217
- const { ensureBrowser, findSystemBrowser } = await import("./manager-UHWEKPXC.js");
219
+ const { ensureBrowser, findSystemBrowser } = await import("./manager-MZIJY73J.js");
218
220
  const browser = await ensureBrowser({ signal: options.signal });
219
221
  const puppeteer = await import("puppeteer-core");
220
- const { buildChromeArgs } = await import("./src-XSDYRKLG.js");
222
+ const { buildChromeArgs } = await import("./src-SSV66L3F.js");
221
223
  const requestedGpuMode = options.browserGpuMode ?? resolveCliChromeGpuMode();
222
224
  const requiresWebGpu = compositionRequiresWebGpu(html);
223
225
  let softwareWebGpu = false;
@@ -400,11 +402,12 @@ async function settleCompositionSeek(page, options = {}) {
400
402
  if (waitForFontsMs > 0) {
401
403
  await waitForCompositionFonts(page, waitForFontsMs, animationFrameSettle === "double" ? 2 : 1);
402
404
  }
403
- if (options.waitForImagesMs) await waitForCompositionImages(page, options.waitForImagesMs);
405
+ const images = options.waitForImagesMs ? await waitForCompositionImages(page, options.waitForImagesMs) : ALL_IMAGES_SETTLED;
404
406
  if (options.settleMs !== void 0) {
405
407
  const settleMs = Math.max(0, options.settleMs);
406
408
  await new Promise((resolveSettle) => setTimeout(resolveSettle, settleMs));
407
409
  }
410
+ return images;
408
411
  }
409
412
  async function waitForPreferredSeekTarget(page, timeoutMs = PREFERRED_SEEK_TARGET_WAIT_MS) {
410
413
  if (!page.waitForFunction) return;
@@ -423,19 +426,50 @@ async function waitForPreferredSeekTarget(page, timeoutMs = PREFERRED_SEEK_TARGE
423
426
  }
424
427
  }
425
428
  async function waitForCompositionImages(page, timeoutMs) {
426
- await page.evaluate(
427
- (ms) => new Promise((resolveWait) => {
428
- const deadline = setTimeout(resolveWait, ms);
429
- void Promise.all(
430
- Array.from(document.images, (image) => image.decode().catch(() => {
431
- }))
432
- ).then(() => {
433
- clearTimeout(deadline);
434
- resolveWait();
429
+ const unsettled = await page.evaluate(
430
+ // fallow-ignore-next-line complexity
431
+ async (ms) => {
432
+ const layers = /* @__PURE__ */ new Map();
433
+ const add = (src, image) => {
434
+ if (src && !layers.has(src)) layers.set(src, image ?? Object.assign(new Image(), { src }));
435
+ };
436
+ const absolute = (href) => new URL(href, document.baseURI).href;
437
+ for (const element of document.querySelectorAll("*")) {
438
+ const style = getComputedStyle(element);
439
+ if (style.display === "none" || style.visibility === "hidden") continue;
440
+ if (element instanceof HTMLImageElement) add(element.currentSrc || element.src, element);
441
+ if (element instanceof SVGImageElement && element.href.baseVal) {
442
+ add(absolute(element.href.baseVal));
443
+ }
444
+ for (const match of style.backgroundImage.matchAll(
445
+ /url\(\s*(?:"([^"]*)"|'([^']*)'|([^)]*))\s*\)/g
446
+ )) {
447
+ const href = match[1] ?? match[2] ?? match[3];
448
+ if (href) add(absolute(href));
449
+ }
450
+ }
451
+ const state = /* @__PURE__ */ new Map();
452
+ const decodes = [...layers].map(([src, image]) => {
453
+ state.set(src, "pending");
454
+ return image.decode().then(
455
+ () => void state.set(src, "ready"),
456
+ () => void state.set(src, "failed")
457
+ );
435
458
  });
436
- }),
459
+ let timer;
460
+ await Promise.race([
461
+ Promise.all(decodes),
462
+ new Promise((resolveWait) => {
463
+ timer = setTimeout(resolveWait, ms);
464
+ })
465
+ ]);
466
+ clearTimeout(timer);
467
+ const named = (want) => [...state].filter(([, value]) => value === want).map(([src]) => src.startsWith("data:") ? `${src.slice(0, 40)}...` : src);
468
+ return { pending: named("pending"), failed: named("failed") };
469
+ },
437
470
  timeoutMs
438
471
  );
472
+ return unsettled;
439
473
  }
440
474
  async function waitForCompositionFonts(page, timeoutMs, frames = 1) {
441
475
  await page.evaluate(
@@ -560,6 +594,7 @@ async function answerPageInProcess(page, url, answer) {
560
594
 
561
595
  export {
562
596
  AUDIT_SEEK_OPTIONS,
597
+ SCREENSHOT_IMAGE_WAIT_MS,
563
598
  SCREENSHOT_SEEK_OPTIONS,
564
599
  DENSE_GEOMETRY_SEEK_OPTIONS,
565
600
  prelaunchCompositionBrowser,
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-L34DPWY4.js";
10
+ } from "./chunk-2J3NA3OB.js";
11
11
  import {
12
12
  PROXY_VARIANT_CONFIG,
13
13
  ProxyCapacityError,
@@ -18,17 +18,17 @@ import {
18
18
  recordProxyRequest,
19
19
  resolveProxy,
20
20
  resolveProxyVariantRequest
21
- } from "./chunk-BT64TTSE.js";
21
+ } from "./chunk-7RSY7SZN.js";
22
22
  import {
23
23
  findStageProxyBox
24
- } from "./chunk-ZFFKWHXN.js";
24
+ } from "./chunk-WOKVXK4J.js";
25
25
  import {
26
26
  resolveAutoProxy
27
- } from "./chunk-UZ7RJDEC.js";
27
+ } from "./chunk-5IPKQHOL.js";
28
28
  import {
29
29
  PREVIEW_PROXY_BOX_PARAM,
30
30
  parsePreviewProxyBox
31
- } from "./chunk-56IOFIYB.js";
31
+ } from "./chunk-MGBUWPXX.js";
32
32
  import {
33
33
  decodeWellFormedEscapes
34
34
  } from "./chunk-BSQ7XANM.js";
@@ -124,6 +124,7 @@ function serveFileWithRange(filePath, rangeHeader, res, contentType = getMimeTyp
124
124
  return;
125
125
  }
126
126
  const stream = createReadStream(filePath, { start, end });
127
+ res.once("close", () => stream.destroy());
127
128
  stream.on("open", () => {
128
129
  res.writeHead(status, headers);
129
130
  stream.pipe(res);
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-ZTZA4UWZ.js";
13
13
  import {
14
14
  normalizeErrorMessage
15
- } from "./chunk-KNU5COPB.js";
15
+ } from "./chunk-T2EUWCJE.js";
16
16
 
17
17
  // src/auth/paths.ts
18
18
  import { homedir } from "os";
@@ -44,8 +44,14 @@ function versionOf(name) {
44
44
  function installedOptionalPackageVersion(name, cacheDir = CACHE_DIR, cliUrl = import.meta.url) {
45
45
  if (pinnedPackageBesideCli(name, cliUrl)?.resolution === "entry") return OPTIONAL_PACKAGES[name];
46
46
  const dir = optionalPackageDir(name, cacheDir);
47
- if (!isInstalled(dir, name)) return null;
48
- return JSON.parse(readFileSync(manifestPath(dir, name), "utf-8")).version;
47
+ try {
48
+ const manifest = JSON.parse(readFileSync(manifestPath(dir, name), "utf-8"));
49
+ if (typeof manifest !== "object" || manifest === null || !("version" in manifest)) return null;
50
+ const version = manifest.version;
51
+ return typeof version === "string" && version.length > 0 ? version : null;
52
+ } catch {
53
+ return null;
54
+ }
49
55
  }
50
56
  function loadInstalledOptionalPackage(name, deps = defaultDeps) {
51
57
  return loadPresent(name, deps);
@@ -12,6 +12,9 @@ import {
12
12
  formatAudioGain,
13
13
  isAudibleVideoElement
14
14
  } from "./chunk-X7HBSTCZ.js";
15
+ import {
16
+ decodeAuthoredAttribute
17
+ } from "./chunk-2MCXIY4B.js";
15
18
  import {
16
19
  findFfBinary
17
20
  } from "./chunk-VAS6HQX3.js";
@@ -21,7 +24,7 @@ import {
21
24
  readMediaOffsetSeconds
22
25
  } from "./chunk-BSQ7XANM.js";
23
26
 
24
- // ../studio-server/dist/chunk-ERQWOZ7E.js
27
+ // ../studio-server/dist/chunk-QZWVJKLI.js
25
28
  import { execFile } from "child_process";
26
29
  import { isAbsolute, relative, resolve } from "path";
27
30
  import { promisify } from "util";
@@ -55,7 +58,14 @@ function attributeFromMatch(match, absoluteOffset) {
55
58
  const whole = match[0];
56
59
  const localValueStart = attributeValueStart(whole);
57
60
  const valueStart = absoluteOffset + match.index + localValueStart;
58
- return [name, { value, valueStart, valueEnd: valueStart + value.length }];
61
+ return [
62
+ name,
63
+ {
64
+ value: decodeAuthoredAttribute(value),
65
+ valueStart,
66
+ valueEnd: valueStart + value.length
67
+ }
68
+ ];
59
69
  }
60
70
  function matchedAttributeValue(match) {
61
71
  return match[2] ?? match[3] ?? match[4];
@@ -34,10 +34,10 @@ import {
34
34
  readConfig,
35
35
  telemetryRuntimeOverride,
36
36
  writeConfig
37
- } from "./chunk-XUXGIA7H.js";
37
+ } from "./chunk-6NLPPKBO.js";
38
38
  import {
39
39
  VERSION
40
- } from "./chunk-F6DNM676.js";
40
+ } from "./chunk-3FV5BVWS.js";
41
41
 
42
42
  // src/telemetry/transport.ts
43
43
  import { spawn } from "child_process";