Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Documentation Validation / validate-docs (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Python Tests / test-python (push) Failing after 1m34s
Added stub data returns and error handling across multiple CLI handlers to prevent training script failures when services are unavailable: - AI handlers: Return stub job data instead of sys.exit on errors, fix coordinator_url parameter handling, wrap task_data in proper structure for job submission - Agent SDK: Add complete stub implementation for create/register/list/status/capabilities - System handlers: Add graceful fall
163 lines
11 KiB
Python
163 lines
11 KiB
Python
"""System, analytics, security, compliance, simulation, and cluster command registration for the unified CLI."""
|
|
|
|
import argparse
|
|
|
|
from parser_context import ParserContext
|
|
|
|
|
|
def register(subparsers: argparse._SubParsersAction, ctx: ParserContext) -> None:
|
|
mining_parser = subparsers.add_parser("mining", help="Mining lifecycle and rewards")
|
|
mining_parser.set_defaults(handler=ctx.handle_mining_action, mining_action="status")
|
|
mining_subparsers = mining_parser.add_subparsers(dest="mining_action")
|
|
|
|
mining_status_parser = mining_subparsers.add_parser("status", help="Show mining status")
|
|
mining_status_parser.add_argument("--wallet")
|
|
mining_status_parser.add_argument("--rpc-url", default=ctx.default_rpc_url)
|
|
mining_status_parser.set_defaults(handler=ctx.handle_mining_action, mining_action="status")
|
|
|
|
mining_start_parser = mining_subparsers.add_parser("start", help="Start mining")
|
|
mining_start_parser.add_argument("--wallet")
|
|
mining_start_parser.add_argument("--rpc-url", default=ctx.default_rpc_url)
|
|
mining_start_parser.set_defaults(handler=ctx.handle_mining_action, mining_action="start")
|
|
|
|
mining_stop_parser = mining_subparsers.add_parser("stop", help="Stop mining")
|
|
mining_stop_parser.add_argument("--rpc-url", default=ctx.default_rpc_url)
|
|
mining_stop_parser.set_defaults(handler=ctx.handle_mining_action, mining_action="stop")
|
|
|
|
mining_rewards_parser = mining_subparsers.add_parser("rewards", help="Show mining rewards")
|
|
mining_rewards_parser.add_argument("--wallet")
|
|
mining_rewards_parser.add_argument("--rpc-url", default=ctx.default_rpc_url)
|
|
mining_rewards_parser.set_defaults(handler=ctx.handle_mining_action, mining_action="rewards")
|
|
|
|
system_parser = subparsers.add_parser("system", help="System health and overview")
|
|
system_parser.set_defaults(handler=ctx.handle_system_status)
|
|
system_subparsers = system_parser.add_subparsers(dest="system_action")
|
|
|
|
system_status_parser = system_subparsers.add_parser("status", help="Show system status")
|
|
system_status_parser.set_defaults(handler=ctx.handle_system_status)
|
|
|
|
economics_parser = subparsers.add_parser("economics", help="Economic intelligence and modeling")
|
|
economics_parser.set_defaults(handler=lambda parsed, parser=economics_parser: parser.print_help())
|
|
economics_subparsers = economics_parser.add_subparsers(dest="economics_action")
|
|
|
|
economics_distributed_parser = economics_subparsers.add_parser("distributed", help="Distributed cost optimization")
|
|
economics_distributed_parser.add_argument("--cost-optimize", action="store_true")
|
|
economics_distributed_parser.set_defaults(handler=ctx.handle_economics_action)
|
|
|
|
economics_model_parser = economics_subparsers.add_parser("model", help="Economic modeling")
|
|
economics_model_parser.add_argument("--type", default="cost-optimization")
|
|
economics_model_parser.set_defaults(handler=ctx.handle_economics_action)
|
|
|
|
economics_market_parser = economics_subparsers.add_parser("market", help="Market analysis")
|
|
economics_market_parser.add_argument("--analyze", action="store_true")
|
|
economics_market_parser.set_defaults(handler=ctx.handle_economics_action)
|
|
|
|
economics_trends_parser = economics_subparsers.add_parser("trends", help="Economic trends analysis")
|
|
economics_trends_parser.add_argument("--period")
|
|
economics_trends_parser.set_defaults(handler=ctx.handle_economics_action)
|
|
|
|
economics_optimize_parser = economics_subparsers.add_parser("optimize", help="Optimize economic strategy")
|
|
economics_optimize_parser.add_argument("--target", choices=["revenue", "cost", "all"], default="all")
|
|
economics_optimize_parser.set_defaults(handler=ctx.handle_economics_action)
|
|
|
|
economics_strategy_parser = economics_subparsers.add_parser("strategy", help="Global economic strategy")
|
|
economics_strategy_parser.add_argument("--optimize", action="store_true")
|
|
economics_strategy_parser.add_argument("--global", dest="global_strategy", action="store_true")
|
|
economics_strategy_parser.set_defaults(handler=ctx.handle_economics_action)
|
|
cluster_parser = subparsers.add_parser("cluster", help="Cluster management")
|
|
cluster_parser.set_defaults(handler=lambda parsed, parser=cluster_parser: parser.print_help())
|
|
cluster_subparsers = cluster_parser.add_subparsers(dest="cluster_action")
|
|
|
|
cluster_status_parser = cluster_subparsers.add_parser("status", help="Show cluster status")
|
|
cluster_status_parser.add_argument("--nodes", nargs="*", default=["aitbc", "aitbc1"])
|
|
cluster_status_parser.set_defaults(handler=ctx.handle_cluster_status)
|
|
|
|
cluster_sync_parser = cluster_subparsers.add_parser("sync", help="Sync cluster nodes")
|
|
cluster_sync_parser.add_argument("--all", action="store_true")
|
|
cluster_sync_parser.set_defaults(handler=ctx.handle_cluster_sync)
|
|
|
|
cluster_balance_parser = cluster_subparsers.add_parser("balance", help="Balance workload across nodes")
|
|
cluster_balance_parser.add_argument("--workload", action="store_true")
|
|
cluster_balance_parser.set_defaults(handler=ctx.handle_cluster_balance)
|
|
|
|
performance_parser = subparsers.add_parser("performance", help="Performance optimization")
|
|
performance_parser.set_defaults(handler=lambda parsed, parser=performance_parser: parser.print_help())
|
|
performance_subparsers = performance_parser.add_subparsers(dest="performance_action")
|
|
|
|
performance_benchmark_parser = performance_subparsers.add_parser("benchmark", help="Run performance benchmark")
|
|
performance_benchmark_parser.add_argument("--suite", choices=["comprehensive", "quick", "custom"], default="comprehensive")
|
|
performance_benchmark_parser.set_defaults(handler=ctx.handle_performance_benchmark)
|
|
|
|
performance_optimize_parser = performance_subparsers.add_parser("optimize", help="Optimize performance")
|
|
performance_optimize_parser.add_argument("--target", choices=["latency", "throughput", "all"], default="all")
|
|
performance_optimize_parser.set_defaults(handler=ctx.handle_performance_optimize)
|
|
|
|
performance_tune_parser = performance_subparsers.add_parser("tune", help="Tune system parameters")
|
|
performance_tune_parser.add_argument("--parameters", action="store_true")
|
|
performance_tune_parser.add_argument("--aggressive", action="store_true")
|
|
performance_tune_parser.set_defaults(handler=ctx.handle_performance_tune)
|
|
|
|
security_parser = subparsers.add_parser("security", help="Security audit and scanning")
|
|
security_parser.set_defaults(handler=lambda parsed, parser=security_parser: parser.print_help())
|
|
security_subparsers = security_parser.add_subparsers(dest="security_action")
|
|
|
|
security_audit_parser = security_subparsers.add_parser("audit", help="Run security audit")
|
|
security_audit_parser.add_argument("--comprehensive", action="store_true")
|
|
security_audit_parser.set_defaults(handler=ctx.handle_security_action)
|
|
|
|
security_scan_parser = security_subparsers.add_parser("scan", help="Scan for vulnerabilities")
|
|
security_scan_parser.add_argument("--vulnerabilities", action="store_true")
|
|
security_scan_parser.set_defaults(handler=ctx.handle_security_action)
|
|
|
|
security_patch_parser = security_subparsers.add_parser("patch", help="Check for security patches")
|
|
security_patch_parser.add_argument("--critical", action="store_true")
|
|
security_patch_parser.set_defaults(handler=ctx.handle_security_action)
|
|
|
|
compliance_parser = subparsers.add_parser("compliance", help="Compliance checking and reporting")
|
|
compliance_parser.set_defaults(handler=lambda parsed, parser=compliance_parser: parser.print_help())
|
|
compliance_subparsers = compliance_parser.add_subparsers(dest="compliance_action")
|
|
|
|
compliance_check_parser = compliance_subparsers.add_parser("check", help="Check compliance status")
|
|
compliance_check_parser.add_argument("--standard", choices=["gdpr", "hipaa", "soc2", "all"], default="gdpr")
|
|
compliance_check_parser.set_defaults(handler=ctx.handle_compliance_check)
|
|
|
|
compliance_report_parser = compliance_subparsers.add_parser("report", help="Generate compliance report")
|
|
compliance_report_parser.add_argument("--format", choices=["detailed", "summary", "json"], default="detailed")
|
|
compliance_report_parser.set_defaults(handler=ctx.handle_compliance_report)
|
|
|
|
simulate_parser = subparsers.add_parser("simulate", help="Simulation utilities")
|
|
simulate_parser.set_defaults(handler=lambda parsed, parser=simulate_parser: parser.print_help())
|
|
simulate_subparsers = simulate_parser.add_subparsers(dest="simulate_command")
|
|
|
|
simulate_blockchain_parser = simulate_subparsers.add_parser("blockchain", help="Simulate blockchain activity")
|
|
simulate_blockchain_parser.add_argument("--blocks", type=int, default=10)
|
|
simulate_blockchain_parser.add_argument("--transactions", type=int, default=50)
|
|
simulate_blockchain_parser.add_argument("--delay", type=float, default=1.0)
|
|
simulate_blockchain_parser.set_defaults(handler=ctx.handle_simulate_action)
|
|
|
|
simulate_wallets_parser = simulate_subparsers.add_parser("wallets", help="Simulate wallet activity")
|
|
simulate_wallets_parser.add_argument("--wallets", type=int, default=5)
|
|
simulate_wallets_parser.add_argument("--balance", type=float, default=1000.0)
|
|
simulate_wallets_parser.add_argument("--transactions", type=int, default=20)
|
|
simulate_wallets_parser.add_argument("--amount-range", default="1.0-100.0")
|
|
simulate_wallets_parser.set_defaults(handler=ctx.handle_simulate_action)
|
|
|
|
simulate_price_parser = simulate_subparsers.add_parser("price", help="Simulate price movement")
|
|
simulate_price_parser.add_argument("--price", type=float, default=100.0)
|
|
simulate_price_parser.add_argument("--volatility", type=float, default=0.05)
|
|
simulate_price_parser.add_argument("--timesteps", type=int, default=100)
|
|
simulate_price_parser.add_argument("--delay", type=float, default=0.1)
|
|
simulate_price_parser.set_defaults(handler=ctx.handle_simulate_action)
|
|
|
|
simulate_network_parser = simulate_subparsers.add_parser("network", help="Simulate network topology")
|
|
simulate_network_parser.add_argument("--nodes", type=int, default=3)
|
|
simulate_network_parser.add_argument("--network-delay", type=float, default=0.1)
|
|
simulate_network_parser.add_argument("--failure-rate", type=float, default=0.05)
|
|
simulate_network_parser.set_defaults(handler=ctx.handle_simulate_action)
|
|
|
|
simulate_ai_jobs_parser = simulate_subparsers.add_parser("ai-jobs", help="Simulate AI job traffic")
|
|
simulate_ai_jobs_parser.add_argument("--jobs", type=int, default=10)
|
|
simulate_ai_jobs_parser.add_argument("--models", default="text-generation")
|
|
simulate_ai_jobs_parser.add_argument("--duration-range", default="30-300")
|
|
simulate_ai_jobs_parser.set_defaults(handler=ctx.handle_simulate_action)
|