@llm-dev-ops/agentics-cli 1.4.35 → 1.4.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,355 @@
1
+ /**
2
+ * Auto-Chain Pipeline Orchestrator
3
+ *
4
+ * Automatically chains Phases 2-6 after enterprise simulation (Phase 1).
5
+ * Each phase reads artifacts from prior phases in ~/.agentics/runs/<traceId>/.
6
+ *
7
+ * This replaces the old executePipeline() which used weak generic stages.
8
+ * The auto-chain calls the actual phase coordinators (phase2 through phase6)
9
+ * that produce high-fidelity artifacts:
10
+ * Phase 2: Deep Research (research dossier from Phase 1 documents)
11
+ * Phase 3: SPARC + London TDD (specification, pseudocode, architecture, refinement, completion + test plan)
12
+ * Phase 4: ADRs + DDDs (architecture decision records + domain-driven design models)
13
+ * Phase 5: Build (code generation + deployable service from ADRs/DDDs)
14
+ * Phase 6: ERP Surface Push (registration + project materialization)
15
+ */
16
+ import * as fs from 'node:fs';
17
+ import * as path from 'node:path';
18
+ import { executePhase2Command, formatPhase2ForDisplay } from '../commands/phase2.js';
19
+ import { executePhase3Command, formatPhase3ForDisplay } from '../commands/phase3.js';
20
+ import { executePhase4Command, formatPhase4ForDisplay } from '../commands/phase4.js';
21
+ import { executePhase5Command, formatPhase5ForDisplay } from '../commands/phase5.js';
22
+ import { executePhase6Command, formatPhase6ForDisplay } from '../commands/phase6.js';
23
+ /** Extract path strings from any manifest artifact array (objects with .path or plain strings). */
24
+ function extractArtifactPaths(artifacts) {
25
+ return artifacts.map(a => typeof a === 'string' ? a : a.path);
26
+ }
27
+ // ============================================================================
28
+ // Main Orchestrator
29
+ // ============================================================================
30
+ /**
31
+ * Execute the full auto-chain pipeline (Phases 2-6) for a given trace ID.
32
+ *
33
+ * Phase 1 artifacts must already exist at ~/.agentics/runs/<traceId>/.
34
+ * Each subsequent phase reads the prior phase's output from the same run directory.
35
+ */
36
+ export async function executeAutoChain(traceId, options = {}) {
37
+ const pipelineStart = Date.now();
38
+ const homeDir = process.env['HOME'] ?? '/tmp';
39
+ const runDir = path.join(homeDir, '.agentics', 'runs', traceId);
40
+ const phases = [];
41
+ console.error('');
42
+ console.error('='.repeat(72));
43
+ console.error(' ENTERPRISE PROTOTYPE PIPELINE');
44
+ console.error(' Auto-chaining Phases 2-6 from simulation artifacts');
45
+ console.error('='.repeat(72));
46
+ console.error('');
47
+ // ── Print Phase 1 artifact summary ──
48
+ printPhase1Summary(runDir, traceId);
49
+ // ── Phase 2: Deep Research ──
50
+ {
51
+ const phaseStart = Date.now();
52
+ const phaseDir = path.join(runDir, 'phase2');
53
+ console.error('');
54
+ console.error('-'.repeat(72));
55
+ console.error(' >> Phase 2: Deep Research');
56
+ console.error('-'.repeat(72));
57
+ if (fs.existsSync(phaseDir)) {
58
+ console.error(' [SKIP] Phase 2 already exists — using existing artifacts');
59
+ phases.push({ phase: 2, label: 'Deep Research', status: 'skipped', timing: 0, artifacts: [], outputDir: phaseDir });
60
+ }
61
+ else {
62
+ try {
63
+ const result = await executePhase2Command({ trace: traceId });
64
+ const timing = Date.now() - phaseStart;
65
+ const artifactPaths = extractArtifactPaths(result.manifest.artifacts);
66
+ console.error(formatPhase2ForDisplay(result));
67
+ printArtifactLinks(phaseDir, artifactPaths);
68
+ phases.push({ phase: 2, label: 'Deep Research', status: 'completed', timing, artifacts: artifactPaths, outputDir: phaseDir });
69
+ }
70
+ catch (err) {
71
+ const errMsg = err instanceof Error ? err.message : String(err);
72
+ console.error(` [FAIL] Phase 2 failed: ${errMsg}`);
73
+ phases.push({ phase: 2, label: 'Deep Research', status: 'failed', timing: Date.now() - phaseStart, artifacts: [], outputDir: phaseDir, error: errMsg });
74
+ return buildResult(traceId, runDir, phases, pipelineStart);
75
+ }
76
+ }
77
+ }
78
+ // ── Phase 3: SPARC + London TDD ──
79
+ {
80
+ const phaseStart = Date.now();
81
+ const phaseDir = path.join(runDir, 'phase3');
82
+ console.error('');
83
+ console.error('-'.repeat(72));
84
+ console.error(' >> Phase 3: SPARC + London School TDD');
85
+ console.error('-'.repeat(72));
86
+ if (fs.existsSync(phaseDir)) {
87
+ console.error(' [SKIP] Phase 3 already exists — using existing artifacts');
88
+ phases.push({ phase: 3, label: 'SPARC + London TDD', status: 'skipped', timing: 0, artifacts: [], outputDir: phaseDir });
89
+ }
90
+ else {
91
+ try {
92
+ const result = await executePhase3Command({ trace: traceId });
93
+ const timing = Date.now() - phaseStart;
94
+ const artifactPaths = extractArtifactPaths(result.manifest.artifacts);
95
+ console.error(formatPhase3ForDisplay(result));
96
+ printArtifactLinks(phaseDir, artifactPaths);
97
+ phases.push({ phase: 3, label: 'SPARC + London TDD', status: 'completed', timing, artifacts: artifactPaths, outputDir: phaseDir });
98
+ }
99
+ catch (err) {
100
+ const errMsg = err instanceof Error ? err.message : String(err);
101
+ console.error(` [FAIL] Phase 3 failed: ${errMsg}`);
102
+ phases.push({ phase: 3, label: 'SPARC + London TDD', status: 'failed', timing: Date.now() - phaseStart, artifacts: [], outputDir: phaseDir, error: errMsg });
103
+ return buildResult(traceId, runDir, phases, pipelineStart);
104
+ }
105
+ }
106
+ }
107
+ // ── Phase 4: ADRs + DDDs ──
108
+ {
109
+ const phaseStart = Date.now();
110
+ const phaseDir = path.join(runDir, 'phase4');
111
+ console.error('');
112
+ console.error('-'.repeat(72));
113
+ console.error(' >> Phase 4: Architecture Decision Records + Domain-Driven Design');
114
+ console.error('-'.repeat(72));
115
+ if (fs.existsSync(phaseDir)) {
116
+ console.error(' [SKIP] Phase 4 already exists — using existing artifacts');
117
+ phases.push({ phase: 4, label: 'ADRs + DDDs', status: 'skipped', timing: 0, artifacts: [], outputDir: phaseDir });
118
+ }
119
+ else {
120
+ try {
121
+ const result = await executePhase4Command({ trace: traceId });
122
+ const timing = Date.now() - phaseStart;
123
+ const artifactPaths = extractArtifactPaths(result.manifest.artifacts);
124
+ console.error(formatPhase4ForDisplay(result));
125
+ printArtifactLinks(phaseDir, artifactPaths);
126
+ phases.push({ phase: 4, label: 'ADRs + DDDs', status: 'completed', timing, artifacts: artifactPaths, outputDir: phaseDir });
127
+ }
128
+ catch (err) {
129
+ const errMsg = err instanceof Error ? err.message : String(err);
130
+ console.error(` [FAIL] Phase 4 failed: ${errMsg}`);
131
+ phases.push({ phase: 4, label: 'ADRs + DDDs', status: 'failed', timing: Date.now() - phaseStart, artifacts: [], outputDir: phaseDir, error: errMsg });
132
+ return buildResult(traceId, runDir, phases, pipelineStart);
133
+ }
134
+ }
135
+ }
136
+ // ── Phase 5: Build (Code Gen + Deployable Service) ──
137
+ {
138
+ const phaseStart = Date.now();
139
+ const phaseDir = path.join(runDir, 'phase5');
140
+ console.error('');
141
+ console.error('-'.repeat(72));
142
+ console.error(' >> Phase 5: Build (Code Generation + Deployable Service)');
143
+ console.error('-'.repeat(72));
144
+ if (fs.existsSync(phaseDir)) {
145
+ console.error(' [SKIP] Phase 5 already exists — using existing artifacts');
146
+ phases.push({ phase: 5, label: 'Build', status: 'skipped', timing: 0, artifacts: [], outputDir: phaseDir });
147
+ }
148
+ else {
149
+ try {
150
+ const result = await executePhase5Command({ trace: traceId });
151
+ const timing = Date.now() - phaseStart;
152
+ const artifactPaths = extractArtifactPaths(result.manifest.artifacts);
153
+ console.error(formatPhase5ForDisplay(result));
154
+ printArtifactLinks(phaseDir, artifactPaths);
155
+ phases.push({ phase: 5, label: 'Build', status: 'completed', timing, artifacts: artifactPaths, outputDir: phaseDir });
156
+ }
157
+ catch (err) {
158
+ const errMsg = err instanceof Error ? err.message : String(err);
159
+ console.error(` [FAIL] Phase 5 failed: ${errMsg}`);
160
+ phases.push({ phase: 5, label: 'Build', status: 'failed', timing: Date.now() - phaseStart, artifacts: [], outputDir: phaseDir, error: errMsg });
161
+ return buildResult(traceId, runDir, phases, pipelineStart);
162
+ }
163
+ }
164
+ }
165
+ // ── Phase 6: ERP Surface Push ──
166
+ {
167
+ const phaseStart = Date.now();
168
+ const phaseDir = path.join(runDir, 'phase6');
169
+ console.error('');
170
+ console.error('-'.repeat(72));
171
+ console.error(' >> Phase 6: ERP Surface Push + Project Materialization');
172
+ console.error('-'.repeat(72));
173
+ if (fs.existsSync(phaseDir)) {
174
+ console.error(' [SKIP] Phase 6 already exists — using existing artifacts');
175
+ phases.push({ phase: 6, label: 'ERP Surface Push', status: 'skipped', timing: 0, artifacts: [], outputDir: phaseDir });
176
+ }
177
+ else {
178
+ try {
179
+ const result = await executePhase6Command({ trace: traceId, outputDir: options.outputDir });
180
+ const timing = Date.now() - phaseStart;
181
+ const artifactPaths = extractArtifactPaths(result.manifest.artifacts);
182
+ console.error(formatPhase6ForDisplay(result, options.outputDir));
183
+ printArtifactLinks(phaseDir, artifactPaths);
184
+ phases.push({ phase: 6, label: 'ERP Surface Push', status: 'completed', timing, artifacts: artifactPaths, outputDir: phaseDir });
185
+ }
186
+ catch (err) {
187
+ const errMsg = err instanceof Error ? err.message : String(err);
188
+ console.error(` [FAIL] Phase 6 failed: ${errMsg}`);
189
+ phases.push({ phase: 6, label: 'ERP Surface Push', status: 'failed', timing: Date.now() - phaseStart, artifacts: [], outputDir: phaseDir, error: errMsg });
190
+ return buildResult(traceId, runDir, phases, pipelineStart);
191
+ }
192
+ }
193
+ }
194
+ // ── Final Summary ──
195
+ const result = buildResult(traceId, runDir, phases, pipelineStart);
196
+ printFinalSummary(result);
197
+ return result;
198
+ }
199
+ // ============================================================================
200
+ // Phase 1 Summary
201
+ // ============================================================================
202
+ function printPhase1Summary(runDir, traceId) {
203
+ console.error(' Phase 1: Simulation (completed)');
204
+ console.error(` Trace ID: ${traceId}`);
205
+ console.error(` Run dir: ${runDir}`);
206
+ console.error('');
207
+ const manifestPath = path.join(runDir, 'manifest.json');
208
+ if (!fs.existsSync(manifestPath)) {
209
+ console.error(' [WARN] Phase 1 manifest not found — pipeline may fail');
210
+ return;
211
+ }
212
+ try {
213
+ const raw = fs.readFileSync(manifestPath, 'utf-8');
214
+ const manifest = JSON.parse(raw);
215
+ if (manifest.query) {
216
+ console.error(` Query: ${manifest.query}`);
217
+ console.error('');
218
+ }
219
+ console.error(' Phase 1 Artifacts:');
220
+ const phase1Files = manifest.artifacts ?? [];
221
+ for (const f of phase1Files) {
222
+ const fullPath = path.join(runDir, f);
223
+ const exists = fs.existsSync(fullPath);
224
+ const icon = exists ? '[OK]' : '[--]';
225
+ console.error(` ${icon} ${fullPath}`);
226
+ }
227
+ if (manifest.agents_invoked && manifest.agents_invoked.length > 0) {
228
+ console.error('');
229
+ console.error(' Agents invoked:');
230
+ for (const agent of manifest.agents_invoked) {
231
+ const icon = agent.status === 'success' || agent.status === 'invoked' ? '[OK]' : '[!!]';
232
+ console.error(` ${icon} ${agent.domain}/${agent.agent}`);
233
+ }
234
+ }
235
+ }
236
+ catch {
237
+ console.error(' [WARN] Could not parse Phase 1 manifest');
238
+ }
239
+ }
240
+ // ============================================================================
241
+ // Artifact Link Printing
242
+ // ============================================================================
243
+ function printArtifactLinks(phaseDir, artifacts) {
244
+ if (artifacts.length === 0)
245
+ return;
246
+ console.error('');
247
+ console.error(' Artifacts:');
248
+ for (const artifact of artifacts) {
249
+ const fullPath = path.join(phaseDir, artifact);
250
+ if (fs.existsSync(fullPath)) {
251
+ console.error(` ${fullPath}`);
252
+ }
253
+ else {
254
+ const nested = findArtifact(phaseDir, artifact);
255
+ if (nested) {
256
+ console.error(` ${nested}`);
257
+ }
258
+ else {
259
+ console.error(` ${fullPath} (not found)`);
260
+ }
261
+ }
262
+ }
263
+ }
264
+ function findArtifact(baseDir, filename) {
265
+ if (!fs.existsSync(baseDir))
266
+ return null;
267
+ const directPath = path.join(baseDir, filename);
268
+ if (fs.existsSync(directPath))
269
+ return directPath;
270
+ try {
271
+ for (const entry of fs.readdirSync(baseDir, { withFileTypes: true })) {
272
+ if (entry.isDirectory()) {
273
+ const nested = path.join(baseDir, entry.name, filename);
274
+ if (fs.existsSync(nested))
275
+ return nested;
276
+ const subDir = path.join(baseDir, entry.name);
277
+ for (const sub of fs.readdirSync(subDir, { withFileTypes: true })) {
278
+ if (sub.isDirectory()) {
279
+ const deep = path.join(subDir, sub.name, filename);
280
+ if (fs.existsSync(deep))
281
+ return deep;
282
+ }
283
+ }
284
+ }
285
+ }
286
+ }
287
+ catch {
288
+ // Best-effort search
289
+ }
290
+ return null;
291
+ }
292
+ // ============================================================================
293
+ // Final Summary
294
+ // ============================================================================
295
+ function printFinalSummary(result) {
296
+ console.error('');
297
+ console.error('='.repeat(72));
298
+ console.error(' PIPELINE COMPLETE');
299
+ console.error('='.repeat(72));
300
+ console.error('');
301
+ console.error(` Trace ID: ${result.traceId}`);
302
+ console.error(` Run dir: ${result.runDir}`);
303
+ console.error(` Duration: ${(result.totalTiming / 1000).toFixed(1)}s`);
304
+ console.error(` Success: ${result.success}`);
305
+ console.error('');
306
+ console.error(' Phase Summary:');
307
+ console.error(' ' + '-'.repeat(60));
308
+ for (const phase of result.phases) {
309
+ const icon = phase.status === 'completed' ? '[OK]' : phase.status === 'skipped' ? '[--]' : '[!!]';
310
+ const timingStr = phase.timing > 0 ? `${(phase.timing / 1000).toFixed(1)}s` : 'cached';
311
+ console.error(` ${icon} Phase ${phase.phase}: ${phase.label.padEnd(25)} ${timingStr.padStart(8)} (${phase.artifacts.length} artifacts)`);
312
+ }
313
+ console.error('');
314
+ console.error(' Key Artifact Locations:');
315
+ console.error(` Phase 1 (Simulation): ${result.runDir}/`);
316
+ console.error(` - manifest.json ${result.runDir}/manifest.json`);
317
+ console.error(` - executive-summary ${result.runDir}/executive-summary.md`);
318
+ console.error(` - decision-memo ${result.runDir}/decision-memo.md`);
319
+ console.error(` - roadmap ${result.runDir}/roadmap.json`);
320
+ console.error(` - risk-assessment ${result.runDir}/risk-assessment.json`);
321
+ console.error(` - scenario ${result.runDir}/scenario.json`);
322
+ console.error(` Phase 2 (Deep Research): ${result.runDir}/phase2/`);
323
+ console.error(` Phase 3 (SPARC + TDD): ${result.runDir}/phase3/`);
324
+ console.error(` Phase 4 (ADRs + DDDs): ${result.runDir}/phase4/`);
325
+ console.error(` Phase 5 (Build): ${result.runDir}/phase5/`);
326
+ console.error(` Phase 6 (ERP Push): ${result.runDir}/phase6/`);
327
+ console.error('');
328
+ console.error(' To inspect artifacts:');
329
+ console.error(` cat ${result.runDir}/executive-summary.md`);
330
+ console.error(` cat ${result.runDir}/decision-memo.md`);
331
+ console.error(` ls ${result.runDir}/phase2/`);
332
+ console.error(` ls ${result.runDir}/phase5/deploy/project/src/`);
333
+ console.error('');
334
+ console.error(' To re-run individual phases:');
335
+ console.error(` agentics phase2 --trace ${result.traceId}`);
336
+ console.error(` agentics phase3 --trace ${result.traceId}`);
337
+ console.error(` agentics phase4 --trace ${result.traceId}`);
338
+ console.error(` agentics phase5 --trace ${result.traceId}`);
339
+ console.error(` agentics phase6 --trace ${result.traceId}`);
340
+ console.error('');
341
+ }
342
+ // ============================================================================
343
+ // Helpers
344
+ // ============================================================================
345
+ function buildResult(traceId, runDir, phases, startTime) {
346
+ const success = phases.every(p => p.status === 'completed' || p.status === 'skipped');
347
+ return {
348
+ traceId,
349
+ runDir,
350
+ phases,
351
+ totalTiming: Date.now() - startTime,
352
+ success,
353
+ };
354
+ }
355
+ //# sourceMappingURL=auto-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-chain.js","sourceRoot":"","sources":["../../src/pipeline/auto-chain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"research-dossier.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/research-dossier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EAOhB,MAAM,aAAa,CAAC;AAsgBrB;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,GACd,eAAe,CAuDjB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAsE5B"}
1
+ {"version":3,"file":"research-dossier.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/research-dossier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EAOhB,MAAM,aAAa,CAAC;AA22BrB;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,GACd,eAAe,CAuDjB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAsE5B"}