@mevdragon/vidfarm-devcli 0.2.11 → 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.
Files changed (199) hide show
  1. package/.env.example +37 -1
  2. package/README.md +27 -183
  3. package/SKILL.director.md +293 -0
  4. package/SKILL.platform.md +312 -0
  5. package/auto-create-hyperframe-templates/AUTO_CREATE_HYPERFRAME_TEMPLATES.md +275 -0
  6. package/auto-create-hyperframe-templates/extractor-system-prompt.md +128 -0
  7. package/auto-create-hyperframe-templates/input-manifest.schema.json +56 -0
  8. package/auto-create-hyperframe-templates/lambda-memory-estimator.md +118 -0
  9. package/auto-create-hyperframe-templates/production-graph.schema.json +314 -0
  10. package/auto-create-hyperframe-templates/runbook.md +198 -0
  11. package/auto-create-hyperframe-templates/scripts/create-hyperframe-template.mjs +368 -0
  12. package/auto-create-hyperframe-templates/template-plan.schema.json +311 -0
  13. package/auto-create-hyperframe-templates/template-planner-prompt.md +144 -0
  14. package/auto-create-templates/AUTO_CREATE_TEMPLATES.md +124 -0
  15. package/auto-create-templates/extractor-system-prompt.md +8 -2
  16. package/auto-create-templates/template-plan.schema.json +73 -2
  17. package/auto-create-templates/template-planner-prompt.md +63 -1
  18. package/dist/src/account-pages-legacy.js +361 -89
  19. package/dist/src/account-pages-legacy.js.map +1 -0
  20. package/dist/src/account-pages.js +13 -3
  21. package/dist/src/account-pages.js.map +1 -0
  22. package/dist/src/app.js +7060 -946
  23. package/dist/src/app.js.map +1 -0
  24. package/dist/src/cli.js +111 -29
  25. package/dist/src/cli.js.map +1 -0
  26. package/dist/src/composition-runtime.js +581 -0
  27. package/dist/src/composition-runtime.js.map +1 -0
  28. package/dist/src/config.js +69 -11
  29. package/dist/src/config.js.map +1 -0
  30. package/dist/src/context.js +280 -21
  31. package/dist/src/context.js.map +1 -0
  32. package/dist/src/dev-app-legacy.js +18 -17
  33. package/dist/src/dev-app-legacy.js.map +1 -0
  34. package/dist/src/dev-app.js +1 -0
  35. package/dist/src/dev-app.js.map +1 -0
  36. package/dist/src/domain.js +2 -1
  37. package/dist/src/domain.js.map +1 -0
  38. package/dist/src/editor-chat-history.js +10 -0
  39. package/dist/src/editor-chat-history.js.map +1 -0
  40. package/dist/src/editor-chat.js +133 -24
  41. package/dist/src/editor-chat.js.map +1 -0
  42. package/dist/src/frontend/flockposter-cache-store.js +10 -2
  43. package/dist/src/frontend/flockposter-cache-store.js.map +1 -0
  44. package/dist/src/frontend/homepage-client.js +6 -3
  45. package/dist/src/frontend/homepage-client.js.map +1 -0
  46. package/dist/src/frontend/homepage-shared.js +1 -0
  47. package/dist/src/frontend/homepage-shared.js.map +1 -0
  48. package/dist/src/frontend/homepage-store.js +1 -0
  49. package/dist/src/frontend/homepage-store.js.map +1 -0
  50. package/dist/src/frontend/homepage-view.js +131 -18
  51. package/dist/src/frontend/homepage-view.js.map +1 -0
  52. package/dist/src/frontend/page-runtime-client.js +5 -2
  53. package/dist/src/frontend/page-runtime-client.js.map +1 -0
  54. package/dist/src/frontend/page-runtime-store.js +1 -0
  55. package/dist/src/frontend/page-runtime-store.js.map +1 -0
  56. package/dist/src/frontend/sentry.js +42 -0
  57. package/dist/src/frontend/sentry.js.map +1 -0
  58. package/dist/src/frontend/template-editor-chat.js +1719 -213
  59. package/dist/src/frontend/template-editor-chat.js.map +1 -0
  60. package/dist/src/help-page.js +333 -0
  61. package/dist/src/help-page.js.map +1 -0
  62. package/dist/src/homepage.js +169 -47
  63. package/dist/src/homepage.js.map +1 -0
  64. package/dist/src/hyperframes/composition.js +180 -0
  65. package/dist/src/hyperframes/composition.js.map +1 -0
  66. package/dist/src/index.js +1 -0
  67. package/dist/src/index.js.map +1 -0
  68. package/dist/src/instrument.js +30 -0
  69. package/dist/src/instrument.js.map +1 -0
  70. package/dist/src/lib/crypto.js +1 -0
  71. package/dist/src/lib/crypto.js.map +1 -0
  72. package/dist/src/lib/dev-log.js +54 -0
  73. package/dist/src/lib/dev-log.js.map +1 -0
  74. package/dist/src/lib/display-name.js +11 -0
  75. package/dist/src/lib/display-name.js.map +1 -0
  76. package/dist/src/lib/ids.js +21 -1
  77. package/dist/src/lib/ids.js.map +1 -0
  78. package/dist/src/lib/images.js +1 -0
  79. package/dist/src/lib/images.js.map +1 -0
  80. package/dist/src/lib/json.js +1 -0
  81. package/dist/src/lib/json.js.map +1 -0
  82. package/dist/src/lib/template-dna.js +1 -0
  83. package/dist/src/lib/template-dna.js.map +1 -0
  84. package/dist/src/lib/template-paths.js +1 -0
  85. package/dist/src/lib/template-paths.js.map +1 -0
  86. package/dist/src/lib/template-style-options.js +40 -2
  87. package/dist/src/lib/template-style-options.js.map +1 -0
  88. package/dist/src/lib/time.js +1 -0
  89. package/dist/src/lib/time.js.map +1 -0
  90. package/dist/src/lib/video-quality-harness.js +60 -0
  91. package/dist/src/lib/video-quality-harness.js.map +1 -0
  92. package/dist/src/page-runtime.js +1 -0
  93. package/dist/src/page-runtime.js.map +1 -0
  94. package/dist/src/page-shell.js +1501 -49
  95. package/dist/src/page-shell.js.map +1 -0
  96. package/dist/src/primitive-context.js +144 -8
  97. package/dist/src/primitive-context.js.map +1 -0
  98. package/dist/src/primitive-registry.js +1919 -78
  99. package/dist/src/primitive-registry.js.map +1 -0
  100. package/dist/src/primitive-sdk.js +1 -0
  101. package/dist/src/primitive-sdk.js.map +1 -0
  102. package/dist/src/primitives/remotion/html-image.js +3 -1
  103. package/dist/src/primitives/remotion/html-image.js.map +1 -0
  104. package/dist/src/primitives/remotion/media-slideshow.js +60 -0
  105. package/dist/src/primitives/remotion/media-slideshow.js.map +1 -0
  106. package/dist/src/react-page-shell.js +1 -0
  107. package/dist/src/react-page-shell.js.map +1 -0
  108. package/dist/src/ready-post-schedule-component.js +1 -0
  109. package/dist/src/ready-post-schedule-component.js.map +1 -0
  110. package/dist/src/registry.js +237 -24
  111. package/dist/src/registry.js.map +1 -0
  112. package/dist/src/runtime.js +3 -0
  113. package/dist/src/runtime.js.map +1 -0
  114. package/dist/src/services/api-call-history.js +4 -0
  115. package/dist/src/services/api-call-history.js.map +1 -0
  116. package/dist/src/services/auth.js +40 -50
  117. package/dist/src/services/auth.js.map +1 -0
  118. package/dist/src/services/billing.js +20 -44
  119. package/dist/src/services/billing.js.map +1 -0
  120. package/dist/src/services/chat-threads.js +10 -6
  121. package/dist/src/services/chat-threads.js.map +1 -0
  122. package/dist/src/services/fork-access.js +94 -0
  123. package/dist/src/services/fork-access.js.map +1 -0
  124. package/dist/src/services/ghostcut.js +132 -0
  125. package/dist/src/services/ghostcut.js.map +1 -0
  126. package/dist/src/services/hyperframes.js +1014 -0
  127. package/dist/src/services/hyperframes.js.map +1 -0
  128. package/dist/src/services/job-capacity.js +14 -0
  129. package/dist/src/services/job-capacity.js.map +1 -0
  130. package/dist/src/services/job-logs.js +4 -0
  131. package/dist/src/services/job-logs.js.map +1 -0
  132. package/dist/src/services/jobs.js +99 -91
  133. package/dist/src/services/jobs.js.map +1 -0
  134. package/dist/src/services/media-processing.js +743 -0
  135. package/dist/src/services/media-processing.js.map +1 -0
  136. package/dist/src/services/primitive-media-lambda.js +280 -0
  137. package/dist/src/services/primitive-media-lambda.js.map +1 -0
  138. package/dist/src/services/providers.js +1560 -178
  139. package/dist/src/services/providers.js.map +1 -0
  140. package/dist/src/services/rate-limits.js +3 -2
  141. package/dist/src/services/rate-limits.js.map +1 -0
  142. package/dist/src/services/remotion.js +495 -92
  143. package/dist/src/services/remotion.js.map +1 -0
  144. package/dist/src/services/serverless-auth.js +374 -0
  145. package/dist/src/services/serverless-auth.js.map +1 -0
  146. package/dist/src/services/serverless-jobs.js +1074 -0
  147. package/dist/src/services/serverless-jobs.js.map +1 -0
  148. package/dist/src/services/serverless-provider-keys.js +401 -0
  149. package/dist/src/services/serverless-provider-keys.js.map +1 -0
  150. package/dist/src/services/serverless-records.js +1086 -0
  151. package/dist/src/services/serverless-records.js.map +1 -0
  152. package/dist/src/services/serverless-template-configs.js +67 -0
  153. package/dist/src/services/serverless-template-configs.js.map +1 -0
  154. package/dist/src/services/storage.js +170 -35
  155. package/dist/src/services/storage.js.map +1 -0
  156. package/dist/src/services/template-certification.js +295 -3
  157. package/dist/src/services/template-certification.js.map +1 -0
  158. package/dist/src/services/template-loader.js +45 -1
  159. package/dist/src/services/template-loader.js.map +1 -0
  160. package/dist/src/services/template-runtime-bundles.js +217 -0
  161. package/dist/src/services/template-runtime-bundles.js.map +1 -0
  162. package/dist/src/services/template-sources.js +452 -87
  163. package/dist/src/services/template-sources.js.map +1 -0
  164. package/dist/src/services/video-normalization.js +2 -0
  165. package/dist/src/services/video-normalization.js.map +1 -0
  166. package/dist/src/services/webhooks.js +7 -6
  167. package/dist/src/services/webhooks.js.map +1 -0
  168. package/dist/src/template-editor-pages.js +5637 -1322
  169. package/dist/src/template-editor-pages.js.map +1 -0
  170. package/dist/src/template-editor-shell.js +1376 -170
  171. package/dist/src/template-editor-shell.js.map +1 -0
  172. package/dist/src/template-sdk.js +1 -0
  173. package/dist/src/template-sdk.js.map +1 -0
  174. package/dist/src/worker.js +11 -226
  175. package/dist/src/worker.js.map +1 -0
  176. package/package.json +47 -12
  177. package/public/assets/homepage-client-app.js +34 -8
  178. package/public/assets/page-runtime-client-app.js +44 -18
  179. package/readme.secret.md +89 -0
  180. package/templates/vidfarm_template_0000/README.md +106 -0
  181. package/templates/vidfarm_template_0000/SKILL.md +266 -0
  182. package/templates/vidfarm_template_0000/assets/Abel-Regular.ttf +0 -0
  183. package/templates/vidfarm_template_0000/assets/DMSerifDisplay-Regular.ttf +0 -0
  184. package/templates/vidfarm_template_0000/assets/Montserrat[wght].ttf +0 -0
  185. package/templates/vidfarm_template_0000/assets/SourceCodePro[wght].ttf +0 -0
  186. package/templates/vidfarm_template_0000/assets/TikTokSans-SemiBold.ttf +0 -0
  187. package/templates/vidfarm_template_0000/assets/Yesteryear-Regular.ttf +0 -0
  188. package/templates/vidfarm_template_0000/composition.json +11 -0
  189. package/templates/vidfarm_template_0000/src/lib/images.js +221 -0
  190. package/templates/vidfarm_template_0000/src/remotion/Root.js +33 -0
  191. package/templates/vidfarm_template_0000/src/remotion/index.js +3 -0
  192. package/templates/vidfarm_template_0000/src/sdk.js +3 -0
  193. package/templates/vidfarm_template_0000/src/style-options.js +200 -0
  194. package/templates/vidfarm_template_0000/src/template-dna.js +9 -0
  195. package/templates/vidfarm_template_0000/src/template.js +1566 -0
  196. package/templates/vidfarm_template_0000/template.config.json +21 -0
  197. package/GETTING_STARTED.developers.md +0 -87
  198. package/SKILL.developer.md +0 -1177
  199. 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_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.VIDFARM_DB_PATH = dbPath;
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 }, { database }, { config }, { createId }, crypto] = await Promise.all([
147
+ const [{ startRuntime }, { ServerlessAuthService }, { ServerlessProviderKeyService }, { config }, { createId }, crypto] = await Promise.all([
124
148
  import("./runtime.js"),
125
- import("./db.js"),
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 customer = database.getCustomerByEmail(parsed.values.email) ?? database.upsertCustomer({
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: "standard"
163
+ planTier: "standalone"
137
164
  });
138
165
  const rawApiKey = parsed.values["api-key"] ?? `vf_local_${Math.random().toString(36).slice(2, 12)}`;
139
- database.insertApiKey({
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
- database,
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 siteName = input.siteName ?? projectName.replace(/_/g, "-");
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", slugId.replace(/_/g, "-")],
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.cloud.zoomgtm.com",
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.cloud.zoomgtm.com",
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.cloud.zoomgtm.com",
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.cloud.zoomgtm.com",
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.cloud.zoomgtm.com",
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.cloud.zoomgtm.com");
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,8 @@ 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,
908
+ caption_rendering_rules: TIKTOK_CAPTION_RENDERING_RULES,
861
909
  presets: TIKTOK_CAPTION_STYLE_PRESETS,
862
910
  package_dependencies: [
863
911
  "@fontsource/tiktok-sans",
@@ -873,21 +921,21 @@ async function runSessionCommand(argv) {
873
921
  "content-type": "application/json"
874
922
  },
875
923
  curl_example: [
876
- `curl -X POST ${session.baseUrl}/api/v1/templates/template_0000/operations/create_slideshow \\`,
924
+ `curl -X POST ${session.baseUrl}/api/v1/primitives/image/operations/run \\`,
877
925
  ` -H 'vidfarm-api-key: ${session.apiKey}' \\`,
878
926
  " -H 'content-type: application/json' \\",
879
- " -d '{\"tracer\":\"local-test\",\"payload\":{\"slides\":[[\"a cinematic founder at a desk\",\"Exact text on slide one\",2400]],\"meta_details_prompt\":\"Keep it native, casual, and curiosity-driven.\"}}'"
927
+ " -d '{\"tracer\":\"local-test\",\"payload\":{\"prompt\":\"a cinematic founder at a desk\",\"width\":1080,\"height\":1920}}'"
880
928
  ].join("\n")
881
929
  }, null, 2));
882
930
  }
883
- function seedEnvProviderKeys(input) {
931
+ async function seedEnvProviderKeys(input) {
884
932
  const entries = [
885
933
  { provider: "openai", secret: process.env.OPENAI_API_KEY ?? "", placeholder: "mock-openai-key" },
886
934
  { provider: "gemini", secret: process.env.GEMINI_API_KEY ?? "", placeholder: "mock-gemini-key" },
887
935
  { provider: "openrouter", secret: process.env.OPENROUTER_API_KEY ?? "", placeholder: "mock-openrouter-key" },
888
936
  { provider: "perplexity", secret: process.env.PERPLEXITY_API_KEY ?? "", placeholder: "mock-perplexity-key" }
889
937
  ];
890
- const existing = input.database.listProviderKeys(input.customerId);
938
+ const existing = await input.providerKeys.listProviderKeys(input.customerId);
891
939
  for (const entry of entries) {
892
940
  const secret = entry.secret || (input.allowMockPlaceholders ? entry.placeholder : "");
893
941
  if (!secret) {
@@ -897,7 +945,7 @@ function seedEnvProviderKeys(input) {
897
945
  if (alreadySeeded) {
898
946
  continue;
899
947
  }
900
- input.database.createProviderKey({
948
+ await input.providerKeys.createProviderKey({
901
949
  id: input.createId("pkey"),
902
950
  customerId: input.customerId,
903
951
  provider: entry.provider,
@@ -915,7 +963,7 @@ function printStartupBanner(input) {
915
963
  console.log(`customer-id (derived via /api/v1/user/me): ${input.customerId}`);
916
964
  console.log(`Session file: ${input.sessionPath}`);
917
965
  console.log(`Data dir: ${input.dataDir}`);
918
- console.log(`SQLite: ${input.dbPath}`);
966
+ console.log("Runtime state: DynamoDB-backed services");
919
967
  console.log(`AI mode: ${input.mockProviders ? "mock provider responses" : "real provider env keys"}`);
920
968
  console.log("");
921
969
  console.log("REST API:");
@@ -977,6 +1025,19 @@ function resolveAutoCreateHarnessDir() {
977
1025
  }
978
1026
  return candidates[0];
979
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
+ }
980
1041
  function createAutoCreateRunFolders(runDir) {
981
1042
  for (const name of ["source", "frames", "audio", "transcripts", "ocr", "motion", "dna", "extraction", "plan"]) {
982
1043
  mkdirSync(path.join(runDir, name), { recursive: true });
@@ -1079,16 +1140,35 @@ function snapshotAutoCreateHarness(input) {
1079
1140
  cpSync(source, path.join(destinationDir, fileName));
1080
1141
  }
1081
1142
  }
1143
+ const developerSkillPath = resolveDeveloperSkillPath();
1144
+ const developerSkillDestination = path.join(destinationDir, "SKILL.platform.md");
1145
+ if (existsSync(developerSkillPath)) {
1146
+ cpSync(developerSkillPath, developerSkillDestination);
1147
+ }
1082
1148
  return {
1083
1149
  harness_dir: destinationDir,
1084
- 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
1085
1154
  };
1086
1155
  }
1087
1156
  function renderAutocreateAgentPrompt(manifest) {
1088
1157
  return [
1089
1158
  "# Vidfarm Autocreate Template Handoff",
1090
1159
  "",
1091
- `Use ${manifest.harness_entry} as the harness.`,
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.`,
1092
1172
  `Analyze ${manifest.source_dir} as the source format.`,
1093
1173
  `Use the run artifacts in ${manifest.run_dir}.`,
1094
1174
  `Output the runnable Vidfarm template to ${manifest.output_path}.`,
@@ -1102,7 +1182,8 @@ function renderAutocreateAgentPrompt(manifest) {
1102
1182
  "5. Create `extraction/production_graph.json` matching the production graph schema.",
1103
1183
  "6. Create `plan/template_plan.json` matching the template plan schema.",
1104
1184
  "7. Implement the template operations, jobs, metadata, prompts, storage outputs, and template-local `SKILL.md`.",
1105
- "8. Run `vidfarm-devcli validate-template` and at least one real local job before calling it done.",
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.",
1106
1187
  "",
1107
1188
  "Manifest:",
1108
1189
  "",
@@ -1483,3 +1564,4 @@ function extractLastJson(stdout) {
1483
1564
  function sleep(ms) {
1484
1565
  return new Promise((resolve) => setTimeout(resolve, ms));
1485
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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"}