pub trait Extension:
Send
+ Sync
+ 'static {
Show 39 methods
// Required method
fn metadata(&self) -> ExtensionMetadata;
// Provided methods
fn schemas(&self) -> Vec<SchemaDefinition> { ... }
fn migration_weight(&self) -> u32 { ... }
fn router(&self, ctx: &dyn ExtensionContext) -> Option<ExtensionRouter> { ... }
fn router_config(&self) -> Option<ExtensionRouterConfig> { ... }
fn jobs(&self) -> Vec<Arc<dyn Job>> { ... }
fn config_prefix(&self) -> Option<&str> { ... }
fn config_schema(&self) -> Option<Value> { ... }
fn validate_config(&self, config: &Value) -> Result<(), ConfigError> { ... }
fn llm_providers(&self) -> Vec<Arc<dyn LlmProvider>> { ... }
fn tool_providers(&self) -> Vec<Arc<dyn ToolProvider>> { ... }
fn template_providers(&self) -> Vec<Arc<dyn TemplateProvider>> { ... }
fn component_renderers(&self) -> Vec<Arc<dyn ComponentRenderer>> { ... }
fn template_data_extenders(&self) -> Vec<Arc<dyn TemplateDataExtender>> { ... }
fn page_data_providers(&self) -> Vec<Arc<dyn PageDataProvider>> { ... }
fn required_storage_paths(&self) -> Vec<&'static str> { ... }
fn dependencies(&self) -> Vec<&'static str> { ... }
fn is_required(&self) -> bool { ... }
fn migrations(&self) -> Vec<Migration> { ... }
fn roles(&self) -> Vec<ExtensionRole> { ... }
fn priority(&self) -> u32 { ... }
fn id(&self) -> &'static str { ... }
fn name(&self) -> &'static str { ... }
fn version(&self) -> &'static str { ... }
fn has_schemas(&self) -> bool { ... }
fn has_router(&self, ctx: &dyn ExtensionContext) -> bool { ... }
fn has_jobs(&self) -> bool { ... }
fn has_config(&self) -> bool { ... }
fn has_llm_providers(&self) -> bool { ... }
fn has_tool_providers(&self) -> bool { ... }
fn has_template_providers(&self) -> bool { ... }
fn has_component_renderers(&self) -> bool { ... }
fn has_template_data_extenders(&self) -> bool { ... }
fn has_page_data_providers(&self) -> bool { ... }
fn has_storage_paths(&self) -> bool { ... }
fn has_roles(&self) -> bool { ... }
fn has_migrations(&self) -> bool { ... }
fn required_assets(&self) -> Vec<AssetDefinition> { ... }
fn has_assets(&self) -> bool { ... }
}Available on crate feature
core only.Required Methods§
fn metadata(&self) -> ExtensionMetadata
Provided Methods§
fn schemas(&self) -> Vec<SchemaDefinition>
fn migration_weight(&self) -> u32
fn router(&self, ctx: &dyn ExtensionContext) -> Option<ExtensionRouter>
Available on crate feature
web only.fn router_config(&self) -> Option<ExtensionRouterConfig>
fn jobs(&self) -> Vec<Arc<dyn Job>>
fn config_prefix(&self) -> Option<&str>
fn config_schema(&self) -> Option<Value>
fn validate_config(&self, config: &Value) -> Result<(), ConfigError>
fn llm_providers(&self) -> Vec<Arc<dyn LlmProvider>>
fn tool_providers(&self) -> Vec<Arc<dyn ToolProvider>>
fn template_providers(&self) -> Vec<Arc<dyn TemplateProvider>>
fn component_renderers(&self) -> Vec<Arc<dyn ComponentRenderer>>
fn template_data_extenders(&self) -> Vec<Arc<dyn TemplateDataExtender>>
fn page_data_providers(&self) -> Vec<Arc<dyn PageDataProvider>>
fn required_storage_paths(&self) -> Vec<&'static str>
fn dependencies(&self) -> Vec<&'static str>
fn is_required(&self) -> bool
fn migrations(&self) -> Vec<Migration>
fn roles(&self) -> Vec<ExtensionRole>
fn priority(&self) -> u32
fn id(&self) -> &'static str
fn name(&self) -> &'static str
fn version(&self) -> &'static str
fn has_schemas(&self) -> bool
fn has_router(&self, ctx: &dyn ExtensionContext) -> bool
Available on crate feature
web only.