at.happyproto.registry.defs

happyproto.at

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "packageView": {
      "description": "An indexed package. `record` is the publisher's profile verbatim; `status` and `latestVersion` are the registry's.",
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "handle": {
          "description": "The publisher's handle, when the registry can resolve one. Absent otherwise; a client should not treat its absence as the package being unowned.",
          "format": "handle",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "latestVersion": {
          "description": "The highest `active` version, by semver precedence, where a prerelease ranks below the same core version. Absent when no version is active yet.",
          "type": "string"
        },
        "record": {
          "description": "The at.happyproto.plugin.profile record as published.",
          "type": "unknown"
        },
        "status": {
          "description": "`deleted` means the publisher withdrew the profile. The package stays readable and its releases stay resolvable by exact version; it is left out of search.",
          "knownValues": [
            "active",
            "deleted",
            "unknown"
          ],
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "did",
        "record",
        "status"
      ],
      "type": "object"
    },
    "releaseView": {
      "description": "An indexed release. `record` is the publisher's release verbatim; `status` is the registry's.",
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "record": {
          "description": "The at.happyproto.plugin.release record as published.",
          "type": "unknown"
        },
        "status": {
          "description": "`active` means the registry holds the artifact bytes and will serve them. `pending` means it has indexed the release but not yet copied them, so getArtifact will not answer. `deleted` means the publisher withdrew it: left out of search, out of `latestVersion` and out of dependency resolution, but still served by exact version.",
          "knownValues": [
            "active",
            "pending",
            "deleted",
            "unknown"
          ],
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "record",
        "status"
      ],
      "type": "object"
    }
  },
  "id": "at.happyproto.registry.defs",
  "lexicon": 1
}

Validate Record

Validate a record against at.happyproto.registry.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:mo7vq4jbioxwafy5zkcc3eux
CID
bafyreib52daefuj7dluq6hk34xbenug3qxfadm7xa47zymshiryv2pgvte
Indexed At
2026-10-19 18:20 UTC
AT-URI
at://did:plc:mo7vq4jbioxwafy5zkcc3eux/com.atproto.lexicon.schema/at.happyproto.registry.defs

Version History (2 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • One version of a package. The record key is '<slug>:<version>'. A release at a given version is never modified: a registry that later sees a different CID at this key keeps the first and flags the conflict.

  • The HappyView facts about a software.release.project that make it a plugin. The record key is the project's name, and the record lives in the same repo as the project. The registry indexes a project's releases only whil…

  • com.emdashcms.experimental.aggregator.defs not from the namespace authority

    Shared definitions for the EmDash plugin registry aggregator XRPC endpoints. EXPERIMENTAL: shape may change before stabilisation.

  • A plugin's versions, most recently indexed first, whatever their lifecycle state.

Lexicon Garden

@