@vibeframe/cli 0.115.5 → 0.115.7

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 (36) hide show
  1. package/dist/commands/_shared/edit/jump-cut.d.ts +2 -2
  2. package/dist/commands/_shared/image-jobs.d.ts +21 -0
  3. package/dist/commands/_shared/openai-image.d.ts +3 -36
  4. package/dist/commands/_shared/status-jobs.d.ts +5 -0
  5. package/dist/commands/_shared/transcription.d.ts +16 -0
  6. package/dist/commands/_shared/translate-texts.d.ts +30 -0
  7. package/dist/commands/_shared/translate-texts.test.d.ts +1 -0
  8. package/dist/commands/_shared/tts-resolve.d.ts +7 -1
  9. package/dist/commands/_shared/video-jobs.d.ts +34 -0
  10. package/dist/commands/ai-audio.d.ts +24 -0
  11. package/dist/commands/ai-image.d.ts +25 -7
  12. package/dist/commands/ai-video.d.ts +37 -11
  13. package/dist/commands/ai-video.network.test.d.ts +1 -0
  14. package/dist/commands/generate/image.d.ts +4 -3
  15. package/dist/commands/generate/music.d.ts +5 -0
  16. package/dist/commands/generate/sound-effect.d.ts +7 -1
  17. package/dist/commands/generate/speech.d.ts +12 -3
  18. package/dist/commands/generate/video-cancel.d.ts +2 -3
  19. package/dist/commands/generate/video-extend.d.ts +3 -3
  20. package/dist/commands/generate/video.d.ts +4 -3
  21. package/dist/commands/output.d.ts +7 -0
  22. package/dist/index.js +26907 -28497
  23. package/dist/testing/fake-provider-network.d.ts +7 -38
  24. package/dist/tools/manifest/audio.d.ts +4 -1
  25. package/dist/tools/manifest/edit.d.ts +18 -15
  26. package/dist/tools/manifest/generate.d.ts +43 -31
  27. package/dist/tools/manifest/index.js +27129 -28518
  28. package/dist/tools/manifest/inspect.d.ts +4 -4
  29. package/dist/tools/manifest/remix.d.ts +4 -4
  30. package/dist/tools/manifest/scene.d.ts +8 -8
  31. package/dist/tools/manifest/timeline.d.ts +2 -2
  32. package/dist/utils/audio-file.d.ts +7 -0
  33. package/dist/utils/upload-host.d.ts +11 -0
  34. package/package.json +3 -3
  35. package/dist/commands/_shared/video-providers.d.ts +0 -44
  36. package/dist/commands/_shared/video-utils.d.ts +0 -73
@@ -35,18 +35,18 @@ export declare const inspectRenderTool: import("../define-tool.js").ToolDefiniti
35
35
  }, "strip", z.ZodTypeAny, {
36
36
  dryRun?: boolean | undefined;
37
37
  outputPath?: string | undefined;
38
+ model?: "flash" | "pro" | "latest" | "flash-3" | "flash-2.5" | "pro-3.1" | undefined;
38
39
  beat?: string | undefined;
39
40
  projectDir?: string | undefined;
40
- model?: "pro" | "latest" | "flash" | "flash-3" | "flash-2.5" | "pro-3.1" | undefined;
41
41
  videoPath?: string | undefined;
42
42
  report?: boolean | undefined;
43
43
  ai?: boolean | undefined;
44
44
  }, {
45
45
  dryRun?: boolean | undefined;
46
46
  outputPath?: string | undefined;
47
+ model?: "flash" | "pro" | "latest" | "flash-3" | "flash-2.5" | "pro-3.1" | undefined;
47
48
  beat?: string | undefined;
48
49
  projectDir?: string | undefined;
49
- model?: "pro" | "latest" | "flash" | "flash-3" | "flash-2.5" | "pro-3.1" | undefined;
50
50
  videoPath?: string | undefined;
51
51
  report?: boolean | undefined;
52
52
  ai?: boolean | undefined;
@@ -64,16 +64,16 @@ export declare const analyzeMediaTool: import("../define-tool.js").ToolDefinitio
64
64
  prompt: string;
65
65
  fps?: number | undefined;
66
66
  end?: number | undefined;
67
+ model?: "flash" | "pro" | "latest" | "flash-3" | "flash-2.5" | "pro-3.1" | undefined;
67
68
  start?: number | undefined;
68
- model?: "pro" | "latest" | "flash" | "flash-3" | "flash-2.5" | "pro-3.1" | undefined;
69
69
  lowRes?: boolean | undefined;
70
70
  }, {
71
71
  source: string;
72
72
  prompt: string;
73
73
  fps?: number | undefined;
74
74
  end?: number | undefined;
75
+ model?: "flash" | "pro" | "latest" | "flash-3" | "flash-2.5" | "pro-3.1" | undefined;
75
76
  start?: number | undefined;
76
- model?: "pro" | "latest" | "flash" | "flash-3" | "flash-2.5" | "pro-3.1" | undefined;
77
77
  lowRes?: boolean | undefined;
78
78
  }>>;
