org.hypercerts.defs

hypercerts.org

Schema Diff

+24 -2

From

CID
bafyreib3mql2anh...
Indexed At
2026-03-19 20:27 UTC
View this version

To

CID
bafyreiepouxyv2m...
Indexed At
2026-04-07 22:42 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 7 non-breaking changes.

Breaking Changes (2)
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.defs#descriptionString.value", sort: "maxGraphemes", value: "25000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.defs#descriptionString.value", sort: "maxLength", value: "250000" }
Non-Breaking Changes (7)
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString.facets" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString.facets:items" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString.value" }
  • AddedEdge AddedEdge { src: "org.hypercerts.defs#descriptionString", tgt: "org.hypercerts.defs#descriptionString.facets", kind: "prop", name: Some("facets") }
  • AddedEdge AddedEdge { src: "org.hypercerts.defs#descriptionString", tgt: "org.hypercerts.defs#descriptionString.value", kind: "prop", name: Some("value") }
  • AddedEdge AddedEdge { src: "org.hypercerts.defs#descriptionString.facets", tgt: "org.hypercerts.defs#descriptionString.facets:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString" }
  • AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString.facets" }
  • AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString.facets:items" }
  • AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString.value" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.defs#descriptionString.value", sort: "maxGraphemes", value: "25000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.defs#descriptionString.value", sort: "maxLength", value: "250000" }

Additional Notes

  • Non-breaking: AddedEdge { src: "org.hypercerts.defs#descriptionString", tgt: "org.hypercerts.defs#descriptionString.facets", kind: "prop", name: Some("facets") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.defs#descriptionString", tgt: "org.hypercerts.defs#descriptionString.value", kind: "prop", name: Some("value") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.defs#descriptionString.facets", tgt: "org.hypercerts.defs#descriptionString.facets:items", kind: "items", name: None }
1 1
{
2 2
  "id": "org.hypercerts.defs",
3 3
  "defs": {
4 4
    "uri": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "uri"
8 8
      ],
9 9
      "properties": {
10 10
        "uri": {
11 11
          "type": "string",
12 12
          "format": "uri",
13 13
          "description": "URI to external data"
14 14
        }
15 15
      },
16 16
      "description": "Object containing a URI to external data"
17 17
    },
18 18
    "largeBlob": {
19 19
      "type": "object",
20 20
      "required": [
21 21
        "blob"
22 22
      ],
23 23
      "properties": {
24 24
        "blob": {
25 25
          "type": "blob",
26 26
          "accept": [
27 27
            "*/*"
28 28
          ],
29 29
          "maxSize": 104857600,
30 30
          "description": "Blob to external data (up to 100MB)"
31 31
        }
32 32
      },
33 33
      "description": "Object containing a blob to external data"
34 34
    },
35 35
    "smallBlob": {
36 36
      "type": "object",
37 37
      "required": [
38 38
        "blob"
39 39
      ],
40 40
      "properties": {
41 41
        "blob": {
42 42
          "type": "blob",
43 43
          "accept": [
44 44
            "*/*"
45 45
          ],
46 46
          "maxSize": 10485760,
47 47
          "description": "Blob to external data (up to 10MB)"
48 48
        }
49 49
      },
50 50
      "description": "Object containing a blob to external data"
51 51
    },
52 52
    "largeImage": {
53 53
      "type": "object",
54 54
      "required": [
55 55
        "image"
56 56
      ],
57 57
      "properties": {
58 58
        "image": {
59 59
          "type": "blob",
60 60
          "accept": [
61 61
            "image/jpeg",
62 62
            "image/jpg",
63 63
            "image/png",
64 64
            "image/webp"
65 65
          ],
66 66
          "maxSize": 10485760,
67 67
          "description": "Image (up to 10MB)"
68 68
        }
69 69
      },
70 70
      "description": "Object containing a large image"
71 71
    },
72 72
    "smallImage": {
73 73
      "type": "object",
74 74
      "required": [
75 75
        "image"
76 76
      ],
77 77
      "properties": {
78 78
        "image": {
79 79
          "type": "blob",
80 80
          "accept": [
81 81
            "image/jpeg",
82 82
            "image/jpg",
83 83
            "image/png",
84 84
            "image/webp"
85 85
          ],
86 86
          "maxSize": 5242880,
87 87
          "description": "Image (up to 5MB)"
88 88
        }
89 89
      },
90 90
      "description": "Object containing a small image"
91 91
    },
92 92
    "smallVideo": {
93 93
      "type": "object",
94 94
      "required": [
95 95
        "video"
96 96
      ],
97 97
      "properties": {
98 98
        "video": {
99 99
          "type": "blob",
100 100
          "accept": [
101 101
            "video/mp4",
102 102
            "video/webm"
103 103
          ],
104 104
          "maxSize": 20971520,
105 105
          "description": "Video (up to 20MB)"
106 106
        }
107 107
      },
108 108
      "description": "Object containing a small video"
109 +
    },
110 +
    "descriptionString": {
111 +
      "type": "object",
112 +
      "required": [
113 +
        "value"
114 +
      ],
115 +
      "properties": {
116 +
        "value": {
117 +
          "type": "string",
118 +
          "maxLength": 250000,
119 +
          "description": "The description text (plain text or markdown).",
120 +
          "maxGraphemes": 25000
121 +
        },
122 +
        "facets": {
123 +
          "type": "array",
124 +
          "items": {
125 +
            "ref": "app.bsky.richtext.facet",
126 +
            "type": "ref"
127 +
          },
128 +
          "description": "Rich text annotations for the description (mentions, URLs, hashtags, etc)."
129 +
        }
130 +
      },
131 +
      "description": "An inline long-form description as plain text or markdown, with optional rich-text annotations."
109 132
    }
110 133
  },
111 134
  "$type": "com.atproto.lexicon.schema",
112 -
  "lexicon": 1,
113 -
  "description": "Common type definitions used across all Hypercerts protocols."
135 +
  "lexicon": 1
114 136
}

Compare Other Versions

Lexicon Garden

@