Expand description
Cloacina plugin interface for the fidius plugin system.
This crate defines the plugin contract between cloacina workflow packages (compiled as cdylib plugins) and the cloacina host engine. Both sides depend on this crate — it is the single source of truth for the FFI ABI.
§For plugin authors
Use #[workflow] with features = ["packaged"] — the macro generates
the #[plugin_impl(CloacinaPlugin)] code automatically. You don’t need
to implement this trait directly.
§For host integration
Use fidius-host to load plugins and call methods through PluginHandle.
Validate loaded plugins against CloacinaPlugin_INTERFACE_HASH to detect
ABI drift at load time.
Re-exports§
pub use inventory_entries::ComputationGraphEntry;pub use inventory_entries::ReactorEntry;pub use inventory_entries::TaskEntry;pub use inventory_entries::TriggerEntry;pub use inventory_entries::TriggerlessGraph;pub use inventory_entries::TriggerlessGraphEntry;pub use inventory_entries::TriggerlessGraphFn;pub use inventory_entries::TriggerlessGraphRegistration;pub use inventory_entries::WorkflowDescriptorEntry;pub use types::AccumulatorDeclarationEntry;pub use types::CloacinaMetadata;pub use types::GraphExecutionRequest;pub use types::GraphExecutionResult;pub use types::GraphPackageMetadata;pub use types::PackageTasksMetadata;pub use types::ReactorPackageMetadata;pub use types::TaskExecutionRequest;pub use types::TaskExecutionResult;pub use types::TaskMetadataEntry;pub use types::TriggerInvokeRequest;pub use types::TriggerInvokeResult;pub use types::TriggerPackageMetadata;pub use types::TriggerlessGraphInvokeRequest;pub use types::TriggerlessGraphInvokeResult;pub use types::TriggerlessGraphMetadataEntry;pub use fidius;pub use fidius_core;pub use fidius_core::inventory;
Modules§
- __
fidius_ Cloacina Plugin - Generated companion module for the plugin interface.
- descriptor
- FFI descriptor and registry types for the Fidius plugin framework.
- inventory_
entries - Inventory entry types reachable from packaged cdylibs.
- registry
- Plugin registry assembly for multi-plugin dylibs.
- status
- FFI status codes returned by plugin method shims.
- types
- Shared types that cross the FFI boundary via fidius wire format.
- wire
- Wire format serialization for Fidius plugin FFI boundary.
Macros§
- fidius_
plugin_ registry - Emit the
fidius_get_registryexport function. - package
- Unified plugin shell macro for I-0102.
Structs§
- Package
Header - Fixed header fields that every package manifest must have.
- Package
Manifest - A parsed package manifest, generic over the host-defined metadata schema.
- Plugin
Error - Error returned by plugin method implementations to signal business logic failures.
Constants§
- METHOD_
EXECUTE_ GRAPH - See
METHOD_GET_TASK_METADATA. - METHOD_
EXECUTE_ TASK - See
METHOD_GET_TASK_METADATA. - METHOD_
GET_ GRAPH_ METADATA - See
METHOD_GET_TASK_METADATA. - METHOD_
GET_ REACTOR_ METADATA - See
METHOD_GET_TASK_METADATA. - METHOD_
GET_ TASK_ METADATA - Method index constants for the
CloacinaPlugintrait. The fidius plugin ABI dispatches by positional method index — call sites on the host (and any out-of-tree consumers) must match the order in which methods are declared on the trait below. Defining them here in the canonical interface crate keeps host and plugin in lockstep: a reorder of trait methods is impossible without also re-numbering these constants. - METHOD_
GET_ TRIGGERLESS_ GRAPH_ METADATA - See
METHOD_GET_TASK_METADATA. - METHOD_
GET_ TRIGGER_ METADATA - See
METHOD_GET_TASK_METADATA. - METHOD_
INVOKE_ TRIGGERLESS_ GRAPH - See
METHOD_GET_TASK_METADATA. - METHOD_
INVOKE_ TRIGGER_ POLL - See
METHOD_GET_TASK_METADATA.
Traits§
- Cloacina
Plugin - The plugin interface for cloacina workflow packages.
Attribute Macros§
- plugin_
impl - Implement a plugin interface for a concrete type.