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 a2a_types;
8pub mod agent;
9pub mod agent_store;
10pub mod common;
11pub mod delegation;
12pub mod embedding;
13pub mod event_bus;
14pub mod loop_detection;
15pub mod metrics;
16#[cfg(feature = "privacy")]
17pub mod privacy;
18pub mod regression;
19pub mod regression_bus;
20pub mod routing;
21pub mod security;
22pub mod types;
23pub mod validation;
24
25/// Re-export `tracing` so downstream crates can use `agentzero_core::tracing`
26/// instead of adding a separate `tracing` dependency.
27pub use tracing;
28
29pub use agent::Agent;
30pub use event_bus::{Event, EventBus, EventSubscriber, FileBackedBus, InMemoryBus};
31pub use loop_detection::{LoopDetectionConfig, ToolLoopDetector};
32pub use metrics::{HistogramSnapshot, RuntimeMetrics, RuntimeMetricsSnapshot};
33pub use types::{
34    AgentConfig, AgentEndpoint, AgentError, AnnounceMessage, AssistantMessage, AuditEvent,
35    AuditSink, ChannelEndpoint, ChatResult, ContentPart, ConversationMessage, DepthPolicy,
36    DepthRule, HookEvent, HookFailureMode, HookPolicy, HookRiskTier, HookSink, JobStatus, Lane,
37    LoopAction, MemoryEntry, MemoryStore, MergeStrategy, MetricsSink, Provider, QueueMode,
38    ReasoningConfig, ResearchPolicy, ResearchTrigger, RunId, StopReason, StreamChunk, StreamSink,
39    SummarizationConfig, Tool, ToolCallDelta, ToolContext, ToolDefinition, ToolResult,
40    ToolResultMessage, ToolSelectionMode, ToolSelector, ToolSummary, ToolUseRequest, UserMessage,
41};
42pub use validation::validate_json;