@vibeframe/cli 0.75.0 → 0.76.0

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 (2) hide show
  1. package/dist/index.js +21 -21
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -57375,7 +57375,7 @@ var init_scene2 = __esm({
57375
57375
  name: "scene_styles",
57376
57376
  category: "scene",
57377
57377
  cost: "free",
57378
- description: "List the 8 vendored visual identities available for `scene_init --visual-style` (Swiss Pulse, Data Drift, \u2026) or, when `name` is provided, return the full DESIGN.md hard-gate body for one style. The DESIGN.md content is what the LLM uses as a non-negotiable visual rulebook during compose-scenes-with-skills.",
57378
+ description: "List the 8 vendored visual identities available for `init --visual-style` (Swiss Pulse, Data Drift, \u2026) or, when `name` is provided, return the full DESIGN.md hard-gate body for one style. The DESIGN.md content is what the LLM uses as a non-negotiable visual rulebook during compose-scenes-with-skills.",
57379
57379
  schema: sceneStylesSchema,
57380
57380
  async execute(args) {
57381
57381
  if (args.name) {
@@ -57435,7 +57435,7 @@ var init_scene2 = __esm({
57435
57435
  duration: external_exports.number().optional().describe("Default root composition duration in seconds. Default 10.")
57436
57436
  });
57437
57437
  sceneInitTool = defineTool({
57438
- name: "scene_init",
57438
+ name: "init",
57439
57439
  category: "scene",
57440
57440
  cost: "free",
57441
57441
  description: "Scaffold a new VibeFrame video scene project. Supports minimal, agent, and full profiles; full includes the current HTML render backend metadata. Idempotent: re-running keeps user-authored files and merges backend config instead of overwriting. No API keys required.",
@@ -57581,7 +57581,7 @@ var init_scene2 = __esm({
57581
57581
  workers: external_exports.number().optional().describe("Capture worker count (1-16). Default 1.")
57582
57582
  });
57583
57583
  sceneRenderTool = defineTool({
57584
- name: "scene_render",
57584
+ name: "render",
57585
57585
  category: "scene",
57586
57586
  cost: "free",
57587
57587
  description: "Render a scene project to MP4/WebM/MOV via the Hyperframes producer. Requires Chrome installed locally. Output defaults to renders/<projectName>-<isoStamp>.<format>.",
@@ -57598,7 +57598,7 @@ var init_scene2 = __esm({
57598
57598
  workers: args.workers
57599
57599
  });
57600
57600
  if (!result.success) {
57601
- return { success: false, error: result.error ?? "scene_render failed" };
57601
+ return { success: false, error: result.error ?? "render failed" };
57602
57602
  }
57603
57603
  return {
57604
57604
  success: true,
@@ -57636,10 +57636,10 @@ var init_scene2 = __esm({
57636
57636
  force: external_exports.boolean().optional().describe("Re-dispatch primitives even when cached assets exist.")
57637
57637
  });
57638
57638
  sceneBuildTool = defineTool({
57639
- name: "scene_build",
57639
+ name: "build",
57640
57640
  category: "scene",
57641
57641
  cost: "high",
57642
- description: "v0.60 one-shot orchestrator: read STORYBOARD.md per-beat YAML cues (narration / backdrop / duration), dispatch TTS + image generation per beat, compose scene HTML via the compose-scenes-with-skills pipeline, then render to MP4. Use this instead of chaining scene_init + scene_add + scene_render manually. Caches by SHA256 of (DESIGN.md + cue body) so re-runs are idempotent and cheap.",
57642
+ description: "v0.60 one-shot orchestrator: read STORYBOARD.md per-beat YAML cues (narration / backdrop / duration), dispatch TTS + image generation per beat, compose scene HTML via the compose-scenes-with-skills pipeline, then render to MP4. Use this instead of chaining init + scene_add + render manually. Caches by SHA256 of (DESIGN.md + cue body) so re-runs are idempotent and cheap.",
57643
57643
  schema: sceneBuildSchema,
57644
57644
  async execute(args, ctx) {
57645
57645
  const projectDir = args.projectDir ? resolve55(ctx.workingDirectory, args.projectDir) : ctx.workingDirectory;
@@ -57659,7 +57659,7 @@ var init_scene2 = __esm({
57659
57659
  force: args.force
57660
57660
  });
57661
57661
  if (!result.success) {
57662
- return { success: false, error: result.error ?? "scene_build failed" };
57662
+ return { success: false, error: result.error ?? "build failed" };
57663
57663
  }
57664
57664
  return {
57665
57665
  success: true,
@@ -57742,7 +57742,7 @@ var init_scene2 = __esm({
57742
57742
  name: "scene_compose_prompts",
57743
57743
  category: "scene",
57744
57744
  cost: "free",
57745
- description: "Emit the per-beat compose plan for the host agent to author scene HTML itself. Reads STORYBOARD.md + DESIGN.md and returns each beat's outputPath + userPrompt + cues + body, plus references to the project's SKILL.md (Hyperframes rules) and DESIGN.md (visual identity). The host agent writes each compositions/scene-<id>.html file directly \u2014 VibeFrame makes NO LLM call here. Pairs with scene_install_skill (Phase H1). Phase H2 of the agentic-native composer plan; the internal-LLM batch path (scene_build) remains as a fallback for non-agent contexts.",
57745
+ description: "Emit the per-beat compose plan for the host agent to author scene HTML itself. Reads STORYBOARD.md + DESIGN.md and returns each beat's outputPath + userPrompt + cues + body, plus references to the project's SKILL.md (Hyperframes rules) and DESIGN.md (visual identity). The host agent writes each compositions/scene-<id>.html file directly \u2014 VibeFrame makes NO LLM call here. Pairs with scene_install_skill (Phase H1). Phase H2 of the agentic-native composer plan; the internal-LLM batch path (build) remains as a fallback for non-agent contexts.",
57746
57746
  schema: sceneComposePromptsSchema,
57747
57747
  async execute(args, ctx) {
57748
57748
  const projectDir = resolve55(ctx.workingDirectory, args.projectDir);
@@ -57842,7 +57842,7 @@ var init_audio2 = __esm({
57842
57842
  }
57843
57843
  });
57844
57844
  audioVoiceCloneTool = defineTool({
57845
- name: "audio_voice_clone",
57845
+ name: "audio_clone_voice",
57846
57846
  category: "audio",
57847
57847
  cost: "low",
57848
57848
  description: "Clone a voice from audio samples using ElevenLabs. Requires ELEVENLABS_API_KEY.",
@@ -58388,7 +58388,7 @@ var init_analyze = __esm({
58388
58388
  init_ai_review();
58389
58389
  init_ai_suggest_edit();
58390
58390
  analyzeMediaTool = defineTool({
58391
- name: "analyze_media",
58391
+ name: "inspect_media",
58392
58392
  category: "analyze",
58393
58393
  cost: "low",
58394
58394
  description: "Analyze media (image, video, or YouTube URL) using Gemini AI. Requires GOOGLE_API_KEY.",
@@ -58416,7 +58416,7 @@ var init_analyze = __esm({
58416
58416
  }
58417
58417
  });
58418
58418
  analyzeVideoTool = defineTool({
58419
- name: "analyze_video",
58419
+ name: "inspect_video",
58420
58420
  category: "analyze",
58421
58421
  cost: "low",
58422
58422
  description: "Analyze video content using Gemini AI with temporal understanding. Requires GOOGLE_API_KEY.",
@@ -58444,7 +58444,7 @@ var init_analyze = __esm({
58444
58444
  }
58445
58445
  });
58446
58446
  analyzeReviewTool = defineTool({
58447
- name: "analyze_review",
58447
+ name: "inspect_review",
58448
58448
  category: "analyze",
58449
58449
  cost: "low",
58450
58450
  description: "AI video review: analyzes quality, suggests fixes, and optionally auto-applies them. Requires GOOGLE_API_KEY.",
@@ -58472,7 +58472,7 @@ var init_analyze = __esm({
58472
58472
  }
58473
58473
  });
58474
58474
  analyzeSuggestTool = defineTool({
58475
- name: "analyze_suggest",
58475
+ name: "inspect_suggest",
58476
58476
  category: "analyze",
58477
58477
  cost: "low",
58478
58478
  description: "Get natural-language edit suggestions for a project from Gemini. Returns suggestions array with type/confidence/clipIds. With `apply: true`, applies the first suggestion in place. Requires GOOGLE_API_KEY.",
@@ -58853,7 +58853,7 @@ var init_pipeline2 = __esm({
58853
58853
  init_ai_highlights();
58854
58854
  init_pipeline();
58855
58855
  pipelineHighlightsTool = defineTool({
58856
- name: "pipeline_highlights",
58856
+ name: "remix_highlights",
58857
58857
  category: "pipeline",
58858
58858
  cost: "low",
58859
58859
  description: "Extract highlight clips from a longer video using AI analysis. Requires OPENAI_API_KEY+ANTHROPIC_API_KEY or GOOGLE_API_KEY (with --use-gemini).",
@@ -58886,10 +58886,10 @@ var init_pipeline2 = __esm({
58886
58886
  }
58887
58887
  });
58888
58888
  pipelineAutoShortsTool = defineTool({
58889
- name: "pipeline_auto_shorts",
58889
+ name: "remix_auto_shorts",
58890
58890
  category: "pipeline",
58891
58891
  cost: "medium",
58892
- description: "Automatically generate short-form content (Reels/TikTok/Shorts) from a longer video. Same API key requirements as pipeline_highlights.",
58892
+ description: "Automatically generate short-form content (Reels/TikTok/Shorts) from a longer video. Same API key requirements as remix_highlights.",
58893
58893
  schema: external_exports.object({
58894
58894
  video: external_exports.string().describe("Path to the input video file"),
58895
58895
  outputDir: external_exports.string().optional().describe("Output directory for shorts"),
@@ -58923,7 +58923,7 @@ var init_pipeline2 = __esm({
58923
58923
  }
58924
58924
  });
58925
58925
  pipelineRunTool = defineTool({
58926
- name: "pipeline_run",
58926
+ name: "run",
58927
58927
  category: "pipeline",
58928
58928
  cost: "very-high",
58929
58929
  surfaces: ["mcp"],
@@ -59002,7 +59002,7 @@ var init_pipeline2 = __esm({
59002
59002
  }
59003
59003
  });
59004
59004
  pipelineRegenerateSceneTool = defineTool({
59005
- name: "pipeline_regenerate_scene",
59005
+ name: "remix_regenerate_scene",
59006
59006
  category: "pipeline",
59007
59007
  cost: "high",
59008
59008
  description: "Regenerate specific scenes against an existing storyboard.{yaml,json} on disk. Can regenerate video, image, or narration independently.",
@@ -62167,7 +62167,7 @@ init_source();
62167
62167
  // package.json
62168
62168
  var package_default = {
62169
62169
  name: "@vibeframe/cli",
62170
- version: "0.75.0",
62170
+ version: "0.76.0",
62171
62171
  description: "VibeFrame CLI - natural language video editing from the terminal",
62172
62172
  private: false,
62173
62173
  license: "MIT",
@@ -71169,7 +71169,7 @@ You have access to tools for:
71169
71169
  - For generate_image: Ask what kind of image (subject, style, mood) if not specified
71170
71170
  - For generate_video: Ask about the video prompt/motion if not specified
71171
71171
  - For generate_speech: Ask what text to convert if not provided
71172
- - For scene_build (text \u2192 MP4): Ask for the storyboard / script content
71172
+ - For build (text \u2192 MP4): Ask for the storyboard / script content
71173
71173
  - Example: "generate an image" \u2192 Ask "What kind of image would you like? (e.g., space landscape, cute robot, product photo)"
71174
71174
  - DON'T make up random content - the user knows what they want
71175
71175
 
@@ -71212,7 +71212,7 @@ When working with script-to-video / scene-build output directories:
71212
71212
  - **narration-N.mp3**: Generated narration audio for each scene
71213
71213
 
71214
71214
  USE fs_read to examine these files when the user asks about scenes or wants to regenerate content. For example:
71215
- - "regenerate scene 3" \u2192 First fs_read storyboard.json, tell user what scene 3 contains, then use pipeline_regenerate_scene
71215
+ - "regenerate scene 3" \u2192 First fs_read storyboard.json, tell user what scene 3 contains, then use remix_regenerate_scene
71216
71216
  - "what's in scene 2?" \u2192 fs_read storyboard.json and explain scene 2 details
71217
71217
 
71218
71218
  ### Error Recovery
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibeframe/cli",
3
- "version": "0.75.0",
3
+ "version": "0.76.0",
4
4
  "description": "VibeFrame CLI - natural language video editing from the terminal",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -182,8 +182,8 @@
182
182
  "tsx": "^4.21.0",
183
183
  "typescript": "^5.3.3",
184
184
  "vitest": "^1.2.2",
185
- "@vibeframe/ai-providers": "0.75.0",
186
- "@vibeframe/core": "0.75.0"
185
+ "@vibeframe/core": "0.76.0",
186
+ "@vibeframe/ai-providers": "0.76.0"
187
187
  },
188
188
  "engines": {
189
189
  "node": ">=20"