#![cfg_attr(not(feature = "std"), no_std)]
#![forbid(unsafe_code)]
extern crate alloc;
mod compile;
mod config;
mod execute;
mod mcu;
mod model;
mod plugin;
mod wire;
pub use compile::{CompileError, CompileLimits, Compiler, KernelRegistry, subgraph_identity};
pub use config::{ConfigError, ConfigField, ConfigSchema, ConfigType, ConfigValue};
pub use execute::{
ExecutionAttempt, ExecutionError, ExecutionFailure, ExecutionReceipt, ExecutionResult,
FailureEvidence, GapReceipt, KernelExecution, KernelExecutor, KernelGap, PlanExecutor,
StructuredFailure, TransactionalSink,
};
pub use mcu::{
MAX_STATIC_STEP_INPUTS, McuArenaRequirements, McuPlanError, StaticArenas, StaticExecutionError,
StaticExecutor, StaticKernel, StaticReceipt,
};
pub use model::{
AuthorizedPlan, BufferId, BufferPlan, Capability, CheckpointContract, CheckpointMode,
CompiledNode, CompiledPlan, CompiledPortContract, DelayContract, DelayInitial, Determinism,
DomainToken, DomainType, Edge, Effect, ExecutionRealm, ExtentContract, FailureContract,
FeedbackEdge, FeedbackId, FeedbackPlan, FidelityContract, Graph, GraphId, ImplementationId,
InputBinding, KernelDescriptor, KernelId, Layout, LayoutConversion, LeaseAccess, LeaseContract,
LeaseLifetime, MaterializedSubgraph, NodeDescriptor, NodeId, NodeInstance, NodeTypeRef,
OutputBinding, Partiality, PlanId, PolicyContract, PortDescriptor, PortMap, PortRef,
ProofContract, ResourceEnvelope, SessionContract, StateContract, StateScope, StepId,
SubgraphConfigMap, SubgraphId, SubgraphInterfacePort, SubgraphLowering, SubgraphNode,
SubgraphSchema, Target,
};
pub use plugin::{
ExecutableDigestAlgorithm, PLUGIN_PROTOCOL_VERSION, PluginControlFrame, PluginControlLimits,
PluginError, PluginFailure, PluginHost, PluginLifecycle, PluginManifest, PluginRequest,
PluginResponse, ProcessContract, TeardownPolicy, executable_digest,
};
pub use wire::{PlanAuthorization, PlanDecodeError, PlanLimits};