#![deny(missing_docs)]
mod canonical;
mod channel;
mod config;
mod dialect;
mod encoder;
mod error;
mod id;
mod input;
mod limits;
mod loop_types;
mod safe;
mod tool;
mod transaction;
pub use canonical::{
BoundaryKind, CanonicalUnit, CanonicalUnitEvent, CanonicalUnitSnapshot, DiagnosticKind, FlowId,
InterpretationEnd, InterpretationEndKind, InterpretationId, InterpreterOutputEvent, LaneId,
ModelDiagnostic, ParagraphBoundary, ParagraphKind, SemanticBoundary, SourceTimeObservation,
StructuralAtom, StructureKind, TextChannel, TextSentence, TokenCount, ToolActionEvent,
ToolActionId, ToolExecutionState, ToolRequestState, ToolResultState, ToolTerminalOutcome,
UnitId, UnitState, UsageObservation,
};
pub use channel::{
send_and_retain_allowed, ChannelCapabilities, ChannelCapabilityError, ChannelDescriptor,
ChannelKind, ExchangeMode, McpConfigurationCapability, McpReachability, SessionMode,
ToolExecutionMode,
};
pub use config::{
merge_effective_config, ChannelDefaults, ConfigError, ConfigOption, ContinuationPolicy,
EffectiveConfig, ExtensionKey, InvocationConfig, OptionPolicy, ReasoningEffort, ResponseFormat,
SessionConfig, VersionedExtension,
};
pub use dialect::{DialectBinding, DialectDescriptor, DialectFamily, DialectNegotiation};
pub use encoder::{
ContinuationContext, EncodedExchange, EncodingError, ExchangeInputPolicy, InitialEncodeRequest,
OutboundDialectEncoder, ToolContinuationEncodeRequest,
};
pub use error::{ConnectorError, ConnectorErrorKind, InterpreterError, InterpreterErrorKind};
pub use id::{
validate_identity_string, ChannelId, ConnectionId, ExchangeId, ExternalSessionId,
GrokSessionId, IdentityError, MonoloopRunId, RequestId, SessionId, SessionKey, ToolId,
ToolName, TransactionId, MAX_IDENTITY_BYTES,
};
pub use input::{
user_text_input, CanonicalAssistantToolCall, CanonicalInput, CanonicalMessage,
InputValidationError, TextPart,
};
pub use limits::{
ChannelLimits, ConnectorLimits, ExtensionLimits, InputLimits, InterpretationLimits,
LimitsError, ToolLimits, TransactionLimits, TransportBufferLimits,
};
pub use loop_types::{
LoopEnd, LoopEndKind, LoopError, LoopErrorKind, LoopId, LoopLimits, LoopOutputEvent, LoopScope,
OutboundToolOutcome, OutboundToolResult, ToolExecutionId, ToolUnavailableReason,
};
pub use safe::{DiagnosticCode, SafeDiagnostic, SafeDiagnosticError};
pub use tool::{
CanonicalToolError, CanonicalToolOutput, CanonicalToolResult, CanonicalToolResultOutcome,
JsonSchema, ToolCall, ToolCallContext, ToolCancellationPolicy, ToolCompletion,
ToolContractError, ToolLifecycleEvent, ToolOutputContract, ToolRuntimeError, ToolSpec,
ToolStartError, ToolSuccessContract,
};
pub use transaction::{
AdmissionError, AdmissionErrorKind, AdmissionReceipt, CancellationReason,
CancellationReasonCode, CompletionCallback, CompletionDelivery, CompletionDeliveryError,
EventDelivery, EventDeliveryError, EventDeliveryOutcome, FnCompletionCallback, FnEventSink,
Shutdown, ShutdownDisposition, TerminationDisposition, TerminationMode, TerminationReason,
TerminationReasonCode, TransactionDiagnostic, TransactionEnd, TransactionEndKind,
TransactionEvent, TransactionEventPayload, TransactionEventSink, TransactionRequest,
TransactionRuntime, TransactionSelector, TransactionUsage,
};
pub use bytes::Bytes;