fix: correct schema for openai tools (#5229)

Co-authored-by: Jack Amadeo <jackamadeo@squareup.com>
This commit is contained in:
Michael Neale
2025-10-18 01:29:04 +11:00
committed by GitHub
parent de835124a1
commit 7aae5ef316
@@ -47,6 +47,8 @@ impl From<ExecutionModeParam> for ExecutionMode {
} }
} }
type JsonObject = serde_json::Map<String, Value>;
/// Parameters for a single task /// Parameters for a single task
#[derive(Debug, Serialize, Deserialize, JsonSchema)] #[derive(Debug, Serialize, Deserialize, JsonSchema)]
pub struct TaskParameter { pub struct TaskParameter {
@@ -63,19 +65,19 @@ pub struct TaskParameter {
pub description: Option<String>, pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub extensions: Option<Vec<Value>>, pub extensions: Option<Vec<JsonObject>>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub settings: Option<Value>, pub settings: Option<JsonObject>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub parameters: Option<Vec<Value>>, pub parameters: Option<Vec<JsonObject>>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub response: Option<Value>, pub response: Option<JsonObject>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub retry: Option<Value>, pub retry: Option<JsonObject>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub context: Option<Vec<String>>, pub context: Option<Vec<String>>,