technology.agave.blockVersion

catalogue.agave.technology

Documentation

One published version of an agave block or connector. A version never changes: the next version is a new record, and deleting this one withdraws it.

main record

One published version of an agave block or connector. A version never changes: the next version is a new record, and deleting this one withdraws it.

Record Key tid Timestamp-based ID

Properties

archive blob Required

The directory as `git archive --format=tar <tree>` writes it: paths relative to the directory, regular files and directories only.

maxSize: 2.1 MB
createdAt string datetime Required

An RFC 3339 formatted timestamp.

kind string Required

A block carries block.json and block.nix, a connector connector.json and SKILL.md. A slug keeps its kind.

Known values: block, connector
manifest string Required

The text of the archive's block.json or connector.json, byte for byte.

maxLength: 65536 bytes
slug string Required

The directory's name in the publisher's fleet: a lowercase letter, then up to 39 lowercase letters, digits and dashes. Equals the manifest's name.

maxLength: 40 bytesminLength: 1 bytes
tree string Required

The directory's git tree id in lowercase hex: 40 digits for SHA-1, 64 for SHA-256. The archive's files hash to it.

maxLength: 64 bytesminLength: 40 bytes
version integer Required

Equals the manifest's version. Every version of a slug is newer than the ones before it, withdrawn ones included.

minimum: 1
View raw schema
{
  "description": "One published version of an agave block or connector. A version never changes: the next version is a new record, and deleting this one withdraws it.",
  "key": "tid",
  "record": {
    "properties": {
      "archive": {
        "accept": [
          "application/x-tar"
        ],
        "description": "The directory as `git archive --format=tar <tree>` writes it: paths relative to the directory, regular files and directories only.",
        "maxSize": 2097152,
        "type": "blob"
      },
      "createdAt": {
        "format": "datetime",
        "type": "string"
      },
      "kind": {
        "description": "A block carries block.json and block.nix, a connector connector.json and SKILL.md. A slug keeps its kind.",
        "knownValues": [
          "block",
          "connector"
        ],
        "type": "string"
      },
      "manifest": {
        "description": "The text of the archive's block.json or connector.json, byte for byte.",
        "maxLength": 65536,
        "type": "string"
      },
      "slug": {
        "description": "The directory's name in the publisher's fleet: a lowercase letter, then up to 39 lowercase letters, digits and dashes. Equals the manifest's name.",
        "maxLength": 40,
        "minLength": 1,
        "type": "string"
      },
      "tree": {
        "description": "The directory's git tree id in lowercase hex: 40 digits for SHA-1, 64 for SHA-256. The archive's files hash to it.",
        "maxLength": 64,
        "minLength": 40,
        "type": "string"
      },
      "version": {
        "description": "Equals the manifest's version. Every version of a slug is newer than the ones before it, withdrawn ones included.",
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "slug",
      "version",
      "kind",
      "archive",
      "tree",
      "manifest",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}

Lexicon Garden

@