diff --git a/model/renderers/olmo3_test.go b/model/renderers/olmo3_test.go index bd1f717dc..31384d1fc 100644 --- a/model/renderers/olmo3_test.go +++ b/model/renderers/olmo3_test.go @@ -227,9 +227,9 @@ func TestOlmo3Renderer(t *testing.T) { ID: "call_1", Function: api.ToolCallFunction{ Name: "book_flight", - Arguments: testArgs(map[string]any{ - "from": "SFO", - "to": "NYC", + Arguments: testArgsOrdered([]orderedArg{ + {"from", "SFO"}, + {"to", "NYC"}, }), }, }, @@ -243,9 +243,9 @@ func TestOlmo3Renderer(t *testing.T) { Name: "book_flight", Parameters: api.ToolFunctionParameters{ Type: "object", - Properties: testPropsMap(map[string]api.ToolProperty{ - "from": {Type: api.PropertyType{"string"}}, - "to": {Type: api.PropertyType{"string"}}, + Properties: testPropsOrdered([]orderedProp{ + {"from", api.ToolProperty{Type: api.PropertyType{"string"}}}, + {"to", api.ToolProperty{Type: api.PropertyType{"string"}}}, }), }, }, diff --git a/model/renderers/testhelpers_test.go b/model/renderers/testhelpers_test.go index 6eac8eee4..8b628e1a9 100644 --- a/model/renderers/testhelpers_test.go +++ b/model/renderers/testhelpers_test.go @@ -34,3 +34,18 @@ func testArgsOrdered(pairs []orderedArg) api.ToolCallFunctionArguments { } return args } + +// orderedProp represents a key-value pair for ordered property creation +type orderedProp struct { + Key string + Value api.ToolProperty +} + +// testPropsOrdered creates a ToolPropertiesMap with a specific key order +func testPropsOrdered(pairs []orderedProp) *api.ToolPropertiesMap { + props := api.NewToolPropertiesMap() + for _, p := range pairs { + props.Set(p.Key, p.Value) + } + return props +}