79
79
  export declare const analyzeSuggestTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
@@ -29,8 +29,8 @@ export declare const pipelineHighlightsTool: import("../define-tool.js").ToolDef
29
29
  duration?: number | undefined;
30
30
  output?: string | undefined;
31
31
  count?: number | undefined;
32
- language?: string | undefined;
33
32
  useGemini?: boolean | undefined;
33
+ language?: string | undefined;
34
34
  threshold?: number | undefined;
35
35
  criteria?: "all" | "emotional" | "informative" | "funny" | undefined;
36
36
  lowRes?: boolean | undefined;
@@ -40,8 +40,8 @@ export declare const pipelineHighlightsTool: import("../define-tool.js").ToolDef
40
40
  duration?: number | undefined;
41
41
  output?: string | undefined;
42
42
  count?: number | undefined;
43
- language?: string | undefined;
44
43
  useGemini?: boolean | undefined;
44
+ language?: string | undefined;
45
45
  threshold?: number | undefined;
46
46
  criteria?: "all" | "emotional" | "informative" | "funny" | undefined;
47
47
  lowRes?: boolean | undefined;
@@ -63,9 +63,9 @@ export declare const pipelineAutoShortsTool: import("../define-tool.js").ToolDef
63
63
  duration?: number | undefined;
64
64
  count?: number | undefined;
65
65
  aspect?: "9:16" | "1:1" | undefined;
66
- language?: string | undefined;
67
66
  analyzeOnly?: boolean | undefined;
68
67
  useGemini?: boolean | undefined;
68
+ language?: string | undefined;
69
69
  outputDir?: string | undefined;
70
70
  lowRes?: boolean | undefined;
71
71
  addCaptions?: boolean | undefined;
@@ -75,9 +75,9 @@ export declare const pipelineAutoShortsTool: import("../define-tool.js").ToolDef
75
75
  duration?: number | undefined;
76
76
  count?: number | undefined;
77
77
  aspect?: "9:16" | "1:1" | undefined;
78
- language?: string | undefined;
79
78
  analyzeOnly?: boolean | undefined;
80
79
  useGemini?: boolean | undefined;
80
+ language?: string | undefined;
81
81
  outputDir?: string | undefined;
82
82
  lowRes?: boolean | undefined;
83
83
  addCaptions?: boolean | undefined;
@@ -38,7 +38,7 @@ export declare const sceneAddTool: import("../define-tool.js").ToolDefinition<z.
38
38
  projectDir: z.ZodOptional<z.ZodString>;
39
39
  insertInto: z.ZodOptional<z.ZodString>;
40
40
  syncStoryboard: z.ZodOptional<z.ZodBoolean>;
41
- imageProvider: z.ZodOptional<z.ZodEnum<["gemini", "openai"]>>;
41
+ imageProvider: z.ZodOptional<z.ZodEnum<["gemini", "openai", "grok"]>>;
42
42
  voice: z.ZodOptional<z.ZodString>;
43
43
  skipAudio: z.ZodOptional<z.ZodBoolean>;
44
44
  skipImage: z.ZodOptional<z.ZodBoolean>;
@@ -53,7 +53,7 @@ export declare const sceneAddTool: import("../define-tool.js").ToolDefinition<z.
53
53
  headline?: string | undefined;
54
54
  projectDir?: string | undefined;
