@vibeframe/cli 0.104.3 → 0.105.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/agent/adapters/claude.d.ts +14 -0
  2. package/dist/agent/adapters/gemini.d.ts +14 -0
  3. package/dist/agent/adapters/index.d.ts +27 -0
  4. package/dist/agent/adapters/ollama.d.ts +19 -0
  5. package/dist/agent/adapters/openai.d.ts +14 -0
  6. package/dist/agent/adapters/openrouter.d.ts +15 -0
  7. package/dist/agent/adapters/openrouter.test.d.ts +4 -0
  8. package/dist/agent/adapters/xai.d.ts +14 -0
  9. package/dist/agent/index.d.ts +109 -0
  10. package/dist/agent/memory/index.d.ts +69 -0
  11. package/dist/agent/prompts/system.d.ts +5 -0
  12. package/dist/agent/tools/e2e.test.d.ts +25 -0
  13. package/dist/agent/tools/index.d.ts +59 -0
  14. package/dist/agent/tools/integration.test.d.ts +10 -0
  15. package/dist/agent/tools/scene.test.d.ts +1 -0
  16. package/dist/agent/types.d.ts +72 -0
  17. package/dist/commands/_shared/build-asset-metadata.d.ts +43 -0
  18. package/dist/commands/_shared/build-asset-reference.d.ts +18 -0
  19. package/dist/commands/_shared/build-backdrop-prompt.d.ts +8 -0
  20. package/dist/commands/_shared/build-backdrop-prompt.test.d.ts +1 -0
  21. package/dist/commands/_shared/build-cache.d.ts +37 -0
  22. package/dist/commands/_shared/build-plan.d.ts +107 -0
  23. package/dist/commands/_shared/build-plan.test.d.ts +1 -0
  24. package/dist/commands/_shared/compose-prompts.d.ts +97 -0
  25. package/dist/commands/_shared/compose-prompts.test.d.ts +1 -0
  26. package/dist/commands/_shared/compose-scenes-skills.d.ts +282 -0
  27. package/dist/commands/_shared/compose-scenes-skills.test.d.ts +1 -0
  28. package/dist/commands/_shared/composer-resolve.d.ts +47 -0
  29. package/dist/commands/_shared/composer-resolve.test.d.ts +1 -0
  30. package/dist/commands/_shared/cost-tier.d.ts +58 -0
  31. package/dist/commands/_shared/edit/_helpers.d.ts +12 -0
  32. package/dist/commands/_shared/edit/caption.d.ts +47 -0
  33. package/dist/commands/_shared/edit/fade.d.ts +38 -0
  34. package/dist/commands/_shared/edit/jump-cut.d.ts +80 -0
  35. package/dist/commands/_shared/edit/noise-reduce.d.ts +33 -0
  36. package/dist/commands/_shared/edit/silence-cut.d.ts +63 -0
  37. package/dist/commands/_shared/edit/text-overlay.d.ts +50 -0
  38. package/dist/commands/_shared/edit/translate-srt.d.ts +40 -0
  39. package/dist/commands/_shared/edit/video-review.d.ts +62 -0
  40. package/dist/commands/_shared/execute-fill-gaps.d.ts +97 -0
  41. package/dist/commands/_shared/hf-skill-bundle/bundle-content.d.ts +16 -0
  42. package/dist/commands/_shared/hf-skill-bundle/bundle.d.ts +57 -0
  43. package/dist/commands/_shared/hf-skill-bundle/bundle.test.d.ts +1 -0
  44. package/dist/commands/_shared/init-templates.d.ts +58 -0
  45. package/dist/commands/_shared/init-templates.test.d.ts +1 -0
  46. package/dist/commands/_shared/install-skill.d.ts +76 -0
  47. package/dist/commands/_shared/install-skill.test.d.ts +1 -0
  48. package/dist/commands/_shared/openai-image.d.ts +49 -0
  49. package/dist/commands/_shared/openai-image.test.d.ts +1 -0
  50. package/dist/commands/_shared/product-surface.d.ts +11 -0
  51. package/dist/commands/_shared/product-surface.test.d.ts +1 -0
  52. package/dist/commands/_shared/project-config.d.ts +60 -0
  53. package/dist/commands/_shared/render-inspect.d.ts +104 -0
  54. package/dist/commands/_shared/render-inspect.test.d.ts +1 -0
  55. package/dist/commands/_shared/review-report.d.ts +65 -0
  56. package/dist/commands/_shared/root-sync.d.ts +39 -0
  57. package/dist/commands/_shared/scene-audio-mux.d.ts +74 -0
  58. package/dist/commands/_shared/scene-audio-mux.test.d.ts +6 -0
  59. package/dist/commands/_shared/scene-audio-scan.d.ts +93 -0
  60. package/dist/commands/_shared/scene-audio-scan.test.d.ts +5 -0
  61. package/dist/commands/_shared/scene-build-mode.d.ts +4 -0
  62. package/dist/commands/_shared/scene-build-mode.test.d.ts +1 -0
  63. package/dist/commands/_shared/scene-build.d.ts +452 -0
  64. package/dist/commands/_shared/scene-build.test.d.ts +1 -0
  65. package/dist/commands/_shared/scene-html-emit.d.ts +139 -0
  66. package/dist/commands/_shared/scene-html-emit.test.d.ts +1 -0
  67. package/dist/commands/_shared/scene-inspect.d.ts +56 -0
  68. package/dist/commands/_shared/scene-inspect.test.d.ts +1 -0
  69. package/dist/commands/_shared/scene-lint.d.ts +109 -0
  70. package/dist/commands/_shared/scene-lint.test.d.ts +1 -0
  71. package/dist/commands/_shared/scene-project.d.ts +147 -0
  72. package/dist/commands/_shared/scene-project.test.d.ts +1 -0
  73. package/dist/commands/_shared/scene-render.d.ts +109 -0
  74. package/dist/commands/_shared/scene-render.test.d.ts +1 -0
  75. package/dist/commands/_shared/scene-repair.d.ts +22 -0
  76. package/dist/commands/_shared/scene-repair.test.d.ts +1 -0
  77. package/dist/commands/_shared/status-jobs.d.ts +197 -0
  78. package/dist/commands/_shared/status-jobs.test.d.ts +1 -0
  79. package/dist/commands/_shared/storyboard-draft.d.ts +13 -0
  80. package/dist/commands/_shared/storyboard-draft.test.d.ts +1 -0
  81. package/dist/commands/_shared/storyboard-edit.d.ts +26 -0
  82. package/dist/commands/_shared/storyboard-edit.test.d.ts +1 -0
  83. package/dist/commands/_shared/storyboard-parse.d.ts +159 -0
  84. package/dist/commands/_shared/storyboard-parse.test.d.ts +1 -0
  85. package/dist/commands/_shared/storyboard-revise.d.ts +32 -0
  86. package/dist/commands/_shared/storyboard-revise.test.d.ts +1 -0
  87. package/dist/commands/_shared/timeline-project.d.ts +32 -0
  88. package/dist/commands/_shared/tts-resolve.d.ts +75 -0
  89. package/dist/commands/_shared/tts-resolve.test.d.ts +5 -0
  90. package/dist/commands/_shared/video-providers.d.ts +44 -0
  91. package/dist/commands/_shared/video-utils.d.ts +71 -0
  92. package/dist/commands/_shared/visual-styles.d.ts +55 -0
  93. package/dist/commands/_shared/visual-styles.test.d.ts +1 -0
  94. package/dist/commands/_shared/walkthroughs/walkthroughs.d.ts +47 -0
  95. package/dist/commands/_shared/walkthroughs/walkthroughs.test.d.ts +1 -0
  96. package/dist/commands/agent.d.ts +24 -0
  97. package/dist/commands/ai-analyze.d.ts +105 -0
  98. package/dist/commands/ai-animated-caption.d.ts +63 -0
  99. package/dist/commands/ai-audio.d.ts +92 -0
  100. package/dist/commands/ai-edit-cli.d.ts +13 -0
  101. package/dist/commands/ai-edit.d.ts +29 -0
  102. package/dist/commands/ai-fill-gaps.d.ts +15 -0
  103. package/dist/commands/ai-helpers.d.ts +26 -0
  104. package/dist/commands/ai-highlights.d.ts +126 -0
  105. package/dist/commands/ai-image.d.ts +71 -0
  106. package/dist/commands/ai-motion.d.ts +53 -0
  107. package/dist/commands/ai-review.d.ts +58 -0
  108. package/dist/commands/ai-script-pipeline-cli.d.ts +10 -0
  109. package/dist/commands/ai-script-pipeline.d.ts +74 -0
  110. package/dist/commands/ai-suggest-edit.d.ts +32 -0
  111. package/dist/commands/ai-video.d.ts +95 -0
  112. package/dist/commands/ai.test.d.ts +1 -0
  113. package/dist/commands/audio.d.ts +17 -0
  114. package/dist/commands/batch.d.ts +2 -0
  115. package/dist/commands/batch.test.d.ts +1 -0
  116. package/dist/commands/build.d.ts +2 -0
  117. package/dist/commands/completion.d.ts +20 -0
  118. package/dist/commands/completion.test.d.ts +1 -0
  119. package/dist/commands/context.d.ts +7 -0
  120. package/dist/commands/context.test.d.ts +1 -0
  121. package/dist/commands/demo.d.ts +6 -0
  122. package/dist/commands/detect.d.ts +55 -0
  123. package/dist/commands/doctor.d.ts +5 -0
  124. package/dist/commands/doctor.test.d.ts +1 -0
  125. package/dist/commands/edit/motion-overlay.d.ts +30 -0
  126. package/dist/commands/edit-cmd.d.ts +112 -0
  127. package/dist/commands/envelope-snapshots.test.d.ts +32 -0
  128. package/dist/commands/export.d.ts +60 -0
  129. package/dist/commands/export.test.d.ts +1 -0
  130. package/dist/commands/generate/background.d.ts +22 -0
  131. package/dist/commands/generate/image.d.ts +8 -0
  132. package/dist/commands/generate/music-status.d.ts +20 -0
  133. package/dist/commands/generate/music.d.ts +27 -0
  134. package/dist/commands/generate/sound-effect.d.ts +19 -0
  135. package/dist/commands/generate/speech.d.ts +21 -0
  136. package/dist/commands/generate/storyboard.d.ts +27 -0
  137. package/dist/commands/generate/thumbnail.d.ts +8 -0
  138. package/dist/commands/generate/video-cancel.d.ts +8 -0
  139. package/dist/commands/generate/video-extend.d.ts +8 -0
  140. package/dist/commands/generate/video-status.d.ts +8 -0
  141. package/dist/commands/generate/video.d.ts +8 -0
  142. package/dist/commands/generate.d.ts +36 -0
  143. package/dist/commands/init.d.ts +24 -0
  144. package/dist/commands/init.test.d.ts +1 -0
  145. package/dist/commands/inspect.d.ts +20 -0
  146. package/dist/commands/media.d.ts +2 -0
  147. package/dist/commands/output.d.ts +80 -0
  148. package/dist/commands/output.test.d.ts +1 -0
  149. package/dist/commands/plan.d.ts +2 -0
  150. package/dist/commands/project.d.ts +2 -0
  151. package/dist/commands/project.test.d.ts +1 -0
  152. package/dist/commands/provider-config-cli.test.d.ts +1 -0
  153. package/dist/commands/q-flag-collision.test.d.ts +1 -0
  154. package/dist/commands/remix.d.ts +20 -0
  155. package/dist/commands/render.d.ts +2 -0
  156. package/dist/commands/run.d.ts +14 -0
  157. package/dist/commands/sanitize.d.ts +20 -0
  158. package/dist/commands/scene.d.ts +92 -0
  159. package/dist/commands/scene.test.d.ts +1 -0
  160. package/dist/commands/schema.d.ts +12 -0
  161. package/dist/commands/setup.d.ts +5 -0
  162. package/dist/commands/setup.test.d.ts +1 -0
  163. package/dist/commands/status.d.ts +2 -0
  164. package/dist/commands/storyboard.d.ts +2 -0
  165. package/dist/commands/timeline.d.ts +2 -0
  166. package/dist/commands/timeline.test.d.ts +1 -0
  167. package/dist/commands/validate.d.ts +33 -0
  168. package/dist/commands/walkthrough.d.ts +21 -0
  169. package/dist/config/config.test.d.ts +1 -0
  170. package/dist/config/index.d.ts +110 -0
  171. package/dist/config/schema.d.ts +64 -0
  172. package/dist/config/scope.test.d.ts +1 -0
  173. package/dist/engine/index.d.ts +2 -0
  174. package/dist/engine/index.js +345 -0
  175. package/dist/engine/project.d.ts +93 -0
  176. package/dist/engine/project.test.d.ts +1 -0
  177. package/dist/index.d.ts +6 -0
  178. package/dist/index.js +483 -291
  179. package/dist/pipeline/executor.d.ts +27 -0
  180. package/dist/pipeline/generate-actions.test.d.ts +1 -0
  181. package/dist/pipeline/index.d.ts +3 -0
  182. package/dist/pipeline/renderers/__tests__/html-template.test.d.ts +1 -0
  183. package/dist/pipeline/renderers/__tests__/integration.test.d.ts +1 -0
  184. package/dist/pipeline/renderers/chrome.d.ts +25 -0
  185. package/dist/pipeline/renderers/html-clips.d.ts +19 -0
  186. package/dist/pipeline/renderers/html-runtime.d.ts +6 -0
  187. package/dist/pipeline/renderers/html-template.d.ts +2 -0
  188. package/dist/pipeline/renderers/hyperframes.d.ts +7 -0
  189. package/dist/pipeline/renderers/project-builder.d.ts +7 -0
  190. package/dist/pipeline/renderers/types.d.ts +39 -0
  191. package/dist/pipeline/resolver.d.ts +19 -0
  192. package/dist/pipeline/scene-actions.test.d.ts +1 -0
  193. package/dist/pipeline/types.d.ts +81 -0
  194. package/dist/tools/adapters/agent.d.ts +9 -0
  195. package/dist/tools/adapters/agent.js +188 -0
  196. package/dist/tools/adapters/mcp.d.ts +34 -0
  197. package/dist/tools/adapters/mcp.js +173 -0
  198. package/dist/tools/define-tool.d.ts +82 -0
  199. package/dist/tools/define-tool.js +214 -0
  200. package/dist/tools/manifest/_project-io.d.ts +13 -0
  201. package/dist/tools/manifest/agent-only.d.ts +236 -0
  202. package/dist/tools/manifest/audio.d.ts +93 -0
  203. package/dist/tools/manifest/detect.d.ts +47 -0
  204. package/dist/tools/manifest/edit.d.ts +398 -0
  205. package/dist/tools/manifest/export.d.ts +27 -0
  206. package/dist/tools/manifest/generate.d.ts +307 -0
  207. package/dist/tools/manifest/index.d.ts +22 -0
  208. package/dist/tools/manifest/index.js +60628 -0
  209. package/dist/tools/manifest/inspect.d.ts +139 -0
  210. package/dist/tools/manifest/project.d.ts +33 -0
  211. package/dist/tools/manifest/remix.d.ts +154 -0
  212. package/dist/tools/manifest/scene.d.ts +221 -0
  213. package/dist/tools/manifest/status.d.ts +36 -0
  214. package/dist/tools/manifest/storyboard.d.ts +136 -0
  215. package/dist/tools/manifest/timeline.d.ts +173 -0
  216. package/dist/tools/manifest/walkthrough.d.ts +22 -0
  217. package/dist/tools/manifest.test.d.ts +13 -0
  218. package/dist/tools/zod-to-json-schema.d.ts +47 -0
  219. package/dist/utils/agent-host-detect.d.ts +61 -0
  220. package/dist/utils/agent-host-detect.test.d.ts +1 -0
  221. package/dist/utils/api-key.d.ts +58 -0
  222. package/dist/utils/api-key.test.d.ts +1 -0
  223. package/dist/utils/audio.d.ts +22 -0
  224. package/dist/utils/clipboard.d.ts +27 -0
  225. package/dist/utils/clipboard.test.d.ts +1 -0
  226. package/dist/utils/exec-safe.d.ts +21 -0
  227. package/dist/utils/first-run.d.ts +16 -0
  228. package/dist/utils/input-validation.d.ts +26 -0
  229. package/dist/utils/key-format.d.ts +15 -0
  230. package/dist/utils/key-live-test.d.ts +29 -0
  231. package/dist/utils/key-live-test.test.d.ts +1 -0
  232. package/dist/utils/open-url.d.ts +26 -0
  233. package/dist/utils/open-url.test.d.ts +1 -0
  234. package/dist/utils/project-resolver.d.ts +30 -0
  235. package/dist/utils/project-resolver.test.d.ts +8 -0
  236. package/dist/utils/provider-resolver.d.ts +32 -0
  237. package/dist/utils/provider-resolver.test.d.ts +13 -0
  238. package/dist/utils/remotion.d.ts +201 -0
  239. package/dist/utils/subtitle.d.ts +64 -0
  240. package/dist/utils/subtitle.test.d.ts +1 -0
  241. package/dist/utils/tty.d.ts +86 -0
  242. package/dist/utils/tty.test.d.ts +1 -0
  243. package/dist/utils/upload-host.d.ts +15 -0
  244. package/dist/utils/upload-host.test.d.ts +1 -0
  245. package/package.json +15 -115
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @module ai-motion
3
+ * @description Motion graphics render and composite command.
4
+ *
5
+ * ## Commands: vibe generate motion
6
+ * ## Dependencies: Claude, Gemini, Remotion
7
+ *
8
+ * Extracted from ai.ts as part of modularisation.
9
+ * ai.ts re-exports all public types and functions from this module.
10
+ * @see MODELS.md for AI model configuration
11
+ */
12
+ import { type Command } from "commander";
13
+ export interface MotionCommandOptions {
14
+ description: string;
15
+ duration?: number;
16
+ width?: number;
17
+ height?: number;
18
+ fps?: number;
19
+ style?: string;
20
+ /** If set, render the generated code with Remotion */
21
+ render?: boolean;
22
+ /** Base video to composite the motion graphic onto */
23
+ video?: string;
24
+ /** Image to analyze with Gemini — color/mood/composition fed into Claude prompt */
25
+ image?: string;
26
+ /** Analyze base video before generating motion: auto | off | required */
27
+ understand?: "auto" | "off" | "required";
28
+ /** Override the default video understanding prompt */
29
+ understandingPrompt?: string;
30
+ /** Path to existing TSX file to refine instead of generating from scratch */
31
+ fromTsx?: string;
32
+ /**
33
+ * LLM model alias for code generation.
34
+ * sonnet (default) | opus | gemini | gemini-3.1-pro
35
+ */
36
+ model?: string;
37
+ /** Output path (TSX if code-only, WebM/MP4 if rendered) */
38
+ output?: string;
39
+ }
40
+ export interface MotionCommandResult {
41
+ success: boolean;
42
+ codePath?: string;
43
+ renderedPath?: string;
44
+ compositedPath?: string;
45
+ componentName?: string;
46
+ error?: string;
47
+ }
48
+ export declare function executeMotion(options: MotionCommandOptions): Promise<MotionCommandResult>;
49
+ /**
50
+ * Register the 'motion' sub-command on the given parent command.
51
+ * Called from ai.ts: registerMotionCommand(aiCommand)
52
+ */
53
+ export declare function registerMotionCommand(aiCommand: Command): void;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @module ai-review
3
+ *
4
+ * AI-powered video quality review and auto-fix using Gemini.
5
+ *
6
+ * CLI command: review
7
+ *
8
+ * Execute function:
9
+ * executeReview - Analyze video quality across 5 categories and optionally auto-fix
10
+ *
11
+ * @dependencies Gemini (Google), FFmpeg (auto-fix filters)
12
+ */
13
+ import { Command } from "commander";
14
+ import type { VideoReviewFeedback } from "./ai-edit.js";
15
+ /** Options for {@link executeReview}. */
16
+ export interface ReviewOptions {
17
+ /** Path to the video file to review */
18
+ videoPath: string;
19
+ /** Optional storyboard JSON for context-aware review */
20
+ storyboardPath?: string;
21
+ /** Optional project context for beat-aware review */
22
+ projectContext?: string;
23
+ /** Automatically apply fixable corrections via FFmpeg */
24
+ autoApply?: boolean;
25
+ /** Run a verification pass after applying fixes */
26
+ verify?: boolean;
27
+ /** Gemini model shorthand (default: "flash") */
28
+ model?: "flash" | "flash-2.5" | "pro";
29
+ /** Output path for the fixed video (auto-apply mode) */
30
+ outputPath?: string;
31
+ }
32
+ /** Result from {@link executeReview}. */
33
+ export interface ReviewResult {
34
+ /** Whether the review completed successfully */
35
+ success: boolean;
36
+ /** Structured review feedback with per-category scores */
37
+ feedback?: VideoReviewFeedback;
38
+ /** Descriptions of fixes that were auto-applied */
39
+ appliedFixes?: string[];
40
+ /** Post-fix verification quality score 1-10 */
41
+ verificationScore?: number;
42
+ /** Path to the reviewed/fixed output video */
43
+ outputPath?: string;
44
+ /** Error message on failure */
45
+ error?: string;
46
+ }
47
+ /**
48
+ * Review video quality using Gemini AI and optionally auto-fix issues.
49
+ *
50
+ * Analyzes 5 quality categories (pacing, color, text readability, audio-visual
51
+ * sync, composition) and returns scored feedback. When auto-apply is enabled,
52
+ * applies fixable corrections via FFmpeg filters.
53
+ *
54
+ * @param options - Review configuration
55
+ * @returns Result with structured feedback and optional fix details
56
+ */
57
+ export declare function executeReview(options: ReviewOptions): Promise<ReviewResult>;
58
+ export declare function registerReviewCommand(aiCommand: Command): void;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module ai-script-pipeline-cli
3
+ * @description Commander wiring for `vibe pipeline regenerate-scene`. The
4
+ * sibling `script-to-video` subcommand and its execute function were
5
+ * removed in favour of the skill-driven `vibe scene build` flow; only
6
+ * regenerate-scene survives because it operates on existing on-disk
7
+ * storyboards. Execute function lives in `ai-script-pipeline.ts`.
8
+ */
9
+ import { Command } from "commander";
10
+ export declare function registerScriptPipelineCommands(aiCommand: Command): void;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @module ai-script-pipeline
3
+ *
4
+ * Library function for scene regeneration in script-to-video output
5
+ * directories, plus pass-through re-exports of `_shared/video-utils.js` and
6
+ * `_shared/video-providers.js` helpers (consumed by `ai-video.ts` and
7
+ * `generate/video.ts`).
8
+ *
9
+ * Powers the manifest tool `remix_regenerate_scene` and the user-facing
10
+ * `vibe pipeline regenerate-scene` CLI subcommand.
11
+ *
12
+ * Note: `executeScriptToVideo` and the `pipeline script-to-video` CLI / MCP
13
+ * surface were removed in favour of the Hyperframes-style skill-driven
14
+ * `vibe scene build` flow, which is idempotent, cheaper, and per-beat
15
+ * editable. The `regenerate-scene` half is preserved because it operates on
16
+ * the on-disk storyboard.{yaml,json} produced by older runs (and by other
17
+ * pipelines that still emit that layout).
18
+ *
19
+ * @dependencies ElevenLabs (TTS), OpenAI/Gemini/Grok (images),
20
+ * Kling/Runway/Veo/Grok (video), FFmpeg (extension)
21
+ */
22
+ import { type StoryboardSegment, DEFAULT_VIDEO_RETRIES, RETRY_DELAY_MS, sleep, uploadToImgbb, extendVideoToTarget, logSceneFailure, waitForVideoWithRetry } from "./_shared/video-utils.js";
23
+ import { generateVideoWithRetryGrok, generateVideoWithRetryKling, generateVideoWithRetryRunway, generateVideoWithRetryVeo } from "./_shared/video-providers.js";
24
+ export { DEFAULT_VIDEO_RETRIES, RETRY_DELAY_MS, sleep, uploadToImgbb, extendVideoToTarget, logSceneFailure, waitForVideoWithRetry, generateVideoWithRetryGrok, generateVideoWithRetryKling, generateVideoWithRetryRunway, generateVideoWithRetryVeo, };
25
+ export type { StoryboardSegment };
26
+ /** Options for {@link executeRegenerateScene}. */
27
+ export interface RegenerateSceneOptions {
28
+ /** Path to the project output directory containing storyboard.json */
29
+ projectDir: string;
30
+ /** 1-indexed scene numbers to regenerate */
31
+ scenes: number[];
32
+ /** Only regenerate video (keep existing image) */
33
+ videoOnly?: boolean;
34
+ /** Only regenerate narration audio */
35
+ narrationOnly?: boolean;
36
+ /** Only regenerate scene image */
37
+ imageOnly?: boolean;
38
+ /** Video generation provider */
39
+ generator?: "grok" | "kling" | "runway" | "veo";
40
+ /** Image generation provider */
41
+ imageProvider?: "gemini" | "openai" | "grok";
42
+ /** ElevenLabs voice name or ID */
43
+ voice?: string;
44
+ /** Video aspect ratio */
45
+ aspectRatio?: "16:9" | "9:16" | "1:1";
46
+ /** Max retries per video generation call */
47
+ retries?: number;
48
+ /** Reference scene number for character consistency (auto-detects if not specified) */
49
+ referenceScene?: number;
50
+ /** Called at per-scene progress points (`Scene N: regenerating narration...`). */
51
+ onProgress?: (message: string) => void;
52
+ }
53
+ /** Result from {@link executeRegenerateScene}. */
54
+ export interface RegenerateSceneResult {
55
+ /** Whether all requested scenes were regenerated */
56
+ success: boolean;
57
+ /** 1-indexed scene numbers successfully regenerated */
58
+ regeneratedScenes: number[];
59
+ /** 1-indexed scene numbers that failed to regenerate */
60
+ failedScenes: number[];
61
+ /** Error message on failure */
62
+ error?: string;
63
+ }
64
+ /**
65
+ * Regenerate specific scene(s) in an existing script-to-video project.
66
+ *
67
+ * Reads the storyboard.{yaml,json} from the project directory, then
68
+ * regenerates the requested scenes using the specified video/image provider.
69
+ * Supports image-to-video via ImgBB URL upload for Kling.
70
+ *
71
+ * @param options - Scene regeneration configuration
72
+ * @returns Result with lists of regenerated and failed scene numbers
73
+ */
74
+ export declare function executeRegenerateScene(options: RegenerateSceneOptions): Promise<RegenerateSceneResult>;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @module ai-suggest-edit
3
+ * @description Library function for AI suggest. Powers `analyze suggest` via the
4
+ * manifest tool `analyze_suggest_edit`. The legacy `vibe ai suggest/edit/storyboard`
5
+ * Commander registrations were removed alongside the dead `commands/ai.ts`
6
+ * orchestrator (the `vibe ai *` namespace was never `addCommand`'d to `program`).
7
+ *
8
+ * @see MODELS.md for AI model configuration
9
+ */
10
+ import { type EditSuggestion } from "@vibeframe/ai-providers";
11
+ export interface ExecuteSuggestEditOptions {
12
+ projectPath: string;
13
+ instruction: string;
14
+ apply?: boolean;
15
+ apiKey?: string;
16
+ }
17
+ export interface SuggestEditEntry {
18
+ type: EditSuggestion["type"];
19
+ description: string;
20
+ confidence: number;
21
+ clipIds: string[];
22
+ params: Record<string, unknown>;
23
+ }
24
+ export interface ExecuteSuggestEditResult {
25
+ success: boolean;
26
+ suggestions?: SuggestEditEntry[];
27
+ applied?: boolean;
28
+ appliedSuggestion?: SuggestEditEntry;
29
+ outputPath?: string;
30
+ error?: string;
31
+ }
32
+ export declare function executeSuggestEdit(options: ExecuteSuggestEditOptions): Promise<ExecuteSuggestEditResult>;
@@ -0,0 +1,95 @@
1
+ /**
2
+ * @module ai-video
3
+ * @description Library functions for video generation, status, cancel, and
4
+ * extension. Powers the manifest tools `generate_video`,
5
+ * `generate_video_status`, `generate_video_cancel`, `generate_video_extend`
6
+ * (the user reaches these via `vibe generate video[-...]`).
7
+ *
8
+ * The legacy `vibe ai video / video-status / video-cancel / kling / kling-status /
9
+ * video-extend` Commander registrations were removed alongside the dead
10
+ * `commands/ai.ts` orchestrator (the `vibe ai *` namespace was never
11
+ * `addCommand`'d to `program`).
12
+ *
13
+ * @see MODELS.md for AI model configuration
14
+ */
15
+ export interface VideoGenerateOptions {
16
+ prompt: string;
17
+ provider?: "grok" | "runway" | "kling" | "veo" | "seedance" | "fal";
18
+ image?: string;
19
+ refImages?: string[];
20
+ refVideos?: string[];
21
+ refAudio?: string[];
22
+ duration?: number;
23
+ ratio?: string;
24
+ seed?: number;
25
+ mode?: string;
26
+ negative?: string;
27
+ resolution?: string;
28
+ veoModel?: string;
29
+ runwayModel?: string;
30
+ seedanceModel?: string;
31
+ generateAudio?: boolean;
32
+ output?: string;
33
+ wait?: boolean;
34
+ apiKey?: string;
35
+ }
36
+ export interface VideoGenerateResult {
37
+ success: boolean;
38
+ taskId?: string;
39
+ status?: string;
40
+ videoUrl?: string;
41
+ duration?: number;
42
+ outputPath?: string;
43
+ provider?: string;
44
+ error?: string;
45
+ }
46
+ export declare function executeVideoGenerate(options: VideoGenerateOptions): Promise<VideoGenerateResult>;
47
+ export interface VideoStatusOptions {
48
+ taskId: string;
49
+ provider?: "runway" | "kling";
50
+ taskType?: "text2video" | "image2video";
51
+ wait?: boolean;
52
+ output?: string;
53
+ apiKey?: string;
54
+ }
55
+ export interface VideoStatusResult {
56
+ success: boolean;
57
+ taskId?: string;
58
+ status?: string;
59
+ progress?: number;
60
+ videoUrl?: string;
61
+ duration?: number;
62
+ outputPath?: string;
63
+ error?: string;
64
+ }
65
+ export declare function executeVideoStatus(options: VideoStatusOptions): Promise<VideoStatusResult>;
66
+ export interface VideoCancelOptions {
67
+ taskId: string;
68
+ apiKey?: string;
69
+ }
70
+ export interface VideoCancelResult {
71
+ success: boolean;
72
+ error?: string;
73
+ }
74
+ export declare function executeVideoCancel(options: VideoCancelOptions): Promise<VideoCancelResult>;
75
+ export interface VideoExtendOptions {
76
+ videoId: string;
77
+ provider?: "kling" | "veo";
78
+ prompt?: string;
79
+ duration?: number;
80
+ negative?: string;
81
+ veoModel?: string;
82
+ output?: string;
83
+ wait?: boolean;
84
+ apiKey?: string;
85
+ }
86
+ export interface VideoExtendResult {
87
+ success: boolean;
88
+ taskId?: string;
89
+ status?: string;
90
+ videoUrl?: string;
91
+ duration?: number;
92
+ outputPath?: string;
93
+ error?: string;
94
+ }
95
+ export declare function executeVideoExtend(options: VideoExtendOptions): Promise<VideoExtendResult>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @module audio
3
+ *
4
+ * Top-level `vibe audio` command group for audio operations.
5
+ *
6
+ * Commands:
7
+ * audio transcribe - Transcribe audio using Whisper
8
+ * audio list-voices - List available ElevenLabs voices
9
+ * audio isolate - Isolate vocals from audio (ElevenLabs)
10
+ * audio clone-voice - Clone a voice from audio samples (ElevenLabs)
11
+ * audio dub - Dub audio/video to another language (Whisper + Claude + ElevenLabs)
12
+ * audio duck - Auto-duck background music when voice is present (FFmpeg)
13
+ *
14
+ * @dependencies Whisper (OpenAI), ElevenLabs, Claude (Anthropic), FFmpeg
15
+ */
16
+ import { Command } from "commander";
17
+ export declare const audioCommand: Command;
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const batchCommand: Command;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const buildCommand: Command;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @module commands/completion
3
+ *
4
+ * `vibe completion <shell>` — emit a shell completion script for the
5
+ * given shell (zsh / bash / fish). The script is generated by walking
6
+ * the live Commander program tree, so completion stays in sync with
7
+ * the actual command set without a parallel manifest.
8
+ *
9
+ * Install:
10
+ * zsh: vibe completion zsh >> ~/.zsh/completions/_vibe (then add the dir to fpath)
11
+ * or: echo 'eval "$(vibe completion zsh)"' >> ~/.zshrc
12
+ * bash: echo 'eval "$(vibe completion bash)"' >> ~/.bashrc
13
+ * fish: vibe completion fish > ~/.config/fish/completions/vibe.fish
14
+ *
15
+ * Cost tiers ride along in zsh descriptions (e.g.
16
+ * "[VERY-HIGH] Generate video …") so the user sees the price tag at
17
+ * tab-completion time, not just in --help.
18
+ */
19
+ import { Command } from "commander";
20
+ export declare const completionCommand: Command;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Context command - Output CONTEXT.md for agent runtime discovery.
3
+ * Allows AI agents to read CLI guidelines without needing CLAUDE.md or CONTEXT.md on disk.
4
+ */
5
+ import { Command } from "commander";
6
+ export declare function resolveContextPath(baseDir?: string): string | null;
7
+ export declare const contextCommand: Command;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Demo command - Run sample edits on a generated test video.
3
+ * No API keys needed, FFmpeg only.
4
+ */
5
+ import { Command } from "commander";
6
+ export declare const demoCommand: Command;
@@ -0,0 +1,55 @@
1
+ import { Command } from "commander";
2
+ export interface DetectScenesOptions {
3
+ videoPath: string;
4
+ threshold?: number;
5
+ outputPath?: string;
6
+ }
7
+ export interface DetectScenesResult {
8
+ success: boolean;
9
+ scenes?: {
10
+ index: number;
11
+ startTime: number;
12
+ endTime: number;
13
+ duration: number;
14
+ }[];
15
+ totalDuration?: number;
16
+ error?: string;
17
+ }
18
+ export interface DetectSilenceOptions {
19
+ mediaPath: string;
20
+ noise?: string;
21
+ duration?: string;
22
+ outputPath?: string;
23
+ }
24
+ export interface DetectSilenceResult {
25
+ success: boolean;
26
+ silences?: {
27
+ start: number;
28
+ end: number;
29
+ duration: number;
30
+ }[];
31
+ error?: string;
32
+ }
33
+ export interface DetectBeatsOptions {
34
+ audioPath: string;
35
+ outputPath?: string;
36
+ }
37
+ export interface DetectBeatsResult {
38
+ success: boolean;
39
+ beats?: number[];
40
+ beatCount?: number;
41
+ error?: string;
42
+ }
43
+ /**
44
+ * Detect scene changes in video using FFmpeg.
45
+ */
46
+ export declare function executeDetectScenes(options: DetectScenesOptions): Promise<DetectScenesResult>;
47
+ /**
48
+ * Detect silence periods in audio/video using FFmpeg.
49
+ */
50
+ export declare function executeDetectSilence(options: DetectSilenceOptions): Promise<DetectSilenceResult>;
51
+ /**
52
+ * Detect beats in audio using FFmpeg ebur128 loudness analysis.
53
+ */
54
+ export declare function executeDetectBeats(options: DetectBeatsOptions): Promise<DetectBeatsResult>;
55
+ export declare const detectCommand: Command;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Doctor command - System health check and capability report
3
+ */
4
+ import { Command } from "commander";
5
+ export declare const doctorCommand: Command;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import { Command } from "commander";
2
+ import { type MotionCommandOptions } from "../ai-motion.js";
3
+ export type MotionOverlayUnderstand = "auto" | "off" | "required";
4
+ export type MotionOverlayPosition = "full" | "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right";
5
+ export interface MotionOverlayOptions {
6
+ videoPath: string;
7
+ description?: string;
8
+ asset?: string;
9
+ output?: string;
10
+ duration?: number;
11
+ start?: number;
12
+ style?: string;
13
+ model?: MotionCommandOptions["model"];
14
+ understand?: MotionOverlayUnderstand;
15
+ understandingPrompt?: string;
16
+ position?: MotionOverlayPosition;
17
+ scale?: number;
18
+ opacity?: number;
19
+ loop?: boolean;
20
+ }
21
+ export interface MotionOverlayResult {
22
+ success: boolean;
23
+ outputPath?: string;
24
+ codePath?: string;
25
+ renderedPath?: string;
26
+ provider?: "remotion" | "lottie";
27
+ error?: string;
28
+ }
29
+ export declare function executeMotionOverlay(options: MotionOverlayOptions): Promise<MotionOverlayResult>;
30
+ export declare function registerMotionOverlayCommand(parent: Command): void;
@@ -0,0 +1,112 @@
1
+ /**
2
+ * @module edit-cmd
3
+ *
4
+ * Top-level `vibe edit` command group for post-production editing.
5
+ *
6
+ * Commands:
7
+ * edit silence-cut - Remove silent segments (FFmpeg / Gemini)
8
+ * edit jump-cut - Remove filler words (Whisper + FFmpeg)
9
+ * edit caption - Add styled captions (Whisper + FFmpeg)
10
+ * edit noise-reduce - Audio/video noise removal (FFmpeg)
11
+ * edit fade - Fade in/out effects (FFmpeg)
12
+ * edit translate-srt - Translate SRT subtitles (Claude or OpenAI)
13
+ * edit grade - Color grading (Claude + FFmpeg)
14
+ * edit text-overlay - Simple static text overlays (FFmpeg drawtext)
15
+ * edit motion-overlay - Designed motion graphics overlays (Remotion/Lottie)
16
+ * edit speed-ramp - Speed ramping (Whisper + Claude + FFmpeg)
17
+ * edit reframe - Reframe aspect ratio (Claude Vision + FFmpeg)
18
+ * edit image - Image editing (Gemini, OpenAI, or Grok)
19
+ * edit interpolate - Frame interpolation / slow motion (FFmpeg)
20
+ * edit upscale - Video upscaling (FFmpeg or Replicate)
21
+ * edit fill-gaps - Fill timeline gaps with AI video (Kling)
22
+ *
23
+ * @dependencies Whisper, Claude, Gemini, Kling, Replicate, FFmpeg
24
+ */
25
+ import { Command } from "commander";
26
+ export declare const editCommand: Command;
27
+ export interface GradeOptions {
28
+ videoPath: string;
29
+ style?: string;
30
+ preset?: string;
31
+ output?: string;
32
+ analyzeOnly?: boolean;
33
+ apiKey?: string;
34
+ }
35
+ export interface GradeResult {
36
+ success: boolean;
37
+ outputPath?: string;
38
+ style?: string;
39
+ description?: string;
40
+ ffmpegFilter?: string;
41
+ error?: string;
42
+ }
43
+ export declare function executeGrade(options: GradeOptions): Promise<GradeResult>;
44
+ export interface SpeedRampOptions {
45
+ videoPath: string;
46
+ output?: string;
47
+ style?: "dramatic" | "smooth" | "action";
48
+ minSpeed?: number;
49
+ maxSpeed?: number;
50
+ analyzeOnly?: boolean;
51
+ language?: string;
52
+ apiKey?: string;
53
+ }
54
+ export interface SpeedRampResult {
55
+ success: boolean;
56
+ outputPath?: string;
57
+ keyframes?: Array<{
58
+ time: number;
59
+ speed: number;
60
+ reason: string;
61
+ }>;
62
+ avgSpeed?: number;
63
+ error?: string;
64
+ }
65
+ export declare function executeSpeedRamp(options: SpeedRampOptions): Promise<SpeedRampResult>;
66
+ export interface ReframeOptions {
67
+ videoPath: string;
68
+ aspect?: string;
69
+ focus?: "auto" | "face" | "center" | "action";
70
+ output?: string;
71
+ analyzeOnly?: boolean;
72
+ apiKey?: string;
73
+ }
74
+ export interface ReframeResult {
75
+ success: boolean;
76
+ outputPath?: string;
77
+ sourceAspect?: string;
78
+ targetAspect?: string;
79
+ keyframeCount?: number;
80
+ error?: string;
81
+ }
82
+ export declare function executeReframe(options: ReframeOptions): Promise<ReframeResult>;
83
+ export interface InterpolateOptions {
84
+ videoPath: string;
85
+ output?: string;
86
+ factor?: number;
87
+ fps?: number;
88
+ quality?: "fast" | "quality";
89
+ }
90
+ export interface InterpolateResult {
91
+ success: boolean;
92
+ outputPath?: string;
93
+ originalFps?: number;
94
+ targetFps?: number;
95
+ factor?: number;
96
+ error?: string;
97
+ }
98
+ export declare function executeInterpolate(options: InterpolateOptions): Promise<InterpolateResult>;
99
+ export interface UpscaleOptions {
100
+ videoPath: string;
101
+ output?: string;
102
+ scale?: number;
103
+ quality?: "fast" | "quality";
104
+ }
105
+ export interface UpscaleResult {
106
+ success: boolean;
107
+ outputPath?: string;
108
+ originalRes?: string;
109
+ targetRes?: string;
110
+ error?: string;
111
+ }
112
+ export declare function executeUpscale(options: UpscaleOptions): Promise<UpscaleResult>;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @file envelope-snapshots.test.ts
3
+ *
4
+ * Drift detection for Issue #33's CLI UX standardization. Snapshots:
5
+ * 1. The JSON Schema returned by `vibe <cmd> --describe` for every
6
+ * leaf command (catches schema/option/argument drift).
7
+ * 2. The `--dry-run --json` envelope shape for representative
8
+ * commands across the major groups (catches success-envelope
9
+ * drift — keys moved, renamed, removed).
10
+ *
11
+ * Why:
12
+ * - The new `outputSuccess()` envelope (#194-#199, v0.72.0) is now load-bearing.
13
+ * Every agent / MCP host parses `data.X` not `X`. A regression that
14
+ * re-flattens or renames keys would silently break agent integrations.
15
+ * Snapshots make the regression visible in PR review.
16
+ * - `--describe` is the agent's discovery channel for parameters. Drift
17
+ * in option descriptions / enum hints / argument shapes invalidates
18
+ * prompts that were written against the old schema.
19
+ *
20
+ * Normalization:
21
+ * - `elapsedMs` is replaced with `<elapsedMs>` before snapshotting (it
22
+ * varies per run). Other fields are kept verbatim.
23
+ * - Cost-estimate-driven `costUsd` is stable per command and not normalized.
24
+ *
25
+ * Maintenance:
26
+ * - When a snapshot diff is INTENTIONAL (e.g. you renamed a key on
27
+ * purpose), run with `-u` (`pnpm -F @vibeframe/cli exec vitest run -u`)
28
+ * to update the snapshot file, then review the diff.
29
+ * - When a snapshot diff is UNINTENTIONAL, the test names will tell
30
+ * you which command and which channel (--describe vs --dry-run).
31
+ */
32
+ export {};