1#![deny(missing_docs)]
15
16pub 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;