pub struct ExecutionContext {
pub conv_handler: ConversationHandler,
pub resp_handler: ResponseHandler,
pub client: Arc<Client>,
pub gateway_executors: GatewayExecutors,
pub messages_gateway_tools: GatewayToolMap,
pub llm_base_url: String,
pub streaming_timeout: Duration,
/* private fields */
}Expand description
Runtime dependencies passed into execute().
Owns the storage handlers, HTTP client, and LLM endpoint configuration.
Per-request auth is supplied via crate::executor::engine::ExecuteRequest::with_auth
rather than stored here, keeping this context purely shared and immutable.
Fields§
§conv_handler: ConversationHandler§resp_handler: ResponseHandler§client: Arc<Client>§gateway_executors: GatewayExecutors§messages_gateway_tools: GatewayToolMapClient-tool → gateway-executor aliases for the /v1/messages loop
(e.g. Claude Code’s WebSearch → web_search). Empty unless configured.
llm_base_url: StringBase URL for the LLM backend, e.g. "http://localhost:8000".
streaming_timeout: DurationMaximum wait time for the next SSE chunk. Duration::ZERO disables the timeout.
Sourced from Config::streaming_chunk_timeout_s.
Implementations§
Source§impl ExecutionContext
impl ExecutionContext
Sourcepub fn responses_url(&self) -> String
pub fn responses_url(&self) -> String
Returns the full URL for the /v1/responses endpoint.
Sourcepub fn conversations_url(&self) -> String
pub fn conversations_url(&self) -> String
Returns the full URL for the /v1/conversations endpoint.
pub fn new( conv_handler: ConversationHandler, resp_handler: ResponseHandler, client: Arc<Client>, llm_base_url: String, ) -> Self
pub fn with_gateway_executor(self, executor: Arc<dyn GatewayExecutor>) -> Self
Sourcepub async fn storage_ready(&self, timeout: Duration) -> bool
pub async fn storage_ready(&self, timeout: Duration) -> bool
Checks whether configured persistence can execute a bounded query.
Sourcepub fn storage_pool(&self) -> Option<&DbPool>
pub fn storage_pool(&self) -> Option<&DbPool>
Returns the configured persistence pool, if storage is enabled.
Sourcepub async fn from_config(cfg: &Config) -> Result<Self, Error>
pub async fn from_config(cfg: &Config) -> Result<Self, Error>
Trait Implementations§
Source§impl Clone for ExecutionContext
impl Clone for ExecutionContext
Source§fn clone(&self) -> ExecutionContext
fn clone(&self) -> ExecutionContext
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ExecutionContext
impl !UnwindSafe for ExecutionContext
impl Freeze for ExecutionContext
impl Send for ExecutionContext
impl Sync for ExecutionContext
impl Unpin for ExecutionContext
impl UnsafeUnpin for ExecutionContext
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more