tangled
alpha
login
or
join now
bnewbold.net
/
halide
5
fork
atom
demo CLI tool for grain.social
5
fork
atom
overview
issues
pulls
pipelines
add relevant lexicons as JSON files
bnewbold.net
8 months ago
057c8ae5
2317579f
+402
7 changed files
expand all
collapse all
unified
split
lexicons
com.atproto
label.defs
social.grain
actor.profile.json
defs.json
favorite.json
gallery.item.json
gallery.json
photo.json
+193
lexicons/com.atproto/label.defs
···
1
1
+
{
2
2
+
"$type": "com.atproto.lexicon.schema",
3
3
+
"defs": {
4
4
+
"label": {
5
5
+
"description": "Metadata tag on an atproto resource (eg, repo or record).",
6
6
+
"properties": {
7
7
+
"cid": {
8
8
+
"description": "Optionally, CID specifying the specific version of 'uri' resource this label applies to.",
9
9
+
"format": "cid",
10
10
+
"type": "string"
11
11
+
},
12
12
+
"cts": {
13
13
+
"description": "Timestamp when this label was created.",
14
14
+
"format": "datetime",
15
15
+
"type": "string"
16
16
+
},
17
17
+
"exp": {
18
18
+
"description": "Timestamp at which this label expires (no longer applies).",
19
19
+
"format": "datetime",
20
20
+
"type": "string"
21
21
+
},
22
22
+
"neg": {
23
23
+
"description": "If true, this is a negation label, overwriting a previous label.",
24
24
+
"type": "boolean"
25
25
+
},
26
26
+
"sig": {
27
27
+
"description": "Signature of dag-cbor encoded label.",
28
28
+
"type": "bytes"
29
29
+
},
30
30
+
"src": {
31
31
+
"description": "DID of the actor who created this label.",
32
32
+
"format": "did",
33
33
+
"type": "string"
34
34
+
},
35
35
+
"uri": {
36
36
+
"description": "AT URI of the record, repository (account), or other resource that this label applies to.",
37
37
+
"format": "uri",
38
38
+
"type": "string"
39
39
+
},
40
40
+
"val": {
41
41
+
"description": "The short string name of the value or type of this label.",
42
42
+
"maxLength": 128,
43
43
+
"type": "string"
44
44
+
},
45
45
+
"ver": {
46
46
+
"description": "The AT Protocol version of the label object.",
47
47
+
"type": "integer"
48
48
+
}
49
49
+
},
50
50
+
"required": [
51
51
+
"src",
52
52
+
"uri",
53
53
+
"val",
54
54
+
"cts"
55
55
+
],
56
56
+
"type": "object"
57
57
+
},
58
58
+
"labelValue": {
59
59
+
"knownValues": [
60
60
+
"!hide",
61
61
+
"!no-promote",
62
62
+
"!warn",
63
63
+
"!no-unauthenticated",
64
64
+
"dmca-violation",
65
65
+
"doxxing",
66
66
+
"porn",
67
67
+
"sexual",
68
68
+
"nudity",
69
69
+
"nsfl",
70
70
+
"gore"
71
71
+
],
72
72
+
"type": "string"
73
73
+
},
74
74
+
"labelValueDefinition": {
75
75
+
"description": "Declares a label value and its expected interpretations and behaviors.",
76
76
+
"properties": {
77
77
+
"adultOnly": {
78
78
+
"description": "Does the user need to have adult content enabled in order to configure this label?",
79
79
+
"type": "boolean"
80
80
+
},
81
81
+
"blurs": {
82
82
+
"description": "What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing.",
83
83
+
"knownValues": [
84
84
+
"content",
85
85
+
"media",
86
86
+
"none"
87
87
+
],
88
88
+
"type": "string"
89
89
+
},
90
90
+
"defaultSetting": {
91
91
+
"default": "warn",
92
92
+
"description": "The default setting for this label.",
93
93
+
"knownValues": [
94
94
+
"ignore",
95
95
+
"warn",
96
96
+
"hide"
97
97
+
],
98
98
+
"type": "string"
99
99
+
},
100
100
+
"identifier": {
101
101
+
"description": "The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+).",
102
102
+
"maxGraphemes": 100,
103
103
+
"maxLength": 100,
104
104
+
"type": "string"
105
105
+
},
106
106
+
"locales": {
107
107
+
"items": {
108
108
+
"ref": "#labelValueDefinitionStrings",
109
109
+
"type": "ref"
110
110
+
},
111
111
+
"type": "array"
112
112
+
},
113
113
+
"severity": {
114
114
+
"description": "How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing.",
115
115
+
"knownValues": [
116
116
+
"inform",
117
117
+
"alert",
118
118
+
"none"
119
119
+
],
120
120
+
"type": "string"
121
121
+
}
122
122
+
},
123
123
+
"required": [
124
124
+
"identifier",
125
125
+
"severity",
126
126
+
"blurs",
127
127
+
"locales"
128
128
+
],
129
129
+
"type": "object"
130
130
+
},
131
131
+
"labelValueDefinitionStrings": {
132
132
+
"description": "Strings which describe the label in the UI, localized into a specific language.",
133
133
+
"properties": {
134
134
+
"description": {
135
135
+
"description": "A longer description of what the label means and why it might be applied.",
136
136
+
"maxGraphemes": 10000,
137
137
+
"maxLength": 100000,
138
138
+
"type": "string"
139
139
+
},
140
140
+
"lang": {
141
141
+
"description": "The code of the language these strings are written in.",
142
142
+
"format": "language",
143
143
+
"type": "string"
144
144
+
},
145
145
+
"name": {
146
146
+
"description": "A short human-readable name for the label.",
147
147
+
"maxGraphemes": 64,
148
148
+
"maxLength": 640,
149
149
+
"type": "string"
150
150
+
}
151
151
+
},
152
152
+
"required": [
153
153
+
"lang",
154
154
+
"name",
155
155
+
"description"
156
156
+
],
157
157
+
"type": "object"
158
158
+
},
159
159
+
"selfLabel": {
160
160
+
"description": "Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.",
161
161
+
"properties": {
162
162
+
"val": {
163
163
+
"description": "The short string name of the value or type of this label.",
164
164
+
"maxLength": 128,
165
165
+
"type": "string"
166
166
+
}
167
167
+
},
168
168
+
"required": [
169
169
+
"val"
170
170
+
],
171
171
+
"type": "object"
172
172
+
},
173
173
+
"selfLabels": {
174
174
+
"description": "Metadata tags on an atproto record, published by the author within the record.",
175
175
+
"properties": {
176
176
+
"values": {
177
177
+
"items": {
178
178
+
"ref": "#selfLabel",
179
179
+
"type": "ref"
180
180
+
},
181
181
+
"maxLength": 10,
182
182
+
"type": "array"
183
183
+
}
184
184
+
},
185
185
+
"required": [
186
186
+
"values"
187
187
+
],
188
188
+
"type": "object"
189
189
+
}
190
190
+
},
191
191
+
"id": "com.atproto.label.defs",
192
192
+
"lexicon": 1
193
193
+
}
+41
lexicons/social.grain/actor.profile.json
···
1
1
+
{
2
2
+
"$type": "com.atproto.lexicon.schema",
3
3
+
"defs": {
4
4
+
"main": {
5
5
+
"description": "A declaration of a basic account profile.",
6
6
+
"key": "literal:self",
7
7
+
"record": {
8
8
+
"properties": {
9
9
+
"avatar": {
10
10
+
"accept": [
11
11
+
"image/png",
12
12
+
"image/jpeg"
13
13
+
],
14
14
+
"description": "Small image to be displayed next to posts from account. AKA, 'profile picture'",
15
15
+
"maxSize": 1000000,
16
16
+
"type": "blob"
17
17
+
},
18
18
+
"createdAt": {
19
19
+
"format": "datetime",
20
20
+
"type": "string"
21
21
+
},
22
22
+
"description": {
23
23
+
"description": "Free-form profile description text.",
24
24
+
"maxGraphemes": 256,
25
25
+
"maxLength": 2560,
26
26
+
"type": "string"
27
27
+
},
28
28
+
"displayName": {
29
29
+
"maxGraphemes": 64,
30
30
+
"maxLength": 640,
31
31
+
"type": "string"
32
32
+
}
33
33
+
},
34
34
+
"type": "object"
35
35
+
},
36
36
+
"type": "record"
37
37
+
}
38
38
+
},
39
39
+
"id": "social.grain.actor.profile",
40
40
+
"lexicon": 1
41
41
+
}
+25
lexicons/social.grain/defs.json
···
1
1
+
{
2
2
+
"$type": "com.atproto.lexicon.schema",
3
3
+
"defs": {
4
4
+
"aspectRatio": {
5
5
+
"description": "width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit.",
6
6
+
"properties": {
7
7
+
"height": {
8
8
+
"minimum": 1,
9
9
+
"type": "integer"
10
10
+
},
11
11
+
"width": {
12
12
+
"minimum": 1,
13
13
+
"type": "integer"
14
14
+
}
15
15
+
},
16
16
+
"required": [
17
17
+
"width",
18
18
+
"height"
19
19
+
],
20
20
+
"type": "object"
21
21
+
}
22
22
+
},
23
23
+
"id": "social.grain.defs",
24
24
+
"lexicon": 1
25
25
+
}
+28
lexicons/social.grain/favorite.json
···
1
1
+
{
2
2
+
"$type": "com.atproto.lexicon.schema",
3
3
+
"defs": {
4
4
+
"main": {
5
5
+
"key": "tid",
6
6
+
"record": {
7
7
+
"properties": {
8
8
+
"createdAt": {
9
9
+
"format": "datetime",
10
10
+
"type": "string"
11
11
+
},
12
12
+
"subject": {
13
13
+
"format": "at-uri",
14
14
+
"type": "string"
15
15
+
}
16
16
+
},
17
17
+
"required": [
18
18
+
"createdAt",
19
19
+
"subject"
20
20
+
],
21
21
+
"type": "object"
22
22
+
},
23
23
+
"type": "record"
24
24
+
}
25
25
+
},
26
26
+
"id": "social.grain.favorite",
27
27
+
"lexicon": 1
28
28
+
}
+37
lexicons/social.grain/gallery.item.json
···
1
1
+
{
2
2
+
"$type": "com.atproto.lexicon.schema",
3
3
+
"defs": {
4
4
+
"main": {
5
5
+
"key": "tid",
6
6
+
"record": {
7
7
+
"properties": {
8
8
+
"createdAt": {
9
9
+
"format": "datetime",
10
10
+
"type": "string"
11
11
+
},
12
12
+
"gallery": {
13
13
+
"format": "at-uri",
14
14
+
"type": "string"
15
15
+
},
16
16
+
"item": {
17
17
+
"format": "at-uri",
18
18
+
"type": "string"
19
19
+
},
20
20
+
"position": {
21
21
+
"default": 0,
22
22
+
"type": "integer"
23
23
+
}
24
24
+
},
25
25
+
"required": [
26
26
+
"createdAt",
27
27
+
"gallery",
28
28
+
"item"
29
29
+
],
30
30
+
"type": "object"
31
31
+
},
32
32
+
"type": "record"
33
33
+
}
34
34
+
},
35
35
+
"id": "social.grain.gallery.item",
36
36
+
"lexicon": 1
37
37
+
}
+39
lexicons/social.grain/gallery.json
···
1
1
+
{
2
2
+
"$type": "com.atproto.lexicon.schema",
3
3
+
"defs": {
4
4
+
"main": {
5
5
+
"key": "tid",
6
6
+
"record": {
7
7
+
"properties": {
8
8
+
"createdAt": {
9
9
+
"format": "datetime",
10
10
+
"type": "string"
11
11
+
},
12
12
+
"description": {
13
13
+
"maxLength": 1000,
14
14
+
"type": "string"
15
15
+
},
16
16
+
"labels": {
17
17
+
"description": "Self-label values for this post. Effectively content warnings.",
18
18
+
"refs": [
19
19
+
"com.atproto.label.defs#selfLabels"
20
20
+
],
21
21
+
"type": "union"
22
22
+
},
23
23
+
"title": {
24
24
+
"maxLength": 100,
25
25
+
"type": "string"
26
26
+
}
27
27
+
},
28
28
+
"required": [
29
29
+
"title",
30
30
+
"createdAt"
31
31
+
],
32
32
+
"type": "object"
33
33
+
},
34
34
+
"type": "record"
35
35
+
}
36
36
+
},
37
37
+
"id": "social.grain.gallery",
38
38
+
"lexicon": 1
39
39
+
}
+39
lexicons/social.grain/photo.json
···
1
1
+
{
2
2
+
"$type": "com.atproto.lexicon.schema",
3
3
+
"defs": {
4
4
+
"main": {
5
5
+
"key": "tid",
6
6
+
"record": {
7
7
+
"properties": {
8
8
+
"alt": {
9
9
+
"description": "Alt text description of the image, for accessibility.",
10
10
+
"type": "string"
11
11
+
},
12
12
+
"aspectRatio": {
13
13
+
"ref": "social.grain.defs#aspectRatio",
14
14
+
"type": "ref"
15
15
+
},
16
16
+
"createdAt": {
17
17
+
"format": "datetime",
18
18
+
"type": "string"
19
19
+
},
20
20
+
"photo": {
21
21
+
"accept": [
22
22
+
"image/*"
23
23
+
],
24
24
+
"maxSize": 1000000,
25
25
+
"type": "blob"
26
26
+
}
27
27
+
},
28
28
+
"required": [
29
29
+
"photo",
30
30
+
"alt"
31
31
+
],
32
32
+
"type": "object"
33
33
+
},
34
34
+
"type": "record"
35
35
+
}
36
36
+
},
37
37
+
"id": "social.grain.photo",
38
38
+
"lexicon": 1
39
39
+
}