hyperframes 0.8.143 → 0.8.145

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 (202) hide show
  1. package/README.md +3 -2
  2. package/dist/{add-Q5EYDUAY.js → add-B6OUH46W.js} +12 -12
  3. package/dist/{animatedGifPrep-H2DUQEZ3.js → animatedGifPrep-MIWRDJIO.js} +7 -7
  4. package/dist/{asset-C7JBYYX4.js → asset-XJ2B2PU3.js} +2 -2
  5. package/dist/{assetCataloger-FRO4G6OU.js → assetCataloger-A5ZLSCMZ.js} +3 -3
  6. package/dist/{auth-FRWLCO36.js → auth-5HOVCZMV.js} +1 -1
  7. package/dist/{autoUpdate-E4OZXQK6.js → autoUpdate-WVNL5K3D.js} +2 -2
  8. package/dist/{backgroundChecks-FSUVHN5L.js → backgroundChecks-IGF54SFH.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-4U73BYTU.js → batchRender-T6JEGCQV.js} +4 -4
  11. package/dist/{beats-U6KJWF35.js → beats-37T6Y6QP.js} +13 -13
  12. package/dist/{benchmark-5ONT7V7B.js → benchmark-ZVVLOWPP.js} +9 -9
  13. package/dist/{browser-R4DU46IE.js → browser-4SSJOLH4.js} +39 -55
  14. package/dist/{bundleWithLocalizedFonts-VH55VOAL.js → bundleWithLocalizedFonts-XWK423QP.js} +2 -2
  15. package/dist/{capture-OGQAEYKO.js → capture-2SF7YP57.js} +2 -2
  16. package/dist/{capture-26G2DPSI.js → capture-KZXOPBMO.js} +18 -18
  17. package/dist/{catalog-RKORTIUE.js → catalog-NLD4A2C6.js} +12 -12
  18. package/dist/{catch-up-4OBERRQO.js → catch-up-4BSRN6IR.js} +4 -4
  19. package/dist/{check-P2XDN57S.js → check-IA44QQWM.js} +66 -55
  20. package/dist/{checkBrowser-NTGJGAEA.js → checkBrowser-VM35KZMW.js} +81 -30
  21. package/dist/{chunk-LVX6NK36.js → chunk-3IBMBNYY.js} +1 -1
  22. package/dist/{chunk-6XMFEICO.js → chunk-3KU3PFDW.js} +77 -92
  23. package/dist/{chunk-PJU63L6W.js → chunk-4ORLNTET.js} +1 -1
  24. package/dist/{chunk-DF2BHILQ.js → chunk-4QWD6JYN.js} +3 -3
  25. package/dist/{chunk-BT27OYYX.js → chunk-5NRXZGKK.js} +18 -12
  26. package/dist/{chunk-UM2GRYM3.js → chunk-5WVW7P23.js} +3 -3
  27. package/dist/{chunk-I7QGQAZM.js → chunk-6LGNTUZN.js} +7 -7
  28. package/dist/{chunk-LAOCA3MQ.js → chunk-A4Q7W4LV.js} +13 -8
  29. package/dist/{chunk-4PFZPP2N.js → chunk-A6S35NYA.js} +54 -16
  30. package/dist/{chunk-QRKLPWEX.js → chunk-ADF3X6GM.js} +11 -2
  31. package/dist/chunk-AUWHD7RA.js +3753 -0
  32. package/dist/{chunk-W35EKBS6.js → chunk-BFACGEII.js} +2 -2
  33. package/dist/{chunk-HW4AKJ5F.js → chunk-BIAC7IJT.js} +1 -1
  34. package/dist/{chunk-ZLW2V65P.js → chunk-BSQ7XANM.js} +3 -2
  35. package/dist/{chunk-LCSMOLGX.js → chunk-BYSBRF24.js} +69 -8
  36. package/dist/{chunk-2LBBHMKT.js → chunk-CFUXNBWH.js} +1 -1
  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-FVYXDXEV.js → chunk-DWUKJQTO.js} +2 -2
  40. package/dist/{chunk-POLR33RB.js → chunk-EPE2HRJK.js} +15 -17
  41. package/dist/{chunk-UICWP23D.js → chunk-FBCULCAL.js} +3 -3
  42. package/dist/{chunk-F26LCYRY.js → chunk-FDT6KQV4.js} +142 -81
  43. package/dist/{chunk-P7THMINS.js → chunk-FXJJCPPB.js} +1 -1
  44. package/dist/{chunk-BYK73CR7.js → chunk-GBGJ7A3D.js} +5 -5
  45. package/dist/{sherpa-LVIUEAGF.js → chunk-GEMJYBRU.js} +11 -45
  46. package/dist/{chunk-KO5QBV73.js → chunk-GMAJB2P6.js} +1 -1
  47. package/dist/{chunk-KQLGTGE5.js → chunk-GRY3PN3K.js} +2 -2
  48. package/dist/{chunk-7UYBQ6NF.js → chunk-GXJEGZL2.js} +30 -20
  49. package/dist/{chunk-KJJLA674.js → chunk-GZVP4TWN.js} +1 -46
  50. package/dist/{chunk-QVYVUCWD.js → chunk-HB7FJOY4.js} +1 -1
  51. package/dist/{chunk-QFN7NVWM.js → chunk-ICKDMTLA.js} +1 -1
  52. package/dist/{chunk-XONFUK3M.js → chunk-IEIJRMLZ.js} +47 -35
  53. package/dist/{chunk-PAGIICKN.js → chunk-IHTRYDFN.js} +1 -1
  54. package/dist/chunk-IR35BCLK.js +13 -0
  55. package/dist/{chunk-KDPYVTEU.js → chunk-KBB4RG6F.js} +6 -1
  56. package/dist/{chunk-ZQQ3SEIE.js → chunk-KIFHYXPB.js} +99 -31
  57. package/dist/{chunk-TAMQYQGJ.js → chunk-LAFJSYDL.js} +1 -1
  58. package/dist/{chunk-U3X3TPBW.js → chunk-MAYCCGMQ.js} +11 -2
  59. package/dist/{chunk-HC7EVDEL.js → chunk-OB5MJR4W.js} +1 -1
  60. package/dist/{chunk-N3DQEVSI.js → chunk-OTHDVXOJ.js} +8 -5
  61. package/dist/{chunk-Y6QL2LGO.js → chunk-PLR7Z6TC.js} +1 -1
  62. package/dist/{chunk-OBXQRJWQ.js → chunk-QATWIE4K.js} +1 -1
  63. package/dist/{chunk-HLYOEIWM.js → chunk-QLSM7K5S.js} +2 -2
  64. package/dist/{chunk-LW6HO6U3.js → chunk-R42WWQVB.js} +1 -1
  65. package/dist/{chunk-HMT2RPZU.js → chunk-U5QY7KTN.js} +13 -9
  66. package/dist/chunk-UPFUC4DB.js +136 -0
  67. package/dist/{chunk-33RZPZ4K.js → chunk-UXO2L7HJ.js} +366 -156
  68. package/dist/{chunk-GNBGPUJ7.js → chunk-VHFEMFYL.js} +3 -3
  69. package/dist/{chunk-4M4EC7JX.js → chunk-VRW6EBHV.js} +12 -1
  70. package/dist/{chunk-VIVBA6E6.js → chunk-XBX4QJP7.js} +1 -1
  71. package/dist/{chunk-CLOH4LIB.js → chunk-XIHCMVMG.js} +2 -2
  72. package/dist/{chunk-TVCRUG2S.js → chunk-ZEUONDQG.js} +1 -1
  73. package/dist/{chunk-OSSHSIMD.js → chunk-ZF7SXQJ7.js} +1 -1
  74. package/dist/{chunk-5FISWJ37.js → chunk-ZIYZ77MR.js} +4 -4
  75. package/dist/{chunk-3NE7ZYU2.js → chunk-ZSVUAVMT.js} +3 -3
  76. package/dist/{clean-YHGPY33K.js → clean-RDKJB5FK.js} +18 -18
  77. package/dist/cli.js +68 -56
  78. package/dist/{cloud-DOFI5ISR.js → cloud-QVPVVNCW.js} +4 -4
  79. package/dist/{cloudrun-KTZ4XDHL.js → cloudrun-3RE2UCQG.js} +4 -4
  80. package/dist/{compare-SMMIZN2C.js → compare-LEDOY7MO.js} +25 -25
  81. package/dist/{compiler-TEXQWW6N.js → compiler-F54OZZPM.js} +10 -4
  82. package/dist/{component-B3GCNGSS.js → component-N42M67WY.js} +3 -3
  83. package/dist/{compositions-OQNZZTKF.js → compositions-VB2J2LZI.js} +11 -11
  84. package/dist/{delete-EL5LVSEP.js → delete-Q6RWMJ4Z.js} +2 -2
  85. package/dist/{dist-5UVIRMSM.js → dist-KDJTFJHA.js} +2 -2
  86. package/dist/{dist-XN234YFQ.js → dist-Q4BI5A73.js} +4 -4
  87. package/dist/{doctor-UOL3OI2A.js → doctor-JMMUHDRV.js} +13 -13
  88. package/dist/{events-K2DB2PBC.js → events-6ZBSIBE5.js} +2 -2
  89. package/dist/{events-NIZBS6S7.js → events-RGUAHIBW.js} +3 -3
  90. package/dist/{feedback-QMP4E6L7.js → feedback-FIID6MZW.js} +9 -9
  91. package/dist/{ffmpeg-QIUFEFTY.js → ffmpeg-T5SH2EFJ.js} +3 -2
  92. package/dist/{figma-2AUJRNVC.js → figma-BL3JJC36.js} +3 -3
  93. package/dist/fontLocalizeCli.js +9 -9
  94. package/dist/{get-P5NC7SRM.js → get-P46GS7S6.js} +2 -2
  95. package/dist/{gpuPolicy-7N5MCE2G.js → gpuPolicy-AQ2BPLBK.js} +11 -9
  96. package/dist/{grade-compare-HV5AFZ6P.js → grade-compare-GDCWU7ZZ.js} +27 -27
  97. package/dist/{help-3TSTXBLN.js → help-HJR3RWFG.js} +2 -2
  98. package/dist/{history-D65XFJ6D.js → history-GGO5AWJB.js} +5 -5
  99. package/dist/hyperframe-runtime.js +59 -59
  100. package/dist/hyperframe.manifest.json +1 -1
  101. package/dist/hyperframe.runtime.iife.js +59 -59
  102. package/dist/hyperframes-player.global.js +3 -3
  103. package/dist/{info-TXV7MLFO.js → info-3GFWUBJC.js} +8 -8
  104. package/dist/{init-OSDMJZJV.js → init-36OPU2ZG.js} +35 -36
  105. package/dist/{inspect-RQQSAYIJ.js → inspect-F2HEL5ON.js} +26 -26
  106. package/dist/{installer-CDOB32HE.js → installer-NI6P6GC4.js} +5 -5
  107. package/dist/{keyframes-V75Q6GRM.js → keyframes-7OY3LMAZ.js} +6 -6
  108. package/dist/{lambda-RODV4RCX.js → lambda-6GJIWNJ3.js} +5 -5
  109. package/dist/{layout-IZAI5SFC.js → layout-FTMLNL5A.js} +26 -26
  110. package/dist/{lint-PLXOXY5R.js → lint-U6POHUON.js} +8 -8
  111. package/dist/{lintProject-OQ6H6XBR.js → lintProject-UBZ3TDHU.js} +2 -2
  112. package/dist/{list-BQBPNKDZ.js → list-IP5KI5Q2.js} +2 -2
  113. package/dist/{login-NP6F4FHC.js → login-4VWTVPHG.js} +4 -4
  114. package/dist/{manager-CT3D67CG.js → manager-BPSR6D3V.js} +2 -2
  115. package/dist/{manager-GXYF4AVO.js → manager-YKMHR6LN.js} +8 -5
  116. package/dist/{media-treatment-PXGMZ4A4.js → media-treatment-XGV44AGV.js} +16 -13
  117. package/dist/{models-CEZM6XZ7.js → models-UCXB6UR5.js} +59 -19
  118. package/dist/{motionShot-R4GHYWYM.js → motionShot-WPVNBXKA.js} +21 -22
  119. package/dist/{normalize-H6KUHHEI.js → normalize-U3SL5VG3.js} +2 -2
  120. package/dist/{normalize-audio-MQ7NFCOV.js → normalize-audio-TYJ3UEHO.js} +6 -6
  121. package/dist/{open-AKQTGNXF.js → open-HENOLVB2.js} +4 -4
  122. package/dist/parakeetRunner-VFQ6WFTD.js +67 -0
  123. package/dist/{pipeline-SYJYP2RM.js → pipeline-6WPSC3H4.js} +10 -9
  124. package/dist/{play-NBH4B7PL.js → play-OI53WNUM.js} +19 -19
  125. package/dist/{preflight-Y5DN5D37.js → preflight-B4AFK3RG.js} +4 -4
  126. package/dist/{present-XAX55CFS.js → present-NGMEQ4NO.js} +15 -15
  127. package/dist/{preview-OLANKNFA.js → preview-VT2HWRWZ.js} +19 -19
  128. package/dist/{producer-Q6YNZZUJ.js → producer-7TYEAUF7.js} +1 -1
  129. package/dist/{projectConfig-EM26P45P.js → projectConfig-B2AF5DXY.js} +7 -7
  130. package/dist/{publication-OXWJZKSX.js → publication-2PANQVC6.js} +3 -3
  131. package/dist/{publish-4VBWP2UB.js → publish-O5OL42BG.js} +11 -11
  132. package/dist/{remove-background-REB7427G.js → remove-background-T2JM6UVP.js} +11 -10
  133. package/dist/{render-K25YOG3M.js → render-OLPKOJRU.js} +11 -11
  134. package/dist/{render-3CVZ2SZG.js → render-W7OFXDOJ.js} +4 -4
  135. package/dist/{render-TSE75QUL.js → render-Z253WHBK.js} +26 -26
  136. package/dist/{render-batch-GGUOK3DS.js → render-batch-46IIBFKL.js} +4 -4
  137. package/dist/{renderCancellation-PZRWB53I.js → renderCancellation-QTZOCDJ2.js} +10 -9
  138. package/dist/renderSetupWorker.js +32 -44
  139. package/dist/{resolver-S5VK6UCB.js → resolver-J2PL5FVJ.js} +5 -5
  140. package/dist/sherpa-ZF42V3RN.js +75 -0
  141. package/dist/sherpaWorker.js +2 -1
  142. package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +2 -20
  143. package/dist/skills/hyperframes/scripts/lib/main-module.mjs +13 -0
  144. package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +51 -0
  145. package/dist/skills/hyperframes/scripts/plugin-cli.mjs +4 -3
  146. package/dist/skills/hyperframes/scripts/plugin-cli.test.mjs +5 -1
  147. package/dist/skills/hyperframes-cli/SKILL.md +2 -0
  148. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +1 -1
  149. package/dist/skills/media-use/audio/scripts/heygen-voice.mjs +2 -2
  150. package/dist/skills/media-use/audio/scripts/lib/main-module.mjs +13 -0
  151. package/dist/skills/media-use/scripts/lib/cube-validate.mjs +2 -3
  152. package/dist/skills/media-use/scripts/lib/main-module.mjs +13 -0
  153. package/dist/{skills-I65FU5HD.js → skills-ACDOO3PX.js} +7 -7
  154. package/dist/{skillsUpdateCheck-J57RNNIV.js → skillsUpdateCheck-L5OXVVPU.js} +3 -3
  155. package/dist/{snapshot-YROOGY22.js → snapshot-UUVNZOW5.js} +28 -28
  156. package/dist/{src-JO5JOV7Y.js → src-BSLKXEGX.js} +10 -6
  157. package/dist/{src-X426BZAG.js → src-KS3AWFGT.js} +8 -8
  158. package/dist/{staticProjectServer-5VMBS262.js → staticProjectServer-2TTVGPQH.js} +15 -15
  159. package/dist/studio/assets/{hyperframes-player-BXSuksFh.js → hyperframes-player-DZ5JrMDg.js} +3 -3
  160. package/dist/studio/assets/{index-FgyO_5Kv.js → index-BOs6C0aZ.js} +1 -1
  161. package/dist/studio/assets/{index-BgOVCqjo.js → index-BqFRhNZa.js} +1 -1
  162. package/dist/studio/assets/{index-J7jpL4pj.js → index-D8W0a0Z9.js} +149 -149
  163. package/dist/studio/{chunk-TFLU2MGI.js → chunk-6JY3MTIX.js} +108 -2
  164. package/dist/studio/{chunk-H2DUOXTF.js → chunk-NZPJUZKT.js} +100 -4
  165. package/dist/studio/{chunk-UYWON5AX.js → chunk-TP6D3U37.js} +7 -100
  166. package/dist/studio/{chunk-LOVBLSMR.js → chunk-Y2OHHNM2.js} +35 -19
  167. package/dist/studio/{domEditingLayers-KBTPQKGA.js → domEditingLayers-PTP2ICGM.js} +3 -3
  168. package/dist/studio/index.d.ts +8 -5
  169. package/dist/studio/index.html +1 -1
  170. package/dist/studio/index.js +545 -495
  171. package/dist/studio/player.js +3 -3
  172. package/dist/studio/ui.d.ts +4 -5
  173. package/dist/studio/ui.js +1 -1
  174. package/dist/{studio-api-VRBZUGAE.js → studio-api-WYWF7XRC.js} +9 -9
  175. package/dist/{studioServer-DBNKZ6I6.js → studioServer-3FG4YTP7.js} +72 -54
  176. package/dist/{telemetry-CXAX3TO3.js → telemetry-PAOOB4T4.js} +3 -3
  177. package/dist/{timeline-VQ34WH7J.js → timeline-JIIJKKPC.js} +69 -47
  178. package/dist/{tokens-62R7VFAZ.js → tokens-3QRAM75Z.js} +2 -2
  179. package/dist/{transcribe-XOHPPL2O.js → transcribe-QSBP5MUG.js} +115 -51
  180. package/dist/{transcribe-7KR7IPJA.js → transcribe-SZB6UMXE.js} +14 -12
  181. package/dist/{tts-MUV42JXT.js → tts-B6AHFQEO.js} +1 -1
  182. package/dist/{updateCheck-POYNH3B5.js → updateCheck-V3DSB26K.js} +2 -2
  183. package/dist/{upgrade-NBNOT7J2.js → upgrade-L5GISOEV.js} +2 -2
  184. package/dist/{urlDownloader-3NS63A7B.js → urlDownloader-52FERT4X.js} +6 -6
  185. package/dist/{validate-Y2QDHAEP.js → validate-HVVLX7KO.js} +20 -20
  186. package/dist/{video-SJDMTSTL.js → video-MEOWRMFG.js} +7 -7
  187. package/package.json +1 -1
  188. package/dist/chunk-6TPZSTCL.js +0 -3681
  189. package/dist/studio/chunk-EEXSYY5F.js.map +0 -1
  190. package/dist/studio/chunk-H2DUOXTF.js.map +0 -1
  191. package/dist/studio/chunk-LOVBLSMR.js.map +0 -1
  192. package/dist/studio/chunk-PZ5AY32C.js.map +0 -1
  193. package/dist/studio/chunk-TFLU2MGI.js.map +0 -1
  194. package/dist/studio/chunk-UYWON5AX.js.map +0 -1
  195. package/dist/studio/domEditingLayers-KBTPQKGA.js.map +0 -1
  196. package/dist/studio/index.css.map +0 -1
  197. package/dist/studio/index.js.map +0 -1
  198. package/dist/studio/player.js.map +0 -1
  199. package/dist/studio/styles/tailwind-preset.js.map +0 -1
  200. package/dist/studio/ui.js.map +0 -1
  201. package/dist/{screenshotCapture-TEUIWXWN.js → screenshotCapture-3JXXUZND.js} +3 -3
  202. package/dist/{synthesize-C3IWDAXF.js → synthesize-UCI4X5O7.js} +4 -4
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-VIVBA6E6.js";
9
+ } from "./chunk-XBX4QJP7.js";
10
10
  import {
11
11
  readCompositionFps
12
12
  } from "./chunk-WPNE5NEP.js";
