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

  1. 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.