55
55
  force?: boolean | undefined;
56
- imageProvider?: "openai" | "gemini" | undefined;
56
+ imageProvider?: "openai" | "gemini" | "grok" | undefined;
57
57
  visuals?: string | undefined;
58
58
  insertInto?: string | undefined;
59
59
  syncStoryboard?: boolean | undefined;
@@ -69,7 +69,7 @@ export declare const sceneAddTool: import("../define-tool.js").ToolDefinition<z.
69
69
  headline?: string | undefined;
70
70
  projectDir?: string | undefined;
71
71
  force?: boolean | undefined;
72
- imageProvider?: "openai" | "gemini" | undefined;
72
+ imageProvider?: "openai" | "gemini" | "grok" | undefined;
73
73
  visuals?: string | undefined;
74
74
  insertInto?: string | undefined;
75
75
  syncStoryboard?: boolean | undefined;
@@ -149,7 +149,7 @@ export declare const sceneBuildTool: import("../define-tool.js").ToolDefinition<
149
149
  skipRender: z.ZodOptional<z.ZodBoolean>;
150
150
  ttsProvider: z.ZodOptional<z.ZodEnum<["auto", "elevenlabs", "openai", "kokoro"]>>;
151
151
  voice: z.ZodOptional<z.ZodString>;
152
- imageProvider: z.ZodOptional<z.ZodEnum<["openai"]>>;
152
+ imageProvider: z.ZodOptional<z.ZodEnum<["openai", "gemini", "grok"]>>;
153
153
  videoProvider: z.ZodOptional<z.ZodEnum<["seedance", "grok", "kling", "runway", "omni", "veo"]>>;
154
154
  musicProvider: z.ZodOptional<z.ZodEnum<["elevenlabs", "replicate"]>>;
155
155
  imageQuality: z.ZodOptional<z.ZodEnum<["standard", "hd"]>>;
@@ -168,7 +168,7 @@ export declare const sceneBuildTool: import("../define-tool.js").ToolDefinition<
168
168
  skipNarration?: boolean | undefined;
169
169
  skipBackdrop?: boolean | undefined;
170
170
  skipRender?: boolean | undefined;
171
- imageProvider?: "openai" | undefined;
171
+ imageProvider?: "openai" | "gemini" | "grok" | undefined;
172
172
  imageModel?: string | undefined;
173
173
  ttsProvider?: "openai" | "elevenlabs" | "auto" | "kokoro" | undefined;
174
174
  skipVideo?: boolean | undefined;
@@ -189,7 +189,7 @@ export declare const sceneBuildTool: import("../define-tool.js").ToolDefinition<
189
189
  skipNarration?: boolean | undefined;
190
190
  skipBackdrop?: boolean | undefined;
191
191
  skipRender?: boolean | undefined;
192
- imageProvider?: "openai" | undefined;
192
+ imageProvider?: "openai" | "gemini" | "grok" | undefined;
193
193
  imageModel?: string | undefined;
194
194
  ttsProvider?: "openai" | "elevenlabs" | "auto" | "kokoro" | undefined;
195
195
  skipVideo?: boolean | undefined;
@@ -208,13 +208,13 @@ export declare const sceneInstallSkillTool: import("../define-tool.js").ToolDefi
208
208
  }, "strip", z.ZodTypeAny, {
209
209
  projectDir: string;
210
210
  dryRun?: boolean | undefined;
211
- global?: boolean | undefined;
212
211
  force?: boolean | undefined;
212
+ global?: boolean | undefined;
213
213
  }, {
214
214
  projectDir: string;
215
215
  dryRun?: boolean | undefined;
216
- global?: boolean | undefined;
217
216
  force?: boolean | undefined;
217
+ global?: boolean | undefined;
218
218
  }>>;
219
219
  export declare const sceneComposePromptsTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
220
220
  projectDir: z.ZodString;
@@ -31,13 +31,13 @@ export declare const timelineAddSourceTool: import("../define-tool.js").ToolDefi
31
31
  name: z.ZodOptional<z.ZodString>;
32
32
  duration: z.ZodOptional<z.ZodNumber>;
