hyperframes 0.8.143 → 0.8.144

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 (187) hide show
  1. package/dist/{add-Q5EYDUAY.js → add-CWRTVGDB.js} +12 -12
  2. package/dist/{animatedGifPrep-H2DUQEZ3.js → animatedGifPrep-JTOHIWI4.js} +7 -7
  3. package/dist/{asset-C7JBYYX4.js → asset-KU2Z4UFM.js} +2 -2
  4. package/dist/{assetCataloger-FRO4G6OU.js → assetCataloger-3CS2P7PA.js} +3 -3
  5. package/dist/{auth-FRWLCO36.js → auth-IDSOIQWG.js} +1 -1
  6. package/dist/{autoUpdate-E4OZXQK6.js → autoUpdate-373B4BA2.js} +2 -2
  7. package/dist/{backgroundChecks-FSUVHN5L.js → backgroundChecks-53Q3NAMG.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-4U73BYTU.js → batchRender-UKZA6BME.js} +4 -4
  10. package/dist/{beats-U6KJWF35.js → beats-N5JGEOFR.js} +13 -13
  11. package/dist/{benchmark-5ONT7V7B.js → benchmark-CUN3LN4V.js} +9 -9
  12. package/dist/{browser-R4DU46IE.js → browser-NCZT5AP6.js} +39 -55
  13. package/dist/{bundleWithLocalizedFonts-VH55VOAL.js → bundleWithLocalizedFonts-FWC7PE2D.js} +2 -2
  14. package/dist/{capture-26G2DPSI.js → capture-QBLG3VJR.js} +18 -18
  15. package/dist/{capture-OGQAEYKO.js → capture-YLS32UHT.js} +2 -2
  16. package/dist/{catalog-RKORTIUE.js → catalog-HIWNAFHW.js} +12 -12
  17. package/dist/{catch-up-4OBERRQO.js → catch-up-HGS7KIAC.js} +4 -4
  18. package/dist/{check-P2XDN57S.js → check-FH6UYYLO.js} +66 -55
  19. package/dist/{checkBrowser-NTGJGAEA.js → checkBrowser-RNWNOMCZ.js} +81 -30
  20. package/dist/{chunk-LVX6NK36.js → chunk-2DA2BBNY.js} +1 -1
  21. package/dist/{chunk-4M4EC7JX.js → chunk-3VYNNWVA.js} +12 -1
  22. package/dist/{chunk-N3DQEVSI.js → chunk-3XTEXWNN.js} +8 -5
  23. package/dist/{chunk-KO5QBV73.js → chunk-4LAR447G.js} +1 -1
  24. package/dist/{chunk-W35EKBS6.js → chunk-4OC7MQNB.js} +2 -2
  25. package/dist/{chunk-CLOH4LIB.js → chunk-54QISXOC.js} +2 -2
  26. package/dist/{chunk-HC7EVDEL.js → chunk-5HJ343GH.js} +1 -1
  27. package/dist/{chunk-33RZPZ4K.js → chunk-5VMR4WBS.js} +271 -119
  28. package/dist/{chunk-PJU63L6W.js → chunk-5WADG7PR.js} +1 -1
  29. package/dist/{chunk-LW6HO6U3.js → chunk-7RAYSCYT.js} +1 -1
  30. package/dist/{chunk-QRKLPWEX.js → chunk-7SDCIWHQ.js} +11 -2
  31. package/dist/{chunk-LAOCA3MQ.js → chunk-A4Q7W4LV.js} +13 -8
  32. package/dist/{chunk-BT27OYYX.js → chunk-A53CBD24.js} +18 -12
  33. package/dist/{chunk-4PFZPP2N.js → chunk-A6S35NYA.js} +54 -16
  34. package/dist/{chunk-HW4AKJ5F.js → chunk-AUBOF2PN.js} +1 -1
  35. package/dist/{chunk-ZLW2V65P.js → chunk-BSQ7XANM.js} +3 -2
  36. package/dist/{chunk-LCSMOLGX.js → chunk-BYSBRF24.js} +69 -8
  37. package/dist/{chunk-BFDJ63J5.js → chunk-DDIVWXN7.js} +1 -1
  38. package/dist/{chunk-KOEWEFHK.js → chunk-DIRJ322I.js} +10 -5
  39. package/dist/{chunk-PAGIICKN.js → chunk-EX6C672Y.js} +1 -1
  40. package/dist/{chunk-6XMFEICO.js → chunk-F2SMS24Q.js} +34 -19
  41. package/dist/{chunk-QVYVUCWD.js → chunk-GEWKFRFI.js} +1 -1
  42. package/dist/{chunk-P7THMINS.js → chunk-GZM2EFOE.js} +1 -1
  43. package/dist/{chunk-KJJLA674.js → chunk-GZVP4TWN.js} +1 -46
  44. package/dist/{chunk-TAMQYQGJ.js → chunk-I5KY7EZP.js} +1 -1
  45. package/dist/{chunk-XONFUK3M.js → chunk-IEIJRMLZ.js} +47 -35
  46. package/dist/chunk-IR35BCLK.js +13 -0
  47. package/dist/{chunk-2LBBHMKT.js → chunk-JEHFZQYT.js} +1 -1
  48. package/dist/{chunk-KDPYVTEU.js → chunk-KBB4RG6F.js} +6 -1
  49. package/dist/{chunk-VIVBA6E6.js → chunk-KFKZ3ISO.js} +1 -1
  50. package/dist/{sherpa-LVIUEAGF.js → chunk-L5TUCXWR.js} +11 -45
  51. package/dist/{chunk-GNBGPUJ7.js → chunk-LC3RQURJ.js} +3 -3
  52. package/dist/{chunk-I7QGQAZM.js → chunk-LFX2HEYP.js} +7 -7
  53. package/dist/{chunk-U3X3TPBW.js → chunk-MAYCCGMQ.js} +11 -2
  54. package/dist/{chunk-UICWP23D.js → chunk-MXNDKDFT.js} +3 -3
  55. package/dist/{chunk-POLR33RB.js → chunk-NOPBBSLA.js} +15 -17
  56. package/dist/{chunk-DF2BHILQ.js → chunk-NV4RXIQ7.js} +3 -3
  57. package/dist/{chunk-KQLGTGE5.js → chunk-OIDN7G42.js} +2 -2
  58. package/dist/{chunk-F26LCYRY.js → chunk-OUSLVRO4.js} +68 -77
  59. package/dist/{chunk-Y6QL2LGO.js → chunk-P6WH6QTV.js} +1 -1
  60. package/dist/{chunk-OBXQRJWQ.js → chunk-QATWIE4K.js} +1 -1
  61. package/dist/{chunk-QFN7NVWM.js → chunk-RG3QWWIE.js} +1 -1
  62. package/dist/{chunk-HLYOEIWM.js → chunk-RI53TS2Y.js} +2 -2
  63. package/dist/{chunk-5FISWJ37.js → chunk-RVFEDAUV.js} +4 -4
  64. package/dist/{chunk-HMT2RPZU.js → chunk-SLCFKB3Y.js} +13 -9
  65. package/dist/chunk-UPFUC4DB.js +136 -0
  66. package/dist/{chunk-BYK73CR7.js → chunk-VYSUZEJG.js} +5 -5
  67. package/dist/chunk-WJB7WI4J.js +3753 -0
  68. package/dist/{chunk-7UYBQ6NF.js → chunk-XGFHYAYN.js} +14 -10
  69. package/dist/{chunk-OSSHSIMD.js → chunk-XU5GGV6R.js} +1 -1
  70. package/dist/{chunk-FVYXDXEV.js → chunk-Y6UPYWJS.js} +2 -2
  71. package/dist/{chunk-UM2GRYM3.js → chunk-YJXHMIZA.js} +3 -3
  72. package/dist/{chunk-3NE7ZYU2.js → chunk-YUAXFWSQ.js} +3 -3
  73. package/dist/{chunk-TVCRUG2S.js → chunk-ZEUONDQG.js} +1 -1
  74. package/dist/{chunk-ZQQ3SEIE.js → chunk-ZOA2SC4P.js} +99 -31
  75. package/dist/{clean-YHGPY33K.js → clean-KPX27IKJ.js} +18 -18
  76. package/dist/cli.js +68 -56
  77. package/dist/{cloud-DOFI5ISR.js → cloud-P7DAOISN.js} +4 -4
  78. package/dist/{cloudrun-KTZ4XDHL.js → cloudrun-XM56TBOH.js} +4 -4
  79. package/dist/{compare-SMMIZN2C.js → compare-F6YAFZZM.js} +25 -25
  80. package/dist/{compiler-TEXQWW6N.js → compiler-JZ4GNFMG.js} +6 -4
  81. package/dist/{component-B3GCNGSS.js → component-3CFOGIQA.js} +3 -3
  82. package/dist/{compositions-OQNZZTKF.js → compositions-CPCMWF24.js} +11 -11
  83. package/dist/{delete-EL5LVSEP.js → delete-GYVKOKB6.js} +2 -2
  84. package/dist/{dist-5UVIRMSM.js → dist-KDJTFJHA.js} +2 -2
  85. package/dist/{dist-XN234YFQ.js → dist-YPWQDWJ4.js} +4 -4
  86. package/dist/{doctor-UOL3OI2A.js → doctor-GWI3B6JT.js} +13 -13
  87. package/dist/{events-NIZBS6S7.js → events-BRRUDPPT.js} +3 -3
  88. package/dist/{events-K2DB2PBC.js → events-V2QFN4YM.js} +2 -2
  89. package/dist/{feedback-QMP4E6L7.js → feedback-CXMD7FWL.js} +9 -9
  90. package/dist/{ffmpeg-QIUFEFTY.js → ffmpeg-T5SH2EFJ.js} +3 -2
  91. package/dist/{figma-2AUJRNVC.js → figma-YABDWD66.js} +3 -3
  92. package/dist/fontLocalizeCli.js +9 -9
  93. package/dist/{get-P5NC7SRM.js → get-L2SOQKHX.js} +2 -2
  94. package/dist/{gpuPolicy-7N5MCE2G.js → gpuPolicy-NBJNWHYS.js} +11 -9
  95. package/dist/{grade-compare-HV5AFZ6P.js → grade-compare-STXQPKYQ.js} +27 -27
  96. package/dist/{help-3TSTXBLN.js → help-4H6BSFLB.js} +2 -2
  97. package/dist/{history-D65XFJ6D.js → history-4IQOLTHJ.js} +5 -5
  98. package/dist/hyperframe-runtime.js +56 -56
  99. package/dist/hyperframe.manifest.json +1 -1
  100. package/dist/hyperframe.runtime.iife.js +56 -56
  101. package/dist/hyperframes-player.global.js +3 -3
  102. package/dist/{info-TXV7MLFO.js → info-2CZOTNBC.js} +8 -8
  103. package/dist/{init-OSDMJZJV.js → init-6BXK42VS.js} +35 -36
  104. package/dist/{inspect-RQQSAYIJ.js → inspect-VKU47TBH.js} +26 -26
  105. package/dist/{installer-CDOB32HE.js → installer-T2BSSUDY.js} +5 -5
  106. package/dist/{keyframes-V75Q6GRM.js → keyframes-IEYVHRPI.js} +6 -6
  107. package/dist/{lambda-RODV4RCX.js → lambda-TIKG25CK.js} +5 -5
  108. package/dist/{layout-IZAI5SFC.js → layout-XOI4PT7A.js} +26 -26
  109. package/dist/{lint-PLXOXY5R.js → lint-DWCMVIX5.js} +8 -8
  110. package/dist/{lintProject-OQ6H6XBR.js → lintProject-UBZ3TDHU.js} +2 -2
  111. package/dist/{list-BQBPNKDZ.js → list-7GXKG5QM.js} +2 -2
  112. package/dist/{login-NP6F4FHC.js → login-BQ5L2UHX.js} +4 -4
  113. package/dist/{manager-CT3D67CG.js → manager-BPSR6D3V.js} +2 -2
  114. package/dist/{manager-GXYF4AVO.js → manager-YKMHR6LN.js} +8 -5
  115. package/dist/{media-treatment-PXGMZ4A4.js → media-treatment-IFB7OSZ3.js} +12 -12
  116. package/dist/{models-CEZM6XZ7.js → models-TY4PJ545.js} +59 -19
  117. package/dist/{motionShot-R4GHYWYM.js → motionShot-WXMFHICW.js} +21 -22
  118. package/dist/{normalize-H6KUHHEI.js → normalize-U3SL5VG3.js} +2 -2
  119. package/dist/{normalize-audio-MQ7NFCOV.js → normalize-audio-RFD776HQ.js} +6 -6
  120. package/dist/{open-AKQTGNXF.js → open-7IXXGO2E.js} +4 -4
  121. package/dist/parakeetRunner-IHLYYMTZ.js +67 -0
  122. package/dist/{pipeline-SYJYP2RM.js → pipeline-TXKPLL2U.js} +10 -9
  123. package/dist/{play-NBH4B7PL.js → play-J2KP64UK.js} +19 -19
  124. package/dist/{preflight-Y5DN5D37.js → preflight-B4AFK3RG.js} +4 -4
  125. package/dist/{present-XAX55CFS.js → present-MHHNRVRA.js} +15 -15
  126. package/dist/{preview-OLANKNFA.js → preview-CONUOFFQ.js} +19 -19
  127. package/dist/{producer-Q6YNZZUJ.js → producer-ZI46K7HH.js} +1 -1
  128. package/dist/{projectConfig-EM26P45P.js → projectConfig-FGGVG5MV.js} +7 -7
  129. package/dist/{publication-OXWJZKSX.js → publication-TXFBMW6B.js} +3 -3
  130. package/dist/{publish-4VBWP2UB.js → publish-YZSPBFRD.js} +11 -11
  131. package/dist/{remove-background-REB7427G.js → remove-background-4ATVLHLG.js} +11 -10
  132. package/dist/{render-K25YOG3M.js → render-6FBYLYGJ.js} +11 -11
  133. package/dist/{render-3CVZ2SZG.js → render-GFW5BPES.js} +4 -4
  134. package/dist/{render-TSE75QUL.js → render-MH4IUPWB.js} +26 -26
  135. package/dist/{render-batch-GGUOK3DS.js → render-batch-XUCZ2PUJ.js} +4 -4
  136. package/dist/{renderCancellation-PZRWB53I.js → renderCancellation-XF7M7IUP.js} +10 -9
  137. package/dist/renderSetupWorker.js +32 -44
  138. package/dist/{resolver-S5VK6UCB.js → resolver-W7AYCQGS.js} +5 -5
  139. package/dist/sherpa-LDUB5NLY.js +75 -0
  140. package/dist/sherpaWorker.js +2 -1
  141. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +1 -1
  142. package/dist/{skills-I65FU5HD.js → skills-VENERS5X.js} +7 -7
  143. package/dist/{skillsUpdateCheck-J57RNNIV.js → skillsUpdateCheck-UXFYTACG.js} +3 -3
  144. package/dist/{snapshot-YROOGY22.js → snapshot-C6T74HTI.js} +28 -28
  145. package/dist/{src-X426BZAG.js → src-FS5RSVEI.js} +8 -8
  146. package/dist/{src-JO5JOV7Y.js → src-VUJ2FUFK.js} +8 -6
  147. package/dist/{staticProjectServer-5VMBS262.js → staticProjectServer-V2RZ4DWD.js} +15 -15
  148. package/dist/studio/assets/{hyperframes-player-BXSuksFh.js → hyperframes-player-Bw_jIaSX.js} +3 -3
  149. package/dist/studio/assets/{index-J7jpL4pj.js → index-BVM9NuWl.js} +141 -141
  150. package/dist/studio/assets/{index-BgOVCqjo.js → index-Cj7W_c7p.js} +1 -1
  151. package/dist/studio/assets/{index-FgyO_5Kv.js → index-DyH9dT7b.js} +1 -1
  152. package/dist/studio/{chunk-TFLU2MGI.js → chunk-3GHTHPZD.js} +8 -1
  153. package/dist/studio/chunk-3GHTHPZD.js.map +1 -0
  154. package/dist/studio/{chunk-H2DUOXTF.js → chunk-G3EDKRZH.js} +3 -3
  155. package/dist/studio/{chunk-UYWON5AX.js → chunk-PEAKCOUW.js} +7 -3
  156. package/dist/studio/chunk-PEAKCOUW.js.map +1 -0
  157. package/dist/studio/{chunk-LOVBLSMR.js → chunk-Y2OHHNM2.js} +35 -19
  158. package/dist/studio/chunk-Y2OHHNM2.js.map +1 -0
  159. package/dist/studio/{domEditingLayers-KBTPQKGA.js → domEditingLayers-PYST4G45.js} +3 -3
  160. package/dist/studio/index.html +1 -1
  161. package/dist/studio/index.js +139 -70
  162. package/dist/studio/index.js.map +1 -1
  163. package/dist/studio/player.js +3 -3
  164. package/dist/studio/ui.d.ts +4 -5
  165. package/dist/studio/ui.js +1 -1
  166. package/dist/{studio-api-VRBZUGAE.js → studio-api-TQE7KWKO.js} +9 -9
  167. package/dist/{studioServer-DBNKZ6I6.js → studioServer-CYKSQK7L.js} +68 -52
  168. package/dist/{telemetry-CXAX3TO3.js → telemetry-A23PPRD6.js} +3 -3
  169. package/dist/{timeline-VQ34WH7J.js → timeline-T3QSGT3A.js} +69 -47
  170. package/dist/{tokens-62R7VFAZ.js → tokens-RT5HWA6C.js} +2 -2
  171. package/dist/{transcribe-XOHPPL2O.js → transcribe-FOLNOC5G.js} +115 -51
  172. package/dist/{transcribe-7KR7IPJA.js → transcribe-HCF64LQK.js} +14 -12
  173. package/dist/{tts-MUV42JXT.js → tts-B6AHFQEO.js} +1 -1
  174. package/dist/{updateCheck-POYNH3B5.js → updateCheck-27PIP3AA.js} +2 -2
  175. package/dist/{upgrade-NBNOT7J2.js → upgrade-TVGXBUPJ.js} +2 -2
  176. package/dist/{urlDownloader-3NS63A7B.js → urlDownloader-KBLBJKRL.js} +6 -6
  177. package/dist/{validate-Y2QDHAEP.js → validate-ZMYGK4QI.js} +20 -20
  178. package/dist/{video-SJDMTSTL.js → video-AVE5GIGM.js} +7 -7
  179. package/package.json +1 -1
  180. package/dist/chunk-6TPZSTCL.js +0 -3681
  181. package/dist/studio/chunk-LOVBLSMR.js.map +0 -1
  182. package/dist/studio/chunk-TFLU2MGI.js.map +0 -1
  183. package/dist/studio/chunk-UYWON5AX.js.map +0 -1
  184. package/dist/{screenshotCapture-TEUIWXWN.js → screenshotCapture-3JXXUZND.js} +3 -3
  185. package/dist/studio/{chunk-H2DUOXTF.js.map → chunk-G3EDKRZH.js.map} +0 -0
  186. package/dist/studio/{domEditingLayers-KBTPQKGA.js.map → domEditingLayers-PYST4G45.js.map} +0 -0
  187. package/dist/{synthesize-C3IWDAXF.js → synthesize-UCI4X5O7.js} +4 -4
