{"record":{"id":"891b33ce3dbdb5b1","repo":"larksuite/cli","slug":"s-contains-duplicate-field-q","errorCode":null,"errorMessage":"%s contains duplicate field %q","messagePattern":"(.+?) contains duplicate field %q","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"shortcuts/common/typed_compile_data.go","lineNumber":307,"sourceCode":"\t\tif value.Items == nil {\n\t\t\treturn fmt.Errorf(\"%s.Items is required\", path)\n\t\t}\n\t\tif value.MinItems != nil && *value.MinItems < 0 || value.MaxItems != nil && *value.MaxItems < 0 {\n\t\t\treturn fmt.Errorf(\"%s item lengths must be nonnegative\", path)\n\t\t}\n\t\tif value.MinItems != nil && value.MaxItems != nil && *value.MinItems > *value.MaxItems {\n\t\t\treturn fmt.Errorf(\"%s minItems exceeds maxItems\", path)\n\t\t}\n\t\treturn validateShape(value.Items, path+\".Items\")\n\tcase typedObjectShape:\n\t\tseen := make(map[string]struct{})\n\t\tfor i := range value.Fields {\n\t\t\tfield := &value.Fields[i]\n\t\t\tif field.Name == \"\" {\n\t\t\t\treturn fmt.Errorf(\"%s.Fields[%d].Name is required\", path, i)\n\t\t\t}\n\t\t\tif _, duplicate := seen[field.Name]; duplicate {\n\t\t\t\treturn fmt.Errorf(\"%s contains duplicate field %q\", path, field.Name)\n\t\t\t}\n\t\t\tseen[field.Name] = struct{}{}\n\t\t\tif strings.TrimSpace(field.Description) == \"\" {\n\t\t\t\treturn fmt.Errorf(\"%s field %q Description is required\", path, field.Name)\n\t\t\t}\n\t\t\tif err := validateShape(field.Shape, path+\"/\"+field.Name); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif value.AdditionalPropertiesShape != nil && !value.AdditionalProperties {\n\t\t\treturn fmt.Errorf(\"%s AdditionalPropertiesShape requires AdditionalProperties\", path)\n\t\t}\n\t\tif value.AdditionalPropertiesShape != nil {\n\t\t\treturn validateShape(value.AdditionalPropertiesShape, path+\".AdditionalPropertiesShape\")\n\t\t}\n\tcase typedOneOfShape:\n\t\tif len(value.Variants) < 2 {\n\t\t\treturn fmt.Errorf(\"%s oneOf requires at least two variants\", path)","sourceCodeStart":289,"sourceCodeEnd":325,"githubUrl":"https://github.com/larksuite/cli/blob/7fd6ef3c07182257ce776cdc5a614e122d5bd4b3/shortcuts/common/typed_compile_data.go#L289-L325","documentation":"Shape validation guard: a typed object shape declares two fields with the same name, which would collide in the generated schema.","triggerScenarios":"Thrown at shortcuts/common/typed_compile_data.go:307 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove or rename the duplicate field"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7fd6ef3c07182257ce776cdc5a614e122d5bd4b3","analyzedAt":"2026-09-04T21:17:44.649Z","contentChangedAt":"2026-09-04T21:17:44.649Z","schemaVersion":2},"datasetVersion":"2026-09-12T02:17:10.037Z"}