@mevdragon/vidfarm-devcli 0.20.6 → 0.20.8

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 (154) hide show
  1. package/.agents/skills/editor-capabilities/SKILL.md +15 -1
  2. package/.agents/skills/vidfarm-director/SKILL.md +106 -0
  3. package/.agents/skills/vidfarm-director/recipes/find-and-fork-template.md +16 -0
  4. package/.agents/skills/vidfarm-director/recipes/local-edit-render-approve.md +13 -0
  5. package/.agents/skills/vidfarm-director/recipes/onboard-a-new-director.md +13 -0
  6. package/.agents/skills/vidfarm-director/recipes/retheme-template.md +17 -0
  7. package/.agents/skills/vidfarm-director/references/assets-and-sourcing.md +111 -0
  8. package/.agents/skills/vidfarm-director/references/automation-and-local-dev.md +243 -0
  9. package/.agents/skills/vidfarm-director/references/core-workflows.md +273 -0
  10. package/.agents/skills/vidfarm-director/references/editor-workflows.md +365 -0
  11. package/.agents/skills/vidfarm-director/references/onboarding.md +28 -0
  12. package/.agents/skills/vidfarm-director/references/primitives.md +265 -0
  13. package/SKILL.director.md +476 -260
  14. package/dist/src/cli.js +362 -96
  15. package/dist/src/devcli/clips.js +15 -10
  16. package/dist/src/devcli/doctor.js +2 -2
  17. package/dist/src/devcli/local-backend.js +46 -2
  18. package/dist/src/services/clip-curation/cost.js +5 -1
  19. package/dist/src/services/clip-curation/gemini.js +10 -0
  20. package/package.json +30 -10
  21. package/SKILL.platform.md +0 -432
  22. package/demo/README.md +0 -28
  23. package/demo/dist/app.css +0 -1
  24. package/demo/dist/app.js +0 -1850
  25. package/demo/dist/chunks/chunk-DXB73IDG.js +0 -1
  26. package/demo/dist/chunks/chunk-S7OWAJDS.js +0 -36
  27. package/demo/dist/chunks/chunk-VTIBZ6AN.js +0 -1
  28. package/demo/dist/chunks/dist-ADSJKBVE.js +0 -332
  29. package/demo/dist/chunks/domEditingLayers-VZMLL4AP-SGHWPND4.js +0 -1
  30. package/demo/dist/chunks/hyperframes-player-XB65TCD6.js +0 -425
  31. package/demo/dist/chunks/lib-XAQ37YOE.js +0 -1
  32. package/demo/dist/chunks/src-TJ2QYA4U.js +0 -207
  33. package/demo/dist/favicon.ico +0 -0
  34. package/demo/dist/icons/timeline/audio.svg +0 -7
  35. package/demo/dist/icons/timeline/captions.svg +0 -5
  36. package/demo/dist/icons/timeline/composition.svg +0 -12
  37. package/demo/dist/icons/timeline/image.svg +0 -18
  38. package/demo/dist/icons/timeline/music.svg +0 -10
  39. package/demo/dist/icons/timeline/text.svg +0 -3
  40. package/demo/dist/index.html +0 -15
  41. package/dist/src/account-pages-legacy.js +0 -9396
  42. package/dist/src/account-pages.js +0 -61
  43. package/dist/src/app.js +0 -21603
  44. package/dist/src/composition-runtime.js +0 -1053
  45. package/dist/src/config.js +0 -217
  46. package/dist/src/context.js +0 -447
  47. package/dist/src/dev-app-legacy.js +0 -739
  48. package/dist/src/dev-app.js +0 -6
  49. package/dist/src/devcli/migrate-local.js +0 -140
  50. package/dist/src/devcli/sync.js +0 -368
  51. package/dist/src/domain.js +0 -5
  52. package/dist/src/editor-chat-history.js +0 -82
  53. package/dist/src/editor-chat.js +0 -828
  54. package/dist/src/editor-dark-theme.js +0 -1128
  55. package/dist/src/frontend/debug.js +0 -71
  56. package/dist/src/frontend/discover-client.js +0 -130
  57. package/dist/src/frontend/discover-store.js +0 -23
  58. package/dist/src/frontend/file-directory.js +0 -1018
  59. package/dist/src/frontend/flockposter-cache-store.js +0 -124
  60. package/dist/src/frontend/homepage-client.js +0 -446
  61. package/dist/src/frontend/homepage-shared.js +0 -201
  62. package/dist/src/frontend/homepage-store.js +0 -66
  63. package/dist/src/frontend/homepage-view.js +0 -705
  64. package/dist/src/frontend/page-runtime-client.js +0 -132
  65. package/dist/src/frontend/page-runtime-store.js +0 -9
  66. package/dist/src/frontend/sentry.js +0 -42
  67. package/dist/src/frontend/template-editor-chat.js +0 -4181
  68. package/dist/src/help-page.js +0 -346
  69. package/dist/src/homepage.js +0 -1458
  70. package/dist/src/index.js +0 -16
  71. package/dist/src/instrument.js +0 -30
  72. package/dist/src/landing-page.js +0 -384
  73. package/dist/src/page-runtime.js +0 -2
  74. package/dist/src/page-shell.js +0 -1452
  75. package/dist/src/primitive-context.js +0 -416
  76. package/dist/src/primitive-registry.js +0 -3940
  77. package/dist/src/primitive-sdk.js +0 -4
  78. package/dist/src/primitives/hyperframes-media.js +0 -108
  79. package/dist/src/react-page-shell.js +0 -35
  80. package/dist/src/ready-post-schedule-component.js +0 -1540
  81. package/dist/src/registry.js +0 -296
  82. package/dist/src/reskin/agency-page.js +0 -299
  83. package/dist/src/reskin/calendar-page.js +0 -568
  84. package/dist/src/reskin/chat-page.js +0 -942
  85. package/dist/src/reskin/discover-page.js +0 -1788
  86. package/dist/src/reskin/document.js +0 -1587
  87. package/dist/src/reskin/help-page.js +0 -357
  88. package/dist/src/reskin/index-page.js +0 -62
  89. package/dist/src/reskin/inpaint-clipper-page.js +0 -890
  90. package/dist/src/reskin/inpaint-page.js +0 -2554
  91. package/dist/src/reskin/inpaint-video-page.js +0 -1339
  92. package/dist/src/reskin/job-runs-page.js +0 -477
  93. package/dist/src/reskin/library-page.js +0 -1634
  94. package/dist/src/reskin/login-page.js +0 -262
  95. package/dist/src/reskin/portfolio-page.js +0 -687
  96. package/dist/src/reskin/pricing-page.js +0 -390
  97. package/dist/src/reskin/settings-page.js +0 -732
  98. package/dist/src/reskin/theme.js +0 -711
  99. package/dist/src/runtime.js +0 -35
  100. package/dist/src/services/api-call-history.js +0 -249
  101. package/dist/src/services/auth.js +0 -152
  102. package/dist/src/services/billing-pricing.js +0 -39
  103. package/dist/src/services/billing.js +0 -241
  104. package/dist/src/services/cast.js +0 -127
  105. package/dist/src/services/chat-threads.js +0 -92
  106. package/dist/src/services/clip-records.js +0 -250
  107. package/dist/src/services/clip-search.js +0 -77
  108. package/dist/src/services/clip-vectors.js +0 -125
  109. package/dist/src/services/composition-sanitize.js +0 -124
  110. package/dist/src/services/composition-watch.js +0 -79
  111. package/dist/src/services/elevenlabs.js +0 -222
  112. package/dist/src/services/file-directory.js +0 -117
  113. package/dist/src/services/fork-access.js +0 -93
  114. package/dist/src/services/fork-manifest.js +0 -42
  115. package/dist/src/services/ghostcut.js +0 -179
  116. package/dist/src/services/hyperframes.js +0 -3654
  117. package/dist/src/services/job-capacity.js +0 -14
  118. package/dist/src/services/job-logs.js +0 -197
  119. package/dist/src/services/jobs.js +0 -136
  120. package/dist/src/services/local-dynamo.js +0 -0
  121. package/dist/src/services/media-processing.js +0 -766
  122. package/dist/src/services/primitive-media-lambda.js +0 -280
  123. package/dist/src/services/providers.js +0 -2748
  124. package/dist/src/services/rate-limits.js +0 -262
  125. package/dist/src/services/scene-annotations.js +0 -32
  126. package/dist/src/services/serverless-auth.js +0 -382
  127. package/dist/src/services/serverless-jobs.js +0 -1084
  128. package/dist/src/services/serverless-provider-keys.js +0 -409
  129. package/dist/src/services/serverless-records.js +0 -1515
  130. package/dist/src/services/serverless-template-configs.js +0 -75
  131. package/dist/src/services/storage.js +0 -461
  132. package/dist/src/services/swipe-customize.js +0 -437
  133. package/dist/src/services/template-certification.js +0 -413
  134. package/dist/src/services/template-loader.js +0 -99
  135. package/dist/src/services/template-runtime-bundles.js +0 -217
  136. package/dist/src/services/template-sources.js +0 -1017
  137. package/dist/src/services/upstream.js +0 -248
  138. package/dist/src/services/video-normalization.js +0 -2
  139. package/dist/src/services/webhooks.js +0 -62
  140. package/dist/src/template-editor-pages.js +0 -2576
  141. package/dist/src/template-editor-shell.js +0 -2893
  142. package/dist/src/template-sdk.js +0 -4
  143. package/dist/src/worker.js +0 -17
  144. package/public/assets/discover-client-app.js +0 -1
  145. package/public/assets/file-directory-app.js +0 -3
  146. package/public/assets/homepage-app.js +0 -54
  147. package/public/assets/homepage-client-app.js +0 -80
  148. package/public/assets/page-runtime-client-app.js +0 -94
  149. package/public/assets/placeholders/scene-placeholder.png +0 -0
  150. package/src/assets/SELLING_AWARENESS_STAGES.md +0 -579
  151. package/src/assets/SELLING_WITH_HOOKS.md +0 -377
  152. package/src/assets/SELLING_WITH_VSLS.md +0 -606
  153. package/src/assets/favicon.ico +0 -0
  154. package/src/assets/logo-vidfarm.png +0 -0
