1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{
"lexicon": 1,
"id": "com.fedfork.exec.source.manifest",
"defs": {
"main": {
"type": "record",
"key": "any",
"description": "An immutable snapshot of the source files of a WebAssembly module and the build that turns them into its blob. Never updated: a new build is a new manifest.",
"record": {
"type": "object",
"required": ["name", "language", "files", "build", "createdAt"],
"properties": {
"name": {
"type": "string",
"maxLength": 2560,
"maxGraphemes": 256
},
"description": {
"type": "string",
"maxLength": 30000,
"maxGraphemes": 3000
},
"language": {
"type": "string",
"maxLength": 256,
"knownValues": ["assemblyscript", "rust"]
},
"files": {
"type": "array",
"minLength": 1,
"maxLength": 2048,
"items": { "type": "ref", "ref": "#entry" }
},
"build": { "type": "ref", "ref": "#build" },
"output": { "type": "ref", "ref": "#output" },
"origin": { "type": "ref", "ref": "#origin" },
"createdAt": {
"type": "string",
"format": "datetime"
}
}
}
},
"entry": {
"type": "object",
"required": ["path", "file"],
"properties": {
"path": {
"type": "string",
"maxLength": 4096,
"description": "Path relative to the build's working directory, with forward slashes and no '..' segments."
},
"file": {
"type": "ref",
"ref": "com.atproto.repo.strongRef",
"description": "The com.fedfork.exec.source.file record holding the contents."
}
}
},
"build": {
"type": "object",
"required": ["tool", "version", "command"],
"properties": {
"tool": {
"type": "string",
"maxLength": 256,
"knownValues": ["asc", "cargo"]
},
"version": {
"type": "string",
"maxLength": 1024,
"description": "The compiler version, for example 'assemblyscript 0.28.20' or 'rustc 1.91.0 (f8297e351 2025-10-28)'."
},
"command": {
"type": "string",
"maxLength": 8192,
"description": "The command run in the working directory to produce the module."
},
"artifact": {
"type": "string",
"maxLength": 4096,
"description": "Path of the built module, relative to the working directory."
}
}
},
"output": {
"type": "object",
"required": ["sha256", "size"],
"properties": {
"sha256": {
"type": "string",
"minLength": 64,
"maxLength": 64,
"description": "Lowercase hex sha256 of the module the build produced."
},
"size": {
"type": "integer",
"minimum": 0
}
}
},
"origin": {
"type": "object",
"required": ["repository"],
"properties": {
"repository": {
"type": "string",
"format": "uri",
"maxLength": 8192
},
"commit": {
"type": "string",
"maxLength": 256
}
}
}
}
}