Typed structs mirroring bsdkrun's JSON output, plus mapping helpers that
turn a decoded --json row (string keys) into the corresponding struct.
Summary
Functions
Map a GraphQL CommandResult row to a CommandResult struct.
Map an images --json row to an ImageInfo.
Map a network ls --json row to a NetworkInfo.
Map a ports row (from a ps --json row) to a PortForward.
Map a ps --json row to a SandboxInfo.
Map a GraphQL Machine row (camelCase keys, as selected by
Bsdkrun.Client's MACHINE_FIELDS) to a SandboxInfo — the same struct
sandbox_info/1 builds from the CLI's ps --json, just sourced from the
daemon instead.
Map a GraphQL ShellSessionInfo row to a ShellSessionInfo struct.
Map a volume ls --json row to a VolumeInfo.
Functions
@spec command_result_from_graphql(map()) :: Bsdkrun.Types.CommandResult.t()
Map a GraphQL CommandResult row to a CommandResult struct.
@spec image_info(map()) :: Bsdkrun.Types.ImageInfo.t()
Map an images --json row to an ImageInfo.
@spec network_info(map()) :: Bsdkrun.Types.NetworkInfo.t()
Map a network ls --json row to a NetworkInfo.
@spec port_forward(map()) :: Bsdkrun.Types.PortForward.t()
Map a ports row (from a ps --json row) to a PortForward.
@spec sandbox_info(map()) :: Bsdkrun.Types.SandboxInfo.t()
Map a ps --json row to a SandboxInfo.
@spec sandbox_info_from_graphql(map()) :: Bsdkrun.Types.SandboxInfo.t()
Map a GraphQL Machine row (camelCase keys, as selected by
Bsdkrun.Client's MACHINE_FIELDS) to a SandboxInfo — the same struct
sandbox_info/1 builds from the CLI's ps --json, just sourced from the
daemon instead.
@spec shell_session_info_from_graphql(map()) :: Bsdkrun.Types.ShellSessionInfo.t()
Map a GraphQL ShellSessionInfo row to a ShellSessionInfo struct.
@spec volume_info(map()) :: Bsdkrun.Types.VolumeInfo.t()
Map a volume ls --json row to a VolumeInfo.