@@ -1,4 +0,0 @@
1
- export function definePrimitive(definition) {
2
- return definition;
3
- }
4
- //# sourceMappingURL=primitive-sdk.js.map
@@ -1,108 +0,0 @@
1
- // HyperFrames composition builders for the media primitives that used to render
2
- // on Remotion (html-image.tsx, media-dedupe.tsx). Each function emits a
3
- // self-contained composition HTML document that the in-process HyperFrames
4
- // renderer (HyperframesService.renderStill / render) turns into a still or MP4.
5
- // The DOM/CSS mirrors the original Remotion components 1:1 so output matches.
6
- // Matches DEFAULT_EFFECTS in the old media-dedupe.tsx.
7
- export const DEDUPE_DEFAULT_EFFECTS = {
8
- zoom: 1.04,
9
- tilt: 3,
10
- rotate: 3,
11
- saturation: 1.05,
12
- speed: 1.05,
13
- horizontal_flip: false,
14
- contrast: 1.05,
15
- brightness: 1.05,
16
- hue_rotate: 0,
17
- blur: 0
18
- };
19
- // Arbitrary HTML + CSS rendered as a single-frame still. `html`/`css` are the
20
- // primitive's intended payload (the same trust model as the old Remotion
21
- // dangerouslySetInnerHTML) so they are injected verbatim; only the wrapper
22
- // colors/dimensions are sanitized.
23
- export function buildHtmlImageCompositionHtml(input) {
24
- const bg = safeCssColor(input.backgroundColor, "#ffffff");
25
- return `<!doctype html>
26
- <html>
27
- <head><meta charset="UTF-8" />
28
- <style>
29
- html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:${bg};font-family:Arial,sans-serif}
30
- [data-composition-id]{position:relative;width:100vw;height:100vh;overflow:hidden;background:${bg}}
31
- ${input.css ?? ""}
32
- </style>
33
- </head>
34
- <body>
35
- <div data-composition-id="${escapeAttr(input.compositionId)}" data-width="${intAttr(input.width, 1080)}" data-height="${intAttr(input.height, 1920)}" data-duration="0.1">
36
- <div data-hf-id="html-image-content" data-layer-kind="html" data-layer-mode="both" data-start="0" data-duration="0.1" data-track-index="0" style="position:absolute;left:0;top:0;width:100%;height:100%">${input.html}</div>
37
- </div>
38
- </body>
39
- </html>`;
40
- }
41
- // Source image/video with dedupe transforms (zoom/tilt/rotate/flip) + CSS filter
42
- // (saturation/contrast/brightness/hue/blur) + a tint overlay — the exact DOM the
43
- // old media-dedupe.tsx produced. `durationSeconds` is the OUTPUT duration; the
44
- // caller pre-divides by `speed` so the frame count matches the old behavior (the
45
- // per-clip playbackRate remap has no static-HTML equivalent, so speed manifests
46
- // as a shorter clip at 1x source sampling — acceptable for a dedupe perturbation).
47
- export function buildMediaDedupeCompositionHtml(input) {
48
- const e = { ...DEDUPE_DEFAULT_EFFECTS, ...(input.effects ?? {}) };
49
- const horizontalScale = e.horizontal_flip ? -1 : 1;
50
- const transform = `scale(${num(e.zoom)}) rotate(${num(e.rotate)}deg) rotateX(${num(e.tilt)}deg) scaleX(${horizontalScale})`;
51
- const filter = `saturate(${num(e.saturation)}) contrast(${num(e.contrast)}) brightness(${num(e.brightness)}) hue-rotate(${num(e.hue_rotate)}deg) blur(${num(e.blur)}px)`;
52
- const tint = hexToRgba(input.tintColor, input.tintOpacity);
53
- const bg = safeCssColor(input.backgroundColor, "#000000");
54
- const objectFit = safeCssToken(input.objectFit, "cover");
55
- const objectPosition = safeCssToken(input.objectPosition, "center center");
56
- const dur = Math.max(0.05, input.durationSeconds);
57
- const mediaStyle = `position:absolute;left:0;top:0;width:100%;height:100%;object-fit:${objectFit};object-position:${objectPosition};display:block`;
58
- const mediaEl = input.mediaType === "video"
59
- ? `<video data-hf-id="dedupe-media" data-layer-kind="video" data-layer-mode="both" data-start="0" data-duration="${num(dur)}" data-track-index="0" src="${escapeAttr(input.sourceMediaUrl)}" ${input.muted ? "muted " : ""}playsinline preload="auto" style="${mediaStyle}"></video>`
60
- : `<img data-hf-id="dedupe-media" data-layer-kind="image" data-layer-mode="both" data-start="0" data-duration="${num(dur)}" data-track-index="0" src="${escapeAttr(input.sourceMediaUrl)}" alt="" style="${mediaStyle}" />`;
61
- return `<!doctype html>
62
- <html>
63
- <head><meta charset="UTF-8" />
64
- <style>
65
- html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:${bg}}
66
- [data-composition-id]{position:relative;width:100vw;height:100vh;overflow:hidden;background:${bg};perspective:1000px}
67
- </style>
68
- </head>
69
- <body>
70
- <div data-composition-id="${escapeAttr(input.compositionId)}" data-width="${intAttr(input.width, 1080)}" data-height="${intAttr(input.height, 1920)}" data-duration="${num(dur)}">
71
- <div style="position:absolute;left:0;top:0;width:100%;height:100%;transform:${transform};filter:${filter};transform-origin:center center">
72
- ${mediaEl}
73
- <div style="position:absolute;left:0;top:0;width:100%;height:100%;background:${tint};pointer-events:none"></div>
74
- </div>
75
- </div>
76
- </body>
77
- </html>`;
78
- }
79
- function num(value, fallback = 0) {
80
- return Number.isFinite(value) ? value : fallback;
81
- }
82
- function intAttr(value, fallback) {
83
- const n = Math.round(Number(value));
84
- return Number.isFinite(n) && n > 0 ? n : fallback;
85
- }
86
- function escapeAttr(value) {
87
- return String(value ?? "").replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
88
- }
89
- // Colors/positions land inside a CSS declaration, so strip anything that could
90
- // break out of the value (`;`, `{`, `}`, `<`, `>`, quotes). Falls back when the
91
- // sanitized value is empty.
92
- function safeCssColor(value, fallback) {
93
- const cleaned = String(value ?? "").replace(/[;{}<>"'`]/g, "").trim();
94
- return cleaned || fallback;
95
- }
96
- function safeCssToken(value, fallback) {
97
- const cleaned = String(value ?? "").replace(/[;{}<>"'`]/g, "").trim();
98
- return cleaned || fallback;
99
- }
100
- function hexToRgba(hex, opacity) {
101
- const normalized = /^#?[0-9a-f]{6}$/i.test(hex) ? hex.replace("#", "") : "FF8C00";
102
- const red = Number.parseInt(normalized.slice(0, 2), 16);
103
- const green = Number.parseInt(normalized.slice(2, 4), 16);
104
- const blue = Number.parseInt(normalized.slice(4, 6), 16);
105
- const alpha = Math.max(0, Math.min(1, Number.isFinite(opacity) ? opacity : 0.08));
106
- return `rgba(${red}, ${green}, ${blue}, ${alpha})`;
107
- }
108
- //# sourceMappingURL=hyperframes-media.js.map
@@ -1,35 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { renderToStaticMarkup } from "react-dom/server";
3
- import { escapeHtml } from "./page-shell.js";
4
- function extractTagContent(documentHtml, tagName) {
5
- const match = documentHtml.match(new RegExp(`<${tagName}[^>]*>([\\s\\S]*?)<\\/${tagName}>`, "i"));
6
- return match?.[1] ?? "";
7
- }
8
- export function parseLegacyDocument(documentHtml) {
9
- return {
10
- title: extractTagContent(documentHtml, "title"),
11
- bodyHtml: extractTagContent(documentHtml, "body"),
12
- styleText: extractTagContent(documentHtml, "style")
13
- };
14
- }
15
- function ReactDocument(input) {
16
- const runtimeBoot = input.runtimeBoot ?? {
17
- pageKind: "legacy",
18
- title: input.title || "VidFarm AI"
19
- };
20
- return (_jsxs("html", { lang: "en", children: [_jsxs("head", { children: [_jsx("meta", { charSet: "utf-8" }), _jsx("meta", { name: "viewport", content: "width=device-width, initial-scale=1, viewport-fit=cover" }), _jsx("title", { children: input.title }), _jsx("link", { rel: "icon", href: "/assets/favicon.ico", sizes: "any" }), _jsx("link", { rel: "preconnect", href: "https://fonts.googleapis.com" }), _jsx("link", { rel: "preconnect", href: "https://fonts.gstatic.com", crossOrigin: "" }), _jsx("link", { href: "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap", rel: "stylesheet" }), _jsx("style", { dangerouslySetInnerHTML: { __html: input.styleText } })] }), _jsxs("body", { children: [_jsx("div", { dangerouslySetInnerHTML: { __html: input.bodyHtml } }), _jsx("div", { id: "page-runtime-root", hidden: true }), _jsx("script", { id: "page-runtime-boot", type: "application/json", dangerouslySetInnerHTML: { __html: JSON.stringify(runtimeBoot).replace(/</g, "\\u003c").replace(/>/g, "\\u003e").replace(/&/g, "\\u0026") } }), _jsx("script", { type: "module", src: "/assets/page-runtime-client-app.js" })] })] }));
21
- }
22
- export function renderParsedDocument(input) {
23
- return `<!doctype html>${renderToStaticMarkup(_jsx(ReactDocument, { ...input }))}`;
24
- }
25
- export function renderLegacyPageAsReact(documentHtml, runtimeBoot) {
26
- const parsed = parseLegacyDocument(documentHtml);
27
- const safeTitle = parsed.title ? parsed.title : escapeHtml("VidFarm AI");
28
- return renderParsedDocument({
29
- title: safeTitle,
30
- bodyHtml: parsed.bodyHtml,
31
- styleText: parsed.styleText,
32
- runtimeBoot
33
- });
34
- }
35
- //# sourceMappingURL=react-page-shell.js.map