From 6ca7142ea4b978c5af033c5d40eef6db252b8c7f Mon Sep 17 00:00:00 2001 From: Kayvan Sylvan Date: Sun, 20 Apr 2025 17:20:55 -0700 Subject: [PATCH] feat: enhance StrategyMeta with Prompt field and dynamic naming ### CHANGES - Add `Prompt` field to `StrategyMeta` struct. - Include `strings` package for filename processing. - Derive strategy name from filename using `strings.TrimSuffix`. - Store `Prompt` value from JSON data in `StrategyMeta` --- restapi/strategies.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/restapi/strategies.go b/restapi/strategies.go index 5525f8dd..06e35c7d 100644 --- a/restapi/strategies.go +++ b/restapi/strategies.go @@ -6,6 +6,7 @@ import ( "net/http" "os" "path/filepath" + "strings" "github.com/gin-gonic/gin" ) @@ -14,6 +15,7 @@ import ( type StrategyMeta struct { Name string `json:"name"` Description string `json:"description"` + Prompt string `json:"prompt"` } // NewStrategiesHandler registers the /strategies GET endpoint @@ -41,16 +43,17 @@ func NewStrategiesHandler(r *gin.Engine) { } var s struct { - Name string `json:"name"` Description string `json:"description"` + Prompt string `json:"prompt"` } if err := json.Unmarshal(data, &s); err != nil { continue } strategies = append(strategies, StrategyMeta{ - Name: s.Name, + Name: strings.TrimSuffix(file.Name(), ".json"), Description: s.Description, + Prompt: s.Prompt, }) }