social.colibri.beta.bridge.defs

colibri.social

Schema Diff

+100 -0

From

CID
bafyreibcercawb6...
Indexed At
2026-09-24 08:31 UTC
View this version

To

CID
bafyreifnqjbh2qo...
Indexed At
2026-09-25 08:21 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

8 breaking changes, 26 non-breaking changes.

Breaking Changes (8)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfill", src: "social.colibri.beta.bridge.defs#backfill", tgt: "social.colibri.beta.bridge.defs#backfill.requestedAt", kind: "prop", name: Some("requestedAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.imported", kind: "prop", name: Some("imported") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.from", kind: "prop", name: Some("from") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.updatedAt", kind: "prop", name: Some("updatedAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.state", kind: "prop", name: Some("state") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.requestedAt", kind: "prop", name: Some("requestedAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.channel", kind: "prop", name: Some("channel") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.until", kind: "prop", name: Some("until") }
Non-Breaking Changes (26)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#attribution.imported" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfill" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfill.requestedAt" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfill.since" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.channel" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.from" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.imported" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.reached" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.requestedAt" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.state" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.until" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.updatedAt" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#link.backfill" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#registrationView.backfills" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#registrationView.backfills:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#registrationView.mirrorModeration" }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#attribution", tgt: "social.colibri.beta.bridge.defs#attribution.imported", kind: "prop", name: Some("imported") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#backfill", tgt: "social.colibri.beta.bridge.defs#backfill.since", kind: "prop", name: Some("since") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.reached", kind: "prop", name: Some("reached") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#link", tgt: "social.colibri.beta.bridge.defs#link.backfill", kind: "prop", name: Some("backfill") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#link.backfill", tgt: "social.colibri.beta.bridge.defs#backfill", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#registrationView", tgt: "social.colibri.beta.bridge.defs#registrationView.backfills", kind: "prop", name: Some("backfills") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#registrationView", tgt: "social.colibri.beta.bridge.defs#registrationView.mirrorModeration", kind: "prop", name: Some("mirrorModeration") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#registrationView.backfills", tgt: "social.colibri.beta.bridge.defs#registrationView.backfills:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.bridge.defs#registrationView.backfills:items", tgt: "social.colibri.beta.bridge.defs#backfillStatus", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#attribution.imported" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfill" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfill.requestedAt" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfill.since" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.channel" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.from" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.imported" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.reached" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.requestedAt" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.state" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.until" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus.updatedAt" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#link.backfill" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#registrationView.backfills" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#registrationView.backfills:items" }
  • AddedVertex { vertex_id: "social.colibri.beta.bridge.defs#registrationView.mirrorModeration" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.imported", kind: "prop", name: Some("imported") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.from", kind: "prop", name: Some("from") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.updatedAt", kind: "prop", name: Some("updatedAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.state", kind: "prop", name: Some("state") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.requestedAt", kind: "prop", name: Some("requestedAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.channel", kind: "prop", name: Some("channel") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfillStatus", src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.until", kind: "prop", name: Some("until") }
  • Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.beta.bridge.defs#backfill", src: "social.colibri.beta.bridge.defs#backfill", tgt: "social.colibri.beta.bridge.defs#backfill.requestedAt", kind: "prop", name: Some("requestedAt") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#attribution", tgt: "social.colibri.beta.bridge.defs#attribution.imported", kind: "prop", name: Some("imported") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#backfill", tgt: "social.colibri.beta.bridge.defs#backfill.since", kind: "prop", name: Some("since") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#backfillStatus", tgt: "social.colibri.beta.bridge.defs#backfillStatus.reached", kind: "prop", name: Some("reached") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#link", tgt: "social.colibri.beta.bridge.defs#link.backfill", kind: "prop", name: Some("backfill") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#link.backfill", tgt: "social.colibri.beta.bridge.defs#backfill", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#registrationView", tgt: "social.colibri.beta.bridge.defs#registrationView.backfills", kind: "prop", name: Some("backfills") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#registrationView", tgt: "social.colibri.beta.bridge.defs#registrationView.mirrorModeration", kind: "prop", name: Some("mirrorModeration") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#registrationView.backfills", tgt: "social.colibri.beta.bridge.defs#registrationView.backfills:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.bridge.defs#registrationView.backfills:items", tgt: "social.colibri.beta.bridge.defs#backfillStatus", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "attribution": {
5 5
      "description": "Who wrote a record on another service. The community writes every bridged record, and the AppView honours this attribution only on records the community itself wrote.",
6 6
      "properties": {
7 7
        "avatar": {
8 8
          "accept": [
9 9
            "image/png",
10 10
            "image/jpeg",
11 11
            "image/gif",
12 12
            "image/webp"
13 13
          ],
14 14
          "description": "The author's avatar, uploaded to the community's repo.",
15 15
          "maxSize": 1000000,
16 16
          "type": "blob"
17 17
        },
18 +
        "imported": {
19 +
          "description": "Set on messages a bridge imported from the room's earlier history. The AppView sends no notifications for them, and marks their live events as imported.",
20 +
          "type": "boolean"
21 +
        },
18 22
        "name": {
19 23
          "description": "The author's display name on the other service when the record was written.",
20 24
          "maxLength": 128,
21 25
          "type": "string"
22 26
        },
23 27
        "platform": {
24 28
          "description": "The service the author is on, as its bridge names it.",
25 29
          "maxLength": 64,
26 30
          "type": "string"
27 31
        },
28 32
        "registration": {
29 33
          "description": "Record key of the registration the record was written for.",
30 34
          "format": "tid",
31 35
          "type": "string"
32 36
        },
33 37
        "remoteId": {
34 38
          "description": "The author's id on the other service. Opaque to Colibri.",
35 39
          "maxLength": 256,
36 40
          "type": "string"
37 41
        },
38 42
        "remoteMessage": {
39 43
          "description": "The id of the message on the other service, which lets a bridge find its own records again.",
40 44
          "maxLength": 256,
41 45
          "type": "string"
42 46
        }
43 47
      },
44 48
      "required": [
45 49
        "registration",
46 50
        "platform",
47 51
        "remoteId",
48 52
        "name"
49 53
      ],
50 54
      "type": "object"
51 55
    },
