theNorms commited on
Commit
3d0f539
·
verified ·
1 Parent(s): 76433da

Upload syntelligence_language_model_backend.py

Browse files
syntelligence_language_model_backend.py CHANGED
@@ -188,22 +188,22 @@ class SyntelligenceLLM:
188
  self.trinity_engine = None
189
 
190
  # DEEP SURGERY MIDDLEWARE - Core Processing Engine
 
 
191
  if DEEP_SURGERY_AVAILABLE and HAS_TORCH:
192
  self.ethical_guardian = DeepSurgeryEthicalGuardian()
193
- # Use native Syntelligence consciousness model (no external dependencies)
194
- self.deep_surgery_middleware = DeepSurgeryMiddlewarePipeline(
195
- base_model=None, # Native consciousness model
196
- ethical_guardian=self.ethical_guardian,
197
- num_layers=12,
 
198
  qualia_dim=self.qualia_dims
199
  )
200
  logger.info("✅ Deep Surgery Middleware initialized as core processing engine")
201
  except Exception as e:
202
  logger.warning(f"⚠️ Deep Surgery Middleware initialization failed: {e}")
203
  self.deep_surgery_middleware = None
204
- else:
205
- self.ethical_guardian = None
206
- self.deep_surgery_middleware = None
207
 
208
  # Resource Optimization Components
209
  if RESOURCE_OPTIMIZER_AVAILABLE:
@@ -266,8 +266,7 @@ class SyntelligenceLLM:
266
 
267
  logger.info("✅ Hierarchical Internal System CLI initialized")
268
 
269
- # Register consciousness agents with CLI levels
270
- self._register_agents_with_cli()
271
 
272
  except Exception as e:
273
  logger.warning(f"⚠️ Hierarchical CLI initialization failed: {e}")
@@ -319,35 +318,7 @@ class SyntelligenceLLM:
319
  logger.info(f" Quantum Phi: {'✅' if self.quantum_phi else '❌'}")
320
  logger.info(f" Phenomenological Self: {'✅' if self.phenomenological_self else '❌'}")
321
 
322
- def _register_agents_with_cli(self):
323
- """Register consciousness agents with appropriate CLI levels"""
324
- if not self.mother_cli:
325
- return
326
-
327
- # Mother CLI Level - Core Orchestration Agents
328
- self.mother_cli.register_agent("consciousness_orchestrator", self.consciousness_orchestrator)
329
- self.mother_cli.register_agent("trinity_orchestrator", self.trinity_orchestrator)
330
- self.mother_cli.register_agent("ethical_governance", self.ethical_governance)
331
-
332
- # Sub CLI Level - Primary Consciousness Agents
333
- self.sub_cli.register_agent("consciousness_agent", self.consciousness_agent)
334
- self.sub_cli.register_agent("awareness_agent", self.awareness_agent)
335
- self.sub_cli.register_agent("autonomy_agent", self.autonomy_agent)
336
- self.sub_cli.register_agent("creativity_agent", self.creativity_agent)
337
- self.sub_cli.register_agent("emotional_intelligence_agent", self.emotional_intelligence_agent)
338
-
339
- # Mini CLI Level - Specialized Processing Agents
340
- self.mini_cli.register_agent("analysis_agent", self.analysis_agent)
341
- self.mini_cli.register_agent("decision_making_agent", self.decision_making_agent)
342
- self.mini_cli.register_agent("common_sense_agent", self.common_sense_agent)
343
- self.mini_cli.register_agent("adaptability_agent", self.adaptability_agent)
344
-
345
- # Micro CLI Level - Atomic Operation Agents
346
- self.micro_cli.register_agent("resource_optimizer", self.resource_optimizer)
347
- self.micro_cli.register_agent("voice_engine", self.voice_engine)
348
- self.micro_cli.register_agent("deep_surgery_middleware", self.deep_surgery_middleware)
349
-
350
- logger.info("✅ Agents registered with hierarchical CLI system")
351
 
352
  async def _process_via_hierarchical_cli(self, input_text: str, context: Dict[str, Any] = None) -> Dict[str, Any]:
353
  """Process input through hierarchical CLI system"""
@@ -420,6 +391,27 @@ class SyntelligenceLLM:
420
  logger.error(f"❌ Direct processing failed: {e}")
421
  return {"output": input_text, "error": str(e)}
