Skip to main content

Extension

Trait Extension 

Source
pub trait Extension: Send + Sync {
Show 34 methods // Required methods fn name(&self) -> &str; fn description(&self) -> &str; // Provided methods fn manifest(&self) -> ExtensionManifest { ... } fn register_tools(&self) -> Vec<Arc<dyn AgentTool>> { ... } fn register_commands(&self) -> Vec<Command> { ... } fn on_load(&self, _ctx: &ExtensionContext) { ... } fn on_unload(&self) { ... } fn on_message_sent(&self, _msg: &str) { ... } fn on_message_received(&self, _msg: &str) { ... } fn on_tool_call(&self, _tool: &str, _params: &Value) { ... } fn on_tool_result(&self, _tool: &str, _result: &AgentToolResult) { ... } fn on_session_start(&self, _session_id: &str) { ... } fn on_session_end(&self, _session_id: &str) { ... } fn on_settings_changed(&self, _settings: &Settings) { ... } fn on_event(&self, _event: &AgentEvent) { ... } fn on_before_tool_call( &self, _tool: &str, _args: &Value, ) -> Result<(), Error> { ... } fn on_after_tool_call( &self, _tool: &str, _result: &AgentToolResult, ) -> Result<(), Error> { ... } fn on_before_compaction( &self, _ctx: &CompactionContext, ) -> Result<(), Error> { ... } fn on_after_compaction(&self, _summary: &str) -> Result<(), Error> { ... } fn on_error(&self, _error: &Error) -> Result<(), Error> { ... } fn session_before_switch( &self, _event: &SessionBeforeSwitchEvent, ) -> Result<(), Error> { ... } fn session_before_fork( &self, _event: &SessionBeforeForkEvent, ) -> Result<(), Error> { ... } fn session_before_compact( &self, _event: &SessionBeforeCompactEvent, ) -> Result<(), Error> { ... } fn session_compact(&self, _event: &SessionCompactEvent) -> Result<(), Error> { ... } fn session_shutdown(&self, _event: &SessionShutdownEvent) { ... } fn session_before_tree( &self, _event: &SessionBeforeTreeEvent, ) -> Result<(), Error> { ... } fn session_tree(&self, _event: &SessionTreeEvent) { ... } fn context(&self, _event: &mut ContextEvent) -> Result<(), Error> { ... } fn before_provider_request( &self, _event: &mut BeforeProviderRequestEvent, ) -> Result<(), Error> { ... } fn after_provider_response( &self, _event: &AfterProviderResponseEvent, ) -> Result<(), Error> { ... } fn model_select(&self, _event: &ModelSelectEvent) { ... } fn thinking_level_select(&self, _event: &ThinkingLevelSelectEvent) { ... } fn bash(&self, _event: &BashEvent) { ... } fn input(&self, _event: &InputEvent) -> InputEventResult { ... }
}
Expand description

Core trait that every oxi extension must implement.

Required Methods§

Source

fn name(&self) -> &str

TODO: document.

Source

fn description(&self) -> &str

TODO: document.

Provided Methods§

Source

fn manifest(&self) -> ExtensionManifest

TODO: document.

Source

fn register_tools(&self) -> Vec<Arc<dyn AgentTool>>

TODO: document.

Source

fn register_commands(&self) -> Vec<Command>

TODO: document.

Source

fn on_load(&self, _ctx: &ExtensionContext)

TODO: document.

Source

fn on_unload(&self)

TODO: document.

Source

fn on_message_sent(&self, _msg: &str)

TODO: document.

Source

fn on_message_received(&self, _msg: &str)

TODO: document.

Source

fn on_tool_call(&self, _tool: &str, _params: &Value)

TODO: document.

Source

fn on_tool_result(&self, _tool: &str, _result: &AgentToolResult)

TODO: document.

Source

fn on_session_start(&self, _session_id: &str)

TODO: document.

Source

fn on_session_end(&self, _session_id: &str)

TODO: document.

Source

fn on_settings_changed(&self, _settings: &Settings)

TODO: document.

Source

fn on_event(&self, _event: &AgentEvent)

TODO: document.

Source

fn on_before_tool_call(&self, _tool: &str, _args: &Value) -> Result<(), Error>

TODO: document.

Source

fn on_after_tool_call( &self, _tool: &str, _result: &AgentToolResult, ) -> Result<(), Error>

TODO: document.

Source

fn on_before_compaction(&self, _ctx: &CompactionContext) -> Result<(), Error>

TODO: document.

Source

fn on_after_compaction(&self, _summary: &str) -> Result<(), Error>

TODO: document.

Source

fn on_error(&self, _error: &Error) -> Result<(), Error>

TODO: document.

Source

fn session_before_switch( &self, _event: &SessionBeforeSwitchEvent, ) -> Result<(), Error>

TODO: document.

Source

fn session_before_fork( &self, _event: &SessionBeforeForkEvent, ) -> Result<(), Error>

TODO: document.

Source

fn session_before_compact( &self, _event: &SessionBeforeCompactEvent, ) -> Result<(), Error>

TODO: document.

Source

fn session_compact(&self, _event: &SessionCompactEvent) -> Result<(), Error>

TODO: document.

Source

fn session_shutdown(&self, _event: &SessionShutdownEvent)

TODO: document.

Source

fn session_before_tree( &self, _event: &SessionBeforeTreeEvent, ) -> Result<(), Error>

TODO: document.

Source

fn session_tree(&self, _event: &SessionTreeEvent)

TODO: document.

Source

fn context(&self, _event: &mut ContextEvent) -> Result<(), Error>

TODO: document.

Source

fn before_provider_request( &self, _event: &mut BeforeProviderRequestEvent, ) -> Result<(), Error>

TODO: document.

Source

fn after_provider_response( &self, _event: &AfterProviderResponseEvent, ) -> Result<(), Error>

TODO: document.

Source

fn model_select(&self, _event: &ModelSelectEvent)

TODO: document.

Source

fn thinking_level_select(&self, _event: &ThinkingLevelSelectEvent)

TODO: document.

Source

fn bash(&self, _event: &BashEvent)

TODO: document.

Source

fn input(&self, _event: &InputEvent) -> InputEventResult

TODO: document.

Implementors§