Monorepo for Wisp.place. A static site hosting service built on top of the AT Protocol.
at main 1.7 kB view raw
1{ 2 "lexicon": 1, 3 "id": "place.wisp.fs", 4 "defs": { 5 "main": { 6 "type": "record", 7 "description": "Virtual filesystem manifest for a Wisp site", 8 "record": { 9 "type": "object", 10 "required": ["site", "root", "createdAt"], 11 "properties": { 12 "site": { "type": "string" }, 13 "root": { "type": "ref", "ref": "#directory" }, 14 "fileCount": { "type": "integer", "minimum": 0, "maximum": 1000 }, 15 "createdAt": { "type": "string", "format": "datetime" } 16 } 17 } 18 }, 19 "file": { 20 "type": "object", 21 "required": ["type", "blob"], 22 "properties": { 23 "type": { "type": "string", "const": "file" }, 24 "blob": { "type": "blob", "accept": ["*/*"], "maxSize": 1000000, "description": "Content blob ref" }, 25 "encoding": { "type": "string", "enum": ["gzip"], "description": "Content encoding (e.g., gzip for compressed files)" }, 26 "mimeType": { "type": "string", "description": "Original MIME type before compression" }, 27 "base64": { "type": "boolean", "description": "True if blob content is base64-encoded (used to bypass PDS content sniffing)" } 28 } 29 }, 30 "directory": { 31 "type": "object", 32 "required": ["type", "entries"], 33 "properties": { 34 "type": { "type": "string", "const": "directory" }, 35 "entries": { 36 "type": "array", 37 "maxLength": 500, 38 "items": { "type": "ref", "ref": "#entry" } 39 } 40 } 41 }, 42 "entry": { 43 "type": "object", 44 "required": ["name", "node"], 45 "properties": { 46 "name": { "type": "string", "maxLength": 255 }, 47 "node": { "type": "union", "refs": ["#file", "#directory"] } 48 } 49 } 50 } 51}