Skip to main content

lenso_contracts/
lib.rs

1//! Public module-authoring contracts for the Lenso backend framework.
2//!
3//! This crate is deliberately smaller than the backend workspace. It exposes
4//! stable manifest declarations and lint helpers that module authors can use
5//! without depending on internal `platform-*` crates.
6
7mod admin;
8mod admin_schema;
9mod catalog;
10mod console;
11mod cron;
12mod events;
13mod http;
14mod lifecycle;
15mod manifest;
16mod module_release;
17pub mod operation;
18mod runtime;
19mod schema;
20mod story_display;
21
22pub use admin::{
23    AdminAction, AdminActionConfirmation, AdminActionDangerLevel, AdminActionInputField,
24    AdminActionInputSchema, AdminDeclarativeComponent, AdminDeclarativePage,
25    AdminDeclarativeSection, AdminDeclarativeSurface, AdminEmbeddedEntry, AdminEmbeddedRuntime,
26    AdminEmbeddedSurface, AdminMetricBinding, AdminPermission, AdminSandboxPolicy, AdminSurface,
27};
28pub use admin_schema::{AdminSchema, EntitySchema, FieldSchema, FieldType};
29pub use catalog::*;
30pub use console::{
31    CONSOLE_BRIDGE_PROTOCOL, CONSOLE_MODULE_PROTOCOL, CONSOLE_MODULE_PROTOCOL_MAJOR,
32    CONSOLE_UI_ESM_FORMAT, ConsoleActionInputBinding, ConsoleActionInputValue, ConsoleContribution,
33    ConsoleContributionAction, ConsoleContributionKind, ConsoleModuleManifest,
34    ConsoleModuleSurface, ConsoleNavigation, ConsoleNavigationGroup, ConsolePermissionGrant,
35    ConsolePermissionRequest, ConsoleSlot, ConsoleSlotContext, ConsoleSlotContextField,
36    ConsoleSlotContextFieldType, ConsoleSurface, ConsoleSurfaceArea, ConsoleSurfacePresentation,
37    ConsoleUiArtifactStyleAsset, ConsoleWorkspaceRef,
38};
39pub use cron::{CronParseError, CronSchedule, validate_cron_expression};
40pub use events::{EventHandlerDeclaration, EventSurface};
41pub use http::{
42    ModuleHttpMethod, ModuleHttpRoute, ModuleRouteLint, ModuleRouteLintSeverity,
43    lint_module_http_routes,
44};
45pub use lifecycle::{
46    LifecycleActivationJobDeclaration, LifecycleActivationRunPolicy,
47    LifecycleStartupCheckDeclaration, LifecycleStartupCheckKind, LifecycleSurface,
48};
49pub use manifest::{
50    MODULE_MANIFEST_PROTOCOL, ModuleCapabilityReference, ModuleConfigActivation,
51    ModuleConfigContract, ModuleConfigField, ModuleConfigFieldType, ModuleConfigMutability,
52    ModuleConfigScope, ModuleConfigValidation, ModuleManifest, ModuleManifestBuilder,
53    ModuleManifestLint, ModuleManifestLintSeverity, ModuleMigrationActivation,
54    ModuleMigrationDeclaration, ModuleRequirement, lint_module_manifest,
55    lint_module_manifest_parts, module_capability_references, validate_module_config_value,
56};
57pub use module_release::{
58    ArtifactReference, AttestationReference, ConsoleUiArtifact, ConsoleUiArtifactEntry,
59    ConsoleUiArtifactFormat, LinkedModuleDelivery, MODULE_RELEASE_PROTOCOL,
60    ModuleCompatibilityDeclaration, ModuleContractIssue, ModuleDelivery, ModuleRelease,
61    ServiceModuleDelivery, ServiceResponsibilityProfile, canonical_json, digest_json,
62};
63pub use operation::{
64    ServiceOperationIdempotency, ServiceOperationMetadata, ServiceOperationSafeProbe,
65};
66pub use runtime::{
67    RuntimeFunctionDeclaration, RuntimeRetryPolicyDeclaration, RuntimeSurface,
68    ScheduledFunctionDeclaration, WORKFLOW_COMPATIBILITY_PROTOCOL, WORKFLOW_DEFINITION_PROTOCOL,
69    WorkflowCompatibilityCategory, WorkflowCompatibilityReason, WorkflowCompatibilityResult,
70    WorkflowCompensationDeclaration, WorkflowDataContract, WorkflowDefinition,
71    WorkflowDefinitionReference, WorkflowRetryPolicyDeclaration, WorkflowStepDeclaration,
72    evaluate_workflow_compatibility, workflow_compatibility_artifact, workflow_definition_schema,
73};
74pub use schema::{
75    console_contract_vectors, console_module_manifest_schema, console_ui_artifact_schema,
76    module_manifest_schema, module_release_schema,
77};
78pub use story_display::{StoryDisplayDescriptor, StoryDisplaySource};