com.emdashcms.experimental.aggregator.defs

emdashcms.com

Documentation

packageView object

An aggregator's view of a package, hydrating a profile record with denormalised metadata and any labels applied by trusted labellers the aggregator hydrates.

Properties

cid string cid Required

CID of the profile record content the aggregator indexed. Lets clients confirm they're working with the same bytes the aggregator did.

did string did Required

Publisher DID. Denormalised convenience; equivalent to the DID portion of `uri`.

handle string handle Optional

Publisher's current handle, if known. Best-effort: handles are mutable and may be stale at the moment of read.

historicalReleaseCount integer Optional

Number of package release versions retained in the aggregator's history, including releases the publisher later deleted.

minimum: 0
indexedAt string datetime Required

When the aggregator first indexed this package.

labels array of refcom.atproto.label.defs#label Optional

Hydrated trusted label state attached by the aggregator's configured policy.

maxLength: 64 items
latestVersion string Optional

Convenience: the highest semver version among non-tombstoned, non-yanked releases the aggregator has indexed for this package. Clients SHOULD verify this against their own selection from listReleases when the difference matters.

maxLength: 64 bytes
profile unknown Required

The signed profile record verbatim, passed through from the publisher's repo (carrying its $type, all required fields, etc.).

releaseHistoryComplete boolean Optional

Whether the aggregator continuously observed this package from its first live profile creation. When false or absent, clients must not infer that historicalReleaseCount represents the package's complete registry history.

slug string Required

Package slug (the rkey of the profile record). Denormalised convenience.

maxLength: 64 bytesminLength: 1 bytes
uri string at-uri Required

AT URI of the profile record the aggregator indexed. Pins exactly which record version this view describes.

