Skip to main content

Crate platform_module

Crate platform_module 

Source
Expand description

Module framework contracts: the data/behavior split a module exposes to the composition root.

  • ModuleManifest: serializable data (name, story display, reserved seams). Produced by every loading source.
  • ModuleBinding: behavior (register functions/event handlers). One impl per loading source; LinkedBinding is the compile-time one.
  • Module: a loaded module bundling manifest + binding + internal config.
  • AdminDataSource: the schema-admin read seam — a module’s read access to its admin entities. AdminSchema is the declared admin surface data.
  • AdminActionSource: executable behavior for manifest-declared admin actions.
  • AdminQuerySource: read-only behavior for manifest-declared admin queries.

Structs§

AdminAction
AdminActionConfirmation
AdminActionInputField
AdminActionInputSchema
AdminDeclarativePage
AdminDeclarativeSection
AdminDeclarativeSurface
AdminEmbeddedSurface
AdminListQuery
Structured query — fields reserved for future filter/sort without changing the method signature.
AdminMetricBinding
AdminPage
One page of records.
AdminSandboxPolicy
AdminSchema
A module’s declared admin surface: which entities it exposes for management.
ConsoleNavigation
ConsoleNavigationGroup
ConsolePackage
ConsoleSurface
ConsoleWorkspaceRef
EntitySchema
One manageable entity (e.g. identity’s “users”).
EventHandlerDeclaration
EventHandlerRegistrationContext
EventHandlerRuntimeContext
EventSurface
FieldSchema
One field of an entity.
LifecycleActivationJobDeclaration
LifecycleStartupCheckDeclaration
LifecycleSurface
LinkedBinding
The only ModuleBinding impl in Step 1. Remote/Wasm impls arrive in their own specs without touching this one (open extension point). Only forwards to the existing registration logic — no logic moves here.
LinkedBindingBuilder
Fluent builder for LinkedBinding. Source-specific (Linked only).
LinkedHttpContribution
Module
One loaded module. manifest is serializable data; binding is behavior; runtime_config is internal &'static config NOT in the manifest (the registry needs the real RuntimeConfigType enum to validate). Cross-source config wire form is deferred to a later spec.
ModuleCapabilityReference
ModuleHttpRoute
ModuleManifest
The serializable metadata a module exposes. Runtime config is deliberately NOT here — it stays an internal &'static field on [crate::Module] because the config registry needs the real (non-serde) RuntimeConfigType to validate. Only round-trippable fields belong here.
ModuleManifestBuilder
Fluent builder for ModuleManifest. Reusable by every loading source.
ModuleManifestLint
ModuleRouteLint
RuntimeFunctionDeclaration
RuntimeRetryPolicyDeclaration
RuntimeSurface
StoryDisplayDescriptor

Enums§

AdminActionDangerLevel
AdminDeclarativeComponent
AdminEmbeddedEntry
AdminEmbeddedRuntime
AdminPermission
AdminSurface
A module’s admin surface.
ConsoleArea
FieldType
Minimal field-type vocabulary. Json is the catch-all so any field renders.
LifecycleActivationRunPolicy
LifecycleStartupCheckKind
ModuleHttpMethod
ModuleLoadStatus
ModuleManifestLintSeverity
ModuleRouteLintSeverity
ModuleSource
StoryDisplaySource

Traits§

AdminActionSource
A module’s executable admin actions. Action declarations stay in crate::AdminSurface; this seam only carries the behavior that varies by loading source.
AdminDataSource
A module’s read access to its admin entities. Optional capability — only modules with an admin surface implement it. Records cross as Value (the only shape a generic renderer handles); strong types stay inside the impl.
AdminQuerySource
A module’s read-only declarative query source. Query declarations stay in crate::AdminSurface; this seam only returns the JSON value to render.
ModuleBinding
Narrow by design — pure data lives in crate::ModuleManifest, read directly by upper layers, never through this trait.

Functions§

lint_module_http_routes
lint_module_manifest
lint_module_manifest_parts
module_capability_references

Type Aliases§

LinkedHttpRouteMerger