Skip to content

Commit d94645e

Browse files
Adam1770rafaeljusto
authored andcommitted
Add schema generation type override for twapi.Date for tasks get and list responses
1 parent 90ec51b commit d94645e

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

internal/twprojects/tasks.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"fmt"
77
"io"
88
"net/http"
9+
"reflect"
910

1011
"github.com/google/jsonschema-go/jsonschema"
1112
"github.com/modelcontextprotocol/go-sdk/mcp"
@@ -37,12 +38,26 @@ func init() {
3738
var err error
3839

3940
// generate the output schemas only once
40-
taskGetOutputSchema, err = jsonschema.For[projects.TaskGetResponse](&jsonschema.ForOptions{})
41+
taskGetOutputSchema, err = jsonschema.For[projects.TaskGetResponse](&jsonschema.ForOptions{
42+
TypeSchemas: map[reflect.Type]*jsonschema.Schema{
43+
reflect.TypeFor[twapi.Date](): {
44+
Types: []string{"null", "string"},
45+
Description: "Null or date-only date string",
46+
},
47+
},
48+
})
4149
if err != nil {
4250
panic(fmt.Sprintf("failed to generate JSON schema for TaskGetResponse: %v", err))
4351
}
4452
helpers.WithMetaWebLinkSchema(taskGetOutputSchema)
45-
taskListOutputSchema, err = jsonschema.For[projects.TaskListResponse](&jsonschema.ForOptions{})
53+
taskListOutputSchema, err = jsonschema.For[projects.TaskListResponse](&jsonschema.ForOptions{
54+
TypeSchemas: map[reflect.Type]*jsonschema.Schema{
55+
reflect.TypeFor[twapi.Date](): {
56+
Types: []string{"null", "string"},
57+
Description: "Null or date-only date string",
58+
},
59+
},
60+
})
4661
if err != nil {
4762
panic(fmt.Sprintf("failed to generate JSON schema for TaskListResponse: %v", err))
4863
}

0 commit comments

Comments
 (0)