hyperframes 0.8.137 → 0.8.139

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-RUYRFHHN.js → add-VYJQ4S3P.js} +15 -15
  2. package/dist/{animatedGifPrep-VMLA2P45.js → animatedGifPrep-IBMW6FZB.js} +6 -6
  3. package/dist/appHistory-TH3TL6N6.js +31 -0
  4. package/dist/{asset-DHOG5RFW.js → asset-FLSUS73X.js} +2 -2
  5. package/dist/{assetCataloger-7XIMSAPT.js → assetCataloger-TGD7TRCR.js} +2 -2
  6. package/dist/{auth-FUBCZVUH.js → auth-EZXIN4M4.js} +2 -2
  7. package/dist/{autoUpdate-LHVP2DWF.js → autoUpdate-ZPMY5T3X.js} +2 -2
  8. package/dist/{backgroundChecks-JO3KP5QE.js → backgroundChecks-JIDTAUFE.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-PBCQ3R2Y.js → batchRender-FNZ6TJYY.js} +3 -3
  11. package/dist/{beats-AF7C54FH.js → beats-EAA4U3YN.js} +14 -14
  12. package/dist/{benchmark-QST66S5G.js → benchmark-KKZQVK2Y.js} +12 -12
  13. package/dist/{browser-NBKY3N66.js → browser-ZIVVJLJT.js} +9 -9
  14. package/dist/{bundleWithLocalizedFonts-ZYZHO7IV.js → bundleWithLocalizedFonts-2XWC3PEM.js} +2 -2
  15. package/dist/{capture-MGC5AO5D.js → capture-EFYPXI42.js} +13 -13
  16. package/dist/{capture-6GM7SIH5.js → capture-MKJHABUL.js} +2 -2
  17. package/dist/{catalog-IT2TP2YE.js → catalog-EWX4BBI2.js} +21 -21
  18. package/dist/catch-up-FJFH7T4W.js +123 -0
  19. package/dist/{check-HNTSVBUV.js → check-YJNVDCBP.js} +38 -38
  20. package/dist/{checkBrowser-XH446M7L.js → checkBrowser-I6SPPEGD.js} +36 -36
  21. package/dist/{chunk-WTGGSKAJ.js → chunk-25DHUDOK.js} +3 -3
  22. package/dist/{chunk-XT5P4QMO.js → chunk-3DKN5WKL.js} +31 -11
  23. package/dist/{chunk-MBSFY6Y5.js → chunk-3RT6D4P6.js} +1 -1
  24. package/dist/{chunk-6IEDWKFR.js → chunk-4VZBKOQJ.js} +1 -1
  25. package/dist/chunk-6IHWCZ3W.js +54 -0
  26. package/dist/{chunk-X2GKNLHE.js → chunk-7SI7GCX6.js} +3 -3
  27. package/dist/{chunk-J4AOOISS.js → chunk-A4X2YWNQ.js} +217 -6
  28. package/dist/{chunk-E6WZHX7J.js → chunk-BC3OY2ED.js} +1 -1
  29. package/dist/{chunk-GR7YLWXS.js → chunk-CDJ7FPPJ.js} +1 -1
  30. package/dist/{chunk-4LBBWEEH.js → chunk-CDMB3PRC.js} +4 -4
  31. package/dist/chunk-DCAI5DBR.js +218 -0
  32. package/dist/{chunk-LSLJIVWV.js → chunk-DUQJF7FK.js} +3 -3
  33. package/dist/{chunk-VU7RRQNA.js → chunk-DW32KBHN.js} +12 -12
  34. package/dist/{chunk-GULOKZLI.js → chunk-EDUBJPGL.js} +14 -9
  35. package/dist/{chunk-4HWOEWMH.js → chunk-EH4VUY27.js} +5 -5
  36. package/dist/{chunk-SCCJUPPX.js → chunk-EJ7OWYF2.js} +1 -1
  37. package/dist/{chunk-R2MFCLGW.js → chunk-EZ2P7LAP.js} +5 -5
  38. package/dist/{chunk-DKYXU4F4.js → chunk-FLRCVYNE.js} +2 -2
  39. package/dist/{chunk-NSLSFVFN.js → chunk-GIDHR5OL.js} +1 -1
  40. package/dist/{chunk-HUV6BP7O.js → chunk-GWV2Y36Q.js} +405 -205
  41. package/dist/{chunk-RQLZL5KC.js → chunk-HOIHGPWO.js} +1 -1
  42. package/dist/chunk-HYYSJI5D.js +3742 -0
  43. package/dist/{chunk-BVOGEPHM.js → chunk-IBRZUVTH.js} +2 -2
  44. package/dist/{chunk-ZBKSKJ37.js → chunk-JIIIBTN2.js} +1 -1
  45. package/dist/{chunk-J6BHZVM3.js → chunk-JTAYFSLO.js} +1 -1
  46. package/dist/{chunk-7LAWNKVY.js → chunk-JX7Y57YY.js} +1 -1
  47. package/dist/{chunk-S3S2LSZX.js → chunk-KDPYVTEU.js} +2 -1
  48. package/dist/{chunk-OUKLD6D2.js → chunk-NTIOLSFE.js} +3 -3
  49. package/dist/{chunk-ADXD2HP4.js → chunk-O6K5DWXM.js} +1 -1
  50. package/dist/{chunk-5ORPW6RH.js → chunk-OENM2JVZ.js} +3 -3
  51. package/dist/{chunk-N4Y4KZFV.js → chunk-PFI3VD77.js} +7 -7
  52. package/dist/{chunk-OEJQAXS3.js → chunk-PLNWWGE7.js} +1 -1
  53. package/dist/{chunk-MOBLZWAK.js → chunk-Q73ISOVQ.js} +1 -1
  54. package/dist/{chunk-TTBOUHWT.js → chunk-QXOFUKBF.js} +3 -3
  55. package/dist/{chunk-VYGC4AJL.js → chunk-R7LWDIKB.js} +1 -1
  56. package/dist/{chunk-DRYF6HV2.js → chunk-SIKMUO45.js} +11 -11
  57. package/dist/{chunk-VDQCNWQI.js → chunk-STA43FMY.js} +1 -1
  58. package/dist/{chunk-2DQ356HE.js → chunk-TCWL4BKK.js} +1 -1
  59. package/dist/{chunk-FAID56IK.js → chunk-U3GEXWI5.js} +1 -1
  60. package/dist/{chunk-GYVUR4XC.js → chunk-U3HX7WE6.js} +1 -1
  61. package/dist/{chunk-YDCEBBEL.js → chunk-UGI77E35.js} +10 -10
  62. package/dist/{chunk-WYX6L7AV.js → chunk-UMWROSIP.js} +2 -2
  63. package/dist/chunk-UOFAE5RF.js +42 -0
  64. package/dist/{chunk-7MF7FTFV.js → chunk-UQXOHEQ7.js} +1 -1
  65. package/dist/{chunk-ZBAC7334.js → chunk-VTVS4IIP.js} +2 -2
  66. package/dist/{chunk-E2C5SLHT.js → chunk-W7SAWBQC.js} +78 -20
  67. package/dist/{chunk-JVJQL42J.js → chunk-X3TMMIDP.js} +9 -9
  68. package/dist/{chunk-SMGQFCBC.js → chunk-XOZ3J3LB.js} +1 -1
  69. package/dist/{chunk-WFNNUWFN.js → chunk-YOL4QRSL.js} +2 -2
  70. package/dist/{chunk-6XCIGLRQ.js → chunk-Z67RZ4XO.js} +62 -228
  71. package/dist/{clean-OWDWVJBN.js → clean-P4KTCOUA.js} +21 -21
  72. package/dist/cli.js +62 -52
  73. package/dist/{cloud-S3MPN5VF.js → cloud-PDY7S4HU.js} +4 -4
  74. package/dist/{cloudrun-TLB7DEIN.js → cloudrun-54MA2W5H.js} +3 -3
  75. package/dist/{compare-YRR6E22F.js → compare-LDWVSPC5.js} +29 -29
  76. package/dist/{compiler-ENHZ73DN.js → compiler-CWSZ4W7J.js} +3 -3
  77. package/dist/{component-EIJRLMDN.js → component-FIEGC22U.js} +3 -3
  78. package/dist/{compositions-5CBYWP55.js → compositions-JR7PX356.js} +11 -11
  79. package/dist/{delete-3U5L6XFA.js → delete-FXA2IHOS.js} +3 -3
  80. package/dist/{deterministicFonts-U2EXY2KQ.js → deterministicFonts-GTITFRSJ.js} +2 -2
  81. package/dist/{dist-7Y5HTID7.js → dist-4JZWRWS6.js} +2 -2
  82. package/dist/{dist-QS5WEGBE.js → dist-OJTEVNJR.js} +1 -1
  83. package/dist/{doctor-IZQZRMWC.js → doctor-OTDHPM6K.js} +12 -12
  84. package/dist/{events-6BYBCUBA.js → events-6T7M2VCO.js} +9 -9
  85. package/dist/{events-BYDKYSIJ.js → events-UAFTI24U.js} +8 -8
  86. package/dist/{feedback-I4YN55BC.js → feedback-ZGZODHB6.js} +12 -12
  87. package/dist/{figma-A3FAM3JT.js → figma-D26EJ7ZB.js} +3 -3
  88. package/dist/fontLocalizeCli.js +10 -10
  89. package/dist/{get-PIFWLOAB.js → get-IAREU7IK.js} +3 -3
  90. package/dist/{gpuPolicy-26BEFD3H.js → gpuPolicy-NS7WZRDJ.js} +6 -6
  91. package/dist/{grade-compare-H2OKE5QQ.js → grade-compare-ZXHFHCD2.js} +26 -26
  92. package/dist/{gsapParser-2OL54XZ5.js → gsapParser-UP3PNPC2.js} +3 -2
  93. package/dist/{help-AXK7X72W.js → help-RVNYHW3N.js} +3 -2
  94. package/dist/{history-KUS6IXSL.js → history-THP4VNMF.js} +18 -18
  95. package/dist/hyperframe-runtime.js +64 -182
  96. package/dist/hyperframe.manifest.json +1 -1
  97. package/dist/hyperframe.runtime.iife.js +64 -182
  98. package/dist/hyperframes-player.global.js +1 -1
  99. package/dist/{info-DRASLTTJ.js → info-EOFRHN5A.js} +11 -11
  100. package/dist/{init-3BZKVTW5.js → init-YLIJE4CG.js} +24 -22
  101. package/dist/{inspect-ROKMT5V7.js → inspect-3D56ONJD.js} +27 -27
  102. package/dist/{installer-ERYE2UVI.js → installer-GRR2GDZK.js} +4 -4
  103. package/dist/{keyframes-PXGT4QQ5.js → keyframes-NXNCTQPK.js} +12 -12
  104. package/dist/{lambda-EQAPNZDT.js → lambda-VGRZD7TR.js} +4 -4
  105. package/dist/{layout-PMFNU7NB.js → layout-Z5DOS6DU.js} +27 -27
  106. package/dist/{lint-G26WF3YE.js → lint-YD6NJGR2.js} +14 -14
  107. package/dist/{lintProject-EPVG2EFE.js → lintProject-ANMPLBIT.js} +1 -1
  108. package/dist/{list-WIPSPI6M.js → list-XGDKILYN.js} +3 -3
  109. package/dist/{login-3CPZGZKC.js → login-GD5SA4RD.js} +4 -4
  110. package/dist/{media-treatment-MGAQ5DQJ.js → media-treatment-TY4X4GQQ.js} +14 -14
  111. package/dist/{models-QHS7P3NJ.js → models-MXRDH4WJ.js} +19 -12
  112. package/dist/{motionShot-OLA4DIP7.js → motionShot-6LKR3C2E.js} +12 -12
  113. package/dist/{normalize-audio-PAPIKX2Y.js → normalize-audio-5ADDZKPJ.js} +14 -14
  114. package/dist/{open-D5INI7M6.js → open-JXAMO325.js} +20 -13
  115. package/dist/{pipeline-IWP6BVSS.js → pipeline-Q5MOPIIX.js} +8 -8
  116. package/dist/{play-O2WTUH6O.js → play-3SPH5GWZ.js} +30 -30
  117. package/dist/{preflight-EUCDEHR5.js → preflight-2PWAPKWC.js} +7 -7
  118. package/dist/{present-YDJZIRYD.js → present-ZTJQDKXZ.js} +19 -19
  119. package/dist/{preview-AS6S5EKV.js → preview-4A3XZR6J.js} +26 -24
  120. package/dist/{producer-S77FHAAG.js → producer-5ZKKKQPB.js} +1 -1
  121. package/dist/{projectConfig-6XCGW6KX.js → projectConfig-WA4CS4SN.js} +6 -6
  122. package/dist/{publication-E46VH7XO.js → publication-CLG2FRRI.js} +2 -2
  123. package/dist/{publish-GQXWU7NF.js → publish-YTT2WMXO.js} +12 -11
  124. package/dist/{remove-background-JPPYOSD2.js → remove-background-W35INR3B.js} +9 -9
  125. package/dist/{render-XC3O77AK.js → render-7A4P5WMU.js} +3 -3
  126. package/dist/{render-IPOSWART.js → render-KICXUPNR.js} +17 -17
  127. package/dist/{render-HQJEYV6Q.js → render-WUBFQMAH.js} +29 -27
  128. package/dist/{render-batch-FX5TZDGW.js → render-batch-N7EFGE6S.js} +3 -3
  129. package/dist/{renderCancellation-66SZW2VF.js → renderCancellation-LYQPPFAO.js} +6 -6
  130. package/dist/renderSetupWorker.js +1 -1
  131. package/dist/{resolver-JU3VRG4K.js → resolver-YTT2NENF.js} +4 -4
  132. package/dist/{sherpa-I5YSMJNV.js → sherpa-353MW4UV.js} +140 -46
  133. package/dist/sherpaWorker.js +13 -9
  134. package/dist/skills/hyperframes/SKILL.md +2 -0
  135. package/dist/skills/hyperframes-cli/SKILL.md +1 -1
  136. package/dist/{skills-SLCG4D3C.js → skills-2XJIOEBT.js} +14 -14
  137. package/dist/{skillsUpdateCheck-KJBSMNG3.js → skillsUpdateCheck-LMCCWGNO.js} +3 -3
  138. package/dist/{snapshot-WOPONARS.js → snapshot-WBRSTLJ2.js} +36 -36
  139. package/dist/{src-A7PS67DT.js → src-YWFJILQF.js} +5 -5
  140. package/dist/{src-EDXJKFXO.js → src-ZS3BLTZ5.js} +9 -9
  141. package/dist/{staticProjectServer-XUCQPVTF.js → staticProjectServer-4VKVHPNG.js} +14 -14
  142. package/dist/{status-Z23IJMWJ.js → status-73MBN37B.js} +6 -6
  143. package/dist/studio/assets/{hyperframes-player-D_Mh6hbx.js → hyperframes-player-CckOoCJ8.js} +1 -1
  144. package/dist/studio/assets/{index-CHEctGzc.js → index-BmIPrb8I.js} +1 -1
  145. package/dist/studio/assets/{index-B3lJsA-e.js → index-Br1Whc0f.js} +189 -189
  146. package/dist/studio/assets/{index-CC_E-Cbl.css → index-CVd4O6eH.css} +1 -1
  147. package/dist/studio/assets/{index-rtccfg9b.js → index-DsEkE5_G.js} +1 -1
  148. package/dist/studio/{chunk-4S3AYCOG.js → chunk-E422JDF5.js} +2 -2
  149. package/dist/studio/{chunk-TDWGXBUT.js → chunk-TFLU2MGI.js} +1 -6
  150. package/dist/studio/chunk-TFLU2MGI.js.map +1 -0
  151. package/dist/studio/{chunk-7UQWVN52.js → chunk-UYWON5AX.js} +2 -2
  152. package/dist/studio/{domEditingLayers-IEVLO54Z.js → domEditingLayers-KBTPQKGA.js} +3 -3
  153. package/dist/studio/index.d.ts +2 -1
  154. package/dist/studio/index.html +2 -2
  155. package/dist/studio/index.js +867 -499
  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-api-SAZ65ULH.js → studio-api-5V4TVSQV.js} +11 -11
  160. package/dist/{studioServer-525NV45Z.js → studioServer-M5XY3HYC.js} +51 -50
  161. package/dist/{system-SXBUUXBG.js → system-RCRNX5VF.js} +6 -6
  162. package/dist/{telemetry-MUWYEQ42.js → telemetry-LOBRQGUD.js} +9 -9
  163. package/dist/templates/_shared/AGENTS.md +2 -0
  164. package/dist/templates/_shared/CLAUDE.md +2 -0
  165. package/dist/{timeline-BUCFPNP6.js → timeline-3JCP6PXU.js} +18 -18
  166. package/dist/{tokens-OOJBPXYD.js → tokens-MLMIJBVF.js} +2 -2
  167. package/dist/{transcribe-JAADNKL7.js → transcribe-KNFXDEAX.js} +9 -7
  168. package/dist/{transcribe-GCVTFFIF.js → transcribe-POH25ZPX.js} +30 -47
  169. package/dist/{tts-XGVL5UHX.js → tts-FU35O6YB.js} +1 -1
  170. package/dist/{updateCheck-AVUIJNVC.js → updateCheck-5ITBSBST.js} +2 -2
  171. package/dist/{upgrade-DV6IVILG.js → upgrade-K6OK4FKT.js} +2 -2
  172. package/dist/{urlDownloader-N7LDOVHK.js → urlDownloader-TJJQKADT.js} +5 -5
  173. package/dist/{validate-22IQFLYH.js → validate-PPPOBJHB.js} +16 -16
  174. package/dist/{video-22M7YBQT.js → video-OB22HWXZ.js} +6 -6
  175. package/package.json +1 -1
  176. package/dist/chunk-P7GAS5DG.js +0 -3742
  177. package/dist/studio/chunk-TDWGXBUT.js.map +0 -1
  178. package/dist/{chunk-WJFCDDP7.js → chunk-R4QIE6UY.js} +3 -3
  179. package/dist/studio/{chunk-4S3AYCOG.js.map → chunk-E422JDF5.js.map} +0 -0
  180. package/dist/studio/{chunk-7UQWVN52.js.map → chunk-UYWON5AX.js.map} +0 -0
  181. package/dist/studio/{domEditingLayers-IEVLO54Z.js.map → domEditingLayers-KBTPQKGA.js.map} +0 -0
  182. package/dist/{synthesize-4RPDY46T.js → synthesize-77PTU6C5.js} +4 -4
