refactor(llmclient): make JSONSchema.Schema raw json for pinned field order

This commit is contained in:
pj committed 2026-07-13 07:23:21 +05:30
1 parent 08e588a79f
commit 0ead53757c
2 files changed
+8 -5

No files matched your search

+7 -4
View File
@@ -107,11 +107,14 @@ type ResponseFormat struct {
JSONSchema JSONSchema `json:"json_schema"`
}
// JSONSchema is the strict structured-output schema.
// JSONSchema is the strict structured-output schema. Schema is raw JSON so the
// caller controls property ORDER: OpenAI emits fields in schema order, and a
// reasoning-first schema must not be re-sorted alphabetically (as a Go map
// would be).
type JSONSchema struct {
Name string `json:"name"`
Strict bool `json:"strict"`
Schema map[string]any `json:"schema"`
Name string `json:"name"`
Strict bool `json:"strict"`
Schema json.RawMessage `json:"schema"`
}
// Response is the slice of a chat-completions response we read.
+1 -1
View File
@@ -49,7 +49,7 @@ func TestChatCompletionRequestShapeAndParse(t *testing.T) {
JSONSchema: JSONSchema{
Name: "ranked_actions",
Strict: true,
Schema: map[string]any{"type": "object"},
Schema: json.RawMessage(`{"type":"object"}`),
},
},
})