town.muni.arbiter.createSpace

zicklag.dev

Schema Diff

+9 -2

From

CID
bafyreiesmsu6xsq...
Indexed At
2026-05-19 19:41 UTC
View this version

To

CID
bafyreic3k5kjkip...
Indexed At
2026-05-19 22:18 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 3 non-breaking changes.

Breaking Changes (1)
  • ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.createSpace:input.spaceKey", sort: "maxLength", value: "1024" }
Non-Breaking Changes (3)
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.createSpace:output" }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.createSpace", tgt: "town.muni.arbiter.createSpace:output", kind: "prop", name: Some("output") }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "town.muni.arbiter.createSpace:input.resolverDepth", sort: "minimum" }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "town.muni.arbiter.createSpace:output" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.createSpace:input.spaceKey", sort: "maxLength", value: "1024" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "town.muni.arbiter.createSpace:input.resolverDepth", sort: "minimum" }

Additional Notes

  • Non-breaking: AddedEdge { src: "town.muni.arbiter.createSpace", tgt: "town.muni.arbiter.createSpace:output", kind: "prop", name: Some("output") }
1 1
{
2 2
  "id": "town.muni.arbiter.createSpace",
3 3
  "defs": {
4 4
    "main": {
5 5
      "type": "procedure",
6 6
      "input": {
7 7
        "schema": {
8 8
          "type": "object",
9 9
          "required": [
10 10
            "arbiterDid",
11 11
            "spaceType",
12 12
            "spaceKey",
13 13
            "config"
14 14
          ],
15 15
          "properties": {
16 16
            "config": {
17 17
              "refs": [],
18 18
              "type": "union",
19 19
              "description": "The space configuration.\n\nDifferent servers will support different space config lexicons. Which\nlexicons are supported will also likely depend on the arbiter's config type."
20 20
            },
21 21
            "spaceKey": {
22 22
              "type": "string",
23 +
              "maxLength": 1024,
23 24
              "description": "The key of the space to create."
24 25
            },
25 26
            "spaceType": {
26 27
              "type": "string",
27 28
              "format": "nsid",
28 29
              "description": "The NSID of the space type."
29 30
            },
30 31
            "arbiterDid": {
31 32
              "type": "string",
32 33
              "format": "did",
33 34
              "description": "The DID of the arbiter to create the space in."
34 35
            },
35 36
            "resolverDepth": {
36 37
              "type": "integer",
37 -
              "minimum": 0,
38 -
              "description": "The maximum depth to allow when doing remote resolutions needed to evaluate the\naccess of the requesting user."
38 +
              "description": "The maximum depth to allow when doing remote resolutions.\n\nBecause spaces are allowed to have members resolved from remote spaces,\nall of the arbiter endpoints have an optional resolution depth parameter\nthat can be used to limit how many chained remote calls can be resolved.\n\nThis applies both to queries and procedures. Queries may need to resolve\nexternal members to complete the member list, and procedures may need\nto resolve external members if the requesting member is not in the local\nmember list, to see if the member has access through a remote list."
39 39
            }
40 40
          }
41 41
        },
42 42
        "encoding": "application/json"
43 43
      },
44 44
      "errors": [
45 45
        {
46 46
          "name": "ErrArbiterNotExists",
47 47
          "description": "The specified arbiter does not exist on this server."
48 48
        },
49 49
        {
50 50
          "name": "ErrSpaceExists",
51 51
          "description": "The specified space already exists on this arbiter."
52 52
        },
53 53
        {
54 54
          "name": "ErrPermissionDenied",
55 55
          "description": "The requesting user is not allowed to make the request."
56 56
        },
57 57
        {
58 58
          "name": "ErrRaceCondition",
59 59
          "description": "The config was changed by another request during the execution of this request.\n\nThe action should be retried if still applicable."
60 60
        }
61 61
      ],
62 +
      "output": {
63 +
        "schema": {
64 +
          "refs": [],
65 +
          "type": "union"
66 +
        },
67 +
        "encoding": "application/json"
68 +
      },
62 69
      "description": "Create a new space on an arbiter."
63 70
    }
64 71
  },
65 72
  "$type": "com.atproto.lexicon.schema",
66 73
  "lexicon": 1
67 74
}

Compare Other Versions

Lexicon Garden

@