1#![deny(missing_docs)]
15
16pub use appcore_contracts as contracts;
18
19pub mod audit;
20mod audit_bounds;
21pub mod builder;
22pub mod bus;
23pub mod clock;
24pub mod command;
25pub mod context;
26pub mod controller;
27pub mod decision;
28pub mod envelope;
29pub mod error;
30pub mod event;
31pub mod event_bus;
32pub mod handler;
33pub mod idempotency;
34mod idempotency_encoding;
35mod idempotency_file;
36pub mod identity;
37pub mod ids;
38pub mod lifecycle;
39pub mod manifest;
40pub mod operational;
41mod operational_journal;
42mod operational_journal_encoding;
43pub mod plugin;
44pub mod redaction;
45pub mod registry;
46pub mod runtime;
47pub mod state;
48pub mod trace;
49
50pub use audit::{
51 AuditCategory, AuditEntriesSnapshot, AuditEntry, AuditLog, AuditLogStats, AuditOutcome,
52 AuditRecord, AuditRecordsSnapshot, DEFAULT_AUDIT_LOG_MAX_BYTES,
53};
54pub use builder::RuntimeBuilder;
55pub use bus::CommandBus;
56pub use clock::{Clock, SystemClock};
57pub use command::{CommandRegistry, RuntimeCommand};
58pub use context::RuntimeContext;
59pub use controller::RuntimeController;
60pub use decision::{DecisionEngine, DecisionNode, DecisionOutcome, DecisionRegistry};
61pub use envelope::{CommandEnvelope, EventEnvelope};
62pub use error::{RuntimeError, RuntimeResult};
63pub use event::{EventRegistry, RuntimeEvent};
64pub use event_bus::{EventBus, EventBusSnapshot, EventBusStats, DEFAULT_EVENT_BUS_MAX_BYTES};
65pub use handler::{CommandHandler, CommandResult};
66pub use idempotency::{
67 FileIdempotencyStore, IdempotencyStore, InMemoryIdempotencyStore, IDEMPOTENCY_FORMAT_V1,
68};
69pub use identity::{
70 CompatibilityStatus, CoreCompatibilityPolicy, CoreCompatibilityStatus, CoreIdentity, CoreKind,
71 RuntimeIdentity,
72};
73pub use ids::{
74 validate_distributed_identifier, validate_identifier, AppFamily, AppId, CapabilityName,
75 ClusterId, CommandName, CoreId, EventName, InstanceId, NodeId, ProtocolVersion, QueryName,
76 RuntimeContractVersion, StateName, SyncGroup, TenantId,
77};
78pub use lifecycle::{RuntimeLifecycle, RuntimeLifecycleEvent, RuntimeLifecycleState};
79pub use manifest::{
80 CapabilityDescriptor, CapabilityMode, CapabilityRequirements, CapabilityVisibility,
81 DistributedCoreManifest, PeerEndpoint,
82};
83pub use operational::RuntimeOperationalMode;
84pub use operational_journal::{
85 FileOperationalJournal, OperationalJournalRecord, OPERATIONAL_JOURNAL_FORMAT_V1,
86};
87pub use plugin::AppPlugin;
88pub use redaction::{redact_text, redact_text_with_limit, MAX_OPERATIONAL_TEXT_BYTES};
89pub use runtime::RuntimeInstance;
90pub use state::{RuntimeState, StateMachine, StateRegistry, StateTransition};
91pub use trace::TraceContext;