pub struct ExtensionRegistryBuilder {Show 25 fields
pub inference_engines: Vec<Arc<dyn InferenceEngine>>,
pub inference_routers: Vec<Arc<dyn InferenceRouter>>,
pub context_providers: Vec<Arc<dyn ContextProvider>>,
pub context_planners: Vec<Arc<dyn ContextPlanner>>,
pub thread_stores: Vec<Arc<dyn ThreadStoreFactory>>,
pub checkpoint_stores: Vec<Arc<dyn CheckpointStoreFactory>>,
pub memory_stores: Vec<Arc<dyn MemoryStoreFactory>>,
pub knowledge_stores: Vec<Arc<dyn KnowledgeStoreFactory>>,
pub embedding_providers: Vec<Arc<dyn EmbeddingProvider>>,
pub media_generator_providers: Vec<Arc<dyn MediaGeneratorProvider>>,
pub tools: Vec<Arc<dyn ToolContributor>>,
pub subagent_dispatchers: Vec<Arc<dyn SubagentDispatcher>>,
pub policy_contributors: Vec<Arc<dyn PolicyContributor>>,
pub event_sinks: Vec<Arc<dyn EventSink>>,
pub fork_providers: Vec<Arc<dyn ForkProvider>>,
pub task_executors: Vec<Arc<dyn TaskExecutor>>,
pub notification_sinks: Vec<Arc<dyn NotificationSink>>,
pub interactive_region_handlers: Vec<Arc<dyn InteractiveRegionHandler>>,
pub speech_transcribers: Vec<Arc<dyn SpeechTranscriber>>,
pub speech_synthesizers: Vec<Arc<dyn SpeechSynthesizer>>,
pub version_control_providers: Vec<Arc<dyn VcsProvider>>,
pub remote_runner_providers: Vec<Arc<dyn RemoteRunnerProvider>>,
pub status_segments: Vec<StatusSegment>,
pub palette_sources: Vec<PaletteSourceDescriptor>,
pub code_index_providers: Vec<Arc<dyn CodeIndexProvider>>,
/* private fields */
}Fields§
§inference_engines: Vec<Arc<dyn InferenceEngine>>§inference_routers: Vec<Arc<dyn InferenceRouter>>§context_providers: Vec<Arc<dyn ContextProvider>>§context_planners: Vec<Arc<dyn ContextPlanner>>§thread_stores: Vec<Arc<dyn ThreadStoreFactory>>§checkpoint_stores: Vec<Arc<dyn CheckpointStoreFactory>>§memory_stores: Vec<Arc<dyn MemoryStoreFactory>>§knowledge_stores: Vec<Arc<dyn KnowledgeStoreFactory>>§embedding_providers: Vec<Arc<dyn EmbeddingProvider>>§media_generator_providers: Vec<Arc<dyn MediaGeneratorProvider>>§tools: Vec<Arc<dyn ToolContributor>>§subagent_dispatchers: Vec<Arc<dyn SubagentDispatcher>>§policy_contributors: Vec<Arc<dyn PolicyContributor>>§event_sinks: Vec<Arc<dyn EventSink>>§fork_providers: Vec<Arc<dyn ForkProvider>>§task_executors: Vec<Arc<dyn TaskExecutor>>§notification_sinks: Vec<Arc<dyn NotificationSink>>§interactive_region_handlers: Vec<Arc<dyn InteractiveRegionHandler>>§speech_transcribers: Vec<Arc<dyn SpeechTranscriber>>§speech_synthesizers: Vec<Arc<dyn SpeechSynthesizer>>§version_control_providers: Vec<Arc<dyn VcsProvider>>§remote_runner_providers: Vec<Arc<dyn RemoteRunnerProvider>>§status_segments: Vec<StatusSegment>§palette_sources: Vec<PaletteSourceDescriptor>§code_index_providers: Vec<Arc<dyn CodeIndexProvider>>Implementations§
Source§impl ExtensionRegistryBuilder
impl ExtensionRegistryBuilder
pub fn new() -> Self
Sourcepub fn install<E: RoderExtension>(&mut self, ext: E) -> Result<()>
pub fn install<E: RoderExtension>(&mut self, ext: E) -> Result<()>
Installs the extension and checks that every service it registers is
declared in its manifest provides list, so a manifest is a complete
inventory of what an installed extension contributes. Host code that
registers services directly on the builder (outside install) is not
subject to this check.
pub fn build(self) -> Result<ExtensionRegistry>
pub fn manifest(&mut self, manifest: ExtensionManifest)
Sourcepub fn grant_capability(
&mut self,
extension_id: impl Into<String>,
grant: CapabilityGrant,
)
pub fn grant_capability( &mut self, extension_id: impl Into<String>, grant: CapabilityGrant, )
Capability grants are advisory metadata surfaced through
extensions/list (statically linked extensions run in-process);
nothing enforces them at runtime.
Sourcepub fn deny_capability(
&mut self,
extension_id: impl Into<String>,
denial: CapabilityDenial,
)
pub fn deny_capability( &mut self, extension_id: impl Into<String>, denial: CapabilityDenial, )
Advisory, like Self::grant_capability: a denial fails build() for
extensions that require the capability but does not constrain runtime
behavior.
pub fn inference_engine(&mut self, engine: Arc<dyn InferenceEngine>)
pub fn inference_router(&mut self, router: Arc<dyn InferenceRouter>)
pub fn context_provider(&mut self, provider: Arc<dyn ContextProvider>)
pub fn context_planner(&mut self, planner: Arc<dyn ContextPlanner>)
pub fn thread_store_factory(&mut self, store: Arc<dyn ThreadStoreFactory>)
pub fn checkpoint_store_factory( &mut self, store: Arc<dyn CheckpointStoreFactory>, )
pub fn memory_store_factory(&mut self, store: Arc<dyn MemoryStoreFactory>)
pub fn knowledge_store_factory(&mut self, store: Arc<dyn KnowledgeStoreFactory>)
pub fn embedding_provider(&mut self, provider: Arc<dyn EmbeddingProvider>)
pub fn media_generator_provider( &mut self, provider: Arc<dyn MediaGeneratorProvider>, )
pub fn tool_contributor(&mut self, contributor: Arc<dyn ToolContributor>)
pub fn subagent_dispatcher(&mut self, dispatcher: Arc<dyn SubagentDispatcher>)
pub fn policy_contributor(&mut self, contributor: Arc<dyn PolicyContributor>)
pub fn event_sink(&mut self, sink: Arc<dyn EventSink>)
pub fn fork_provider(&mut self, provider: Arc<dyn ForkProvider>)
pub fn task_executor(&mut self, executor: Arc<dyn TaskExecutor>)
pub fn notification_sink(&mut self, sink: Arc<dyn NotificationSink>)
pub fn interactive_region_handler( &mut self, handler: Arc<dyn InteractiveRegionHandler>, )
pub fn speech_transcriber(&mut self, transcriber: Arc<dyn SpeechTranscriber>)
pub fn speech_synthesizer(&mut self, synthesizer: Arc<dyn SpeechSynthesizer>)
pub fn version_control_provider(&mut self, provider: Arc<dyn VcsProvider>)
pub fn remote_runner_provider( &mut self, provider: Arc<dyn RemoteRunnerProvider>, )
pub fn status_segment(&mut self, segment: StatusSegment)
pub fn palette_source(&mut self, source: PaletteSourceDescriptor)
pub fn code_index_provider(&mut self, provider: Arc<dyn CodeIndexProvider>)
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ExtensionRegistryBuilder
impl !UnwindSafe for ExtensionRegistryBuilder
impl Freeze for ExtensionRegistryBuilder
impl Send for ExtensionRegistryBuilder
impl Sync for ExtensionRegistryBuilder
impl Unpin for ExtensionRegistryBuilder
impl UnsafeUnpin for ExtensionRegistryBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more