hyperframes 0.8.136 → 0.8.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/dist/{add-MD4CNRQV.js → add-IZQPSHT5.js} +15 -15
  2. package/dist/{animatedGifPrep-3AKQSXPU.js → animatedGifPrep-MQF3GRFW.js} +6 -6
  3. package/dist/appHistory-TH3TL6N6.js +31 -0
  4. package/dist/{asset-UPNW7262.js → asset-RNZX4ISG.js} +2 -2
  5. package/dist/{assetCataloger-KBN5LNK4.js → assetCataloger-5YRUY3PJ.js} +2 -2
  6. package/dist/{auth-63PKUA76.js → auth-LUELYGJ4.js} +2 -2
  7. package/dist/{autoUpdate-CLB47L2W.js → autoUpdate-ECMQWUU5.js} +2 -2
  8. package/dist/{backgroundChecks-JW7XF7JA.js → backgroundChecks-PBEJMSA3.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-VFXGGGJG.js → batchRender-2GXKBPFQ.js} +3 -3
  11. package/dist/{beats-3CO6EGBG.js → beats-AAAZVDOY.js} +14 -14
  12. package/dist/{benchmark-CYTMATA7.js → benchmark-EI767IB4.js} +12 -12
  13. package/dist/{browser-QMLZJM2K.js → browser-KAA2VXYH.js} +9 -9
  14. package/dist/{bundleWithLocalizedFonts-5ATL25BF.js → bundleWithLocalizedFonts-MWDYAPGB.js} +2 -2
  15. package/dist/{capture-UEJG6BUX.js → capture-IRRHK6BT.js} +2 -2
  16. package/dist/{capture-DYBK5LGE.js → capture-VYT5NQQI.js} +13 -13
  17. package/dist/{catalog-G773J4K4.js → catalog-FYTZ2ET6.js} +22 -22
  18. package/dist/catch-up-XH3OAKQR.js +123 -0
  19. package/dist/{check-NCXITJWK.js → check-MUMIOK5K.js} +38 -38
  20. package/dist/{checkBrowser-IJQ2WCOB.js → checkBrowser-LKSZFOU6.js} +36 -36
  21. package/dist/{chunk-2EAXUCCE.js → chunk-2NCHQUPX.js} +1 -1
  22. package/dist/{chunk-XT5P4QMO.js → chunk-3DKN5WKL.js} +31 -11
  23. package/dist/{chunk-XLO327OK.js → chunk-3F6YLT72.js} +11 -11
  24. package/dist/{chunk-V2J2ZWPR.js → chunk-5K33TNUJ.js} +2 -2
  25. package/dist/{chunk-JBI43NRR.js → chunk-7OLMGFDN.js} +3 -3
  26. package/dist/{chunk-N3KRRPL7.js → chunk-7Y5SMPRV.js} +3 -3
  27. package/dist/{chunk-SXE656MT.js → chunk-APMG37MX.js} +1 -1
  28. package/dist/{chunk-37EDNWLQ.js → chunk-ASPTQ6DT.js} +1 -1
  29. package/dist/chunk-DCAI5DBR.js +218 -0
  30. package/dist/{chunk-KZJPREW7.js → chunk-DJMXTKKK.js} +1 -1
  31. package/dist/{chunk-YDBQRLRI.js → chunk-DXHYACUC.js} +3 -3
  32. package/dist/{chunk-GULOKZLI.js → chunk-EDUBJPGL.js} +14 -9
  33. package/dist/{chunk-527WRFUQ.js → chunk-FSSMOTMS.js} +1 -1
  34. package/dist/{chunk-FTR6KLIG.js → chunk-GJGVYREG.js} +59 -226
  35. package/dist/{chunk-V26IB6L2.js → chunk-GNHJ4ONK.js} +2 -2
  36. package/dist/{chunk-BQIFI4GV.js → chunk-HUZYBV2Z.js} +1 -1
  37. package/dist/{chunk-ECAXTQGU.js → chunk-HXXX6N2G.js} +2 -2
  38. package/dist/{chunk-2BJCQN7K.js → chunk-I3BRUEKD.js} +1 -1
  39. package/dist/{chunk-BSU7EOWJ.js → chunk-IC5L6L7K.js} +1 -1
  40. package/dist/{chunk-P3UNVJXX.js → chunk-IRYC5BRO.js} +4 -4
  41. package/dist/{chunk-V32SGDX7.js → chunk-JCRJBB4E.js} +10 -10
  42. package/dist/{chunk-H4UIYRZZ.js → chunk-JOUVZO7M.js} +1 -1
  43. package/dist/{chunk-XZABUQTX.js → chunk-JYYOAKHS.js} +1 -1
  44. package/dist/{chunk-Z3EFUXL5.js → chunk-KBUUCAIZ.js} +6 -6
  45. package/dist/{chunk-RTURM45Q.js → chunk-KRLYIT22.js} +1 -1
  46. package/dist/{chunk-5K573LFX.js → chunk-L5E5ZN6G.js} +1 -1
  47. package/dist/{chunk-4AXZWUQ6.js → chunk-MIOBYUXT.js} +1 -1
  48. package/dist/{chunk-ZBNFAZQB.js → chunk-MKVKVMUH.js} +7 -7
  49. package/dist/{chunk-XE6S5CE6.js → chunk-OBC75KXL.js} +1 -1
  50. package/dist/{chunk-PGFP4FLW.js → chunk-P5WDMFBB.js} +405 -205
  51. package/dist/{chunk-WFZEW4AC.js → chunk-P75OFLZN.js} +2 -2
  52. package/dist/{chunk-OSSVNAI5.js → chunk-PHRWQQOJ.js} +1 -1
  53. package/dist/{chunk-5ALWCRBU.js → chunk-PHXBLIKK.js} +10 -10
  54. package/dist/{chunk-OAF4XJOW.js → chunk-PXSM4HPB.js} +7 -2
  55. package/dist/{chunk-3E3WVNVP.js → chunk-QPOK6I32.js} +2 -2
  56. package/dist/{chunk-GK5W3SIJ.js → chunk-R6C6URKB.js} +3 -3
  57. package/dist/{chunk-EXNGSOQG.js → chunk-RH5VML6E.js} +12 -12
  58. package/dist/{chunk-BHOKLX4F.js → chunk-RLNB3JCY.js} +1 -1
  59. package/dist/{chunk-IQ3OUQ5Z.js → chunk-S3S2LSZX.js} +22 -2
  60. package/dist/{chunk-LO7L5PJ3.js → chunk-SDRKEYZV.js} +5 -5
  61. package/dist/{chunk-T5LPCY6I.js → chunk-SIMYRD5P.js} +27 -41
  62. package/dist/{chunk-VDQCNWQI.js → chunk-STA43FMY.js} +1 -1
  63. package/dist/{chunk-VNC6YQOC.js → chunk-SZITAGRK.js} +1 -1
  64. package/dist/chunk-UINDCCO7.js +3742 -0
  65. package/dist/{chunk-BWJ27MQP.js → chunk-UUMK6VME.js} +1 -1
  66. package/dist/{chunk-CG6OUDMX.js → chunk-VR5UQWGV.js} +3 -3
  67. package/dist/{chunk-RVG35AL2.js → chunk-W3KQCJVP.js} +217 -6
  68. package/dist/{chunk-X5HWXQPU.js → chunk-WCJGTLPF.js} +22 -10
  69. package/dist/{chunk-M5WGAAML.js → chunk-WH6PRFNX.js} +3 -3
  70. package/dist/{chunk-WTMA6JQD.js → chunk-XQODEVF3.js} +1 -1
  71. package/dist/{chunk-32QEFPDS.js → chunk-YGXLBX3N.js} +1 -1
  72. package/dist/{chunk-CYG3HXBE.js → chunk-YNBXJWSD.js} +1 -1
  73. package/dist/{clean-UCLCH4YA.js → clean-LZPDOAV4.js} +21 -21
  74. package/dist/cli.js +62 -52
  75. package/dist/{cloud-LVP33D4N.js → cloud-RVAH5NNL.js} +4 -4
  76. package/dist/{cloudrun-FA4XHPZS.js → cloudrun-NFGM6TRT.js} +3 -3
  77. package/dist/{compare-TOTN2CVX.js → compare-S3M5OAL2.js} +29 -29
  78. package/dist/{compiler-XZ654ZH2.js → compiler-SZ4GTYFB.js} +3 -3
  79. package/dist/{component-B5QZZJJA.js → component-PR2WZTQ4.js} +3 -3
  80. package/dist/{compositions-REMCVXXP.js → compositions-6RYXH2UA.js} +11 -11
  81. package/dist/{delete-H2P6PYT5.js → delete-EO7C3LQ6.js} +3 -3
  82. package/dist/{deterministicFonts-U2EXY2KQ.js → deterministicFonts-GTITFRSJ.js} +2 -2
  83. package/dist/{dist-QS5WEGBE.js → dist-OJTEVNJR.js} +1 -1
  84. package/dist/{dist-HVJAGLHF.js → dist-RVC3JTID.js} +2 -2
  85. package/dist/{doctor-HCGHEJDN.js → doctor-UTCCMN32.js} +12 -12
  86. package/dist/{events-2LS5WRYL.js → events-RCGWL4LI.js} +9 -9
  87. package/dist/{events-V5QLQAN4.js → events-RE3OR6KY.js} +8 -8
  88. package/dist/{feedback-WBOC7SAW.js → feedback-V7C64JIR.js} +12 -12
  89. package/dist/{figma-HRUWQ5FO.js → figma-26LOX5PV.js} +3 -3
  90. package/dist/fontLocalizeCli.js +10 -10
  91. package/dist/{get-FS5GMKBK.js → get-E2K2JRTV.js} +3 -3
  92. package/dist/{gpuPolicy-ON3RMSWD.js → gpuPolicy-Z3PQN6ZK.js} +6 -6
  93. package/dist/{grade-compare-G7Z5DWKW.js → grade-compare-OTZDU463.js} +26 -26
  94. package/dist/{help-27P7K7JZ.js → help-IRSQLNI5.js} +3 -2
  95. package/dist/{history-5E46VSDM.js → history-G44U6762.js} +18 -18
  96. package/dist/hyperframe-runtime.js +64 -182
  97. package/dist/hyperframe.manifest.json +1 -1
  98. package/dist/hyperframe.runtime.iife.js +64 -182
  99. package/dist/hyperframes-player.global.js +1 -1
  100. package/dist/{info-2ZYYJL3I.js → info-KXQ2TAHX.js} +11 -11
  101. package/dist/{init-ZI75FWLJ.js → init-7SXMLHJE.js} +27 -27
  102. package/dist/{inspect-YLQN7QL6.js → inspect-7JTINR25.js} +27 -27
  103. package/dist/{installer-DDJVY4TO.js → installer-RH4E6WXT.js} +4 -4
  104. package/dist/{keyframes-JONXVQWD.js → keyframes-PIV573S6.js} +12 -12
  105. package/dist/{lambda-LPLYOEYY.js → lambda-GO5HAA4S.js} +4 -4
  106. package/dist/{layout-ZP4WDRSA.js → layout-N2736OO3.js} +27 -27
  107. package/dist/{lint-XGMUBMLE.js → lint-WUXZ5WWZ.js} +14 -14
  108. package/dist/{lintProject-EPVG2EFE.js → lintProject-ANMPLBIT.js} +1 -1
  109. package/dist/{list-NBXJMDON.js → list-QF7AMX5F.js} +3 -3
  110. package/dist/{login-XIH4H4RH.js → login-6RGSXHQJ.js} +4 -4
  111. package/dist/{manager-GFN75DM4.js → manager-524RPYO7.js} +2 -2
  112. package/dist/{manager-67P2XFXQ.js → manager-DXB7JDHU.js} +2 -2
  113. package/dist/{media-treatment-QYKJDWHD.js → media-treatment-T4KDEDYW.js} +14 -14
  114. package/dist/{models-54NL5PRB.js → models-6JMNK3XI.js} +19 -12
  115. package/dist/{motionShot-Y4D7LHU4.js → motionShot-74WM7KF6.js} +12 -12
  116. package/dist/{normalize-audio-6RR6UGAJ.js → normalize-audio-ZZU36ZMD.js} +14 -14
  117. package/dist/{open-TYFT2DQC.js → open-G523K45B.js} +20 -13
  118. package/dist/{pipeline-P7QRGI5H.js → pipeline-AKDGCWRE.js} +10 -10
  119. package/dist/{play-IZXA4GO3.js → play-SHIGXVON.js} +30 -30
  120. package/dist/{preflight-X3XFRJPQ.js → preflight-6ERLORWK.js} +7 -7
  121. package/dist/{present-JS2KNZLT.js → present-QOYYNZCE.js} +19 -19
  122. package/dist/{preview-M6PED6DU.js → preview-KUXTDJL3.js} +26 -24
  123. package/dist/{producer-KQNJKM7F.js → producer-CH33JXHK.js} +1 -1
  124. package/dist/{projectConfig-EAAQYRMP.js → projectConfig-NKIPRWAE.js} +6 -6
  125. package/dist/{publication-H3G346EX.js → publication-4RBVVR5Z.js} +2 -2
  126. package/dist/{publish-NEGKIS35.js → publish-OLHR4Z4U.js} +12 -11
  127. package/dist/{remove-background-HU4S4HH5.js → remove-background-NPKZSIPY.js} +12 -12
  128. package/dist/{render-24OQFSYB.js → render-GYYGWYQC.js} +17 -17
  129. package/dist/{render-IZHBGVPP.js → render-P4NWFUS7.js} +29 -27
  130. package/dist/{render-F3CNO2IE.js → render-UOKPAJNH.js} +3 -3
  131. package/dist/{render-batch-63CBIJYR.js → render-batch-ZDG3EXSD.js} +3 -3
  132. package/dist/{renderCancellation-FT3JJ7GB.js → renderCancellation-QYQLWHZY.js} +6 -6
  133. package/dist/renderSetupWorker.js +1 -1
  134. package/dist/{resolver-YJJKOGQF.js → resolver-CWH3VVB7.js} +4 -4
  135. package/dist/{sherpa-3BQDMJPJ.js → sherpa-WEQE23S5.js} +130 -47
  136. package/dist/sherpaWorker.js +4 -8
  137. package/dist/skills/hyperframes/SKILL.md +2 -0
  138. package/dist/skills/hyperframes-cli/SKILL.md +1 -1
  139. package/dist/{skills-T2O7PD6Q.js → skills-BVONI6TC.js} +14 -14
  140. package/dist/{skillsUpdateCheck-VYEGOAEI.js → skillsUpdateCheck-KKDPTFM7.js} +3 -3
  141. package/dist/{snapshot-NLTL7ZOM.js → snapshot-PWZFJEDR.js} +36 -36
  142. package/dist/{src-ZPAJ44CP.js → src-HH4C5GZV.js} +9 -9
  143. package/dist/{src-CUR36DBE.js → src-YO7MAWGD.js} +5 -5
  144. package/dist/{staticProjectServer-WN4BSLI3.js → staticProjectServer-PR5INXSA.js} +14 -14
  145. package/dist/{status-6CGT2PJT.js → status-AK67DTED.js} +6 -6
  146. package/dist/studio/assets/{hyperframes-player-ukvUFqdg.js → hyperframes-player-B30apksz.js} +1 -1
  147. package/dist/studio/assets/{index-C-pD9_xY.js → index-BdjA0CLD.js} +147 -147
  148. package/dist/studio/assets/{index-syMK0_9C.css → index-CVd4O6eH.css} +1 -1
  149. package/dist/studio/assets/{index-CRRgIxsS.js → index-DIJuIBwI.js} +1 -1
  150. package/dist/studio/assets/{index-BY_myArg.js → index-DXVvWfQG.js} +1 -1
  151. package/dist/studio/{chunk-QRLKWENQ.js → chunk-4S3AYCOG.js} +2 -2
  152. package/dist/studio/{chunk-NM7BXNZ7.js → chunk-LOVBLSMR.js} +10 -4
  153. package/dist/studio/chunk-LOVBLSMR.js.map +1 -0
  154. package/dist/studio/index.html +2 -2
  155. package/dist/studio/index.js +2852 -2852
  156. package/dist/studio/index.js.map +1 -1
  157. package/dist/studio/player.js +2 -2
  158. package/dist/studio/styles.css +1 -1
  159. package/dist/studio/ui.d.ts +2 -1
  160. package/dist/studio/ui.js +1 -1
  161. package/dist/{studio-api-KTRRONOC.js → studio-api-NFJMFAB7.js} +13 -11
  162. package/dist/{studioServer-O6P3TBDJ.js → studioServer-TQZVCIEL.js} +51 -50
  163. package/dist/{synthesize-K62TIZWI.js → synthesize-77PTU6C5.js} +6 -6
  164. package/dist/{system-3BTZGJNK.js → system-ZWIBWWE6.js} +6 -6
  165. package/dist/{telemetry-G4QOG4OF.js → telemetry-63L2ORO3.js} +9 -9
  166. package/dist/templates/_shared/AGENTS.md +2 -0
  167. package/dist/templates/_shared/CLAUDE.md +2 -0
  168. package/dist/{timeline-JS5QNPLA.js → timeline-QKZQL5DJ.js} +18 -18
  169. package/dist/{tokens-JKLDRW7A.js → tokens-ELK62U4A.js} +2 -2
  170. package/dist/{transcribe-HC35FL6W.js → transcribe-OSK7HEOJ.js} +9 -9
  171. package/dist/{transcribe-CP6ZCDVR.js → transcribe-VKSXTM7K.js} +80 -24
  172. package/dist/{tts-P3LIPIL5.js → tts-FU35O6YB.js} +3 -3
  173. package/dist/{updateCheck-L2UJCCL4.js → updateCheck-PM4FEI7P.js} +2 -2
  174. package/dist/{upgrade-NW7YFVUM.js → upgrade-G635QCNO.js} +2 -2
  175. package/dist/{urlDownloader-A5TT3AFE.js → urlDownloader-MVYQTP73.js} +5 -5
  176. package/dist/{validate-D3ZH3JQ7.js → validate-AZTMI3HR.js} +16 -16
  177. package/dist/{video-USXMJDEZ.js → video-H56FK33V.js} +6 -6
  178. package/package.json +1 -1
  179. package/dist/chunk-SRXQEQWZ.js +0 -3742
  180. package/dist/studio/chunk-NM7BXNZ7.js.map +0 -1
  181. package/dist/{chunk-WJFCDDP7.js → chunk-R4QIE6UY.js} +3 -3
  182. /package/dist/studio/{chunk-QRLKWENQ.js.map → chunk-4S3AYCOG.js.map} +0 -0
