town.muni.arbiter.defs
Schema Diff
+70 -7
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 18 non-breaking changes.
Breaking Changes (2)
- ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.defs#memberRemoteSpace.spaceKey", sort: "maxLength", value: "1024" }
- ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.defs#memberLocalSpace.spaceKey", sort: "maxLength", value: "1024" }
Non-Breaking Changes (18)
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs:items" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.rotationKeys" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.rotationKeys:items" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.services" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.verificationMethods" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint.endpoint" }
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint.type" }
- AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs", kind: "prop", name: Some("alsoKnownAs") }
- AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.rotationKeys", kind: "prop", name: Some("rotationKeys") }
- AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.services", kind: "prop", name: Some("services") }
- AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.verificationMethods", kind: "prop", name: Some("verificationMethods") }
- AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs", tgt: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig.rotationKeys", tgt: "town.muni.arbiter.defs#didDocConfig.rotationKeys:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "town.muni.arbiter.defs#serviceEndpoint", tgt: "town.muni.arbiter.defs#serviceEndpoint.endpoint", kind: "prop", name: Some("endpoint") }
- AddedEdge AddedEdge { src: "town.muni.arbiter.defs#serviceEndpoint", tgt: "town.muni.arbiter.defs#serviceEndpoint.type", kind: "prop", name: Some("type") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig" }AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs" }AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs:items" }AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.rotationKeys" }AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.rotationKeys:items" }AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.services" }AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.verificationMethods" }AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint" }AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint.endpoint" }AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint.type" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.defs#memberLocalSpace.spaceKey", sort: "maxLength", value: "1024" }
- ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.defs#memberRemoteSpace.spaceKey", sort: "maxLength", value: "1024" }
Additional Notes
- Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs", kind: "prop", name: Some("alsoKnownAs") }
- Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.rotationKeys", kind: "prop", name: Some("rotationKeys") }
- Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.services", kind: "prop", name: Some("services") }
- Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.verificationMethods", kind: "prop", name: Some("verificationMethods") }
- Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs", tgt: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig.rotationKeys", tgt: "town.muni.arbiter.defs#didDocConfig.rotationKeys:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#serviceEndpoint", tgt: "town.muni.arbiter.defs#serviceEndpoint.endpoint", kind: "prop", name: Some("endpoint") }
- Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#serviceEndpoint", tgt: "town.muni.arbiter.defs#serviceEndpoint.type", kind: "prop", name: Some("type") }
1
1
{
2
2
"id": "town.muni.arbiter.defs",
3
3
"defs": {
4
4
"memberDid": {
5
5
"type": "object",
6
6
"required": [
7
7
"did"
8
8
],
9
9
"properties": {
10
10
"did": {
11
11
"type": "string",
12
-
"format": "did"
12
+
"format": "did",
13
+
"description": "The DID of the member."
13
14
}
14
-
}
15
+
},
16
+
"description": "A member specified directly by their DID."
15
17
},
18
+
"didDocConfig": {
19
+
"type": "object",
20
+
"required": [
21
+
"rotationKeys",
22
+
"verificationMethods",
23
+
"alsoKnownAs",
24
+
"services"
25
+
],
26
+
"properties": {
27
+
"services": {
28
+
"type": "object",
29
+
"properties": {},
30
+
"description": "Map from service ID to service endpoint configuration.\nThe ID should not include a `#` prefix; it will be added when rendering\nthe DID document."
31
+
},
32
+
"alsoKnownAs": {
33
+
"type": "array",
34
+
"items": {
35
+
"type": "string"
36
+
},
37
+
"description": "Priority-ordered list of URIs indicating other names or aliases\nassociated with the DID. For atproto, this should include an `at://`\nURI for the account's handle."
38
+
},
39
+
"rotationKeys": {
40
+
"type": "array",
41
+
"items": {
42
+
"type": "string"
43
+
},
44
+
"description": "Priority-ordered list of public keys in `did:key` encoding.\nAt least 1 and at most 5 keys, with no duplication.\nThese keys control the DID identifier (can sign rotation operations)."
45
+
},
46
+
"verificationMethods": {
47
+
"type": "object",
48
+
"properties": {},
49
+
"description": "Map from verification method ID to public key in `did:key` encoding.\nThe ID should not include a `#` prefix; it will be added when rendering\nthe DID document. These keys do **not** have control over the DID."
50
+
}
51
+
},
52
+
"description": "Configurable fields for a DID PLC document."
53
+
},
54
+
"serviceEndpoint": {
55
+
"type": "object",
56
+
"required": [
57
+
"type",
58
+
"endpoint"
59
+
],
60
+
"properties": {
61
+
"type": {
62
+
"type": "string",
63
+
"description": "The type of the service (e.g. `AtprotoPersonalDataServer`)."
64
+
},
65
+
"endpoint": {
66
+
"type": "string",
67
+
"description": "The endpoint URL (e.g. `https://pds.example.com`)."
68
+
}
69
+
},
70
+
"description": "A service endpoint entry within a DID document's `services` field.\n\nMaps a service ID (e.g. `atproto_pds`) to its type and URL.\nPer the DID PLC spec, the service ID should not include a `#` prefix;\nthe `#` will be added when rendering the DID document."
71
+
},
16
72
"memberLocalSpace": {
17
73
"type": "object",
18
74
"required": [
19
75
"spaceKey"
20
76
],
21
77
"properties": {
22
78
"spaceKey": {
23
-
"type": "string"
79
+
"type": "string",
80
+
"maxLength": 1024,
81
+
"description": "The key of the space on this arbiter."
24
82
}
25
-
}
83
+
},
84
+
"description": "A member representing all of the members of another space that is on this arbiter."
26
85
},
27
86
"memberRemoteSpace": {
28
87
"type": "object",
29
88
"required": [
30
89
"arbiterDid",
31
90
"spaceKey"
32
91
],
33
92
"properties": {
34
93
"spaceKey": {
35
-
"type": "string"
94
+
"type": "string",
95
+
"maxLength": 1024,
96
+
"description": "The key of the space on the remote arbiter."
36
97
},
37
98
"arbiterDid": {
38
99
"type": "string",
39
-
"format": "did"
100
+
"format": "did",
101
+
"description": "The DID of the remote arbiter."
40
102
}
41
-
}
103
+
},
104
+
"description": "A member representing all of the members of another space on another arbiter."
42
105
}
43
106
},
44
107
"$type": "com.atproto.lexicon.schema",
45
108
"lexicon": 1
46
109
}