Skip to content

Commit 774446b

Browse files
committed
🚸 Set enum options
issue #64
1 parent 0c88ed9 commit 774446b

File tree

27 files changed

+145
-132
lines changed

27 files changed

+145
-132
lines changed

cmd/caption/download.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ var downloadTool = mcp.NewTool(
6565
mcp.Description(fileUsage), mcp.Required(),
6666
),
6767
mcp.WithString(
68-
"tfmt", mcp.DefaultString(""),
69-
mcp.Description(tfmtUsage), mcp.Required(),
68+
"tfmt", mcp.Enum("sbv", "srt", "vtt"),
69+
mcp.DefaultString(""), mcp.Description(tfmtUsage), mcp.Required(),
7070
),
7171
mcp.WithString(
7272
"tlang", mcp.DefaultString(""),

cmd/caption/insert.go

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"context"
66
"github.com/eat-pray-ai/yutu/cmd"
77
"github.com/eat-pray-ai/yutu/pkg/caption"
8+
"github.com/eat-pray-ai/yutu/pkg/utils"
89
"github.com/mark3labs/mcp-go/mcp"
910
"github.com/spf13/cobra"
1011
"io"
@@ -74,28 +75,29 @@ var insertTool = mcp.NewTool(
7475
mcp.Description(fileUsage), mcp.Required(),
7576
),
7677
mcp.WithString(
77-
"audioTrackType", mcp.DefaultString("unknown"),
78-
mcp.Description(attUsage), mcp.Required(),
78+
"audioTrackType",
79+
mcp.Enum("unknown", "primary", "commentary", "descriptive"),
80+
mcp.DefaultString("unknown"), mcp.Description(attUsage), mcp.Required(),
7981
),
80-
mcp.WithBoolean(
81-
"isAutoSynced", mcp.DefaultBool(true),
82-
mcp.Description(iasUsage), mcp.Required(),
82+
mcp.WithString(
83+
"isAutoSynced", mcp.Enum("true", "false", ""),
84+
mcp.DefaultString("true"), mcp.Description(iasUsage), mcp.Required(),
8385
),
84-
mcp.WithBoolean(
85-
"isCC", mcp.DefaultBool(false),
86-
mcp.Description(iscUsage), mcp.Required(),
86+
mcp.WithString(
87+
"isCC", mcp.Enum("true", "false", ""),
88+
mcp.DefaultString("false"), mcp.Description(iscUsage), mcp.Required(),
8789
),
88-
mcp.WithBoolean(
89-
"isDraft", mcp.DefaultBool(false),
90-
mcp.Description(isdUsage), mcp.Required(),
90+
mcp.WithString(
91+
"isDraft", mcp.Enum("true", "false", ""),
92+
mcp.DefaultString("false"), mcp.Description(isdUsage), mcp.Required(),
9193
),
92-
mcp.WithBoolean(
93-
"isEasyReader", mcp.DefaultBool(false),
94-
mcp.Description(iserUsage), mcp.Required(),
94+
mcp.WithString(
95+
"isEasyReader", mcp.Enum("true", "false", ""),
96+
mcp.DefaultString("false"), mcp.Description(iserUsage), mcp.Required(),
9597
),
96-
mcp.WithBoolean(
97-
"isLarge", mcp.DefaultBool(false),
98-
mcp.Description(islUsage), mcp.Required(),
98+
mcp.WithString(
99+
"isLarge", mcp.Enum("true", "false", ""),
100+
mcp.DefaultString("false"), mcp.Description(islUsage), mcp.Required(),
99101
),
100102
mcp.WithString(
101103
"language", mcp.DefaultString(""),
@@ -106,8 +108,8 @@ var insertTool = mcp.NewTool(
106108
mcp.Description(nameUsage), mcp.Required(),
107109
),
108110
mcp.WithString(
109-
"trackKind", mcp.DefaultString("standard"),
110-
mcp.Description(tkUsage), mcp.Required(),
111+
"trackKind", mcp.Enum("standard", "ASR", "forced"),
112+
mcp.DefaultString("standard"), mcp.Description(tkUsage), mcp.Required(),
111113
),
112114
mcp.WithString(
113115
"videoId", mcp.DefaultString(""),
@@ -137,16 +139,16 @@ func insertHandler(
137139
args := request.GetArguments()
138140
file, _ = args["file"].(string)
139141
audioTrackType, _ = args["audioTrackType"].(string)
140-
isAutoSyncedRaw, _ := args["isAutoSynced"].(bool)
141-
isAutoSynced = &isAutoSyncedRaw
142-
isCCRaw, _ := args["isCC"].(bool)
143-
isCC = &isCCRaw
144-
isDraftRaw, _ := args["isDraft"].(bool)
145-
isDraft = &isDraftRaw
146-
isEasyReaderRaw, _ := args["isEasyReader"].(bool)
147-
isEasyReader = &isEasyReaderRaw
148-
isLargeRaw, _ := args["isLarge"].(bool)
149-
isLarge = &isLargeRaw
142+
isAutoSyncedRaw, _ := args["isAutoSynced"].(string)
143+
isAutoSynced = utils.BoolPtr(isAutoSyncedRaw)
144+
isCCRaw, _ := args["isCC"].(string)
145+
isCC = utils.BoolPtr(isCCRaw)
146+
isDraftRaw, _ := args["isDraft"].(string)
147+
isDraft = utils.BoolPtr(isDraftRaw)
148+
isEasyReaderRaw, _ := args["isEasyReader"].(string)
149+
isEasyReader = utils.BoolPtr(isEasyReaderRaw)
150+
isLargeRaw, _ := args["isLarge"].(string)
151+
isLarge = utils.BoolPtr(isLargeRaw)
150152
language, _ = args["language"].(string)
151153
name, _ = args["name"].(string)
152154
trackKind, _ = args["trackKind"].(string)

cmd/caption/update.go

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"context"
66
"github.com/eat-pray-ai/yutu/cmd"
77
"github.com/eat-pray-ai/yutu/pkg/caption"
8+
"github.com/eat-pray-ai/yutu/pkg/utils"
89
"github.com/mark3labs/mcp-go/mcp"
910
"github.com/spf13/cobra"
1011
"io"
@@ -76,25 +77,25 @@ var updateTool = mcp.NewTool(
7677
"audioTrackType", mcp.DefaultString("unknown"),
7778
mcp.Description(attUsage), mcp.Required(),
7879
),
79-
mcp.WithBoolean(
80-
"isAutoSynced", mcp.DefaultBool(true),
81-
mcp.Description(iasUsage), mcp.Required(),
80+
mcp.WithString(
81+
"isAutoSynced", mcp.Enum("true", "false", ""),
82+
mcp.DefaultString("true"), mcp.Description(iasUsage), mcp.Required(),
8283
),
83-
mcp.WithBoolean(
84-
"isCC", mcp.DefaultBool(false),
85-
mcp.Description(iscUsage), mcp.Required(),
84+
mcp.WithString(
85+
"isCC", mcp.Enum("true", "false", ""),
86+
mcp.DefaultString("false"), mcp.Description(iscUsage), mcp.Required(),
8687
),
87-
mcp.WithBoolean(
88-
"isDraft", mcp.DefaultBool(false),
89-
mcp.Description(isdUsage), mcp.Required(),
88+
mcp.WithString(
89+
"isDraft", mcp.Enum("true", "false", ""),
90+
mcp.DefaultString("false"), mcp.Description(isdUsage), mcp.Required(),
9091
),
91-
mcp.WithBoolean(
92-
"isEasyReader", mcp.DefaultBool(false),
93-
mcp.Description(iserUsage), mcp.Required(),
92+
mcp.WithString(
93+
"isEasyReader", mcp.Enum("true", "false", ""),
94+
mcp.DefaultString("false"), mcp.Description(iserUsage), mcp.Required(),
9495
),
95-
mcp.WithBoolean(
96-
"isLarge", mcp.DefaultBool(false),
97-
mcp.Description(islUsage), mcp.Required(),
96+
mcp.WithString(
97+
"isLarge", mcp.Enum("true", "false", ""),
98+
mcp.DefaultString("false"), mcp.Description(islUsage), mcp.Required(),
9899
),
99100
mcp.WithString(
100101
"language", mcp.DefaultString(""),
@@ -105,8 +106,8 @@ var updateTool = mcp.NewTool(
105106
mcp.Description(nameUsage), mcp.Required(),
106107
),
107108
mcp.WithString(
108-
"trackKind", mcp.DefaultString("standard"),
109-
mcp.Description(tkUsage), mcp.Required(),
109+
"trackKind", mcp.Enum("standard", "ASR", "forced"),
110+
mcp.DefaultString("standard"), mcp.Description(tkUsage), mcp.Required(),
110111
),
111112
mcp.WithString(
112113
"videoId", mcp.DefaultString(""),
@@ -136,16 +137,16 @@ func updateHandler(
136137
args := request.GetArguments()
137138
file, _ = args["file"].(string)
138139
audioTrackType, _ = args["audioTrackType"].(string)
139-
isAutoSyncedRaw, _ := args["isAutoSynced"].(bool)
140-
isAutoSynced = &isAutoSyncedRaw
141-
isCCRaw, _ := args["isCC"].(bool)
142-
isCC = &isCCRaw
143-
isDraftRaw, _ := args["isDraft"].(bool)
144-
isDraft = &isDraftRaw
145-
isEasyReaderRaw, _ := args["isEasyReader"].(bool)
146-
isEasyReader = &isEasyReaderRaw
147-
isLargeRaw, _ := args["isLarge"].(bool)
148-
isLarge = &isLargeRaw
140+
isAutoSyncedRaw, _ := args["isAutoSynced"].(string)
141+
isAutoSynced = utils.BoolPtr(isAutoSyncedRaw)
142+
isCCRaw, _ := args["isCC"].(string)
143+
isCC = utils.BoolPtr(isCCRaw)
144+
isDraftRaw, _ := args["isDraft"].(string)
145+
isDraft = utils.BoolPtr(isDraftRaw)
146+
isEasyReaderRaw, _ := args["isEasyReader"].(string)
147+
isEasyReader = utils.BoolPtr(isEasyReaderRaw)
148+
isLargeRaw, _ := args["isLarge"].(string)
149+
isLarge = utils.BoolPtr(isLargeRaw)
149150
language, _ = args["language"].(string)
150151
name, _ = args["name"].(string)
151152
trackKind, _ = args["trackKind"].(string)

cmd/comment/comment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const (
1717
tfUsage = "textFormatUnspecified, html, or plainText"
1818
toUsage = "Text of the comment"
1919
msUsage = "heldForReview, published, or rejected"
20-
baUsage = "true or false"
20+
baUsage = "If set to true the author of the comment gets added to the ban list"
2121
vidUsage = "ID of the video"
2222
vrUsage = "none, like, or dislike"
2323
partsUsage = "Comma separated parts"

cmd/comment/list.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ var listTool = mcp.NewTool(
7070
mcp.Required(),
7171
),
7272
mcp.WithString(
73-
"textFormat", mcp.DefaultString("html"),
74-
mcp.Description(tfUsage), mcp.Required(),
73+
"textFormat", mcp.Enum("textFormatUnspecified", "html", "plainText"),
74+
mcp.DefaultString("html"), mcp.Description(tfUsage), mcp.Required(),
7575
),
7676
mcp.WithArray(
7777
"parts", mcp.DefaultArray([]string{"id", "snippet"}),

cmd/comment/setModerationStatus.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ var setModerationStatusTool = mcp.NewTool(
6666
mcp.Description(idsUsage), mcp.Required(),
6767
),
6868
mcp.WithString(
69-
"moderationStatus", mcp.DefaultString(""),
70-
mcp.Description(msUsage), mcp.Required(),
69+
"moderationStatus", mcp.Enum("heldForReview", "published", "rejected"),
70+
mcp.DefaultString(""), mcp.Description(msUsage), mcp.Required(),
7171
),
7272
mcp.WithString(
7373
"banAuthor", mcp.Enum("true", "false", ""),

cmd/comment/update.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ var updateTool = mcp.NewTool(
6969
mcp.Description(toUsage), mcp.Required(),
7070
),
7171
mcp.WithString(
72-
"viewerRating", mcp.DefaultString(""),
73-
mcp.Description(vrUsage), mcp.Required(),
72+
"viewerRating", mcp.Enum("none", "like", "dislike"),
73+
mcp.DefaultString(""), mcp.Description(vrUsage), mcp.Required(),
7474
),
7575
mcp.WithString(
7676
"output", mcp.DefaultString(""),

cmd/commentThread/commentThread.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const (
1616
msUsage = "published, heldForReview, likelySpam, or rejected"
1717
orderUsage = "orderUnspecified, time, or relevance"
1818
stUsage = "Search terms"
19-
tfUsage = "textFormatUnspecified or html"
19+
tfUsage = "textFormatUnspecified, or html"
2020
toUsage = "Text of the comment"
2121
partsUsage = "Comma separated parts"
2222
)

cmd/commentThread/list.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,20 +79,21 @@ var listTool = mcp.NewTool(
7979
mcp.Description(mrUsage), mcp.Required(),
8080
),
8181
mcp.WithString(
82-
"moderationStatus", mcp.DefaultString("published"),
83-
mcp.Description(msUsage), mcp.Required(),
82+
"moderationStatus",
83+
mcp.Enum("published", "heldForReview", "likelySpam", "rejected"),
84+
mcp.DefaultString("published"), mcp.Description(msUsage), mcp.Required(),
8485
),
8586
mcp.WithString(
86-
"order", mcp.DefaultString("time"),
87-
mcp.Description(orderUsage), mcp.Required(),
87+
"order", mcp.Enum("orderUnspecified", "time", "relevance"),
88+
mcp.DefaultString("time"), mcp.Description(orderUsage), mcp.Required(),
8889
),
8990
mcp.WithString(
9091
"searchTerms", mcp.DefaultString(""),
9192
mcp.Description(stUsage), mcp.Required(),
9293
),
9394
mcp.WithString(
94-
"textFormat", mcp.DefaultString("html"),
95-
mcp.Description(tfUsage), mcp.Required(),
95+
"textFormat", mcp.Enum("textFormatUnspecified", "html"),
96+
mcp.DefaultString("html"), mcp.Description(tfUsage), mcp.Required(),
9697
),
9798
mcp.WithString(
9899
"videoId", mcp.DefaultString(""),

cmd/constants.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cmd
22

33
const (
4+
// TODO: mcp.Enum
45
TableUsage = "json, yaml, or table"
56
SilentUsage = "json, yaml, or silent"
67
JpUsage = "JSONPath expression to filter the output"

0 commit comments

Comments
 (0)