{
"id": "org.v-it.cap",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"text",
"createdAt",
"title",
"description",
"ref"
],
"properties": {
"ref": {
"type": "string",
"maxLength": 128,
"description": "Three lowercase words separated by dashes, e.g. fast-cache-invalidation",
"maxGraphemes": 64
},
"kind": {
"type": "string",
"maxLength": 64,
"description": "Category of the capability.",
"knownValues": [
"feat",
"fix",
"test",
"docs",
"refactor",
"chore",
"perf",
"style"
],
"maxGraphemes": 32
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
},
"maxLength": 8,
"description": "Additional hashtags, in addition to any included in cap text and facets."
},
"text": {
"type": "string",
"maxLength": 3000,
"description": "The primary cap content. May be an empty string, if there are embeds.",
"maxGraphemes": 300
},
"embed": {
"refs": [
"lex:app.bsky.embed.images",
"lex:app.bsky.embed.video",
"lex:app.bsky.embed.external",
"lex:app.bsky.embed.record",
"lex:app.bsky.embed.recordWithMedia"
],
"type": "union",
"description": "Embedded content: images, video, external links, or record references."
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "Indicates human language of cap primary text content."
},
"recap": {
"ref": "lex:org.v-it.cap#recapRef",
"type": "ref",
"description": "Reference to the parent cap this was derived from."
},
"reply": {
"ref": "lex:org.v-it.cap#replyRef",
"type": "ref",
"description": "Reference to the parent and root caps when this cap is a reply in a thread."
},
"title": {
"type": "string",
"maxLength": 512,
"description": "Short title for the capability",
"maxGraphemes": 64
},
"beacon": {
"type": "string",
"maxLength": 512,
"description": "Beacon URI scoping this cap to a project."
},
"facets": {
"type": "array",
"items": {
"ref": "lex:app.bsky.richtext.facet",
"type": "ref"
},
"description": "Annotations of text (mentions, URLs, hashtags, etc)."
},
"labels": {
"refs": [
"lex:com.atproto.label.defs#selfLabels"
],
"type": "union",
"description": "Self-label values for this cap. Effectively content warnings."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when this cap was originally created."
},
"description": {
"type": "string",
"maxLength": 3000,
"description": "Longer description of the capability",
"maxGraphemes": 300
}
}
},
"description": "Record containing a vit cap."
},
"recapRef": {
"type": "object",
"required": [
"uri",
"ref"
],
"properties": {
"ref": {
"type": "string",
"maxLength": 128,
"description": "Three lowercase words separated by dashes identifying the parent cap.",
"maxGraphemes": 64
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "AT URI of the parent cap record."
}
},
"description": "Reference to a parent cap this was derived from."
},
"replyRef": {
"type": "object",
"required": [
"root",
"parent"
],
"properties": {
"root": {
"ref": "lex:com.atproto.repo.strongRef",
"type": "ref",
"description": "The root cap of the thread."
},
"parent": {
"ref": "lex:com.atproto.repo.strongRef",
"type": "ref",
"description": "The direct parent cap being replied to."
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}