Skip to main content

Module extensions

Module extensions 

Source
Expand description

Extension system for oxi

Extensions allow custom tools, commands, and event hooks to be loaded dynamically at runtime.

Re-exports§

pub use crate::extensions::context::ExtensionContext;
pub use crate::extensions::context::ExtensionContextBuilder;
pub use crate::extensions::loading::discover_extensions;
pub use crate::extensions::loading::discover_extensions_in_dir;
pub use crate::extensions::loading::load_extension;
pub use crate::extensions::loading::load_extensions;
pub use crate::extensions::loading::validate_extension;
pub use crate::extensions::loading::ValidatedExtension;
pub use crate::extensions::loading::SHARED_LIB_EXTENSION;
pub use crate::extensions::registry::ExtensionErrorHandle;
pub use crate::extensions::registry::ExtensionRegistry;
pub use crate::extensions::registry::ExtensionRunner;
pub use crate::extensions::types::AfterProviderResponseEvent;
pub use crate::extensions::types::BashEvent;
pub use crate::extensions::types::BeforeProviderRequestEvent;
pub use crate::extensions::types::Command;
pub use crate::extensions::types::ContextEmitResult;
pub use crate::extensions::types::ContextEvent;
pub use crate::extensions::types::ExtensionError;
pub use crate::extensions::types::ExtensionErrorListener;
pub use crate::extensions::types::ExtensionErrorRecord;
pub use crate::extensions::types::ExtensionManifest;
pub use crate::extensions::types::ExtensionPermission;
pub use crate::extensions::types::ExtensionState;
pub use crate::extensions::types::InputEvent;
pub use crate::extensions::types::InputEventResult;
pub use crate::extensions::types::InputSource;
pub use crate::extensions::types::ModelSelectEvent;
pub use crate::extensions::types::ModelSelectSource;
pub use crate::extensions::types::ProviderRequestEmitResult;
pub use crate::extensions::types::SessionBeforeCompactEvent;
pub use crate::extensions::types::SessionBeforeEmitResult;
pub use crate::extensions::types::SessionBeforeForkEvent;
pub use crate::extensions::types::SessionBeforeSwitchEvent;
pub use crate::extensions::types::SessionBeforeTreeEvent;
pub use crate::extensions::types::SessionCompactEvent;
pub use crate::extensions::types::SessionShutdownEvent;
pub use crate::extensions::types::SessionShutdownReason;
pub use crate::extensions::types::SessionSwitchReason;
pub use crate::extensions::types::SessionTreeEvent;
pub use crate::extensions::types::ThinkingLevelSelectEvent;
pub use crate::extensions::types::ToolCallEmitResult;
pub use crate::extensions::types::ToolResultEmitResult;
pub use crate::extensions::wasm::ExtensionInfo;
pub use crate::extensions::wasm::WasmCommandDef;
pub use crate::extensions::wasm::WasmExtensionManager;
pub use crate::extensions::wasm::WasmToolDef;
pub use crate::extensions::wasm_tool::WasmTool;

Modules§

context
Extension context and builder.
ext_cli
Extension package manager — install, update, remove WASM extensions from GitHub releases.
loading
Extension dynamic loading.
registry
Extension registry and runner.
types
Extension types: enums, structs, events, and emit results.
wasm
WASM-based extension system powered by Extism.
wasm_hooks
WASM extension event hooks — types and hook manager.
wasm_tool
AgentTool wrapper for WASM extension tools.

Structs§

AgentToolResult
Result of tool execution
NoopExtension
pub.

Enums§

AgentEvent
Events emitted during agent execution.

Traits§

AgentTool
Core trait for all agent tools
Extension
Core trait that every oxi extension must implement.