@@ -16,7 +16,7 @@ import {
16
16
  EncoderInterruptedError,
17
17
  encoderFailureError,
18
18
  prepareAnimatedGifInputs
19
- } from "./chunk-KQLGTGE5.js";
19
+ } from "./chunk-OIDN7G42.js";
20
20
  import {
21
21
  createStudioPositionSeekReapplyScript
22
22
  } from "./chunk-KC5XXX3X.js";
@@ -142,7 +142,7 @@ import {
142
142
  validateEngineConfigSnapshot,
143
143
  verifyDiskDrawElementSamples,
144
144
  writeCapturedFrame
145
- } from "./chunk-33RZPZ4K.js";
145
+ } from "./chunk-5VMR4WBS.js";
146
146
  import {
147
147
  assignBundledRuntimeCompositionIds,
148
148
  buildVariablesByCompScript,
@@ -151,8 +151,9 @@ import {
151
151
  ensureExternalLinkTag,
152
152
  ensureExternalScriptTag,
153
153
  inlineSubCompositions,
154
+ parsesAsScript,
154
155
  prepareFlattenedInnerRoot
155
- } from "./chunk-F26LCYRY.js";
156
+ } from "./chunk-OUSLVRO4.js";
156
157
  import {
157
158
  LOW_MEMORY_TOTAL_MB_THRESHOLD,
158
159
  getCgroupMemoryLimitMb,
@@ -173,7 +174,7 @@ import {
173
174
  resolveAbsoluteMediaStartSeconds,
174
175
  resolveAuthoredTimingWindow,
175
176
  toFps
176
- } from "./chunk-4M4EC7JX.js";
177
+ } from "./chunk-3VYNNWVA.js";
177
178
  import {
178
179
  COMPOSITION_SOURCE_URL,
179
180
  HF_COLOR_GRADING_ATTR,
@@ -200,7 +201,7 @@ import {
200
201
  shouldClampResolvedMediaDuration,
201
202
  sourceTimeAt,
202
203
  styleElementsFor
203
- } from "./chunk-6TPZSTCL.js";
204
+ } from "./chunk-WJB7WI4J.js";
204
205
  import {
205
206
  MAX_AUDIO_GAIN
206
207
  } from "./chunk-YA62XGXS.js";
@@ -224,7 +225,7 @@ import {
224
225
  } from "./chunk-TWWSYAKJ.js";
225
226
  import {
226
227
  lintHyperframeHtml
227
- } from "./chunk-XONFUK3M.js";
228
+ } from "./chunk-IEIJRMLZ.js";
228
229
  import {
229
230
  isUnresolvedAssetPlaceholder,
230
231
  readProjectFile,
@@ -240,7 +241,7 @@ import {
240
241
  rewriteAssetPaths,
241
242
  rewriteCssAssetUrls,
242
243
  rewriteInlineStyleAssetUrls
243
- } from "./chunk-ZLW2V65P.js";
244
+ } from "./chunk-BSQ7XANM.js";
244
245
  import {
245
246
  parseHTML
246
247
  } from "./chunk-SDYDNHEE.js";
@@ -5942,8 +5943,8 @@ function coalesceHeadStylesAndBodyScripts(html) {
5942
5943
  const { document: document2 } = parseHTML(html);
5943
5944
  const head = document2.querySelector("head");
5944
5945
  const body = document2.querySelector("body");
5945
- if (!head) return html;
5946
- const styleEls = Array.from(head.querySelectorAll("style"));
5946
+ if (!head && !body) return html;
5947
+ const styleEls = head ? Array.from(head.querySelectorAll("style")) : [];
5947
5948
  const importRe = /@import\s+url\([^)]*\)\s*;|@import\s+["'][^"']+["']\s*;/gi;
5948
5949
  for (const run of styleEls.length > 1 ? headStyleRuns(styleEls) : []) {
5949
5950
  const imports = [];
@@ -5973,6 +5974,7 @@ function coalesceHeadStylesAndBodyScripts(html) {
5973
5974
  Array.from(body.querySelectorAll("script"))
5974
5975
  )) {
5975
5976
  const mergedJs = members.map((el) => (el.textContent || "").trim()).filter(Boolean).join("\n;\n").trim();
5977
+ if (mergedJs && !parsesAsScript(mergedJs)) continue;
5976
5978
  for (const el of members) el.remove();
5977
5979
  if (!mergedJs) continue;
5978
5980
  const script = document2.createElement("script");
@@ -6072,9 +6074,12 @@ function inlineSubCompositions2(html, subCompositions, projectDir, variableOverr
6072
6074
  let pending = variablesByCompScript ? [variablesByCompScript] : [];
6073
6075
  const flushInline = () => {
6074
6076
  if (!pending.length) return;
6075
- const scriptEl = document2.createElement("script");
6076
- scriptEl.textContent = pending.join("\n;\n");
6077
- body.appendChild(scriptEl);
6077
+ const joined = pending.join("\n;\n");
6078
+ for (const text of parsesAsScript(joined) ? [joined] : pending) {
6079
+ const scriptEl = document2.createElement("script");
6080
+ scriptEl.textContent = text;
6081
+ body.appendChild(scriptEl);
6082
+ }
6078
6083
  pending = [];
6079
6084
  };
6080
6085
  for (const item of result.scriptItems) {
@@ -7300,7 +7305,8 @@ async function runProbeStage(input) {
7300
7305
  width,
7301
7306
  height,
7302
7307
  needsAlpha,
7303
- deviceScaleFactor
7308
+ deviceScaleFactor,
7309
+ subTimelineWaitMemo
7304
7310
  } = input;
7305
7311
  let { compiled } = input;
7306
7312
  const probeCfg = cfg.forceScreenshot === forceScreenshot ? cfg : { ...cfg, forceScreenshot };
@@ -7356,7 +7362,8 @@ async function runProbeStage(input) {
7356
7362
  variables: job.config.variables,
7357
7363
  deviceScaleFactor,
7358
7364
  motionBlur,
7359
- requiresWebGpu: compositionRequiresWebGpu(compiled.html)
7365
+ requiresWebGpu: compositionRequiresWebGpu(compiled.html),
7366
+ subTimelineWaitMemo
7360
7367
  };
7361
7368
  const PROBE_MAX_ATTEMPTS = 2;
7362
7369
  for (let attempt = 1; attempt <= PROBE_MAX_ATTEMPTS; attempt++) {
@@ -11519,6 +11526,7 @@ async function executeRenderPipeline(input) {
11519
11526
  cfg.protocolTimeout = scaledProtocolTimeout;
11520
11527
  updateCaptureObservability({ protocolTimeoutMs: scaledProtocolTimeout });
11521
11528
  }
11529
+ const subTimelineWaitMemo = {};
11522
11530
  const probeResult = await observeRenderStage(
11523
11531
  observability,
11524
11532
  "browser_probe",
@@ -11537,7 +11545,8 @@ async function executeRenderPipeline(input) {
11537
11545
  width,
11538
11546
  height,
11539
11547
  needsAlpha,
11540
- deviceScaleFactor
11548
+ deviceScaleFactor,
11549
+ subTimelineWaitMemo
11541
11550
  }),
11542
11551
  // Browser probe is pre-capture; report `browser calibrating` so a
11543
11552
  // slow probe (~64s SwiftShader warm-up on Windows was the reported
@@ -11767,6 +11776,7 @@ async function executeRenderPipeline(input) {
11767
11776
  ...captureOptions,
11768
11777
  videoMetadataHints,
11769
11778
  skipReadinessVideoIds: videoReadinessSkipIds,
11779
+ subTimelineWaitMemo,
11770
11780
  // Probe-resolved duration: drawElement self-verification derives its
11771
11781
  // sample frame indices from this so they land inside the drained range.
11772
11782
  compositionDurationSeconds: job.duration,
@@ -13631,7 +13641,10 @@ function prepareHyperframeLintBody(body) {
13631
13641
  return { error: "Missing lint source: provide projectDir, files, or html" };
13632
13642
  }
13633
13643
  async function runHyperframeLint(prepared) {
13634
- return lintHyperframeHtml(prepared.html, { filePath: prepared.entryFile });
13644
+ return lintHyperframeHtml(prepared.html, {
13645
+ filePath: prepared.entryFile,
13646
+ compSrcPath: prepared.entryFile
13647
+ });
13635
13648
  }
13636
13649
 
13637
13650
  // ../producer/src/services/healthWorker.ts
@@ -14326,7 +14339,7 @@ function startServer(options = {}) {
14326
14339
  });
14327
14340
  async function shutdown(signal) {
14328
14341
  log.info(`Received ${signal}, shutting down`);
14329
- const { drainBrowserPool } = await import("./src-JO5JOV7Y.js");
14342
+ const { drainBrowserPool } = await import("./src-VUJ2FUFK.js");
14330
14343
  await drainBrowserPool().catch(() => {
14331
14344
  });
14332
14345
  const handle = await Promise.race([
@@ -15496,7 +15509,8 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
15496
15509
  width,
15497
15510
  height,
15498
15511
  needsAlpha,
15499
- deviceScaleFactor
15512
+ deviceScaleFactor,
15513
+ subTimelineWaitMemo: {}
15500
15514
  });
15501
15515
  compiled = probeResult.compiled;
15502
15516
  job.duration = probeResult.duration;
@@ -15510,7 +15524,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
15510
15524
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15511
15525
  if (probeResult.probeSession) {
15512
15526
  try {
15513
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-JO5JOV7Y.js");
15527
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-VUJ2FUFK.js");
15514
15528
  await closeCaptureSession2(probeResult.probeSession);
15515
15529
  } catch (err) {
15516
15530
  log.warn("[plan] probe session close failed", {
@@ -17150,6 +17164,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
17150
17164
  // declare `data-composition-variables` leave this undefined and the
17151
17165
  // engine skips the `evaluateOnNewDocument` injection.
17152
17166
  variables: encoder.variables,
17167
+ subTimelineWaitMemo: {},
17153
17168
  ...videoCaptureBeyondViewport !== void 0 ? { captureBeyondViewport: videoCaptureBeyondViewport } : {},
17154
17169
  // lock the BeginFrame warmup loop to a fixed iteration count so
17155
17170
  // `beginFrameTimeTicks` is host-independent. Only chunks ever set this.
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/utils/producer.ts
9
9
  async function loadProducer() {
10
- return await import("./src-X426BZAG.js");
10
+ return await import("./src-FS5RSVEI.js");
11
11
  }
12
12
 
13
13
  export {
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-PBN6GBJE.js";
16
16
  import {
17
17
  parseFps
18
- } from "./chunk-4M4EC7JX.js";
18
+ } from "./chunk-3VYNNWVA.js";
19
19
 
20
20
  // src/browser/windowsCrash.ts
21
21
  var STATUS_STACK_BUFFER_OVERRUN_DEC = "3221225595";
@@ -71,51 +71,6 @@ ${EXTRA_POSITIONAL_HINTS[path]}` : "");
71
71
  );
72
72
  }
73
73
 
74
- // src/utils/reject-unknown-flags.ts
75
- var ALWAYS_KNOWN = /* @__PURE__ */ new Set(["help", "h", "version", "v", "json"]);
76
- function nameVariants(name) {
77
- const kebab = name.replace(/[A-Z]/g, (c) => "-" + c.toLowerCase());
78
- const camel = name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
79
- return [name, kebab, camel];
80
- }
81
- function knownFlags(args) {
82
- const known = new Set(ALWAYS_KNOWN);
83
- for (const [name, def] of Object.entries(args ?? {})) {
84
- for (const v of nameVariants(name)) known.add(v);
85
- const alias = def?.alias;
86
- if (typeof alias === "string") known.add(alias);
87
- else if (Array.isArray(alias)) for (const a of alias) known.add(a);
88
- }
89
- return known;
90
- }
91
- function longFlagName(tok) {
92
- const name = tok.slice(2).split("=")[0] ?? "";
93
- return name.startsWith("no-") ? name.slice(3) : name;
94
- }
95
- function unknownFlagIn(tok, known) {
96
- if (tok === "-" || !tok.startsWith("-")) return null;
97
- if (tok.startsWith("--")) {
98
- const name = longFlagName(tok);
99
- return name && !known.has(name) ? `--${name}` : null;
100
- }
101
- for (const ch of tok.slice(1).split("=")[0] ?? "") {
102
- if (!known.has(ch)) return `-${ch}`;
103
- }
104
- return null;
105
- }
106
- function assertKnownFlags(cmd, rawArgs) {
107
- if (!Array.isArray(rawArgs)) return;
108
- const rawDef = cmd.args;
109
- const args = rawDef && typeof rawDef === "object" ? rawDef : void 0;
110
- const known = knownFlags(args);
111
- for (const tok of rawArgs) {
112
- if (tok === "--") break;
113
- const bad = unknownFlagIn(tok, known);
114
- if (bad) throw new Error(`Unknown flag: ${bad}`);
115
- }
116
- }
117
-
118
74
  export {
119
- resolveExtraPositionals,
120
- assertKnownFlags
75
+ resolveExtraPositionals
121
76
  };
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk-GMECXFAN.js";
28
28
  import {
29
29
  ITEM_TYPE_DIRS
30
- } from "./chunk-4M4EC7JX.js";
30
+ } from "./chunk-3VYNNWVA.js";
31
31
  import {
32
32
  realProjectRoot
33
33
  } from "./chunk-OFQWTKPW.js";
@@ -41,7 +41,7 @@ import {
41
41
  readDataDurationSeconds,
42
42
  resolveMediaDuration,
43
43
  rewriteAssetPath
44
- } from "./chunk-ZLW2V65P.js";
44
+ } from "./chunk-BSQ7XANM.js";
45
45
  import {
46
46
  Parser,
47
47
  parseHTML
@@ -3834,12 +3834,13 @@ function parseHtmlStructure(source) {
3834
3834
  function findHtmlTag(tags) {
3835
3835
  return tags.find((tag) => tag.name === "html") ?? null;
3836
3836
  }
3837
+ var hasCompositionMarker = (tag) => Boolean(
3838
+ readDecodedAttr(tag.raw, "data-composition-id") || readAttr(tag.raw, "data-width") || readAttr(tag.raw, "data-height")
3839
+ );
3837
3840
  function findRootTag(source, parsedTags) {
3838
3841
  const tags = parsedTags ?? parseHtmlStructure(source).tags;
3839
3842
  const bodyTag = tags.find((tag) => tag.name === "body");
3840
- if (bodyTag && (readDecodedAttr(bodyTag.raw, "data-composition-id") || readAttr(bodyTag.raw, "data-width") || readAttr(bodyTag.raw, "data-height"))) {
3841
- return bodyTag;
3842
- }
3843
+ if (bodyTag && hasCompositionMarker(bodyTag)) return bodyTag;
3843
3844
  const bodyStart = bodyTag ? bodyTag.index + bodyTag.raw.length : 0;
3844
3845
  const bodyEnd = bodyTag?.closeIndex ?? source.length;
3845
3846
  const bodyTags = tags.filter((tag) => tag.index >= bodyStart && tag.index < bodyEnd);
@@ -3847,7 +3848,8 @@ function findRootTag(source, parsedTags) {
3847
3848
  for (const tag of bodyTags) {
3848
3849
  if (tag.index < skipBefore) continue;
3849
3850
  if (["script", "style", "meta", "link", "title"].includes(tag.name)) continue;
3850
- if (tag.name === "svg" && !readDecodedAttr(tag.raw, "data-composition-id") && !readAttr(tag.raw, "data-width") && !readAttr(tag.raw, "data-height")) {
3851
+ if ((tag.name === "html" || tag.name === "head") && !hasCompositionMarker(tag)) continue;
3852
+ if (tag.name === "svg" && !hasCompositionMarker(tag)) {
3851
3853
  skipBefore = tag.endIndex ?? Infinity;
3852
3854
  continue;
3853
3855
  }
@@ -4469,7 +4471,8 @@ function buildLintContext(html, options = {}) {
4469
4471
  content: style.content,
4470
4472
  raw: style.content,
4471
4473
  index: -1,
4472
- file: style.file ?? style.href
4474
+ file: style.file ?? style.href,
4475
+ rootRelativePath: style.rootRelativePath
4473
4476
  }))
4474
4477
  ];
4475
4478
  const scripts = structure.scripts;
@@ -4858,7 +4861,7 @@ var coreRules = [
4858
4861
  },
4859
4862
  // root_missing_composition_id + root_missing_dimensions
4860
4863
  // fallow-ignore-next-line complexity
4861
- ({ rootTag }) => {
4864
+ ({ rootTag, options }) => {
4862
4865
  const findings = [];
4863
4866
  if (!rootTag || !readDecodedAttr(rootTag.raw, "data-composition-id")) {
4864
4867
  findings.push({
@@ -4870,7 +4873,7 @@ var coreRules = [
4870
4873
  snippet: truncateSnippet(rootTag?.raw || "")
4871
4874
  });
4872
4875
  }
4873
- if (!rootTag || !readAttr(rootTag.raw, "data-width") || !readAttr(rootTag.raw, "data-height")) {
4876
+ if (!options.isSubComposition && (!rootTag || !readAttr(rootTag.raw, "data-width") || !readAttr(rootTag.raw, "data-height"))) {
4874
4877
  findings.push({
4875
4878
  code: "root_missing_dimensions",
4876
4879
  severity: "error",
@@ -6331,6 +6334,24 @@ function extractCssUrlReferences(css) {
6331
6334
  }
6332
6335
  return out;
6333
6336
  }
6337
+ function folderDepth(filePath) {
6338
+ if (/^(?:[a-z]:)?[\\/]/i.test(filePath)) return 0;
6339
+ let depth = 0;
6340
+ for (const segment of filePath.split(/[\\/]/).slice(0, -1)) {
6341
+ if (segment === "..") depth = Math.max(0, depth - 1);
6342
+ else if (segment && segment !== ".") depth += 1;
6343
+ }
6344
+ return depth;
6345
+ }
6346
+ function climbsAboveRoot(fileDepth, path) {
6347
+ let depth = fileDepth;
6348
+ for (const segment of path.split("/")) {
6349
+ if (segment === "..") depth -= 1;
6350
+ else if (segment && segment !== ".") depth += 1;
6351
+ if (depth < 0) return true;
6352
+ }
6353
+ return false;
6354
+ }
6334
6355
  function extractCssSelectors(css) {
6335
6356
  const out = [];
6336
6357
  const noComments = css.replace(/\/\*[\s\S]*?\*\//g, "");
@@ -6644,42 +6665,31 @@ var compositionRules = [
6644
6665
  }
6645
6666
  return findings;
6646
6667
  },
6647
- // invalid_parent_traversal_in_asset_path — catches `../` traversal in src,
6648
- // href, inline-style url(), and <style> url() asset references on
6649
- // compositions. Sub-compositions live under compositions/ but are served
6650
- // with the project root as their base URL, so any `../`-traversing path
6651
- // climbs above the project root and 404s in Studio preview. Renders
6652
- // tolerate it because the server-side bundler rewrites `../foo` against
6653
- // each sub-composition's source path; the runtime now mirrors that fallback
6654
- // (see rewriteSubCompositionAssetPaths in runtime/compositionLoader.ts), but
6655
- // the authoring-time signal is still wrong — flag it at lint time so the
6656
- // baked path is plain root-relative and matches what the bundler emits.
6657
- //
6658
- // Mirrors the runtime fallback's surface: `[src]` / `[href]` attribute
6659
- // values, `[style]` inline url(), and `<style>` block url() references.
6660
- // Skips absolute URLs (http(s)://, //, data:, /-prefixed root-relative),
6661
- // hash anchors, and plain relative paths (`assets/x.mp4`) — only `../`
6662
- // traversal is flagged. Subsumes the older `../capture/`-specific rule.
6668
+ // invalid_parent_traversal_in_asset_path — a `../` path in src, href or a CSS url() that leaves
6669
+ // the project once resolved from the file's own folder, as the bundler, producer and runtime
6670
+ // resolve it. "../assets/x" from compositions/ stays inside and passes.
6663
6671
  // fallow-ignore-next-line complexity
6664
6672
  ({ tags, styles, rawSource, options }) => {
6665
6673
  if (isRegistrySourceFile(options.filePath) || isRegistryInstalledFile(rawSource)) return [];
6666
6674
  const offenders = [];
6667
- const collect = (value) => {
6668
- if (!value) return;
6669
- const trimmed = value.trim();
6670
- if (!trimmed.startsWith("../") && trimmed !== "..") return;
6671
- offenders.push(trimmed);
6675
+ const fileDepth = folderDepth(options.compSrcPath ?? "index.html");
6676
+ const collect = (value, depth = fileDepth) => {
6677
+ const trimmed = value?.trim() ?? "";
6678
+ if (/^(?:[a-z][a-z0-9+.-]*:|[\\/#])/i.test(trimmed)) return;
6679
+ const path = (trimmed.split(/[?#]/, 1)[0] ?? "").replace(/\\|%2f/gi, "/").replace(/%2e/gi, ".");
6680
+ if (climbsAboveRoot(depth, path)) offenders.push(trimmed);
6672
6681
  };
6673
6682
  for (const tag of tags) {
6674
- collect(readAttr(tag.raw, "src"));
6675
- collect(readAttr(tag.raw, "href"));
6683
+ collect(readDecodedAttr(tag.raw, "src"));
6684
+ collect(readDecodedAttr(tag.raw, "href"));
6676
6685
  const styleAttr = readJsonAttr(tag.raw, "style");
6677
6686
  if (styleAttr) {
6678
6687
  for (const url of extractCssUrlReferences(styleAttr)) collect(url);
6679
6688
  }
6680
6689
  }
6681
6690
  for (const style of styles) {
6682
- for (const url of extractCssUrlReferences(style.content)) collect(url);
6691
+ const depth = style.rootRelativePath ? folderDepth(style.rootRelativePath) : fileDepth;
6692
+ for (const url of extractCssUrlReferences(style.content)) collect(url, depth);
6683
6693
  }
6684
6694
  if (offenders.length === 0) return [];
6685
6695
  const prefixCounts = /* @__PURE__ */ new Map();
@@ -6692,8 +6702,8 @@ var compositionRules = [
6692
6702
  {
6693
6703
  code: "invalid_parent_traversal_in_asset_path",
6694
6704
  severity: "error",
6695
- message: `Found ${offenders.length} asset path(s) traversing above the project root with "../" (${prefixSummary}). Renders rewrite this against each sub-composition's source path, but Studio preview and other live consumers resolve against the project root and 404.`,
6696
- fixHint: 'Use plain root-relative paths (e.g. "assets/...", "capture/...", "fonts/...") \u2014 compositions are served with the project root as their base URL, so paths must be root-relative, not relative to the compositions/ directory.'
6705
+ message: `Found ${offenders.length} asset path(s) traversing above the project root with "../" (${prefixSummary}), resolved from the folder of the file that holds them. Render and preview clamp them to the project root or resolve them outside it, so they load a different file than written, or none.`,
6706
+ fixHint: `Point the path at a file inside the project: from compositions/scene.html, "../assets/x.png" and "assets/x.png" both reach the project's assets folder.`
6697
6707
  }
6698
6708
  ];
6699
6709
  },
@@ -10403,7 +10413,7 @@ function collectExternalStyles(projectDir, html, compSrcPath) {
10403
10413
  document,
10404
10414
  compSrcPath
10405
10415
  )) {
10406
- styles.push({ href, content, file: join2(projectDir, rootRelativePath) });
10416
+ styles.push({ href, content, file: join2(projectDir, rootRelativePath), rootRelativePath });
10407
10417
  }
10408
10418
  return styles;
10409
10419
  }
@@ -10455,6 +10465,7 @@ async function lintProject(projectDir, entryFile, hostOptions = {}) {
10455
10465
  const rootResult = await lintHyperframeHtml(rootHtml, {
10456
10466
  ...hostOptions,
10457
10467
  filePath: indexPath,
10468
+ compSrcPath: rootFile,
10458
10469
  externalStyles: collectExternalStyles(projectDir, rootHtml, rootCompSrcPath)
10459
10470
  });
10460
10471
  results.push({ file: rootFile, result: rootResult, contentHash: contentDigest(rootHtml) });
@@ -10488,6 +10499,7 @@ async function lintProject(projectDir, entryFile, hostOptions = {}) {
10488
10499
  ...hostOptions,
10489
10500
  filePath,
10490
10501
  isSubComposition: true,
10502
+ compSrcPath,
10491
10503
  externalStyles: collectExternalStyles(projectDir, html, compSrcPath)
10492
10504
  });
10493
10505
  results.push({
@@ -0,0 +1,13 @@
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
+ // src/whisper/transcriptFile.ts
9
+ var TRANSCRIPT_FILE = "transcript.json";
10
+
11
+ export {
12
+ TRANSCRIPT_FILE
13
+ };
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HVW7ABXD.js";
13
13
  import {
14
14
  DEFAULT_REGISTRY_URL
15
- } from "./chunk-TAMQYQGJ.js";
15
+ } from "./chunk-I5KY7EZP.js";
16
16
 
17
17
  // src/utils/projectConfig.ts
18
18
  import { readFileSync, writeFileSync } from "fs";
@@ -4,6 +4,9 @@ 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
+ TRANSCRIPT_FILE
9
+ } from "./chunk-IR35BCLK.js";
7
10
 
8
11
  // src/whisper/parakeet.ts
9
12
  import { execFileSync } from "child_process";
@@ -11,6 +14,7 @@ import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync
11
14
  import { homedir, tmpdir } from "os";
12
15
  import { basename, extname, join } from "path";
13
16
  var PARAKEET_MODEL_LABEL = "parakeet-tdt-0.6b-v3";
17
+ var PARAKEET_INSTALL_COMMAND = "hyperframes models install parakeet";
14
18
  var SHERPA_RESULT_PREFIX = "HYPERFRAMES_PARAKEET_RESULT:";
15
19
  var SHERPA_ERROR_PREFIX = "HYPERFRAMES_PARAKEET_ERROR:";
16
20
  var SHERPA_WINDOW_PREFIX = "HYPERFRAMES_PARAKEET_WINDOW:";
@@ -204,7 +208,7 @@ function transcribeWithParakeet(inputPath, dir, options) {
204
208
  }
205
209
  function writeParakeetTranscript(dir, words) {
206
210
  mkdirSync(dir, { recursive: true });
207
- const transcriptPath = join(dir, "transcript.json");
211
+ const transcriptPath = join(dir, TRANSCRIPT_FILE);
208
212
  writeFileSync(transcriptPath, JSON.stringify(words, null, 2));
209
213
  const durationSeconds = words.length > 0 ? words[words.length - 1].end : 0;
210
214
  return {
@@ -219,6 +223,7 @@ function writeParakeetTranscript(dir, words) {
219
223
 
220
224
  export {
221
225
  PARAKEET_MODEL_LABEL,
226
+ PARAKEET_INSTALL_COMMAND,
222
227
  SHERPA_RESULT_PREFIX,
223
228
  SHERPA_ERROR_PREFIX,
224
229
  SHERPA_WINDOW_PREFIX,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-K2FLNJVB.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-QFN7NVWM.js";
12
+ } from "./chunk-RG3QWWIE.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-PBN6GBJE.js";
@@ -17,48 +17,16 @@ import {
17
17
  runNpm,
18
18
  sweepStaleStaging
19
19
  } from "./chunk-3DKN5WKL.js";
20
- import "./chunk-EOVYQ3IG.js";
21
20
  import {
22
21
  getPreparedWavDurationSeconds,
23
22
  prepareWav
24
- } from "./chunk-N3DQEVSI.js";
23
+ } from "./chunk-3XTEXWNN.js";
25
24
  import {
26
25
  emitWords
27
26
  } from "./chunk-6IHWCZ3W.js";
28
27
  import {
29
28
  stoppedByCancelSignal
30
- } from "./chunk-UICWP23D.js";
31
- import "./chunk-6BEFEWFB.js";
32
- import "./chunk-U3X3TPBW.js";
33
- import "./chunk-BHVFTYSI.js";
34
- import "./chunk-TVCRUG2S.js";
35
- import "./chunk-AMKC3AXA.js";
36
- import "./chunk-33RZPZ4K.js";
37
- import "./chunk-F26LCYRY.js";
38
- import "./chunk-NE55C6S5.js";
39
- import "./chunk-USDEMXXL.js";
40
- import "./chunk-4M4EC7JX.js";
41
- import "./chunk-6TPZSTCL.js";
42
- import "./chunk-VC76R6W2.js";
43
- import "./chunk-YA62XGXS.js";
44
- import "./chunk-MQZVBHEY.js";
45
- import "./chunk-OFQWTKPW.js";
46
- import "./chunk-DPVXBVLL.js";
47
- import "./chunk-T76PLPD6.js";
48
- import "./chunk-FXMKHHPO.js";
49
- import "./chunk-RQVDTPGD.js";
50
- import "./chunk-LAOCA3MQ.js";
51
- import "./chunk-LCSMOLGX.js";
52
- import "./chunk-TWWSYAKJ.js";
53
- import "./chunk-XONFUK3M.js";
54
- import "./chunk-IWFLMU2N.js";
55
- import "./chunk-APDLWWFG.js";
56
- import "./chunk-PJ3HDUCY.js";
57
- import "./chunk-3RM2ETQT.js";
58
- import "./chunk-ZLW2V65P.js";
59
- import "./chunk-SDYDNHEE.js";
60
- import "./chunk-2PSPARWP.js";
61
- import "./chunk-T42U2W2R.js";
29
+ } from "./chunk-MXNDKDFT.js";
62
30
  import {
63
31
  PARAKEET_MODEL_LABEL,
64
32
  SHERPA_ERROR_PREFIX,
@@ -66,10 +34,7 @@ import {
66
34
  SHERPA_WINDOW_PREFIX,
67
35
  mergeWindowsToWords,
68
36
  writeParakeetTranscript
69
- } from "./chunk-KDPYVTEU.js";
70
- import "./chunk-UOFAE5RF.js";
71
- import "./chunk-3GXQPCJC.js";
72
- import "./chunk-M2WBOQ2Q.js";
37
+ } from "./chunk-KBB4RG6F.js";
73
38
 
74
39
  // src/whisper/sherpa.ts
75
40
  import { execFile, spawn } from "child_process";
@@ -414,16 +379,17 @@ async function transcribeWithSherpa(wavPath, dir, options) {
414
379
  });
415
380
  return result;
416
381
  }
382
+
417
383
  export {
418
- DecodeCancelled,
419
- PARAKEET_MODEL_DIR,
420
384
  SHERPA_RUNTIME_DIR,
421
- ensureParakeetModel,
385
+ PARAKEET_MODEL_DIR,
386
+ sherpaUnsupportedReason,
387
+ sherpaRuntimeLoadError,
388
+ sherpaPlatformPackage,
422
389
  installSherpaRuntime,
423
- prepareSherpaWav,
424
390
  sherpaParakeetInstalled,
425
- sherpaPlatformPackage,
426
- sherpaRuntimeLoadError,
427
- sherpaUnsupportedReason,
391
+ ensureParakeetModel,
392
+ DecodeCancelled,
393
+ prepareSherpaWav,
428
394
  transcribeWithSherpa
429
395
  };
@@ -15,12 +15,12 @@ import {
15
15
  findFFmpeg,
16
16
  findFFprobe,
17
17
  getFFmpegInstallHint
18
- } from "./chunk-TVCRUG2S.js";
18
+ } from "./chunk-ZEUONDQG.js";
19
19
  import {
20
20
  DEFAULT_VP9_CPU_USED,
21
21
  SDR_RGB_TO_BT709_FILTER,
22
22
  renderProvenanceArgs
23
- } from "./chunk-33RZPZ4K.js";
23
+ } from "./chunk-5VMR4WBS.js";
24
24
 
25
25
  // src/background-removal/pipeline.ts
26
26
  import { spawn } from "child_process";
@@ -203,7 +203,7 @@ function inferInputKind(inputPath) {
203
203
  }
204
204
  async function probeMedia(inputPath) {
205
205
  const isImage = inferInputKind(inputPath) === "image";
206
- const engine = await import("./src-JO5JOV7Y.js");
206
+ const engine = await import("./src-VUJ2FUFK.js");
207
207
  const meta = await engine.extractMediaMetadata(inputPath);
208
208
  if (isImage) {
209
209
  return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };