meerkat-runtime 0.5.2

v9 runtime control-plane for Meerkat agent lifecycle
Documentation
//! meerkat-runtime — v9 runtime control-plane for Meerkat agent lifecycle.
//!
//! This crate implements the runtime/control-plane layer of the v9 Canonical
//! Lifecycle specification. It sits between surfaces (CLI, RPC, REST, MCP)
//! and core (`meerkat-core`), managing:
//!
//! - Input acceptance, validation, and queueing
//! - InputState lifecycle tracking
//! - Policy resolution (what to do with each input)
//! - Runtime state machine (Idle ↔ Attached ↔ Running ↔ Recovering → Stopped/Destroyed)
//! - Retire/recycle/reset lifecycle operations
//! - RuntimeEvent observability
//!
//! Core-facing types (RunPrimitive, RunEvent, CoreExecutor, etc.) live in
//! `meerkat-core::lifecycle`. This crate contains everything else.

#[cfg(target_arch = "wasm32")]
pub mod tokio {
    pub use tokio_with_wasm::alias::*;
}

#[cfg(not(target_arch = "wasm32"))]
pub use ::tokio;

pub mod accept;
pub mod coalescing;
pub mod comms_bridge;
pub mod comms_drain;
pub mod completion;
pub(crate) mod control_plane;
pub mod detached_wake;
pub mod driver;
pub mod durability;
pub mod identifiers;
pub mod input;
pub mod input_ledger;
pub mod input_lifecycle_authority;
pub mod input_scope;
pub mod input_state;
pub mod lifecycle_ops;
pub mod mob_adapter;
pub mod ops_lifecycle;
pub(crate) mod ops_lifecycle_authority;
pub mod peer_handling_mode;
pub mod policy;
pub mod policy_table;
pub mod queue;
pub mod runtime_control_authority;
pub mod runtime_event;
pub mod runtime_ingress_authority;
pub(crate) mod runtime_loop;
pub mod runtime_state;
pub mod service_ext;
pub mod session_adapter;
pub mod silent_intent;
pub mod store;
pub mod traits;

// Re-exports for convenience
pub use accept::{AcceptOutcome, RejectReason};
pub use coalescing::{
    AggregateDescriptor, CoalescingResult, SupersessionScope, apply_coalescing, apply_supersession,
    check_supersession, create_aggregate_input, is_coalescing_eligible,
};
pub use completion::{CompletionHandle, CompletionOutcome};
pub use driver::{EphemeralRuntimeDriver, PersistentRuntimeDriver, PostAdmissionSignal};
pub use durability::{DurabilityError, validate_durability};
pub use identifiers::{
    CausationId, ConversationId, CorrelationId, EventCodeId, IdempotencyKey, KindId,
    LogicalRuntimeId, PolicyVersion, ProjectionRuleId, RuntimeEventId, SchemaId, SupersessionKey,
};
pub use input::{
    ContinuationInput, ExternalEventInput, FlowStepInput, Input, InputDurability, InputHeader,
    InputOrigin, InputVisibility, OperationInput, PeerConvention, PeerInput, PromptInput,
    ResponseProgressPhase, ResponseTerminalStatus,
};
pub use input_ledger::InputLedger;
pub use input_lifecycle_authority::{
    InputLifecycleAuthority, InputLifecycleEffect, InputLifecycleError, InputLifecycleInput,
    InputLifecycleMutator, InputLifecycleTransition,
};
pub use input_scope::InputScope;
pub use input_state::{
    InputAbandonReason, InputLifecycleState, InputState, InputStateEvent, InputStateHistoryEntry,
    InputTerminalOutcome, PolicySnapshot, ReconstructionSource,
};
pub use lifecycle_ops::{abandon_non_terminal, would_abandon};
pub use ops_lifecycle::{OpsLifecycleConfig, PersistedOpsSnapshot, RuntimeOpsLifecycleRegistry};
pub use peer_handling_mode::{PeerHandlingModeError, validate_peer_handling_mode};
pub use policy::{
    ApplyMode, ConsumePoint, DrainPolicy, PolicyDecision, QueueMode, RoutingDisposition, WakeMode,
};
pub use policy_table::{DEFAULT_POLICY_VERSION, DefaultPolicyTable};
pub use queue::InputQueue;
pub use runtime_control_authority::{
    HandlingMode, RuntimeControlAuthority, RuntimeControlEffect, RuntimeControlInput,
    RuntimeControlMutator, RuntimeControlTransition,
};
pub use runtime_event::{
    InputLifecycleEvent, RunLifecycleEvent, RuntimeEvent, RuntimeEventEnvelope,
    RuntimeProjectionEvent, RuntimeStateChangeEvent, RuntimeTopologyEvent,
};
pub use runtime_ingress_authority::{
    ContentShape, IngressPhase, RequestId, ReservationKey, RuntimeIngressAuthority,
    RuntimeIngressEffect, RuntimeIngressError, RuntimeIngressInput, RuntimeIngressMutator,
    RuntimeIngressTransition,
};
pub use runtime_state::{RuntimeState, RuntimeStateTransitionError};
pub use service_ext::{RuntimeMode, SessionServiceRuntimeExt};
pub use session_adapter::{RuntimeBindingsError, RuntimeSessionAdapter};
pub use store::{InMemoryRuntimeStore, RuntimeStore, RuntimeStoreError, SessionDelta};
pub use traits::{
    DestroyReport, RecoveryReport, RecycleReport, ResetReport, RetireReport, RuntimeControlCommand,
    RuntimeControlPlane, RuntimeControlPlaneError, RuntimeDriver, RuntimeDriverError,
};