Skip to main content

Module protocol

Module protocol 

Source

Structs§

AssistantMessage
AssistantMessageBody
ControlRequestBody
ControlRequestMessage
ResultMessage
StreamEventMessage
SystemMessage
ToolProgressMessage
UserMessage

Enums§

ContentBlock
StreamMessage
Top-level message from Claude CLI stdout (NDJSON stream-json protocol).

Functions§

answer_question
Build a control response that approves an AskUserQuestion request and injects the user’s answer via updated_input.
approve_tool
Build a tool-approval control response (allow unapproved tools after user confirmation).
control_response
Build a control response JSON line to write to stdin (e.g. tool approval). Returns an error if serialization fails (should be extremely rare).
deny_tool
Build a tool-denial control response (reject unapproved tools). Returns a hardcoded fallback if serialization fails (should never happen for this simple JSON).
parse_line
Parse a single NDJSON line from Claude CLI stdout. Returns None for empty/malformed lines (logged as warnings).
user_message
Build a user message JSON line to write to stdin. Returns an error if serialization fails (should be extremely rare).