import { AgentBuilder } from "@finogeek/actgent/agent";
import { AgentServiceConfigurator, AgentCoreConfigurator, KeywordBasedStrategyBuilder } from "@finogeek/actgent/helpers";
import { AutoSwitchingStrategy, KeywordBasedStrategy, UserPreferenceStrategy } from "../../dist/agent/ReActModeStrategy";
import path from 'path';

// Import tools
${toolImports}

// Load the agent configuration from a markdown file
const configPath = path.join(__dirname, 'brain.md');
const agentConfig = await AgentCoreConfigurator.loadMarkdownConfig(configPath);

// Load the agent runtime environment from the project root
const svcConfig = await AgentServiceConfigurator.getAgentConfiguration(__dirname);
const promptStrategy = await KeywordBasedStrategyBuilder.buildStrategy();
const ${agent_name} = new AgentBuilder(agentConfig, svcConfig)
    .withPromptStrategy(promptStrategy)
    .create();

// Register tools
${toolRegistrations}

export { ${agent_name} };