/** * Cache hit/miss/incremental routing. * * Consults the on-disk catalog cache and dispatches to the right * rebuild path per `classifyCatalog`'s verdict: * - 'valid' → reuse the cached catalog wholesale * - 'incremental' → re-walk only changed files + their dependents * - 'invalid' → full rebuild */ import { type RunStage } from './catalog-builder.js'; import type { GraphProgressCallback } from './types.js'; import type { DiscoverOutput, GraphLanguageAdapter } from '../../lang-adapter/types.js'; import type { CatalogRepo } from '../../persistence/catalog-repo.js'; import type { AdapterSelectionEvidence, Catalog, ResolutionMode, ResolutionStats } from '../../types.js'; import type { PressureMonitor } from '../pressure-monitor.js'; export interface ObtainCatalogInput { readonly runStage: RunStage; readonly adapter: GraphLanguageAdapter; /** Provenance from the same GraphAdapterSelector pick that chose `adapter`. */ readonly adapterSelection: AdapterSelectionEvidence; readonly discovery: DiscoverOutput; readonly catalogRepo: CatalogRepo | null; readonly useCache: boolean; /** Active resolution tier. Folded into the cacheKey so fast/exact * catalogs never collide, and forwarded into the build path. */ readonly resolutionMode: ResolutionMode; /** Absolute project root — used to stamp each occurrence's package via its * nearest `package.json` (see `assignPackages`). */ readonly projectRoot: string; readonly onProgress?: GraphProgressCallback; readonly monitor?: PressureMonitor; } export interface ObtainCatalogOutput { readonly catalog: Catalog; readonly cacheHit: boolean; readonly resolutionStats: ResolutionStats | null; } /** * Resolve the catalog for this run by consulting the on-disk cache, * dispatching to the right rebuild path (full vs Wave 4 incremental * vs cache hit) per `classifyCatalog`'s verdict. */ export declare function obtainCatalog(input: ObtainCatalogInput): Promise; //# sourceMappingURL=cache-orchestrator.d.ts.map