Packages

Execution Plane process launch, stdio, PTY, and process-session runtime.

Current section

Files

Jump to
execution_plane_process lib execution_plane process transport info.ex
Raw

lib/execution_plane/process/transport/info.ex

defmodule ExecutionPlane.Process.Transport.Info do
@moduledoc """
Snapshot of a long-lived transport's execution-surface metadata and IO contract.
"""
alias ExecutionPlane.Command
alias ExecutionPlane.Process.Transport
alias ExecutionPlane.Process.Transport.{Delivery, Surface}
alias ExecutionPlane.Process.Transport.Surface.Capabilities
defstruct invocation: nil,
pid: nil,
os_pid: nil,
surface_kind: Surface.default_surface_kind(),
target_id: nil,
lease_ref: nil,
surface_ref: nil,
boundary_class: nil,
observability: %{},
adapter_capabilities: nil,
effective_capabilities: nil,
bridge_profile: nil,
protocol_version: nil,
extensions: %{},
adapter_metadata: %{},
status: :disconnected,
stdout_mode: :line,
stdin_mode: :line,
pty?: false,
interrupt_mode: :signal,
stderr: "",
delivery: nil
@type t :: %__MODULE__{
invocation: Command.t() | nil,
pid: pid() | nil,
os_pid: pos_integer() | nil,
surface_kind: Transport.surface_kind(),
target_id: String.t() | nil,
lease_ref: String.t() | nil,
surface_ref: String.t() | nil,
boundary_class: Surface.boundary_class(),
observability: map(),
adapter_capabilities: Capabilities.t() | nil,
effective_capabilities: Capabilities.t() | nil,
bridge_profile: String.t() | nil,
protocol_version: pos_integer() | nil,
extensions: map(),
adapter_metadata: map(),
status: :connected | :disconnected | :error,
stdout_mode: :line | :raw,
stdin_mode: :line | :raw,
pty?: boolean(),
interrupt_mode: :signal | {:stdin, binary()},
stderr: binary(),
delivery: Delivery.t() | nil
}
@doc """
Returns the default disconnected transport snapshot.
"""
def disconnected do
%__MODULE__{
delivery: Delivery.new(:execution_plane_process),
observability: %{},
extensions: %{},
adapter_metadata: %{}
}
end
end