live.streamface.emoticons.command

streamface.live

Schema Diff

+1 -0

From

CID
bafyreibtvrpjdvx...
Indexed At
2026-10-09 14:40 UTC
View this version

To

CID
bafyreifqpd7lvkr...
Indexed At
2026-10-10 14:26 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 8 non-breaking changes.

Breaking Changes (4)
  • RemovedEdge RemovedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant0", kind: "variant", name: Some("live.streamface.emoticons.defs#externalMedia") }
  • RemovedEdge RemovedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant1", kind: "variant", name: Some("live.streamface.emoticons.defs#uploadedMedia") }
  • RemovedEdge RemovedEdge { src: "live.streamface.emoticons.command:body.image:variant0", tgt: "live.streamface.emoticons.defs#externalMedia", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "live.streamface.emoticons.command:body.image:variant1", tgt: "live.streamface.emoticons.defs#uploadedMedia", kind: "ref", name: None }
Non-Breaking Changes (8)
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.command:body.image:variant2" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.defs#giphyMedia" }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant0", kind: "variant", name: Some("live.streamface.emoticons.defs#giphyMedia") }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant1", kind: "variant", name: Some("live.streamface.emoticons.defs#externalMedia") }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant2", kind: "variant", name: Some("live.streamface.emoticons.defs#uploadedMedia") }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.command:body.image:variant0", tgt: "live.streamface.emoticons.defs#giphyMedia", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.command:body.image:variant1", tgt: "live.streamface.emoticons.defs#externalMedia", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.command:body.image:variant2", tgt: "live.streamface.emoticons.defs#uploadedMedia", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "live.streamface.emoticons.command:body.image:variant2" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.defs#giphyMedia" }

Additional Notes

  • Breaking: RemovedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant0", kind: "variant", name: Some("live.streamface.emoticons.defs#externalMedia") }
  • Breaking: RemovedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant1", kind: "variant", name: Some("live.streamface.emoticons.defs#uploadedMedia") }
  • Breaking: RemovedEdge { src: "live.streamface.emoticons.command:body.image:variant0", tgt: "live.streamface.emoticons.defs#externalMedia", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "live.streamface.emoticons.command:body.image:variant1", tgt: "live.streamface.emoticons.defs#uploadedMedia", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant0", kind: "variant", name: Some("live.streamface.emoticons.defs#giphyMedia") }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant1", kind: "variant", name: Some("live.streamface.emoticons.defs#externalMedia") }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.command:body.image", tgt: "live.streamface.emoticons.command:body.image:variant2", kind: "variant", name: Some("live.streamface.emoticons.defs#uploadedMedia") }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.command:body.image:variant0", tgt: "live.streamface.emoticons.defs#giphyMedia", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.command:body.image:variant1", tgt: "live.streamface.emoticons.defs#externalMedia", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.command:body.image:variant2", tgt: "live.streamface.emoticons.defs#uploadedMedia", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "any",
6 6
      "record": {
7 7
        "properties": {
8 8
          "audio": {
9 9
            "closed": true,
10 10
            "refs": [
11 11
              "live.streamface.emoticons.defs#externalMedia",
12 12
              "live.streamface.emoticons.defs#uploadedMedia"
13 13
            ],
14 14
            "type": "union"
15 15
          },
16 16
          "command": {
17 17
            "description": "Lowercase invocation name without the leading !.",
18 18
            "maxLength": 40,
19 19
            "minLength": 1,
20 20
            "type": "string"
21 21
          },
22 22
          "cooldownMilliseconds": {
23 23
            "maximum": 86400000,
24 24
            "minimum": 0,
25 25
            "type": "integer"
26 26
          },
27 27
          "createdAt": {
28 28
            "format": "datetime",
29 29
            "type": "string"
30 30
          },
31 31
          "durationMilliseconds": {
32 32
            "maximum": 3600000,
33 33
            "minimum": 1,
34 34
            "type": "integer"
35 35
          },
36 36
          "height": {
37 37
            "maxLength": 64,
38 38
            "type": "string"
39 39
          },
40 40
          "image": {
41 41
            "closed": true,
42 42
            "refs": [
43 +
              "live.streamface.emoticons.defs#giphyMedia",
43 44
              "live.streamface.emoticons.defs#externalMedia",
44 45
              "live.streamface.emoticons.defs#uploadedMedia"
45 46
            ],
46 47
            "type": "union"
47 48
          },
48 49
          "mirrored": {
49 50
            "type": "boolean"
50 51
          },
51 52
          "mode": {
52 53
            "enum": [
53 54
              "effect",
54 55
              "sticker"
55 56
            ],
56 57
            "type": "string"
57 58
          },
58 59
          "updatedAt": {
59 60
            "format": "datetime",
60 61
            "type": "string"
61 62
          },
62 63
          "video": {
63 64
            "closed": true,
64 65
            "refs": [
65 66
              "live.streamface.emoticons.defs#externalMedia",
66 67
              "live.streamface.emoticons.defs#uploadedMedia"
67 68
            ],
68 69
            "type": "union"
69 70
          },
70 71
          "volumePercent": {
71 72
            "maximum": 100,
72 73
            "minimum": 0,
73 74
            "type": "integer"
74 75
          },
75 76
          "width": {
76 77
            "maxLength": 64,
77 78
            "type": "string"
78 79
          }
79 80
        },
80 81
        "required": [
81 82
          "command",
82 83
          "mode",
83 84
          "durationMilliseconds",
84 85
          "cooldownMilliseconds",
85 86
          "volumePercent",
86 87
          "width",
87 88
          "height",
88 89
          "mirrored",
89 90
          "createdAt",
90 91
          "updatedAt"
91 92
        ],
92 93
        "type": "object"
93 94
      },
94 95
      "type": "record"
95 96
    }
96 97
  },
97 98
  "id": "live.streamface.emoticons.command",
98 99
  "lexicon": 1
99 100
}

Compare Other Versions

Lexicon Garden

@