diff --git a/backend/internal/pkg/antigravity/schema_cleaner.go b/backend/internal/pkg/antigravity/schema_cleaner.go index 1a06b2c8..0ee746aa 100644 --- a/backend/internal/pkg/antigravity/schema_cleaner.go +++ b/backend/internal/pkg/antigravity/schema_cleaner.go @@ -146,17 +146,10 @@ func cleanJSONSchemaRecursive(value any) any { for _, v := range schemaMap { if _, isMap := v.(map[string]any); isMap { cleanJSONSchemaRecursive(v) - } else if _, isArr := v.([]any); isArr { - // 数组内的对象也要递归 - } - } - // 稍微补全一下数组递归 - for k, v := range schemaMap { - if arr, ok := v.([]any); ok { + } else if arr, isArr := v.([]any); isArr { for _, item := range arr { cleanJSONSchemaRecursive(item) } - schemaMap[k] = arr } } } @@ -455,18 +448,18 @@ func mergeAllOf(m map[string]any) { } if len(mergedReq) > 0 { existReq, _ := m["required"].([]any) - var currentReqs []string + var validReqs []any for _, r := range existReq { if s, ok := r.(string); ok { - currentReqs = append(currentReqs, s) + validReqs = append(validReqs, s) delete(mergedReq, s) // already exists } } // append new for r := range mergedReq { - existReq = append(existReq, r) + validReqs = append(validReqs, r) } - m["required"] = existReq + m["required"] = validReqs } }