Module Proto.Incoming

Incoming messages from the Claude CLI.

This module defines a discriminated union of all possible message types that can be received from the Claude CLI, with a single jsont codec.

The codec uses the "type" field to discriminate between message types:

This provides a clean, type-safe way to decode incoming messages in a single operation.

type t =
  1. | Message of Message.t
  2. | Control_response of Control.response_envelope
  3. | Control_request of Control.request_envelope
val jsont : t Jsont.t

Codec for incoming messages. Uses the "type" field to discriminate. Use Jsont.pp_value jsont () for pretty-printing.