MIME pattern: either an exact MIME or a subtype wildcard like text/*.
OptionalfileOptional list of file extensions (no leading dot) that map to this type.
Stable identifier (UUID) — used as the final tiebreaker.
Display name — for logging only.
Higher wins within a specificity tier.
System-shipped defaults rank below organization customizations at equal priority.
Pure resolver for matching an upload's MIME type (and optional file extension) to a registered Artifact Type. Has no entity dependency — takes a list of plain matcher records, returns the chosen ID (or undefined when nothing matches).
Resolution algorithm (per plans/artifact-attachment-unification.md §6):
image/*).Octet-stream uploads also consider a file-extension hint when given.
Conflict detection: callers can pass the same list to
FindArtifactTypeConflictsto surface ambiguous registrations at engine boot, where two types share the same (ContentType, Priority, SystemSupplied) triple — almost always a configuration mistake.