import { OrchestrationTools } from './orchestration-tools.js'; /** * System contract structure (matches schema). */ export interface SystemContract { system_id: string; contract_version: string; min_supported_contract_version: string; breaking_changes_policy: { policy: 'NONE' | 'MINOR' | 'MAJOR'; description: string; }; compatibility?: Record; generated_at: string; workspace_root: string; version: string; plugins: Array<{ name: string; version: string; path?: string; }>; dimensions: { X: { name: string; description: string; }; Y: { name: string; description: string; }; Z: { name: string; description: string; }; W: { name: string; description: string; }; T: { name: string; description: string; }; V: { name: string; description: string; }; }; capabilities: { tools: Array<{ name: string; version?: string; description: string; input_schema?: any; output_schema?: any; required_params?: string[]; optional_params?: string[]; }>; feature_flags: { v_dimension_active: boolean; snapshots_supported: boolean; evidence_active: boolean; delta_snapshots_supported: boolean; }; limits: { max_result_size?: number; supported_dimensions: string[]; required_backends?: string[]; }; }; public_api: Record; runtime_dependencies: { docs_directory: { exists: boolean; path?: string; }; databases: { modules_db: boolean; symbols_db: boolean; dependencies_db: boolean; adrs_db: boolean; changes_db: boolean; vectors_db: boolean; }; vector_backend: { backend: 'chromadb' | 'vss' | 'fallback' | 'none'; mode: 'chromadb' | 'vss' | 'fallback'; expected_available: boolean; reachable: boolean; fallback: boolean; reason_code: string; }; embeddings: { available: boolean; count?: number; }; }; policies: { soft_delete: boolean; active_only_default: boolean; }; canonical_identifiers: { plugin_id: { algorithm: string; format: string; computed?: string; }; workspace_id: { algorithm: string; format: string; computed?: string; }; entity_id_mapping?: Record; normalization_rules: { path_separator: string; case_sensitive: boolean; hash_algorithm: string; }; }; fallback_policy?: { activation_conditions: Array<{ reason_code: string; description: string; }>; quality_degradation: { description: string; impact: string; }; marking: { enabled: boolean; format: string; }; }; import_map?: { public_only: boolean; package_name_mapping: Record; recommended_import_paths: string[]; legacy_import_paths: string[]; }; sources: Array<{ type: string; path: string; hash?: string; }>; } /** * Generates system contract from SYSTEM_METADATA.json and runtime status. */ export declare class SystemContractGenerator { private workspaceRoot; private orchestrationTools; constructor(workspaceRoot: string, orchestrationTools: OrchestrationTools); /** * Generates system contract. * * @param pluginId Plugin ID (optional, will be resolved) * @returns System contract */ generate(pluginId?: string): Promise; /** * Builds capabilities matrix. */ private buildCapabilitiesMatrix; /** * Builds canonical identifiers configuration. */ private buildCanonicalIdentifiers; /** * Builds fallback policy. */ private buildFallbackPolicy; /** * Computes file hash. */ private computeFileHash; /** * Computes status hash for deterministic source tracking. */ private computeStatusHash; /** * Writes contract to file. * * @param outputPath Output file path * @param pluginId Plugin ID (optional) */ write(outputPath: string, pluginId?: string): Promise; } //# sourceMappingURL=system-contract-generator.d.ts.map