agentplane 0.45.0

Durable, replayable agent runtime — the journal is the plan of record
Documentation
//! Domain-agnostic types and traits. **No I/O lives here.**
//!
//! This module's only dependencies are `serde`, `thiserror`, `async-trait`, and
//! the hashing primitives. That is enforced by a test in `tests/guards/layering.rs`
//! which fails the build if `core` gains an edge to any I/O-bearing module.
//!
//! The discipline matters more than it looks: it keeps the type layer
//! reviewable, lets the whole runtime be swapped under a simulator, and makes an
//! eventual crate split mechanical rather than archaeological.

pub(crate) mod b64;
mod budget;
mod calendar;
pub mod canon;
mod case;
mod cloudevent;
mod doubt;
mod effect;
pub(crate) mod error;
mod event;
mod id;
mod identity;
mod label;
pub mod merkle;
mod observe;
mod operator;
mod plan;
pub(crate) mod poison;
mod policy;
mod retry;
pub(crate) mod secret;
mod signature;
mod skill;
mod task;
mod tenant;
mod visible;

pub use budget::{Budget, BudgetExceeded, Consumed, Ledger, Spend};
pub use calendar::{Calendar, CalendarError, WallClock};
pub use cloudevent::{
    CONTENT_TYPE as CLOUDEVENT_CONTENT_TYPE, CloudEvent, CloudEventError,
    HEADER_PREFIX as CLOUDEVENT_HEADER_PREFIX, SPEC_VERSION as CLOUDEVENT_SPEC_VERSION,
    is_structured_media_type as is_cloudevent_media_type,
};
pub use signature::{
    CheckpointSigner, DOMAIN_MANIFEST, DOMAIN_PROVENANCE, DOMAIN_RECORD, KeyId, KeySignature,
    SignError, SignatureError, Signer, Verifier, signing_hash,
};
mod quorum;
pub use quorum::{Outcome as QuorumOutcome, Quorum, QuorumError, Tally, Verdict};

mod egress;
pub use egress::{Egress, EgressError};

mod provenance;
pub use provenance::{NS as PROVENANCE_NS, Provenance};

pub use case::{
    BreachNote, Case, CaseStatus, CaseVersion, CorrelationKey, Deadline, DeadlineSpec,
    DeadlineState, LegalHold, SweptAction,
};
pub use doubt::{Assertion, Doubt, QuarantineDecision, Undecided};
pub use effect::{
    AnyEffect, DeclaredOutput, Effect, EffectDescriptor, GenAiRequest, GenAiResponse, GroupOutcome,
    Reconciliation, Recovery,
};
#[cfg(any(feature = "a2a-server", feature = "mcp-server"))]
pub(crate) use error::withheld_fault;
pub use error::{
    Disposition, EffectError, PolicyError, REFUSED, RuntimeError, SkillError, StepError, StoreError,
};
pub(crate) use event::is_reserved_kind;
pub use event::{
    AwaitSpec, DeadLetter, Delivery, InboundEvent, Subscription, SuspendReason, Timer, origin_key,
    origin_source,
};
pub use id::{
    BatchId, CaseId, Digest, EffectKey, Epoch, MAX_WINDOW_SECONDS, Phase, RunId, Seq, StepId,
    Timestamp, first_instant, format_timestamp, last_instant, seconds_after,
};
pub use identity::{Delegation, DelegationError, MAX_DELEGATION_DEPTH, Principal, Scope};
pub use label::{
    Label, ProtectedField, Release, ReleaseMark, ReleaseScope, Sensitivity, SourceId, Tainted,
    Trust,
};
pub use observe::{ObservedDecision, ObservedStatus, ObservedStep};
pub use operator::{Basis, Operator, OperatorError};
pub use plan::{ArgSource, Collaboration, PlanError, PlanIR, PlanNode, Topology};
pub use policy::{
    ACTION_ADMIT, ACTION_DECLARED, ACTION_EGRESS, ACTION_PERFORM, ACTION_RELEASE, ACTIONS, DenyAll,
    PolicyBundleIdentity, PolicyDecision, PolicyEngine, PolicyRequest,
};
pub use retry::{RetryPolicy, retry_after_seconds};
pub use secret::Secret;
pub use skill::{Capability, Compensation, Outcome, Skill, SkillDescriptor};
pub use task::{
    ClaimError, Decided, Decision, Expiry, Justification, MixedScript, OnExpiry, Priority,
    Rendering, Task, TaskId, TaskSpec, TaskState, Withheld,
};
pub use tenant::{TenantError, TenantId, erasure_scope};