Session-oriented runtime kit for the shared Gemini CLI lane.
The tagged mailbox event atom is adapter detail. Higher-level callers should
consume GeminiCliSdk.Stream or projected GeminiCliSdk.Types.* events
instead of treating the underlying session tag as core identity.
Summary
Types
@type start_option() :: {:prompt, String.t()} | {:options, GeminiCliSdk.Options.t()} | {:execution_surface, CliSubprocessCore.ExecutionSurface.t() | map() | keyword()} | {:subscriber, pid() | {pid(), reference() | :legacy}} | {:metadata, map()} | {:session_event_tag, atom()}
Functions
@spec build_invocation(keyword()) :: {:ok, CliSubprocessCore.Command.t()} | {:error, term()}
@spec capabilities() :: [atom()]
@spec close(pid()) :: :ok
@spec new_projection_state() :: map()
@spec project_event(CliSubprocessCore.Event.t(), map()) :: {[GeminiCliSdk.Types.stream_event()], map()}
@spec stderr_chunk(CliSubprocessCore.Event.t()) :: String.t() | nil