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§
- Agent
Tool Result - Result of tool execution
- Noop
Extension - pub.
Enums§
- Agent
Event - Events emitted during agent execution.