import { type AiEnrichmentOrchestrationResult } from "./domains/discovery/ai-enrichment.js"; import { type SourceSyncState } from "./domains/discovery/source-sync.js"; import type { SourceHealthReport } from "./domains/discovery/source-health.js"; import { applyPerSourceCap, computeAcceptanceRate, computeDemandRelevantSourceIds, computeSourceDiversityWarning, getEnabledSourceIds } from "./discover-pipeline.js"; /** * Re-exports demand profile construction for programmatic discovery callers. */ export { buildDemandProfile } from "./domains/discovery/demand-profile.js"; /** * Decides whether to proactively print the first-run `--no-sync` hint * (#439). The hint must appear WITHOUT requiring a skipped-source condition: * the first sync of many sources is the case where a 60-120s silent phase * makes the pipeline look hung. Suppressed when the user already opted out * (--no-sync/--sync-all), when quiet mode is active, or on non-first runs. */ declare function shouldShowFirstRunSyncHint(priorSyncState: SourceSyncState | null, effectiveSourceCount: number, quietMode: boolean, noSync: boolean, syncAll: boolean): boolean; /** * Dispatches the discover command group: subcommand-specific help first, * then the stateful pipeline subcommands and their strict-flag validation. */ export declare function runDiscover(args: string[], workingDirectory: string, projectRoot: string): Promise; declare function printSourceHealthSummary(report: SourceHealthReport, options: { quietMode: boolean; summaryMode: boolean; }): void; declare function handleAiEnrichmentResult(result: AiEnrichmentOrchestrationResult): number; /** * Builds the breadth state-invalidation report (#452): the previous catalog * entry count (line count of discover/catalog.assets.jsonl, null when no * prior pass exists) and the lifecycle artifacts built from the previous * catalog that a breadth pass will invalidate (recommendations, mirror * locks, install generations, activation manifests). */ export declare function buildBreadthStateInvalidationReport(stateRoot: string): Promise<{ priorCatalogEntryCount: number | null; invalidatedArtifacts: string[]; }>; /** * Exposes narrow discover internals for focused per-source-cap tests. */ export declare const discoverInternals: { applyPerSourceCap: typeof applyPerSourceCap; buildBreadthStateInvalidationReport: typeof buildBreadthStateInvalidationReport; computeAcceptanceRate: typeof computeAcceptanceRate; computeSourceDiversityWarning: typeof computeSourceDiversityWarning; computeDemandRelevantSourceIds: typeof computeDemandRelevantSourceIds; getEnabledSourceIds: typeof getEnabledSourceIds; shouldShowFirstRunSyncHint: typeof shouldShowFirstRunSyncHint; printSourceHealthSummary: typeof printSourceHealthSummary; handleAiEnrichmentResult: typeof handleAiEnrichmentResult; }; /** * Source IDs that are always demand-relevant regardless of project type. * These sources provide universal assets (MCP servers, skills directories) * that apply to any project. */