+1
-1
packages/lexicons/defs/sh/comet/v0/actor/profile.json
+1
-1
packages/lexicons/defs/sh/comet/v0/actor/profile.json
-15
packages/lexicons/defs/sh/comet/v0/feed/defs.json
-15
packages/lexicons/defs/sh/comet/v0/feed/defs.json
···
2
"lexicon": 1,
3
"id": "sh.comet.v0.feed.defs",
4
"defs": {
5
-
"tag": {
6
-
"type": "string",
7
-
"knownValues": [
8
-
"sh.comet.v0.feed.tag#alternative",
9
-
"sh.comet.v0.feed.tag#ambient",
10
-
"sh.comet.v0.feed.tag#electronic",
11
-
"sh.comet.v0.feed.tag#experimental",
12
-
"sh.comet.v0.feed.tag#hiphop",
13
-
"sh.comet.v0.feed.tag#metal",
14
-
"sh.comet.v0.feed.tag#rock",
15
-
"sh.comet.v0.feed.tag#podcast",
16
-
"sh.comet.v0.feed.tag#pop",
17
-
"sh.comet.v0.feed.tag#punk"
18
-
]
19
-
},
20
"link": {
21
"type": "object",
22
"description": "Link for the track. Usually to acquire it in some way, e.g. via free download or purchase. | TODO: multiple links?",
+3
-4
packages/lexicons/defs/sh/comet/v0/feed/playlist.json
+3
-4
packages/lexicons/defs/sh/comet/v0/feed/playlist.json
···
46
},
47
"tags": {
48
"type": "array",
49
-
"description": "Tags/genres for the playlist. First item is used as the \"primary\" tag. | TODO: reconsider maxLength value",
50
-
"minLength": 1,
51
-
"maxLength": 5,
52
-
"items": { "type": "ref", "ref": "sh.comet.v0.feed.defs#tag" }
53
},
54
"link": {
55
"type": "ref",
-17
packages/lexicons/defs/sh/comet/v0/feed/tag.json
-17
packages/lexicons/defs/sh/comet/v0/feed/tag.json
···
1
-
{
2
-
"lexicon": 1,
3
-
"id": "sh.comet.v0.feed.tag",
4
-
"description": "TODO: maybe instead of being like this, make tag a proper record?",
5
-
"defs": {
6
-
"alternative": { "type": "token" },
7
-
"ambient": { "type": "token" },
8
-
"electronic": { "type": "token" },
9
-
"experimental": { "type": "token" },
10
-
"hiphop": { "type": "token" },
11
-
"metal": { "type": "token" },
12
-
"rock": { "type": "token" },
13
-
"podcast": { "type": "token" },
14
-
"pop": { "type": "token" },
15
-
"punk": { "type": "token" }
16
-
}
17
-
}
···
+4
-5
packages/lexicons/defs/sh/comet/v0/feed/track.json
+4
-5
packages/lexicons/defs/sh/comet/v0/feed/track.json
···
38
"descriptionFacets": {
39
"type": "ref",
40
"description": "Annotations of the track's description.",
41
-
"ref": "sh.comet.v0.richtext.facets"
42
},
43
"tags": {
44
"type": "array",
45
-
"description": "Tags/genres for the track. First item is used as the \"primary\" tag. | TODO: reconsider maxLength value",
46
-
"minLength": 1,
47
-
"maxLength": 5,
48
-
"items": { "type": "ref", "ref": "sh.comet.v0.feed.defs#tag" }
49
},
50
"link": {
51
"type": "ref",
···
38
"descriptionFacets": {
39
"type": "ref",
40
"description": "Annotations of the track's description.",
41
+
"ref": "app.bsky.richtext.facets"
42
},
43
"tags": {
44
"type": "array",
45
+
"description": "Hashtags for the track, usually for genres.",
46
+
"maxLength": 8,
47
+
"items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 }
48
},
49
"link": {
50
"type": "ref",
+2
-2
packages/lexicons/defs/sh/comet/v0/richtext/facets.json
packages/lexicons/defs/app.bsky.richtext.facet.json
+2
-2
packages/lexicons/defs/sh/comet/v0/richtext/facets.json
packages/lexicons/defs/app.bsky.richtext.facet.json
···
1
{
2
"lexicon": 1,
3
-
"id": "sh.comet.v0.richtext.facets",
4
"defs": {
5
"main": {
6
"type": "object",
···
35
"description": "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').",
36
"required": ["tag"],
37
"properties": {
38
-
"tag": { "type": "ref", "ref": "sh.comet.v0.feed.defs#tag" }
39
}
40
},
41
"byteSlice": {
···
1
{
2
"lexicon": 1,
3
+
"id": "app.bsky.richtext.facet",
4
"defs": {
5
"main": {
6
"type": "object",
···
35
"description": "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').",
36
"required": ["tag"],
37
"properties": {
38
+
"tag": { "type": "string", "maxLength": 640, "maxGraphemes": 64 }
39
}
40
},
41
"byteSlice": {