/** * FlowTracer - Definition-level call graph traversal. * Traces composite tier-1 flows from entry point definitions through the call graph, * mapping interactions to atomic subflow references. */ import type { InteractionDefinitionLink, InteractionWithPaths } from '../../../db/schema.js'; import type { EntryPointModuleInfo, FlowSuggestion, FlowTracingContext } from './types.js'; export declare class FlowTracer { private readonly context; private readonly maxDepth; constructor(context: FlowTracingContext); /** * Trace composite tier-1 flows from entry point modules. * Maps definition-derived interactions to atomic subflow references. */ traceFlowsFromEntryPoints(entryPointModules: EntryPointModuleInfo[], atomicFlows: FlowSuggestion[]): FlowSuggestion[]; /** * Trace a flow from a starting definition through the definition-level call graph. * At leaf nodes (no outgoing call graph edges), bridges via LLM-inferred interactions. */ private traceDefinitionFlow; private trace; /** * Definition-level bridges: precise per-definition targeting. * Returns true if bridges were found (caller should return). */ private tryDefinitionBridges; /** * Fallback: module-level bridge at leaf nodes when no definition-level links exist. * Bridge targets are marked as bridged so their call graph is not expanded. */ private tryModuleFallbackBridge; /** * Check if an entity scope matches a module entity. * Handles case normalization and strips -list/-detail suffixes * (flow-level view refinements that share the same base entity). */ private isEntityMatch; /** * Derive unique interaction IDs from definition-level steps. */ private deriveInteractionIds; /** * Generate a flow name from an entry point module and member. */ private generateFlowNameFromModule; private actionTypeToVerb; /** * Generate a slug from an entry point module and member. */ private generateFlowSlugFromModule; } /** * Build the flow tracing context from database data. */ export declare function buildFlowTracingContext(definitionCallGraph: Map, allModulesWithMembers: Array<{ id: number; fullPath: string; members: Array<{ definitionId: number; name: string; }>; }>, interactions: InteractionWithPaths[], entryPointModuleIds?: Set, definitionLinks?: Array, moduleEntityMap?: Map): FlowTracingContext; //# sourceMappingURL=flow-tracer.d.ts.map