JAEGIS Orchestrator Integration
Help System Integration with Main JAEGIS Orchestrator
Integration Overview
This document defines how the help system integrates with the main JAEGIS orchestrator to ensure seamless operation and consistent command availability across all interactions.
π ORCHESTRATOR INTEGRATION SYSTEM
Integration Architecture
class JAEGISOrchestratorIntegration:
"""
Integration system connecting help system with main JAEGIS orchestrator
"""
def __init__(self):
"""
Initialize orchestrator integration with help system
"""
print("π JAEGIS ORCHESTRATOR INTEGRATION: INITIALIZING")
# Load integration components
self.help_system = self.load_help_system()
self.orchestrator_hooks = self.establish_orchestrator_hooks()
self.input_interceptor = self.initialize_input_interceptor()
self.command_router = self.initialize_command_router()
print(" β
Help system: LOADED")
print(" β
Orchestrator hooks: ESTABLISHED")
print(" β
Input interceptor: ACTIVE")
print(" β
Command router: OPERATIONAL")
print(" β
Integration: COMPLETE")
def establish_orchestrator_hooks(self):
"""
Establish hooks with main JAEGIS orchestrator system
"""
orchestrator_hooks = {
'initialization_hook': {
'trigger': 'orchestrator_startup',
'priority': 'CRITICAL',
'action': 'load_help_system_immediately',
'validation': 'verify_help_system_operational'
},
'input_processing_hook': {
'trigger': 'before_user_input_processing',
'priority': 'HIGHEST',
'action': 'intercept_help_requests',
'method': 'check_for_help_patterns_first'
},
'mode_selection_hook': {
'trigger': 'mode_selection_display',
'priority': 'HIGH',
'action': 'include_help_information',
'method': 'add_help_context_to_mode_menu'
},
'agent_activation_hook': {
'trigger': 'agent_activation_sequence',
'priority': 'MEDIUM',
'action': 'preserve_help_availability',
'method': 'maintain_help_during_agent_switch'
}
}
return orchestrator_hooks
def initialize_input_interceptor(self):
"""
Initialize input interceptor for help request detection
"""
interceptor_config = {
'interception_patterns': [
# Exact command patterns
r'^/help$', r'^/HELP$', r'^help$', r'^HELP$',
# Natural language patterns
r'.*what commands.*available.*',
r'.*show.*all commands.*',
r'.*how.*commands work.*',
r'.*list.*commands.*',
r'.*help.*commands.*',
r'.*what can.*do.*',
r'.*available commands.*',
r'.*command list.*',
r'.*show commands.*',
r'.*help menu.*'
],
'interception_priority': 'HIGHEST',
'processing_method': 'immediate_help_response',
'fallback_behavior': 'pass_to_normal_processing'
}
return interceptor_config
def initialize_command_router(self):
"""
Initialize command router for help system integration
"""
router_config = {
'routing_logic': {
'help_requests': 'route_to_help_system',
'agent_commands': 'route_to_agent_activation',
'workflow_commands': 'route_to_workflow_system',
'unknown_commands': 'route_to_help_suggestion'
},
'integration_points': {
'help_system': 'direct_integration',
'agent_system': 'coordinated_integration',
'workflow_system': 'collaborative_integration'
},
'error_handling': {
'help_system_failure': 'fallback_to_basic_help',
'routing_failure': 'display_available_commands',
'integration_failure': 'emergency_help_mode'
}
}
return router_config
def process_user_input(self, user_input):
"""
Process user input with help system integration
"""
# Step 1: Check for help requests first (highest priority)
if self.is_help_request(user_input):
return self.handle_help_request(user_input)
# Step 2: Check for agent commands
if self.is_agent_command(user_input):
return self.handle_agent_command(user_input)
# Step 3: Check for workflow commands
if self.is_workflow_command(user_input):
return self.handle_workflow_command(user_input)
# Step 4: Pass to normal orchestrator processing
return self.pass_to_orchestrator(user_input)
def is_help_request(self, user_input):
"""
Check if user input is a help request
"""
import re
normalized_input = user_input.strip().lower()
# Check exact patterns
exact_patterns = ['/help', '/HELP', 'help', 'HELP']
if normalized_input in [p.lower() for p in exact_patterns]:
return True
# Check natural language patterns
natural_patterns = [
'what commands are available',
'show me all commands',
'how do the commands work',
'list all commands',
'help me with commands',
'what can i do',
'available commands',
'command list',
'show commands',
'help menu'
]
for pattern in natural_patterns:
if pattern in normalized_input:
return True
# Check partial patterns
help_keywords = ['command', 'commands', 'help', 'menu', 'available', 'list', 'show']
question_words = ['what', 'how', 'where', 'which']
words = normalized_input.split()
has_help_keyword = any(word in help_keywords for word in words)
has_question_word = any(word in question_words for word in words)
if has_help_keyword and has_question_word:
return True
return False
def handle_help_request(self, user_input):
"""
Handle help request by routing to help system
"""
help_response = self.help_system.generate_complete_help_menu()
return {
'response_type': 'help_menu',
'content': help_response,
'source': 'integrated_help_system',
'processed_by': 'orchestrator_integration'
}
def integrate_with_mode_selection(self):
"""
Integrate help information with mode selection menu
"""
mode_selection_integration = {
'help_context_addition': {
'location': 'after_mode_options',
'content': 'π‘ **Need Help?** Type `/help` or "what commands are available?" at any time for complete command list.',
'formatting': 'highlighted_tip'
},
'command_preview': {
'location': 'before_mode_selection',
'content': 'π **Quick Commands**: `/help` (full help), `/agent-list` (see agents), `/{agent}` (activate agent)',
'formatting': 'quick_reference'
}
}
return mode_selection_integration
def maintain_help_during_agent_switch(self):
"""
Maintain help system availability during agent switching
"""
agent_switch_maintenance = {
'pre_switch_actions': [
'preserve_help_system_state',
'maintain_help_command_registration',
'ensure_help_router_availability'
],
'during_switch_actions': [
'keep_help_system_active',
'update_agent_specific_commands',
'maintain_universal_help_recognition'
],
'post_switch_actions': [
'verify_help_system_functionality',
'test_help_command_response',
'confirm_agent_command_integration'
]
}
return agent_switch_maintenanceIntegration Testing Framework
Error Handling and Fallbacks
This integration ensures the help system works seamlessly with the main JAEGIS orchestrator, providing consistent and reliable access to help functionality across all interactions.
Last updated