UNPKG

scai

Version:

> **AI-powered CLI for local code analysis, commit message suggestions, and natural-language queries.** 100% local, private, GDPR-friendly, made in Denmark/EU with ❤️.

31 lines (30 loc) 1.2 kB
export async function runModulePipeline(modules, initialInput) { const logPrefix = `[runModulePipeline]`; console.log(`${logPrefix} 🚀 Starting pipeline with ${modules.length} module(s)`); // Copy initial input let currentIO = { ...initialInput }; for (const mod of modules) { try { const output = await mod.run(currentIO); // Validate shape if (!output) { throw new Error(`Module '${mod.name}' returned empty output`); } // --- FIX: Pipeline semantics --- // Next module receives: // - same query // - content = previous module's data // - (data is the last produced data only, never merged) currentIO = { query: currentIO.query, content: output.data, // data -> content handoff data: '', }; console.log(`${logPrefix} 🔁 '${mod.name}' → content replaced with data`); } catch (err) { console.error(`${logPrefix} ❌ Module '${mod.name}' failed:`, err instanceof Error ? err.message : err); } } return currentIO; }