File size: 2,363 Bytes
24214fc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env python3
"""
Simple test script for PromptController functionality.
"""

import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'src'))

from config.prompt_management import PromptController
from config.prompt_management.data_models import Indicator, IndicatorCategory

def test_prompt_controller():
    """Test basic PromptController functionality."""
    print("Testing PromptController...")
    
    # Initialize controller
    controller = PromptController()
    print("βœ“ PromptController initialized")
    
    # Test getting a prompt configuration
    config = controller.get_prompt('spiritual_monitor')
    print(f"βœ“ Got prompt config for spiritual_monitor: {len(config.base_prompt)} chars")
    print(f"βœ“ Shared indicators: {len(config.shared_indicators)}")
    print(f"βœ“ Shared rules: {len(config.shared_rules)}")
    print(f"βœ“ Templates: {len(config.templates)}")
    
    # Test session override
    session_id = "test_session_123"
    test_prompt = "This is a test session override prompt."
    
    success = controller.set_session_override('spiritual_monitor', test_prompt, session_id)
    print(f"βœ“ Session override set: {success}")
    
    # Get prompt with session override
    session_config = controller.get_prompt('spiritual_monitor', session_id=session_id)
    print(f"βœ“ Session override active: {session_config.session_override is not None}")
    
    # Test validation
    validation_result = controller.validate_consistency()
    print(f"βœ“ Validation result: {validation_result.is_valid}")
    if validation_result.errors:
        print(f"  Errors: {validation_result.errors}")
    if validation_result.warnings:
        print(f"  Warnings: {validation_result.warnings}")
    
    # Test performance metrics
    controller.log_performance_metric('spiritual_monitor', 0.5, 0.85)
    metrics = controller.get_performance_metrics('spiritual_monitor')
    print(f"βœ“ Performance metrics: {metrics['total_executions']} executions")
    
    # Test available agents
    agents = controller.list_available_agents()
    print(f"βœ“ Available agents: {agents}")
    
    # Clean up session
    controller.clear_session_overrides(session_id)
    print("βœ“ Session overrides cleared")
    
    print("\nAll tests passed! βœ“")

if __name__ == "__main__":
    test_prompt_controller()