import { ModuleConfig } from '@cool-midway/core';
import { BrowserControlAuthMiddleware } from './browser-daemon/middleware/control-auth.middleware.js';

/**
 * NetaClaw 模块配置
 */
export default () => {
  return {
    // 模块名称
    name: 'NetaClaw',
    // 模块描述
    description: 'NetaClaw 电商浏览器自动化 Agent 引擎',
    // 中间件，只对本模块有效
    middlewares: [BrowserControlAuthMiddleware],
    // 中间件，全局有效
    globalMiddlewares: [],
    // 模块加载顺序，默认为0，值越大越优先加载
    order: 0,
  } as ModuleConfig;
};

// --- NetaClaw 自定义配置类型（在 config.default.ts 中使用） ---

export interface NetaClawConfig {
  // 默认模型（格式: "provider:model"）
  defaultModel: string;
  // API Keys（按提供商）
  apiKeys: Record<string, string>;
  // Skill 目录路径
  skillsDir: string;
  // 本地数据目录
  dataDir: string;
  // 最大工具调用轮次
  maxToolRounds: number;
}

export const defaultNetaClawConfig: NetaClawConfig = {
  defaultModel: 'anthropic:claude-sonnet-4-20250514',
  apiKeys: {},
  skillsDir: './skills',
  dataDir: '~/.neta',
  maxToolRounds: 20,
};
