Skip to content

Commit 13554c9

Browse files
hugoaguirrehendrixmar
authored andcommitted
fix(go/ai): include maxTurns in prompts (#3621)
1 parent 6ad7730 commit 13554c9

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

go/ai/prompt.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ func DefinePrompt(r api.Registry, name string, opts ...PromptOption) Prompt {
9898
"output": map[string]any{"schema": p.OutputSchema},
9999
"defaultInput": p.DefaultInput,
100100
"tools": tools,
101+
"maxTurns": p.MaxTurns,
101102
},
102103
}
103104
maps.Copy(meta, promptMeta)
@@ -591,8 +592,8 @@ func LoadPrompt(r api.Registry, dir, filename, namespace string) Prompt {
591592
opts.ToolChoice = toolChoice
592593
}
593594

594-
if maxTurns, ok := metadata.Raw["maxTurns"].(int); ok {
595-
opts.MaxTurns = maxTurns
595+
if maxTurns, ok := metadata.Raw["maxTurns"].(uint64); ok {
596+
opts.MaxTurns = int(maxTurns)
596597
}
597598

598599
if returnToolRequests, ok := metadata.Raw["returnToolRequests"].(bool); ok {

go/ai/prompt_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -885,9 +885,9 @@ func TestLoadPrompt(t *testing.T) {
885885
mockPromptFile := filepath.Join(tempDir, "example.prompt")
886886
mockPromptContent := `---
887887
model: test-model
888+
maxTurns: 5
888889
description: A test prompt
889890
toolChoice: required
890-
maxTurns: 5
891891
returnToolRequests: true
892892
input:
893893
schema:
@@ -936,6 +936,9 @@ Hello, {{name}}!
936936
if promptMetadata["model"] != "test-model" {
937937
t.Errorf("Expected model name 'test-model', got '%s'", prompt.(api.Action).Desc().Metadata["model"])
938938
}
939+
if promptMetadata["maxTurns"] != 5 {
940+
t.Errorf("Expected maxTurns set to 5, got: %d", promptMetadata["maxTurns"])
941+
}
939942
}
940943

941944
func TestLoadPrompt_FileNotFound(t *testing.T) {

go/go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ retract (
99

1010
require (
1111
cloud.google.com/go/alloydbconn v1.15.3
12+
cloud.google.com/go/auth v0.16.2
1213
cloud.google.com/go/cloudsqlconn v1.17.2
1314
cloud.google.com/go/firestore v1.18.0
1415
cloud.google.com/go/logging v1.13.0
@@ -18,7 +19,7 @@ require (
1819
github.com/anthropics/anthropic-sdk-go v1.9.1
1920
github.com/blues/jsonata-go v1.5.4
2021
github.com/goccy/go-yaml v1.17.1
21-
github.com/google/dotprompt/go v0.0.0-20250611200215-bb73406b05ca
22+
github.com/google/dotprompt/go v0.0.0-20250923103342-a8a91d1dff59
2223
github.com/google/go-cmp v0.7.0
2324
github.com/google/uuid v1.6.0
2425
github.com/invopop/jsonschema v0.13.0
@@ -49,7 +50,6 @@ require (
4950

5051
require (
5152
cloud.google.com/go/alloydb v1.16.1 // indirect
52-
cloud.google.com/go/auth v0.16.2 // indirect
5353
github.com/jackc/pgpassfile v1.0.0 // indirect
5454
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
5555
github.com/jackc/puddle/v2 v2.2.2 // indirect

go/go.sum

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,12 @@ github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6
195195
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
196196
github.com/google/dotprompt/go v0.0.0-20250611200215-bb73406b05ca h1:LuQ8KS5N04c37jyaq6jelLdNi0GfI6QJb8lpnYaDW9Y=
197197
github.com/google/dotprompt/go v0.0.0-20250611200215-bb73406b05ca/go.mod h1:dnIk+MSMnipm9uZyPIgptq7I39aDxyjBiaev/OG0W0Y=
198+
github.com/google/dotprompt/go v0.0.0-20250922193017-eeb62744224e h1:AK/O+vHflqzTehlcUBV6pkwZHCWIc8PrpA6xiiRo9d0=
199+
github.com/google/dotprompt/go v0.0.0-20250922193017-eeb62744224e/go.mod h1:k8cjJAQWc//ac/bMnzItyOFbfT01tgRTZGgxELCuxEQ=
200+
github.com/google/dotprompt/go v0.0.0-20250922225138-cb24085a67ed h1:xPu5zXopXdj48LXZqU6DosoL0oT7nbddgTMkjWoyHqQ=
201+
github.com/google/dotprompt/go v0.0.0-20250922225138-cb24085a67ed/go.mod h1:k8cjJAQWc//ac/bMnzItyOFbfT01tgRTZGgxELCuxEQ=
202+
github.com/google/dotprompt/go v0.0.0-20250923103342-a8a91d1dff59 h1:EywQhHXdzYlMKD7Gxl9Ho34c8dQ0meph6FuRN9iENEY=
203+
github.com/google/dotprompt/go v0.0.0-20250923103342-a8a91d1dff59/go.mod h1:k8cjJAQWc//ac/bMnzItyOFbfT01tgRTZGgxELCuxEQ=
198204
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
199205
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
200206
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=

0 commit comments

Comments
 (0)