at.functions.metadata

hamburgerz.bsky.social

Schema Diff

+5 -0

From

CID
bafyreihe2b4ontp...
Indexed At
2026-04-26 02:32 UTC
View this version

To

CID
bafyreidwdt7uloo...
Indexed At
2026-08-03 18:44 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@