hyperframes 0.8.147 → 0.8.149

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 (184) hide show
  1. package/dist/{add-5CNUY3EW.js → add-MG53577L.js} +18 -18
  2. package/dist/{animatedGifPrep-ZID2XJRQ.js → animatedGifPrep-HV4ZFVPV.js} +5 -5
  3. package/dist/api.d.ts +209 -0
  4. package/dist/api.js +75 -0
  5. package/dist/{asset-TFEENZ7K.js → asset-3GIBXLLL.js} +3 -3
  6. package/dist/{assetCataloger-GX4B55VB.js → assetCataloger-JJQ4JW2P.js} +2 -2
  7. package/dist/{auth-EJVZW6C3.js → auth-XQMT727H.js} +4 -4
  8. package/dist/{autoUpdate-MBNEZ2U4.js → autoUpdate-CREZJGMU.js} +2 -2
  9. package/dist/{backgroundChecks-DNW5NPTY.js → backgroundChecks-K3S5QKR3.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-T7S2CGJE.js → batchRender-42AKNX73.js} +6 -6
  12. package/dist/{beats-STXBGN6Z.js → beats-Y7IKETUS.js} +21 -21
  13. package/dist/{benchmark-AC6IGEQP.js → benchmark-22SAXSO5.js} +18 -18
  14. package/dist/{browser-FB5AK32T.js → browser-ABNISCC3.js} +14 -13
  15. package/dist/{bundleWithLocalizedFonts-HSCWGCFO.js → bundleWithLocalizedFonts-OE5ZI4JE.js} +5 -5
  16. package/dist/{capture-VEIVUHWB.js → capture-DBNHO4WJ.js} +2 -2
  17. package/dist/{capture-I24MXH3Y.js → capture-HQG5W42I.js} +19 -19
  18. package/dist/{catalog-JRC4VTTI.js → catalog-KICZFIDX.js} +34 -34
  19. package/dist/{catch-up-NTCK7Z3G.js → catch-up-ZCQUCI45.js} +13 -13
  20. package/dist/{check-7M7W4LPN.js → check-TGXIICEF.js} +48 -48
  21. package/dist/{checkBrowser-2YRVCAYB.js → checkBrowser-3N23I56J.js} +36 -36
  22. package/dist/{chunk-A72OAGNB.js → chunk-2HWB4TCI.js} +1 -1
  23. package/dist/chunk-3WD4JNMU.js +3795 -0
  24. package/dist/{chunk-XOJDBRNF.js → chunk-4S4VUXW3.js} +1 -1
  25. package/dist/{chunk-JBQJKC23.js → chunk-62RUQJ5J.js} +1 -1
  26. package/dist/{chunk-A6S35NYA.js → chunk-7IEGPJ4P.js} +1 -1
  27. package/dist/{chunk-BAKPN2D2.js → chunk-AHBYQRGI.js} +1 -1
  28. package/dist/{chunk-H7B6JSHI.js → chunk-AY2BONTF.js} +1 -1
  29. package/dist/{chunk-A4Q7W4LV.js → chunk-B3XLIBFL.js} +4 -2
  30. package/dist/{chunk-ZVZSFDW3.js → chunk-BNYRD7PQ.js} +2 -2
  31. package/dist/{chunk-DYWSCPCR.js → chunk-CNPJHUOX.js} +17 -17
  32. package/dist/{chunk-B45OFFOQ.js → chunk-CT6ZQRLD.js} +6 -8
  33. package/dist/chunk-CYFFYK2F.js +56 -0
  34. package/dist/{chunk-KVGDFUVO.js → chunk-CZQLCBWY.js} +26 -13
  35. package/dist/{chunk-6IIGT7BX.js → chunk-DNZMBQTH.js} +1 -1
  36. package/dist/{chunk-SYUGVPYH.js → chunk-DUUFDLC4.js} +1 -1
  37. package/dist/{chunk-3YUFN37G.js → chunk-GESJSXFH.js} +1 -1
  38. package/dist/chunk-HU2SPFNG.js +103 -0
  39. package/dist/{chunk-4OA4LDTU.js → chunk-IYLHJV34.js} +1 -1
  40. package/dist/{chunk-KBB4RG6F.js → chunk-JZIEZCQM.js} +9 -2
  41. package/dist/{chunk-XVIYZU3D.js → chunk-K35E45SI.js} +1 -1
  42. package/dist/{chunk-EGO6Z24R.js → chunk-K44HCHZN.js} +3 -3
  43. package/dist/{chunk-4YVMMRHR.js → chunk-K4RIT6PX.js} +2 -2
  44. package/dist/chunk-KGPLIH7B.js +127 -0
  45. package/dist/{chunk-B4P5VDFQ.js → chunk-KMAAOHLO.js} +1 -1
  46. package/dist/{chunk-MOL32UKR.js → chunk-KMJLHHBF.js} +1 -1
  47. package/dist/{chunk-3HSWLZ6S.js → chunk-KQHJKJ3V.js} +1 -1
  48. package/dist/{chunk-2IDHEEAN.js → chunk-KUTT3JXL.js} +88 -28
  49. package/dist/{chunk-3BETQ4XI.js → chunk-L274XRWA.js} +81 -8
  50. package/dist/{chunk-3PPO64IB.js → chunk-LACFOFWX.js} +10 -10
  51. package/dist/chunk-LCILS4AF.js +329 -0
  52. package/dist/{chunk-6BSIQJPW.js → chunk-LTJDUBSQ.js} +1 -1
  53. package/dist/{chunk-66SAATRI.js → chunk-M5B42RL5.js} +9 -9
  54. package/dist/{chunk-6WD636E5.js → chunk-MI6U3OIN.js} +2 -2
  55. package/dist/{chunk-YCGU3UNU.js → chunk-MXB6CWVH.js} +1 -1
  56. package/dist/{chunk-Z5C4LEAD.js → chunk-NKM53WMI.js} +11 -11
  57. package/dist/{chunk-QTTDKWSM.js → chunk-OMBSUO4T.js} +2 -2
  58. package/dist/{chunk-AL2YEVOT.js → chunk-P7NTODQE.js} +3 -3
  59. package/dist/{chunk-BHVFTYSI.js → chunk-PO2SDVQA.js} +4 -1
  60. package/dist/{chunk-DDNS2674.js → chunk-PR7QQBSC.js} +1 -1
  61. package/dist/{chunk-FDL4HV44.js → chunk-Q2Y5OZCY.js} +2 -2
  62. package/dist/{chunk-P6HELLPU.js → chunk-QIJLIULK.js} +2 -2
  63. package/dist/{chunk-5OKZLMQK.js → chunk-RMIFSBRV.js} +1 -1
  64. package/dist/{chunk-AFIATIKS.js → chunk-SFUBSJFP.js} +1 -1
  65. package/dist/{chunk-LE7T4ML7.js → chunk-SP6XL3NP.js} +1 -1
  66. package/dist/{chunk-SEABQTBP.js → chunk-TPIG7ZBX.js} +9 -9
  67. package/dist/{chunk-POKK6XXU.js → chunk-U7SASZC5.js} +15 -15
  68. package/dist/{chunk-JF5L5SQ6.js → chunk-VC7JBNPS.js} +72 -107
  69. package/dist/{chunk-N53FLAMZ.js → chunk-VGCEMOQA.js} +10 -10
  70. package/dist/{normalize-U3SL5VG3.js → chunk-VHZ6DL3M.js} +3 -3
  71. package/dist/chunk-VX4AL2FQ.js +26 -0
  72. package/dist/{chunk-3BYMCR4O.js → chunk-VXM4BH23.js} +23 -12
  73. package/dist/{chunk-ZLL72U3I.js → chunk-WX7VCRM7.js} +2 -2
  74. package/dist/{chunk-KPJMBC4K.js → chunk-XHBX7QN6.js} +4 -4
  75. package/dist/{chunk-BYSBRF24.js → chunk-XPQSL5VS.js} +5 -120
  76. package/dist/{chunk-55RZG5SQ.js → chunk-Y475GD4L.js} +4 -4
  77. package/dist/{chunk-ZQXNL5DL.js → chunk-YDRX42P3.js} +6 -6
  78. package/dist/{chunk-4SFGME7K.js → chunk-YJDB4FLT.js} +1 -1
  79. package/dist/{chunk-QATWIE4K.js → chunk-YU2QRNWN.js} +2 -2
  80. package/dist/{chunk-BPUFVVSH.js → chunk-ZK3BQXHC.js} +1 -1
  81. package/dist/{chunk-QHRPB2JQ.js → chunk-ZKDKFJCK.js} +13 -13
  82. package/dist/{clean-3RY3Y2GX.js → clean-6QP7VAV4.js} +32 -31
  83. package/dist/cli.js +55 -55
  84. package/dist/{cloud-MLPBFCVE.js → cloud-5TME5ROM.js} +4 -4
  85. package/dist/{cloudrun-NQF5KFQI.js → cloudrun-F5VVCVF5.js} +6 -6
  86. package/dist/{compare-6EZX2754.js → compare-XPY2EXX6.js} +35 -35
  87. package/dist/{compiler-ACCPOZMQ.js → compiler-NPD3MYMO.js} +2 -2
  88. package/dist/{component-F5PQHP6A.js → component-OPVL3PUX.js} +4 -4
  89. package/dist/{compositions-AUHWSI2H.js → compositions-WSEOI454.js} +19 -19
  90. package/dist/{delete-VUF4SHHJ.js → delete-SLMH57VH.js} +11 -11
  91. package/dist/{dist-GPDOV3IQ.js → dist-CUIR3GFX.js} +2 -2
  92. package/dist/{doctor-3XHCA5JM.js → doctor-QZW3EKIH.js} +20 -19
  93. package/dist/{events-FKOIB3R3.js → events-6C3ZG7LS.js} +8 -8
  94. package/dist/{events-TIU72LZM.js → events-FIFWFRGC.js} +6 -6
  95. package/dist/{feedback-V6VATYBE.js → feedback-VKXM7YJ5.js} +24 -24
  96. package/dist/{ffmpeg-5V4FP3R6.js → ffmpeg-TZB5WAYE.js} +3 -2
  97. package/dist/{figma-YBJM2VGE.js → figma-3UYNADNA.js} +3 -3
  98. package/dist/fontLocalizeCli.js +10 -10
  99. package/dist/{get-3YVCGZBX.js → get-VH7VMRVX.js} +11 -11
  100. package/dist/{gpuPolicy-ZOUG66M7.js → gpuPolicy-M2JZGGVW.js} +5 -5
  101. package/dist/{grade-compare-MYXIRKQI.js → grade-compare-OSC2YQWN.js} +40 -39
  102. package/dist/{help-WFZ2SUUR.js → help-DCBFEZPT.js} +3 -3
  103. package/dist/{history-HWPRJFR5.js → history-XYJMQE26.js} +15 -15
  104. package/dist/hyperframe-runtime.js +62 -62
  105. package/dist/hyperframe.manifest.json +1 -1
  106. package/dist/hyperframe.runtime.iife.js +62 -62
  107. package/dist/hyperframes-player.global.js +1 -1
  108. package/dist/{info-WJDTQ4OZ.js → info-YEHGENAH.js} +17 -17
  109. package/dist/{init-EXHDN7RO.js → init-64SML7PY.js} +52 -51
  110. package/dist/{inspect-EAOLZOMQ.js → inspect-GFOQKRJI.js} +32 -32
  111. package/dist/{installer-LZ4X5TZZ.js → installer-Q4MMZKLA.js} +4 -4
  112. package/dist/{keyframes-FSZYNEDN.js → keyframes-ORYFWKBZ.js} +16 -16
  113. package/dist/{lambda-3GAKHMC3.js → lambda-DRMOJGTC.js} +8 -8
  114. package/dist/{layout-M2TQ2CIX.js → layout-ZEQBE6UQ.js} +32 -32
  115. package/dist/{lint-7C5UPTNQ.js → lint-67KGFY63.js} +19 -19
  116. package/dist/{list-GU5KBZ73.js → list-T6OU5ARJ.js} +11 -11
  117. package/dist/{login-ZL2NYBIZ.js → login-2PXIGDP7.js} +9 -9
  118. package/dist/{logout-B4KS4A7S.js → logout-DKJANASY.js} +3 -3
  119. package/dist/{manager-5ORDVWJB.js → manager-ES2UFT4X.js} +6 -4
  120. package/dist/{manager-BPSR6D3V.js → manager-GWU5J6RJ.js} +3 -2
  121. package/dist/{media-treatment-QC3TAHVU.js → media-treatment-NAAHID6M.js} +27 -26
  122. package/dist/{models-A54I4QR5.js → models-P6XB6RWK.js} +19 -17
  123. package/dist/{motionShot-ZXPK562F.js → motionShot-7MHRIV6V.js} +13 -13
  124. package/dist/normalize-4UDISLPL.js +24 -0
  125. package/dist/{normalize-audio-CAP3DAE6.js → normalize-audio-LWNFYR2F.js} +15 -15
  126. package/dist/{open-GUSBNMDB.js → open-DAP5C7UD.js} +13 -13
  127. package/dist/{parakeetRunner-GCCH72CO.js → parakeetRunner-3ZVFPOD4.js} +17 -27
  128. package/dist/{pipeline-SCJ2MWYH.js → pipeline-V4YJCPUX.js} +9 -9
  129. package/dist/{play-FP2QLMGM.js → play-UDCESJO3.js} +35 -35
  130. package/dist/{preflight-ONF5AJNO.js → preflight-JOD4OXGC.js} +5 -4
  131. package/dist/{present-H5SA4APW.js → present-DXTHBH3F.js} +26 -26
  132. package/dist/{preview-ATPVKA6K.js → preview-YHXKRXKB.js} +39 -37
  133. package/dist/{producer-VBYUC27R.js → producer-343ENLAM.js} +1 -1
  134. package/dist/{projectConfig-SBRMQZGG.js → projectConfig-YXKU3CTB.js} +6 -6
  135. package/dist/{publication-5BQICRZO.js → publication-ODXP3JI7.js} +2 -2
  136. package/dist/{publish-XDUZA3E3.js → publish-UEFBFGV3.js} +22 -22
  137. package/dist/{refresh-PVHBEABE.js → refresh-MGCVWX56.js} +3 -3
  138. package/dist/{remove-background-GA6F7JZW.js → remove-background-FMV6IDOH.js} +38 -34
  139. package/dist/{render-XCYXFZTL.js → render-N7QGX6RJ.js} +30 -30
  140. package/dist/{render-PCFO45RK.js → render-SYC4RPGT.js} +6 -6
  141. package/dist/{render-KUVZFNQD.js → render-ZTXNPRGF.js} +61 -60
  142. package/dist/{render-batch-7R2NRNVJ.js → render-batch-SZRPCRUJ.js} +6 -6
  143. package/dist/renderSetupWorker.js +4 -3
  144. package/dist/{resolver-C4FPX72I.js → resolver-7MYXNEAX.js} +4 -4
  145. package/dist/{sherpa-IQY52XU6.js → sherpa-M4Z2Q5Y2.js} +15 -14
  146. package/dist/sherpaWorker.js +3 -1
  147. package/dist/{skills-JSSAEKUW.js → skills-NEHNSHZK.js} +15 -15
  148. package/dist/{skillsUpdateCheck-XE5E2K2F.js → skillsUpdateCheck-O77QR72A.js} +3 -3
  149. package/dist/{snapshot-QMQOE2DD.js → snapshot-GDVXFBVY.js} +54 -53
  150. package/dist/{src-R55QLGWI.js → src-PTIV7IVV.js} +6 -6
  151. package/dist/{src-2GMPFYHL.js → src-VMTHSARJ.js} +6 -4
  152. package/dist/{staticProjectServer-YH2RHYKW.js → staticProjectServer-3D2NXQ6W.js} +14 -14
  153. package/dist/{status-PTKNQD2E.js → status-NBRMGL7D.js} +5 -5
  154. package/dist/studio/assets/{hyperframes-player-_eMxRXF_.js → hyperframes-player-C-2YwYre.js} +1 -1
  155. package/dist/studio/assets/{index-bXzd7tvF.js → index-ByJU5J6n.js} +115 -115
  156. package/dist/studio/assets/{index-CEq9KmY2.js → index-BybGk67U.js} +1 -1
  157. package/dist/studio/assets/{index-6okhHdnH.js → index-Cfs2r3fz.js} +1 -1
  158. package/dist/studio/assets/{index-CVd4O6eH.css → index-DkQKsFxx.css} +1 -1
  159. package/dist/studio/index.html +2 -2
  160. package/dist/{studio-api-T2TS2CHL.js → studio-api-XIBDLRHB.js} +7 -7
  161. package/dist/{studioServer-Q4MT44LT.js → studioServer-QIQK47UN.js} +70 -69
  162. package/dist/{synthesize-UCI4X5O7.js → synthesize-22B7L5GX.js} +6 -6
  163. package/dist/{telemetry-V5JYZDS4.js → telemetry-565KDZUW.js} +8 -8
  164. package/dist/{timeline-KTCTOKF5.js → timeline-E6XB7I6W.js} +24 -24
  165. package/dist/{tokens-ZHREZPK6.js → tokens-3ZAJENSE.js} +3 -3
  166. package/dist/transcribe-WODP3T77.js +332 -0
  167. package/dist/{transcribe-CRAV4FU3.js → transcribe-XWQQCCBG.js} +13 -12
  168. package/dist/{tts-B6AHFQEO.js → tts-QSAQZVEZ.js} +3 -3
  169. package/dist/{updateCheck-E7RMSK3E.js → updateCheck-QPYU4GRL.js} +2 -2
  170. package/dist/{upgrade-27PFTDCV.js → upgrade-2FJ5ZEN6.js} +5 -5
  171. package/dist/{urlDownloader-EAF6PLUP.js → urlDownloader-352AY25I.js} +4 -4
  172. package/dist/{validate-OKNFDBMG.js → validate-SP2VGNEI.js} +25 -25
  173. package/dist/{video-IEVS4FIH.js → video-RVNPFEA6.js} +8 -8
  174. package/package.json +8 -1
  175. package/dist/chunk-6IHWCZ3W.js +0 -54
  176. package/dist/chunk-SQLK7SJL.js +0 -88
  177. package/dist/chunk-Z6FLHIDV.js +0 -3795
  178. package/dist/manager-RFZNG5YT.js +0 -30
  179. package/dist/renderCancellation-NIXEWRAO.js +0 -43
  180. package/dist/transcribe-4QDEWCE6.js +0 -466
  181. package/dist/{chunk-DKSDVDXG.js → chunk-NAMGMP3R.js} +3 -3
  182. package/dist/{policies-4FEXMXPK.js → policies-DCSIM4AB.js} +3 -3
  183. package/dist/{screenshotCapture-3JXXUZND.js → screenshotCapture-TEUIWXWN.js} +3 -3
  184. package/dist/{telemetry-W5AKPI4R.js → telemetry-CQYHCCPL.js} +3 -3
@@ -1,30 +0,0 @@
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_MODEL,
9
- DEVICES,
10
- MODELS_DIR,
11
- MODEL_MEMORY_MB,
12
- ensureModel,
13
- isDevice,
14
- listAvailableProviders,
15
- modelPath,
16
- selectProviders
17
- } from "./chunk-SQLK7SJL.js";
18
- import "./chunk-BHVFTYSI.js";
19
- import "./chunk-M2WBOQ2Q.js";
20
- export {
21
- DEFAULT_MODEL,
22
- DEVICES,
23
- MODELS_DIR,
24
- MODEL_MEMORY_MB,
25
- ensureModel,
26
- isDevice,
27
- listAvailableProviders,
28
- modelPath,
29
- selectProviders
30
- };
@@ -1,43 +0,0 @@
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
- createRenderCancellationScope,
9
- stoppedByCancelSignal
10
- } from "./chunk-AL2YEVOT.js";
11
- import "./chunk-JF5L5SQ6.js";
12
- import "./chunk-JBQJKC23.js";
13
- import "./chunk-NE55C6S5.js";
14
- import "./chunk-JYVGYKXG.js";
15
- import "./chunk-BAKPN2D2.js";
16
- import "./chunk-Z6FLHIDV.js";
17
- import "./chunk-VC76R6W2.js";
18
- import "./chunk-YA62XGXS.js";
19
- import "./chunk-LFNQDTSH.js";
20
- import "./chunk-OFQWTKPW.js";
21
- import "./chunk-DPVXBVLL.js";
22
- import "./chunk-T76PLPD6.js";
23
- import "./chunk-FXMKHHPO.js";
24
- import "./chunk-RQVDTPGD.js";
25
- import "./chunk-A4Q7W4LV.js";
26
- import "./chunk-BYSBRF24.js";
27
- import "./chunk-TWWSYAKJ.js";
28
- import "./chunk-JDB65PPT.js";
29
- import "./chunk-IWFLMU2N.js";
30
- import "./chunk-APDLWWFG.js";
31
- import "./chunk-VAS6HQX3.js";
32
- import "./chunk-3RM2ETQT.js";
33
- import "./chunk-BSQ7XANM.js";
34
- import "./chunk-SDYDNHEE.js";
35
- import "./chunk-2PSPARWP.js";
36
- import "./chunk-IXLUTE6N.js";
37
- import "./chunk-KNU5COPB.js";
38
- import "./chunk-3GXQPCJC.js";
39
- import "./chunk-M2WBOQ2Q.js";
40
- export {
41
- createRenderCancellationScope,
42
- stoppedByCancelSignal
43
- };
@@ -1,466 +0,0 @@
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
- createProgressWriter
9
- } from "./chunk-6IHWCZ3W.js";
10
- import {
11
- DEFAULT_MODEL,
12
- isWhisperUnavailable
13
- } from "./chunk-KVGDFUVO.js";
14
- import "./chunk-BHVFTYSI.js";
15
- import "./chunk-SYUGVPYH.js";
16
- import {
17
- trackTranscribeUnavailable
18
- } from "./chunk-55RZG5SQ.js";
19
- import "./chunk-3PPO64IB.js";
20
- import "./chunk-VWG7OQKU.js";
21
- import "./chunk-XBSPQ52S.js";
22
- import "./chunk-AMKC3AXA.js";
23
- import {
24
- ft
25
- } from "./chunk-WMQNIQDJ.js";
26
- import {
27
- defineCommand
28
- } from "./chunk-S3S4TGEH.js";
29
- import "./chunk-54HJ63Q2.js";
30
- import {
31
- failCommand,
32
- setCommandExitCode
33
- } from "./chunk-PBN6GBJE.js";
34
- import "./chunk-JYVGYKXG.js";
35
- import "./chunk-T76PLPD6.js";
36
- import "./chunk-FXMKHHPO.js";
37
- import "./chunk-BYSBRF24.js";
38
- import "./chunk-VAS6HQX3.js";
39
- import "./chunk-K4WIOZFP.js";
40
- import "./chunk-XUXGIA7H.js";
41
- import "./chunk-WERLJGIC.js";
42
- import "./chunk-ISN5GRYI.js";
43
- import "./chunk-QTTDKWSM.js";
44
- import {
45
- normalizeErrorMessage
46
- } from "./chunk-KNU5COPB.js";
47
- import {
48
- PARAKEET_INSTALL_COMMAND,
49
- PARAKEET_LANGUAGES,
50
- parakeetSpeaks,
51
- transcribeWithParakeet
52
- } from "./chunk-KBB4RG6F.js";
53
- import {
54
- TRANSCRIPT_FILE
55
- } from "./chunk-IR35BCLK.js";
56
- import {
57
- c
58
- } from "./chunk-ZTZA4UWZ.js";
59
- import "./chunk-M2WBOQ2Q.js";
60
-
61
- // src/commands/transcribe.ts
62
- import { existsSync, realpathSync, rmSync, statSync, writeFileSync } from "fs";
63
- import { resolve, join, extname, dirname, basename } from "path";
64
- var examples = [
65
- ["Transcribe an audio file", "hyperframes transcribe audio.mp3"],
66
- ["Transcribe a video file", "hyperframes transcribe video.mp4"],
67
- ["Use a larger model for better accuracy", "hyperframes transcribe audio.mp3 --model medium.en"],
68
- ["Set language to filter non-target speech", "hyperframes transcribe audio.mp3 --language en"],
69
- ["Import an existing SRT file", "hyperframes transcribe subtitles.srt"],
70
- ["Import an OpenAI Whisper JSON response", "hyperframes transcribe response.json"],
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"],
73
- [
74
- "Export single-word/CJK captions without re-grouping",
75
- "hyperframes transcribe transcript.json --to vtt --preserve-cues"
76
- ]
77
- ];
78
- var CLI_TIMEOUT_MIN_MS = 5e3;
79
- var transcribe_default = defineCommand({
80
- meta: {
81
- name: "transcribe",
82
- description: "Transcribe audio/video to word-level timestamps, or import an existing transcript"
83
- },
84
- args: {
85
- input: {
86
- type: "positional",
87
- description: "Audio/video file to transcribe, or transcript file to import (.json, .srt, .vtt)",
88
- required: true
89
- },
90
- dir: {
91
- type: "string",
92
- description: "Project directory (default: current directory)",
93
- alias: "d"
94
- },
95
- engine: {
96
- type: "string",
97
- description: "ASR engine: auto (Parakeet if installed and it covers --language, else whisper), parakeet, or whisper. Default: auto. Parakeet is more accurate and faster; install it with `hyperframes models install parakeet`.",
98
- alias: "e"
99
- },
100
- model: {
101
- type: "string",
102
- description: `Whisper model (default: ${DEFAULT_MODEL}). Options: tiny.en, base.en, small.en, medium.en, large-v3`,
103
- alias: "m"
104
- },
105
- language: {
106
- type: "string",
107
- description: "Language code (e.g. en, es, ja). Whisper transcribes as this language; Parakeet, used when it covers it, detects the language itself.",
108
- alias: "l"
109
- },
110
- json: {
111
- type: "boolean",
112
- description: "Output result as JSON; progress JSON lines go to stderr",
113
- default: false
114
- },
115
- to: {
116
- type: "string",
117
- description: "Write an srt or vtt caption sidecar: exported from a transcript file, or written after transcribing audio/video"
118
- },
119
- output: {
120
- type: "string",
121
- alias: "o",
122
- description: "Output path for exported SRT/VTT sidecar"
123
- },
124
- "preserve-cues": {
125
- type: "boolean",
126
- description: "Keep each transcript entry as its own caption cue (skip word-level grouping). Use when exporting an already-cued transcript whose entries have no internal spaces, e.g. single-word or CJK captions.",
127
- default: false
128
- },
129
- "runtime-install": {
130
- type: "boolean",
131
- default: true,
132
- description: "Allow installing the Whisper runtime. Use --no-runtime-install to require an existing runtime; model downloads remain allowed."
133
- },
134
- optional: {
135
- type: "boolean",
136
- description: "Treat captions as optional: if whisper-cpp is unavailable, skip and exit 0 instead of failing. For pipelines that continue without captions.",
137
- default: false
138
- },
139
- timeout: {
140
- type: "string",
141
- description: "Whisper spawn timeout in ms. Overrides the duration+model auto-scaled default. Increase on slow CPUs (e.g. emulated arm64/x64, low-power laptops) where whisper.cpp takes many seconds per audio second on medium/large models. Applies to the whisper engine only; Parakeet has a separate fixed timeout. Minimum 5000 (5 s). Env: HYPERFRAMES_TRANSCRIBE_TIMEOUT_MS."
142
- }
143
- },
144
- async run({ args }) {
145
- const inputPath = resolve(args.input);
146
- if (!existsSync(inputPath)) {
147
- const message = `File not found: ${args.input}`;
148
- console.error(c.error(message));
149
- failCommand(1, message);
150
- }
151
- const dir = resolve(args.dir ?? dirname(inputPath));
152
- const ext = extname(inputPath).toLowerCase();
153
- const isImport = ext === ".json" || ext === ".srt" || ext === ".vtt";
154
- const sidecar = parseSidecar(args, inputPath, dir);
155
- if (sidecar && isImport) {
156
- return exportTranscript(inputPath, sidecar, args.json);
157
- }
158
- if (isImport) {
159
- return importTranscript(inputPath, dir, args.json);
160
- }
161
- const timeoutMs = parseTimeoutMs(args.timeout, args.json);
162
- return transcribeAudio(inputPath, dir, {
163
- engine: args.engine,
164
- model: args.model,
165
- language: args.language,
166
- json: args.json,
167
- optional: args.optional,
168
- installRuntime: args["runtime-install"],
169
- timeoutMs,
170
- sidecar
171
- });
172
- }
173
- });
174
- function parseTimeoutMs(raw, json) {
175
- const source = raw ?? process.env["HYPERFRAMES_TRANSCRIBE_TIMEOUT_MS"];
176
- if (source == null || source === "") return void 0;
177
- const parsed = Number.parseInt(source, 10);
178
- if (!Number.isFinite(parsed) || parsed < CLI_TIMEOUT_MIN_MS) {
179
- const origin = raw != null ? "--timeout" : "HYPERFRAMES_TRANSCRIBE_TIMEOUT_MS";
180
- failWith(
181
- `Invalid ${origin}: "${source}". Must be an integer >= ${CLI_TIMEOUT_MIN_MS} (ms).`,
182
- json
183
- );
184
- }
185
- return parsed;
186
- }
187
- function failWith(message, json) {
188
- if (json) {
189
- console.log(JSON.stringify({ ok: false, error: message }));
190
- } else {
191
- console.error(c.error(message));
192
- }
193
- failCommand(1, message);
194
- }
195
- function parseExportFormat(value, json) {
196
- if (!value) return void 0;
197
- const normalized = value.toLowerCase();
198
- if (normalized === "srt" || normalized === "vtt") return normalized;
199
- failWith(`Unsupported caption export format: ${value}. Use srt or vtt.`, json);
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
- }
234
- function exitNoWords(json) {
235
- failWith("No words found in transcript.", json);
236
- }
237
- async function importTranscript(inputPath, dir, json) {
238
- const { loadTranscript, patchCaptionHtml } = await import("./normalize-U3SL5VG3.js");
239
- const { words, format } = loadTranscript(inputPath);
240
- if (words.length === 0) exitNoWords(json);
241
- const outPath = join(dir, TRANSCRIPT_FILE);
242
- writeFileSync(outPath, JSON.stringify(words, null, 2));
243
- patchCaptionHtml(dir, words);
244
- if (json) {
245
- console.log(
246
- JSON.stringify({ ok: true, format, wordCount: words.length, transcriptPath: outPath })
247
- );
248
- } else {
249
- console.log(
250
- `${c.success("\u25C7")} Imported ${c.accent(String(words.length))} words from ${c.accent(format)} format \u2192 ${c.accent("transcript.json")}`
251
- );
252
- }
253
- }
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;
259
- const content = to === "srt" ? formatSrt(words, { preGrouped }) : formatVtt(words, { preGrouped });
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
- }
280
- if (json) {
281
- console.log(
282
- JSON.stringify({
283
- ok: true,
284
- format: sidecar.to,
285
- wordCount: words.length,
286
- outputPath: outPath
287
- })
288
- );
289
- } else {
290
- reportSidecar(sidecar.to, words.length, outPath);
291
- }
292
- }
293
- function pickRunner(engine, parakeet, language) {
294
- if (engine === "whisper" || !parakeetSpeaks(language)) return "whisper";
295
- return parakeet() ?? "whisper";
296
- }
297
- var parakeetFallsBack = (engine) => engine === "auto";
298
- async function transcribeAudio(inputPath, dir, opts) {
299
- const { transcribe } = await import("./transcribe-CRAV4FU3.js");
300
- const { loadTranscript, patchCaptionHtml } = await import("./normalize-U3SL5VG3.js");
301
- const { DecodeCancelled, prepareSherpaWav, sherpaUnsupportedReason, transcribeWithSherpa } = await import("./sherpa-IQY52XU6.js");
302
- const { parakeetRunner } = await import("./parakeetRunner-GCCH72CO.js");
303
- const { createRenderCancellationScope, stoppedByCancelSignal } = await import("./renderCancellation-NIXEWRAO.js");
304
- const engine = (opts.engine ?? "auto").toLowerCase();
305
- if (engine !== "auto" && engine !== "parakeet" && engine !== "whisper") {
306
- failWith(`Unknown --engine: ${opts.engine}. Use auto, parakeet, or whisper.`, !!opts.json);
307
- }
308
- const unsupported = sherpaUnsupportedReason();
309
- let runner = pickRunner(engine, () => parakeetRunner({ unsupported }), opts.language);
310
- if (engine === "parakeet" && runner === "whisper") {
311
- failWith(
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)`,
313
- !!opts.json
314
- );
315
- }
316
- const model = opts.model ?? DEFAULT_MODEL;
317
- if (runner !== "whisper" && opts.model && !opts.json) {
318
- console.error(
319
- c.dim(` Note: --model applies to the whisper engine only; ignored under Parakeet.`)
320
- );
321
- }
322
- const label = (r) => c.accent(r === "whisper" ? model : "Parakeet");
323
- const spin = opts.json ? null : ft();
324
- spin?.start(`Transcribing with ${label(runner)}...`);
325
- const onProgress = spin ? (msg) => spin.message(msg) : void 0;
326
- const onEvent = opts.json ? createProgressWriter(process.stderr) : void 0;
327
- let wavPath = inputPath;
328
- let cancellation = runner === "sherpa" ? createRenderCancellationScope() : null;
329
- const run = (r) => {
330
- switch (r) {
331
- case "sherpa":
332
- return transcribeWithSherpa(wavPath, dir, {
333
- onProgress,
334
- onEvent,
335
- signal: cancellation.signal
336
- });
337
- case "parakeet-mlx":
338
- return transcribeWithParakeet(wavPath, dir, {
339
- onProgress,
340
- onEvent
341
- });
342
- case "whisper":
343
- return transcribe(wavPath, dir, {
344
- model,
345
- language: opts.language,
346
- onProgress,
347
- onEvent,
348
- timeoutMs: opts.timeoutMs,
349
- installRuntime: opts.installRuntime,
350
- startCancellation: () => (cancellation ??= createRenderCancellationScope()).signal
351
- });
352
- default: {
353
- const unreachable = r;
354
- throw new Error(`Unknown transcription runner: ${unreachable}`);
355
- }
356
- }
357
- };
358
- try {
359
- if (runner === "sherpa") wavPath = prepareSherpaWav(inputPath, onProgress);
360
- let result;
361
- try {
362
- result = await run(runner);
363
- } catch (err) {
364
- if (runner !== "sherpa" || err instanceof DecodeCancelled) throw err;
365
- const reason = normalizeErrorMessage(err).replace(/\.+$/, "");
366
- const parakeetError = `Parakeet failed: ${reason}. To repair it, run: ${PARAKEET_INSTALL_COMMAND}`;
367
- if (!parakeetFallsBack(engine)) throw new Error(parakeetError);
368
- runner = pickRunner(
369
- engine,
370
- () => parakeetRunner({ unsupported, skipSherpa: true }),
371
- opts.language
372
- );
373
- spin?.clear();
374
- console.error(c.warn(`${parakeetError}. Using ${runner} for this run.`));
375
- spin?.start(`Transcribing with ${label(runner)}...`);
376
- try {
377
- result = await run(runner);
378
- } catch (fallbackErr) {
379
- if (stoppedByCancelSignal(fallbackErr)) {
380
- throw new DecodeCancelled("Transcription cancelled");
381
- }
382
- const why = normalizeErrorMessage(fallbackErr);
383
- throw new Error(`${parakeetError}. The ${runner} fallback failed too: ${why}`);
384
- }
385
- }
386
- const { words } = loadTranscript(result.transcriptPath);
387
- writeFileSync(result.transcriptPath, JSON.stringify(words, null, 2));
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 };
402
- if (opts.json) {
403
- console.log(
404
- JSON.stringify({
405
- ok: true,
406
- engine: runner === "whisper" ? "whisper" : "parakeet",
407
- model: result.model,
408
- detectedLanguage: result.detectedLanguage,
409
- wordCount: words.length,
410
- durationSeconds: result.durationSeconds,
411
- speechOnsetSeconds: result.speechOnsetSeconds,
412
- transcriptPath: result.transcriptPath,
413
- ...exported
414
- })
415
- );
416
- } else {
417
- const onsetNote = result.speechOnsetSeconds != null ? ` \u2014 speech detected at ${result.speechOnsetSeconds.toFixed(1)}s` : "";
418
- spin?.stop(
419
- c.success(
420
- `Transcribed ${c.accent(String(words.length))} words (${result.durationSeconds.toFixed(1)}s${onsetNote})`
421
- )
422
- );
423
- if (exported) reportSidecar(exported.format, words.length, exported.outputPath);
424
- }
425
- } catch (err) {
426
- if (err instanceof DecodeCancelled || cancellation?.signal.aborted) {
427
- const message2 = "Transcription cancelled";
428
- if (opts.json) console.log(JSON.stringify({ ok: false, error: message2 }));
429
- else spin?.stop(c.warn(message2));
430
- setCommandExitCode(130);
431
- return;
432
- }
433
- const base = err instanceof Error ? err.message : String(err);
434
- const stderr = err && typeof err === "object" && "stderr" in err && err.stderr ? String(err.stderr).trim().split("\n").slice(-3).filter((line) => !base.includes(line)).join("\n") : "";
435
- const message = stderr ? `${base}
436
- ${stderr}` : base;
437
- if (isWhisperUnavailable(err)) {
438
- trackTranscribeUnavailable({ optional: opts.optional === true });
439
- const install = engine === "auto" && parakeetSpeaks(opts.language) && !unsupported ? PARAKEET_INSTALL_COMMAND : void 0;
440
- if (opts.json) {
441
- console.log(
442
- JSON.stringify({ ok: false, skipped: true, reason: "whisper_unavailable", install })
443
- );
444
- } else {
445
- const orParakeet = install ? `
446
- Or transcribe with Parakeet after: ${install}` : "";
447
- spin?.stop(c.warn(`Captions skipped \u2014 ${message}${orParakeet}`));
448
- }
449
- setCommandExitCode(opts.optional ? 0 : 1);
450
- return;
451
- }
452
- if (opts.json) {
453
- console.log(JSON.stringify({ ok: false, error: message }));
454
- } else {
455
- spin?.stop(c.error(`Transcription failed: ${message}`));
456
- }
457
- failCommand(1, err);
458
- } finally {
459
- cancellation?.dispose();
460
- if (wavPath !== inputPath) rmSync(wavPath, { force: true });
461
- }
462
- }
463
- export {
464
- transcribe_default as default,
465
- examples
466
- };
@@ -7,12 +7,12 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  failCommand
9
9
  } from "./chunk-PBN6GBJE.js";
10
- import {
11
- normalizeErrorMessage
12
- } from "./chunk-KNU5COPB.js";
13
10
  import {
14
11
  c
15
12
  } from "./chunk-ZTZA4UWZ.js";
13
+ import {
14
+ normalizeErrorMessage
15
+ } from "./chunk-KNU5COPB.js";
16
16
 
17
17
  // src/auth/paths.ts
18
18
  import { homedir } from "os";
@@ -7,12 +7,12 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setCommandExitCode
9
9
  } from "./chunk-PBN6GBJE.js";
10
- import {
11
- normalizeErrorMessage
12
- } from "./chunk-KNU5COPB.js";
13
10
  import {
14
11
  c
15
12
  } from "./chunk-ZTZA4UWZ.js";
13
+ import {
14
+ normalizeErrorMessage
15
+ } from "./chunk-KNU5COPB.js";
16
16
  import "./chunk-M2WBOQ2Q.js";
17
17
 
18
18
  // src/commands/lambda/policies.ts
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  DEFAULT_MAX_SCREENSHOTS
9
9
  } from "./chunk-P36MALQF.js";
10
+ import {
11
+ isDegradableEvaluateTimeoutError
12
+ } from "./chunk-AWNBM3MZ.js";
10
13
  import {
11
14
  CaptureDirRefusedError,
12
15
  ensureCaptureDirSync,
13
16
  writeCaptureFileSync
14
17
  } from "./chunk-MRF4AMKD.js";
15
- import {
16
- isDegradableEvaluateTimeoutError
17
- } from "./chunk-AWNBM3MZ.js";
18
18
  import {
19
19
  normalizeErrorMessage
20
20
  } from "./chunk-KNU5COPB.js";
@@ -10,6 +10,9 @@ import {
10
10
  import {
11
11
  failCommand
12
12
  } from "./chunk-PBN6GBJE.js";
13
+ import {
14
+ c
15
+ } from "./chunk-ZTZA4UWZ.js";
13
16
  import {
14
17
  CONFIG_PATH,
15
18
  STATE_PATH,
@@ -20,9 +23,6 @@ import {
20
23
  import "./chunk-WERLJGIC.js";
21
24
  import "./chunk-ISN5GRYI.js";
22
25
  import "./chunk-KNU5COPB.js";
23
- import {
24
- c
25
- } from "./chunk-ZTZA4UWZ.js";
26
26
  import "./chunk-M2WBOQ2Q.js";
27
27
 
28
28
  // src/commands/telemetry.ts