import { type DerivedCheckpointLock } from "./checkpoint-lock.js"; import type { WikiPageRecord } from "./page-record.js"; import { type GraphDeltaInput, type GraphCheckpointFallbackReason, type GraphCheckpointWriteBoundsReason } from "./graph-checkpoint.js"; export type GraphNodeKind = "page" | "request" | "requirement" | "implementation" | "test_result" | "release" | "source" | "tag" | "client" | "project" | "api" | "data_model"; export type GraphEdgeKind = "links_to" | "derived_from" | "same_request" | "implements" | "tests" | "released_by" | "has_tag" | "belongs_to_client" | "belongs_to_project"; export interface GraphNode { id: string; kind: GraphNodeKind; label: string; path?: string; pageType?: string; requestId?: string; tags?: string[]; sources?: string[]; summary?: string; } export interface GraphEdge { from: string; to: string; kind: GraphEdgeKind; } export interface WikiGraph { version: 2; generatedAt: string; nodes: GraphNode[]; edges: GraphEdge[]; warnings: string[]; } export interface GraphQueryResult { graph: WikiGraph; nodes: GraphNode[]; edges: GraphEdge[]; seedNodeIds: string[]; } export interface WikiGraphDiagnostics { recovery: "restored" | "rebuilt"; fallbackReason: GraphCheckpointFallbackReason; inputCorpusRevision: string; persisted: boolean; persistenceReason: GraphPersistenceSkipReason; deltaCount: number; } export type GraphPersistenceSkipReason = GraphCheckpointWriteBoundsReason | "retrieval_not_persisted" | null; export declare function graphFile(wikiRoot: string): string; export declare function graphReportFile(wikiRoot: string): string; export declare function buildWikiGraph(wikiRoot: string, options?: { persist?: boolean; corpus?: { records: WikiPageRecord[]; corpusRevision: string; generation: number; }; fallbackReason?: GraphCheckpointFallbackReason; }): Promise; export declare function getWikiGraph(wikiRoot: string, force?: boolean, options?: { persist?: boolean; }): Promise; export declare function getWikiGraphDiagnostics(wikiRoot: string): WikiGraphDiagnostics | null; export declare function markWikiGraphSynchronized(wikiRoot: string): void; export declare function persistSynchronizedWikiGraph(wikiRoot: string, delta?: GraphDeltaInput | null, options?: { checkpointLock?: DerivedCheckpointLock; }): Promise; export declare function invalidateWikiGraph(wikiRoot: string): void; export declare function readGraph(wikiRoot: string): Promise; export declare function queryWikiGraph(graph: WikiGraph, params: { query: string; maxNodes?: number; maxDepth?: number; pageTypes?: string[]; }): GraphQueryResult; export declare function formatGraphQueryResult(result: GraphQueryResult): string; export declare function formatGraphReport(graph: WikiGraph): string; export declare function graphSummaryForPagePaths(graph: WikiGraph, pagePaths: string[]): string; //# sourceMappingURL=graph-index.d.ts.map