@vibeframe/cli 0.115.2 → 0.115.4
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/dist/agent/adapters/gemini.d.ts +2 -0
- package/dist/agent/adapters/provider-content.test.d.ts +6 -0
- package/dist/agent/memory/index.d.ts +1 -1
- package/dist/agent/types.d.ts +8 -0
- package/dist/commands/_shared/build-video-providers.d.ts +12 -0
- package/dist/commands/_shared/build-video-providers.test.d.ts +1 -0
- package/dist/commands/_shared/edit/translate-srt.test.d.ts +1 -0
- 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/openai-image.d.ts +9 -8
- package/dist/commands/_shared/project-config.d.ts +2 -1
- package/dist/commands/_shared/scene-build.d.ts +3 -2
- 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/ai-video.d.ts +2 -0
- package/dist/commands/generate/image.d.ts +1 -1
- package/dist/commands/generate/video.d.ts +1 -10
- package/dist/config/schema.d.ts +1 -1
- package/dist/index.js +1198 -817
- 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 +5 -5
- package/dist/tools/manifest/generate.d.ts +12 -6
- package/dist/tools/manifest/index.js +1132 -757
- package/dist/tools/manifest/scene.d.ts +3 -3
- package/dist/tools/manifest/storyboard.d.ts +3 -3
- package/dist/utils/image-file.d.ts +19 -0
- package/dist/utils/image-file.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
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { LLMAdapter } from "./index.js";
|
|
5
5
|
import type { ToolDefinition, LLMResponse, AgentMessage, LLMProvider } from "../types.js";
|
|
6
|
+
/** Drop schema keys Gemini rejects, recursing into properties and items. */
|
|
7
|
+
export declare function toGeminiSchema(schema: unknown): unknown;
|
|
6
8
|
export declare class GeminiAdapter implements LLMAdapter {
|
|
7
9
|
readonly provider: LLMProvider;
|
|
8
10
|
private client;
|
|
@@ -21,7 +21,7 @@ export declare class ConversationMemory {
|
|
|
21
21
|
/**
|
|
22
22
|
* Add an assistant message
|
|
23
23
|
*/
|
|
24
|
-
addAssistant(content: string, toolCalls?: ToolCall[]): void;
|
|
24
|
+
addAssistant(content: string, toolCalls?: ToolCall[], providerContent?: unknown): void;
|
|
25
25
|
/**
|
|
26
26
|
* Add a tool result message
|
|
27
27
|
*/
|
package/dist/agent/types.d.ts
CHANGED
|
@@ -48,6 +48,12 @@ export interface AgentMessage {
|
|
|
48
48
|
content: string;
|
|
49
49
|
toolCalls?: ToolCall[];
|
|
50
50
|
toolCallId?: string;
|
|
51
|
+
/**
|
|
52
|
+
* The provider's own assistant content (Claude content blocks, Gemini
|
|
53
|
+
* parts), replayed verbatim on the next turn. Newer models require their
|
|
54
|
+
* thinking blocks and thought signatures back unmodified during tool use.
|
|
55
|
+
*/
|
|
56
|
+
providerContent?: unknown;
|
|
51
57
|
}
|
|
52
58
|
export interface AgentConfig {
|
|
53
59
|
provider: LLMProvider;
|
|
@@ -60,6 +66,8 @@ export interface LLMResponse {
|
|
|
60
66
|
content: string;
|
|
61
67
|
toolCalls?: ToolCall[];
|
|
62
68
|
finishReason: "stop" | "tool_calls" | "length" | "error";
|
|
69
|
+
/** See {@link AgentMessage.providerContent}. */
|
|
70
|
+
providerContent?: unknown;
|
|
63
71
|
}
|
|
64
72
|
export interface AgentContext {
|
|
65
73
|
projectPath: string | null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Video providers a project build (`vibe plan`, `vibe build`, storyboard
|
|
3
|
+
* `provider:` cues, project config) can target. One list, so adding a
|
|
4
|
+
* provider is a one-line change instead of a hunt through every command.
|
|
5
|
+
*/
|
|
6
|
+
export declare const BUILD_VIDEO_PROVIDERS: readonly ["seedance", "grok", "kling", "runway", "omni", "veo"];
|
|
7
|
+
export type BuildVideoProvider = (typeof BUILD_VIDEO_PROVIDERS)[number];
|
|
8
|
+
export declare function isBuildVideoProvider(value: string): value is BuildVideoProvider;
|
|
9
|
+
/** Normalize user input; `fal` is the deprecated alias for seedance. Unknown values fall back to seedance. */
|
|
10
|
+
export declare function resolveBuildVideoProvider(value: unknown): BuildVideoProvider;
|
|
11
|
+
/** Config/API-key id that unlocks a video provider. */
|
|
12
|
+
export declare function videoProviderConfigKey(provider: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -26,8 +26,6 @@ export interface ExecuteFillGapsOptions {
|
|
|
26
26
|
ratio?: "16:9" | "9:16" | "1:1";
|
|
27
27
|
/** Override Kling API key. */
|
|
28
28
|
apiKey?: string;
|
|
29
|
-
/** Override ImgBB API key (used to host frames for Kling input). */
|
|
30
|
-
imgbbApiKey?: string;
|
|
31
29
|
/** Optional progress callback for streaming status updates. */
|
|
32
30
|
onProgress?: (message: string) => void;
|
|
33
31
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-image cost estimates for `vibe generate image`, from model catalog prices.
|
|
3
|
+
*
|
|
4
|
+
* Without these, real runs reported `costUsd: 0`, which reads as "free" to
|
|
5
|
+
* agents that gate spend on the JSON envelope. Values are upper bounds from
|
|
6
|
+
* provider list prices (checked 2026-10-04, see
|
|
7
|
+
* `.agents/references/providers/`), not metered billing:
|
|
8
|
+
* - OpenAI: high quality at 1024x1024 (we default to medium).
|
|
9
|
+
* - Gemini: 1K output, Nano Banana Pro at 1K-2K.
|
|
10
|
+
* - Grok: grok-imagine-image-2.0 at its 2K medium price.
|
|
11
|
+
*/
|
|
12
|
+
export declare function estimateImageCostUsd(provider: string, model: string | undefined, count: number): {
|
|
13
|
+
costUsd: number;
|
|
14
|
+
warnings: string[];
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* See issue #58.
|
|
16
16
|
*/
|
|
17
|
-
import type { ImageResult } from "@vibeframe/ai-providers";
|
|
17
|
+
import type { GPTImageModel, ImageResult } from "@vibeframe/ai-providers";
|
|
18
18
|
/** Subset of CLI options consumed by the helper. */
|
|
19
19
|
export interface OpenAIImageHelperOptions {
|
|
20
20
|
model?: string;
|
|
@@ -27,18 +27,19 @@ export interface OpenAIImageHelperOptions {
|
|
|
27
27
|
export interface OpenAIImageHelperResult {
|
|
28
28
|
result: ImageResult;
|
|
29
29
|
/** Resolved model id passed to the API. */
|
|
30
|
-
openaiModel:
|
|
30
|
+
openaiModel: GPTImageModel;
|
|
31
31
|
/** Human-friendly label for spinner / success output. */
|
|
32
|
-
modelLabel:
|
|
32
|
+
modelLabel: string;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
* Resolve the user-supplied model alias to the API id + display label
|
|
36
|
-
*
|
|
37
|
-
*
|
|
35
|
+
* Resolve the user-supplied model alias to the API id + display label, from
|
|
36
|
+
* the model catalog. Unknown or empty aliases resolve to the default model.
|
|
37
|
+
* Exported so unit tests can assert label↔model parity (regression cover for
|
|
38
|
+
* v0.52.0 bug).
|
|
38
39
|
*/
|
|
39
40
|
export declare function resolveOpenAIImageModel(modelAlias?: string): {
|
|
40
|
-
openaiModel:
|
|
41
|
-
modelLabel:
|
|
41
|
+
openaiModel: GPTImageModel;
|
|
42
|
+
modelLabel: string;
|
|
42
43
|
};
|
|
43
44
|
/**
|
|
44
45
|
* Run an OpenAI image generation. Caller owns: api-key acquisition,
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { SceneAspect, SceneKind } from "./scene-project.js";
|
|
2
|
+
import type { BuildVideoProvider } from "./build-video-providers.js";
|
|
2
3
|
export declare const VIBE_CONFIG_FILENAME = "vibe.config.json";
|
|
3
4
|
export declare const LEGACY_VIBE_PROJECT_FILENAME = "vibe.project.yaml";
|
|
4
5
|
export type CompositionEngine = "hyperframes";
|
|
5
6
|
export type ProjectImageProvider = "openai" | "gemini" | "grok" | null;
|
|
6
|
-
export type ProjectVideoProvider =
|
|
7
|
+
export type ProjectVideoProvider = BuildVideoProvider | null;
|
|
7
8
|
export type ProjectNarrationProvider = "elevenlabs" | "openai" | "kokoro" | null;
|
|
8
9
|
export type ProjectComposerProvider = "claude" | "openai" | "gemini" | null;
|
|
9
10
|
export type ProjectQuality = "draft" | "standard" | "high";
|
|
@@ -29,6 +29,7 @@ import { type JobRecord } from "./status-jobs.js";
|
|
|
29
29
|
import { type SceneRepairResult } from "./scene-repair.js";
|
|
30
30
|
import { type TtsProviderName } from "./tts-resolve.js";
|
|
31
31
|
import { type SceneBuildMode } from "./scene-build-mode.js";
|
|
32
|
+
import { type BuildVideoProvider } from "./build-video-providers.js";
|
|
32
33
|
export { resolveSceneBuildMode, type SceneBuildMode } from "./scene-build-mode.js";
|
|
33
34
|
export type BuildImageProvider = "openai" | "gemini" | "grok";
|
|
34
35
|
export type SceneBuildProgressEvent = {
|
|
@@ -220,7 +221,7 @@ export interface BeatBuildOutcome {
|
|
|
220
221
|
musicSourcePath?: string;
|
|
221
222
|
musicDurationSec?: number;
|
|
222
223
|
}
|
|
223
|
-
export type BuildVideoProvider
|
|
224
|
+
export type { BuildVideoProvider } from "./build-video-providers.js";
|
|
224
225
|
export type BuildMusicProvider = "elevenlabs" | "replicate";
|
|
225
226
|
/**
|
|
226
227
|
* Build mode dispatch (Phase H3 / Plan H).
|
|
@@ -280,7 +281,7 @@ export interface SceneBuildOptions {
|
|
|
280
281
|
skipTranscript?: boolean;
|
|
281
282
|
/**
|
|
282
283
|
* Provider-specific image model for backdrops/keyframes/character sheets
|
|
283
|
-
* (e.g. gemini `flash` | `pro`, openai `gpt-image-2`). Provider default when
|
|
284
|
+
* (e.g. gemini `flash` | `pro`, openai `gpt-image-2.5-sunburst`). Provider default when
|
|
284
285
|
* omitted; grok has a single model and ignores it.
|
|
285
286
|
*/
|
|
286
287
|
imageModel?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -41,7 +41,9 @@ export declare function sleep(ms: number): Promise<void>;
|
|
|
41
41
|
* Upload image to ImgBB and return the URL.
|
|
42
42
|
* Used for Kling v2.5/v2.6 image-to-video which requires URL (not base64).
|
|
43
43
|
*/
|
|
44
|
-
export declare function uploadToImgbb(imageBuffer: Buffer, apiKey: string
|
|
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<{
|
|
45
47
|
success: boolean;
|
|
46
48
|
url?: string;
|
|
47
49
|
error?: string;
|
package/dist/commands/agent.d.ts
CHANGED
|
@@ -16,6 +16,12 @@ export interface StartAgentOptions {
|
|
|
16
16
|
/** Cumulative USD ceiling — agent rejects further tool calls past this. */
|
|
17
17
|
budgetUsd?: number | string;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* `vibe agent` is deprecated: the host's agent loop (Claude Code, Codex,
|
|
21
|
+
* Cursor, or an MCP app host) is the outer loop, and a second built-in loop
|
|
22
|
+
* competes with it. Printed to stderr so `--input` stdout stays clean.
|
|
23
|
+
*/
|
|
24
|
+
export declare const AGENT_DEPRECATION_NOTICE: string;
|
|
19
25
|
/**
|
|
20
26
|
* Start the AI agent
|
|
21
27
|
* @param options - Agent options
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module generate/image
|
|
3
3
|
* @description `vibe generate image` (alias `img`) — multi-provider image
|
|
4
|
-
* generation. OpenAI gpt-image-2, Gemini Nano Banana, Grok, Runway. Split
|
|
4
|
+
* generation. OpenAI gpt-image-2.5, Gemini Nano Banana, Grok, Runway. Split
|
|
5
5
|
* out of `generate.ts` in v0.69 (Plan G Phase 2).
|
|
6
6
|
*/
|
|
7
7
|
import type { Command } from "commander";
|
|
@@ -2,20 +2,11 @@
|
|
|
2
2
|
* @module generate/video
|
|
3
3
|
* @description `vibe generate video` (alias `vid`) — multi-provider video
|
|
4
4
|
* generation. fal.ai (Seedance 2.0), Grok, Veo (Gemini), Kling, Runway,
|
|
5
|
-
* plus
|
|
5
|
+
* plus Gemini Omni 1.1 Flash (`-p omni`).
|
|
6
6
|
* Split out of `generate.ts` in v0.69 (Plan G Phase 2).
|
|
7
7
|
*/
|
|
8
8
|
import type { Command } from "commander";
|
|
9
9
|
export declare function registerVideoCommand(parent: Command): void;
|
|
10
|
-
/**
|
|
11
|
-
* Cost figure for a REAL (non-dry-run) generation envelope.
|
|
12
|
-
*
|
|
13
|
-
* Seedance has a token-accurate estimator; every other provider reports the
|
|
14
|
-
* command's tier upper bound with a warning naming it an estimate. Without
|
|
15
|
-
* this the success envelope defaulted to costUsd 0, which an agent budget
|
|
16
|
-
* loop reads as "free" - the hybrid-brew dogfood run billed Runway twice
|
|
17
|
-
* while reporting $0.
|
|
18
|
-
*/
|
|
19
10
|
export declare function realRunCost(provider: string, options: {
|
|
20
11
|
duration?: string;
|
|
21
12
|
resolution?: string;
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export interface VibeConfig {
|
|
|
33
33
|
/** Default provider for image generation */
|
|
34
34
|
imageProvider?: "gemini" | "openai" | "grok";
|
|
35
35
|
/** Default provider for video generation. `fal` is a deprecated v0.x alias for `seedance` and will be removed at 1.0. */
|
|
36
|
-
videoProvider?: "seedance" | "fal" | "grok" | "kling" | "runway" | "veo";
|
|
36
|
+
videoProvider?: "seedance" | "fal" | "grok" | "kling" | "runway" | "omni" | "veo";
|
|
37
37
|
/** Default provider for storyboard analysis */
|
|
38
38
|
storyboardProvider?: "claude" | "openai" | "gemini";
|
|
39
39
|
/** Default voice for TTS */
|