UNPKG

mcp-context-engineering

Version:

The intelligent context optimization system for AI coding assistants. Built with Cole's PRP methodology, Context Portal knowledge graphs, and production-ready MongoDB architecture.

1,310 lines (1,309 loc) 47 kB
import { ObjectId } from 'mongodb'; import { z } from 'zod'; export declare const ProjectDNASchema: z.ZodObject<{ project_id: z.ZodString; project_name: z.ZodString; coding_standards: z.ZodObject<{ style_guide: z.ZodString; naming_conventions: z.ZodObject<{ variables: z.ZodString; functions: z.ZodString; classes: z.ZodString; files: z.ZodString; }, "strip", z.ZodTypeAny, { variables?: string; functions?: string; classes?: string; files?: string; }, { variables?: string; functions?: string; classes?: string; files?: string; }>; code_organization: z.ZodObject<{ directory_structure: z.ZodString; module_patterns: z.ZodArray<z.ZodString, "many">; import_conventions: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }, { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }>; best_practices: z.ZodArray<z.ZodString, "many">; anti_patterns: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }, { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }>; tech_stack: z.ZodObject<{ languages: z.ZodArray<z.ZodString, "many">; frameworks: z.ZodArray<z.ZodString, "many">; libraries: z.ZodArray<z.ZodString, "many">; databases: z.ZodArray<z.ZodString, "many">; tools: z.ZodArray<z.ZodString, "many">; version_requirements: z.ZodRecord<z.ZodString, z.ZodString>; }, "strip", z.ZodTypeAny, { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }, { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }>; project_rules: z.ZodObject<{ development_guidelines: z.ZodArray<z.ZodString, "many">; testing_requirements: z.ZodArray<z.ZodString, "many">; documentation_standards: z.ZodArray<z.ZodString, "many">; deployment_patterns: z.ZodArray<z.ZodString, "many">; security_requirements: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }, { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }>; architecture: z.ZodObject<{ design_patterns: z.ZodArray<z.ZodString, "many">; architectural_decisions: z.ZodArray<z.ZodObject<{ decision: z.ZodString; rationale: z.ZodString; alternatives_considered: z.ZodArray<z.ZodString, "many">; consequences: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }, { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }>, "many">; integration_patterns: z.ZodArray<z.ZodString, "many">; data_flow_patterns: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }, { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }>; workspace_context: z.ZodObject<{ active_features: z.ZodArray<z.ZodString, "many">; current_priorities: z.ZodArray<z.ZodString, "many">; known_issues: z.ZodArray<z.ZodString, "many">; recent_changes: z.ZodArray<z.ZodObject<{ change: z.ZodString; date: z.ZodDate; impact: z.ZodString; }, "strip", z.ZodTypeAny, { date?: Date; impact?: string; change?: string; }, { date?: Date; impact?: string; change?: string; }>, "many">; }, "strip", z.ZodTypeAny, { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }, { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }>; }, "strip", z.ZodTypeAny, { workspace_context?: { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }; project_id?: string; tech_stack?: { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }; project_name?: string; coding_standards?: { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }; project_rules?: { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }; architecture?: { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }; }, { workspace_context?: { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }; project_id?: string; tech_stack?: { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }; project_name?: string; coding_standards?: { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }; project_rules?: { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }; architecture?: { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }; }>; export declare const AgentProjectPreferencesSchema: z.ZodObject<{ cursor: z.ZodObject<{ preferred_context_sections: z.ZodArray<z.ZodString, "many">; code_example_preferences: z.ZodString; explanation_depth: z.ZodEnum<["minimal", "moderate", "detailed"]>; focus_areas: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }, { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }>; windsurf: z.ZodObject<{ preferred_context_sections: z.ZodArray<z.ZodString, "many">; step_by_step_preference: z.ZodBoolean; error_handling_emphasis: z.ZodBoolean; explanation_depth: z.ZodEnum<["minimal", "moderate", "detailed"]>; focus_areas: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }>; claude_code: z.ZodObject<{ preferred_context_sections: z.ZodArray<z.ZodString, "many">; full_prp_preference: z.ZodBoolean; comprehensive_context: z.ZodBoolean; explanation_depth: z.ZodEnum<["minimal", "moderate", "detailed"]>; focus_areas: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }>; generic: z.ZodObject<{ preferred_context_sections: z.ZodArray<z.ZodString, "many">; balanced_approach: z.ZodBoolean; explanation_depth: z.ZodEnum<["minimal", "moderate", "detailed"]>; focus_areas: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }>; }, "strip", z.ZodTypeAny, { cursor?: { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }; windsurf?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }; claude_code?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }; generic?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }; }, { cursor?: { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }; windsurf?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }; claude_code?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }; generic?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }; }>; export declare const ProjectEvolutionSchema: z.ZodObject<{ version: z.ZodNumber; evolution_history: z.ZodArray<z.ZodObject<{ version: z.ZodNumber; changes: z.ZodObject<{ standards_updates: z.ZodArray<z.ZodString, "many">; pattern_additions: z.ZodArray<z.ZodString, "many">; rule_modifications: z.ZodArray<z.ZodString, "many">; architecture_changes: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }, { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }>; reason: z.ZodString; timestamp: z.ZodDate; effectiveness_impact: z.ZodNumber; }, "strip", z.ZodTypeAny, { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }, { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }>, "many">; learning_insights: z.ZodArray<z.ZodObject<{ insight: z.ZodString; source: z.ZodEnum<["successful_pattern", "failed_pattern", "user_feedback", "cross_project"]>; confidence: z.ZodNumber; applied_date: z.ZodDate; }, "strip", z.ZodTypeAny, { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }, { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }>, "many">; }, "strip", z.ZodTypeAny, { version?: number; evolution_history?: { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }[]; learning_insights?: { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }[]; }, { version?: number; evolution_history?: { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }[]; learning_insights?: { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }[]; }>; export declare const ProjectContextSchema: z.ZodObject<{ _id: z.ZodOptional<z.ZodType<ObjectId, z.ZodTypeDef, ObjectId>>; project_dna: z.ZodObject<{ project_id: z.ZodString; project_name: z.ZodString; coding_standards: z.ZodObject<{ style_guide: z.ZodString; naming_conventions: z.ZodObject<{ variables: z.ZodString; functions: z.ZodString; classes: z.ZodString; files: z.ZodString; }, "strip", z.ZodTypeAny, { variables?: string; functions?: string; classes?: string; files?: string; }, { variables?: string; functions?: string; classes?: string; files?: string; }>; code_organization: z.ZodObject<{ directory_structure: z.ZodString; module_patterns: z.ZodArray<z.ZodString, "many">; import_conventions: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }, { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }>; best_practices: z.ZodArray<z.ZodString, "many">; anti_patterns: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }, { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }>; tech_stack: z.ZodObject<{ languages: z.ZodArray<z.ZodString, "many">; frameworks: z.ZodArray<z.ZodString, "many">; libraries: z.ZodArray<z.ZodString, "many">; databases: z.ZodArray<z.ZodString, "many">; tools: z.ZodArray<z.ZodString, "many">; version_requirements: z.ZodRecord<z.ZodString, z.ZodString>; }, "strip", z.ZodTypeAny, { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }, { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }>; project_rules: z.ZodObject<{ development_guidelines: z.ZodArray<z.ZodString, "many">; testing_requirements: z.ZodArray<z.ZodString, "many">; documentation_standards: z.ZodArray<z.ZodString, "many">; deployment_patterns: z.ZodArray<z.ZodString, "many">; security_requirements: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }, { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }>; architecture: z.ZodObject<{ design_patterns: z.ZodArray<z.ZodString, "many">; architectural_decisions: z.ZodArray<z.ZodObject<{ decision: z.ZodString; rationale: z.ZodString; alternatives_considered: z.ZodArray<z.ZodString, "many">; consequences: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }, { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }>, "many">; integration_patterns: z.ZodArray<z.ZodString, "many">; data_flow_patterns: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }, { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }>; workspace_context: z.ZodObject<{ active_features: z.ZodArray<z.ZodString, "many">; current_priorities: z.ZodArray<z.ZodString, "many">; known_issues: z.ZodArray<z.ZodString, "many">; recent_changes: z.ZodArray<z.ZodObject<{ change: z.ZodString; date: z.ZodDate; impact: z.ZodString; }, "strip", z.ZodTypeAny, { date?: Date; impact?: string; change?: string; }, { date?: Date; impact?: string; change?: string; }>, "many">; }, "strip", z.ZodTypeAny, { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }, { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }>; }, "strip", z.ZodTypeAny, { workspace_context?: { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }; project_id?: string; tech_stack?: { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }; project_name?: string; coding_standards?: { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }; project_rules?: { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }; architecture?: { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }; }, { workspace_context?: { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }; project_id?: string; tech_stack?: { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }; project_name?: string; coding_standards?: { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }; project_rules?: { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }; architecture?: { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }; }>; agent_preferences: z.ZodObject<{ cursor: z.ZodObject<{ preferred_context_sections: z.ZodArray<z.ZodString, "many">; code_example_preferences: z.ZodString; explanation_depth: z.ZodEnum<["minimal", "moderate", "detailed"]>; focus_areas: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }, { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }>; windsurf: z.ZodObject<{ preferred_context_sections: z.ZodArray<z.ZodString, "many">; step_by_step_preference: z.ZodBoolean; error_handling_emphasis: z.ZodBoolean; explanation_depth: z.ZodEnum<["minimal", "moderate", "detailed"]>; focus_areas: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }>; claude_code: z.ZodObject<{ preferred_context_sections: z.ZodArray<z.ZodString, "many">; full_prp_preference: z.ZodBoolean; comprehensive_context: z.ZodBoolean; explanation_depth: z.ZodEnum<["minimal", "moderate", "detailed"]>; focus_areas: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }>; generic: z.ZodObject<{ preferred_context_sections: z.ZodArray<z.ZodString, "many">; balanced_approach: z.ZodBoolean; explanation_depth: z.ZodEnum<["minimal", "moderate", "detailed"]>; focus_areas: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }, { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }>; }, "strip", z.ZodTypeAny, { cursor?: { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }; windsurf?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }; claude_code?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }; generic?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }; }, { cursor?: { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }; windsurf?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }; claude_code?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }; generic?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }; }>; evolution: z.ZodObject<{ version: z.ZodNumber; evolution_history: z.ZodArray<z.ZodObject<{ version: z.ZodNumber; changes: z.ZodObject<{ standards_updates: z.ZodArray<z.ZodString, "many">; pattern_additions: z.ZodArray<z.ZodString, "many">; rule_modifications: z.ZodArray<z.ZodString, "many">; architecture_changes: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }, { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }>; reason: z.ZodString; timestamp: z.ZodDate; effectiveness_impact: z.ZodNumber; }, "strip", z.ZodTypeAny, { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }, { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }>, "many">; learning_insights: z.ZodArray<z.ZodObject<{ insight: z.ZodString; source: z.ZodEnum<["successful_pattern", "failed_pattern", "user_feedback", "cross_project"]>; confidence: z.ZodNumber; applied_date: z.ZodDate; }, "strip", z.ZodTypeAny, { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }, { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }>, "many">; }, "strip", z.ZodTypeAny, { version?: number; evolution_history?: { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }[]; learning_insights?: { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }[]; }, { version?: number; evolution_history?: { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }[]; learning_insights?: { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }[]; }>; embedding: z.ZodArray<z.ZodNumber, "many">; metadata: z.ZodObject<{ created_at: z.ZodDate; updated_at: z.ZodDate; last_accessed: z.ZodDate; access_count: z.ZodNumber; active: z.ZodBoolean; }, "strip", z.ZodTypeAny, { created_at?: Date; updated_at?: Date; last_accessed?: Date; access_count?: number; active?: boolean; }, { created_at?: Date; updated_at?: Date; last_accessed?: Date; access_count?: number; active?: boolean; }>; }, "strip", z.ZodTypeAny, { _id?: ObjectId; metadata?: { created_at?: Date; updated_at?: Date; last_accessed?: Date; access_count?: number; active?: boolean; }; project_dna?: { workspace_context?: { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }; project_id?: string; tech_stack?: { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }; project_name?: string; coding_standards?: { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }; project_rules?: { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }; architecture?: { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }; }; agent_preferences?: { cursor?: { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }; windsurf?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }; claude_code?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }; generic?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }; }; evolution?: { version?: number; evolution_history?: { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }[]; learning_insights?: { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }[]; }; embedding?: number[]; }, { _id?: ObjectId; metadata?: { created_at?: Date; updated_at?: Date; last_accessed?: Date; access_count?: number; active?: boolean; }; project_dna?: { workspace_context?: { active_features?: string[]; current_priorities?: string[]; known_issues?: string[]; recent_changes?: { date?: Date; impact?: string; change?: string; }[]; }; project_id?: string; tech_stack?: { tools?: string[]; languages?: string[]; frameworks?: string[]; libraries?: string[]; databases?: string[]; version_requirements?: Record<string, string>; }; project_name?: string; coding_standards?: { style_guide?: string; naming_conventions?: { variables?: string; functions?: string; classes?: string; files?: string; }; code_organization?: { directory_structure?: string; module_patterns?: string[]; import_conventions?: string[]; }; best_practices?: string[]; anti_patterns?: string[]; }; project_rules?: { development_guidelines?: string[]; testing_requirements?: string[]; documentation_standards?: string[]; deployment_patterns?: string[]; security_requirements?: string[]; }; architecture?: { design_patterns?: string[]; architectural_decisions?: { rationale?: string; consequences?: string[]; decision?: string; alternatives_considered?: string[]; }[]; integration_patterns?: string[]; data_flow_patterns?: string[]; }; }; agent_preferences?: { cursor?: { preferred_context_sections?: string[]; code_example_preferences?: string; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; }; windsurf?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; step_by_step_preference?: boolean; error_handling_emphasis?: boolean; }; claude_code?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; full_prp_preference?: boolean; comprehensive_context?: boolean; }; generic?: { preferred_context_sections?: string[]; explanation_depth?: "detailed" | "minimal" | "moderate"; focus_areas?: string[]; balanced_approach?: boolean; }; }; evolution?: { version?: number; evolution_history?: { timestamp?: Date; version?: number; changes?: { standards_updates?: string[]; pattern_additions?: string[]; rule_modifications?: string[]; architecture_changes?: string[]; }; reason?: string; effectiveness_impact?: number; }[]; learning_insights?: { source?: "successful_pattern" | "failed_pattern" | "user_feedback" | "cross_project"; insight?: string; confidence?: number; applied_date?: Date; }[]; }; embedding?: number[]; }>; export type ProjectDNA = z.infer<typeof ProjectDNASchema>; export type AgentProjectPreferences = z.infer<typeof AgentProjectPreferencesSchema>; export type ProjectEvolution = z.infer<typeof ProjectEvolutionSchema>; export type ProjectContext = z.infer<typeof ProjectContextSchema>;