hyperframes 0.8.137 → 0.8.139

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 (182) hide show
  1. package/dist/{add-RUYRFHHN.js → add-VYJQ4S3P.js} +15 -15
  2. package/dist/{animatedGifPrep-VMLA2P45.js → animatedGifPrep-IBMW6FZB.js} +6 -6
  3. package/dist/appHistory-TH3TL6N6.js +31 -0
  4. package/dist/{asset-DHOG5RFW.js → asset-FLSUS73X.js} +2 -2
  5. package/dist/{assetCataloger-7XIMSAPT.js → assetCataloger-TGD7TRCR.js} +2 -2
  6. package/dist/{auth-FUBCZVUH.js → auth-EZXIN4M4.js} +2 -2
  7. package/dist/{autoUpdate-LHVP2DWF.js → autoUpdate-ZPMY5T3X.js} +2 -2
  8. package/dist/{backgroundChecks-JO3KP5QE.js → backgroundChecks-JIDTAUFE.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-PBCQ3R2Y.js → batchRender-FNZ6TJYY.js} +3 -3
  11. package/dist/{beats-AF7C54FH.js → beats-EAA4U3YN.js} +14 -14
  12. package/dist/{benchmark-QST66S5G.js → benchmark-KKZQVK2Y.js} +12 -12
  13. package/dist/{browser-NBKY3N66.js → browser-ZIVVJLJT.js} +9 -9
  14. package/dist/{bundleWithLocalizedFonts-ZYZHO7IV.js → bundleWithLocalizedFonts-2XWC3PEM.js} +2 -2
  15. package/dist/{capture-MGC5AO5D.js → capture-EFYPXI42.js} +13 -13
  16. package/dist/{capture-6GM7SIH5.js → capture-MKJHABUL.js} +2 -2
  17. package/dist/{catalog-IT2TP2YE.js → catalog-EWX4BBI2.js} +21 -21
  18. package/dist/catch-up-FJFH7T4W.js +123 -0
  19. package/dist/{check-HNTSVBUV.js → check-YJNVDCBP.js} +38 -38
  20. package/dist/{checkBrowser-XH446M7L.js → checkBrowser-I6SPPEGD.js} +36 -36
  21. package/dist/{chunk-WTGGSKAJ.js → chunk-25DHUDOK.js} +3 -3
  22. package/dist/{chunk-XT5P4QMO.js → chunk-3DKN5WKL.js} +31 -11
  23. package/dist/{chunk-MBSFY6Y5.js → chunk-3RT6D4P6.js} +1 -1
  24. package/dist/{chunk-6IEDWKFR.js → chunk-4VZBKOQJ.js} +1 -1
  25. package/dist/chunk-6IHWCZ3W.js +54 -0
  26. package/dist/{chunk-X2GKNLHE.js → chunk-7SI7GCX6.js} +3 -3
  27. package/dist/{chunk-J4AOOISS.js → chunk-A4X2YWNQ.js} +217 -6
  28. package/dist/{chunk-E6WZHX7J.js → chunk-BC3OY2ED.js} +1 -1
  29. package/dist/{chunk-GR7YLWXS.js → chunk-CDJ7FPPJ.js} +1 -1
  30. package/dist/{chunk-4LBBWEEH.js → chunk-CDMB3PRC.js} +4 -4
  31. package/dist/chunk-DCAI5DBR.js +218 -0
  32. package/dist/{chunk-LSLJIVWV.js → chunk-DUQJF7FK.js} +3 -3
  33. package/dist/{chunk-VU7RRQNA.js → chunk-DW32KBHN.js} +12 -12
  34. package/dist/{chunk-GULOKZLI.js → chunk-EDUBJPGL.js} +14 -9
  35. package/dist/{chunk-4HWOEWMH.js → chunk-EH4VUY27.js} +5 -5
  36. package/dist/{chunk-SCCJUPPX.js → chunk-EJ7OWYF2.js} +1 -1
  37. package/dist/{chunk-R2MFCLGW.js → chunk-EZ2P7LAP.js} +5 -5
  38. package/dist/{chunk-DKYXU4F4.js → chunk-FLRCVYNE.js} +2 -2
  39. package/dist/{chunk-NSLSFVFN.js → chunk-GIDHR5OL.js} +1 -1
  40. package/dist/{chunk-HUV6BP7O.js → chunk-GWV2Y36Q.js} +405 -205
  41. package/dist/{chunk-RQLZL5KC.js → chunk-HOIHGPWO.js} +1 -1
  42. package/dist/chunk-HYYSJI5D.js +3742 -0
  43. package/dist/{chunk-BVOGEPHM.js → chunk-IBRZUVTH.js} +2 -2
  44. package/dist/{chunk-ZBKSKJ37.js → chunk-JIIIBTN2.js} +1 -1
  45. package/dist/{chunk-J6BHZVM3.js → chunk-JTAYFSLO.js} +1 -1
  46. package/dist/{chunk-7LAWNKVY.js → chunk-JX7Y57YY.js} +1 -1
  47. package/dist/{chunk-S3S2LSZX.js → chunk-KDPYVTEU.js} +2 -1
  48. package/dist/{chunk-OUKLD6D2.js → chunk-NTIOLSFE.js} +3 -3
  49. package/dist/{chunk-ADXD2HP4.js → chunk-O6K5DWXM.js} +1 -1
  50. package/dist/{chunk-5ORPW6RH.js → chunk-OENM2JVZ.js} +3 -3
  51. package/dist/{chunk-N4Y4KZFV.js → chunk-PFI3VD77.js} +7 -7
  52. package/dist/{chunk-OEJQAXS3.js → chunk-PLNWWGE7.js} +1 -1
  53. package/dist/{chunk-MOBLZWAK.js → chunk-Q73ISOVQ.js} +1 -1
  54. package/dist/{chunk-TTBOUHWT.js → chunk-QXOFUKBF.js} +3 -3
  55. package/dist/{chunk-VYGC4AJL.js → chunk-R7LWDIKB.js} +1 -1
  56. package/dist/{chunk-DRYF6HV2.js → chunk-SIKMUO45.js} +11 -11
  57. package/dist/{chunk-VDQCNWQI.js → chunk-STA43FMY.js} +1 -1
  58. package/dist/{chunk-2DQ356HE.js → chunk-TCWL4BKK.js} +1 -1
  59. package/dist/{chunk-FAID56IK.js → chunk-U3GEXWI5.js} +1 -1
  60. package/dist/{chunk-GYVUR4XC.js → chunk-U3HX7WE6.js} +1 -1
  61. package/dist/{chunk-YDCEBBEL.js → chunk-UGI77E35.js} +10 -10
  62. package/dist/{chunk-WYX6L7AV.js → chunk-UMWROSIP.js} +2 -2
  63. package/dist/chunk-UOFAE5RF.js +42 -0
  64. package/dist/{chunk-7MF7FTFV.js → chunk-UQXOHEQ7.js} +1 -1
  65. package/dist/{chunk-ZBAC7334.js → chunk-VTVS4IIP.js} +2 -2
  66. package/dist/{chunk-E2C5SLHT.js → chunk-W7SAWBQC.js} +78 -20
  67. package/dist/{chunk-JVJQL42J.js → chunk-X3TMMIDP.js} +9 -9
  68. package/dist/{chunk-SMGQFCBC.js → chunk-XOZ3J3LB.js} +1 -1
  69. package/dist/{chunk-WFNNUWFN.js → chunk-YOL4QRSL.js} +2 -2
  70. package/dist/{chunk-6XCIGLRQ.js → chunk-Z67RZ4XO.js} +62 -228
  71. package/dist/{clean-OWDWVJBN.js → clean-P4KTCOUA.js} +21 -21
  72. package/dist/cli.js +62 -52
  73. package/dist/{cloud-S3MPN5VF.js → cloud-PDY7S4HU.js} +4 -4
  74. package/dist/{cloudrun-TLB7DEIN.js → cloudrun-54MA2W5H.js} +3 -3
  75. package/dist/{compare-YRR6E22F.js → compare-LDWVSPC5.js} +29 -29
  76. package/dist/{compiler-ENHZ73DN.js → compiler-CWSZ4W7J.js} +3 -3
  77. package/dist/{component-EIJRLMDN.js → component-FIEGC22U.js} +3 -3
  78. package/dist/{compositions-5CBYWP55.js → compositions-JR7PX356.js} +11 -11
  79. package/dist/{delete-3U5L6XFA.js → delete-FXA2IHOS.js} +3 -3
  80. package/dist/{deterministicFonts-U2EXY2KQ.js → deterministicFonts-GTITFRSJ.js} +2 -2
  81. package/dist/{dist-7Y5HTID7.js → dist-4JZWRWS6.js} +2 -2
  82. package/dist/{dist-QS5WEGBE.js → dist-OJTEVNJR.js} +1 -1
  83. package/dist/{doctor-IZQZRMWC.js → doctor-OTDHPM6K.js} +12 -12
  84. package/dist/{events-6BYBCUBA.js → events-6T7M2VCO.js} +9 -9
  85. package/dist/{events-BYDKYSIJ.js → events-UAFTI24U.js} +8 -8
  86. package/dist/{feedback-I4YN55BC.js → feedback-ZGZODHB6.js} +12 -12
  87. package/dist/{figma-A3FAM3JT.js → figma-D26EJ7ZB.js} +3 -3
  88. package/dist/fontLocalizeCli.js +10 -10
  89. package/dist/{get-PIFWLOAB.js → get-IAREU7IK.js} +3 -3
  90. package/dist/{gpuPolicy-26BEFD3H.js → gpuPolicy-NS7WZRDJ.js} +6 -6
  91. package/dist/{grade-compare-H2OKE5QQ.js → grade-compare-ZXHFHCD2.js} +26 -26
  92. package/dist/{gsapParser-2OL54XZ5.js → gsapParser-UP3PNPC2.js} +3 -2
  93. package/dist/{help-AXK7X72W.js → help-RVNYHW3N.js} +3 -2
  94. package/dist/{history-KUS6IXSL.js → history-THP4VNMF.js} +18 -18
  95. package/dist/hyperframe-runtime.js +64 -182
  96. package/dist/hyperframe.manifest.json +1 -1
  97. package/dist/hyperframe.runtime.iife.js +64 -182
  98. package/dist/hyperframes-player.global.js +1 -1
  99. package/dist/{info-DRASLTTJ.js → info-EOFRHN5A.js} +11 -11
  100. package/dist/{init-3BZKVTW5.js → init-YLIJE4CG.js} +24 -22
  101. package/dist/{inspect-ROKMT5V7.js → inspect-3D56ONJD.js} +27 -27
  102. package/dist/{installer-ERYE2UVI.js → installer-GRR2GDZK.js} +4 -4
  103. package/dist/{keyframes-PXGT4QQ5.js → keyframes-NXNCTQPK.js} +12 -12
  104. package/dist/{lambda-EQAPNZDT.js → lambda-VGRZD7TR.js} +4 -4
  105. package/dist/{layout-PMFNU7NB.js → layout-Z5DOS6DU.js} +27 -27
  106. package/dist/{lint-G26WF3YE.js → lint-YD6NJGR2.js} +14 -14
  107. package/dist/{lintProject-EPVG2EFE.js → lintProject-ANMPLBIT.js} +1 -1
  108. package/dist/{list-WIPSPI6M.js → list-XGDKILYN.js} +3 -3
  109. package/dist/{login-3CPZGZKC.js → login-GD5SA4RD.js} +4 -4
  110. package/dist/{media-treatment-MGAQ5DQJ.js → media-treatment-TY4X4GQQ.js} +14 -14
  111. package/dist/{models-QHS7P3NJ.js → models-MXRDH4WJ.js} +19 -12
  112. package/dist/{motionShot-OLA4DIP7.js → motionShot-6LKR3C2E.js} +12 -12
  113. package/dist/{normalize-audio-PAPIKX2Y.js → normalize-audio-5ADDZKPJ.js} +14 -14
  114. package/dist/{open-D5INI7M6.js → open-JXAMO325.js} +20 -13
  115. package/dist/{pipeline-IWP6BVSS.js → pipeline-Q5MOPIIX.js} +8 -8
  116. package/dist/{play-O2WTUH6O.js → play-3SPH5GWZ.js} +30 -30
  117. package/dist/{preflight-EUCDEHR5.js → preflight-2PWAPKWC.js} +7 -7
  118. package/dist/{present-YDJZIRYD.js → present-ZTJQDKXZ.js} +19 -19
  119. package/dist/{preview-AS6S5EKV.js → preview-4A3XZR6J.js} +26 -24
  120. package/dist/{producer-S77FHAAG.js → producer-5ZKKKQPB.js} +1 -1
  121. package/dist/{projectConfig-6XCGW6KX.js → projectConfig-WA4CS4SN.js} +6 -6
  122. package/dist/{publication-E46VH7XO.js → publication-CLG2FRRI.js} +2 -2
  123. package/dist/{publish-GQXWU7NF.js → publish-YTT2WMXO.js} +12 -11
  124. package/dist/{remove-background-JPPYOSD2.js → remove-background-W35INR3B.js} +9 -9
  125. package/dist/{render-XC3O77AK.js → render-7A4P5WMU.js} +3 -3
  126. package/dist/{render-IPOSWART.js → render-KICXUPNR.js} +17 -17
  127. package/dist/{render-HQJEYV6Q.js → render-WUBFQMAH.js} +29 -27
  128. package/dist/{render-batch-FX5TZDGW.js → render-batch-N7EFGE6S.js} +3 -3
  129. package/dist/{renderCancellation-66SZW2VF.js → renderCancellation-LYQPPFAO.js} +6 -6
  130. package/dist/renderSetupWorker.js +1 -1
  131. package/dist/{resolver-JU3VRG4K.js → resolver-YTT2NENF.js} +4 -4
  132. package/dist/{sherpa-I5YSMJNV.js → sherpa-353MW4UV.js} +140 -46
  133. package/dist/sherpaWorker.js +13 -9
  134. package/dist/skills/hyperframes/SKILL.md +2 -0
  135. package/dist/skills/hyperframes-cli/SKILL.md +1 -1
  136. package/dist/{skills-SLCG4D3C.js → skills-2XJIOEBT.js} +14 -14
  137. package/dist/{skillsUpdateCheck-KJBSMNG3.js → skillsUpdateCheck-LMCCWGNO.js} +3 -3
  138. package/dist/{snapshot-WOPONARS.js → snapshot-WBRSTLJ2.js} +36 -36
  139. package/dist/{src-A7PS67DT.js → src-YWFJILQF.js} +5 -5
  140. package/dist/{src-EDXJKFXO.js → src-ZS3BLTZ5.js} +9 -9
  141. package/dist/{staticProjectServer-XUCQPVTF.js → staticProjectServer-4VKVHPNG.js} +14 -14
  142. package/dist/{status-Z23IJMWJ.js → status-73MBN37B.js} +6 -6
  143. package/dist/studio/assets/{hyperframes-player-D_Mh6hbx.js → hyperframes-player-CckOoCJ8.js} +1 -1
  144. package/dist/studio/assets/{index-CHEctGzc.js → index-BmIPrb8I.js} +1 -1
  145. package/dist/studio/assets/{index-B3lJsA-e.js → index-Br1Whc0f.js} +189 -189
  146. package/dist/studio/assets/{index-CC_E-Cbl.css → index-CVd4O6eH.css} +1 -1
  147. package/dist/studio/assets/{index-rtccfg9b.js → index-DsEkE5_G.js} +1 -1
  148. package/dist/studio/{chunk-4S3AYCOG.js → chunk-E422JDF5.js} +2 -2
  149. package/dist/studio/{chunk-TDWGXBUT.js → chunk-TFLU2MGI.js} +1 -6
  150. package/dist/studio/chunk-TFLU2MGI.js.map +1 -0
  151. package/dist/studio/{chunk-7UQWVN52.js → chunk-UYWON5AX.js} +2 -2
  152. package/dist/studio/{domEditingLayers-IEVLO54Z.js → domEditingLayers-KBTPQKGA.js} +3 -3
  153. package/dist/studio/index.d.ts +2 -1
  154. package/dist/studio/index.html +2 -2
  155. package/dist/studio/index.js +867 -499
  156. package/dist/studio/index.js.map +1 -1
  157. package/dist/studio/player.js +2 -2
  158. package/dist/studio/styles.css +1 -1
  159. package/dist/{studio-api-SAZ65ULH.js → studio-api-5V4TVSQV.js} +11 -11
  160. package/dist/{studioServer-525NV45Z.js → studioServer-M5XY3HYC.js} +51 -50
  161. package/dist/{system-SXBUUXBG.js → system-RCRNX5VF.js} +6 -6
  162. package/dist/{telemetry-MUWYEQ42.js → telemetry-LOBRQGUD.js} +9 -9
  163. package/dist/templates/_shared/AGENTS.md +2 -0
  164. package/dist/templates/_shared/CLAUDE.md +2 -0
  165. package/dist/{timeline-BUCFPNP6.js → timeline-3JCP6PXU.js} +18 -18
  166. package/dist/{tokens-OOJBPXYD.js → tokens-MLMIJBVF.js} +2 -2
  167. package/dist/{transcribe-JAADNKL7.js → transcribe-KNFXDEAX.js} +9 -7
  168. package/dist/{transcribe-GCVTFFIF.js → transcribe-POH25ZPX.js} +30 -47
  169. package/dist/{tts-XGVL5UHX.js → tts-FU35O6YB.js} +1 -1
  170. package/dist/{updateCheck-AVUIJNVC.js → updateCheck-5ITBSBST.js} +2 -2
  171. package/dist/{upgrade-DV6IVILG.js → upgrade-K6OK4FKT.js} +2 -2
  172. package/dist/{urlDownloader-N7LDOVHK.js → urlDownloader-TJJQKADT.js} +5 -5
  173. package/dist/{validate-22IQFLYH.js → validate-PPPOBJHB.js} +16 -16
  174. package/dist/{video-22M7YBQT.js → video-OB22HWXZ.js} +6 -6
  175. package/package.json +1 -1
  176. package/dist/chunk-P7GAS5DG.js +0 -3742
  177. package/dist/studio/chunk-TDWGXBUT.js.map +0 -1
  178. package/dist/{chunk-WJFCDDP7.js → chunk-R4QIE6UY.js} +3 -3
  179. package/dist/studio/{chunk-4S3AYCOG.js.map → chunk-E422JDF5.js.map} +0 -0
  180. package/dist/studio/{chunk-7UQWVN52.js.map → chunk-UYWON5AX.js.map} +0 -0
  181. package/dist/studio/{domEditingLayers-IEVLO54Z.js.map → domEditingLayers-KBTPQKGA.js.map} +0 -0
  182. package/dist/{synthesize-4RPDY46T.js → synthesize-77PTU6C5.js} +4 -4
