@mevdragon/vidfarm-devcli 0.2.12 → 0.2.13
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 +37 -1
- package/README.md +27 -183
- package/SKILL.director.md +293 -0
- package/SKILL.platform.md +312 -0
- package/auto-create-hyperframe-templates/AUTO_CREATE_HYPERFRAME_TEMPLATES.md +275 -0
- package/auto-create-hyperframe-templates/extractor-system-prompt.md +128 -0
- package/auto-create-hyperframe-templates/input-manifest.schema.json +56 -0
- package/auto-create-hyperframe-templates/lambda-memory-estimator.md +118 -0
- package/auto-create-hyperframe-templates/production-graph.schema.json +314 -0
- package/auto-create-hyperframe-templates/runbook.md +198 -0
- package/auto-create-hyperframe-templates/scripts/create-hyperframe-template.mjs +368 -0
- package/auto-create-hyperframe-templates/template-plan.schema.json +311 -0
- package/auto-create-hyperframe-templates/template-planner-prompt.md +144 -0
- package/auto-create-templates/AUTO_CREATE_TEMPLATES.md +116 -0
- package/auto-create-templates/extractor-system-prompt.md +6 -1
- package/auto-create-templates/template-plan.schema.json +73 -2
- package/auto-create-templates/template-planner-prompt.md +62 -1
- package/dist/src/account-pages-legacy.js +361 -89
- package/dist/src/account-pages-legacy.js.map +1 -0
- package/dist/src/account-pages.js +13 -3
- package/dist/src/account-pages.js.map +1 -0
- package/dist/src/app.js +7060 -946
- package/dist/src/app.js.map +1 -0
- package/dist/src/cli.js +110 -29
- package/dist/src/cli.js.map +1 -0
- package/dist/src/composition-runtime.js +581 -0
- package/dist/src/composition-runtime.js.map +1 -0
- package/dist/src/config.js +69 -11
- package/dist/src/config.js.map +1 -0
- package/dist/src/context.js +280 -21
- package/dist/src/context.js.map +1 -0
- package/dist/src/dev-app-legacy.js +18 -17
- package/dist/src/dev-app-legacy.js.map +1 -0
- package/dist/src/dev-app.js +1 -0
- package/dist/src/dev-app.js.map +1 -0
- package/dist/src/domain.js +2 -1
- package/dist/src/domain.js.map +1 -0
- package/dist/src/editor-chat-history.js +10 -0
- package/dist/src/editor-chat-history.js.map +1 -0
- package/dist/src/editor-chat.js +133 -24
- package/dist/src/editor-chat.js.map +1 -0
- package/dist/src/frontend/flockposter-cache-store.js +10 -2
- package/dist/src/frontend/flockposter-cache-store.js.map +1 -0
- package/dist/src/frontend/homepage-client.js +6 -3
- package/dist/src/frontend/homepage-client.js.map +1 -0
- package/dist/src/frontend/homepage-shared.js +1 -0
- package/dist/src/frontend/homepage-shared.js.map +1 -0
- package/dist/src/frontend/homepage-store.js +1 -0
- package/dist/src/frontend/homepage-store.js.map +1 -0
- package/dist/src/frontend/homepage-view.js +131 -18
- package/dist/src/frontend/homepage-view.js.map +1 -0
- package/dist/src/frontend/page-runtime-client.js +5 -2
- package/dist/src/frontend/page-runtime-client.js.map +1 -0
- package/dist/src/frontend/page-runtime-store.js +1 -0
- package/dist/src/frontend/page-runtime-store.js.map +1 -0
- package/dist/src/frontend/sentry.js +42 -0
- package/dist/src/frontend/sentry.js.map +1 -0
- package/dist/src/frontend/template-editor-chat.js +1719 -213
- package/dist/src/frontend/template-editor-chat.js.map +1 -0
- package/dist/src/help-page.js +333 -0
- package/dist/src/help-page.js.map +1 -0
- package/dist/src/homepage.js +169 -47
- package/dist/src/homepage.js.map +1 -0
- package/dist/src/hyperframes/composition.js +180 -0
- package/dist/src/hyperframes/composition.js.map +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/instrument.js +30 -0
- package/dist/src/instrument.js.map +1 -0
- package/dist/src/lib/crypto.js +1 -0
- package/dist/src/lib/crypto.js.map +1 -0
- package/dist/src/lib/dev-log.js +54 -0
- package/dist/src/lib/dev-log.js.map +1 -0
- package/dist/src/lib/display-name.js +11 -0
- package/dist/src/lib/display-name.js.map +1 -0
- package/dist/src/lib/ids.js +21 -1
- package/dist/src/lib/ids.js.map +1 -0
- package/dist/src/lib/images.js +1 -0
- package/dist/src/lib/images.js.map +1 -0
- package/dist/src/lib/json.js +1 -0
- package/dist/src/lib/json.js.map +1 -0
- package/dist/src/lib/template-dna.js +1 -0
- package/dist/src/lib/template-dna.js.map +1 -0
- package/dist/src/lib/template-paths.js +1 -0
- package/dist/src/lib/template-paths.js.map +1 -0
- package/dist/src/lib/template-style-options.js +29 -3
- package/dist/src/lib/template-style-options.js.map +1 -0
- package/dist/src/lib/time.js +1 -0
- package/dist/src/lib/time.js.map +1 -0
- package/dist/src/lib/video-quality-harness.js +60 -0
- package/dist/src/lib/video-quality-harness.js.map +1 -0
- package/dist/src/page-runtime.js +1 -0
- package/dist/src/page-runtime.js.map +1 -0
- package/dist/src/page-shell.js +1501 -49
- package/dist/src/page-shell.js.map +1 -0
- package/dist/src/primitive-context.js +144 -8
- package/dist/src/primitive-context.js.map +1 -0
- package/dist/src/primitive-registry.js +1919 -78
- package/dist/src/primitive-registry.js.map +1 -0
- package/dist/src/primitive-sdk.js +1 -0
- package/dist/src/primitive-sdk.js.map +1 -0
- package/dist/src/primitives/remotion/html-image.js +3 -1
- package/dist/src/primitives/remotion/html-image.js.map +1 -0
- package/dist/src/primitives/remotion/media-slideshow.js +60 -0
- package/dist/src/primitives/remotion/media-slideshow.js.map +1 -0
- package/dist/src/react-page-shell.js +1 -0
- package/dist/src/react-page-shell.js.map +1 -0
- package/dist/src/ready-post-schedule-component.js +1 -0
- package/dist/src/ready-post-schedule-component.js.map +1 -0
- package/dist/src/registry.js +237 -24
- package/dist/src/registry.js.map +1 -0
- package/dist/src/runtime.js +3 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/services/api-call-history.js +4 -0
- package/dist/src/services/api-call-history.js.map +1 -0
- package/dist/src/services/auth.js +40 -50
- package/dist/src/services/auth.js.map +1 -0
- package/dist/src/services/billing.js +20 -44
- package/dist/src/services/billing.js.map +1 -0
- package/dist/src/services/chat-threads.js +10 -6
- package/dist/src/services/chat-threads.js.map +1 -0
- package/dist/src/services/fork-access.js +94 -0
- package/dist/src/services/fork-access.js.map +1 -0
- package/dist/src/services/ghostcut.js +132 -0
- package/dist/src/services/ghostcut.js.map +1 -0
- package/dist/src/services/hyperframes.js +1014 -0
- package/dist/src/services/hyperframes.js.map +1 -0
- package/dist/src/services/job-capacity.js +14 -0
- package/dist/src/services/job-capacity.js.map +1 -0
- package/dist/src/services/job-logs.js +4 -0
- package/dist/src/services/job-logs.js.map +1 -0
- package/dist/src/services/jobs.js +99 -91
- package/dist/src/services/jobs.js.map +1 -0
- package/dist/src/services/media-processing.js +743 -0
- package/dist/src/services/media-processing.js.map +1 -0
- package/dist/src/services/primitive-media-lambda.js +280 -0
- package/dist/src/services/primitive-media-lambda.js.map +1 -0
- package/dist/src/services/providers.js +1560 -178
- package/dist/src/services/providers.js.map +1 -0
- package/dist/src/services/rate-limits.js +3 -2
- package/dist/src/services/rate-limits.js.map +1 -0
- package/dist/src/services/remotion.js +495 -92
- package/dist/src/services/remotion.js.map +1 -0
- package/dist/src/services/serverless-auth.js +374 -0
- package/dist/src/services/serverless-auth.js.map +1 -0
- package/dist/src/services/serverless-jobs.js +1074 -0
- package/dist/src/services/serverless-jobs.js.map +1 -0
- package/dist/src/services/serverless-provider-keys.js +401 -0
- package/dist/src/services/serverless-provider-keys.js.map +1 -0
- package/dist/src/services/serverless-records.js +1086 -0
- package/dist/src/services/serverless-records.js.map +1 -0
- package/dist/src/services/serverless-template-configs.js +67 -0
- package/dist/src/services/serverless-template-configs.js.map +1 -0
- package/dist/src/services/storage.js +170 -35
- package/dist/src/services/storage.js.map +1 -0
- package/dist/src/services/template-certification.js +295 -3
- package/dist/src/services/template-certification.js.map +1 -0
- package/dist/src/services/template-loader.js +45 -1
- package/dist/src/services/template-loader.js.map +1 -0
- package/dist/src/services/template-runtime-bundles.js +217 -0
- package/dist/src/services/template-runtime-bundles.js.map +1 -0
- package/dist/src/services/template-sources.js +452 -87
- package/dist/src/services/template-sources.js.map +1 -0
- package/dist/src/services/video-normalization.js +2 -0
- package/dist/src/services/video-normalization.js.map +1 -0
- package/dist/src/services/webhooks.js +7 -6
- package/dist/src/services/webhooks.js.map +1 -0
- package/dist/src/template-editor-pages.js +5637 -1322
- package/dist/src/template-editor-pages.js.map +1 -0
- package/dist/src/template-editor-shell.js +1376 -170
- package/dist/src/template-editor-shell.js.map +1 -0
- package/dist/src/template-sdk.js +1 -0
- package/dist/src/template-sdk.js.map +1 -0
- package/dist/src/worker.js +11 -226
- package/dist/src/worker.js.map +1 -0
- package/package.json +47 -12
- package/public/assets/homepage-client-app.js +34 -8
- package/public/assets/page-runtime-client-app.js +44 -18
- package/readme.secret.md +89 -0
- package/templates/vidfarm_template_0000/README.md +106 -0
- package/templates/vidfarm_template_0000/SKILL.md +266 -0
- 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 +11 -0
- package/templates/vidfarm_template_0000/src/lib/images.js +221 -0
- package/templates/vidfarm_template_0000/src/remotion/Root.js +33 -0
- package/templates/vidfarm_template_0000/src/remotion/index.js +3 -0
- package/templates/vidfarm_template_0000/src/sdk.js +3 -0
- package/templates/vidfarm_template_0000/src/style-options.js +200 -0
- package/templates/vidfarm_template_0000/src/template-dna.js +9 -0
- package/templates/vidfarm_template_0000/src/template.js +1566 -0
- package/templates/vidfarm_template_0000/template.config.json +21 -0
- package/GETTING_STARTED.developers.md +0 -87
- package/SKILL.developer.md +0 -1186
- package/dist/src/db.js +0 -2007
package/dist/src/cli.js
CHANGED
|
@@ -7,15 +7,40 @@ import path from "node:path";
|
|
|
7
7
|
import { parseArgs } from "node:util";
|
|
8
8
|
import { promisify } from "node:util";
|
|
9
9
|
import dotenv from "dotenv";
|
|
10
|
-
import { CAPTION_STANDARD_VERSION, STARTER_TEMPLATE_FONT_OPTIONS, STARTER_TEMPLATE_TEXT_BACKGROUND_COLOR_OPTIONS, TIKTOK_CAPTION_RENDERING_RULES, TIKTOK_CAPTION_STYLE_PRESETS, TIKTOK_TEXT_BACKGROUND_RENDERING } from "./lib/template-style-options.js";
|
|
10
|
+
import { CAPTION_STANDARD_VERSION, TIKTOK_CAPTION_SHADOWS, STARTER_TEMPLATE_FONT_OPTIONS, STARTER_TEMPLATE_TEXT_BACKGROUND_COLOR_OPTIONS, TIKTOK_CAPTION_RENDERING_RULES, TIKTOK_CAPTION_STYLE_PRESETS, TIKTOK_TEXT_BACKGROUND_RENDERING } from "./lib/template-style-options.js";
|
|
11
11
|
import { analyzeTemplateDna, hasTemplatePreviewMedia, stageTemplateDnaInputs, syncTemplateDnaModule } from "./lib/template-dna.js";
|
|
12
12
|
import { assertTemplateFolderNameHasPrefix, defaultSkillPathForTemplateModule, deriveTemplateRootDirFromModulePath } from "./lib/template-paths.js";
|
|
13
13
|
const execFileAsync = promisify(execFile);
|
|
14
|
+
function printDeprecationBanner() {
|
|
15
|
+
const red = "\x1b[31m";
|
|
16
|
+
const yellow = "\x1b[33m";
|
|
17
|
+
const bold = "\x1b[1m";
|
|
18
|
+
const reset = "\x1b[0m";
|
|
19
|
+
const line = `${red}${bold}${"═".repeat(78)}${reset}`;
|
|
20
|
+
console.warn("");
|
|
21
|
+
console.warn(line);
|
|
22
|
+
console.warn(`${red}${bold} ⚠ DEPRECATED: @mevdragon/vidfarm-devcli is no longer maintained.${reset}`);
|
|
23
|
+
console.warn(line);
|
|
24
|
+
console.warn(`${yellow} Vidfarm has migrated from the old REST-API template model to the${reset}`);
|
|
25
|
+
console.warn(`${yellow} Trackpad Editor (timeline-based composition editor in the browser).${reset}`);
|
|
26
|
+
console.warn("");
|
|
27
|
+
console.warn(`${yellow} This CLI was built around the OLD paradigm — REST-API templates with${reset}`);
|
|
28
|
+
console.warn(`${yellow} src/template.ts, workflows, operations, viral DNA extraction, and the${reset}`);
|
|
29
|
+
console.warn(`${yellow} hosted publish/approve/activate release flow. That paradigm is gone.${reset}`);
|
|
30
|
+
console.warn("");
|
|
31
|
+
console.warn(`${yellow} Directors: open ${bold}https://vidfarm.cc/editor/${reset}${yellow} to edit compositions.${reset}`);
|
|
32
|
+
console.warn(`${yellow} Template authors: see SKILL.platform.md and auto-create-hyperframe-templates/.${reset}`);
|
|
33
|
+
console.warn("");
|
|
34
|
+
console.warn(`${yellow} Commands may partially work but are not supported. No fixes will land.${reset}`);
|
|
35
|
+
console.warn(line);
|
|
36
|
+
console.warn("");
|
|
37
|
+
}
|
|
14
38
|
void main().catch((error) => {
|
|
15
39
|
console.error(error instanceof Error ? error.stack ?? error.message : String(error));
|
|
16
40
|
process.exit(1);
|
|
17
41
|
});
|
|
18
42
|
async function main() {
|
|
43
|
+
printDeprecationBanner();
|
|
19
44
|
const command = process.argv[2] ?? "dev";
|
|
20
45
|
if (command === "session") {
|
|
21
46
|
await runSessionCommand(process.argv.slice(3));
|
|
@@ -96,7 +121,6 @@ async function runDevCommand(argv) {
|
|
|
96
121
|
const port = Number(parsed.values.port);
|
|
97
122
|
const root = process.cwd();
|
|
98
123
|
const dataDir = path.resolve(root, parsed.values["data-dir"]);
|
|
99
|
-
const dbPath = path.join(dataDir, "vidfarm.sqlite");
|
|
100
124
|
const sessionPath = path.join(dataDir, "session.json");
|
|
101
125
|
dotenv.config({
|
|
102
126
|
path: path.resolve(root, parsed.values["env-file"]),
|
|
@@ -113,39 +137,42 @@ async function runDevCommand(argv) {
|
|
|
113
137
|
process.env.NODE_ENV = process.env.NODE_ENV || "development";
|
|
114
138
|
process.env.PORT = String(port);
|
|
115
139
|
process.env.VIDFARM_DATA_DIR = dataDir;
|
|
116
|
-
process.env.
|
|
140
|
+
process.env.VIDFARM_RUNTIME_BACKEND = "serverless";
|
|
117
141
|
process.env.STORAGE_DRIVER = "local";
|
|
118
142
|
process.env.PUBLIC_BASE_URL = `http://127.0.0.1:${port}`;
|
|
119
143
|
process.env.REMOTION_MODE = "local";
|
|
120
144
|
process.env.VIDFARM_ADMIN_EMAILS = process.env.VIDFARM_ADMIN_EMAILS || parsed.values.email;
|
|
121
145
|
process.env.MOCK_PROVIDER_RESPONSES =
|
|
122
146
|
parsed.values["mock-ai"] ? "true" : process.env.MOCK_PROVIDER_RESPONSES ?? (hasProviderEnvKey ? "false" : "true");
|
|
123
|
-
const [{ startRuntime }, {
|
|
147
|
+
const [{ startRuntime }, { ServerlessAuthService }, { ServerlessProviderKeyService }, { config }, { createId }, crypto] = await Promise.all([
|
|
124
148
|
import("./runtime.js"),
|
|
125
|
-
import("./
|
|
149
|
+
import("./services/serverless-auth.js"),
|
|
150
|
+
import("./services/serverless-provider-keys.js"),
|
|
126
151
|
import("./config.js"),
|
|
127
152
|
import("./lib/ids.js"),
|
|
128
153
|
import("./lib/crypto.js")
|
|
129
154
|
]);
|
|
130
|
-
const
|
|
155
|
+
const auth = new ServerlessAuthService();
|
|
156
|
+
const providerKeys = new ServerlessProviderKeyService();
|
|
157
|
+
const customer = await auth.getCustomerByEmailPublic(parsed.values.email) ?? await auth.upsertCustomer({
|
|
131
158
|
id: createId("cus"),
|
|
132
159
|
email: parsed.values.email,
|
|
133
160
|
name: parsed.values.name,
|
|
134
161
|
isDeveloper: true,
|
|
135
162
|
isPaidPlan: true,
|
|
136
|
-
planTier: "
|
|
163
|
+
planTier: "standalone"
|
|
137
164
|
});
|
|
138
165
|
const rawApiKey = parsed.values["api-key"] ?? `vf_local_${Math.random().toString(36).slice(2, 12)}`;
|
|
139
|
-
|
|
166
|
+
await auth.insertApiKey({
|
|
140
167
|
id: createId("api"),
|
|
141
168
|
customerId: customer.id,
|
|
142
169
|
keyHash: crypto.hashSecret(rawApiKey + config.API_KEY_SALT),
|
|
143
170
|
rawValue: rawApiKey,
|
|
144
171
|
label: "Local CLI session"
|
|
145
172
|
});
|
|
146
|
-
seedEnvProviderKeys({
|
|
173
|
+
await seedEnvProviderKeys({
|
|
147
174
|
customerId: customer.id,
|
|
148
|
-
|
|
175
|
+
providerKeys,
|
|
149
176
|
createId,
|
|
150
177
|
encryptString: crypto.encryptString,
|
|
151
178
|
encryptionSecret: config.ENCRYPTION_SECRET,
|
|
@@ -156,7 +183,6 @@ async function runDevCommand(argv) {
|
|
|
156
183
|
customerId: customer.id,
|
|
157
184
|
apiKey: rawApiKey,
|
|
158
185
|
email: customer.email,
|
|
159
|
-
dbPath,
|
|
160
186
|
dataDir
|
|
161
187
|
}, null, 2));
|
|
162
188
|
printStartupBanner({
|
|
@@ -165,7 +191,6 @@ async function runDevCommand(argv) {
|
|
|
165
191
|
apiKey: rawApiKey,
|
|
166
192
|
email: customer.email,
|
|
167
193
|
dataDir,
|
|
168
|
-
dbPath,
|
|
169
194
|
sessionPath,
|
|
170
195
|
mockProviders: config.mockProviders
|
|
171
196
|
});
|
|
@@ -198,6 +223,12 @@ async function runValidateTemplateCommand(argv) {
|
|
|
198
223
|
const modulePath = path.resolve(process.cwd(), parsed.values["module-path"]);
|
|
199
224
|
template = await loadTemplateFromModule(modulePath);
|
|
200
225
|
skillPath = path.resolve(process.cwd(), parsed.values["skill-path"] ?? "SKILL.md");
|
|
226
|
+
const report = await certification.certify({ template, skillPath, modulePath });
|
|
227
|
+
console.log(JSON.stringify(report, null, 2));
|
|
228
|
+
if (!report.passed) {
|
|
229
|
+
process.exitCode = 1;
|
|
230
|
+
}
|
|
231
|
+
return;
|
|
201
232
|
}
|
|
202
233
|
else {
|
|
203
234
|
await templateRegistry.ensureInitialized();
|
|
@@ -350,14 +381,15 @@ async function generateTemplateFromStarter(input) {
|
|
|
350
381
|
}
|
|
351
382
|
});
|
|
352
383
|
const projectName = input.projectName ?? toProjectName(destinationFolderName);
|
|
353
|
-
const
|
|
384
|
+
const compositionId = slugId.replace(/_/g, "-");
|
|
385
|
+
const siteName = input.siteName ?? compositionId;
|
|
354
386
|
const githubRepo = input.githubRepo ?? `mevdragon/${projectName}`;
|
|
355
387
|
rewriteTemplateStarter(destinationDir, [
|
|
356
388
|
["mevdragon/vidfarm_template_0000", githubRepo],
|
|
357
389
|
["vidfarm_template_0000", projectName],
|
|
358
390
|
["vidfarm-template-0000", siteName],
|
|
359
391
|
["template_0000", slugId],
|
|
360
|
-
["template-0000",
|
|
392
|
+
["template-0000", compositionId],
|
|
361
393
|
["4c7a7e1a-7f35-4f30-9f86-9c8a63c7f2db", templateId],
|
|
362
394
|
['"production"', JSON.stringify(input.branch ?? "production")]
|
|
363
395
|
]);
|
|
@@ -404,13 +436,19 @@ async function generateTemplateFromStarter(input) {
|
|
|
404
436
|
"version",
|
|
405
437
|
"about.title",
|
|
406
438
|
"about.description",
|
|
439
|
+
"about.difficulty",
|
|
407
440
|
"about.viral_dna",
|
|
408
441
|
"about.visual_dna",
|
|
409
442
|
"about.preview_media",
|
|
410
443
|
"about.link_to_original",
|
|
444
|
+
"about.links_to_inspiration",
|
|
445
|
+
"about.sound",
|
|
446
|
+
"about.sound.sound_title",
|
|
447
|
+
"about.sound.sound_url",
|
|
411
448
|
"about.proposal_generator",
|
|
412
449
|
"about.skeleton_prompt",
|
|
413
450
|
"about.sample_prompts",
|
|
451
|
+
"examples",
|
|
414
452
|
"configSchema",
|
|
415
453
|
],
|
|
416
454
|
operation_fields: [
|
|
@@ -427,6 +465,7 @@ async function generateTemplateFromStarter(input) {
|
|
|
427
465
|
"Review src/template.ts and replace the starter proposal_generator with template-specific proposal instructions.",
|
|
428
466
|
"Review src/template.ts and replace the starter skeleton_prompt with a fill-in-the-blanks prompt that fits the real format.",
|
|
429
467
|
"Review src/template.ts and replace the starter sample_prompts with prompts that fit the new format.",
|
|
468
|
+
"Verify AI calls use ctx.providers.* so the platform resolves an active customer provider key before generation. Operation payload provider fields must be optional explicit overrides, not z.enum(...).default(...), and parser helpers must not silently fall back to a provider the customer may not have.",
|
|
430
469
|
"If DNA analysis was skipped or the source research changed, run analyze-viral-dna and analyze-visual-dna.",
|
|
431
470
|
"Update SKILL.md so the usage examples match the template's real operations and payloads.",
|
|
432
471
|
`Run validate-template against ${slugId} and launch at least one real local job before treating the template as ready.`,
|
|
@@ -520,6 +559,7 @@ async function runAutocreateTemplateCommand(argv) {
|
|
|
520
559
|
mode: "autocreate-template",
|
|
521
560
|
harness_entry: path.join(harnessDir, "AUTO_CREATE_TEMPLATES.md"),
|
|
522
561
|
harness_snapshot: harnessSnapshot,
|
|
562
|
+
developer_skill_context: harnessSnapshot?.developer_skill_path ?? resolveDeveloperSkillPath(),
|
|
523
563
|
input_path: inputPath,
|
|
524
564
|
output_path: outputPath,
|
|
525
565
|
run_id: runId,
|
|
@@ -547,7 +587,7 @@ async function runAutocreateTemplateCommand(argv) {
|
|
|
547
587
|
async function runRegisterSourceProdCommand(argv) {
|
|
548
588
|
const input = parseProdTemplateCommandArgs(argv, {
|
|
549
589
|
envFile: ".env.production",
|
|
550
|
-
baseUrl: "https://vidfarm.
|
|
590
|
+
baseUrl: "https://vidfarm.cc",
|
|
551
591
|
activate: false
|
|
552
592
|
});
|
|
553
593
|
const registration = await registerSourceViaApi(input);
|
|
@@ -562,7 +602,7 @@ async function runRegisterSourceProdCommand(argv) {
|
|
|
562
602
|
async function runRegisterSourceHostedCommand(argv) {
|
|
563
603
|
const input = parseProdTemplateCommandArgs(argv, {
|
|
564
604
|
envFile: ".env",
|
|
565
|
-
baseUrl: process.env.VIDFARM_BASE_URL ?? "https://vidfarm.
|
|
605
|
+
baseUrl: process.env.VIDFARM_BASE_URL ?? "https://vidfarm.cc",
|
|
566
606
|
activate: false
|
|
567
607
|
});
|
|
568
608
|
const registration = await registerSourceViaApi(input);
|
|
@@ -578,7 +618,7 @@ async function runRegisterSourceHostedCommand(argv) {
|
|
|
578
618
|
async function runPublishUpdateHostedCommand(argv) {
|
|
579
619
|
const input = parseProdTemplateCommandArgs(argv, {
|
|
580
620
|
envFile: ".env",
|
|
581
|
-
baseUrl: process.env.VIDFARM_BASE_URL ?? "https://vidfarm.
|
|
621
|
+
baseUrl: process.env.VIDFARM_BASE_URL ?? "https://vidfarm.cc",
|
|
582
622
|
activate: false
|
|
583
623
|
});
|
|
584
624
|
if (!input.commitSha) {
|
|
@@ -617,7 +657,7 @@ async function runPublishUpdateHostedCommand(argv) {
|
|
|
617
657
|
async function runImportSourceProdCommand(argv) {
|
|
618
658
|
const input = parseProdTemplateCommandArgs(argv, {
|
|
619
659
|
envFile: ".env.production",
|
|
620
|
-
baseUrl: "https://vidfarm.
|
|
660
|
+
baseUrl: "https://vidfarm.cc",
|
|
621
661
|
activate: true
|
|
622
662
|
});
|
|
623
663
|
const result = await importSourceIntoProd(input);
|
|
@@ -632,7 +672,7 @@ async function runImportSourceProdCommand(argv) {
|
|
|
632
672
|
async function runDeployTemplateCycleCommand(argv) {
|
|
633
673
|
const input = parseProdTemplateCommandArgs(argv, {
|
|
634
674
|
envFile: ".env.production",
|
|
635
|
-
baseUrl: "https://vidfarm.
|
|
675
|
+
baseUrl: "https://vidfarm.cc",
|
|
636
676
|
stackName: "VidfarmProdStack",
|
|
637
677
|
activate: true
|
|
638
678
|
});
|
|
@@ -706,13 +746,19 @@ async function runCopyReferenceTemplateCommand(argv) {
|
|
|
706
746
|
"version",
|
|
707
747
|
"about.title",
|
|
708
748
|
"about.description",
|
|
749
|
+
"about.difficulty",
|
|
709
750
|
"about.viral_dna",
|
|
710
751
|
"about.visual_dna",
|
|
711
752
|
"about.preview_media",
|
|
712
753
|
"about.link_to_original",
|
|
754
|
+
"about.links_to_inspiration",
|
|
755
|
+
"about.sound",
|
|
756
|
+
"about.sound.sound_title",
|
|
757
|
+
"about.sound.sound_url",
|
|
713
758
|
"about.proposal_generator",
|
|
714
759
|
"about.skeleton_prompt",
|
|
715
760
|
"about.sample_prompts",
|
|
761
|
+
"examples",
|
|
716
762
|
"configSchema",
|
|
717
763
|
],
|
|
718
764
|
operation_fields: [
|
|
@@ -784,7 +830,7 @@ async function runPresignPreviewMediaCommand(argv) {
|
|
|
784
830
|
}
|
|
785
831
|
const contentType = parsed.values["content-type"]
|
|
786
832
|
?? inferUploadContentType(fileName);
|
|
787
|
-
const baseUrl = normalizeBaseUrl(parsed.values["base-url"] ?? process.env.VIDFARM_BASE_URL ?? "https://vidfarm.
|
|
833
|
+
const baseUrl = normalizeBaseUrl(parsed.values["base-url"] ?? process.env.VIDFARM_BASE_URL ?? "https://vidfarm.cc");
|
|
788
834
|
const apiKey = parsed.values["api-key"] ?? process.env.VIDFARM_API_KEY;
|
|
789
835
|
if (!apiKey) {
|
|
790
836
|
throw new Error("Missing Vidfarm API key. Pass --api-key or set VIDFARM_API_KEY in your env file.");
|
|
@@ -858,6 +904,7 @@ async function runSessionCommand(argv) {
|
|
|
858
904
|
fonts: STARTER_TEMPLATE_FONT_OPTIONS,
|
|
859
905
|
text_background_colors: STARTER_TEMPLATE_TEXT_BACKGROUND_COLOR_OPTIONS,
|
|
860
906
|
text_background_rendering: TIKTOK_TEXT_BACKGROUND_RENDERING,
|
|
907
|
+
caption_shadows: TIKTOK_CAPTION_SHADOWS,
|
|
861
908
|
caption_rendering_rules: TIKTOK_CAPTION_RENDERING_RULES,
|
|
862
909
|
presets: TIKTOK_CAPTION_STYLE_PRESETS,
|
|
863
910
|
package_dependencies: [
|
|
@@ -874,21 +921,21 @@ async function runSessionCommand(argv) {
|
|
|
874
921
|
"content-type": "application/json"
|
|
875
922
|
},
|
|
876
923
|
curl_example: [
|
|
877
|
-
`curl -X POST ${session.baseUrl}/api/v1/
|
|
924
|
+
`curl -X POST ${session.baseUrl}/api/v1/primitives/image/operations/run \\`,
|
|
878
925
|
` -H 'vidfarm-api-key: ${session.apiKey}' \\`,
|
|
879
926
|
" -H 'content-type: application/json' \\",
|
|
880
|
-
" -d '{\"tracer\":\"local-test\",\"payload\":{\"
|
|
927
|
+
" -d '{\"tracer\":\"local-test\",\"payload\":{\"prompt\":\"a cinematic founder at a desk\",\"width\":1080,\"height\":1920}}'"
|
|
881
928
|
].join("\n")
|
|
882
929
|
}, null, 2));
|
|
883
930
|
}
|
|
884
|
-
function seedEnvProviderKeys(input) {
|
|
931
|
+
async function seedEnvProviderKeys(input) {
|
|
885
932
|
const entries = [
|
|
886
933
|
{ provider: "openai", secret: process.env.OPENAI_API_KEY ?? "", placeholder: "mock-openai-key" },
|
|
887
934
|
{ provider: "gemini", secret: process.env.GEMINI_API_KEY ?? "", placeholder: "mock-gemini-key" },
|
|
888
935
|
{ provider: "openrouter", secret: process.env.OPENROUTER_API_KEY ?? "", placeholder: "mock-openrouter-key" },
|
|
889
936
|
{ provider: "perplexity", secret: process.env.PERPLEXITY_API_KEY ?? "", placeholder: "mock-perplexity-key" }
|
|
890
937
|
];
|
|
891
|
-
const existing = input.
|
|
938
|
+
const existing = await input.providerKeys.listProviderKeys(input.customerId);
|
|
892
939
|
for (const entry of entries) {
|
|
893
940
|
const secret = entry.secret || (input.allowMockPlaceholders ? entry.placeholder : "");
|
|
894
941
|
if (!secret) {
|
|
@@ -898,7 +945,7 @@ function seedEnvProviderKeys(input) {
|
|
|
898
945
|
if (alreadySeeded) {
|
|
899
946
|
continue;
|
|
900
947
|
}
|
|
901
|
-
input.
|
|
948
|
+
await input.providerKeys.createProviderKey({
|
|
902
949
|
id: input.createId("pkey"),
|
|
903
950
|
customerId: input.customerId,
|
|
904
951
|
provider: entry.provider,
|
|
@@ -916,7 +963,7 @@ function printStartupBanner(input) {
|
|
|
916
963
|
console.log(`customer-id (derived via /api/v1/user/me): ${input.customerId}`);
|
|
917
964
|
console.log(`Session file: ${input.sessionPath}`);
|
|
918
965
|
console.log(`Data dir: ${input.dataDir}`);
|
|
919
|
-
console.log(
|
|
966
|
+
console.log("Runtime state: DynamoDB-backed services");
|
|
920
967
|
console.log(`AI mode: ${input.mockProviders ? "mock provider responses" : "real provider env keys"}`);
|
|
921
968
|
console.log("");
|
|
922
969
|
console.log("REST API:");
|
|
@@ -978,6 +1025,19 @@ function resolveAutoCreateHarnessDir() {
|
|
|
978
1025
|
}
|
|
979
1026
|
return candidates[0];
|
|
980
1027
|
}
|
|
1028
|
+
function resolveDeveloperSkillPath() {
|
|
1029
|
+
const candidates = [
|
|
1030
|
+
path.resolve(process.cwd(), "SKILL.platform.md"),
|
|
1031
|
+
path.resolve(import.meta.dirname, "..", "SKILL.platform.md"),
|
|
1032
|
+
path.resolve(import.meta.dirname, "..", "..", "SKILL.platform.md")
|
|
1033
|
+
];
|
|
1034
|
+
for (const candidate of candidates) {
|
|
1035
|
+
if (existsSync(candidate)) {
|
|
1036
|
+
return candidate;
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
return candidates[0];
|
|
1040
|
+
}
|
|
981
1041
|
function createAutoCreateRunFolders(runDir) {
|
|
982
1042
|
for (const name of ["source", "frames", "audio", "transcripts", "ocr", "motion", "dna", "extraction", "plan"]) {
|
|
983
1043
|
mkdirSync(path.join(runDir, name), { recursive: true });
|
|
@@ -1080,16 +1140,35 @@ function snapshotAutoCreateHarness(input) {
|
|
|
1080
1140
|
cpSync(source, path.join(destinationDir, fileName));
|
|
1081
1141
|
}
|
|
1082
1142
|
}
|
|
1143
|
+
const developerSkillPath = resolveDeveloperSkillPath();
|
|
1144
|
+
const developerSkillDestination = path.join(destinationDir, "SKILL.platform.md");
|
|
1145
|
+
if (existsSync(developerSkillPath)) {
|
|
1146
|
+
cpSync(developerSkillPath, developerSkillDestination);
|
|
1147
|
+
}
|
|
1083
1148
|
return {
|
|
1084
1149
|
harness_dir: destinationDir,
|
|
1085
|
-
entry: path.join(destinationDir, "AUTO_CREATE_TEMPLATES.md")
|
|
1150
|
+
entry: path.join(destinationDir, "AUTO_CREATE_TEMPLATES.md"),
|
|
1151
|
+
developer_skill_path: existsSync(developerSkillDestination)
|
|
1152
|
+
? developerSkillDestination
|
|
1153
|
+
: developerSkillPath
|
|
1086
1154
|
};
|
|
1087
1155
|
}
|
|
1088
1156
|
function renderAutocreateAgentPrompt(manifest) {
|
|
1089
1157
|
return [
|
|
1090
1158
|
"# Vidfarm Autocreate Template Handoff",
|
|
1091
1159
|
"",
|
|
1092
|
-
|
|
1160
|
+
"Cacheable context, read first and keep before run-specific artifacts in your working context:",
|
|
1161
|
+
"",
|
|
1162
|
+
`1. Developer standard: ${manifest.developer_skill_context}`,
|
|
1163
|
+
`2. Auto-create harness: ${manifest.harness_snapshot?.entry ?? manifest.harness_entry}`,
|
|
1164
|
+
manifest.harness_snapshot?.harness_dir
|
|
1165
|
+
? `3. Harness snapshot directory: ${manifest.harness_snapshot.harness_dir}`
|
|
1166
|
+
: "3. Harness snapshot directory: not created; use the live harness path above.",
|
|
1167
|
+
"",
|
|
1168
|
+
"These files are stable across runs and are intended to be prompt-cache friendly. Read them before loading source media, analyzer outputs, or run-specific JSON.",
|
|
1169
|
+
"",
|
|
1170
|
+
`Use ${manifest.harness_snapshot?.entry ?? manifest.harness_entry} as the harness.`,
|
|
1171
|
+
`Use ${manifest.developer_skill_context} as the developer template standard context.`,
|
|
1093
1172
|
`Analyze ${manifest.source_dir} as the source format.`,
|
|
1094
1173
|
`Use the run artifacts in ${manifest.run_dir}.`,
|
|
1095
1174
|
`Output the runnable Vidfarm template to ${manifest.output_path}.`,
|
|
@@ -1103,7 +1182,8 @@ function renderAutocreateAgentPrompt(manifest) {
|
|
|
1103
1182
|
"5. Create `extraction/production_graph.json` matching the production graph schema.",
|
|
1104
1183
|
"6. Create `plan/template_plan.json` matching the template plan schema.",
|
|
1105
1184
|
"7. Implement the template operations, jobs, metadata, prompts, storage outputs, and template-local `SKILL.md`.",
|
|
1106
|
-
"8.
|
|
1185
|
+
"8. Validate storage boundaries: use only `ctx.storage` with job-relative keys; do not generate direct AWS/S3 clients, generic `AWS_*` credential handling, `REMOTION_AWS_*` handling, or absolute keys like `templates/${templateId}/users/${ctx.customer.id}/...`.",
|
|
1186
|
+
"9. Run `vidfarm-devcli validate-template` and at least one real local job before calling it done.",
|
|
1107
1187
|
"",
|
|
1108
1188
|
"Manifest:",
|
|
1109
1189
|
"",
|
|
@@ -1484,3 +1564,4 @@ function extractLastJson(stdout) {
|
|
|
1484
1564
|
function sleep(ms) {
|
|
1485
1565
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
1486
1566
|
}
|
|
1567
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|