pet.trezy.createInteraction
Schema Diff
+3 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "pet.trezy.createInteraction:output.error", sort: "knownValues", old_value: "[\"invalid-type\",\"not-your-pet\",\"cooldown\"]", new_value: "[\"invalid-type\",\"not-your-pet\",\"cooldown\",\"asleep\"]" }
Migration Guidance
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "pet.trezy.createInteraction:output.error", sort: "knownValues", old_value: "[\"invalid-type\",\"not-your-pet\",\"cooldown\"]", new_value: "[\"invalid-type\",\"not-your-pet\",\"cooldown\",\"asleep\"]" }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"input": {
6
6
"encoding": "application/json",
7
7
"schema": {
8
8
"properties": {
9
9
"drop": {
10
10
"description": "The rkey of a pet.trezy.foodDrop being consumed by this feed. OPTIONAL: petting carries none, and neither does a feed from the legacy button. ⚠ THE MORSEL IS DELETED ONLY AFTER THE ACTIVITY RECORD HAS SAVED, never before. Deleting first would let a refused feed take the food with it — which the player would experience as theft, with no error anywhere to explain where their morsel went.",
11
11
"type": "string"
12
12
},
13
13
"pet": {
14
14
"format": "at-uri",
15
15
"type": "string"
16
16
},
17
17
"type": {
18
18
"knownValues": [
19
19
"feed",
20
20
"pet"
21
21
],
22
22
"type": "string"
23
23
}
24
24
},
25
25
"required": [
26
26
"type",
27
27
"pet"
28
28
],
29
29
"type": "object"
30
30
}
31
31
},
32
32
"output": {
33
33
"encoding": "application/json",
34
34
"schema": {
35
35
"properties": {
36
36
"createdAt": {
37
37
"format": "datetime",
38
38
"type": "string"
39
39
},
40
40
"error": {
41
-
"description": "Present instead of uri/createdAt when the interaction was refused for an expected reason. A stable machine code the client branches on — add codes, never rename them.",
41
+
"description": "Present instead of uri/createdAt when the interaction was refused for an expected reason. A stable machine code the client branches on — add codes, never rename them. \"asleep\" means the pet's species is inside one of its published sleep windows — see pet.trezy.gameConfig's sleepWindows. It is reported ahead of \"cooldown\" when both apply, because a cooldown countdown during a nap sends the player back to be refused again by a rule nobody mentioned.",
42
42
"knownValues": [
43
43
"invalid-type",
44
44
"not-your-pet",
45
-
"cooldown"
45
+
"cooldown",
46
+
"asleep"
46
47
],
47
48
"type": "string"
48
49
},
49
50
"message": {
50
51
"description": "A sentence to show the player, accompanying `error`. Free to reword; do not branch on it.",
51
52
"type": "string"
52
53
},
53
54
"uri": {
54
55
"format": "at-uri",
55
56
"type": "string"
56
57
}
57
58
},
58
59
"required": [],
59
60
"type": "object"
60
61
}
61
62
},
62
63
"type": "procedure"
63
64
}
64
65
},
65
66
"id": "pet.trezy.createInteraction",
66
67
"lexicon": 1
67
68
}