Files
aitbc/cli/commands/plugin.py
aitbc 149fbb0abe
Some checks failed
CLI Tests / test-cli (push) Failing after 11s
Cross-Node Transaction Testing / transaction-test (push) Successful in 2s
Deploy to Testnet / deploy-testnet (push) Successful in 1m9s
Documentation Validation / validate-docs (push) Failing after 10s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Integration Tests / test-service-integration (push) Successful in 2m38s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Node Failover Simulation / failover-test (push) Successful in 2s
Package Tests / Python package - aitbc-agent-sdk (push) Failing after 27s
Security Scanning / security-scan (push) Has been cancelled
Package Tests / Python package - aitbc-core (push) Successful in 13s
Package Tests / Python package - aitbc-crypto (push) Successful in 9s
Package Tests / Python package - aitbc-sdk (push) Successful in 11s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 8s
Package Tests / JavaScript package - aitbc-token (push) Successful in 27s
Python Tests / test-python (push) Failing after 1m25s
Delegate Click commands to click_cli and add agent subcommands
- Route Click commands (agent, ipfs, oracle, etc.) to click_cli module
- Add zk, knowledge, bounty, dispute subcommands to agent group
- Add AI test submission, power trading, and reputation commands
- Add cross-chain transfer and listing commands
- Add monitor start/stop/status/alerts commands
- Add swarm create/discover/add/distribute/status commands
- Update main() to check command type and delegate appropriately
- Fix genesis CLI
2026-05-08 10:43:53 +02:00

61 lines
1.5 KiB
Python

"""Plugin commands for AITBC CLI"""
import click
import json
from utils import output, error, success, warning
@click.group()
def plugin():
"""Plugin marketplace and management commands"""
pass
@plugin.command()
@click.option("--name", required=True, help="Plugin name")
@click.option("--version", required=True, help="Plugin version")
@click.option("--description", help="Plugin description")
@click.option("--file", type=click.Path(exists=True), help="Plugin file")
def publish(name: str, version: str, description: str, file: str):
"""Publish plugin to marketplace"""
import uuid
output({
"plugin_id": f"plugin_{uuid.uuid4().hex[:16]}",
"name": name,
"version": version,
"description": description or "",
"status": "published"
})
@plugin.command()
@click.option("--category", help="Filter by category")
@click.option("--status", help="Filter by status")
def list(category: str, status: str):
"""List available plugins"""
output({
"plugins": [],
"category": category or "all",
"status": status or "all"
})
@plugin.command()
@click.option("--plugin-id", required=True, help="Plugin ID")
def install(plugin_id: str):
"""Install plugin"""
output({
"plugin_id": plugin_id,
"status": "installed"
})
@plugin.command()
@click.option("--plugin-id", required=True, help="Plugin ID")
def uninstall(plugin_id: str):
"""Uninstall plugin"""
output({
"plugin_id": plugin_id,
"status": "uninstalled"
})