• Resolve the (type, shortcode) key on create/update.

    (type, shortcode) is a unique key (per owning actor for embedded items; per world for world actors/items; per pack for pack contents). The desired code is desired if supplied, else the name slug; the collision/absence behavior is governed by ResolveShortcodeOptions.dedupe:

    shortcode name → slug dedupe result
    provided true collides → suffix; else accept
    provided false collides → reject; else accept
    blank non-empty true base = slug; collides → suffix
    blank non-empty false base = slug; collides → reject
    blank blank true random 16-char id
    blank blank false reject

    A Foundry duplicate (isDuplicate) suffixes an explicit collision even when dedupe is off. shortcode is never null/blank on a resolved document.

    Parameters

    • desired: string

      The requested shortcode (blank/whitespace ⇒ "not supplied").

    • fallbackName: string

      The document name a blank shortcode is derived from.

    • taken: ReadonlySet<string>

      Shortcodes already used by same-scope, same-type siblings, excluding self.

    • opts: ResolveShortcodeOptions

      Collision/absence behavior; see ResolveShortcodeOptions.

    Returns { shortcode: string } | { reject: true }

    { shortcode } with the code to use, or { reject: true } when the resolve fails (a collision or name-less create without dedupe).