{
"id": "blue.atplay.slot",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"title",
"version",
"entry",
"bundle",
"bundleKey",
"iwaOrigin",
"createdAt"
],
"properties": {
"game": {
"type": "string",
"format": "at-uri",
"description": "Optional at-uri of the games.gamesgamesgamesgames.game catalog entry this is a build of."
},
"entry": {
"type": "string",
"default": "/index.html",
"maxLength": 512,
"description": "Entry path within the bundle."
},
"title": {
"type": "string",
"maxLength": 1200,
"maxGraphemes": 120
},
"bundle": {
"type": "blob",
"accept": [
"application/webbundle"
],
"maxSize": 104857600,
"description": "The Signed Web Bundle (.swbn)."
},
"version": {
"type": "string",
"maxLength": 32,
"description": "Version string, matching the bundle's web app manifest."
},
"channels": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64
},
"default": [
"default"
],
"description": "Update channels for this version."
},
"bundleKey": {
"type": "string",
"format": "did",
"description": "did:key of the Ed25519 bundle-signing key."
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"iwaOrigin": {
"type": "string",
"maxLength": 128,
"description": "The isolated-app:// origin derived from bundleKey."
},
"thumbnail": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg",
"image/webp"
],
"maxSize": 2000000,
"description": "Cover image."
},
"signatures": {
"type": "array",
"items": {
"ref": "#inlineSig",
"type": "ref"
},
"description": "Optional inline attestations binding the bundle key to the author."
}
}
},
"description": "The record key is the game's stable slug (DNS-safe [a-z0-9-], up to 63 chars); updates reuse it."
},
"inlineSig": {
"type": "object",
"required": [
"repository",
"key",
"sig",
"contentCid"
],
"properties": {
"key": {
"type": "string",
"format": "did",
"description": "Signer did:key (P-256 or secp256k1)."
},
"sig": {
"type": "bytes",
"maxLength": 64,
"description": "64-byte r||s signature."
},
"contentCid": {
"type": "string",
"format": "cid"
},
"repository": {
"type": "string",
"format": "did"
}
},
"description": "An ECDSA (low-S) signature over this record's dag-cbor CID, with `signatures` removed."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "A runnable web/WASM game, published as a Signed Web Bundle blob."
}