@@ -10,18 +10,18 @@ import {
10
10
  import {
11
11
  DEFAULT_MODEL,
12
12
  isWhisperUnavailable
13
- } from "./chunk-OAF4XJOW.js";
14
- import "./chunk-X5HWXQPU.js";
13
+ } from "./chunk-PXSM4HPB.js";
14
+ import "./chunk-WCJGTLPF.js";
15
15
  import "./chunk-TVCRUG2S.js";
16
16
  import {
17
17
  trackTranscribeUnavailable
18
- } from "./chunk-M5WGAAML.js";
19
- import "./chunk-CG6OUDMX.js";
18
+ } from "./chunk-WH6PRFNX.js";
19
+ import "./chunk-VR5UQWGV.js";
20
20
  import "./chunk-VWG7OQKU.js";
21
21
  import {
22
22
  c
23
23
  } from "./chunk-ZTZA4UWZ.js";
24
- import "./chunk-4AXZWUQ6.js";
24
+ import "./chunk-MIOBYUXT.js";
25
25
  import "./chunk-AMKC3AXA.js";
26
26
  import {
27
27
  defineCommand
@@ -31,17 +31,17 @@ import {
31
31
  failCommand,
32
32
  setCommandExitCode
33
33
  } from "./chunk-PBN6GBJE.js";
34
- import "./chunk-N3KRRPL7.js";
35
- import "./chunk-BHOKLX4F.js";
34
+ import "./chunk-7Y5SMPRV.js";
35
+ import "./chunk-RLNB3JCY.js";
36
36
  import "./chunk-OZUQF4NB.js";
37
37
  import "./chunk-DPVXBVLL.js";
38
- import "./chunk-PGFP4FLW.js";
39
- import "./chunk-SRXQEQWZ.js";
38
+ import "./chunk-P5WDMFBB.js";
39
+ import "./chunk-UINDCCO7.js";
40
40
  import "./chunk-VC76R6W2.js";
41
41
  import "./chunk-OFQWTKPW.js";
42
42
  import "./chunk-LCSMOLGX.js";
43
43
  import "./chunk-TWWSYAKJ.js";
44
- import "./chunk-VDQCNWQI.js";
44
+ import "./chunk-STA43FMY.js";
45
45
  import "./chunk-HBBJFK6I.js";
46
46
  import "./chunk-PJ3HDUCY.js";
47
47
  import "./chunk-TQFG7HTI.js";
@@ -51,22 +51,47 @@ import "./chunk-K4WIOZFP.js";
51
51
  import "./chunk-XUXGIA7H.js";
52
52
  import "./chunk-WERLJGIC.js";
53
53
  import "./chunk-ISN5GRYI.js";
54
- import "./chunk-WFZEW4AC.js";
54
+ import "./chunk-P75OFLZN.js";
55
55
  import {
56
56
  normalizeErrorMessage
57
57
  } from "./chunk-KNU5COPB.js";
58
58
  import {
59
59
  PARAKEET_LANGUAGES,
60
- PARAKEET_MODEL_LABEL,
61
60
  findParakeet,
62
61
  parakeetSpeaks,
63
62
  transcribeWithParakeet
64
- } from "./chunk-IQ3OUQ5Z.js";
63
+ } from "./chunk-S3S2LSZX.js";
65
64
  import "./chunk-3GXQPCJC.js";
