Skip to main content

agentzero_core/
lib.rs

1//! Core traits, types, and utilities for AgentZero.
2//!
3//! Defines the fundamental abstractions: `Tool`, `Provider`, `Agent`,
4//! `MemoryStore`, and all message/result types. Also contains shared
5//! utilities for URL policy enforcement, security, delegation, and routing.
6
7pub mod agent;
8pub mod common;
9pub mod delegation;
10pub mod event_bus;
11pub mod loop_detection;
12pub mod metrics;
13#[cfg(feature = "privacy")]
14pub mod privacy;
15pub mod routing;
16pub mod security;
17pub mod types;
18pub mod validation;
19
20/// Re-export `tracing` so downstream crates can use `agentzero_core::tracing`
21/// instead of adding a separate `tracing` dependency.
22pub use tracing;
23
24pub use agent::Agent;
25pub use event_bus::{Event, EventBus, EventSubscriber, FileBackedBus, InMemoryBus};
26pub use loop_detection::{LoopDetectionConfig, ToolLoopDetector};
27pub use metrics::{HistogramSnapshot, RuntimeMetrics, RuntimeMetricsSnapshot};
28pub use types::{
29    AgentConfig, AgentEndpoint, AgentError, AnnounceMessage, AssistantMessage, AuditEvent,
30    AuditSink, ChannelEndpoint, ChatResult, ContentPart, ConversationMessage, DepthPolicy,
31    DepthRule, HookEvent, HookFailureMode, HookPolicy, HookRiskTier, HookSink, JobStatus, Lane,
32    LoopAction, MemoryEntry, MemoryStore, MergeStrategy, MetricsSink, Provider, QueueMode,
33    ReasoningConfig, ResearchPolicy, ResearchTrigger, RunId, StopReason, StreamChunk, StreamSink,
34    Tool, ToolCallDelta, ToolContext, ToolDefinition, ToolResult, ToolResultMessage,
35    ToolUseRequest, UserMessage,
36};
37pub use validation::validate_json;