fix(openai): avoid duplicate manifest parsing

This commit is contained in:
Xiangzhe
2026-09-16 06:15:25 +00:00
parent 881f320269
commit 2f16e0984e
@@ -2461,25 +2461,18 @@ func mergeMissingCodexModelFields(current, defaults map[string]json.RawMessage)
}
func validateCodexModelsManifestEnvelope(body []byte) error {
var envelope map[string]json.RawMessage
var envelope *struct {
Models []json.RawMessage `json:"models"`
}
if err := json.Unmarshal(body, &envelope); err != nil {
return fmt.Errorf("decode JSON object: %w", err)
}
if envelope == nil {
return errors.New("expected a JSON object")
}
models, ok := envelope["models"]
if !ok {
if envelope.Models == nil {
return errors.New("missing top-level models array")
}
models = bytes.TrimSpace(models)
var entries []json.RawMessage
if len(models) == 0 || models[0] != '[' {
return errors.New("top-level models field is not an array")
}
if err := json.Unmarshal(models, &entries); err != nil {
return fmt.Errorf("decode top-level models array: %w", err)
}
return nil
}