hyperframes 0.8.121 → 0.8.122
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/dist/{add-CGDIT7CT.js → add-UDNFUHR7.js} +16 -16
- package/dist/{animatedGifPrep-KPT5VB5Q.js → animatedGifPrep-2EXOFDLI.js} +7 -7
- package/dist/{asset-6ZAZIWA7.js → asset-YFEFDXZV.js} +2 -2
- package/dist/{assetCataloger-FWWCXIEX.js → assetCataloger-NDJSFPJN.js} +3 -3
- package/dist/{auth-W4WZ5KT2.js → auth-22YSZLEK.js} +2 -2
- package/dist/{autoUpdate-2KRUUCM2.js → autoUpdate-4OUJ7O3D.js} +2 -2
- package/dist/{backgroundChecks-M7YRL5G3.js → backgroundChecks-FP5AP654.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-2HXYPO62.js → batchRender-ZXQVHWED.js} +4 -4
- package/dist/{beats-KXLHRYXV.js → beats-AML5JHGX.js} +13 -13
- package/dist/{benchmark-TZRC6JEE.js → benchmark-6LELU6ZT.js} +13 -13
- package/dist/{browser-KFCZEHSG.js → browser-5NUYM6P2.js} +10 -10
- package/dist/{bundleWithLocalizedFonts-3RRACCEV.js → bundleWithLocalizedFonts-TSGE3UAO.js} +2 -2
- package/dist/{capture-N25LJPGM.js → capture-33BJRABG.js} +2 -2
- package/dist/{capture-3L7VTWDG.js → capture-HFYBSASN.js} +10 -10
- package/dist/{catalog-OJK3RAMA.js → catalog-KZ2PUXHS.js} +16 -16
- package/dist/{check-DUQ2OHRX.js → check-RJQIUSVM.js} +33 -34
- package/dist/{checkBrowser-XHNFT3DB.js → checkBrowser-QQZCRUSY.js} +32 -33
- package/dist/{chunk-DISNXEWU.js → chunk-26LWC4RP.js} +2 -2
- package/dist/{chunk-SJ64QY5Z.js → chunk-2BMZEUGD.js} +2 -2
- package/dist/{chunk-JACPHNUK.js → chunk-2CYCP3AY.js} +1 -1
- package/dist/{chunk-S6Y2LOTE.js → chunk-3VG4A22C.js} +1 -1
- package/dist/{chunk-VU4KRDRL.js → chunk-5KTDZVF3.js} +1 -1
- package/dist/{chunk-7VXU7E5S.js → chunk-74G66BSC.js} +1 -1
- package/dist/{chunk-YE5UC4XH.js → chunk-7T6RZSKP.js} +7 -7
- package/dist/{chunk-4JC7LDBQ.js → chunk-A6DWJRHP.js} +3 -3
- package/dist/{chunk-3WXWL7AY.js → chunk-ABMHBIWX.js} +1 -1
- package/dist/{chunk-RYSHGEZL.js → chunk-BGYDTAYR.js} +4 -4
- package/dist/{chunk-5OS5XIWZ.js → chunk-C477PVA2.js} +23 -1
- package/dist/chunk-C6MUZ4T2.js +3541 -0
- package/dist/{chunk-WG4IZWEH.js → chunk-DNIJ7MH6.js} +2 -2
- package/dist/{chunk-OWPHLEDI.js → chunk-DQKPTQEA.js} +5 -5
- package/dist/{chunk-BN5KOC5O.js → chunk-EB5XYJBZ.js} +1 -1
- package/dist/{chunk-JWHQKTVG.js → chunk-EBODC6OT.js} +3 -3
- package/dist/{chunk-FSLYPQ5Z.js → chunk-F7MXHGU3.js} +6 -5
- package/dist/{chunk-WBRDOH4A.js → chunk-FD5UEKRP.js} +1 -1
- package/dist/{chunk-NRTZ2JPC.js → chunk-GA46NF76.js} +1 -1
- package/dist/{chunk-YJMQLWG4.js → chunk-J22NAGNW.js} +36 -31
- package/dist/{chunk-WW7V2GQJ.js → chunk-JD3C44FP.js} +2 -2
- package/dist/{chunk-3DCZIHXE.js → chunk-JQPICVXM.js} +4 -4
- package/dist/{chunk-E5XIJTMU.js → chunk-KCJGTEJD.js} +1 -1
- package/dist/{chunk-ZUVO6Q5Q.js → chunk-KJHOYQ2T.js} +2 -2
- package/dist/{chunk-GPGWCFIA.js → chunk-LQBR4IC7.js} +53 -2
- package/dist/{chunk-2XV3S6TA.js → chunk-MOPVB4VL.js} +2 -2
- package/dist/{chunk-NITBGIHR.js → chunk-N4RVOW43.js} +2 -2
- package/dist/{chunk-44EFU366.js → chunk-NA2DKY3M.js} +12 -14
- package/dist/{chunk-MNMD6XLG.js → chunk-NKS75GFI.js} +3 -3
- package/dist/{chunk-TRLP3CSL.js → chunk-NSVHO5LZ.js} +6 -5
- package/dist/{chunk-2GKO3X7F.js → chunk-NSY245QZ.js} +1 -1
- package/dist/{chunk-2LWWIDPZ.js → chunk-NUWXK2NW.js} +1 -1
- package/dist/{chunk-XLG5C3XA.js → chunk-OHJGKETC.js} +1 -1
- package/dist/{chunk-5PTKFXAS.js → chunk-OQ6HLIYU.js} +13 -11
- package/dist/{chunk-NPHNGWJH.js → chunk-OZ4V6VQ2.js} +3 -3
- package/dist/{chunk-2CGUG4XK.js → chunk-Q4GCD5WE.js} +11 -9
- package/dist/{chunk-IVLJE3VX.js → chunk-QR77QVIT.js} +2 -2
- package/dist/{chunk-AA4KEZGW.js → chunk-SSOJUJFQ.js} +1 -1
- package/dist/{chunk-KYDM3W7A.js → chunk-TV2LRJVK.js} +2 -2
- package/dist/{chunk-6WIWCYD5.js → chunk-UQR6DWPM.js} +3 -3
- package/dist/{chunk-LZN67SFR.js → chunk-UUI2OMI7.js} +1 -1
- package/dist/{chunk-6Z4E4GBX.js → chunk-VFZICECI.js} +1 -1
- package/dist/{chunk-RCNDZEBU.js → chunk-VP4IJ3NC.js} +2 -2
- package/dist/{chunk-GF4MOYGU.js → chunk-X6SS5FWY.js} +20 -12
- package/dist/{chunk-2C6UJPQS.js → chunk-XIZHC6UO.js} +1 -1
- package/dist/{chunk-JREV7WVY.js → chunk-Y6WM6GY3.js} +1 -1
- package/dist/{chunk-JWGYWJ5F.js → chunk-ZIPAUKTK.js} +1 -1
- package/dist/{chunk-ZBMQOBQK.js → chunk-ZTWFHWRR.js} +1 -1
- package/dist/{clean-NH5JTTXP.js → clean-QXMDWVYB.js} +17 -17
- package/dist/cli.js +50 -50
- package/dist/{cloud-QKM43VWA.js → cloud-WTPVHGBP.js} +4 -4
- package/dist/{cloudrun-JQCGTNFP.js → cloudrun-JFN7W6XI.js} +5 -5
- package/dist/{compare-2ZOO6GRL.js → compare-CCDZEHTS.js} +27 -28
- package/dist/{compiler-WNWCQTI6.js → compiler-DNZFJIKO.js} +7 -3
- package/dist/{component-Q5AECWP4.js → component-OSVQHEQJ.js} +3 -3
- package/dist/{compositions-KEMPAOSU.js → compositions-CCMN5HAA.js} +12 -12
- package/dist/{delete-TWGIIVHU.js → delete-ZE7Z7SDY.js} +2 -2
- package/dist/{deterministicFonts-ITMUXWD2.js → deterministicFonts-HHGHYN6V.js} +2 -2
- package/dist/{dist-JAOG6MYW.js → dist-RUZFIHUD.js} +1 -1
- package/dist/{dist-JGUAVYZS.js → dist-Z7QP5AQY.js} +3 -3
- package/dist/{doctor-COVUXJ2H.js → doctor-KKRGCPV3.js} +11 -11
- package/dist/{events-PNRVEJOH.js → events-WJKCFVF7.js} +9 -9
- package/dist/{events-6K4KG2RC.js → events-YN5EY7O7.js} +10 -10
- package/dist/{feedback-YACZS7R7.js → feedback-DHLYWTNU.js} +11 -11
- package/dist/{figma-LEEL7JF7.js → figma-KCTT7ELR.js} +3 -3
- package/dist/fontLocalizeCli.js +10 -10
- package/dist/{get-FX23HBPC.js → get-XCGOGN53.js} +2 -2
- package/dist/{gpuPolicy-TCSAVM2S.js → gpuPolicy-J5CPE3TK.js} +7 -7
- package/dist/{grade-compare-ENNPIMZX.js → grade-compare-FBX5S77X.js} +27 -28
- package/dist/{gsapParserAcorn-FLWABPQM.js → gsapParserAcorn-3Z742FXU.js} +1 -1
- package/dist/{help-HNY5LMYR.js → help-6TQVEU2Q.js} +1 -1
- package/dist/{history-325KQTJM.js → history-PPDOAO2Z.js} +17 -17
- package/dist/hyperframe-runtime.js +54 -54
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +54 -54
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/{info-GKPHG3QO.js → info-42EBGTUI.js} +12 -12
- package/dist/{init-UYF6SWL7.js → init-SERRMFRH.js} +23 -23
- package/dist/{inspect-A6DZG7KU.js → inspect-6TEDC7QZ.js} +28 -29
- package/dist/{installer-EY3AB44Q.js → installer-C47R4ZSU.js} +5 -5
- package/dist/{keyframes-P62TMLKQ.js → keyframes-BNLMFEWU.js} +19 -18
- package/dist/{lambda-HWU6V36S.js → lambda-DGWKFO3L.js} +6 -6
- package/dist/{layout-GWF2HD5Z.js → layout-PMYXB4ZJ.js} +28 -29
- package/dist/{lint-OBGOECOL.js → lint-DDNL3QQ5.js} +13 -13
- package/dist/{lintProject-FDJYTOVM.js → lintProject-MXUZEBDH.js} +1 -1
- package/dist/{list-ZOUMRWXQ.js → list-VCELX3BO.js} +2 -2
- package/dist/{login-4H6ZVI6D.js → login-WC4YD67C.js} +4 -4
- package/dist/{media-treatment-GRBN3MG5.js → media-treatment-4QGIOHQR.js} +13 -13
- package/dist/{models-YFTLSJEG.js → models-UTVBFNKD.js} +8 -8
- package/dist/{motionShot-7VLC2ULG.js → motionShot-3WDJAW4C.js} +17 -16
- package/dist/{normalize-audio-SLBARKVY.js → normalize-audio-ZXESA45N.js} +12 -12
- package/dist/{pipeline-WRNKPJZH.js → pipeline-DRXU55OB.js} +7 -7
- package/dist/{play-PDEXRHV6.js → play-AUEOCKY3.js} +22 -22
- package/dist/{preflight-6TUK6Z7A.js → preflight-OJJZVHWE.js} +8 -8
- package/dist/{present-UXWOO2YL.js → present-7JZQMSSU.js} +18 -18
- package/dist/{preview-CWHCNYYZ.js → preview-3AMXHHVS.js} +18 -18
- package/dist/{producer-WDTJSNXK.js → producer-QI55RCFB.js} +1 -1
- package/dist/{projectConfig-DBP5POAQ.js → projectConfig-EJNHN452.js} +7 -7
- package/dist/{publication-SUAGUL5G.js → publication-SH4OD64P.js} +3 -3
- package/dist/{publish-CDKO6FSQ.js → publish-2B5LKGKK.js} +9 -9
- package/dist/{remove-background-QFMDODZ4.js → remove-background-EJ4SPMBK.js} +8 -8
- package/dist/{render-XTI7E22A.js → render-GWIDYUYW.js} +13 -13
- package/dist/{render-BYD7ZASF.js → render-JRYEUEAR.js} +24 -26
- package/dist/{render-NRNF56OV.js → render-Y4OQV7BU.js} +4 -4
- package/dist/{render-batch-L2AIXYA3.js → render-batch-3F43JEX2.js} +4 -4
- package/dist/{renderCancellation-XR3W2AQT.js → renderCancellation-WUM56H5O.js} +7 -7
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{resolver-RYPIAEGU.js → resolver-WHBQ7QFS.js} +5 -5
- package/dist/{sherpa-MXQ34FFS.js → sherpa-5OYOKOOP.js} +8 -8
- package/dist/skills/media-use/SKILL.md +2 -0
- package/dist/skills/media-use/audio/scripts/lib/heygen.mjs +16 -6
- package/dist/skills/media-use/audio/scripts/lib/heygen.test.mjs +26 -1
- package/dist/skills/media-use/audio/scripts/lib/tts.mjs +2 -4
- package/dist/skills/media-use/audio/scripts/lib/tts.test.mjs +31 -1
- package/dist/skills/media-use/scripts/lib/manifest.d.mts +19 -0
- package/dist/skills/media-use/scripts/lib/manifest.mjs +17 -13
- package/dist/skills/media-use/scripts/lib/manifest.test.mjs +3 -2
- package/dist/{skills-MZQUKPEY.js → skills-JKBN3CQS.js} +12 -12
- package/dist/{skillsUpdateCheck-B5F5UR7U.js → skillsUpdateCheck-KUYRATKA.js} +3 -3
- package/dist/{snapshot-HPBNWSSK.js → snapshot-M7FF5DBZ.js} +28 -29
- package/dist/{src-RNEWLAP6.js → src-7NUMTCMB.js} +9 -9
- package/dist/{src-BS6B2UWS.js → src-S7FSBDSO.js} +6 -6
- package/dist/{staticProjectServer-B44OD7QD.js → staticProjectServer-AQFAOUJX.js} +16 -16
- package/dist/{status-RYS52BAQ.js → status-55DDWDMV.js} +7 -7
- package/dist/studio/assets/{hyperframes-player-GkN9yzzq.js → hyperframes-player-DMzBHhbH.js} +1 -1
- package/dist/studio/assets/{index-CyFqMHGS.js → index-B-YDp8hN.js} +174 -174
- package/dist/studio/assets/{index-BpKhiuzT.js → index-CBRX2eZX.js} +1 -1
- package/dist/studio/assets/{index-ByV72rWx.js → index-lyjhSEzi.js} +1 -1
- package/dist/studio/{chunk-J6Q572FA.js → chunk-246VB2G3.js} +3 -1
- package/dist/studio/chunk-246VB2G3.js.map +1 -0
- package/dist/studio/index.d.ts +10 -2
- package/dist/studio/index.html +1 -1
- package/dist/studio/index.js +416 -301
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/player.js +1 -1
- package/dist/{studio-api-YCS6DZMR.js → studio-api-7RBB3E3E.js} +10 -10
- package/dist/{studioServer-AEXETXZ2.js → studioServer-5FPPFWL6.js} +42 -43
- package/dist/{system-TD2HPCOA.js → system-BQ72Y6YD.js} +7 -7
- package/dist/{telemetry-7KDXFPTK.js → telemetry-OIX76XCZ.js} +10 -10
- package/dist/{timeline-P4IMRDIN.js → timeline-JWDLDSVO.js} +17 -17
- package/dist/{tokens-HKYWL774.js → tokens-HZKAUSHK.js} +2 -2
- package/dist/{transcribe-2E4QY24M.js → transcribe-AQSGSWXV.js} +8 -8
- package/dist/{transcribe-UIQMMHXI.js → transcribe-G2HSKAJN.js} +13 -13
- package/dist/{updateCheck-KWLMTR35.js → updateCheck-Y6ICSKXS.js} +2 -2
- package/dist/{upgrade-E4TMMCGK.js → upgrade-XU35HZ7O.js} +2 -2
- package/dist/{urlDownloader-P2EJDWLH.js → urlDownloader-V7FRXT7U.js} +6 -6
- package/dist/{validate-IX47WBNJ.js → validate-J2D2ZRPB.js} +17 -18
- package/dist/{video-56EQZA6M.js → video-MZPB3UAC.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-262C25DQ.js +0 -31
- package/dist/chunk-PATLRNZA.js +0 -3541
- package/dist/studio/chunk-J6Q572FA.js.map +0 -1
|
@@ -3,7 +3,12 @@ import assert from "node:assert/strict";
|
|
|
3
3
|
import { mkdirSync, mkdtempSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
|
|
4
4
|
import { tmpdir } from "node:os";
|
|
5
5
|
import { join } from "node:path";
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
heygenAuthHeaders,
|
|
8
|
+
heygenAuthMethod,
|
|
9
|
+
heygenCredential,
|
|
10
|
+
loadEnvFromDir,
|
|
11
|
+
} from "./heygen.mjs";
|
|
7
12
|
|
|
8
13
|
function withCleanHeygenEnv(fn) {
|
|
9
14
|
const previousApiKey = process.env.HEYGEN_API_KEY;
|
|
@@ -141,3 +146,23 @@ test("heygenAuthMethod returns null when the credentials path is a symlink loop"
|
|
|
141
146
|
}
|
|
142
147
|
});
|
|
143
148
|
});
|
|
149
|
+
|
|
150
|
+
test("heygenAuthHeaders says to fix an unreadable credentials path, and to log in when there is none", () => {
|
|
151
|
+
withCleanHeygenEnv(() => {
|
|
152
|
+
const dir = mkdtempSync(join(tmpdir(), "heygen-cred-"));
|
|
153
|
+
try {
|
|
154
|
+
process.env.HEYGEN_CONFIG_DIR = dir;
|
|
155
|
+
assert.throws(() => heygenAuthHeaders(), /no HeyGen credentials/);
|
|
156
|
+
mkdirSync(join(dir, "credentials"));
|
|
157
|
+
assert.equal(heygenCredential(), null);
|
|
158
|
+
assert.throws(
|
|
159
|
+
() => heygenAuthHeaders(),
|
|
160
|
+
(error) =>
|
|
161
|
+
error.message.includes(join(dir, "credentials")) &&
|
|
162
|
+
/fix or remove that path/.test(error.message),
|
|
163
|
+
);
|
|
164
|
+
} finally {
|
|
165
|
+
rmSync(dir, { recursive: true, force: true });
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
});
|
|
@@ -45,10 +45,8 @@ export function pickProvider(userProvider) {
|
|
|
45
45
|
throw new Error(
|
|
46
46
|
"provider=gemini needs GEMINI_API_KEY or GOOGLE_API_KEY, or service-account credentials (GOOGLE_APPLICATION_CREDENTIALS or GCS_CREDS)",
|
|
47
47
|
);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"provider=heygen but no HeyGen credentials (set $HEYGEN_API_KEY or run `npx hyperframes auth login`)",
|
|
51
|
-
);
|
|
48
|
+
// heygenAuthHeaders owns the reason and its fix: no credential, or a credentials path that cannot be read.
|
|
49
|
+
if (userProvider === "heygen" && !heygenAvailable()) heygenAuthHeaders();
|
|
52
50
|
if (userProvider === "elevenlabs" && !process.env.ELEVENLABS_API_KEY)
|
|
53
51
|
throw new Error("provider=elevenlabs but $ELEVENLABS_API_KEY is not set");
|
|
54
52
|
return userProvider;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { test } from "node:test";
|
|
2
2
|
import assert from "node:assert/strict";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
mkdirSync,
|
|
5
|
+
mkdtempSync,
|
|
6
|
+
readFileSync,
|
|
7
|
+
writeFileSync,
|
|
8
|
+
chmodSync,
|
|
9
|
+
rmSync,
|
|
10
|
+
existsSync,
|
|
11
|
+
} from "node:fs";
|
|
4
12
|
import { join, dirname } from "node:path";
|
|
5
13
|
import { tmpdir } from "node:os";
|
|
6
14
|
import {
|
|
@@ -9,6 +17,7 @@ import {
|
|
|
9
17
|
synthesizeOne,
|
|
10
18
|
synthesizeHeygen,
|
|
11
19
|
synthResult,
|
|
20
|
+
pickProvider,
|
|
12
21
|
} from "./tts.mjs";
|
|
13
22
|
|
|
14
23
|
test("parseFfmpegDurationBanner reads ffmpeg's stderr Duration line", () => {
|
|
@@ -198,3 +207,24 @@ test(
|
|
|
198
207
|
assert.ok(!(await kokoroArgv({})).includes("--speed"));
|
|
199
208
|
},
|
|
200
209
|
);
|
|
210
|
+
|
|
211
|
+
test("pickProvider heygen with an unreadable credentials path says to fix that path", () => {
|
|
212
|
+
const saved = ["HEYGEN_API_KEY", "HYPERFRAMES_API_KEY", "HEYGEN_CONFIG_DIR"].map((k) => [
|
|
213
|
+
k,
|
|
214
|
+
process.env[k],
|
|
215
|
+
]);
|
|
216
|
+
const dir = mkdtempSync(join(tmpdir(), "tts-cred-"));
|
|
217
|
+
try {
|
|
218
|
+
delete process.env.HEYGEN_API_KEY;
|
|
219
|
+
delete process.env.HYPERFRAMES_API_KEY;
|
|
220
|
+
process.env.HEYGEN_CONFIG_DIR = dir;
|
|
221
|
+
mkdirSync(join(dir, "credentials"));
|
|
222
|
+
assert.throws(() => pickProvider("heygen"), /fix or remove that path/);
|
|
223
|
+
} finally {
|
|
224
|
+
for (const [k, v] of saved) {
|
|
225
|
+
if (v === undefined) delete process.env[k];
|
|
226
|
+
else process.env[k] = v;
|
|
227
|
+
}
|
|
228
|
+
rmSync(dir, { recursive: true, force: true });
|
|
229
|
+
}
|
|
230
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface Reservation {
|
|
2
|
+
id: string;
|
|
3
|
+
localPath: string;
|
|
4
|
+
markerPath: string;
|
|
5
|
+
fullPath: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function typeDirPath(projectDir: string, type: string): string;
|
|
9
|
+
export function allocateId(
|
|
10
|
+
projectDir: string,
|
|
11
|
+
type: string,
|
|
12
|
+
ext: string,
|
|
13
|
+
): Omit<Reservation, "fullPath">;
|
|
14
|
+
export function withReservedFileSync<T>(
|
|
15
|
+
projectDir: string,
|
|
16
|
+
type: string,
|
|
17
|
+
ext: string,
|
|
18
|
+
populate: (reservation: Reservation) => T,
|
|
19
|
+
): T;
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
rmSync,
|
|
11
11
|
statSync,
|
|
12
12
|
} from "node:fs";
|
|
13
|
+
import { randomBytes } from "node:crypto";
|
|
13
14
|
import { basename, join } from "node:path";
|
|
14
15
|
|
|
15
16
|
const MANIFEST_FILE = "manifest.jsonl";
|
|
@@ -202,12 +203,12 @@ function withLock(dir, fn) {
|
|
|
202
203
|
}
|
|
203
204
|
}
|
|
204
205
|
|
|
205
|
-
// Atomically allocate the next free id for `type` AND reserve
|
|
206
|
+
// Atomically allocate the next free id for `type` AND reserve it on disk, so a
|
|
206
207
|
// slow download/copy between allocation and appendRecord can't let a concurrent
|
|
207
208
|
// caller grab the same id (the MU-23 clobber). Under the lock we take the max id
|
|
208
209
|
// across BOTH the manifest and any already-reserved files in the type dir, then
|
|
209
|
-
// O_EXCL-create an empty
|
|
210
|
-
//
|
|
210
|
+
// O_EXCL-create an empty marker under core's atomic temp name, which Studio's
|
|
211
|
+
// project history skips. Returns { id, localPath, markerPath }.
|
|
211
212
|
export function allocateId(projectDir, type, ext) {
|
|
212
213
|
mkdirSync(mediaDir(projectDir), { recursive: true });
|
|
213
214
|
const typeDir = typeDirPath(projectDir, type);
|
|
@@ -215,8 +216,10 @@ export function allocateId(projectDir, type, ext) {
|
|
|
215
216
|
return withLock(mediaDir(projectDir), () => {
|
|
216
217
|
const id = nextFreeId(projectDir, type);
|
|
217
218
|
const localPath = `.media/${typeSubdir(type)}/${id}${ext}`;
|
|
218
|
-
|
|
219
|
-
|
|
219
|
+
// Same shape as core atomicTempPath: an empty file at the final name would be committed.
|
|
220
|
+
const markerPath = `${join(projectDir, localPath)}.hf${randomBytes(3).toString("hex")}.tmp`;
|
|
221
|
+
writeFileSync(markerPath, "", { flag: "wx" }); // durable reservation
|
|
222
|
+
return { id, localPath, markerPath };
|
|
220
223
|
});
|
|
221
224
|
}
|
|
222
225
|
|
|
@@ -242,22 +245,23 @@ function reservedFile(projectDir, type, ext) {
|
|
|
242
245
|
return { ...allocation, fullPath: join(projectDir, allocation.localPath) };
|
|
243
246
|
}
|
|
244
247
|
|
|
245
|
-
function
|
|
246
|
-
rmSync(reservation.fullPath, { force: true });
|
|
248
|
+
function releaseReservation(reservation, committed) {
|
|
249
|
+
if (!committed) rmSync(reservation.fullPath, { force: true });
|
|
250
|
+
rmSync(reservation.markerPath, { force: true });
|
|
247
251
|
}
|
|
248
252
|
|
|
249
253
|
// A reservation is committed only when populate returns a non-null value.
|
|
250
254
|
// Throwing/rejecting or returning null means no usable asset was produced, so
|
|
251
|
-
// the
|
|
252
|
-
// prevents
|
|
255
|
+
// the reservation and any partial asset are released. Keeping this transaction
|
|
256
|
+
// beside allocateId prevents provider/cache/LUT paths from forgetting the rollback.
|
|
253
257
|
export function withReservedFileSync(projectDir, type, ext, populate) {
|
|
254
258
|
const reservation = reservedFile(projectDir, type, ext);
|
|
255
259
|
try {
|
|
256
260
|
const result = populate(reservation);
|
|
257
|
-
|
|
261
|
+
releaseReservation(reservation, result != null);
|
|
258
262
|
return result;
|
|
259
263
|
} catch (error) {
|
|
260
|
-
|
|
264
|
+
releaseReservation(reservation, false);
|
|
261
265
|
throw error;
|
|
262
266
|
}
|
|
263
267
|
}
|
|
@@ -266,10 +270,10 @@ export async function withReservedFile(projectDir, type, ext, populate) {
|
|
|
266
270
|
const reservation = reservedFile(projectDir, type, ext);
|
|
267
271
|
try {
|
|
268
272
|
const result = await populate(reservation);
|
|
269
|
-
|
|
273
|
+
releaseReservation(reservation, result != null);
|
|
270
274
|
return result;
|
|
271
275
|
} catch (error) {
|
|
272
|
-
|
|
276
|
+
releaseReservation(reservation, false);
|
|
273
277
|
throw error;
|
|
274
278
|
}
|
|
275
279
|
}
|
|
@@ -100,7 +100,7 @@ function runTests() {
|
|
|
100
100
|
setup();
|
|
101
101
|
const allocated = allocateId(tmp, "lut", ".cube");
|
|
102
102
|
assert.equal(allocated.localPath, ".media/luts/lut_001.cube");
|
|
103
|
-
assert.ok(existsSync(
|
|
103
|
+
assert.ok(existsSync(allocated.markerPath));
|
|
104
104
|
cleanup();
|
|
105
105
|
});
|
|
106
106
|
|
|
@@ -157,7 +157,8 @@ function runTests() {
|
|
|
157
157
|
setup();
|
|
158
158
|
const a = allocateId(tmp, "bgm", ".wav");
|
|
159
159
|
assert.equal(a.id, "bgm_001");
|
|
160
|
-
assert.ok(existsSync(
|
|
160
|
+
assert.ok(existsSync(a.markerPath), "id reserved on disk");
|
|
161
|
+
assert.ok(!existsSync(join(tmp, a.localPath)), "no empty asset at the final name");
|
|
161
162
|
// Second allocation BEFORE any manifest append (the download window) must not
|
|
162
163
|
// hand back bgm_001 again, even with a different extension.
|
|
163
164
|
const b = allocateId(tmp, "bgm", ".mp3");
|
|
@@ -9,15 +9,15 @@ import {
|
|
|
9
9
|
} from "./chunk-WMQNIQDJ.js";
|
|
10
10
|
import {
|
|
11
11
|
trackSkillsInstallSkipped
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-OZ4V6VQ2.js";
|
|
13
|
+
import "./chunk-UQR6DWPM.js";
|
|
14
14
|
import {
|
|
15
15
|
diag
|
|
16
16
|
} from "./chunk-VWG7OQKU.js";
|
|
17
17
|
import {
|
|
18
18
|
c
|
|
19
19
|
} from "./chunk-ZTZA4UWZ.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-EB5XYJBZ.js";
|
|
21
21
|
import "./chunk-AMKC3AXA.js";
|
|
22
22
|
import {
|
|
23
23
|
defineCommand
|
|
@@ -27,16 +27,16 @@ import {
|
|
|
27
27
|
CliResultSignal,
|
|
28
28
|
setCommandExitCode
|
|
29
29
|
} from "./chunk-PBN6GBJE.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-NKS75GFI.js";
|
|
31
|
+
import "./chunk-VP4IJ3NC.js";
|
|
32
|
+
import "./chunk-F7MXHGU3.js";
|
|
33
33
|
import "./chunk-DPVXBVLL.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-LQBR4IC7.js";
|
|
35
|
+
import "./chunk-C6MUZ4T2.js";
|
|
36
36
|
import "./chunk-VC76R6W2.js";
|
|
37
37
|
import "./chunk-OFQWTKPW.js";
|
|
38
38
|
import "./chunk-TWWSYAKJ.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-N4RVOW43.js";
|
|
40
40
|
import "./chunk-HBBJFK6I.js";
|
|
41
41
|
import "./chunk-PJ3HDUCY.js";
|
|
42
42
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -51,15 +51,15 @@ import {
|
|
|
51
51
|
isCoreSkill,
|
|
52
52
|
presentSkills,
|
|
53
53
|
pruneOrphanedLockEntries
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-KCJGTEJD.js";
|
|
55
55
|
import {
|
|
56
56
|
withMeta
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-74G66BSC.js";
|
|
58
58
|
import "./chunk-K4WIOZFP.js";
|
|
59
59
|
import "./chunk-XUXGIA7H.js";
|
|
60
60
|
import "./chunk-WERLJGIC.js";
|
|
61
61
|
import "./chunk-ISN5GRYI.js";
|
|
62
|
-
import "./chunk-
|
|
62
|
+
import "./chunk-DNIJ7MH6.js";
|
|
63
63
|
import "./chunk-KNU5COPB.js";
|
|
64
64
|
import {
|
|
65
65
|
buildNpxCommand
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
printSkillsUpdateNotice,
|
|
10
10
|
refreshSkillsCache,
|
|
11
11
|
skillsCheckDue
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-KCJGTEJD.js";
|
|
13
|
+
import "./chunk-74G66BSC.js";
|
|
14
14
|
import "./chunk-K4WIOZFP.js";
|
|
15
15
|
import "./chunk-XUXGIA7H.js";
|
|
16
16
|
import "./chunk-WERLJGIC.js";
|
|
17
17
|
import "./chunk-ISN5GRYI.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-DNIJ7MH6.js";
|
|
19
19
|
import "./chunk-KNU5COPB.js";
|
|
20
20
|
import "./chunk-M2WBOQ2Q.js";
|
|
21
21
|
export {
|
|
@@ -9,16 +9,16 @@ import {
|
|
|
9
9
|
} from "./chunk-KZI44OPA.js";
|
|
10
10
|
import {
|
|
11
11
|
serveStaticProjectHtml
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EBODC6OT.js";
|
|
13
13
|
import {
|
|
14
14
|
formatLintFindings
|
|
15
15
|
} from "./chunk-6CSYCFQV.js";
|
|
16
16
|
import "./chunk-XUHOIDKG.js";
|
|
17
17
|
import "./chunk-X7MTZ4T2.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-KJHOYQ2T.js";
|
|
19
19
|
import {
|
|
20
20
|
resolveProject
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-FD5UEKRP.js";
|
|
22
22
|
import {
|
|
23
23
|
DEFAULT_ZOOM_SCALE,
|
|
24
24
|
captureRegionCrop,
|
|
@@ -27,29 +27,28 @@ import {
|
|
|
27
27
|
resolveCropRegion,
|
|
28
28
|
runFfmpegOnce,
|
|
29
29
|
seekCompositionTimeline
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-Q4GCD5WE.js";
|
|
31
31
|
import "./chunk-5Z63TBTX.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-5OS5XIWZ.js";
|
|
32
|
+
import "./chunk-3VG4A22C.js";
|
|
33
|
+
import "./chunk-C477PVA2.js";
|
|
35
34
|
import "./chunk-YEIFI443.js";
|
|
36
35
|
import "./chunk-IHFUKJOR.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-J22NAGNW.js";
|
|
37
|
+
import "./chunk-JQPICVXM.js";
|
|
39
38
|
import "./chunk-EOVYQ3IG.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-Y6WM6GY3.js";
|
|
40
|
+
import "./chunk-2BMZEUGD.js";
|
|
42
41
|
import {
|
|
43
42
|
resolveLocalBrowserGpuMode
|
|
44
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-VFZICECI.js";
|
|
45
44
|
import "./chunk-PFCFR3KZ.js";
|
|
46
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-ABMHBIWX.js";
|
|
47
46
|
import "./chunk-XT7X6QCP.js";
|
|
48
47
|
import "./chunk-4YYJOFKS.js";
|
|
49
48
|
import "./chunk-HVW7ABXD.js";
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-2CYCP3AY.js";
|
|
50
|
+
import "./chunk-TV2LRJVK.js";
|
|
51
|
+
import "./chunk-ZTWFHWRR.js";
|
|
53
52
|
import "./chunk-AWDFDFI3.js";
|
|
54
53
|
import "./chunk-P6LJ4Y32.js";
|
|
55
54
|
import "./chunk-GMECXFAN.js";
|
|
@@ -58,14 +57,14 @@ import {
|
|
|
58
57
|
findFFprobe,
|
|
59
58
|
getFFmpegInstallHint
|
|
60
59
|
} from "./chunk-TVCRUG2S.js";
|
|
61
|
-
import "./chunk-
|
|
62
|
-
import "./chunk-
|
|
63
|
-
import "./chunk-
|
|
60
|
+
import "./chunk-NSVHO5LZ.js";
|
|
61
|
+
import "./chunk-OZ4V6VQ2.js";
|
|
62
|
+
import "./chunk-UQR6DWPM.js";
|
|
64
63
|
import "./chunk-VWG7OQKU.js";
|
|
65
64
|
import {
|
|
66
65
|
c
|
|
67
66
|
} from "./chunk-ZTZA4UWZ.js";
|
|
68
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-EB5XYJBZ.js";
|
|
69
68
|
import "./chunk-AMKC3AXA.js";
|
|
70
69
|
import {
|
|
71
70
|
defineCommand
|
|
@@ -76,19 +75,19 @@ import {
|
|
|
76
75
|
} from "./chunk-PBN6GBJE.js";
|
|
77
76
|
import "./chunk-KC5XXX3X.js";
|
|
78
77
|
import "./chunk-TJSTGSAW.js";
|
|
79
|
-
import "./chunk-
|
|
78
|
+
import "./chunk-NKS75GFI.js";
|
|
80
79
|
import {
|
|
81
80
|
isClipVisibleAt,
|
|
82
81
|
isInClipWindow
|
|
83
|
-
} from "./chunk-
|
|
84
|
-
import "./chunk-
|
|
82
|
+
} from "./chunk-VP4IJ3NC.js";
|
|
83
|
+
import "./chunk-F7MXHGU3.js";
|
|
85
84
|
import "./chunk-DPVXBVLL.js";
|
|
86
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-LQBR4IC7.js";
|
|
87
86
|
import {
|
|
88
87
|
readElementRateSpec,
|
|
89
88
|
sourceTimeAt,
|
|
90
89
|
timeAtSourceTime
|
|
91
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-C6MUZ4T2.js";
|
|
92
91
|
import "./chunk-VC76R6W2.js";
|
|
93
92
|
import "./chunk-OFQWTKPW.js";
|
|
94
93
|
import {
|
|
@@ -101,7 +100,7 @@ import {
|
|
|
101
100
|
import "./chunk-TWWSYAKJ.js";
|
|
102
101
|
import {
|
|
103
102
|
lintProject
|
|
104
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-N4RVOW43.js";
|
|
105
104
|
import "./chunk-HBBJFK6I.js";
|
|
106
105
|
import "./chunk-PJ3HDUCY.js";
|
|
107
106
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -111,7 +110,7 @@ import "./chunk-K4WIOZFP.js";
|
|
|
111
110
|
import "./chunk-XUXGIA7H.js";
|
|
112
111
|
import "./chunk-WERLJGIC.js";
|
|
113
112
|
import "./chunk-ISN5GRYI.js";
|
|
114
|
-
import "./chunk-
|
|
113
|
+
import "./chunk-DNIJ7MH6.js";
|
|
115
114
|
import {
|
|
116
115
|
normalizeErrorMessage
|
|
117
116
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -364,7 +363,7 @@ function computeSnapshotTimes(duration, opts) {
|
|
|
364
363
|
return { times: times.map(round), appendedTail: false };
|
|
365
364
|
}
|
|
366
365
|
async function captureSnapshots(projectDir, opts) {
|
|
367
|
-
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-
|
|
366
|
+
const { bundleWithLocalizedFonts } = await import("./bundleWithLocalizedFonts-TSGE3UAO.js");
|
|
368
367
|
const numFrames = opts.frames ?? 5;
|
|
369
368
|
const html = await bundleWithLocalizedFonts(projectDir);
|
|
370
369
|
const server = await serveStaticProjectHtml(projectDir, html, void 0, [], opts.autoProxy);
|
|
@@ -437,7 +436,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
437
436
|
let syncVideoFrameVisibility = null;
|
|
438
437
|
let extractMediaMetadata = null;
|
|
439
438
|
try {
|
|
440
|
-
const engine = await import("./src-
|
|
439
|
+
const engine = await import("./src-S7FSBDSO.js");
|
|
441
440
|
injectVideoFramesBatch = engine.injectVideoFramesBatch;
|
|
442
441
|
syncVideoFrameVisibility = engine.syncVideoFrameVisibility;
|
|
443
442
|
extractMediaMetadata = engine.extractMediaMetadata;
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
serializeRenderRequest,
|
|
68
68
|
startServer,
|
|
69
69
|
validatePlanV2MaterializedTarget
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-X6SS5FWY.js";
|
|
71
71
|
import {
|
|
72
72
|
FONT_FETCH_FAILED,
|
|
73
73
|
FONT_FETCH_UNAVAILABLE,
|
|
@@ -76,9 +76,9 @@ import {
|
|
|
76
76
|
createConsoleLogger,
|
|
77
77
|
defaultLogger,
|
|
78
78
|
injectDeterministicFontFaces
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-NSY245QZ.js";
|
|
80
80
|
import "./chunk-32MY4AZN.js";
|
|
81
|
-
import "./chunk-
|
|
81
|
+
import "./chunk-26LWC4RP.js";
|
|
82
82
|
import "./chunk-KC5XXX3X.js";
|
|
83
83
|
import "./chunk-TJSTGSAW.js";
|
|
84
84
|
import "./chunk-BZ56MTDX.js";
|
|
@@ -96,18 +96,18 @@ import {
|
|
|
96
96
|
isTransientBrowserError,
|
|
97
97
|
prepareCaptureSessionForReuse,
|
|
98
98
|
resolveConfig
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-NKS75GFI.js";
|
|
100
100
|
import {
|
|
101
101
|
quantizeTimeToFrame
|
|
102
|
-
} from "./chunk-
|
|
103
|
-
import "./chunk-
|
|
102
|
+
} from "./chunk-VP4IJ3NC.js";
|
|
103
|
+
import "./chunk-F7MXHGU3.js";
|
|
104
104
|
import "./chunk-DPVXBVLL.js";
|
|
105
|
-
import "./chunk-
|
|
106
|
-
import "./chunk-
|
|
105
|
+
import "./chunk-LQBR4IC7.js";
|
|
106
|
+
import "./chunk-C6MUZ4T2.js";
|
|
107
107
|
import "./chunk-VC76R6W2.js";
|
|
108
108
|
import "./chunk-OFQWTKPW.js";
|
|
109
109
|
import "./chunk-TWWSYAKJ.js";
|
|
110
|
-
import "./chunk-
|
|
110
|
+
import "./chunk-N4RVOW43.js";
|
|
111
111
|
import "./chunk-HBBJFK6I.js";
|
|
112
112
|
import "./chunk-PJ3HDUCY.js";
|
|
113
113
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -212,15 +212,15 @@ import {
|
|
|
212
212
|
verifyGpuParity,
|
|
213
213
|
writeCapturedFrame,
|
|
214
214
|
writeUrlDownloadTelemetry
|
|
215
|
-
} from "./chunk-
|
|
215
|
+
} from "./chunk-NKS75GFI.js";
|
|
216
216
|
import {
|
|
217
217
|
MEDIA_VISUAL_STYLE_PROPERTIES,
|
|
218
218
|
quantizeTimeToFrame
|
|
219
|
-
} from "./chunk-
|
|
220
|
-
import "./chunk-
|
|
219
|
+
} from "./chunk-VP4IJ3NC.js";
|
|
220
|
+
import "./chunk-F7MXHGU3.js";
|
|
221
221
|
import "./chunk-DPVXBVLL.js";
|
|
222
|
-
import "./chunk-
|
|
223
|
-
import "./chunk-
|
|
222
|
+
import "./chunk-LQBR4IC7.js";
|
|
223
|
+
import "./chunk-C6MUZ4T2.js";
|
|
224
224
|
import "./chunk-VC76R6W2.js";
|
|
225
225
|
import "./chunk-OFQWTKPW.js";
|
|
226
226
|
import {
|
|
@@ -228,7 +228,7 @@ import {
|
|
|
228
228
|
} from "./chunk-TWWSYAKJ.js";
|
|
229
229
|
import {
|
|
230
230
|
resolveProjectRelativeSrc
|
|
231
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-N4RVOW43.js";
|
|
232
232
|
import "./chunk-HBBJFK6I.js";
|
|
233
233
|
import {
|
|
234
234
|
FFMPEG_PATH_ENV,
|
|
@@ -6,36 +6,36 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
serveStaticProjectHtml
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EBODC6OT.js";
|
|
10
10
|
import "./chunk-XUHOIDKG.js";
|
|
11
11
|
import "./chunk-X7MTZ4T2.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-KJHOYQ2T.js";
|
|
13
|
+
import "./chunk-J22NAGNW.js";
|
|
14
|
+
import "./chunk-JQPICVXM.js";
|
|
15
15
|
import "./chunk-EOVYQ3IG.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-Y6WM6GY3.js";
|
|
17
|
+
import "./chunk-2BMZEUGD.js";
|
|
18
|
+
import "./chunk-ABMHBIWX.js";
|
|
19
19
|
import "./chunk-XT7X6QCP.js";
|
|
20
20
|
import "./chunk-4YYJOFKS.js";
|
|
21
21
|
import "./chunk-HVW7ABXD.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-2CYCP3AY.js";
|
|
23
|
+
import "./chunk-TV2LRJVK.js";
|
|
24
|
+
import "./chunk-ZTWFHWRR.js";
|
|
25
25
|
import "./chunk-AWDFDFI3.js";
|
|
26
26
|
import "./chunk-P6LJ4Y32.js";
|
|
27
27
|
import "./chunk-GMECXFAN.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-NSVHO5LZ.js";
|
|
29
29
|
import "./chunk-KC5XXX3X.js";
|
|
30
30
|
import "./chunk-TJSTGSAW.js";
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-VP4IJ3NC.js";
|
|
32
|
+
import "./chunk-F7MXHGU3.js";
|
|
33
33
|
import "./chunk-DPVXBVLL.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-LQBR4IC7.js";
|
|
35
|
+
import "./chunk-C6MUZ4T2.js";
|
|
36
36
|
import "./chunk-VC76R6W2.js";
|
|
37
37
|
import "./chunk-OFQWTKPW.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-N4RVOW43.js";
|
|
39
39
|
import "./chunk-HBBJFK6I.js";
|
|
40
40
|
import "./chunk-PJ3HDUCY.js";
|
|
41
41
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
} from "./chunk-ZTZA4UWZ.js";
|
|
25
25
|
import {
|
|
26
26
|
getSystemMeta
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-EB5XYJBZ.js";
|
|
28
28
|
import "./chunk-AMKC3AXA.js";
|
|
29
29
|
import {
|
|
30
30
|
defineCommand
|
|
@@ -33,16 +33,16 @@ import {
|
|
|
33
33
|
failCommand,
|
|
34
34
|
setCommandExitCode
|
|
35
35
|
} from "./chunk-PBN6GBJE.js";
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-NKS75GFI.js";
|
|
37
|
+
import "./chunk-VP4IJ3NC.js";
|
|
38
|
+
import "./chunk-F7MXHGU3.js";
|
|
39
39
|
import "./chunk-DPVXBVLL.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-LQBR4IC7.js";
|
|
41
|
+
import "./chunk-C6MUZ4T2.js";
|
|
42
42
|
import "./chunk-VC76R6W2.js";
|
|
43
43
|
import "./chunk-OFQWTKPW.js";
|
|
44
44
|
import "./chunk-TWWSYAKJ.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-N4RVOW43.js";
|
|
46
46
|
import "./chunk-HBBJFK6I.js";
|
|
47
47
|
import "./chunk-PJ3HDUCY.js";
|
|
48
48
|
import "./chunk-TQFG7HTI.js";
|
package/dist/studio/assets/{hyperframes-player-GkN9yzzq.js → hyperframes-player-DMzBHhbH.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var xe=Object.defineProperty;var ke=(r,i,e)=>i in r?xe(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e;var h=(r,i,e)=>ke(r,typeof i!="symbol"?i+"":i,e);import{r as fe,i as Ie,a as w,b as _e,p as Oe,c as Ne,d as Fe,s as Ve,e as ge,F as ye}from"./index-
|
|
1
|
+
var xe=Object.defineProperty;var ke=(r,i,e)=>i in r?xe(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e;var h=(r,i,e)=>ke(r,typeof i!="symbol"?i+"":i,e);import{r as fe,i as Ie,a as w,b as _e,p as Oe,c as Ne,d as Fe,s as Ve,e as ge,F as ye}from"./index-B-YDp8hN.js";function He(r){return r.hasRuntime||r.runtimeInjected?!1:!!(r.hasNestedCompositions||r.hasTimelines&&r.attempts>=5)}function z(r){return typeof r=="object"&&r!==null}function Ue(r){return z(r)&&typeof r.getDuration=="function"}function We(r){return z(r)&&typeof r.duration=="function"&&typeof r.time=="function"&&typeof r.seek=="function"&&typeof r.play=="function"&&typeof r.pause=="function"}function ze(r){if(!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(r))throw new Error(`Invalid HyperFrames runtime version: ${r}`);return`https://cdn.jsdelivr.net/npm/@hyperframes/core@${r}/dist/hyperframe.runtime.iife.js`}const U=typeof __HYPERFRAMES_RUNTIME_CDN_URL__=="string"?__HYPERFRAMES_RUNTIME_CDN_URL__:ze("0.0.0-dev");function $(r){if(r===null)return null;const i=Number.parseInt(r,10);return Number.isFinite(i)&&i>0?i:null}function $e(r){const i=(r==null?void 0:r.querySelector("[data-composition-id][data-width][data-height]"))??(r==null?void 0:r.querySelector("[data-width][data-height]"));if(!i)return null;const e=$(i.getAttribute("data-width")),t=$(i.getAttribute("data-height"));return e!==null&&t!==null?{width:e,height:t}:null}class je{constructor(i,e){h(this,"_interval",null);h(this,"_runtimeInjected",!1);this._iframe=i,this._callbacks=e}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._runtimeInjected=!1;let i=0;this._interval=setInterval(()=>{var e;i++;try{const t=this._iframe.contentWindow;if(!t)return;const s=!!(t.__hf||t.__player),n=!!(t.__timelines&&Object.keys(t.__timelines).length>0),o=!!((e=this._iframe.contentDocument)!=null&&e.querySelector("[data-composition-src]"));if(He({hasRuntime:s,hasTimelines:n,hasNestedCompositions:o,runtimeInjected:this._runtimeInjected,attempts:i})){this._injectRuntime();return}if(this._runtimeInjected&&!s)return;const a=this._resolvePlaybackDurationAdapter(t);if(a&&a.getDuration()>0){this.stop();const c=$e(this._iframe.contentDocument);this._callbacks.onReady({duration:a.getDuration(),adapter:a,compositionSize:c});return}}catch{}i>=40&&(this.stop(),this._callbacks.onError("Composition timeline not found after 8s"))},200)}stop(){this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{const i=this._iframe.contentWindow;return i?this._resolveDirectTimelineAdapterFromWindow(i):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(i){return this._resolveDirectTimelineAdapterFromWindow(i)}hasRuntimeBridge(i){return Reflect.get(i,"__hf")!==void 0||z(Reflect.get(i,"__player"))}_injectRuntime(){var i,e;this._runtimeInjected=!0;try{const t=this._iframe.contentDocument;if(!t)return;const s=t.createElement("script");s.src=U,(t.head||t.documentElement).appendChild(s),(e=(i=this._callbacks).onRuntimeInjected)==null||e.call(i)}catch{}}_resolveDirectTimelineAdapterFromWindow(i){var a,c;if(this.hasRuntimeBridge(i))return null;const e=Reflect.get(i,"__timelines");if(!z(e))return null;const t=Object.keys(e);if(t.length===0)return null;const s=(c=(a=this._iframe.contentDocument)==null?void 0:a.querySelector("[data-composition-id]"))==null?void 0:c.getAttribute("data-composition-id"),n=s&&s in e?s:t[t.length-1],o=e[n];return We(o)?o:null}_resolvePlaybackDurationAdapter(i){const e=Reflect.get(i,"__player");if(Ue(e))return{kind:"runtime",getDuration:()=>e.getDuration()};const t=this._resolveDirectTimelineAdapterFromWindow(i);return t?{kind:"direct-timeline",timeline:t,getDuration:()=>t.duration()}:null}}const Be=`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|