#![deny(unsafe_code)]
#![warn(missing_docs)]
pub mod agent;
pub mod content;
pub mod error;
pub mod hooks;
pub mod message;
pub mod permissions;
pub mod protocol;
pub mod types;
pub use agent::{AgentDefinition, ControlRequest, HookEvent, ToolPermissionRequest};
pub use content::ContentBlock;
pub use error::{ProtocolError, Result};
pub use hooks::{ContinueReason, HookContext, HookMatcher, PermissionDecision, StopReason};
pub use message::{
AssistantMessage, AssistantMessageError, Message, MessageRequest, MessageRole, ResultMessage,
StreamEvent, SystemMessage, UserMessage,
};
pub use permissions::{
AddDirectoriesUpdate, AddRulesUpdate, PermissionBehavior, PermissionRuleValue,
PermissionUpdate, PermissionUpdateDestination, RemoveDirectoriesUpdate, RemoveRulesUpdate,
ReplaceRulesUpdate, SetModeUpdate,
};
pub use protocol::{
ControlCommand, ControlResponse, HookRequest, HookResponse, ModifiedInputs,
PermissionCheckRequest, PermissionResponse, ProtocolErrorMessage, ProtocolMessage,
QueryRequest, QueryResponse, RequestId,
};
pub use types::{Model, PermissionMode, ToolDefinition, Usage};