at.functions.metadata
Schema Diff
+5 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "at.functions.metadata:body.updatedAt" }
- AddedEdge AddedEdge { src: "at.functions.metadata:body", tgt: "at.functions.metadata:body.updatedAt", kind: "prop", name: Some("updatedAt") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "at.functions.metadata:body.updatedAt" }
Additional Notes
- Non-breaking: AddedEdge { src: "at.functions.metadata:body", tgt: "at.functions.metadata:body.updatedAt", kind: "prop", name: Some("updatedAt") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A WebAssembly function registered on AT Protocol",
6
6
"key": "any",
7
7
"record": {
8
8
"properties": {
9
9
"allowedHosts": {
10
10
"description": "For host-v1: list of AT URIs the function may read from",
11
11
"items": {
12
12
"type": "string"
13
13
},
14
14
"type": "array"
15
15
},
16
16
"code": {
17
17
"accept": [
18
18
"application/wasm"
19
19
],
20
20
"description": "Compiled WebAssembly binary",
21
21
"type": "blob"
22
22
},
23
23
"description": {
24
24
"description": "Optional description of what the function does",
25
25
"maxLength": 2048,
26
26
"type": "string"
27
27
},
28
28
"entrypoint": {
29
29
"const": "run",
30
30
"description": "WASM export name to call (always 'run')",
31
31
"type": "string"
32
32
},
33
33
"inputEncoding": {
34
34
"const": "application/json",
35
35
"description": "Input encoding (always application/json)",
36
36
"type": "string"
37
37
},
38
38
"inputSchema": {
39
39
"description": "Optional JSON Schema for input validation",
40
40
"type": "unknown"
41
41
},
42
42
"maxDurationMs": {
43
43
"default": 100,
44
44
"description": "Execution timeout in milliseconds",
45
45
"maximum": 5000,
46
46
"minimum": 1,
47
47
"type": "integer"
48
48
},
49
49
"maxMemoryMb": {
50
50
"default": 32,
51
51
"description": "Memory limit in megabytes",
52
52
"maximum": 256,
53
53
"minimum": 1,
54
54
"type": "integer"
55
55
},
56
56
"mode": {
57
57
"description": "Execution mode",
58
58
"knownValues": [
59
59
"pure-v1",
60
60
"host-v1",
61
61
"component-v1"
62
62
],
63
63
"type": "string"
64
64
},
65
65
"name": {
66
66
"description": "Human-readable function name",
67
67
"maxLength": 128,
68
68
"type": "string"
69
69
},
70
70
"outputEncoding": {
71
71
"const": "application/json",
72
72
"description": "Output encoding (always application/json)",
73
73
"type": "string"
74
74
},
75
75
"outputSchema": {
76
76
"description": "Optional JSON Schema for output description",
77
77
"type": "unknown"
78
78
},
79
79
"public": {
80
80
"default": true,
81
81
"description": "Whether this function is publicly invocable",
82
82
"type": "boolean"
83
83
},
84
+
"updatedAt": {
85
+
"description": "Last update time (ISO 8601 string). Useful for ensuring deploys produce a repo commit.",
86
+
"maxLength": 64,
87
+
"type": "string"
88
+
},
84
89
"version": {
85
90
"description": "Semver string",
86
91
"maxLength": 32,
87
92
"type": "string"
88
93
}
89
94
},
90
95
"required": [
91
96
"name",
92
97
"version",
93
98
"mode",
94
99
"code",
95
100
"entrypoint",
96
101
"inputEncoding",
97
102
"outputEncoding"
98
103
],
99
104
"type": "object"
100
105
},
101
106
"type": "record"
102
107
}
103
108
},
104
109
"id": "at.functions.metadata",
105
110
"lexicon": 1
106
111
}