56 +
    "backfill": {
57 +
      "description": "A request to import a linked room's earlier messages.",
58 +
      "properties": {
59 +
        "requestedAt": {
60 +
          "description": "When an admin asked for the import. Messages after this were relayed live.",
61 +
          "format": "datetime",
62 +
          "type": "string"
63 +
        },
64 +
        "since": {
65 +
          "description": "The oldest message to import. Absent imports the room's whole history.",
66 +
          "format": "datetime",
67 +
          "type": "string"
68 +
        }
69 +
      },
70 +
      "required": [
71 +
        "requestedAt"
72 +
      ],
73 +
      "type": "object"
74 +
    },
75 +
    "backfillStatus": {
76 +
      "description": "Progress of a history import, as the bridge last reported it.",
77 +
      "properties": {
78 +
        "channel": {
79 +
          "description": "The linked channel being filled.",
80 +
          "format": "space-ref",
81 +
          "type": "string"
82 +
        },
83 +
        "from": {
84 +
          "description": "The start of the time range being imported.",
85 +
          "format": "datetime",
86 +
          "type": "string"
87 +
        },
88 +
        "imported": {
89 +
          "description": "How many messages the bridge has imported so far.",
90 +
          "minimum": 0,
91 +
          "type": "integer"
92 +
        },
93 +
        "reached": {
94 +
          "description": "When the newest imported message in the channel was sent.",
95 +
          "format": "datetime",
96 +
          "type": "string"
97 +
        },
98 +
        "requestedAt": {
99 +
          "description": "The request this status belongs to.",
100 +
          "format": "datetime",
101 +
          "type": "string"
102 +
        },
103 +
        "state": {
104 +
          "description": "How far the import is.",
105 +
          "knownValues": [
106 +
            "running",
107 +
            "done",
108 +
            "failed"
109 +
          ],
110 +
          "type": "string"
111 +
        },
112 +
        "until": {
113 +
          "description": "The end of the time range being imported.",
114 +
          "format": "datetime",
115 +
          "type": "string"
116 +
        },
117 +
        "updatedAt": {
118 +
          "description": "When the bridge last reported.",
119 +
          "format": "datetime",
120 +
          "type": "string"
121 +
        }
122 +
      },
123 +
      "required": [
124 +
        "channel",
125 +
        "requestedAt",
126 +
        "state",
127 +
        "imported",
128 +
        "from",
129 +
        "until",
130 +
        "updatedAt"
131 +
      ],
132 +
      "type": "object"
133 +
    },
52 134
    "bridgedActor": {
53 135
      "description": "Marks a profile view as someone on another service whose messages a bridge relays.",
54 136
      "properties": {
55 137
        "platform": {
56 138
          "description": "The service the person is on.",
57 139
          "maxLength": 64,
58 140
          "type": "string"
59 141
        },
60 142
        "registration": {
61 143
          "description": "Record key of the registration the record was written for.",
62 144
          "format": "tid",
63 145
          "type": "string"
64 146
        },
65 147
        "remoteId": {
66 148
          "description": "Their id on that service.",
67 149
          "maxLength": 256,
68 150
          "type": "string"
69 151
        }
70 152
      },
71 153
      "required": [
72 154
        "registration",
73 155
        "platform",
74 156
        "remoteId"
75 157
      ],
76 158
      "type": "object"
77 159
    },
