pub struct SessionToolClientExecutionRequest {
pub id: String,
pub chat: Uri,
pub turn_id: String,
pub client_id: String,
pub tool_call: ToolCallState,
}Expand description
A running tool whose execution is delegated to an active client. Surfaced so a client that provides the tool can pick up the work without subscribing to the owning chat.
The {@link toolCall} is always a {@link ToolCallRunningState} (a
{@link ToolCallState} in running status) whose
{@link ToolCallRunningState.contributor | contributor} is a client
{@link ToolCallClientContributor} whose clientId matches the denormalized
{@link clientId} here. Execute and report the result by dispatching
chat/toolCallComplete (and optionally streaming with
chat/toolCallContentChanged) to {@link SessionInputRequestBase.chat |
chat}, keyed by turnId and toolCall.toolCallId.
Fields§
§id: StringStable key for this entry, unique within the session’s
{@link SessionState.inputNeeded} list. The host derives it however it likes
(for example from the chat URI plus the underlying request or tool-call
id); consumers MUST treat it as opaque. It is the key for the
session/inputNeededSet / session/inputNeededRemoved upsert convention.
chat: UriThe chat the underlying request lives in. This is the channel a client dispatches its response to — it does not need to have subscribed to that chat first.
turn_id: StringThe turn the tool call belongs to.
client_id: StringThe clientId expected to execute the tool. Matches the clientId of the
tool call’s client {@link ToolCallContributor}.
tool_call: ToolCallStateThe running tool call the session wants the owning client to execute. The
host only ever populates this with a {@link ToolCallRunningState} (i.e. a
{@link ToolCallState} in running status).
Trait Implementations§
Source§impl Clone for SessionToolClientExecutionRequest
impl Clone for SessionToolClientExecutionRequest
Source§fn clone(&self) -> SessionToolClientExecutionRequest
fn clone(&self) -> SessionToolClientExecutionRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de> Deserialize<'de> for SessionToolClientExecutionRequest
impl<'de> Deserialize<'de> for SessionToolClientExecutionRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SessionToolClientExecutionRequest
impl PartialEq for SessionToolClientExecutionRequest
Source§fn eq(&self, other: &SessionToolClientExecutionRequest) -> bool
fn eq(&self, other: &SessionToolClientExecutionRequest) -> bool
self and other values to be equal, and is used by ==.