@cfxlabsinc/b2b-services
    Preparing search index...

    One release asset. id is the handle every other call takes.

    interface GitHubReleaseAsset {
        id: number;
        name: string;
        size: number;
        state: "uploaded" | "open";
    }
    Index
    id: number

    GitHub allocates a fresh id on every upload, including a re-upload under an existing name. That makes the id an immutable content handle: anything derived from an asset's bytes (a hash, a parse) can be cached against it forever and never needs invalidating.

    name: string
    size: number
    state: "uploaded" | "open"

    open while an upload is still in flight; only uploaded has bytes.