@llm-dev-ops/agentics-cli 2.7.0 → 2.7.2

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.
Files changed (64) hide show
  1. package/dist/cli/index.js +30 -0
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/pipeline/auto-chain.d.ts +196 -2
  4. package/dist/pipeline/auto-chain.d.ts.map +1 -1
  5. package/dist/pipeline/auto-chain.js +1920 -884
  6. package/dist/pipeline/auto-chain.js.map +1 -1
  7. package/dist/pipeline/enterprise/agent-error-capture.d.ts +76 -0
  8. package/dist/pipeline/enterprise/agent-error-capture.d.ts.map +1 -0
  9. package/dist/pipeline/enterprise/agent-error-capture.js +141 -0
  10. package/dist/pipeline/enterprise/agent-error-capture.js.map +1 -0
  11. package/dist/pipeline/enterprise/artifact-renderers.d.ts +30 -0
  12. package/dist/pipeline/enterprise/artifact-renderers.d.ts.map +1 -1
  13. package/dist/pipeline/enterprise/artifact-renderers.js +129 -1
  14. package/dist/pipeline/enterprise/artifact-renderers.js.map +1 -1
  15. package/dist/pipeline/enterprise/pass-executor.d.ts.map +1 -1
  16. package/dist/pipeline/enterprise/pass-executor.js +52 -0
  17. package/dist/pipeline/enterprise/pass-executor.js.map +1 -1
  18. package/dist/pipeline/enterprise/pipeline-orchestrator.d.ts.map +1 -1
  19. package/dist/pipeline/enterprise/pipeline-orchestrator.js +15 -0
  20. package/dist/pipeline/enterprise/pipeline-orchestrator.js.map +1 -1
  21. package/dist/pipeline/enterprise/types.d.ts +21 -0
  22. package/dist/pipeline/enterprise/types.d.ts.map +1 -1
  23. package/dist/pipeline/gate/feature-flags.d.ts +30 -0
  24. package/dist/pipeline/gate/feature-flags.d.ts.map +1 -0
  25. package/dist/pipeline/gate/feature-flags.js +37 -0
  26. package/dist/pipeline/gate/feature-flags.js.map +1 -0
  27. package/dist/pipeline/gate/phase-dependency-gate.d.ts +179 -0
  28. package/dist/pipeline/gate/phase-dependency-gate.d.ts.map +1 -0
  29. package/dist/pipeline/gate/phase-dependency-gate.js +571 -0
  30. package/dist/pipeline/gate/phase-dependency-gate.js.map +1 -0
  31. package/dist/pipeline/local-fallback/phase1-consensus-reader.d.ts +33 -0
  32. package/dist/pipeline/local-fallback/phase1-consensus-reader.d.ts.map +1 -0
  33. package/dist/pipeline/local-fallback/phase1-consensus-reader.js +99 -0
  34. package/dist/pipeline/local-fallback/phase1-consensus-reader.js.map +1 -0
  35. package/dist/pipeline/local-fallback/phase3-local-fallback.d.ts +26 -0
  36. package/dist/pipeline/local-fallback/phase3-local-fallback.d.ts.map +1 -0
  37. package/dist/pipeline/local-fallback/phase3-local-fallback.js +127 -0
  38. package/dist/pipeline/local-fallback/phase3-local-fallback.js.map +1 -0
  39. package/dist/pipeline/local-fallback/phase4-local-fallback.d.ts +21 -0
  40. package/dist/pipeline/local-fallback/phase4-local-fallback.d.ts.map +1 -0
  41. package/dist/pipeline/local-fallback/phase4-local-fallback.js +240 -0
  42. package/dist/pipeline/local-fallback/phase4-local-fallback.js.map +1 -0
  43. package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts +28 -0
  44. package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts.map +1 -0
  45. package/dist/pipeline/local-fallback/phase5a-local-fallback.js +166 -0
  46. package/dist/pipeline/local-fallback/phase5a-local-fallback.js.map +1 -0
  47. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.d.ts.map +1 -1
  48. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.js +280 -40
  49. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.js.map +1 -1
  50. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.d.ts.map +1 -1
  51. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js +363 -87
  52. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js.map +1 -1
  53. package/dist/pipeline/phases/prompt-generator.d.ts.map +1 -1
  54. package/dist/pipeline/phases/prompt-generator.js +303 -6
  55. package/dist/pipeline/phases/prompt-generator.js.map +1 -1
  56. package/dist/pipeline/ruflo-phase-executor.d.ts +104 -1
  57. package/dist/pipeline/ruflo-phase-executor.d.ts.map +1 -1
  58. package/dist/pipeline/ruflo-phase-executor.js +406 -4
  59. package/dist/pipeline/ruflo-phase-executor.js.map +1 -1
  60. package/dist/pipeline/swarm-orchestrator.d.ts +47 -0
  61. package/dist/pipeline/swarm-orchestrator.d.ts.map +1 -1
  62. package/dist/pipeline/swarm-orchestrator.js +130 -3
  63. package/dist/pipeline/swarm-orchestrator.js.map +1 -1
  64. package/package.json +1 -1
