mielin_cells/
lib.rs

1//! Mielin Cells - Agent SDK
2//!
3//! Provides agent definition, lifecycle management, policy execution,
4//! and inter-agent communication.
5
6pub mod agent;
7pub mod compliance;
8pub mod composition;
9pub mod debug;
10pub mod discovery;
11pub mod dna;
12pub mod dr;
13pub mod group;
14pub mod ha;
15pub mod history;
16pub mod messaging;
17pub mod migration;
18pub mod multiregion;
19pub mod orchestration;
20pub mod policy;
21pub mod pool;
22pub mod resource;
23pub mod security;
24pub mod template;
25pub mod versioning;
26
27pub use agent::{
28    Agent, AgentError, AgentId, AgentState, StateTransition, TransitionHook, TransitionResult,
29};
30pub use compliance::{
31    AuditEntry, AuditLogger, AuditQuery, CompliancePolicy, ComplianceReport, DataClassification,
32    EventType, PolicyChecker, PolicyViolation, PrivacyConfig, PrivacyControl, PrivacyManager,
33    ReportGenerator, ReportType, RetentionPolicy,
34};
35pub use composition::{
36    Behavior, BehaviorComposite, BehaviorContext, BehaviorId, BehaviorRegistry, BehaviorResult,
37    ClosureBehavior, HealthCheckBehavior, LoggingBehavior, MetricsBehavior,
38};
39pub use debug::{
40    Breakpoint, DebugCommand, DebugContext, DebugSession, DebuggerConfig, ExecutionTracer,
41    InspectionQuery, InspectionResult, MemoryProfiler, RemoteDebugger, StateInspector, TraceEvent,
42    TraceFilter, WatchExpression,
43};
44pub use discovery::{
45    Capability, DiscoveryError, DiscoveryQuery, DiscoveryResult, HealthCheck,
46    HealthStatus as DiscoveryHealthStatus, LoadBalancer, LoadBalancingStrategy,
47    Location as DiscoveryLocation, ServiceRegistration, ServiceRegistry,
48};
49pub use dna::Dna;
50pub use dr::{
51    Backup, BackupConfig, BackupManager, BackupSchedule, BackupScheduler, BackupStrategy,
52    BackupType, RecoveryConfig, RecoveryManager, RecoveryPlan, RecoveryPoint, RecoveryStrategy,
53    RecoveryTarget, VerificationConfig, Verifier,
54};
55pub use group::{
56    AgentGroup, GroupConfig, GroupCoordinator, GroupError, GroupId, GroupMember, GroupRegistry,
57    GroupResult, GroupRole, GroupState,
58};
59pub use ha::{
60    ClusterHealth, ClusterHealthMonitor, FailoverConfig, FailoverCoordinator, FailoverDecision,
61    FailoverEvent, FailoverPolicy, FailoverState, FailoverStrategy, HealthConfig as HAHealthConfig,
62    HealthMetric, HealthStatus as HAHealthStatus, HealthThreshold, LeaderElection, LeaderElector,
63    LeaderState, NodeHealth, QuorumConfig, QuorumDecision, QuorumPolicy, QuorumVote, QuorumVoter,
64    ReplicationConfig, ReplicationManager, ReplicationState, ReplicationStrategy, StateReplica,
65    VoteRequest, VoteResponse,
66};
67pub use history::{
68    AgentHistory, HistoryConfig as HistoryTrackerConfig, HistoryTracker, StateHistoryEntry,
69    StateStatistics,
70};
71pub use messaging::{Mailbox, Message, MessageBus, MessagingError, Priority, Topic};
72pub use multiregion::{
73    CrossRegionSync, GeoRouter, LatencyMap, Region, RegionConfig, RegionDeployment, RegionManager,
74    RegionStatus, RouteDecision, RoutingPolicy, RoutingStrategy, SyncConfig, SyncManager,
75    SyncStatus,
76};
77pub use orchestration::{
78    Deployment, DeploymentSpec, DeploymentStatus, DeploymentStrategy, Node, OrchestrationError,
79    Orchestrator, PlacementConstraint, ResourceRequirements, ScalingPolicy, Scheduler,
80};
81pub use policy::Policy;
82pub use pool::{AgentPool, PoolConfig, PoolStats};
83pub use resource::{
84    Anomaly, AnomalyConfig, AnomalyDetector, AnomalyType, HistoryConfig, MonitorSummary,
85    QuotaEnforcer, QuotaViolation, ResourceHistory, ResourceManager, ResourceMonitor,
86    ResourcePrediction, ResourcePredictor, ResourceQuota, ResourceRate, ResourceSnapshot,
87    ResourceUsage,
88};
89pub use security::{
90    AgentIdentity, AttestationValidator, AuthChallenge, AuthResponse, AuthToken, Authenticator,
91    Capability as SecurityCapability, CapabilityAttestation, EncryptedSnapshot, EncryptionKey,
92    IdentityProvider, PublicIdentity, SandboxConfig, SandboxExecutor, SandboxViolation,
93    SecurityContext, StateEncryptor,
94};
95pub use template::{AgentTemplate, TemplateBuilder, TemplateError, TemplateId, TemplateRegistry};
96pub use versioning::{
97    ABTestConfig, ABTestDeployment, ABTestStats, CanaryConfig, CanaryDeployment, CanaryStats,
98    RollingUpdateConfig, RollingUpdateStrategy, Version, VersionDeployer, VersionError,
99    VersionMetadata, VersionRegistry,
100};
101
102use thiserror::Error;
103
104#[derive(Debug, Error)]
105pub enum CellError {
106    #[error("Agent execution failed: {0}")]
107    ExecutionFailed(String),
108    #[error("Migration failed: {0}")]
109    MigrationFailed(String),
110    #[error("Invalid state: {0}")]
111    InvalidState(String),
112}
113
114#[cfg(test)]
115mod tests {
116    use super::*;
117
118    #[test]
119    fn test_agent_creation() {
120        let agent = Agent::new(vec![0x00, 0x61, 0x73, 0x6d]);
121        assert!(agent.id().as_bytes().len() == 16);
122    }
123}