{
"id": "space.highport.defs",
"defs": {
"jobView": {
"type": "object",
"required": [
"id",
"uri",
"action",
"state",
"attempts",
"scheduledAt"
],
"properties": {
"id": {
"type": "integer"
},
"uri": {
"type": "string"
},
"state": {
"type": "string"
},
"action": {
"type": "string"
},
"attempts": {
"type": "integer"
},
"lastError": {
"type": "string"
},
"startedAt": {
"type": "string",
"format": "datetime"
},
"finishedAt": {
"type": "string",
"format": "datetime"
},
"scheduledAt": {
"type": "string",
"format": "datetime"
}
}
},
"tlsView": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"ref": "#tlsStatus",
"type": "ref"
},
"issuedAt": {
"type": "string",
"format": "datetime"
},
"expiresAt": {
"type": "string",
"format": "datetime"
},
"lastError": {
"type": "string"
}
}
},
"siteView": {
"type": "object",
"required": [
"domain",
"did",
"uri",
"cid",
"rev",
"activatedAt",
"sourceKind"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"did": {
"type": "string",
"format": "did"
},
"rev": {
"type": "string"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"tile": {
"ref": "#tileView",
"type": "ref"
},
"space": {
"type": "string",
"format": "at-uri",
"description": "Present for a site published from a space; attribution survives the plane."
},
"domain": {
"type": "string"
},
"sourceKind": {
"type": "string",
"knownValues": [
"inline",
"tile"
]
},
"activatedAt": {
"type": "string",
"format": "datetime"
}
}
},
"tileView": {
"type": "object",
"required": [
"uri",
"cid",
"did",
"name",
"state",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"did": {
"type": "string",
"format": "did"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"name": {
"type": "string"
},
"space": {
"type": "string",
"format": "at-uri",
"description": "Present for a space tile; never on the public surface."
},
"state": {
"type": "string",
"knownValues": [
"indexing",
"ready",
"incomplete",
"rejected",
"suspended",
"deleted"
]
},
"handle": {
"type": "string",
"format": "handle",
"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."
},
"params": {
"type": "array",
"items": {
"ref": "space.highport.sites.tile#param",
"type": "ref"
}
},
"iconUrl": {
"type": "string",
"format": "uri",
"description": "https://highport.space/xrpc/space.highport.sites.getTileIcon?cid={cid}; absent if the tile has no icon."
},
"indexedAt": {
"type": "string",
"format": "datetime"
},
"latestCid": {
"type": "string",
"format": "cid",
"description": "The newest indexed version at this URI, when it differs from cid."
},
"entryCount": {
"type": "integer"
},
"totalBytes": {
"type": "integer"
},
"description": {
"type": "string"
}
}
},
"spaceView": {
"type": "object",
"required": [
"uri",
"authority",
"skey",
"syncState",
"connectedAt"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"skey": {
"type": "string"
},
"policy": {
"type": "string",
"knownValues": [
"public",
"member-list",
"managing-app",
"unknown"
]
},
"headRev": {
"type": "string"
},
"appAccess": {
"type": "string",
"knownValues": [
"open",
"allow-list",
"unknown"
]
},
"authority": {
"type": "string",
"format": "did"
},
"syncState": {
"ref": "#spaceSyncState",
"type": "ref"
},
"tileCount": {
"type": "integer"
},
"connectedAt": {
"type": "string",
"format": "datetime"
},
"domainCount": {
"type": "integer"
},
"lastCheckedAt": {
"type": "string",
"format": "datetime"
},
"lastNotifiedAt": {
"type": "string",
"format": "datetime"
},
"accessExpiresAt": {
"type": "string",
"format": "datetime",
"description": "When bard's current space credential expires; absent when bard holds none."
},
"accessGrantedBy": {
"type": "string",
"format": "did"
},
"queuedNotifications": {
"type": "integer",
"description": "Receipts waiting for a credential."
},
"registrationExpiresAt": {
"type": "string",
"format": "datetime"
}
}
},
"tlsStatus": {
"type": "string",
"knownValues": [
"none",
"pending",
"issued",
"renewing",
"failed"
]
},
"domainView": {
"type": "object",
"required": [
"domain",
"did",
"status",
"createdAt"
],
"properties": {
"did": {
"type": "string",
"format": "did"
},
"tls": {
"ref": "#tlsStatus",
"type": "ref"
},
"space": {
"type": "string",
"format": "at-uri",
"description": "The space the domain is registered to; absent for a DID-registered domain. The serving record is the space authority's."
},
"domain": {
"type": "string"
},
"status": {
"ref": "#domainStatus",
"type": "ref"
},
"tileCid": {
"type": "string",
"format": "cid"
},
"tileUri": {
"type": "string",
"format": "at-uri"
},
"activeCid": {
"type": "string",
"format": "cid"
},
"activeRev": {
"type": "string"
},
"activeUri": {
"type": "string",
"format": "at-uri"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"entryCount": {
"type": "integer"
},
"pendingCid": {
"type": "string",
"format": "cid",
"description": "A validated, prepared record awaiting its commit, if any."
},
"sourceKind": {
"type": "string",
"knownValues": [
"inline",
"tile"
]
},
"totalBytes": {
"type": "integer"
},
"verifiedAt": {
"type": "string",
"format": "datetime"
},
"activatedAt": {
"type": "string",
"format": "datetime"
},
"pendingState": {
"type": "string",
"knownValues": [
"preparing",
"pending-publication"
]
}
}
},
"indexState": {
"type": "string",
"knownValues": [
"preparing",
"pending-publication",
"expired",
"queued",
"fetching",
"materializing",
"active",
"superseded",
"rejected",
"failed"
]
},
"spaceEvent": {
"type": "object",
"required": [
"seq",
"space",
"kind",
"at"
],
"properties": {
"at": {
"type": "string",
"format": "datetime"
},
"cid": {
"type": "string",
"format": "cid"
},
"seq": {
"type": "integer"
},
"kind": {
"type": "string",
"knownValues": [
"record.created",
"record.updated",
"record.deleted",
"site.activated",
"site.deactivated",
"tile.ready",
"tile.incomplete",
"tile.deleted",
"access.granted",
"access.expired",
"registration.renewed",
"registration.lapsed",
"app-not-allowed",
"space.deleted"
]
},
"actor": {
"type": "string",
"format": "did"
},
"space": {
"type": "string",
"format": "at-uri"
},
"subject": {
"type": "string"
}
}
},
"blobFailure": {
"type": "object",
"required": [
"cid",
"role",
"sourceDid",
"error"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"role": {
"type": "string",
"knownValues": [
"manifest",
"tile",
"parameter",
"notFound"
]
},
"error": {
"type": "string",
"description": "BlobUnavailable, CidMismatch, FetchFailed."
},
"sourceDid": {
"type": "string",
"format": "did"
}
}
},
"domainEvent": {
"type": "object",
"required": [
"event",
"createdAt"
],
"properties": {
"actor": {
"type": "string"
},
"event": {
"type": "string"
},
"detail": {
"type": "unknown"
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
},
"missingBlob": {
"type": "object",
"required": [
"cid",
"role",
"sourceDid"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"role": {
"type": "string",
"knownValues": [
"manifest",
"tile",
"parameter",
"notFound"
]
},
"sourceDid": {
"type": "string",
"format": "did"
}
}
},
"domainStatus": {
"type": "string",
"knownValues": [
"pending",
"verifying",
"verified",
"active",
"failed",
"suspended",
"released"
]
},
"denylistEntry": {
"type": "object",
"required": [
"subject",
"kind",
"createdAt"
],
"properties": {
"kind": {
"type": "string",
"knownValues": [
"domain",
"did",
"uri",
"cid",
"pattern",
"space"
]
},
"actor": {
"type": "string"
},
"reason": {
"type": "string"
},
"subject": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
},
"dnsInstruction": {
"type": "object",
"required": [
"type",
"name",
"value"
],
"properties": {
"ttl": {
"type": "integer"
},
"name": {
"type": "string",
"description": "Fully-qualified record name."
},
"type": {
"type": "string",
"knownValues": [
"TXT",
"CNAME",
"ALIAS",
"ANAME",
"A",
"AAAA"
]
},
"value": {
"type": "string"
},
"purpose": {
"type": "string",
"knownValues": [
"ownership",
"certificate",
"traffic"
]
},
"required": {
"type": "boolean"
}
}
},
"malwareFinding": {
"type": "object",
"required": [
"id",
"cid",
"signature",
"class",
"source",
"foundAt"
],
"properties": {
"id": {
"type": "integer",
"description": "The finding's row id, which the denylist entry's reason names."
},
"cid": {
"type": "string",
"description": "The content address. `-` for a detection at upload, where nothing was stored."
},
"did": {
"type": "string",
"format": "did",
"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."
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "The record that referenced it."
},
"path": {
"type": "string",
"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."
},
"class": {
"type": "string",
"description": "`unwanted` is a PUA match and stops short of the publishing identity under the default policy.",
"knownValues": [
"malware",
"unwanted"
]
},
"domain": {
"type": "string",
"description": "The hostname it would have served at."
},
"source": {
"type": "string",
"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.",
"knownValues": [
"fetch",
"upload",
"rescan",
"admin"
]
},
"foundAt": {
"type": "string",
"format": "datetime"
},
"signature": {
"type": "string",
"description": "The signature name, verbatim from the engine."
},
"quarantinedAt": {
"type": "string",
"format": "datetime",
"description": "When the response finished. Absent means it has not: the content is denied and may still be served."
}
},
"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."
},
"spaceSyncState": {
"type": "string",
"knownValues": [
"connecting",
"syncing",
"synced",
"credential-expired",
"registration-lapsed",
"app-not-allowed",
"authority-unreachable",
"deleted",
"disconnected"
]
},
"edgeReachStatus": {
"type": "string",
"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.",
"knownValues": [
"unknown",
"routed",
"foreign",
"unreachable",
"other-deployment",
"unproven"
]
},
"validationError": {
"type": "object",
"required": [
"name",
"message"
],
"properties": {
"name": {
"type": "string",
"description": "A DESIGN.md §3.8 error name, e.g. DuplicatePath, RedirectTargetNotFound, ParameterTypeMismatch."
},
"path": {
"type": "string",
"description": "JSON Pointer into the record, when the error concerns one field or entry."
},
"message": {
"type": "string"
}
}
},
"edgeReachability": {
"type": "object",
"required": [
"status",
"domain"
],
"properties": {
"detail": {
"type": "string",
"description": "What answered, for a person: a status line, or a transport error. Diagnostic only; nothing branches on it."
},
"domain": {
"type": "string",
"maxLength": 253,
"description": "The hostname that was probed, so a reader is told which name is not arriving."
},
"status": {
"ref": "#edgeReachStatus",
"type": "ref"
},
"checkedAt": {
"type": "string",
"format": "datetime",
"description": "When the probe was made. Absent when status is unknown."
}
},
"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."
},
"verificationView": {
"type": "object",
"required": [
"status",
"checks"
],
"properties": {
"checks": {
"type": "array",
"items": {
"ref": "#verificationCheck",
"type": "ref"
}
},
"status": {
"ref": "#domainStatus",
"type": "ref"
},
"lastCheckedAt": {
"type": "string",
"format": "datetime"
}
}
},
"preparationStatus": {
"type": "object",
"required": [
"state",
"cid",
"fetched",
"pending",
"failed"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"state": {
"type": "string",
"knownValues": [
"preparing",
"pending-publication",
"expired"
]
},
"failed": {
"type": "array",
"items": {
"ref": "#blobFailure",
"type": "ref"
}
},
"fetched": {
"type": "integer"
},
"pending": {
"type": "integer"
},
"expiresAt": {
"type": "string",
"format": "datetime"
}
}
},
"verificationCheck": {
"type": "object",
"required": [
"name",
"passed",
"checkedAt"
],
"properties": {
"name": {
"type": "string",
"knownValues": [
"ownership",
"traffic",
"conflict"
]
},
"detail": {
"type": "string"
},
"passed": {
"type": "boolean"
},
"checkedAt": {
"type": "string",
"format": "datetime"
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}