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