at.happyproto.registry.project

happyproto.at

Documentation

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 while this record exists and is valid.

main record

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 while this record exists and is valid.

Record Key any Any valid record key

Properties

authors array of ref #author Required

No description available.

maxLength: 20 itemsminLength: 1 items
keywords array of string Optional

No description available.

maxLength: 20 items
pluginType string Required

What the plugin is. Every release must be of this type.

Known values: auth, library, interpreter
project string at-uri Required

The software.release.project this describes: the one in the same repo, under the same record key.

publication ref com.atproto.repo.strongRef Required

The site.standard.publication that holds the plugin's display name, description and icon, in the same repo under the same record key. Pinned by CID, so a change to the publication takes effect only when this record is updated to point at it.

security array of ref #contact Required

Where to report a vulnerability. At least one is required, because a plugin runs inside an operator's HappyView.

maxLength: 20 itemsminLength: 1 items
View raw schema
{
  "description": "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 while this record exists and is valid.",
  "key": "any",
  "record": {
    "properties": {
      "authors": {
        "items": {
          "ref": "#author",
          "type": "ref"
        },
        "maxLength": 20,
        "minLength": 1,
        "type": "array"
      },
      "keywords": {
        "items": {
          "maxGraphemes": 32,
          "maxLength": 320,
          "type": "string"
        },
        "maxLength": 20,
        "type": "array"
      },
      "pluginType": {
        "description": "What the plugin is. Every release must be of this type.",
        "knownValues": [
          "auth",
          "library",
          "interpreter"
        ],
        "type": "string"
      },
      "project": {
        "description": "The software.release.project this describes: the one in the same repo, under the same record key.",
        "format": "at-uri",
        "type": "string"
      },
      "publication": {
        "description": "The site.standard.publication that holds the plugin's display name, description and icon, in the same repo under the same record key. Pinned by CID, so a change to the publication takes effect only when this record is updated to point at it.",
        "ref": "com.atproto.repo.strongRef",
        "type": "ref"
      },
      "security": {
        "description": "Where to report a vulnerability. At least one is required, because a plugin runs inside an operator's HappyView.",
        "items": {
          "ref": "#contact",
          "type": "ref"
        },
        "maxLength": 20,
        "minLength": 1,
        "type": "array"
      }
    },
    "required": [
      "project",
      "publication",
      "pluginType",
      "authors",
      "security"
    ],
    "type": "object"
  },
  "type": "record"
}
author object

No description available.

Properties

email string Optional

No description available.

maxLength: 320 bytes
name string Required

No description available.

maxLength: 1280 bytesmaxGraphemes: 128 graphemes
url string uri Optional

A valid URI.

maxLength: 2048 bytes
View raw schema
{
  "properties": {
    "email": {
      "maxLength": 320,
      "type": "string"
    },
    "name": {
      "maxGraphemes": 128,
      "maxLength": 1280,
      "type": "string"
    },
    "url": {
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}
contact object

A security contact. It must carry a url, an email, or both.

Properties

email string Optional

No description available.

maxLength: 320 bytes
url string uri Optional

A valid URI.

maxLength: 2048 bytes
View raw schema
{
  "description": "A security contact. It must carry a url, an email, or both.",
  "properties": {
    "email": {
      "maxLength": 320,
      "type": "string"
    },
    "url": {
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "type": "object"
}

Lexicon Garden

@