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.
- package/README.md +3 -2
- package/dist/{add-Q5EYDUAY.js → add-B6OUH46W.js} +12 -12
- package/dist/{animatedGifPrep-H2DUQEZ3.js → animatedGifPrep-MIWRDJIO.js} +7 -7
- package/dist/{asset-C7JBYYX4.js → asset-XJ2B2PU3.js} +2 -2
- package/dist/{assetCataloger-FRO4G6OU.js → assetCataloger-A5ZLSCMZ.js} +3 -3
- package/dist/{auth-FRWLCO36.js → auth-5HOVCZMV.js} +1 -1
- package/dist/{autoUpdate-E4OZXQK6.js → autoUpdate-WVNL5K3D.js} +2 -2
- package/dist/{backgroundChecks-FSUVHN5L.js → backgroundChecks-IGF54SFH.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-4U73BYTU.js → batchRender-T6JEGCQV.js} +4 -4
- package/dist/{beats-U6KJWF35.js → beats-37T6Y6QP.js} +13 -13
- package/dist/{benchmark-5ONT7V7B.js → benchmark-ZVVLOWPP.js} +9 -9
- package/dist/{browser-R4DU46IE.js → browser-4SSJOLH4.js} +39 -55
- package/dist/{bundleWithLocalizedFonts-VH55VOAL.js → bundleWithLocalizedFonts-XWK423QP.js} +2 -2
- package/dist/{capture-OGQAEYKO.js → capture-2SF7YP57.js} +2 -2
- package/dist/{capture-26G2DPSI.js → capture-KZXOPBMO.js} +18 -18
- package/dist/{catalog-RKORTIUE.js → catalog-NLD4A2C6.js} +12 -12
- package/dist/{catch-up-4OBERRQO.js → catch-up-4BSRN6IR.js} +4 -4
- package/dist/{check-P2XDN57S.js → check-IA44QQWM.js} +66 -55
- package/dist/{checkBrowser-NTGJGAEA.js → checkBrowser-VM35KZMW.js} +81 -30
- package/dist/{chunk-LVX6NK36.js → chunk-3IBMBNYY.js} +1 -1
- package/dist/{chunk-6XMFEICO.js → chunk-3KU3PFDW.js} +77 -92
- package/dist/{chunk-PJU63L6W.js → chunk-4ORLNTET.js} +1 -1
- package/dist/{chunk-DF2BHILQ.js → chunk-4QWD6JYN.js} +3 -3
- package/dist/{chunk-BT27OYYX.js → chunk-5NRXZGKK.js} +18 -12
- package/dist/{chunk-UM2GRYM3.js → chunk-5WVW7P23.js} +3 -3
- package/dist/{chunk-I7QGQAZM.js → chunk-6LGNTUZN.js} +7 -7
- package/dist/{chunk-LAOCA3MQ.js → chunk-A4Q7W4LV.js} +13 -8
- package/dist/{chunk-4PFZPP2N.js → chunk-A6S35NYA.js} +54 -16
- package/dist/{chunk-QRKLPWEX.js → chunk-ADF3X6GM.js} +11 -2
- package/dist/chunk-AUWHD7RA.js +3753 -0
- package/dist/{chunk-W35EKBS6.js → chunk-BFACGEII.js} +2 -2
- package/dist/{chunk-HW4AKJ5F.js → chunk-BIAC7IJT.js} +1 -1
- package/dist/{chunk-ZLW2V65P.js → chunk-BSQ7XANM.js} +3 -2
- package/dist/{chunk-LCSMOLGX.js → chunk-BYSBRF24.js} +69 -8
- package/dist/{chunk-2LBBHMKT.js → chunk-CFUXNBWH.js} +1 -1
- package/dist/{chunk-BFDJ63J5.js → chunk-DDIVWXN7.js} +1 -1
- package/dist/{chunk-KOEWEFHK.js → chunk-DIRJ322I.js} +10 -5
- package/dist/{chunk-FVYXDXEV.js → chunk-DWUKJQTO.js} +2 -2
- package/dist/{chunk-POLR33RB.js → chunk-EPE2HRJK.js} +15 -17
- package/dist/{chunk-UICWP23D.js → chunk-FBCULCAL.js} +3 -3
- package/dist/{chunk-F26LCYRY.js → chunk-FDT6KQV4.js} +142 -81
- package/dist/{chunk-P7THMINS.js → chunk-FXJJCPPB.js} +1 -1
- package/dist/{chunk-BYK73CR7.js → chunk-GBGJ7A3D.js} +5 -5
- package/dist/{sherpa-LVIUEAGF.js → chunk-GEMJYBRU.js} +11 -45
- package/dist/{chunk-KO5QBV73.js → chunk-GMAJB2P6.js} +1 -1
- package/dist/{chunk-KQLGTGE5.js → chunk-GRY3PN3K.js} +2 -2
- package/dist/{chunk-7UYBQ6NF.js → chunk-GXJEGZL2.js} +30 -20
- package/dist/{chunk-KJJLA674.js → chunk-GZVP4TWN.js} +1 -46
- package/dist/{chunk-QVYVUCWD.js → chunk-HB7FJOY4.js} +1 -1
- package/dist/{chunk-QFN7NVWM.js → chunk-ICKDMTLA.js} +1 -1
- package/dist/{chunk-XONFUK3M.js → chunk-IEIJRMLZ.js} +47 -35
- package/dist/{chunk-PAGIICKN.js → chunk-IHTRYDFN.js} +1 -1
- package/dist/chunk-IR35BCLK.js +13 -0
- package/dist/{chunk-KDPYVTEU.js → chunk-KBB4RG6F.js} +6 -1
- package/dist/{chunk-ZQQ3SEIE.js → chunk-KIFHYXPB.js} +99 -31
- package/dist/{chunk-TAMQYQGJ.js → chunk-LAFJSYDL.js} +1 -1
- package/dist/{chunk-U3X3TPBW.js → chunk-MAYCCGMQ.js} +11 -2
- package/dist/{chunk-HC7EVDEL.js → chunk-OB5MJR4W.js} +1 -1
- package/dist/{chunk-N3DQEVSI.js → chunk-OTHDVXOJ.js} +8 -5
- package/dist/{chunk-Y6QL2LGO.js → chunk-PLR7Z6TC.js} +1 -1
- package/dist/{chunk-OBXQRJWQ.js → chunk-QATWIE4K.js} +1 -1
- package/dist/{chunk-HLYOEIWM.js → chunk-QLSM7K5S.js} +2 -2
- package/dist/{chunk-LW6HO6U3.js → chunk-R42WWQVB.js} +1 -1
- package/dist/{chunk-HMT2RPZU.js → chunk-U5QY7KTN.js} +13 -9
- package/dist/chunk-UPFUC4DB.js +136 -0
- package/dist/{chunk-33RZPZ4K.js → chunk-UXO2L7HJ.js} +366 -156
- package/dist/{chunk-GNBGPUJ7.js → chunk-VHFEMFYL.js} +3 -3
- package/dist/{chunk-4M4EC7JX.js → chunk-VRW6EBHV.js} +12 -1
- package/dist/{chunk-VIVBA6E6.js → chunk-XBX4QJP7.js} +1 -1
- package/dist/{chunk-CLOH4LIB.js → chunk-XIHCMVMG.js} +2 -2
- package/dist/{chunk-TVCRUG2S.js → chunk-ZEUONDQG.js} +1 -1
- package/dist/{chunk-OSSHSIMD.js → chunk-ZF7SXQJ7.js} +1 -1
- package/dist/{chunk-5FISWJ37.js → chunk-ZIYZ77MR.js} +4 -4
- package/dist/{chunk-3NE7ZYU2.js → chunk-ZSVUAVMT.js} +3 -3
- package/dist/{clean-YHGPY33K.js → clean-RDKJB5FK.js} +18 -18
- package/dist/cli.js +68 -56
- package/dist/{cloud-DOFI5ISR.js → cloud-QVPVVNCW.js} +4 -4
- package/dist/{cloudrun-KTZ4XDHL.js → cloudrun-3RE2UCQG.js} +4 -4
- package/dist/{compare-SMMIZN2C.js → compare-LEDOY7MO.js} +25 -25
- package/dist/{compiler-TEXQWW6N.js → compiler-F54OZZPM.js} +10 -4
- package/dist/{component-B3GCNGSS.js → component-N42M67WY.js} +3 -3
- package/dist/{compositions-OQNZZTKF.js → compositions-VB2J2LZI.js} +11 -11
- package/dist/{delete-EL5LVSEP.js → delete-Q6RWMJ4Z.js} +2 -2
- package/dist/{dist-5UVIRMSM.js → dist-KDJTFJHA.js} +2 -2
- package/dist/{dist-XN234YFQ.js → dist-Q4BI5A73.js} +4 -4
- package/dist/{doctor-UOL3OI2A.js → doctor-JMMUHDRV.js} +13 -13
- package/dist/{events-K2DB2PBC.js → events-6ZBSIBE5.js} +2 -2
- package/dist/{events-NIZBS6S7.js → events-RGUAHIBW.js} +3 -3
- package/dist/{feedback-QMP4E6L7.js → feedback-FIID6MZW.js} +9 -9
- package/dist/{ffmpeg-QIUFEFTY.js → ffmpeg-T5SH2EFJ.js} +3 -2
- package/dist/{figma-2AUJRNVC.js → figma-BL3JJC36.js} +3 -3
- package/dist/fontLocalizeCli.js +9 -9
- package/dist/{get-P5NC7SRM.js → get-P46GS7S6.js} +2 -2
- package/dist/{gpuPolicy-7N5MCE2G.js → gpuPolicy-AQ2BPLBK.js} +11 -9
- package/dist/{grade-compare-HV5AFZ6P.js → grade-compare-GDCWU7ZZ.js} +27 -27
- package/dist/{help-3TSTXBLN.js → help-HJR3RWFG.js} +2 -2
- package/dist/{history-D65XFJ6D.js → history-GGO5AWJB.js} +5 -5
- package/dist/hyperframe-runtime.js +59 -59
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +59 -59
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-TXV7MLFO.js → info-3GFWUBJC.js} +8 -8
- package/dist/{init-OSDMJZJV.js → init-36OPU2ZG.js} +35 -36
- package/dist/{inspect-RQQSAYIJ.js → inspect-F2HEL5ON.js} +26 -26
- package/dist/{installer-CDOB32HE.js → installer-NI6P6GC4.js} +5 -5
- package/dist/{keyframes-V75Q6GRM.js → keyframes-7OY3LMAZ.js} +6 -6
- package/dist/{lambda-RODV4RCX.js → lambda-6GJIWNJ3.js} +5 -5
- package/dist/{layout-IZAI5SFC.js → layout-FTMLNL5A.js} +26 -26
- package/dist/{lint-PLXOXY5R.js → lint-U6POHUON.js} +8 -8
- package/dist/{lintProject-OQ6H6XBR.js → lintProject-UBZ3TDHU.js} +2 -2
- package/dist/{list-BQBPNKDZ.js → list-IP5KI5Q2.js} +2 -2
- package/dist/{login-NP6F4FHC.js → login-4VWTVPHG.js} +4 -4
- package/dist/{manager-CT3D67CG.js → manager-BPSR6D3V.js} +2 -2
- package/dist/{manager-GXYF4AVO.js → manager-YKMHR6LN.js} +8 -5
- package/dist/{media-treatment-PXGMZ4A4.js → media-treatment-XGV44AGV.js} +16 -13
- package/dist/{models-CEZM6XZ7.js → models-UCXB6UR5.js} +59 -19
- package/dist/{motionShot-R4GHYWYM.js → motionShot-WPVNBXKA.js} +21 -22
- package/dist/{normalize-H6KUHHEI.js → normalize-U3SL5VG3.js} +2 -2
- package/dist/{normalize-audio-MQ7NFCOV.js → normalize-audio-TYJ3UEHO.js} +6 -6
- package/dist/{open-AKQTGNXF.js → open-HENOLVB2.js} +4 -4
- package/dist/parakeetRunner-VFQ6WFTD.js +67 -0
- package/dist/{pipeline-SYJYP2RM.js → pipeline-6WPSC3H4.js} +10 -9
- package/dist/{play-NBH4B7PL.js → play-OI53WNUM.js} +19 -19
- package/dist/{preflight-Y5DN5D37.js → preflight-B4AFK3RG.js} +4 -4
- package/dist/{present-XAX55CFS.js → present-NGMEQ4NO.js} +15 -15
- package/dist/{preview-OLANKNFA.js → preview-VT2HWRWZ.js} +19 -19
- package/dist/{producer-Q6YNZZUJ.js → producer-7TYEAUF7.js} +1 -1
- package/dist/{projectConfig-EM26P45P.js → projectConfig-B2AF5DXY.js} +7 -7
- package/dist/{publication-OXWJZKSX.js → publication-2PANQVC6.js} +3 -3
- package/dist/{publish-4VBWP2UB.js → publish-O5OL42BG.js} +11 -11
- package/dist/{remove-background-REB7427G.js → remove-background-T2JM6UVP.js} +11 -10
- package/dist/{render-K25YOG3M.js → render-OLPKOJRU.js} +11 -11
- package/dist/{render-3CVZ2SZG.js → render-W7OFXDOJ.js} +4 -4
- package/dist/{render-TSE75QUL.js → render-Z253WHBK.js} +26 -26
- package/dist/{render-batch-GGUOK3DS.js → render-batch-46IIBFKL.js} +4 -4
- package/dist/{renderCancellation-PZRWB53I.js → renderCancellation-QTZOCDJ2.js} +10 -9
- package/dist/renderSetupWorker.js +32 -44
- package/dist/{resolver-S5VK6UCB.js → resolver-J2PL5FVJ.js} +5 -5
- package/dist/sherpa-ZF42V3RN.js +75 -0
- package/dist/sherpaWorker.js +2 -1
- package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +2 -20
- package/dist/skills/hyperframes/scripts/lib/main-module.mjs +13 -0
- package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +51 -0
- package/dist/skills/hyperframes/scripts/plugin-cli.mjs +4 -3
- package/dist/skills/hyperframes/scripts/plugin-cli.test.mjs +5 -1
- package/dist/skills/hyperframes-cli/SKILL.md +2 -0
- package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +1 -1
- package/dist/skills/media-use/audio/scripts/heygen-voice.mjs +2 -2
- package/dist/skills/media-use/audio/scripts/lib/main-module.mjs +13 -0
- package/dist/skills/media-use/scripts/lib/cube-validate.mjs +2 -3
- package/dist/skills/media-use/scripts/lib/main-module.mjs +13 -0
- package/dist/{skills-I65FU5HD.js → skills-ACDOO3PX.js} +7 -7
- package/dist/{skillsUpdateCheck-J57RNNIV.js → skillsUpdateCheck-L5OXVVPU.js} +3 -3
- package/dist/{snapshot-YROOGY22.js → snapshot-UUVNZOW5.js} +28 -28
- package/dist/{src-JO5JOV7Y.js → src-BSLKXEGX.js} +10 -6
- package/dist/{src-X426BZAG.js → src-KS3AWFGT.js} +8 -8
- package/dist/{staticProjectServer-5VMBS262.js → staticProjectServer-2TTVGPQH.js} +15 -15
- package/dist/studio/assets/{hyperframes-player-BXSuksFh.js → hyperframes-player-DZ5JrMDg.js} +3 -3
- package/dist/studio/assets/{index-FgyO_5Kv.js → index-BOs6C0aZ.js} +1 -1
- package/dist/studio/assets/{index-BgOVCqjo.js → index-BqFRhNZa.js} +1 -1
- package/dist/studio/assets/{index-J7jpL4pj.js → index-D8W0a0Z9.js} +149 -149
- package/dist/studio/{chunk-TFLU2MGI.js → chunk-6JY3MTIX.js} +108 -2
- package/dist/studio/{chunk-H2DUOXTF.js → chunk-NZPJUZKT.js} +100 -4
- package/dist/studio/{chunk-UYWON5AX.js → chunk-TP6D3U37.js} +7 -100
- package/dist/studio/{chunk-LOVBLSMR.js → chunk-Y2OHHNM2.js} +35 -19
- package/dist/studio/{domEditingLayers-KBTPQKGA.js → domEditingLayers-PTP2ICGM.js} +3 -3
- package/dist/studio/index.d.ts +8 -5
- package/dist/studio/index.html +1 -1
- package/dist/studio/index.js +545 -495
- package/dist/studio/player.js +3 -3
- package/dist/studio/ui.d.ts +4 -5
- package/dist/studio/ui.js +1 -1
- package/dist/{studio-api-VRBZUGAE.js → studio-api-WYWF7XRC.js} +9 -9
- package/dist/{studioServer-DBNKZ6I6.js → studioServer-3FG4YTP7.js} +72 -54
- package/dist/{telemetry-CXAX3TO3.js → telemetry-PAOOB4T4.js} +3 -3
- package/dist/{timeline-VQ34WH7J.js → timeline-JIIJKKPC.js} +69 -47
- package/dist/{tokens-62R7VFAZ.js → tokens-3QRAM75Z.js} +2 -2
- package/dist/{transcribe-XOHPPL2O.js → transcribe-QSBP5MUG.js} +115 -51
- package/dist/{transcribe-7KR7IPJA.js → transcribe-SZB6UMXE.js} +14 -12
- package/dist/{tts-MUV42JXT.js → tts-B6AHFQEO.js} +1 -1
- package/dist/{updateCheck-POYNH3B5.js → updateCheck-V3DSB26K.js} +2 -2
- package/dist/{upgrade-NBNOT7J2.js → upgrade-L5GISOEV.js} +2 -2
- package/dist/{urlDownloader-3NS63A7B.js → urlDownloader-52FERT4X.js} +6 -6
- package/dist/{validate-Y2QDHAEP.js → validate-HVVLX7KO.js} +20 -20
- package/dist/{video-SJDMTSTL.js → video-MEOWRMFG.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-6TPZSTCL.js +0 -3681
- package/dist/studio/chunk-EEXSYY5F.js.map +0 -1
- package/dist/studio/chunk-H2DUOXTF.js.map +0 -1
- package/dist/studio/chunk-LOVBLSMR.js.map +0 -1
- package/dist/studio/chunk-PZ5AY32C.js.map +0 -1
- package/dist/studio/chunk-TFLU2MGI.js.map +0 -1
- package/dist/studio/chunk-UYWON5AX.js.map +0 -1
- package/dist/studio/domEditingLayers-KBTPQKGA.js.map +0 -1
- package/dist/studio/index.css.map +0 -1
- package/dist/studio/index.js.map +0 -1
- package/dist/studio/player.js.map +0 -1
- package/dist/studio/styles/tailwind-preset.js.map +0 -1
- package/dist/studio/ui.js.map +0 -1
- package/dist/{screenshotCapture-TEUIWXWN.js → screenshotCapture-3JXXUZND.js} +3 -3
- 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-
|
|
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-
|
|
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-
|
|
25
|
+
} from "./chunk-5WVW7P23.js";
|
|
26
26
|
import {
|
|
27
27
|
fileContentVersion
|
|
28
28
|
} from "./chunk-QZ3AZTXI.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
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-
|
|
38
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
63
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
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
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
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
|
-
|
|
1097
|
-
|
|
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:
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
13
|
+
} from "./chunk-MAYCCGMQ.js";
|
|
14
14
|
import "./chunk-BHVFTYSI.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-ZEUONDQG.js";
|
|
16
16
|
import {
|
|
17
17
|
trackTranscribeUnavailable
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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: "
|
|
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
|
|
151
|
-
if (
|
|
152
|
-
|
|
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-
|
|
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,
|
|
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
|
|
223
|
-
const
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const preGrouped = preserveCues ||
|
|
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({
|
|
282
|
+
JSON.stringify({
|
|
283
|
+
ok: true,
|
|
284
|
+
format: sidecar.to,
|
|
285
|
+
wordCount: words.length,
|
|
286
|
+
outputPath: outPath
|
|
287
|
+
})
|
|
233
288
|
);
|
|
234
289
|
} else {
|
|
235
|
-
|
|
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
|
-
|
|
241
|
-
function pickRunner(engine, sherpaUsable, language) {
|
|
293
|
+
function pickRunner(engine, parakeet, language) {
|
|
242
294
|
if (engine === "whisper" || !parakeetSpeaks(language)) return "whisper";
|
|
243
|
-
|
|
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-
|
|
249
|
-
const { loadTranscript, patchCaptionHtml } = await import("./normalize-
|
|
250
|
-
const {
|
|
251
|
-
|
|
252
|
-
|
|
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
|
-
|
|
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(
|
|
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-
|
|
21
|
+
} from "./chunk-OTHDVXOJ.js";
|
|
22
22
|
import "./chunk-6IHWCZ3W.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-FBCULCAL.js";
|
|
24
|
+
import "./chunk-MAYCCGMQ.js";
|
|
25
25
|
import "./chunk-BHVFTYSI.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-ZEUONDQG.js";
|
|
27
27
|
import "./chunk-AMKC3AXA.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
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-
|
|
33
|
-
import "./chunk-
|
|
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-
|
|
43
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-A4Q7W4LV.js";
|
|
43
|
+
import "./chunk-BYSBRF24.js";
|
|
44
44
|
import "./chunk-TWWSYAKJ.js";
|
|
45
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
15
|
-
import "./chunk-
|
|
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-
|
|
19
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
34
|
+
import "./chunk-BSQ7XANM.js";
|
|
35
35
|
import "./chunk-SDYDNHEE.js";
|
|
36
36
|
import "./chunk-2PSPARWP.js";
|
|
37
37
|
import "./chunk-T42U2W2R.js";
|