@vibeframe/cli 0.115.2 → 0.115.3

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.
@@ -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;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Claude and Gemini adapters replay the provider's own assistant content
3
+ * (thinking blocks, thought signatures) and group tool results per turn.
4
+ * Mock-based, no API calls.
5
+ */
6
+ export {};
@@ -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
  */
@@ -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 {};
@@ -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,18 @@ export interface OpenAIImageHelperOptions {
27
27
  export interface OpenAIImageHelperResult {
28
28
  result: ImageResult;
29
29
  /** Resolved model id passed to the API. */
30
- openaiModel: "gpt-image-2" | "gpt-image-1.5";
30
+ openaiModel: GPTImageModel;
31
31
  /** Human-friendly label for spinner / success output. */
32
- modelLabel: "GPT Image 2" | "GPT Image 1.5";
32
+ modelLabel: string;
33
33
  }
34
34
  /**
35
35
  * Resolve the user-supplied model alias to the API id + display label.
36
- * Exported so unit tests can assert label↔model parity (regression cover
37
- * for v0.52.0 bug).
36
+ * Unknown or empty aliases resolve to the default model. Exported so unit
37
+ * tests can assert label↔model parity (regression cover for v0.52.0 bug).
38
38
  */
39
39
  export declare function resolveOpenAIImageModel(modelAlias?: string): {
40
- openaiModel: "gpt-image-2" | "gpt-image-1.5";
41
- modelLabel: "GPT Image 2" | "GPT Image 1.5";
40
+ openaiModel: GPTImageModel;
41
+ modelLabel: string;
42
42
  };
43
43
  /**
44
44
  * 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 = "seedance" | "grok" | "kling" | "runway" | "veo" | null;
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 = "seedance" | "grok" | "kling" | "runway" | "veo";
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;
@@ -28,6 +28,8 @@ export interface VideoGenerateOptions {
28
28
  veoModel?: string;
29
29
  runwayModel?: string;
30
30
  seedanceModel?: string;
31
+ grokModel?: string;
32
+ klingModel?: string;
31
33
  generateAudio?: boolean;
32
34
  output?: string;
33
35
  wait?: boolean;
@@ -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 experimental Gemini Omni (`-p omni`).
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;
@@ -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 */