pub struct ToolCall {
pub id: String,
pub name: String,
pub arguments: Value,
}Expand description
A tool invocation requested by the LLM.
Fields§
§id: StringUnique identifier for this call, generated by the LLM.
Must be echoed back in the corresponding ToolResult::tool_call_id.
name: StringName of the tool to invoke (matches ToolDefinition::name).
arguments: ValueArguments as a JSON object, matching the tool’s input_schema.
Typed rather than left to ts-rs, which has no TS for
serde_json::Value without its serde-json-impl feature. Record is
also the truer answer: the shape is whatever the tool’s own schema
says, which gglib does not model.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ToolCall
impl<'de> Deserialize<'de> for ToolCall
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ToolCall
impl RefUnwindSafe for ToolCall
impl Send for ToolCall
impl Sync for ToolCall
impl Unpin for ToolCall
impl UnsafeUnpin for ToolCall
impl UnwindSafe for ToolCall
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
Mutably borrows from an owned value. Read more