@oliverpople/agency-x
Version:
🚀 **Transform feature requests into production-ready code in seconds**
37 lines (29 loc) • 1.19 kB
text/typescript
import { createLogger } from '../utils/logger';
import { getContext, updateContext } from '../utils/contextStore';
import { getLlmClient } from '../llm/llmRouter';
import { backendDeveloperPrompt } from '../utils/promptTemplates';
const logger = createLogger('backendDeveloper');
export const runBackendDeveloper = async () => {
// Check if already completed
const existingContext = getContext();
if (existingContext.agents?.backendDeveloper?.completed) {
return existingContext.agents.backendDeveloper.output;
}
logger.start();
try {
const context = getContext();
const { spec } = context;
const llmClient = getLlmClient();
const prompt = backendDeveloperPrompt.replace('{{spec}}', JSON.stringify(spec, null, 2));
const code = await llmClient.generate(prompt);
updateContext({ agents: { ...(context.agents || {}), backendDeveloper: { output: code, completed: true } } });
logger.success('Generated backend code.');
return code;
} catch (error) {
console.error('[ERROR] Backend developer failed:', error);
throw error;
} finally {
// Always stop the logger, even if an error occurred
logger.stop();
}
};