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,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
|
|
8
8
|
// src/version.ts
|
|
9
|
-
var VERSION = true ? "0.8.
|
|
10
|
-
var PRODUCER_VERSION = true ? "0.8.
|
|
9
|
+
var VERSION = true ? "0.8.145" : "0.0.0-dev";
|
|
10
|
+
var PRODUCER_VERSION = true ? "0.8.145" : "0.0.0-dev";
|
|
11
11
|
|
|
12
12
|
export {
|
|
13
13
|
VERSION,
|
|
@@ -144,8 +144,9 @@ function rewriteAssetPath(compSrcPath, relativePath, assetExists) {
|
|
|
144
144
|
const compDir = dirname(compSrcPath);
|
|
145
145
|
if (!compDir || compDir === ".") return relativePath;
|
|
146
146
|
const { basePath, suffix } = splitUrlSuffix(relativePath);
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
const slashed = basePath.replace(/\\/g, "/");
|
|
148
|
+
if (!slashed || slashed.startsWith("/")) return relativePath;
|
|
149
|
+
const filePath = decodeWellFormedEscapes(slashed);
|
|
149
150
|
const sibling = resolve2("/", join(compDir, filePath)).slice(1);
|
|
150
151
|
if (!needsRewrite(filePath) && (!assetExists || !assetExists(sibling))) return relativePath;
|
|
151
152
|
return encodeUrlPath(sibling) + suffix;
|
|
@@ -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
|
+
normalizeErrorMessage
|
|
9
|
+
} from "./chunk-KNU5COPB.js";
|
|
7
10
|
|
|
8
11
|
// src/utils/processTree.ts
|
|
9
12
|
import { execFileSync, spawn } from "child_process";
|
|
@@ -121,6 +124,57 @@ async function terminateProcessTree(pid, options = {}) {
|
|
|
121
124
|
return options.processGroup ? terminateProcessGroup(pid, signal) : terminatePidTree(pid, signal);
|
|
122
125
|
}
|
|
123
126
|
|
|
127
|
+
// src/renderSetupWorkerLifecycle.ts
|
|
128
|
+
var RENDER_SETUP_SIGNALS = ["SIGINT", "SIGTERM", "SIGHUP"];
|
|
129
|
+
var RENDER_SETUP_RESULT_PREFIX = "HYPERFRAMES_RENDER_SETUP_RESULT:";
|
|
130
|
+
var RENDER_SETUP_ERROR_PREFIX = "HYPERFRAMES_RENDER_SETUP_ERROR:";
|
|
131
|
+
function installRenderSetupSignalHandlers(signalTarget, releaseLock, resendSignal, handleHangup = true) {
|
|
132
|
+
const handlers = /* @__PURE__ */ new Map();
|
|
133
|
+
const handledSignals = handleHangup ? RENDER_SETUP_SIGNALS : RENDER_SETUP_SIGNALS.filter((signal) => signal !== "SIGHUP");
|
|
134
|
+
for (const signal of handledSignals) {
|
|
135
|
+
const handler = () => {
|
|
136
|
+
releaseLock();
|
|
137
|
+
signalTarget.off(signal, handler);
|
|
138
|
+
resendSignal(signal);
|
|
139
|
+
};
|
|
140
|
+
handlers.set(signal, handler);
|
|
141
|
+
signalTarget.on(signal, handler);
|
|
142
|
+
}
|
|
143
|
+
return () => {
|
|
144
|
+
for (const [signal, handler] of handlers) signalTarget.off(signal, handler);
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function prefixedLine(prefix, value) {
|
|
148
|
+
return prefix + JSON.stringify(value) + "\n";
|
|
149
|
+
}
|
|
150
|
+
function parseJson(text) {
|
|
151
|
+
try {
|
|
152
|
+
return JSON.parse(text);
|
|
153
|
+
} catch {
|
|
154
|
+
return void 0;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function prefixedValue(output, prefix) {
|
|
158
|
+
const line = output.split(/\r?\n/).find((text) => text.startsWith(prefix));
|
|
159
|
+
return line === void 0 ? void 0 : parseJson(line.slice(prefix.length));
|
|
160
|
+
}
|
|
161
|
+
function renderSetupResultLine(result) {
|
|
162
|
+
return prefixedLine(RENDER_SETUP_RESULT_PREFIX, result);
|
|
163
|
+
}
|
|
164
|
+
function renderSetupResultFrom(stdout) {
|
|
165
|
+
return prefixedValue(stdout, RENDER_SETUP_RESULT_PREFIX);
|
|
166
|
+
}
|
|
167
|
+
function renderSetupErrorLine(error) {
|
|
168
|
+
return "\n" + prefixedLine(RENDER_SETUP_ERROR_PREFIX, normalizeErrorMessage(error));
|
|
169
|
+
}
|
|
170
|
+
function renderSetupFailureFrom(stderr) {
|
|
171
|
+
const lines = stderr.split(/\r?\n/);
|
|
172
|
+
const at = lines.findIndex((text) => text.startsWith(RENDER_SETUP_ERROR_PREFIX));
|
|
173
|
+
const reason = at === -1 ? void 0 : parseJson(lines[at].slice(RENDER_SETUP_ERROR_PREFIX.length));
|
|
174
|
+
if (typeof reason !== "string" || reason === "") return void 0;
|
|
175
|
+
return { reason, earlierOutput: lines.slice(0, at).join("\n") };
|
|
176
|
+
}
|
|
177
|
+
|
|
124
178
|
// src/utils/cancellableProcess.ts
|
|
125
179
|
import { spawn as spawn2 } from "child_process";
|
|
126
180
|
import { fileURLToPath } from "url";
|
|
@@ -269,7 +323,14 @@ function runCancellableProcess(command, args, options = {}) {
|
|
|
269
323
|
}
|
|
270
324
|
});
|
|
271
325
|
}
|
|
272
|
-
|
|
326
|
+
function renderSetupError(error) {
|
|
327
|
+
if (!(error instanceof CancellableProcessError)) return error;
|
|
328
|
+
const failure = renderSetupFailureFrom(error.stderr);
|
|
329
|
+
if (failure?.earlierOutput.trim()) process.stderr.write(`${failure.earlierOutput.trimEnd()}
|
|
330
|
+
`);
|
|
331
|
+
const reason = failure?.reason ?? error.stderr.trim();
|
|
332
|
+
return reason ? new Error(reason, { cause: error }) : error;
|
|
333
|
+
}
|
|
273
334
|
async function runRenderSetupWorker(mode, input, options) {
|
|
274
335
|
const sourceMode = import.meta.url.endsWith(".ts");
|
|
275
336
|
const workerUrl = new URL(
|
|
@@ -293,20 +354,20 @@ async function runRenderSetupWorker(mode, input, options) {
|
|
|
293
354
|
);
|
|
294
355
|
} catch (error) {
|
|
295
356
|
if (options.signal?.aborted) options.signal.throwIfAborted();
|
|
296
|
-
|
|
297
|
-
throw new Error(error.stderr.trim(), { cause: error });
|
|
298
|
-
}
|
|
299
|
-
throw error;
|
|
357
|
+
throw renderSetupError(error);
|
|
300
358
|
}
|
|
301
359
|
if (result.stderr) process.stderr.write(result.stderr);
|
|
302
|
-
const
|
|
303
|
-
if (
|
|
304
|
-
return
|
|
360
|
+
const value = renderSetupResultFrom(result.stdout);
|
|
361
|
+
if (value === void 0) throw new Error(`${mode} setup process exited without a result`);
|
|
362
|
+
return value;
|
|
305
363
|
}
|
|
306
364
|
|
|
307
365
|
export {
|
|
308
366
|
processIsAlive,
|
|
309
367
|
terminateProcessTree,
|
|
368
|
+
installRenderSetupSignalHandlers,
|
|
369
|
+
renderSetupResultLine,
|
|
370
|
+
renderSetupErrorLine,
|
|
310
371
|
runCancellableProcess,
|
|
311
372
|
runRenderSetupWorker
|
|
312
373
|
};
|
|
@@ -10,22 +10,25 @@ import {
|
|
|
10
10
|
distroLabel,
|
|
11
11
|
getFFmpegInstallHint,
|
|
12
12
|
parseLddMissingLibs
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZEUONDQG.js";
|
|
14
14
|
import {
|
|
15
15
|
getFreeDiskMb
|
|
16
16
|
} from "./chunk-GQJZORQP.js";
|
|
17
17
|
import {
|
|
18
18
|
ensureBrowser,
|
|
19
19
|
findBrowser
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-A6S35NYA.js";
|
|
21
21
|
import {
|
|
22
22
|
runCancellableProcess
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BYSBRF24.js";
|
|
24
24
|
import {
|
|
25
25
|
FFMPEG_PATH_ENV,
|
|
26
26
|
FFPROBE_PATH_ENV,
|
|
27
27
|
findFfBinary
|
|
28
28
|
} from "./chunk-PJ3HDUCY.js";
|
|
29
|
+
import {
|
|
30
|
+
normalizeErrorMessage
|
|
31
|
+
} from "./chunk-KNU5COPB.js";
|
|
29
32
|
|
|
30
33
|
// src/browser/preflight.ts
|
|
31
34
|
import { existsSync } from "fs";
|
|
@@ -254,11 +257,13 @@ async function checkChrome(browserPath, signal) {
|
|
|
254
257
|
};
|
|
255
258
|
}
|
|
256
259
|
let info;
|
|
260
|
+
let failure;
|
|
257
261
|
try {
|
|
258
262
|
info = signal ? await ensureBrowser({ preferManagedChrome: true, signal }) : await findBrowser();
|
|
259
|
-
} catch {
|
|
263
|
+
} catch (error) {
|
|
260
264
|
if (signal?.aborted) signal.throwIfAborted();
|
|
261
265
|
info = void 0;
|
|
266
|
+
failure = normalizeErrorMessage(error);
|
|
262
267
|
}
|
|
263
268
|
if (info) {
|
|
264
269
|
return chromeLaunchOutcome(
|
|
@@ -278,7 +283,7 @@ async function checkChrome(browserPath, signal) {
|
|
|
278
283
|
ok: false,
|
|
279
284
|
level: "error",
|
|
280
285
|
title: "Chrome not found",
|
|
281
|
-
detail: "Chrome Headless Shell is required for local rendering.",
|
|
286
|
+
detail: failure ?? "Chrome Headless Shell is required for local rendering.",
|
|
282
287
|
hint: "Run: npx hyperframes browser ensure"
|
|
283
288
|
};
|
|
284
289
|
}
|
|
@@ -6,10 +6,10 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
getMimeType
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GXJEGZL2.js";
|
|
10
10
|
import {
|
|
11
11
|
injectTagsAtHeadStart
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AUWHD7RA.js";
|
|
13
13
|
|
|
14
14
|
// src/utils/compositionServer.ts
|
|
15
15
|
import { createHash } from "crypto";
|
|
@@ -6,20 +6,20 @@ 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
|
installPageFunctionGuard,
|
|
12
12
|
resolveCliChromeGpuMode,
|
|
13
13
|
seekCompositionTimeline,
|
|
14
14
|
waitForRuntimeReady
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-U5QY7KTN.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveCompositionViewportFromHtml
|
|
18
18
|
} from "./chunk-FH7WODJH.js";
|
|
19
19
|
import {
|
|
20
20
|
launchManagedBrowser,
|
|
21
21
|
resolveManagedGpuMode
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-4ORLNTET.js";
|
|
23
23
|
import {
|
|
24
24
|
defineCommand
|
|
25
25
|
} from "./chunk-S3S4TGEH.js";
|
|
@@ -29,11 +29,11 @@ import {
|
|
|
29
29
|
} from "./chunk-PBN6GBJE.js";
|
|
30
30
|
import {
|
|
31
31
|
decodeWellFormedEscapes
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-BSQ7XANM.js";
|
|
33
33
|
import {
|
|
34
34
|
printDeprecationNotice,
|
|
35
35
|
withMeta
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-PLR7Z6TC.js";
|
|
37
37
|
import {
|
|
38
38
|
normalizeErrorMessage
|
|
39
39
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -228,7 +228,7 @@ function extractCompositionErrorsFromLint(lintResult) {
|
|
|
228
228
|
async function localizeRemoteAssets(html) {
|
|
229
229
|
let dir;
|
|
230
230
|
try {
|
|
231
|
-
const { loadProducer } = await import("./producer-
|
|
231
|
+
const { loadProducer } = await import("./producer-7TYEAUF7.js");
|
|
232
232
|
const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
|
|
233
233
|
dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
|
|
234
234
|
const assetDir = dir;
|
|
@@ -249,10 +249,10 @@ async function localizeRemoteAssets(html) {
|
|
|
249
249
|
}
|
|
250
250
|
async function validateInBrowser(project, opts) {
|
|
251
251
|
const projectDir = project.dir;
|
|
252
|
-
const { bundleToSingleHtml } = await import("./compiler-
|
|
253
|
-
const { ensureBrowser } = await import("./manager-
|
|
254
|
-
const { serveStaticProjectHtml } = await import("./staticProjectServer-
|
|
255
|
-
const { lintProject } = await import("./lintProject-
|
|
252
|
+
const { bundleToSingleHtml } = await import("./compiler-F54OZZPM.js");
|
|
253
|
+
const { ensureBrowser } = await import("./manager-BPSR6D3V.js");
|
|
254
|
+
const { serveStaticProjectHtml } = await import("./staticProjectServer-2TTVGPQH.js");
|
|
255
|
+
const { lintProject } = await import("./lintProject-UBZ3TDHU.js");
|
|
256
256
|
const lintResult = await lintProject(projectDir);
|
|
257
257
|
const compositionErrors = extractCompositionErrorsFromLint(lintResult);
|
|
258
258
|
const html = await bundleToSingleHtml(projectDir);
|
|
@@ -273,18 +273,16 @@ async function validateInBrowser(project, opts) {
|
|
|
273
273
|
try {
|
|
274
274
|
const browser = await ensureBrowser();
|
|
275
275
|
const puppeteer = await import("puppeteer-core");
|
|
276
|
-
const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-
|
|
276
|
+
const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-BSLKXEGX.js");
|
|
277
277
|
const requestedGpuMode = resolveCliChromeGpuMode();
|
|
278
|
-
const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu } = await import("./gpuPolicy-
|
|
278
|
+
const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-AQ2BPLBK.js");
|
|
279
279
|
const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
|
|
280
280
|
const requiresWebGpu = compositionRequiresWebGpu(html);
|
|
281
|
+
const { gpuConfig, softwareWebGpu } = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
|
|
281
282
|
const chromeBrowser = await launchManagedBrowser(puppeteer.default, {
|
|
282
283
|
headless: true,
|
|
283
284
|
executablePath: browser.executablePath,
|
|
284
|
-
args: buildChromeArgs(
|
|
285
|
-
{ ...viewport, captureMode: "screenshot", requiresWebGpu },
|
|
286
|
-
{ browserGpuMode: resolvedGpuMode }
|
|
287
|
-
)
|
|
285
|
+
args: buildChromeArgs({ ...viewport, captureMode: "screenshot", requiresWebGpu }, gpuConfig)
|
|
288
286
|
});
|
|
289
287
|
const page = await chromeBrowser.newPage();
|
|
290
288
|
await installPageFunctionGuard(page);
|
|
@@ -334,7 +332,7 @@ async function validateInBrowser(project, opts) {
|
|
|
334
332
|
if (hinted) throw hinted;
|
|
335
333
|
throw err;
|
|
336
334
|
}
|
|
337
|
-
await assertWebGpuAdapterAvailable(page, requiresWebGpu);
|
|
335
|
+
await assertWebGpuAdapterAvailable(page, requiresWebGpu, softwareWebGpu);
|
|
338
336
|
await waitForRuntimeReady(page, opts.timeout ?? 3e3);
|
|
339
337
|
await new Promise((r) => setTimeout(r, opts.timeout ?? 3e3));
|
|
340
338
|
for (const w of await auditClipDurations(page, analyzeClipMediaFit, opts.timeout ?? 3e3)) {
|
|
@@ -6,15 +6,15 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
setHostHandlesSigint
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-UXO2L7HJ.js";
|
|
10
10
|
import {
|
|
11
11
|
processAncestorSnapshot,
|
|
12
12
|
processIdentity,
|
|
13
13
|
processParentPid
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-A4Q7W4LV.js";
|
|
15
15
|
import {
|
|
16
16
|
processIsAlive
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-BYSBRF24.js";
|
|
18
18
|
|
|
19
19
|
// src/utils/renderCancellation.ts
|
|
20
20
|
var RENDER_CANCELLATION_SIGNALS = [
|