33
33
  }, "strip", z.ZodTypeAny, {
34
- projectPath: string;
35
34
  mediaPath: string;
35
+ projectPath: string;
36
36
  name?: string | undefined;
37
37
  duration?: number | undefined;
38
38
  }, {
39
- projectPath: string;
40
39
  mediaPath: string;
40
+ projectPath: string;
41
41
  name?: string | undefined;
42
42
  duration?: number | undefined;
43
43
  }>>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Write audio to the path a caller asked for, converting when the path's
3
+ * extension does not match the bytes' container (Kokoro speaks WAV; a user
4
+ * may ask for `narration.mp3`).
5
+ */
6
+ /** Save `bytes` (in `container`, e.g. "mp3") to `path`, transcoding with ffmpeg if the extension differs. */
7
+ export declare function writeAudioFile(path: string, bytes: Uint8Array, container: string): Promise<void>;
@@ -13,3 +13,14 @@ export interface UploadHost {
13
13
  uploadImage(imageBuffer: Buffer, opts?: UploadImageOptions): Promise<UploadImageResult>;
14
14
  }
15
15
  export declare function resolveUploadHost(): Promise<UploadHost>;
16
+ /**
17
+ * Upload an image to ImgBB and return its URL (for providers that only take
18
+ * image URLs, such as Kling).
19
+ */
20
+ export declare function uploadToImgbb(imageBuffer: Buffer, apiKey: string,
21
+ /** Seconds until ImgBB deletes the image (60 to 15,552,000). Omit for a permanent upload. */
22
+ expirationSeconds?: number): Promise<{
23
+ success: boolean;
24
+ url?: string;
25
+ error?: string;
26
+ }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibeframe/cli",
3
- "version": "0.115.5",
3
+ "version": "0.115.7",
4
4
  "description": "Frontier AI video generation for coding agents - Seedance, Runway, Veo, and Kling on your own keys, behind a hard cost cap",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -91,8 +91,8 @@
91
91
  "tsx": "^4.21.0",
92
92
  "typescript": "^5.3.3",
93
93
  "vitest": "^1.2.2",
94
- "@vibeframe/ai-providers": "0.115.5",
95
- "@vibeframe/core": "0.115.5"
94
+ "@vibeframe/ai-providers": "0.115.7",
95
+ "@vibeframe/core": "0.115.7"
96
96
  },
