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