# -*- coding: utf-8 -*- """Lease management CLI commands.""" from db.accounts_repo import cleanup_expired_leases, list_active_leases, release_lease from service._svc_common import _err_json, _ok_json, _say from util.logging_config import get_skill_logger def cmd_lease_release(lease_token: str) -> None: """lease release """ log = get_skill_logger() log.info("cli_start subcommand=lease_release token_prefix=%s", lease_token[:8]) ok = release_lease(lease_token) if ok: _say(_ok_json({"lease_token": lease_token, "status": "released"})) else: _say(_err_json("ERROR:LEASE_NOT_FOUND", "未找到活跃的租约,或租约已释放/过期。")) def cmd_lease_list(active_only: bool = False) -> None: """lease list [--active]""" log = get_skill_logger() log.info("cli_start subcommand=lease_list active_only=%s", active_only) leases = list_active_leases() if active_only: pass _say(_ok_json({"leases": leases})) def cmd_lease_cleanup() -> None: """lease cleanup — mark expired leases as expired.""" log = get_skill_logger() log.info("cli_start subcommand=lease_cleanup") count = cleanup_expired_leases() _say(_ok_json({"cleaned": count}))