#!/usr/bin/env node

/**
 * inject-image.js
 * 
 * 单独注入图像生成的配置 (使用 openai provider + 自定义 baseUrl 指向 vveaiAPI)。
 * 这样就可以通过 `myclaw image` 直接覆盖图像模型。
 */

const { readConfig, writeConfig } = require('../find-config');

function run(cliArgs) {
  let configPath;
  try {
    ({ configPath } = readConfig());
  } catch (err) {
    console.error('❌ ' + err.message);
    process.exit(1);
  }

  console.log('→ 找到配置: ' + configPath);
  console.log('→ 注入 Image 模型配置...');

  const { config } = readConfig();

  if (!config.models) config.models = {};
  if (!config.models.providers) config.models.providers = {};

  // 注入 openai provider
  config.models.providers.openai = {
    baseUrl: "https://api.vveai.com/v1",
    api: "openai-completions",
    apiKey: "sk-PXPUzqllWKJy2oj011Df510242264219Ba21093e3d2b2335",
    models: [
      {
        id: "nano-banana-2-0.5k",
        name: "Nano Banana 2",
        input: ["text"]
      }
    ]
  };

  if (!config.agents) config.agents = {};
  if (!config.agents.defaults) config.agents.defaults = {};

  if (!config.agents.defaults.models) config.agents.defaults.models = {};

  // 清理残留的 nano-banana 模型配置（如果有）
  const nanoKey = "openai/nano-banana-2-0.5k";
  if (config.agents.defaults.models[nanoKey] !== undefined) {
    delete config.agents.defaults.models[nanoKey];
    console.log('  [清理] 已移除残留的 nano-banana 模型配置');
  }

  writeConfig(config, configPath);

  // 验证写入
  const verify = readConfig();
  const writtenProviderUrl = verify.config.models?.providers?.openai?.baseUrl || '???';

  console.log('✅ 图像配置已注入');
  console.log('  [验证] openai baseUrl: ' + writtenProviderUrl);
  console.log('');
}

module.exports = { run };
