app.bsky.embed.external
Schema Diff
+127 -0
Compatibility Analysis
Breaking Changes Detected
6 breaking changes, 51 non-breaking changes.
Breaking Changes (6)
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.g", sort: "maximum", value: "255" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.g", sort: "minimum", value: "0" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.r", sort: "minimum", value: "0" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.r", sort: "maximum", value: "255" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.b", sort: "maximum", value: "255" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.b", sort: "minimum", value: "0" }
Non-Breaking Changes (51)
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#colorRGB" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#colorRGB.b" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#colorRGB.g" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#colorRGB.r" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#external.associatedRefs" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#external.associatedRefs:items" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.associatedProfiles" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.associatedProfiles:items" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.associatedRefs" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.associatedRefs:items" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.createdAt" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.labels" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.labels:items" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.readingTime" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.source" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.updatedAt" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.description" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.icon" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.theme" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.title" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.uri" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme.accentForegroundRGB" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme.accentRGB" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme.backgroundRGB" }
- AddedVertex AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme.foregroundRGB" }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#colorRGB", tgt: "app.bsky.embed.external#colorRGB.b", kind: "prop", name: Some("b") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#colorRGB", tgt: "app.bsky.embed.external#colorRGB.g", kind: "prop", name: Some("g") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#colorRGB", tgt: "app.bsky.embed.external#colorRGB.r", kind: "prop", name: Some("r") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#external", tgt: "app.bsky.embed.external#external.associatedRefs", kind: "prop", name: Some("associatedRefs") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#external.associatedRefs", tgt: "app.bsky.embed.external#external.associatedRefs:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.associatedProfiles", kind: "prop", name: Some("associatedProfiles") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.associatedRefs", kind: "prop", name: Some("associatedRefs") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.createdAt", kind: "prop", name: Some("createdAt") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.labels", kind: "prop", name: Some("labels") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.readingTime", kind: "prop", name: Some("readingTime") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.source", kind: "prop", name: Some("source") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.updatedAt", kind: "prop", name: Some("updatedAt") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal.associatedProfiles", tgt: "app.bsky.embed.external#viewExternal.associatedProfiles:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal.associatedRefs", tgt: "app.bsky.embed.external#viewExternal.associatedRefs:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternal.labels", tgt: "app.bsky.embed.external#viewExternal.labels:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.description", kind: "prop", name: Some("description") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.icon", kind: "prop", name: Some("icon") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.theme", kind: "prop", name: Some("theme") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.title", kind: "prop", name: Some("title") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.uri", kind: "prop", name: Some("uri") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSourceTheme", tgt: "app.bsky.embed.external#viewExternalSourceTheme.accentForegroundRGB", kind: "prop", name: Some("accentForegroundRGB") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSourceTheme", tgt: "app.bsky.embed.external#viewExternalSourceTheme.accentRGB", kind: "prop", name: Some("accentRGB") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSourceTheme", tgt: "app.bsky.embed.external#viewExternalSourceTheme.backgroundRGB", kind: "prop", name: Some("backgroundRGB") }
- AddedEdge AddedEdge { src: "app.bsky.embed.external#viewExternalSourceTheme", tgt: "app.bsky.embed.external#viewExternalSourceTheme.foregroundRGB", kind: "prop", name: Some("foregroundRGB") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.bsky.embed.external#colorRGB" }AddedVertex { vertex_id: "app.bsky.embed.external#colorRGB.b" }AddedVertex { vertex_id: "app.bsky.embed.external#colorRGB.g" }AddedVertex { vertex_id: "app.bsky.embed.external#colorRGB.r" }AddedVertex { vertex_id: "app.bsky.embed.external#external.associatedRefs" }AddedVertex { vertex_id: "app.bsky.embed.external#external.associatedRefs:items" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.associatedProfiles" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.associatedProfiles:items" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.associatedRefs" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.associatedRefs:items" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.createdAt" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.labels" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.labels:items" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.readingTime" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.source" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternal.updatedAt" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.description" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.icon" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.theme" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.title" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSource.uri" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme.accentForegroundRGB" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme.accentRGB" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme.backgroundRGB" }AddedVertex { vertex_id: "app.bsky.embed.external#viewExternalSourceTheme.foregroundRGB" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.r", sort: "minimum", value: "0" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.r", sort: "maximum", value: "255" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.b", sort: "maximum", value: "255" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.b", sort: "minimum", value: "0" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.g", sort: "maximum", value: "255" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.bsky.embed.external#colorRGB.g", sort: "minimum", value: "0" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#colorRGB", tgt: "app.bsky.embed.external#colorRGB.b", kind: "prop", name: Some("b") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#colorRGB", tgt: "app.bsky.embed.external#colorRGB.g", kind: "prop", name: Some("g") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#colorRGB", tgt: "app.bsky.embed.external#colorRGB.r", kind: "prop", name: Some("r") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#external", tgt: "app.bsky.embed.external#external.associatedRefs", kind: "prop", name: Some("associatedRefs") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#external.associatedRefs", tgt: "app.bsky.embed.external#external.associatedRefs:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.associatedProfiles", kind: "prop", name: Some("associatedProfiles") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.associatedRefs", kind: "prop", name: Some("associatedRefs") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.createdAt", kind: "prop", name: Some("createdAt") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.labels", kind: "prop", name: Some("labels") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.readingTime", kind: "prop", name: Some("readingTime") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.source", kind: "prop", name: Some("source") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal", tgt: "app.bsky.embed.external#viewExternal.updatedAt", kind: "prop", name: Some("updatedAt") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal.associatedProfiles", tgt: "app.bsky.embed.external#viewExternal.associatedProfiles:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal.associatedRefs", tgt: "app.bsky.embed.external#viewExternal.associatedRefs:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternal.labels", tgt: "app.bsky.embed.external#viewExternal.labels:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.description", kind: "prop", name: Some("description") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.icon", kind: "prop", name: Some("icon") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.theme", kind: "prop", name: Some("theme") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.title", kind: "prop", name: Some("title") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSource", tgt: "app.bsky.embed.external#viewExternalSource.uri", kind: "prop", name: Some("uri") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSourceTheme", tgt: "app.bsky.embed.external#viewExternalSourceTheme.accentForegroundRGB", kind: "prop", name: Some("accentForegroundRGB") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSourceTheme", tgt: "app.bsky.embed.external#viewExternalSourceTheme.accentRGB", kind: "prop", name: Some("accentRGB") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSourceTheme", tgt: "app.bsky.embed.external#viewExternalSourceTheme.backgroundRGB", kind: "prop", name: Some("backgroundRGB") }
- Non-breaking: AddedEdge { src: "app.bsky.embed.external#viewExternalSourceTheme", tgt: "app.bsky.embed.external#viewExternalSourceTheme.foregroundRGB", kind: "prop", name: Some("foregroundRGB") }
1
1
{
2
2
"id": "app.bsky.embed.external",
3
3
"defs": {
4
4
"main": {
5
5
"type": "object",
6
6
"required": [
7
7
"external"
8
8
],
9
9
"properties": {
10
10
"external": {
11
11
"ref": "#external",
12
12
"type": "ref"
13
13
}
14
14
},
15
15
"description": "A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post)."
16
16
},
17
17
"view": {
18
18
"type": "object",
19
19
"required": [
20
20
"external"
21
21
],
22
22
"properties": {
23
23
"external": {
24
24
"ref": "#viewExternal",
25
25
"type": "ref"
26
26
}
27
27
}
28
28
},
29
+
"colorRGB": {
30
+
"type": "object",
31
+
"required": [
32
+
"r",
33
+
"g",
34
+
"b"
35
+
],
36
+
"properties": {
37
+
"b": {
38
+
"type": "integer",
39
+
"maximum": 255,
40
+
"minimum": 0
41
+
},
42
+
"g": {
43
+
"type": "integer",
44
+
"maximum": 255,
45
+
"minimum": 0
46
+
},
47
+
"r": {
48
+
"type": "integer",
49
+
"maximum": 255,
50
+
"minimum": 0
51
+
}
52
+
},
53
+
"description": "RGB color definition, inspired by site.standard.theme.color#rgb"
54
+
},
29
55
"external": {
30
56
"type": "object",
31
57
"required": [
32
58
"uri",
33
59
"title",
34
60
"description"
35
61
],
36
62
"properties": {
37
63
"uri": {
38
64
"type": "string",
39
65
"format": "uri"
40
66
},
41
67
"thumb": {
42
68
"type": "blob",
43
69
"accept": [
44
70
"image/*"
45
71
],
46
72
"maxSize": 1000000
47
73
},
48
74
"title": {
49
75
"type": "string"
50
76
},
51
77
"description": {
52
78
"type": "string"
79
+
},
80
+
"associatedRefs": {
81
+
"type": "array",
82
+
"items": {
83
+
"ref": "com.atproto.repo.strongRef",
84
+
"type": "ref"
85
+
},
86
+
"description": "StrongRefs (uri+cid) of the Atmosphere records that backed this view."
53
87
}
54
88
}
55
89
},
56
90
"viewExternal": {
57
91
"type": "object",
58
92
"required": [
59
93
"uri",
60
94
"title",
61
95
"description"
62
96
],
63
97
"properties": {
64
98
"uri": {
65
99
"type": "string",
66
100
"format": "uri"
67
101
},
68
102
"thumb": {
69
103
"type": "string",
70
104
"format": "uri"
71
105
},
72
106
"title": {
73
107
"type": "string"
74
108
},
109
+
"labels": {
110
+
"type": "array",
111
+
"items": {
112
+
"ref": "com.atproto.label.defs#label",
113
+
"type": "ref"
114
+
}
115
+
},
116
+
"source": {
117
+
"ref": "#viewExternalSource",
118
+
"type": "ref"
119
+
},
120
+
"createdAt": {
121
+
"type": "string",
122
+
"format": "datetime",
123
+
"description": "When the external content was created, if available. Example: a publication date, for an article."
124
+
},
125
+
"updatedAt": {
126
+
"type": "string",
127
+
"format": "datetime",
128
+
"description": "When the external content was updated, if available."
129
+
},
75
130
"description": {
76
131
"type": "string"
132
+
},
133
+
"readingTime": {
134
+
"type": "integer",
135
+
"description": "Estimated reading time in minutes, if applicable and available."
136
+
},
137
+
"associatedRefs": {
138
+
"type": "array",
139
+
"items": {
140
+
"ref": "com.atproto.repo.strongRef",
141
+
"type": "ref"
142
+
},
143
+
"description": "StrongRefs (uri+cid) of the Atmosphere records that backed this view."
144
+
},
145
+
"associatedProfiles": {
146
+
"type": "array",
147
+
"items": {
148
+
"ref": "app.bsky.actor.defs#profileViewBasic",
149
+
"type": "ref"
150
+
},
151
+
"description": "Profiles of the owners of the Atmosphere records that backed this view."
77
152
}
78
153
}
154
+
},
155
+
"viewExternalSource": {
156
+
"type": "object",
157
+
"required": [
158
+
"uri",
159
+
"title"
160
+
],
161
+
"properties": {
162
+
"uri": {
163
+
"type": "string",
164
+
"format": "uri",
165
+
"description": "URI of the source, if available. Example: the https:// URL of a site.standard.publication record."
166
+
},
167
+
"icon": {
168
+
"type": "string",
169
+
"format": "uri",
170
+
"description": "Fully-qualified URL where an icon representing the source can be fetched. For example, CDN location provided by the App View."
171
+
},
172
+
"theme": {
173
+
"ref": "#viewExternalSourceTheme",
174
+
"type": "ref"
175
+
},
176
+
"title": {
177
+
"type": "string"
178
+
},
179
+
"description": {
180
+
"type": "string"
181
+
}
182
+
},
183
+
"description": "The source of an external embed, such as a standard.site publication."
184
+
},
185
+
"viewExternalSourceTheme": {
186
+
"type": "object",
187
+
"properties": {
188
+
"accentRGB": {
189
+
"ref": "#colorRGB",
190
+
"type": "ref"
191
+
},
192
+
"backgroundRGB": {
193
+
"ref": "#colorRGB",
194
+
"type": "ref"
195
+
},
196
+
"foregroundRGB": {
197
+
"ref": "#colorRGB",
198
+
"type": "ref"
199
+
},
200
+
"accentForegroundRGB": {
201
+
"ref": "#colorRGB",
202
+
"type": "ref"
203
+
}
204
+
},
205
+
"description": "The theme colors of an external source, such as a site.standard.publication. These colors may be used when rendering an embed from that source."
79
206
}
80
207
},
81
208
"$type": "com.atproto.lexicon.schema",
82
209
"lexicon": 1
83
210
}