import { createLogger } from '../utils/logger';
import { getContext, updateContext } from '../utils/contextStore';
import { getLlmClient } from '../llm/llmRouter';
import { frontendDeveloperPrompt } from '../utils/promptTemplates';

const logger = createLogger('frontendDeveloper');

export const runFrontendDeveloper = async () => {
  logger.start();
  const context = getContext();
  const { spec } = context;

  const llmClient = getLlmClient();
  const prompt = frontendDeveloperPrompt.replace('{{spec}}', JSON.stringify(spec, null, 2));

  const code = await llmClient.generate(prompt);

  updateContext({ agents: { ...(context.agents || {}), frontendDeveloper: { output: code, completed: true } } });
  logger.stop();
  logger.success('Generated frontend code.');
  return code;
};
