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

      • definition: {
            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;
        }
      • resourceAliases: ResourceAliases | undefined

      Returns {
          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;
      }