pet.trezy.getStats

trezy.pet

Schema Diff

+10 -0

From

CID
bafyreigypry5eff...
Indexed At
2026-08-09 01:42 UTC
View this version

To

CID
bafyreiamcoxjldy...
Indexed At
2026-09-24 03:25 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "pet.trezy.getStats:output.asleep" }
  • AddedVertex AddedVertex { vertex_id: "pet.trezy.getStats:output.wakesAt" }
  • AddedEdge AddedEdge { src: "pet.trezy.getStats:output", tgt: "pet.trezy.getStats:output.asleep", kind: "prop", name: Some("asleep") }
  • AddedEdge AddedEdge { src: "pet.trezy.getStats:output", tgt: "pet.trezy.getStats:output.wakesAt", kind: "prop", name: Some("wakesAt") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "pet.trezy.getStats:output.asleep" }
  • AddedVertex { vertex_id: "pet.trezy.getStats:output.wakesAt" }

Additional Notes

  • Non-breaking: AddedEdge { src: "pet.trezy.getStats:output", tgt: "pet.trezy.getStats:output.asleep", kind: "prop", name: Some("asleep") }
  • Non-breaking: AddedEdge { src: "pet.trezy.getStats:output", tgt: "pet.trezy.getStats:output.wakesAt", kind: "prop", name: Some("wakesAt") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "output": {
6 6
        "encoding": "application/json",
7 7
        "schema": {
8 8
          "properties": {
9 +
            "asleep": {
10 +
              "description": "Whether this pet's species is inside one of its published sleep windows right now, in which case createInteraction refuses a feed or a pet with the \"asleep\" code. Reported for the same reason the cooldown fields are: so the client disables the button on the real rule rather than on a copy it keeps itself and discovers is wrong by being refused.",
11 +
              "type": "boolean"
12 +
            },
9 13
            "error": {
10 14
              "type": "string"
11 15
            },
12 16
            "feedCooldownRemaining": {
13 17
              "description": "Seconds until this pet can be fed again, or 0 if it can be now. Reported so the client can show a countdown and disable the button on the real rule, rather than on a copy of the cooldown it keeps itself and discovers is wrong by being refused.",
14 18
              "minimum": 0,
15 19
              "type": "integer"
16 20
            },
17 21
            "happiness": {
18 22
              "type": "integer"
19 23
            },
20 24
            "happinessPips": {
21 25
              "items": {
22 26
                "type": "integer"
23 27
              },
24 28
              "type": "array"
25 29
            },
26 30
            "hunger": {
27 31
              "type": "integer"
28 32
            },
29 33
            "hungerPips": {
30 34
              "items": {
31 35
                "type": "integer"
32 36
              },
33 37
              "type": "array"
34 38
            },
35 39
            "interactionCooldown": {
36 40
              "description": "The full cooldown length in seconds, from pet.trezy.gameConfig. Lets a client start a countdown the instant it acts, without waiting a round trip and without hardcoding the number.",
37 41
              "minimum": 1,
38 42
              "type": "integer"
39 43
            },
40 44
            "level": {
41 45
              "type": "integer"
42 46
            },
43 47
            "petCooldownRemaining": {
44 48
              "description": "Seconds until this pet can be petted again, or 0 if it can be now.",
45 49
              "minimum": 0,
46 50
              "type": "integer"
47 51
            },
48 52
            "totalInteractions": {
49 53
              "type": "integer"
54 +
            },
55 +
            "wakesAt": {
56 +
              "description": "The GAME HOUR this pet wakes, absent when it is awake. ⚠ A GAME HOUR AND NOT A TIMESTAMP: a client wanting a countdown has dayLengthSeconds and can do the arithmetic, while an instant would be a second encoding of the same fact and the two could disagree.",
57 +
              "maximum": 23,
58 +
              "minimum": 0,
59 +
              "type": "integer"
50 60
            }
51 61
          },
52 62
          "type": "object"
53 63
        }
54 64
      },
55 65
      "parameters": {
56 66
        "properties": {
57 67
          "did": {
58 68
            "format": "did",
59 69
            "type": "string"
60 70
          },
61 71
          "pet": {
62 72
            "format": "at-uri",
63 73
            "type": "string"
64 74
          }
65 75
        },
66 76
        "required": [
67 77
          "did",
68 78
          "pet"
69 79
        ],
70 80
        "type": "params"
71 81
      },
72 82
      "type": "query"
73 83
    }
74 84
  },
75 85
  "id": "pet.trezy.getStats",
76 86
  "lexicon": 1
77 87
}

Compare Other Versions

Lexicon Garden

@