org.designtxt.tokenCollection
Schema Diff
+6 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "org.designtxt.tokenCollection:body.resolver" }
- AddedEdge AddedEdge { src: "org.designtxt.tokenCollection:body", tgt: "org.designtxt.tokenCollection:body.resolver", kind: "prop", name: Some("resolver") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "org.designtxt.tokenCollection:body.resolver" }
Additional Notes
- Non-breaking: AddedEdge { src: "org.designtxt.tokenCollection:body", tgt: "org.designtxt.tokenCollection:body.resolver", kind: "prop", name: Some("resolver") }
1
1
{
2
2
"id": "org.designtxt.tokenCollection",
3
3
"defs": {
4
4
"main": {
5
5
"key": "any",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"properties": {
10
10
"name": {
11
11
"type": "string",
12
12
"maxLength": 512,
13
13
"description": "Human-readable name for this token collection (e.g. 'Brand Tokens', 'My Design System Q3').",
14
14
"maxGraphemes": 256
15
15
},
16
+
"resolver": {
17
+
"type": "string",
18
+
"format": "at-uri",
19
+
"maxLength": 1024,
20
+
"description": "AT-URI of the org.designtxt.resolver record for this collection. When present, the viewer can offer a context/theme switcher."
21
+
},
16
22
"createdAt": {
17
23
"type": "string",
18
24
"format": "datetime",
19
25
"maxLength": 64,
20
26
"description": "Timestamp when this collection was created."
21
27
},
22
28
"description": {
23
29
"type": "string",
24
30
"maxLength": 4096,
25
31
"description": "Optional description of this token collection's purpose or scope.",
26
32
"maxGraphemes": 1024
27
33
}
28
34
},
29
35
"description": "Root object of a token collection. Metadata fields are explicitly defined. Any additional keys are treated as tokens or groups per the DTCG 2025.10 Format specification."
30
36
},
31
37
"description": "A design tokens document following DTCG 2025.10 format. Metadata fields (name, description, createdAt) are provided for human identification. The token tree coexists at the same object level -- each remaining key is a token (has $value) or group (no $value, may contain nested tokens/groups)."
32
38
}
33
39
},
34
40
"$type": "com.atproto.lexicon.schema",
35
41
"lexicon": 1,
36
42
"description": "A record containing a collection of design tokens in DTCG 2025.10 format. The record has typed metadata fields (name, description, createdAt) alongside the token tree. Token/group keys sit at the same level as metadata; atproto ignores unexpected fields, so the token tree passes through without schema-level validation."
37
43
}