31 lines
818 B
Rust
31 lines
818 B
Rust
|
|
use schemars::JsonSchema;
|
||
|
|
use serde::Deserialize;
|
||
|
|
use serde::Serialize;
|
||
|
|
use serde_json::Value as JsonValue;
|
||
|
|
use ts_rs::TS;
|
||
|
|
|
||
|
|
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, JsonSchema, TS)]
|
||
|
|
#[serde(rename_all = "camelCase")]
|
||
|
|
pub struct DynamicToolSpec {
|
||
|
|
pub name: String,
|
||
|
|
pub description: String,
|
||
|
|
pub input_schema: JsonValue,
|
||
|
|
}
|
||
|
|
|
||
|
|
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, JsonSchema, TS)]
|
||
|
|
#[serde(rename_all = "camelCase")]
|
||
|
|
pub struct DynamicToolCallRequest {
|
||
|
|
pub call_id: String,
|
||
|
|
pub turn_id: String,
|
||
|
|
pub tool: String,
|
||
|
|
pub arguments: JsonValue,
|
||
|
|
}
|
||
|
|
|
||
|
|
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, JsonSchema, TS)]
|
||
|
|
#[serde(rename_all = "camelCase")]
|
||
|
|
pub struct DynamicToolResponse {
|
||
|
|
pub call_id: String,
|
||
|
|
pub output: String,
|
||
|
|
pub success: bool,
|
||
|
|
}
|