"""mgf.vm.sdk — the VManager client SDK.

Single ``VmManagerClient`` class, two transports:

* ``InProcessTransport`` — VManager Local (Phase 0). Wires the
  client directly to in-process adapters; no daemons, no network.
* ``GrpcTransport`` — VManager Fleet (Phase 1). Talks to the
  control plane over gRPC + TLS.

CLI and GUI import *only* from this package (enforced by
``import-linter`` per D-H4). The transport is selected at client
construction time; the surface above is identical.

The full client method surface is specified at
``vm-vmanager-docs/component-specs/contracts.md`` — the SDK
exposes the same shape over the network that an in-process
caller would see.

Phase 0 status (vm-vmanager-docs/ROADMAP.md Stream C): skeleton
landed; ``VmManagerClient`` + ``InProcessTransport`` filled in
during the Phase 0 build.
"""

from __future__ import annotations

from mgf.vm.core.contracts import OperationHandle

from mgf.vm.sdk.client import AsyncVmManagerClient, VmManagerClient
from mgf.vm.sdk.transport.async_inprocess import AsyncInProcessTransport
from mgf.vm.sdk.transport.base import AsyncTransport, Transport
from mgf.vm.sdk.transport.inprocess import InProcessTransport

__version__ = "0.1.10"

__all__: list[str] = [
    "AsyncInProcessTransport",
    "AsyncTransport",
    "AsyncVmManagerClient",
    "InProcessTransport",
    "OperationHandle",
    "Transport",
    "VmManagerClient",
    "__version__",
]
