Skip to main content

oris_execution_runtime/
lib.rs

1//! Execution runtime control-plane, scheduler, and durable runtime repositories.
2
3#[cfg(feature = "execution-server")]
4pub mod api_contract;
5#[cfg(feature = "execution-server")]
6pub mod api_errors;
7#[cfg(all(feature = "execution-server", feature = "sqlite-persistence"))]
8pub mod api_idempotency;
9#[cfg(feature = "execution-server")]
10pub mod api_models;
11#[cfg(feature = "sqlite-persistence")]
12pub mod backend_config;
13pub mod circuit_breaker;
14#[cfg(feature = "execution-server")]
15pub mod graph_bridge;
16pub mod lease;
17pub mod models;
18pub mod observability;
19#[cfg(feature = "kernel-postgres")]
20pub mod postgres_runtime_repository;
21pub mod recovery;
22pub mod repository;
23pub mod scheduler;
24#[cfg(feature = "sqlite-persistence")]
25pub mod sqlite_runtime_repository;
26
27#[cfg(feature = "execution-server")]
28pub use api_contract::{
29    canonical_runtime_api_contract_path, generate_runtime_api_contract,
30    runtime_api_contract_pretty_json, write_runtime_api_contract, RUNTIME_API_CONTRACT_DOC_PATH,
31};
32#[cfg(feature = "execution-server")]
33pub use api_errors::ApiError;
34#[cfg(all(feature = "execution-server", feature = "sqlite-persistence"))]
35pub use api_idempotency::{IdempotencyRecord, SqliteIdempotencyStore};
36#[cfg(feature = "execution-server")]
37pub use api_models::{
38    ApiEnvelope, ApiMeta, AttemptRetryHistoryItem, AttemptRetryHistoryResponse, AuditLogItem,
39    AuditLogListResponse, CancelJobRequest, CancelJobResponse, CheckpointInspectResponse,
40    DeadLetterItem, DeadLetterListResponse, DeadLetterReplayResponse, InterruptDetailResponse,
41    InterruptListResponse, JobDetailResponse, JobHistoryItem, JobHistoryResponse, JobStateResponse,
42    JobTimelineItem, JobTimelineResponse, ListAuditLogsQuery, ListDeadLettersQuery,
43    ListInterruptsQuery, ListJobsQuery, ListJobsResponse, RejectInterruptRequest, ReplayJobRequest,
44    ResumeInterruptRequest, ResumeJobRequest, RetryPolicyRequest, RunJobRequest, RunJobResponse,
45    TimelineExportResponse, TimeoutPolicyRequest, TraceContextResponse, WorkerAckRequest,
46    WorkerAckResponse, WorkerExtendLeaseRequest, WorkerHeartbeatRequest, WorkerLeaseResponse,
47    WorkerPollRequest, WorkerPollResponse, WorkerReportStepRequest,
48};
49#[cfg(feature = "sqlite-persistence")]
50pub use backend_config::{RuntimeStorageBackend, RuntimeStorageConfig};
51pub use circuit_breaker::{CircuitBreaker, CircuitState};
52#[cfg(feature = "execution-server")]
53pub use graph_bridge::{
54    ExecutionCheckpointView, ExecutionGraphBridge, ExecutionGraphBridgeError,
55    ExecutionGraphBridgeErrorKind, ExecutionInvokeView, ExecutionStateView,
56};
57pub use lease::{
58    LeaseConfig, LeaseManager, LeaseTickResult, RepositoryLeaseManager, WorkerHealth,
59    WorkerHealthTracker, WorkerLease,
60};
61pub use models::{
62    AttemptDispatchRecord, AttemptExecutionStatus, InterruptRecord, LeaseRecord, RunRecord,
63    RunRuntimeStatus,
64};
65pub use observability::{KernelObservability, RejectionReason};
66#[cfg(feature = "kernel-postgres")]
67pub use postgres_runtime_repository::{
68    PostgresIdempotencyRecord, PostgresIdempotencyStore, PostgresRuntimeRepository,
69};
70pub use recovery::{CrashRecoveryPipeline, RecoveryContext, RecoveryStep};
71pub use repository::RuntimeRepository;
72pub use scheduler::{DispatchContext, SchedulerDecision, SkeletonScheduler};
73#[cfg(feature = "sqlite-persistence")]
74pub use sqlite_runtime_repository::SqliteRuntimeRepository;