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