Skip to main content

molo_core/
lib.rs

1//! Core protocol types and traits for molo.
2#![warn(missing_docs)]
3
4pub mod agent;
5pub mod effect;
6pub mod message;
7pub mod observability;
8pub mod provider;
9pub mod run;
10pub mod tool;
11
12// Allows examples generated in dependent facade crates to keep using
13// `::molo::...` paths through the facade.
14extern crate self as molo;
15
16pub use agent::{AgentAction, ModelObservation, ModelRequest, Observation};
17pub use async_trait::async_trait;
18pub use effect::{
19    DisplayFormat, DisplayOutput, EffectKind, EffectObservation, EffectOutput, EffectRequest,
20    EffectSource, EffectStatus, RiskLevel,
21};
22pub use message::{ContentBlock, ImageContent, Message, ToolCall};
23pub use observability::{AgentEventRecord, EventSeverity, RedactionRecord};
24pub use provider::{
25    Backoff, ChatRequest, ChatResponse, FakeProvider, FakeReply, FinishReason, ModelOptions,
26    Provider, ProviderCapabilities, ProviderError, ProviderRequestContext, RetryPolicy,
27    RetryProvider, Retryable, StreamEvent, Usage,
28};
29pub use run::{Artifact, RunContext, RunMetadata, RunOutput, RunRequest, RunSummary, UserInput};
30pub use tokio_util::sync::CancellationToken;
31pub use tool::{
32    SharedState, SideEffectLevel, Tool, ToolContext, ToolError, ToolMemoryPolicy, ToolNamespace,
33    ToolNamespaceKind, ToolOutput, ToolPolicy, ToolResult, ToolSchema, ToolSource, ToolTrustLevel,
34};