{ "lexicon": 1, "id": "place.wisp.fs", "defs": { "main": { "type": "record", "description": "Virtual filesystem manifest for a Wisp site", "record": { "type": "object", "required": ["site", "root", "createdAt"], "properties": { "site": { "type": "string" }, "root": { "type": "ref", "ref": "#directory" }, "fileCount": { "type": "integer", "minimum": 0, "maximum": 1000 }, "createdAt": { "type": "string", "format": "datetime" } } } }, "file": { "type": "object", "required": ["type", "blob"], "properties": { "type": { "type": "string", "const": "file" }, "blob": { "type": "blob", "accept": ["*/*"], "maxSize": 1000000, "description": "Content blob ref" }, "encoding": { "type": "string", "enum": ["gzip"], "description": "Content encoding (e.g., gzip for compressed files)" }, "mimeType": { "type": "string", "description": "Original MIME type before compression" }, "base64": { "type": "boolean", "description": "True if blob content is base64-encoded (used to bypass PDS content sniffing)" } } }, "directory": { "type": "object", "required": ["type", "entries"], "properties": { "type": { "type": "string", "const": "directory" }, "entries": { "type": "array", "maxLength": 500, "items": { "type": "ref", "ref": "#entry" } } } }, "entry": { "type": "object", "required": ["name", "node"], "properties": { "name": { "type": "string", "maxLength": 255 }, "node": { "type": "union", "refs": ["#file", "#directory"] } } } } }