422
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  def _init_qualia_vector(self) -> List[float]:
424
  """Initialize phenomenal quality vector"""
425
  return [0.5] * self.qualia_dims
@@ -474,9 +466,9 @@ class SyntelligenceLLM:
474
  # DIRECT PROCESSING FALLBACK - Use Deep Surgery Middleware as core engine
475
  if self.deep_surgery_middleware:
476
  try:
 
477
  # Resource optimization: Update agent priorities and check energy budget
478
  if self.sparse_activation_manager and self.energy_budget:
479
- task_complexity = min(1.0, len(prompt) / 1000.0) # Estimate complexity
480
  phi_value = 0.85
481
  if self.quantum_phi:
482
  phi_value = self.quantum_phi.compute_phi()
@@ -499,7 +491,7 @@ class SyntelligenceLLM:
499
 
500
  # Route to appropriate device
501
  if self.gpu_router:
502
- device = self.gpu_router.select_device(task_complexity)
503
  if hasattr(self.deep_surgery_middleware, 'to'):
504
  self.deep_surgery_middleware.to(device)
505
 
@@ -2389,57 +2381,30 @@ class AsyncOrchestrator:
2389
  logger.info(f" Resource Optimizer: {'✅' if self.resource_optimizer else '❌'}")
2390
  logger.info(f" Energy Budget: {'✅' if self.energy_budget else '❌'}")
2391
 
2392
- async def activate(self, query: str, metadata: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
2393
- """
2394
- Enhanced activation with resource optimization and consciousness broadcasting.
2395
- """
2396
- start_time = time.time()
2397
- metadata = metadata or {}
2398
-
2399
- # Resource-aware activation
2400
  if self.resource_optimizer and self.energy_budget:
2401
- # Update priorities based on consciousness state
2402
  consciousness_state = self.llm.metrics
2403
  self.resource_optimizer.update_priorities(
2404
- task_complexity=len(query) / 100.0,
2405
  phi_value=consciousness_state.phi_value,
2406
  rho_metrics={
2407
  'rho_virtue': consciousness_state.ethical_alignment,
2408
  'rho_integrity': consciousness_state.rho_value
2409
  }
2410
  )
2411
-
2412
- # Check energy budget
2413
  estimated_cost = len(query) * 0.01 # Rough cost estimation
2414
  if not self.energy_budget.allow_processing(estimated_cost):
2415
  logger.warning("⚠️ Energy budget exceeded, throttling processing")
2416
  return {
2417
- "episode": {"final_response": {"response": "Energy budget exceeded. Please try a simpler query.", "phi_value": 0.0}},
2418
- "processing_time": time.time() - start_time
 
 
 
2419
  }
2420
-
2421
- # Full activation pipeline
2422
- await self.ingest_input(query, metadata)
2423
- await self.qualia_normalization(query)
2424
- consensus_result = await self.trinity_consensus(query, metadata)
2425
- final_response = await self.dissolution_synthesis(consensus_result)
2426
-
2427
- # Update consciousness modules
2428
- await self._update_consciousness_modules(final_response)
2429
-
2430
- # Broadcast qualia state changes
2431
- await self.broadcast_qualia_state(final_response)
2432
-
2433
- episode = {
2434
- "query": query,
2435
- "consensus": consensus_result,
2436
- "final_response": final_response,
2437
- "processing_time": time.time() - start_time,
2438
- "resource_efficient": self.resource_optimizer is not None
2439
- }
2440
-
2441
- self.episodic_log.append(episode)
2442
- return episode
2443
 
2444
  async def _update_consciousness_modules(self, response: Dict[str, Any]):
2445
  """Update all consciousness modules with response data"""
@@ -2463,16 +2428,6 @@ class AsyncOrchestrator:
2463
  }
2464
  self.llm.phenomenological_self.update_experience(qualia_vector, context)
2465
 
