diff --git a/cli/commands/admin.py b/cli/commands/admin.py index 4d7db1c3..32ada859 100755 --- a/cli/commands/admin.py +++ b/cli/commands/admin.py @@ -1,16 +1,24 @@ """Admin commands for AITBC CLI""" import click +from utils import output, error, success, console import httpx -import json from typing import Optional, List, Dict, Any -from utils import output, error, success +from aitbc_cli.config import get_config, CLIConfig @click.group() @click.pass_context def admin(ctx): """System administration commands""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + if 'config' not in ctx.obj: + ctx.obj['config'] = get_config() + if 'output_format' not in ctx.obj: + ctx.obj['output_format'] = 'table' + # Set role for admin commands ctx.ensure_object(dict) ctx.parent.detected_role = 'admin' diff --git a/cli/commands/blockchain.py b/cli/commands/blockchain.py index 295f4112..ac6c0070 100755 --- a/cli/commands/blockchain.py +++ b/cli/commands/blockchain.py @@ -2,6 +2,11 @@ import click import httpx +from utils import output, error +import os +from typing import Optional, List +from aitbc_cli.config import get_config, CLIConfig + def _get_node_endpoint(ctx): """Get the blockchain node RPC endpoint from context or config.""" @@ -22,6 +27,14 @@ import os @click.pass_context def blockchain(ctx, chain_id: Optional[str]): """Query blockchain information and status""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + if 'config' not in ctx.obj: + ctx.obj['config'] = get_config() + if 'output_format' not in ctx.obj: + ctx.obj['output_format'] = 'table' + # Set role for blockchain commands ctx.ensure_object(dict) ctx.parent.detected_role = 'blockchain' diff --git a/cli/commands/client.py b/cli/commands/client.py index 19a6c3f7..593db967 100755 --- a/cli/commands/client.py +++ b/cli/commands/client.py @@ -1,17 +1,24 @@ """Client commands for AITBC CLI""" import click +from utils import output, error, success, console import httpx -import json -import time from typing import Optional -from utils import output, error, success +from aitbc_cli.config import get_config, CLIConfig @click.group() @click.pass_context def client(ctx): """Submit and manage jobs""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + if 'config' not in ctx.obj: + ctx.obj['config'] = get_config() + if 'output_format' not in ctx.obj: + ctx.obj['output_format'] = 'table' + # Set role for client commands ctx.ensure_object(dict) ctx.parent.detected_role = 'client' diff --git a/cli/commands/config.py b/cli/commands/config.py index 430d9f85..a4aa6530 100755 --- a/cli/commands/config.py +++ b/cli/commands/config.py @@ -13,9 +13,14 @@ from utils import output, error, success @click.group() -def config(): +@click.pass_context +def config(ctx): """Manage CLI configuration""" - pass + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') @config.command() diff --git a/cli/commands/cross_chain.py b/cli/commands/cross_chain.py index 2a5aa4f2..5950e5ab 100755 --- a/cli/commands/cross_chain.py +++ b/cli/commands/cross_chain.py @@ -6,12 +6,18 @@ import json from typing import Optional from .config import get_config from utils import success, error, output +from aitbc_cli.config import get_config, CLIConfig @click.group() -def cross_chain(): +@click.pass_context +def cross_chain(ctx): """Cross-chain trading operations""" - pass + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') @cross_chain.command() diff --git a/cli/commands/exchange.py b/cli/commands/exchange.py index 7d7a399c..8b332fe9 100755 --- a/cli/commands/exchange.py +++ b/cli/commands/exchange.py @@ -1,19 +1,26 @@ """Exchange integration commands for AITBC CLI""" import click +from utils import output, error, success, console import httpx +from typing import Optional +from aitbc_cli.config import get_config, CLIConfig import json import os from pathlib import Path from typing import Optional, Dict, Any, List from datetime import datetime, UTC -from utils import output, error, success, warning -from config import get_config @click.group() -def exchange(): +@click.pass_context +def exchange(ctx): """Exchange integration and trading management commands""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') pass diff --git a/cli/commands/explorer.py b/cli/commands/explorer.py index 1034d3ab..d0df9fa8 100755 --- a/cli/commands/explorer.py +++ b/cli/commands/explorer.py @@ -6,6 +6,7 @@ import subprocess import json from typing import Optional, List from utils import output, error +from aitbc_cli.config import get_config, CLIConfig def _get_explorer_endpoint(ctx): @@ -42,6 +43,14 @@ def _curl_request(url: str, params: dict = None): @click.pass_context def explorer(ctx): """Blockchain explorer operations and queries""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + if 'config' not in ctx.obj: + ctx.obj['config'] = get_config() + if 'output_format' not in ctx.obj: + ctx.obj['output_format'] = 'table' + ctx.ensure_object(dict) ctx.parent.detected_role = 'explorer' diff --git a/cli/commands/hermes.py b/cli/commands/hermes.py index 2df55a66..1aadba7e 100755 --- a/cli/commands/hermes.py +++ b/cli/commands/hermes.py @@ -1,19 +1,27 @@ """hermes integration commands for AITBC CLI""" import click +from utils import output, error, success, console import httpx +from typing import Optional +from aitbc_cli.config import get_config, CLIConfig import json import time import os import datetime import subprocess from typing import Optional, Dict, Any, List -from utils import output, error, success, warning @click.group() -def hermes(): +@click.pass_context +def hermes(ctx): """hermes integration with edge computing deployment""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') pass diff --git a/cli/commands/market_maker.py b/cli/commands/market_maker.py index 7a367f3d..68459bd3 100755 --- a/cli/commands/market_maker.py +++ b/cli/commands/market_maker.py @@ -8,11 +8,18 @@ from pathlib import Path from typing import Optional, Dict, Any, List from datetime import datetime, UTC, timedelta from utils import output, error, success, warning +from aitbc_cli.config import get_config, CLIConfig @click.group() -def market_maker(): +@click.pass_context +def market_maker(ctx): """Market making bot management commands""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') pass diff --git a/cli/commands/marketplace.py b/cli/commands/marketplace.py index dc586324..f0d7485c 100755 --- a/cli/commands/marketplace.py +++ b/cli/commands/marketplace.py @@ -1,18 +1,21 @@ """Marketplace commands for AITBC CLI""" import click +from utils import output, error, success, console import httpx -import json -import asyncio -from typing import Optional, List, Dict, Any -from utils import output, error, success -import os +from typing import Optional +from aitbc_cli.config import get_config, CLIConfig @click.group() -def marketplace(): - """GPU marketplace operations""" - pass +@click.pass_context +def marketplace(ctx): + """Marketplace listings and offers""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') @marketplace.group() diff --git a/cli/commands/marketplace_advanced.py b/cli/commands/marketplace_advanced.py index 64451262..0013bd03 100755 --- a/cli/commands/marketplace_advanced.py +++ b/cli/commands/marketplace_advanced.py @@ -1,19 +1,20 @@ """Advanced marketplace commands for AITBC CLI - Enhanced marketplace operations""" import click +from utils import output, error, success, console import httpx -import json -import base64 -from typing import Optional, Dict, Any, List -from pathlib import Path -from utils import output, error, success, warning - +from typing import Optional +from aitbc_cli.config import get_config, CLIConfig @click.group() -def advanced(): - """Advanced marketplace operations and analytics""" - pass - +@click.pass_context +def marketplace_advanced(ctx): + """Advanced marketplace operations""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') @click.group() def models(): diff --git a/cli/commands/miner.py b/cli/commands/miner.py index e985d691..af4a0b65 100755 --- a/cli/commands/miner.py +++ b/cli/commands/miner.py @@ -7,9 +7,21 @@ import time import concurrent.futures from typing import Optional, Dict, Any, List from utils import output, error, success +from aitbc_cli.config import get_config, CLIConfig -@click.group(invoke_without_command=True) +@click.group() +@click.pass_context +def miner(ctx): + """Mining operations and rewards""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') + + +@miner.group(invoke_without_command=True) @click.pass_context def miner(ctx): """Register as miner and process jobs""" diff --git a/cli/commands/monitor.py b/cli/commands/monitor.py index 84497a01..81108ffe 100755 --- a/cli/commands/monitor.py +++ b/cli/commands/monitor.py @@ -6,12 +6,18 @@ import time from pathlib import Path from typing import Optional from datetime import datetime, timedelta +from aitbc_cli.config import get_config, CLIConfig @click.group() -def monitor(): +@click.pass_context +def monitor(ctx): """Monitoring, metrics, and alerting commands""" - pass + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') @monitor.command() diff --git a/cli/commands/multimodal.py b/cli/commands/multimodal.py index d970c51a..13913fe9 100755 --- a/cli/commands/multimodal.py +++ b/cli/commands/multimodal.py @@ -1,19 +1,21 @@ """Multi-modal processing commands for AITBC CLI""" import click +from utils import output, error, success, console import httpx -import json -import base64 -import mimetypes -from typing import Optional, Dict, Any, List -from pathlib import Path -from utils import output, error, success, warning +from typing import Optional +from aitbc_cli.config import get_config, CLIConfig @click.group() -def multimodal(): - """Multi-modal agent processing and cross-modal operations""" - pass +@click.pass_context +def multimodal(ctx): + """Multimodal AI operations""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') @multimodal.command() diff --git a/cli/commands/optimize.py b/cli/commands/optimize.py index a6ac1faa..c3a3fa93 100755 --- a/cli/commands/optimize.py +++ b/cli/commands/optimize.py @@ -1,17 +1,21 @@ """Autonomous optimization commands for AITBC CLI""" import click +from utils import output, error, success, console import httpx -import json -import time -from typing import Optional, Dict, Any, List -from utils import output, error, success, warning +from typing import Optional +from aitbc_cli.config import get_config, CLIConfig @click.group() -def optimize(): +@click.pass_context +def optimize(ctx): """Autonomous optimization and predictive operations""" - pass + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + ctx.obj['config'] = get_config() + ctx.obj['output_format'] = ctx.obj.get('output_format', 'table') @click.group() diff --git a/cli/commands/wallet.py b/cli/commands/wallet.py index 64c05c36..54661ead 100755 --- a/cli/commands/wallet.py +++ b/cli/commands/wallet.py @@ -117,6 +117,15 @@ def get_balance(ctx, wallet_name: Optional[str] = None): @click.pass_context def wallet(ctx, wallet_name: Optional[str], wallet_path: Optional[str], use_daemon: bool): """Manage your AITBC wallets and transactions""" + # Initialize context object with config + if ctx.obj is None: + ctx.obj = {} + if 'config' not in ctx.obj: + from aitbc_cli.config import get_config + ctx.obj['config'] = get_config() + if 'output_format' not in ctx.obj: + ctx.obj['output_format'] = 'table' + # Ensure wallet object exists ctx.ensure_object(dict)