at.happyproto.plugin.profile
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"author": {
"properties": {
"email": {
"maxLength": 320,
"type": "string"
},
"name": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"url": {
"format": "uri",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"contact": {
"description": "A security contact. Either field satisfies it, but an entry with neither says nothing blorp.",
"properties": {
"email": {
"maxLength": 320,
"type": "string"
},
"url": {
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"main": {
"description": "A HappyView plugin package, in its publisher's repo. The record key is the package slug, so the slug is immutable: changing it means a different package.",
"key": "any",
"record": {
"properties": {
"authors": {
"items": {
"ref": "#author",
"type": "ref"
},
"minLength": 1,
"type": "array"
},
"description": {
"description": "One line, 140 graphemes or fewer recommended.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"keywords": {
"description": "Five or fewer recommended.",
"items": {
"maxGraphemes": 32,
"maxLength": 320,
"type": "string"
},
"maxLength": 20,
"type": "array"
},
"lastUpdated": {
"format": "datetime",
"type": "string"
},
"license": {
"description": "An SPDX expression, or the literal 'proprietary'.",
"maxLength": 256,
"type": "string"
},
"name": {
"description": "Display name. The slug is used when absent.",
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"sections": {
"ref": "#sections",
"type": "ref"
},
"security": {
"description": "Where to report a vulnerability. At least one, because a plugin runs as native code in an operator's process.",
"items": {
"ref": "#contact",
"type": "ref"
},
"minLength": 1,
"type": "array"
},
"type": {
"const": "happyview-plugin",
"description": "Names the ecosystem. A client that does not understand the value refuses the package rather than guessing.",
"type": "string"
}
},
"required": [
"type",
"license",
"authors",
"security"
],
"type": "object"
},
"type": "record"
},
"sections": {
"description": "Long-form CommonMark, rendered as untrusted input with raw HTML stripped.",
"properties": {
"changelog": {
"maxGraphemes": 2000,
"maxLength": 20000,
"type": "string"
},
"description": {
"maxGraphemes": 2000,
"maxLength": 20000,
"type": "string"
},
"installation": {
"maxGraphemes": 2000,
"maxLength": 20000,
"type": "string"
},
"security": {
"maxGraphemes": 2000,
"maxLength": 20000,
"type": "string"
}
},
"type": "object"
}
},
"id": "at.happyproto.plugin.profile",
"lexicon": 1
}
Metadata
- DID
-
did:plc:mo7vq4jbioxwafy5zkcc3eux - CID
-
bafyreicgjtqmf7z3tf5s4gy25iwabjiogwyqflcjgfm2vt5ak4gzc3dfmi - Indexed At
- 2026-10-19 18:31 UTC
- AT-URI
-
at://did:plc:mo7vq4jbioxwafy5zkcc3eux/com.atproto.lexicon.schema/at.happyproto.plugin.profile
Version History (3 versions)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Plugin package profile record. EXPERIMENTAL: this NSID is part of the experimental phase of the EmDash plugin registry. The stable namespace target is com.emdashcms.package.profile.
-
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 whil…
-
at.happyproto.plugin.v1 object
A HappyView plugin, as one entry in a software.release.manifest's `artifacts`. It carries the module and its manifest.json as blobs, so they are verified by their CIDs, and the manifest's facts in the signed record, so …
-
Identity-level metadata for a plugin publisher. One record per publisher DID, located at rkey `self`. Optional: a DID may publish packages without ever publishing a publisher.profile, in which case clients fall back to …
-
at.happyproto.plugin.release record
One version of a package. The record key is '<slug>:<version>'. A release at a given version is never modified: a registry that later sees a different CID at this key keeps the first and flags the conflict.