uni_plugin_host/lib.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2024-2026 Dragonscale Team
3
4//! # uni-plugin-host
5//!
6//! Host-side runtime for the uni-db plugin framework. This crate holds the
7//! reusable *engine* implementations that the `uni-db` API crate wires into
8//! `Uni`/`Session`/`Transaction`:
9//!
10//! - trigger dispatch + mutation-event extraction (`triggers`)
11//! - change-data-capture runtime (`cdc_runtime`)
12//! - background-job scheduler (`scheduler`, `scheduler_persistence`)
13//! - meta-plugin system-label persistence (`persistence`)
14//! - synthetic declared-procedure host (`synthetic_procedure`)
15//! - commit notifications + session hooks (`notifications`, `hooks`)
16//! - OpenTelemetry layer (`observability`)
17//!
18//! It sits above the leaf `uni-plugin` trait crate and below `uni-db`. Logic
19//! that genuinely needs the `Uni` lifecycle is inverted behind the
20//! [`host::HostCypherExecutor`] trait, which `uni-db` implements.
21
22pub mod cdc_runtime;
23pub mod commit_result;
24pub mod hooks;
25pub mod host;
26pub mod http_egress;
27pub mod notifications;
28pub mod observability;
29pub mod persistence;
30pub mod scheduler;
31pub mod scheduler_persistence;
32pub mod shutdown;
33pub mod synthetic_procedure;
34pub mod triggers;