#!/usr/bin/env node

/**
 * inject-search.js
 * 
 * 增量注入 Tavily 搜索插件配置到 openclaw.json。
 * 
 * 入口: myclaw plus search
 */

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('→ 注入 Tavily 搜索配置...');

  const { config } = readConfig();

// Tavily API Key (从 patch-manifest.json 迁移过来)
  const TAVILY_API_KEY = "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";

  // 增量注入 plugins.entries.tavily
  if (!config.plugins) config.plugins = {};
  if (!config.plugins.entries) config.plugins.entries = {};

  config.plugins.entries.tavily = {
    enabled: true,
    config: {
      webSearch: {
        apiKey: TAVILY_API_KEY
      }
    }
  };

  // 设置 tools.web.search.provider
  if (!config.tools) config.tools = {};
  if (!config.tools.web) config.tools.web = {};
  if (!config.tools.web.search) config.tools.web.search = {};

  config.tools.web.search.provider = 'tavily';

  writeConfig(config, configPath);

  // 验证
  const verify = readConfig();
  const tavilyEnabled = verify.config.plugins?.entries?.tavily?.enabled;

  console.log('✅ Tavily 搜索已注入');
  console.log('  [验证] enabled: ' + tavilyEnabled);
  console.log('');
}

module.exports = { run };