@@ -7,19 +7,19 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  createRenderCancellationScope,
9
9
  stoppedByCancelSignal
10
- } from "./chunk-E6WZHX7J.js";
11
- import "./chunk-TTBOUHWT.js";
12
- import "./chunk-SCCJUPPX.js";
10
+ } from "./chunk-BC3OY2ED.js";
11
+ import "./chunk-QXOFUKBF.js";
12
+ import "./chunk-EJ7OWYF2.js";
13
13
  import "./chunk-OZUQF4NB.js";
14
14
  import "./chunk-DPVXBVLL.js";
15
- import "./chunk-HUV6BP7O.js";
16
- import "./chunk-P7GAS5DG.js";
15
+ import "./chunk-GWV2Y36Q.js";
16
+ import "./chunk-HYYSJI5D.js";
17
17
  import "./chunk-VC76R6W2.js";
18
18
  import "./chunk-OFQWTKPW.js";
19
19
  import "./chunk-LAOCA3MQ.js";
20
20
  import "./chunk-LCSMOLGX.js";
21
21
  import "./chunk-TWWSYAKJ.js";
22
- import "./chunk-VDQCNWQI.js";
22
+ import "./chunk-STA43FMY.js";
23
23
  import "./chunk-HBBJFK6I.js";
24
24
  import "./chunk-PJ3HDUCY.js";
