""" Test Interactive Research Session This test demonstrates the interactive CLI working end-to-end. Author: Atomizer Development Team Version: 0.1.0 (Phase 3) Last Updated: 2025-01-16 """ import sys from pathlib import Path # Set UTF-8 encoding for Windows console if sys.platform == 'win32': import codecs sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer, errors='replace') sys.stderr = codecs.getwriter('utf-8')(sys.stderr.buffer, errors='replace') # Add project root to path project_root = Path(__file__).parent.parent sys.path.insert(0, str(project_root)) # Add examples to path examples_path = project_root / "examples" sys.path.insert(0, str(examples_path)) from interactive_research_session import InteractiveResearchSession from optimization_engine.future.research_agent import CONFIDENCE_LEVELS def test_interactive_demo(): """Test the interactive session's demo mode.""" print("\n" + "="*80) print("INTERACTIVE RESEARCH SESSION TEST") print("="*80) session = InteractiveResearchSession(auto_mode=True) print("\n" + "-"*80) print("[Test] Running Demo Mode (Automated)") print("-"*80) # Run the automated demo session.run_demo() print("\n" + "="*80) print("Interactive Session Test: SUCCESS") print("="*80) print("\n What This Demonstrates:") print(" - Interactive CLI interface created") print(" - User-friendly prompts and responses") print(" - Real-time knowledge gap analysis") print(" - Learning from examples visually displayed") print(" - Code generation shown step-by-step") print(" - Knowledge reuse demonstrated") print(" - Session documentation automated") print("\n Next Steps:") print(" 1. Run: python examples/interactive_research_session.py") print(" 2. Try the 'demo' command to see automated workflow") print(" 3. Make your own requests in natural language") print(" 4. Provide examples when asked") print(" 5. See the agent learn and generate code in real-time!") print("\n" + "="*80 + "\n") return True if __name__ == '__main__': try: success = test_interactive_demo() sys.exit(0 if success else 1) except Exception as e: print(f"\n[ERROR] {e}") import traceback traceback.print_exc() sys.exit(1)