78 160
    "bridgedReactor": {
79 161
      "description": "Someone on another service who reacted to a message through a bridge.",
80 162
      "properties": {
81 163
        "name": {
82 164
          "description": "Their display name on that service when they reacted.",
83 165
          "maxLength": 128,
84 166
          "type": "string"
85 167
        },
86 168
        "platform": {
87 169
          "description": "The service the person is on.",
88 170
          "maxLength": 64,
89 171
          "type": "string"
90 172
        },
91 173
        "registration": {
92 174
          "description": "Record key of the registration the reaction was written for.",
93 175
          "format": "tid",
94 176
          "type": "string"
95 177
        },
96 178
        "remoteId": {
97 179
          "description": "Their id on that service.",
98 180
          "maxLength": 256,
99 181
          "type": "string"
100 182
        }
101 183
      },
102 184
      "required": [
103 185
        "registration",
104 186
        "platform",
105 187
        "remoteId",
106 188
        "name"
107 189
      ],
108 190
      "type": "object"
109 191
    },
110 192
    "link": {
111 193
      "description": "A Colibri channel kept in sync with a room on another service.",
112 194
      "properties": {
195 +
        "backfill": {
196 +
          "description": "The latest history import an admin asked for.",
197 +
          "ref": "#backfill",
198 +
          "type": "ref"
199 +
        },
113 200
        "channel": {
114 201
          "description": "The Colibri channel.",
115 202
          "format": "space-ref",
116 203
          "type": "string"
117 204
        },
118 205
        "remoteName": {
119 206
          "description": "The room's name on the other service when the link was made.",
120 207
          "maxLength": 128,
121 208
          "type": "string"
122 209
        },
123 210
        "remoteRoom": {
124 211
          "description": "The id of the room on the other service.",
125 212
          "maxLength": 256,
126 213
          "type": "string"
127 214
        }
128 215
      },
129 216
      "required": [
130 217
        "channel",
131 218
        "remoteRoom",
132 219
        "remoteName"
133 220
      ],
134 221
      "type": "object"
135 222
    },
136 223
    "pairingView": {
137 224
      "description": "A pending pairing, shown to an admin before they confirm it.",
138 225
      "properties": {
139 226
        "bridge": {
140 227
          "description": "The bridge that asked to pair.",
141 228
          "format": "did",
142 229
          "type": "string"
143 230
        },
144 231
        "bridgeHandle": {
145 232
          "description": "The bridge's handle, when it resolves.",
146 233
          "format": "handle",
147 234
          "type": "string"
148 235
        },
149 236
        "expiresAt": {
150 237
          "description": "When the code stops working.",
151 238
          "format": "datetime",
152 239
          "type": "string"
153 240
        },
154 241
        "platform": {
155 242
          "description": "The service the bridge connects to.",
156 243
          "maxLength": 64,
157 244
          "type": "string"
158 245
        },
159 246
        "remoteSpace": {
160 247
          "description": "The id of the server, workspace or network on the other service.",
161 248
          "maxLength": 256,
162 249
          "type": "string"
163 250
        },
164 251
        "remoteSpaceName": {
165 252
          "description": "Its name on the other service.",
166 253
          "maxLength": 128,
167 254
          "type": "string"
168 255
        }
169 256
      },
170 257
      "required": [
171 258
        "bridge",
172 259
        "platform",
173 260
        "remoteSpace",
174 261
        "remoteSpaceName",
175 262
        "expiresAt"
176 263
      ],
177 264
      "type": "object"
178 265
    },
