hyperframes 0.8.106 → 0.8.108

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 (177) hide show
  1. package/dist/{add-QRAI4CAF.js → add-OH75E7FX.js} +16 -16
  2. package/dist/{animatedGifPrep-RZVYVAXD.js → animatedGifPrep-ZDAWSJYL.js} +7 -7
  3. package/dist/{asset-WFBQ5VS6.js → asset-BVDO4DEW.js} +2 -2
  4. package/dist/{assetCataloger-BQREHRS2.js → assetCataloger-FXEHOUA3.js} +3 -3
  5. package/dist/{auth-LVD6TWYG.js → auth-K5GUKO5S.js} +2 -2
  6. package/dist/{autoUpdate-HGE2PUZY.js → autoUpdate-77ROWK5G.js} +2 -2
  7. package/dist/{backgroundChecks-63CSE4XR.js → backgroundChecks-3Q3D5WBJ.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-AQN5PRXM.js → batchRender-ZTHFMHZY.js} +4 -4
  10. package/dist/{beats-OBCN5OSQ.js → beats-HQZPR6KE.js} +19 -13
  11. package/dist/{benchmark-DYHJSR7W.js → benchmark-BQOWARGU.js} +13 -13
  12. package/dist/{browser-JLYV5T7O.js → browser-45CK7HXI.js} +10 -10
  13. package/dist/{bundleWithLocalizedFonts-JKJKZR2S.js → bundleWithLocalizedFonts-3M2LKRHK.js} +2 -2
  14. package/dist/{capture-5BCJWVC7.js → capture-6IVZXM7G.js} +2 -2
  15. package/dist/{capture-QYLHIYKJ.js → capture-VGEUOP7N.js} +8 -8
  16. package/dist/{catalog-6UYNKENR.js → catalog-VHD7B6FD.js} +16 -16
  17. package/dist/{check-YOGAZ6UE.js → check-UPNZZJXV.js} +32 -31
  18. package/dist/{checkBrowser-M73YHPNM.js → checkBrowser-KWTHKOOP.js} +31 -30
  19. package/dist/{chunk-JYRPUDVZ.js → chunk-5N4KKGSZ.js} +1 -1
  20. package/dist/{normalize-audio-H3SI5V63.js → chunk-5ON5GH3X.js} +101 -209
  21. package/dist/{chunk-NRMYDPFQ.js → chunk-5R5UHSXN.js} +9 -9
  22. package/dist/{chunk-OSZJCBZX.js → chunk-AFGDOKRI.js} +7 -7
  23. package/dist/{chunk-6CN2QLB5.js → chunk-AWUZ3AUD.js} +1 -1
  24. package/dist/{chunk-TEXPOC5V.js → chunk-B25H4M4V.js} +2 -2
  25. package/dist/{chunk-JXXE3SWC.js → chunk-C6XQER6H.js} +28 -14
  26. package/dist/{chunk-Y2CZEJPK.js → chunk-CFC3EEDQ.js} +2 -2
  27. package/dist/{chunk-PB2OX2JY.js → chunk-D7SCIX4D.js} +1 -1
  28. package/dist/{chunk-AXWBDWAV.js → chunk-FZGUZIK5.js} +3 -3
  29. package/dist/{chunk-4WAMN4IF.js → chunk-GYYFNAVA.js} +1 -1
  30. package/dist/{chunk-TYA65W4U.js → chunk-HQGJLZB6.js} +2 -2
  31. package/dist/{chunk-LAHK4P7Q.js → chunk-J7XPPADY.js} +3 -3
  32. package/dist/{chunk-I77CAR4W.js → chunk-KVOWTRD5.js} +2 -2
  33. package/dist/{chunk-GVZYTDOD.js → chunk-KZ5OSG4G.js} +1 -1
  34. package/dist/{chunk-IBCGKQB5.js → chunk-KZJ6V7RT.js} +3 -3
  35. package/dist/{chunk-HUHJYNST.js → chunk-LAQEZHOH.js} +1 -1
  36. package/dist/{chunk-HFFR7TN7.js → chunk-LPXM5L6S.js} +2 -1
  37. package/dist/{chunk-2IZZZJDZ.js → chunk-LTYI4E42.js} +4 -4
  38. package/dist/{chunk-J3Q3YC6P.js → chunk-LZPAZZZP.js} +1 -1
  39. package/dist/{chunk-5TBFBLIX.js → chunk-MGTECHI3.js} +2 -2
  40. package/dist/{chunk-4I6AQUWG.js → chunk-NGVH2QYT.js} +8 -8
  41. package/dist/{chunk-M4KS6MJN.js → chunk-NJLFRKHX.js} +4 -4
  42. package/dist/{chunk-6LPWMCPY.js → chunk-NROJESOK.js} +2 -2
  43. package/dist/{chunk-UVUAU3CH.js → chunk-ONY5CJXS.js} +48 -26
  44. package/dist/{chunk-O5TBFZ7X.js → chunk-OVRFBUXU.js} +2 -2
  45. package/dist/{chunk-6F6EEQNB.js → chunk-PSGDNMM6.js} +1 -1
  46. package/dist/{chunk-AZQLJHAO.js → chunk-PZTEY73C.js} +1 -1
  47. package/dist/{chunk-VW5OMJNG.js → chunk-QB6OM2BP.js} +89 -70
  48. package/dist/{chunk-I6M4GXMC.js → chunk-QBHT234I.js} +1 -1
  49. package/dist/{chunk-TMLEIURT.js → chunk-QRXICW5Q.js} +1 -1
  50. package/dist/{chunk-4NJZZHYT.js → chunk-RPMXMOFU.js} +1 -1
  51. package/dist/{chunk-XZSH5GS7.js → chunk-RSL3XFMO.js} +4 -4
  52. package/dist/{chunk-PUB5XZYL.js → chunk-SIVCJJHE.js} +1 -1
  53. package/dist/{chunk-UUE5BZGE.js → chunk-SQ42NHXP.js} +620 -74
  54. package/dist/{chunk-GOI4GCUB.js → chunk-THVNQFYG.js} +1 -1
  55. package/dist/{chunk-IQ4UCWV7.js → chunk-TIZQC44K.js} +1 -1
  56. package/dist/{chunk-FTXU3TQ4.js → chunk-US7SWKGC.js} +1 -1
  57. package/dist/{chunk-TLYU5625.js → chunk-UUDQD62L.js} +6 -6
  58. package/dist/{chunk-2LCIQS3K.js → chunk-VBXJSCHR.js} +3 -3
  59. package/dist/{chunk-DVCYGZ7R.js → chunk-VLHN34SB.js} +2 -2
  60. package/dist/{chunk-4Z5O7BTD.js → chunk-WEATBQTR.js} +10 -1
  61. package/dist/{chunk-TH4APNRP.js → chunk-X763EUBO.js} +2 -2
  62. package/dist/{chunk-32Y3HRS3.js → chunk-XIGK4LNU.js} +2 -2
  63. package/dist/{chunk-R5RF3LGS.js → chunk-XMAL2A7Y.js} +1 -1
  64. package/dist/{chunk-USWOTTSP.js → chunk-XYVFPDNU.js} +1 -1
  65. package/dist/chunk-YLVI7VL5.js +3541 -0
  66. package/dist/{chunk-YVWILZCO.js → chunk-ZFL6FVQZ.js} +5 -5
  67. package/dist/{clean-GRX3GXKR.js → clean-LCRWNIWO.js} +17 -16
  68. package/dist/cli.js +50 -50
  69. package/dist/{cloud-TQCNBM6H.js → cloud-ITRFE5UN.js} +4 -4
  70. package/dist/{cloudrun-ISE6GSUO.js → cloudrun-LVZ4OPPC.js} +5 -5
  71. package/dist/{compare-QAWB3O4U.js → compare-NPVMUILH.js} +26 -25
  72. package/dist/{compiler-QMEZK6CU.js → compiler-YYOV2BJ7.js} +3 -3
  73. package/dist/{component-NXNNSXN7.js → component-HJFMHPNW.js} +3 -3
  74. package/dist/{compositions-I4PIPJKO.js → compositions-I34RN5WD.js} +12 -12
  75. package/dist/{delete-ZC4ZRBBF.js → delete-WN3J74BD.js} +4 -4
  76. package/dist/{deterministicFonts-XS3PGWH5.js → deterministicFonts-A4CNCSAL.js} +2 -2
  77. package/dist/{dist-E44WU6LH.js → dist-WCMFH74H.js} +1 -1
  78. package/dist/{dist-R24TLUYO.js → dist-YUIPB7OX.js} +9 -3
  79. package/dist/docs/data-attributes.md +1 -1
  80. package/dist/{doctor-EFQ4XNT3.js → doctor-MYC2S3J3.js} +11 -11
  81. package/dist/{events-AVPSJNYU.js → events-7JVV4746.js} +10 -10
  82. package/dist/{events-COIPJKSK.js → events-AEUV2JPA.js} +9 -9
  83. package/dist/{feedback-3DYZDMLC.js → feedback-X7DDSZPU.js} +11 -11
  84. package/dist/{figma-7XPHSMNG.js → figma-ISI4PPTF.js} +3 -3
  85. package/dist/fontLocalizeCli.js +10 -10
  86. package/dist/{get-TSBHDMKL.js → get-IYALAE4I.js} +4 -4
  87. package/dist/{gpuPolicy-BQFPO7UA.js → gpuPolicy-KSWTVU5C.js} +7 -7
  88. package/dist/{grade-compare-5Y4LXQFG.js → grade-compare-YWPIWQLK.js} +26 -25
  89. package/dist/{gsapParser-EZGJSSV5.js → gsapParser-KVMPC2SC.js} +5 -1
  90. package/dist/{help-5YBRP3C4.js → help-S2KJRMAJ.js} +1 -1
  91. package/dist/{history-SRNXKL6D.js → history-CQDDCY4J.js} +17 -16
  92. package/dist/hyperframe-runtime.js +54 -54
  93. package/dist/hyperframe.manifest.json +1 -1
  94. package/dist/hyperframe.runtime.iife.js +54 -54
  95. package/dist/hyperframes-player.global.js +3 -3
  96. package/dist/{info-U4BOXV2I.js → info-4KFNUWYN.js} +12 -12
  97. package/dist/{init-T4JYHIBM.js → init-I7GMRHFW.js} +98 -42
  98. package/dist/{inspect-XYLD2BMM.js → inspect-DUCLCHSD.js} +27 -26
  99. package/dist/{installer-UZSVMUKT.js → installer-NBEN3ZIP.js} +5 -5
  100. package/dist/{keyframes-BGPXWP7O.js → keyframes-F3VDEN66.js} +13 -13
  101. package/dist/{lambda-U4WIJQCJ.js → lambda-BFHJMMCG.js} +6 -6
  102. package/dist/{layout-UREZQ37U.js → layout-RNCXJI6C.js} +27 -26
  103. package/dist/{lint-LSTEZZ6T.js → lint-3NKKYCMH.js} +13 -13
  104. package/dist/{lintProject-4P4C6AN2.js → lintProject-F2OTN2IR.js} +1 -1
  105. package/dist/{list-6VICFTAM.js → list-Q7SOE3NF.js} +4 -4
  106. package/dist/{login-MXDIDOOG.js → login-TGRGWS5E.js} +4 -4
  107. package/dist/{media-treatment-ZVCWEACM.js → media-treatment-5TUXWHWE.js} +13 -13
  108. package/dist/{models-LXUIU5DC.js → models-YJUTM6TH.js} +8 -8
  109. package/dist/{motionShot-2LYUQF3T.js → motionShot-5QUMZ7J3.js} +11 -11
  110. package/dist/normalize-audio-63BI5BPL.js +276 -0
  111. package/dist/{pipeline-OFFKTFXS.js → pipeline-4NN5T7Q3.js} +7 -7
  112. package/dist/{play-P56CWNVC.js → play-SRDESSZI.js} +22 -21
  113. package/dist/{preflight-TVCVP5P2.js → preflight-SVN4PSFO.js} +8 -8
  114. package/dist/{present-ATMOWKMH.js → present-TDYR5LRW.js} +18 -17
  115. package/dist/{preview-7U6HYHYE.js → preview-Z5MFRZUM.js} +18 -18
  116. package/dist/{producer-LGG3TOUI.js → producer-RS7CB3XJ.js} +1 -1
  117. package/dist/{projectConfig-V53SEFIS.js → projectConfig-JHEWPAA5.js} +7 -7
  118. package/dist/{publication-7RKKPKLM.js → publication-7XA2H7UB.js} +3 -3
  119. package/dist/{publish-TRRFCEMQ.js → publish-2R22XX77.js} +9 -9
  120. package/dist/{remove-background-HJFT46Z5.js → remove-background-KT2SWYCC.js} +8 -8
  121. package/dist/{render-TPZ5FXHS.js → render-4C3YKVZI.js} +4 -4
  122. package/dist/{render-YB7BARWL.js → render-7GDLEGXT.js} +15 -15
  123. package/dist/{render-2QZBNE2V.js → render-Y2Y7N5WD.js} +22 -22
  124. package/dist/{render-batch-4ZF5C2LN.js → render-batch-AFDBPDMM.js} +4 -4
  125. package/dist/{renderCancellation-4PYGAN5D.js → renderCancellation-RQ3UVNVJ.js} +7 -7
  126. package/dist/renderSetupWorker.js +1 -1
  127. package/dist/{resolver-4JRJPC6S.js → resolver-S72XBTEQ.js} +5 -5
  128. package/dist/{sherpa-MNCWRFD4.js → sherpa-PR3I4KGM.js} +10 -10
  129. package/dist/{skills-ETBA5B46.js → skills-BEYZZWY6.js} +12 -12
  130. package/dist/{skillsUpdateCheck-DQOUIYV5.js → skillsUpdateCheck-3USXDPWV.js} +3 -3
  131. package/dist/{snapshot-W3HTBAYH.js → snapshot-S77MQOV2.js} +27 -26
  132. package/dist/{src-QX5PPANW.js → src-6R4DC2YI.js} +6 -6
  133. package/dist/{src-QF6RYX76.js → src-IOJXK4VC.js} +9 -9
  134. package/dist/{staticProjectServer-WBXW2CA4.js → staticProjectServer-RXAFGDK7.js} +16 -15
  135. package/dist/{status-C3IDZFDG.js → status-CRS7H6FA.js} +7 -7
  136. package/dist/studio/assets/{hyperframes-player-dl6K6ABp.js → hyperframes-player-BakGew45.js} +1 -1
  137. package/dist/studio/assets/{index-ooaZZhKf.js → index-C5dyUHwk.js} +1 -1
  138. package/dist/studio/assets/{index-CMiYVGv5.js → index-C842tcVa.js} +203 -208
  139. package/dist/studio/assets/{index-DKT5NF1Y.js → index-CPe7d_wO.js} +1 -1
  140. package/dist/studio/assets/{index-lrT-gfHa.css → index-ncVJ5IVu.css} +1 -1
  141. package/dist/studio/chunk-6LUNLTHR.js +611 -0
  142. package/dist/studio/chunk-6LUNLTHR.js.map +1 -0
  143. package/dist/studio/{chunk-ICTZJPQQ.js → chunk-AOWVEVEU.js} +3 -494
  144. package/dist/studio/chunk-AOWVEVEU.js.map +1 -0
  145. package/dist/studio/{chunk-46XP7J3B.js → chunk-PQFEBX32.js} +5 -3
  146. package/dist/studio/chunk-PQFEBX32.js.map +1 -0
  147. package/dist/studio/{domEditingLayers-AQBDFNUC.js → domEditingLayers-JQPQGGT7.js} +3 -3
  148. package/dist/studio/index.d.ts +377 -12
  149. package/dist/studio/index.html +2 -2
  150. package/dist/studio/index.js +13445 -11874
  151. package/dist/studio/index.js.map +1 -1
  152. package/dist/studio/player.js +2 -2
  153. package/dist/studio/styles.css +1 -1
  154. package/dist/{studio-api-6IJPJVG6.js → studio-api-3FH7OSSS.js} +10 -9
  155. package/dist/{studioServer-77CY4XPO.js → studioServer-4E5RRPU7.js} +49 -42
  156. package/dist/{system-OAB2LYBV.js → system-YMANAUAM.js} +7 -7
  157. package/dist/{telemetry-XTN5BO5S.js → telemetry-46XSB2VN.js} +10 -10
  158. package/dist/templates/_shared/AGENTS.md +1 -1
  159. package/dist/templates/_shared/CLAUDE.md +1 -1
  160. package/dist/templates/from-file/index.html +3 -2
  161. package/dist/templates/warm-grain/index.html +2 -10
  162. package/dist/{timeline-YKKTGPL7.js → timeline-XKLKHGD2.js} +17 -16
  163. package/dist/{tokens-LU25F3IJ.js → tokens-JCZKPUPT.js} +2 -2
  164. package/dist/{transcribe-O7OL4RRU.js → transcribe-FIFJ3BBB.js} +13 -13
  165. package/dist/{transcribe-AL3E5MBZ.js → transcribe-FQ4YC2AS.js} +10 -8
  166. package/dist/{updateCheck-MZZML4DL.js → updateCheck-PDIH4GZW.js} +2 -2
  167. package/dist/{upgrade-PQRTEJJY.js → upgrade-TTGO6JCF.js} +2 -2
  168. package/dist/{urlDownloader-U3TNOPD5.js → urlDownloader-32JRHOPN.js} +6 -6
  169. package/dist/{validate-KQETGCIR.js → validate-G5F56ONL.js} +16 -16
  170. package/dist/{video-KAHL76HG.js → video-SGBEMEKA.js} +7 -7
  171. package/package.json +1 -1
  172. package/dist/chunk-FOKUJKBN.js +0 -3420
  173. package/dist/studio/chunk-46XP7J3B.js.map +0 -1
  174. package/dist/studio/chunk-DI4LCJHL.js +0 -102
  175. package/dist/studio/chunk-DI4LCJHL.js.map +0 -1
  176. package/dist/studio/chunk-ICTZJPQQ.js.map +0 -1
  177. /package/dist/studio/{domEditingLayers-AQBDFNUC.js.map → domEditingLayers-JQPQGGT7.js.map} +0 -0
@@ -6,21 +6,21 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintRun
9
- } from "./chunk-IBCGKQB5.js";
9
+ } from "./chunk-KZJ6V7RT.js";
10
10
  import {
11
11
  resolveProject
12
- } from "./chunk-FTXU3TQ4.js";
12
+ } from "./chunk-US7SWKGC.js";
13
13
  import {
14
14
  formatLintFindings
15
15
  } from "./chunk-6CSYCFQV.js";
16
16
  import "./chunk-IHFUKJOR.js";
17
- import "./chunk-2LCIQS3K.js";
18
- import "./chunk-LAHK4P7Q.js";
17
+ import "./chunk-VBXJSCHR.js";
18
+ import "./chunk-J7XPPADY.js";
19
19
  import "./chunk-VWG7OQKU.js";
20
20
  import {
21
21
  c
22
22
  } from "./chunk-ZTZA4UWZ.js";
23
- import "./chunk-PUB5XZYL.js";
23
+ import "./chunk-SIVCJJHE.js";
24
24
  import "./chunk-AMKC3AXA.js";
25
25
  import {
26
26
  defineCommand
@@ -31,19 +31,19 @@ import {
31
31
  import {
32
32
  setCommandExitCode
33
33
  } from "./chunk-PBN6GBJE.js";
34
- import "./chunk-VW5OMJNG.js";
35
- import "./chunk-TEXPOC5V.js";
36
- import "./chunk-TLYU5625.js";
34
+ import "./chunk-QB6OM2BP.js";
35
+ import "./chunk-B25H4M4V.js";
36
+ import "./chunk-UUDQD62L.js";
37
37
  import "./chunk-DPVXBVLL.js";
38
- import "./chunk-TH4APNRP.js";
39
- import "./chunk-FOKUJKBN.js";
38
+ import "./chunk-X763EUBO.js";
39
+ import "./chunk-YLVI7VL5.js";
40
40
  import "./chunk-VC76R6W2.js";
41
41
  import "./chunk-OFQWTKPW.js";
42
42
  import "./chunk-Q5X2B5WT.js";
43
43
  import "./chunk-TWWSYAKJ.js";
44
44
  import {
45
45
  lintProject
46
- } from "./chunk-UVUAU3CH.js";
46
+ } from "./chunk-ONY5CJXS.js";
47
47
  import "./chunk-HBBJFK6I.js";
48
48
  import "./chunk-PJ3HDUCY.js";
49
49
  import "./chunk-TQFG7HTI.js";
@@ -51,12 +51,12 @@ import "./chunk-GK4AIFIH.js";
51
51
  import "./chunk-2PSPARWP.js";
52
52
  import {
53
53
  withMeta
54
- } from "./chunk-4NJZZHYT.js";
54
+ } from "./chunk-RPMXMOFU.js";
55
55
  import "./chunk-K4WIOZFP.js";
56
56
  import "./chunk-XUXGIA7H.js";
57
57
  import "./chunk-WERLJGIC.js";
58
58
  import "./chunk-ISN5GRYI.js";
59
- import "./chunk-6LPWMCPY.js";
59
+ import "./chunk-NROJESOK.js";
60
60
  import "./chunk-KNU5COPB.js";
61
61
  import "./chunk-3GXQPCJC.js";
62
62
  import "./chunk-RQVDTPGD.js";
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  lintProject,
13
13
  shouldBlockRender
14
- } from "./chunk-UVUAU3CH.js";
14
+ } from "./chunk-ONY5CJXS.js";
15
15
  import "./chunk-HBBJFK6I.js";
16
16
  import "./chunk-PJ3HDUCY.js";
17
17
  import "./chunk-TQFG7HTI.js";
@@ -14,9 +14,9 @@ import {
14
14
  createCloudClient,
15
15
  reportApiError
16
16
  } from "./chunk-RLYTIMTS.js";
17
- import "./chunk-6F6EEQNB.js";
17
+ import "./chunk-PSGDNMM6.js";
18
18
  import "./chunk-DNXD7TOA.js";
19
- import "./chunk-4Z5O7BTD.js";
19
+ import "./chunk-WEATBQTR.js";
20
20
  import {
21
21
  errorBox
22
22
  } from "./chunk-IHFUKJOR.js";
