@@ -32,11 +32,12 @@ type Tool struct {
3232}
3333
3434type FunctionDefinition struct {
35- Name string `json:"name"`
36- Description string `json:"description,omitempty"`
37- Strict bool `json:"strict,omitempty"`
38- Parameters FunctionParameters `json:"parameters"`
39- Annotations ToolAnnotation `json:"annotations"`
35+ Name string `json:"name"`
36+ Description string `json:"description,omitempty"`
37+ Strict bool `json:"strict,omitempty"`
38+ Parameters FunctionParameters `json:"parameters"`
39+ Annotations ToolAnnotation `json:"annotations"`
40+ OutputSchema ToolOutputSchema `json:"outputSchema"`
4041}
4142
4243type ToolAnnotation struct {
@@ -47,6 +48,12 @@ type ToolAnnotation struct {
4748 OpenWorldHint * bool `json:"openWorldHint,omitempty"`
4849}
4950
51+ type ToolOutputSchema struct {
52+ Type string `json:"type"`
53+ Properties map [string ]any `json:"properties,omitempty"`
54+ Required []string `json:"required,omitempty"`
55+ }
56+
5057type FunctionParameters struct {
5158 Type string `json:"type"`
5259 Properties map [string ]any `json:"properties"`
0 commit comments