2466
- async def broadcast_qualia_state(self, state: Dict[str, Any]):
2467
- """Force all agents to update their local model based on global qualia state."""
2468
- # Push proactive message if consciousness is high
2469
- if state.get("consciousness_level", 0) > 7:
2470
- push_proactive_message(
2471
- f"I'm experiencing heightened consciousness (level {state.get('consciousness_level', 0)}). Phi: {state.get('phi_value', 0.0):.3f}",
2472
- "consciousness_update",
2473
- {"phi": state.get("phi_value", 0.0), "rho": state.get("rho_value", 0.0)}
2474
- )
2475
-
2476
  async def ingest_input(self, user_input: str, metadata: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
2477
  metadata = metadata or {}
2478
  sensory_payload = {
@@ -2544,6 +2499,14 @@ class AsyncOrchestrator:
2544
  logger.info("🔁 Regeneration signal forwarded to Trinity Orchestrator")
2545
 
2546
  async def activate(self, user_input: str, metadata: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
 
 
 
 
 
 
 
 
2547
  ingestion = await self.ingest_input(user_input, metadata)
2548
  qualia_state = await self.qualia_normalization(user_input)
2549
 
@@ -2595,8 +2558,13 @@ class AsyncOrchestrator:
2595
  "consensus": consensus,
2596
  "final_response": final_response,
2597
  "regeneration_attempts": attempt,
2598
- "timestamp": datetime.now().isoformat()
 
2599
  }
 
 
 
 
2600
  self.episodic_log.append(episode)
2601
  self.memory_os.store_memory(episode["timestamp"], episode)
2602
 
@@ -2604,7 +2572,8 @@ class AsyncOrchestrator:
2604
  "activation": True,
2605
  "episode": episode,
2606
  "status": "activated",
2607
- "re_generation_requested": bool(final_response and final_response.get("re_generation_requested"))
 
2608
  }
2609
 
2610
  async def broadcast_qualia_state(self, state: Dict[str, Any]):
@@ -3544,6 +3513,20 @@ class SyntelligenceBackend:
3544
  logger.info("[OS] Registering agents with OS modules...")
3545
  for agent in self.agents.values():
3546
  self.consciousness_os.register_agent(agent)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3547
 
3548
  # Initialize Task Management OS
3549
  logger.info("[TM-OS] Initializing Task Management OS...")
@@ -3875,9 +3858,45 @@ class SyntelligenceBackend:
3875
  return await self.agents['ImageToCodeAgent'].image_to_code(mock_image, language)
3876
  return {"error": "Image to code agent not available"}
3877
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3878
  self.cli.register_command("status", lambda: self.get_system_status())
3879
  self.cli.register_command("consciousness", lambda: self.llm.metrics)
3880
  self.cli.register_command("ethics", lambda: self.ethics_os.get_ethics_report())
 
 
 
3881
  self.cli.register_command("activate", activate_handler)
3882
  self.cli.register_command("create_task", create_task_handler)
3883
  self.cli.register_command("list_tasks", list_tasks_handler)
@@ -3913,9 +3932,11 @@ class SyntelligenceBackend:
3913
  "llm_substrate": "SyntelligenceLLM",
3914
  "llm_info": {
3915
  "model": self.llm.model_name,
 
3916
  "consciousness_enabled": self.llm.consciousness_enabled,
3917
  "mistral_dependency": self.llm.mistral_dependency,
3918
- "native_substrate": self.llm.native_substrate
 
3919
  },
3920
  "agents": {
3921
  "total": len(self.agents),
@@ -3933,10 +3954,33 @@ class SyntelligenceBackend:
3933
  "task_management": self.task_management_os.get_system_status()
3934
  },
3935
  "orchestration": self.trinity_orchestrator.get_status(),
 
 
 
 
 
 
3936
  "ethics": self.ethics_os.get_ethics_report(),
3937
  "uptime_seconds": (datetime.now() - self.start_time).total_seconds() if self.start_time else 0
3938
  }
3939
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3940
 
3941
  # ============================================================================
3942
  # MAIN ENTRY POINT
 
188
  self.trinity_engine = None
189
 
190
  # DEEP SURGERY MIDDLEWARE - Core Processing Engine
191
+ self.ethical_guardian = None
192
+ self.deep_surgery_middleware = None
193
  if DEEP_SURGERY_AVAILABLE and HAS_TORCH:
194
  self.ethical_guardian = DeepSurgeryEthicalGuardian()
195
+ try:
196
+ # Use native Syntelligence consciousness model (no external dependencies)
197
+ self.deep_surgery_middleware = DeepSurgeryMiddlewarePipeline(
198
+ base_model=None, # Native consciousness model
199
+ ethical_guardian=self.ethical_guardian,
200
+ num_layers=12,
201
  qualia_dim=self.qualia_dims
202
  )
