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 and
delegates validation and transport capability lookup to
ExternalRuntimeTransport.ExecutionSurface.
Summary
Types
@type projected_t() :: %{ contract_version: String.t(), surface_kind: ExternalRuntimeTransport.ExecutionSurface.surface_kind(), transport_options: map(), target_id: String.t() | nil, lease_ref: String.t() | nil, surface_ref: String.t() | nil, boundary_class: ExternalRuntimeTransport.ExecutionSurface.boundary_class(), observability: map() }
@type resolution_error() :: ExternalRuntimeTransport.ExecutionSurface.resolution_error()
@type resolved() :: ExternalRuntimeTransport.ExecutionSurface.resolved()
@type t() :: %CliSubprocessCore.ExecutionSurface{ boundary_class: ExternalRuntimeTransport.ExecutionSurface.boundary_class(), contract_version: ExternalRuntimeTransport.ExecutionSurface.contract_version(), lease_ref: String.t() | nil, observability: map(), surface_kind: ExternalRuntimeTransport.ExecutionSurface.surface_kind(), surface_ref: String.t() | nil, target_id: String.t() | nil, transport_options: keyword() }
@type validation_error() :: ExternalRuntimeTransport.ExecutionSurface.validation_error()
Functions
@spec capabilities( t() | ExternalRuntimeTransport.ExecutionSurface.t() | atom() | keyword() | map() | nil ) :: {:ok, ExternalRuntimeTransport.ExecutionSurface.Capabilities.t()} | {:error, term()}
@spec contract_version() :: String.t()
See ExternalRuntimeTransport.ExecutionSurface.contract_version/0.
@spec default_surface_kind() :: ExternalRuntimeTransport.ExecutionSurface.surface_kind()
See ExternalRuntimeTransport.ExecutionSurface.default_surface_kind/0.
@spec from_external(ExternalRuntimeTransport.ExecutionSurface.t()) :: t()
@spec new(keyword() | map() | t() | ExternalRuntimeTransport.ExecutionSurface.t()) :: {:ok, t()} | {:error, validation_error()}
@spec new!(keyword() | map() | t() | ExternalRuntimeTransport.ExecutionSurface.t()) :: t()
@spec normalize_surface_kind(term()) :: {:ok, ExternalRuntimeTransport.ExecutionSurface.surface_kind()} | {:error, {:invalid_surface_kind, term()}}
See ExternalRuntimeTransport.ExecutionSurface.normalize_surface_kind/1.
@spec normalize_transport_options(term()) :: {:ok, keyword()} | {:error, {:invalid_transport_options, term()}}
See ExternalRuntimeTransport.ExecutionSurface.normalize_transport_options/1.
@spec path_semantics( t() | ExternalRuntimeTransport.ExecutionSurface.t() | atom() | keyword() | map() | nil ) :: ExternalRuntimeTransport.ExecutionSurface.Capabilities.path_semantics() | nil
@spec remote_surface_kind?(ExternalRuntimeTransport.ExecutionSurface.surface_kind()) :: boolean()
See ExternalRuntimeTransport.ExecutionSurface.remote_surface_kind?/1.
@spec reserved_keys() :: [ ExternalRuntimeTransport.ExecutionSurface.reserved_key(), ... ]
See ExternalRuntimeTransport.ExecutionSurface.reserved_keys/0.
@spec resolve(keyword()) :: {:ok, resolved()} | {:error, validation_error() | resolution_error()}
@spec supported_surface_kinds() :: [ ExternalRuntimeTransport.ExecutionSurface.adapter_surface_kind(), ... ]
See ExternalRuntimeTransport.ExecutionSurface.supported_surface_kinds/0.
@spec surface_metadata(t() | ExternalRuntimeTransport.ExecutionSurface.t()) :: keyword()
@spec to_external(t() | ExternalRuntimeTransport.ExecutionSurface.t()) :: ExternalRuntimeTransport.ExecutionSurface.t()
@spec to_map(t() | ExternalRuntimeTransport.ExecutionSurface.t()) :: projected_t()