@vibeframe/mcp-server 0.51.0 → 0.52.1

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 +14 -6
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -432770,7 +432770,7 @@ var init_OpenAIImageProvider = __esm({
432770
432770
  constructor() {
432771
432771
  this.id = "openai-image";
432772
432772
  this.name = "OpenAI GPT Image";
432773
- this.description = "AI image generation with GPT Image 1.5 (fastest, best quality)";
432773
+ this.description = "AI image generation with GPT Image 1.5 (default) and GPT Image 2 (opt-in)";
432774
432774
  this.capabilities = ["text-to-image", "background-removal", "image-editing"];
432775
432775
  this.iconUrl = "/icons/openai.svg";
432776
432776
  this.isAvailable = true;
@@ -432797,7 +432797,7 @@ var init_OpenAIImageProvider = __esm({
432797
432797
  };
432798
432798
  }
432799
432799
  const model = options.model || DEFAULT_MODEL;
432800
- const isGPTImage = model === "gpt-image-1.5";
432800
+ const isGPTImage = model === "gpt-image-1.5" || model === "gpt-image-2";
432801
432801
  try {
432802
432802
  const body = {
432803
432803
  model,
@@ -445264,7 +445264,7 @@ import { fileURLToPath as fileURLToPath4 } from "node:url";
445264
445264
  import { readFile as readFile8, writeFile as writeFile9, mkdir as mkdir8 } from "node:fs/promises";
445265
445265
  import { existsSync as existsSync24 } from "node:fs";
445266
445266
  function _registerImageCommands(aiCommand) {
445267
- aiCommand.command("image").description("Generate image using AI (Gemini or DALL-E)").argument("<prompt>", "Image description prompt").option("-p, --provider <provider>", "Provider: gemini, openai, runway (dalle is deprecated)", "gemini").option("-k, --api-key <key>", "API key (or set env: OPENAI_API_KEY, GOOGLE_API_KEY)").option("-o, --output <path>", "Output file path (downloads image)").option("-s, --size <size>", "Image size (openai: 1024x1024, 1536x1024, 1024x1536)", "1024x1024").option("-r, --ratio <ratio>", "Aspect ratio (gemini: 1:1, 1:4, 1:8, 4:1, 8:1, 16:9, 9:16, 3:4, 4:3, etc.)", "1:1").option("-q, --quality <quality>", "Quality: standard, hd (openai only)", "standard").option("--style <style>", "Style: vivid, natural (openai only)", "vivid").option("-n, --count <n>", "Number of images to generate", "1").option("-m, --model <model>", "Gemini model: flash, 3.1-flash, latest (Nano Banana 2), pro (4K)").option("--dry-run", "Preview parameters without executing").action(async (prompt3, options) => {
445267
+ aiCommand.command("image").description("Generate image using AI (Gemini or DALL-E)").argument("<prompt>", "Image description prompt").option("-p, --provider <provider>", "Provider: gemini, openai, runway (dalle is deprecated)", "gemini").option("-k, --api-key <key>", "API key (or set env: OPENAI_API_KEY, GOOGLE_API_KEY)").option("-o, --output <path>", "Output file path (downloads image)").option("-s, --size <size>", "Image size (openai: 1024x1024, 1536x1024, 1024x1536)", "1024x1024").option("-r, --ratio <ratio>", "Aspect ratio (gemini: 1:1, 1:4, 1:8, 4:1, 8:1, 16:9, 9:16, 3:4, 4:3, etc.)", "1:1").option("-q, --quality <quality>", "Quality: standard, hd (openai only)", "standard").option("--style <style>", "Style: vivid, natural (openai only)", "vivid").option("-n, --count <n>", "Number of images to generate", "1").option("-m, --model <model>", "Model. Gemini: flash, 3.1-flash, latest, pro. OpenAI: 1.5 (default), 2 (gpt-image-2)").option("--dry-run", "Preview parameters without executing").action(async (prompt3, options) => {
445268
445268
  try {
445269
445269
  if (options.output) {
445270
445270
  validateOutputPath(options.output);
@@ -445305,7 +445305,10 @@ function _registerImageCommands(aiCommand) {
445305
445305
  if (provider === "dalle" || provider === "openai") {
445306
445306
  const openaiImage = new OpenAIImageProvider();
445307
445307
  await openaiImage.initialize({ apiKey });
445308
+ const modelAlias = options.model;
445309
+ const openaiModel = modelAlias === "2" || modelAlias === "gpt-image-2" ? "gpt-image-2" : void 0;
445308
445310
  const result = await openaiImage.generateImage(prompt3, {
445311
+ model: openaiModel,
445309
445312
  size: options.size,
445310
445313
  quality: options.quality,
445311
445314
  style: options.style,
@@ -445315,7 +445318,8 @@ function _registerImageCommands(aiCommand) {
445315
445318
  spinner2.fail("Image generation failed");
445316
445319
  exitWithError(apiError(result.error || "Image generation failed", true));
445317
445320
  }
445318
- spinner2.succeed(source_default.green(`Generated ${result.images.length} image(s) with OpenAI GPT Image 1.5`));
445321
+ const modelLabel = openaiModel === "gpt-image-2" ? "GPT Image 2" : "GPT Image 1.5";
445322
+ spinner2.succeed(source_default.green(`Generated ${result.images.length} image(s) with OpenAI ${modelLabel}`));
445319
445323
  console.log();
445320
445324
  console.log(source_default.bold.cyan("Generated Images"));
445321
445325
  console.log(source_default.dim("\u2500".repeat(60)));
@@ -449838,7 +449842,7 @@ Run 'vibe setup --show' to check API key status.
449838
449842
  Run 'vibe schema generate.<command>' for structured parameter info.
449839
449843
  `
449840
449844
  );
449841
- generateCommand.command("image").alias("img").description("Generate image using AI (Gemini, DALL-E, or Runway)").argument("[prompt]", "Image description prompt (interactive if omitted)").option("-p, --provider <provider>", "Provider: gemini, openai, grok, runway (dalle is deprecated)", "gemini").option("-k, --api-key <key>", "API key (or set env: OPENAI_API_KEY, GOOGLE_API_KEY)").option("-o, --output <path>", "Output file path (downloads image)").option("-s, --size <size>", "Image size (openai: 1024x1024, 1536x1024, 1024x1536)", "1024x1024").option("-r, --ratio <ratio>", "Aspect ratio (gemini: 1:1, 1:4, 1:8, 4:1, 8:1, 16:9, 9:16, 3:4, 4:3, etc.)", "1:1").option("-q, --quality <quality>", "Quality: standard, hd (openai only)", "standard").option("--style <style>", "Style: vivid, natural (openai only)", "vivid").option("-n, --count <n>", "Number of images to generate", "1").option("-m, --model <model>", "Gemini model: flash, 3.1-flash, latest (Nano Banana 2), pro (4K)").option("--dry-run", "Preview parameters without executing").addHelpText("after", `
449845
+ generateCommand.command("image").alias("img").description("Generate image using AI (Gemini, DALL-E, or Runway)").argument("[prompt]", "Image description prompt (interactive if omitted)").option("-p, --provider <provider>", "Provider: gemini, openai, grok, runway (dalle is deprecated)", "gemini").option("-k, --api-key <key>", "API key (or set env: OPENAI_API_KEY, GOOGLE_API_KEY)").option("-o, --output <path>", "Output file path (downloads image)").option("-s, --size <size>", "Image size (openai: 1024x1024, 1536x1024, 1024x1536)", "1024x1024").option("-r, --ratio <ratio>", "Aspect ratio (gemini: 1:1, 1:4, 1:8, 4:1, 8:1, 16:9, 9:16, 3:4, 4:3, etc.)", "1:1").option("-q, --quality <quality>", "Quality: standard, hd (openai only)", "standard").option("--style <style>", "Style: vivid, natural (openai only)", "vivid").option("-n, --count <n>", "Number of images to generate", "1").option("-m, --model <model>", "Model. Gemini: flash, 3.1-flash, latest, pro. OpenAI: 1.5 (default), 2 (gpt-image-2)").option("--dry-run", "Preview parameters without executing").addHelpText("after", `
449842
449846
  Examples:
449843
449847
  $ vibe generate image "a sunset over the ocean" -o sunset.png
449844
449848
  $ vibe gen img "logo design" -o logo.png -p openai
@@ -449905,7 +449909,10 @@ Examples:
449905
449909
  if (provider === "dalle" || provider === "openai") {
449906
449910
  const openaiImage = new OpenAIImageProvider();
449907
449911
  await openaiImage.initialize({ apiKey });
449912
+ const modelAlias = options.model;
449913
+ const openaiModel = modelAlias === "2" || modelAlias === "gpt-image-2" ? "gpt-image-2" : void 0;
449908
449914
  const result = await openaiImage.generateImage(prompt3, {
449915
+ model: openaiModel,
449909
449916
  size: options.size,
449910
449917
  quality: options.quality,
449911
449918
  style: options.style,
@@ -449915,7 +449922,8 @@ Examples:
449915
449922
  spinner2.fail(result.error || "Image generation failed");
449916
449923
  exitWithError(apiError(result.error || "Image generation failed", true));
449917
449924
  }
449918
- spinner2.succeed(source_default.green(`Generated ${result.images.length} image(s) with OpenAI GPT Image 1.5`));
449925
+ const modelLabel = openaiModel === "gpt-image-2" ? "GPT Image 2" : "GPT Image 1.5";
449926
+ spinner2.succeed(source_default.green(`Generated ${result.images.length} image(s) with OpenAI ${modelLabel}`));
449919
449927
  if (isJsonMode()) {
449920
449928
  const outputPath = options.output ? resolve25(process.cwd(), options.output) : void 0;
449921
449929
  if (outputPath && result.images.length > 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibeframe/mcp-server",
3
- "version": "0.51.0",
3
+ "version": "0.52.1",
4
4
  "description": "VibeFrame MCP Server - AI-native video editing via Model Context Protocol",
5
5
  "type": "module",
6
6
  "bin": {
@@ -57,8 +57,8 @@
57
57
  "tsx": "^4.21.0",
58
58
  "typescript": "^5.3.3",
59
59
  "vitest": "^1.2.2",
60
- "@vibeframe/cli": "0.51.0",
61
- "@vibeframe/core": "0.51.0"
60
+ "@vibeframe/cli": "0.52.1",
61
+ "@vibeframe/core": "0.52.1"
62
62
  },
63
63
  "engines": {
64
64
  "node": ">=20"