larksuite/cli · error
%s oneOf requires at least two variants
Error message
%s oneOf requires at least two variants
What it means
Shape validation guard: a oneOf shape declares fewer than two variants; a oneOf must offer a choice between at least two shapes.
Source
Thrown at shortcuts/common/typed_compile_data.go:325
return fmt.Errorf("%s contains duplicate field %q", path, field.Name)
}
seen[field.Name] = struct{}{}
if strings.TrimSpace(field.Description) == "" {
return fmt.Errorf("%s field %q Description is required", path, field.Name)
}
if err := validateShape(field.Shape, path+"/"+field.Name); err != nil {
return err
}
}
if value.AdditionalPropertiesShape != nil && !value.AdditionalProperties {
return fmt.Errorf("%s AdditionalPropertiesShape requires AdditionalProperties", path)
}
if value.AdditionalPropertiesShape != nil {
return validateShape(value.AdditionalPropertiesShape, path+".AdditionalPropertiesShape")
}
case typedOneOfShape:
if len(value.Variants) < 2 {
return fmt.Errorf("%s oneOf requires at least two variants", path)
}
for i, variant := range value.Variants {
if err := validateShape(variant, fmt.Sprintf("%s.Variants[%d]", path, i)); err != nil {
return err
}
}
default:
return fmt.Errorf("%s uses unknown ValueShape %T", path, shape)
}
return nil
}
func applyDataOverride(root *typedObjectShape, override typedDataField) error {
encodedParts := strings.Split(strings.TrimPrefix(override.Path, "/"), "/")
if len(encodedParts) == 0 || encodedParts[0] == "" {
return fmt.Errorf("pointer must identify a field")
}
parts := make([]string, len(encodedParts))View on GitHub (pinned to 7fd6ef3c07)
Solutions
- Provide at least two variant shapes
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at shortcuts/common/typed_compile_data.go:325 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of larksuite/cli@7fd6ef3c07 (2026-09-04).
Data as JSON: /api/errors/0b4ff36ea0696776.
Report an issue: GitHub.