179 266
    "registrationView": {
180 267
      "description": "A bridge registered with a community.",
181 268
      "properties": {
269 +
        "backfills": {
270 +
          "description": "Progress of each linked channel's latest history import.",
271 +
          "items": {
272 +
            "description": "A history import.",
273 +
            "ref": "#backfillStatus",
274 +
            "type": "ref"
275 +
          },
276 +
          "type": "array"
277 +
        },
182 278
        "bridge": {
183 279
          "description": "The bridge's DID.",
184 280
          "format": "did",
185 281
          "type": "string"
186 282
        },
187 283
        "bridgeHandle": {
188 284
          "description": "The bridge's handle, when it resolves.",
189 285
          "format": "handle",
190 286
          "type": "string"
191 287
        },
192 288
        "community": {
193 289
          "description": "The community the registration belongs to.",
194 290
          "format": "did",
195 291
          "type": "string"
196 292
        },
197 293
        "createdAt": {
198 294
          "description": "When the bridge was paired.",
199 295
          "format": "datetime",
200 296
          "type": "string"
201 297
        },
202 298
        "createdBy": {
203 299
          "description": "The admin who paired the bridge.",
204 300
          "format": "did",
205 301
          "type": "string"
206 302
        },
207 303
        "enabled": {
208 304
          "description": "Whether the bridge may currently write.",
209 305
          "type": "boolean"
210 306
        },
211 307
        "id": {
212 308
          "description": "Record key of the registration.",
213 309
          "format": "tid",
214 310
          "type": "string"
215 311
        },
216 312
        "links": {
217 313
          "description": "Channels kept in sync.",
218 314
          "items": {
219 315
            "description": "A linked channel.",
220 316
            "ref": "#link",
221 317
            "type": "ref"
222 318
          },
223 319
          "type": "array"
224 320
        },
321 +
        "mirrorModeration": {
322 +
          "description": "Whether moderation crosses the bridge. When on, hiding a bridged message removes its original on the other service, and a moderator removing a relayed message there hides it here.",
323 +
          "type": "boolean"
324 +
        },
225 325
        "platform": {
226 326
          "description": "The service the bridge connects to.",
227 327
          "maxLength": 64,
228 328
          "type": "string"
229 329
        },
230 330
        "remoteSpace": {
231 331
          "description": "The id of the server, workspace or network on the other service.",
232 332
          "maxLength": 256,
233 333
          "type": "string"
234 334
        },
235 335
        "remoteSpaceName": {
236 336
          "description": "Its name on the other service.",
237 337
          "maxLength": 128,
238 338
          "type": "string"
239 339
        },
240 340
        "updatedAt": {
241 341
          "description": "When the registration last changed.",
242 342
          "format": "datetime",
243 343
          "type": "string"
244 344
        }
245 345
      },
246 346
      "required": [
247 347
        "id",
248 348
        "community",
249 349
        "bridge",
250 350
        "platform",
251 351
        "remoteSpace",
252 352
        "remoteSpaceName",
253 353
        "links",
254 354
        "enabled",
255 355
        "createdBy",
256 356
        "createdAt"
257 357
      ],
258 358
      "type": "object"
259 359
    },
260 360
    "remoteAuthor": {
261 361
      "description": "The person on the other service a bridge is writing for.",
262 362
      "properties": {
263 363
        "avatar": {
264 364
          "accept": [
265 365
            "image/png",
266 366
            "image/jpeg",
267 367
            "image/gif",
268 368
            "image/webp"
269 369
          ],
270 370
          "description": "An avatar uploaded earlier with uploadBlob.",
271 371
          "maxSize": 1000000,
272 372
          "type": "blob"
273 373
        },
274 374
        "id": {
275 375
          "description": "The author's id on the other service.",
276 376
          "maxLength": 256,
277 377
          "type": "string"
278 378
        },
279 379
        "name": {
280 380
          "description": "The author's display name on the other service.",
281 381
          "maxLength": 128,
282 382
          "type": "string"
283 383
        }
284 384
      },
285 385
      "required": [
286 386
        "id",
287 387
        "name"
288 388
      ],
289 389
      "type": "object"
290 390
    },
291 391
    "remoteRoom": {
292 392
      "description": "A room a bridge can see on the other service, offered to admins when linking channels.",
293 393
      "properties": {
294 394
        "id": {
295 395
          "description": "The room's id on the other service.",
296 396
          "maxLength": 256,
297 397
          "type": "string"
298 398
        },
299 399
        "kind": {
300 400
          "description": "What sort of room it is.",
301 401
          "knownValues": [
302 402
            "text",
303 403
            "voice",
304 404
            "announcement",
305 405
            "forum",
306 406
            "other"
307 407
          ],
308 408
          "type": "string"
309 409
        },
310 410
        "name": {
311 411
          "description": "The room's name.",
312 412
          "maxLength": 128,
313 413
          "type": "string"
314 414
        },
315 415
        "parent": {
316 416
          "description": "Name of the group or category the room sits in, if any.",
317 417
          "maxLength": 128,
318 418
          "type": "string"
319 419
        }
320 420
      },
321 421
      "required": [
322 422
        "id",
323 423
        "name"
324 424
      ],
325 425
      "type": "object"
326 426
    }
327 427
  },
328 428
  "id": "social.colibri.beta.bridge.defs",
329 429
  "lexicon": 1
330 430
}

Compare Other Versions

Lexicon Garden

@