@@ -14,15 +14,27 @@
14
14
  * Phase 6: ERP Surface Push (registration + project materialization)
15
15
  */
16
16
  import { type ExecutionMode } from './execution-context.js';
17
+ import { type PrimaryPhaseExecutionResult } from './ruflo-phase-executor.js';
18
+ import { type PhaseId as GatePhaseId, type BlockedPhase } from './gate/phase-dependency-gate.js';
17
19
  export interface AutoChainOptions {
18
20
  readonly verbose?: boolean;
19
21
  readonly outputDir?: string;
20
22
  readonly executionMode?: ExecutionMode;
21
23
  }
22
- interface PhaseResult {
24
+ /**
25
+ * ADR-094 Decision 4 — `skipped-due-to-upstream` is a distinct phase-result
26
+ * state from `skipped` (which means "phase opted out") and `failed` (which
27
+ * means "phase ran and errored"). It signals "this phase did not run because
28
+ * an upstream phase was failed/blocked and we propagated", and ensures the
29
+ * `chainResult.phases[]` trace contract holds even when Phase 5 fails before
30
+ * Phase 6 runs. Pre-094 Phase 6 was invisible in the trace on upstream
31
+ * failure; under 094 it is always present with this status.
32
+ */
33
+ export type PhaseStatus = 'completed' | 'failed' | 'skipped' | 'skipped-due-to-upstream';
34
+ export interface PhaseResult {
23
35
  phase: number;
24
36
  label: string;
25
- status: 'completed' | 'failed' | 'skipped';
37
+ status: PhaseStatus;
26
38
  timing: number;
27
39
  artifacts: string[];
28
40
  outputDir: string;
@@ -43,7 +55,43 @@ export interface AutoChainResult {
43
55
  scenarioBranch?: string;
44
56
  commitHash?: string;
45
57
  githubUrl?: string;
58
+ /**
59
+ * ADR-PIPELINE-093 §Rule 3 — phases whose prerequisites were unreachable
60
+ * after Ruflo retry. Surfaces to `formatAutoChainForDisplay` as a final
61
+ * banner warning. Mirrors `manifest.json.blocked_phases` and
62
+ * `status.json.blocked_phases`; present (possibly `[]`) on every result
63
+ * so downstream consumers treat the shape as stable.
64
+ */
65
+ blockedPhases?: Array<{
66
+ phase: string;
67
+ missing: ReadonlyArray<string>;
68
+ }>;
69
+ }
70
+ /** Canonical slot names in `.agentics/plans/`. */
71
+ export type PlanSlot = 'sparc' | 'adrs' | 'ddd' | 'tdd' | 'prompts' | 'implementation';
72
+ /** Per-slot promotion counts + MISSING detection. */
73
+ export interface PlanPromotionSummary {
74
+ readonly counts: Record<PlanSlot, number>;
75
+ readonly missing_slots: PlanSlot[];
76
+ readonly total_copied: number;
77
+ readonly total_skipped: number;
46
78
  }
79
+ /**
80
+ * Shared table-driven promotion routine (ADR-PIPELINE-092, Rules 1–5).
81
+ *
82
+ * Walks `PLAN_SLOT_SOURCES` for every slot, picks the best source via
83
+ * `pickBestSourceForSlot`, promotes the source into the slot, then runs
84
+ * any additive sources on top. Emits the `[PLANS] promoted ...` stderr
85
+ * summary and one `[PLANS] MISSING <slot>` line per empty-and-unrecoverable
86
+ * slot. Returns the summary so callers (final safety-net call) can merge
87
+ * `planPromotion` into `manifest.json`.
88
+ */
89
+ export declare function promotePlanningArtifacts(runDir: string, projectRoot: string): PlanPromotionSummary;
90
+ /**
91
+ * Merge the ADR-PIPELINE-092 `planPromotion` block into `runDir/manifest.json`.
92
+ * Read-modify-write pattern mirrors `writeExecutionBlockToManifest`.
93
+ */
94
+ export declare function writePlanPromotionToManifest(runDir: string, summary: PlanPromotionSummary): void;
47
95
  /**
48
96
  * Copy whatever planning artifacts exist from ~/.agentics/runs/<traceId>/
49
97
  * to .agentics/plans/ in the current working directory. Uses .agentics/plans/
@@ -234,12 +282,158 @@ export interface ScaffoldDuplicateFinding {
234
282
  * Returns one finding per (file, export) pair.
235
283
  */
236
284
  export declare function detectScaffoldDuplicates(projectRoot: string, owned?: readonly OwnedScaffoldModule[]): ScaffoldDuplicateFinding[];
285
+ export declare function copyPlanningArtifacts(runDir: string, targetRoot?: string): void;
237
286
  export declare function executeAutoChain(traceId: string, options?: AutoChainOptions): Promise<AutoChainResult>;
287
+ /**
288
+ * Shape of a remote agent entry as recorded in the Phase 1 `manifest.json`.
289
+ * `status` is typically `"success" | "invoked"` for ok and anything else for
290
+ * errored (e.g., `"503"`, `"timeout"`, `"error"`). Mirrors the inline type in
291
+ * `printPhase1Summary`.
292
+ */
293
+ export interface RemoteAgentInvocation {
294
+ readonly domain: string;
295
+ readonly agent: string;
296
+ readonly status: string;
297
+ }
298
+ /** Snapshot of the remote enrichment fleet taken from `manifest.agents_invoked`. */
299
+ export interface RemoteEnrichmentSnapshot {
300
+ readonly available: string[];
301
+ readonly errored: string[];
302
+ /** Raw entries from the manifest, kept for dossier context plumbing. */
303
+ readonly entries: RemoteAgentInvocation[];
304
+ }
305
+ /**
306
+ * Read `manifest.agents_invoked` from the run dir and partition into
307
+ * successful vs errored remote enrichment agents. ADR-PIPELINE-091 §5.
308
+ *
309
+ * Treats `status === "success"` and `status === "invoked"` as available; any
310
+ * other status (including HTTP error codes, `"timeout"`, `"error"`) is
311
+ * counted as errored. Missing / unreadable manifest => empty lists.
312
+ */
313
+ export declare function readRemoteEnrichmentSnapshot(runDir: string): RemoteEnrichmentSnapshot;
314
+ /**
315
+ * Build the `execution` block that ADR-PIPELINE-091 §5 writes back into
316
+ * `runDir/manifest.json`. Pure function so it can be unit-tested without
317
+ * spinning up the actual pipeline.
318
+ */
319
+ export declare function computeExecutionBlock(rufloResults: ReadonlyArray<PrimaryPhaseExecutionResult | null | undefined>, enrichment: RemoteEnrichmentSnapshot): {
320
+ engineering_tier: 'ruflo-local' | 'template';
321
+ tier_counts: {
322
+ 'ruflo-local': number;
323
+ template: number;
324
+ };
325
+ enrichment: {
326
+ remote_agents_available: string[];
327
+ remote_agents_errored: string[];
328
+ enrichment_depth_pct: number | null;
329
+ };
330
+ };
331
+ /**
332
+ * Merge the ADR-091 `execution` block into `runDir/manifest.json` in-place.
333
+ * Reads the existing manifest, sets `execution`, writes it back with the
334
+ * same mode/encoding convention used elsewhere in this file. Non-fatal on
335
+ * I/O or JSON errors — the pipeline continues if manifest merge fails.
336
+ */
337
+ export declare function writeExecutionBlockToManifest(runDir: string, block: ReturnType<typeof computeExecutionBlock>): void;
338
+ /**
339
+ * Per-phase gate outcomes accumulated across the auto-chain execution.
340
+ * Populated as each phase's gate runs, then flushed to `manifest.json`
341
+ * at pipeline completion so downstream consumers (MCP `agentics-status`
342
+ * tool, final banner) see a stable schema.
343
+ */
344
+ interface GateAccumulator {
345
+ readonly blocked: BlockedPhase[];
346
+ /** per-phase list of input paths that the gate produced via Ruflo */
347
+ readonly producedByGate: Record<GatePhaseId, string[]>;
348
+ /** optional scaffold-language skip record (Rule 5) */
349
+ phase5bSkipped: {
350
+ reason: string;
351
+ detected: string;
352
+ template: string;
353
+ } | null;
354
+ }
355
+ /**
356
+ * ADR-PIPELINE-093 — merge `blocked_phases`, per-phase
357
+ * `phase{N}_inputs_produced_by_gate`, and `phase5b_skipped` into
358
+ * `runDir/manifest.json`. Read-modify-write pattern mirrors
359
+ * `writeExecutionBlockToManifest` / `writePlanPromotionToManifest`.
360
+ *
361
+ * `blocked_phases` is always present (empty array when no phase blocked).
362
+ * The per-phase `inputs_produced_by_gate` keys are always present so
363
+ * downstream readers can treat them as a stable schema.
364
+ */
365
+ export declare function writeGateBlockToManifest(runDir: string, acc: GateAccumulator): void;
366
+ /**
367
+ * ADR-PIPELINE-093 §Rule 3 (surface b) — same gate-block payload, written
368
+ * into `runDir/status.json` so the CLI `status` command + MCP
369
+ * `agentics-status` tool carry `blocked_phases` and the per-phase
370
+ * `phase{N}_inputs_produced_by_gate` arrays alongside the ADR-088 keys.
371
+ *
372
+ * Read-modify-write pattern matches the CLI's local `updateStatus` helper
373
+ * (`src/cli/index.ts`:~2501). Best-effort: if `status.json` does not exist
374
+ * (e.g. running outside the MCP fast-return path), the file is created so
375
+ * the gate block is always observable regardless of entry point.
376
+ *
377
+ * Both `writeGateBlockToManifest` and this function should be called from
378
+ * the same accumulator snapshot so manifest.json and status.json stay in
379
+ * sync. The CLI-surfaced `status.json` is the source of truth for the MCP
380
+ * `agentics-status` tool (which shells out to `agentics status`).
381
+ */
382
+ export declare function writeGateBlockToStatusJson(runDir: string, acc: GateAccumulator): void;
383
+ type ScaffoldLanguage = 'typescript' | 'python' | 'go' | 'rust' | 'unknown';
384
+ /**
385
+ * Detect the target project language from Phase 1 manifest.json
386
+ * (`project.language`) first, then falls back to common project root
387
+ * marker files. Returns `'unknown'` when no signal is available — the
388
+ * caller decides whether to skip or proceed in that case.
389
+ */
390
+ /**
391
+ * ADR-PIPELINE-093 §Rule 5 — single arbiter for which scaffold template set
392
+ * `copyPlanningArtifacts` should emit. Called ONCE per invocation so the TS
393
+ * block and the Python block gate on the same decision.
394
+ *
395
+ * - `typescript` → emit TS, skip Python, no manifest record.
396
+ * - `python` → skip TS, emit Python, no manifest record.
397
+ * - `go`|`rust`|`unknown` → skip both, record `phase5b_skipped` with the
398
+ * detected language and `template: 'typescript'`
399
+ * (kept for Scenario-5 compatibility — the
400
+ * skip block's shape is the ADR-093 schema).
401
+ *
402
+ * The detected-language + template-name pair in `skipped` matches what the
403
+ * pre-093-fix gate wrote to `manifest.json`, so downstream status.json /
404
+ * MCP consumers don't see a shape change on the mismatch path.
405
+ */
406
+ export declare function decideScaffoldEmission(detected: ScaffoldLanguage): {
407
+ emitTs: boolean;
408
+ emitPy: boolean;
409
+ skipped: null | {
410
+ reason: 'language-mismatch';
411
+ detected: string;
412
+ template: string;
413
+ };
414
+ };
415
+ export declare function detectProjectLanguage(projectRoot: string, phase1Manifest?: Record<string, unknown>): ScaffoldLanguage;
238
416
  /**
239
417
  * Format the auto-chain result for stdout display.
240
418
  * This is the consolidated pipeline summary that surfaces Phase 2-6 details
241
419
  * to callers who only see stdout (e.g., Claude Code rendering `agentics ask`).
242
420
  */
243
421
  export declare function formatAutoChainForDisplay(result: AutoChainResult): string;
422
+ /**
423
+ * ADR-094 Decision 4 — Phase 6 always emits a phase-result entry. When an
424
+ * upstream phase ends in `failed` or `blocked`, every downstream phase that
425
+ * has not already been pushed gets a `skipped-due-to-upstream` entry. This
426
+ * preserves the `chainResult.phases[]` trace contract: every run produces
427
+ * an entry per phase, regardless of where the chain ended.
428
+ *
429
+ * Mutates `phases` in place. Idempotent — phases already present on the list
430
+ * are not re-pushed. Exported for unit tests; production callers go through
431
+ * the early-return sites in `executeAutoChain`.
432
+ */
433
+ export declare function pushSkippedDueToUpstream(phases: PhaseResult[], upstream: {
434
+ phase: number;
435
+ label: string;
436
+ reason: string;
437
+ }, runDir: string): void;
244
438
  export {};
245
439
  //# sourceMappingURL=auto-chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-chain.d.ts","sourceRoot":"","sources":["../../src/pipeline/auto-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-chain.d.ts","sourceRoot":"","sources":["../../src/pipeline/auto-chain.ts"],"names":[],"mappings":"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"}