Skip to main content

moloch_core/agent/
mod.rs

1//! Agent accountability types for Moloch.
2//!
3//! This module implements the Agent Accountability specification,
4//! providing types and validation for:
5//!
6//! - [`principal`] - Human/organization principals responsible for agents
7//! - [`session`] - Bounded contexts for agent operations
8//! - [`causality`] - Causal chain linking events to their origin
9//! - [`attestation`] - Agent identity attestation
10//! - [`capability`] - Capability-based authorization
11//! - [`hitl`] - Human-in-the-loop approval protocol
12//! - [`reasoning`] - Reasoning traces for agent decisions
13//! - [`outcome`] - Outcome verification and attestation
14//! - [`emergency`] - Emergency control actions
15//! - [`coordination`] - Multi-agent coordination
16//! - [`id`] - Generic 16-byte identifier type and macro
17//! - [`timestamp`] - Type-safe millisecond timestamps
18//! - [`audit_bridge`] - Bridge to core audit event system
19
20pub mod attestation;
21pub mod audit_bridge;
22pub mod capability;
23pub mod event_types;
24#[macro_use]
25pub mod id;
26pub mod causality;
27pub mod coordination;
28pub mod emergency;
29pub mod hitl;
30pub mod outcome;
31pub mod principal;
32pub mod reasoning;
33pub mod registry;
34pub mod session;
35pub mod timestamp;
36
37// Re-exports
38pub use attestation::{
39    AgentAttestation, AgentAttestationBuilder, AttestationError, RequiredCapability,
40    RuntimeAttestation, TeeQuote, TeeType, ToolAttestation,
41};
42pub use audit_bridge::{AgentAuditEventBuilder, AgentEventMetadata};
43pub use capability::{
44    Capability, CapabilityBuilder, CapabilityCheck, CapabilityConstraints, CapabilityId,
45    CapabilityKind, CapabilitySet, CapabilitySetId, CapabilityState, DayOfWeek, DenialReason,
46    RateLimit, ResourceScope, TimeOfDay, TimeWindow,
47};
48pub use causality::{
49    CausalChainQuery, CausalContext, CausalContextBuilder, CrossSessionReference,
50    InMemoryCausalStore,
51};
52pub use coordination::{
53    Conflict, ConflictId, ConflictResolutionMethod, ConflictStatus, CoordinatedAction,
54    CoordinatedActionBuilder, CoordinatedActionSpec, CoordinationCostTracker, CoordinationEvent,
55    CoordinationId, CoordinationMetrics, CoordinationProtocol, CoordinationResult,
56    CoordinationStatus, CoordinationType, FailureHandling, Participant, ParticipantRole,
57    QuorumPolicy, Responsibility, Task, TaskDependency, TaskId,
58};
59pub use emergency::{
60    DurationMs, EmergencyAction, EmergencyEvent, EmergencyEventBuilder, EmergencyPriority,
61    EmergencyResolution, EmergencyTrigger, GlobalPauseState, PostMortem, Resolution,
62    SuspensionEntry, SuspensionRegistry, SuspensionScope,
63};
64pub use event_types::{
65    ActionDetails, AgentEventMetadataV2, AgentEventType, DisputeResolution, TerminationReason,
66};
67pub use hitl::{
68    ActionModifications, ApprovalContext, ApprovalDecision, ApprovalPolicy, ApprovalRequest,
69    ApprovalRequestId, ApprovalResponse, ApprovalStatus, CancellationActor, Cost, EscalationPolicy,
70    ImpactAssessment, ProposedAction, ProposedActionBuilder, Severity,
71};
72pub use id::Id16;
73pub use outcome::{
74    ActionOutcome, Attestor, DisputeStatus, Evidence, IdempotencyKey, IdempotencyRecord,
75    IdempotencyStore, OutcomeAttestation, OutcomeAttestationBuilder, OutcomeDispute,
76};
77pub use principal::{PrincipalId, PrincipalKind};
78pub use reasoning::{
79    Alternative, Confidence, Decision, Factor, Goal, GoalSource, Priority, ReasoningStep,
80    ReasoningTrace, ReasoningTraceBuilder, StepAction, TraceId,
81};
82pub use registry::AttestationRegistry;
83pub use session::{Session, SessionBuilder, SessionEndReason, SessionId, SessionSummary};
84pub use timestamp::Timestamp;