Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@ and tool implementations; the framework handles the rest.
| [`builder`](https://docs.rs/loopctl/latest/loopctl/builder/index.html) | Fluent builder API with type-state generics for compile-time safety |
| [`builtin`](https://docs.rs/loopctl/latest/loopctl/builtin/index.html) | Reference implementations: `InMemoryStore`, `LoggingObserver` |
| [`cancel`](https://docs.rs/loopctl/latest/loopctl/cancel/index.html) | Cooperative cancellation via `CancelSignal` (AtomicBool + tokio::Notify) |
| [`compact`](https://docs.rs/loopctl/latest/loopctl/compact/index.html) | Context compaction: `ContextCompactor` trait, `TruncatingCompactor`, `TokenSplitter` |
| [`core`](https://docs.rs/loopctl/latest/loopctl/core/index.html) | Core traits (`AgentCore`, `AgentObserver`, `AgentMemory`), config, error, and state types |
| [`engine`](https://docs.rs/loopctl/latest/loopctl/engine/index.html) | `BareLoop<C>` — the default agent loop engine (stream → accumulate → dispatch tools → repeat) |
| [`loop_control`](https://docs.rs/loopctl/latest/loopctl/loop_control/index.html)| Loop detection, convergence detection, fallback model chains, and manager bundle |
| [`message`](https://docs.rs/loopctl/latest/loopctl/message/index.html) | Conversation types: `Message`, `MessagePart`, `ToolContent`, roles |
| [`observability`](https://docs.rs/loopctl/latest/loopctl/observability/index.html) | Structured event streaming: `EventSink` trait, `ObserveEvent`, `CompositeSink`, `ConsoleSink` |
| [`stream`](https://docs.rs/loopctl/latest/loopctl/stream/index.html) | Streaming event types, accumulator, stop reasons, usage tracking |
| [`tool`](https://docs.rs/loopctl/latest/loopctl/tool/index.html) | `Tool` trait, `ToolRegistry`, `ToolSchema`, `ToolOutput`, `FnTool` adapter |
| [`testing`](https://docs.rs/loopctl/latest/loopctl/testing/index.html) | Mock API client, mock tools, and test fixture factories (feature-gated) |
Expand Down
42 changes: 25 additions & 17 deletions src/core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,40 @@
//!
//! # Supporting Types
//!
//! | Type | Purpose |
//! |-----------------------|---------------------------------------------------|
//! | [`AgentConfig`] | Configuration for an agent session |
//! | [`AgentError`] | Unified error type for all framework operations |
//! | [`AgentState`] | Lifecycle state machine for agents |
//! | [`Correction`] | Correction produced by the reflection system |
//! | [`CompactReason`] | Why context compaction was triggered |
//! | [`CorrectionResult`] | Outcome of applying a correction |
//! | [`ConsolidationStats`]| Statistics from a memory consolidation pass |
//! | [`CorrectionType`] | Category of fix strategy for a correction |
//! | [`MemoryCategory`] | Category of a memory entry |
//! | [`MemoryEntry`] | A single memory entry with metadata |
//! | [`StopReason`] | Why the API stopped generating |
//! | [`SessionResult`] | Summary of a complete agent session |
//! | [`ToolCall`] | A tool call requested by the agent |
//! | [`ToolCallResult`] | Result of a single tool execution |
//! | [`TurnResult`] | Result of a single agent turn |
//! | Type | Purpose |
//! |--------------------------------|------------------------------------------------------|
//! | [`AgentConfig`] | Configuration for an agent session |
//! | [`AgentError`] | Unified error type for all framework operations |
//! | [`AgentState`] | Lifecycle state machine for agents |
//! | [`Correction`] | Correction produced by the reflection system |
//! | [`CompactReason`] | Why context compaction was triggered |
//! | [`CorrectionResult`] | Outcome of applying a correction |
//! | [`ConsolidationStats`] | Statistics from a memory consolidation pass |
//! | [`CorrectionType`] | Category of fix strategy for a correction |
//! | [`ExponentialBackoffRecovery`] | Retry strategy with exponential backoff |
//! | [`FailureAnalysis`] | Analysis of a failed tool call |
//! | [`FailureSeverity`] | How severe a failure is |
//! | [`MemoryCategory`] | Category of a memory entry |
//! | [`MemoryEntry`] | A single memory entry with metadata |
//! | [`NoopReflector`] | Default reflector — marks everything non-recoverable |
//! | [`RecoveryAction`] | What the framework should do after a failure |
//! | [`ReflectionContext`] | Retry state provided to the reflector |
//! | [`StopReason`] | Why the API stopped generating |
//! | [`SessionResult`] | Summary of a complete agent session |
//! | [`ToolCall`] | A tool call requested by the agent |
//! | [`ToolCallResult`] | Result of a single tool execution |
//! | [`TurnResult`] | Result of a single agent turn |

pub mod agent_core;
pub mod agent_memory;
pub mod agent_observer;
pub mod error;
pub mod reflection;
pub mod types;

pub use agent_core::*;
pub use agent_memory::*;
pub use agent_observer::*;
pub use error::*;
pub use reflection::*;
pub use types::*;
Loading
Loading