Files
aitbc/cli/aitbc_cli/commands/global_ai_agents.py
AITBC System b033923756 chore: normalize file permissions across repository
- Remove executable permissions from configuration files (.editorconfig, .env.example, .gitignore)
- Remove executable permissions from documentation files (README.md, LICENSE, SECURITY.md)
- Remove executable permissions from web assets (HTML, CSS, JS files)
- Remove executable permissions from data files (JSON, SQL, YAML, requirements.txt)
- Remove executable permissions from source code files across all apps
- Add executable permissions to Python
2026-03-08 11:26:18 +01:00

74 lines
2.3 KiB
Python
Executable File

"""
Global AI Agents CLI Commands for AITBC
Commands for managing global AI agent communication and collaboration
"""
import click
import json
import requests
from datetime import datetime
from typing import Dict, Any, List, Optional
@click.group()
def global_ai_agents():
"""Global AI agents management commands"""
pass
@global_ai_agents.command()
@click.option('--agent-id', help='Specific agent ID')
@click.option('--test-mode', is_flag=True, help='Run in test mode')
def status(agent_id, test_mode):
"""Get AI agent network status"""
try:
if test_mode:
click.echo("🤖 AI Agent Network Status (test mode)")
click.echo("📊 Total Agents: 125")
click.echo("✅ Active Agents: 118")
click.echo("🌍 Regions: 3")
click.echo("⚡ Avg Response Time: 45ms")
return
# Get status from service
config = get_config()
params = {}
if agent_id:
params["agent_id"] = agent_id
response = requests.get(
f"{config.coordinator_url}/api/v1/network/status",
params=params,
headers={"Authorization": f"Bearer {config.api_key}"},
timeout=30
)
if response.status_code == 200:
status = response.json()
dashboard = status['dashboard']
click.echo("🤖 AI Agent Network Status")
click.echo(f"📊 Total Agents: {dashboard.get('total_agents', 0)}")
click.echo(f"✅ Active Agents: {dashboard.get('active_agents', 0)}")
click.echo(f"🌍 Regions: {dashboard.get('regions', 0)}")
click.echo(f"⚡ Avg Response Time: {dashboard.get('avg_response_time', 0)}ms")
else:
click.echo(f"❌ Failed to get status: {response.text}", err=True)
except Exception as e:
click.echo(f"❌ Error getting status: {str(e)}", err=True)
# Helper function to get config
def get_config():
"""Get CLI configuration"""
try:
from .config import get_config
return get_config()
except ImportError:
# Fallback for testing
from types import SimpleNamespace
return SimpleNamespace(
coordinator_url="http://localhost:8018",
api_key="test-api-key"
)
if __name__ == "__main__":
global_ai_agents()