Skip to main content

Crate rustant_core

Crate rustant_core 

Source
Expand description

§Rustant Core

Core library for the Rustant autonomous agent. Provides the agent orchestrator, LLM interface (brain), memory system, safety guardian, configuration, and fundamental types.

Re-exports§

pub use agent::Agent;
pub use agent::AgentCallback;
pub use agent::AgentMessage;
pub use agent::BudgetSeverity;
pub use agent::ContextHealthEvent;
pub use agent::NoOpCallback;
pub use agent::RegisteredTool;
pub use agent::TaskResult;
pub use brain::Brain;
pub use brain::LlmProvider;
pub use brain::MockLlmProvider;
pub use brain::TokenCounter;
pub use browser::BrowserSecurityGuard;
pub use browser::BrowserSession;
pub use browser::CdpClient;
pub use browser::MockCdpClient;
pub use browser::PageSnapshot;
pub use browser::SnapshotMode;
pub use channels::cdc::CdcAction;
pub use channels::cdc::CdcConfig;
pub use channels::cdc::CdcProcessor;
pub use channels::cdc::CdcState;
pub use channels::style_tracker::CommunicationStyleTracker;
pub use channels::style_tracker::SenderStyleProfile;
pub use channels::AutoReplyEngine;
pub use channels::Channel;
pub use channels::ChannelAgentBridge;
pub use channels::ChannelCapabilities;
pub use channels::ChannelDigest;
pub use channels::ChannelManager;
pub use channels::ChannelMessage;
pub use channels::ChannelStatus;
pub use channels::ChannelType;
pub use channels::ChannelUser;
pub use channels::ClassificationCache;
pub use channels::ClassifiedMessage;
pub use channels::DigestActionItem;
pub use channels::DigestCollector;
pub use channels::DigestHighlight;
pub use channels::EmailCategory;
pub use channels::EmailClassification;
pub use channels::EmailIntelligence;
pub use channels::FollowUpReminder;
pub use channels::IMessageChannel;
pub use channels::IMessageConfig;
pub use channels::IntelligenceResult;
pub use channels::IrcChannel;
pub use channels::IrcConfig;
pub use channels::LlmClassificationResponse;
pub use channels::MessageClassifier;
pub use channels::MessageContent;
pub use channels::MessageId;
pub use channels::MessageType;
pub use channels::PendingReply;
pub use channels::ReminderStatus;
pub use channels::ReplyStatus;
pub use channels::ResolvedContact;
pub use channels::SchedulerBridge;
pub use channels::SenderProfile;
pub use channels::SmsChannel;
pub use channels::SmsConfig;
pub use channels::StreamingMode;
pub use channels::SuggestedAction;
pub use channels::TeamsChannel;
pub use channels::TeamsConfig;
pub use channels::ThreadId;
pub use channels::WebhookChannel;
pub use channels::WebhookConfig;
pub use config::MultiAgentConfig;
pub use config::AgentConfig;
pub use config::ApprovalMode;
pub use config::CouncilConfig;
pub use config::CouncilMemberConfig;
pub use config::ExternalMcpServerConfig;
pub use config::KnowledgeConfig;
pub use config::VotingStrategy;
pub use config::config_exists;
pub use config::AutoReplyMode;
pub use config::ChannelIntelligenceConfig;
pub use config::DigestFrequency;
pub use config::IntelligenceConfig;
pub use config::MessagePriority as ChannelMessagePriority;
pub use council::CouncilMemberResponse;
pub use council::CouncilResult;
pub use council::DetectedProvider;
pub use council::PeerReview;
pub use council::PlanningCouncil;
pub use council::detect_available_providers;
pub use council::should_use_council;
pub use plan::ExecutionPlan;
pub use plan::PlanAlternative;
pub use plan::PlanConfig;
pub use plan::PlanDecision;
pub use plan::PlanStatus;
pub use plan::PlanStep;
pub use plan::StepStatus;
pub use credentials::CredentialError;
pub use credentials::CredentialStore;
pub use credentials::InMemoryCredentialStore;
pub use credentials::KeyringCredentialStore;
pub use encryption::EncryptionError;
pub use encryption::SessionEncryptor;
pub use error::BrowserError;
pub use error::SchedulerError;
pub use error::VoiceError;
pub use error::ChannelError;
pub use error::NodeError;
pub use error::Result;
pub use error::RustantError;
pub use explanation::DecisionExplanation;
pub use explanation::DecisionType;
pub use explanation::ExplanationBuilder;
pub use explanation::FactorInfluence;
pub use gateway::ChannelBridge;
pub use gateway::ClientMessage;
pub use gateway::GatewayConfig;
pub use gateway::GatewayEvent;
pub use gateway::NodeBridge;
pub use gateway::ServerMessage;
pub use indexer::IndexStats;
pub use indexer::IndexerConfig;
pub use indexer::ProjectIndexer;
pub use injection::InjectionDetector;
pub use injection::InjectionScanResult;
pub use injection::InjectionType;
pub use injection::Severity as InjectionSeverity;
pub use memory::BehavioralRule;
pub use memory::ContextBreakdown;
pub use memory::KnowledgeDistiller;
pub use memory::KnowledgeStore;
pub use memory::MemorySystem;
pub use memory::Session;
pub use memory::SessionMetadata;
pub use merkle::AuditNode;
pub use merkle::MerkleChain;
pub use merkle::VerificationResult;
pub use multi::AgentStatus as MultiAgentStatus;
pub use multi::AgentContext;
pub use multi::AgentEnvelope;
pub use multi::AgentOrchestrator;
pub use multi::AgentPayload;
pub use multi::AgentRoute;
pub use multi::AgentRouter;
pub use multi::AgentSpawner;
pub use multi::MessageBus;
pub use multi::MessagePriority;
pub use multi::ResourceLimits;
pub use multi::TaskHandler;
pub use nodes::Capability;
pub use nodes::ConsentEntry;
pub use nodes::ConsentStore;
pub use nodes::DiscoveredNode;
pub use nodes::Node;
pub use nodes::NodeCapability;
pub use nodes::NodeDiscovery;
pub use nodes::NodeHealth;
pub use nodes::NodeId;
pub use nodes::NodeManager;
pub use nodes::NodeMessage;
pub use nodes::NodeResult;
pub use nodes::NodeTask;
pub use nodes::Platform;
pub use nodes::RateLimit;
pub use oauth::AuthMethod;
pub use pairing::DeviceIdentity;
pub use pairing::PairingChallenge;
pub use pairing::PairingManager;
pub use pairing::PairingResult;
pub use project_detect::ProjectInfo;
pub use project_detect::ProjectType;
pub use project_detect::detect_project;
pub use project_detect::example_tasks;
pub use project_detect::recommended_allowed_commands;
pub use providers::CircuitBreaker;
pub use providers::CircuitState;
pub use providers::FailoverProvider;
pub use providers::GeminiProvider;
pub use providers::ModelInfo;
pub use providers::create_council_members;
pub use providers::create_provider;
pub use providers::create_provider_with_auth;
pub use safety::AdaptiveTrust;
pub use safety::ApprovalContext;
pub use safety::ApprovalDecision;
pub use safety::BehavioralFingerprint;
pub use safety::ContractEnforcer;
pub use safety::Invariant;
pub use safety::Predicate;
pub use safety::ResourceBounds;
pub use safety::ReversibilityInfo;
pub use safety::SafetyContract;
pub use safety::SafetyGuardian;
pub use safety::ToolRateLimiter;
pub use sandbox::SandboxedFs;
pub use scheduler::BackgroundJob;
pub use scheduler::CronJob;
pub use scheduler::CronJobConfig;
pub use scheduler::CronScheduler;
pub use scheduler::HeartbeatConfig;
pub use scheduler::HeartbeatManager;
pub use scheduler::JobManager;
pub use scheduler::JobStatus;
pub use scheduler::WebhookEndpoint;
pub use scheduler::WebhookHandler;
pub use search::HybridSearchEngine;
pub use search::SearchConfig;
pub use search::SearchResult;
pub use secret_ref::MigrationResult;
pub use secret_ref::SecretRef;
pub use secret_ref::SecretResolveError;
pub use secret_ref::SecretResolver;
pub use session_manager::SessionEntry;
pub use session_manager::SessionIndex;
pub use session_manager::SessionManager;
pub use skills::ParseError as SkillParseError;
pub use skills::SkillConfig;
pub use skills::SkillDefinition;
pub use skills::SkillLoader;
pub use skills::SkillRegistry;
pub use skills::SkillRequirement;
pub use skills::SkillRiskLevel;
pub use skills::SkillToolDef;
pub use skills::ValidationError;
pub use skills::ValidationResult;
pub use skills::parse_skill_md;
pub use skills::validate_skill;
pub use summarizer::ContextSummarizer;
pub use summarizer::ContextSummary;
pub use summarizer::TokenAlert;
pub use summarizer::TokenCostDisplay;
pub use types::AgentState;
pub use types::AgentStatus;
pub use types::Artifact;
pub use types::CompletionRequest;
pub use types::CompletionResponse;
pub use types::Content;
pub use types::CostEstimate;
pub use types::Message;
pub use types::ProgressUpdate;
pub use types::RiskLevel;
pub use types::Role;
pub use types::StreamEvent;
pub use types::TaskClassification;
pub use types::TokenUsage;
pub use types::ToolDefinition;
pub use types::ToolOutput;
pub use voice::AudioChunk;
pub use voice::AudioFormat;
pub use voice::MeetingRecordingSession;
pub use voice::MeetingResult;
pub use voice::MeetingStatus;
pub use voice::MockSttProvider;
pub use voice::MockTtsProvider;
pub use voice::MockWakeDetector;
pub use voice::OpenAiSttProvider;
pub use voice::OpenAiTtsProvider;
pub use voice::SttProvider;
pub use voice::SttWakeDetector;
pub use voice::SynthesisRequest;
pub use voice::SynthesisResult;
pub use voice::ToggleState;
pub use voice::TranscriptionResult;
pub use voice::TranscriptionSegment;
pub use voice::TtsProvider;
pub use voice::VadEvent;
pub use voice::VoiceActivityDetector;
pub use voice::VoiceCommandSession;
pub use voice::WakeWordDetector;
pub use voice::audio_convert;
pub use workflow::WorkflowDefinition;
pub use workflow::WorkflowExecutor;
pub use workflow::WorkflowState;
pub use workflow::WorkflowStatus;
pub use workflow::get_builtin;
pub use workflow::list_builtin_names;
pub use workflow::parse_workflow;
pub use workflow::validate_workflow;

