Skip to main content

vtcode_utility_tool_specs/
responses_api.rs

1use crate::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, Serialize, Deserialize)]
5pub struct ResponsesApiTool {
6    pub name: String,
7    pub description: String,
8    #[serde(default)]
9    pub strict: bool,
10    pub parameters: JsonSchema,
11}
12
13#[derive(Clone, Debug, Serialize, Deserialize)]
14pub struct FreeformTool {
15    pub name: String,
16    pub description: String,
17    pub format: FreeformToolFormat,
18}
19
20#[derive(Clone, Debug, Serialize, Deserialize)]
21pub struct FreeformToolFormat {
22    pub lark_grammar: Option<String>,
23    pub examples: Vec<String>,
24}