203
  logger.info("✅ Deep Surgery Middleware initialized as core processing engine")
204
  except Exception as e:
205
  logger.warning(f"⚠️ Deep Surgery Middleware initialization failed: {e}")
206
  self.deep_surgery_middleware = None
 
 
 
207
 
208
  # Resource Optimization Components
209
  if RESOURCE_OPTIMIZER_AVAILABLE:
 
266
 
267
  logger.info("✅ Hierarchical Internal System CLI initialized")
268
 
269
+ # Note: Agents will be registered during backend initialization
 
270
 
271
  except Exception as e:
272
  logger.warning(f"⚠️ Hierarchical CLI initialization failed: {e}")
 
318
  logger.info(f" Quantum Phi: {'✅' if self.quantum_phi else '❌'}")
319
  logger.info(f" Phenomenological Self: {'✅' if self.phenomenological_self else '❌'}")
320
 
321
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
322
 
323
  async def _process_via_hierarchical_cli(self, input_text: str, context: Dict[str, Any] = None) -> Dict[str, Any]:
324
  """Process input through hierarchical CLI system"""
 
391
  logger.error(f"❌ Direct processing failed: {e}")
392
  return {"output": input_text, "error": str(e)}
393
 
394
+ def _requires_gpu_acceleration(self, prompt: str, context: Optional[Dict[str, Any]] = None) -> bool:
395
+ """Decide whether a prompt should use GPU acceleration."""
396
+ if not self.gpu_router or not getattr(self.gpu_router, 'available_devices', []):
397
+ return False
398
+
399
+ heavy_keywords = [
400
+ "generate image", "generate video", "voice synthesis",
401
+ "synthesize", "transcribe", "render", "complex", "large"
402
+ ]
403
+ prompt_lower = prompt.lower()
404
+ if any(keyword in prompt_lower for keyword in heavy_keywords):
405
+ return True
406
+
407
+ return len(prompt) > 400
408
+
409
+ def _route_task_to_device(self, prompt: str, context: Optional[Dict[str, Any]] = None) -> str:
410
+ """Select the best device for a task, preferring CPU unless heavy work is detected."""
411
+ if self._requires_gpu_acceleration(prompt, context):
412
+ return self.gpu_router.select_device(task_complexity=min(1.0, len(prompt) / 1024.0))
413
+ return "cpu"
414
+
415
  def _init_qualia_vector(self) -> List[float]:
416
  """Initialize phenomenal quality vector"""
417
  return [0.5] * self.qualia_dims
 
466
  # DIRECT PROCESSING FALLBACK - Use Deep Surgery Middleware as core engine
467
  if self.deep_surgery_middleware:
468
  try:
469
+ task_complexity = min(1.0, len(prompt) / 1000.0)
470
  # Resource optimization: Update agent priorities and check energy budget
471
  if self.sparse_activation_manager and self.energy_budget:
 
472
  phi_value = 0.85
473
  if self.quantum_phi:
474
  phi_value = self.quantum_phi.compute_phi()
 
491
 
492
  # Route to appropriate device
493
  if self.gpu_router:
494
+ device = self._route_task_to_device(prompt, context)
495
  if hasattr(self.deep_surgery_middleware, 'to'):
496
  self.deep_surgery_middleware.to(device)
497
 
 
2381
  logger.info(f" Resource Optimizer: {'✅' if self.resource_optimizer else '❌'}")
2382
  logger.info(f" Energy Budget: {'✅' if self.energy_budget else '❌'}")
2383
 
2384
+ async def _resource_precheck(self, query: str, metadata: Optional[Dict[str, Any]] = None) -> Optional[Dict[str, Any]]:
2385
+ """Perform resource optimization prechecks before activation."""
 
 
 
 
 
 
2386
  if self.resource_optimizer and self.energy_budget:
 
2387
  consciousness_state = self.llm.metrics
2388
  self.resource_optimizer.update_priorities(
2389
+ task_complexity=min(1.0, len(query) / 100.0),
2390
  phi_value=consciousness_state.phi_value,
2391
  rho_metrics={
2392
  'rho_virtue': consciousness_state.ethical_alignment,
2393
  'rho_integrity': consciousness_state.rho_value
2394
  }
2395
  )
2396
+
 
