devin ivy 80ada8f476
Video lexicons and appview views (#2751)
* lexicon: initial lexicons for video embeds in bsky app

* lexicon: fix video caption file size limit

* codegen

* appview: stub out video embed view logic

* api prerelease

* api prerelease

* lexicon: video upload/processing lexicons

* tidy

* lexicon: app.bsky.video lexicons for uploads

* codegen

* api prerelease

* appview: present video embeds on posts

* appview: snaps

* changeset

* appview: fix wiring of video url config
2024-08-28 19:03:35 -04:00

97 lines
2.9 KiB
JSON

{
"lexicon": 1,
"id": "app.bsky.embed.record",
"description": "A representation of a record embedded in a Bluesky record (eg, a post). For example, a quote-post, or sharing a feed generator record.",
"defs": {
"main": {
"type": "object",
"required": ["record"],
"properties": {
"record": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
}
},
"view": {
"type": "object",
"required": ["record"],
"properties": {
"record": {
"type": "union",
"refs": [
"#viewRecord",
"#viewNotFound",
"#viewBlocked",
"#viewDetached",
"app.bsky.feed.defs#generatorView",
"app.bsky.graph.defs#listView",
"app.bsky.labeler.defs#labelerView",
"app.bsky.graph.defs#starterPackViewBasic"
]
}
}
},
"viewRecord": {
"type": "object",
"required": ["uri", "cid", "author", "value", "indexedAt"],
"properties": {
"uri": { "type": "string", "format": "at-uri" },
"cid": { "type": "string", "format": "cid" },
"author": {
"type": "ref",
"ref": "app.bsky.actor.defs#profileViewBasic"
},
"value": {
"type": "unknown",
"description": "The record data itself."
},
"labels": {
"type": "array",
"items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
},
"replyCount": { "type": "integer" },
"repostCount": { "type": "integer" },
"likeCount": { "type": "integer" },
"quoteCount": { "type": "integer" },
"embeds": {
"type": "array",
"items": {
"type": "union",
"refs": [
"app.bsky.embed.images#view",
"app.bsky.embed.video#view",
"app.bsky.embed.external#view",
"app.bsky.embed.record#view",
"app.bsky.embed.recordWithMedia#view"
]
}
},
"indexedAt": { "type": "string", "format": "datetime" }
}
},
"viewNotFound": {
"type": "object",
"required": ["uri", "notFound"],
"properties": {
"uri": { "type": "string", "format": "at-uri" },
"notFound": { "type": "boolean", "const": true }
}
},
"viewBlocked": {
"type": "object",
"required": ["uri", "blocked", "author"],
"properties": {
"uri": { "type": "string", "format": "at-uri" },
"blocked": { "type": "boolean", "const": true },
"author": { "type": "ref", "ref": "app.bsky.feed.defs#blockedAuthor" }
}
},
"viewDetached": {
"type": "object",
"required": ["uri", "detached"],
"properties": {
"uri": { "type": "string", "format": "at-uri" },
"detached": { "type": "boolean", "const": true }
}
}
}
}