@@ -1,10 +1,12 @@
1package agent
1package agent
6 "encoding/json"
7 "encoding/json"
8 "log/slog"
10 "log/slog"
@@ -126,24 +128,29 @@ func (c *coordinator) Run(ctx context.Context, sessionID string, prompt string,
126func getProviderOptions(model Model) ai.ProviderOptions {
128func getProviderOptions(model Model) ai.ProviderOptions {
127 options := ai.ProviderOptions{}
129 options := ai.ProviderOptions{}
129− cfgOpts := "{}"
131+ cfgOpts := []byte("{}")
130− catwalkOpts := "{}"
132+ catwalkOpts := []byte("{}")
132 if model.ModelCfg.ProviderOptions != nil {
134 if model.ModelCfg.ProviderOptions != nil {
133 data, err := json.Marshal(model.ModelCfg.ProviderOptions)
135 data, err := json.Marshal(model.ModelCfg.ProviderOptions)
134 if err == nil {
136 if err == nil {
135− cfgOpts = string(data)
137+ cfgOpts = data
139 if model.CatwalkCfg.Options.ProviderOptions != nil {
141 if model.CatwalkCfg.Options.ProviderOptions != nil {
140 data, err := json.Marshal(model.CatwalkCfg.Options.ProviderOptions)
142 data, err := json.Marshal(model.CatwalkCfg.Options.ProviderOptions)
141 if err == nil {
143 if err == nil {
142− catwalkOpts = string(data)
144+ catwalkOpts = data
146− got, err := jsons.Merge([]string{catwalkOpts, cfgOpts})
148+ readers := []io.Reader{
149+ bytes.NewReader(catwalkOpts),
150+ bytes.NewReader(cfgOpts),
153+ got, err := jsons.Merge(readers)
147 if err != nil {
154 if err != nil {
148 slog.Error("Could not merge call config", "err", err)
155 slog.Error("Could not merge call config", "err", err)
149 return options
156 return options