66
65
  import "./chunk-RQVDTPGD.js";
67
66
  import "./chunk-PMRBLBUP.js";
68
67
  import "./chunk-M2WBOQ2Q.js";
69
68
 
69
+ // src/whisper/progress.ts
70
+ function createProgressWriter(stream) {
71
+ let blocked = false;
72
+ const pending = [];
73
+ const write = (event) => {
74
+ if (blocked) {
75
+ const previous = pending.at(-1);
76
+ if (event.phase === "download" && previous?.phase === "download" && previous.model === event.model) {
77
+ pending[pending.length - 1] = event;
78
+ } else {
79
+ pending.push(event);
80
+ }
81
+ return;
82
+ }
83
+ blocked = !stream.write(`${JSON.stringify(event)}
84
+ `);
85
+ if (blocked) {
86
+ stream.once("drain", () => {
87
+ blocked = false;
88
+ while (!blocked && pending.length > 0) write(pending.shift());
89
+ });
90
+ }
91
+ };
92
+ return write;
93
+ }
94
+
70
95
  // src/commands/transcribe.ts
71
96
  import { existsSync, rmSync, writeFileSync } from "fs";
72
97
  import { resolve, join, extname, dirname } from "path";
@@ -117,7 +142,7 @@ var transcribe_default = defineCommand({
117
142
  },
118
143
  json: {
119
144
  type: "boolean",
120
- description: "Output result as JSON",
145
+ description: "Output result as JSON; progress JSON lines go to stderr",
121
146
  default: false
122
147
  },
123
148
  to: {
@@ -134,6 +159,11 @@ var transcribe_default = defineCommand({
134
159
  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.",
135
160
  default: false
136
161
  },
162
+ "runtime-install": {
163
+ type: "boolean",
164
+ default: true,
165
+ description: "Allow installing the Whisper runtime. Use --no-runtime-install to require an existing runtime; model downloads remain allowed."
166
+ },
137
167
  optional: {
138
168
  type: "boolean",
139
169
  description: "Treat captions as optional: if whisper-cpp is unavailable, skip and exit 0 instead of failing. For pipelines that continue without captions.",
@@ -174,6 +204,7 @@ var transcribe_default = defineCommand({
174
204
  language: args.language,
175
205
  json: args.json,
176
206
  optional: args.optional,
207
+ installRuntime: args["runtime-install"],
177
208
  timeoutMs
178
209
  });
179
210
  }
@@ -250,7 +281,7 @@ function pickRunner(engine, sherpaUsable, language) {
250
281
  }
251
282
  var parakeetFallsBack = (engine) => engine === "auto";
252
283
  async function transcribeAudio(inputPath, dir, opts) {
253
- const { transcribe } = await import("./transcribe-HC35FL6W.js");
284
+ const { transcribe } = await import("./transcribe-OSK7HEOJ.js");
254
285
  const { loadTranscript, patchCaptionHtml, stripBeforeOnset } = await import("./normalize-O76AC4HE.js");
255
286
  const {
256
287
  DecodeCancelled,
@@ -258,8 +289,8 @@ async function transcribeAudio(inputPath, dir, opts) {
258
289
  sherpaParakeetInstalled,
259
290
  sherpaUnsupportedReason,
260
291
  transcribeWithSherpa
261
- } = await import("./sherpa-3BQDMJPJ.js");
262
- const { createRenderCancellationScope, stoppedByCancelSignal } = await import("./renderCancellation-FT3JJ7GB.js");
292
+ } = await import("./sherpa-WEQE23S5.js");
293
+ const { createRenderCancellationScope, stoppedByCancelSignal } = await import("./renderCancellation-QYQLWHZY.js");
263
294
  const engine = (opts.engine ?? "auto").toLowerCase();
264
295
  if (engine !== "auto" && engine !== "parakeet" && engine !== "whisper") {
265
296
  failWith(`Unknown --engine: ${opts.engine}. Use auto, parakeet, or whisper.`, !!opts.json);
@@ -283,14 +314,38 @@ async function transcribeAudio(inputPath, dir, opts) {
283
314
  const spin = opts.json ? null : ft();
284
315
  spin?.start(`Transcribing with ${label(runner)}...`);
285
316
  const onProgress = spin ? (msg) => spin.message(msg) : void 0;
317
+ const onEvent = opts.json ? createProgressWriter(process.stderr) : void 0;
286
318
  let wavPath = inputPath;
287
319
  const cancellation = runner === "sherpa" ? createRenderCancellationScope() : null;
288
- const run = (r) => r === "sherpa" ? transcribeWithSherpa(wavPath, dir, { onProgress, signal: cancellation.signal }) : r === "parakeet-mlx" ? transcribeWithParakeet(wavPath, dir, { language: opts.language, onProgress }) : transcribe(wavPath, dir, {
289
- model,
290
- language: opts.language,
291
- onProgress,
292
- timeoutMs: opts.timeoutMs
293
- });
320
+ const run = (r) => {
321
+ switch (r) {
322
+ case "sherpa":
323
+ return transcribeWithSherpa(wavPath, dir, {
324
+ onProgress,
325
+ onEvent,
326
+ signal: cancellation.signal
327
+ });
328
+ case "parakeet-mlx":
329
+ return transcribeWithParakeet(wavPath, dir, {
330
+ language: opts.language,
331
+ onProgress,
332
+ onEvent
333
+ });
334
+ case "whisper":
335
+ return transcribe(wavPath, dir, {
336
+ model,
337
+ language: opts.language,
338
+ onProgress,
339
+ onEvent,
340
+ timeoutMs: opts.timeoutMs,
341
+ installRuntime: opts.installRuntime
342
+ });
343
+ default: {
344
+ const unreachable = r;
345
+ throw new Error(`Unknown transcription runner: ${unreachable}`);
346
+ }
347
+ }
348
+ };
294
349
  try {
295
350
  if (runner === "sherpa") wavPath = prepareSherpaWav(inputPath, onProgress);
296
351
  let result;
@@ -333,7 +388,8 @@ async function transcribeAudio(inputPath, dir, opts) {
333
388
  JSON.stringify({
334
389
  ok: true,
335
390
  engine: runner === "whisper" ? "whisper" : "parakeet",
336
- model: runner === "whisper" ? model : PARAKEET_MODEL_LABEL,
391
+ model: result.model,
392
+ detectedLanguage: result.detectedLanguage,
337
393
  wordCount: words.length,
338
394
  durationSeconds: result.durationSeconds,
339
395
  speechOnsetSeconds: result.speechOnsetSeconds,
@@ -10,14 +10,14 @@ import {
10
10
  SUPPORTED_LANGS,
11
11
  inferLangFromVoiceId,
12
12
  isSupportedLang
13
- } from "./chunk-XZABUQTX.js";
13
+ } from "./chunk-JYYOAKHS.js";
14
14
  import {
15
15
  errorBox
16
16
  } from "./chunk-IHFUKJOR.js";
17
17
  import {
18
18
  ft
19
19
  } from "./chunk-WMQNIQDJ.js";
20
- import "./chunk-X5HWXQPU.js";
20
+ import "./chunk-WCJGTLPF.js";
21
21
  import {
22
22
  c
23
23
  } from "./chunk-ZTZA4UWZ.js";
@@ -152,7 +152,7 @@ var tts_default = defineCommand({
152
152
  )
153
153
  );
154
154
  }
155
- const { synthesize } = await import("./synthesize-K62TIZWI.js");
155
+ const { synthesize } = await import("./synthesize-77PTU6C5.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-CYG3HXBE.js";
19
+ } from "./chunk-YNBXJWSD.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-WFZEW4AC.js";
24
+ import "./chunk-P75OFLZN.js";
25
25
  import "./chunk-KNU5COPB.js";
26
26
  import "./chunk-M2WBOQ2Q.js";
27
27
  export {
@@ -28,14 +28,14 @@ import {
28
28
  rewritePinnedHyperframesText,
29
29
  rewriteProjectPinnedScripts,
30
30
  withMeta
31
- } from "./chunk-CYG3HXBE.js";
31
+ } from "./chunk-YNBXJWSD.js";
32
32
  import "./chunk-K4WIOZFP.js";
33
33
  import "./chunk-XUXGIA7H.js";
34
34
  import "./chunk-WERLJGIC.js";
35
35
  import "./chunk-ISN5GRYI.js";
36
36
  import {
37
37
  VERSION
38
- } from "./chunk-WFZEW4AC.js";
38
+ } from "./chunk-P75OFLZN.js";
39
39
  import "./chunk-KNU5COPB.js";
40
40
  import "./chunk-M2WBOQ2Q.js";
41
41
 
@@ -11,16 +11,16 @@ import {
11
11
  isHttpUrl,
12
12
  safeDownloadUrlIdentity,
13
13
  writeUrlDownloadTelemetry
14
- } from "./chunk-N3KRRPL7.js";
15
- import "./chunk-BHOKLX4F.js";
14
+ } from "./chunk-7Y5SMPRV.js";
15
+ import "./chunk-RLNB3JCY.js";
16
16
  import "./chunk-OZUQF4NB.js";
17
17
  import "./chunk-DPVXBVLL.js";
18
- import "./chunk-PGFP4FLW.js";
19
- import "./chunk-SRXQEQWZ.js";
18
+ import "./chunk-P5WDMFBB.js";
19
+ import "./chunk-UINDCCO7.js";
20
20
  import "./chunk-VC76R6W2.js";
21
21
  import "./chunk-OFQWTKPW.js";
22
22
  import "./chunk-TWWSYAKJ.js";
23
- import "./chunk-VDQCNWQI.js";
23
+ import "./chunk-STA43FMY.js";
24
24
  import "./chunk-HBBJFK6I.js";
25
25
  import "./chunk-PJ3HDUCY.js";
26
26
  import "./chunk-TQFG7HTI.js";
@@ -13,46 +13,46 @@ import {
13
13
  shouldIgnoreHttpError,
14
14
  shouldIgnoreRequestFailure,
15
15
  validate_default
16
- } from "./chunk-EXNGSOQG.js";
17
- import "./chunk-LO7L5PJ3.js";
16
+ } from "./chunk-RH5VML6E.js";
17
+ import "./chunk-L5E5ZN6G.js";
18
+ import "./chunk-SDRKEYZV.js";
18
19
  import "./chunk-5Z63TBTX.js";
19
- import "./chunk-XE6S5CE6.js";
20
- import "./chunk-BSU7EOWJ.js";
20
+ import "./chunk-OBC75KXL.js";
21
+ import "./chunk-IC5L6L7K.js";
21
22
  import "./chunk-YEIFI443.js";
22
- import "./chunk-5K573LFX.js";
23
23
  import "./chunk-IHFUKJOR.js";
24
- import "./chunk-OSSVNAI5.js";
24
+ import "./chunk-PHRWQQOJ.js";
25
25
  import "./chunk-PFCFR3KZ.js";
26
- import "./chunk-M5WGAAML.js";
27
- import "./chunk-CG6OUDMX.js";
26
+ import "./chunk-WH6PRFNX.js";
27
+ import "./chunk-VR5UQWGV.js";
28
28
  import "./chunk-VWG7OQKU.js";
29
29
  import "./chunk-ZTZA4UWZ.js";
30
- import "./chunk-4AXZWUQ6.js";
30
+ import "./chunk-MIOBYUXT.js";
31
31
  import "./chunk-AMKC3AXA.js";
32
32
  import "./chunk-S3S4TGEH.js";
33
33
  import "./chunk-54HJ63Q2.js";
34
34
  import "./chunk-PBN6GBJE.js";
35
- import "./chunk-N3KRRPL7.js";
36
- import "./chunk-BHOKLX4F.js";
35
+ import "./chunk-7Y5SMPRV.js";
36
+ import "./chunk-RLNB3JCY.js";
37
37
  import "./chunk-OZUQF4NB.js";
38
38
  import "./chunk-DPVXBVLL.js";
39
- import "./chunk-PGFP4FLW.js";
40
- import "./chunk-SRXQEQWZ.js";
39
+ import "./chunk-P5WDMFBB.js";
40
+ import "./chunk-UINDCCO7.js";
41
41
  import "./chunk-VC76R6W2.js";
42
42
  import "./chunk-OFQWTKPW.js";
43
43
  import "./chunk-TWWSYAKJ.js";
44
- import "./chunk-VDQCNWQI.js";
44
+ import "./chunk-STA43FMY.js";
45
45
  import "./chunk-HBBJFK6I.js";
46
46
  import "./chunk-PJ3HDUCY.js";
47
47
  import "./chunk-TQFG7HTI.js";
48
48
  import "./chunk-GK4AIFIH.js";
49
49
  import "./chunk-2PSPARWP.js";
50
- import "./chunk-CYG3HXBE.js";
50
+ import "./chunk-YNBXJWSD.js";
51
51
  import "./chunk-K4WIOZFP.js";
52
52
  import "./chunk-XUXGIA7H.js";
53
53
  import "./chunk-WERLJGIC.js";
54
54
  import "./chunk-ISN5GRYI.js";
55
- import "./chunk-WFZEW4AC.js";
55
+ import "./chunk-P75OFLZN.js";
56
56
  import "./chunk-KNU5COPB.js";
57
57
  import "./chunk-3GXQPCJC.js";
58
58
  import "./chunk-RQVDTPGD.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  CAPTURE_USER_AGENT,
9
9
  safeFetch
10
- } from "./chunk-2BJCQN7K.js";
10
+ } from "./chunk-I3BRUEKD.js";
11
11
  import {
12
12
  ensureCaptureDirSync
13
13
  } from "./chunk-MRF4AMKD.js";
@@ -18,16 +18,16 @@ import {
18
18
  import {
19
19
  setCommandExitCode
20
20
  } from "./chunk-PBN6GBJE.js";
21
- import "./chunk-N3KRRPL7.js";
22
- import "./chunk-BHOKLX4F.js";
21
+ import "./chunk-7Y5SMPRV.js";
22
+ import "./chunk-RLNB3JCY.js";
23
23
  import "./chunk-OZUQF4NB.js";
24
24
  import "./chunk-DPVXBVLL.js";
25
- import "./chunk-PGFP4FLW.js";
26
- import "./chunk-SRXQEQWZ.js";
25
+ import "./chunk-P5WDMFBB.js";
26
+ import "./chunk-UINDCCO7.js";
27
27
  import "./chunk-VC76R6W2.js";
28
28
  import "./chunk-OFQWTKPW.js";
29
29
  import "./chunk-TWWSYAKJ.js";
30
- import "./chunk-VDQCNWQI.js";
30
+ import "./chunk-STA43FMY.js";
31
31
  import "./chunk-HBBJFK6I.js";
32
32
  import "./chunk-PJ3HDUCY.js";
33
33
  import "./chunk-TQFG7HTI.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hyperframes",
3
- "version": "0.8.136",
3
+ "version": "0.8.138",
4
4
  "description": "HyperFrames CLI — create, preview, and render HTML video compositions",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {