@mevdragon/vidfarm-devcli 0.2.13 → 0.3.0
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 +11 -4
- package/SKILL.director.md +97 -0
- package/SKILL.platform.md +66 -6
- package/dist/src/cli.js +137 -1524
- package/dist/src/dev-serve.js +169 -0
- package/package.json +5 -24
- package/.env.example +0 -60
- package/auto-create-hyperframe-templates/AUTO_CREATE_HYPERFRAME_TEMPLATES.md +0 -275
- package/auto-create-hyperframe-templates/extractor-system-prompt.md +0 -128
- package/auto-create-hyperframe-templates/input-manifest.schema.json +0 -56
- package/auto-create-hyperframe-templates/lambda-memory-estimator.md +0 -118
- package/auto-create-hyperframe-templates/production-graph.schema.json +0 -314
- package/auto-create-hyperframe-templates/runbook.md +0 -198
- package/auto-create-hyperframe-templates/scripts/create-hyperframe-template.mjs +0 -368
- package/auto-create-hyperframe-templates/template-plan.schema.json +0 -311
- package/auto-create-hyperframe-templates/template-planner-prompt.md +0 -144
- package/auto-create-templates/AUTO_CREATE_TEMPLATES.md +0 -599
- package/auto-create-templates/extractor-system-prompt.md +0 -119
- package/auto-create-templates/production-graph.schema.json +0 -276
- package/auto-create-templates/runbook.md +0 -140
- package/auto-create-templates/template-plan.schema.json +0 -301
- package/auto-create-templates/template-planner-prompt.md +0 -137
- package/dist/src/account-pages-legacy.js +0 -9336
- package/dist/src/account-pages-legacy.js.map +0 -1
- package/dist/src/account-pages.js +0 -61
- package/dist/src/account-pages.js.map +0 -1
- package/dist/src/app.js +0 -14023
- package/dist/src/app.js.map +0 -1
- package/dist/src/cli.js.map +0 -1
- package/dist/src/composition-runtime.js +0 -581
- package/dist/src/composition-runtime.js.map +0 -1
- package/dist/src/config.js +0 -140
- package/dist/src/config.js.map +0 -1
- package/dist/src/context.js +0 -492
- package/dist/src/context.js.map +0 -1
- package/dist/src/dev-app-legacy.js +0 -694
- package/dist/src/dev-app-legacy.js.map +0 -1
- package/dist/src/dev-app.js +0 -6
- package/dist/src/dev-app.js.map +0 -1
- package/dist/src/domain.js +0 -2
- package/dist/src/domain.js.map +0 -1
- package/dist/src/editor-chat-history.js +0 -82
- package/dist/src/editor-chat-history.js.map +0 -1
- package/dist/src/editor-chat.js +0 -311
- package/dist/src/editor-chat.js.map +0 -1
- package/dist/src/frontend/flockposter-cache-store.js +0 -124
- package/dist/src/frontend/flockposter-cache-store.js.map +0 -1
- package/dist/src/frontend/homepage-client.js +0 -117
- package/dist/src/frontend/homepage-client.js.map +0 -1
- package/dist/src/frontend/homepage-shared.js +0 -4
- package/dist/src/frontend/homepage-shared.js.map +0 -1
- package/dist/src/frontend/homepage-store.js +0 -28
- package/dist/src/frontend/homepage-store.js.map +0 -1
- package/dist/src/frontend/homepage-view.js +0 -260
- package/dist/src/frontend/homepage-view.js.map +0 -1
- package/dist/src/frontend/page-runtime-client.js +0 -103
- package/dist/src/frontend/page-runtime-client.js.map +0 -1
- package/dist/src/frontend/page-runtime-store.js +0 -9
- package/dist/src/frontend/page-runtime-store.js.map +0 -1
- package/dist/src/frontend/sentry.js +0 -42
- package/dist/src/frontend/sentry.js.map +0 -1
- package/dist/src/frontend/template-editor-chat.js +0 -3767
- package/dist/src/frontend/template-editor-chat.js.map +0 -1
- package/dist/src/help-page.js +0 -333
- package/dist/src/help-page.js.map +0 -1
- package/dist/src/homepage.js +0 -919
- package/dist/src/homepage.js.map +0 -1
- package/dist/src/hyperframes/composition.js +0 -180
- package/dist/src/hyperframes/composition.js.map +0 -1
- package/dist/src/index.js +0 -16
- package/dist/src/index.js.map +0 -1
- package/dist/src/instrument.js +0 -30
- package/dist/src/instrument.js.map +0 -1
- package/dist/src/lib/crypto.js +0 -45
- package/dist/src/lib/crypto.js.map +0 -1
- package/dist/src/lib/dev-log.js +0 -54
- package/dist/src/lib/dev-log.js.map +0 -1
- package/dist/src/lib/display-name.js +0 -11
- package/dist/src/lib/display-name.js.map +0 -1
- package/dist/src/lib/ids.js +0 -24
- package/dist/src/lib/ids.js.map +0 -1
- package/dist/src/lib/images.js +0 -19
- package/dist/src/lib/images.js.map +0 -1
- package/dist/src/lib/json.js +0 -15
- package/dist/src/lib/json.js.map +0 -1
- package/dist/src/lib/template-dna.js +0 -543
- package/dist/src/lib/template-dna.js.map +0 -1
- package/dist/src/lib/template-paths.js +0 -28
- package/dist/src/lib/template-paths.js.map +0 -1
- package/dist/src/lib/template-style-options.js +0 -203
- package/dist/src/lib/template-style-options.js.map +0 -1
- package/dist/src/lib/time.js +0 -7
- package/dist/src/lib/time.js.map +0 -1
- package/dist/src/lib/video-quality-harness.js +0 -60
- package/dist/src/lib/video-quality-harness.js.map +0 -1
- package/dist/src/page-runtime.js +0 -2
- package/dist/src/page-runtime.js.map +0 -1
- package/dist/src/page-shell.js +0 -2393
- package/dist/src/page-shell.js.map +0 -1
- package/dist/src/primitive-context.js +0 -299
- package/dist/src/primitive-context.js.map +0 -1
- package/dist/src/primitive-registry.js +0 -2181
- package/dist/src/primitive-registry.js.map +0 -1
- package/dist/src/primitive-sdk.js +0 -4
- package/dist/src/primitive-sdk.js.map +0 -1
- package/dist/src/primitives/remotion/html-image.js +0 -30
- package/dist/src/primitives/remotion/html-image.js.map +0 -1
- package/dist/src/primitives/remotion/media-slideshow.js +0 -60
- package/dist/src/primitives/remotion/media-slideshow.js.map +0 -1
- package/dist/src/react-page-shell.js +0 -35
- package/dist/src/react-page-shell.js.map +0 -1
- package/dist/src/ready-post-schedule-component.js +0 -1515
- package/dist/src/ready-post-schedule-component.js.map +0 -1
- package/dist/src/registry.js +0 -296
- package/dist/src/registry.js.map +0 -1
- package/dist/src/runtime.js +0 -31
- package/dist/src/runtime.js.map +0 -1
- package/dist/src/services/api-call-history.js +0 -249
- package/dist/src/services/api-call-history.js.map +0 -1
- package/dist/src/services/auth.js +0 -152
- package/dist/src/services/auth.js.map +0 -1
- package/dist/src/services/billing.js +0 -231
- package/dist/src/services/billing.js.map +0 -1
- package/dist/src/services/chat-threads.js +0 -92
- package/dist/src/services/chat-threads.js.map +0 -1
- package/dist/src/services/fork-access.js +0 -94
- package/dist/src/services/fork-access.js.map +0 -1
- package/dist/src/services/ghostcut.js +0 -132
- package/dist/src/services/ghostcut.js.map +0 -1
- package/dist/src/services/hyperframes.js +0 -1014
- package/dist/src/services/hyperframes.js.map +0 -1
- package/dist/src/services/job-capacity.js +0 -14
- package/dist/src/services/job-capacity.js.map +0 -1
- package/dist/src/services/job-logs.js +0 -197
- package/dist/src/services/job-logs.js.map +0 -1
- package/dist/src/services/jobs.js +0 -136
- package/dist/src/services/jobs.js.map +0 -1
- package/dist/src/services/media-processing.js +0 -743
- package/dist/src/services/media-processing.js.map +0 -1
- package/dist/src/services/primitive-media-lambda.js +0 -280
- package/dist/src/services/primitive-media-lambda.js.map +0 -1
- package/dist/src/services/providers.js +0 -2870
- package/dist/src/services/providers.js.map +0 -1
- package/dist/src/services/rate-limits.js +0 -237
- package/dist/src/services/rate-limits.js.map +0 -1
- package/dist/src/services/remotion.js +0 -688
- package/dist/src/services/remotion.js.map +0 -1
- package/dist/src/services/serverless-auth.js +0 -374
- package/dist/src/services/serverless-auth.js.map +0 -1
- package/dist/src/services/serverless-jobs.js +0 -1074
- package/dist/src/services/serverless-jobs.js.map +0 -1
- package/dist/src/services/serverless-provider-keys.js +0 -401
- package/dist/src/services/serverless-provider-keys.js.map +0 -1
- package/dist/src/services/serverless-records.js +0 -1086
- package/dist/src/services/serverless-records.js.map +0 -1
- package/dist/src/services/serverless-template-configs.js +0 -67
- package/dist/src/services/serverless-template-configs.js.map +0 -1
- package/dist/src/services/storage.js +0 -382
- package/dist/src/services/storage.js.map +0 -1
- package/dist/src/services/template-certification.js +0 -475
- package/dist/src/services/template-certification.js.map +0 -1
- package/dist/src/services/template-loader.js +0 -99
- package/dist/src/services/template-loader.js.map +0 -1
- package/dist/src/services/template-runtime-bundles.js +0 -217
- package/dist/src/services/template-runtime-bundles.js.map +0 -1
- package/dist/src/services/template-sources.js +0 -1017
- package/dist/src/services/template-sources.js.map +0 -1
- package/dist/src/services/video-normalization.js +0 -2
- package/dist/src/services/video-normalization.js.map +0 -1
- package/dist/src/services/webhooks.js +0 -62
- package/dist/src/services/webhooks.js.map +0 -1
- package/dist/src/template-editor-pages.js +0 -6624
- package/dist/src/template-editor-pages.js.map +0 -1
- package/dist/src/template-editor-shell.js +0 -2713
- package/dist/src/template-editor-shell.js.map +0 -1
- package/dist/src/template-sdk.js +0 -4
- package/dist/src/template-sdk.js.map +0 -1
- package/dist/src/worker.js +0 -17
- package/dist/src/worker.js.map +0 -1
- package/public/assets/homepage-app.js +0 -54
- package/public/assets/homepage-client-app.js +0 -80
- package/public/assets/page-runtime-client-app.js +0 -94
- package/readme.secret.md +0 -89
- package/templates/vidfarm_template_0000/README.md +0 -106
- package/templates/vidfarm_template_0000/SKILL.md +0 -266
- package/templates/vidfarm_template_0000/assets/Abel-Regular.ttf +0 -0
- package/templates/vidfarm_template_0000/assets/DMSerifDisplay-Regular.ttf +0 -0
- package/templates/vidfarm_template_0000/assets/Montserrat[wght].ttf +0 -0
- package/templates/vidfarm_template_0000/assets/SourceCodePro[wght].ttf +0 -0
- package/templates/vidfarm_template_0000/assets/TikTokSans-SemiBold.ttf +0 -0
- package/templates/vidfarm_template_0000/assets/Yesteryear-Regular.ttf +0 -0
- package/templates/vidfarm_template_0000/composition.json +0 -11
- package/templates/vidfarm_template_0000/src/lib/images.js +0 -221
- package/templates/vidfarm_template_0000/src/remotion/Root.js +0 -33
- package/templates/vidfarm_template_0000/src/remotion/index.js +0 -3
- package/templates/vidfarm_template_0000/src/sdk.js +0 -3
- package/templates/vidfarm_template_0000/src/style-options.js +0 -200
- package/templates/vidfarm_template_0000/src/template-dna.js +0 -9
- package/templates/vidfarm_template_0000/src/template.js +0 -1566
- package/templates/vidfarm_template_0000/template.config.json +0 -21
package/dist/src/homepage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"homepage.js","sourceRoot":"","sources":["../../src/homepage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
export function buildHyperframeCompositionHtml(input) {
|
|
2
|
-
const duration = positiveNumber(input.duration, inferDuration(input.layers));
|
|
3
|
-
const width = positiveInteger(input.width, 720);
|
|
4
|
-
const height = positiveInteger(input.height, 1280);
|
|
5
|
-
const background = input.backgroundColor || "#050604";
|
|
6
|
-
const fontImport = input.fontImportCss ?? "@import url(\"https://fonts.googleapis.com/css2?family=Abel&family=Montserrat:wght@600&family=Source+Code+Pro:wght@700&family=TikTok+Sans:wght@400;600;700;800;900&display=swap\");";
|
|
7
|
-
const layers = input.layers.map(renderLayer).join("\n ");
|
|
8
|
-
return `<!doctype html>
|
|
9
|
-
<html>
|
|
10
|
-
<head>
|
|
11
|
-
<meta charset="UTF-8" />
|
|
12
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
13
|
-
<style>
|
|
14
|
-
${fontImport}
|
|
15
|
-
html, body { width:100%; height:100%; margin:0; overflow:hidden; background:${background}; }
|
|
16
|
-
[data-composition-id] { position:relative; width:100vw; height:100vh; overflow:hidden; background:${background}; }
|
|
17
|
-
audio { display:none; }
|
|
18
|
-
${input.css ?? ""}
|
|
19
|
-
</style>
|
|
20
|
-
</head>
|
|
21
|
-
<body>
|
|
22
|
-
<div data-composition-id="${escapeAttr(input.compositionId)}" data-source-folder="${escapeAttr(input.sourceFolder || "")}" data-width="${width}" data-height="${height}" data-duration="${num(duration)}">
|
|
23
|
-
${layers}
|
|
24
|
-
</div>
|
|
25
|
-
</body>
|
|
26
|
-
</html>
|
|
27
|
-
`;
|
|
28
|
-
}
|
|
29
|
-
export function inferDuration(layers) {
|
|
30
|
-
return layers.reduce((max, layer) => Math.max(max, positiveNumber(layer.start, 0) + positiveNumber(layer.duration, 0)), 0);
|
|
31
|
-
}
|
|
32
|
-
export function assertHyperframeTimeline(layers) {
|
|
33
|
-
const timedLayers = layers.filter((layer) => positiveNumber(layer.duration, 0) > 0);
|
|
34
|
-
for (const layer of timedLayers) {
|
|
35
|
-
if (!layer.id.trim())
|
|
36
|
-
throw new Error("HyperFrame layer id is required.");
|
|
37
|
-
if (positiveNumber(layer.start, -1) < 0)
|
|
38
|
-
throw new Error(`HyperFrame layer ${layer.id} has a negative start.`);
|
|
39
|
-
if (positiveNumber(layer.duration, 0) <= 0)
|
|
40
|
-
throw new Error(`HyperFrame layer ${layer.id} must have a positive duration.`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function renderLayer(layer) {
|
|
44
|
-
const attrs = timedAttrs(layer);
|
|
45
|
-
const style = layerStyle(layer);
|
|
46
|
-
if (layer.kind === "video") {
|
|
47
|
-
return `<video ${attrs} src="${escapeAttr(layer.src || "")}" ${layer.muted === false ? "" : "muted"} playsinline preload="auto" style="${escapeAttr(style)}"></video>`;
|
|
48
|
-
}
|
|
49
|
-
if (layer.kind === "audio") {
|
|
50
|
-
return `<audio ${attrs} src="${escapeAttr(layer.src || "")}" data-timeline-role="music" data-volume="${num(positiveNumber(layer.volume, 1))}" preload="metadata"></audio>`;
|
|
51
|
-
}
|
|
52
|
-
if (layer.kind === "image") {
|
|
53
|
-
return `<img ${attrs} src="${escapeAttr(layer.src || "")}" alt="" style="${escapeAttr(style)}" />`;
|
|
54
|
-
}
|
|
55
|
-
if (layer.kind === "html") {
|
|
56
|
-
return `<div ${attrs} style="${escapeAttr(style)}">${layer.html || ""}</div>`;
|
|
57
|
-
}
|
|
58
|
-
const text = layer.text ?? layer.label ?? "";
|
|
59
|
-
const inlineStyle = textInlineCss(layer.textBackgroundStyle || "plain", layer.color || "#ffffff", layer.background || "#000000", layer.fontFamily || "TikTok Sans", positiveInteger(layer.fontWeight, 700));
|
|
60
|
-
const linesStyle = [
|
|
61
|
-
"display:block",
|
|
62
|
-
"max-width:100%",
|
|
63
|
-
"text-align:inherit",
|
|
64
|
-
`line-height:${positiveNumber(layer.lineHeight, 1.18)}`,
|
|
65
|
-
"white-space:pre-wrap",
|
|
66
|
-
"overflow:visible"
|
|
67
|
-
].join(";");
|
|
68
|
-
return `<div ${attrs} style="${escapeAttr(style)}"><span data-vf-text-lines="true" style="${escapeAttr(linesStyle)}"><span data-vf-text-inline="true" style="${escapeAttr(inlineStyle)}">${escapeHtml(text)}</span></span></div>`;
|
|
69
|
-
}
|
|
70
|
-
function timedAttrs(layer) {
|
|
71
|
-
const attrs = [
|
|
72
|
-
`id="${escapeAttr(layer.id)}"`,
|
|
73
|
-
`data-hf-id="${escapeAttr(layer.id)}"`,
|
|
74
|
-
`data-layer-mode="${escapeAttr(layer.mode || "publish")}"`,
|
|
75
|
-
`data-layer-kind="${escapeAttr(layer.kind)}"`,
|
|
76
|
-
`data-viral-note="${escapeAttr(layer.viralAlignment || "")}"`,
|
|
77
|
-
`data-start="${num(positiveNumber(layer.start, 0))}"`,
|
|
78
|
-
`data-duration="${num(positiveNumber(layer.duration, 0))}"`,
|
|
79
|
-
`data-track-index="${positiveInteger(layer.track, 0)}"`,
|
|
80
|
-
`data-label="${escapeAttr(layer.label || layer.id)}"`
|
|
81
|
-
];
|
|
82
|
-
if (layer.mediaStart !== undefined || layer.playbackStart !== undefined) {
|
|
83
|
-
const mediaStart = positiveNumber(layer.playbackStart ?? layer.mediaStart, 0);
|
|
84
|
-
attrs.push(`data-media-start="${num(mediaStart)}"`, `data-playback-start="${num(mediaStart)}"`);
|
|
85
|
-
}
|
|
86
|
-
if (["caption", "text", "shape", "html"].includes(layer.kind)) {
|
|
87
|
-
attrs.push(`data-text-background-style="${escapeAttr(layer.textBackgroundStyle || "plain")}"`, `data-text-background-color="${escapeAttr(layer.background || "#000000")}"`, `data-font-family="${escapeAttr(layer.fontFamily || "TikTok Sans")}"`);
|
|
88
|
-
}
|
|
89
|
-
return attrs.join(" ");
|
|
90
|
-
}
|
|
91
|
-
function layerStyle(layer) {
|
|
92
|
-
const styles = [
|
|
93
|
-
"position:absolute",
|
|
94
|
-
`left:${positiveNumber(layer.x, 0)}%`,
|
|
95
|
-
`top:${positiveNumber(layer.y, 0)}%`,
|
|
96
|
-
`width:${positiveNumber(layer.width, 100)}%`,
|
|
97
|
-
`height:${positiveNumber(layer.height, 100)}%`,
|
|
98
|
-
`z-index:${positiveInteger(layer.z, 0)}`,
|
|
99
|
-
`opacity:${positiveNumber(layer.opacity, 1)}`,
|
|
100
|
-
`border-radius:${positiveInteger(layer.radius, 0)}px`,
|
|
101
|
-
"overflow:hidden"
|
|
102
|
-
];
|
|
103
|
-
if (layer.kind === "video" || layer.kind === "image") {
|
|
104
|
-
styles.push(`object-fit:${layer.fit || "cover"}`);
|
|
105
|
-
}
|
|
106
|
-
if (["caption", "text", "shape", "html"].includes(layer.kind)) {
|
|
107
|
-
const fontFamily = layer.fontFamily || "TikTok Sans";
|
|
108
|
-
styles.push("display:flex", "align-items:center", "justify-content:center", "padding:3px", `font-family:${fontCssFamily(fontFamily)}, 'TikTok Sans', Montserrat, Abel, sans-serif`, `font-weight:${positiveInteger(layer.fontWeight, 700)}`, `line-height:${positiveNumber(layer.lineHeight, 1.18)}`, "text-align:center", "text-transform:none", `font-size:${positiveInteger(layer.fontSize, 32)}px`, `color:${layer.color || "#ffffff"}`, layer.kind === "shape" && layer.textBackgroundStyle === "panel"
|
|
109
|
-
? `background:${layer.background || "transparent"}`
|
|
110
|
-
: "background:transparent");
|
|
111
|
-
}
|
|
112
|
-
for (const [property, value] of Object.entries(layer.style || {})) {
|
|
113
|
-
styles.push(`${property}:${value}`);
|
|
114
|
-
}
|
|
115
|
-
return styles.join(";");
|
|
116
|
-
}
|
|
117
|
-
function textInlineCss(style, color, background, fontFamily, fontWeight) {
|
|
118
|
-
const styles = [
|
|
119
|
-
"display:inline",
|
|
120
|
-
"box-decoration-break:clone",
|
|
121
|
-
"-webkit-box-decoration-break:clone",
|
|
122
|
-
"line-height:inherit"
|
|
123
|
-
];
|
|
124
|
-
if (style === "plain" || style === "panel") {
|
|
125
|
-
styles.push("padding:0", "border-radius:0", "background:transparent", "text-shadow:none", "-webkit-text-stroke:0 transparent");
|
|
126
|
-
}
|
|
127
|
-
else if (style === "outline") {
|
|
128
|
-
styles.push("padding:0", "border-radius:0", "background:transparent", `text-shadow:2px 0 ${background},-2px 0 ${background},0 2px ${background},0 -2px ${background},1.5px 1.5px ${background},-1.5px 1.5px ${background},1.5px -1.5px ${background},-1.5px -1.5px ${background}`, `-webkit-text-stroke:1.5px ${background}`, "paint-order:stroke fill");
|
|
129
|
-
}
|
|
130
|
-
else if (style === "highlight-solid") {
|
|
131
|
-
styles.push("padding:0.07em 0.46em 0.09em", "border-radius:0.32em", `background:${background}`, "text-shadow:none", "-webkit-text-stroke:0 transparent");
|
|
132
|
-
}
|
|
133
|
-
else if (style === "highlight-translucent") {
|
|
134
|
-
styles.push("padding:0.07em 0.46em 0.09em", "border-radius:0.32em", `background:${rgbaFromColor(background, 0.34)}`, "text-shadow:none", "-webkit-text-stroke:0 transparent");
|
|
135
|
-
}
|
|
136
|
-
styles.push(`font-family:${fontCssFamily(fontFamily)}, 'TikTok Sans', sans-serif`);
|
|
137
|
-
styles.push(`font-weight:${fontWeight}`);
|
|
138
|
-
styles.push(`color:${color}`);
|
|
139
|
-
return styles.join(";");
|
|
140
|
-
}
|
|
141
|
-
function fontCssFamily(font) {
|
|
142
|
-
return font === "Georgia" ? "Georgia" : `'${font.replaceAll("'", "")}'`;
|
|
143
|
-
}
|
|
144
|
-
function rgbaFromColor(value, alpha) {
|
|
145
|
-
const clean = String(value || "").trim();
|
|
146
|
-
const hex = clean.startsWith("#") ? clean.slice(1) : "";
|
|
147
|
-
if (hex.length === 3 || hex.length === 6) {
|
|
148
|
-
const full = hex.length === 3 ? hex.split("").map((part) => part + part).join("") : hex;
|
|
149
|
-
const numeric = Number.parseInt(full, 16);
|
|
150
|
-
if (Number.isFinite(numeric)) {
|
|
151
|
-
const red = (numeric >> 16) & 255;
|
|
152
|
-
const green = (numeric >> 8) & 255;
|
|
153
|
-
const blue = numeric & 255;
|
|
154
|
-
return `rgba(${red}, ${green}, ${blue}, ${alpha})`;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return clean.startsWith("rgba(") || clean.startsWith("rgb(") ? clean : `rgba(0, 0, 0, ${alpha})`;
|
|
158
|
-
}
|
|
159
|
-
function positiveNumber(value, fallback) {
|
|
160
|
-
const next = Number(value);
|
|
161
|
-
return Number.isFinite(next) && next >= 0 ? next : fallback;
|
|
162
|
-
}
|
|
163
|
-
function positiveInteger(value, fallback) {
|
|
164
|
-
const next = Math.round(Number(value));
|
|
165
|
-
return Number.isFinite(next) && next >= 0 ? next : fallback;
|
|
166
|
-
}
|
|
167
|
-
function num(value) {
|
|
168
|
-
return Number(Number(value || 0).toFixed(3)).toString();
|
|
169
|
-
}
|
|
170
|
-
function escapeHtml(value) {
|
|
171
|
-
return String(value ?? "")
|
|
172
|
-
.replaceAll("&", "&")
|
|
173
|
-
.replaceAll("<", "<")
|
|
174
|
-
.replaceAll(">", ">")
|
|
175
|
-
.replaceAll('"', """);
|
|
176
|
-
}
|
|
177
|
-
function escapeAttr(value) {
|
|
178
|
-
return escapeHtml(String(value ?? ""));
|
|
179
|
-
}
|
|
180
|
-
//# sourceMappingURL=composition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../../../src/hyperframes/composition.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { startRuntime } from "./runtime.js";
|
|
2
|
-
void (async () => {
|
|
3
|
-
const runtime = await startRuntime();
|
|
4
|
-
for (const signal of ["SIGINT", "SIGTERM"]) {
|
|
5
|
-
process.on(signal, () => {
|
|
6
|
-
void (async () => {
|
|
7
|
-
await runtime.shutdown();
|
|
8
|
-
process.exit(0);
|
|
9
|
-
})();
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
})().catch((error) => {
|
|
13
|
-
console.error(error instanceof Error ? error.stack ?? error.message : String(error));
|
|
14
|
-
process.exit(1);
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,KAAK,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;IAErC,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;QACpD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/src/instrument.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import dotenv from "dotenv";
|
|
2
|
-
import * as Sentry from "@sentry/hono/node";
|
|
3
|
-
dotenv.config();
|
|
4
|
-
function readBoolean(name, defaultValue) {
|
|
5
|
-
const raw = process.env[name]?.trim().toLowerCase();
|
|
6
|
-
if (!raw)
|
|
7
|
-
return defaultValue;
|
|
8
|
-
return raw === "1" || raw === "true" || raw === "yes";
|
|
9
|
-
}
|
|
10
|
-
function readSampleRate(name, defaultValue) {
|
|
11
|
-
const raw = process.env[name]?.trim();
|
|
12
|
-
if (!raw)
|
|
13
|
-
return defaultValue;
|
|
14
|
-
const parsed = Number(raw);
|
|
15
|
-
return Number.isFinite(parsed) && parsed >= 0 && parsed <= 1 ? parsed : defaultValue;
|
|
16
|
-
}
|
|
17
|
-
const dsn = process.env.SENTRY_DSN?.trim();
|
|
18
|
-
if (dsn) {
|
|
19
|
-
const environment = process.env.SENTRY_ENVIRONMENT?.trim() || process.env.NODE_ENV || "development";
|
|
20
|
-
const defaultTracesSampleRate = environment === "production" ? 0.1 : 1.0;
|
|
21
|
-
Sentry.init({
|
|
22
|
-
dsn,
|
|
23
|
-
environment,
|
|
24
|
-
release: process.env.SENTRY_RELEASE?.trim() || undefined,
|
|
25
|
-
tracesSampleRate: readSampleRate("SENTRY_TRACES_SAMPLE_RATE", defaultTracesSampleRate),
|
|
26
|
-
enableLogs: readBoolean("SENTRY_ENABLE_LOGS", true),
|
|
27
|
-
sendDefaultPii: readBoolean("SENTRY_SEND_DEFAULT_PII", false)
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=instrument.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../../src/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,SAAS,WAAW,CAAC,IAAY,EAAE,YAAqB;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO,YAAY,CAAC;IAC9B,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC;AACxD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,YAAoB;IACxD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,YAAY,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;AACvF,CAAC;AAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;AAE3C,IAAI,GAAG,EAAE,CAAC;IACR,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;IACpG,MAAM,uBAAuB,GAAG,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAEzE,MAAM,CAAC,IAAI,CAAC;QACV,GAAG;QACH,WAAW;QACX,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,SAAS;QACxD,gBAAgB,EAAE,cAAc,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;QACtF,UAAU,EAAE,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACnD,cAAc,EAAE,WAAW,CAAC,yBAAyB,EAAE,KAAK,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC"}
|
package/dist/src/lib/crypto.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { createCipheriv, createDecipheriv, createHash, randomBytes, scryptSync, timingSafeEqual } from "node:crypto";
|
|
2
|
-
function deriveKey(secret) {
|
|
3
|
-
return scryptSync(secret, "vidfarm", 32);
|
|
4
|
-
}
|
|
5
|
-
export function hashSecret(value) {
|
|
6
|
-
return createHash("sha256").update(value).digest("hex");
|
|
7
|
-
}
|
|
8
|
-
export function safeEqualHash(raw, hashed) {
|
|
9
|
-
const left = Buffer.from(hashSecret(raw), "hex");
|
|
10
|
-
const right = Buffer.from(hashed, "hex");
|
|
11
|
-
return left.length === right.length && timingSafeEqual(left, right);
|
|
12
|
-
}
|
|
13
|
-
export function encryptString(value, secret) {
|
|
14
|
-
const iv = randomBytes(12);
|
|
15
|
-
const key = deriveKey(secret);
|
|
16
|
-
const cipher = createCipheriv("aes-256-gcm", key, iv);
|
|
17
|
-
const encrypted = Buffer.concat([cipher.update(value, "utf8"), cipher.final()]);
|
|
18
|
-
const tag = cipher.getAuthTag();
|
|
19
|
-
return Buffer.concat([iv, tag, encrypted]).toString("base64");
|
|
20
|
-
}
|
|
21
|
-
export function decryptString(value, secret) {
|
|
22
|
-
const raw = Buffer.from(value, "base64");
|
|
23
|
-
const iv = raw.subarray(0, 12);
|
|
24
|
-
const tag = raw.subarray(12, 28);
|
|
25
|
-
const encrypted = raw.subarray(28);
|
|
26
|
-
const key = deriveKey(secret);
|
|
27
|
-
const decipher = createDecipheriv("aes-256-gcm", key, iv);
|
|
28
|
-
decipher.setAuthTag(tag);
|
|
29
|
-
return Buffer.concat([decipher.update(encrypted), decipher.final()]).toString("utf8");
|
|
30
|
-
}
|
|
31
|
-
export function hashPassword(password) {
|
|
32
|
-
const salt = randomBytes(16).toString("hex");
|
|
33
|
-
const digest = scryptSync(password, salt, 32).toString("hex");
|
|
34
|
-
return `${salt}:${digest}`;
|
|
35
|
-
}
|
|
36
|
-
export function verifyPassword(password, storedHash) {
|
|
37
|
-
const [salt, digest] = storedHash.split(":");
|
|
38
|
-
if (!salt || !digest) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
const left = Buffer.from(scryptSync(password, salt, 32).toString("hex"), "hex");
|
|
42
|
-
const right = Buffer.from(digest, "hex");
|
|
43
|
-
return left.length === right.length && timingSafeEqual(left, right);
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=crypto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/lib/crypto.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/dev-log.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { config } from "../config.js";
|
|
2
|
-
const SECRET_KEY_PATTERN = /(secret|token|password|api[_-]?key|authorization|credential)/i;
|
|
3
|
-
export function devLog(event, fields = {}, level = "info") {
|
|
4
|
-
if (!config.debugLogs) {
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
const entry = {
|
|
8
|
-
level,
|
|
9
|
-
event,
|
|
10
|
-
time: new Date().toISOString(),
|
|
11
|
-
deployment_target: config.VIDFARM_DEPLOYMENT_TARGET ?? null,
|
|
12
|
-
runtime_backend: config.VIDFARM_RUNTIME_BACKEND,
|
|
13
|
-
...sanitizeLogFields(fields)
|
|
14
|
-
};
|
|
15
|
-
const line = JSON.stringify(entry);
|
|
16
|
-
if (level === "error") {
|
|
17
|
-
console.error(line);
|
|
18
|
-
}
|
|
19
|
-
else if (level === "warn") {
|
|
20
|
-
console.warn(line);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
console.log(line);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export function devErrorFields(error) {
|
|
27
|
-
if (error instanceof Error) {
|
|
28
|
-
return {
|
|
29
|
-
error_name: error.name,
|
|
30
|
-
error_message: error.message,
|
|
31
|
-
error_stack: error.stack?.split("\n").slice(0, 8).join("\n") ?? null
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
error_message: String(error)
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function sanitizeLogValue(value) {
|
|
39
|
-
if (Array.isArray(value)) {
|
|
40
|
-
return value.map(sanitizeLogValue);
|
|
41
|
-
}
|
|
42
|
-
if (!value || typeof value !== "object") {
|
|
43
|
-
return value;
|
|
44
|
-
}
|
|
45
|
-
const output = {};
|
|
46
|
-
for (const [key, child] of Object.entries(value)) {
|
|
47
|
-
output[key] = SECRET_KEY_PATTERN.test(key) ? "[redacted]" : sanitizeLogValue(child);
|
|
48
|
-
}
|
|
49
|
-
return output;
|
|
50
|
-
}
|
|
51
|
-
function sanitizeLogFields(fields) {
|
|
52
|
-
return sanitizeLogValue(fields);
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=dev-log.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev-log.js","sourceRoot":"","sources":["../../../src/lib/dev-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAItC,MAAM,kBAAkB,GAAG,+DAA+D,CAAC;AAE3F,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,SAAkC,EAAE,EAAE,QAAqB,MAAM;IACrG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,KAAK;QACL,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC9B,iBAAiB,EAAE,MAAM,CAAC,yBAAyB,IAAI,IAAI;QAC3D,eAAe,EAAE,MAAM,CAAC,uBAAuB;QAC/C,GAAG,iBAAiB,CAAC,MAAM,CAAC;KAC7B,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;SAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,IAAI;YACtB,aAAa,EAAE,KAAK,CAAC,OAAO;YAC5B,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI;SACrE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA+B;IACxD,OAAO,gBAAgB,CAAC,MAAM,CAA4B,CAAC;AAC7D,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export function displayNameFromEmail(email) {
|
|
2
|
-
const normalized = email.trim().toLowerCase();
|
|
3
|
-
const localPart = normalized.split("@", 1)[0] || normalized;
|
|
4
|
-
const words = localPart
|
|
5
|
-
.split(/[^a-z0-9]+/i)
|
|
6
|
-
.map((word) => word.trim())
|
|
7
|
-
.filter(Boolean)
|
|
8
|
-
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase());
|
|
9
|
-
return words.join(" ") || normalized;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=display-name.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"display-name.js","sourceRoot":"","sources":["../../../src/lib/display-name.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;IAC5D,MAAM,KAAK,GAAG,SAAS;SACpB,KAAK,CAAC,aAAa,CAAC;SACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC;AACvC,CAAC"}
|
package/dist/src/lib/ids.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { randomBytes, randomUUID } from "node:crypto";
|
|
2
|
-
export function createId(prefix) {
|
|
3
|
-
return `${prefix}_${randomUUID().replace(/-/g, "")}`;
|
|
4
|
-
}
|
|
5
|
-
// UUIDv7: time-ordered 128-bit id. First 48 bits are Unix millis, next 4 bits
|
|
6
|
-
// are the version (7), next 12 bits are random, next 2 bits are the variant
|
|
7
|
-
// (0b10), and the rest is random. Chronologically sortable — good for DDB
|
|
8
|
-
// keys and for humans skimming a list of forks.
|
|
9
|
-
export function uuidv7() {
|
|
10
|
-
const timestampMs = BigInt(Date.now());
|
|
11
|
-
const rand = randomBytes(10);
|
|
12
|
-
const bytes = Buffer.alloc(16);
|
|
13
|
-
bytes.writeUIntBE(Number((timestampMs >> 16n) & 0xffffffffn), 0, 4);
|
|
14
|
-
bytes.writeUIntBE(Number(timestampMs & 0xffffn), 4, 2);
|
|
15
|
-
rand.copy(bytes, 6);
|
|
16
|
-
bytes[6] = (bytes[6] & 0x0f) | 0x70; // version 7
|
|
17
|
-
bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant RFC 4122
|
|
18
|
-
const hex = bytes.toString("hex");
|
|
19
|
-
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
20
|
-
}
|
|
21
|
-
export function createIdV7(prefix) {
|
|
22
|
-
return `${prefix}_${uuidv7().replace(/-/g, "")}`;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=ids.js.map
|
package/dist/src/lib/ids.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../../src/lib/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,0EAA0E;AAC1E,gDAAgD;AAChD,MAAM,UAAU,MAAM;IACpB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;IACjD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,mBAAmB;IACxD,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AACnD,CAAC"}
|
package/dist/src/lib/images.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import sharp from "sharp";
|
|
2
|
-
export async function normalizeToPortraitFrame(input, target = { width: 1080, height: 1920 }) {
|
|
3
|
-
const buffer = Buffer.isBuffer(input) ? input : Buffer.from(input);
|
|
4
|
-
const output = await sharp(buffer, { density: 144 })
|
|
5
|
-
.rotate()
|
|
6
|
-
.resize(target.width, target.height, {
|
|
7
|
-
fit: "cover",
|
|
8
|
-
position: sharp.strategy.attention
|
|
9
|
-
})
|
|
10
|
-
.png()
|
|
11
|
-
.toBuffer();
|
|
12
|
-
return {
|
|
13
|
-
bytes: output,
|
|
14
|
-
contentType: "image/png",
|
|
15
|
-
width: target.width,
|
|
16
|
-
height: target.height
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=images.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"images.js","sourceRoot":"","sources":["../../../src/lib/images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAiB,EACjB,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;SACjD,MAAM,EAAE;SACR,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QACnC,GAAG,EAAE,OAAO;QACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;KACnC,CAAC;SACD,GAAG,EAAE;SACL,QAAQ,EAAE,CAAC;IAEd,OAAO;QACL,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,WAAoB;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC"}
|
package/dist/src/lib/json.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function parseJson(value, fallback) {
|
|
2
|
-
if (!value) {
|
|
3
|
-
return fallback;
|
|
4
|
-
}
|
|
5
|
-
try {
|
|
6
|
-
return JSON.parse(value);
|
|
7
|
-
}
|
|
8
|
-
catch {
|
|
9
|
-
return fallback;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export function stringifyJson(value) {
|
|
13
|
-
return JSON.stringify(value ?? null);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=json.js.map
|
package/dist/src/lib/json.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/lib/json.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAI,KAAgC,EAAE,QAAW;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;AACvC,CAAC"}
|