nexo-core 0.1.1

Agent runtime: event bus, sessions, plugin trait, heartbeat, A2A delegation.
Documentation
// Module name intentionally matches parent — `agent::agent::Agent` is the
// canonical path for the aggregate type. Splitting the struct out of this
// module would ripple through every `use nexo_core::agent::Agent;`.
#[allow(clippy::module_inception)]
pub mod agent;
pub mod agents_directory;
pub mod behavior;
pub mod binding_validate;
pub mod compaction;
pub mod context;
pub mod delegation_tool;
pub mod dreaming;
pub mod effective;
pub mod extension_hook;
pub mod extension_tool;
pub mod heartbeat_tool;
pub mod hook_registry;
pub mod llm_behavior;
pub mod mcp_catalog;
pub mod mcp_resource_tool;
pub mod mcp_server_bridge;
pub mod mcp_session;
pub mod mcp_tool;
pub mod memory_checkpoint_tool;
pub mod memory_history_tool;
pub mod memory_tool;
pub mod mock_plugin;
pub mod noop;
pub mod peer_directory;
pub mod plugin;
pub mod prompt_assembly;
pub mod rate_limit;
pub mod redaction;
pub mod registry;
pub mod routing;
pub mod runtime;
pub mod schema_validator;
pub mod self_report;
pub mod sender_rate_limit;
pub mod session_logs_tool;
pub mod skills;
pub mod taskflow_tool;
pub mod tool_filter;
pub mod tool_policy;
pub mod tool_registry;
pub mod tool_registry_cache;
pub mod transcripts;
pub mod transcripts_index;
pub mod types;
pub mod web_search_tool;
pub mod workspace;
pub mod workspace_cache;
pub mod workspace_git;
pub use agent::Agent;
pub use agents_directory::{AgentInfo, AgentsDirectory};
pub use behavior::AgentBehavior;
pub use binding_validate::{
    collect_binding_errors, collect_binding_errors_with_providers, validate_agent, validate_agents,
    validate_agents_with_providers, BindingValidationError, KnownProviders, KnownTools,
};
pub use context::AgentContext;
pub use delegation_tool::DelegationTool;
pub use dreaming::{DreamCandidate, DreamEngine, DreamReport, DreamWeights, DreamingConfig};
pub use effective::EffectiveBindingPolicy;
pub use extension_hook::ExtensionHook;
pub use extension_tool::{ExtensionTool, EXT_NAME_PREFIX};
pub use heartbeat_tool::HeartbeatTool;
pub use hook_registry::{HookHandler, HookOutcome, HookRegistry};
pub use llm_behavior::LlmAgentBehavior;
pub use mcp_catalog::{McpCatalogEntry, McpServerSummary, McpToolCatalog};
pub use mcp_resource_tool::{
    McpResourceListTool, McpResourceReadTool, RESOURCE_LIST_SUFFIX, RESOURCE_READ_SUFFIX,
};
pub use mcp_server_bridge::ToolRegistryBridge;
pub use mcp_session::{
    build_session_catalog, build_session_catalog_with_context, register_session_tools,
    register_session_tools_with_context, register_session_tools_with_overrides,
};
pub use mcp_tool::{sanitize_name_fragment, McpTool, MCP_NAME_PREFIX};
pub use memory_checkpoint_tool::MemoryCheckpointTool;
pub use memory_history_tool::MemoryHistoryTool;
pub use memory_tool::MemoryTool;
pub use mock_plugin::MockPlugin;
pub use noop::NoOpAgent;
pub use peer_directory::{PeerDirectory, PeerSummary};
pub use plugin::{Command, Plugin, Response};
pub use rate_limit::{ToolRateLimitConfig, ToolRateLimiter, ToolRateLimitsConfig};
pub use redaction::{RedactionReport, Redactor};
pub use registry::PluginRegistry;
pub use routing::{AgentMessage, AgentPayload, AgentRouter};
pub use runtime::AgentRuntime;
pub use schema_validator::ToolArgsValidator;
pub use self_report::{MyStatsTool, WhatDoIKnowTool, WhoAmITool};
pub use session_logs_tool::SessionLogsTool;
pub use skills::{
    BinVersionSpec, LoadedSkill, MissingVersion, SkillLoadAction, SkillLoadStatus, SkillLoader,
    VersionFailReason,
};
pub use taskflow_tool::{TaskFlowTool, TaskFlowToolGuardrails};
pub use tool_registry::{ToolHandler, ToolRegistry};
pub use tool_registry_cache::ToolRegistryCache;
pub use transcripts::{
    SessionHeader, TranscriptEntry, TranscriptLine, TranscriptRole, TranscriptWriter,
    TRANSCRIPT_VERSION,
};
pub use transcripts_index::{IndexedHit, TranscriptsIndex};
pub use types::{InboundMessage, RunTrigger};
pub use web_search_tool::WebSearchTool;
pub use workspace::{
    AgentIdentity, DailyNote, LoadLimits, SessionScope, WorkspaceBundle, WorkspaceLoader,
};
pub use workspace_git::{CommitSummary, MemoryGitRepo};