Modules§

agent
Agent orchestrator implementing the Think → Act → Observe event loop.
audit
Audit trail — unified execution trace, querying, export, and analytics.
brain
Brain module — LLM provider abstraction and interaction.
browser
Browser Automation Module for Rustant.
canvas
Canvas System
channels
Channel System
config
Configuration system for Rustant.
council
LLM Council — Multi-model deliberation for planning tasks.
credentials
Credential storage for LLM provider API keys.
encryption
Session encryption — AES-256-GCM for encrypting session data at rest.
error
Error types for the Rustant agent core.
explanation
Decision / Tool Selection Explanations
gateway
WebSocket Gateway
indexer
Project Context Auto-Indexer
injection
Prompt injection detection module.
memory
Three-tier memory system for the Rustant agent.
merkle
Merkle Tree Audit Logging
metrics
Agent metrics — counters and histograms for observability.
multi
Multi-agent system — isolation, routing, spawning, and inter-agent messaging.
nodes
Node System
oauth
OAuth 2.0 + PKCE authentication for LLM providers.
pairing
DM Pairing Protocol
plan
Plan mode: structured multi-step execution plans.
project_detect
Project type detection for zero-config initialization.
providers
LLM provider implementations.
replay
Session replay engine — step-by-step playback of execution traces.
safety
Safety Guardian — enforces safety policies at every execution boundary.
sandbox
Filesystem sandboxing using capability-based security (cap-std).
sanitize
Sanitization utilities for the Channel Intelligence Layer.
scheduler
Scheduling Module for Rustant.
search
Hybrid Search (Tantivy + sqlite-vec)
secret_ref
Secret reference types for secure credential resolution.
session_manager
Session management for persistent, resumable agent sessions.
skills
Skills System
summarizer
LLM-based context summarization.
types
Core type definitions for the Rustant agent.
updater
Self-update mechanism for Rustant.
voice
Voice & Audio Module for Rustant.
workflow
Workflow Engine for Rustant.

Structs§

CancellationToken
A token which can be used to signal a cancellation request to one or more tasks.