CliSubprocessCore.LineageFact (CliSubprocessCore v0.2.0)

Copy Markdown View Source

Stable raw fact shapes for provider pressure, reconnect, and subprocess lineage.

Summary

Types

kind()

@type kind() :: :pressure | :reconnect | :subprocess

t()

@type t() :: %{
  :fact_id => String.t(),
  :kind => kind(),
  optional(:provider) => atom() | nil,
  optional(:provider_session_id) => String.t() | nil,
  optional(:lane_session_id) => String.t() | nil,
  optional(:subprocess_id) => String.t() | nil,
  optional(:reason) => atom() | String.t() | nil,
  optional(:observed_at) => String.t() | nil,
  optional(:metadata) => map()
}

Functions

fact_id(kind, provider_session_id, seq)

@spec fact_id(kind(), String.t(), non_neg_integer()) :: String.t()

kinds()

@spec kinds() :: [kind(), ...]

pressure(attrs)

@spec pressure(map()) :: t()

reconnect(attrs)

@spec reconnect(map()) :: t()

subprocess(attrs)

@spec subprocess(map()) :: t()