social.mackinac.actor.profile
Schema Diff
+11 -4
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 4 non-breaking changes.
Breaking Changes (2)
- RemovedVertex RemovedVertex { vertex_id: "social.mackinac.actor.profile:body.allowAiSummary" }
- RemovedEdge RemovedEdge { src: "social.mackinac.actor.profile:body", tgt: "social.mackinac.actor.profile:body.allowAiSummary", kind: "prop", name: Some("allowAiSummary") }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "social.mackinac.actor.profile:body.location" }
- AddedVertex AddedVertex { vertex_id: "social.mackinac.actor.profile:body.website" }
- AddedEdge AddedEdge { src: "social.mackinac.actor.profile:body", tgt: "social.mackinac.actor.profile:body.location", kind: "prop", name: Some("location") }
- AddedEdge AddedEdge { src: "social.mackinac.actor.profile:body", tgt: "social.mackinac.actor.profile:body.website", kind: "prop", name: Some("website") }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "social.mackinac.actor.profile:body.allowAiSummary" }
Added Elements
AddedVertex { vertex_id: "social.mackinac.actor.profile:body.location" }AddedVertex { vertex_id: "social.mackinac.actor.profile:body.website" }
Additional Notes
- Breaking: RemovedEdge { src: "social.mackinac.actor.profile:body", tgt: "social.mackinac.actor.profile:body.allowAiSummary", kind: "prop", name: Some("allowAiSummary") }
- Non-breaking: AddedEdge { src: "social.mackinac.actor.profile:body", tgt: "social.mackinac.actor.profile:body.location", kind: "prop", name: Some("location") }
- Non-breaking: AddedEdge { src: "social.mackinac.actor.profile:body", tgt: "social.mackinac.actor.profile:body.website", kind: "prop", name: Some("website") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"link": {
5
5
"description": "A linked external account",
6
6
"properties": {
7
7
"icon": {
8
8
"description": "Icon identifier for the linked account",
9
9
"maxLength": 64,
10
10
"type": "string"
11
11
},
12
12
"link": {
13
13
"description": "URL to the linked account",
14
14
"format": "uri",
15
15
"maxLength": 2048,
16
16
"type": "string"
17
17
},
18
18
"name": {
19
19
"description": "Display name of the linked account",
20
20
"maxLength": 256,
21
21
"type": "string"
22
22
},
23
23
"order": {
24
24
"description": "Sort order for displaying linked accounts (lower numbers appear first)",
25
25
"minimum": 0,
26
26
"type": "integer"
27
27
}
28
28
},
29
29
"required": [
30
30
"icon",
31
31
"name",
32
32
"link",
33
33
"order"
34
34
],
35
35
"type": "object"
36
36
},
37
37
"main": {
38
38
"description": "Mackinac extended profile. Supplements app.bsky.actor.profile with additional fields.",
39
39
"key": "literal:self",
40
40
"record": {
41
41
"properties": {
42
-
"allowAiSummary": {
43
-
"description": "Whether to allow AI-generated summaries on this profile",
44
-
"type": "boolean"
45
-
},
46
42
"description": {
47
43
"description": "Extended bio content",
48
44
"maxLength": 10000,
49
45
"type": "string"
50
46
},
51
47
"headline": {
52
48
"description": "Short headline for the profile",
53
49
"maxLength": 256,
54
50
"type": "string"
55
51
},
56
52
"links": {
57
53
"description": "Linked external accounts",
58
54
"items": {
59
55
"ref": "#link",
60
56
"type": "ref"
61
57
},
62
58
"maxLength": 20,
63
59
"type": "array"
60
+
},
61
+
"location": {
62
+
"description": "Location or city",
63
+
"maxLength": 256,
64
+
"type": "string"
65
+
},
66
+
"website": {
67
+
"description": "Personal website URL",
68
+
"format": "uri",
69
+
"maxLength": 2048,
70
+
"type": "string"
64
71
}
65
72
},
66
73
"type": "object"
67
74
},
68
75
"type": "record"
69
76
}
70
77
},
71
78
"id": "social.mackinac.actor.profile",
72
79
"lexicon": 1
73
80
}