Skip to main content

appcore_core/
lib.rs

1// =============================================================================
2//        #######
3//     ###       ###     F: lib.rs
4//    ##   ## ##   ##    P: AppCore-Runtime
5//         ## ##
6//                       C: 2026/05/29 20:47:35 by dnettoRaw
7//    ##   ## ##   ##    U: 2026/06/04 11:51:29 by dnettoRaw
8//      ###########      S: 0.6.0
9// =============================================================================
10
11//! Public contracts for the AppCore runtime foundation.
12//! This crate defines generic types and traits only.
13
14#![deny(missing_docs)]
15
16/// Versioned, implementation-independent manifest contracts.
17pub use appcore_contracts as contracts;
18
19pub mod audit;
20pub mod builder;
21pub mod bus;
22pub mod clock;
23pub mod command;
24pub mod context;
25pub mod controller;
26pub mod decision;
27pub mod envelope;
28pub mod error;
29pub mod event;
30pub mod event_bus;
31pub mod handler;
32pub mod idempotency;
33pub mod identity;
34pub mod ids;
35pub mod lifecycle;
36pub mod manifest;
37pub mod operational;
38mod operational_journal;
39pub mod plugin;
40pub mod redaction;
41pub mod registry;
42pub mod runtime;
43pub mod state;
44pub mod trace;
45
46pub use audit::{AuditCategory, AuditEntry, AuditLog, AuditOutcome, AuditRecord};
47pub use builder::RuntimeBuilder;
48pub use bus::CommandBus;
49pub use clock::{Clock, SystemClock};
50pub use command::{CommandRegistry, RuntimeCommand};
51pub use context::RuntimeContext;
52pub use controller::RuntimeController;
53pub use decision::{DecisionEngine, DecisionNode, DecisionOutcome, DecisionRegistry};
54pub use envelope::{CommandEnvelope, EventEnvelope};
55pub use error::{RuntimeError, RuntimeResult};
56pub use event::{EventRegistry, RuntimeEvent};
57pub use event_bus::EventBus;
58pub use handler::{CommandHandler, CommandResult};
59pub use idempotency::{
60    FileIdempotencyStore, IdempotencyStore, InMemoryIdempotencyStore, IDEMPOTENCY_FORMAT_V1,
61};
62pub use identity::{
63    CompatibilityStatus, CoreCompatibilityPolicy, CoreCompatibilityStatus, CoreIdentity, CoreKind,
64    RuntimeIdentity,
65};
66pub use ids::{
67    validate_distributed_identifier, validate_identifier, AppFamily, AppId, CapabilityName,
68    ClusterId, CommandName, CoreId, EventName, InstanceId, NodeId, ProtocolVersion, QueryName,
69    RuntimeContractVersion, StateName, SyncGroup, TenantId,
70};
71pub use lifecycle::{RuntimeLifecycle, RuntimeLifecycleEvent, RuntimeLifecycleState};
72pub use manifest::{
73    CapabilityDescriptor, CapabilityMode, CapabilityRequirements, CapabilityVisibility,
74    DistributedCoreManifest, PeerEndpoint,
75};
76pub use operational::RuntimeOperationalMode;
77pub use operational_journal::{
78    FileOperationalJournal, OperationalJournalRecord, OPERATIONAL_JOURNAL_FORMAT_V1,
79};
80pub use plugin::AppPlugin;
81pub use redaction::{redact_text, redact_text_with_limit, MAX_OPERATIONAL_TEXT_BYTES};
82pub use runtime::RuntimeInstance;
83pub use state::{RuntimeState, StateMachine, StateRegistry, StateTransition};
84pub use trace::TraceContext;