at.happyproto.registry.defs

happyproto.at

Documentation

bannerView object

No description available.

Properties

alt string Optional

No description available.

cid string cid Required

The CID of the image, which getArtifact serves once the registry has copied it.

height integer Required

No description available.

minimum: 1
width integer Required

No description available.

minimum: 1
View raw schema
{
  "properties": {
    "alt": {
      "type": "string"
    },
    "cid": {
      "description": "The CID of the image, which getArtifact serves once the registry has copied it.",
      "format": "cid",
      "type": "string"
    },
    "height": {
      "minimum": 1,
      "type": "integer"
    },
    "width": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "cid",
    "width",
    "height"
  ],
  "type": "object"
}
changelogView object

The version's changelog, from the registry's copy of its site.standard.document.

Properties

fetchedAt string datetime Required

An RFC 3339 formatted timestamp.

markdown string Required

CommonMark written by the publisher. Render it as untrusted input, with raw HTML stripped.

title string Required

No description available.

uri string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

View raw schema
{
  "description": "The version's changelog, from the registry's copy of its site.standard.document.",
  "properties": {
    "fetchedAt": {
      "format": "datetime",
      "type": "string"
    },
    "markdown": {
      "description": "CommonMark written by the publisher. Render it as untrusted input, with raw HTML stripped.",
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "uri": {
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri",
    "title",
    "markdown",
    "fetchedAt"
  ],
  "type": "object"
}
channelRef object

The version a channel points at.

Properties

availability string Required

No description available.

Known values: pending, available, deletedAtSource
cid string cid Required

A content identifier (CID) referencing immutable data.

state string Required

The version's lifecycle state.

Known values: active, deprecated, unavailable, retired
uri string at-uri Required

The software.release.version record.

version string Required

No description available.

maxLength: 64 bytes
View raw schema
{
  "description": "The version a channel points at.",
  "properties": {
    "availability": {
      "knownValues": [
        "pending",
        "available",
        "deletedAtSource"
      ],
      "type": "string"
    },
    "cid": {
      "format": "cid",
      "type": "string"
    },
    "state": {
      "description": "The version's lifecycle state.",
      "knownValues": [
        "active",
        "deprecated",
        "unavailable",
        "retired"
      ],
      "type": "string"
    },
    "uri": {
      "description": "The software.release.version record.",
      "format": "at-uri",
      "type": "string"
    },
    "version": {
      "maxLength": 64,
      "type": "string"
    }
  },
  "required": [
    "version",
    "uri",
    "cid",
    "state",
    "availability"
  ],
  "type": "object"
}
lifecycle object

A lifecycle state derived from the publisher's software.release.status records. The last status that has not been withdrawn decides it: none means `active`; `endOfDevelopment`, `endOfSupport` or `supersededBy` mean `deprecated`; `endOfDistribution` means `unavailable`; `endOfLife` means `retired`.

Properties

events array of ref#lifecycleEvent Optional

Every status about the subject, oldest first, including withdrawn ones.

installable boolean Optional

True when the state is `active` or `deprecated`.

kind string Optional

The deciding status's kind, such as `security`.

reason string Optional

The deciding status's reason.

state string Required

No description available.

Known values: active, deprecated, unavailable, retired
supersededBy string Optional

The version to use instead, when the deciding status is `supersededBy`.

View raw schema
{
  "description": "A lifecycle state derived from the publisher's software.release.status records. The last status that has not been withdrawn decides it: none means `active`; `endOfDevelopment`, `endOfSupport` or `supersededBy` mean `deprecated`; `endOfDistribution` means `unavailable`; `endOfLife` means `retired`.",
  "properties": {
    "events": {
      "description": "Every status about the subject, oldest first, including withdrawn ones.",
      "items": {
        "ref": "#lifecycleEvent",
        "type": "ref"
      },
      "type": "array"
    },
    "installable": {
      "description": "True when the state is `active` or `deprecated`.",
      "type": "boolean"
    },
    "kind": {
      "description": "The deciding status's kind, such as `security`.",
      "type": "string"
    },
    "reason": {
      "description": "The deciding status's reason.",
      "type": "string"
    },
    "state": {
      "knownValues": [
        "active",
        "deprecated",
        "unavailable",
        "retired"
      ],
      "type": "string"
    },
    "supersededBy": {
      "description": "The version to use instead, when the deciding status is `supersededBy`.",
      "type": "string"
    }
  },
  "required": [
    "state"
  ],
  "type": "object"
}
lifecycleEvent object

One software.release.status record.

Properties

kind string Optional

No description available.

reason string Optional

No description available.

status string Required

The event type, such as `endOfSupport`.

supersededBy string Optional

No description available.

uri string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

withdrawnBy string at-uri Optional

The status that withdrew this one. A withdrawn status no longer counts toward the state.

View raw schema
{
  "description": "One software.release.status record.",
  "properties": {
    "kind": {
      "type": "string"
    },
    "reason": {
      "type": "string"
    },
    "status": {
      "description": "The event type, such as `endOfSupport`.",
      "type": "string"
    },
    "supersededBy": {
      "type": "string"
    },
    "uri": {
      "format": "at-uri",
      "type": "string"
    },
    "withdrawnBy": {
      "description": "The status that withdrew this one. A withdrawn status no longer counts toward the state.",
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri",
    "status"
  ],
  "type": "object"
}
projectView object

An indexed plugin: its software.release.project with the registry's view of everything around it.

Properties

banner ref #bannerView Optional

The banner of the version the `latest` channel points at, when it has one.

channels unknown Required

A map from channel name, such as `latest`, to the #channelRef it points at. Empty when no channel is indexed.

cid string cid Optional

A content identifier (CID) referencing immutable data.

did string did Required

A decentralized identifier (DID).

handle string handle Optional

The publisher's handle, when the registry can resolve one. Its absence says nothing about who owns the project.

indexedAt string datetime Required

An RFC 3339 formatted timestamp.

keywords array of string Required

No description available.

lifecycle ref #lifecycle Required

The project's own lifecycle. Only `state` is set.

name string Required

The project's name, which is its record key.

maxLength: 64 bytes
pluginType string Required

No description available.

Known values: auth, library, interpreter
sidecar ref #sidecarRef Required

No description available.

uri string at-uri Required

The software.release.project record.

View raw schema
{
  "description": "An indexed plugin: its software.release.project with the registry's view of everything around it.",
  "properties": {
    "authors": {
      "items": {
        "ref": "at.happyproto.registry.project#author",
        "type": "ref"
      },
      "type": "array"
    },
    "banner": {
      "description": "The banner of the version the `latest` channel points at, when it has one.",
      "ref": "#bannerView",
      "type": "ref"
    },
    "channels": {
      "description": "A map from channel name, such as `latest`, to the #channelRef it points at. Empty when no channel is indexed.",
      "type": "unknown"
    },
    "cid": {
      "format": "cid",
      "type": "string"
    },
    "did": {
      "format": "did",
      "type": "string"
    },
    "handle": {
      "description": "The publisher's handle, when the registry can resolve one. Its absence says nothing about who owns the project.",
      "format": "handle",
      "type": "string"
    },
    "indexedAt": {
      "format": "datetime",
      "type": "string"
    },
    "keywords": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "lifecycle": {
      "description": "The project's own lifecycle. Only `state` is set.",
      "ref": "#lifecycle",
      "type": "ref"
    },
    "name": {
      "description": "The project's name, which is its record key.",
      "maxLength": 64,
      "type": "string"
    },
    "pluginType": {
      "knownValues": [
        "auth",
        "library",
        "interpreter"
      ],
      "type": "string"
    },
    "publication": {
      "ref": "#publicationView",
      "type": "ref"
    },
    "security": {
      "items": {
        "ref": "at.happyproto.registry.project#contact",
        "type": "ref"
      },
      "type": "array"
    },
    "sidecar": {
      "ref": "#sidecarRef",
      "type": "ref"
    },
    "uri": {
      "description": "The software.release.project record.",
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri",
    "did",
    "name",
    "sidecar",
    "publication",
    "pluginType",
    "keywords",
    "authors",
    "security",
    "channels",
    "lifecycle",
    "indexedAt"
  ],
  "type": "object"
}
publicationView object

The project's site.standard.publication, at the CID its at.happyproto.registry.project record pins.

Properties

cid string cid Required

A content identifier (CID) referencing immutable data.

description string Optional

No description available.

icon string cid Optional

The CID of the icon, which getArtifact serves once the registry has copied it.

name string Required

The plugin's display name.

uri string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

url string uri Required

A valid URI.

View raw schema
{
  "description": "The project's site.standard.publication, at the CID its at.happyproto.registry.project record pins.",
  "properties": {
    "cid": {
      "format": "cid",
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "icon": {
      "description": "The CID of the icon, which getArtifact serves once the registry has copied it.",
      "format": "cid",
      "type": "string"
    },
    "name": {
      "description": "The plugin's display name.",
      "type": "string"
    },
    "uri": {
      "format": "at-uri",
      "type": "string"
    },
    "url": {
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "uri",
    "cid",
    "name",
    "url"
  ],
  "type": "object"
}
ref object

A record, by at-uri and the CID of the version meant.

Properties

cid string cid Required

A content identifier (CID) referencing immutable data.

uri string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

View raw schema
{
  "description": "A record, by at-uri and the CID of the version meant.",
  "properties": {
    "cid": {
      "format": "cid",
      "type": "string"
    },
    "uri": {
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri",
    "cid"
  ],
  "type": "object"
}
sidecarRef object

The project's at.happyproto.registry.project record.

Properties

cid string cid Optional

A content identifier (CID) referencing immutable data.

uri string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

View raw schema
{
  "description": "The project's at.happyproto.registry.project record.",
  "properties": {
    "cid": {
      "format": "cid",
      "type": "string"
    },
    "uri": {
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "uri"
  ],
  "type": "object"
}
versionView object

An indexed version of a plugin, with the artifact its manifest carries.

Properties

availability string Required

`available` means the registry holds the package and manifest bytes and serves them from getArtifact. `pending` means it has not copied them yet. `deletedAtSource` means the publisher deleted the version; the registry keeps serving what it already holds.

Known values: pending, available, deletedAtSource
cid string cid Required

A content identifier (CID) referencing immutable data.

did string did Required

A decentralized identifier (DID).

indexedAt string datetime Required

An RFC 3339 formatted timestamp.

lifecycle ref #lifecycle Required

The version's lifecycle, combined with the project's: the worse state of the two applies. `installable` and `events` are always set.

manifest ref #ref Required

The software.release.manifest the version points at.

name string Required

No description available.

maxLength: 64 bytes
suspect boolean Required

True when the publisher changed the version or its manifest after publishing it. Versions are immutable, so the registry keeps the first record it saw and flags this one.

uri string at-uri Required

The software.release.version record.

version string Required

No description available.

maxLength: 64 bytes
View raw schema
{
  "description": "An indexed version of a plugin, with the artifact its manifest carries.",
  "properties": {
    "artifact": {
      "description": "The plugin artifact from the manifest, as published.",
      "ref": "at.happyproto.plugin.v1",
      "type": "ref"
    },
    "availability": {
      "description": "`available` means the registry holds the package and manifest bytes and serves them from getArtifact. `pending` means it has not copied them yet. `deletedAtSource` means the publisher deleted the version; the registry keeps serving what it already holds.",
      "knownValues": [
        "pending",
        "available",
        "deletedAtSource"
      ],
      "type": "string"
    },
    "changelog": {
      "ref": "#changelogView",
      "type": "ref"
    },
    "cid": {
      "format": "cid",
      "type": "string"
    },
    "did": {
      "format": "did",
      "type": "string"
    },
    "indexedAt": {
      "format": "datetime",
      "type": "string"
    },
    "lifecycle": {
      "description": "The version's lifecycle, combined with the project's: the worse state of the two applies. `installable` and `events` are always set.",
      "ref": "#lifecycle",
      "type": "ref"
    },
    "manifest": {
      "description": "The software.release.manifest the version points at.",
      "ref": "#ref",
      "type": "ref"
    },
    "name": {
      "maxLength": 64,
      "type": "string"
    },
    "suspect": {
      "description": "True when the publisher changed the version or its manifest after publishing it. Versions are immutable, so the registry keeps the first record it saw and flags this one.",
      "type": "boolean"
    },
    "uri": {
      "description": "The software.release.version record.",
      "format": "at-uri",
      "type": "string"
    },
    "version": {
      "maxLength": 64,
      "type": "string"
    }
  },
  "required": [
    "uri",
    "cid",
    "did",
    "name",
    "version",
    "manifest",
    "artifact",
    "availability",
    "suspect",
    "lifecycle",
    "indexedAt"
  ],
  "type": "object"
}

Lexicon Garden

@