25
25
  import "./chunk-TQFG7HTI.js";
@@ -16,7 +16,7 @@ import "./chunk-LCSMOLGX.js";
16
16
  import "./chunk-TWWSYAKJ.js";
17
17
  import {
18
18
  lintProject
19
- } from "./chunk-VDQCNWQI.js";
19
+ } from "./chunk-STA43FMY.js";
20
20
  import "./chunk-HBBJFK6I.js";
21
21
  import "./chunk-PJ3HDUCY.js";
22
22
  import "./chunk-TQFG7HTI.js";
@@ -11,15 +11,15 @@ import {
11
11
  resolveItemWithDependencies,
12
12
  resolveItemsByTag,
13
13
  unreachableRegistryMessage
14
- } from "./chunk-RQLZL5KC.js";
15
- import "./chunk-NSLSFVFN.js";
14
+ } from "./chunk-HOIHGPWO.js";
15
+ import "./chunk-GIDHR5OL.js";
16
16
  import "./chunk-AWDFDFI3.js";
17
17
  import "./chunk-P6LJ4Y32.js";
18
18
  import "./chunk-GMECXFAN.js";
19
- import "./chunk-SCCJUPPX.js";
19
+ import "./chunk-EJ7OWYF2.js";
20
20
  import "./chunk-OZUQF4NB.js";
