"""Public contract constants for the CLI, SDK, and MCP server."""

from __future__ import annotations

PUBLIC_CLI_COMMANDS = ("demo", "doctor", "env", "mcp", "run")
PUBLIC_CLI_DEMO_SUBCOMMANDS = ("ollama",)
PUBLIC_CLI_ENV_SUBCOMMANDS = ("inspect", "list", "pull", "prune")
PUBLIC_CLI_RUN_FLAGS = (
    "--vcpu-count",
    "--mem-mib",
    "--timeout-seconds",
    "--ttl-seconds",
    "--network",
    "--allow-host-compat",
    "--json",
)

PUBLIC_SDK_METHODS = (
    "create_server",
    "create_vm",
    "delete_vm",
    "exec_vm",
    "inspect_environment",
    "list_environments",
    "network_info_vm",
    "prune_environments",
    "pull_environment",
    "reap_expired",
    "run_in_vm",
    "start_vm",
    "status_vm",
    "stop_vm",
)

PUBLIC_MCP_TOOLS = (
    "vm_create",
    "vm_delete",
    "vm_exec",
    "vm_list_environments",
    "vm_network_info",
    "vm_reap_expired",
    "vm_run",
    "vm_start",
    "vm_status",
    "vm_stop",
)
