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