Skip to content

Commit 181971a

Browse files
fix: resource env config incorrectly unmarshaled (#830)
1 parent 4b5a511 commit 181971a

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed

.changeset/real-coins-glow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"server": patch
3+
---
4+
5+
fix resource env config incorrectly unmarshaled

server/internal/gateway/models.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,12 +127,12 @@ type PromptToolCallPlan struct {
127127
}
128128

129129
type ResourceFunctionCallPlan struct {
130-
FunctionID string `json:"function_id" yaml:"function_id"`
131-
FunctionsAccessID string `json:"functions_access_id" yaml:"functions_access_id"`
132-
Runtime string `json:"runtime" yaml:"runtime"`
133-
URI string `json:"uri" yaml:"uri"`
134-
MimeType string `json:"mime_type" yaml:"mime_type"`
135-
Variables map[string]string `json:"variables" yaml:"variables"`
130+
FunctionID string `json:"function_id" yaml:"function_id"`
131+
FunctionsAccessID string `json:"functions_access_id" yaml:"functions_access_id"`
132+
Runtime string `json:"runtime" yaml:"runtime"`
133+
URI string `json:"uri" yaml:"uri"`
134+
MimeType string `json:"mime_type" yaml:"mime_type"`
135+
Variables []string `json:"variables" yaml:"variables"`
136136
}
137137

138138
type ToolKind string

server/internal/gateway/proxy_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1371,7 +1371,7 @@ func TestResourceProxy_ReadResource(t *testing.T) {
13711371
Runtime: "nodejs",
13721372
URI: "resource://test",
13731373
MimeType: "text/plain",
1374-
Variables: map[string]string{},
1374+
Variables: []string{},
13751375
}
13761376

13771377
resourcePlan := NewResourceFunctionCallPlan(descriptor, plan)

server/internal/toolsets/shared.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,13 +297,15 @@ func (t *Toolsets) extractFunctionResourceCallPlan(ctx context.Context, resource
297297
return nil, fmt.Errorf("get project with organization metadata: %w", err)
298298
}
299299

300-
var envconfig map[string]string
300+
var envconfig map[string]any
301301
if len(resource.Variables) > 0 {
302302
if err := json.Unmarshal(resource.Variables, &envconfig); err != nil {
303303
return nil, fmt.Errorf("unmarshal function resource env vars: %w", err)
304304
}
305305
}
306306

307+
envvars := slices.Collect(maps.Keys(envconfig))
308+
307309
mimeType := ""
308310
if resource.MimeType.Valid {
309311
mimeType = resource.MimeType.String
@@ -331,7 +333,7 @@ func (t *Toolsets) extractFunctionResourceCallPlan(ctx context.Context, resource
331333
Runtime: resource.Runtime,
332334
URI: resource.Uri,
333335
MimeType: mimeType,
334-
Variables: envconfig,
336+
Variables: envvars,
335337
}
336338

337339
return gateway.NewResourceFunctionCallPlan(descriptor, plan), nil

0 commit comments

Comments
 (0)