/** * @fileoverview Mode dispatch for `opensip graph`. * * Extracted from `cli/graph.ts` so the orchestrator there stays focused * on flag validation, run-scope resolution, and result dispatch. Owns: * * - `runGateMode` (--gate-save / --gate-compare) * - `runCatalogJsonMode` (--catalog-output) * * `--report-to` (the old `runReportMode`) moved to the composition root in * ADR-0011 Phase 5: graph returns its `SignalEnvelope` and the root's * `deliverSignals` owns cloud egress + the `--report-to` SARIF upload. */ import type { GraphCommandOptions } from './graph-options.js'; import type { Catalog, Indexes } from '../types.js'; import type { SignalEnvelope } from '@opensip-cli/contracts'; import type { Signal, ToolCliContext } from '@opensip-cli/core'; export declare function runGateMode(opts: GraphCommandOptions, envelope: SignalEnvelope, cli: ToolCliContext, resolutionMode?: 'exact' | 'fast'): Promise; /** * Catalog-JSON emission mode (Phase 3 Task 3.4 per opensip DEC-498). * Walks the engine's `Catalog` + `Indexes`, derives opensip-compatible * symbol/edge IDs, and writes a `CatalogExport` JSON document to the * `--catalog-output ` file. Phase 6's `EngineSubprocessPort` * invokes this mode per commit-sync run. * * Backpressured atomic write through the host `cli.writeArtifact` seam — * catalog payloads are bounded (per-package fan-out limits per-run scope) * and the await holds the run until the locked temp+rename completes, * surfacing a full disk rather than a deferred-write surprise. */ export declare function runCatalogJsonMode(opts: GraphCommandOptions, result: { readonly catalog: Catalog | null; readonly indexes: Indexes | null; readonly signals: readonly Signal[]; readonly cacheHit: boolean; }, cli: ToolCliContext, startedAt: string): Promise; //# sourceMappingURL=graph-modes.d.ts.map