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 metrics;
12#[cfg(feature = "privacy")]
13pub mod privacy;
14pub mod routing;
15pub mod security;
16pub mod types;
17pub mod validation;
18
19/// Re-export `tracing` so downstream crates can use `agentzero_core::tracing`
20/// instead of adding a separate `tracing` dependency.
21pub use tracing;
22
23pub use agent::Agent;
24pub use event_bus::{Event, EventBus, EventSubscriber, InMemoryBus};
25pub use metrics::{HistogramSnapshot, RuntimeMetrics, RuntimeMetricsSnapshot};
26pub use types::{
27    AgentConfig, AgentError, AssistantMessage, AuditEvent, AuditSink, ChatResult, ContentPart,
28    ConversationMessage, HookEvent, HookFailureMode, HookPolicy, HookRiskTier, HookSink,
29    MemoryEntry, MemoryStore, MetricsSink, Provider, ReasoningConfig, ResearchPolicy,
30    ResearchTrigger, StopReason, StreamChunk, StreamSink, Tool, ToolCallDelta, ToolContext,
31    ToolDefinition, ToolResult, ToolResultMessage, ToolUseRequest, UserMessage,
32};
33pub use validation::validate_json;