CliSubprocessCore.Command.Options (CliSubprocessCore v0.2.0)

Copy Markdown View Source

Validated command-lane options for provider-aware one-shot execution.

Summary

Functions

Builds validated provider-aware command-lane options.

Builds validated command-lane options around a normalized invocation.

Types

stderr_mode()

@type stderr_mode() :: :separate | :stdout

t()

@type t() :: %CliSubprocessCore.Command.Options{
  boundary_class: atom() | String.t() | nil,
  close_stdin: boolean(),
  governed_authority: CliSubprocessCore.GovernedAuthority.t() | nil,
  invocation: CliSubprocessCore.Command.t() | nil,
  lease_ref: String.t() | nil,
  observability: map(),
  profile: module() | nil,
  provider: atom() | nil,
  provider_options: keyword(),
  registry: pid() | atom(),
  stderr: stderr_mode(),
  stdin: term(),
  surface_kind: atom(),
  surface_ref: String.t() | nil,
  target_id: String.t() | nil,
  timeout: timeout(),
  transport_options: keyword()
}

validation_error()

@type validation_error() ::
  :missing_provider
  | {:invalid_command, term()}
  | {:invalid_args, term()}
  | {:invalid_cwd, term()}
  | {:invalid_env, term()}
  | {:invalid_clear_env, term()}
  | {:invalid_user, term()}
  | {:invalid_provider, term()}
  | {:invalid_profile, term()}
  | {:provider_profile_mismatch, atom(), atom()}
  | {:invalid_registry, term()}
  | {:unsupported_option, :transport_selector}
  | {:unsupported_option, :simulation_selector}
  | {:invalid_timeout, term()}
  | {:invalid_stderr, term()}
  | {:invalid_close_stdin, term()}
  | {:invalid_surface_kind, term()}
  | {:invalid_transport_options, term()}
  | {:invalid_target_id, term()}
  | {:invalid_lease_ref, term()}
  | {:invalid_surface_ref, term()}
  | {:invalid_boundary_class, term()}
  | {:invalid_observability, term()}
  | CliSubprocessCore.GovernedAuthority.validation_error()
  | {:governed_launch_smuggling, atom()}
  | {:governed_launch_smuggling, atom(), term()}
  | CliSubprocessCore.ProviderRuntimeProfile.resolve_error()

Functions

execution_surface(options)

@spec execution_surface(t()) :: CliSubprocessCore.ExecutionSurface.t()

new(opts)

@spec new(keyword()) :: {:ok, t()} | {:error, validation_error()}

Builds validated provider-aware command-lane options.

new(invocation, opts)

@spec new(
  CliSubprocessCore.Command.t(),
  keyword()
) :: {:ok, t()} | {:error, validation_error()}

Builds validated command-lane options around a normalized invocation.

provider_profile_options(options)

@spec provider_profile_options(t()) :: keyword()

runtime_execution_surface(options)

@spec runtime_execution_surface(t()) :: struct()