@mevdragon/vidfarm-devcli 0.2.7 → 0.2.9
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/.env.example +9 -0
- package/GETTING_STARTED.developers.md +1 -30
- package/README.md +22 -5
- package/SKILL.developer.md +464 -12
- package/auto-create-templates/AUTO_CREATE_TEMPLATES.md +475 -0
- package/auto-create-templates/extractor-system-prompt.md +113 -0
- package/auto-create-templates/production-graph.schema.json +276 -0
- package/auto-create-templates/runbook.md +140 -0
- package/auto-create-templates/template-plan.schema.json +230 -0
- package/auto-create-templates/template-planner-prompt.md +75 -0
- package/dist/src/account-pages-legacy.js +9064 -0
- package/dist/src/account-pages.js +41 -620
- package/dist/src/app.js +7173 -494
- package/dist/src/cli.js +525 -29
- package/dist/src/config.js +14 -7
- package/dist/src/context.js +51 -35
- package/dist/src/db.js +1049 -55
- package/dist/src/dev-app-legacy.js +693 -0
- package/dist/src/dev-app.js +4 -904
- package/dist/src/domain.js +1 -1
- package/dist/src/editor-chat-history.js +72 -0
- package/dist/src/editor-chat.js +202 -0
- package/dist/src/frontend/flockposter-cache-store.js +116 -0
- package/dist/src/frontend/homepage-client.js +114 -0
- package/dist/src/frontend/homepage-shared.js +3 -0
- package/dist/src/frontend/homepage-store.js +27 -0
- package/dist/src/frontend/homepage-view.js +147 -0
- package/dist/src/frontend/page-runtime-client.js +100 -0
- package/dist/src/frontend/page-runtime-store.js +8 -0
- package/dist/src/frontend/template-editor-chat.js +2261 -0
- package/dist/src/homepage.js +695 -339
- package/dist/src/lib/template-paths.js +10 -4
- package/dist/src/lib/template-style-options.js +95 -15
- package/dist/src/page-runtime.js +1 -0
- package/dist/src/page-shell.js +941 -0
- package/dist/src/primitive-context.js +163 -0
- package/dist/src/primitive-registry.js +340 -0
- package/dist/src/primitive-sdk.js +3 -0
- package/dist/src/primitives/remotion/html-image.js +28 -0
- package/dist/src/react-page-shell.js +34 -0
- package/dist/src/ready-post-schedule-component.js +1514 -0
- package/dist/src/registry.js +44 -18
- package/dist/src/runtime.js +6 -1
- package/dist/src/services/api-call-history.js +245 -0
- package/dist/src/services/auth.js +27 -9
- package/dist/src/services/billing.js +248 -9
- package/dist/src/services/chat-threads.js +88 -0
- package/dist/src/services/job-logs.js +10 -3
- package/dist/src/services/jobs.js +13 -2
- package/dist/src/services/providers.js +944 -55
- package/dist/src/services/rate-limits.js +236 -0
- package/dist/src/services/remotion.js +143 -16
- package/dist/src/services/storage.js +23 -8
- package/dist/src/services/template-certification.js +26 -3
- package/dist/src/services/template-loader.js +19 -1
- package/dist/src/services/template-sources.js +316 -7
- package/dist/src/template-editor-pages.js +2309 -0
- package/dist/src/template-editor-shell.js +1507 -0
- package/dist/src/worker.js +120 -22
- package/package.json +30 -6
- package/public/assets/homepage-app.js +54 -0
- package/public/assets/homepage-client-app.js +54 -0
- package/public/assets/page-runtime-client-app.js +68 -0
- package/dist/templates/template_0000/src/lib/images.js +0 -202
- package/dist/templates/template_0000/src/remotion/Root.js +0 -33
- package/dist/templates/template_0000/src/remotion/index.js +0 -3
- package/dist/templates/template_0000/src/sdk.js +0 -3
- package/dist/templates/template_0000/src/style-options.js +0 -51
- package/dist/templates/template_0000/src/template-dna.js +0 -9
- package/dist/templates/template_0000/src/template.js +0 -1441
- package/templates/template_0000/README.md +0 -77
- package/templates/template_0000/SKILL.md +0 -225
- package/templates/template_0000/assets/Abel-Regular.ttf +0 -0
- package/templates/template_0000/assets/DMSerifDisplay-Regular.ttf +0 -0
- package/templates/template_0000/assets/Montserrat[wght].ttf +0 -0
- package/templates/template_0000/assets/SourceCodePro[wght].ttf +0 -0
- package/templates/template_0000/assets/TikTokSans-SemiBold.ttf +0 -0
- package/templates/template_0000/assets/Yesteryear-Regular.ttf +0 -0
- package/templates/template_0000/composition.json +0 -11
- package/templates/template_0000/package.json +0 -28
- package/templates/template_0000/research/preview/.gitkeep +0 -1
- package/templates/template_0000/research/source_notes.md +0 -7
- package/templates/template_0000/src/lib/images.js +0 -202
- package/templates/template_0000/src/lib/images.ts +0 -241
- package/templates/template_0000/src/remotion/Root.js +0 -33
- package/templates/template_0000/src/remotion/Root.tsx +0 -75
- package/templates/template_0000/src/remotion/index.js +0 -3
- package/templates/template_0000/src/remotion/index.tsx +0 -4
- package/templates/template_0000/src/sdk.js +0 -3
- package/templates/template_0000/src/sdk.ts +0 -122
- package/templates/template_0000/src/style-options.js +0 -51
- package/templates/template_0000/src/style-options.ts +0 -60
- package/templates/template_0000/src/template-dna.js +0 -9
- package/templates/template_0000/src/template-dna.ts +0 -15
- package/templates/template_0000/src/template.js +0 -1441
- package/templates/template_0000/src/template.ts +0 -2042
- package/templates/template_0000/template.config.json +0 -21
- package/templates/template_0000/tsconfig.json +0 -19
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
export const TEMPLATE_FOLDER_PREFIX = "vidfarm_template_";
|
|
3
|
+
export const LEGACY_TEMPLATE_FOLDER_PREFIX = "template_";
|
|
3
4
|
export function assertTemplateFolderNameHasPrefix(folderName) {
|
|
4
|
-
if (!folderName.startsWith(TEMPLATE_FOLDER_PREFIX)) {
|
|
5
|
-
throw new Error(`Template folder name must start with ${TEMPLATE_FOLDER_PREFIX}. Received: ${folderName}`);
|
|
5
|
+
if (!folderName.startsWith(TEMPLATE_FOLDER_PREFIX) && !folderName.startsWith(LEGACY_TEMPLATE_FOLDER_PREFIX)) {
|
|
6
|
+
throw new Error(`Template folder name must start with ${TEMPLATE_FOLDER_PREFIX} or ${LEGACY_TEMPLATE_FOLDER_PREFIX}. Received: ${folderName}`);
|
|
6
7
|
}
|
|
7
8
|
}
|
|
8
9
|
export function deriveTemplateRootDirFromModulePath(templateModulePath) {
|
|
9
10
|
const normalizedModulePath = templateModulePath.replace(/\\/g, "/");
|
|
10
11
|
const templateSourceDir = path.posix.dirname(normalizedModulePath);
|
|
11
12
|
const templateRootDir = path.posix.dirname(templateSourceDir);
|
|
13
|
+
const sourceDirName = path.posix.basename(templateSourceDir);
|
|
14
|
+
if (sourceDirName !== "src") {
|
|
15
|
+
throw new Error("template_module_path must point at a TypeScript entrypoint inside a src/ folder, such as src/template.ts or templates/vidfarm_template_example/src/template.ts.");
|
|
16
|
+
}
|
|
12
17
|
if (templateRootDir === "." || templateRootDir === "") {
|
|
13
|
-
|
|
18
|
+
return "";
|
|
14
19
|
}
|
|
15
20
|
const folderName = path.posix.basename(templateRootDir);
|
|
16
21
|
assertTemplateFolderNameHasPrefix(folderName);
|
|
17
22
|
return templateRootDir;
|
|
18
23
|
}
|
|
19
24
|
export function defaultSkillPathForTemplateModule(templateModulePath) {
|
|
20
|
-
|
|
25
|
+
const templateRootDir = deriveTemplateRootDirFromModulePath(templateModulePath);
|
|
26
|
+
return templateRootDir ? path.posix.join(templateRootDir, "SKILL.md") : "SKILL.md";
|
|
21
27
|
}
|
|
@@ -1,36 +1,87 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const CAPTION_STANDARD_VERSION = "2026-05-30";
|
|
2
|
+
export const TIKTOK_CAPTION_FONT_OPTIONS = [
|
|
2
3
|
{
|
|
3
|
-
id: "
|
|
4
|
-
label: "
|
|
5
|
-
family: "
|
|
6
|
-
|
|
4
|
+
id: "tiktok_sans_semibold",
|
|
5
|
+
label: "TikTok Sans SemiBold",
|
|
6
|
+
family: "TikTok Sans",
|
|
7
|
+
weight: 600,
|
|
8
|
+
assetFile: "TikTokSans-SemiBold.ttf",
|
|
9
|
+
fontsourceFile: "@fontsource/tiktok-sans/files/tiktok-sans-latin-600-normal.woff",
|
|
10
|
+
source: "fontsource_or_bundled_asset",
|
|
11
|
+
role: "tiktok_native_default"
|
|
7
12
|
},
|
|
8
13
|
{
|
|
9
|
-
id: "
|
|
10
|
-
label: "Montserrat",
|
|
14
|
+
id: "montserrat_semibold",
|
|
15
|
+
label: "Montserrat SemiBold",
|
|
11
16
|
family: "Montserrat",
|
|
12
|
-
|
|
17
|
+
weight: 600,
|
|
18
|
+
assetFile: "Montserrat[wght].ttf",
|
|
19
|
+
fontsourceFile: "@fontsource/montserrat/files/montserrat-latin-600-normal.woff",
|
|
20
|
+
source: "fontsource_or_bundled_asset",
|
|
21
|
+
role: "rounded_modern_caption"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "source_code_pro_bold",
|
|
25
|
+
label: "Source Code Pro Bold",
|
|
26
|
+
family: "Source Code Pro",
|
|
27
|
+
weight: 700,
|
|
28
|
+
assetFile: "SourceCodePro[wght].ttf",
|
|
29
|
+
fontsourceFile: "@fontsource/source-code-pro/files/source-code-pro-latin-700-normal.woff",
|
|
30
|
+
source: "fontsource_or_bundled_asset",
|
|
31
|
+
role: "monospace_caption"
|
|
13
32
|
},
|
|
14
33
|
{
|
|
15
34
|
id: "yesteryear",
|
|
16
35
|
label: "Yesteryear",
|
|
17
36
|
family: "Yesteryear",
|
|
18
|
-
|
|
37
|
+
weight: 400,
|
|
38
|
+
assetFile: "Yesteryear-Regular.ttf",
|
|
39
|
+
source: "bundled_asset",
|
|
40
|
+
role: "script_caption"
|
|
19
41
|
},
|
|
20
42
|
{
|
|
21
|
-
id: "
|
|
22
|
-
label: "
|
|
23
|
-
family: "
|
|
24
|
-
|
|
43
|
+
id: "georgia_bold",
|
|
44
|
+
label: "Georgia-style Bold",
|
|
45
|
+
family: "Libre Baskerville",
|
|
46
|
+
weight: 700,
|
|
47
|
+
fontsourceFile: "@fontsource/libre-baskerville/files/libre-baskerville-latin-700-normal.woff",
|
|
48
|
+
source: "fontsource",
|
|
49
|
+
role: "serif_caption"
|
|
25
50
|
},
|
|
26
51
|
{
|
|
27
52
|
id: "abel",
|
|
28
53
|
label: "Abel",
|
|
29
54
|
family: "Abel",
|
|
30
|
-
|
|
55
|
+
weight: 400,
|
|
56
|
+
assetFile: "Abel-Regular.ttf",
|
|
57
|
+
source: "bundled_asset",
|
|
58
|
+
role: "condensed_caption"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "source_code_pro",
|
|
62
|
+
label: "Source Code Pro",
|
|
63
|
+
family: "Source Code Pro",
|
|
64
|
+
weight: 700,
|
|
65
|
+
assetFile: "SourceCodePro[wght].ttf",
|
|
66
|
+
fontsourceFile: "@fontsource/source-code-pro/files/source-code-pro-latin-700-normal.woff",
|
|
67
|
+
source: "fontsource_or_bundled_asset",
|
|
68
|
+
role: "legacy_alias",
|
|
69
|
+
aliasOf: "source_code_pro_bold"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: "montserrat",
|
|
73
|
+
label: "Montserrat",
|
|
74
|
+
family: "Montserrat",
|
|
75
|
+
weight: 600,
|
|
76
|
+
assetFile: "Montserrat[wght].ttf",
|
|
77
|
+
fontsourceFile: "@fontsource/montserrat/files/montserrat-latin-600-normal.woff",
|
|
78
|
+
source: "fontsource_or_bundled_asset",
|
|
79
|
+
role: "legacy_alias",
|
|
80
|
+
aliasOf: "montserrat_semibold"
|
|
31
81
|
}
|
|
32
82
|
];
|
|
33
|
-
export const
|
|
83
|
+
export const STARTER_TEMPLATE_FONT_OPTIONS = TIKTOK_CAPTION_FONT_OPTIONS;
|
|
84
|
+
export const TIKTOK_TEXT_BACKGROUND_COLOR_OPTIONS = [
|
|
34
85
|
{ id: "black", label: "Black", hex: "#000000" },
|
|
35
86
|
{ id: "red", label: "Red", hex: "#EA403F" },
|
|
36
87
|
{ id: "orange", label: "Orange", hex: "#FF933D" },
|
|
@@ -47,3 +98,32 @@ export const STARTER_TEMPLATE_TEXT_BACKGROUND_COLOR_OPTIONS = [
|
|
|
47
98
|
{ id: "light_gray", label: "Light Gray", hex: "#92979E" },
|
|
48
99
|
{ id: "dark_gray", label: "Dark Gray", hex: "#333333" }
|
|
49
100
|
];
|
|
101
|
+
export const STARTER_TEMPLATE_TEXT_BACKGROUND_COLOR_OPTIONS = TIKTOK_TEXT_BACKGROUND_COLOR_OPTIONS;
|
|
102
|
+
export const TIKTOK_CAPTION_STYLE_PRESETS = [
|
|
103
|
+
{
|
|
104
|
+
id: "tiktok_native_white",
|
|
105
|
+
label: "TikTok Native White",
|
|
106
|
+
fontId: "tiktok_sans_semibold",
|
|
107
|
+
fill: "#ffffff",
|
|
108
|
+
backgroundColorId: "none",
|
|
109
|
+
shadow: "native_black_shadow"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: "tiktok_native_chip",
|
|
113
|
+
label: "TikTok Native Color Chip",
|
|
114
|
+
fontId: "tiktok_sans_semibold",
|
|
115
|
+
fill: "#ffffff",
|
|
116
|
+
defaultBackgroundColorId: "red",
|
|
117
|
+
shadow: "native_black_shadow"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: "tiktok_editor_gray",
|
|
121
|
+
label: "TikTok Editor Gray",
|
|
122
|
+
fontId: "tiktok_sans_semibold",
|
|
123
|
+
fill: "#111111",
|
|
124
|
+
defaultBackgroundColorId: "light_gray",
|
|
125
|
+
shadow: "none"
|
|
126
|
+
}
|
|
127
|
+
];
|
|
128
|
+
export const TIKTOK_CAPTION_FONT_IDS = TIKTOK_CAPTION_FONT_OPTIONS.map((option) => option.id);
|
|
129
|
+
export const TIKTOK_TEXT_BACKGROUND_COLOR_IDS = TIKTOK_TEXT_BACKGROUND_COLOR_OPTIONS.map((option) => option.id);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|