app.bivri.feed.artworkV2
Schema Diff
+10 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 8 non-breaking changes.
Non-Breaking Changes (8)
- AddedVertex AddedVertex { vertex_id: "app.bivri.feed.artworkV2:body.aiDetection" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.feed.artworkV2:body.aiProtection" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.feed.defs#aiDetection" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.feed.defs#aiProtection" }
- AddedEdge AddedEdge { src: "app.bivri.feed.artworkV2:body", tgt: "app.bivri.feed.artworkV2:body.aiDetection", kind: "prop", name: Some("aiDetection") }
- AddedEdge AddedEdge { src: "app.bivri.feed.artworkV2:body", tgt: "app.bivri.feed.artworkV2:body.aiProtection", kind: "prop", name: Some("aiProtection") }
- AddedEdge AddedEdge { src: "app.bivri.feed.artworkV2:body.aiDetection", tgt: "app.bivri.feed.defs#aiDetection", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.bivri.feed.artworkV2:body.aiProtection", tgt: "app.bivri.feed.defs#aiProtection", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.bivri.feed.artworkV2:body.aiDetection" }AddedVertex { vertex_id: "app.bivri.feed.artworkV2:body.aiProtection" }AddedVertex { vertex_id: "app.bivri.feed.defs#aiDetection" }AddedVertex { vertex_id: "app.bivri.feed.defs#aiProtection" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.bivri.feed.artworkV2:body", tgt: "app.bivri.feed.artworkV2:body.aiDetection", kind: "prop", name: Some("aiDetection") }
- Non-breaking: AddedEdge { src: "app.bivri.feed.artworkV2:body", tgt: "app.bivri.feed.artworkV2:body.aiProtection", kind: "prop", name: Some("aiProtection") }
- Non-breaking: AddedEdge { src: "app.bivri.feed.artworkV2:body.aiDetection", tgt: "app.bivri.feed.defs#aiDetection", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.bivri.feed.artworkV2:body.aiProtection", tgt: "app.bivri.feed.defs#aiProtection", kind: "ref", name: None }
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
+
"aiDetection": {
9
+
"description": "Inspection of the original images, included only with explicit public consent. Public copies cannot be recalled. This record field alone is not proof of a Bivri-issued inspection.",
10
+
"ref": "app.bivri.feed.defs#aiDetection",
11
+
"type": "ref"
12
+
},
13
+
"aiProtection": {
14
+
"description": "Public metadata stating that the published images were processed by the named protection provider.",
15
+
"ref": "app.bivri.feed.defs#aiProtection",
16
+
"type": "ref"
17
+
},
8
18
"createdAt": {
9
19
"description": "Client-declared timestamp of when the artwork was published.",
10
20
"format": "datetime",
11
21
"type": "string"
12
22
},
13
23
"description": {
14
24
"description": "Free-form description of the artwork.",
15
25
"maxGraphemes": 300,
16
26
"maxLength": 3000,
17
27
"type": "string"
18
28
},
19
29
"labels": {
20
30
"description": "Self-label values the author declared on this artwork, such as a spoiler warning. These are author metadata, not platform moderation decisions.",
21
31
"refs": [
22
32
"com.atproto.label.defs#selfLabels"
23
33
],
24
34
"type": "union"
25
35
},
26
36
"langs": {
27
37
"description": "Human languages of the artwork's title and description.",
28
38
"items": {
29
39
"format": "language",
30
40
"type": "string"
31
41
},
32
42
"maxLength": 3,
33
43
"type": "array"
34
44
},
35
45
"media": {
36
46
"description": "Images making up the artwork, in display order. At least one is required.",
37
47
"items": {
38
48
"ref": "#mediaItem",
39
49
"type": "ref"
40
50
},
41
51
"maxLength": 50,
42
52
"minLength": 1,
43
53
"type": "array"
44
54
},
45
55
"tags": {
46
56
"description": "Author-chosen tags used for discovery and search.",
47
57
"items": {
48
58
"maxGraphemes": 64,
49
59
"maxLength": 640,
50
60
"minLength": 1,
51
61
"type": "string"
52
62
},
53
63
"maxLength": 8,
54
64
"type": "array"
55
65
},
56
66
"title": {
57
67
"description": "Title of the artwork.",
58
68
"maxGraphemes": 50,
59
69
"maxLength": 500,
60
70
"minLength": 1,
61
71
"type": "string"
62
72
},
63
73
"updatedAt": {
64
74
"description": "Client-declared timestamp of the last edit to this record.",
65
75
"format": "datetime",
66
76
"type": "string"
67
77
}
68
78
},
69
79
"required": [
70
80
"title",
71
81
"media",
72
82
"createdAt"
73
83
],
74
84
"type": "object"
75
85
},
76
86
"type": "record"
77
87
},
78
88
"mediaItem": {
79
89
"properties": {
80
90
"alt": {
81
91
"description": "Alternative text describing the image for members who cannot see it.",
82
92
"type": "string"
83
93
},
84
94
"aspectRatio": {
85
95
"ref": "app.bivri.feed.defs#aspectRatio",
86
96
"type": "ref"
87
97
},
88
98
"blob": {
89
99
"accept": [
90
100
"image/jpeg",
91
101
"image/png",
92
102
"image/gif",
93
103
"image/webp"
94
104
],
95
105
"description": "Image blob for this item. The write methods accept JPEG, PNG, GIF and WebP.",
96
106
"maxSize": 50000000,
97
107
"type": "blob"
98
108
}
99
109
},
100
110
"required": [
101
111
"blob",
102
112
"alt"
103
113
],
104
114
"type": "object"
105
115
}
106
116
},
107
117
"description": "Artwork record supporting JPEG, PNG, GIF and WebP originals. Earlier app.bivri.feed.artwork records retain their original schema and identity.",
108
118
"id": "app.bivri.feed.artworkV2",
109
119
"lexicon": 1
110
120
}