diff --git a/cli/unified_cli.py b/cli/unified_cli.py index d1b07ddc..00c98282 100644 --- a/cli/unified_cli.py +++ b/cli/unified_cli.py @@ -566,6 +566,16 @@ def run_cli(argv, core): blockchain_block_parser.add_argument("--rpc-url", default=default_rpc_url) blockchain_block_parser.set_defaults(handler=handle_blockchain_block) + blockchain_init_parser = blockchain_subparsers.add_parser("init", help="Initialize blockchain with genesis block") + blockchain_init_parser.add_argument("--force", action="store_true", help="Force reinitialization") + blockchain_init_parser.add_argument("--rpc-url", default=default_rpc_url) + blockchain_init_parser.set_defaults(handler=handle_blockchain_init) + + blockchain_genesis_parser = blockchain_subparsers.add_parser("genesis", help="Create or inspect genesis block") + blockchain_genesis_parser.add_argument("--create", action="store_true", help="Create new genesis block") + blockchain_genesis_parser.add_argument("--rpc-url", default=default_rpc_url) + blockchain_genesis_parser.set_defaults(handler=handle_blockchain_genesis) + network_parser = subparsers.add_parser("network", help="Peer connectivity and sync") network_parser.set_defaults(handler=handle_network_status) network_subparsers = network_parser.add_subparsers(dest="network_action") @@ -618,6 +628,26 @@ def run_cli(argv, core): market_mine_parser.add_argument("--rpc-url", default=default_rpc_url) market_mine_parser.set_defaults(handler=handle_market_action, market_action="my-listings") + market_buy_parser = market_subparsers.add_parser("buy", help="Buy from marketplace") + market_buy_parser.add_argument("--item", required=True) + market_buy_parser.add_argument("--wallet", required=True) + market_buy_parser.add_argument("--password") + market_buy_parser.add_argument("--rpc-url", default=default_rpc_url) + market_buy_parser.set_defaults(handler=handle_market_action, market_action="buy") + + market_sell_parser = market_subparsers.add_parser("sell", help="Sell on marketplace") + market_sell_parser.add_argument("--item", required=True) + market_sell_parser.add_argument("--price", type=float, required=True) + market_sell_parser.add_argument("--wallet", required=True) + market_sell_parser.add_argument("--password") + market_sell_parser.add_argument("--rpc-url", default=default_rpc_url) + market_sell_parser.set_defaults(handler=handle_market_action, market_action="sell") + + market_orders_parser = market_subparsers.add_parser("orders", help="Show marketplace orders") + market_orders_parser.add_argument("--wallet") + market_orders_parser.add_argument("--rpc-url", default=default_rpc_url) + market_orders_parser.set_defaults(handler=handle_market_action, market_action="orders") + ai_parser = subparsers.add_parser("ai", help="AI job submission and inspection") ai_parser.set_defaults(handler=lambda parsed, parser=ai_parser: parser.print_help()) ai_subparsers = ai_parser.add_subparsers(dest="ai_action") @@ -674,10 +704,29 @@ def run_cli(argv, core): mining_rewards_parser.set_defaults(handler=handle_mining_action, mining_action="rewards") analytics_parser = subparsers.add_parser("analytics", help="Blockchain analytics and statistics") - analytics_parser.add_argument("--type", choices=["blocks", "transactions", "accounts", "supply"], default="blocks", help="Analytics type") - analytics_parser.add_argument("--limit", type=int, default=10, help="Number of items to analyze") - analytics_parser.add_argument("--rpc-url", default=default_rpc_url) - analytics_parser.set_defaults(handler=handle_analytics) + analytics_parser.set_defaults(handler=lambda parsed, parser=analytics_parser: parser.print_help()) + analytics_subparsers = analytics_parser.add_subparsers(dest="analytics_action") + + analytics_blocks_parser = analytics_subparsers.add_parser("blocks", help="Block analytics") + analytics_blocks_parser.add_argument("--limit", type=int, default=10) + analytics_blocks_parser.add_argument("--rpc-url", default=default_rpc_url) + analytics_blocks_parser.set_defaults(handler=handle_analytics, type="blocks") + + analytics_report_parser = analytics_subparsers.add_parser("report", help="Generate analytics report") + analytics_report_parser.add_argument("--type", choices=["performance", "transactions", "all"], default="all") + analytics_report_parser.add_argument("--rpc-url", default=default_rpc_url) + analytics_report_parser.set_defaults(handler=handle_analytics, type="report") + + analytics_metrics_parser = analytics_subparsers.add_parser("metrics", help="Show performance metrics") + analytics_metrics_parser.add_argument("--limit", type=int, default=10) + analytics_metrics_parser.add_argument("--rpc-url", default=default_rpc_url) + analytics_metrics_parser.set_defaults(handler=handle_analytics, type="metrics") + + analytics_export_parser = analytics_subparsers.add_parser("export", help="Export analytics data") + analytics_export_parser.add_argument("--format", choices=["json", "csv"], default="json") + analytics_export_parser.add_argument("--output") + analytics_export_parser.add_argument("--rpc-url", default=default_rpc_url) + analytics_export_parser.set_defaults(handler=handle_analytics, type="export") system_parser = subparsers.add_parser("system", help="System health and overview") system_parser.set_defaults(handler=handle_system_status) @@ -715,6 +764,17 @@ def run_cli(argv, core): agent_list_parser.add_argument("--status", choices=["active", "completed", "failed"]) agent_list_parser.set_defaults(handler=handle_agent_action) + agent_message_parser = agent_subparsers.add_parser("message", help="Send message to agent") + agent_message_parser.add_argument("--agent", required=True) + agent_message_parser.add_argument("--message", required=True) + agent_message_parser.add_argument("--wallet") + agent_message_parser.set_defaults(handler=handle_agent_action, agent_action="message") + + agent_messages_parser = agent_subparsers.add_parser("messages", help="List agent messages") + agent_messages_parser.add_argument("--agent") + agent_messages_parser.add_argument("--wallet") + agent_messages_parser.set_defaults(handler=handle_agent_action, agent_action="messages") + openclaw_parser = subparsers.add_parser("openclaw", help="OpenClaw ecosystem operations") openclaw_parser.set_defaults(handler=lambda parsed, parser=openclaw_parser: parser.print_help()) openclaw_subparsers = openclaw_parser.add_subparsers(dest="openclaw_action") @@ -753,6 +813,17 @@ def run_cli(argv, core): workflow_run_parser.add_argument("--async-exec", action="store_true") workflow_run_parser.set_defaults(handler=handle_workflow_action) + workflow_schedule_parser = workflow_subparsers.add_parser("schedule", help="Schedule a workflow") + workflow_schedule_parser.add_argument("--name", required=True) + workflow_schedule_parser.add_argument("--cron", required=True) + workflow_schedule_parser.add_argument("--params") + workflow_schedule_parser.set_defaults(handler=handle_workflow_action, workflow_action="schedule") + + workflow_monitor_parser = workflow_subparsers.add_parser("monitor", help="Monitor workflow execution") + workflow_monitor_parser.add_argument("--name") + workflow_monitor_parser.add_argument("--execution-id") + workflow_monitor_parser.set_defaults(handler=handle_workflow_action, workflow_action="monitor") + resource_parser = subparsers.add_parser("resource", help="Resource utilization and allocation") resource_parser.set_defaults(handler=lambda parsed, parser=resource_parser: parser.print_help()) resource_subparsers = resource_parser.add_subparsers(dest="resource_action") @@ -768,6 +839,76 @@ def run_cli(argv, core): resource_allocate_parser.add_argument("--duration", type=int) resource_allocate_parser.set_defaults(handler=handle_resource_action) + resource_optimize_parser = resource_subparsers.add_parser("optimize", help="Optimize resource usage") + resource_optimize_parser.add_argument("--agent-id") + resource_optimize_parser.add_argument("--target", choices=["cpu", "memory", "all"], default="all") + resource_optimize_parser.set_defaults(handler=handle_resource_action, resource_action="optimize") + + resource_benchmark_parser = resource_subparsers.add_parser("benchmark", help="Run resource benchmark") + resource_benchmark_parser.add_argument("--type", choices=["cpu", "memory", "io", "all"], default="all") + resource_benchmark_parser.set_defaults(handler=handle_resource_action, resource_action="benchmark") + + 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=handle_network_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=handle_network_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=handle_network_peers) + + 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=handle_system_status) + + 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=handle_system_status) + + 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=handle_system_status) + + 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=handle_system_status) + + 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=handle_system_status) + + 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=handle_system_status) + + 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=handle_system_status) + + 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=handle_system_status) + 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") diff --git a/scripts/training/stage1_foundation.sh b/scripts/training/stage1_foundation.sh index 0edf9aa6..fea90984 100755 --- a/scripts/training/stage1_foundation.sh +++ b/scripts/training/stage1_foundation.sh @@ -48,7 +48,7 @@ basic_wallet_operations() { print_status "Creating training wallet..." if ! check_wallet "$WALLET_NAME"; then - if cli_cmd "create --name $WALLET_NAME --password $WALLET_PASSWORD"; then + if cli_cmd "wallet create $WALLET_NAME $WALLET_PASSWORD"; then print_success "Wallet $WALLET_NAME created successfully" else print_warning "Wallet creation may have failed or wallet already exists" @@ -58,10 +58,10 @@ basic_wallet_operations() { fi print_status "Listing all wallets..." - cli_cmd_output "list" || print_warning "Wallet list command not available" + cli_cmd_output "wallet list" || print_warning "Wallet list command not available" print_status "Checking wallet balance..." - cli_cmd "balance --name $WALLET_NAME" || print_warning "Balance check failed" + cli_cmd "wallet balance $WALLET_NAME" || print_warning "Balance check failed" update_progress "Basic Wallet Operations" } @@ -73,11 +73,11 @@ basic_transaction_operations() { # Get wallet address for self-transfer test local wallet_address - wallet_address=$(cli_cmd_output "balance --name $WALLET_NAME" | grep "Address:" | awk '{print $2}') + wallet_address=$(cli_cmd_output "wallet balance $WALLET_NAME" | grep "Address:" | awk '{print $2}') if [[ -n "$wallet_address" ]]; then print_status "Sending test transaction (self-transfer)..." - if cli_cmd "send --from $WALLET_NAME --to $wallet_address --amount 0 --password $WALLET_PASSWORD"; then + if cli_cmd "wallet send $WALLET_NAME $wallet_address 0 $WALLET_PASSWORD"; then print_success "Test transaction sent successfully" else print_warning "Transaction may have failed (insufficient balance or other issue)" @@ -87,7 +87,7 @@ basic_transaction_operations() { fi print_status "Checking transaction history..." - cli_cmd "transactions --name $WALLET_NAME --limit 5" || print_warning "Transaction history command failed" + cli_cmd "wallet transactions $WALLET_NAME --limit 5" || print_warning "Transaction history command failed" update_progress "Basic Transaction Operations" } @@ -113,13 +113,13 @@ node_specific_operations() { log_info "Testing node-specific operations" print_status "Testing Genesis Node operations..." - cli_cmd_node "$GENESIS_NODE" "balance --name $WALLET_NAME" || print_warning "Genesis node operations failed" + cli_cmd_node "$GENESIS_NODE" "wallet balance $WALLET_NAME" || print_warning "Genesis node operations failed" print_status "Testing Follower Node operations..." - cli_cmd_node "$FOLLOWER_NODE" "balance --name $WALLET_NAME" || print_warning "Follower node operations failed" + cli_cmd_node "$FOLLOWER_NODE" "wallet balance $WALLET_NAME" || print_warning "Follower node operations failed" print_status "Comparing nodes..." - compare_nodes "balance --name $WALLET_NAME" "wallet balance" + compare_nodes "wallet balance $WALLET_NAME" "wallet balance" update_progress "Node-Specific Operations" } diff --git a/scripts/training/stage2_intermediate.sh b/scripts/training/stage2_intermediate.sh index 02b13be6..0e7d2126 100755 --- a/scripts/training/stage2_intermediate.sh +++ b/scripts/training/stage2_intermediate.sh @@ -27,7 +27,7 @@ advanced_wallet_management() { print_status "2.1 Advanced Wallet Management" print_status "Creating backup wallet..." - if $CLI_PATH create --name "$BACKUP_WALLET" --password "$WALLET_PASSWORD" 2>/dev/null; then + if $CLI_PATH wallet create "$BACKUP_WALLET" "$WALLET_PASSWORD" 2>/dev/null; then print_success "Backup wallet $BACKUP_WALLET created" log "Backup wallet $BACKUP_WALLET created" else @@ -178,7 +178,7 @@ performance_validation() { # Test command response times START_TIME=$(date +%s.%N) - $CLI_PATH balance --name "$WALLET_NAME" > /dev/null + $CLI_PATH wallet balance "$WALLET_NAME" > /dev/null END_TIME=$(date +%s.%N) RESPONSE_TIME=$(echo "$END_TIME - $START_TIME" | bc -l 2>/dev/null || echo "0.5") @@ -187,7 +187,7 @@ performance_validation() { # Test transaction speed START_TIME=$(date +%s.%N) - $CLI_PATH transactions --name "$WALLET_NAME" --limit 1 > /dev/null + $CLI_PATH wallet transactions "$WALLET_NAME" --limit 1 > /dev/null END_TIME=$(date +%s.%N) TX_TIME=$(echo "$END_TIME - $START_TIME" | bc -l 2>/dev/null || echo "0.3") diff --git a/scripts/training/stage3_ai_operations.sh b/scripts/training/stage3_ai_operations.sh index 9a69294d..869897f1 100755 --- a/scripts/training/stage3_ai_operations.sh +++ b/scripts/training/stage3_ai_operations.sh @@ -56,7 +56,7 @@ check_prerequisites() { fi # Check if training wallet exists - if ! $CLI_PATH list | grep -q "$WALLET_NAME"; then + if ! $CLI_PATH wallet list | grep -q "$WALLET_NAME"; then print_error "Training wallet $WALLET_NAME not found. Run Stage 1 first." exit 1 fi @@ -77,8 +77,8 @@ check_prerequisites() { ai_job_submission() { print_status "3.1 AI Job Submission" - print_status "Submitting inference job..." - JOB_ID=$($CLI_PATH ai --job --submit --type inference --prompt "$TEST_PROMPT" --payment $TEST_PAYMENT 2>/dev/null | grep -o 'job_[0-9]*' || echo "") + print_status "Submitting AI job..." + JOB_ID=$($CLI_PATH ai submit --wallet "$WALLET_NAME" --type inference --prompt "$TEST_PROMPT" --payment $TEST_PAYMENT 2>/dev/null | grep -o 'job_[a-zA-Z0-9_]*' | head -1 || echo "") if [ -n "$JOB_ID" ]; then print_success "AI job submitted with ID: $JOB_ID" @@ -89,22 +89,22 @@ ai_job_submission() { fi print_status "Checking job status..." - $CLI_PATH ai --job --status --id "$JOB_ID" 2>/dev/null || print_warning "Job status command not available" + $CLI_PATH ai status --job-id "$JOB_ID" 2>/dev/null || print_warning "Job status command not available" log "Job status checked for $JOB_ID" print_status "Monitoring job processing..." for i in {1..5}; do print_status "Check $i/5 - Job status..." - $CLI_PATH ai --job --status --id "$JOB_ID" 2>/dev/null || print_warning "Job status check failed" + $CLI_PATH ai status --job-id "$JOB_ID" 2>/dev/null || print_warning "Job status check failed" sleep 2 done print_status "Getting job results..." - $CLI_PATH ai --job --result --id "$JOB_ID" 2>/dev/null || print_warning "Job result command not available" + $CLI_PATH ai results --job-id "$JOB_ID" 2>/dev/null || print_warning "Job result command not available" log "Job results retrieved for $JOB_ID" print_status "Listing all jobs..." - $CLI_PATH ai --job --list --status all 2>/dev/null || print_warning "Job list command not available" + $CLI_PATH ai list --status all 2>/dev/null || print_warning "Job list command not available" log "All jobs listed" print_success "3.1 AI Job Submission completed" diff --git a/scripts/training/stage4_marketplace_economics.sh b/scripts/training/stage4_marketplace_economics.sh index 551c24a5..8b6c1968 100755 --- a/scripts/training/stage4_marketplace_economics.sh +++ b/scripts/training/stage4_marketplace_economics.sh @@ -55,7 +55,7 @@ check_prerequisites() { fi # Check if training wallet exists - if ! $CLI_PATH list | grep -q "$WALLET_NAME"; then + if ! $CLI_PATH wallet list | grep -q "$WALLET_NAME"; then print_error "Training wallet $WALLET_NAME not found. Run Stage 1 first." exit 1 fi @@ -72,7 +72,7 @@ marketplace_operations() { print_status "4.1 Marketplace Operations" print_status "Listing marketplace items..." - $CLI_PATH marketplace --list 2>/dev/null || print_warning "Marketplace list command not available" + $CLI_PATH market list 2>/dev/null || print_warning "Marketplace list command not available" log "Marketplace items listed" print_status "Checking marketplace status..." @@ -224,7 +224,7 @@ economic_performance_testing() { # Test marketplace operations speed START_TIME=$(date +%s.%N) - $CLI_PATH marketplace --list > /dev/null 2>&1 + $CLI_PATH market list > /dev/null 2>&1 END_TIME=$(date +%s.%N) MARKETPLACE_TIME=$(echo "$END_TIME - $START_TIME" | bc -l 2>/dev/null || echo "1.5") diff --git a/scripts/training/stage5_expert_automation.sh b/scripts/training/stage5_expert_automation.sh index 5c21c5ea..49f02dfa 100755 --- a/scripts/training/stage5_expert_automation.sh +++ b/scripts/training/stage5_expert_automation.sh @@ -55,7 +55,7 @@ check_prerequisites() { fi # Check if training wallet exists - if ! $CLI_PATH list | grep -q "$WALLET_NAME"; then + if ! $CLI_PATH wallet list | grep -q "$WALLET_NAME"; then print_error "Training wallet $WALLET_NAME not found. Run Stage 1 first." exit 1 fi @@ -76,7 +76,7 @@ advanced_automation() { log "AI job pipeline workflow creation attempted" print_status "Setting up automated job submission schedule..." - $CLI_PATH automate --schedule --cron "0 */6 * * *" --command "$CLI_PATH ai --job --submit --type inference" 2>/dev/null || print_warning "Schedule command not available" + $CLI_PATH automate --schedule --cron "0 */6 * * *" --command "$CLI_PATH ai submit --prompt inference" 2>/dev/null || print_warning "Schedule command not available" log "Automated job submission schedule attempted" print_status "Creating marketplace monitoring bot..." @@ -207,13 +207,13 @@ def automated_job_submission(): logger.info("Starting automated job submission...") # Submit inference job - success, output, error = run_command("/opt/aitbc/aitbc-cli ai --job --submit --type inference --prompt 'Automated analysis'") + success, output, error = run_command("/opt/aitbc/aitbc-cli ai submit --prompt 'Automated analysis'") if success: logger.info(f"Job submitted successfully: {output}") # Monitor job completion time.sleep(5) - success, output, error = run_command("/opt/aitbc/aitbc-cli ai --job --list --status completed") + success, output, error = run_command("/opt/aitbc/aitbc-cli ai list --status completed") logger.info(f"Job monitoring result: {output}") else: logger.error(f"Job submission failed: {error}") @@ -282,10 +282,10 @@ expert_performance_analysis() { START_TIME=$(date +%s.%N) # Test multiple operations concurrently - $CLI_PATH balance --name "$WALLET_NAME" > /dev/null 2>&1 & - $CLI_PATH blockchain --info > /dev/null 2>&1 & - $CLI_PATH marketplace --list > /dev/null 2>&1 & - $CLI_PATH ai --service --status --name coordinator > /dev/null 2>&1 & + $CLI_PATH wallet balance "$WALLET_NAME" > /dev/null 2>&1 & + $CLI_PATH blockchain info > /dev/null 2>&1 & + $CLI_PATH market list > /dev/null 2>&1 & + $CLI_PATH ai status --name coordinator > /dev/null 2>&1 & wait # Wait for all background jobs @@ -296,7 +296,7 @@ expert_performance_analysis() { log "Performance analysis: Concurrent operations ${CONCURRENT_TIME}s" # Test individual operation performance - OPERATIONS=("balance --name $WALLET_NAME" "blockchain --info" "marketplace --list" "ai --service --status") + OPERATIONS=("wallet balance $WALLET_NAME" "blockchain info" "market list" "ai status") for op in "${OPERATIONS[@]}"; do START_TIME=$(date +%s.%N) @@ -330,7 +330,7 @@ final_certification_exam() { fi # Test 2: Wallet operations - if $CLI_PATH balance --name "$WALLET_NAME" > /dev/null 2>&1; then + if $CLI_PATH wallet balance "$WALLET_NAME" > /dev/null 2>&1; then ((TESTS_PASSED++)) log "Certification test 2 (Wallet balance): PASSED" else @@ -338,7 +338,7 @@ final_certification_exam() { fi # Test 3: Blockchain operations - if $CLI_PATH blockchain --info > /dev/null 2>&1; then + if $CLI_PATH blockchain info > /dev/null 2>&1; then ((TESTS_PASSED++)) log "Certification test 3 (Blockchain info): PASSED" else @@ -346,15 +346,15 @@ final_certification_exam() { fi # Test 4: AI operations - if $CLI_PATH ai --service --status --name coordinator > /dev/null 2>&1; then + if $CLI_PATH ai status > /dev/null 2>&1; then ((TESTS_PASSED++)) - log "Certification test 4 (AI service status): PASSED" + log "Certification test 4 (AI status): PASSED" else - log "Certification test 4 (AI service status): FAILED" + log "Certification test 4 (AI status): FAILED" fi # Test 5: Marketplace operations - if $CLI_PATH marketplace --list > /dev/null 2>&1; then + if $CLI_PATH market list > /dev/null 2>&1; then ((TESTS_PASSED++)) log "Certification test 5 (Marketplace list): PASSED" else diff --git a/scripts/training/training_lib.sh b/scripts/training/training_lib.sh index de9fad61..4d2b3e01 100755 --- a/scripts/training/training_lib.sh +++ b/scripts/training/training_lib.sh @@ -155,7 +155,7 @@ check_cli() { check_wallet() { local wallet_name=${1:-$WALLET_NAME} - if $CLI_PATH list 2>/dev/null | grep -q "$wallet_name"; then + if $CLI_PATH wallet list 2>/dev/null | grep -q "$wallet_name"; then return 0 else return 1