97
97
  "engines": {
98
98
  "node": ">=20"
@@ -1,44 +0,0 @@
1
- /**
2
- * @module _shared/video-providers
3
- * @description Per-provider `generateVideoWithRetry*` helpers used by the
4
- * script-to-video pipeline. Each wraps a single AI provider's video
5
- * generation API in a retry loop with onProgress callbacks. Split out of
6
- * `ai-script-pipeline.ts` in v0.69 (Plan G Phase 4).
7
- */
8
- import type { GeminiProvider, GrokProvider, KlingProvider, RunwayProvider } from "@vibeframe/ai-providers";
9
- import { type StoryboardSegment } from "./video-utils.js";
10
- /** Generate video with retry logic for Grok provider. */
11
- export declare function generateVideoWithRetryGrok(grok: GrokProvider, segment: StoryboardSegment, options: {
12
- duration: number;
13
- aspectRatio: "16:9" | "9:16" | "1:1";
14
- referenceImage?: string;
15
- }, maxRetries: number, onProgress?: (message: string) => void): Promise<{
16
- requestId: string;
17
- } | null>;
18
- /**
19
- * Generate video with retry logic for Kling provider.
20
- * Supports image-to-video with URL (v2.5/v2.6 models).
21
- */
22
- export declare function generateVideoWithRetryKling(kling: KlingProvider, segment: StoryboardSegment, options: {
23
- duration: 5 | 10;
24
- aspectRatio: "16:9" | "9:16" | "1:1";
25
- referenceImage?: string;
26
- }, maxRetries: number, onProgress?: (message: string) => void): Promise<{
27
- taskId: string;
28
- type: "text2video" | "image2video";
29
- } | null>;
30
- /** Generate video with retry logic for Runway provider. */
31
- export declare function generateVideoWithRetryRunway(runway: RunwayProvider, segment: StoryboardSegment, referenceImage: string, options: {
32
- duration: 5 | 10;
33
- aspectRatio: "16:9" | "9:16";
34
- }, maxRetries: number, onProgress?: (message: string) => void): Promise<{
35
- taskId: string;
36
- } | null>;
37
- /** Generate video with retry logic for Veo (Gemini) provider. */
38
- export declare function generateVideoWithRetryVeo(gemini: GeminiProvider, segment: StoryboardSegment, options: {
39
- duration: 4 | 6 | 8;
40
- aspectRatio: "16:9" | "9:16" | "1:1";
41
- referenceImage?: string;
42
- }, maxRetries: number, onProgress?: (message: string) => void): Promise<{
43
- operationName: string;
44
- } | null>;
@@ -1,73 +0,0 @@
1
- /**
2
- * @module _shared/video-utils
3
- * @description Shared helpers for the script-to-video pipeline:
4
- * StoryboardSegment type, retry constants, ImgBB upload, FFmpeg/Kling
5
- * video extension, error logging, and the generic wait-for-completion
6
- * loop. Split out of `ai-script-pipeline.ts` in v0.69 (Plan G Phase 4).
7
- */
8
- import type { KlingProvider, RunwayProvider } from "@vibeframe/ai-providers";
9
- /** A single scene segment from the Claude-generated storyboard. */
10
- export interface StoryboardSegment {
11
- /** 1-based scene index (assigned during generation) */
12
- index?: number;
13
- /** Narrative description of the scene */
14
- description: string;
15
- /** Visual prompt for image/video generation */
16
- visuals: string;
17
- /** Art style directive (e.g. "cinematic", "anime") */
18
- visualStyle?: string;
19
- /** Character appearance description for consistency */
20
- characterDescription?: string;
21
- /** Reference to previous scene for continuity */
22
- previousSceneLink?: string;
23
- /** Voiceover narration text */
24
- narration?: string;
25
- /** Audio direction (e.g. "upbeat music") */
26
- audio?: string;
27
- /** Text lines to overlay on the video */
28
- textOverlays?: string[];
29
- /** Scene duration in seconds (updated to match narration) */
30
- duration: number;
31
- /** Cumulative start time in seconds */
32
- startTime: number;
33
- }
34
- /** Default retry count for video generation API calls. */
35
- export declare const DEFAULT_VIDEO_RETRIES = 2;
36
- /** Delay between retries in milliseconds. */
37
- export declare const RETRY_DELAY_MS = 5000;
38
- /** Sleep helper. */
39
- export declare function sleep(ms: number): Promise<void>;
40
- /**
41
- * Upload image to ImgBB and return the URL.
42
- * Used for Kling v2.5/v2.6 image-to-video which requires URL (not base64).
43
- */
44
- export declare function uploadToImgbb(imageBuffer: Buffer, apiKey: string,
45
- /** Seconds until ImgBB deletes the image (60 to 15,552,000). Omit for a permanent upload. */
46
- expirationSeconds?: number): Promise<{
47
- success: boolean;
48
- url?: string;
49
- error?: string;
50
- }>;
51
- /**
52
- * Extend a video to target duration using Kling extend API when possible,
53
- * with fallback to FFmpeg-based extendVideoNaturally.
54
- *
55
- * When the extension ratio > 1.4 and a Kling provider + videoId are available,
56
- * uses the Kling video-extend API for natural continuation instead of freeze frames.
57
- */
58
- export declare function extendVideoToTarget(videoPath: string, targetDuration: number, outputDir: string, sceneLabel: string, options?: {
59
- kling?: KlingProvider;
60
- videoId?: string;
61
- onProgress?: (message: string) => void;
62
- }): Promise<void>;
63
- /**
64
- * Log a provider failure to stderr. Centralizes the "what went wrong" output
65
- * so call sites stop silently dropping provider errors into failedScenes.
66
- */
67
- export declare function logSceneFailure(provider: string, sceneLabel: string, err: unknown): void;
68
- /**
69
- * Wait for video completion with retry logic.
70
- */
71
- export declare function waitForVideoWithRetry(provider: KlingProvider | RunwayProvider, taskId: string, providerType: "kling" | "runway", maxRetries: number, onProgress?: (message: string) => void, timeout?: number): Promise<{
72
- videoUrl: string;
73
- } | null>;