codes.tcm.release

A release of a tcm package, announced by its author: the namespace hash a version is, and tcm servers it can be fetched from. Its key is <package>:<version> (with any other character as ~), so a version is one record.

Repository @tcm.codes did:plc:vh4czvu5aijkaqge5huayq53 namespace authority
Details · record, key any
Kindrecord
Record keyany
Authoritytcm.codes
Indexed
cid bafyreiexmsqccoxozegw77qvpllonfpuc7wnybhkefrh65wqfbge4ovjj4

Checks

Valid
  • large-string defs.main.record.properties.notesmaxLength is over 20 KB. Use a blob for content that large.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A release of a tcm package, announced by its author: the namespace hash a version is, and tcm servers it can be fetched from. Its key is <package>:<version> (with any other character as ~), so a version is one record.",
      "key": "any",
      "record": {
        "properties": {
          "createdAt": {
            "description": "When the release was made.",
            "format": "datetime",
            "type": "string"
          },
          "entry": {
            "description": "The hash of the history entry the release names.",
            "maxLength": 128,
            "minLength": 8,
            "type": "string"
          },
          "hashFormat": {
            "description": "The hash format the hashes are in (tcm's IR version).",
            "minimum": 1,
            "type": "integer"
          },
          "namespace": {
            "description": "The package's namespace hash, as released: what `tcm lib add` mounts.",
            "maxLength": 128,
            "minLength": 8,
            "type": "string"
          },
          "notes": {
            "description": "The release notes, as markdown.",
            "maxLength": 100000,
            "type": "string"
          },
          "package": {
            "description": "The package's name, as its manifest gives it: an npm package name.",
            "maxLength": 214,
            "minLength": 1,
            "type": "string"
          },
          "sources": {
            "description": "tcm servers to fetch it from, in order. What they send is re-hashed, so they need no trust.",
            "items": {
              "description": "A tcm server's URL (http or https), as `tcm serve` serves it.",
              "format": "uri",
              "maxLength": 2048,
              "type": "string"
            },
            "maxLength": 16,
            "type": "array"
          },
          "version": {
            "description": "The version: major.minor.patch, semver.",
            "maxLength": 64,
            "minLength": 5,
            "type": "string"
          }
        },
        "required": [
          "package",
          "version",
          "namespace",
          "entry",
          "hashFormat",
          "notes",
          "sources",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A release of a tcm package, announced on the AT Protocol by its author.",
  "id": "codes.tcm.release",
  "lexicon": 1
}