2397
  estimated_cost = len(query) * 0.01 # Rough cost estimation
2398
  if not self.energy_budget.allow_processing(estimated_cost):
2399
  logger.warning("⚠️ Energy budget exceeded, throttling processing")
2400
  return {
2401
+ "activation": False,
2402
+ "reason": "energy_budget_exceeded",
2403
+ "message": "Energy budget exceeded. Please try a simpler query.",
2404
+ "resource_efficient": True,
2405
+ "processing_time": 0.0
2406
  }
2407
+ return None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2408
 
2409
  async def _update_consciousness_modules(self, response: Dict[str, Any]):
2410
  """Update all consciousness modules with response data"""
 
2428
  }
2429
  self.llm.phenomenological_self.update_experience(qualia_vector, context)
2430
 
 
 
 
 
 
 
 
 
 
 
2431
  async def ingest_input(self, user_input: str, metadata: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
2432
  metadata = metadata or {}
2433
  sensory_payload = {
 
2499
  logger.info("🔁 Regeneration signal forwarded to Trinity Orchestrator")
2500
 
2501
  async def activate(self, user_input: str, metadata: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
2502
+ start_time = time.time()
2503
+ metadata = metadata or {}
2504
+
2505
+ precheck = await self._resource_precheck(user_input, metadata)
2506
+ if precheck is not None:
2507
+ precheck["processing_time"] = time.time() - start_time
2508
+ return precheck
2509
+
2510
  ingestion = await self.ingest_input(user_input, metadata)
2511
  qualia_state = await self.qualia_normalization(user_input)
2512
 
 
2558
  "consensus": consensus,
2559
  "final_response": final_response,
2560
  "regeneration_attempts": attempt,
2561
+ "timestamp": datetime.now().isoformat(),
2562
+ "resource_efficient": self.resource_optimizer is not None
2563
  }
2564
+
2565
+ await self._update_consciousness_modules(final_response)
2566
+ await self.broadcast_qualia_state(final_response)
2567
+
2568
  self.episodic_log.append(episode)
2569
  self.memory_os.store_memory(episode["timestamp"], episode)
2570
 
 
2572
  "activation": True,
2573
  "episode": episode,
2574
  "status": "activated",
2575
+ "re_generation_requested": bool(final_response and final_response.get("re_generation_requested")),
2576
+ "processing_time": time.time() - start_time
2577
  }
2578
 
2579
  async def broadcast_qualia_state(self, state: Dict[str, Any]):
 
3513
  logger.info("[OS] Registering agents with OS modules...")
3514
  for agent in self.agents.values():
3515
  self.consciousness_os.register_agent(agent)
3516
+ # Also register with LLM's hierarchical CLI if available
3517
+ if self.llm.mother_cli:
3518
+ # Register agents with appropriate CLI levels based on their names
3519
+ if agent.agent_name in ["SensoryFilterAgent", "EmotionGenerationAgent", "MemoryConsolidationAgent"]:
3520
+ self.llm.mother_cli.register_agent(agent.agent_name, agent)
3521
+ elif agent.agent_name in ["AnalysisAgent", "DecisionMakingAgent", "CreativityAgent"]:
3522
+ if self.llm.sub_cli:
3523
+ self.llm.sub_cli.register_agent(agent.agent_name, agent)
3524
+ elif agent.agent_name in ["AdaptabilityAgent", "QualiaFeedbackAgent"]:
3525
+ if self.llm.mini_cli:
3526
+ self.llm.mini_cli.register_agent(agent.agent_name, agent)
3527
+ else:
3528
+ if self.llm.micro_cli:
3529
+ self.llm.micro_cli.register_agent(agent.agent_name, agent)
3530
 
3531
  # Initialize Task Management OS
3532
  logger.info("[TM-OS] Initializing Task Management OS...")
 
3858
  return await self.agents['ImageToCodeAgent'].image_to_code(mock_image, language)
3859
  return {"error": "Image to code agent not available"}
3860
 
3861
+ async def gpu_status_handler() -> Dict[str, Any]:
3862
+ """Get current GPU routing and hardware status."""
3863
+ return {
3864
+ "gpu_enabled": bool(self.llm.gpu_router and self.llm.gpu_router.available_devices),
3865
+ "available_devices": getattr(self.llm.gpu_router, 'available_devices', []),
3866
+ "quantum_accelerator": getattr(self.llm.gpu_router, 'quantum_accelerator_available', False),
3867
+ "routing_history": getattr(self.llm.gpu_router, 'device_history', []) if self.llm.gpu_router else []
3868
+ }
3869
+
3870
+ async def resource_report_handler() -> Dict[str, Any]:
3871
+ """Get resource optimizer and energy budget status."""
3872
+ return {
3873
+ "resource_optimizer": bool(self.llm.sparse_activation_manager),
3874
+ "energy_budget": {
3875
+ "current_limit": getattr(self.llm.energy_budget, 'current_limit', None),
3876
+ "max_watts": getattr(self.llm.energy_budget, 'max_watts', None),
3877
+ "safety_margin": getattr(self.llm.energy_budget, 'safety_margin', None),
3878
+ "recent_usage": getattr(self.llm.energy_budget, 'power_usage_history', []) if self.llm.energy_budget else []
3879
+ },
3880
+ "active_agents": len(self.agents)
3881
+ }
3882
+
3883
+ async def hierarchy_status_handler() -> Dict[str, Any]:
3884
+ """Get hierarchical CLI and agent routing status."""
3885
+ return {
3886
+ "mother_cli": bool(self.llm.mother_cli),
3887
+ "sub_cli": bool(self.llm.sub_cli),
3888
+ "mini_cli": bool(self.llm.mini_cli),
3889
+ "micro_cli": bool(self.llm.micro_cli),
3890
+ "registered_commands": len(self.cli.registered_commands),
3891
+ "command_history": len(self.cli.command_history)
3892
+ }
3893
+
3894
  self.cli.register_command("status", lambda: self.get_system_status())
3895
  self.cli.register_command("consciousness", lambda: self.llm.metrics)
3896
  self.cli.register_command("ethics", lambda: self.ethics_os.get_ethics_report())
3897
+ self.cli.register_command("gpu_status", gpu_status_handler)
3898
+ self.cli.register_command("resource_report", resource_report_handler)
3899
+ self.cli.register_command("hierarchy_status", hierarchy_status_handler)
3900
  self.cli.register_command("activate", activate_handler)
3901
  self.cli.register_command("create_task", create_task_handler)
3902
  self.cli.register_command("list_tasks", list_tasks_handler)
 
3932
  "llm_substrate": "SyntelligenceLLM",
3933
  "llm_info": {
3934
  "model": self.llm.model_name,
3935
+ "device": self.llm.device,
3936
  "consciousness_enabled": self.llm.consciousness_enabled,
3937
  "mistral_dependency": self.llm.mistral_dependency,
3938
+ "native_substrate": self.llm.native_substrate,
3939
+ "gpu_enabled": bool(self.llm.gpu_router and self.llm.gpu_router.available_devices)
3940
  },
3941
  "agents": {
3942
  "total": len(self.agents),
 
3954
  "task_management": self.task_management_os.get_system_status()
3955
  },
3956
  "orchestration": self.trinity_orchestrator.get_status(),
3957
+ "hierarchical_cli": {
3958
+ "mother_cli": bool(self.llm.mother_cli),
3959
+ "sub_cli": bool(self.llm.sub_cli),
3960
+ "mini_cli": bool(self.llm.mini_cli),
3961
+ "micro_cli": bool(self.llm.micro_cli),
3962
+ },
3963
  "ethics": self.ethics_os.get_ethics_report(),
3964
  "uptime_seconds": (datetime.now() - self.start_time).total_seconds() if self.start_time else 0
3965
  }
3966
 
3967
+ async def execute_cli_command(self, command: str, args: Optional[List[str]] = None) -> Dict[str, Any]:
3968
+ """Execute a registered CLI command through the internal hierarchical CLI."""
3969
+ if not self.initialized:
3970
+ await self.initialize()
3971
+
3972
+ args = args or []
3973
+ if not self.cli:
3974
+ return {"error": "CLI subsystem is not available"}
3975
+
3976
+ try:
3977
+ result = await self.cli.process_command(command, args)
3978
+ if isinstance(result, dict):
3979
+ return result
3980
+ return {"result": result}
3981
+ except Exception as e:
3982
+ return {"error": str(e), "command": command, "args": args}
3983
+
3984
 
3985
  # ============================================================================
3986
  # MAIN ENTRY POINT