Skip to main content

platform_module/
lib.rs

1//! Module framework contracts: the data/behavior split a module exposes to the
2//! composition root.
3//!
4//! - [`ModuleManifest`]: serializable data (name, story display, reserved
5//!   seams). Produced by every loading source.
6//! - [`ModuleBinding`]: behavior (register functions/event handlers). One impl
7//!   per loading source; [`LinkedBinding`] is the compile-time one.
8//! - [`Module`]: a loaded module bundling manifest + binding + internal config.
9//! - [`AdminDataSource`]: the schema-admin read seam — a module's read access
10//!   to its admin entities. [`AdminSchema`] is the declared admin surface data.
11//! - [`AdminActionSource`]: executable behavior for manifest-declared admin
12//!   actions.
13//! - [`AdminQuerySource`]: read-only behavior for manifest-declared admin
14//!   queries.
15
16mod admin_data;
17mod binding;
18mod linked;
19mod module;
20
21pub use admin_data::{
22    AdminActionSource, AdminDataSource, AdminListQuery, AdminPage, AdminQuerySource,
23};
24pub use binding::{EventHandlerRegistrationContext, EventHandlerRuntimeContext, ModuleBinding};
25pub use lenso_contracts::{
26    AdminAction, AdminActionConfirmation, AdminActionDangerLevel, AdminActionInputField,
27    AdminActionInputSchema, AdminDeclarativeComponent, AdminDeclarativePage,
28    AdminDeclarativeSection, AdminDeclarativeSurface, AdminEmbeddedEntry, AdminEmbeddedRuntime,
29    AdminEmbeddedSurface, AdminMetricBinding, AdminPermission, AdminSandboxPolicy, AdminSchema,
30    AdminSurface, ConsoleArea, ConsoleNavigation, ConsoleNavigationGroup, ConsolePackage,
31    ConsoleSurface, ConsoleWorkspaceRef, EntitySchema, EventHandlerDeclaration, EventSurface,
32    FieldSchema, FieldType, LifecycleActivationJobDeclaration, LifecycleActivationRunPolicy,
33    LifecycleStartupCheckDeclaration, LifecycleStartupCheckKind, LifecycleSurface,
34    ModuleCapabilityReference, ModuleHttpMethod, ModuleHttpRoute, ModuleManifest,
35    ModuleManifestBuilder, ModuleManifestLint, ModuleManifestLintSeverity, ModuleRouteLint,
36    ModuleRouteLintSeverity, ModuleSource, RuntimeFunctionDeclaration,
37    RuntimeRetryPolicyDeclaration, RuntimeSurface, StoryDisplayDescriptor, StoryDisplaySource,
38    lint_module_http_routes, lint_module_manifest, lint_module_manifest_parts,
39    module_capability_references,
40};
41pub use linked::{
42    LinkedBinding, LinkedBindingBuilder, LinkedHttpContribution, LinkedHttpRouteMerger,
43};
44pub use module::{Module, ModuleLoadStatus};