View raw schema
{
  "description": "An aggregator's view of a package, hydrating a profile record with denormalised metadata and any labels applied by trusted labellers the aggregator hydrates.",
  "properties": {
    "cid": {
      "description": "CID of the profile record content the aggregator indexed. Lets clients confirm they're working with the same bytes the aggregator did.",
      "format": "cid",
      "type": "string"
    },
    "did": {
      "description": "Publisher DID. Denormalised convenience; equivalent to the DID portion of `uri`.",
      "format": "did",
      "type": "string"
    },
    "handle": {
      "description": "Publisher's current handle, if known. Best-effort: handles are mutable and may be stale at the moment of read.",
      "format": "handle",
      "type": "string"
    },
    "historicalReleaseCount": {
      "description": "Number of package release versions retained in the aggregator's history, including releases the publisher later deleted.",
      "minimum": 0,
      "type": "integer"
    },
    "indexedAt": {
      "description": "When the aggregator first indexed this package.",
      "format": "datetime",
      "type": "string"
    },
    "labels": {
      "description": "Hydrated trusted label state attached by the aggregator's configured policy.",
      "items": {
        "ref": "com.atproto.label.defs#label",
        "type": "ref"
      },
      "maxLength": 64,
      "type": "array"
    },
    "latestVersion": {
      "description": "Convenience: the highest semver version among non-tombstoned, non-yanked releases the aggregator has indexed for this package. Clients SHOULD verify this against their own selection from listReleases when the difference matters.",
      "maxLength": 64,
      "type": "string"
    },
    "profile": {
      "description": "The signed profile record verbatim, passed through from the publisher's repo (carrying its $type, all required fields, etc.).",
      "type": "unknown"
    },
    "releaseHistoryComplete": {
      "description": "Whether the aggregator continuously observed this package from its first live profile creation. When false or absent, clients must not infer that historicalReleaseCount represents the package's complete registry history.",
      "type": "boolean"
    },
    "slug": {
      "description": "Package slug (the rkey of the profile record). Denormalised convenience.",
      "maxLength": 64,
      "minLength": 1,
      "type": "string"
    },
    "uri": {
      "description": "AT URI of the profile record the aggregator indexed. Pins exactly which record version this view describes.",
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri",
    "cid",
    "did",
    "slug",
    "profile",
    "indexedAt"
  ],
  "type": "object"
}
recordScopedBlobCache object

A cache that admits a blob only when an exact repository record revision references its CID. Raw URLs use /r/{did}/{collection}/{rkey}/{recordCid}/{blobCid}; image representations use /img/{preset}/r/{did}/{collection}/{rkey}/{recordCid}/{blobCid}.

Properties

serviceEndpoint string uri Required

HTTPS origin of the record-scoped blob cache.

maxLength: 2048 bytes
View raw schema
{
  "description": "A cache that admits a blob only when an exact repository record revision references its CID. Raw URLs use /r/{did}/{collection}/{rkey}/{recordCid}/{blobCid}; image representations use /img/{preset}/r/{did}/{collection}/{rkey}/{recordCid}/{blobCid}.",
  "properties": {
    "serviceEndpoint": {
      "description": "HTTPS origin of the record-scoped blob cache.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "required": [
    "serviceEndpoint"
  ],
  "type": "object"
}
releaseView object

An aggregator's view of a release: the signed record verbatim, record-scoped blob cache services, and any hydrated labels.

Properties

artifactCaches array of union Optional

Blob cache services the aggregator advertises for this release. Clients ignore unrecognised service variants and derive artifact URLs only for public blob refs.

maxLength: 4 items
Known types:
cid string cid Required

CID of the release record content the aggregator indexed.

did string did Required

Publisher DID. Denormalised convenience; equivalent to the DID portion of `uri`.

indexedAt string datetime Required

When the aggregator first indexed this release.

labels array of refcom.atproto.label.defs#label Optional

Hydrated trusted label state attached by the aggregator's configured policy.

maxLength: 64 items
package string Required

Parent package slug. Denormalised convenience.

maxLength: 64 bytesminLength: 1 bytes
release unknown Required

The signed release record verbatim from the publisher's repo (carrying its $type and all fields).

uri string at-uri Required

AT URI of the release record the aggregator indexed. Pins exactly which record version this view describes.

version string Required

Release version, matching the post-':' portion of the rkey.

maxLength: 64 bytesminLength: 1 bytes
View raw schema
{
  "description": "An aggregator's view of a release: the signed record verbatim, record-scoped blob cache services, and any hydrated labels.",
  "properties": {
    "artifactCaches": {
      "description": "Blob cache services the aggregator advertises for this release. Clients ignore unrecognised service variants and derive artifact URLs only for public blob refs.",
      "items": {
        "closed": false,
        "refs": [
          "#recordScopedBlobCache"
        ],
        "type": "union"
      },
      "maxLength": 4,
      "type": "array"
    },
    "cid": {
      "description": "CID of the release record content the aggregator indexed.",
      "format": "cid",
      "type": "string"
    },
    "did": {
      "description": "Publisher DID. Denormalised convenience; equivalent to the DID portion of `uri`.",
      "format": "did",
      "type": "string"
    },
    "indexedAt": {
      "description": "When the aggregator first indexed this release.",
      "format": "datetime",
      "type": "string"
    },
    "labels": {
      "description": "Hydrated trusted label state attached by the aggregator's configured policy.",
      "items": {
        "ref": "com.atproto.label.defs#label",
        "type": "ref"
      },
      "maxLength": 64,
      "type": "array"
    },
    "package": {
      "description": "Parent package slug. Denormalised convenience.",
      "maxLength": 64,
      "minLength": 1,
      "type": "string"
    },
    "release": {
      "description": "The signed release record verbatim from the publisher's repo (carrying its $type and all fields).",
      "type": "unknown"
    },
    "uri": {
      "description": "AT URI of the release record the aggregator indexed. Pins exactly which record version this view describes.",
      "format": "at-uri",
      "type": "string"
    },
    "version": {
      "description": "Release version, matching the post-':' portion of the rkey.",
      "maxLength": 64,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "uri",
    "cid",
    "did",
    "package",
    "version",
    "release",
    "indexedAt"
  ],
  "type": "object"
}

Lexicon Garden

@