@vibeframe/cli 0.115.3 → 0.115.5
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/CONTEXT.md +1 -1
- package/dist/commands/_shared/execute-fill-gaps.d.ts +0 -2
- package/dist/commands/_shared/image-cost.d.ts +15 -0
- package/dist/commands/_shared/image-cost.test.d.ts +1 -0
- package/dist/commands/_shared/init-templates.d.ts +1 -1
- package/dist/commands/_shared/openai-image.d.ts +4 -3
- package/dist/commands/_shared/scene-build.network.test.d.ts +1 -0
- package/dist/commands/_shared/video-utils.d.ts +3 -1
- package/dist/commands/agent.d.ts +6 -0
- package/dist/commands/generate/video.d.ts +9 -0
- package/dist/commands/generate.d.ts +1 -1
- package/dist/commands/output.d.ts +9 -1
- package/dist/index.js +455 -235
- package/dist/testing/fake-provider-network.d.ts +45 -0
- package/dist/tools/define-tool.js +3 -2
- package/dist/tools/manifest/edit.d.ts +2 -2
- package/dist/tools/manifest/generate.d.ts +4 -4
- package/dist/tools/manifest/index.js +421 -221
- package/dist/tools/manifest/storyboard.d.ts +2 -2
- package/dist/utils/model-lifecycle.d.ts +25 -0
- package/dist/utils/model-lifecycle.test.d.ts +1 -0
- package/dist/utils/remotion-precheck.test.d.ts +1 -0
- package/dist/utils/remotion.d.ts +7 -1
- package/package.json +4 -3
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A fake provider network for tests.
|
|
3
|
+
*
|
|
4
|
+
* Module-level mocks (`vi.mock("@vibeframe/ai-providers")`) skip the code
|
|
5
|
+
* that actually breaks when providers change: request shapes, response
|
|
6
|
+
* parsing, polling, downloads, and the file writes after them. This harness
|
|
7
|
+
* replaces only `fetch`, so real provider classes, executors, and the build
|
|
8
|
+
* pipeline run end to end against scripted provider responses.
|
|
9
|
+
*
|
|
10
|
+
* Every request is recorded. A request no route matches throws, so a test
|
|
11
|
+
* can never reach a real provider by accident.
|
|
12
|
+
*/
|
|
13
|
+
export interface RecordedRequest {
|
|
14
|
+
method: string;
|
|
15
|
+
url: string;
|
|
16
|
+
host: string;
|
|
17
|
+
path: string;
|
|
18
|
+
headers: Record<string, string>;
|
|
19
|
+
/** Parsed JSON body, raw string body, or undefined. */
|
|
20
|
+
body: unknown;
|
|
21
|
+
}
|
|
22
|
+
export type FakeResponder = (req: RecordedRequest) => Response | Promise<Response>;
|
|
23
|
+
/** 1x1 transparent PNG. */
|
|
24
|
+
export declare const FAKE_PNG: Buffer<ArrayBuffer>;
|
|
25
|
+
/** Bytes that stand in for MP3 / MP4 payloads; nothing in the asset stage decodes them. */
|
|
26
|
+
export declare const FAKE_MP3: Buffer<ArrayBuffer>;
|
|
27
|
+
export declare const FAKE_MP4: Buffer<ArrayBuffer>;
|
|
28
|
+
export declare function jsonResponse(body: unknown, status?: number, headers?: Record<string, string>): Response;
|
|
29
|
+
export declare function bytesResponse(bytes: Buffer, contentType: string): Response;
|
|
30
|
+
export declare class FakeProviderNetwork {
|
|
31
|
+
readonly requests: RecordedRequest[];
|
|
32
|
+
private routes;
|
|
33
|
+
/** Register a route; later registrations win, so tests can override defaults. */
|
|
34
|
+
on(method: string, host: string, path: RegExp, respond: FakeResponder): this;
|
|
35
|
+
/** Requests sent to one host, in order. */
|
|
36
|
+
to(host: string): RecordedRequest[];
|
|
37
|
+
install(): void;
|
|
38
|
+
uninstall(): void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Default happy-path routes for the providers a project build uses:
|
|
42
|
+
* ElevenLabs (narration, music), OpenAI images, ImgBB uploads, fal
|
|
43
|
+
* (Seedance queue protocol), Runway, and a CDN for media downloads.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createFakeProviderNetwork(): FakeProviderNetwork;
|
|
@@ -19,8 +19,9 @@ var EXPLICIT_COMMAND_METADATA = {
|
|
|
19
19
|
schema: { surface: "agent", note: "Machine-readable command discovery." },
|
|
20
20
|
completion: { surface: "advanced", note: "Shell ergonomics helper." },
|
|
21
21
|
agent: {
|
|
22
|
-
surface: "
|
|
23
|
-
|
|
22
|
+
surface: "legacy",
|
|
23
|
+
replacement: "a host agent (Claude Code, Codex, Cursor) or the MCP server via `vibe host setup`",
|
|
24
|
+
note: "Deprecated built-in REPL, removed before 1.0."
|
|
24
25
|
},
|
|
25
26
|
"design.validate": { surface: "public", note: "Validate the DESIGN.md visual contract." },
|
|
26
27
|
"generate.image": { surface: "public" },
|
|
@@ -178,7 +178,7 @@ export declare const editMotionOverlayTool: import("../define-tool.js").ToolDefi
|
|
|
178
178
|
opacity?: number | undefined;
|
|
179
179
|
loop?: boolean | undefined;
|
|
180
180
|
start?: number | undefined;
|
|
181
|
-
model?: "gemini" | "sonnet" | "opus" | "gemini-
|
|
181
|
+
model?: "gemini" | "sonnet" | "opus" | "gemini-3.1-pro" | "gemini-2.5-pro" | undefined;
|
|
182
182
|
understand?: "auto" | "off" | "required" | undefined;
|
|
183
183
|
understandingPrompt?: string | undefined;
|
|
184
184
|
}, {
|
|
@@ -193,7 +193,7 @@ export declare const editMotionOverlayTool: import("../define-tool.js").ToolDefi
|
|
|
193
193
|
opacity?: number | undefined;
|
|
194
194
|
loop?: boolean | undefined;
|
|
195
195
|
start?: number | undefined;
|
|
196
|
-
model?: "gemini" | "sonnet" | "opus" | "gemini-
|
|
196
|
+
model?: "gemini" | "sonnet" | "opus" | "gemini-3.1-pro" | "gemini-2.5-pro" | undefined;
|
|
197
197
|
understand?: "auto" | "off" | "required" | undefined;
|
|
198
198
|
understandingPrompt?: string | undefined;
|
|
199
199
|
}>>;
|
|
@@ -33,7 +33,7 @@ export declare const generateMotionTool: import("../define-tool.js").ToolDefinit
|
|
|
33
33
|
fps?: number | undefined;
|
|
34
34
|
style?: string | undefined;
|
|
35
35
|
render?: boolean | undefined;
|
|
36
|
-
model?: "gemini" | "sonnet" | "opus" | "gemini-
|
|
36
|
+
model?: "gemini" | "sonnet" | "opus" | "gemini-3.1-pro" | "gemini-2.5-pro" | undefined;
|
|
37
37
|
understand?: "auto" | "off" | "required" | undefined;
|
|
38
38
|
understandingPrompt?: string | undefined;
|
|
39
39
|
}, {
|
|
@@ -47,7 +47,7 @@ export declare const generateMotionTool: import("../define-tool.js").ToolDefinit
|
|
|
47
47
|
fps?: number | undefined;
|
|
48
48
|
style?: string | undefined;
|
|
49
49
|
render?: boolean | undefined;
|
|
50
|
-
model?: "gemini" | "sonnet" | "opus" | "gemini-
|
|
50
|
+
model?: "gemini" | "sonnet" | "opus" | "gemini-3.1-pro" | "gemini-2.5-pro" | undefined;
|
|
51
51
|
understand?: "auto" | "off" | "required" | undefined;
|
|
52
52
|
understandingPrompt?: string | undefined;
|
|
53
53
|
}>>;
|
|
@@ -181,12 +181,12 @@ export declare const generateVideoTool: import("../define-tool.js").ToolDefiniti
|
|
|
181
181
|
negative?: string | undefined;
|
|
182
182
|
resolution?: string | undefined;
|
|
183
183
|
veoModel?: string | undefined;
|
|
184
|
+
runwayModel?: string | undefined;
|
|
184
185
|
seedanceModel?: string | undefined;
|
|
185
186
|
grokModel?: string | undefined;
|
|
186
187
|
klingModel?: string | undefined;
|
|
187
188
|
generateAudio?: boolean | undefined;
|
|
188
189
|
wait?: boolean | undefined;
|
|
189
|
-
runwayModel?: string | undefined;
|
|
190
190
|
endImage?: string | undefined;
|
|
191
191
|
}, {
|
|
192
192
|
prompt: string;
|
|
@@ -202,12 +202,12 @@ export declare const generateVideoTool: import("../define-tool.js").ToolDefiniti
|
|
|
202
202
|
negative?: string | undefined;
|
|
203
203
|
resolution?: string | undefined;
|
|
204
204
|
veoModel?: string | undefined;
|
|
205
|
+
runwayModel?: string | undefined;
|
|
205
206
|
seedanceModel?: string | undefined;
|
|
206
207
|
grokModel?: string | undefined;
|
|
207
208
|
klingModel?: string | undefined;
|
|
208
209
|
generateAudio?: boolean | undefined;
|
|
209
210
|
wait?: boolean | undefined;
|
|
210
|
-
runwayModel?: string | undefined;
|
|
211
211
|
endImage?: string | undefined;
|
|
212
212
|
}>>;
|
|
213
213
|
export declare const generateVideoCancelTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
|