Trait CodeModeHost
Source pub trait CodeModeHost: Send + Sync {
// Required methods
fn list_tools<'a>(
&'a self,
caller: &'a CodeModeCaller,
surface: CodeModeSurface,
scope: &'a ToolScope,
include_snippets: bool,
use_cache: bool,
) -> HostFuture<'a, Result<ToolsRender, ToolError>>;
fn call_tool<'a>(
&'a self,
id: &'a str,
params: Value,
caller: &'a CodeModeCaller,
surface: CodeModeSurface,
scope: &'a ToolScope,
ctx: ExecCtx,
) -> HostFuture<'a, Result<ToolCallOutcome, ToolError>>;
fn resolve_snippet<'a>(
&'a self,
name: &'a str,
input: Value,
) -> HostFuture<'a, Result<ResolvedSnippet, ToolError>>;
// Provided methods
fn semantic_search<'a>(
&'a self,
query: &'a str,
caller: &'a CodeModeCaller,
surface: CodeModeSurface,
scope: &'a ToolScope,
top_k: usize,
) -> HostFuture<'a, Result<Vec<(String, f32)>, ToolError>> { ... }
fn decide_step<'a>(
&'a self,
ctx: ExecCtx,
name: &'a str,
) -> HostFuture<'a, StepDecision> { ... }
fn record_step<'a>(
&'a self,
ctx: ExecCtx,
name: &'a str,
value: &'a Value,
) -> HostFuture<'a, Result<(), ToolError>> { ... }
fn openapi_registry(&self) -> Option<OpenApiRegistry> { ... }
fn openapi_http_client(&self) -> Option<Client> { ... }
}