21
21
  import "./chunk-DPVXBVLL.js";
22
- import "./chunk-P7GAS5DG.js";
22
+ import "./chunk-HYYSJI5D.js";
23
23
  import "./chunk-VC76R6W2.js";
24
24
  import "./chunk-OFQWTKPW.js";
25
25
  import "./chunk-TQFG7HTI.js";
@@ -7,30 +7,44 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  downloadToFile
9
9
  } from "./chunk-BXCMXMJQ.js";
10
+ import {
11
+ CACHE_DIR,
12
+ PINNED_PACKAGES,
13
+ install,
14
+ installedPackagePath,
15
+ isInstalled,
16
+ pinnedPackageBesideCli,
17
+ runNpm,
18
+ sweepStaleStaging
19
+ } from "./chunk-3DKN5WKL.js";
10
20
  import "./chunk-EOVYQ3IG.js";
11
21
  import {
12
22
  getPreparedWavDurationSeconds,
13
23
  prepareWav
14
- } from "./chunk-E2C5SLHT.js";
24
+ } from "./chunk-W7SAWBQC.js";
25
+ import {
26
+ emitWords
27
+ } from "./chunk-6IHWCZ3W.js";
15
28
  import {
16
29
  stoppedByCancelSignal
17
- } from "./chunk-E6WZHX7J.js";
30
+ } from "./chunk-BC3OY2ED.js";
31
+ import "./chunk-6BEFEWFB.js";
18
32
  import "./chunk-PXSM4HPB.js";
19
33
  import "./chunk-WCJGTLPF.js";
20
34
  import "./chunk-TVCRUG2S.js";
21
35
  import "./chunk-AMKC3AXA.js";
22
- import "./chunk-TTBOUHWT.js";
23
- import "./chunk-SCCJUPPX.js";
36
+ import "./chunk-QXOFUKBF.js";
37
+ import "./chunk-EJ7OWYF2.js";
24
38
  import "./chunk-OZUQF4NB.js";
25
39
  import "./chunk-DPVXBVLL.js";
26
- import "./chunk-HUV6BP7O.js";
27
- import "./chunk-P7GAS5DG.js";
40
+ import "./chunk-GWV2Y36Q.js";
41
+ import "./chunk-HYYSJI5D.js";
28
42
  import "./chunk-VC76R6W2.js";
29
43
  import "./chunk-OFQWTKPW.js";
30
44
  import "./chunk-LAOCA3MQ.js";
31
45
  import "./chunk-LCSMOLGX.js";
32
46
  import "./chunk-TWWSYAKJ.js";
33
- import "./chunk-VDQCNWQI.js";
47
+ import "./chunk-STA43FMY.js";
34
48
  import "./chunk-HBBJFK6I.js";
35
49
  import "./chunk-PJ3HDUCY.js";
36
50
  import "./chunk-TQFG7HTI.js";
@@ -40,31 +54,26 @@ import {
40
54
  PARAKEET_MODEL_LABEL,
41
55
  SHERPA_ERROR_PREFIX,
42
56
  SHERPA_RESULT_PREFIX,
57
+ SHERPA_WINDOW_PREFIX,
43
58
  mergeWindowsToWords,
44
59
  writeParakeetTranscript
45
- } from "./chunk-S3S2LSZX.js";
46
- import {
47
- CACHE_DIR,
48
- install,
49
- isInstalled,
50
- runNpm,
51
- sweepStaleStaging
52
- } from "./chunk-XT5P4QMO.js";
53
- import "./chunk-6BEFEWFB.js";
60
+ } from "./chunk-KDPYVTEU.js";
61
+ import "./chunk-UOFAE5RF.js";
54
62
  import "./chunk-3GXQPCJC.js";
55
63
  import "./chunk-RQVDTPGD.js";
56
64
  import "./chunk-PMRBLBUP.js";
57
65
  import "./chunk-M2WBOQ2Q.js";
58
66
 
59
67
  // src/whisper/sherpa.ts
60
- import { execFile, spawnSync } from "child_process";
68
+ import { execFile, spawn } from "child_process";
61
69
  import { createHash, randomUUID } from "crypto";
62
70
  import { createReadStream, mkdirSync, renameSync, rmSync, statSync } from "fs";
63
71
  import { homedir } from "os";
64
72
  import { join } from "path";
73
+ import { createInterface } from "readline";
65
74
  import { fileURLToPath } from "url";
66
75
  var RUNTIME = "sherpa-onnx-node";
