Backward-compatible execution-surface facade for downstream CLI packages.
cli_subprocess_core no longer owns the transport substrate. This module
preserves the historical CliSubprocessCore.ExecutionSurface struct while
delegating validation and capability lookup to
ExecutionPlane.Process.Transport.Surface.
Summary
Types
@type contract_version() :: String.t()
@type projected_t() :: %{ contract_version: contract_version(), surface_kind: surface_kind(), transport_options: map(), target_id: String.t() | nil, lease_ref: String.t() | nil, surface_ref: String.t() | nil, boundary_class: boundary_class(), observability: map() }
@type reserved_key() ::
:contract_version
| :surface_kind
| :transport_options
| :target_id
| :lease_ref
| :surface_ref
| :boundary_class
| :observability
@type resolution_error() :: term()
@type resolved() :: map()
@type surface_kind() :: atom()
@type t() :: %CliSubprocessCore.ExecutionSurface{ boundary_class: boundary_class(), contract_version: contract_version(), lease_ref: String.t() | nil, observability: map(), surface_kind: surface_kind(), surface_ref: String.t() | nil, target_id: String.t() | nil, transport_options: keyword() }
@type validation_error() :: term()
Functions
@spec contract_version() :: contract_version()
@spec default_surface_kind() :: surface_kind()
@spec normalize_surface_kind(term()) :: {:ok, surface_kind()} | {:error, term()}
@spec remote_surface_kind?(surface_kind()) :: boolean()
@spec reserved_keys() :: [reserved_key(), ...]
@spec resolve(keyword()) :: {:ok, resolved()} | {:error, validation_error() | resolution_error()}
@spec supported_surface_kinds() :: [atom(), ...]
@spec to_map(t() | struct()) :: projected_t()