UNPKG

@oliverpople/agency-x

Version:

🚀 **Transform feature requests into production-ready code in seconds**

38 lines (31 loc) • 1.26 kB
import { createLogger } from '../utils/logger'; import { getContext, updateContext } from '../utils/contextStore'; import { getLlmClient } from '../llm/llmRouter'; import { dataEngineerPrompt, jsonRepairPrompt } from '../utils/promptTemplates'; const logger = createLogger('dataEngineer'); export const runDataEngineer = async () => { logger.start(); const context = getContext(); const { spec } = context; const llmClient = getLlmClient(); const prompt = dataEngineerPrompt.replace('{{spec}}', JSON.stringify(spec, null, 2)); let response = await llmClient.generate(prompt); let events; try { events = JSON.parse(response); } catch (error) { logger.error('Invalid JSON response from LLM. Attempting to repair...'); const repairPrompt = jsonRepairPrompt.replace('{{invalidJson}}', response); response = await llmClient.generate(repairPrompt); try { events = JSON.parse(response); } catch (error) { logger.error('Failed to repair JSON response. Skipping analytics event generation.'); return; } } updateContext({ agents: { ...(context.agents || {}), dataEngineer: { output: events, completed: true } } }); logger.stop(); logger.success('Generated analytics events.'); return events; };