Music streaming on ATProto!

feat(lexicon): comment record and custom richtext facets

ovyerus.com d47db575 bc8f2ba0

verified
Changed files
+69 -7
packages
lexicons
defs
sh
+12 -1
packages/lexicons/defs/app.bsky.richtext.facet.json packages/lexicons/defs/sh/comet/v0/richtext/facet.json
···
{
"lexicon": 1,
-
"id": "app.bsky.richtext.facet",
+
"id": "sh.comet.v0.richtext.facet",
"defs": {
"main": {
"type": "object",
···
"required": ["tag"],
"properties": {
"tag": { "type": "string", "maxLength": 640, "maxGraphemes": 64 }
+
}
+
},
+
"timestamp": {
+
"type": "object",
+
"description": "Facet feature for a timestamp in a track. The text usually is in the format of 'hh:mm:ss' with the hour section being omitted if unnecessary.",
+
"properties": {
+
"timestamp": {
+
"type": "integer",
+
"minimum": 0,
+
"description": "Reference time, in seconds."
+
}
}
},
"byteSlice": {
+4 -5
packages/lexicons/defs/sh/comet/v0/actor/profile.json
···
"descriptionFacets": {
"type": "ref",
"description": "Annotations of the user's description.",
-
"ref": "app.bsky.richtext.facets"
+
"ref": "sh.comet.v0.richtext.facet"
},
"avatar": {
"type": "blob",
···
},
"featured": {
"type": "array",
-
"items": {
-
"type": "ref",
-
"ref": "com.atproto.repo.strongRef"
-
}
+
"description": "Pinned items to be shown first on the user's profile.",
+
"maxLength": 5,
+
"items": { "type": "string", "format": "at-uri" }
},
"createdAt": { "type": "string", "format": "datetime" }
}
+47
packages/lexicons/defs/sh/comet/v0/feed/comment.json
···
+
{
+
"lexicon": 1,
+
"id": "sh.comet.v0.feed.comment",
+
"defs": {
+
"main": {
+
"type": "record",
+
"description": "A comment on a piece of Comet media.",
+
"key": "tid",
+
"record": {
+
"type": "object",
+
"required": ["text", "subject", "createdAt"],
+
"properties": {
+
"text": {
+
"type": "string",
+
"minLength": 1,
+
"minGraphemes": 1,
+
"maxLength": 3000,
+
"maxGraphemes": 300,
+
"description": "The comment's content."
+
},
+
"subject": {
+
"type": "string",
+
"format": "at-uri",
+
"description": "The piece of media being commented on."
+
},
+
"reply": {
+
"type": "string",
+
"format": "at-uri",
+
"description": "Another sh.comet.v0.feed.comment this is in reply to."
+
},
+
"langs": {
+
"type": "array",
+
"description": "Indicates human language of the comment's text content.",
+
"maxLength": 3,
+
"items": { "type": "string", "format": "language" }
+
},
+
"facets": {
+
"type": "array",
+
"description": "Annotations of text (mentions, URLs, hashtags, etc)",
+
"items": { "type": "ref", "ref": "sh.comet.v0.richtext.facet" }
+
},
+
"createdAt": { "type": "string", "format": "datetime" }
+
}
+
}
+
}
+
}
+
}
+5
packages/lexicons/defs/sh/comet/v0/feed/playlist.json
···
"maxLength": 20000,
"maxGraphemes": 2000
},
+
"descriptionFacets": {
+
"type": "ref",
+
"description": "Annotations of the playlist's description.",
+
"ref": "sh.comet.v0.richtext.facets"
+
},
"type": {
"type": "string",
"description": "Type of the playlist. Allows differentiating between playlist's different purposes.",
+1 -1
packages/lexicons/defs/sh/comet/v0/feed/track.json
···
"descriptionFacets": {
"type": "ref",
"description": "Annotations of the track's description.",
-
"ref": "app.bsky.richtext.facets"
+
"ref": "sh.comet.v0.richtext.facets"
},
"tags": {
"type": "array",