mod codec;
mod fields;
mod msg;
mod types;
pub use codec::{decode_header, encode_header, read_frame, write_frame, Error, Frame, Header};
pub use fields::{walk_fields, FieldReader, FieldWriter, WIRE_BYTES, WIRE_U64};
pub use msg::{
decode_command_invoked, decode_command_response, decode_event_notify, decode_hello,
decode_hello_ack, decode_host_request, decode_host_result, decode_intercept_req,
decode_intercept_resp, decode_notify, decode_register_command, decode_register_tool,
decode_session_meta, decode_subscribe, decode_tool_invoke, decode_tool_result,
encode_command_invoked, encode_command_response, encode_event_notify, encode_hello,
encode_hello_ack, encode_host_request, encode_host_result, encode_intercept_req,
encode_intercept_resp, encode_notify, encode_register_command, encode_register_tool,
encode_session_meta, encode_subscribe, encode_tool_invoke, encode_tool_result, CommandInvoked,
CommandResponse, EventNotify, Hello, HelloAck, HostRequest, HostResult, InterceptReq,
InterceptResp, NotifyMsg, RegisterCommand, RegisterTool, SessionMeta, Subscribe, ToolInvoke,
ToolResultMsg,
};
pub use types::{
Event, FrameType, CAP_COMMANDS, CAP_EVENTS, CAP_INTERCEPT, CAP_TOOLS, FLAG_HAS_ID, HEADER_SIZE,
MAGIC, MAX_PAYLOAD, PROTOCOL_VERSION, TYPE_COMMAND_INVOKED, TYPE_COMMAND_RESPONSE, TYPE_EVENT,
TYPE_HELLO, TYPE_HELLO_ACK, TYPE_HOST_REQUEST, TYPE_HOST_RESULT, TYPE_INTERCEPT,
TYPE_INTERCEPT_RESPONSE, TYPE_NOTIFY, TYPE_READY, TYPE_REGISTER_COMMAND, TYPE_REGISTER_TOOL,
TYPE_SESSION_META, TYPE_SHUTDOWN, TYPE_SHUTDOWN_ACK, TYPE_SUBSCRIBE, TYPE_TOOL_INVOKE,
TYPE_TOOL_RESULT,
};