ai.newnal.illi.device.link
Schema Diff
+21 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 8 non-breaking changes.
Non-Breaking Changes (8)
- AddedVertex AddedVertex { vertex_id: "ai.newnal.illi.device.link:input.displayName" }
- AddedVertex AddedVertex { vertex_id: "ai.newnal.illi.device.link:input.parentHonorific" }
- AddedVertex AddedVertex { vertex_id: "ai.newnal.illi.device.link:input.parentName" }
- AddedVertex AddedVertex { vertex_id: "ai.newnal.illi.device.link:input.relationship" }
- AddedEdge AddedEdge { src: "ai.newnal.illi.device.link:input", tgt: "ai.newnal.illi.device.link:input.displayName", kind: "prop", name: Some("displayName") }
- AddedEdge AddedEdge { src: "ai.newnal.illi.device.link:input", tgt: "ai.newnal.illi.device.link:input.parentHonorific", kind: "prop", name: Some("parentHonorific") }
- AddedEdge AddedEdge { src: "ai.newnal.illi.device.link:input", tgt: "ai.newnal.illi.device.link:input.parentName", kind: "prop", name: Some("parentName") }
- AddedEdge AddedEdge { src: "ai.newnal.illi.device.link:input", tgt: "ai.newnal.illi.device.link:input.relationship", kind: "prop", name: Some("relationship") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "ai.newnal.illi.device.link:input.displayName" }AddedVertex { vertex_id: "ai.newnal.illi.device.link:input.parentHonorific" }AddedVertex { vertex_id: "ai.newnal.illi.device.link:input.parentName" }AddedVertex { vertex_id: "ai.newnal.illi.device.link:input.relationship" }
Additional Notes
- Non-breaking: AddedEdge { src: "ai.newnal.illi.device.link:input", tgt: "ai.newnal.illi.device.link:input.displayName", kind: "prop", name: Some("displayName") }
- Non-breaking: AddedEdge { src: "ai.newnal.illi.device.link:input", tgt: "ai.newnal.illi.device.link:input.parentHonorific", kind: "prop", name: Some("parentHonorific") }
- Non-breaking: AddedEdge { src: "ai.newnal.illi.device.link:input", tgt: "ai.newnal.illi.device.link:input.parentName", kind: "prop", name: Some("parentName") }
- Non-breaking: AddedEdge { src: "ai.newnal.illi.device.link:input", tgt: "ai.newnal.illi.device.link:input.relationship", kind: "prop", name: Some("relationship") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "The caller enters the device's onboarding code and becomes the root admin: creates the home and the family sphere on the caller's PDN with parent 1 and the caller as first members (D-27).",
5
+
"description": "The caller enters the device's onboarding code and becomes the root admin: creates the home and the family sphere on the caller's PDN with parent 1 and the caller as first members.",
6
6
"errors": [
7
7
{
8
8
"name": "InvalidOnboardingCode"
9
9
},
10
10
{
11
11
"name": "CodeExpired"
12
12
},
13
13
{
14
14
"name": "DeviceAlreadyLinked"
15
15
},
16
16
{
17
17
"name": "ScopeMissing"
18
18
},
19
19
{
20
20
"name": "PdsUnavailable"
21
21
},
22
22
{
23
23
"name": "RateLimitExceeded"
24
24
}
25
25
],
26
26
"input": {
27
27
"encoding": "application/json",
28
28
"schema": {
29
29
"properties": {
30
30
"code": {
31
31
"maxLength": 16,
32
32
"type": "string"
33
33
},
34
+
"displayName": {
35
+
"description": "The root admin's name as the family and the device see it (e.g. 김은수). Required by the family app; optional on the wire for compatibility.",
36
+
"maxLength": 64,
37
+
"type": "string"
38
+
},
34
39
"homeId": {
35
40
"format": "tid",
36
41
"type": "string"
37
42
},
38
43
"homeName": {
39
44
"maxLength": 64,
40
45
"type": "string"
46
+
},
47
+
"parentHonorific": {
48
+
"description": "How the family calls parent 1 (e.g. 할머니, 어머니); written to the parentSlot record. Required by the family app.",
49
+
"maxLength": 32,
50
+
"type": "string"
51
+
},
52
+
"parentName": {
53
+
"description": "Parent 1's name as the family and the device show it (e.g. 이순자); written to the parentSlot record. Required by the family app.",
54
+
"maxLength": 64,
55
+
"type": "string"
56
+
},
57
+
"relationship": {
58
+
"description": "The root admin's relationship to the parents (e.g. 큰아들).",
59
+
"maxLength": 32,
60
+
"type": "string"
41
61
}
42
62
},
43
63
"required": [
44
64
"code",
45
65
"homeName"
46
66
],
47
67
"type": "object"
48
68
}
49
69
},
50
70
"output": {
51
71
"encoding": "application/json",
52
72
"schema": {
53
73
"properties": {
54
74
"device": {
55
75
"ref": "ai.newnal.illi.home.defs#deviceView",
56
76
"type": "ref"
57
77
},
58
78
"homeId": {
59
79
"format": "tid",
60
80
"type": "string"
61
81
},
62
82
"role": {
63
83
"knownValues": [
64
84
"rootAdmin"
65
85
],
66
86
"type": "string"
67
87
},
68
88
"sphere": {
69
89
"type": "string"
70
90
}
71
91
},
72
92
"required": [
73
93
"homeId",
74
94
"sphere",
75
95
"role",
76
96
"device"
77
97
],
78
98
"type": "object"
79
99
}
80
100
},
81
101
"type": "procedure"
82
102
}
83
103
},
84
104
"id": "ai.newnal.illi.device.link",
85
105
"lexicon": 1
86
106
}