Parses the constrained JSON decision protocol used by the ReqLLM runtime.
@type t() :: Jidoka.Effect.LLMDecision.t()
@spec parse_object(map()) :: {:ok, t()} | {:error, term()}
@spec parse_text(String.t() | nil) :: {:ok, t()} | {:error, term()}