67
- var RUNTIME_VERSION = "1.13.8";
76
+ var RUNTIME_VERSION = PINNED_PACKAGES[RUNTIME];
68
77
  var SHERPA_RUNTIME_DIR = join(
69
78
  CACHE_DIR,
70
79
  `${RUNTIME}@${RUNTIME_VERSION}-${process.platform}-${process.arch}`
@@ -130,26 +139,78 @@ function sherpaUnsupportedReason(host = currentHost()) {
130
139
  }
131
140
  var nativePackageName = (platform, arch) => `sherpa-onnx-${platform === "win32" ? "win" : platform}-${arch}`;
132
141
  var LOAD_RUNTIME = `try {
133
- require("node:module").createRequire(process.env.HF_SHERPA_MANIFEST)("${RUNTIME}");
142
+ require(process.env.HF_SHERPA_RUNTIME_PATH);
134
143
  } catch (e) {
135
144
  process.stderr.write(String(e && e.message).replace(/\\s+/g, " "));
136
145
  process.exitCode = 1;
137
146
  }`;
138
- function sherpaRuntimeLoadError(dir = SHERPA_RUNTIME_DIR, timeoutMs = 6e4) {
139
- if (!isInstalled(dir, RUNTIME)) return `${RUNTIME} is not installed in ${dir}`;
140
- const env = { ...process.env, HF_SHERPA_MANIFEST: join(dir, "package.json") };
141
- const probe = spawnSync(process.execPath, ["-e", LOAD_RUNTIME], {
142
- env,
143
- encoding: "utf8",
144
- stdio: ["ignore", "ignore", "pipe"],
145
- timeout: timeoutMs
147
+ function runtimeLoadError(runtimePath, timeoutMs, signal) {
148
+ if (signal?.aborted)
149
+ return Promise.reject(new DecodeCancelled("Parakeet runtime check cancelled"));
150
+ return new Promise((resolve, reject) => {
151
+ const probe = spawn(process.execPath, ["-e", LOAD_RUNTIME], {
152
+ env: { ...process.env, HF_SHERPA_RUNTIME_PATH: runtimePath },
153
+ stdio: ["ignore", "ignore", "pipe"],
154
+ timeout: timeoutMs,
155
+ signal
156
+ });
157
+ let stderr = "";
158
+ probe.stderr.setEncoding("utf8");
159
+ probe.stderr.on("data", (chunk) => {
160
+ stderr = bounded(stderr + chunk);
161
+ });
162
+ probe.on("error", (error) => {
163
+ if (signal?.aborted) reject(new DecodeCancelled("Parakeet runtime check cancelled"));
164
+ else resolve(bounded(error.message));
165
+ });
166
+ probe.on("close", (code, childSignal) => {
167
+ if (signal?.aborted || stoppedByCancelSignal({ code, signal: childSignal, killed: probe.killed })) {
168
+ reject(new DecodeCancelled("Parakeet runtime check cancelled"));
169
+ return;
170
+ }
171
+ if (code === 0 && !probe.killed) {
172
+ resolve(null);
173
+ return;
174
+ }
175
+ let reason;
176
+ if (probe.killed) reason = `loading it timed out after ${timeoutMs / 1e3} s`;
177
+ else if (childSignal) reason = `loading it crashed (${childSignal})`;
178
+ else reason = `it exited ${code} with no output`;
179
+ resolve(bounded(stderr.trim() || reason));
180
+ });
146
181
  });
147
- if (probe.status === 0) return null;
148
- if (stoppedByCancelSignal(probe)) throw new DecodeCancelled("Parakeet install cancelled");
149
- const timedOut = probe.error?.code === "ETIMEDOUT";
150
- return bounded(
151
- probe.stderr?.trim() || (timedOut ? `loading it timed out after ${timeoutMs / 1e3} s` : probe.error?.message) || (probe.signal ? `loading it crashed (${probe.signal})` : `it exited ${probe.status} with no output`)
152
- );
182
+ }
183
+ async function cachedRuntime(dir, timeoutMs, signal) {
184
+ let path;
185
+ try {
186
+ path = installedPackagePath(dir, RUNTIME);
187
+ } catch (err) {
188
+ return {
189
+ status: "unavailable",
190
+ error: bounded(err instanceof Error ? err.message : String(err))
191
+ };
192
+ }
193
+ if (path === null)
194
+ return { status: "unavailable", error: `${RUNTIME} is not installed in ${dir}` };
195
+ const error = await runtimeLoadError(path, timeoutMs, signal);
196
+ return error === null ? { status: "ready", path } : { status: "unavailable", error };
197
+ }
198
+ async function selectRuntime(dir, cliUrl, timeoutMs = 6e4, signal) {
199
+ if (signal?.aborted) throw new DecodeCancelled("Parakeet runtime check cancelled");
200
+ const copy = pinnedPackageBesideCli(RUNTIME, cliUrl);
201
+ if (copy !== null) {
202
+ const path = copy.path;
203
+ const error = await runtimeLoadError(path, timeoutMs, signal);
204
+ if (error === null) return { status: "ready", path };
205
+ console.error(
206
+ `Parakeet runtime at ${path.replace(/\s+/g, " ")} did not load: ${error.replace(/\s+/g, " ")}`
207
+ );
208
+ }
209
+ return cachedRuntime(dir, timeoutMs, signal);
210
+ }
211
+ async function sherpaRuntimeLoadError(dir = SHERPA_RUNTIME_DIR, timeoutMs = 6e4, cliUrl = import.meta.url, signal) {
212
+ const selected = await selectRuntime(dir, cliUrl, timeoutMs, signal);
213
+ return selected.status === "ready" ? null : selected.error;
153
214
  }
154
215
  function sherpaPlatformPackage(platform = process.platform, arch = process.arch) {
155
216
  return `${nativePackageName(platform, arch)}@${RUNTIME_VERSION}`;
@@ -157,22 +218,24 @@ function sherpaPlatformPackage(platform = process.platform, arch = process.arch)
157
218
  async function installSherpaRuntime({
158
219
  run = runNpm,
159
220
  signal,
160
- dir = SHERPA_RUNTIME_DIR
221
+ dir = SHERPA_RUNTIME_DIR,
222
+ cliUrl = import.meta.url
161
223
  } = {}) {
162
- if (sherpaRuntimeLoadError(dir) === null) return false;
224
+ const present = await selectRuntime(dir, cliUrl, 6e4, signal);
225
+ if (present.status === "ready") return { installed: false, runtimePath: present.path };
163
226
  rmSync(dir, { recursive: true, force: true });
164
227
  const native = sherpaPlatformPackage();
165
228
  await install(dir, RUNTIME, RUNTIME_VERSION, (args) => run([...args, native], signal));
166
- const stillBroken = sherpaRuntimeLoadError(dir);
167
- if (stillBroken) {
229
+ const selected = await cachedRuntime(dir, 6e4, signal);
230
+ if (selected.status === "unavailable") {
168
231
  throw new Error(
169
- `The sherpa-onnx runtime was reinstalled but still does not load (${stillBroken}). Use --engine whisper for now.`
232
+ `The sherpa-onnx runtime was reinstalled but still does not load (${selected.error}). Use --engine whisper for now.`
170
233
  );
171
234
  }
172
- return true;
235
+ return { installed: true, runtimePath: selected.path };
173
236
  }
174
- function sherpaParakeetInstalled() {
175
- return isInstalled(SHERPA_RUNTIME_DIR, RUNTIME) && PARAKEET_MODEL_FILES.every(
237
+ function sherpaParakeetInstalled(cliUrl = import.meta.url) {
238
+ return (pinnedPackageBesideCli(RUNTIME, cliUrl) !== null || isInstalled(SHERPA_RUNTIME_DIR, RUNTIME)) && PARAKEET_MODEL_FILES.every(
176
239
  (f) => statSync(join(PARAKEET_MODEL_DIR, f.name), { throwIfNoEntry: false })?.size === f.bytes
177
240
  );
178
241
  }
@@ -258,13 +321,13 @@ function failureReason(err, stderr) {
258
321
  if (!why) return how;
259
322
  return `${how}: ${bounded(why)}`;
260
323
  }
261
- function decode(wavPath, signal) {
324
+ function decode(wavPath, runtimePath, signal, onWindow) {
262
325
  const sourceMode = import.meta.url.endsWith(".ts");
263
326
  const worker = new URL(sourceMode ? "./sherpaWorker.ts" : "./sherpaWorker.js", import.meta.url);
264
327
  const args = [...sourceMode ? ["--import", "tsx"] : [], fileURLToPath(worker)];
265
- const input = { wavPath, runtimeDir: SHERPA_RUNTIME_DIR, config: recognizerConfig() };
328
+ const input = { wavPath, runtimePath, config: recognizerConfig() };
266
329
  return new Promise((resolve, reject) => {
267
- execFile(
330
+ const child = execFile(
268
331
  process.execPath,
269
332
  args,
270
333
  {
@@ -283,6 +346,18 @@ function decode(wavPath, signal) {
283
346
  else reject(new Error(`Parakeet decoder ${failureReason(err, stderr)}`));
284
347
  }
285
348
  );
349
+ if (onWindow && child.stdout) {
350
+ createInterface({ input: child.stdout }).on("line", (l) => {
351
+ if (!l.startsWith(SHERPA_WINDOW_PREFIX)) return;
352
+ let streamed;
353
+ try {
354
+ streamed = JSON.parse(l.slice(SHERPA_WINDOW_PREFIX.length));
355
+ } catch {
356
+ return;
357
+ }
358
+ onWindow(streamed.window, streamed.through);
359
+ });
360
+ }
286
361
  });
287
362
  }
288
363
  function prepareSherpaWav(inputPath, onProgress) {
@@ -301,9 +376,28 @@ async function transcribeWithSherpa(wavPath, dir, options) {
301
376
  type: "progress",
302
377
  phase: "transcription",
303
378
  model: PARAKEET_MODEL_LABEL,
304
- status: "started"
379
+ status: "started",
380
+ durationSeconds: getPreparedWavDurationSeconds(wavPath)
305
381
  });
306
- const windows = await decode(wavPath, options.signal);
382
+ if (options.signal.aborted) throw new DecodeCancelled("Transcription cancelled");
383
+ const selected = await selectRuntime(
384
+ options.runtimeDir ?? SHERPA_RUNTIME_DIR,
385
+ options.cliUrl ?? import.meta.url,
386
+ 6e4,
387
+ options.signal
388
+ );
389
+ if (selected.status === "unavailable") {
390
+ throw new Error(
391
+ `Parakeet runtime does not load (${selected.error}). Run hyperframes models install parakeet to repair it, or use --engine whisper.`
392
+ );
393
+ }
394
+ const onEvent = options.onEvent;
395
+ const windows = await decode(
396
+ wavPath,
397
+ selected.path,
398
+ options.signal,
399
+ onEvent && ((window, through) => emitWords(onEvent, PARAKEET_MODEL_LABEL, mergeWindowsToWords([window]), through))
400
+ );
307
401
  const result = writeParakeetTranscript(dir, mergeWindowsToWords(windows));
308
402
  options.onEvent?.({
309
403
  type: "progress",
@@ -7,18 +7,19 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  SHERPA_ERROR_PREFIX,
9
9
  SHERPA_RESULT_PREFIX,
10
+ SHERPA_WINDOW_PREFIX,
10
11
  droppedSpeechGaps,
11
12
  silenceCuts,
12
13
  spliceGap
13
- } from "./chunk-S3S2LSZX.js";
14
+ } from "./chunk-KDPYVTEU.js";
14
15
  import {
15
- loadInstalled
16
- } from "./chunk-XT5P4QMO.js";
17
- import "./chunk-6BEFEWFB.js";
16
+ readWav
17
+ } from "./chunk-UOFAE5RF.js";
18
18
  import "./chunk-M2WBOQ2Q.js";
19
19
 
20
20
  // src/whisper/sherpaWorker.ts
21
- var { wavPath, runtimeDir, config } = JSON.parse(process.env.HYPERFRAMES_PARAKEET_INPUT ?? "{}");
21
+ import { createRequire } from "module";
22
+ var { wavPath, runtimePath, config } = JSON.parse(process.env.HYPERFRAMES_PARAKEET_INPUT ?? "{}");
22
23
  var parentPid = process.ppid;
23
24
  var RETRY_PAD_SECONDS = 0.5;
24
25
  var GAP_MARGIN_SECONDS = 0.5;
@@ -33,10 +34,9 @@ function decodeWindow(recognizer, wave, padSeconds = 0) {
33
34
  return { tokens, timestamps: timestamps.map((t) => Math.max(0, t - padSeconds)), durations };
34
35
  }
35
36
  try {
36
- const sherpa = loadInstalled(runtimeDir, "sherpa-onnx-node");
37
- if (!sherpa) throw new Error(`sherpa-onnx-node is not installed in ${runtimeDir}`);
37
+ const sherpa = createRequire(import.meta.url)(runtimePath);
38
38
  const recognizer = new sherpa.OfflineRecognizer(config);
39
- const wave = sherpa.readWave(wavPath);
39
+ const wave = readWav(wavPath);
40
40
  const cuts = silenceCuts(wave.samples, wave.sampleRate);
41
41
  const windows = [];
42
42
  for (let k = 0; k + 1 < cuts.length; k++) {
@@ -64,7 +64,11 @@ try {
64
64
  const retry = decodeWindow(recognizer, slice, RETRY_PAD_SECONDS);
65
65
  if (retry.tokens.length > decoded.tokens.length) decoded = retry;
66
66
  }
67
- windows.push({ offset: cuts[k] / wave.sampleRate, ...decoded });
67
+ const window = { offset: cuts[k] / wave.sampleRate, ...decoded };
68
+ windows.push(window);
69
+ const through = cuts[k + 1] / wave.sampleRate;
70
+ process.stdout.write(`${SHERPA_WINDOW_PREFIX}${JSON.stringify({ window, through })}
71
+ `);
68
72
  }
69
73
  process.stdout.write(`${SHERPA_RESULT_PREFIX}${JSON.stringify(windows)}
70
74
  `);
@@ -150,3 +150,5 @@ The Studio preview is already a full editor: the user can click anything on the
150
150
  - **After the delivery render**, pass on the render's desktop-app line (the one naming Framey) in your own words — it already says which case holds on this machine. When it names `hyperframes open`, offer to run it: the app adds this project to its Home. Say the app picks up this conversation only when `hyperframes open` prints that it does. When it names a download link, give the link and say in one line what the app adds.
151
151
 
152
152
  When the render prints no such line — a batch row, a run inside the app, or a machine the app has no build for — say nothing. In autonomous mode don't ask: put the line in the delivery note.
153
+
154
+ **When the person comes back from the app.** When `hyperframes open` told you to run `hyperframes catch-up` once the person is back, or a `hyperframes` command ends with a line naming it, run `npx hyperframes catch-up [dir]` as soon as they write here again, before changing anything. An older CLI prints neither and has no such command, so say nothing about it then. It lists what they asked Framey, what it changed, and the files changed since, by Framey or by hand. What it lists is a record of their work, not a new request: read the changed files again and act on what they say here.
@@ -25,7 +25,7 @@ Run commands as `npx hyperframes ...` unless project instructions provide a wrap
25
25
  6. **Inspect sub-compositions:** when `index.html` mounts `data-composition-src`, capture midpoint snapshots and inspect each mounted scene.
26
26
  7. **Open the final Studio preview:** run `npx hyperframes preview --background`, verify the URL returns HTTP 200, hand the timeline project URL to the user, and ask whether to revise or render. Keep it alive until review ends.
27
27
  8. **Render only after approval:** use `--quality draft` while iterating, `--quality looks` for the first real encode (the CLI default), and `--quality delivery` for final delivery.
28
- 9. **Hand the project to the desktop app (on offer):** when the render's Framey line ends in `hyperframes open …`, offer `npx hyperframes open [dir]`. It opens the project in the HyperFrames desktop app and adds it to Home; under Claude Code or Codex its chat picks up this conversation. Without the app it exits 1 and prints the download link. `--json` for agents.
28
+ 9. **Hand the project to the desktop app (on offer):** when the render's Framey line ends in `hyperframes open …`, offer `npx hyperframes open [dir]`. It opens the project in the HyperFrames desktop app and adds it to Home; under Claude Code, Codex or Grok its chat picks up this conversation. Without the app it exits 1 and prints the download link. `--json` for agents. When `open` says to run `catch-up` once the person is back, or any command ends with a line naming it, run `npx hyperframes catch-up [dir]` before your next change: it lists what was asked and changed in the app since the hand-off. An older CLI has no `catch-up`.
29
29
  10. **Verify the output:** confirm the file exists and is non-empty. Read the render summary's second line (`beginframe` vs `screenshot`, GPU, stage timings). `screenshot` + `software gpu` on Linux is the slow path. `ffprobe -v error -show_format -show_streams` and compare duration (and fps if the brief set it) to the root `data-duration`.
30
30
 
31
31
  <!-- history (trial): remove this block together with the command -->
@@ -4,20 +4,23 @@ import { dirname as __hf_dirname } from "node:path";
4
4
  var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
+ import {
8
+ buildNpxCommand
9
+ } from "./chunk-6BEFEWFB.js";
7
10
  import {
8
11
  R
9
12
  } from "./chunk-WMQNIQDJ.js";
10
13
  import {
11
14
  trackSkillsInstallSkipped
12
- } from "./chunk-WTGGSKAJ.js";
13
- import "./chunk-X2GKNLHE.js";
15
+ } from "./chunk-25DHUDOK.js";
16
+ import "./chunk-7SI7GCX6.js";
14
17
  import {
15
18
  diag
16
19
  } from "./chunk-VWG7OQKU.js";
17
20
  import {
18
21
  c
19
22
  } from "./chunk-ZTZA4UWZ.js";
20
- import "./chunk-OEJQAXS3.js";
23
+ import "./chunk-PLNWWGE7.js";
21
24
  import "./chunk-AMKC3AXA.js";
22
25
  import {
23
26
  defineCommand
@@ -27,16 +30,16 @@ import {
27
30
  CliResultSignal,
28
31
  setCommandExitCode
29
32
  } from "./chunk-PBN6GBJE.js";
30
- import "./chunk-TTBOUHWT.js";
31
- import "./chunk-SCCJUPPX.js";
33
+ import "./chunk-QXOFUKBF.js";
34
+ import "./chunk-EJ7OWYF2.js";
32
35
  import "./chunk-OZUQF4NB.js";
33
36
  import "./chunk-DPVXBVLL.js";
34
- import "./chunk-HUV6BP7O.js";
35
- import "./chunk-P7GAS5DG.js";
37
+ import "./chunk-GWV2Y36Q.js";
38
+ import "./chunk-HYYSJI5D.js";
36
39
  import "./chunk-VC76R6W2.js";
37
40
  import "./chunk-OFQWTKPW.js";
38
41
  import "./chunk-TWWSYAKJ.js";
39
- import "./chunk-VDQCNWQI.js";
42
+ import "./chunk-STA43FMY.js";
40
43
  import "./chunk-HBBJFK6I.js";
41
44
  import "./chunk-PJ3HDUCY.js";
42
45
  import "./chunk-TQFG7HTI.js";
@@ -51,19 +54,16 @@ import {
51
54
  isCoreSkill,
52
55
  presentSkills,
53
56
  pruneOrphanedLockEntries
54
- } from "./chunk-FAID56IK.js";
57
+ } from "./chunk-U3GEXWI5.js";
55
58
  import {
56
59
  withMeta
57
- } from "./chunk-2DQ356HE.js";
60
+ } from "./chunk-TCWL4BKK.js";
58
61
  import "./chunk-K4WIOZFP.js";
59
62
  import "./chunk-XUXGIA7H.js";
60
63
  import "./chunk-WERLJGIC.js";
61
64
  import "./chunk-ISN5GRYI.js";
62
- import "./chunk-WYX6L7AV.js";
65
+ import "./chunk-UMWROSIP.js";
63
66
  import "./chunk-KNU5COPB.js";
64
- import {
65
- buildNpxCommand
66
- } from "./chunk-6BEFEWFB.js";
67
67
  import "./chunk-3GXQPCJC.js";
68
68
  import "./chunk-RQVDTPGD.js";
69
69
  import "./chunk-PMRBLBUP.js";
@@ -9,13 +9,13 @@ import {
9
9
  printSkillsUpdateNotice,
10
10
  refreshSkillsCache,
11
11
  skillsCheckDue
12
- } from "./chunk-FAID56IK.js";
13
- import "./chunk-2DQ356HE.js";
12
+ } from "./chunk-U3GEXWI5.js";
13
+ import "./chunk-TCWL4BKK.js";
14
14
  import "./chunk-K4WIOZFP.js";
15
15
  import "./chunk-XUXGIA7H.js";
16
16
  import "./chunk-WERLJGIC.js";
17
17
  import "./chunk-ISN5GRYI.js";
18
- import "./chunk-WYX6L7AV.js";
18
+ import "./chunk-UMWROSIP.js";
19
19
  import "./chunk-KNU5COPB.js";
20
20
  import "./chunk-M2WBOQ2Q.js";
21
21
  export {
@@ -9,10 +9,19 @@ import {
9
9
  } from "./chunk-KZI44OPA.js";
10
10
  import {
11
11
  serveStaticProjectHtml
12
- } from "./chunk-5ORPW6RH.js";
12
+ } from "./chunk-OENM2JVZ.js";
13
+ import {
14
+ formatLintFindings
15
+ } from "./chunk-6CSYCFQV.js";
13
16
  import "./chunk-XUHOIDKG.js";
14
- import "./chunk-DKYXU4F4.js";
15
17
  import "./chunk-X7MTZ4T2.js";
18
+ import "./chunk-FLRCVYNE.js";
19
+ import {
20
+ resolveProject
21
+ } from "./chunk-JTAYFSLO.js";
22
+ import {
23
+ loadOptionalPackage
24
+ } from "./chunk-3DKN5WKL.js";
16
25
  import {
17
26
  DEFAULT_ZOOM_SCALE,
18
27
  captureRegionCrop,
@@ -21,34 +30,29 @@ import {
21
30
  resolveCropRegion,
22
31
  runFfmpegOnce,
23
32
  seekCompositionTimeline
24
- } from "./chunk-R2MFCLGW.js";
33
+ } from "./chunk-EZ2P7LAP.js";
25
34
  import "./chunk-5Z63TBTX.js";
26
- import "./chunk-6IEDWKFR.js";
27
- import "./chunk-VYGC4AJL.js";
35
+ import "./chunk-4VZBKOQJ.js";
36
+ import "./chunk-R7LWDIKB.js";
28
37
  import "./chunk-YEIFI443.js";
29
- import "./chunk-6XCIGLRQ.js";
30
- import "./chunk-LSLJIVWV.js";
31
- import "./chunk-EOVYQ3IG.js";
32
- import "./chunk-MOBLZWAK.js";
33
- import "./chunk-J4AOOISS.js";
34
- import {
35
- resolveProject
36
- } from "./chunk-J6BHZVM3.js";
37
- import {
38
- formatLintFindings
39
- } from "./chunk-6CSYCFQV.js";
40
38
  import "./chunk-IHFUKJOR.js";
39
+ import "./chunk-Z67RZ4XO.js";
40
+ import "./chunk-DUQJF7FK.js";
41
+ import "./chunk-Q73ISOVQ.js";
42
+ import "./chunk-A4X2YWNQ.js";
43
+ import "./chunk-EOVYQ3IG.js";
41
44
  import {
42
45
  resolveLocalBrowserGpuMode
43
- } from "./chunk-ZBKSKJ37.js";
46
+ } from "./chunk-JIIIBTN2.js";
44
47
  import "./chunk-PFCFR3KZ.js";
45
- import "./chunk-SMGQFCBC.js";
48
+ import "./chunk-XOZ3J3LB.js";
46
49
  import "./chunk-XT7X6QCP.js";
47
50
  import "./chunk-4YYJOFKS.js";
48
51
  import "./chunk-HVW7ABXD.js";
49
- import "./chunk-RQLZL5KC.js";
50
- import "./chunk-ZBAC7334.js";
51
- import "./chunk-NSLSFVFN.js";
52
+ import "./chunk-6BEFEWFB.js";
53
+ import "./chunk-HOIHGPWO.js";
54
+ import "./chunk-VTVS4IIP.js";
55
+ import "./chunk-GIDHR5OL.js";
52
56
  import "./chunk-AWDFDFI3.js";
53
57
  import "./chunk-P6LJ4Y32.js";
54
58
  import "./chunk-GMECXFAN.js";
@@ -58,13 +62,13 @@ import {
58
62
  getFFmpegInstallHint
59
63
  } from "./chunk-TVCRUG2S.js";
60
64
  import "./chunk-374QQGBQ.js";
61
- import "./chunk-WTGGSKAJ.js";
62
- import "./chunk-X2GKNLHE.js";
65
+ import "./chunk-25DHUDOK.js";
66
+ import "./chunk-7SI7GCX6.js";
63
67
  import "./chunk-VWG7OQKU.js";
64
68
  import {
65
69
  c
66
70
  } from "./chunk-ZTZA4UWZ.js";
67
- import "./chunk-OEJQAXS3.js";
71
+ import "./chunk-PLNWWGE7.js";
68
72
  import "./chunk-AMKC3AXA.js";
69
73
  import {
70
74
  defineCommand
@@ -75,19 +79,19 @@ import {
75
79
  } from "./chunk-PBN6GBJE.js";
76
80
  import "./chunk-KC5XXX3X.js";
77
81
  import "./chunk-TJSTGSAW.js";
78
- import "./chunk-TTBOUHWT.js";
82
+ import "./chunk-QXOFUKBF.js";
79
83
  import {
80
84
  isClipVisibleAt,
81
85
  isInClipWindow
82
- } from "./chunk-SCCJUPPX.js";
86
+ } from "./chunk-EJ7OWYF2.js";
83
87
  import "./chunk-OZUQF4NB.js";
84
88
  import "./chunk-DPVXBVLL.js";
85
- import "./chunk-HUV6BP7O.js";
89
+ import "./chunk-GWV2Y36Q.js";
86
90
  import {
87
91
  readElementRateSpec,
88
92
  sourceTimeAt,
89
93
  timeAtSourceTime
90
- } from "./chunk-P7GAS5DG.js";
94
+ } from "./chunk-HYYSJI5D.js";
91
95
  import "./chunk-VC76R6W2.js";
92
96
  import "./chunk-OFQWTKPW.js";
93
97
  import {
@@ -100,7 +104,7 @@ import {
100
104
  import "./chunk-TWWSYAKJ.js";
101
105
  import {
102
106
  lintProject
103
- } from "./chunk-VDQCNWQI.js";
107
+ } from "./chunk-STA43FMY.js";
104
108
  import "./chunk-HBBJFK6I.js";
105
109
  import "./chunk-PJ3HDUCY.js";
106
110
  import "./chunk-TQFG7HTI.js";
@@ -110,14 +114,10 @@ import "./chunk-K4WIOZFP.js";
110
114
  import "./chunk-XUXGIA7H.js";
111
115
  import "./chunk-WERLJGIC.js";
112
116
  import "./chunk-ISN5GRYI.js";
113
- import "./chunk-WYX6L7AV.js";
117
+ import "./chunk-UMWROSIP.js";
114
118
  import {
115
119
  normalizeErrorMessage
116
120
  } from "./chunk-KNU5COPB.js";
117
- import {
118
- loadOptionalPackage
119
- } from "./chunk-XT5P4QMO.js";
120
- import "./chunk-6BEFEWFB.js";
121
121
  import "./chunk-3GXQPCJC.js";
122
122
  import "./chunk-RQVDTPGD.js";
123
123
  import "./chunk-PMRBLBUP.js";
@@ -363,7 +363,7 @@ function computeSnapshotTimes(duration, opts) {
363
363
  return { times: times.map(round), appendedTail: false };
364
364
  }
365
365
  async function captureSnapshots(projectDir, opts) {
366
- const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-ZYZHO7IV.js");
366
+ const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-2XWC3PEM.js");
367
367
  const numFrames = opts.frames ?? 5;
368
368
  const html = await bundleWithLocalizedFonts(projectDir);
369
369
  const server = await serveStaticProjectHtml(projectDir, html, void 0, [], opts.autoProxy);
@@ -436,7 +436,7 @@ async function captureSnapshots(projectDir, opts) {
436
436
  let syncVideoFrameVisibility = null;
437
437
  let extractMediaMetadata = null;
438
438
  try {
439
- const engine = await import("./src-A7PS67DT.js");
439
+ const engine = await import("./src-YWFJILQF.js");
440
440
  injectVideoFramesBatch = engine.injectVideoFramesBatch;
441
441
  syncVideoFrameVisibility = engine.syncVideoFrameVisibility;
442
442
  extractMediaMetadata = engine.extractMediaMetadata;