space.highport.defs

lexicons.highport.space

Schema Diff

+109 -0

From

CID
bafyreig7c6k3lc7...
Indexed At
2026-09-04 22:52 UTC
View this version

To

CID
bafyreidatnjlok7...
Indexed At
2026-09-11 04:09 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

8 breaking changes, 26 non-breaking changes.

Breaking Changes (8)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#edgeReachability", src: "space.highport.defs#edgeReachability", tgt: "space.highport.defs#edgeReachability.domain", kind: "prop", name: Some("domain") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#edgeReachability", src: "space.highport.defs#edgeReachability", tgt: "space.highport.defs#edgeReachability.status", kind: "prop", name: Some("status") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#malwareFinding", src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.cid", kind: "prop", name: Some("cid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#malwareFinding", src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.id", kind: "prop", name: Some("id") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#malwareFinding", src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.signature", kind: "prop", name: Some("signature") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#malwareFinding", src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.foundAt", kind: "prop", name: Some("foundAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#malwareFinding", src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.source", kind: "prop", name: Some("source") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "space.highport.defs#malwareFinding", src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.class", kind: "prop", name: Some("class") }
Non-Breaking Changes (26)
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#edgeReachStatus" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#edgeReachability" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#edgeReachability.checkedAt" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#edgeReachability.detail" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#edgeReachability.domain" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#edgeReachability.status" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.cid" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.class" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.did" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.domain" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.foundAt" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.id" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.path" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.quarantinedAt" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.signature" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.source" }
  • AddedVertex AddedVertex { vertex_id: "space.highport.defs#malwareFinding.uri" }
  • AddedEdge AddedEdge { src: "space.highport.defs#edgeReachability", tgt: "space.highport.defs#edgeReachability.checkedAt", kind: "prop", name: Some("checkedAt") }
  • AddedEdge AddedEdge { src: "space.highport.defs#edgeReachability", tgt: "space.highport.defs#edgeReachability.detail", kind: "prop", name: Some("detail") }
  • AddedEdge AddedEdge { src: "space.highport.defs#edgeReachability.status", tgt: "space.highport.defs#edgeReachStatus", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.did", kind: "prop", name: Some("did") }
  • AddedEdge AddedEdge { src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.domain", kind: "prop", name: Some("domain") }
  • AddedEdge AddedEdge { src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.path", kind: "prop", name: Some("path") }
  • AddedEdge AddedEdge { src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.quarantinedAt", kind: "prop", name: Some("quarantinedAt") }
  • AddedEdge AddedEdge { src: "space.highport.defs#malwareFinding", tgt: "space.highport.defs#malwareFinding.uri", kind: "prop", name: Some("uri") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "space.highport.defs#edgeReachStatus" }
  • AddedVertex { vertex_id: "space.highport.defs#edgeReachability" }
  • AddedVertex { vertex_id: "space.highport.defs#edgeReachability.checkedAt" }
  • AddedVertex { vertex_id: "space.highport.defs#edgeReachability.detail" }
  • AddedVertex { vertex_id: "space.highport.defs#edgeReachability.domain" }
  • AddedVertex { vertex_id: "space.highport.defs#edgeReachability.status" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.cid" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.class" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.did" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.domain" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.foundAt" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.id" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.path" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.quarantinedAt" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.signature" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.source" }
  • AddedVertex { vertex_id: "space.highport.defs#malwareFinding.uri" }

Additional Notes

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

Compare Other Versions

Lexicon Garden

@