com.pipobscure.bundle.listing

pipobscure.com

Documentation

A bundle the repository's owner makes available under a name: the record key, which is also what it installs as. It is an app, or a plugin for one, as its subject says. The record says only where the bundle is fetched from — a url, or a domain whose 'nzip:' TXT record names one, exactly one of the two. It vouches for nothing, and whatever is fetched is verified like any other download.

main record

A bundle the repository's owner makes available under a name: the record key, which is also what it installs as. It is an app, or a plugin for one, as its subject says. The record says only where the bundle is fetched from — a url, or a domain whose 'nzip:' TXT record names one, exactly one of the two. It vouches for nothing, and whatever is fetched is verified like any other download.

Record Key any Any valid record key

Properties

createdAt string datetime Required

When the bundle was first listed, by the publisher's clock.

description string Optional

What the bundle is, in a sentence or two.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
domain string Optional

A domain whose 'nzip:<url>' TXT record says where the bundle is fetched from, so the publisher manages the URL in DNS: lowercase, no trailing dot. Exactly one of url and domain.

maxLength: 253 bytes
subject string uri Required

For an app: 'sha256:aa2e2af5c7e057ae771b9c28543044546b9107216418fbb511d1353fd55c1169', the sha256 of this lexicon's NSID, the same in every app's listing, so that a backlink index can enumerate every app listed on the network. For a plugin: the at:// address of the listing of the app it is for, so that the backlink index finds an app's plugins, and never lists them among apps.

maxLength: 2048 bytes
title string Optional

A display name; the record key stands in when it is absent.

maxLength: 640 bytesmaxGraphemes: 64 graphemes
url string uri Optional

Where the bundle is fetched from: an https URL, expected to stay the same across releases. Exactly one of url and domain.

maxLength: 2048 bytes
View raw schema
{
  "description": "A bundle the repository's owner makes available under a name: the record key, which is also what it installs as. It is an app, or a plugin for one, as its subject says. The record says only where the bundle is fetched from — a url, or a domain whose 'nzip:' TXT record names one, exactly one of the two. It vouches for nothing, and whatever is fetched is verified like any other download.",
  "key": "any",
  "record": {
    "properties": {
      "createdAt": {
        "description": "When the bundle was first listed, by the publisher's clock.",
        "format": "datetime",
        "type": "string"
      },
      "description": {
        "description": "What the bundle is, in a sentence or two.",
        "maxGraphemes": 300,
        "maxLength": 3000,
        "type": "string"
      },
      "domain": {
        "description": "A domain whose 'nzip:<url>' TXT record says where the bundle is fetched from, so the publisher manages the URL in DNS: lowercase, no trailing dot. Exactly one of url and domain.",
        "maxLength": 253,
        "type": "string"
      },
      "subject": {
        "description": "For an app: 'sha256:aa2e2af5c7e057ae771b9c28543044546b9107216418fbb511d1353fd55c1169', the sha256 of this lexicon's NSID, the same in every app's listing, so that a backlink index can enumerate every app listed on the network. For a plugin: the at:// address of the listing of the app it is for, so that the backlink index finds an app's plugins, and never lists them among apps.",
        "format": "uri",
        "maxLength": 2048,
        "type": "string"
      },
      "title": {
        "description": "A display name; the record key stands in when it is absent.",
        "maxGraphemes": 64,
        "maxLength": 640,
        "type": "string"
      },
      "url": {
        "description": "Where the bundle is fetched from: an https URL, expected to stay the same across releases. Exactly one of url and domain.",
        "format": "uri",
        "maxLength": 2048,
        "type": "string"
      }
    },
    "required": [
      "subject",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}

Lexicon Garden

@