social.colibri.actor.defs

colibri.social

Schema Diff

+29 -0

From

CID
bafyreibnqex4lak...
Indexed At
2026-07-31 21:22 UTC
View this version

To

CID
bafyreianb54i5md...
Indexed At
2026-07-29 16:12 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 9 non-breaking changes.

Breaking Changes (4)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.uri", kind: "prop", name: Some("uri") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.color", kind: "prop", name: Some("color") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.name", kind: "prop", name: Some("name") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.picture", kind: "prop", name: Some("picture") }
Non-Breaking Changes (9)
  • AddedVertex AddedVertex { vertex_id: "lex:social.colibri.actor.defs#plateView" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.color" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.name" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.picture" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.uri" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.actor.defs#profileTheme.plate" }
  • AddedEdge AddedEdge { src: "social.colibri.actor.defs#profileTheme", tgt: "social.colibri.actor.defs#profileTheme.plate", kind: "prop", name: Some("plate") }
  • AddedEdge AddedEdge { src: "social.colibri.actor.defs#profileTheme.plate", tgt: "lex:social.colibri.actor.defs#plateView", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "lex:social.colibri.actor.defs#plateView" }
  • AddedVertex { vertex_id: "social.colibri.actor.defs#plateView" }
  • AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.color" }
  • AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.name" }
  • AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.picture" }
  • AddedVertex { vertex_id: "social.colibri.actor.defs#plateView.uri" }
  • AddedVertex { vertex_id: "social.colibri.actor.defs#profileTheme.plate" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.uri", kind: "prop", name: Some("uri") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.color", kind: "prop", name: Some("color") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.name", kind: "prop", name: Some("name") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.actor.defs#plateView", src: "social.colibri.actor.defs#plateView", tgt: "social.colibri.actor.defs#plateView.picture", kind: "prop", name: Some("picture") }
  • Non-breaking: AddedEdge { src: "social.colibri.actor.defs#profileTheme", tgt: "social.colibri.actor.defs#profileTheme.plate", kind: "prop", name: Some("plate") }
  • Non-breaking: AddedEdge { src: "social.colibri.actor.defs#profileTheme.plate", tgt: "lex:social.colibri.actor.defs#plateView", kind: "ref", name: None }
1 1
{
2 2
  "id": "social.colibri.actor.defs",
3 3
  "defs": {
4 4
    "actorData": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "displayName",
8 8
        "isBot",
9 9
        "onlineState",
10 10
        "syncBluesky",
11 11
        "status"
12 12
      ],
13 13
      "properties": {
14 14
        "isBot": {
15 15
          "type": "boolean"
16 16
        },
17 17
        "theme": {
18 18
          "ref": "lex:social.colibri.actor.defs#profileTheme",
19 19
          "type": "ref"
20 20
        },
21 21
        "avatar": {
22 22
          "type": "blob"
23 23
        },
24 24
        "banner": {
25 25
          "type": "blob"
26 26
        },
27 27
        "status": {
28 28
          "ref": "lex:social.colibri.actor.defs#actorStatus",
29 29
          "type": "ref"
30 30
        },
31 31
        "description": {
32 32
          "type": "string"
33 33
        },
34 34
        "displayName": {
35 35
          "type": "string"
36 36
        },
37 37
        "onlineState": {
38 38
          "type": "string",
39 39
          "knownValues": [
40 40
            "online",
41 41
            "away",
42 42
            "dnd",
43 43
            "offline"
44 44
          ]
45 45
        },
46 46
        "syncBluesky": {
47 47
          "type": "boolean"
48 48
        },
49 49
        "preferredBadge": {
50 50
          "type": "string"
51 51
        }
52 52
      },
53 53
      "description": "The profile and presence data for a Colibri actor."
54 54
    },
55 55
    "actorView": {
56 56
      "type": "object",
57 57
      "required": [
58 58
        "did",
59 59
        "handle",
60 60
        "data"
61 61
      ],
62 62
      "properties": {
63 63
        "did": {
64 64
          "type": "string",
65 65
          "format": "did"
66 66
        },
67 67
        "data": {
68 68
          "ref": "lex:social.colibri.actor.defs#actorData",
69 69
          "type": "ref"
70 70
        },
71 71
        "handle": {
72 72
          "type": "string",
73 73
          "format": "handle"
74 74
        }
75 75
      },
76 76
      "description": "A hydrated Colibri actor: identity plus profile data."
77 77
    },
78 +
    "plateView": {
79 +
      "type": "object",
80 +
      "required": [
81 +
        "uri",
82 +
        "name",
83 +
        "color",
84 +
        "picture"
85 +
      ],
86 +
      "properties": {
87 +
        "uri": {
88 +
          "type": "string",
89 +
          "format": "at-uri"
90 +
        },
91 +
        "name": {
92 +
          "type": "string"
93 +
        },
94 +
        "color": {
95 +
          "type": "string"
96 +
        },
97 +
        "picture": {
98 +
          "type": "blob"
99 +
        }
100 +
      },
101 +
      "description": "The name plate the actor has selected, resolved from the `social.colibri.actor.plate` record their profile points at. The picture blob lives in the actor's own repo, so it resolves against the same DID as their avatar."
102 +
    },
78 103
    "actorStatus": {
79 104
      "type": "object",
80 105
      "required": [
81 106
        "text"
82 107
      ],
83 108
      "properties": {
84 109
        "text": {
85 110
          "type": "string"
86 111
        },
87 112
        "emoji": {
88 113
          "type": "string"
89 114
        }
90 115
      },
91 116
      "description": "A user's Colibri status line."
92 117
    },
93 118
    "profileTheme": {
94 119
      "type": "object",
95 120
      "properties": {
121 +
        "plate": {
122 +
          "ref": "lex:social.colibri.actor.defs#plateView",
123 +
          "type": "ref"
124 +
        },
96 125
        "gradient": {
97 126
          "ref": "lex:social.colibri.actor.defs#profileGradient",
98 127
          "type": "ref"
99 128
        },
100 129
        "accentColor": {
101 130
          "type": "string"
102 131
        },
103 132
        "bannerColor": {
104 133
          "type": "string"
105 134
        }
106 135
      },
107 136
      "description": "Colibri-only profile theming."
108 137
    },
109 138
    "profileGradient": {
110 139
      "type": "object",
111 140
      "properties": {
112 141
        "primary": {
113 142
          "type": "string"
114 143
        },
115 144
        "secondary": {
116 145
          "type": "string"
117 146
        }
118 147
      },
119 148
      "description": "Two-color gradient profile theme."
120 149
    }
121 150
  },
122 151
  "$type": "com.atproto.lexicon.schema",
123 152
  "lexicon": 1
124 153
}

Compare Other Versions

Lexicon Garden

@