/** * Architecture Detector * * Detects server architecture characteristics including: * - Database backends (Neo4j, MongoDB, PostgreSQL, etc.) * - Transport modes (stdio, HTTP, SSE) * - Server type classification (local, hybrid, remote) * - Network access requirements * * Part of Issue #57: Architecture detection and behavior inference modules */ import type { ArchitectureAnalysis, DatabaseBackend } from "../../../../lib/assessment/extendedTypes.js"; /** * Tool definition for analysis */ export interface Tool { name: string; description?: string; inputSchema?: unknown; } /** * Context provided for architecture detection */ export interface ArchitectureContext { /** Tools provided by the server */ tools: Tool[]; /** Transport type if known (from connection) */ transportType?: string; /** Source code files (filename -> content) */ sourceCodeFiles?: Map; /** Manifest JSON content */ manifestJson?: { name?: string; description?: string; dependencies?: Record; devDependencies?: Record; }; /** Package.json content if available */ packageJson?: { dependencies?: Record; devDependencies?: Record; }; /** Requirements.txt content if available */ requirementsTxt?: string; } /** * Detect architecture characteristics from the provided context. * * @param context - Architecture context with tools, source code, etc. * @returns ArchitectureAnalysis with detected characteristics */ export declare function detectArchitecture(context: ArchitectureContext): ArchitectureAnalysis; /** * Quick check if tools suggest database operations. * * @param tools - Tools to analyze * @returns True if tools suggest database operations */ export declare function hasDatabaseToolPatterns(tools: Tool[]): boolean; /** * Extract database types from package.json dependencies. * * @param dependencies - Package.json dependencies object * @returns Array of detected database types */ export declare function extractDatabasesFromDependencies(dependencies: Record): DatabaseBackend[]; //# sourceMappingURL=ArchitectureDetector.d.ts.map