@@ -4,6 +4,9 @@ import { dirname as __hf_dirname } from "node:path";
4
4
  var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
+ import {
8
+ createProgressWriter
9
+ } from "./chunk-6IHWCZ3W.js";
7
10
  import {
8
11
  ft
9
12
  } from "./chunk-WMQNIQDJ.js";
@@ -15,13 +18,13 @@ import "./chunk-WCJGTLPF.js";
15
18
  import "./chunk-TVCRUG2S.js";
16
19
  import {
17
20
  trackTranscribeUnavailable
18
- } from "./chunk-WTGGSKAJ.js";
19
- import "./chunk-X2GKNLHE.js";
21
+ } from "./chunk-25DHUDOK.js";
22
+ import "./chunk-7SI7GCX6.js";
20
23
  import "./chunk-VWG7OQKU.js";
21
24
  import {
22
25
  c
23
26
  } from "./chunk-ZTZA4UWZ.js";
24
- import "./chunk-OEJQAXS3.js";
27
+ import "./chunk-PLNWWGE7.js";
25
28
  import "./chunk-AMKC3AXA.js";
26
29
  import {
27
30
  defineCommand
@@ -31,17 +34,17 @@ import {
31
34
  failCommand,
32
35
  setCommandExitCode
33
36
  } from "./chunk-PBN6GBJE.js";
34
- import "./chunk-TTBOUHWT.js";
35
- import "./chunk-SCCJUPPX.js";
37
+ import "./chunk-QXOFUKBF.js";
38
+ import "./chunk-EJ7OWYF2.js";
36
39
  import "./chunk-OZUQF4NB.js";
37
40
  import "./chunk-DPVXBVLL.js";
38
- import "./chunk-HUV6BP7O.js";
39
- import "./chunk-P7GAS5DG.js";
41
+ import "./chunk-GWV2Y36Q.js";
42
+ import "./chunk-HYYSJI5D.js";
40
43
  import "./chunk-VC76R6W2.js";
41
44
  import "./chunk-OFQWTKPW.js";
42
45
  import "./chunk-LCSMOLGX.js";
43
46
  import "./chunk-TWWSYAKJ.js";
44
- import "./chunk-VDQCNWQI.js";
47
+ import "./chunk-STA43FMY.js";
45
48
  import "./chunk-HBBJFK6I.js";
46
49
  import "./chunk-PJ3HDUCY.js";
47
50
  import "./chunk-TQFG7HTI.js";
@@ -51,7 +54,7 @@ import "./chunk-K4WIOZFP.js";
51
54
  import "./chunk-XUXGIA7H.js";
52
55
  import "./chunk-WERLJGIC.js";
53
56
  import "./chunk-ISN5GRYI.js";
54
- import "./chunk-WYX6L7AV.js";
57
+ import "./chunk-UMWROSIP.js";
55
58
  import {
56
59
  normalizeErrorMessage
57
60
  } from "./chunk-KNU5COPB.js";
@@ -60,38 +63,12 @@ import {
60
63
  findParakeet,
61
64
  parakeetSpeaks,
62
65
  transcribeWithParakeet
63
- } from "./chunk-S3S2LSZX.js";
66
+ } from "./chunk-KDPYVTEU.js";
64
67
  import "./chunk-3GXQPCJC.js";