@@ -14,7 +14,7 @@ import "./chunk-K2FLNJVB.js";
14
14
  import {
15
15
  applyFileMutations,
16
16
  duplicateElementInHtml
17
- } from "./chunk-7UYBQ6NF.js";
17
+ } from "./chunk-GXJEGZL2.js";
18
18
  import {
19
19
  findSyncPartner,
20
20
  patchElementInHtml,
@@ -22,28 +22,30 @@ import {
22
22
  removeElementFromHtml,
23
23
  splitElementInHtml,
24
24
  syncOffsetFrames
25
- } from "./chunk-UM2GRYM3.js";
25
+ } from "./chunk-5WVW7P23.js";
26
26
  import {
27
27
  fileContentVersion
28
28
  } from "./chunk-QZ3AZTXI.js";
29
- import "./chunk-BFDJ63J5.js";
30
- import "./chunk-ZQQ3SEIE.js";
29
+ import "./chunk-DDIVWXN7.js";
30
+ import "./chunk-KIFHYXPB.js";
31
31
  import "./chunk-G75ENCEZ.js";
32
32
  import "./chunk-EOVYQ3IG.js";
33
33
  import {
34
34
  ensureDOMParser
35
35
  } from "./chunk-442JNXRM.js";
36
36
  import "./chunk-374QQGBQ.js";
37
- import "./chunk-QFN7NVWM.js";
38
- import "./chunk-OSSHSIMD.js";
37
+ import "./chunk-ICKDMTLA.js";
38
+ import "./chunk-ZF7SXQJ7.js";
39
39
  import "./chunk-VWG7OQKU.js";
40
40
  import "./chunk-GQJZORQP.js";
41
41
  import "./chunk-AMKC3AXA.js";
42
42
  import {
43
- assertKnownFlags,
44
43
  resolveExtraPositionals
45
- } from "./chunk-KJJLA674.js";
44
+ } from "./chunk-GZVP4TWN.js";
46
45
  import "./chunk-K4WKGXRC.js";
46
+ import {
47
+ assertKnownFlags
48
+ } from "./chunk-UPFUC4DB.js";
47
49
  import {
48
50
  defineCommand
49
51
  } from "./chunk-S3S4TGEH.js";
@@ -59,8 +61,8 @@ import {
59
61
  extractMediaMetadata,
60
62
  resolveReferencedDuration,
61
63
  resolveReferencedStart
62
- } from "./chunk-33RZPZ4K.js";
63
- import "./chunk-F26LCYRY.js";
64
+ } from "./chunk-UXO2L7HJ.js";
65
+ import "./chunk-FDT6KQV4.js";
64
66
  import {
65
67
  ensureHfIds
66
68
  } from "./chunk-NE55C6S5.js";
