Create enhanced interactive menu
(self)
| 183 | ) |
| 184 | |
| 185 | def create_menu(self): |
| 186 | """Create enhanced interactive menu""" |
| 187 | # Display current configuration |
| 188 | pipeline_mode = "🧠 COMPREHENSIVE" if self.enable_indexing else "⚡ OPTIMIZED" |
| 189 | index_status = "✅ Enabled" if self.enable_indexing else "🔶 Disabled" |
| 190 | segmentation_mode = ( |
| 191 | "📄 SMART" if self.segmentation_enabled else "📋 TRADITIONAL" |
| 192 | ) |
| 193 | |
| 194 | menu = f""" |
| 195 | {Colors.BOLD}{Colors.CYAN}╔═══════════════════════════════════════════════════════════════════════════════╗ |
| 196 | ║ MAIN MENU ║ |
| 197 | ╠═══════════════════════════════════════════════════════════════════════════════╣ |
| 198 | ║ {Colors.OKGREEN}🌐 [U] Process URL {Colors.CYAN}│ {Colors.PURPLE}📁 [F] Upload File {Colors.CYAN}│ {Colors.MAGENTA}💬 [T] Chat Input{Colors.CYAN} ║ |
| 199 | ║ {Colors.BLUE}🧠 [R] Req. Analysis {Colors.CYAN}│ {Colors.OKCYAN}⚙️ [C] Configure {Colors.CYAN}│ {Colors.YELLOW}📊 [H] History{Colors.CYAN} ║ |
| 200 | ║ {Colors.FAIL}❌ [Q] Quit{Colors.CYAN} ║ |
| 201 | ║ ║ |
| 202 | ║ {Colors.BOLD}🤖 Current Pipeline Mode: {pipeline_mode}{Colors.CYAN} ║ |
| 203 | ║ {Colors.BOLD}🗂️ Codebase Indexing: {index_status}{Colors.CYAN} ║ |
| 204 | ║ {Colors.BOLD}📄 Document Processing: {segmentation_mode}{Colors.CYAN} ║ |
| 205 | ║ ║ |
| 206 | ║ {Colors.YELLOW}📝 URL Processing:{Colors.CYAN} ║ |
| 207 | ║ {Colors.YELLOW} ▶ Enter research paper URL (arXiv, IEEE, ACM, etc.) {Colors.CYAN}║ |
| 208 | ║ {Colors.YELLOW} ▶ Supports direct PDF links and academic paper pages {Colors.CYAN}║ |
| 209 | ║ ║ |
| 210 | ║ {Colors.PURPLE}📁 File Processing:{Colors.CYAN} ║ |
| 211 | ║ {Colors.PURPLE} ▶ Upload PDF, DOCX, PPTX, HTML, or TXT files {Colors.CYAN}║ |
| 212 | ║ {Colors.PURPLE} ▶ Intelligent file format detection and processing {Colors.CYAN}║ |
| 213 | ║ ║ |
| 214 | ║ {Colors.MAGENTA}💬 Chat Input:{Colors.CYAN} ║ |
| 215 | ║ {Colors.MAGENTA} ▶ Describe your coding requirements in natural language {Colors.CYAN}║ |
| 216 | ║ {Colors.MAGENTA} ▶ AI generates implementation plan and code automatically {Colors.CYAN}║ |
| 217 | ║ ║ |
| 218 | ║ {Colors.BLUE}🧠 Requirement Analysis (NEW):{Colors.CYAN} ║ |
| 219 | ║ {Colors.BLUE} ▶ Get AI-guided questions to refine your requirements {Colors.CYAN}║ |
| 220 | ║ {Colors.BLUE} ▶ Generate detailed requirement documents from your answers {Colors.CYAN}║ |
| 221 | ║ ║ |
| 222 | ║ {Colors.OKCYAN}🔄 Processing Pipeline:{Colors.CYAN} ║ |
| 223 | ║ {Colors.OKCYAN} ▶ Intelligent agent orchestration → Code synthesis {Colors.CYAN}║ |
| 224 | ║ {Colors.OKCYAN} ▶ Multi-agent coordination with progress tracking {Colors.CYAN}║ |
| 225 | ╚═══════════════════════════════════════════════════════════════════════════════╝{Colors.ENDC} |
| 226 | """ |
| 227 | print(menu) |
| 228 | |
| 229 | def get_user_input(self): |
| 230 | """Get user input with styled prompt""" |
no outgoing calls
no test coverage detected