at.inlay.component
Schema Diff
+9 -12
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 2 non-breaking changes.
Breaking Changes (2)
- RemovedVertex RemovedVertex { vertex_id: "at.inlay.component:body.type" }
- RemovedEdge RemovedEdge { src: "at.inlay.component:body", tgt: "at.inlay.component:body.type", kind: "prop", name: Some("type") }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "at.inlay.component#bodyExternal.personalized" }
- AddedEdge AddedEdge { src: "at.inlay.component#bodyExternal", tgt: "at.inlay.component#bodyExternal.personalized", kind: "prop", name: Some("personalized") }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "at.inlay.component:body.type" }
Added Elements
AddedVertex { vertex_id: "at.inlay.component#bodyExternal.personalized" }
Additional Notes
- Breaking: RemovedEdge { src: "at.inlay.component:body", tgt: "at.inlay.component:body.type", kind: "prop", name: Some("type") }
- Non-breaking: AddedEdge { src: "at.inlay.component#bodyExternal", tgt: "at.inlay.component#bodyExternal.personalized", kind: "prop", name: Some("personalized") }
1
1
{
2
2
"id": "at.inlay.component",
3
3
"defs": {
4
4
"main": {
5
-
"key": "tid",
5
+
"key": "nsid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
-
"required": [
10
-
"type"
11
-
],
9
+
"required": [],
12
10
"properties": {
13
11
"via": {
14
12
"refs": [
15
13
"at.inlay.defs#viaValtown"
16
14
],
17
15
"type": "union",
18
16
"description": "Platform-managed deployment metadata"
19
17
},
20
18
"body": {
21
19
"refs": [
22
20
"#bodyExternal",
23
21
"#bodyTemplate"
24
22
],
25
23
"type": "union",
26
24
"description": "How this component is rendered. Omit for primitives rendered by the host."
27
-
},
28
-
"type": {
29
-
"type": "string",
30
-
"format": "nsid",
31
-
"description": "NSID this component implements (also the XRPC procedure)"
32
25
},
33
26
"view": {
34
27
"ref": "#view",
35
28
"type": "ref",
36
29
"description": "What data this component views and which prop receives it"
37
30
},
38
31
"imports": {
39
32
"type": "array",
40
33
"items": {
41
34
"type": "string",
42
-
"format": "at-uri"
35
+
"format": "did"
43
36
},
44
-
"description": "Ordered list of pack URIs (import stack). First pack that exports an NSID wins."
37
+
"description": "Ordered list of DIDs (import stack). For each NSID, the first DID that has a component with that rkey wins."
45
38
},
46
39
"createdAt": {
47
40
"type": "string",
48
41
"format": "datetime"
49
42
},
50
43
"updatedAt": {
51
44
"type": "string",
52
45
"format": "datetime",
53
46
"description": "Last update timestamp. Set by the publish flow to bust cached responses."
54
47
},
55
48
"description": {
56
49
"type": "string",
57
50
"maxLength": 10000,
58
51
"maxGraphemes": 1000
59
52
}
60
53
}
61
54
},
62
-
"description": "Component record - declares an implementation of a type"
55
+
"description": "Component record. The rkey is the type NSID this component implements."
63
56
},
64
57
"view": {
65
58
"type": "object",
66
59
"required": [
67
60
"prop",
68
61
"accepts"
69
62
],
70
63
"properties": {
71
64
"prop": {
72
65
"type": "string",
73
66
"maxLength": 256,
74
67
"description": "Which component prop receives the view data."
75
68
},
76
69
"accepts": {
77
70
"type": "array",
78
71
"items": {
79
72
"refs": [
80
73
"#viewRecord",
81
74
"#viewPrimitive"
82
75
],
83
76
"type": "union"
84
77
},
85
78
"minLength": 1,
86
79
"description": "Data types this view accepts."
87
80
}
88
81
},
89
82
"description": "Declares what data this component views and which prop receives it."
90
83
},
91
84
"viewRecord": {
92
85
"type": "object",
93
86
"properties": {
94
87
"rkey": {
95
88
"type": "string",
96
89
"maxLength": 512,
97
90
"description": "The record key, baked from the collection's lexicon at authoring time. Presence enables DID expansion and identity page routing."
98
91
},
99
92
"collection": {
100
93
"type": "string",
101
94
"format": "nsid",
102
95
"description": "The collection this component views. Omit for any-collection."
103
96
}
104
97
},
105
98
"description": "View accepts individual records of a collection. Omit collection for a generic record view. When rkey is present, the component accepts bare DIDs (expanded to full AT URIs) and appears on identity pages."
106
99
},
107
100
"bodyExternal": {
108
101
"type": "object",
109
102
"required": [
110
103
"did"
111
104
],
112
105
"properties": {
113
106
"did": {
114
107
"type": "string",
115
108
"format": "did",
116
109
"description": "DID of the service hosting this component"
110
+
},
111
+
"personalized": {
112
+
"type": "boolean",
113
+
"description": "When true, host sends a signed JWT identifying the viewer with each call."
117
114
}
118
115
},
119
116
"description": "Component rendered by calling a remote XRPC endpoint"
120
117
},
121
118
"bodyTemplate": {
122
119
"type": "object",
123
120
"required": [
124
121
"node"
125
122
],
126
123
"properties": {
127
124
"node": {
128
125
"type": "unknown",
129
126
"description": "Serialized element tree with bindings"
130
127
}
131
128
},
132
129
"description": "Component rendered by the host from a serialized element tree"
133
130
},
134
131
"viewPrimitive": {
135
132
"type": "object",
136
133
"required": [
137
134
"type"
138
135
],
139
136
"properties": {
140
137
"type": {
141
138
"type": "string",
142
139
"maxLength": 128,
143
140
"description": "Lexicon primitive type.",
144
141
"knownValues": [
145
142
"string",
146
143
"integer",
147
144
"boolean",
148
145
"blob",
149
146
"cid-link",
150
147
"bytes"
151
148
]
152
149
},
153
150
"format": {
154
151
"type": "string",
155
152
"maxLength": 64,
156
153
"description": "String format constraint. Only applies when type is 'string'.",
157
154
"knownValues": [
158
155
"at-uri",
159
156
"did",
160
157
"datetime",
161
158
"uri",
162
159
"handle",
163
160
"at-identifier",
164
161
"nsid",
165
162
"cid",
166
163
"language",
167
164
"record-key",
168
165
"tid"
169
166
]
170
167
}
171
168
},
172
169
"description": "View accepts a primitive value type."
173
170
}
174
171
},
175
172
"$type": "com.atproto.lexicon.schema",
176
173
"lexicon": 1
177
174
}