Skip to main content

Module plugins

Module plugins 

Source
Expand description

Plugin System for Shape

Provides dynamic loading of data source and output sink plugins using the stable C ABI defined in shape-abi-v1.

§Overview

Plugins are dynamically loaded shared libraries (.so/.dll/.dylib) that implement the Shape plugin interface. This enables:

  • Runtime extension without recompilation
  • Third-party data source integrations
  • Custom alert/output sinks

§Security Note

Plugin loading executes arbitrary code. Only load plugins from trusted sources.

Re-exports§

pub use language_runtime::CompiledForeignFunction;
pub use language_runtime::PluginLanguageRuntime;
pub use language_runtime::RuntimeLspConfig;

Modules§

language_runtime
Language runtime capability wrapper (shape.language_runtime).

Structs§

ClaimedSection
A TOML section claimed by a loaded plugin.
DataSourceVTable
Function pointer types for data source plugins
LoadedPlugin
Information about a loaded plugin
OutputField
Describes a single output field produced by the data source
OutputSchema
Schema describing output data structure
OutputSinkVTable
Function pointer types for output sink plugins (alerts, webhooks, etc.)
ParsedModuleArtifact
Parsed bundled module artifact.
ParsedModuleFunction
Parsed schema for one module export.
ParsedModuleSchema
Parsed shape.module schema.
ParsedOutputField
Rust-friendly representation of an output field
ParsedOutputSchema
Rust-friendly representation of an output schema
ParsedQueryParam
Rust-friendly representation of a query parameter
ParsedQuerySchema
Rust-friendly representation of a query schema
PluginCapability
One declared capability exposed by a loaded plugin.
PluginDataSource
Wrapper around a plugin data source
PluginInfo
Plugin metadata returned by shape_plugin_info()
PluginLoader
Plugin Loader
PluginModule
Wrapper around the shape.module capability.
PluginOutputSink
Wrapper around a plugin output sink
QueryParam
Describes a single query parameter
QuerySchema
Complete schema describing all query parameters for a data source
SectionClaim
Declares a TOML section claimed by an extension.
SectionsManifest
Manifest of TOML sections claimed by an extension.

Enums§

AlertSeverity
Alert severity levels
CapabilityKind
Capability family exposed by a plugin/module.
ParamType
Parameter types that a data source can accept in queries
PluginError
Standard error codes returned by plugin functions
PluginType
Type of plugin

Constants§

ABI_VERSION
ABI version for compatibility checking ABI version for compatibility checking

Functions§

parse_sections_manifest