hyperframes 0.8.78 → 0.8.79
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/cli.js +1071 -523
- package/dist/fontLocalizeCli.js +99 -33
- 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 +3 -3
- package/dist/skills/media-use/scripts/compatibility.test.mjs +2 -0
- package/dist/skills/media-use/scripts/lib/cache.mjs +6 -8
- package/dist/skills/media-use/scripts/lib/candidates.test.mjs +2 -2
- package/dist/skills/media-use/scripts/lib/manifest.test.mjs +2 -0
- package/dist/skills/media-use/scripts/lib/media-home.mjs +20 -0
- package/dist/skills/media-use/scripts/lib/media-home.test.mjs +61 -0
- package/dist/skills/media-use/scripts/lib/misses.mjs +6 -6
- package/dist/skills/media-use/scripts/lib/misses.test.mjs +12 -1
- package/dist/skills/media-use/scripts/lib/prefs-store.mjs +2 -2
- package/dist/skills/media-use/scripts/lib/prefs-store.test.mjs +1 -1
- package/dist/skills/media-use/scripts/lib/recipe-store.mjs +2 -2
- package/dist/skills/media-use/scripts/lib/recipe-store.test.mjs +1 -1
- package/dist/skills/media-use/scripts/lib/stats.test.mjs +1 -1
- package/dist/skills/media-use/scripts/lib/telemetry.mjs +2 -1
- package/dist/skills/media-use/scripts/lib/telemetry.test.mjs +1 -0
- package/dist/studio/assets/{hyperframes-player-BdnQGwG5.js → hyperframes-player-Bx_Kw4Ey.js} +3 -3
- package/dist/studio/assets/{index-C_n__Uh3.js → index-CJP92F4-.js} +1 -1
- package/dist/studio/assets/{index-CX_4MYbk.js → index-DBKySIo7.js} +187 -187
- package/dist/studio/assets/{index-DdpuHaGN.js → index-ORZXYB0k.js} +1 -1
- package/dist/studio/{chunk-5VANA2TG.js → chunk-I7XNAIOF.js} +2 -1
- package/dist/studio/{domEditingLayers-IGPLTI5E.js → domEditingLayers-MHFDKAQ7.js} +2 -2
- package/dist/studio/index.d.ts +22 -15
- package/dist/studio/index.html +1 -1
- package/dist/studio/index.js +452 -256
- package/dist/studio/index.js.map +1 -1
- package/package.json +1 -1
- /package/dist/studio/{chunk-5VANA2TG.js.map → chunk-I7XNAIOF.js.map} +0 -0
- /package/dist/studio/{domEditingLayers-IGPLTI5E.js.map → domEditingLayers-MHFDKAQ7.js.map} +0 -0
package/dist/fontLocalizeCli.js
CHANGED
|
@@ -52710,9 +52710,11 @@ var init_subCompositionValidity2 = __esm({
|
|
|
52710
52710
|
});
|
|
52711
52711
|
|
|
52712
52712
|
// ../core/dist/compiler/htmlDocument.js
|
|
52713
|
+
function isFullHtmlDocument(html) {
|
|
52714
|
+
return /^(?:<!doctype|<html[\s>/])/i.test(html.replace(LEADING_COMMENTS, ""));
|
|
52715
|
+
}
|
|
52713
52716
|
function parseHTMLContent(html) {
|
|
52714
|
-
|
|
52715
|
-
if (trimmed.startsWith("<!doctype") || trimmed.startsWith("<html")) {
|
|
52717
|
+
if (isFullHtmlDocument(html)) {
|
|
52716
52718
|
return parseHTML(html).document;
|
|
52717
52719
|
}
|
|
52718
52720
|
return parseHTML(`<!DOCTYPE html><html><head></head><body>${html}</body></html>`).document;
|
|
@@ -52965,7 +52967,7 @@ ${bodyTags}`;
|
|
|
52965
52967
|
}
|
|
52966
52968
|
return html;
|
|
52967
52969
|
}
|
|
52968
|
-
var RUNTIME_BOOTSTRAP_ATTR, RUNTIME_SRC_MARKERS, RUNTIME_INLINE_MARKERS, SIMPLE_RUNTIME_FLAG_ASSIGNMENTS, RAW_TEXT_TAGS, COMMENT_END;
|
|
52970
|
+
var RUNTIME_BOOTSTRAP_ATTR, RUNTIME_SRC_MARKERS, RUNTIME_INLINE_MARKERS, SIMPLE_RUNTIME_FLAG_ASSIGNMENTS, LEADING_COMMENTS, RAW_TEXT_TAGS, COMMENT_END;
|
|
52969
52971
|
var init_htmlDocument = __esm({
|
|
52970
52972
|
"../core/dist/compiler/htmlDocument.js"() {
|
|
52971
52973
|
"use strict";
|
|
@@ -52988,6 +52990,7 @@ var init_htmlDocument = __esm({
|
|
|
52988
52990
|
/^window\.__playerReady\s*=\s*(?:true|false)\s*;?$/,
|
|
52989
52991
|
/^window\.__renderReady\s*=\s*(?:true|false)\s*;?$/
|
|
52990
52992
|
];
|
|
52993
|
+
LEADING_COMMENTS = /^(?:\s|<!--(?:>|->|[\s\S]*?-->))*/;
|
|
52991
52994
|
RAW_TEXT_TAGS = ["script", "style", "title", "textarea"];
|
|
52992
52995
|
COMMENT_END = /--!?>/g;
|
|
52993
52996
|
}
|
|
@@ -66236,6 +66239,16 @@ var init_scriptRuns = __esm({
|
|
|
66236
66239
|
}
|
|
66237
66240
|
});
|
|
66238
66241
|
|
|
66242
|
+
// ../core/dist/sceneParts.js
|
|
66243
|
+
var SCENE_PART_ATTR, SCENE_NO_SWAP_ATTR;
|
|
66244
|
+
var init_sceneParts = __esm({
|
|
66245
|
+
"../core/dist/sceneParts.js"() {
|
|
66246
|
+
"use strict";
|
|
66247
|
+
SCENE_PART_ATTR = "data-hf-scene";
|
|
66248
|
+
SCENE_NO_SWAP_ATTR = "data-hf-scene-no-swap";
|
|
66249
|
+
}
|
|
66250
|
+
});
|
|
66251
|
+
|
|
66239
66252
|
// ../core/dist/compiler/externalScripts.js
|
|
66240
66253
|
function readExternalScriptAttributes(el) {
|
|
66241
66254
|
const attributes2 = {};
|
|
@@ -66625,6 +66638,13 @@ var init_composition = __esm({
|
|
|
66625
66638
|
}
|
|
66626
66639
|
});
|
|
66627
66640
|
|
|
66641
|
+
// ../core/dist/runtime/proxySrc.js
|
|
66642
|
+
var init_proxySrc = __esm({
|
|
66643
|
+
"../core/dist/runtime/proxySrc.js"() {
|
|
66644
|
+
"use strict";
|
|
66645
|
+
}
|
|
66646
|
+
});
|
|
66647
|
+
|
|
66628
66648
|
// ../core/dist/runtime/applyVariableBindings.js
|
|
66629
66649
|
function sanitizeCssValue(value) {
|
|
66630
66650
|
return value.replace(/[;{}<>\r\n]/g, "");
|
|
@@ -66634,6 +66654,7 @@ var init_applyVariableBindings = __esm({
|
|
|
66634
66654
|
"use strict";
|
|
66635
66655
|
init_variableScope();
|
|
66636
66656
|
init_domRealm();
|
|
66657
|
+
init_proxySrc();
|
|
66637
66658
|
}
|
|
66638
66659
|
});
|
|
66639
66660
|
|
|
@@ -78918,13 +78939,18 @@ var init_compositionAssembly = __esm({
|
|
|
78918
78939
|
});
|
|
78919
78940
|
|
|
78920
78941
|
// ../core/dist/compiler/inlineSubCompositions.js
|
|
78942
|
+
function sceneScriptSwapRefusal(script) {
|
|
78943
|
+
const match = SIDE_EFFECT_RE.exec(script);
|
|
78944
|
+
return match ? `its script uses ${match[0].trim()}` : null;
|
|
78945
|
+
}
|
|
78921
78946
|
function defaultBuildScopeSelector(compId) {
|
|
78922
78947
|
const escaped = compId.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
78923
78948
|
return `[data-composition-id="${escaped}"]`;
|
|
78924
78949
|
}
|
|
78925
78950
|
function inlineSubCompositions(document2, hosts, options) {
|
|
78926
|
-
const { resolveHtml, parseHtml, hostIdentityMap, rewriteInlineStyles = false, flattenInnerRoot, compoundAuthoredRoot, readVariableDefaults, parseHostVariables, buildScopeSelector = defaultBuildScopeSelector, scriptErrorLabel = "[HyperFrames] composition script error:", onMissingComposition, assetExists } = options;
|
|
78951
|
+
const { resolveHtml, parseHtml, hostIdentityMap, rewriteInlineStyles = false, flattenInnerRoot, compoundAuthoredRoot, readVariableDefaults, parseHostVariables, buildScopeSelector = defaultBuildScopeSelector, scriptErrorLabel = "[HyperFrames] composition script error:", onMissingComposition, assetExists, tagScenes = false } = options;
|
|
78927
78952
|
const styles = [];
|
|
78953
|
+
const styleScenes = [];
|
|
78928
78954
|
const scripts = [];
|
|
78929
78955
|
const externalScriptSrcs = [];
|
|
78930
78956
|
const scriptItems = [];
|
|
@@ -78933,9 +78959,14 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
78933
78959
|
const externalLinks = [];
|
|
78934
78960
|
const seenLinkHrefs = /* @__PURE__ */ new Set();
|
|
78935
78961
|
const variablesByComp = {};
|
|
78936
|
-
const
|
|
78962
|
+
const sceneHosts = /* @__PURE__ */ new Map();
|
|
78963
|
+
const queue = hosts.map((element) => ({
|
|
78964
|
+
element,
|
|
78965
|
+
ancestry: [],
|
|
78966
|
+
scene: void 0
|
|
78967
|
+
}));
|
|
78937
78968
|
for (let queueIndex = 0; queueIndex < queue.length; queueIndex += 1) {
|
|
78938
|
-
const { element: hostEl, ancestry } = queue[queueIndex];
|
|
78969
|
+
const { element: hostEl, ancestry, scene: parentScene } = queue[queueIndex];
|
|
78939
78970
|
const src = hostEl.getAttribute("data-composition-src");
|
|
78940
78971
|
if (!src)
|
|
78941
78972
|
continue;
|
|
@@ -78982,6 +79013,19 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
78982
79013
|
const scopeCompId = plan2.authoredCompositionId || "";
|
|
78983
79014
|
const scriptCompositionId = plan2.scriptCompositionId || "";
|
|
78984
79015
|
const runtimeScope = runtimeCompId ? buildScopeSelector(runtimeCompId) : "";
|
|
79016
|
+
const scene = tagScenes ? parentScene ?? (runtimeCompId || src) : void 0;
|
|
79017
|
+
if (scene && !parentScene) {
|
|
79018
|
+
hostEl.setAttribute(SCENE_PART_ATTR, scene);
|
|
79019
|
+
sceneHosts.set(scene, hostEl);
|
|
79020
|
+
}
|
|
79021
|
+
const refuseSwap = (why) => {
|
|
79022
|
+
const host = scene ? sceneHosts.get(scene) : void 0;
|
|
79023
|
+
if (!host || host.hasAttribute(SCENE_NO_SWAP_ATTR))
|
|
79024
|
+
return;
|
|
79025
|
+
const reason = why();
|
|
79026
|
+
if (reason)
|
|
79027
|
+
host.setAttribute(SCENE_NO_SWAP_ATTR, reason);
|
|
79028
|
+
};
|
|
78985
79029
|
if (readVariableDefaults && parseHostVariables && runtimeCompId) {
|
|
78986
79030
|
const mergedVariables = {};
|
|
78987
79031
|
for (const carrier of plan2.variableDefaultCarriers) {
|
|
@@ -79013,11 +79057,14 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
79013
79057
|
}
|
|
79014
79058
|
for (const styleEl of plan2.styleSources) {
|
|
79015
79059
|
styles.push(scopeSubStyle(styleEl.textContent || ""));
|
|
79060
|
+
if (scene)
|
|
79061
|
+
styleScenes.push(scene);
|
|
79016
79062
|
styleEl.remove();
|
|
79017
79063
|
}
|
|
79018
79064
|
for (const scriptEl of plan2.scriptSources) {
|
|
79019
79065
|
const externalSrc = resolveSubAssetPath(scriptEl.getAttribute("src"));
|
|
79020
79066
|
const type = (scriptEl.getAttribute("type") || "").trim().toLowerCase();
|
|
79067
|
+
refuseSwap(() => type === "importmap" || type === "module" ? "it runs a module script or import map" : !externalSrc ? sceneScriptSwapRefusal(scriptEl.textContent || "") : isSwapSafeLibrary(externalSrc) ? null : "it runs a script that is not a known library");
|
|
79021
79068
|
if (type === "importmap") {
|
|
79022
79069
|
const map = parseImportMap(scriptEl.textContent || "", (url) => {
|
|
79023
79070
|
const authored = url.trim();
|
|
@@ -79041,12 +79088,13 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
79041
79088
|
scriptItems.push({
|
|
79042
79089
|
kind: "external",
|
|
79043
79090
|
src: externalSrc,
|
|
79044
|
-
...readExternalScriptAttributes(scriptEl)
|
|
79091
|
+
...readExternalScriptAttributes(scriptEl),
|
|
79092
|
+
...scene ? { scene } : {}
|
|
79045
79093
|
});
|
|
79046
79094
|
} else {
|
|
79047
79095
|
const wrappedScript = scriptCompositionId ? wrapScopedCompositionScript(scriptEl.textContent || "", scriptCompositionId, scriptErrorLabel, runtimeScope || void 0, runtimeCompId || scopeCompId || scriptCompositionId, authoredRootId, src) : wrapInlineScriptWithErrorBoundary(scriptEl.textContent || "", scriptErrorLabel);
|
|
79048
79096
|
scripts.push(wrappedScript);
|
|
79049
|
-
scriptItems.push({ kind: "inline", content: wrappedScript });
|
|
79097
|
+
scriptItems.push({ kind: "inline", content: wrappedScript, ...scene ? { scene } : {} });
|
|
79050
79098
|
}
|
|
79051
79099
|
scriptEl.remove();
|
|
79052
79100
|
}
|
|
@@ -79102,11 +79150,12 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
79102
79150
|
onMissingComposition?.(skipped.src, skipped.reason);
|
|
79103
79151
|
}
|
|
79104
79152
|
for (const nestedHost of nested.hosts) {
|
|
79105
|
-
queue.push({ element: nestedHost.host, ancestry: nestedAncestry });
|
|
79153
|
+
queue.push({ element: nestedHost.host, ancestry: nestedAncestry, scene });
|
|
79106
79154
|
}
|
|
79107
79155
|
}
|
|
79108
79156
|
return {
|
|
79109
79157
|
styles,
|
|
79158
|
+
styleScenes,
|
|
79110
79159
|
scripts,
|
|
79111
79160
|
externalScriptSrcs,
|
|
79112
79161
|
scriptItems,
|
|
@@ -79116,6 +79165,7 @@ function inlineSubCompositions(document2, hosts, options) {
|
|
|
79116
79165
|
moduleScripts
|
|
79117
79166
|
};
|
|
79118
79167
|
}
|
|
79168
|
+
var SIDE_EFFECT_RE, SWAP_SAFE_LIBRARY_URL, isSwapSafeLibrary;
|
|
79119
79169
|
var init_inlineSubCompositions = __esm({
|
|
79120
79170
|
"../core/dist/compiler/inlineSubCompositions.js"() {
|
|
79121
79171
|
"use strict";
|
|
@@ -79126,6 +79176,10 @@ var init_inlineSubCompositions = __esm({
|
|
|
79126
79176
|
init_compositionScoping();
|
|
79127
79177
|
init_subCompositionValidity();
|
|
79128
79178
|
init_compositionAssembly();
|
|
79179
|
+
init_sceneParts();
|
|
79180
|
+
SIDE_EFFECT_RE = /\b(addEventListener|requestAnimationFrame|requestIdleCallback|setTimeout|setInterval|queueMicrotask|getContext|WebGL\w*|WebGPU\w*|gpu|Worker|WebSocket|EventSource|Audio\w*|\w*Observer|fetch|import|eval|Function|Promise|async|await|delayedCall|ScrollTrigger|Draggable|anime|customElements|registerProperty|addListener|BroadcastChannel|pushState|replaceState|adoptedStyleSheets|documentElement|getElementsByTagName|lottie|THREE|__hf[A-Z]\w*)\b|\.then\s*\(|\.animate\s*\(|\.ticker\b|repeat\s*:\s*-1|\.repeat\s*\(\s*-1|defineProperty\s*\(\s*(window|globalThis|self|document)\b|\bfonts\s*\.\s*add\b|\.on[a-z]+\s*=(?!=)|\bon(resize|scroll|message|key\w+|click|pointer\w+|mouse\w+|wheel|visibilitychange|hashchange|popstate|error|load)\s*=(?!=)|\[\s*["']on[a-z]+["']\s*\]|document\s*\.\s*(head|body)\b|querySelector(All)?\(\s*["'](head|body)["']|\bgsap\s*\.\s*(?:to|from|fromTo)\s*\(|\bgsap\s*\.\s*timeline\s*\((?:[^()]|\([^()]*\))*\)\s*\.\s*(?:to|from|fromTo|set|add|call)\s*\(/;
|
|
79181
|
+
SWAP_SAFE_LIBRARY_URL = /^https:\/\/(cdn\.jsdelivr\.net\/npm|unpkg\.com)\/(gsap|three|d3|d3-[a-z-]+|topojson-client|clipper-lib)(@[^/]+)?\//;
|
|
79182
|
+
isSwapSafeLibrary = (src) => URL.canParse(src) && SWAP_SAFE_LIBRARY_URL.test(new URL(src).href);
|
|
79129
79183
|
}
|
|
79130
79184
|
});
|
|
79131
79185
|
|
|
@@ -79311,6 +79365,7 @@ var init_htmlBundler = __esm({
|
|
|
79311
79365
|
"../core/dist/compiler/htmlBundler.js"() {
|
|
79312
79366
|
"use strict";
|
|
79313
79367
|
init_scriptRuns();
|
|
79368
|
+
init_sceneParts();
|
|
79314
79369
|
init_externalScripts();
|
|
79315
79370
|
init_importMaps();
|
|
79316
79371
|
init_flattenedRoot();
|
|
@@ -79341,6 +79396,16 @@ var init_htmlParityContract = __esm({
|
|
|
79341
79396
|
}
|
|
79342
79397
|
});
|
|
79343
79398
|
|
|
79399
|
+
// ../core/dist/compiler/scenePartsManifest.js
|
|
79400
|
+
import { createHash as createHash2 } from "crypto";
|
|
79401
|
+
var init_scenePartsManifest = __esm({
|
|
79402
|
+
"../core/dist/compiler/scenePartsManifest.js"() {
|
|
79403
|
+
"use strict";
|
|
79404
|
+
init_sceneParts();
|
|
79405
|
+
init_htmlDocument();
|
|
79406
|
+
}
|
|
79407
|
+
});
|
|
79408
|
+
|
|
79344
79409
|
// ../core/dist/compiler/index.js
|
|
79345
79410
|
var init_compiler = __esm({
|
|
79346
79411
|
"../core/dist/compiler/index.js"() {
|
|
@@ -79352,6 +79417,7 @@ var init_compiler = __esm({
|
|
|
79352
79417
|
init_getVariables();
|
|
79353
79418
|
init_htmlParityContract();
|
|
79354
79419
|
init_htmlDocument();
|
|
79420
|
+
init_scenePartsManifest();
|
|
79355
79421
|
init_scriptRuns();
|
|
79356
79422
|
init_staticGuard();
|
|
79357
79423
|
init_compositionScoping();
|
|
@@ -79455,7 +79521,7 @@ var init_extractedFrameIndex = __esm({
|
|
|
79455
79521
|
});
|
|
79456
79522
|
|
|
79457
79523
|
// ../engine/src/services/extractionCache.ts
|
|
79458
|
-
import { createHash as
|
|
79524
|
+
import { createHash as createHash3, randomUUID as randomUUID2 } from "crypto";
|
|
79459
79525
|
import {
|
|
79460
79526
|
existsSync as existsSync10,
|
|
79461
79527
|
lstatSync as lstatSync3,
|
|
@@ -79491,7 +79557,7 @@ function canonicalKeyBlob(input) {
|
|
|
79491
79557
|
return JSON.stringify(blob);
|
|
79492
79558
|
}
|
|
79493
79559
|
function computeCacheKey(input) {
|
|
79494
|
-
return
|
|
79560
|
+
return createHash3("sha256").update(canonicalKeyBlob(input)).digest("hex");
|
|
79495
79561
|
}
|
|
79496
79562
|
function cacheEntryDirName(keyHash) {
|
|
79497
79563
|
return SCHEMA_PREFIX + keyHash.slice(0, KEY_HEX_CHARS);
|
|
@@ -81658,10 +81724,10 @@ var init_videoFrameInjector = __esm({
|
|
|
81658
81724
|
});
|
|
81659
81725
|
|
|
81660
81726
|
// ../engine/src/utils/notMediaPayload.ts
|
|
81661
|
-
import { createHash as
|
|
81727
|
+
import { createHash as createHash4 } from "crypto";
|
|
81662
81728
|
import { open as openFile } from "fs/promises";
|
|
81663
81729
|
function fingerprintElementId(elementId) {
|
|
81664
|
-
return
|
|
81730
|
+
return createHash4("sha256").update(elementId).digest("hex").slice(0, 16);
|
|
81665
81731
|
}
|
|
81666
81732
|
function byteOrderMarkLength(head) {
|
|
81667
81733
|
for (const mark of BYTE_ORDER_MARKS) {
|
|
@@ -88688,7 +88754,7 @@ __export(fontCompression_exports, {
|
|
|
88688
88754
|
compressToWoff2: () => compressToWoff2,
|
|
88689
88755
|
fontToDataUri: () => fontToDataUri
|
|
88690
88756
|
});
|
|
88691
|
-
import { createHash as
|
|
88757
|
+
import { createHash as createHash8 } from "crypto";
|
|
88692
88758
|
import {
|
|
88693
88759
|
existsSync as existsSync23,
|
|
88694
88760
|
mkdirSync as mkdirSync13,
|
|
@@ -88711,7 +88777,7 @@ function defaultCacheDir() {
|
|
|
88711
88777
|
return join32(root, "local-compression-v1");
|
|
88712
88778
|
}
|
|
88713
88779
|
function cachedCompressionPath(input, originalFormat, cacheDir) {
|
|
88714
|
-
const digest =
|
|
88780
|
+
const digest = createHash8("sha256").update("hyperframes-local-font-compression-v1\0").update(originalFormat).update("\0").update(input).digest("hex");
|
|
88715
88781
|
return join32(cacheDir, `${digest}.woff2`);
|
|
88716
88782
|
}
|
|
88717
88783
|
function readCachedCompression(path) {
|
|
@@ -88822,7 +88888,7 @@ import { Readable as Readable2 } from "stream";
|
|
|
88822
88888
|
import { join as join21, extname as extname4, resolve as resolve7, sep as sep3 } from "path";
|
|
88823
88889
|
|
|
88824
88890
|
// ../producer/src/services/hyperframeRuntimeLoader.ts
|
|
88825
|
-
import { createHash as
|
|
88891
|
+
import { createHash as createHash5 } from "crypto";
|
|
88826
88892
|
import { existsSync as existsSync16, readFileSync as readFileSync8 } from "fs";
|
|
88827
88893
|
import { dirname as dirname11, resolve as resolve6 } from "path";
|
|
88828
88894
|
import { fileURLToPath as fileURLToPath3 } from "url";
|
|
@@ -88874,7 +88940,7 @@ function resolveVerifiedHyperframeRuntime() {
|
|
|
88874
88940
|
throw new Error(`[HyperframeRuntimeLoader] Missing runtime artifact at ${runtimePath}.`);
|
|
88875
88941
|
}
|
|
88876
88942
|
const runtimeSource = readFileSync8(runtimePath, "utf8");
|
|
88877
|
-
const runtimeSha =
|
|
88943
|
+
const runtimeSha = createHash5("sha256").update(runtimeSource, "utf8").digest("hex");
|
|
88878
88944
|
if (runtimeSha !== manifest.sha256) {
|
|
88879
88945
|
throw new Error(
|
|
88880
88946
|
`[HyperframeRuntimeLoader] Runtime checksum mismatch. expected=${manifest.sha256} actual=${runtimeSha}`
|
|
@@ -92801,7 +92867,7 @@ async function runCaptureSegmentedStage(input) {
|
|
|
92801
92867
|
}
|
|
92802
92868
|
|
|
92803
92869
|
// ../producer/src/services/render/segmentManifest.ts
|
|
92804
|
-
import { createHash as
|
|
92870
|
+
import { createHash as createHash6 } from "crypto";
|
|
92805
92871
|
import { existsSync as existsSync21, mkdirSync as mkdirSync12, readFileSync as readFileSync10, renameSync as renameSync4, statSync as statSync9, writeFileSync as writeFileSync8 } from "fs";
|
|
92806
92872
|
import { join as join29 } from "path";
|
|
92807
92873
|
var MANIFEST_FILENAME = "segments.json";
|
|
@@ -92823,7 +92889,7 @@ function computeSegmentPlanHash(input) {
|
|
|
92823
92889
|
`${input.outputWidth}x${input.outputHeight}`,
|
|
92824
92890
|
input.motionBlur
|
|
92825
92891
|
].join(" ");
|
|
92826
|
-
return
|
|
92892
|
+
return createHash6("sha256").update(ordered).digest("hex").slice(0, 16);
|
|
92827
92893
|
}
|
|
92828
92894
|
function segmentDirFor(projectRendersDir, planHash) {
|
|
92829
92895
|
return join29(projectRendersDir, ".hf-segments", planHash);
|
|
@@ -93266,7 +93332,7 @@ function shouldFallbackToScreenshotAfterCalibrationError(error) {
|
|
|
93266
93332
|
|
|
93267
93333
|
// ../producer/src/services/render/observability.ts
|
|
93268
93334
|
init_dist2();
|
|
93269
|
-
import { createHash as
|
|
93335
|
+
import { createHash as createHash7 } from "crypto";
|
|
93270
93336
|
var MAX_EVENTS = 160;
|
|
93271
93337
|
var ALLOWED_STRING_DATA_KEYS = /* @__PURE__ */ new Set([
|
|
93272
93338
|
"browserGpuMode",
|
|
@@ -93311,7 +93377,7 @@ function sanitizeObservationMessage(value) {
|
|
|
93311
93377
|
return redactTelemetryString(value);
|
|
93312
93378
|
}
|
|
93313
93379
|
function computeCompositionObservabilityHash(compiledHtml) {
|
|
93314
|
-
return
|
|
93380
|
+
return createHash7("sha256").update(compiledHtml, "utf8").digest("hex").slice(0, 16);
|
|
93315
93381
|
}
|
|
93316
93382
|
function sanitizeObservationData(data2) {
|
|
93317
93383
|
if (!data2) return void 0;
|
|
@@ -93668,7 +93734,7 @@ init_audioGain();
|
|
|
93668
93734
|
init_compiler();
|
|
93669
93735
|
init_subCompositionValidity();
|
|
93670
93736
|
init_assetResolution();
|
|
93671
|
-
import { createHash as
|
|
93737
|
+
import { createHash as createHash11 } from "crypto";
|
|
93672
93738
|
import { createReadStream as createReadStream4, existsSync as existsSync27, mkdirSync as mkdirSync16, readFileSync as readFileSync14 } from "fs";
|
|
93673
93739
|
import { join as join35, dirname as dirname16, resolve as resolve12, basename as basename6, relative as relative4 } from "path";
|
|
93674
93740
|
|
|
@@ -93772,7 +93838,7 @@ init_src();
|
|
|
93772
93838
|
init_src();
|
|
93773
93839
|
|
|
93774
93840
|
// ../producer/src/services/deterministicFonts.ts
|
|
93775
|
-
import { createHash as
|
|
93841
|
+
import { createHash as createHash9 } from "crypto";
|
|
93776
93842
|
import { existsSync as existsSync24, mkdirSync as mkdirSync14, mkdtempSync as mkdtempSync9, readFileSync as readFileSync12, writeFileSync as writeFileSync10 } from "fs";
|
|
93777
93843
|
import { homedir as homedir5, tmpdir as tmpdir6 } from "os";
|
|
93778
93844
|
import { join as join33 } from "path";
|
|
@@ -94610,7 +94676,7 @@ function fontCacheDir(slug) {
|
|
|
94610
94676
|
return dir;
|
|
94611
94677
|
}
|
|
94612
94678
|
function subsetToken(woff2Url) {
|
|
94613
|
-
return
|
|
94679
|
+
return createHash9("sha1").update(woff2Url).digest("hex").slice(0, 12);
|
|
94614
94680
|
}
|
|
94615
94681
|
function cachedWoff2Path(slug, weight, style, subset) {
|
|
94616
94682
|
return join33(fontCacheDir(slug), `${weight}-${style}-${subset}.woff2`);
|
|
@@ -95041,7 +95107,7 @@ async function injectDeterministicFontFaces(html, options = {}) {
|
|
|
95041
95107
|
init_esm10();
|
|
95042
95108
|
init_dist2();
|
|
95043
95109
|
init_src();
|
|
95044
|
-
import { createHash as
|
|
95110
|
+
import { createHash as createHash10 } from "crypto";
|
|
95045
95111
|
import {
|
|
95046
95112
|
copyFileSync as copyFileSync4,
|
|
95047
95113
|
existsSync as existsSync25,
|
|
@@ -95104,7 +95170,7 @@ function isUsableFile(path) {
|
|
|
95104
95170
|
}
|
|
95105
95171
|
}
|
|
95106
95172
|
function computePreparedGifHash(bytes, loopIterations, padSeconds) {
|
|
95107
|
-
return
|
|
95173
|
+
return createHash10("sha256").update(CACHE_SCHEMA).update("\0").update(String(loopIterations)).update("\0").update(String(padSeconds)).update("\0").update(bytes).digest("hex");
|
|
95108
95174
|
}
|
|
95109
95175
|
function resolveLoop(metadata, override) {
|
|
95110
95176
|
if (override != null) return override;
|
|
@@ -96445,7 +96511,7 @@ function matchesScriptIntegrity(bytes, metadata) {
|
|
|
96445
96511
|
(alg) => hashes.some((hash2) => hash2[1]?.toLowerCase() === alg)
|
|
96446
96512
|
);
|
|
96447
96513
|
if (!strongest) return true;
|
|
96448
|
-
const actual =
|
|
96514
|
+
const actual = createHash11(strongest).update(bytes).digest();
|
|
96449
96515
|
return hashes.some(
|
|
96450
96516
|
(hash2) => hash2[1]?.toLowerCase() === strongest && actual.equals(Buffer.from(hash2[2], "base64"))
|
|
96451
96517
|
);
|
|
@@ -104369,7 +104435,7 @@ var DISTRIBUTED_RENDER_CAPABILITIES = Object.freeze({
|
|
|
104369
104435
|
});
|
|
104370
104436
|
|
|
104371
104437
|
// ../producer/src/services/render/stages/planHash.ts
|
|
104372
|
-
import { createHash as
|
|
104438
|
+
import { createHash as createHash12 } from "crypto";
|
|
104373
104439
|
var FIELD_DELIMITER = Buffer.from([0]);
|
|
104374
104440
|
|
|
104375
104441
|
// ../producer/src/services/distributed/shared.ts
|
|
@@ -104383,7 +104449,7 @@ var PLAN_AUDIO_RELATIVE_PATH = MIXED_AUDIO_FILENAME;
|
|
|
104383
104449
|
var execFile4 = promisify5(execFileCallback);
|
|
104384
104450
|
|
|
104385
104451
|
// ../producer/src/services/distributed/planSize.ts
|
|
104386
|
-
import { createHash as
|
|
104452
|
+
import { createHash as createHash13 } from "crypto";
|
|
104387
104453
|
import { lstatSync as lstatSync5, readdirSync as readdirSync14 } from "fs";
|
|
104388
104454
|
import { extname as extname7, join as join54, relative as relative7 } from "path";
|
|
104389
104455
|
var PLAN_ROOT_CATEGORY = {
|
|
@@ -104420,7 +104486,7 @@ import {
|
|
|
104420
104486
|
statSync as statSync16,
|
|
104421
104487
|
writeFileSync as writeFileSync16
|
|
104422
104488
|
} from "fs";
|
|
104423
|
-
import { createHash as
|
|
104489
|
+
import { createHash as createHash14 } from "crypto";
|
|
104424
104490
|
import { tmpdir as tmpdir9 } from "os";
|
|
104425
104491
|
import { dirname as dirname25, isAbsolute as isAbsolute6, join as join58, relative as relative9, resolve as resolve17, sep as sep6 } from "path";
|
|
104426
104492
|
|
|
@@ -104471,7 +104537,7 @@ init_src();
|
|
|
104471
104537
|
|
|
104472
104538
|
// ../producer/src/services/distributed/projectHash.ts
|
|
104473
104539
|
import { readdirSync as readdirSync18, readFileSync as readFileSync22 } from "fs";
|
|
104474
|
-
import { createHash as
|
|
104540
|
+
import { createHash as createHash15 } from "crypto";
|
|
104475
104541
|
import { join as join62, relative as relative10 } from "path";
|
|
104476
104542
|
|
|
104477
104543
|
// src/fontLocalize.ts
|
|
@@ -104513,8 +104579,8 @@ async function runFontLocalize(io, localize) {
|
|
|
104513
104579
|
}
|
|
104514
104580
|
|
|
104515
104581
|
// src/version.ts
|
|
104516
|
-
var VERSION = true ? "0.8.
|
|
104517
|
-
var PRODUCER_VERSION = true ? "0.8.
|
|
104582
|
+
var VERSION = true ? "0.8.79" : "0.0.0-dev";
|
|
104583
|
+
var PRODUCER_VERSION = true ? "0.8.79" : "0.0.0-dev";
|
|
104518
104584
|
|
|
104519
104585
|
// src/fontLocalizeCli.ts
|
|
104520
104586
|
async function readStdin() {
|