@@ -32,12 +32,12 @@ import {
32
32
  import "./chunk-OFQWTKPW.js";
33
33
  import {
34
34
  withMeta
35
- } from "./chunk-4NJZZHYT.js";
35
+ } from "./chunk-RPMXMOFU.js";
36
36
  import "./chunk-K4WIOZFP.js";
37
37
  import "./chunk-XUXGIA7H.js";
38
38
  import "./chunk-WERLJGIC.js";
39
39
  import "./chunk-ISN5GRYI.js";
40
- import "./chunk-6LPWMCPY.js";
40
+ import "./chunk-NROJESOK.js";
41
41
  import "./chunk-KNU5COPB.js";
42
42
  import "./chunk-M2WBOQ2Q.js";
43
43
 
@@ -113,7 +113,7 @@ function assertAttendedDeviceFlow() {
113
113
  async function runDeviceLogin() {
114
114
  assertAttendedDeviceFlow();
115
115
  assertOAuthConfiguredOrExit();
116
- const { trackAuthLoginStarted, trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-XTN5BO5S.js");
116
+ const { trackAuthLoginStarted, trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-46XSB2VN.js");
117
117
  trackAuthLoginStarted("device");
118
118
  let tokens;
119
119
  try {
@@ -178,7 +178,7 @@ async function revokeDeviceTokens(tokens) {
178
178
  }
179
179
  async function runOAuthLogin() {
180
180
  assertOAuthConfiguredOrExit();
181
- const { trackAuthLoginStarted, trackAuthLoginFailed } = await import("./telemetry-XTN5BO5S.js");
181
+ const { trackAuthLoginStarted, trackAuthLoginFailed } = await import("./telemetry-46XSB2VN.js");
182
182
  trackAuthLoginStarted("oauth");
183
183
  try {
184
184
  await startAuthorizationCodeFlow();
@@ -191,7 +191,7 @@ async function runOAuthLogin() {
191
191
  await reportIdentity();
192
192
  }
193
193
  async function reportIdentity() {
194
- const { trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-XTN5BO5S.js");
194
+ const { trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-46XSB2VN.js");
195
195
  const credential = await tryResolveCredential();
196
196
  if (!credential) {
197
197
  trackAuthLoginFailed("oauth", "no_credential");
@@ -248,7 +248,7 @@ async function clearUserInfoBestEffort() {
248
248
  }
249
249
  }
250
250
  async function runApiKeyLogin(inlineKey) {
251
- const { trackAuthLoginStarted, trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-XTN5BO5S.js");
251
+ const { trackAuthLoginStarted, trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-46XSB2VN.js");
252
252
  trackAuthLoginStarted("api_key");
253
253
  let key;
254
254
  try {
@@ -9,23 +9,23 @@ import {
9
9
  } from "./chunk-ZKDMAOFU.js";
10
10
  import {
11
11
  patchElementInHtml
12
- } from "./chunk-M4KS6MJN.js";
12
+ } from "./chunk-NJLFRKHX.js";
13
13
  import {
14
14
  resolveProject
15
- } from "./chunk-FTXU3TQ4.js";
15
+ } from "./chunk-US7SWKGC.js";
16
16
  import "./chunk-IHFUKJOR.js";
17
17
  import {
18
18
  findFFmpeg,
19
19
  findFFprobe,
20
20
  getFFmpegInstallHint
21
21
  } from "./chunk-TVCRUG2S.js";
22
- import "./chunk-2LCIQS3K.js";
23
- import "./chunk-LAHK4P7Q.js";
22
+ import "./chunk-VBXJSCHR.js";
23
+ import "./chunk-J7XPPADY.js";
24
24
  import "./chunk-VWG7OQKU.js";
25
25
  import {
26
26
  c
27
27
  } from "./chunk-ZTZA4UWZ.js";
28
- import "./chunk-PUB5XZYL.js";
28
+ import "./chunk-SIVCJJHE.js";
29
29
  import "./chunk-AMKC3AXA.js";
30
30
  import {
31
31
  defineCommand
@@ -34,18 +34,18 @@ import "./chunk-54HJ63Q2.js";
34
34
  import {
35
35
  failCommand
36
36
  } from "./chunk-PBN6GBJE.js";
37
- import "./chunk-VW5OMJNG.js";
38
- import "./chunk-TEXPOC5V.js";
39
- import "./chunk-TLYU5625.js";
37
+ import "./chunk-QB6OM2BP.js";
38
+ import "./chunk-B25H4M4V.js";
39
+ import "./chunk-UUDQD62L.js";
40
40
  import "./chunk-DPVXBVLL.js";
41
- import "./chunk-TH4APNRP.js";
41
+ import "./chunk-X763EUBO.js";
42
42
  import {
43
43
  HF_COLOR_GRADING_ATTR,
44
44
  getHfColorGradingCapabilities,
45
45
  hasHfColorGradingAuthoredValues,
46
46
  normalizeHfColorGrading,
47
47
  serializeHfColorGrading
48
- } from "./chunk-FOKUJKBN.js";
48
+ } from "./chunk-YLVI7VL5.js";
49
49
  import "./chunk-VC76R6W2.js";
50
50
  import "./chunk-OFQWTKPW.js";
51
51
  import "./chunk-LCSMOLGX.js";
@@ -54,7 +54,7 @@ import {
54
54
  cleanAssetUrl,
55
55
  isRemoteOrInlineUrl,
56
56
  resolveExistingLocalAsset
57
- } from "./chunk-UVUAU3CH.js";
57
+ } from "./chunk-ONY5CJXS.js";
58
58
  import "./chunk-HBBJFK6I.js";
59
59
  import "./chunk-PJ3HDUCY.js";
60
60
  import {
@@ -69,12 +69,12 @@ import {
69
69
  import "./chunk-2PSPARWP.js";
70
70
  import {
71
71
  withMeta
72
- } from "./chunk-4NJZZHYT.js";
72
+ } from "./chunk-RPMXMOFU.js";
73
73
  import "./chunk-K4WIOZFP.js";
74
74
  import "./chunk-XUXGIA7H.js";
75
75
  import "./chunk-WERLJGIC.js";
76
76
  import "./chunk-ISN5GRYI.js";
77
- import "./chunk-6LPWMCPY.js";
77
+ import "./chunk-NROJESOK.js";
78
78
  import {
79
79
  normalizeErrorMessage
80
80
  } from "./chunk-KNU5COPB.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-WMQNIQDJ.js";
13
13
  import {
14
14
  createRenderCancellationScope
15
- } from "./chunk-TMLEIURT.js";
15
+ } from "./chunk-QRXICW5Q.js";
16
16
  import {
17
17
  c
18
18
  } from "./chunk-ZTZA4UWZ.js";
@@ -23,18 +23,18 @@ import {
23
23
  failCommand,
24
24
  setCommandExitCode
25
25
  } from "./chunk-PBN6GBJE.js";
26
- import "./chunk-VW5OMJNG.js";
27
- import "./chunk-TEXPOC5V.js";
28
- import "./chunk-TLYU5625.js";
26
+ import "./chunk-QB6OM2BP.js";
27
+ import "./chunk-B25H4M4V.js";
28
+ import "./chunk-UUDQD62L.js";
29
29
  import "./chunk-DPVXBVLL.js";
30
- import "./chunk-TH4APNRP.js";
31
- import "./chunk-FOKUJKBN.js";
30
+ import "./chunk-X763EUBO.js";
31
+ import "./chunk-YLVI7VL5.js";
32
32
  import "./chunk-VC76R6W2.js";
33
33
  import "./chunk-OFQWTKPW.js";
34
34
  import "./chunk-LAOCA3MQ.js";
35
35
  import "./chunk-LCSMOLGX.js";
36
36
  import "./chunk-TWWSYAKJ.js";
37
- import "./chunk-UVUAU3CH.js";
37
+ import "./chunk-ONY5CJXS.js";
38
38
  import "./chunk-HBBJFK6I.js";
39
39
  import "./chunk-PJ3HDUCY.js";
40
40
  import "./chunk-TQFG7HTI.js";
@@ -88,7 +88,7 @@ async function installMissing(sherpa, spin, signal) {
88
88
  }
89
89
  var wasCancelled = (err, signal, sherpa) => signal.aborted || err instanceof sherpa.DecodeCancelled;
90
90
  async function installParakeet(json) {
91
- const sherpa = await import("./sherpa-MNCWRFD4.js");
91
+ const sherpa = await import("./sherpa-PR3I4KGM.js");
92
92
  const unsupported = sherpa.sherpaUnsupportedReason();
93
93
  if (unsupported) fail(unsupported, json);
94
94
  const spin = json ? null : ft({ output: process.stderr });
@@ -18,29 +18,29 @@ import {
18
18
  } from "./chunk-5Z63TBTX.js";
19
19
  import {
20
20
  resolveDiagnosticNavigationTimeoutMs
21
- } from "./chunk-IQ4UCWV7.js";
21
+ } from "./chunk-TIZQC44K.js";
22
22
  import "./chunk-YEIFI443.js";
23
23
  import "./chunk-IHFUKJOR.js";
24
24
  import "./chunk-PFCFR3KZ.js";
25
25
  import {
26
26
  resolveCaptureBrowserGpuMode,
27
27
  resolveLocalBrowserGpuMode
28
- } from "./chunk-4WAMN4IF.js";
28
+ } from "./chunk-GYYFNAVA.js";
29
29
  import "./chunk-ZTZA4UWZ.js";
30
30
  import "./chunk-PBN6GBJE.js";
31
31
  import {
32
32
  assertWebGpuAdapterAvailable,
33
33
  compositionRequiresWebGpu
34
- } from "./chunk-VW5OMJNG.js";
35
- import "./chunk-TEXPOC5V.js";
36
- import "./chunk-TLYU5625.js";
34
+ } from "./chunk-QB6OM2BP.js";
35
+ import "./chunk-B25H4M4V.js";
36
+ import "./chunk-UUDQD62L.js";
37
37
  import "./chunk-DPVXBVLL.js";
38
- import "./chunk-TH4APNRP.js";
39
- import "./chunk-FOKUJKBN.js";
38
+ import "./chunk-X763EUBO.js";
39
+ import "./chunk-YLVI7VL5.js";
40
40
  import "./chunk-VC76R6W2.js";
41
41
  import "./chunk-OFQWTKPW.js";
42
42
  import "./chunk-TWWSYAKJ.js";
43
- import "./chunk-UVUAU3CH.js";
43
+ import "./chunk-ONY5CJXS.js";
44
44
  import "./chunk-HBBJFK6I.js";
45
45
  import "./chunk-PJ3HDUCY.js";
46
46
  import "./chunk-TQFG7HTI.js";
@@ -276,7 +276,7 @@ async function installSeekHelper(page) {
276
276
  }
277
277
  async function openCompositionPage(html, url, executablePath) {
278
278
  const puppeteer = await import("puppeteer-core");
279
- const { buildChromeArgs } = await import("./src-QX5PPANW.js");
279
+ const { buildChromeArgs } = await import("./src-6R4DC2YI.js");
280
280
  const size = resolveCompositionViewportFromHtml(html);
281
281
  const requestedGpuMode = resolveLocalBrowserGpuMode();
282
282
  const resolvedGpuMode = await resolveCaptureBrowserGpuMode(requestedGpuMode, executablePath);
@@ -544,8 +544,8 @@ async function captureMotionPathShot(projectDir, requestsIn, outPath, opts = {})
544
544
  const fit = opts.fit ?? true;
545
545
  const camera = parseAngle(opts.angle);
546
546
  const { ensureBrowser } = await import("./manager-NEVLEZK3.js");
547
- const { serveStaticProjectHtml } = await import("./staticProjectServer-WBXW2CA4.js");
548
- const { bundleToSingleHtml } = await import("./compiler-QMEZK6CU.js");
547
+ const { serveStaticProjectHtml } = await import("./staticProjectServer-RXAFGDK7.js");
548
+ const { bundleToSingleHtml } = await import("./compiler-YYOV2BJ7.js");
549
549
  const html = await bundleToSingleHtml(projectDir, { entryFile: opts.entryFile });
550
550
  const server = await serveStaticProjectHtml(
551
551
  projectDir,
@@ -0,0 +1,276 @@
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
+ import {
8
+ DEFAULT_TARGET_LUFS,
9
+ absoluteLoudnessPlan,
10
+ audioNormalizationPlan,
11
+ audioTags,
12
+ loudnessMeasureArgs,
13
+ measureAudio,
14
+ parseEbur128Summary,
15
+ requiredFfmpeg,
16
+ resolveLocalAudioPath,
17
+ updateAudioVolume
18
+ } from "./chunk-5ON5GH3X.js";
19
+ import {
20
+ resolveProject
21
+ } from "./chunk-US7SWKGC.js";
22
+ import "./chunk-IHFUKJOR.js";
23
+ import "./chunk-VBXJSCHR.js";
24
+ import "./chunk-J7XPPADY.js";
25
+ import "./chunk-VWG7OQKU.js";
26
+ import {
27
+ c
28
+ } from "./chunk-ZTZA4UWZ.js";
29
+ import "./chunk-SIVCJJHE.js";
30
+ import "./chunk-AMKC3AXA.js";
31
+ import {
32
+ defineCommand
33
+ } from "./chunk-S3S4TGEH.js";
34
+ import "./chunk-54HJ63Q2.js";
35
+ import {
36
+ failCommand
37
+ } from "./chunk-PBN6GBJE.js";
38
+ import "./chunk-QB6OM2BP.js";
39
+ import "./chunk-B25H4M4V.js";
40
+ import "./chunk-UUDQD62L.js";
41
+ import "./chunk-DPVXBVLL.js";
42
+ import "./chunk-X763EUBO.js";
43
+ import "./chunk-YLVI7VL5.js";
44
+ import "./chunk-VC76R6W2.js";
45
+ import "./chunk-OFQWTKPW.js";
46
+ import "./chunk-TWWSYAKJ.js";
47
+ import "./chunk-ONY5CJXS.js";
48
+ import "./chunk-HBBJFK6I.js";
49
+ import "./chunk-PJ3HDUCY.js";
50
+ import "./chunk-TQFG7HTI.js";
51
+ import "./chunk-GK4AIFIH.js";
52
+ import "./chunk-2PSPARWP.js";
53
+ import "./chunk-K4WIOZFP.js";
54
+ import "./chunk-XUXGIA7H.js";
55
+ import "./chunk-WERLJGIC.js";
56
+ import "./chunk-ISN5GRYI.js";
57
+ import "./chunk-NROJESOK.js";
58
+ import "./chunk-KNU5COPB.js";
59
+ import "./chunk-3GXQPCJC.js";
60
+ import "./chunk-RQVDTPGD.js";
61
+ import "./chunk-PMRBLBUP.js";
62
+ import "./chunk-M2WBOQ2Q.js";
63
+
64
+ // src/commands/normalize-audio.ts
65
+ import { existsSync, readFileSync, renameSync, writeFileSync } from "fs";
66
+ import { relative } from "path";
67
+ var DEFAULT_TOLERANCE_LU = 0.5;
68
+ function fail(message, json, cause) {
69
+ if (json) console.log(JSON.stringify({ ok: false, error: message }, null, 2));
70
+ else console.error(c.error(message));
71
+ failCommand(1, cause);
72
+ }
73
+ function byId(tags, rawId, role) {
74
+ const id = rawId.trim().replace(/^#/, "");
75
+ const tag = tags.find((candidate) => candidate.id === id);
76
+ if (!tag) throw new Error(`${role} audio #${id} was not found`);
77
+ return tag;
78
+ }
79
+ function selectedTags(html, referenceId, targetId) {
80
+ const tags = audioTags(html);
81
+ const referenceTag = byId(tags, referenceId, "Reference");
82
+ const targetTag = byId(tags, targetId, "Target");
83
+ if (referenceTag.id === targetTag.id) {
84
+ throw new Error("Reference and target must be different audio elements");
85
+ }
86
+ return { referenceTag, targetTag };
87
+ }
88
+ function existingAudioFile(projectDir, tag) {
89
+ const file = resolveLocalAudioPath(projectDir, tag.src);
90
+ if (!existsSync(file)) {
91
+ throw new Error(`Audio #${tag.id} file was not found: ${relative(projectDir, file)}`);
92
+ }
93
+ return file;
94
+ }
95
+ async function measuredPlan(projectDir, referenceTag, targetTag) {
96
+ const ffmpegPath = requiredFfmpeg();
97
+ const referenceFile = existingAudioFile(projectDir, referenceTag);
98
+ const targetFile = existingAudioFile(projectDir, targetTag);
99
+ const [referenceMeasurement, targetMeasurement] = await Promise.all([
100
+ measureAudio(ffmpegPath, referenceFile, referenceTag),
101
+ measureAudio(ffmpegPath, targetFile, targetTag)
102
+ ]);
103
+ return audioNormalizationPlan(
104
+ { id: referenceTag.id, volume: referenceTag.volume, ...referenceMeasurement },
105
+ { id: targetTag.id, volume: targetTag.volume, ...targetMeasurement }
106
+ );
107
+ }
108
+ function writeAtomically(path, contents) {
109
+ const temporary = `${path}.hf-normalize-${process.pid}.tmp`;
110
+ writeFileSync(temporary, contents);
111
+ renameSync(temporary, path);
112
+ }
113
+ function parsedTolerance(raw) {
114
+ const tolerance = Number(raw);
115
+ if (!Number.isFinite(tolerance) || tolerance < 0) {
116
+ throw new Error("--tolerance must be a non-negative number");
117
+ }
118
+ return tolerance;
119
+ }
120
+ function parsedLufs(raw) {
121
+ const lufs = Number(raw);
122
+ if (!Number.isFinite(lufs) || lufs >= 0) throw new Error("--lufs must be a negative number");
123
+ return lufs;
124
+ }
125
+ async function measuredAbsolutePlan(projectDir, targetTag, targetLufs) {
126
+ const measurement = await measureAudio(
127
+ requiredFfmpeg(),
128
+ existingAudioFile(projectDir, targetTag),
129
+ targetTag
130
+ );
131
+ return absoluteLoudnessPlan(
132
+ { id: targetTag.id, volume: targetTag.volume, ...measurement },
133
+ targetLufs
134
+ );
135
+ }
136
+ async function plannedNormalization(projectDir, html, options, tolerance) {
137
+ if (options.reference === void 0) {
138
+ const targetTag2 = byId(audioTags(html), options.target, "Target");
139
+ const plan2 = await measuredAbsolutePlan(projectDir, targetTag2, parsedLufs(options.lufs));
140
+ const withinTolerance2 = Math.abs(plan2.changeDb) <= tolerance;
141
+ return { targetTag: targetTag2, withinTolerance: withinTolerance2, plan: { mode: "absolute", ...plan2 } };
142
+ }
143
+ const { referenceTag, targetTag } = selectedTags(html, options.reference, options.target);
144
+ const plan = await measuredPlan(projectDir, referenceTag, targetTag);
145
+ const withinTolerance = Math.abs(plan.referenceLufs - plan.targetLufs) <= tolerance;
146
+ return { targetTag, withinTolerance, plan: { mode: "reference", ...plan } };
147
+ }
148
+ async function normalizeAudio(options) {
149
+ const project = resolveProject(options.dir);
150
+ const html = readFileSync(project.indexPath, "utf8");
151
+ const tolerance = parsedTolerance(options.tolerance);
152
+ const { targetTag, withinTolerance, plan } = await plannedNormalization(
153
+ project.dir,
154
+ html,
155
+ options,
156
+ tolerance
157
+ );
158
+ const wrote = options.write && !withinTolerance;
159
+ if (wrote) {
160
+ writeAtomically(
161
+ project.indexPath,
162
+ updateAudioVolume(readFileSync(project.indexPath, "utf8"), targetTag.id, plan.volume)
163
+ );
164
+ }
165
+ return { ok: true, wrote, withinTolerance, tolerance, indexPath: project.indexPath, ...plan };
166
+ }
167
+ var LIMIT_TEXT = {
168
+ "gain-ceiling": "stopped at the +12 dB authoring ceiling",
169
+ "true-peak": "stopped short of -1.5 dBTP"
170
+ };
171
+ function printMeasuredLine(result) {
172
+ if (result.mode === "reference") {
173
+ console.log(
174
+ `${c.bold(`#${result.referenceId}`)} ${result.referenceLufs.toFixed(1)} LUFS \u2192 ${c.bold(`#${result.targetId}`)} ${result.targetLufs.toFixed(1)} LUFS`
175
+ );
176
+ return;
177
+ }
178
+ const limit = result.limitedBy ? ` (${LIMIT_TEXT[result.limitedBy]})` : "";
179
+ console.log(
180
+ `${c.bold(`#${result.targetId}`)} ${result.sourceLufs.toFixed(1)} LUFS \u2192 ${result.projectedLufs.toFixed(1)} LUFS, target ${result.targetLufs.toFixed(1)}${limit}`
181
+ );
182
+ }
183
+ function printHumanResult(result) {
184
+ printMeasuredLine(result);
185
+ if (result.withinTolerance) {
186
+ console.log(
187
+ c.success(`Already matched within ${result.tolerance.toFixed(1)} LU; no change needed.`)
188
+ );
189
+ return;
190
+ }
191
+ console.log(
192
+ `Set #${result.targetId} data-volume ${result.previousVolume.toFixed(3)} \u2192 ${result.volume.toFixed(6)} (${result.changeDb >= 0 ? "+" : ""}${result.changeDb.toFixed(1)} dB).`
193
+ );
194
+ console.log(
195
+ result.wrote ? c.success(`Updated ${relative(process.cwd(), result.indexPath) || "index.html"}.`) : c.dim("Dry run only. Pass --write to persist this gain.")
196
+ );
197
+ }
198
+ var examples = [
199
+ [
200
+ "Bring one clip (audio or a video with sound) to -16 LUFS",
201
+ "hyperframes normalize-audio --target voiceover --write"
202
+ ],
203
+ [
204
+ "Measure two authored clips and preview the matching gain",
205
+ "hyperframes normalize-audio --reference target-audio --target user-audio"
206
+ ],
207
+ [
208
+ "Persist the measured gain into index.html",
209
+ "hyperframes normalize-audio --reference target-audio --target user-audio --write"
210
+ ]
211
+ ];
212
+ var normalize_audio_default = defineCommand({
213
+ meta: {
214
+ name: "normalize-audio",
215
+ description: "Normalize a clip with sound to an absolute LUFS target, or match it to another clip"
216
+ },
217
+ args: {
218
+ dir: { type: "positional", description: "Project directory", required: false },
219
+ reference: {
220
+ type: "string",
221
+ description: "Audio or video element id whose effective loudness should be preserved (omit to use --lufs)",
222
+ required: false
223
+ },
224
+ target: {
225
+ type: "string",
226
+ description: "Audio or video element id whose data-volume should be set",
227
+ required: true
228
+ },
229
+ lufs: {
230
+ type: "string",
231
+ description: `Absolute integrated loudness target without --reference (default ${DEFAULT_TARGET_LUFS})`,
232
+ default: String(DEFAULT_TARGET_LUFS)
233
+ },
234
+ write: {
235
+ type: "boolean",
236
+ description: "Persist the measured target gain into index.html",
237
+ default: false
238
+ },
239
+ tolerance: {
240
+ type: "string",
241
+ description: `Skip writes within this many LU (default ${DEFAULT_TOLERANCE_LU})`,
242
+ default: String(DEFAULT_TOLERANCE_LU)
243
+ },
244
+ json: { type: "boolean", description: "Print machine-readable output", default: false }
245
+ },
246
+ async run({ args }) {
247
+ try {
248
+ const result = await normalizeAudio({
249
+ dir: args.dir,
250
+ reference: args.reference,
251
+ target: args.target,
252
+ lufs: args.lufs,
253
+ tolerance: args.tolerance,
254
+ write: args.write
255
+ });
256
+ if (args.json) {
257
+ const { indexPath: _, ...jsonResult } = result;
258
+ console.log(JSON.stringify(jsonResult, null, 2));
259
+ return;
260
+ }
261
+ printHumanResult(result);
262
+ } catch (error) {
263
+ fail(error instanceof Error ? error.message : String(error), Boolean(args.json), error);
264
+ }
265
+ }
266
+ });
267
+ export {
268
+ audioNormalizationPlan,
269
+ audioTags,
270
+ normalize_audio_default as default,
271
+ examples,
272
+ loudnessMeasureArgs,
273
+ parseEbur128Summary,
274
+ resolveLocalAudioPath,
275
+ updateAudioVolume
276
+ };
@@ -14,22 +14,22 @@ import {
14
14
  render,
15
15
  resolveRenderTargets,
16
16
  waitForExit
17
- } from "./chunk-I77CAR4W.js";
17
+ } from "./chunk-KVOWTRD5.js";
18
18
  import "./chunk-2EAXUCCE.js";
19
19
  import "./chunk-X5HWXQPU.js";
20
20
  import "./chunk-TVCRUG2S.js";
21
21
  import "./chunk-AMKC3AXA.js";
22
- import "./chunk-VW5OMJNG.js";
23
- import "./chunk-TEXPOC5V.js";
24
- import "./chunk-TLYU5625.js";
22
+ import "./chunk-QB6OM2BP.js";
23
+ import "./chunk-B25H4M4V.js";
24
+ import "./chunk-UUDQD62L.js";
25
25
  import "./chunk-DPVXBVLL.js";
26
- import "./chunk-TH4APNRP.js";
27
- import "./chunk-FOKUJKBN.js";
26
+ import "./chunk-X763EUBO.js";
27
+ import "./chunk-YLVI7VL5.js";
28
28
  import "./chunk-VC76R6W2.js";
29
29
  import "./chunk-OFQWTKPW.js";
30
30
  import "./chunk-LCSMOLGX.js";
31
31
  import "./chunk-TWWSYAKJ.js";
32
- import "./chunk-UVUAU3CH.js";
32
+ import "./chunk-ONY5CJXS.js";
33
33
  import "./chunk-HBBJFK6I.js";
34
34
  import "./chunk-PJ3HDUCY.js";
35
35
  import "./chunk-TQFG7HTI.js";