65
68
  import "./chunk-RQVDTPGD.js";
66
69
  import "./chunk-PMRBLBUP.js";
67
70
  import "./chunk-M2WBOQ2Q.js";
68
71
 
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
-
95
72
  // src/commands/transcribe.ts
96
73
  import { existsSync, rmSync, writeFileSync } from "fs";
97
74
  import { resolve, join, extname, dirname } from "path";
@@ -137,7 +114,7 @@ var transcribe_default = defineCommand({
137
114
  },
138
115
  language: {
139
116
  type: "string",
140
- description: "Language code (e.g. en, es, ja). Filters out non-target language speech.",
117
+ description: "Language code (e.g. en, es, ja). Whisper transcribes as this language; Parakeet, used when it covers it, detects the language itself.",
141
118
  alias: "l"
142
119
  },
143
120
  json: {
@@ -274,6 +251,7 @@ async function exportTranscript(inputPath, dir, to, output, json, preserveCues)
274
251
  );
275
252
  }
276
253
  }
254
+ var PARAKEET_INSTALL_COMMAND = "hyperframes models install parakeet";
277
255
  function pickRunner(engine, sherpaUsable, language) {
278
256
  if (engine === "whisper" || !parakeetSpeaks(language)) return "whisper";
279
257
  if (sherpaUsable()) return "sherpa";
@@ -281,7 +259,7 @@ function pickRunner(engine, sherpaUsable, language) {
281
259
  }
282
260
  var parakeetFallsBack = (engine) => engine === "auto";
283
261
  async function transcribeAudio(inputPath, dir, opts) {
284
- const { transcribe } = await import("./transcribe-JAADNKL7.js");
262
+ const { transcribe } = await import("./transcribe-KNFXDEAX.js");
285
263
  const { loadTranscript, patchCaptionHtml, stripBeforeOnset } = await import("./normalize-O76AC4HE.js");
286
264
  const {
287
265
  DecodeCancelled,
@@ -289,8 +267,8 @@ async function transcribeAudio(inputPath, dir, opts) {
289
267
  sherpaParakeetInstalled,
290
268
  sherpaUnsupportedReason,
291
269
  transcribeWithSherpa
292
- } = await import("./sherpa-I5YSMJNV.js");
293
- const { createRenderCancellationScope, stoppedByCancelSignal } = await import("./renderCancellation-66SZW2VF.js");
270
+ } = await import("./sherpa-353MW4UV.js");
271
+ const { createRenderCancellationScope, stoppedByCancelSignal } = await import("./renderCancellation-LYQPPFAO.js");
294
272
  const engine = (opts.engine ?? "auto").toLowerCase();
295
273
  if (engine !== "auto" && engine !== "parakeet" && engine !== "whisper") {
296
274
  failWith(`Unknown --engine: ${opts.engine}. Use auto, parakeet, or whisper.`, !!opts.json);
@@ -300,7 +278,7 @@ async function transcribeAudio(inputPath, dir, opts) {
300
278
  let runner = pickRunner(engine, sherpaUsable, opts.language);
301
279
  if (engine === "parakeet" && runner === "whisper") {
302
280
  failWith(
303
- !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: hyperframes models install parakeet (or use --engine whisper)",
281
+ !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)`,
304
282
  !!opts.json
305
283
  );
306
284
  }
@@ -316,7 +294,7 @@ async function transcribeAudio(inputPath, dir, opts) {
316
294
  const onProgress = spin ? (msg) => spin.message(msg) : void 0;
317
295
  const onEvent = opts.json ? createProgressWriter(process.stderr) : void 0;
318
296
  let wavPath = inputPath;
319
- const cancellation = runner === "sherpa" ? createRenderCancellationScope() : null;
297
+ let cancellation = runner === "sherpa" ? createRenderCancellationScope() : null;
320
298
  const run = (r) => {
321
299
  switch (r) {
322
300
  case "sherpa":
@@ -327,7 +305,6 @@ async function transcribeAudio(inputPath, dir, opts) {
327
305
  });
328
306
  case "parakeet-mlx":
329
307
  return transcribeWithParakeet(wavPath, dir, {
330
- language: opts.language,
331
308
  onProgress,
332
309
  onEvent
333
310
  });
@@ -338,7 +315,8 @@ async function transcribeAudio(inputPath, dir, opts) {
338
315
  onProgress,
339
316
  onEvent,
340
317
  timeoutMs: opts.timeoutMs,
341
- installRuntime: opts.installRuntime
318
+ installRuntime: opts.installRuntime,
319
+ startCancellation: () => (cancellation ??= createRenderCancellationScope()).signal
342
320
  });
343
321
  default: {
344
322
  const unreachable = r;
@@ -354,7 +332,7 @@ async function transcribeAudio(inputPath, dir, opts) {
354
332
  } catch (err) {
355
333
  if (runner !== "sherpa" || err instanceof DecodeCancelled) throw err;
356
334
  const reason = normalizeErrorMessage(err).replace(/\.+$/, "");
357
- const parakeetError = `Parakeet failed: ${reason}. To repair it, run: hyperframes models install parakeet`;
335
+ const parakeetError = `Parakeet failed: ${reason}. To repair it, run: ${PARAKEET_INSTALL_COMMAND}`;
358
336
  if (!parakeetFallsBack(engine)) throw new Error(parakeetError);
359
337
  runner = pickRunner(engine, () => false, opts.language);
360
338
  spin?.clear();
@@ -418,10 +396,15 @@ async function transcribeAudio(inputPath, dir, opts) {
418
396
  ${stderr}` : base;
419
397
  if (isWhisperUnavailable(err)) {
420
398
  trackTranscribeUnavailable({ optional: opts.optional === true });
399
+ const install = engine === "auto" && parakeetSpeaks(opts.language) && !unsupported ? PARAKEET_INSTALL_COMMAND : void 0;
421
400
  if (opts.json) {
422
- console.log(JSON.stringify({ ok: false, skipped: true, reason: "whisper_unavailable" }));
401
+ console.log(
402
+ JSON.stringify({ ok: false, skipped: true, reason: "whisper_unavailable", install })
403
+ );
423
404
  } else {
424
- spin?.stop(c.warn(`Captions skipped \u2014 ${message}`));
405
+ const orParakeet = install ? `
406
+ Or transcribe with Parakeet after: ${install}` : "";
407
+ spin?.stop(c.warn(`Captions skipped \u2014 ${message}${orParakeet}`));
425
408
  }
426
409
  setCommandExitCode(opts.optional ? 0 : 1);
427
410
  return;
@@ -152,7 +152,7 @@ var tts_default = defineCommand({
152
152
  )
153
153
  );
154
154
  }
155
- const { synthesize } = await import("./synthesize-4RPDY46T.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-2DQ356HE.js";
19
+ } from "./chunk-TCWL4BKK.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-WYX6L7AV.js";
24
+ import "./chunk-UMWROSIP.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-2DQ356HE.js";
31
+ } from "./chunk-TCWL4BKK.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-WYX6L7AV.js";
38
+ } from "./chunk-UMWROSIP.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-TTBOUHWT.js";
15
- import "./chunk-SCCJUPPX.js";
14
+ } from "./chunk-QXOFUKBF.js";
15
+ import "./chunk-EJ7OWYF2.js";
16
16
  import "./chunk-OZUQF4NB.js";
17
17
  import "./chunk-DPVXBVLL.js";
18
- import "./chunk-HUV6BP7O.js";
19
- import "./chunk-P7GAS5DG.js";
18
+ import "./chunk-GWV2Y36Q.js";
19
+ import "./chunk-HYYSJI5D.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-VU7RRQNA.js";
17
- import "./chunk-R2MFCLGW.js";
16
+ } from "./chunk-DW32KBHN.js";
17
+ import "./chunk-JTAYFSLO.js";
18
+ import "./chunk-EZ2P7LAP.js";
18
19
  import "./chunk-5Z63TBTX.js";
19
- import "./chunk-6IEDWKFR.js";
20
- import "./chunk-VYGC4AJL.js";
20
+ import "./chunk-4VZBKOQJ.js";
21
+ import "./chunk-R7LWDIKB.js";
21
22
  import "./chunk-YEIFI443.js";
22
- import "./chunk-J6BHZVM3.js";
23
23
  import "./chunk-IHFUKJOR.js";
24
- import "./chunk-ZBKSKJ37.js";
24
+ import "./chunk-JIIIBTN2.js";
25
25
  import "./chunk-PFCFR3KZ.js";
26
- import "./chunk-WTGGSKAJ.js";
27
- import "./chunk-X2GKNLHE.js";
26
+ import "./chunk-25DHUDOK.js";
27
+ import "./chunk-7SI7GCX6.js";
28
28
  import "./chunk-VWG7OQKU.js";
29
29
  import "./chunk-ZTZA4UWZ.js";
30
- import "./chunk-OEJQAXS3.js";
30
+ import "./chunk-PLNWWGE7.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-TTBOUHWT.js";
36
- import "./chunk-SCCJUPPX.js";
35
+ import "./chunk-QXOFUKBF.js";
36
+ import "./chunk-EJ7OWYF2.js";
37
37
  import "./chunk-OZUQF4NB.js";
38
38
  import "./chunk-DPVXBVLL.js";
39
- import "./chunk-HUV6BP7O.js";
40
- import "./chunk-P7GAS5DG.js";
39
+ import "./chunk-GWV2Y36Q.js";
40
+ import "./chunk-HYYSJI5D.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-2DQ356HE.js";
50
+ import "./chunk-TCWL4BKK.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-WYX6L7AV.js";
55
+ import "./chunk-UMWROSIP.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-GYVUR4XC.js";
10
+ } from "./chunk-U3HX7WE6.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-TTBOUHWT.js";
22
- import "./chunk-SCCJUPPX.js";
21
+ import "./chunk-QXOFUKBF.js";
22
+ import "./chunk-EJ7OWYF2.js";
23
23
  import "./chunk-OZUQF4NB.js";
24
24
  import "./chunk-DPVXBVLL.js";
25
- import "./chunk-HUV6BP7O.js";
26
- import "./chunk-P7GAS5DG.js";
25
+ import "./chunk-GWV2Y36Q.js";
26
+ import "./chunk-HYYSJI5D.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.137",
3
+ "version": "0.8.139",
4
4
  "description": "HyperFrames CLI — create, preview, and render HTML video compositions",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {