Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol.
wisp.place
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 }
26 },
27 "directory": {
28 "type": "object",
29 "required": ["type", "entries"],
30 "properties": {
31 "type": { "type": "string", "const": "directory" },
32 "entries": {
33 "type": "array",
34 "maxLength": 500,
35 "items": { "type": "ref", "ref": "#entry" }
36 }
37 }
38 },
39 "entry": {
40 "type": "object",
41 "required": ["name", "node"],
42 "properties": {
43 "name": { "type": "string", "maxLength": 255 },
44 "node": { "type": "union", "refs": ["#file", "#directory"] }
45 }
46 }
47 }
48}