export type { SpiVersion, SemanticProgramIndex, SpiWorkspace, SpiLanguage, SpiFile, SpiSymbolKind, SpiPosition, SpiRange, SpiFrameworkRole, SpiSymbol, SpiEdgeKind, SpiEdgeConfidence, SpiEdgeSource, SpiEdgeEvidence, SpiEdge, SpiDiagnosticLevel, SpiDiagnosticEvidence, SpiDiagnostic, SpiDiffOverlay, } from './types.js'; export { buildSpi, buildSpiFileLayer, type BuildSpiOptions, type BuildSpiFileLayerOptions, } from './build.js'; export { buildSpiCached, clearSpiCache, type BuildSpiCachedOptions, type BuildSpiCachedResult, type SpiCacheIndex, type SpiCacheStats, } from './cache.js'; export { computeSpiDiffOverlay, type ComputeSpiDiffOverlayOptions, type GitDiffRunner, } from './diff-overlay.js'; export { isTestFilePath } from './test-layer.js'; export { detectNestFramework, collectNestTokenMap, type DetectNestFrameworkContext, type CollectNestTokenMapOptions, type NestTokenMap, type NestTokenBinding, } from './framework-nestjs.js'; export { projectSpiToExtraction, type ProjectSpiToExtractionOptions, } from './projector.js'; export { detectExpressFramework, type DetectExpressFrameworkContext, } from './framework-express.js'; export { detectNextjsFramework, type DetectNextjsFrameworkContext, } from './framework-nextjs.js'; export { detectReactRouterFramework, type DetectReactRouterFrameworkContext, } from './framework-react-router.js'; export { detectReduxFramework, type DetectReduxFrameworkContext, } from './framework-redux.js'; export { detectHonoFramework, type DetectHonoFrameworkContext, } from './framework-hono.js'; export { detectFastifyFramework, type DetectFastifyFrameworkContext, } from './framework-fastify.js'; export { detectTrpcFramework, type DetectTrpcFrameworkContext, } from './framework-trpc.js'; export { detectPrismaFramework, type DetectPrismaFrameworkContext, } from './framework-prisma.js';