/** * @fileoverview Merges declared and inferred dependencies into a flat list * @module @skillsmith/core/analysis/DependencyMerger * @see SMI-3146: Build DependencyMerger * * Combines frontmatter-declared dependencies with statically inferred * MCP references, deduplicating where declared trumps inferred. */ import type { DependencyDeclaration, DepSource, DepType } from '../types/dependencies.js'; import type { McpExtractionResult } from './McpReferenceExtractor.js'; /** A single merged dependency ready for database insertion */ export interface MergedDependency { /** Dependency category, e.g. 'mcp_server', 'skill_hard' */ depType: DepType; /** Target identifier, e.g. 'linear', 'claude-flow' */ depTarget: string; /** Semver constraint or null */ depVersion: string | null; /** How the dependency was discovered */ depSource: DepSource; /** Confidence score (1.0 for declared, 0.9/0.5 for inferred) */ confidence: number | null; /** JSON-serialized metadata or null */ metadata: string | null; } /** * Merge declared dependencies from SKILL.md frontmatter with * inferred MCP references from static content analysis. * * Declared dependencies always take precedence: if a server appears * in both declared MCP servers and inferred references, only the * declared entry is included. * * @param declared - Parsed dependency declaration from frontmatter * @param inferred - MCP references extracted from content * @returns Flat array of merged dependencies */ export declare function mergeDependencies(declared: DependencyDeclaration | undefined, inferred: McpExtractionResult): MergedDependency[]; //# sourceMappingURL=DependencyMerger.d.ts.map