space.highport.defs

lexicons.highport.space

Schema Diff

+65 -1

From

CID
bafyreibscqyuzch...
Indexed At
2026-09-12 20:59 UTC
View this version

To

CID
bafyreigzwpq2ewe...
Indexed At
2026-09-15 17:46 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 21 non-breaking changes.

Breaking Changes (2)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#delegationView", src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.certMode", kind: "prop", name: Some("certMode") }
  • ConstraintTightened ConstraintTightened { vertex_id: "space.highport.defs#verificationCheck.name", sort: "knownValues", old_value: "[\"ownership\",\"traffic\",\"conflict\"]", new_value: "[\"ownership\",\"traffic\",\"conflict\",\"certificate\"]" }
Non-Breaking Changes (21)
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationState" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationView" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationView.certMode" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationView.challengeTarget" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationView.grantedAt" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationView.maxNames" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationView.probeHostname" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationView.state" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#delegationView.wildcardObservedAt" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#domainView.delegatedBase" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#domainView.delegation" }
  • AddedEdge AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.challengeTarget", kind: "prop", name: Some("challengeTarget") }
  • AddedEdge AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.grantedAt", kind: "prop", name: Some("grantedAt") }
  • AddedEdge AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.maxNames", kind: "prop", name: Some("maxNames") }
  • AddedEdge AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.probeHostname", kind: "prop", name: Some("probeHostname") }
  • AddedEdge AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.state", kind: "prop", name: Some("state") }
  • AddedEdge AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.wildcardObservedAt", kind: "prop", name: Some("wildcardObservedAt") }
  • AddedEdge AddedEdge { src: "space.highport.defs#delegationView.state", tgt: "space.highport.defs#delegationState", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "space.highport.defs#domainView", tgt: "space.highport.defs#domainView.delegatedBase", kind: "prop", name: Some("delegatedBase") }
  • AddedEdge AddedEdge { src: "space.highport.defs#domainView", tgt: "space.highport.defs#domainView.delegation", kind: "prop", name: Some("delegation") }
  • AddedEdge AddedEdge { src: "space.highport.defs#domainView.delegation", tgt: "space.highport.defs#delegationView", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "space.highport.defs#delegationState" }
  • AddedVertex { vertex_id: "space.highport.defs#delegationView" }
  • AddedVertex { vertex_id: "space.highport.defs#delegationView.certMode" }
  • AddedVertex { vertex_id: "space.highport.defs#delegationView.challengeTarget" }
  • AddedVertex { vertex_id: "space.highport.defs#delegationView.grantedAt" }
  • AddedVertex { vertex_id: "space.highport.defs#delegationView.maxNames" }
  • AddedVertex { vertex_id: "space.highport.defs#delegationView.probeHostname" }
  • AddedVertex { vertex_id: "space.highport.defs#delegationView.state" }
  • AddedVertex { vertex_id: "space.highport.defs#delegationView.wildcardObservedAt" }
  • AddedVertex { vertex_id: "space.highport.defs#domainView.delegatedBase" }
  • AddedVertex { vertex_id: "space.highport.defs#domainView.delegation" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "space.highport.defs#verificationCheck.name", sort: "knownValues", old_value: "[\"ownership\",\"traffic\",\"conflict\"]", new_value: "[\"ownership\",\"traffic\",\"conflict\",\"certificate\"]" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "space.highport.defs#delegationView", src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.certMode", kind: "prop", name: Some("certMode") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.challengeTarget", kind: "prop", name: Some("challengeTarget") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.grantedAt", kind: "prop", name: Some("grantedAt") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.maxNames", kind: "prop", name: Some("maxNames") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.probeHostname", kind: "prop", name: Some("probeHostname") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.state", kind: "prop", name: Some("state") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#delegationView", tgt: "space.highport.defs#delegationView.wildcardObservedAt", kind: "prop", name: Some("wildcardObservedAt") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#delegationView.state", tgt: "space.highport.defs#delegationState", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "space.highport.defs#domainView", tgt: "space.highport.defs#domainView.delegatedBase", kind: "prop", name: Some("delegatedBase") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#domainView", tgt: "space.highport.defs#domainView.delegation", kind: "prop", name: Some("delegation") }
  • Non-breaking: AddedEdge { src: "space.highport.defs#domainView.delegation", tgt: "space.highport.defs#delegationView", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "blobFailure": {
5 5
      "properties": {
6 6
        "cid": {
7 7
          "format": "cid",
8 8
          "type": "string"
9 9
        },
10 10
        "error": {
11 11
          "description": "BlobUnavailable, CidMismatch, FetchFailed.",
12 12
          "type": "string"
13 13
        },
14 14
        "role": {
15 15
          "knownValues": [
16 16
            "manifest",
17 17
            "tile",
18 18
            "parameter",
19 19
            "notFound"
20 20
          ],
21 21
          "type": "string"
22 22
        },
23 23
        "sourceDid": {
24 24
          "format": "did",
25 25
          "type": "string"
26 26
        }
27 27
      },
28 28
      "required": [
29 29
        "cid",
30 30
        "role",
31 31
        "sourceDid",
32 32
        "error"
33 33
      ],
34 34
      "type": "object"
35 35
    },
36 +
    "delegationState": {
37 +
      "description": "Where a base's delegation stands. probing means the wildcard has not yet been proven to route; enabled means it has; routing-lapsed means a proven wildcard stopped routing past its grace, and the names under the base are suspended until it routes again.",
38 +
      "knownValues": [
39 +
        "probing",
40 +
        "enabled",
41 +
        "routing-lapsed"
42 +
      ],
43 +
      "type": "string"
44 +
    },
45 +
    "delegationView": {
46 +
      "description": "What a base's owner has enabled and granted. Each field but certMode is absent where the base has no such fact.",
47 +
      "properties": {
48 +
        "certMode": {
49 +
          "description": "How names under the base obtain certificates. Every base starts per-name.",
50 +
          "knownValues": [
51 +
            "per-name",
52 +
            "wildcard"
53 +
          ],
54 +
          "type": "string"
55 +
        },
56 +
        "challengeTarget": {
57 +
          "description": "The name the base's _acme-challenge CNAME must point at, exactly as the certificate issuer writes to it. Present only while a wildcard grant is live.",
58 +
          "type": "string"
59 +
        },
60 +
        "grantedAt": {
61 +
          "description": "When the live wildcard grant was made.",
62 +
          "format": "datetime",
63 +
          "type": "string"
64 +
        },
65 +
        "maxNames": {
66 +
          "description": "The most names the base may hold in reservation.",
67 +
          "type": "integer"
68 +
        },
69 +
        "probeHostname": {
70 +
          "description": "The random name under the base through which the wildcard is proven to route.",
71 +
          "maxLength": 253,
72 +
          "type": "string"
73 +
        },
74 +
        "state": {
75 +
          "description": "Absent on a base that has not enabled delegation.",
76 +
          "ref": "#delegationState",
77 +
          "type": "ref"
78 +
        },
79 +
        "wildcardObservedAt": {
80 +
          "description": "When the base's wildcard certificate was first seen in certificate storage.",
81 +
          "format": "datetime",
82 +
          "type": "string"
83 +
        }
84 +
      },
85 +
      "required": [
86 +
        "certMode"
87 +
      ],
88 +
      "type": "object"
89 +
    },
36 90
    "denylistEntry": {
37 91
      "properties": {
38 92
        "actor": {
39 93
          "type": "string"
40 94
        },
41 95
        "createdAt": {
42 96
          "format": "datetime",
43 97
          "type": "string"
44 98
        },
45 99
        "kind": {
46 100
          "knownValues": [
47 101
            "domain",
48 102
            "did",
49 103
            "uri",
50 104
            "cid",
51 105
            "pattern",
52 106
            "space"
53 107
          ],
54 108
          "type": "string"
55 109
        },
56 110
        "reason": {
57 111
          "type": "string"
58 112
        },
59 113
        "subject": {
60 114
          "type": "string"
61 115
        }
62 116
      },
63 117
      "required": [
64 118
        "subject",
65 119
        "kind",
66 120
        "createdAt"
67 121
      ],
68 122
      "type": "object"
69 123
    },
70 124
    "dnsInstruction": {
71 125
      "properties": {
72 126
        "name": {
73 127
          "description": "Fully-qualified record name.",
74 128
          "type": "string"
75 129
        },
76 130
        "purpose": {
77 131
          "knownValues": [
78 132
            "ownership",
79 133
            "certificate",
80 134
            "traffic"
81 135
          ],
82 136
          "type": "string"
83 137
        },
84 138
        "required": {
85 139
          "type": "boolean"
86 140
        },
87 141
        "ttl": {
88 142
          "type": "integer"
89 143
        },
90 144
        "type": {
91 145
          "knownValues": [
92 146
            "TXT",
93 147
            "CNAME",
94 148
            "ALIAS",
95 149
            "ANAME",
96 150
            "A",
97 151
            "AAAA"
98 152
          ],
99 153
          "type": "string"
100 154
        },
101 155
        "value": {
102 156
          "type": "string"
103 157
        }
104 158
      },
105 159
      "required": [
106 160
        "type",
107 161
        "name",
108 162
        "value"
109 163
      ],
110 164
      "type": "object"
111 165
    },
112 166
    "domainEvent": {
113 167
      "properties": {
114 168
        "actor": {
115 169
          "type": "string"
116 170
        },
117 171
        "createdAt": {
118 172
          "format": "datetime",
119 173
          "type": "string"
120 174
        },
121 175
        "detail": {
122 176
          "type": "unknown"
123 177
        },
124 178
        "event": {
125 179
          "type": "string"
126 180
        }
127 181
      },
128 182
      "required": [
129 183
        "event",
130 184
        "createdAt"
131 185
      ],
132 186
      "type": "object"
133 187
    },
134 188
    "domainStatus": {
135 189
      "knownValues": [
136 190
        "pending",
137 191
        "verifying",
138 192
        "verified",
139 193
        "active",
140 194
        "failed",
141 195
        "suspended",
142 196
        "released"
143 197
      ],
144 198
      "type": "string"
145 199
    },
146 200
    "domainView": {
147 201
      "properties": {
148 202
        "activatedAt": {
149 203
          "format": "datetime",
150 204
          "type": "string"
151 205
        },
152 206
        "activeCid": {
153 207
          "format": "cid",
154 208
          "type": "string"
155 209
        },
156 210
        "activeRev": {
157 211
          "type": "string"
158 212
        },
159 213
        "activeUri": {
160 214
          "format": "at-uri",
161 215
          "type": "string"
162 216
        },
163 217
        "createdAt": {
164 218
          "format": "datetime",
165 219
          "type": "string"
166 220
        },
221 +
        "delegatedBase": {
222 +
          "description": "On a name reserved under a delegation base: the base whose owner granted it. did is then the identity the name was reserved for, not the base's owner.",
223 +
          "type": "string"
224 +
        },
225 +
        "delegation": {
226 +
          "description": "On a base: what its owner has enabled and granted. Absent on a domain that is not a base.",
227 +
          "ref": "#delegationView",
228 +
          "type": "ref"
229 +
        },
167 230
        "did": {
168 231
          "format": "did",
169 232
          "type": "string"
170 233
        },
171 234
        "domain": {
172 235
          "type": "string"
173 236
        },
174 237
        "entryCount": {
175 238
          "type": "integer"
176 239
        },
177 240
        "pendingCid": {
178 241
          "description": "A validated, prepared record awaiting its commit, if any.",
179 242
          "format": "cid",
180 243
          "type": "string"
181 244
        },
182 245
        "pendingState": {
183 246
          "knownValues": [
184 247
            "preparing",
185 248
            "pending-publication"
186 249
          ],
187 250
          "type": "string"
188 251
        },
189 252
        "sourceKind": {
190 253
          "knownValues": [
191 254
            "inline",
192 255
            "tile"
193 256
          ],
194 257
          "type": "string"
195 258
        },
196 259
        "space": {
197 260
          "description": "The space the domain is registered to; absent for a DID-registered domain. The serving record is the space authority's.",
198 261
          "format": "at-uri",
199 262
          "type": "string"
200 263
        },
201 264
        "status": {
202 265
          "ref": "#domainStatus",
203 266
          "type": "ref"
204 267
        },
205 268
        "tileCid": {
206 269
          "format": "cid",
207 270
          "type": "string"
208 271
        },
209 272
        "tileUri": {
210 273
          "format": "at-uri",
211 274
          "type": "string"
212 275
        },
213 276
        "tls": {
214 277
          "ref": "#tlsStatus",
215 278
          "type": "ref"
216 279
        },
217 280
        "totalBytes": {
218 281
          "type": "integer"
219 282
        },
220 283
        "verifiedAt": {
221 284
          "format": "datetime",
222 285
          "type": "string"
223 286
        }
224 287
      },
225 288
      "required": [
226 289
        "domain",
227 290
        "did",
228 291
        "status",
229 292
        "createdAt"
230 293
      ],
231 294
      "type": "object"
232 295
    },
233 296
    "edgeReachStatus": {
234 297
      "description": "Whether bard's edge routes a serving hostname to this deployment. unknown means no probe has been made and must never be read as a fault; routed means the probe reached this deployment's bard-origin; foreign means something else answered for the hostname; unreachable means nothing answered at all; other-deployment means a bard origin belonging to a different deployment answered; unproven means the answer looked like this deployment's but could not answer the reachability challenge, so something may be imitating it.",
235 298
      "knownValues": [
236 299
        "unknown",
237 300
        "routed",
238 301
        "foreign",
239 302
        "unreachable",
240 303
        "other-deployment",
241 304
        "unproven"
242 305
      ],
243 306
      "type": "string"
244 307
    },
245 308
    "edgeReachability": {
246 309
      "description": "What the deployment's own edge answered for a hostname, measured over the network rather than read from edge configuration. A site can be indexed and activated while the edge has nowhere to send its hostname, and this is the only field that says so.",
247 310
      "properties": {
248 311
        "checkedAt": {
249 312
          "description": "When the probe was made. Absent when status is unknown.",
250 313
          "format": "datetime",
251 314
          "type": "string"
252 315
        },
253 316
        "detail": {
254 317
          "description": "What answered, for a person: a status line, or a transport error. Diagnostic only; nothing branches on it.",
255 318
          "type": "string"
256 319
        },
257 320
        "domain": {
258 321
          "description": "The hostname that was probed, so a reader is told which name is not arriving.",
259 322
          "maxLength": 253,
260 323
          "type": "string"
261 324
        },
262 325
        "status": {
263 326
          "ref": "#edgeReachStatus",
264 327
          "type": "ref"
265 328
        }
266 329
      },
267 330
      "required": [
268 331
        "status",
269 332
        "domain"
270 333
      ],
271 334
      "type": "object"
272 335
    },
273 336
    "indexState": {
274 337
      "knownValues": [
275 338
        "preparing",
276 339
        "pending-publication",
277 340
        "expired",
278 341
        "queued",
279 342
        "fetching",
280 343
        "materializing",
281 344
        "active",
282 345
        "superseded",
283 346
        "rejected",
284 347
        "failed"
285 348
      ],
286 349
      "type": "string"
287 350
    },
288 351
    "jobView": {
289 352
      "properties": {
290 353
        "action": {
291 354
          "type": "string"
292 355
        },
293 356
        "attempts": {
294 357
          "type": "integer"
295 358
        },
296 359
        "finishedAt": {
297 360
          "format": "datetime",
298 361
          "type": "string"
299 362
        },
300 363
        "id": {
301 364
          "type": "integer"
302 365
        },
303 366
        "lastError": {
304 367
          "type": "string"
305 368
        },
306 369
        "scheduledAt": {
307 370
          "format": "datetime",
308 371
          "type": "string"
309 372
        },
310 373
        "startedAt": {
311 374
          "format": "datetime",
312 375
          "type": "string"
313 376
        },
314 377
        "state": {
315 378
          "type": "string"
316 379
        },
317 380
        "uri": {
318 381
          "type": "string"
319 382
        }
320 383
      },
321 384
      "required": [
322 385
        "id",
323 386
        "uri",
324 387
        "action",
325 388
        "state",
326 389
        "attempts",
327 390
        "scheduledAt"
328 391
      ],
329 392
      "type": "object"
330 393
    },
331 394
    "malwareFinding": {
332 395
      "description": "One malware detection. Written before anything is denied or deleted, because the quarantine destroys the sample and nothing after that can re-derive why.",
333 396
      "properties": {
334 397
        "cid": {
335 398
          "description": "The content address. `-` for a detection at upload, where nothing was stored.",
336 399
          "type": "string"
337 400
        },
338 401
        "class": {
339 402
          "description": "`unwanted` is a PUA match and stops short of the publishing identity under the default policy.",
340 403
          "knownValues": [
341 404
            "malware",
342 405
            "unwanted"
343 406
          ],
344 407
          "type": "string"
345 408
        },
346 409
        "did": {
347 410
          "description": "The repository the bytes were fetched from โ€” for a tile resource the tile's author, not the site owner. Absent for content bard authored.",
348 411
          "format": "did",
349 412
          "type": "string"
350 413
        },
351 414
        "domain": {
352 415
          "description": "The hostname it would have served at.",
353 416
          "type": "string"
354 417
        },
355 418
        "foundAt": {
356 419
          "format": "datetime",
357 420
          "type": "string"
358 421
        },
359 422
        "id": {
360 423
          "description": "The finding's row id, which the denylist entry's reason names.",
361 424
          "type": "integer"
362 425
        },
363 426
        "path": {
364 427
          "description": "The manifest key the bytes were mapped at โ€” the field that answers which file. Absent where there is no key: the notFound resource, an upload refused before any record referenced it, and a rescan, which starts from a CID.",
365 428
          "type": "string"
366 429
        },
367 430
        "quarantinedAt": {
368 431
          "description": "When the response finished. Absent means it has not: the content is denied and may still be served.",
369 432
          "format": "datetime",
370 433
          "type": "string"
371 434
        },
372 435
        "signature": {
373 436
          "description": "The signature name, verbatim from the engine.",
374 437
          "type": "string"
375 438
        },
376 439
        "source": {
377 440
          "description": "Where it was found. `rescan` means the content was clean when it arrived and a signature has caught up with it; `admin` means an operator asked about this CID rather than the sweep reaching it.",
378 441
          "knownValues": [
379 442
            "fetch",
380 443
            "upload",
381 444
            "rescan",
382 445
            "admin"
383 446
          ],
384 447
          "type": "string"
385 448
        },
386 449
        "uri": {
387 450
          "description": "The record that referenced it.",
388 451
          "format": "at-uri",
389 452
          "type": "string"
390 453
        }
391 454
      },
392 455
      "required": [
393 456
        "id",
394 457
        "cid",
395 458
        "signature",
396 459
        "class",
397 460
        "source",
398 461
        "foundAt"
399 462
      ],
400 463
      "type": "object"
401 464
    },
402 465
    "missingBlob": {
403 466
      "properties": {
404 467
        "cid": {
405 468
          "format": "cid",
406 469
          "type": "string"
407 470
        },
408 471
        "role": {
409 472
          "knownValues": [
410 473
            "manifest",
411 474
            "tile",
412 475
            "parameter",
413 476
            "notFound"
414 477
          ],
415 478
          "type": "string"
416 479
        },
417 480
        "sourceDid": {
418 481
          "format": "did",
419 482
          "type": "string"
420 483
        }
421 484
      },
422 485
      "required": [
423 486
        "cid",
424 487
        "role",
425 488
        "sourceDid"
426 489
      ],
427 490
      "type": "object"
428 491
    },
429 492
    "preparationStatus": {
430 493
      "properties": {
431 494
        "cid": {
432 495
          "format": "cid",
433 496
          "type": "string"
434 497
        },
435 498
        "expiresAt": {
436 499
          "format": "datetime",
437 500
          "type": "string"
438 501
        },
439 502
        "failed": {
440 503
          "items": {
441 504
            "ref": "#blobFailure",
442 505
            "type": "ref"
443 506
          },
444 507
          "type": "array"
445 508
        },
446 509
        "fetched": {
447 510
          "type": "integer"
448 511
        },
449 512
        "pending": {
450 513
          "type": "integer"
451 514
        },
452 515
        "state": {
453 516
          "knownValues": [
454 517
            "preparing",
455 518
            "pending-publication",
456 519
            "expired"
457 520
          ],
458 521
          "type": "string"
459 522
        }
460 523
      },
461 524
      "required": [
462 525
        "state",
463 526
        "cid",
464 527
        "fetched",
465 528
        "pending",
466 529
        "failed"
467 530
      ],
468 531
      "type": "object"
469 532
    },
470 533
    "siteView": {
471 534
      "properties": {
472 535
        "activatedAt": {
473 536
          "format": "datetime",
474 537
          "type": "string"
475 538
        },
476 539
        "cid": {
477 540
          "format": "cid",
478 541
          "type": "string"
479 542
        },
480 543
        "did": {
481 544
          "format": "did",
482 545
          "type": "string"
483 546
        },
484 547
        "domain": {
485 548
          "type": "string"
486 549
        },
487 550
        "rev": {
488 551
          "type": "string"
489 552
        },
490 553
        "sourceKind": {
491 554
          "knownValues": [
492 555
            "inline",
493 556
            "tile"
494 557
          ],
495 558
          "type": "string"
496 559
        },
497 560
        "space": {
498 561
          "description": "Present for a site published from a space; attribution survives the plane.",
499 562
          "format": "at-uri",
500 563
          "type": "string"
501 564
        },
502 565
        "tile": {
503 566
          "ref": "#tileView",
504 567
          "type": "ref"
505 568
        },
506 569
        "uri": {
507 570
          "format": "at-uri",
508 571
          "type": "string"
509 572
        }
510 573
      },
511 574
      "required": [
512 575
        "domain",
513 576
        "did",
514 577
        "uri",
515 578
        "cid",
516 579
        "rev",
517 580
        "activatedAt",
518 581
        "sourceKind"
519 582
      ],
520 583
      "type": "object"
521 584
    },
522 585
    "spaceEvent": {
523 586
      "properties": {
524 587
        "actor": {
525 588
          "format": "did",
526 589
          "type": "string"
527 590
        },
528 591
        "at": {
529 592
          "format": "datetime",
530 593
          "type": "string"
531 594
        },
532 595
        "cid": {
533 596
          "format": "cid",
534 597
          "type": "string"
535 598
        },
536 599
        "kind": {
537 600
          "knownValues": [
538 601
            "record.created",
539 602
            "record.updated",
540 603
            "record.deleted",
541 604
            "site.activated",
542 605
            "site.deactivated",
543 606
            "tile.ready",
544 607
            "tile.incomplete",
545 608
            "tile.deleted",
546 609
            "access.granted",
547 610
            "access.expired",
548 611
            "registration.renewed",
549 612
            "registration.lapsed",
550 613
            "app-not-allowed",
551 614
            "space.deleted"
552 615
          ],
553 616
          "type": "string"
554 617
        },
555 618
        "seq": {
556 619
          "type": "integer"
557 620
        },
558 621
        "space": {
559 622
          "format": "at-uri",
560 623
          "type": "string"
561 624
        },
562 625
        "subject": {
563 626
          "type": "string"
564 627
        }
565 628
      },
566 629
      "required": [
567 630
        "seq",
568 631
        "space",
569 632
        "kind",
570 633
        "at"
571 634
      ],
572 635
      "type": "object"
573 636
    },
574 637
    "spaceSyncState": {
575 638
      "knownValues": [
576 639
        "connecting",
577 640
        "syncing",
578 641
        "synced",
579 642
        "credential-expired",
580 643
        "registration-lapsed",
581 644
        "app-not-allowed",
582 645
        "authority-unreachable",
583 646
        "deleted",
584 647
        "disconnected"
585 648
      ],
586 649
      "type": "string"
587 650
    },
588 651
    "spaceView": {
589 652
      "properties": {
590 653
        "accessExpiresAt": {
591 654
          "description": "When bard's current space credential expires; absent when bard holds none.",
592 655
          "format": "datetime",
593 656
          "type": "string"
594 657
        },
595 658
        "accessGrantedBy": {
596 659
          "format": "did",
597 660
          "type": "string"
598 661
        },
599 662
        "appAccess": {
600 663
          "knownValues": [
601 664
            "open",
602 665
            "allow-list",
603 666
            "unknown"
604 667
          ],
605 668
          "type": "string"
606 669
        },
607 670
        "authority": {
608 671
          "format": "did",
609 672
          "type": "string"
610 673
        },
611 674
        "connectedAt": {
612 675
          "format": "datetime",
613 676
          "type": "string"
614 677
        },
615 678
        "domainCount": {
616 679
          "type": "integer"
617 680
        },
618 681
        "headRev": {
619 682
          "type": "string"
620 683
        },
621 684
        "lastCheckedAt": {
622 685
          "format": "datetime",
623 686
          "type": "string"
624 687
        },
625 688
        "lastNotifiedAt": {
626 689
          "format": "datetime",
627 690
          "type": "string"
628 691
        },
629 692
        "policy": {
630 693
          "knownValues": [
631 694
            "public",
632 695
            "member-list",
633 696
            "managing-app",
634 697
            "unknown"
635 698
          ],
636 699
          "type": "string"
637 700
        },
638 701
        "queuedNotifications": {
639 702
          "description": "Receipts waiting for a credential.",
640 703
          "type": "integer"
641 704
        },
642 705
        "registrationExpiresAt": {
643 706
          "format": "datetime",
644 707
          "type": "string"
645 708
        },
646 709
        "skey": {
647 710
          "type": "string"
648 711
        },
649 712
        "syncState": {
650 713
          "ref": "#spaceSyncState",
651 714
          "type": "ref"
652 715
        },
653 716
        "tileCount": {
654 717
          "type": "integer"
655 718
        },
656 719
        "uri": {
657 720
          "format": "at-uri",
658 721
          "type": "string"
659 722
        }
660 723
      },
661 724
      "required": [
662 725
        "uri",
663 726
        "authority",
664 727
        "skey",
665 728
        "syncState",
666 729
        "connectedAt"
667 730
      ],
668 731
      "type": "object"
669 732
    },
670 733
    "tileView": {
671 734
      "properties": {
672 735
        "cid": {
673 736
          "format": "cid",
674 737
          "type": "string"
675 738
        },
676 739
        "description": {
677 740
          "type": "string"
678 741
        },
679 742
        "did": {
680 743
          "format": "did",
681 744
          "type": "string"
682 745
        },
683 746
        "entryCount": {
684 747
          "type": "integer"
685 748
        },
686 749
        "handle": {
687 750
          "description": "The author's handle, present only when it resolves back to did. Absent is normal and not an error: a handle that has just changed, or one whose DNS is unreachable, is reported as absent rather than as a claim, and clients show did instead.",
688 751
          "format": "handle",
689 752
          "type": "string"
690 753
        },
691 754
        "iconUrl": {
692 755
          "description": "https://highport.space/xrpc/space.highport.sites.getTileIcon?cid={cid}; absent if the tile has no icon.",
693 756
          "format": "uri",
694 757
          "type": "string"
695 758
        },
696 759
        "indexedAt": {
697 760
          "format": "datetime",
698 761
          "type": "string"
699 762
        },
700 763
        "latestCid": {
701 764
          "description": "The newest indexed version at this URI, when it differs from cid.",
702 765
          "format": "cid",
703 766
          "type": "string"
704 767
        },
705 768
        "name": {
706 769
          "type": "string"
707 770
        },
708 771
        "params": {
709 772
          "items": {
710 773
            "ref": "space.highport.sites.tile#param",
711 774
            "type": "ref"
712 775
          },
713 776
          "type": "array"
714 777
        },
715 778
        "space": {
716 779
          "description": "Present for a space tile; never on the public surface.",
717 780
          "format": "at-uri",
718 781
          "type": "string"
719 782
        },
720 783
        "state": {
721 784
          "knownValues": [
722 785
            "indexing",
723 786
            "ready",
724 787
            "incomplete",
725 788
            "rejected",
726 789
            "suspended",
727 790
            "deleted"
728 791
          ],
729 792
          "type": "string"
730 793
        },
731 794
        "totalBytes": {
732 795
          "type": "integer"
733 796
        },
734 797
        "uri": {
735 798
          "format": "at-uri",
736 799
          "type": "string"
737 800
        }
738 801
      },
739 802
      "required": [
740 803
        "uri",
741 804
        "cid",
742 805
        "did",
743 806
        "name",
744 807
        "state",
745 808
        "indexedAt"
746 809
      ],
747 810
      "type": "object"
748 811
    },
749 812
    "tlsStatus": {
750 813
      "knownValues": [
751 814
        "none",
752 815
        "pending",
753 816
        "issued",
754 817
        "renewing",
755 818
        "failed"
756 819
      ],
757 820
      "type": "string"
758 821
    },
759 822
    "tlsView": {
760 823
      "properties": {
761 824
        "expiresAt": {
762 825
          "format": "datetime",
763 826
          "type": "string"
764 827
        },
765 828
        "issuedAt": {
766 829
          "format": "datetime",
767 830
          "type": "string"
768 831
        },
769 832
        "lastError": {
770 833
          "type": "string"
771 834
        },
772 835
        "status": {
773 836
          "ref": "#tlsStatus",
774 837
          "type": "ref"
775 838
        }
776 839
      },
777 840
      "required": [
778 841
        "status"
779 842
      ],
780 843
      "type": "object"
781 844
    },
782 845
    "validationError": {
783 846
      "properties": {
784 847
        "message": {
785 848
          "type": "string"
786 849
        },
787 850
        "name": {
788 851
          "description": "A DESIGN.md ยง3.8 error name, e.g. DuplicatePath, RedirectTargetNotFound, ParameterTypeMismatch.",
789 852
          "type": "string"
790 853
        },
791 854
        "path": {
792 855
          "description": "JSON Pointer into the record, when the error concerns one field or entry.",
793 856
          "type": "string"
794 857
        }
795 858
      },
796 859
      "required": [
797 860
        "name",
798 861
        "message"
799 862
      ],
800 863
      "type": "object"
801 864
    },
802 865
    "verificationCheck": {
803 866
      "properties": {
804 867
        "checkedAt": {
805 868
          "format": "datetime",
806 869
          "type": "string"
807 870
        },
808 871
        "detail": {
809 872
          "type": "string"
810 873
        },
811 874
        "name": {
812 875
          "knownValues": [
813 876
            "ownership",
814 877
            "traffic",
815 -
            "conflict"
878 +
            "conflict",
879 +
            "certificate"
816 880
          ],
817 881
          "type": "string"
818 882
        },
819 883
        "passed": {
820 884
          "type": "boolean"
821 885
        }
822 886
      },
823 887
      "required": [
824 888
        "name",
825 889
        "passed",
826 890
        "checkedAt"
827 891
      ],
828 892
      "type": "object"
829 893
    },
830 894
    "verificationView": {
831 895
      "properties": {
832 896
        "checks": {
833 897
          "items": {
834 898
            "ref": "#verificationCheck",
835 899
            "type": "ref"
836 900
          },
837 901
          "type": "array"
838 902
        },
839 903
        "lastCheckedAt": {
840 904
          "format": "datetime",
841 905
          "type": "string"
842 906
        },
843 907
        "status": {
844 908
          "ref": "#domainStatus",
845 909
          "type": "ref"
846 910
        }
847 911
      },
848 912
      "required": [
849 913
        "status",
850 914
        "checks"
851 915
      ],
852 916
      "type": "object"
853 917
    }
854 918
  },
855 919
  "id": "space.highport.defs",
856 920
  "lexicon": 1
857 921
}

Compare Other Versions

Lexicon Garden

@