Skip to main content

Crate cloacina_workflow_plugin

Crate cloacina_workflow_plugin 

Source
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 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::TaskExecutionRequest;
pub use types::TaskExecutionResult;
pub use types::TaskMetadataEntry;
pub use types::TriggerDefinition;
pub use fidius;
pub use fidius_core;
pub use fidius_core::inventory;

Modules§

__fidius_CloacinaPlugin
Generated companion module for the plugin interface.
descriptor
FFI descriptor and registry types for the Fidius plugin framework.
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_registry export function.

Structs§

PackageHeader
Fixed header fields that every package manifest must have.
PackageManifest
A parsed package manifest, generic over the host-defined metadata schema.
PluginError
Error returned by plugin method implementations to signal business logic failures.

Traits§

CloacinaPlugin
The plugin interface for cloacina workflow packages.

Attribute Macros§

plugin_impl
Implement a plugin interface for a concrete type.