Sanity Library Reference Docs
    Preparing search index...
    • Expand every @<alias>: reference in a definition to the physical GDR prefix its alias binds to, returning a definition that carries only physical references. Fails closed — naming the definition + alias — when a referenced alias isn't bound: the check that stops a portable definition from deploying against the wrong (or no) resource.

      Runs during deploy planning, BEFORE the content fingerprint, so a deployed definition never carries a logical alias. The stored references are physical, and a rebind (same source, a different alias map) surfaces as changed content — a new version, never a silent shift in what the workflow reads. A no-op when the definition references no aliases.

      Rewrites string VALUES only through a shared deep walk, skipping known prose fields. A reference that stands alone (the whole value is @<alias>:<id>, e.g. a literal doc.ref) must expand to a well-formed GDR — a malformed one (@content:a:b, an empty id) is rejected here rather than failing when an instance later reads it.

      Parameters

      Returns {
          abort?: AbortBlock;
          description?: string;
          fields?: FieldEntry[];
          groups?: Group[];
          initialStage: string;
          lifecycle?: WorkflowLifecycle;
          name: string;
          predicates?: Record<string, string>;
          roleAliases?: RoleAliases;
          semantics?: Semantic[];
          stages: Stage[];
          start?: StartBlock;
          title: string;
      }