import { tools, ToolDefinition } from './tools';

export class VideoAgent {
  private tools: ToolDefinition[];

  constructor() {
    this.tools = tools;
  }

  getToolDefinitions() {
    return this.tools.map((t) => ({
      name: t.name,
      description: t.description,
      parameters: t.parameters,
    }));
  }

  async executeTool(name: string, params: Record<string, unknown>): Promise<string> {
    const tool = this.tools.find((t) => t.name === name);
    if (!tool) throw new Error(`Unknown tool: ${name}`);
    return tool.execute(params);
  }

  getSystemPrompt(accountContext?: string): string {
    return `你是美图 Agent，帮助用户进行短视频创作。

可用账号：${accountContext || '暂无'}

你可以：
1. 帮用户创建新账号
2. 查看和管理已有账号
3. 执行视频创作 pipeline（分镜→生图→生视频→TTS→成片）
4. 管理提示词模板

用户想创作视频时，一步步引导他们完成流程。`;
  }
}

export const videoAgent = new VideoAgent();
