CliSubprocessCore.RuntimeGateway.Local (CliSubprocessCore v0.5.1)

Copy Markdown View Source

Supervised local implementation of the frozen CLI RuntimeGateway lifecycle.

The public start contract is intentionally secret-free. Before start, the credential/materialization owner binds that exact request to one governed CliSubprocessCore.Session launch with bind_start/2. The binding is caller-owned, in-memory, one-shot, and consumed before process dispatch.

Public sessions contain only opaque references. Raw process identifiers and launch material remain inside this supervised owner and are discarded when start fails or the session reaches a terminal state.

Summary

Functions

Binds a frozen start request to one exact governed local launch.

Returns the digest required in StartRequest.command_digest.

Returns the stable tag used for incremental CLI gateway events.

Returns the placement mode implemented by this gateway.

Returns the stable tag used for terminal CLI gateway status.

Types

bind_error()

Functions

bind_start(request, session_opts)

@spec bind_start(
  CliSubprocessCore.RuntimeGateway.StartRequest.t(),
  keyword()
) :: :ok | {:error, bind_error()}

Binds a frozen start request to one exact governed local launch.

Only the binding process may consume the binding. A binding disappears when its owner exits, when start is attempted, or when validation fails. The command digest covers the exact governed executable, workspace, isolated environment, and clear-environment posture.

command_digest(authority)

@spec command_digest(CliSubprocessCore.GovernedAuthority.t()) :: String.t()

Returns the digest required in StartRequest.command_digest.

event_message_tag()

@spec event_message_tag() :: :cli_subprocess_core_runtime_gateway_event

Returns the stable tag used for incremental CLI gateway events.

execution_mode()

@spec execution_mode() :: :local

Returns the placement mode implemented by this gateway.

Local sessions enter the supervised process transport directly and are not Runtime Client-admitted executions.

handle_call(arg1, arg2, state)

handle_info(arg1, state)

init(atom)

terminal_message_tag()

@spec terminal_message_tag() :: :cli_subprocess_core_runtime_gateway_terminal

Returns the stable tag used for terminal CLI gateway status.