@@ -73,14 +75,14 @@ import {
73
75
  resolveMediaStartSeconds,
74
76
  sameInstant,
75
77
  spansShareTime
76
- } from "./chunk-4M4EC7JX.js";
78
+ } from "./chunk-VRW6EBHV.js";
77
79
  import {
78
80
  HF_AUDIO_AUTOMATION_ATTR,
79
81
  HF_AUDIO_FX_ATTR,
80
82
  parseAudioFxChain,
81
83
  parseAutomation,
82
84
  resolveAutomation
83
- } from "./chunk-6TPZSTCL.js";
85
+ } from "./chunk-AUWHD7RA.js";
84
86
  import "./chunk-VC76R6W2.js";
85
87
  import "./chunk-YA62XGXS.js";
86
88
  import {
@@ -93,7 +95,7 @@ import "./chunk-T76PLPD6.js";
93
95
  import "./chunk-FXMKHHPO.js";
94
96
  import "./chunk-RQVDTPGD.js";
95
97
  import "./chunk-TWWSYAKJ.js";
96
- import "./chunk-XONFUK3M.js";
98
+ import "./chunk-IEIJRMLZ.js";
97
99
  import "./chunk-IWFLMU2N.js";
98
100
  import "./chunk-APDLWWFG.js";
99
101
  import "./chunk-PJ3HDUCY.js";
@@ -104,18 +106,18 @@ import {
104
106
  readMediaOffsetSeconds,
105
107
  readPlaybackRate,
106
108
  resolveMediaDuration
107
- } from "./chunk-ZLW2V65P.js";
109
+ } from "./chunk-BSQ7XANM.js";
108
110
  import "./chunk-SDYDNHEE.js";
109
111
  import "./chunk-2PSPARWP.js";
110
112
  import "./chunk-T42U2W2R.js";
111
113
  import {
112
114
  withMeta
113
- } from "./chunk-Y6QL2LGO.js";
115
+ } from "./chunk-PLR7Z6TC.js";
114
116
  import "./chunk-K4WIOZFP.js";
115
117
  import "./chunk-XUXGIA7H.js";
116
118
  import "./chunk-WERLJGIC.js";
117
119
  import "./chunk-ISN5GRYI.js";
118
- import "./chunk-W35EKBS6.js";
120
+ import "./chunk-BFACGEII.js";
119
121
  import "./chunk-KNU5COPB.js";
120
122
  import "./chunk-3GXQPCJC.js";
121
123
  import "./chunk-ZTZA4UWZ.js";
@@ -1067,16 +1069,10 @@ async function runApply(args) {
1067
1069
  `${plan ? "planned" : "applied"} ${inputs.length} file${inputs.length === 1 ? "" : "s"}`
1068
1070
  );
1069
1071
  }
1070
- async function runUndo(args) {
1071
- const project = resolveProject(typeof args.dir === "string" ? args.dir : void 0);
1072
- const json = args.json === true;
1073
- const input = typeof args.receipt === "string" ? args.receipt : positional(args)[1];
1074
- if (!input)
1075
- return refuse(
1076
- "timeline undo",
1077
- { reason: "an undo receipt is required", fix: "pass the receipt JSON or its file" },
1078
- json
1079
- );
1072
+ function isUndoReceipt(value) {
1073
+ return isRecord(value) && typeof value.file === "string" && typeof value.version === "string" && typeof value.backupPath === "string";
1074
+ }
1075
+ function readUndoInput(input) {
1080
1076
  let raw;
1081
1077
  try {
1082
1078
  raw = readFileSync3(input, "utf-8");
@@ -1087,37 +1083,63 @@ async function runUndo(args) {
1087
1083
  try {
1088
1084
  parsed = JSON.parse(raw);
1089
1085
  } catch {
1090
- return refuse(
1091
- "timeline undo",
1092
- { reason: "undo receipt is not valid JSON", fix: "pass the applied JSON receipt" },
1093
- json
1094
- );
1086
+ return {
1087
+ ok: false,
1088
+ reason: "undo receipt is not valid JSON",
1089
+ fix: "pass the applied JSON receipt"
1090
+ };
1091
+ }
1092
+ const value = isRecord(parsed) && "receipt" in parsed ? parsed.receipt : parsed;
1093
+ const values = Array.isArray(value) ? value : [value];
1094
+ if (!values.every(isUndoReceipt)) {
1095
+ return {
1096
+ ok: false,
1097
+ reason: "undo receipt is missing file, version, or backupPath",
1098
+ fix: "pass an applied timeline receipt"
1099
+ };
1095
1100
  }
1096
- const value = isRecord(parsed) && isRecord(parsed.receipt) ? parsed.receipt : parsed;
1097
- if (!isRecord(value) || typeof value.file !== "string" || typeof value.version !== "string" || typeof value.backupPath !== "string") {
1101
+ return { ok: true, receipts: values, batch: Array.isArray(value) };
1102
+ }
1103
+ async function runUndo(args) {
1104
+ const project = resolveProject(typeof args.dir === "string" ? args.dir : void 0);
1105
+ const json = args.json === true;
1106
+ const input = typeof args.receipt === "string" ? args.receipt : positional(args)[1];
1107
+ if (!input)
1098
1108
  return refuse(
1099
1109
  "timeline undo",
1100
- {
1101
- reason: "undo receipt is missing file, version, or backupPath",
1102
- fix: "pass an applied timeline receipt"
1103
- },
1110
+ { reason: "an undo receipt is required", fix: "pass the receipt JSON or its file" },
1104
1111
  json
1105
1112
  );
1113
+ const undo = readUndoInput(input);
1114
+ if (!undo.ok) return refuse("timeline undo", undo, json);
1115
+ const inputs = undo.receipts.map((receipt) => {
1116
+ const target = join(project.dir, receipt.file);
1117
+ return {
1118
+ sourceFile: receipt.file,
1119
+ absPath: target,
1120
+ before: readFileSync3(target, "utf-8"),
1121
+ after: readFileSync3(join(project.dir, receipt.backupPath), "utf-8"),
1122
+ expectedVersion: receipt.version
1123
+ };
1124
+ });
1125
+ let receipts;
1126
+ try {
1127
+ receipts = applyFileMutations(project.dir, inputs);
1128
+ } catch (error) {
1129
+ if (isFileChanged(error))
1130
+ return refusal(error.message, "read the latest timeline before retrying undo", json);
1131
+ throw error;
1106
1132
  }
1107
- const backup = join(project.dir, value.backupPath);
1108
- const target = join(project.dir, value.file);
1109
- const before = readFileSync3(target, "utf-8");
1110
- const after = readFileSync3(backup, "utf-8");
1111
- const receipts = applyFileMutations(project.dir, [
1112
- { sourceFile: value.file, absPath: target, before, after, expectedVersion: value.version }
1113
- ]);
1114
1133
  const result = {
1115
1134
  ok: true,
1116
1135
  receipt: receipts.map((receipt) => publicReceipt(receipt)),
1117
- file: value.file
1136
+ file: undo.batch ? undo.receipts.map((receipt) => receipt.file) : undo.receipts[0].file
1118
1137
  };
1119
1138
  if (json) console.log(JSON.stringify(withMeta(result), null, 2));
1120
- else console.log(`undid ${value.file}`);
1139
+ else
1140
+ console.log(
1141
+ undo.batch ? `undid ${receipts.length} file${receipts.length === 1 ? "" : "s"}` : `undid ${undo.receipts[0].file}`
1142
+ );
1121
1143
  }
1122
1144
 
1123
1145
  // src/timeline/a2MutationCommand.ts
@@ -11,7 +11,7 @@ import {
11
11
  tokensToVariables,
12
12
  upsertBindings,
13
13
  withFigmaErrors
14
- } from "./chunk-LVX6NK36.js";
14
+ } from "./chunk-3IBMBNYY.js";
15
15
  import "./chunk-K2FLNJVB.js";
16
16
  import {
17
17
  defineCommand
@@ -76,7 +76,7 @@ var tokens_default = defineCommand({
76
76
  console.log("add to data-composition-variables:");
77
77
  console.log(JSON.stringify(result.entries, null, 2));
78
78
  }
79
- const { trackFigmaImport } = await import("./telemetry-CXAX3TO3.js");
79
+ const { trackFigmaImport } = await import("./telemetry-PAOOB4T4.js");
80
80
  trackFigmaImport({
81
81
  phase: "tokens",
82
82
  tokensMode: result.mode,
@@ -10,13 +10,13 @@ import {
10
10
  import {
11
11
  DEFAULT_MODEL,
12
12
  isWhisperUnavailable
13
- } from "./chunk-U3X3TPBW.js";
13
+ } from "./chunk-MAYCCGMQ.js";
14
14
  import "./chunk-BHVFTYSI.js";
15
- import "./chunk-TVCRUG2S.js";
15
+ import "./chunk-ZEUONDQG.js";
16
16
  import {
17
17
  trackTranscribeUnavailable
18
- } from "./chunk-QFN7NVWM.js";
19
- import "./chunk-OSSHSIMD.js";
18
+ } from "./chunk-ICKDMTLA.js";
19
+ import "./chunk-ZF7SXQJ7.js";
20
20
  import "./chunk-VWG7OQKU.js";
21
21
  import "./chunk-GQJZORQP.js";
22
22
  import "./chunk-AMKC3AXA.js";
@@ -34,30 +34,33 @@ import {
34
34
  import "./chunk-USDEMXXL.js";
35
35
  import "./chunk-T76PLPD6.js";
36
36
  import "./chunk-FXMKHHPO.js";
37
- import "./chunk-LCSMOLGX.js";
37
+ import "./chunk-BYSBRF24.js";
38
38
  import "./chunk-PJ3HDUCY.js";
39
39
  import "./chunk-K4WIOZFP.js";
40
40
  import "./chunk-XUXGIA7H.js";
41
41
  import "./chunk-WERLJGIC.js";
42
42
  import "./chunk-ISN5GRYI.js";
43
- import "./chunk-W35EKBS6.js";
43
+ import "./chunk-BFACGEII.js";
44
44
  import {
45
45
  normalizeErrorMessage
46
46
  } from "./chunk-KNU5COPB.js";
47
47
  import {
48
+ PARAKEET_INSTALL_COMMAND,
48
49
  PARAKEET_LANGUAGES,
49
- findParakeet,
50
50
  parakeetSpeaks,
51
51
  transcribeWithParakeet
52
- } from "./chunk-KDPYVTEU.js";
52
+ } from "./chunk-KBB4RG6F.js";
53
+ import {
54
+ TRANSCRIPT_FILE
55
+ } from "./chunk-IR35BCLK.js";
53
56
  import {
54
57
  c
55
58
  } from "./chunk-ZTZA4UWZ.js";
56
59
  import "./chunk-M2WBOQ2Q.js";
57
60
 
58
61
  // src/commands/transcribe.ts
59
- import { existsSync, rmSync, writeFileSync } from "fs";
60
- import { resolve, join, extname, dirname } from "path";
62
+ import { existsSync, realpathSync, rmSync, statSync, writeFileSync } from "fs";
63
+ import { resolve, join, extname, dirname, basename } from "path";
61
64
  var examples = [
62
65
  ["Transcribe an audio file", "hyperframes transcribe audio.mp3"],
63
66
  ["Transcribe a video file", "hyperframes transcribe video.mp4"],
@@ -66,6 +69,7 @@ var examples = [
66
69
  ["Import an existing SRT file", "hyperframes transcribe subtitles.srt"],
67
70
  ["Import an OpenAI Whisper JSON response", "hyperframes transcribe response.json"],
68
71
  ["Export captions to SRT", "hyperframes transcribe transcript.json --to srt"],
72
+ ["Transcribe a video straight to VTT captions", "hyperframes transcribe video.mp4 --to vtt"],
69
73
  [
70
74
  "Export single-word/CJK captions without re-grouping",
71
75
  "hyperframes transcribe transcript.json --to vtt --preserve-cues"
@@ -110,7 +114,7 @@ var transcribe_default = defineCommand({
110
114
  },
111
115
  to: {
112
116
  type: "string",
113
- description: "Export transcript sidecar format: srt or vtt"
117
+ description: "Write an srt or vtt caption sidecar: exported from a transcript file, or written after transcribing audio/video"
114
118
  },
115
119
  output: {
116
120
  type: "string",
@@ -147,15 +151,9 @@ var transcribe_default = defineCommand({
147
151
  const dir = resolve(args.dir ?? dirname(inputPath));
148
152
  const ext = extname(inputPath).toLowerCase();
149
153
  const isImport = ext === ".json" || ext === ".srt" || ext === ".vtt";
150
- const to = parseExportFormat(args.to, args.json);
151
- if (to) {
152
- if (!isImport) {
153
- failWith(
154
- "--to can only export from transcript files (.json, .srt, .vtt). Run transcribe first.",
155
- args.json
156
- );
157
- }
158
- return exportTranscript(inputPath, dir, to, args.output, args.json, args["preserve-cues"]);
154
+ const sidecar = parseSidecar(args, inputPath, dir);
155
+ if (sidecar && isImport) {
156
+ return exportTranscript(inputPath, sidecar, args.json);
159
157
  }
160
158
  if (isImport) {
161
159
  return importTranscript(inputPath, dir, args.json);
@@ -168,7 +166,8 @@ var transcribe_default = defineCommand({
168
166
  json: args.json,
169
167
  optional: args.optional,
170
168
  installRuntime: args["runtime-install"],
171
- timeoutMs
169
+ timeoutMs,
170
+ sidecar
172
171
  });
173
172
  }
174
173
  });
@@ -199,14 +198,47 @@ function parseExportFormat(value, json) {
199
198
  if (normalized === "srt" || normalized === "vtt") return normalized;
200
199
  failWith(`Unsupported caption export format: ${value}. Use srt or vtt.`, json);
201
200
  }
201
+ function parseSidecar(args, inputPath, dir) {
202
+ const to = parseExportFormat(args.to, args.json);
203
+ if (!to) return void 0;
204
+ const outPath = resolve(args.output ?? join(dir, `transcript.${to}`));
205
+ const keep = [inputPath, join(dir, TRANSCRIPT_FILE)];
206
+ const problem = args.output !== void 0 && outputProblem(args.output, outPath, to) || overwriteProblem(outPath, keep);
207
+ if (problem) failWith(problem, args.json);
208
+ return { to, outPath, preserveCues: args["preserve-cues"], keep };
209
+ }
210
+ function outputProblem(output, outPath, to) {
211
+ if (!output) return "--output needs a file path";
212
+ const folder = dirname(outPath);
213
+ if (!existsSync(folder) || !statSync(folder).isDirectory()) {
214
+ return `Output folder not found: ${folder}`;
215
+ }
216
+ if (/[\\/]$/.test(output) || existsSync(outPath) && statSync(outPath).isDirectory()) {
217
+ return `--output is a folder; give a file path such as ${join(outPath, `transcript.${to}`)}`;
218
+ }
219
+ return void 0;
220
+ }
221
+ function overwriteProblem(outPath, keep) {
222
+ const hit = keep.find((file) => sameFile(outPath, file));
223
+ return hit && `The caption file would overwrite ${hit}; choose another file with --output`;
224
+ }
225
+ function sameFile(out, file) {
226
+ if (existsSync(out) && existsSync(file)) {
227
+ const [a, b] = [statSync(out, { bigint: true }), statSync(file, { bigint: true })];
228
+ if (a.ino !== 0n && b.ino !== 0n) return a.dev === b.dev && a.ino === b.ino;
229
+ return realpathSync.native(out) === realpathSync.native(file);
230
+ }
231
+ const realDir = (p) => existsSync(dirname(p)) ? realpathSync.native(dirname(p)) : dirname(p);
232
+ return realDir(out) === realDir(file) && basename(out).toLowerCase() === basename(file).toLowerCase();
233
+ }
202
234
  function exitNoWords(json) {
203
235
  failWith("No words found in transcript.", json);
204
236
  }
205
237
  async function importTranscript(inputPath, dir, json) {
206
- const { loadTranscript, patchCaptionHtml } = await import("./normalize-H6KUHHEI.js");
238
+ const { loadTranscript, patchCaptionHtml } = await import("./normalize-U3SL5VG3.js");
207
239
  const { words, format } = loadTranscript(inputPath);
208
240
  if (words.length === 0) exitNoWords(json);
209
- const outPath = join(dir, "transcript.json");
241
+ const outPath = join(dir, TRANSCRIPT_FILE);
210
242
  writeFileSync(outPath, JSON.stringify(words, null, 2));
211
243
  patchCaptionHtml(dir, words);
212
244
  if (json) {
@@ -219,49 +251,62 @@ async function importTranscript(inputPath, dir, json) {
219
251
  );
220
252
  }
221
253
  }
222
- async function exportTranscript(inputPath, dir, to, output, json, preserveCues) {
223
- const { loadTranscript, formatSrt, formatVtt } = await import("./normalize-H6KUHHEI.js");
224
- const { words, format } = loadTranscript(inputPath);
225
- if (words.length === 0) exitNoWords(json);
226
- const preGrouped = preserveCues || format === "srt" || format === "vtt" || void 0;
227
- const outPath = resolve(output ?? join(dir, `transcript.${to}`));
254
+ async function writeCaptionSidecar(words, { to, outPath, preserveCues, keep }, phraseLevelSource) {
255
+ const hit = keep.find((file) => sameFile(outPath, file));
256
+ if (hit) throw new Error(`it is the same file as ${hit}`);
257
+ const { formatSrt, formatVtt } = await import("./normalize-U3SL5VG3.js");
258
+ const preGrouped = preserveCues || phraseLevelSource;
228
259
  const content = to === "srt" ? formatSrt(words, { preGrouped }) : formatVtt(words, { preGrouped });
229
260
  writeFileSync(outPath, content);
261
+ }
262
+ function reportSidecar(to, wordCount, outPath) {
263
+ console.log(
264
+ `${c.success("\u25C7")} Exported ${c.accent(String(wordCount))} words to ${c.accent(to.toUpperCase())} \u2192 ${c.accent(outPath)}`
265
+ );
266
+ }
267
+ async function exportTranscript(inputPath, sidecar, json) {
268
+ const { loadTranscript } = await import("./normalize-U3SL5VG3.js");
269
+ const { words, format } = loadTranscript(inputPath);
270
+ if (words.length === 0) exitNoWords(json);
271
+ const { outPath } = sidecar;
272
+ try {
273
+ await writeCaptionSidecar(words, sidecar, format === "srt" || format === "vtt" || void 0);
274
+ } catch (err) {
275
+ failWith(
276
+ `The caption file ${outPath} could not be written: ${normalizeErrorMessage(err)}`,
277
+ json
278
+ );
279
+ }
230
280
  if (json) {
231
281
  console.log(
232
- JSON.stringify({ ok: true, format: to, wordCount: words.length, outputPath: outPath })
282
+ JSON.stringify({
283
+ ok: true,
284
+ format: sidecar.to,
285
+ wordCount: words.length,
286
+ outputPath: outPath
287
+ })
233
288
  );
234
289
  } else {
235
- console.log(
236
- `${c.success("\u25C7")} Exported ${c.accent(String(words.length))} words to ${c.accent(to.toUpperCase())} \u2192 ${c.accent(outPath)}`
237
- );
290
+ reportSidecar(sidecar.to, words.length, outPath);
238
291
  }
239
292
  }
240
- var PARAKEET_INSTALL_COMMAND = "hyperframes models install parakeet";
241
- function pickRunner(engine, sherpaUsable, language) {
293
+ function pickRunner(engine, parakeet, language) {
242
294
  if (engine === "whisper" || !parakeetSpeaks(language)) return "whisper";
243
- if (sherpaUsable()) return "sherpa";
244
- return findParakeet() ? "parakeet-mlx" : "whisper";
295
+ return parakeet() ?? "whisper";
245
296
  }
246
297
  var parakeetFallsBack = (engine) => engine === "auto";
247
298
  async function transcribeAudio(inputPath, dir, opts) {
248
- const { transcribe } = await import("./transcribe-7KR7IPJA.js");
249
- const { loadTranscript, patchCaptionHtml } = await import("./normalize-H6KUHHEI.js");
250
- const {
251
- DecodeCancelled,
252
- prepareSherpaWav,
253
- sherpaParakeetInstalled,
254
- sherpaUnsupportedReason,
255
- transcribeWithSherpa
256
- } = await import("./sherpa-LVIUEAGF.js");
257
- const { createRenderCancellationScope, stoppedByCancelSignal } = await import("./renderCancellation-PZRWB53I.js");
299
+ const { transcribe } = await import("./transcribe-SZB6UMXE.js");
300
+ const { loadTranscript, patchCaptionHtml } = await import("./normalize-U3SL5VG3.js");
301
+ const { DecodeCancelled, prepareSherpaWav, sherpaUnsupportedReason, transcribeWithSherpa } = await import("./sherpa-ZF42V3RN.js");
302
+ const { parakeetRunner } = await import("./parakeetRunner-VFQ6WFTD.js");
303
+ const { createRenderCancellationScope, stoppedByCancelSignal } = await import("./renderCancellation-QTZOCDJ2.js");
258
304
  const engine = (opts.engine ?? "auto").toLowerCase();
259
305
  if (engine !== "auto" && engine !== "parakeet" && engine !== "whisper") {
260
306
  failWith(`Unknown --engine: ${opts.engine}. Use auto, parakeet, or whisper.`, !!opts.json);
261
307
  }
262
308
  const unsupported = sherpaUnsupportedReason();
263
- const sherpaUsable = () => !unsupported && sherpaParakeetInstalled();
264
- let runner = pickRunner(engine, sherpaUsable, opts.language);
309
+ let runner = pickRunner(engine, () => parakeetRunner({ unsupported }), opts.language);
265
310
  if (engine === "parakeet" && runner === "whisper") {
266
311
  failWith(
267
312
  !parakeetSpeaks(opts.language) ? `Parakeet does not transcribe --language ${opts.language}; it covers ${PARAKEET_LANGUAGES.split(" ").join(", ")}. Use --engine whisper.` : unsupported ?? `Parakeet is not installed. Install it with: ${PARAKEET_INSTALL_COMMAND} (or use --engine whisper)`,
@@ -320,7 +365,11 @@ async function transcribeAudio(inputPath, dir, opts) {
320
365
  const reason = normalizeErrorMessage(err).replace(/\.+$/, "");
321
366
  const parakeetError = `Parakeet failed: ${reason}. To repair it, run: ${PARAKEET_INSTALL_COMMAND}`;
322
367
  if (!parakeetFallsBack(engine)) throw new Error(parakeetError);
323
- runner = pickRunner(engine, () => false, opts.language);
368
+ runner = pickRunner(
369
+ engine,
370
+ () => parakeetRunner({ unsupported, skipSherpa: true }),
371
+ opts.language
372
+ );
324
373
  spin?.clear();
325
374
  console.error(c.warn(`${parakeetError}. Using ${runner} for this run.`));
326
375
  spin?.start(`Transcribing with ${label(runner)}...`);
@@ -337,6 +386,19 @@ async function transcribeAudio(inputPath, dir, opts) {
337
386
  const { words } = loadTranscript(result.transcriptPath);
338
387
  writeFileSync(result.transcriptPath, JSON.stringify(words, null, 2));
339
388
  patchCaptionHtml(dir, words);
389
+ const { sidecar } = opts;
390
+ if (sidecar) {
391
+ try {
392
+ await writeCaptionSidecar(words, sidecar, false);
393
+ } catch (err) {
394
+ const message = `Transcript saved to ${result.transcriptPath}, but the caption file ${sidecar.outPath} could not be written: ${normalizeErrorMessage(err)}`;
395
+ if (opts.json) console.log(JSON.stringify({ ok: false, error: message }));
396
+ else spin?.stop(c.error(message));
397
+ setCommandExitCode(1);
398
+ return;
399
+ }
400
+ }
401
+ const exported = sidecar && { format: sidecar.to, outputPath: sidecar.outPath };
340
402
  if (opts.json) {
341
403
  console.log(
342
404
  JSON.stringify({
@@ -347,7 +409,8 @@ async function transcribeAudio(inputPath, dir, opts) {
347
409
  wordCount: words.length,
348
410
  durationSeconds: result.durationSeconds,
349
411
  speechOnsetSeconds: result.speechOnsetSeconds,
350
- transcriptPath: result.transcriptPath
412
+ transcriptPath: result.transcriptPath,
413
+ ...exported
351
414
  })
352
415
  );
353
416
  } else {
@@ -357,6 +420,7 @@ async function transcribeAudio(inputPath, dir, opts) {
357
420
  `Transcribed ${c.accent(String(words.length))} words (${result.durationSeconds.toFixed(1)}s${onsetNote})`
358
421
  )
359
422
  );
423
+ if (exported) reportSidecar(exported.format, words.length, exported.outputPath);
360
424
  }
361
425
  } catch (err) {
362
426
  if (err instanceof DecodeCancelled || cancellation?.signal.aborted) {
@@ -18,19 +18,19 @@ import {
18
18
  transcribe,
19
19
  whisperModelSlowdownFactor,
20
20
  wrapWhisperTimeoutError
21
- } from "./chunk-N3DQEVSI.js";
21
+ } from "./chunk-OTHDVXOJ.js";
22
22
  import "./chunk-6IHWCZ3W.js";
23
- import "./chunk-UICWP23D.js";
24
- import "./chunk-U3X3TPBW.js";
23
+ import "./chunk-FBCULCAL.js";
24
+ import "./chunk-MAYCCGMQ.js";
25
25
  import "./chunk-BHVFTYSI.js";
26
- import "./chunk-TVCRUG2S.js";
26
+ import "./chunk-ZEUONDQG.js";
27
27
  import "./chunk-AMKC3AXA.js";
28
- import "./chunk-33RZPZ4K.js";
29
- import "./chunk-F26LCYRY.js";
28
+ import "./chunk-UXO2L7HJ.js";
29
+ import "./chunk-FDT6KQV4.js";
30
30
  import "./chunk-NE55C6S5.js";
31
31
  import "./chunk-USDEMXXL.js";
32
- import "./chunk-4M4EC7JX.js";
33
- import "./chunk-6TPZSTCL.js";
32
+ import "./chunk-VRW6EBHV.js";
33
+ import "./chunk-AUWHD7RA.js";
34
34
  import "./chunk-VC76R6W2.js";
35
35
  import "./chunk-YA62XGXS.js";
36
36
  import "./chunk-MQZVBHEY.js";
@@ -39,19 +39,21 @@ import "./chunk-DPVXBVLL.js";
39
39
  import "./chunk-T76PLPD6.js";
40
40
  import "./chunk-FXMKHHPO.js";
41
41
  import "./chunk-RQVDTPGD.js";
42
- import "./chunk-LAOCA3MQ.js";
43
- import "./chunk-LCSMOLGX.js";
42
+ import "./chunk-A4Q7W4LV.js";
43
+ import "./chunk-BYSBRF24.js";
44
44
  import "./chunk-TWWSYAKJ.js";
45
- import "./chunk-XONFUK3M.js";
45
+ import "./chunk-IEIJRMLZ.js";
46
46
  import "./chunk-IWFLMU2N.js";
47
47
  import "./chunk-APDLWWFG.js";
48
48
  import "./chunk-PJ3HDUCY.js";
49
49
  import "./chunk-3RM2ETQT.js";
50
- import "./chunk-ZLW2V65P.js";
50
+ import "./chunk-BSQ7XANM.js";
51
51
  import "./chunk-SDYDNHEE.js";
52
52
  import "./chunk-2PSPARWP.js";
53
53
  import "./chunk-T42U2W2R.js";
54
+ import "./chunk-KNU5COPB.js";
54
55
  import "./chunk-UOFAE5RF.js";
56
+ import "./chunk-IR35BCLK.js";
55
57
  import "./chunk-3GXQPCJC.js";
56
58
  import "./chunk-M2WBOQ2Q.js";
57
59
  export {
@@ -152,7 +152,7 @@ var tts_default = defineCommand({
152
152
  )
153
153
  );
154
154
  }
155
- const { synthesize } = await import("./synthesize-C3IWDAXF.js");
155
+ const { synthesize } = await import("./synthesize-UCI4X5O7.js");
156
156
  const spin = args.json ? null : ft();
157
157
  spin?.start(`Generating speech with ${c.accent(voice)} (${lang})...`);
158
158
  try {
@@ -16,12 +16,12 @@ import {
16
16
  updateCheckDue,
17
17
  updateNoticesSuppressed,
18
18
  withMeta
19
- } from "./chunk-Y6QL2LGO.js";
19
+ } from "./chunk-PLR7Z6TC.js";
20
20
  import "./chunk-K4WIOZFP.js";
21
21
  import "./chunk-XUXGIA7H.js";
22
22
  import "./chunk-WERLJGIC.js";
23
23
  import "./chunk-ISN5GRYI.js";
24
- import "./chunk-W35EKBS6.js";
24
+ import "./chunk-BFACGEII.js";
25
25
  import "./chunk-KNU5COPB.js";
26
26
  import "./chunk-M2WBOQ2Q.js";
27
27
  export {
@@ -25,14 +25,14 @@ import {
25
25
  rewritePinnedHyperframesText,
26
26
  rewriteProjectPinnedScripts,
27
27
  withMeta
28
- } from "./chunk-Y6QL2LGO.js";
28
+ } from "./chunk-PLR7Z6TC.js";
29
29
  import "./chunk-K4WIOZFP.js";
30
30
  import "./chunk-XUXGIA7H.js";
31
31
  import "./chunk-WERLJGIC.js";
32
32
  import "./chunk-ISN5GRYI.js";
33
33
  import {
34
34
  VERSION
35
- } from "./chunk-W35EKBS6.js";
35
+ } from "./chunk-BFACGEII.js";
36
36
  import "./chunk-KNU5COPB.js";
37
37
  import {
38
38
  c
@@ -11,12 +11,12 @@ import {
11
11
  isHttpUrl,
12
12
  safeDownloadUrlIdentity,
13
13
  writeUrlDownloadTelemetry
14
- } from "./chunk-33RZPZ4K.js";
15
- import "./chunk-F26LCYRY.js";
14
+ } from "./chunk-UXO2L7HJ.js";
15
+ import "./chunk-FDT6KQV4.js";
16
16
  import "./chunk-NE55C6S5.js";
17
17
  import "./chunk-USDEMXXL.js";
18
- import "./chunk-4M4EC7JX.js";
19
- import "./chunk-6TPZSTCL.js";
18
+ import "./chunk-VRW6EBHV.js";
19
+ import "./chunk-AUWHD7RA.js";
20
20
  import "./chunk-VC76R6W2.js";
21
21
  import "./chunk-YA62XGXS.js";
22
22
  import "./chunk-MQZVBHEY.js";
@@ -26,12 +26,12 @@ import "./chunk-T76PLPD6.js";
26
26
  import "./chunk-FXMKHHPO.js";
27
27
  import "./chunk-RQVDTPGD.js";
28
28
  import "./chunk-TWWSYAKJ.js";
29
- import "./chunk-XONFUK3M.js";
29
+ import "./chunk-IEIJRMLZ.js";
30
30
  import "./chunk-IWFLMU2N.js";
31
31
  import "./chunk-APDLWWFG.js";
32
32
  import "./chunk-PJ3HDUCY.js";
33
33
  import "./chunk-3RM2ETQT.js";
34
- import "./chunk-ZLW2V65P.js";
34
+ import "./chunk-BSQ7XANM.js";
35
35
  import "./chunk-SDYDNHEE.js";
36
36
  import "./chunk-2PSPARWP.js";
37
37
  import "./chunk-T42U2W2R.js";