videoclaw 3.0.0-alpha.1 → 3.0.0-alpha.11
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/AGENTS.md +17 -6
- package/CLAUDE.md +167 -10
- package/README.md +108 -22
- package/{tmp → assets}/review-station/index.html +11 -1
- package/dist/cli/args.d.ts +24 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +69 -8
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/flow-quote-adapter.d.ts +6 -0
- package/dist/cli/flow-quote-adapter.d.ts.map +1 -0
- package/dist/cli/flow-quote-adapter.js +127 -0
- package/dist/cli/flow-quote-adapter.js.map +1 -0
- package/dist/cli/handlers/analysis.d.ts +42 -0
- package/dist/cli/handlers/analysis.d.ts.map +1 -1
- package/dist/cli/handlers/analysis.js +248 -4
- package/dist/cli/handlers/analysis.js.map +1 -1
- package/dist/cli/handlers/audio.js +6 -6
- package/dist/cli/handlers/audio.js.map +1 -1
- package/dist/cli/handlers/batch.d.ts.map +1 -1
- package/dist/cli/handlers/batch.js +66 -190
- package/dist/cli/handlers/batch.js.map +1 -1
- package/dist/cli/handlers/candidates.d.ts.map +1 -1
- package/dist/cli/handlers/candidates.js +240 -67
- package/dist/cli/handlers/candidates.js.map +1 -1
- package/dist/cli/handlers/character.d.ts.map +1 -1
- package/dist/cli/handlers/character.js +20 -15
- package/dist/cli/handlers/character.js.map +1 -1
- package/dist/cli/handlers/cinema-archive.d.ts +3 -0
- package/dist/cli/handlers/cinema-archive.d.ts.map +1 -0
- package/dist/cli/handlers/cinema-archive.js +32 -0
- package/dist/cli/handlers/cinema-archive.js.map +1 -0
- package/dist/cli/handlers/cinema-candidate.d.ts +4 -0
- package/dist/cli/handlers/cinema-candidate.d.ts.map +1 -0
- package/dist/cli/handlers/cinema-candidate.js +119 -0
- package/dist/cli/handlers/cinema-candidate.js.map +1 -0
- package/dist/cli/handlers/cinema-delivery.d.ts +2 -0
- package/dist/cli/handlers/cinema-delivery.d.ts.map +1 -0
- package/dist/cli/handlers/cinema-delivery.js +13 -0
- package/dist/cli/handlers/cinema-delivery.js.map +1 -0
- package/dist/cli/handlers/cinema-execution.d.ts +5 -0
- package/dist/cli/handlers/cinema-execution.d.ts.map +1 -0
- package/dist/cli/handlers/cinema-execution.js +523 -0
- package/dist/cli/handlers/cinema-execution.js.map +1 -0
- package/dist/cli/handlers/cinema-history.d.ts +2 -0
- package/dist/cli/handlers/cinema-history.d.ts.map +1 -0
- package/dist/cli/handlers/cinema-history.js +55 -0
- package/dist/cli/handlers/cinema-history.js.map +1 -0
- package/dist/cli/handlers/cinema-migration.d.ts +2 -0
- package/dist/cli/handlers/cinema-migration.d.ts.map +1 -0
- package/dist/cli/handlers/cinema-migration.js +88 -0
- package/dist/cli/handlers/cinema-migration.js.map +1 -0
- package/dist/cli/handlers/cinema.d.ts +17 -0
- package/dist/cli/handlers/cinema.d.ts.map +1 -0
- package/dist/cli/handlers/cinema.js +730 -0
- package/dist/cli/handlers/cinema.js.map +1 -0
- package/dist/cli/handlers/clone.d.ts.map +1 -1
- package/dist/cli/handlers/clone.js +5 -5
- package/dist/cli/handlers/clone.js.map +1 -1
- package/dist/cli/handlers/create.d.ts.map +1 -1
- package/dist/cli/handlers/create.js +9 -8
- package/dist/cli/handlers/create.js.map +1 -1
- package/dist/cli/handlers/creator-demo.d.ts +2 -0
- package/dist/cli/handlers/creator-demo.d.ts.map +1 -0
- package/dist/cli/handlers/creator-demo.js +34 -0
- package/dist/cli/handlers/creator-demo.js.map +1 -0
- package/dist/cli/handlers/creator-ui.d.ts +2 -0
- package/dist/cli/handlers/creator-ui.d.ts.map +1 -0
- package/dist/cli/handlers/creator-ui.js +20 -0
- package/dist/cli/handlers/creator-ui.js.map +1 -0
- package/dist/cli/handlers/execution.d.ts +22 -0
- package/dist/cli/handlers/execution.d.ts.map +1 -1
- package/dist/cli/handlers/execution.js +433 -19
- package/dist/cli/handlers/execution.js.map +1 -1
- package/dist/cli/handlers/lane.d.ts +2 -0
- package/dist/cli/handlers/lane.d.ts.map +1 -0
- package/dist/cli/handlers/lane.js +190 -0
- package/dist/cli/handlers/lane.js.map +1 -0
- package/dist/cli/handlers/library.js +2 -2
- package/dist/cli/handlers/library.js.map +1 -1
- package/dist/cli/handlers/media-ops.d.ts +11 -0
- package/dist/cli/handlers/media-ops.d.ts.map +1 -1
- package/dist/cli/handlers/media-ops.js +149 -8
- package/dist/cli/handlers/media-ops.js.map +1 -1
- package/dist/cli/handlers/media-production.d.ts +8 -0
- package/dist/cli/handlers/media-production.d.ts.map +1 -1
- package/dist/cli/handlers/media-production.js +223 -21
- package/dist/cli/handlers/media-production.js.map +1 -1
- package/dist/cli/handlers/migrate-home.d.ts +2 -0
- package/dist/cli/handlers/migrate-home.d.ts.map +1 -0
- package/dist/cli/handlers/migrate-home.js +25 -0
- package/dist/cli/handlers/migrate-home.js.map +1 -0
- package/dist/cli/handlers/mograph.d.ts +5 -0
- package/dist/cli/handlers/mograph.d.ts.map +1 -0
- package/dist/cli/handlers/mograph.js +397 -0
- package/dist/cli/handlers/mograph.js.map +1 -0
- package/dist/cli/handlers/monitor.d.ts +2 -0
- package/dist/cli/handlers/monitor.d.ts.map +1 -0
- package/dist/cli/handlers/monitor.js +23 -0
- package/dist/cli/handlers/monitor.js.map +1 -0
- package/dist/cli/handlers/motion-overlay.d.ts.map +1 -1
- package/dist/cli/handlers/motion-overlay.js +39 -24
- package/dist/cli/handlers/motion-overlay.js.map +1 -1
- package/dist/cli/handlers/multi-shot.d.ts.map +1 -1
- package/dist/cli/handlers/multi-shot.js +151 -20
- package/dist/cli/handlers/multi-shot.js.map +1 -1
- package/dist/cli/handlers/project-ops.d.ts.map +1 -1
- package/dist/cli/handlers/project-ops.js +18 -23
- package/dist/cli/handlers/project-ops.js.map +1 -1
- package/dist/cli/handlers/prompt-craft.d.ts +1 -0
- package/dist/cli/handlers/prompt-craft.d.ts.map +1 -1
- package/dist/cli/handlers/prompt-craft.js +102 -31
- package/dist/cli/handlers/prompt-craft.js.map +1 -1
- package/dist/cli/handlers/provider-registration.d.ts.map +1 -1
- package/dist/cli/handlers/provider-registration.js +25 -19
- package/dist/cli/handlers/provider-registration.js.map +1 -1
- package/dist/cli/handlers/publish-platform.d.ts +3 -0
- package/dist/cli/handlers/publish-platform.d.ts.map +1 -0
- package/dist/cli/handlers/publish-platform.js +142 -0
- package/dist/cli/handlers/publish-platform.js.map +1 -0
- package/dist/cli/handlers/reference-sheets.d.ts.map +1 -1
- package/dist/cli/handlers/reference-sheets.js +16 -16
- package/dist/cli/handlers/reference-sheets.js.map +1 -1
- package/dist/cli/handlers/reporting.js +18 -18
- package/dist/cli/handlers/reporting.js.map +1 -1
- package/dist/cli/handlers/review-portal.d.ts.map +1 -1
- package/dist/cli/handlers/review-portal.js +21 -11
- package/dist/cli/handlers/review-portal.js.map +1 -1
- package/dist/cli/handlers/show.d.ts +11 -0
- package/dist/cli/handlers/show.d.ts.map +1 -1
- package/dist/cli/handlers/show.js +43 -3
- package/dist/cli/handlers/show.js.map +1 -1
- package/dist/cli/handlers/stages.d.ts.map +1 -1
- package/dist/cli/handlers/stages.js +90 -11
- package/dist/cli/handlers/stages.js.map +1 -1
- package/dist/cli/handlers/stock.d.ts +3 -0
- package/dist/cli/handlers/stock.d.ts.map +1 -0
- package/dist/cli/handlers/stock.js +133 -0
- package/dist/cli/handlers/stock.js.map +1 -0
- package/dist/cli/handlers/studio.d.ts.map +1 -1
- package/dist/cli/handlers/studio.js +25 -2
- package/dist/cli/handlers/studio.js.map +1 -1
- package/dist/cli/handlers/templates.js +5 -5
- package/dist/cli/handlers/templates.js.map +1 -1
- package/dist/cli/json-input.d.ts +3 -0
- package/dist/cli/json-input.d.ts.map +1 -0
- package/dist/cli/json-input.js +22 -0
- package/dist/cli/json-input.js.map +1 -0
- package/dist/cli/provider-adapter.js +47 -12
- package/dist/cli/provider-adapter.js.map +1 -1
- package/dist/cli/vclaw.d.ts.map +1 -1
- package/dist/cli/vclaw.js +145 -17
- package/dist/cli/vclaw.js.map +1 -1
- package/dist/index.d.ts +78 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +5 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +5 -4
- package/dist/mcp/tools.js.map +1 -1
- package/dist/video/allocation-model.d.ts +45 -0
- package/dist/video/allocation-model.d.ts.map +1 -0
- package/dist/video/allocation-model.js +83 -0
- package/dist/video/allocation-model.js.map +1 -0
- package/dist/video/archive-project.d.ts.map +1 -1
- package/dist/video/archive-project.js +2 -1
- package/dist/video/archive-project.js.map +1 -1
- package/dist/video/artifact-history.d.ts.map +1 -1
- package/dist/video/artifact-history.js +2 -1
- package/dist/video/artifact-history.js.map +1 -1
- package/dist/video/artifact-validation.d.ts.map +1 -1
- package/dist/video/artifact-validation.js +13 -0
- package/dist/video/artifact-validation.js.map +1 -1
- package/dist/video/artifacts.d.ts +31 -1
- package/dist/video/artifacts.d.ts.map +1 -1
- package/dist/video/artifacts.js.map +1 -1
- package/dist/video/assemble/assemble.d.ts.map +1 -1
- package/dist/video/assemble/assemble.js +229 -29
- package/dist/video/assemble/assemble.js.map +1 -1
- package/dist/video/assemble/ffmpeg.d.ts +24 -0
- package/dist/video/assemble/ffmpeg.d.ts.map +1 -1
- package/dist/video/assemble/ffmpeg.js +93 -0
- package/dist/video/assemble/ffmpeg.js.map +1 -1
- package/dist/video/assemble/gemini-vision-classify.d.ts +31 -0
- package/dist/video/assemble/gemini-vision-classify.d.ts.map +1 -1
- package/dist/video/assemble/gemini-vision-classify.js +58 -0
- package/dist/video/assemble/gemini-vision-classify.js.map +1 -1
- package/dist/video/assemble/media-qc.d.ts +85 -2
- package/dist/video/assemble/media-qc.d.ts.map +1 -1
- package/dist/video/assemble/media-qc.js +196 -4
- package/dist/video/assemble/media-qc.js.map +1 -1
- package/dist/video/assemble/normalize-size.d.ts +28 -0
- package/dist/video/assemble/normalize-size.d.ts.map +1 -0
- package/dist/video/assemble/normalize-size.js +41 -0
- package/dist/video/assemble/normalize-size.js.map +1 -0
- package/dist/video/assemble/pdf.d.ts.map +1 -1
- package/dist/video/assemble/pdf.js +0 -1
- package/dist/video/assemble/pdf.js.map +1 -1
- package/dist/video/assemble/stitch.d.ts +176 -2
- package/dist/video/assemble/stitch.d.ts.map +1 -1
- package/dist/video/assemble/stitch.js +347 -26
- package/dist/video/assemble/stitch.js.map +1 -1
- package/dist/video/assemble/text-card.d.ts.map +1 -1
- package/dist/video/assemble/text-card.js +8 -1
- package/dist/video/assemble/text-card.js.map +1 -1
- package/dist/video/assemble/title-card.js.map +1 -1
- package/dist/video/assemble/types.d.ts +59 -0
- package/dist/video/assemble/types.d.ts.map +1 -1
- package/dist/video/asset-spec.d.ts +13 -0
- package/dist/video/asset-spec.d.ts.map +1 -1
- package/dist/video/asset-spec.js +22 -3
- package/dist/video/asset-spec.js.map +1 -1
- package/dist/video/asset-tag-lookup.d.ts +7 -0
- package/dist/video/asset-tag-lookup.d.ts.map +1 -1
- package/dist/video/asset-tag-lookup.js +9 -0
- package/dist/video/asset-tag-lookup.js.map +1 -1
- package/dist/video/atomic-write.d.ts.map +1 -1
- package/dist/video/atomic-write.js +9 -3
- package/dist/video/atomic-write.js.map +1 -1
- package/dist/video/audio-platform/measure.d.ts +11 -0
- package/dist/video/audio-platform/measure.d.ts.map +1 -0
- package/dist/video/audio-platform/measure.js +57 -0
- package/dist/video/audio-platform/measure.js.map +1 -0
- package/dist/video/audio-platform/registry.d.ts +17 -1
- package/dist/video/audio-platform/registry.d.ts.map +1 -1
- package/dist/video/audio-platform/registry.js +35 -0
- package/dist/video/audio-platform/registry.js.map +1 -1
- package/dist/video/batch-queue.d.ts +9 -3
- package/dist/video/batch-queue.d.ts.map +1 -1
- package/dist/video/batch-queue.js +3 -3
- package/dist/video/batch-queue.js.map +1 -1
- package/dist/video/blueprint-prompt.d.ts +1 -1
- package/dist/video/blueprint-prompt.js +1 -1
- package/dist/video/brand-prompt.d.ts +1 -1
- package/dist/video/brand-prompt.js +1 -1
- package/dist/video/capability-contract.d.ts +56 -0
- package/dist/video/capability-contract.d.ts.map +1 -0
- package/dist/video/capability-contract.js +94 -0
- package/dist/video/capability-contract.js.map +1 -0
- package/dist/video/category-registry.d.ts.map +1 -1
- package/dist/video/category-registry.js +10 -1
- package/dist/video/category-registry.js.map +1 -1
- package/dist/video/character-auto-create.d.ts +51 -0
- package/dist/video/character-auto-create.d.ts.map +1 -1
- package/dist/video/character-auto-create.js +79 -36
- package/dist/video/character-auto-create.js.map +1 -1
- package/dist/video/character-consistency.d.ts.map +1 -1
- package/dist/video/character-consistency.js +2 -1
- package/dist/video/character-consistency.js.map +1 -1
- package/dist/video/characters.d.ts +9 -0
- package/dist/video/characters.d.ts.map +1 -1
- package/dist/video/characters.js +2 -0
- package/dist/video/characters.js.map +1 -1
- package/dist/video/cinema-archive.d.ts +89 -0
- package/dist/video/cinema-archive.d.ts.map +1 -0
- package/dist/video/cinema-archive.js +288 -0
- package/dist/video/cinema-archive.js.map +1 -0
- package/dist/video/cinema-asset-lifecycle.d.ts +30 -0
- package/dist/video/cinema-asset-lifecycle.d.ts.map +1 -0
- package/dist/video/cinema-asset-lifecycle.js +32 -0
- package/dist/video/cinema-asset-lifecycle.js.map +1 -0
- package/dist/video/cinema-asset-registry.d.ts +48 -0
- package/dist/video/cinema-asset-registry.d.ts.map +1 -0
- package/dist/video/cinema-asset-registry.js +54 -0
- package/dist/video/cinema-asset-registry.js.map +1 -0
- package/dist/video/cinema-assurance.d.ts +104 -0
- package/dist/video/cinema-assurance.d.ts.map +1 -0
- package/dist/video/cinema-assurance.js +171 -0
- package/dist/video/cinema-assurance.js.map +1 -0
- package/dist/video/cinema-candidate-bridge.d.ts +49 -0
- package/dist/video/cinema-candidate-bridge.d.ts.map +1 -0
- package/dist/video/cinema-candidate-bridge.js +196 -0
- package/dist/video/cinema-candidate-bridge.js.map +1 -0
- package/dist/video/cinema-candidate-review.d.ts +77 -0
- package/dist/video/cinema-candidate-review.d.ts.map +1 -0
- package/dist/video/cinema-candidate-review.js +252 -0
- package/dist/video/cinema-candidate-review.js.map +1 -0
- package/dist/video/cinema-chain-fallback.d.ts +33 -0
- package/dist/video/cinema-chain-fallback.d.ts.map +1 -0
- package/dist/video/cinema-chain-fallback.js +182 -0
- package/dist/video/cinema-chain-fallback.js.map +1 -0
- package/dist/video/cinema-compatibility-local-worker.d.ts +22 -0
- package/dist/video/cinema-compatibility-local-worker.d.ts.map +1 -0
- package/dist/video/cinema-compatibility-local-worker.js +180 -0
- package/dist/video/cinema-compatibility-local-worker.js.map +1 -0
- package/dist/video/cinema-compatibility-quote.d.ts +80 -0
- package/dist/video/cinema-compatibility-quote.d.ts.map +1 -0
- package/dist/video/cinema-compatibility-quote.js +292 -0
- package/dist/video/cinema-compatibility-quote.js.map +1 -0
- package/dist/video/cinema-compatibility-worker.d.ts +62 -0
- package/dist/video/cinema-compatibility-worker.d.ts.map +1 -0
- package/dist/video/cinema-compatibility-worker.js +484 -0
- package/dist/video/cinema-compatibility-worker.js.map +1 -0
- package/dist/video/cinema-console-generate.d.ts +8 -0
- package/dist/video/cinema-console-generate.d.ts.map +1 -0
- package/dist/video/cinema-console-generate.js +17 -0
- package/dist/video/cinema-console-generate.js.map +1 -0
- package/dist/video/cinema-console-projection.d.ts +25 -0
- package/dist/video/cinema-console-projection.d.ts.map +1 -0
- package/dist/video/cinema-console-projection.js +213 -0
- package/dist/video/cinema-console-projection.js.map +1 -0
- package/dist/video/cinema-console-render.d.ts +3 -0
- package/dist/video/cinema-console-render.d.ts.map +1 -0
- package/dist/video/cinema-console-render.js +126 -0
- package/dist/video/cinema-console-render.js.map +1 -0
- package/dist/video/cinema-console-types.d.ts +220 -0
- package/dist/video/cinema-console-types.d.ts.map +1 -0
- package/dist/video/cinema-console-types.js +2 -0
- package/dist/video/cinema-console-types.js.map +1 -0
- package/dist/video/cinema-continuity-types.d.ts +119 -0
- package/dist/video/cinema-continuity-types.d.ts.map +1 -0
- package/dist/video/cinema-continuity-types.js +2 -0
- package/dist/video/cinema-continuity-types.js.map +1 -0
- package/dist/video/cinema-continuity.d.ts +11 -0
- package/dist/video/cinema-continuity.d.ts.map +1 -0
- package/dist/video/cinema-continuity.js +240 -0
- package/dist/video/cinema-continuity.js.map +1 -0
- package/dist/video/cinema-delivery.d.ts +70 -0
- package/dist/video/cinema-delivery.d.ts.map +1 -0
- package/dist/video/cinema-delivery.js +300 -0
- package/dist/video/cinema-delivery.js.map +1 -0
- package/dist/video/cinema-direct-ai-film-migration.d.ts +93 -0
- package/dist/video/cinema-direct-ai-film-migration.d.ts.map +1 -0
- package/dist/video/cinema-direct-ai-film-migration.js +583 -0
- package/dist/video/cinema-direct-ai-film-migration.js.map +1 -0
- package/dist/video/cinema-evidence-store.d.ts +10 -0
- package/dist/video/cinema-evidence-store.d.ts.map +1 -0
- package/dist/video/cinema-evidence-store.js +65 -0
- package/dist/video/cinema-evidence-store.js.map +1 -0
- package/dist/video/cinema-evidence-types.d.ts +65 -0
- package/dist/video/cinema-evidence-types.d.ts.map +1 -0
- package/dist/video/cinema-evidence-types.js +2 -0
- package/dist/video/cinema-evidence-types.js.map +1 -0
- package/dist/video/cinema-evidence.d.ts +18 -0
- package/dist/video/cinema-evidence.d.ts.map +1 -0
- package/dist/video/cinema-evidence.js +172 -0
- package/dist/video/cinema-evidence.js.map +1 -0
- package/dist/video/cinema-file-lock.d.ts +2 -0
- package/dist/video/cinema-file-lock.d.ts.map +1 -0
- package/dist/video/cinema-file-lock.js +55 -0
- package/dist/video/cinema-file-lock.js.map +1 -0
- package/dist/video/cinema-garment-mask.d.ts +19 -0
- package/dist/video/cinema-garment-mask.d.ts.map +1 -0
- package/dist/video/cinema-garment-mask.js +46 -0
- package/dist/video/cinema-garment-mask.js.map +1 -0
- package/dist/video/cinema-higgsfield-cli-adapter.d.ts +303 -0
- package/dist/video/cinema-higgsfield-cli-adapter.d.ts.map +1 -0
- package/dist/video/cinema-higgsfield-cli-adapter.js +689 -0
- package/dist/video/cinema-higgsfield-cli-adapter.js.map +1 -0
- package/dist/video/cinema-higgsfield-cli-runner.d.ts +3 -0
- package/dist/video/cinema-higgsfield-cli-runner.d.ts.map +1 -0
- package/dist/video/cinema-higgsfield-cli-runner.js +17 -0
- package/dist/video/cinema-higgsfield-cli-runner.js.map +1 -0
- package/dist/video/cinema-historical-import.d.ts +129 -0
- package/dist/video/cinema-historical-import.d.ts.map +1 -0
- package/dist/video/cinema-historical-import.js +362 -0
- package/dist/video/cinema-historical-import.js.map +1 -0
- package/dist/video/cinema-live-console.d.ts +23 -0
- package/dist/video/cinema-live-console.d.ts.map +1 -0
- package/dist/video/cinema-live-console.js +157 -0
- package/dist/video/cinema-live-console.js.map +1 -0
- package/dist/video/cinema-planning-store.d.ts +12 -0
- package/dist/video/cinema-planning-store.d.ts.map +1 -0
- package/dist/video/cinema-planning-store.js +142 -0
- package/dist/video/cinema-planning-store.js.map +1 -0
- package/dist/video/cinema-preflight-store.d.ts +4 -0
- package/dist/video/cinema-preflight-store.d.ts.map +1 -0
- package/dist/video/cinema-preflight-store.js +26 -0
- package/dist/video/cinema-preflight-store.js.map +1 -0
- package/dist/video/cinema-preflight.d.ts +36 -0
- package/dist/video/cinema-preflight.d.ts.map +1 -0
- package/dist/video/cinema-preflight.js +65 -0
- package/dist/video/cinema-preflight.js.map +1 -0
- package/dist/video/cinema-production-contract-compiler.d.ts +6 -0
- package/dist/video/cinema-production-contract-compiler.d.ts.map +1 -0
- package/dist/video/cinema-production-contract-compiler.js +124 -0
- package/dist/video/cinema-production-contract-compiler.js.map +1 -0
- package/dist/video/cinema-production-contract-store.d.ts +12 -0
- package/dist/video/cinema-production-contract-store.d.ts.map +1 -0
- package/dist/video/cinema-production-contract-store.js +73 -0
- package/dist/video/cinema-production-contract-store.js.map +1 -0
- package/dist/video/cinema-production-queue.d.ts +169 -0
- package/dist/video/cinema-production-queue.d.ts.map +1 -0
- package/dist/video/cinema-production-queue.js +674 -0
- package/dist/video/cinema-production-queue.js.map +1 -0
- package/dist/video/cinema-profile.d.ts +5 -0
- package/dist/video/cinema-profile.d.ts.map +1 -1
- package/dist/video/cinema-profile.js +4 -0
- package/dist/video/cinema-profile.js.map +1 -1
- package/dist/video/cinema-project-compiler.d.ts +27 -0
- package/dist/video/cinema-project-compiler.d.ts.map +1 -0
- package/dist/video/cinema-project-compiler.js +147 -0
- package/dist/video/cinema-project-compiler.js.map +1 -0
- package/dist/video/cinema-project-console-load.d.ts +4 -0
- package/dist/video/cinema-project-console-load.d.ts.map +1 -0
- package/dist/video/cinema-project-console-load.js +72 -0
- package/dist/video/cinema-project-console-load.js.map +1 -0
- package/dist/video/cinema-project-console.d.ts +30 -0
- package/dist/video/cinema-project-console.d.ts.map +1 -0
- package/dist/video/cinema-project-console.js +198 -0
- package/dist/video/cinema-project-console.js.map +1 -0
- package/dist/video/cinema-project-planner.d.ts +52 -0
- package/dist/video/cinema-project-planner.d.ts.map +1 -0
- package/dist/video/cinema-project-planner.js +199 -0
- package/dist/video/cinema-project-planner.js.map +1 -0
- package/dist/video/cinema-provider-contracts.d.ts +15 -0
- package/dist/video/cinema-provider-contracts.d.ts.map +1 -0
- package/dist/video/cinema-provider-contracts.js +221 -0
- package/dist/video/cinema-provider-contracts.js.map +1 -0
- package/dist/video/cinema-provider-projection.d.ts +68 -0
- package/dist/video/cinema-provider-projection.d.ts.map +1 -0
- package/dist/video/cinema-provider-projection.js +156 -0
- package/dist/video/cinema-provider-projection.js.map +1 -0
- package/dist/video/cinema-provider-store.d.ts +35 -0
- package/dist/video/cinema-provider-store.d.ts.map +1 -0
- package/dist/video/cinema-provider-store.js +144 -0
- package/dist/video/cinema-provider-store.js.map +1 -0
- package/dist/video/cinema-provider-types.d.ts +109 -0
- package/dist/video/cinema-provider-types.d.ts.map +1 -0
- package/dist/video/cinema-provider-types.js +2 -0
- package/dist/video/cinema-provider-types.js.map +1 -0
- package/dist/video/cinema-queue-compatibility.d.ts +68 -0
- package/dist/video/cinema-queue-compatibility.d.ts.map +1 -0
- package/dist/video/cinema-queue-compatibility.js +162 -0
- package/dist/video/cinema-queue-compatibility.js.map +1 -0
- package/dist/video/cinema-queue-types.d.ts +80 -0
- package/dist/video/cinema-queue-types.d.ts.map +1 -0
- package/dist/video/cinema-queue-types.js +2 -0
- package/dist/video/cinema-queue-types.js.map +1 -0
- package/dist/video/cinema-queue-validation.d.ts +10 -0
- package/dist/video/cinema-queue-validation.d.ts.map +1 -0
- package/dist/video/cinema-queue-validation.js +181 -0
- package/dist/video/cinema-queue-validation.js.map +1 -0
- package/dist/video/cinema-reference-projection.d.ts +43 -0
- package/dist/video/cinema-reference-projection.d.ts.map +1 -0
- package/dist/video/cinema-reference-projection.js +61 -0
- package/dist/video/cinema-reference-projection.js.map +1 -0
- package/dist/video/cinema-retry-policy.d.ts +15 -0
- package/dist/video/cinema-retry-policy.d.ts.map +1 -0
- package/dist/video/cinema-retry-policy.js +21 -0
- package/dist/video/cinema-retry-policy.js.map +1 -0
- package/dist/video/cinema-review-service.d.ts +9 -0
- package/dist/video/cinema-review-service.d.ts.map +1 -0
- package/dist/video/cinema-review-service.js +51 -0
- package/dist/video/cinema-review-service.js.map +1 -0
- package/dist/video/cinema-review-store.d.ts +10 -0
- package/dist/video/cinema-review-store.d.ts.map +1 -0
- package/dist/video/cinema-review-store.js +65 -0
- package/dist/video/cinema-review-store.js.map +1 -0
- package/dist/video/cinema-review-types.d.ts +61 -0
- package/dist/video/cinema-review-types.d.ts.map +1 -0
- package/dist/video/cinema-review-types.js +2 -0
- package/dist/video/cinema-review-types.js.map +1 -0
- package/dist/video/cinema-review-validation.d.ts +5 -0
- package/dist/video/cinema-review-validation.d.ts.map +1 -0
- package/dist/video/cinema-review-validation.js +71 -0
- package/dist/video/cinema-review-validation.js.map +1 -0
- package/dist/video/cinema-scope-report.d.ts +56 -0
- package/dist/video/cinema-scope-report.d.ts.map +1 -0
- package/dist/video/cinema-scope-report.js +70 -0
- package/dist/video/cinema-scope-report.js.map +1 -0
- package/dist/video/cinema-shot-compiler.d.ts +11 -0
- package/dist/video/cinema-shot-compiler.d.ts.map +1 -0
- package/dist/video/cinema-shot-compiler.js +104 -0
- package/dist/video/cinema-shot-compiler.js.map +1 -0
- package/dist/video/cinema-store.d.ts +22 -0
- package/dist/video/cinema-store.d.ts.map +1 -0
- package/dist/video/cinema-store.js +165 -0
- package/dist/video/cinema-store.js.map +1 -0
- package/dist/video/cinema-story-compiler.d.ts +3 -0
- package/dist/video/cinema-story-compiler.d.ts.map +1 -0
- package/dist/video/cinema-story-compiler.js +95 -0
- package/dist/video/cinema-story-compiler.js.map +1 -0
- package/dist/video/cinema-story-types.d.ts +117 -0
- package/dist/video/cinema-story-types.d.ts.map +1 -0
- package/dist/video/cinema-story-types.js +2 -0
- package/dist/video/cinema-story-types.js.map +1 -0
- package/dist/video/cinema-story-validation.d.ts +3 -0
- package/dist/video/cinema-story-validation.d.ts.map +1 -0
- package/dist/video/cinema-story-validation.js +80 -0
- package/dist/video/cinema-story-validation.js.map +1 -0
- package/dist/video/cinema-types.d.ts +249 -0
- package/dist/video/cinema-types.d.ts.map +1 -0
- package/dist/video/cinema-types.js +2 -0
- package/dist/video/cinema-types.js.map +1 -0
- package/dist/video/cinema-validation.d.ts +7 -0
- package/dist/video/cinema-validation.d.ts.map +1 -0
- package/dist/video/cinema-validation.js +408 -0
- package/dist/video/cinema-validation.js.map +1 -0
- package/dist/video/cinema-walking-skeleton-queue.d.ts +4 -0
- package/dist/video/cinema-walking-skeleton-queue.d.ts.map +1 -0
- package/dist/video/cinema-walking-skeleton-queue.js +68 -0
- package/dist/video/cinema-walking-skeleton-queue.js.map +1 -0
- package/dist/video/cinematography.d.ts +126 -0
- package/dist/video/cinematography.d.ts.map +1 -1
- package/dist/video/cinematography.js +207 -3
- package/dist/video/cinematography.js.map +1 -1
- package/dist/video/cli-schema.d.ts +17 -0
- package/dist/video/cli-schema.d.ts.map +1 -1
- package/dist/video/cli-schema.js +384 -44
- package/dist/video/cli-schema.js.map +1 -1
- package/dist/video/clip-qc.d.ts +166 -0
- package/dist/video/clip-qc.d.ts.map +1 -0
- package/dist/video/clip-qc.js +218 -0
- package/dist/video/clip-qc.js.map +1 -0
- package/dist/video/consistency-audit.d.ts +275 -0
- package/dist/video/consistency-audit.d.ts.map +1 -0
- package/dist/video/consistency-audit.js +588 -0
- package/dist/video/consistency-audit.js.map +1 -0
- package/dist/video/continuation-handoff.d.ts +49 -0
- package/dist/video/continuation-handoff.d.ts.map +1 -0
- package/dist/video/continuation-handoff.js +74 -0
- package/dist/video/continuation-handoff.js.map +1 -0
- package/dist/video/cost-estimate.d.ts.map +1 -1
- package/dist/video/cost-estimate.js +2 -1
- package/dist/video/cost-estimate.js.map +1 -1
- package/dist/video/creator-demo.d.ts +45 -0
- package/dist/video/creator-demo.d.ts.map +1 -0
- package/dist/video/creator-demo.js +192 -0
- package/dist/video/creator-demo.js.map +1 -0
- package/dist/video/creator-ui/capabilities.d.ts +35 -0
- package/dist/video/creator-ui/capabilities.d.ts.map +1 -0
- package/dist/video/creator-ui/capabilities.js +109 -0
- package/dist/video/creator-ui/capabilities.js.map +1 -0
- package/dist/video/creator-ui/execution.d.ts +24 -0
- package/dist/video/creator-ui/execution.d.ts.map +1 -0
- package/dist/video/creator-ui/execution.js +98 -0
- package/dist/video/creator-ui/execution.js.map +1 -0
- package/dist/video/creator-ui/index.d.ts +4 -0
- package/dist/video/creator-ui/index.d.ts.map +1 -0
- package/dist/video/creator-ui/index.js +4 -0
- package/dist/video/creator-ui/index.js.map +1 -0
- package/dist/video/creator-ui/read-model.d.ts +12 -0
- package/dist/video/creator-ui/read-model.d.ts.map +1 -0
- package/dist/video/creator-ui/read-model.js +24 -0
- package/dist/video/creator-ui/read-model.js.map +1 -0
- package/dist/video/creator-ui/server.d.ts +42 -0
- package/dist/video/creator-ui/server.d.ts.map +1 -0
- package/dist/video/creator-ui/server.js +877 -0
- package/dist/video/creator-ui/server.js.map +1 -0
- package/dist/video/csv-export.d.ts.map +1 -1
- package/dist/video/csv-export.js +2 -1
- package/dist/video/csv-export.js.map +1 -1
- package/dist/video/dependencies.d.ts.map +1 -1
- package/dist/video/dependencies.js +2 -1
- package/dist/video/dependencies.js.map +1 -1
- package/dist/video/dialogue.d.ts.map +1 -1
- package/dist/video/dialogue.js +7 -1
- package/dist/video/dialogue.js.map +1 -1
- package/dist/video/director-preflight.d.ts.map +1 -1
- package/dist/video/director-preflight.js +3 -2
- package/dist/video/director-preflight.js.map +1 -1
- package/dist/video/doctor-portfolio.d.ts.map +1 -1
- package/dist/video/doctor-portfolio.js +2 -1
- package/dist/video/doctor-portfolio.js.map +1 -1
- package/dist/video/doctor.d.ts.map +1 -1
- package/dist/video/doctor.js +2 -1
- package/dist/video/doctor.js.map +1 -1
- package/dist/video/environment-auto-create.d.ts +2 -0
- package/dist/video/environment-auto-create.d.ts.map +1 -1
- package/dist/video/environment-auto-create.js +17 -5
- package/dist/video/environment-auto-create.js.map +1 -1
- package/dist/video/errors.d.ts +1 -1
- package/dist/video/errors.d.ts.map +1 -1
- package/dist/video/errors.js +40 -0
- package/dist/video/errors.js.map +1 -1
- package/dist/video/execute-autochain.d.ts +40 -42
- package/dist/video/execute-autochain.d.ts.map +1 -1
- package/dist/video/execute-autochain.js +75 -124
- package/dist/video/execute-autochain.js.map +1 -1
- package/dist/video/execute-pool.d.ts +72 -0
- package/dist/video/execute-pool.d.ts.map +1 -0
- package/dist/video/execute-pool.js +99 -0
- package/dist/video/execute-pool.js.map +1 -0
- package/dist/video/execute-render-scenes.d.ts +91 -0
- package/dist/video/execute-render-scenes.d.ts.map +1 -0
- package/dist/video/execute-render-scenes.js +97 -0
- package/dist/video/execute-render-scenes.js.map +1 -0
- package/dist/video/execute.d.ts +9 -0
- package/dist/video/execute.d.ts.map +1 -1
- package/dist/video/execute.js +241 -33
- package/dist/video/execute.js.map +1 -1
- package/dist/video/execution-adapter.d.ts +52 -0
- package/dist/video/execution-adapter.d.ts.map +1 -0
- package/dist/video/execution-adapter.js +226 -0
- package/dist/video/execution-adapter.js.map +1 -0
- package/dist/video/execution-cancel.d.ts.map +1 -1
- package/dist/video/execution-cancel.js +2 -1
- package/dist/video/execution-cancel.js.map +1 -1
- package/dist/video/execution-character-locks.d.ts +24 -0
- package/dist/video/execution-character-locks.d.ts.map +1 -0
- package/dist/video/execution-character-locks.js +54 -0
- package/dist/video/execution-character-locks.js.map +1 -0
- package/dist/video/execution-plan.d.ts +11 -0
- package/dist/video/execution-plan.d.ts.map +1 -1
- package/dist/video/execution-plan.js +20 -7
- package/dist/video/execution-plan.js.map +1 -1
- package/dist/video/execution-profile.d.ts +14 -2
- package/dist/video/execution-profile.d.ts.map +1 -1
- package/dist/video/execution-profile.js +70 -12
- package/dist/video/execution-profile.js.map +1 -1
- package/dist/video/execution-runtime.d.ts +34 -27
- package/dist/video/execution-runtime.d.ts.map +1 -1
- package/dist/video/execution-runtime.js +291 -241
- package/dist/video/execution-runtime.js.map +1 -1
- package/dist/video/execution-seed.d.ts.map +1 -1
- package/dist/video/execution-seed.js +2 -1
- package/dist/video/execution-seed.js.map +1 -1
- package/dist/video/execution-status.d.ts +64 -1
- package/dist/video/execution-status.d.ts.map +1 -1
- package/dist/video/execution-status.js +311 -102
- package/dist/video/execution-status.js.map +1 -1
- package/dist/video/filmmaking-prompts.d.ts +68 -2
- package/dist/video/filmmaking-prompts.d.ts.map +1 -1
- package/dist/video/filmmaking-prompts.js +180 -86
- package/dist/video/filmmaking-prompts.js.map +1 -1
- package/dist/video/final-media.d.ts +7 -0
- package/dist/video/final-media.d.ts.map +1 -1
- package/dist/video/final-media.js +58 -7
- package/dist/video/final-media.js.map +1 -1
- package/dist/video/finish.d.ts +107 -5
- package/dist/video/finish.d.ts.map +1 -1
- package/dist/video/finish.js +249 -3
- package/dist/video/finish.js.map +1 -1
- package/dist/video/flow-account.d.ts +94 -0
- package/dist/video/flow-account.d.ts.map +1 -0
- package/dist/video/flow-account.js +209 -0
- package/dist/video/flow-account.js.map +1 -0
- package/dist/video/flow-captcha.d.ts +40 -0
- package/dist/video/flow-captcha.d.ts.map +1 -0
- package/dist/video/flow-captcha.js +54 -0
- package/dist/video/flow-captcha.js.map +1 -0
- package/dist/video/flow-character-library.d.ts +13 -0
- package/dist/video/flow-character-library.d.ts.map +1 -1
- package/dist/video/flow-character-library.js +21 -1
- package/dist/video/flow-character-library.js.map +1 -1
- package/dist/video/flow-media-url.d.ts +143 -0
- package/dist/video/flow-media-url.d.ts.map +1 -0
- package/dist/video/flow-media-url.js +195 -0
- package/dist/video/flow-media-url.js.map +1 -0
- package/dist/video/flow-resolution.d.ts +57 -0
- package/dist/video/flow-resolution.d.ts.map +1 -0
- package/dist/video/flow-resolution.js +80 -0
- package/dist/video/flow-resolution.js.map +1 -0
- package/dist/video/flow-upscale-finish.d.ts +142 -0
- package/dist/video/flow-upscale-finish.d.ts.map +1 -0
- package/dist/video/flow-upscale-finish.js +257 -0
- package/dist/video/flow-upscale-finish.js.map +1 -0
- package/dist/video/gemini-analyze.js +1 -1
- package/dist/video/gemini-analyze.js.map +1 -1
- package/dist/video/gen-image-flow.d.ts +48 -14
- package/dist/video/gen-image-flow.d.ts.map +1 -1
- package/dist/video/gen-image-flow.js +105 -35
- package/dist/video/gen-image-flow.js.map +1 -1
- package/dist/video/generation-telemetry.d.ts.map +1 -1
- package/dist/video/generation-telemetry.js +3 -2
- package/dist/video/generation-telemetry.js.map +1 -1
- package/dist/video/image-ops.d.ts +56 -0
- package/dist/video/image-ops.d.ts.map +1 -0
- package/dist/video/image-ops.js +62 -0
- package/dist/video/image-ops.js.map +1 -0
- package/dist/video/keyframe-qc.d.ts +142 -0
- package/dist/video/keyframe-qc.d.ts.map +1 -0
- package/dist/video/keyframe-qc.js +472 -0
- package/dist/video/keyframe-qc.js.map +1 -0
- package/dist/video/lane-coordinator.d.ts +98 -0
- package/dist/video/lane-coordinator.d.ts.map +1 -0
- package/dist/video/lane-coordinator.js +295 -0
- package/dist/video/lane-coordinator.js.map +1 -0
- package/dist/video/lane-queue.d.ts +102 -0
- package/dist/video/lane-queue.d.ts.map +1 -0
- package/dist/video/lane-queue.js +386 -0
- package/dist/video/lane-queue.js.map +1 -0
- package/dist/video/legacy-import.d.ts.map +1 -1
- package/dist/video/legacy-import.js +2 -1
- package/dist/video/legacy-import.js.map +1 -1
- package/dist/video/lip-sync.d.ts +140 -0
- package/dist/video/lip-sync.d.ts.map +1 -0
- package/dist/video/lip-sync.js +245 -0
- package/dist/video/lip-sync.js.map +1 -0
- package/dist/video/lipsync-closure.d.ts +93 -0
- package/dist/video/lipsync-closure.d.ts.map +1 -0
- package/dist/video/lipsync-closure.js +199 -0
- package/dist/video/lipsync-closure.js.map +1 -0
- package/dist/video/magnific/media-host.d.ts +13 -0
- package/dist/video/magnific/media-host.d.ts.map +1 -0
- package/dist/video/magnific/media-host.js +34 -0
- package/dist/video/magnific/media-host.js.map +1 -0
- package/dist/video/magnific/models.d.ts +44 -0
- package/dist/video/magnific/models.d.ts.map +1 -0
- package/dist/video/magnific/models.js +101 -0
- package/dist/video/magnific/models.js.map +1 -0
- package/dist/video/magnific/registry.d.ts +5 -0
- package/dist/video/magnific/registry.d.ts.map +1 -0
- package/dist/video/magnific/registry.js +16 -0
- package/dist/video/magnific/registry.js.map +1 -0
- package/dist/video/magnific/types.d.ts +30 -0
- package/dist/video/magnific/types.d.ts.map +1 -0
- package/dist/video/magnific/types.js +2 -0
- package/dist/video/magnific/types.js.map +1 -0
- package/dist/video/metrics.d.ts.map +1 -1
- package/dist/video/metrics.js +2 -1
- package/dist/video/metrics.js.map +1 -1
- package/dist/video/migrate-home.d.ts +46 -0
- package/dist/video/migrate-home.d.ts.map +1 -0
- package/dist/video/migrate-home.js +104 -0
- package/dist/video/migrate-home.js.map +1 -0
- package/dist/video/mograph/beats.d.ts +46 -0
- package/dist/video/mograph/beats.d.ts.map +1 -0
- package/dist/video/mograph/beats.js +159 -0
- package/dist/video/mograph/beats.js.map +1 -0
- package/dist/video/mograph/execute.d.ts +81 -0
- package/dist/video/mograph/execute.d.ts.map +1 -0
- package/dist/video/mograph/execute.js +53 -0
- package/dist/video/mograph/execute.js.map +1 -0
- package/dist/video/mograph/logos.d.ts +41 -0
- package/dist/video/mograph/logos.d.ts.map +1 -0
- package/dist/video/mograph/logos.js +65 -0
- package/dist/video/mograph/logos.js.map +1 -0
- package/dist/video/mograph/pack.d.ts +80 -0
- package/dist/video/mograph/pack.d.ts.map +1 -0
- package/dist/video/mograph/pack.js +455 -0
- package/dist/video/mograph/pack.js.map +1 -0
- package/dist/video/mograph/plan.d.ts +77 -0
- package/dist/video/mograph/plan.d.ts.map +1 -0
- package/dist/video/mograph/plan.js +146 -0
- package/dist/video/mograph/plan.js.map +1 -0
- package/dist/video/mograph/sheet.d.ts +48 -0
- package/dist/video/mograph/sheet.d.ts.map +1 -0
- package/dist/video/mograph/sheet.js +207 -0
- package/dist/video/mograph/sheet.js.map +1 -0
- package/dist/video/mograph/style-families.d.ts +43 -0
- package/dist/video/mograph/style-families.d.ts.map +1 -0
- package/dist/video/mograph/style-families.js +166 -0
- package/dist/video/mograph/style-families.js.map +1 -0
- package/dist/video/mograph/types.d.ts +160 -0
- package/dist/video/mograph/types.d.ts.map +1 -0
- package/dist/video/mograph/types.js +10 -0
- package/dist/video/mograph/types.js.map +1 -0
- package/dist/video/monitor/discovery.d.ts +50 -0
- package/dist/video/monitor/discovery.d.ts.map +1 -0
- package/dist/video/monitor/discovery.js +244 -0
- package/dist/video/monitor/discovery.js.map +1 -0
- package/dist/video/monitor/live-page.d.ts +23 -0
- package/dist/video/monitor/live-page.d.ts.map +1 -0
- package/dist/video/monitor/live-page.js +24 -0
- package/dist/video/monitor/live-page.js.map +1 -0
- package/dist/video/monitor/overview-html.d.ts +3 -0
- package/dist/video/monitor/overview-html.d.ts.map +1 -0
- package/dist/video/monitor/overview-html.js +758 -0
- package/dist/video/monitor/overview-html.js.map +1 -0
- package/dist/video/monitor/project-detail.d.ts +17 -0
- package/dist/video/monitor/project-detail.d.ts.map +1 -0
- package/dist/video/monitor/project-detail.js +253 -0
- package/dist/video/monitor/project-detail.js.map +1 -0
- package/dist/video/monitor/serve.d.ts +13 -0
- package/dist/video/monitor/serve.d.ts.map +1 -0
- package/dist/video/monitor/serve.js +206 -0
- package/dist/video/monitor/serve.js.map +1 -0
- package/dist/video/monitor/thumbnails.d.ts +24 -0
- package/dist/video/monitor/thumbnails.d.ts.map +1 -0
- package/dist/video/monitor/thumbnails.js +70 -0
- package/dist/video/monitor/thumbnails.js.map +1 -0
- package/dist/video/monitor/types.d.ts +37 -0
- package/dist/video/monitor/types.d.ts.map +1 -0
- package/dist/video/monitor/types.js +2 -0
- package/dist/video/monitor/types.js.map +1 -0
- package/dist/video/monitor/workspace.d.ts +11 -0
- package/dist/video/monitor/workspace.d.ts.map +1 -0
- package/dist/video/monitor/workspace.js +65 -0
- package/dist/video/monitor/workspace.js.map +1 -0
- package/dist/video/motion-artifact-qc.d.ts +157 -0
- package/dist/video/motion-artifact-qc.d.ts.map +1 -0
- package/dist/video/motion-artifact-qc.js +390 -0
- package/dist/video/motion-artifact-qc.js.map +1 -0
- package/dist/video/motion-overlay/animate.d.ts +7 -0
- package/dist/video/motion-overlay/animate.d.ts.map +1 -1
- package/dist/video/motion-overlay/animate.js +15 -0
- package/dist/video/motion-overlay/animate.js.map +1 -1
- package/dist/video/motion-overlay/avatar-host-transport.d.ts +22 -0
- package/dist/video/motion-overlay/avatar-host-transport.d.ts.map +1 -1
- package/dist/video/motion-overlay/avatar-host-transport.js +62 -12
- package/dist/video/motion-overlay/avatar-host-transport.js.map +1 -1
- package/dist/video/motion-overlay/motifs.d.ts +14 -0
- package/dist/video/motion-overlay/motifs.d.ts.map +1 -1
- package/dist/video/motion-overlay/motifs.js +24 -0
- package/dist/video/motion-overlay/motifs.js.map +1 -1
- package/dist/video/motion-overlay/motion-style.d.ts +8 -4
- package/dist/video/motion-overlay/motion-style.d.ts.map +1 -1
- package/dist/video/motion-overlay/motion-style.js +24 -1
- package/dist/video/motion-overlay/motion-style.js.map +1 -1
- package/dist/video/motion-overlay/preview.d.ts +2 -0
- package/dist/video/motion-overlay/preview.d.ts.map +1 -1
- package/dist/video/motion-overlay/preview.js +97 -0
- package/dist/video/motion-overlay/preview.js.map +1 -1
- package/dist/video/motion-overlay/render-local.d.ts +18 -0
- package/dist/video/motion-overlay/render-local.d.ts.map +1 -1
- package/dist/video/motion-overlay/render-local.js +41 -0
- package/dist/video/motion-overlay/render-local.js.map +1 -1
- package/dist/video/motion-overlay/types.d.ts +1 -1
- package/dist/video/motion-overlay/types.js +1 -1
- package/dist/video/motion-overlay/v2v-transport.d.ts +53 -1
- package/dist/video/motion-overlay/v2v-transport.d.ts.map +1 -1
- package/dist/video/motion-overlay/v2v-transport.js +104 -16
- package/dist/video/motion-overlay/v2v-transport.js.map +1 -1
- package/dist/video/multi-shot-prompt.d.ts +52 -1
- package/dist/video/multi-shot-prompt.d.ts.map +1 -1
- package/dist/video/multi-shot-prompt.js +140 -17
- package/dist/video/multi-shot-prompt.js.map +1 -1
- package/dist/video/music-video.d.ts +63 -0
- package/dist/video/music-video.d.ts.map +1 -1
- package/dist/video/music-video.js +47 -1
- package/dist/video/music-video.js.map +1 -1
- package/dist/video/narrate.d.ts.map +1 -1
- package/dist/video/narrate.js +11 -3
- package/dist/video/narrate.js.map +1 -1
- package/dist/video/native-dreamina.d.ts +25 -0
- package/dist/video/native-dreamina.d.ts.map +1 -1
- package/dist/video/native-dreamina.js +179 -36
- package/dist/video/native-dreamina.js.map +1 -1
- package/dist/video/native-flow-r2v.d.ts +55 -1
- package/dist/video/native-flow-r2v.d.ts.map +1 -1
- package/dist/video/native-flow-r2v.js +99 -10
- package/dist/video/native-flow-r2v.js.map +1 -1
- package/dist/video/native-magnific.d.ts +57 -0
- package/dist/video/native-magnific.d.ts.map +1 -0
- package/dist/video/native-magnific.js +368 -0
- package/dist/video/native-magnific.js.map +1 -0
- package/dist/video/native-runway-upscale.d.ts +68 -0
- package/dist/video/native-runway-upscale.d.ts.map +1 -0
- package/dist/video/native-runway-upscale.js +161 -0
- package/dist/video/native-runway-upscale.js.map +1 -0
- package/dist/video/native-runway.d.ts.map +1 -1
- package/dist/video/native-runway.js +80 -17
- package/dist/video/native-runway.js.map +1 -1
- package/dist/video/native-seedance.d.ts.map +1 -1
- package/dist/video/native-seedance.js +9 -4
- package/dist/video/native-seedance.js.map +1 -1
- package/dist/video/native-veo.d.ts +49 -5
- package/dist/video/native-veo.d.ts.map +1 -1
- package/dist/video/native-veo.js +264 -31
- package/dist/video/native-veo.js.map +1 -1
- package/dist/video/next-actions.d.ts.map +1 -1
- package/dist/video/next-actions.js +2 -1
- package/dist/video/next-actions.js.map +1 -1
- package/dist/video/obsidian-export.d.ts.map +1 -1
- package/dist/video/obsidian-export.js +2 -1
- package/dist/video/obsidian-export.js.map +1 -1
- package/dist/video/obsidian-sync.d.ts.map +1 -1
- package/dist/video/obsidian-sync.js +2 -1
- package/dist/video/obsidian-sync.js.map +1 -1
- package/dist/video/optical-register.d.ts +27 -0
- package/dist/video/optical-register.d.ts.map +1 -0
- package/dist/video/optical-register.js +66 -0
- package/dist/video/optical-register.js.map +1 -0
- package/dist/video/output-diagnosis.d.ts +30 -0
- package/dist/video/output-diagnosis.d.ts.map +1 -0
- package/dist/video/output-diagnosis.js +98 -0
- package/dist/video/output-diagnosis.js.map +1 -0
- package/dist/video/playbooks.d.ts.map +1 -1
- package/dist/video/playbooks.js +16 -2
- package/dist/video/playbooks.js.map +1 -1
- package/dist/video/post-production.d.ts +25 -2
- package/dist/video/post-production.d.ts.map +1 -1
- package/dist/video/post-production.js +114 -46
- package/dist/video/post-production.js.map +1 -1
- package/dist/video/preview-portal/discovery.d.ts +7 -0
- package/dist/video/preview-portal/discovery.d.ts.map +1 -1
- package/dist/video/preview-portal/discovery.js +71 -2
- package/dist/video/preview-portal/discovery.js.map +1 -1
- package/dist/video/preview-portal/gallery.d.ts +15 -0
- package/dist/video/preview-portal/gallery.d.ts.map +1 -0
- package/dist/video/preview-portal/gallery.js +27 -0
- package/dist/video/preview-portal/gallery.js.map +1 -0
- package/dist/video/preview-portal/generate.d.ts +10 -0
- package/dist/video/preview-portal/generate.d.ts.map +1 -1
- package/dist/video/preview-portal/generate.js +33 -5
- package/dist/video/preview-portal/generate.js.map +1 -1
- package/dist/video/preview-portal/index.d.ts +2 -2
- package/dist/video/preview-portal/index.d.ts.map +1 -1
- package/dist/video/preview-portal/index.js +1 -1
- package/dist/video/preview-portal/index.js.map +1 -1
- package/dist/video/preview-portal/render.d.ts.map +1 -1
- package/dist/video/preview-portal/render.js +321 -7
- package/dist/video/preview-portal/render.js.map +1 -1
- package/dist/video/preview-portal/run-discovery.d.ts +3 -0
- package/dist/video/preview-portal/run-discovery.d.ts.map +1 -0
- package/dist/video/preview-portal/run-discovery.js +359 -0
- package/dist/video/preview-portal/run-discovery.js.map +1 -0
- package/dist/video/preview-portal/shared-assets.d.ts +7 -2
- package/dist/video/preview-portal/shared-assets.d.ts.map +1 -1
- package/dist/video/preview-portal/shared-assets.js +100 -2
- package/dist/video/preview-portal/shared-assets.js.map +1 -1
- package/dist/video/preview-portal/types.d.ts +125 -2
- package/dist/video/preview-portal/types.d.ts.map +1 -1
- package/dist/video/preview-portal/types.js +6 -0
- package/dist/video/preview-portal/types.js.map +1 -1
- package/dist/video/project-index.d.ts.map +1 -1
- package/dist/video/project-index.js +2 -1
- package/dist/video/project-index.js.map +1 -1
- package/dist/video/projects.d.ts.map +1 -1
- package/dist/video/projects.js +2 -1
- package/dist/video/projects.js.map +1 -1
- package/dist/video/prompt-library.d.ts.map +1 -1
- package/dist/video/prompt-library.js +10 -2
- package/dist/video/prompt-library.js.map +1 -1
- package/dist/video/prompt-lint.d.ts +30 -4
- package/dist/video/prompt-lint.d.ts.map +1 -1
- package/dist/video/prompt-lint.js +278 -6
- package/dist/video/prompt-lint.js.map +1 -1
- package/dist/video/prompt-quality.d.ts +20 -1
- package/dist/video/prompt-quality.d.ts.map +1 -1
- package/dist/video/prompt-quality.js +51 -5
- package/dist/video/prompt-quality.js.map +1 -1
- package/dist/video/prompt-rules.d.ts +10 -0
- package/dist/video/prompt-rules.d.ts.map +1 -1
- package/dist/video/prompt-rules.js +26 -3
- package/dist/video/prompt-rules.js.map +1 -1
- package/dist/video/provider-adapter-runner.d.ts.map +1 -1
- package/dist/video/provider-adapter-runner.js +32 -0
- package/dist/video/provider-adapter-runner.js.map +1 -1
- package/dist/video/provider-platform/registry.d.ts.map +1 -1
- package/dist/video/provider-platform/registry.js +40 -0
- package/dist/video/provider-platform/registry.js.map +1 -1
- package/dist/video/provider-platform/route-capabilities.d.ts +14 -0
- package/dist/video/provider-platform/route-capabilities.d.ts.map +1 -1
- package/dist/video/provider-platform/route-capabilities.js +60 -8
- package/dist/video/provider-platform/route-capabilities.js.map +1 -1
- package/dist/video/provider-platform/route-prerequisites.d.ts +66 -0
- package/dist/video/provider-platform/route-prerequisites.d.ts.map +1 -0
- package/dist/video/provider-platform/route-prerequisites.js +60 -0
- package/dist/video/provider-platform/route-prerequisites.js.map +1 -0
- package/dist/video/provider-platform/types.d.ts +2 -2
- package/dist/video/provider-platform/types.d.ts.map +1 -1
- package/dist/video/provider-platform/types.js +1 -0
- package/dist/video/provider-platform/types.js.map +1 -1
- package/dist/video/provider-status.d.ts +9 -0
- package/dist/video/provider-status.d.ts.map +1 -1
- package/dist/video/provider-status.js +52 -48
- package/dist/video/provider-status.js.map +1 -1
- package/dist/video/providers/dreamina-useapi.d.ts +20 -3
- package/dist/video/providers/dreamina-useapi.d.ts.map +1 -1
- package/dist/video/providers/dreamina-useapi.js +10 -0
- package/dist/video/providers/dreamina-useapi.js.map +1 -1
- package/dist/video/providers/google-flow.d.ts +40 -15
- package/dist/video/providers/google-flow.d.ts.map +1 -1
- package/dist/video/providers/google-flow.js +51 -4
- package/dist/video/providers/google-flow.js.map +1 -1
- package/dist/video/providers/runway-useapi.d.ts +5 -4
- package/dist/video/providers/runway-useapi.d.ts.map +1 -1
- package/dist/video/providers/runway-useapi.js.map +1 -1
- package/dist/video/providers/xskill.d.ts +6 -3
- package/dist/video/providers/xskill.d.ts.map +1 -1
- package/dist/video/providers/xskill.js +7 -4
- package/dist/video/providers/xskill.js.map +1 -1
- package/dist/video/publish-platform/package.d.ts +29 -0
- package/dist/video/publish-platform/package.d.ts.map +1 -0
- package/dist/video/publish-platform/package.js +270 -0
- package/dist/video/publish-platform/package.js.map +1 -0
- package/dist/video/publish-platform/profiles.d.ts +5 -0
- package/dist/video/publish-platform/profiles.d.ts.map +1 -0
- package/dist/video/publish-platform/profiles.js +171 -0
- package/dist/video/publish-platform/profiles.js.map +1 -0
- package/dist/video/publish-platform/types.d.ts +120 -0
- package/dist/video/publish-platform/types.d.ts.map +1 -0
- package/dist/video/publish-platform/types.js +2 -0
- package/dist/video/publish-platform/types.js.map +1 -0
- package/dist/video/publish-platform/validate.d.ts +9 -0
- package/dist/video/publish-platform/validate.d.ts.map +1 -0
- package/dist/video/publish-platform/validate.js +177 -0
- package/dist/video/publish-platform/validate.js.map +1 -0
- package/dist/video/readiness.d.ts +14 -1
- package/dist/video/readiness.d.ts.map +1 -1
- package/dist/video/readiness.js +24 -2
- package/dist/video/readiness.js.map +1 -1
- package/dist/video/reference-transfer.d.ts +38 -0
- package/dist/video/reference-transfer.d.ts.map +1 -0
- package/dist/video/reference-transfer.js +104 -0
- package/dist/video/reference-transfer.js.map +1 -0
- package/dist/video/reframe/captions.d.ts +20 -0
- package/dist/video/reframe/captions.d.ts.map +1 -0
- package/dist/video/reframe/captions.js +131 -0
- package/dist/video/reframe/captions.js.map +1 -0
- package/dist/video/reframe/index.d.ts +37 -0
- package/dist/video/reframe/index.d.ts.map +1 -0
- package/dist/video/reframe/index.js +68 -0
- package/dist/video/reframe/index.js.map +1 -0
- package/dist/video/reframe/plan.d.ts +4 -0
- package/dist/video/reframe/plan.d.ts.map +1 -0
- package/dist/video/reframe/plan.js +211 -0
- package/dist/video/reframe/plan.js.map +1 -0
- package/dist/video/reframe/qc.d.ts +17 -0
- package/dist/video/reframe/qc.d.ts.map +1 -0
- package/dist/video/reframe/qc.js +95 -0
- package/dist/video/reframe/qc.js.map +1 -0
- package/dist/video/reframe/render.d.ts +17 -0
- package/dist/video/reframe/render.d.ts.map +1 -0
- package/dist/video/reframe/render.js +103 -0
- package/dist/video/reframe/render.js.map +1 -0
- package/dist/video/reframe/suggest.d.ts +17 -0
- package/dist/video/reframe/suggest.d.ts.map +1 -0
- package/dist/video/reframe/suggest.js +76 -0
- package/dist/video/reframe/suggest.js.map +1 -0
- package/dist/video/reframe/template.d.ts +16 -0
- package/dist/video/reframe/template.d.ts.map +1 -0
- package/dist/video/reframe/template.js +45 -0
- package/dist/video/reframe/template.js.map +1 -0
- package/dist/video/reframe/types.d.ts +77 -0
- package/dist/video/reframe/types.d.ts.map +1 -0
- package/dist/video/reframe/types.js +2 -0
- package/dist/video/reframe/types.js.map +1 -0
- package/dist/video/remix-narrated.d.ts.map +1 -1
- package/dist/video/remix-narrated.js +2 -1
- package/dist/video/remix-narrated.js.map +1 -1
- package/dist/video/report-diff.d.ts.map +1 -1
- package/dist/video/report-diff.js +2 -1
- package/dist/video/report-diff.js.map +1 -1
- package/dist/video/report-history.d.ts.map +1 -1
- package/dist/video/report-history.js +4 -3
- package/dist/video/report-history.js.map +1 -1
- package/dist/video/report.d.ts.map +1 -1
- package/dist/video/report.js +2 -1
- package/dist/video/report.js.map +1 -1
- package/dist/video/retake-protocol.d.ts +56 -0
- package/dist/video/retake-protocol.d.ts.map +1 -0
- package/dist/video/retake-protocol.js +113 -0
- package/dist/video/retake-protocol.js.map +1 -0
- package/dist/video/review-ui-media-proxy.d.ts +15 -0
- package/dist/video/review-ui-media-proxy.d.ts.map +1 -0
- package/dist/video/review-ui-media-proxy.js +184 -0
- package/dist/video/review-ui-media-proxy.js.map +1 -0
- package/dist/video/review-ui-server.d.ts +40 -0
- package/dist/video/review-ui-server.d.ts.map +1 -0
- package/dist/video/review-ui-server.js +286 -0
- package/dist/video/review-ui-server.js.map +1 -0
- package/dist/video/review-ui.d.ts +9 -0
- package/dist/video/review-ui.d.ts.map +1 -1
- package/dist/video/review-ui.js +35 -267
- package/dist/video/review-ui.js.map +1 -1
- package/dist/video/run-state/normalize.d.ts +12 -0
- package/dist/video/run-state/normalize.d.ts.map +1 -0
- package/dist/video/run-state/normalize.js +31 -0
- package/dist/video/run-state/normalize.js.map +1 -0
- package/dist/video/run-state/read.d.ts +5 -0
- package/dist/video/run-state/read.d.ts.map +1 -0
- package/dist/video/run-state/read.js +58 -0
- package/dist/video/run-state/read.js.map +1 -0
- package/dist/video/run-state/types.d.ts +32 -0
- package/dist/video/run-state/types.d.ts.map +1 -0
- package/dist/video/run-state/types.js +2 -0
- package/dist/video/run-state/types.js.map +1 -0
- package/dist/video/run-status.d.ts +70 -0
- package/dist/video/run-status.d.ts.map +1 -0
- package/dist/video/run-status.js +123 -0
- package/dist/video/run-status.js.map +1 -0
- package/dist/video/scene-candidate-store.d.ts +20 -0
- package/dist/video/scene-candidate-store.d.ts.map +1 -1
- package/dist/video/scene-candidate-store.js +30 -0
- package/dist/video/scene-candidate-store.js.map +1 -1
- package/dist/video/scene-candidates.d.ts +12 -0
- package/dist/video/scene-candidates.d.ts.map +1 -1
- package/dist/video/scene-candidates.js +21 -0
- package/dist/video/scene-candidates.js.map +1 -1
- package/dist/video/scene-headcount.d.ts +52 -0
- package/dist/video/scene-headcount.d.ts.map +1 -0
- package/dist/video/scene-headcount.js +122 -0
- package/dist/video/scene-headcount.js.map +1 -0
- package/dist/video/scene-selection.d.ts +19 -0
- package/dist/video/scene-selection.d.ts.map +1 -1
- package/dist/video/scene-selection.js +38 -0
- package/dist/video/scene-selection.js.map +1 -1
- package/dist/video/seedance-antislop.d.ts +55 -0
- package/dist/video/seedance-antislop.d.ts.map +1 -0
- package/dist/video/seedance-antislop.js +238 -0
- package/dist/video/seedance-antislop.js.map +1 -0
- package/dist/video/seedance-blocks.d.ts +55 -2
- package/dist/video/seedance-blocks.d.ts.map +1 -1
- package/dist/video/seedance-blocks.js +100 -3
- package/dist/video/seedance-blocks.js.map +1 -1
- package/dist/video/seedance-content-filter.d.ts.map +1 -1
- package/dist/video/seedance-content-filter.js +84 -4
- package/dist/video/seedance-content-filter.js.map +1 -1
- package/dist/video/sfx.d.ts.map +1 -1
- package/dist/video/sfx.js +6 -1
- package/dist/video/sfx.js.map +1 -1
- package/dist/video/show-bible-attach.d.ts +87 -0
- package/dist/video/show-bible-attach.d.ts.map +1 -0
- package/dist/video/show-bible-attach.js +186 -0
- package/dist/video/show-bible-attach.js.map +1 -0
- package/dist/video/show-preflight.d.ts +33 -0
- package/dist/video/show-preflight.d.ts.map +1 -0
- package/dist/video/show-preflight.js +262 -0
- package/dist/video/show-preflight.js.map +1 -0
- package/dist/video/soundtrack.d.ts.map +1 -1
- package/dist/video/soundtrack.js +8 -1
- package/dist/video/soundtrack.js.map +1 -1
- package/dist/video/stage-guards.d.ts.map +1 -1
- package/dist/video/stage-guards.js +20 -0
- package/dist/video/stage-guards.js.map +1 -1
- package/dist/video/status.d.ts.map +1 -1
- package/dist/video/status.js +2 -1
- package/dist/video/status.js.map +1 -1
- package/dist/video/stock-platform/providers/pexels.d.ts +5 -0
- package/dist/video/stock-platform/providers/pexels.d.ts.map +1 -0
- package/dist/video/stock-platform/providers/pexels.js +218 -0
- package/dist/video/stock-platform/providers/pexels.js.map +1 -0
- package/dist/video/stock-platform/registry.d.ts +4 -0
- package/dist/video/stock-platform/registry.d.ts.map +1 -0
- package/dist/video/stock-platform/registry.js +17 -0
- package/dist/video/stock-platform/registry.js.map +1 -0
- package/dist/video/stock-platform/rights.d.ts +10 -0
- package/dist/video/stock-platform/rights.d.ts.map +1 -0
- package/dist/video/stock-platform/rights.js +133 -0
- package/dist/video/stock-platform/rights.js.map +1 -0
- package/dist/video/stock-platform/store.d.ts +22 -0
- package/dist/video/stock-platform/store.d.ts.map +1 -0
- package/dist/video/stock-platform/store.js +391 -0
- package/dist/video/stock-platform/store.js.map +1 -0
- package/dist/video/stock-platform/types.d.ts +106 -0
- package/dist/video/stock-platform/types.d.ts.map +1 -0
- package/dist/video/stock-platform/types.js +2 -0
- package/dist/video/stock-platform/types.js.map +1 -0
- package/dist/video/story-bible.d.ts +16 -0
- package/dist/video/story-bible.d.ts.map +1 -1
- package/dist/video/story-bible.js +4 -0
- package/dist/video/story-bible.js.map +1 -1
- package/dist/video/storyboard-grid.d.ts.map +1 -1
- package/dist/video/storyboard-grid.js +2 -1
- package/dist/video/storyboard-grid.js.map +1 -1
- package/dist/video/storyboard-markdown.d.ts.map +1 -1
- package/dist/video/storyboard-markdown.js +4 -3
- package/dist/video/storyboard-markdown.js.map +1 -1
- package/dist/video/studio/execute.d.ts.map +1 -1
- package/dist/video/studio/execute.js +13 -1
- package/dist/video/studio/execute.js.map +1 -1
- package/dist/video/studio/planner.d.ts.map +1 -1
- package/dist/video/studio/planner.js +165 -2
- package/dist/video/studio/planner.js.map +1 -1
- package/dist/video/studio/recipes.d.ts.map +1 -1
- package/dist/video/studio/recipes.js +240 -3
- package/dist/video/studio/recipes.js.map +1 -1
- package/dist/video/studio/types.d.ts +66 -1
- package/dist/video/studio/types.d.ts.map +1 -1
- package/dist/video/style-register.d.ts +82 -0
- package/dist/video/style-register.d.ts.map +1 -0
- package/dist/video/style-register.js +509 -0
- package/dist/video/style-register.js.map +1 -0
- package/dist/video/template-store.d.ts.map +1 -1
- package/dist/video/template-store.js +6 -5
- package/dist/video/template-store.js.map +1 -1
- package/dist/video/timeline.d.ts.map +1 -1
- package/dist/video/timeline.js +2 -1
- package/dist/video/timeline.js.map +1 -1
- package/dist/video/types.d.ts +72 -1
- package/dist/video/types.d.ts.map +1 -1
- package/dist/video/veo-runtime.d.ts +17 -0
- package/dist/video/veo-runtime.d.ts.map +1 -0
- package/dist/video/veo-runtime.js +40 -0
- package/dist/video/veo-runtime.js.map +1 -0
- package/dist/video/veo-subprocess.d.ts +1 -1
- package/dist/video/veo-subprocess.d.ts.map +1 -1
- package/dist/video/veo-subprocess.js +5 -12
- package/dist/video/veo-subprocess.js.map +1 -1
- package/dist/video/verify-env.d.ts +30 -0
- package/dist/video/verify-env.d.ts.map +1 -1
- package/dist/video/verify-env.js +125 -12
- package/dist/video/verify-env.js.map +1 -1
- package/dist/video/verify-final.d.ts +4 -0
- package/dist/video/verify-final.d.ts.map +1 -1
- package/dist/video/verify-final.js +41 -10
- package/dist/video/verify-final.js.map +1 -1
- package/dist/video/vfx-register.d.ts +32 -0
- package/dist/video/vfx-register.d.ts.map +1 -0
- package/dist/video/vfx-register.js +85 -0
- package/dist/video/vfx-register.js.map +1 -0
- package/dist/video/video-context.d.ts.map +1 -1
- package/dist/video/video-context.js +3 -2
- package/dist/video/video-context.js.map +1 -1
- package/dist/video/vocal-map.d.ts +18 -0
- package/dist/video/vocal-map.d.ts.map +1 -1
- package/dist/video/vocal-map.js +22 -1
- package/dist/video/vocal-map.js.map +1 -1
- package/dist/video/vocal-sync-plan.d.ts +10 -0
- package/dist/video/vocal-sync-plan.d.ts.map +1 -1
- package/dist/video/vocal-sync-plan.js +43 -8
- package/dist/video/vocal-sync-plan.js.map +1 -1
- package/dist/video/workload.d.ts.map +1 -1
- package/dist/video/workload.js +2 -1
- package/dist/video/workload.js.map +1 -1
- package/dist/video/workspace-root.d.ts +21 -0
- package/dist/video/workspace-root.d.ts.map +1 -0
- package/dist/video/workspace-root.js +34 -0
- package/dist/video/workspace-root.js.map +1 -0
- package/dist/video/workspace.d.ts +34 -0
- package/dist/video/workspace.d.ts.map +1 -1
- package/dist/video/workspace.js +27 -2
- package/dist/video/workspace.js.map +1 -1
- package/docs/AGENT_INTEGRATION_RESEARCH.md +1 -1
- package/docs/AGENT_QUICKSTART.md +159 -0
- package/docs/ARCHITECTURE.md +61 -10
- package/docs/ASSEMBLE.md +58 -8
- package/docs/BRAND_AGENCY.md +2 -2
- package/docs/CAPABILITIES.md +357 -0
- package/docs/CLI_REFERENCE.md +1212 -108
- package/docs/CODEBASE_REVIEW_PROMPT.md +122 -0
- package/docs/CONCIERGE_PROMPT.md +12 -4
- package/docs/CREATOR_DEMO.md +31 -0
- package/docs/Claude Code + Higgsfield MCP = FULL Creative Agency.md +2 -2
- package/docs/DIAGRAMS_SOURCE.md +2 -13
- package/docs/DIRECTOR_BLUEPRINT.md +1 -1
- package/docs/ENGINE_ESCAPE_AUDIT.md +86 -0
- package/docs/IMPROVE_PROMPT.md +3 -0
- package/docs/MASTER_PLAN_ALIGNMENT.md +1 -1
- package/docs/MIGRATION.md +2 -2
- package/docs/MOGRAPH.md +224 -0
- package/docs/MOTION_OVERLAY.md +43 -13
- package/docs/OPERATIONS.md +123 -23
- package/docs/PRODUCTION_WORKFLOW.md +20 -1
- package/docs/PROJECT_LAYOUT.md +37 -1
- package/docs/PROMPT_QUALITY.md +26 -7
- package/docs/PROVIDER_PLATFORM.md +125 -4
- package/docs/PUBLISHING.md +85 -154
- package/docs/PYTHON_PIPELINE.md +47 -6
- package/docs/RELEASE_READINESS.md +95 -560
- package/docs/RELEASE_READINESS_HISTORY.md +609 -0
- package/docs/SEEDANCE_HARVEST.md +76 -0
- package/docs/SHARED_QUEUE.md +275 -0
- package/docs/SKILLS.md +68 -63
- package/docs/STUDIO.md +15 -2
- package/docs/UNIFICATION_AUDIT.md +1 -1
- package/docs/adapters/higgs-cloak.md +95 -0
- package/docs/adr/0001-no-silent-fallback-across-provider-routes.md +5 -0
- package/docs/adr/0002-on-disk-project-is-source-of-truth.md +5 -0
- package/docs/adr/0003-seedance-identity-via-asset-library.md +5 -0
- package/docs/adr/0004-director-mode-storyboard-approval-gate.md +5 -0
- package/docs/adr/0005-free-higgsfield-seedance-via-external-adapter.md +7 -0
- package/docs/adr/0006-vendor-seedance-engine-in-tree.md +11 -0
- package/docs/adr/0007-separate-unlimited-premium-and-official-higgsfield-routes.md +11 -0
- package/docs/adr/0008-one-durable-production-queue.md +13 -0
- package/docs/adr/0009-one-html5-production-review-console.md +11 -0
- package/docs/adr/README.md +11 -0
- package/docs/assets/diagram-architecture.jpg +0 -0
- package/docs/assets/diagram-assemble.jpg +0 -0
- package/docs/assets/diagram-lifecycle.jpg +0 -0
- package/docs/assets/diagram-obsidian-loop.jpg +0 -0
- package/docs/assets/diagram-obsidian-vault.jpg +0 -0
- package/docs/assets/diagram-routing.jpg +0 -0
- package/docs/assets/diagram-skills-ecosystem.jpg +0 -0
- package/docs/assets/diagram-story-bible.jpg +0 -0
- package/docs/assets/diagram-studio-goals.jpg +0 -0
- package/docs/preview-portal-audit.md +91 -11
- package/engines/seedance-direct/README.md +185 -0
- package/engines/seedance-direct/adapter.py +2042 -0
- package/engines/seedance-direct/bootstrap/capture_voice_upload.py +375 -0
- package/engines/seedance-direct/bootstrap/find_cookies.py +47 -0
- package/engines/seedance-direct/bootstrap/import_cookies.py +81 -0
- package/engines/seedance-direct/bootstrap.sh +32 -0
- package/engines/seedance-direct/requirements.txt +5 -0
- package/engines/seedance-direct/run.sh +8 -0
- package/engines/seedance-direct/test_adapter.py +1645 -0
- package/mcp/skills-pack/videoclaw-check-status/SKILL.md +27 -0
- package/mcp/skills-pack/videoclaw-create-video/SKILL.md +43 -0
- package/mcp/skills-pack/videoclaw-portfolio-review/SKILL.md +20 -0
- package/package.json +66 -10
- package/references/video/multi-shot-framework.md +84 -3
- package/references/video/seedance-skills/model-mechanics.md +83 -0
- package/references/video/seedance-transport-payloads.md +93 -3
- package/schemas/video/artifacts/ad-intel-teardown.schema.json +57 -0
- package/schemas/video/artifacts/ad-intel.schema.json +119 -0
- package/schemas/video/artifacts/asset-manifest.schema.json +78 -2
- package/schemas/video/artifacts/cinema-asset-evidence.schema.json +22 -0
- package/schemas/video/artifacts/cinema-asset-registry.schema.json +58 -0
- package/schemas/video/artifacts/cinema-candidate-bridge-receipt.schema.json +55 -0
- package/schemas/video/artifacts/cinema-candidate-review.schema.json +55 -0
- package/schemas/video/artifacts/cinema-capability-snapshot.schema.json +47 -0
- package/schemas/video/artifacts/cinema-character-sheet.schema.json +105 -0
- package/schemas/video/artifacts/cinema-continuity-ledger.schema.json +47 -0
- package/schemas/video/artifacts/cinema-coverage.schema.json +19 -0
- package/schemas/video/artifacts/cinema-creative-contract.schema.json +41 -0
- package/schemas/video/artifacts/cinema-delivery-manifest.schema.json +68 -0
- package/schemas/video/artifacts/cinema-direct-ai-film-import-receipt.schema.json +40 -0
- package/schemas/video/artifacts/cinema-direct-ai-film-migration-report.schema.json +82 -0
- package/schemas/video/artifacts/cinema-evidence-ledger.schema.json +42 -0
- package/schemas/video/artifacts/cinema-generation-authorization.schema.json +33 -0
- package/schemas/video/artifacts/cinema-generation-ledger.schema.json +94 -0
- package/schemas/video/artifacts/cinema-generation-quote.schema.json +55 -0
- package/schemas/video/artifacts/cinema-geography-map.schema.json +20 -0
- package/schemas/video/artifacts/cinema-historical-import-receipt.schema.json +94 -0
- package/schemas/video/artifacts/cinema-historical-review.schema.json +68 -0
- package/schemas/video/artifacts/cinema-planning-receipt.schema.json +21 -0
- package/schemas/video/artifacts/cinema-preflight-report.schema.json +21 -0
- package/schemas/video/artifacts/cinema-production-queue.schema.json +132 -0
- package/schemas/video/artifacts/cinema-project-archive-manifest.schema.json +34 -0
- package/schemas/video/artifacts/cinema-project-archive-receipt.schema.json +27 -0
- package/schemas/video/artifacts/cinema-project-restore-receipt.schema.json +41 -0
- package/schemas/video/artifacts/cinema-provider-projection-bundle.schema.json +46 -0
- package/schemas/video/artifacts/cinema-queue-compatibility-receipt.schema.json +39 -0
- package/schemas/video/artifacts/cinema-reference-pack.schema.json +73 -0
- package/schemas/video/artifacts/cinema-rights-registry.schema.json +14 -0
- package/schemas/video/artifacts/cinema-scope-report.schema.json +55 -0
- package/schemas/video/artifacts/cinema-shot-manifest.schema.json +121 -0
- package/schemas/video/artifacts/cinema-story-bible.schema.json +74 -0
- package/schemas/video/artifacts/cinema-timed-audio-contract.schema.json +42 -0
- package/schemas/video/artifacts/cinema-visual-sound-bible.schema.json +25 -0
- package/schemas/video/artifacts/cinema-voice-registry.schema.json +14 -0
- package/schemas/video/artifacts/clip-qc.schema.json +73 -0
- package/schemas/video/artifacts/consistency-audit.schema.json +83 -0
- package/schemas/video/artifacts/execution-plan.schema.json +3 -2
- package/schemas/video/artifacts/execution-report.schema.json +13 -2
- package/schemas/video/artifacts/keyframe-qc.schema.json +82 -0
- package/schemas/video/artifacts/motion-artifact-qc.schema.json +73 -0
- package/schemas/video/artifacts/motion-pack.schema.json +78 -0
- package/schemas/video/artifacts/motion-sheet.schema.json +109 -0
- package/schemas/video/artifacts/publish-metadata.schema.json +27 -0
- package/schemas/video/artifacts/publish-report.schema.json +32 -1
- package/schemas/video/artifacts/reframe-plan.schema.json +116 -0
- package/schemas/video/artifacts/reframe-qc.schema.json +47 -0
- package/schemas/video/artifacts/run-contract.schema.json +62 -0
- package/schemas/video/artifacts/scene-candidates.schema.json +2 -0
- package/schemas/video/artifacts/shot-table.schema.json +313 -0
- package/schemas/video/artifacts/stock-import-receipt.schema.json +73 -0
- package/schemas/video/artifacts/storyboard.schema.json +4 -0
- package/schemas/video/errors.json +21 -1
- package/scripts/detach.py +124 -0
- package/scripts/install-skill-frontdoors.mjs +198 -0
- package/scripts/skill-frontdoors.json +150 -0
- package/scripts/with-shared-queue.sh +29 -0
- package/skills/3d-animation-short/SKILL.md +318 -0
- package/skills/3d-animation-short/references/performance-register.json +66 -0
- package/skills/3d-animation-short/references/route-matrix.md +94 -0
- package/skills/3d-animation-short/references/shot-table-spec.md +144 -0
- package/skills/3d-animation-short/scripts/apply_shot_table.py +366 -0
- package/skills/3d-animation-short/scripts/check_delivery.py +293 -0
- package/skills/3d-animation-short/scripts/check_render_result.py +40 -0
- package/skills/3d-animation-short/scripts/check_shot_table.py +463 -0
- package/skills/3d-animation-short/scripts/check_stale_outputs.py +266 -0
- package/skills/3d-animation-short/scripts/lib/common.sh +180 -0
- package/skills/3d-animation-short/scripts/make-3d-short.sh +623 -0
- package/skills/3d-animation-short/scripts/make_shot_table.py +193 -0
- package/skills/3d-animation-short/scripts/new-episode.sh +159 -0
- package/skills/3d-animation-short/scripts/read_loudness.py +22 -0
- package/skills/3d-animation-short/scripts/read_soundtrack.py +27 -0
- package/skills/README.md +32 -11
- package/skills/ad-intel/SKILL.md +136 -0
- package/skills/ad-intel/references/teardown-framework.md +90 -0
- package/skills/ad-intel/scripts/ad_intel.py +569 -0
- package/skills/ad-intel/scripts/adlib_fetch.py +383 -0
- package/skills/ad-intel/scripts/answer_plan.py +334 -0
- package/skills/ad-intel/scripts/assemble_answer.py +274 -0
- package/skills/ad-intel/scripts/before_after.py +319 -0
- package/skills/ad-intel/scripts/lib/adlib_extract.js +112 -0
- package/skills/ai-film-director/SKILL.md +204 -0
- package/skills/ai-film-director/references/motion-design-films.md +196 -0
- package/skills/ai-film-director/references/platform-modes.md +169 -0
- package/skills/ai-film-director/references/production-prompt-template.md +180 -0
- package/skills/ai-filmmaking/SKILL.md +87 -9
- package/skills/ai-slop-cleaner/SKILL.md +1 -1
- package/skills/brand-agency/SKILL.md +5 -1
- package/skills/brand-explainer/SKILL.md +169 -0
- package/skills/brand-explainer/_template.brand +100 -0
- package/skills/brand-explainer/references/design-review.md +192 -0
- package/skills/brand-explainer/references/house-style.md +68 -0
- package/skills/brand-explainer/references/icon-sheet-prompt.md +96 -0
- package/skills/brand-explainer/references/mix-recipe.md +80 -0
- package/skills/brand-explainer/references/mytake-recipe.md +24 -0
- package/skills/brand-explainer/references/pack-schema.md +132 -0
- package/skills/brand-explainer/references/social-copy.md +78 -0
- package/skills/brand-explainer/references/vo-recipe.md +40 -0
- package/skills/brand-explainer/scripts/check_frame0.py +207 -0
- package/skills/brand-explainer/scripts/check_icons.py +219 -0
- package/skills/brand-explainer/scripts/check_scorecard.py +62 -0
- package/skills/brand-explainer/scripts/check_social.py +122 -0
- package/skills/brand-explainer/scripts/engine.py +1174 -0
- package/skills/brand-explainer/scripts/gen_sfx.py +195 -0
- package/skills/brand-explainer/scripts/lib/common.sh +53 -0
- package/skills/brand-explainer/scripts/lint_pack.py +386 -0
- package/skills/brand-explainer/scripts/make-brand-film.sh +375 -0
- package/skills/brand-explainer/scripts/make_qr.py +39 -0
- package/skills/brand-explainer/scripts/make_srt.py +83 -0
- package/skills/brand-explainer/scripts/make_stills.py +61 -0
- package/skills/brand-explainer/scripts/mix.py +118 -0
- package/skills/brand-explainer/scripts/packlib.py +42 -0
- package/skills/brand-explainer/scripts/scrape_brand_tokens.py +83 -0
- package/skills/brand-explainer/scripts/slice_icons.py +110 -0
- package/skills/brand-explainer/social-copy.md +64 -0
- package/skills/brand-presenter/SKILL.md +46 -0
- package/skills/bunty/SKILL.md +9 -3
- package/skills/bunty/brand-profile.json +38 -0
- package/skills/bunty/deck-and-narration-guide.md +149 -0
- package/skills/catalog.json +57 -49
- package/skills/character-creator/SKILL.md +12 -2
- package/skills/character-creator/references/style-guides.md +162 -0
- package/skills/character-library/SKILL.md +1 -1
- package/skills/character-library/references/pollution-patterns.md +72 -0
- package/skills/character-library/references/style-matching.md +35 -0
- package/skills/character-library/references/templates-by-archetype.md +31 -0
- package/skills/character-library/scripts/audit.sh +70 -0
- package/skills/character-library/scripts/delete.sh +51 -0
- package/skills/character-library/scripts/list.sh +53 -0
- package/skills/character-library/scripts/patch.sh +44 -0
- package/skills/clawbot/SKILL.md +4 -1
- package/skills/concierge/SKILL.md +18 -10
- package/skills/dance-breakdown/SKILL.md +100 -0
- package/skills/dance-breakdown/scripts/breakdown.py +414 -0
- package/skills/davendra-presenter/brand-profile.json +20 -0
- package/skills/davendra-presenter/scripts/brand_episode.py +341 -0
- package/skills/david-sales-presenter/brand-profile.json +21 -0
- package/skills/garden-days/SKILL.md +294 -0
- package/skills/garden-days/references/failure-modes.md +49 -0
- package/skills/garden-days/references/franchise-cloning.md +45 -0
- package/skills/garden-days/references/keyframe-recipe.md +229 -0
- package/skills/garden-days/references/lanes.md +117 -0
- package/skills/garden-days/references/publish-layer.md +126 -0
- package/skills/garden-days/references/writer-bible.md +103 -0
- package/skills/graphify/SKILL.md +7 -1
- package/skills/graphify/references/add-watch.md +56 -0
- package/skills/graphify/references/exports.md +71 -0
- package/skills/graphify/references/extraction-spec.md +68 -0
- package/skills/graphify/references/github-and-merge.md +46 -0
- package/skills/graphify/references/hooks.md +33 -0
- package/skills/graphify/references/query.md +103 -0
- package/skills/graphify/references/transcribe.md +48 -0
- package/skills/graphify/references/update.md +179 -0
- package/skills/improvement-run/SKILL.md +41 -29
- package/skills/mograph/SKILL.md +234 -0
- package/skills/mograph/scripts/deterministic/README.md +200 -0
- package/skills/mograph/scripts/deterministic/fable_example.py +458 -0
- package/skills/mograph/scripts/deterministic/gen_sfx_example.py +124 -0
- package/skills/mograph/scripts/deterministic/gen_sfx_v2.py +104 -0
- package/skills/mograph/scripts/deterministic/lib/__init__.py +1 -0
- package/skills/mograph/scripts/deterministic/lib/stat_bar.py +78 -0
- package/skills/mograph/scripts/deterministic/mix-narrated-example.sh +31 -0
- package/skills/mograph/scripts/deterministic/qc_spacing.py +223 -0
- package/skills/mograph/scripts/deterministic/v2_engine_example.py +522 -0
- package/skills/motion-reel/SKILL.md +11 -0
- package/skills/movie-director/SKILL.md +12 -3
- package/skills/movie-director/references/advanced-prompting.md +258 -0
- package/skills/movie-director/references/character-archetypes.md +176 -0
- package/skills/movie-director/references/character-creation.md +90 -0
- package/skills/movie-director/references/cheatsheet.md +127 -0
- package/skills/movie-director/references/examples/anime-action.yaml +83 -0
- package/skills/movie-director/references/examples/brand-story.yaml +80 -0
- package/skills/movie-director/references/examples/children-cartoon.yaml +94 -0
- package/skills/movie-director/references/examples/comedy-sitcom.yaml +89 -0
- package/skills/movie-director/references/examples/docufilm-portrait.yaml +62 -0
- package/skills/movie-director/references/examples/fantasy.yaml +80 -0
- package/skills/movie-director/references/examples/horror.yaml +78 -0
- package/skills/movie-director/references/examples/komo-thriller.yaml +101 -0
- package/skills/movie-director/references/examples/music-video.yaml +80 -0
- package/skills/movie-director/references/examples/period-drama.yaml +85 -0
- package/skills/movie-director/references/examples/riley-storybook.yaml +79 -0
- package/skills/movie-director/references/examples/romance.yaml +81 -0
- package/skills/movie-director/references/examples/sci-fi.yaml +72 -0
- package/skills/movie-director/references/examples/travel-vlog.yaml +80 -0
- package/skills/movie-director/references/examples/ugc-ad.yaml +79 -0
- package/skills/movie-director/references/examples/western.yaml +83 -0
- package/skills/movie-director/references/genres.yaml +266 -0
- package/skills/movie-director/references/memory-learnings.md +191 -0
- package/skills/movie-director/references/post-production.md +224 -0
- package/skills/movie-director/references/prompt-recipes.md +72 -0
- package/skills/movie-director/references/quick-start.md +96 -0
- package/skills/movie-director/references/runtime-architecture.md +250 -0
- package/skills/movie-director/references/seedance-techniques.md +252 -0
- package/skills/movie-director/references/sound-design.md +178 -0
- package/skills/movie-director/references/styles.md +124 -0
- package/skills/movie-director/references/troubleshooting.md +471 -0
- package/skills/movie-director/scripts/auto.sh +141 -0
- package/skills/movie-director/scripts/cost-estimate.sh +68 -0
- package/skills/movie-director/scripts/interview.sh +354 -0
- package/skills/movie-director/scripts/iterate.sh +63 -0
- package/skills/movie-director/scripts/list-library.sh +42 -0
- package/skills/movie-director/scripts/remix-narrated.sh +59 -0
- package/skills/movie-director/scripts/run-pipeline.sh +104 -0
- package/skills/movie-director/scripts/verify.sh +176 -0
- package/skills/multi-shot-prompt/SKILL.md +15 -5
- package/skills/nex-presenter/brand-profile.json +39 -0
- package/skills/nex-presenter/scripts/brand_episode.py +341 -0
- package/skills/rap-avatar-mv/SKILL.md +1934 -0
- package/skills/rap-avatar-mv/_template.rap.pack +223 -0
- package/skills/rap-avatar-mv/references/design-review.md +73 -0
- package/skills/rap-avatar-mv/references/lipsync-magnific.md +86 -0
- package/skills/rap-avatar-mv/references/moderation-nouns.json +10 -0
- package/skills/rap-avatar-mv/references/prompt-library-findings.md +171 -0
- package/skills/rap-avatar-mv/references/research-2026-08-29-lessons.md +158 -0
- package/skills/rap-avatar-mv/references/route-economics.md +220 -0
- package/skills/rap-avatar-mv/references/route-matrix.md +94 -0
- package/skills/rap-avatar-mv/references/shot-direction.md +94 -0
- package/skills/rap-avatar-mv/references/song-recipe.md +65 -0
- package/skills/rap-avatar-mv/references/source-compliance.md +61 -0
- package/skills/rap-avatar-mv/references/styles.json +104 -0
- package/skills/rap-avatar-mv/references/video-modes.json +157 -0
- package/skills/rap-avatar-mv/scripts/assemble_plan.py +133 -0
- package/skills/rap-avatar-mv/scripts/author_cuts.py +100 -0
- package/skills/rap-avatar-mv/scripts/broll_refs.py +160 -0
- package/skills/rap-avatar-mv/scripts/build_bookends.sh +333 -0
- package/skills/rap-avatar-mv/scripts/build_mv_config.py +375 -0
- package/skills/rap-avatar-mv/scripts/caption_words.py +56 -0
- package/skills/rap-avatar-mv/scripts/check_master.py +401 -0
- package/skills/rap-avatar-mv/scripts/check_sync.py +293 -0
- package/skills/rap-avatar-mv/scripts/collapse_styles.py +77 -0
- package/skills/rap-avatar-mv/scripts/compose_prompts.py +805 -0
- package/skills/rap-avatar-mv/scripts/cover_mouthing.py +722 -0
- package/skills/rap-avatar-mv/scripts/daemonize.py +91 -0
- package/skills/rap-avatar-mv/scripts/deliver.py +353 -0
- package/skills/rap-avatar-mv/scripts/draws_review.py +283 -0
- package/skills/rap-avatar-mv/scripts/dryrun.sh +344 -0
- package/skills/rap-avatar-mv/scripts/explore_queue.py +833 -0
- package/skills/rap-avatar-mv/scripts/extract_bookend_assets.py +122 -0
- package/skills/rap-avatar-mv/scripts/final_qc.py +331 -0
- package/skills/rap-avatar-mv/scripts/first_take.py +172 -0
- package/skills/rap-avatar-mv/scripts/fit_takes.py +198 -0
- package/skills/rap-avatar-mv/scripts/index_library.py +516 -0
- package/skills/rap-avatar-mv/scripts/ingest_source.py +231 -0
- package/skills/rap-avatar-mv/scripts/join_cuts.py +166 -0
- package/skills/rap-avatar-mv/scripts/lane_nav.py +95 -0
- package/skills/rap-avatar-mv/scripts/lane_page.py +107 -0
- package/skills/rap-avatar-mv/scripts/lane_render.py +2300 -0
- package/skills/rap-avatar-mv/scripts/lane_trace.py +105 -0
- package/skills/rap-avatar-mv/scripts/lib/common.sh +158 -0
- package/skills/rap-avatar-mv/scripts/lib/sync_player.cjs +273 -0
- package/skills/rap-avatar-mv/scripts/line_subs.py +380 -0
- package/skills/rap-avatar-mv/scripts/line_windows.py +315 -0
- package/skills/rap-avatar-mv/scripts/make-rap-mv.sh +2297 -0
- package/skills/rap-avatar-mv/scripts/make_bookends.py +1044 -0
- package/skills/rap-avatar-mv/scripts/make_broll_plan.py +231 -0
- package/skills/rap-avatar-mv/scripts/make_plan.py +1491 -0
- package/skills/rap-avatar-mv/scripts/make_subtitles.py +237 -0
- package/skills/rap-avatar-mv/scripts/master_version.py +238 -0
- package/skills/rap-avatar-mv/scripts/needs_report.py +352 -0
- package/skills/rap-avatar-mv/scripts/normalize_hero.sh +31 -0
- package/skills/rap-avatar-mv/scripts/overnight.sh +60 -0
- package/skills/rap-avatar-mv/scripts/paid_take.py +578 -0
- package/skills/rap-avatar-mv/scripts/pick_hook.py +360 -0
- package/skills/rap-avatar-mv/scripts/pick_styles.py +108 -0
- package/skills/rap-avatar-mv/scripts/plan_coherence.py +687 -0
- package/skills/rap-avatar-mv/scripts/preflight_higgs.py +694 -0
- package/skills/rap-avatar-mv/scripts/prompt_negation.py +147 -0
- package/skills/rap-avatar-mv/scripts/prompt_variants.py +82 -0
- package/skills/rap-avatar-mv/scripts/rap-publish.sh +138 -0
- package/skills/rap-avatar-mv/scripts/rap_fixture.py +281 -0
- package/skills/rap-avatar-mv/scripts/rap_metadata.py +104 -0
- package/skills/rap-avatar-mv/scripts/rap_polish.py +200 -0
- package/skills/rap-avatar-mv/scripts/rap_thumbnail.py +123 -0
- package/skills/rap-avatar-mv/scripts/raplib.py +493 -0
- package/skills/rap-avatar-mv/scripts/rate_fit.py +314 -0
- package/skills/rap-avatar-mv/scripts/render_board.py +229 -0
- package/skills/rap-avatar-mv/scripts/replace_window.py +198 -0
- package/skills/rap-avatar-mv/scripts/reuse_audit.py +308 -0
- package/skills/rap-avatar-mv/scripts/reuse_clips.py +173 -0
- package/skills/rap-avatar-mv/scripts/review_board.py +420 -0
- package/skills/rap-avatar-mv/scripts/review_strips.py +148 -0
- package/skills/rap-avatar-mv/scripts/salvage_plan.py +126 -0
- package/skills/rap-avatar-mv/scripts/sections_from_brief.py +204 -0
- package/skills/rap-avatar-mv/scripts/select_cut.py +887 -0
- package/skills/rap-avatar-mv/scripts/session_probe.py +128 -0
- package/skills/rap-avatar-mv/scripts/shot_refs.py +636 -0
- package/skills/rap-avatar-mv/scripts/singer_diarize.py +299 -0
- package/skills/rap-avatar-mv/scripts/slice_check.py +200 -0
- package/skills/rap-avatar-mv/scripts/slice_review.py +114 -0
- package/skills/rap-avatar-mv/scripts/song_breakdown.py +437 -0
- package/skills/rap-avatar-mv/scripts/spend_gate.py +222 -0
- package/skills/rap-avatar-mv/scripts/stem_check.py +270 -0
- package/skills/rap-avatar-mv/scripts/swap_words.py +109 -0
- package/skills/rap-avatar-mv/scripts/sync_profile.py +338 -0
- package/skills/rap-avatar-mv/scripts/sync_review.py +543 -0
- package/skills/rap-avatar-mv/scripts/sync_shift.py +321 -0
- package/skills/rap-avatar-mv/scripts/transcribe_clips.py +321 -0
- package/skills/rap-avatar-mv/scripts/vocal_brief.py +634 -0
- package/skills/rap-avatar-mv/scripts/vocal_map.py +595 -0
- package/skills/rap-avatar-mv/scripts/vocal_swap.py +477 -0
- package/skills/rap-avatar-mv/scripts/whisper_stub.py +101 -0
- package/skills/rap-avatar-mv/scripts/word_ends.py +237 -0
- package/skills/rap-avatar-mv/scripts/word_sync.py +288 -0
- package/skills/rhyme-factory/SKILL.md +166 -0
- package/skills/rhyme-factory/references/caption-recipe.md +54 -0
- package/skills/rhyme-factory/references/config-schema.md +38 -0
- package/skills/rhyme-factory/references/song-recipe.md +88 -0
- package/skills/rhyme-factory/references/youtube-polish-recipe.md +55 -0
- package/skills/rhyme-factory/scripts/add-ambience.sh +73 -0
- package/skills/rhyme-factory/scripts/lib/common.sh +101 -0
- package/skills/rhyme-factory/scripts/make-captions.sh +247 -0
- package/skills/rhyme-factory/scripts/make-metadata.py +83 -0
- package/skills/rhyme-factory/scripts/make-poster.py +84 -0
- package/skills/rhyme-factory/scripts/make-rhyme-video.sh +228 -0
- package/skills/rhyme-factory/scripts/make-song.sh +127 -0
- package/skills/rhyme-factory/scripts/qc-captions.sh +153 -0
- package/skills/rhyme-factory/scripts/youtube-polish.sh +212 -0
- package/skills/runway/SKILL.md +59 -114
- package/skills/seedance-prompts/SKILL.md +105 -0
- package/skills/seedance-prompts/references/mira-style-seedance-pack.md +60 -0
- package/skills/skills-auditor/SKILL.md +44 -67
- package/skills/skills-auditor/agents/openai.yaml +4 -0
- package/skills/skills-auditor/references/audit-checklist.md +24 -0
- package/skills/story-bible-builder/SKILL.md +122 -0
- package/skills/story-bible-builder/references/character-interview.md +86 -0
- package/skills/story-bible-builder/references/character-section-format.md +91 -0
- package/skills/ugc/SKILL.md +100 -349
- package/skills/ugc/references/e5-method.md +169 -0
- package/skills/ugc/references/subtitle-styles.md +128 -0
- package/skills/ugc/references/ugc-prompt-templates.md +173 -0
- package/skills/ugc/templates/script_schema.json +116 -0
- package/skills/ugc/templates/strategy_schema.json +253 -0
- package/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills/ui-ux-pro-max/scripts/core.py +258 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/skills/video-framework/SKILL.md +61 -143
- package/skills/video-framework/references/audio-strategy.md +68 -0
- package/skills/video-framework/references/camera-archetypes.md +61 -0
- package/skills/video-framework/references/checkpoint-protocol.md +79 -0
- package/skills/video-framework/references/pacing-guide.md +54 -0
- package/skills/video-framework/references/stage-directors.md +68 -0
- package/skills/video-framework/references/visual-styles.md +41 -0
- package/skills/video-portfolio-ops/SKILL.md +1 -1
- package/skills/video-post/SKILL.md +32 -9
- package/skills/video-post/scripts/archive.sh +30 -0
- package/skills/video-post/scripts/make-loop.sh +24 -0
- package/skills/video-post/scripts/make-square.sh +15 -0
- package/skills/video-post/scripts/make-vertical.sh +15 -0
- package/skills/video-post/scripts/thumbnail.sh +34 -0
- package/skills/video-post/scripts/verify-quality.sh +66 -0
- package/skills/video-production-handoff/SKILL.md +3 -2
- package/skills/video-release-readiness/SKILL.md +3 -3
- package/skills/video-replicator/SKILL.md +2 -2
- package/skills/video-replicator/references/audio-presets.md +213 -0
- package/skills/video-replicator/references/camera-transitions.md +154 -0
- package/skills/video-replicator/references/changelog.md +835 -0
- package/skills/video-replicator/references/character-negative-prompts.json +48 -0
- package/skills/video-replicator/references/character-prompts.md +193 -0
- package/skills/video-replicator/references/character-variants.md +306 -0
- package/skills/video-replicator/references/cinematic-techniques.md +117 -0
- package/skills/video-replicator/references/content-safety-guide.md +320 -0
- package/skills/video-replicator/references/copy-mode.md +1263 -0
- package/skills/video-replicator/references/create-mode.md +374 -0
- package/skills/video-replicator/references/example-config.json +115 -0
- package/skills/video-replicator/references/examples.md +229 -0
- package/skills/video-replicator/references/f2v-journey-templates.md +160 -0
- package/skills/video-replicator/references/film-mode.md +301 -0
- package/skills/video-replicator/references/finding-ads.md +116 -0
- package/skills/video-replicator/references/gobananas-guide.md +319 -0
- package/skills/video-replicator/references/interactive-review.md +329 -0
- package/skills/video-replicator/references/longform-mode.md +382 -0
- package/skills/video-replicator/references/motion-templates.md +265 -0
- package/skills/video-replicator/references/narrated-mode.md +329 -0
- package/skills/video-replicator/references/negative-prompts.md +81 -0
- package/skills/video-replicator/references/presentation-mode.md +479 -0
- package/skills/video-replicator/references/prompt-templates.md +228 -0
- package/skills/video-replicator/references/scene-templates.md +498 -0
- package/skills/video-replicator/references/sealcam-prompt.md +112 -0
- package/skills/video-replicator/references/storyboard-templates.md +333 -0
- package/skills/video-replicator/references/style-tokens.md +244 -0
- package/skills/video-replicator/references/style-transfer-workflow.md +131 -0
- package/skills/video-replicator/references/troubleshooting.md +243 -0
- package/skills/video-replicator/remotion-banner/package-lock.json +3045 -0
- package/skills/video-replicator/remotion-banner/package.json +30 -0
- package/skills/video-replicator/remotion-banner/remotion.config.ts +6 -0
- package/skills/video-replicator/remotion-banner/render.ts +124 -0
- package/skills/video-replicator/remotion-banner/src/CTABanner.tsx +146 -0
- package/skills/video-replicator/remotion-banner/src/CTABannerPortrait.tsx +145 -0
- package/skills/video-replicator/remotion-banner/src/Root.tsx +72 -0
- package/skills/video-replicator/remotion-banner/src/animations/FadeIn.tsx +40 -0
- package/skills/video-replicator/remotion-banner/src/animations/SlideAndFade.tsx +53 -0
- package/skills/video-replicator/remotion-banner/src/animations/SlideUp.tsx +41 -0
- package/skills/video-replicator/remotion-banner/src/animations/index.ts +3 -0
- package/skills/video-replicator/remotion-banner/src/components/CTAText.tsx +68 -0
- package/skills/video-replicator/remotion-banner/src/components/Logo.tsx +55 -0
- package/skills/video-replicator/remotion-banner/src/components/QRCode.tsx +76 -0
- package/skills/video-replicator/remotion-banner/src/index.ts +4 -0
- package/skills/video-replicator/remotion-banner/src/themes/index.ts +87 -0
- package/skills/video-replicator/remotion-banner/src/types.ts +68 -0
- package/skills/video-replicator/remotion-banner/tsconfig.json +22 -0
- package/skills/video-replicator/scripts/SUPERSEDED.md +41 -0
- package/skills/video-replicator/scripts/add_subtitles.py +732 -0
- package/skills/video-replicator/scripts/agent_coordinator.py +516 -0
- package/skills/video-replicator/scripts/analyze_start_frame.py +382 -0
- package/skills/video-replicator/scripts/analyze_video.py +752 -0
- package/skills/video-replicator/scripts/assembly_utils.py +436 -0
- package/skills/video-replicator/scripts/audio_utils.py +657 -0
- package/skills/video-replicator/scripts/beat_montage_plan.mjs +84 -0
- package/skills/video-replicator/scripts/branding/__init__.py +65 -0
- package/skills/video-replicator/scripts/branding/brand_config.py +246 -0
- package/skills/video-replicator/scripts/branding/brand_extractor.py +519 -0
- package/skills/video-replicator/scripts/branding/brand_library.py +249 -0
- package/skills/video-replicator/scripts/branding/brand_wizard.py +525 -0
- package/skills/video-replicator/scripts/branding/logo_variants.py +332 -0
- package/skills/video-replicator/scripts/bunty_animate_slides.py +685 -0
- package/skills/video-replicator/scripts/bunty_correct_deck.py +264 -0
- package/skills/video-replicator/scripts/bunty_dialogue_lint.py +128 -0
- package/skills/video-replicator/scripts/bunty_finish.py +183 -0
- package/skills/video-replicator/scripts/bunty_helpers.py +589 -0
- package/skills/video-replicator/scripts/bunty_image_filter_check.py +217 -0
- package/skills/video-replicator/scripts/bunty_match_to_deck.py +714 -0
- package/skills/video-replicator/scripts/bunty_narration_check.py +232 -0
- package/skills/video-replicator/scripts/bunty_preview.py +812 -0
- package/skills/video-replicator/scripts/bunty_re_encode_segments.py +244 -0
- package/skills/video-replicator/scripts/bunty_regen.py +485 -0
- package/skills/video-replicator/scripts/campaign_manifest.py +590 -0
- package/skills/video-replicator/scripts/character_designer.py +835 -0
- package/skills/video-replicator/scripts/character_sheet_generator.py +870 -0
- package/skills/video-replicator/scripts/character_variants.py +486 -0
- package/skills/video-replicator/scripts/config.py +726 -0
- package/skills/video-replicator/scripts/create_language_versions.py +539 -0
- package/skills/video-replicator/scripts/create_project.py +229 -0
- package/skills/video-replicator/scripts/create_video_ad.py +755 -0
- package/skills/video-replicator/scripts/create_wizard.py +884 -0
- package/skills/video-replicator/scripts/crop_to_portrait.js +148 -0
- package/skills/video-replicator/scripts/data/lark_seedance_prompts.csv +64 -0
- package/skills/video-replicator/scripts/data/seedance_prompts.db +0 -0
- package/skills/video-replicator/scripts/data/xskill_skills.csv +30 -0
- package/skills/video-replicator/scripts/db.py +1117 -0
- package/skills/video-replicator/scripts/db_convex.py +1010 -0
- package/skills/video-replicator/scripts/db_unified.py +511 -0
- package/skills/video-replicator/scripts/edit_video.py +135 -0
- package/skills/video-replicator/scripts/exceptions.py +155 -0
- package/skills/video-replicator/scripts/extend_chain.py +931 -0
- package/skills/video-replicator/scripts/extend_video.py +130 -0
- package/skills/video-replicator/scripts/extract_frames.py +737 -0
- package/skills/video-replicator/scripts/extract_pdf_slides.py +249 -0
- package/skills/video-replicator/scripts/f2v_journey_templates.py +331 -0
- package/skills/video-replicator/scripts/ffmpeg_wrapper.py +541 -0
- package/skills/video-replicator/scripts/film_dashboard_server.py +535 -0
- package/skills/video-replicator/scripts/film_pipeline.py +1176 -0
- package/skills/video-replicator/scripts/generate_animation_prompts.py +327 -0
- package/skills/video-replicator/scripts/generate_character_clip.py +487 -0
- package/skills/video-replicator/scripts/generate_cta_banner.py +589 -0
- package/skills/video-replicator/scripts/generate_images.py +911 -0
- package/skills/video-replicator/scripts/generate_intro_outro.py +635 -0
- package/skills/video-replicator/scripts/generate_logo_animation.py +636 -0
- package/skills/video-replicator/scripts/generate_music.py +429 -0
- package/skills/video-replicator/scripts/generate_narration_script.py +291 -0
- package/skills/video-replicator/scripts/generate_storyboard.py +1555 -0
- package/skills/video-replicator/scripts/generate_title_card.py +448 -0
- package/skills/video-replicator/scripts/generate_title_credits.py +334 -0
- package/skills/video-replicator/scripts/generate_tts.py +3143 -0
- package/skills/video-replicator/scripts/generate_video_flow.py +208 -0
- package/skills/video-replicator/scripts/generate_video_prompts.py +748 -0
- package/skills/video-replicator/scripts/gobananas_prompts.py +1972 -0
- package/skills/video-replicator/scripts/image_analyzer.py +826 -0
- package/skills/video-replicator/scripts/logging_config.py +141 -0
- package/skills/video-replicator/scripts/logo_frame.py +104 -0
- package/skills/video-replicator/scripts/logo_intro_utils.py +236 -0
- package/skills/video-replicator/scripts/logo_presets.py +444 -0
- package/skills/video-replicator/scripts/migrate_project.py +287 -0
- package/skills/video-replicator/scripts/migrate_to_run_dirs.py +271 -0
- package/skills/video-replicator/scripts/narration_conductor.py +550 -0
- package/skills/video-replicator/scripts/nex_assemble.py +485 -0
- package/skills/video-replicator/scripts/nex_topic_to_deck.py +229 -0
- package/skills/video-replicator/scripts/overlays/__init__.py +78 -0
- package/skills/video-replicator/scripts/overlays/ffmpeg_filters.py +351 -0
- package/skills/video-replicator/scripts/overlays/overlay_engine.py +446 -0
- package/skills/video-replicator/scripts/overlays/overlay_presets.py +248 -0
- package/skills/video-replicator/scripts/parallel_video_gen.py +5125 -0
- package/skills/video-replicator/scripts/presentation_mode.py +1574 -0
- package/skills/video-replicator/scripts/project_config.py +299 -0
- package/skills/video-replicator/scripts/project_status.py +290 -0
- package/skills/video-replicator/scripts/prompt_template.py +88 -0
- package/skills/video-replicator/scripts/regenerate_images.py +681 -0
- package/skills/video-replicator/scripts/requirements.txt +10 -0
- package/skills/video-replicator/scripts/review_images.py +679 -0
- package/skills/video-replicator/scripts/review_server.py +766 -0
- package/skills/video-replicator/scripts/review_state.py +608 -0
- package/skills/video-replicator/scripts/rewrite_prompts.py +524 -0
- package/skills/video-replicator/scripts/run_scenarios.py +378 -0
- package/skills/video-replicator/scripts/scene_breakdown.py +605 -0
- package/skills/video-replicator/scripts/screenplay_generator.py +986 -0
- package/skills/video-replicator/scripts/seedance_backend.py +1325 -0
- package/skills/video-replicator/scripts/seedance_batch.py +1238 -0
- package/skills/video-replicator/scripts/seedance_chain_manager.py +285 -0
- package/skills/video-replicator/scripts/seedance_client.py +886 -0
- package/skills/video-replicator/scripts/seedance_consistency.py +665 -0
- package/skills/video-replicator/scripts/seedance_hooks.py +688 -0
- package/skills/video-replicator/scripts/seedance_material_library.py +206 -0
- package/skills/video-replicator/scripts/seedance_omni.py +1718 -0
- package/skills/video-replicator/scripts/seedance_platform_optimizer.py +268 -0
- package/skills/video-replicator/scripts/seedance_prompt_builder.py +1569 -0
- package/skills/video-replicator/scripts/seedance_prompt_critique.py +1152 -0
- package/skills/video-replicator/scripts/seedance_prompt_db.py +6555 -0
- package/skills/video-replicator/scripts/seedance_prompt_director.py +2267 -0
- package/skills/video-replicator/scripts/seedance_reference_validator.py +208 -0
- package/skills/video-replicator/scripts/seedance_task_status.py +272 -0
- package/skills/video-replicator/scripts/seedance_webhook.py +359 -0
- package/skills/video-replicator/scripts/split_grid.py +218 -0
- package/skills/video-replicator/scripts/stitch_bunty.py +614 -0
- package/skills/video-replicator/scripts/stitch_video.py +3851 -0
- package/skills/video-replicator/scripts/stitcher_api.py +1309 -0
- package/skills/video-replicator/scripts/story_engine.py +1165 -0
- package/skills/video-replicator/scripts/storyboard_prompts.py +203 -0
- package/skills/video-replicator/scripts/storyboard_templates.py +506 -0
- package/skills/video-replicator/scripts/style_bible.py +188 -0
- package/skills/video-replicator/scripts/style_transfer.py +479 -0
- package/skills/video-replicator/scripts/telemetry.py +367 -0
- package/skills/video-replicator/scripts/transcribe_audio.py +511 -0
- package/skills/video-replicator/scripts/ugc_scripts.py +518 -0
- package/skills/video-replicator/scripts/ugc_stitch.py +456 -0
- package/skills/video-replicator/scripts/ugc_strategy.py +324 -0
- package/skills/video-replicator/scripts/upload_to_gobananas.py +834 -0
- package/skills/video-replicator/scripts/utils.py +167 -0
- package/skills/video-replicator/scripts/utils_aspect.py +262 -0
- package/skills/video-replicator/scripts/utils_command.py +74 -0
- package/skills/video-replicator/scripts/utils_download.py +155 -0
- package/skills/video-replicator/scripts/utils_image.py +350 -0
- package/skills/video-replicator/scripts/utils_preflight.py +203 -0
- package/skills/video-replicator/scripts/utils_project.py +472 -0
- package/skills/video-replicator/scripts/utils_prompt.py +143 -0
- package/skills/video-replicator/scripts/utils_strict.py +192 -0
- package/skills/video-replicator/scripts/utils_transitions.py +62 -0
- package/skills/video-replicator/scripts/utils_upload.py +767 -0
- package/skills/video-replicator/scripts/utils_validation.py +455 -0
- package/skills/video-replicator/scripts/utils_variation.py +212 -0
- package/skills/video-replicator/scripts/utils_video.py +156 -0
- package/skills/video-replicator/scripts/voice_designer.py +1077 -0
- package/skills/video-replicator/scripts/voice_presets.py +673 -0
- package/skills/video-thumbnail-lab/SKILL.md +8 -19
- package/skills/youtube-audio/scripts/youtube_dl.py +542 -0
- package/src/video/allocation-model.ts +105 -0
- package/src/video/archive-project.ts +2 -1
- package/src/video/artifact-history.ts +2 -1
- package/src/video/artifact-validation.ts +13 -0
- package/src/video/artifacts.ts +50 -0
- package/src/video/assemble/assemble.ts +271 -31
- package/src/video/assemble/ffmpeg.ts +110 -0
- package/src/video/assemble/gemini-vision-classify.ts +79 -0
- package/src/video/assemble/media-qc.ts +259 -8
- package/src/video/assemble/normalize-size.ts +43 -0
- package/src/video/assemble/pdf.ts +0 -1
- package/src/video/assemble/stitch.ts +492 -28
- package/src/video/assemble/text-card.ts +6 -0
- package/src/video/assemble/title-card.ts +1 -1
- package/src/video/assemble/types.ts +59 -0
- package/src/video/asset-spec.ts +32 -3
- package/src/video/asset-tag-lookup.ts +15 -0
- package/src/video/atomic-write.ts +8 -3
- package/src/video/audio-platform/measure.ts +63 -0
- package/src/video/audio-platform/registry.ts +35 -1
- package/src/video/batch-queue.ts +14 -6
- package/src/video/blueprint-prompt.ts +1 -1
- package/src/video/brand-prompt.ts +1 -1
- package/src/video/capability-contract.ts +153 -0
- package/src/video/category-registry.ts +10 -1
- package/src/video/character-auto-create.ts +111 -55
- package/src/video/character-consistency.ts +2 -1
- package/src/video/characters.ts +11 -0
- package/src/video/cinema-archive.ts +375 -0
- package/src/video/cinema-asset-lifecycle.ts +50 -0
- package/src/video/cinema-asset-registry.ts +90 -0
- package/src/video/cinema-assurance.ts +280 -0
- package/src/video/cinema-candidate-bridge.ts +265 -0
- package/src/video/cinema-candidate-review.ts +269 -0
- package/src/video/cinema-chain-fallback.ts +223 -0
- package/src/video/cinema-compatibility-local-worker.ts +200 -0
- package/src/video/cinema-compatibility-quote.ts +364 -0
- package/src/video/cinema-compatibility-worker.ts +560 -0
- package/src/video/cinema-console-generate.ts +26 -0
- package/src/video/cinema-console-projection.ts +229 -0
- package/src/video/cinema-console-render.ts +149 -0
- package/src/video/cinema-console-types.ts +222 -0
- package/src/video/cinema-continuity-types.ts +97 -0
- package/src/video/cinema-continuity.ts +207 -0
- package/src/video/cinema-delivery.ts +368 -0
- package/src/video/cinema-direct-ai-film-migration.ts +686 -0
- package/src/video/cinema-evidence-store.ts +72 -0
- package/src/video/cinema-evidence-types.ts +75 -0
- package/src/video/cinema-evidence.ts +173 -0
- package/src/video/cinema-file-lock.ts +49 -0
- package/src/video/cinema-garment-mask.ts +51 -0
- package/src/video/cinema-higgsfield-cli-adapter.ts +792 -0
- package/src/video/cinema-higgsfield-cli-runner.ts +18 -0
- package/src/video/cinema-historical-import.ts +481 -0
- package/src/video/cinema-live-console.ts +176 -0
- package/src/video/cinema-planning-store.ts +163 -0
- package/src/video/cinema-preflight-store.ts +25 -0
- package/src/video/cinema-preflight.ts +88 -0
- package/src/video/cinema-production-contract-compiler.ts +149 -0
- package/src/video/cinema-production-contract-store.ts +92 -0
- package/src/video/cinema-production-queue.ts +890 -0
- package/src/video/cinema-profile.ts +7 -0
- package/src/video/cinema-project-compiler.ts +161 -0
- package/src/video/cinema-project-console-load.ts +74 -0
- package/src/video/cinema-project-console.ts +232 -0
- package/src/video/cinema-project-planner.ts +264 -0
- package/src/video/cinema-provider-contracts.ts +260 -0
- package/src/video/cinema-provider-projection.ts +228 -0
- package/src/video/cinema-provider-store.ts +207 -0
- package/src/video/cinema-provider-types.ts +127 -0
- package/src/video/cinema-queue-compatibility.ts +213 -0
- package/src/video/cinema-queue-types.ts +115 -0
- package/src/video/cinema-queue-validation.ts +184 -0
- package/src/video/cinema-reference-projection.ts +91 -0
- package/src/video/cinema-retry-policy.ts +36 -0
- package/src/video/cinema-review-service.ts +55 -0
- package/src/video/cinema-review-store.ts +75 -0
- package/src/video/cinema-review-types.ts +69 -0
- package/src/video/cinema-review-validation.ts +63 -0
- package/src/video/cinema-scope-report.ts +120 -0
- package/src/video/cinema-shot-compiler.ts +132 -0
- package/src/video/cinema-store.ts +273 -0
- package/src/video/cinema-story-compiler.ts +111 -0
- package/src/video/cinema-story-types.ts +124 -0
- package/src/video/cinema-story-validation.ts +59 -0
- package/src/video/cinema-types.ts +287 -0
- package/src/video/cinema-validation.ts +417 -0
- package/src/video/cinema-walking-skeleton-queue.ts +78 -0
- package/src/video/cinematography.ts +276 -3
- package/src/video/cli-schema.ts +385 -44
- package/src/video/clip-qc.ts +366 -0
- package/src/video/consistency-audit.ts +834 -0
- package/src/video/continuation-handoff.ts +103 -0
- package/src/video/cost-estimate.ts +2 -1
- package/src/video/creator-demo.ts +241 -0
- package/src/video/creator-ui/capabilities.ts +164 -0
- package/src/video/creator-ui/execution.ts +118 -0
- package/src/video/creator-ui/index.ts +17 -0
- package/src/video/creator-ui/read-model.ts +35 -0
- package/src/video/creator-ui/server.ts +980 -0
- package/src/video/csv-export.ts +2 -1
- package/src/video/dependencies.ts +2 -1
- package/src/video/dialogue.ts +8 -1
- package/src/video/director-preflight.ts +3 -2
- package/src/video/doctor-portfolio.ts +2 -1
- package/src/video/doctor.ts +2 -1
- package/src/video/environment-auto-create.ts +29 -6
- package/src/video/errors.ts +40 -0
- package/src/video/execute-autochain.ts +90 -168
- package/src/video/execute-pool.ts +138 -0
- package/src/video/execute-render-scenes.ts +152 -0
- package/src/video/execute.ts +259 -33
- package/src/video/execution-adapter.ts +290 -0
- package/src/video/execution-cancel.ts +2 -1
- package/src/video/execution-character-locks.ts +56 -0
- package/src/video/execution-plan.ts +33 -7
- package/src/video/execution-profile.ts +92 -15
- package/src/video/execution-runtime.ts +323 -324
- package/src/video/execution-seed.ts +2 -1
- package/src/video/execution-status.ts +324 -96
- package/src/video/filmmaking-prompts.ts +217 -87
- package/src/video/final-media.ts +70 -7
- package/src/video/finish.ts +323 -13
- package/src/video/flow-account.ts +280 -0
- package/src/video/flow-captcha.ts +52 -0
- package/src/video/flow-character-library.ts +30 -1
- package/src/video/flow-media-url.ts +241 -0
- package/src/video/flow-resolution.ts +93 -0
- package/src/video/flow-upscale-finish.ts +335 -0
- package/src/video/gemini-analyze.ts +1 -1
- package/src/video/gen-image-flow.ts +114 -35
- package/src/video/generation-telemetry.ts +3 -2
- package/src/video/image-ops.ts +116 -0
- package/src/video/keyframe-qc.ts +548 -0
- package/src/video/lane-coordinator.ts +375 -0
- package/src/video/lane-queue.ts +496 -0
- package/src/video/legacy-import.ts +2 -1
- package/src/video/lip-sync.ts +320 -0
- package/src/video/lipsync-closure.ts +256 -0
- package/src/video/magnific/media-host.ts +37 -0
- package/src/video/magnific/models.ts +119 -0
- package/src/video/magnific/registry.ts +18 -0
- package/src/video/magnific/types.ts +41 -0
- package/src/video/metrics.ts +2 -1
- package/src/video/migrate-home.ts +133 -0
- package/src/video/mograph/beats.ts +189 -0
- package/src/video/mograph/execute.ts +127 -0
- package/src/video/mograph/logos.ts +97 -0
- package/src/video/mograph/pack.ts +543 -0
- package/src/video/mograph/plan.ts +213 -0
- package/src/video/mograph/sheet.ts +249 -0
- package/src/video/mograph/style-families.ts +197 -0
- package/src/video/mograph/types.ts +183 -0
- package/src/video/monitor/discovery.ts +260 -0
- package/src/video/monitor/live-page.ts +31 -0
- package/src/video/monitor/overview-html.ts +813 -0
- package/src/video/monitor/project-detail.ts +274 -0
- package/src/video/monitor/serve.ts +171 -0
- package/src/video/monitor/thumbnails.ts +76 -0
- package/src/video/monitor/types.ts +36 -0
- package/src/video/monitor/workspace.ts +81 -0
- package/src/video/motion-artifact-qc.ts +560 -0
- package/src/video/motion-overlay/animate.ts +14 -0
- package/src/video/motion-overlay/avatar-host-transport.ts +62 -12
- package/src/video/motion-overlay/motifs.ts +29 -0
- package/src/video/motion-overlay/motion-style.ts +30 -1
- package/src/video/motion-overlay/preview.ts +102 -0
- package/src/video/motion-overlay/render-local.ts +51 -0
- package/src/video/motion-overlay/types.ts +1 -1
- package/src/video/motion-overlay/v2v-transport.ts +152 -27
- package/src/video/multi-shot-prompt.ts +164 -16
- package/src/video/music-video.ts +127 -1
- package/src/video/narrate.ts +12 -3
- package/src/video/native-dreamina.ts +191 -31
- package/src/video/native-flow-r2v.ts +135 -9
- package/src/video/native-magnific.ts +441 -0
- package/src/video/native-runway-upscale.ts +212 -0
- package/src/video/native-runway.ts +89 -14
- package/src/video/native-seedance.ts +9 -3
- package/src/video/native-veo.ts +283 -33
- package/src/video/next-actions.ts +2 -1
- package/src/video/obsidian-export.ts +2 -1
- package/src/video/obsidian-sync.ts +2 -1
- package/src/video/optical-register.ts +86 -0
- package/src/video/output-diagnosis.ts +110 -0
- package/src/video/playbooks.ts +16 -2
- package/src/video/post-production.ts +139 -45
- package/src/video/preview-portal/discovery.ts +85 -2
- package/src/video/preview-portal/gallery.ts +28 -0
- package/src/video/preview-portal/generate.ts +35 -5
- package/src/video/preview-portal/index.ts +2 -1
- package/src/video/preview-portal/render.ts +355 -8
- package/src/video/preview-portal/run-discovery.ts +410 -0
- package/src/video/preview-portal/shared-assets.ts +101 -2
- package/src/video/preview-portal/types.ts +133 -1
- package/src/video/project-index.ts +2 -1
- package/src/video/projects.ts +2 -1
- package/src/video/prompt-library.ts +9 -2
- package/src/video/prompt-lint.ts +314 -7
- package/src/video/prompt-quality.ts +56 -6
- package/src/video/prompt-rules.ts +25 -3
- package/src/video/provider-adapter-runner.ts +33 -0
- package/src/video/provider-platform/registry.ts +41 -0
- package/src/video/provider-platform/route-capabilities.ts +82 -8
- package/src/video/provider-platform/route-prerequisites.ts +122 -0
- package/src/video/provider-platform/types.ts +2 -1
- package/src/video/provider-status.ts +61 -54
- package/src/video/providers/dreamina-useapi.ts +23 -2
- package/src/video/providers/google-flow.ts +80 -9
- package/src/video/providers/runway-useapi.ts +7 -4
- package/src/video/providers/xskill.ts +8 -5
- package/src/video/publish-platform/package.ts +349 -0
- package/src/video/publish-platform/profiles.ts +176 -0
- package/src/video/publish-platform/types.ts +155 -0
- package/src/video/publish-platform/validate.ts +236 -0
- package/src/video/readiness.ts +41 -2
- package/src/video/reference-transfer.ts +132 -0
- package/src/video/reframe/captions.ts +176 -0
- package/src/video/reframe/index.ts +100 -0
- package/src/video/reframe/plan.ts +241 -0
- package/src/video/reframe/qc.ts +124 -0
- package/src/video/reframe/render.ts +150 -0
- package/src/video/reframe/suggest.ts +103 -0
- package/src/video/reframe/template.ts +61 -0
- package/src/video/reframe/types.ts +87 -0
- package/src/video/remix-narrated.ts +2 -1
- package/src/video/report-diff.ts +2 -1
- package/src/video/report-history.ts +4 -3
- package/src/video/report.ts +2 -1
- package/src/video/retake-protocol.ts +146 -0
- package/src/video/review-ui-media-proxy.ts +189 -0
- package/src/video/review-ui-server.ts +319 -0
- package/src/video/review-ui.ts +62 -291
- package/src/video/run-state/normalize.ts +33 -0
- package/src/video/run-state/read.ts +68 -0
- package/src/video/run-state/types.ts +36 -0
- package/src/video/run-status.ts +197 -0
- package/src/video/scene-candidate-store.ts +34 -0
- package/src/video/scene-candidates.ts +24 -0
- package/src/video/scene-headcount.ts +163 -0
- package/src/video/scene-selection.ts +48 -0
- package/src/video/seedance-antislop.ts +290 -0
- package/src/video/seedance-blocks.ts +139 -3
- package/src/video/seedance-content-filter.ts +85 -4
- package/src/video/sfx.ts +7 -1
- package/src/video/show-bible-attach.ts +233 -0
- package/src/video/show-preflight.ts +358 -0
- package/src/video/soundtrack.ts +8 -1
- package/src/video/stage-guards.ts +26 -0
- package/src/video/status.ts +2 -1
- package/src/video/stock-platform/providers/pexels.ts +243 -0
- package/src/video/stock-platform/registry.ts +20 -0
- package/src/video/stock-platform/rights.ts +143 -0
- package/src/video/stock-platform/store.ts +421 -0
- package/src/video/stock-platform/types.ts +117 -0
- package/src/video/story-bible.ts +20 -0
- package/src/video/storyboard-grid.ts +2 -1
- package/src/video/storyboard-markdown.ts +4 -3
- package/src/video/studio/execute.ts +12 -1
- package/src/video/studio/planner.ts +190 -3
- package/src/video/studio/recipes.ts +240 -3
- package/src/video/studio/types.ts +77 -0
- package/src/video/style-register.ts +684 -0
- package/src/video/template-store.ts +6 -5
- package/src/video/timeline.ts +2 -1
- package/src/video/types.ts +78 -0
- package/src/video/veo-runtime.ts +41 -0
- package/src/video/veo-subprocess.ts +6 -13
- package/src/video/verify-env.ts +151 -11
- package/src/video/verify-final.ts +56 -11
- package/src/video/vfx-register.ts +102 -0
- package/src/video/video-context.ts +3 -2
- package/src/video/vocal-map.ts +36 -1
- package/src/video/vocal-sync-plan.ts +52 -8
- package/src/video/workload.ts +2 -1
- package/src/video/workspace-root.ts +34 -0
- package/src/video/workspace.ts +54 -2
- package/vclaw-cli/README.md +413 -0
- package/vclaw-cli/benchmarks/workflows.phase0.json +38 -0
- package/vclaw-cli/bun.lock +290 -0
- package/vclaw-cli/examples/config.example.json +23 -0
- package/vclaw-cli/flow.ts +1637 -0
- package/vclaw-cli/package.json +52 -0
- package/vclaw-cli/src/api.ts +732 -0
- package/vclaw-cli/src/auth.ts +99 -0
- package/vclaw-cli/src/backends/direct/index.ts +390 -0
- package/vclaw-cli/src/backends/index.ts +64 -0
- package/vclaw-cli/src/backends/types.ts +1198 -0
- package/vclaw-cli/src/backends/useapi/accounts.ts +439 -0
- package/vclaw-cli/src/backends/useapi/client.ts +2601 -0
- package/vclaw-cli/src/backends/useapi/index.ts +723 -0
- package/vclaw-cli/src/cli.ts +1922 -0
- package/vclaw-cli/src/config.ts +283 -0
- package/vclaw-cli/src/db-unified.ts +264 -0
- package/vclaw-cli/src/db.ts +910 -0
- package/vclaw-cli/src/download.ts +228 -0
- package/vclaw-cli/src/generation.ts +396 -0
- package/vclaw-cli/src/index.ts +195 -0
- package/vclaw-cli/src/prompts.ts +215 -0
- package/vclaw-cli/src/provider-platform/benchmark-smoke.ts +39 -0
- package/vclaw-cli/src/provider-platform/benchmark.ts +128 -0
- package/vclaw-cli/src/provider-platform/index.ts +9 -0
- package/vclaw-cli/src/types.ts +356 -0
- package/vclaw-cli/src/upload.ts +2043 -0
- package/vclaw-cli/src/webhook.ts +448 -0
- package/vclaw-cli/tsconfig.json +29 -0
- package/skills/build-fix/SKILL.md +0 -145
- package/skills/configure-notifications/SKILL.md +0 -286
- package/skills/deep-interview/SKILL.md +0 -358
- package/skills/doctor/SKILL.md +0 -200
- package/skills/help/SKILL.md +0 -200
- package/skills/note/SKILL.md +0 -62
- package/skills/pipeline/SKILL.md +0 -86
- package/skills/review/SKILL.md +0 -38
- package/skills/skill/SKILL.md +0 -835
- package/skills/studio-mode/SKILL.md +0 -148
- package/skills/worker/SKILL.md +0 -106
package/AGENTS.md
CHANGED
|
@@ -3,15 +3,21 @@
|
|
|
3
3
|
## Agent integration contract (v3)
|
|
4
4
|
|
|
5
5
|
videoclaw v3 is designed as a target for external agents (Claude Code,
|
|
6
|
-
Codex, Antigravity, Cursor, Warp), not as an orchestrator itself.
|
|
7
|
-
|
|
6
|
+
Codex, Antigravity, Cursor, Warp), not as an orchestrator itself.
|
|
7
|
+
|
|
8
|
+
`docs/AGENT_QUICKSTART.md` is the install-and-first-render path for an agent on
|
|
9
|
+
a new machine. `vclaw schema --json` is the command index and
|
|
10
|
+
`skills/catalog.json` the lane index — read both before improvising.
|
|
11
|
+
|
|
12
|
+
The contract:
|
|
8
13
|
|
|
9
14
|
1. **Stdout is JSON when piped.** Pretty-printed when TTY. Progress goes to stderr.
|
|
10
15
|
2. **Exit codes follow a 0/1/2/3 taxonomy** — see `docs/CLI_REFERENCE.md` § Agent-friendly surface.
|
|
11
16
|
3. **Errors carry stable string codes** in their JSON envelope. The catalog: `schemas/video/errors.json`.
|
|
12
17
|
4. **One-call discovery: `vclaw schema --json`** dumps the full contract — commands, flags, artifact schemas, exit codes, error codes.
|
|
13
18
|
5. **Veo (Google Flow) access requires Bun.** `vclaw veo *` subcommands bridge to `bun run vclaw-cli/flow.ts` as a subprocess. Bun must be on PATH (`bun --version` to verify).
|
|
14
|
-
6. **
|
|
19
|
+
6. **Durable production queue.** `produce --auto-chain`, `pool` and `batch-submit` compile tasks without provider submission. New queued work goes through `cinema-work-quote`, `cinema-authorize`, and `cinema-work`; plain `produce` retains a direct live path. Discover exact flags before invoking either; there is no universal dry-run or spend flag.
|
|
20
|
+
7. **MCP option.** `vclaw mcp serve` exposes read-only project introspection (list_projects, get_project_status, get_artifacts, get_event_log, list_provider_routes) over stdio MCP. Writes still go through the CLI.
|
|
15
21
|
|
|
16
22
|
If you are an agent author wiring videoclaw into your tool: call
|
|
17
23
|
`vclaw schema --json` once, then drive the CLI deterministically.
|
|
@@ -47,13 +53,18 @@ Don't try to do natural-language intent classification inside videoclaw
|
|
|
47
53
|
- `src/video/` holds the core video workflow modules: artifacts, checkpoints, provider status, workspace helpers, and built-in pipeline manifests.
|
|
48
54
|
- `src/tests/` contains Node test files; compiled tests run from `dist/tests/` after build.
|
|
49
55
|
- `schemas/video/` stores JSON Schema contracts for artifacts and pipeline manifests.
|
|
56
|
+
- `src/video/cinema-*` owns durable production tasks, quotes, authorisations, evidence and reconciliation; `lane-queue.ts` / `lane-coordinator.ts` coordinate provider-account slots.
|
|
57
|
+
- `vclaw-cli/` is the optional Bun Flow sidecar; Python workflow helpers live under `skills/`. `services/shared-lane-coordinator/` is a separately deployed Cloudflare service for shared account slots.
|
|
58
|
+
- `docs/` is canonical for mirrored reference pages; run `npm run docs:sync` after edits. Independently authored `docs-site/guide/` pages need separate updates.
|
|
50
59
|
- `docs/ARCHITECTURE.md` explains the clean-room, video-first design. Treat `dist/` as generated output; edit `src/` instead.
|
|
51
60
|
|
|
52
61
|
## Build, Test, and Development Commands
|
|
53
|
-
- `npm
|
|
62
|
+
- Use Node >=20.10. `npm ci` installs the locked Node dependencies; it does not install Node itself.
|
|
63
|
+
- Contributor verification needs Python 3.12+ in an activated virtual environment, `python -m pip install -r requirements-test.txt`, and FFmpeg/ffprobe. Run `npm run check:test-python` before the suite.
|
|
64
|
+
- Optional Flow commands require Bun >=1.3.5 plus `bun install --cwd vclaw-cli --frozen-lockfile`; local lane coordination requires the `sqlite3` CLI. Package users should follow the optional runtime setup in `docs-site/guide/install.md`.
|
|
54
65
|
- `npm run build` — compile TypeScript to `dist/` and make `dist/cli/vclaw.js` executable.
|
|
55
66
|
- `npm run dev` — run `tsc --watch` for local iteration.
|
|
56
|
-
- `npm test` —
|
|
67
|
+
- `npm test` — lint, module-size check, rebuild, then the Node test suite. This does not run the separate Bun sidecar suite or prove live provider readiness.
|
|
57
68
|
- `npm run test:node` — rerun compiled tests only when `dist/` is already current.
|
|
58
69
|
- Example CLI smoke check: `node dist/cli/vclaw.js video providers`.
|
|
59
70
|
|
|
@@ -71,7 +82,7 @@ Don't try to do natural-language intent classification inside videoclaw
|
|
|
71
82
|
- Prefer temp-directory-based tests (`mkdtemp`, `tmpdir`) so runs stay isolated and repeatable.
|
|
72
83
|
|
|
73
84
|
## Commit & Pull Request Guidelines
|
|
74
|
-
-
|
|
85
|
+
- Use imperative, scope-aware commits that follow the repo Lore protocol and preserve the existing published history.
|
|
75
86
|
- Start with why, then add trailers when useful, such as `Constraint:`, `Confidence:`, `Scope-risk:`, `Tested:`, and `Not-tested:`.
|
|
76
87
|
- PRs should summarize user-visible changes, list verification commands run, link related issues, and include sample CLI output when command behavior changes.
|
|
77
88
|
|
package/CLAUDE.md
CHANGED
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Quick orientation (read this first, then `MERGE_PLAN.md`)
|
|
6
|
+
|
|
7
|
+
- **Entrypoint:** `src/cli/vclaw.ts` — a thin ~530-line dispatch shell; all command logic lives in `src/cli/handlers/*.ts` (25 modules).
|
|
8
|
+
- **Domain core:** `src/video/*` — small single-purpose modules (projects, execution, assemble, audio-platform, studio, preview-portal, motion-overlay, provider-platform, …).
|
|
9
|
+
- **Contracts & state:** `schemas/video/*` JSON Schemas are the source of truth for artifact *shapes*; the on-disk `projects/<slug>/` tree is the source of truth for project *state*.
|
|
10
|
+
- **Tests:** `node:test` files in `src/tests/*.test.ts`, run from compiled `dist/tests/` (`npm test`).
|
|
11
|
+
- **Also load:** the sibling `.claude/CLAUDE.md` for the `graphify`, `improvement-run`, and `concierge`/`clawbot` skill triggers.
|
|
12
|
+
|
|
13
|
+
> **Repository status (2026-07-02):** This is `videoclaw-v3`, the current repo —
|
|
6
14
|
> unified from `videoclaw-v2`, itself the merged successor of the older `videoclaw`
|
|
7
15
|
> package and the clean-room `vclaw-video-core` rebuild. (The
|
|
8
16
|
> npm package is `videoclaw`; "videoclaw-v3" is just the repo name.) Foundation
|
|
@@ -30,6 +38,101 @@ first message is just a greeting with no task, offer the concierge menu.
|
|
|
30
38
|
Engineering and maintenance requests on this codebase itself are NOT concierge
|
|
31
39
|
territory — handle those normally.
|
|
32
40
|
|
|
41
|
+
## Working discipline — ground in what already exists before you build (READ THIS FIRST)
|
|
42
|
+
|
|
43
|
+
This project keeps getting bitten by the same failure: **improvising a fresh
|
|
44
|
+
(worse) approach instead of reusing the proven artifact that already exists**, and
|
|
45
|
+
silently dropping load-bearing pieces between turns.
|
|
46
|
+
|
|
47
|
+
**The honest root cause is a default to fast *visible* output** — a clip, an HTML,
|
|
48
|
+
a keyframe, a render — **over a provably-correct setup.** A fast wrong render is
|
|
49
|
+
slower than a slow right one: it burns spend, trust, and rework. The rules below
|
|
50
|
+
are forcing functions against that default; the friction IS the point. The
|
|
51
|
+
highest-leverage rules are **0, 1, and 4** — do them even when it feels slower.
|
|
52
|
+
|
|
53
|
+
Before authoring or changing **any** skill, procedure, function, prompt, render
|
|
54
|
+
setup, or review surface — and before creating a new command — work through this:
|
|
55
|
+
|
|
56
|
+
0. **Read the spec in full, once, up front — and write the contract down.** When
|
|
57
|
+
the user points to an authoritative method file (a doc, `WORKFLOW.md`, a
|
|
58
|
+
compliance sheet, a working harness script, a `--validate`d prompt), read the
|
|
59
|
+
WHOLE thing first and extract its requirements into a written checklist/contract
|
|
60
|
+
(a file or notepad) BEFORE building. Do NOT skim it on demand and discover the
|
|
61
|
+
pieces one correction at a time — that is exactly what makes the operator repeat
|
|
62
|
+
himself. For any multi-step build/production, keep that contract on disk and
|
|
63
|
+
**re-read it each turn**; requirements held only in working memory erode over a
|
|
64
|
+
long session. The on-disk contract, not your memory, is what you build against.
|
|
65
|
+
1. **Inventory before you build (the #1 rule).** Search first. Grep/read the
|
|
66
|
+
relevant `src/video/*`, `src/cli/handlers/*`, `skills/*`, `docs/*`, the
|
|
67
|
+
project's on-disk `artifacts/*` (e.g. `show-bible.json`, `voice-clones.json`,
|
|
68
|
+
`story-bible`, `flow-characters.json`, `seedance-assets.json`), and any
|
|
69
|
+
`references/` assets, proven harness scripts, or already-`--validate`d prompts.
|
|
70
|
+
If a working artifact exists, **use it** — never regenerate an ad-hoc
|
|
71
|
+
substitute. Most "why did this break again" pain is re-deriving something that
|
|
72
|
+
was already solved and written down.
|
|
73
|
+
2. **Artifacts/registries are the source of truth, not memory.** Drive work from
|
|
74
|
+
the on-disk artifacts (the `show-bible` registry, voice clones, reference
|
|
75
|
+
sheets, validated prompt files) — not from paths or prompts re-typed from
|
|
76
|
+
memory. If you catch yourself re-typing a file path or re-authoring a prompt
|
|
77
|
+
that already exists, stop and load it from the artifact.
|
|
78
|
+
3. **Prompting is per-model — never reuse one prompt style across routes.**
|
|
79
|
+
Seedance/Runway/Dreamina lock identity from **references + a rich per-subject
|
|
80
|
+
visual descriptor** (never a generic "the man") + the multi-shot framework, and
|
|
81
|
+
take character-sheet + location + per-speaker voice refs. Flow (`veo-useapi`)
|
|
82
|
+
locks identity on a **registered Flow Character** and tolerates generic
|
|
83
|
+
prompts. Image models (GB, `openai-gpt-image-2`) differ again. Check the
|
|
84
|
+
route's ruleset (and any model-specific prompting skill/doc) before authoring a
|
|
85
|
+
prompt or choosing references.
|
|
86
|
+
4. **Encode the method so the TOOL enforces it — don't rely on remembering.**
|
|
87
|
+
When a procedure has required inputs/steps, add a fail-fast preflight/readiness
|
|
88
|
+
gate that ERRORS (non-zero, clear blocker) when a required piece is missing, and
|
|
89
|
+
prefer **registry-driven auto-attach** over manual setup. The target shape: an
|
|
90
|
+
operator just prompts; the tool attaches the right inputs and refuses to render
|
|
91
|
+
wrong (see `show-preflight` + show-bible auto-attach).
|
|
92
|
+
5. **Review-first, one-at-a-time for any spend.** Before any paid or slow
|
|
93
|
+
generation, emit the exact **contract** — the prompt + the references + the JSON
|
|
94
|
+
that will actually be submitted — for review (the review portal IS the
|
|
95
|
+
contract; show the EXACT submit payload, not a paraphrase). Then render ONE
|
|
96
|
+
unit, verify it (extract a frame + whisper the audio / QC), get approval, and
|
|
97
|
+
only then the next. Never batch-spend on an unreviewed setup. **Immediately
|
|
98
|
+
before submitting, dry-run `buildExecutionPayload` and confirm the resolved
|
|
99
|
+
refs/prompt/route match the approved contract** — the actual submission has
|
|
100
|
+
silently diverged before (an `@tag` hijacked the references and dropped the
|
|
101
|
+
approved sheets/location). If it doesn't match the contract, do not submit.
|
|
102
|
+
6. **New command/skill = conventions below + steps 1 & 4.** Still do the full
|
|
103
|
+
registration (handler + `vclaw.ts` dispatch + `cli-schema.ts` `COMMANDS` entry +
|
|
104
|
+
bump the `cli-schema.test.ts` count + a `cli-*.test.ts` + README/CLI_REFERENCE +
|
|
105
|
+
a schema for any new artifact), but **inventory first** (step 1) and add a
|
|
106
|
+
**preflight gate** (step 4) if it has required inputs.
|
|
107
|
+
7. **Verify OUTCOMES, not that a command ran — and never report unverified
|
|
108
|
+
progress.** "Launched a driver" / "submitted" is NOT "it's working." After any
|
|
109
|
+
submit or render, confirm the real provider-side state before claiming it: a
|
|
110
|
+
live job exists (`execute-status` → `live-submitted` + a candidate + a
|
|
111
|
+
`.vclaw-jobs/*.json` file), and then the actual output downloaded + QC'd (frame
|
|
112
|
+
+ whisper). If you tell the user something is happening, prove it (a job id /
|
|
113
|
+
status / a frame) — do not assert progress you have not checked.
|
|
114
|
+
|
|
115
|
+
**QC the whole clip, not one frame.** A single mid-frame grab is not
|
|
116
|
+
verification: it passed 8 clips whose defect (extra figures walking in from the
|
|
117
|
+
frame edges) only began around the four-second mark, and the operator found it
|
|
118
|
+
on screen after delivery. Use `vclaw video clip-qc`, or a filmstrip —
|
|
119
|
+
`ffmpeg -i clip.mp4 -vf "fps=1,scale=200:-1,tile=8x1" strip.jpg` renders every
|
|
120
|
+
second in one pass. `consistency-audit` (one mid-frame, identity) and
|
|
121
|
+
`motion-qc` (nine frames, morph/vanish) are advisory and never block, so read
|
|
122
|
+
their findings rather than treating silence as clean.
|
|
123
|
+
|
|
124
|
+
**Re-render corollary — deleting the clip does NOT force a re-render.** The
|
|
125
|
+
resumable drivers resume from the **scene-selection artifact**, never from
|
|
126
|
+
disk, so a changed prompt plus a deleted `outputs/scene-N.mp4` yields
|
|
127
|
+
`skipped, attempts=0` and no provider call at all. Clear the selection with
|
|
128
|
+
`vclaw video reroll-scene --project <slug> --scene <i> --void` (it voids all
|
|
129
|
+
four stores atomically). After any re-render read the **per-scene statuses**,
|
|
130
|
+
not the file count — a silent no-op looks exactly like success from the
|
|
131
|
+
outside.
|
|
132
|
+
|
|
133
|
+
When in doubt, the on-disk project and its artifacts win over anything you
|
|
134
|
+
remember.
|
|
135
|
+
|
|
33
136
|
## Build, test, and smoke commands
|
|
34
137
|
|
|
35
138
|
```bash
|
|
@@ -37,15 +140,22 @@ npm install # Node 20+
|
|
|
37
140
|
npm run build # clean dist/, tsc, chmod +x the CLI bins
|
|
38
141
|
npm run dev # tsc --watch
|
|
39
142
|
npm test # rebuild, then node --test dist/tests/*.test.js
|
|
40
|
-
npm run test:node # rerun compiled tests without rebuilding (serial
|
|
143
|
+
npm run test:node # rerun compiled tests without rebuilding (serial by default; VCLAW_TEST_CONCURRENCY=4 saturates a 4-core box — CI additionally splits it with `--shard i/4` across four runners, see .github/workflows/ci.yml)
|
|
41
144
|
```
|
|
42
145
|
|
|
43
|
-
Run a
|
|
146
|
+
Run a subset after `npm run build` (or `npm run dev`) — the arg is a filename
|
|
147
|
+
substring:
|
|
44
148
|
|
|
45
149
|
```bash
|
|
46
|
-
node --
|
|
150
|
+
npm run test:node -- cli-full-flow
|
|
47
151
|
```
|
|
48
152
|
|
|
153
|
+
Prefer this over a bare `node --test dist/tests/...`. The runner points `python3`
|
|
154
|
+
at the interpreter `check:test-python` pins; invoking `node --test` directly runs
|
|
155
|
+
the suite's ~114 Python call sites on whatever `python3` PATH happens to give,
|
|
156
|
+
which is how a drifted Pillow once passed the gate and silently changed
|
|
157
|
+
title-card rendering.
|
|
158
|
+
|
|
49
159
|
End-to-end smokes (each runs `npm run build` first) and local guardrails:
|
|
50
160
|
|
|
51
161
|
```bash
|
|
@@ -60,6 +170,7 @@ npm run smoke:story-bible-image # story-bible image-only path
|
|
|
60
170
|
npm run smoke:assemble # FFmpeg assemble/stitch layer (dry)
|
|
61
171
|
npm run smoke:assemble-render # real FFmpeg render validation
|
|
62
172
|
npm run smoke:multi-shot # multi-shot prompt plan→validate round-trip
|
|
173
|
+
npm run smoke:rap-dryrun # rap lane: a solo and a duet film built from nothing reach qc (no renders, no spend; needs ffmpeg-full, macOS say)
|
|
63
174
|
npm run e2e:image-storyboard # image-storyboard workflow (runs --verify-server)
|
|
64
175
|
npm run e2e:image-storyboard:examples # image-storyboard e2e against the bundled examples
|
|
65
176
|
npm run check:movie-director-wrappers # bundled Director helper scripts
|
|
@@ -68,6 +179,7 @@ npm run check:skill-frontdoor # repo-local skill front door
|
|
|
68
179
|
npm run check:artifact-schema-coverage # writers vs schemas drift (advisory)
|
|
69
180
|
npm run check:artifact-schema-coverage:strict # same, but fails the build on drift (--strict)
|
|
70
181
|
npm run check:release-readiness-lite # one-shot: build + tests + main smokes + guardrails
|
|
182
|
+
npm run docs:sync # regenerate docs-site/reference/ from docs/ — run after ANY docs/*.md edit (CI: check:docs-site)
|
|
71
183
|
npm run graph:full # rebuild the graphify knowledge graph (graphify-out/)
|
|
72
184
|
```
|
|
73
185
|
|
|
@@ -77,7 +189,7 @@ npm run graph:full # rebuild the graphify knowledge graph
|
|
|
77
189
|
|
|
78
190
|
### Layers (read top-down)
|
|
79
191
|
|
|
80
|
-
1. `src/cli/vclaw.ts` — the single user-facing entrypoint, now a thin dispatch shell (~
|
|
192
|
+
1. `src/cli/vclaw.ts` — the single user-facing entrypoint, now a thin dispatch shell (~530 lines: imports, `printHelp`, the `NOUN_VERB_ALIASES` map, `resolveSubcommand`, the `VIDEO_DISPATCH` table, and `main`). The decomposition is COMPLETE (PRs #89–#120): pure arg/slug/spend helpers live in `src/cli/args.ts`, and ALL command handlers live in `src/cli/handlers/` (25 modules — `analysis`, `audio`, `batch`, `candidates`, `character`, `clone`, `create`, `execution`, `library`, `media-ops`, `media-production`, `migrate-home`, `monitor`, `motion-overlay`, `multi-shot`, `project-ops`, `prompt-craft`, `provider-registration`, `reference-sheets`, `reporting`, `review-portal`, `show`, `stages`, `studio`, `templates`), each a verbatim extraction with module-private helpers and only dispatch-facing handlers exported. ⚠️ When moving handler code, watch for position-sensitive path math (`import.meta.url` etc.) — the compiled location changes (see the documented adaptations in `handlers/studio.ts` and `handlers/motion-overlay.ts`). `src/cli/provider-adapter.ts` is the built-in adapter binary for the four `..._ADAPTER` routes (see Provider routes below). Besides `video`/`studio`, `main` also dispatches two smaller families: `vclaw mcp serve` (`src/mcp/` — a read-only stdio MCP server exposing `list_projects`, `get_project_status`, `get_artifacts`, `get_event_log`, `list_provider_routes`; writes stay CLI-only by design) and `vclaw veo <verb>` (`src/video/veo-subprocess.ts` — spawn-forwarding to the Bun-based `vclaw-cli/flow.ts`, required for Puppeteer/Google Flow verbs like `status`, `resume`, `cancel`, `useapi:*`).
|
|
81
193
|
2. `src/video/` — the core domain. Each file is small and single-purpose, e.g. `artifacts.ts`, `artifact-store.ts`, `checkpoints.ts`, `workspace.ts`, `projects.ts`, `status.ts`, `doctor.ts`, `doctor-portfolio.ts`, `readiness.ts`, `execution-plan.ts`, `execute.ts`, `execution-runtime.ts`, `execution-status.ts`, `execution-cancel.ts`, `director-preflight.ts`, `report.ts`, `csv-export.ts`, `obsidian-export.ts`, `project-index.ts`, `metrics.ts`, `next-actions.ts`, `template-store.ts`, `provider-status.ts`, `native-seedance.ts`, `native-veo.ts`, `multi-shot-prompt.ts`, `storyboard-grid.ts`, `cinematography.ts` (detail-leveled quantified camera/lighting/grade/audio emitters — `--detail terse|standard|rich`), `prompt-rules.ts` (standing prompt rules: visual-descriptor-not-names, brand-neutral, no-face-morph, diegetic audio), `seedance-asset-library.ts` (Asset Library character/product consistency), `story-bible.ts` (deterministic continuity bible — cast/settings/props/scene-timeline from brief + storyboard + characters), `brand-definition.ts` (locked brand system — palette/voice/typography/theme map; `filmmaking-prompts` appends a prose BRAND line when present), `assemble/media-qc.ts` (post-stitch ffprobe QC of clips + master), `assemble/narration-fit.ts` (TTS-vs-video timing planner: atempo / loop-video fit). `src/video/studio/` is the planning front door and `src/video/preview-portal/` is the review/delivery portal (both described below).
|
|
82
194
|
3. `src/video/provider-platform/` — route descriptors (Veo / Seedance / Runway direct and useapi flavors).
|
|
83
195
|
4. `src/video/pipeline-manifests/` — built-in stage definitions for the two production modes.
|
|
@@ -87,7 +199,7 @@ npm run graph:full # rebuild the graphify knowledge graph
|
|
|
87
199
|
|
|
88
200
|
### Project lifecycle (per project, on disk)
|
|
89
201
|
|
|
90
|
-
After `vclaw video init <slug>`, a project lives at `projects/<slug>/` under the workspace root and is the unit of everything else
|
|
202
|
+
After `vclaw video init <slug>`, a project lives at `projects/<slug>/` under the workspace root and is the unit of everything else. **The workspace root is the ONE canonical home `~/videoclaw`** (`CANONICAL_WORKSPACE_ROOT` in `src/video/workspace-root.ts`), resolved as `--root` flag → `VCLAW_WORKSPACE` → `VIDEOCLAW_WORKSPACE` → `~/videoclaw` — this replaced the old per-invocation `process.cwd()` default that scattered projects wherever `vclaw` happened to run. `vclaw video migrate-home` consolidates scattered projects into the home (dry-run plan by default; `--confirm` moves each project and leaves a symlink at the old path so old absolute paths still resolve).
|
|
91
203
|
|
|
92
204
|
```
|
|
93
205
|
projects/<slug>/
|
|
@@ -103,7 +215,9 @@ projects/<slug>/
|
|
|
103
215
|
|
|
104
216
|
Canonical stage order: **init → brief → storyboard → assets → review → publish**. `readiness`, `plan`/`execution-plan`, `produce`/`execute`, `execute-status`, `execute-cancel` are the runtime-execution layer that sits between assets and review.
|
|
105
217
|
|
|
106
|
-
`produce`/`execute --auto-chain`
|
|
218
|
+
`produce`/`execute --auto-chain` and `vclaw video pool` are **durable-queue compilers, not renderers** (since the cinema queue landed, PRs #360/#364). `--auto-chain` compiles the storyboard into `artifacts/cinema/production-queue.json` as a dependency chain (each scene's task seeds from its predecessor's *selected* candidate; `cinema-chain-fallback.ts` carries the image-only fallback policy per link), `pool` enqueues the pending scenes as independent tasks, and both return `{ enqueued, pendingScenes, providerCalls: 0, spendAuthorized: false }` without touching a provider. `--execute`, `--dry-run` and `--confirm-spend` are refused on both (`--execute` is retired). The queue drains one task at a time through `vclaw video cinema-work --task <id>` (`src/cli/handlers/cinema-execution.ts`): a task compiled for any paid route — which includes `veo-useapi` even when the model is the 0-credit `veo-3.1-lite-low-priority` — is `authorizationRequirement: 'exact-quote'` and needs a bound authorization + repeated quote hash + `--confirm-spend` + a fresh quote-adapter observation; only `runway-useapi` explore mode is a provider-free submission (`--confirm-provider-call`). The chain-from-prev engine underneath is unchanged: `resolveSceneReferencePaths` (`execution-runtime.ts`) keeps BOTH a seedance scene's character `Asset://` refs AND the keyframe video, and `execute-autochain.ts` keeps `waitForSceneVideo` / `resolveInFlightScene` for the submit-only async routes (a chain seed must be a candidate that already HAS a video, or `chain-from-prev-source-missing` fires). Continuation advisories (`continuation-handoff.ts`, `analyzeChainContinuity`) still flag chain-depth drift.
|
|
219
|
+
|
|
220
|
+
`vclaw video render-scenes` (`execute-render-scenes.ts`, `runRenderScenes`) is the one scene driver that still renders **directly** (a PURE scheduler + an injectable per-scene runner, offline-testable): sequential, walking a per-scene **fallback route ladder** — try route A, escalate to B then C on provider rejection, first success wins — and spend-gated by `--confirm-spend`. Plain `produce` (no `--auto-chain`) also still submits directly and re-submits a scene whose clip was deleted; the "resumes from the scene-selection artifact, so deleting the clip is a silent no-op" trap in the working-discipline rules applies to the queue-driven paths, where `reroll-scene --void` is what clears a selection.
|
|
107
221
|
|
|
108
222
|
### Two production modes
|
|
109
223
|
|
|
@@ -127,14 +241,20 @@ The ops layer tracks a normalized `storyboardReviewState` of `missing | current
|
|
|
127
241
|
|
|
128
242
|
The portal generates the standardized HTML surfaces that used to be hand-written per project: `edit.html`/`review.html` (editor/operator human-in-the-loop, with approve/regenerate controls and `VIDEOCLAW_REVIEW_DECISIONS` copy output), `client-review.html` (lightweight client approve/decline/comment, `VIDEOCLAW_CLIENT_FEEDBACK` copy output), and `preview.html` (polished final showcase: every production image is lightbox-enabled for click-to-fullscreen, a soundtrack `<audio controls preload="none">` player renders when a soundtrack is discovered, plus downloads). The module is split into `discovery.ts` (find project assets), `generate.ts` + `templates.ts` + `shared-assets.ts` (render the surfaces), `render.ts`/`publish.ts` (emit/ship), and `audit.ts` (drift checks); `src/video/review-ui.ts` (`vclaw video review-ui`) serves the editor surface interactively. The decisions/feedback flow back through env-var copy blocks rather than a server round-trip, keeping the on-disk project the source of truth. See `docs/preview-portal-audit.md`.
|
|
129
243
|
|
|
244
|
+
### Mission Control (`vclaw video monitor`)
|
|
245
|
+
|
|
246
|
+
`src/video/monitor/` serves a read-only localhost cockpit (default port 8765): `monitor/discovery.ts` discovers every project across workspace roots (`--root` adds extra roots to scan) and the server renders a live overview from the on-disk artifacts. Never calls a provider, never spends.
|
|
247
|
+
|
|
130
248
|
### Storyboard grid & multi-shot prompt handoff
|
|
131
249
|
|
|
132
|
-
`src/video/multi-shot-prompt.ts` builds project-ready, provider-tuned multi-shot prompt packets (presets via `vclaw video multi-shot --presets`; see `references/video/multi-shot-framework.md`, especially its Anti-patterns section). `multi-shot --plan` can render through alternate composers via `--format default|seedance-paragraph|per-shot` (default = the original `{ preset, shots[] }` JSON, unchanged) and wrap the rendered text bilingually via `--lang en|zh|en+zh` (offline identity translator — the flag surfaces the two-block `en+zh` structure, not live translation); `--category <id>` drives the composed prose. On a non-`default` `--format`, `--hook <patternId>` (named `HOOK_PATTERNS` opening directive from `cinematography.ts`) prepends an `Opening hook — ...` line and `--dialogue "<speaker>: <line> [|| <speaker>: <line>]"` appends spoken dialogue to the opening via `withDialogue` — both are post-render text transforms (composers stay pure), default off / unchanged output. `--dialogue` parses a trailing `[emotion]` per speaker, and `--emotion-cues` rewrites those named emotions into physical-cue descriptors (`rewriteEmotionAsPhysical`/`EMOTION_PHYSICAL_CUE_MAP` in `emotion-cues.ts`) — advisory/additive, extremes left named, default off / byte-identical. `filmmaking-prompts --phase storyboard|video` gates the heavy video `seedancePackets` to `[]` in the `storyboard` phase (lock-the-grid step) while keeping the storyboard/camera-language portion. Joey cinematic-adaptation opt-in flags (all additive — omit = byte-identical legacy output) route through these same commands: `filmmaking-prompts` takes `--sheet 8-shot|6-panel` (`characterSheetSixPanelPrompt`), `--realism`/`--wet`/`--haze thin|light|heavy` (the `captureRealismBlock` keystone + `volumetricHaze`, at `--detail rich`), `--background mid-gray|white|black` (`backgroundPlate`), and `--lighting <id>`/`--grade <id>` (rich cinematography-suffix registers, e.g. `night-fire`/`bleach-bypass`); `multi-shot` takes `--genre <id>` (`resolveStyleLine`, Nolan fallback). Operator trigger-word map: mid-gray → `backgroundPlate`; haze → `volumetricHaze`; anti-plastic → `captureRealismBlock`; wet → moisture clause; bleach-bypass/lifted-blacks → lift/gamma grade; no-on-screen-text → Last Frame
|
|
250
|
+
`src/video/multi-shot-prompt.ts` builds project-ready, provider-tuned multi-shot prompt packets (presets via `vclaw video multi-shot --presets`; see `references/video/multi-shot-framework.md`, especially its Anti-patterns section). `multi-shot --plan` can render through alternate composers via `--format default|seedance-paragraph|per-shot` (default = the original `{ preset, shots[] }` JSON, unchanged) and wrap the rendered text bilingually via `--lang en|zh|en+zh` (offline identity translator — the flag surfaces the two-block `en+zh` structure, not live translation); `--category <id>` drives the composed prose. On a non-`default` `--format`, `--hook <patternId>` (named `HOOK_PATTERNS` opening directive from `cinematography.ts`) prepends an `Opening hook — ...` line and `--dialogue "<speaker>: <line> [|| <speaker>: <line>]"` appends spoken dialogue to the opening via `withDialogue` — both are post-render text transforms (composers stay pure), default off / unchanged output. `--dialogue` parses a trailing `[emotion]` per speaker, and `--emotion-cues` rewrites those named emotions into physical-cue descriptors (`rewriteEmotionAsPhysical`/`EMOTION_PHYSICAL_CUE_MAP` in `emotion-cues.ts`) — advisory/additive, extremes left named, default off / byte-identical. `filmmaking-prompts --phase storyboard|video` gates the heavy video `seedancePackets` to `[]` in the `storyboard` phase (lock-the-grid step) while keeping the storyboard/camera-language portion. Joey cinematic-adaptation opt-in flags (all additive — omit = byte-identical legacy output) route through these same commands: `filmmaking-prompts` takes `--sheet 8-shot|6-panel` (`characterSheetSixPanelPrompt`), `--realism`/`--wet`/`--haze thin|light|heavy` (the `captureRealismBlock` keystone + `volumetricHaze`, at `--detail rich`), `--background mid-gray|white|black` (`backgroundPlate`), and `--lighting <id>`/`--grade <id>` (rich cinematography-suffix registers, e.g. `night-fire`/`bleach-bypass`); `multi-shot` takes `--genre <id>` (`resolveStyleLine`, Nolan fallback) and `--vfx <id>` (physical-VFX effects register, `src/video/vfx-register.ts`). Operator trigger-word map: mid-gray → `backgroundPlate`; haze → `volumetricHaze`; anti-plastic → `captureRealismBlock`; wet → moisture clause; bleach-bypass/lifted-blacks → lift/gamma grade; no-on-screen-text → `noOnScreenTextBlock`, the FIRST directive block (it moved out of Last Frame: overlay text is decided early in the frame, so the instruction has to sit early in the prompt). See `docs/CLI_REFERENCE.md` ("Joey cinematic opt-in flags") and the framework Anti-patterns.
|
|
133
251
|
|
|
134
252
|
`src/video/storyboard-grid.ts` (`vclaw video storyboard-grid`, `renderStoryboardGrid`) renders a **deterministic shot-spec sheet** — a 3×3 SVG→PNG of CAM/MOVE/MOOD annotation panels — **not** a cinematic storyboard with character imagery. It is the *layout/intent contract*, not the finished reference image. The intended two-step is: (1) `storyboard-grid` to lock panel order + camera language, then (2) generate the real cinematic 3×3 grid via an image model (always `openai-gpt-image-2` for multi-panel composites) and re-attach it with `vclaw video filmmaking-prompts --storyboard-grid <path>`, which feeds it into the Seedance/Veo/Runway prompt packets.
|
|
135
253
|
|
|
136
254
|
Two production-learned gotchas baked into the generated packets (see the framework Anti-patterns): (a) grids passed as provider `reference_images` get **reproduced as a moving 9-panel split-screen** unless the prompt explicitly forces single-full-frame output — the packets now embed that guard; (b) real-person content filters (xskill/ARK Seedance) reject photoreal faces as `reference_images`, so use `filmmaking-prompts --no-faces` to render the grid prompt in a silhouette / no-face register.
|
|
137
255
|
|
|
256
|
+
`vclaw video prompt-lint` (`src/video/prompt-lint.ts`, pure/deterministic — the handler does the I/O) lints a filmmaking-prompts artifact BEFORE spend: Seedance 13-block order, the 280–1000-words-per-packet window, brand/proper-name scrub leaks, the single-full-frame grid guard whenever a storyboard-grid reference is attached, NO ON-SCREEN TEXT / CAPTURE CADENCE / SUBJECT LOCK / CAPTURE REALISM / CAMERA CAPTURE presence on video packets, grid-panel annotation style (advisory), the character-identity word budget (30–60 words target, >100 hard failure), and two newer advisories: the reference-transfer contract and allocation-model over-allocation. `--checklist` prints the route checklist. `vclaw video cinema-profile` persists per-project cinematography defaults onto the project manifest (`updateProjectManifestCinemaProfile` in `workspace.ts`) so the prompt/packet layer picks them up without re-typing flags. `vclaw video diagnose` (`src/video/output-diagnosis.ts`) is the companion for AFTER a render: an output-quality troubleshoot tree — `--symptom <text>` matches an observed defect to causes + fixes, `--retry-pattern` prints the conservative retry pattern.
|
|
257
|
+
|
|
138
258
|
### Provider routes and adapters
|
|
139
259
|
|
|
140
260
|
Live execution calls route-specific adapters. A custom adapter is set via one of:
|
|
@@ -148,12 +268,20 @@ VCLAW_DREAMINA_USEAPI_ADAPTER
|
|
|
148
268
|
|
|
149
269
|
Adapters receive JSON on stdin and must return JSON on stdout (`externalJobId` for submit, `pending|completed|failed` for poll).
|
|
150
270
|
|
|
271
|
+
**One declaration per route.** What a route NEEDS — required env vars, runtime dependencies, maturity, its `..._ADAPTER` and `..._SUBMIT_CMD` env var names, and declared membership of the specialist lanes (`batch-queue.ts`'s batch routes, `execution-runtime.ts`'s `VOICE_REF_ROUTES`) — lives once in `src/video/provider-platform/route-prerequisites.ts`; `provider-status.ts` reads it instead of keeping five parallel tables, and the lane consumers derive their subsets from the declared flags. `src/video/capability-contract.ts` composes it with `ROUTE_CAPABILITIES`, the Cinema route registry, the audio backend registries and `FINISH_BACKEND_IDS` into one pure `CapabilityManifest`. Adding a route means editing the id tuple plus `route-prerequisites.ts` — `src/tests/capability-contract.test.ts` FAILS when any consumer, the MCP `list_provider_routes` description, or a fenced table in `docs/CAPABILITIES.md` / `docs/PROVIDER_PLATFORM.md` drifts from it. Do not merge the core and Cinema route id spaces (ADR 0001).
|
|
272
|
+
|
|
151
273
|
For `seedance-direct`, `veo-useapi`, `runway-useapi`, and `dreamina-useapi`, `vclaw` ships a built-in adapter binary (`dist/cli/provider-adapter.js`) used automatically unless the full `..._ADAPTER` override is set. The built-in adapters read route-specific `..._SUBMIT_CMD` / `..._POLL_CMD` / `..._CANCEL_CMD` command shims. Routes also have native in-process transports: `native-seedance.ts` (uses `SUTUI_API_KEY`), `native-veo.ts` (drives the local `vclaw-cli` Bun package), `native-runway.ts` (pure Node fetch + fs, UseAPI bearer auth), `native-dreamina.ts` (pure Node fetch + fs, UseAPI bearer auth).
|
|
152
274
|
|
|
153
|
-
**`dreamina-useapi` = Seedance 2.0 / Dreamina via useapi.net.** Dreamina (CapCut/ByteDance Seed) exposes `seedance-2.0`
|
|
275
|
+
**`dreamina-useapi` = Seedance 2.0 / Dreamina via useapi.net.** Dreamina (CapCut/ByteDance Seed) exposes the Seedance family (`seedance-2.0` default, `-2.0-fast`, `-2.0-mini`, `-1.5-pro`, `-1.0-pro`, `-1.0-mini`, `-1.0-fast`) and `sora2` through useapi.net; CA-region accounts unlock 1080p Seedance 2.0 (and 4k on `seedance-2.0` as of 2026-06-26 — opted into route-locally via `VCLAW_DREAMINA_RESOLUTION=4k`, since the shared execution profile only expresses 720p/1080p; the transport clamps 4k→1080p on non-seedance-2.0 models and →720p on the 720p-only ones). `-2.0-fast`/`-2.0-mini`/`sora2` are 720p-only. `native-dreamina.ts` reuses the **same `USEAPI_API_TOKEN`** as runway-useapi (no new token) and reads the account from `VCLAW_DREAMINA_ACCOUNT` (e.g. `CA:ai@example.com`), region from `VCLAW_DREAMINA_REGION` (default `CA`), and model from `VCLAW_DREAMINA_MODEL` (default `seedance-2.0`); the route adapter override is `VCLAW_DREAMINA_USEAPI_ADAPTER`. The account is registered server-side out-of-band (`POST /accounts` with `{email,password,region,maxJobs}`), so submit only needs the account id + token. For image-to-video, the first image reference is uploaded via `POST /dreamina/assets/<account>` to obtain an `assetRef`, which is passed as `firstFrameRef` on `POST /dreamina/videos` (first_frame mode auto-detects aspect ratio from the image); a scene's `endKeyframePath` (the same field the runway route uses) uploads a second frame passed as `endFrameRef` alongside `firstFrameRef` → **end_frame mode**, where the clip animates first→end (two stills → one continuous shot); poll uses `GET /dreamina/videos/<jobid>` (`status: created → completed|failed`) and downloads `response.videoUrl`. Like runway-useapi, real human faces are rejected by Seedance moderation — describe stylized characters by visual descriptor.
|
|
154
276
|
|
|
155
277
|
**Seedance character consistency = the Asset Library, not raw URLs.** `ark/seedance-2.0` (the official Volcengine Ark Seedance 2.0, Standard = 1080p) locks character identity via managed **Asset Library avatars** (`Asset://` URIs), NOT raw photoreal image URLs (those trip the "real person" content filter and don't lock identity). `src/video/seedance-asset-library.ts` (`vclaw video seedance-register-assets`) registers character images as Assets, waits for international-profile sync, and writes `artifacts/seedance-assets.json` (canonical schema `schemas/video/artifacts/seedance-assets.schema.json`; shape `{ schemaVersion, projectSlug, groupName, generatedAt, assets:[{name, assetId, assetUri, intlAssetUri}] }`); `readSeedanceAssets(workspaceRoot, slug)` reads it back into a name→`Asset://`-URI map (graceful when absent). On the `seedance-direct` route only, `buildExecutionPayload` (`execution-runtime.ts`) auto-resolves each scene's `referencePaths` from that artifact by matching `scene.characters` names → their `Asset://` URIs (a project without the artifact behaves as before); `native-seedance.ts`'s `seedanceReferenceParams` then routes `Asset://` references into `reference_images`. References are capped at ≤9 image / ≤3 video / ≤3 audio per submission via `assertReferenceBudget`, preflighted across the whole payload in `submitSeedanceDirectNative` before any submit (fail-fast, no partial submission). Describe characters by visual descriptor (not proper names) in prompts — names don't survive across generations. (Validated 2026-05-29 against the same Ark endpoint the user's production project uses.) `@Name` tags in scene prompts (`resolveAssetTags` in `prompt-rules.ts`, lookup via `asset-tag-lookup.ts` `buildAssetTagLookup`) resolve at `buildExecutionPayload` time to the character's visual descriptor (text) + its saved reference (`Asset://`/image), merged through `resolveSceneReferencePaths`; unresolved tags strip the `@` and warn (never fatal), `@imageN` positional bindings are reserved, and it runs before `stripProperNames`. `@location` tags resolve via locked environment plates: `vclaw video environment-auto-create` (`src/video/environment-auto-create.ts`, mirrors `character-auto-create`) generates seamless no-people location plates and writes `artifacts/environment-assets.json` (own schema, like seedance-assets); `readEnvironmentAssets` (`environment-assets.ts`) feeds `buildAssetTagLookup`'s `environmentsByName` so `@tokyo-alley` resolves to the plate descriptor + ref (absent → graceful no-op).
|
|
156
278
|
|
|
279
|
+
**Flow identity is registered, not referenced.** The Flow-side counterpart of `seedance-register-assets`: `vclaw video flow-register-characters` / `flow-register-voices` (`src/video/flow-character-library.ts`, handlers in `provider-registration.ts`) register reusable Google Flow Characters/Voices via useapi and write `artifacts/flow-characters.json` / `flow-voices.json` (needs `USEAPI_API_TOKEN` + `USEAPI_ACCOUNT_EMAIL`). `vclaw video flow-r2v` (`src/video/native-flow-r2v.ts`) then submits reference-to-video against those registrations, running `applyR2vPromptHygiene` over the prompt first. This is what working-discipline rule 3 means by "locks identity on a registered Flow Character".
|
|
280
|
+
|
|
281
|
+
### Cartoon-show layer (show-bible → show-preflight → voice clones)
|
|
282
|
+
|
|
283
|
+
The repeatable cartoon-SHOW production system (from the Jack-Vs-AI workflow). `vclaw video show-bible` (`src/cli/handlers/show.ts`) is the show's asset-library index: it ties the project's characters + locations (environment plates) + voice clones into one reusable world and tracks the episode list — plan/derive by default, deterministic, no provider calls. `vclaw video show-preflight` (`src/video/show-preflight.ts`, `buildShowPreflight`) is the fail-fast, **route-aware** readiness gate that working-discipline rule 4 points at: given the show-bible + storyboard, it verifies every cast/speaking subject in every scene has what the CHOSEN route actually needs — Seedance-family routes (`seedance-direct`/`runway-useapi`/`dreamina-useapi`) require a resolvable character sheet per cast member (on `seedance-direct` it must additionally be a registered Asset Library avatar — a raw portrait trips the real-person filter), a location plate per scene, and a bound, resolvable voice clip per speaking character, with subjects described by full visual descriptor (never a bare generic noun); Flow (`veo-useapi`) requires a registered Flow Character per cast member (registration is out-of-band via `flow-characters.json`, so the gate enforces — it never fabricates). `vclaw video voice-clone` (`src/video/voice-clone.ts`) implements the production-learned voice lock: a raw MP3/WAV voice reference DRIFTS to a generic accent, but the same audio as the track of a **black-frame video** locks it — the command builds that black-frame+audio MP4 (shared `runFfmpeg`) and persists reusable voice-clone assets in `artifacts/voice-clones.json` (mirroring the seedance-assets/environment-assets pattern), bindable to characters.
|
|
284
|
+
|
|
157
285
|
### Overnight batch queue
|
|
158
286
|
|
|
159
287
|
`src/video/batch-queue.ts` + the `vclaw video batch-submit` / `batch-monitor` / `batch-status` commands queue many independent video jobs to run unattended overnight. The default route is the **free** `runway-useapi` explore mode (low-res, slow — backfill drafts); target `dreamina-useapi` (or `seedance-direct`) for paid hi-res. An operator-authored manifest (`schemas/video/artifacts/batch-queue-manifest.schema.json` — an input-only artifact, allowlisted in `check-artifact-schema-coverage.mjs`) compiles via the pure `buildBatchPayload()` into a single `VideoExecutionPayload` with N tasks, so it reuses the existing native route transports (`native-runway`/`native-dreamina`/`native-seedance`) and their job-state — no duplicate submit/poll logic. `batch-submit` persists `<dir>/batch-queue.json`; `batch-monitor` polls once (the transport downloads to `<dir>/scene-<i>.mp4`), copies each completed scene to `<dir>/clips/<jobId>.mp4`, and writes `<dir>/batch-status.json`. It is **resumable/idempotent**: re-running only advances pending→done/failed and never re-downloads completed clips, so `batch-monitor --out <dir> --once` is safe to schedule via launchd (one pass per tick). Opt-in wedge handling: `--stall-minutes <n>` (0=off) flags scenes the provider has left `submitted` past the stall window as **wedged** (`detectWedgedScenes`/`applyWedgeHandling` in `batch-queue.ts`), and `--fail-wedged` marks them `failed` so the queue reaches terminal and the monitor exits instead of polling a stuck job to the deadline. The monitor also backs off automatically when the explore queue is throttled (`isExploreThrottled`/`nextBackoffMs`), and the opt-in `--auto-resubmit` (with `--stall-minutes <n>`, bounded by `--max-resubmits <n>`, default 2) re-submits wedged scenes as fresh single-scene jobs (`planResubmits`/`runResubmitPass`) — **only on the free `runway-useapi` route** (refused on paid routes up front, and the resubmit path self-guards, so it never spends credits). See `docs/CLI_REFERENCE.md` ("Overnight batch video queue").
|
|
@@ -166,10 +294,18 @@ For `seedance-direct`, `veo-useapi`, `runway-useapi`, and `dreamina-useapi`, `vc
|
|
|
166
294
|
|
|
167
295
|
`vclaw video motion-overlay --input <video>` turns an existing talking-head video into a reel with speech-synced motion-graphics overlays. Pipeline: ingest → transcribe (Gemini STT) → slice into ≤10s takes → compose overlay prompts (retention principles + concept→animation metaphor map live as deterministic code, not markdown) → render via one of four layouts (`split|overlay|motion-only|avatar-host`). Render transports: Omni Flash V2V (moderation-prone on person footage), **local** per-frame render (`render-local.ts`/`animate*.ts` — word reveal, count-up, gauge fill), and `avatar-host` (locked go-bananas character via `--gb-character <Name:ID>`, pin+chain identity). Plan/dry by default; spend requires `--execute --confirm-spend`; retry/resume self-heals probabilistic Flow moderation. See `docs/MOTION_OVERLAY.md`.
|
|
168
296
|
|
|
297
|
+
### Mograph — style-locked motion graphics (`src/video/mograph/`)
|
|
298
|
+
|
|
299
|
+
`vclaw video mograph-sheet` / `mograph-pack` / `mograph-render` / `mograph-logos` generate fleets of motion-graphics clips that share ONE look: a **motion sheet** (`artifacts/motion-sheet.json` — master style-board image + ≤120-word style lock carrying the do-NOT-copy-the-sheet-layout guard + a negative ending in the five audio bans) locks the style once, and a **motion pack** (`artifacts/motion-pack.json` — coverage map + action-only `B###` blocks, P1/P2/P3, `t2v|ref2v|v2v-*` modes) carries pure choreography. `mograph-pack --check` is the anti-drift gate (style words/hex codes banned from actions, quoted on-screen text ≤4 words, SFX-never-music, coverage integrity); `mograph-render` is PLAN-ONLY — it assembles `style lock + SHOT + AUDIO + AVOID` per block and `--emit-batch` compiles a batch-queue manifest for the existing `batch-submit`/`batch-monitor` machinery (refs ride in `characterRefs`, the REFERENCE slot; v2v blocks are set aside for omni-flash or prompt-only, never dropped silently). Creative authoring lives in `skills/mograph/SKILL.md`; contract in `docs/MOGRAPH.md`; design spec in `docs/design/specs/2026-07-13-mograph-native-port.md`. Native port of a licensed external skill's concepts — original wording only, the purchased pack is never committed.
|
|
300
|
+
|
|
169
301
|
### Audio platform (`src/video/audio-platform/`)
|
|
170
302
|
|
|
171
303
|
`narrate`, `dialogue`, `sfx`, and `soundtrack` are backend-pluggable audio commands over a backend registry (`registry.ts`): TTS via `gemini-tts`/`elevenlabs-tts`, SFX via ElevenLabs, music via `lyria` (Vertex), `lyria3` (Gemini API, key-based), `flowmusic` (Lyria 3 Pro vocals via useapi.net), and Suno. All spend-gated: without `--confirm-spend` they exit 3 with `spend_confirmation_required` (`--dry-run` to plan). `assemble` consumes their outputs via the mix-plan (dialogue + SFX mixed at stitch; `assemble/narration-fit.ts` handles TTS-vs-video timing).
|
|
172
304
|
|
|
305
|
+
### Media production & local post-production
|
|
306
|
+
|
|
307
|
+
Two handler families cover the finishing lane. `handlers/media-production.ts`: `assemble` (FFmpeg stitch, incl. `--from-clips`), `gen-image` (diegetic prop/screen/overlay stills; Flow image models via `gen-image-flow.ts`), `overlay` (graphic/alert/lower-third motion graphics with a drawtext preflight), `music-video` (vocal-synced beat-exact assembler, plan/dry by default), `title-card` (Pillow+RAQM title overlays), `stitch-ad`, `animation-styles` (shared `animation-styles.json` registry), `finish` (`src/video/finish.ts` — upscale a rendered cut to an HD/QHD master via hosted Topaz (spend-gated) or local Real-ESRGAN/Topaz CLI; the anti-plastic recipe is baked in: photoreal model, denoise/sharpen DISABLED, film grain kept, and Topaz `grain` clamps to 0.1 because the published schema overstates the range), and `lipsync` (OmniHuman, spend-gated). `assemble`'s stitch layer also supports opt-in **reading-holds** (`assemble/stitch.ts`, `readingHold`) — readable pre-roll holds on dense motion-comic segments. `handlers/media-ops.ts` is local-FFmpeg-only post-production on a finished cut — `make-vertical`/`make-square`/`make-loop`, `thumbnail`, `burn-subtitles`, `verify-final`, and `qc` (recursively scans `projects/<slug>/final/` + `outputs/` for clips and runs the assemble media-QC probe: missing-audio, nonstandard codec, duration drift; graceful `status: 'skipped'` when no clips) — real file I/O but NO provider calls and NO spend. Two adjacent quality/finishing tools: `vclaw video image-ops` (`src/video/image-ops.ts` + `native-magnific.ts`) is still-image post-processing, currently the Magnific precision-v2 image upscaler (pure planning core + injectable runner; `--dry-run` plans without spending; the IMAGE endpoint is live-verified, a different service from the video upscaler), and `vclaw video consistency-audit` (`src/video/consistency-audit.ts`) is an automated character-consistency VISION audit across rendered scenes/keyframes — the engine-side forcing function that catches wardrobe/face drift on recurring characters BEFORE a render is presented as done.
|
|
308
|
+
|
|
173
309
|
### Gemini key pool
|
|
174
310
|
|
|
175
311
|
`src/video/gemini-key-pool.ts` provides round-robin selection with per-key cooldown across `GEMINI_API_KEYS`, `GOOGLE_API_KEYS`, `GOOGLE_API_KEY`. `analyze-template --auto` and `analyze --auto` use it via `src/video/gemini-analyze.ts`. `VCLAW_GEMINI_API_ENDPOINT` overrides the endpoint.
|
|
@@ -195,13 +331,34 @@ For `seedance-direct`, `veo-useapi`, `runway-useapi`, and `dreamina-useapi`, `vc
|
|
|
195
331
|
- `check:skill-frontdoor` deliberately ignores `skills/seedance-prompts/SKILL.md` and the three presenter skills (`bunty`, `davendra-presenter`, `nex-presenter`) because their docs legitimately reference the legacy Python pipeline scripts. Don't "fix" the ignore list — it's load-bearing.
|
|
196
332
|
- Do not commit secrets, `.env.local`, provider cookies, or `.omx/` state (already gitignored).
|
|
197
333
|
|
|
334
|
+
## Start in your own worktree
|
|
335
|
+
|
|
336
|
+
Sessions share this repo's `.git`. Two in the MAIN checkout also share its
|
|
337
|
+
working tree, index, HEAD and `dist/` — which on 2026-08-01 absorbed one
|
|
338
|
+
session's uncommitted work into another's commit, wiped `dist/` mid-test-run
|
|
339
|
+
(322 phantom failures), and switched the branch under an in-flight commit. A
|
|
340
|
+
worktree gives a session its own copy of all four.
|
|
341
|
+
|
|
342
|
+
Run `scripts/new-session.sh <name> [branch]` before doing anything else. It
|
|
343
|
+
builds `.claude/worktrees/<name>` off a freshly fetched `origin/main`, links
|
|
344
|
+
`node_modules`, proves the link resolves, and prints the `cd`. Stage explicit
|
|
345
|
+
paths when committing, so a commit holds only what you touched.
|
|
346
|
+
|
|
347
|
+
Working in the main checkout is fine when you are certain you are the only
|
|
348
|
+
session. When you are not certain, you are not.
|
|
349
|
+
|
|
350
|
+
`scripts/hooks/install.sh` activates a `pre-commit` guard: it blocks a commit
|
|
351
|
+
made directly on `main`, and warns when you commit from the main checkout while
|
|
352
|
+
another worktree holds uncommitted work. Both are advisory-on-error and skippable
|
|
353
|
+
with `VCLAW_SKIP_GUARD=1` — a guard that wrongly blocks just gets deleted.
|
|
354
|
+
|
|
198
355
|
## Autonomy directive (from AGENTS.md)
|
|
199
356
|
|
|
200
357
|
Proceed by default on obvious next steps. Keep work scoped to this repository and its generated `projects/<slug>/` folders. If a blocker is local and solvable, solve it; if it's external, note it and continue with the next meaningful lane rather than pausing for confirmation.
|
|
201
358
|
|
|
202
359
|
## Recommended reading order
|
|
203
360
|
|
|
204
|
-
`docs/ARCHITECTURE.md` → `docs/CLI_REFERENCE.md` → `docs/STUDIO.md` → `docs/ASSEMBLE.md` → `docs/PRODUCTION_WORKFLOW.md` → `docs/REVIEW_UI_STORYBOARD_WORKFLOW.md` → `docs/preview-portal-audit.md` → `docs/STORY_BIBLE.md` → `docs/DIRECTOR_BLUEPRINT.md` → `docs/MOTION_OVERLAY.md` → `docs/REFERENCE_SHEETS.md` → `docs/SCENE_CANDIDATES.md` → `docs/OPERATIONS.md` → `docs/GENERATION_TELEMETRY.md` → `docs/OBSIDIAN.md` → `docs/TEMPLATES.md` → `docs/MIGRATION.md` → `docs/DEPRECATION.md` → `docs/RELEASE_READINESS.md` → `docs/MASTER_PLAN_ALIGNMENT.md` → `docs/DIAGRAMS_SOURCE.md`.
|
|
361
|
+
`docs/ARCHITECTURE.md` → `docs/CLI_REFERENCE.md` → `docs/STUDIO.md` → `docs/ASSEMBLE.md` → `docs/PRODUCTION_WORKFLOW.md` → `docs/REVIEW_UI_STORYBOARD_WORKFLOW.md` → `docs/preview-portal-audit.md` → `docs/STORY_BIBLE.md` → `docs/DIRECTOR_BLUEPRINT.md` → `docs/MOTION_OVERLAY.md` → `docs/MOGRAPH.md` → `docs/REFERENCE_SHEETS.md` → `docs/SCENE_CANDIDATES.md` → `docs/OPERATIONS.md` → `docs/GENERATION_TELEMETRY.md` → `docs/OBSIDIAN.md` → `docs/TEMPLATES.md` → `docs/MIGRATION.md` → `docs/DEPRECATION.md` → `docs/RELEASE_READINESS.md` → `docs/MASTER_PLAN_ALIGNMENT.md` → `docs/DIAGRAMS_SOURCE.md`.
|
|
205
362
|
|
|
206
363
|
Architecture decision records live in `docs/adr/` (no-silent-fallback across routes, on-disk project as source of truth, Seedance identity via Asset Library, director-mode approval gate) — consult them before relitigating those decisions.
|
|
207
364
|
|