@hypercerts-org/lexicon 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/CHANGELOG.md +205 -0
  2. package/README.md +371 -388
  3. package/SCHEMAS.md +533 -75
  4. package/dist/exports.d.ts +900 -10
  5. package/dist/exports.d.ts.map +1 -1
  6. package/dist/generated/exports.d.ts +900 -10
  7. package/dist/generated/exports.d.ts.map +1 -1
  8. package/dist/generated/lexicons.d.ts +2683 -1093
  9. package/dist/generated/lexicons.d.ts.map +1 -1
  10. package/dist/generated/types/app/bsky/richtext/facet.d.ts +44 -7
  11. package/dist/generated/types/app/bsky/richtext/facet.d.ts.map +1 -1
  12. package/dist/generated/types/app/certified/badge/award.d.ts +2 -3
  13. package/dist/generated/types/app/certified/badge/award.d.ts.map +1 -1
  14. package/dist/generated/types/app/certified/badge/definition.d.ts +3 -3
  15. package/dist/generated/types/app/certified/badge/definition.d.ts.map +1 -1
  16. package/dist/generated/types/app/certified/badge/response.d.ts +2 -2
  17. package/dist/generated/types/app/certified/badge/response.d.ts.map +1 -1
  18. package/dist/generated/types/app/certified/link/evm.d.ts +45 -0
  19. package/dist/generated/types/app/certified/link/evm.d.ts.map +1 -0
  20. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +6 -3
  21. package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  22. package/dist/generated/types/org/hypercerts/collection.d.ts +11 -5
  23. package/dist/generated/types/org/hypercerts/collection.d.ts.map +1 -1
  24. package/dist/generated/types/org/hypercerts/context/attachment.d.ts +5 -3
  25. package/dist/generated/types/org/hypercerts/context/attachment.d.ts.map +1 -1
  26. package/dist/generated/types/org/hypercerts/context/evaluation.d.ts +6 -6
  27. package/dist/generated/types/org/hypercerts/context/evaluation.d.ts.map +1 -1
  28. package/dist/generated/types/org/hypercerts/defs.d.ts +11 -0
  29. package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -1
  30. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +17 -5
  31. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  32. package/dist/generated/types/pub/leaflet/blocks/blockquote.d.ts +13 -0
  33. package/dist/generated/types/pub/leaflet/blocks/blockquote.d.ts.map +1 -0
  34. package/dist/generated/types/pub/leaflet/blocks/bskyPost.d.ts +13 -0
  35. package/dist/generated/types/pub/leaflet/blocks/bskyPost.d.ts.map +1 -0
  36. package/dist/generated/types/pub/leaflet/blocks/button.d.ts +12 -0
  37. package/dist/generated/types/pub/leaflet/blocks/button.d.ts.map +1 -0
  38. package/dist/generated/types/pub/leaflet/blocks/code.d.ts +13 -0
  39. package/dist/generated/types/pub/leaflet/blocks/code.d.ts.map +1 -0
  40. package/dist/generated/types/pub/leaflet/blocks/header.d.ts +14 -0
  41. package/dist/generated/types/pub/leaflet/blocks/header.d.ts.map +1 -0
  42. package/dist/generated/types/pub/leaflet/blocks/horizontalRule.d.ts +10 -0
  43. package/dist/generated/types/pub/leaflet/blocks/horizontalRule.d.ts.map +1 -0
  44. package/dist/generated/types/pub/leaflet/blocks/iframe.d.ts +12 -0
  45. package/dist/generated/types/pub/leaflet/blocks/iframe.d.ts.map +1 -0
  46. package/dist/generated/types/pub/leaflet/blocks/image.d.ts +21 -0
  47. package/dist/generated/types/pub/leaflet/blocks/image.d.ts.map +1 -0
  48. package/dist/generated/types/pub/leaflet/blocks/math.d.ts +11 -0
  49. package/dist/generated/types/pub/leaflet/blocks/math.d.ts.map +1 -0
  50. package/dist/generated/types/pub/leaflet/blocks/orderedList.d.ts +31 -0
  51. package/dist/generated/types/pub/leaflet/blocks/orderedList.d.ts.map +1 -0
  52. package/dist/generated/types/pub/leaflet/blocks/page.d.ts +11 -0
  53. package/dist/generated/types/pub/leaflet/blocks/page.d.ts.map +1 -0
  54. package/dist/generated/types/pub/leaflet/blocks/poll.d.ts +12 -0
  55. package/dist/generated/types/pub/leaflet/blocks/poll.d.ts.map +1 -0
  56. package/dist/generated/types/pub/leaflet/blocks/text.d.ts +14 -0
  57. package/dist/generated/types/pub/leaflet/blocks/text.d.ts.map +1 -0
  58. package/dist/generated/types/pub/leaflet/blocks/unorderedList.d.ts +29 -0
  59. package/dist/generated/types/pub/leaflet/blocks/unorderedList.d.ts.map +1 -0
  60. package/dist/generated/types/pub/leaflet/blocks/website.d.ts +14 -0
  61. package/dist/generated/types/pub/leaflet/blocks/website.d.ts.map +1 -0
  62. package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts +54 -1
  63. package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -1
  64. package/dist/generated/types/pub/leaflet/richtext/facet.d.ts +97 -0
  65. package/dist/generated/types/pub/leaflet/richtext/facet.d.ts.map +1 -0
  66. package/dist/index.cjs +4486 -1807
  67. package/dist/index.cjs.map +1 -1
  68. package/dist/index.mjs +4407 -1804
  69. package/dist/index.mjs.map +1 -1
  70. package/dist/lexicons.cjs +927 -35
  71. package/dist/lexicons.cjs.map +1 -1
  72. package/dist/lexicons.d.ts +2683 -1093
  73. package/dist/lexicons.d.ts.map +1 -1
  74. package/dist/lexicons.mjs +927 -35
  75. package/dist/lexicons.mjs.map +1 -1
  76. package/dist/tests/validate-external-lexicons.test.d.ts +2 -0
  77. package/dist/tests/validate-external-lexicons.test.d.ts.map +1 -0
  78. package/dist/tests/validate-funding-receipt.test.d.ts +2 -0
  79. package/dist/tests/validate-funding-receipt.test.d.ts.map +1 -0
  80. package/dist/tests/validate-link-evm.test.d.ts +2 -0
  81. package/dist/tests/validate-link-evm.test.d.ts.map +1 -0
  82. package/dist/tests/validate-rights.test.d.ts +2 -0
  83. package/dist/tests/validate-rights.test.d.ts.map +1 -0
  84. package/dist/types/app/bsky/richtext/facet.d.ts +44 -7
  85. package/dist/types/app/bsky/richtext/facet.d.ts.map +1 -1
  86. package/dist/types/app/certified/badge/award.d.ts +2 -3
  87. package/dist/types/app/certified/badge/award.d.ts.map +1 -1
  88. package/dist/types/app/certified/badge/definition.d.ts +3 -3
  89. package/dist/types/app/certified/badge/definition.d.ts.map +1 -1
  90. package/dist/types/app/certified/badge/response.d.ts +2 -2
  91. package/dist/types/app/certified/badge/response.d.ts.map +1 -1
  92. package/dist/types/app/certified/link/evm.d.ts +45 -0
  93. package/dist/types/app/certified/link/evm.d.ts.map +1 -0
  94. package/dist/types/org/hypercerts/claim/activity.d.ts +6 -3
  95. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  96. package/dist/types/org/hypercerts/collection.d.ts +11 -5
  97. package/dist/types/org/hypercerts/collection.d.ts.map +1 -1
  98. package/dist/types/org/hypercerts/context/attachment.d.ts +5 -3
  99. package/dist/types/org/hypercerts/context/attachment.d.ts.map +1 -1
  100. package/dist/types/org/hypercerts/context/evaluation.d.ts +6 -6
  101. package/dist/types/org/hypercerts/context/evaluation.d.ts.map +1 -1
  102. package/dist/types/org/hypercerts/defs.d.ts +11 -0
  103. package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
  104. package/dist/types/org/hypercerts/funding/receipt.d.ts +17 -5
  105. package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  106. package/dist/types/pub/leaflet/blocks/blockquote.d.ts +13 -0
  107. package/dist/types/pub/leaflet/blocks/blockquote.d.ts.map +1 -0
  108. package/dist/types/pub/leaflet/blocks/bskyPost.d.ts +13 -0
  109. package/dist/types/pub/leaflet/blocks/bskyPost.d.ts.map +1 -0
  110. package/dist/types/pub/leaflet/blocks/button.d.ts +12 -0
  111. package/dist/types/pub/leaflet/blocks/button.d.ts.map +1 -0
  112. package/dist/types/pub/leaflet/blocks/code.d.ts +13 -0
  113. package/dist/types/pub/leaflet/blocks/code.d.ts.map +1 -0
  114. package/dist/types/pub/leaflet/blocks/header.d.ts +14 -0
  115. package/dist/types/pub/leaflet/blocks/header.d.ts.map +1 -0
  116. package/dist/types/pub/leaflet/blocks/horizontalRule.d.ts +10 -0
  117. package/dist/types/pub/leaflet/blocks/horizontalRule.d.ts.map +1 -0
  118. package/dist/types/pub/leaflet/blocks/iframe.d.ts +12 -0
  119. package/dist/types/pub/leaflet/blocks/iframe.d.ts.map +1 -0
  120. package/dist/types/pub/leaflet/blocks/image.d.ts +21 -0
  121. package/dist/types/pub/leaflet/blocks/image.d.ts.map +1 -0
  122. package/dist/types/pub/leaflet/blocks/math.d.ts +11 -0
  123. package/dist/types/pub/leaflet/blocks/math.d.ts.map +1 -0
  124. package/dist/types/pub/leaflet/blocks/orderedList.d.ts +31 -0
  125. package/dist/types/pub/leaflet/blocks/orderedList.d.ts.map +1 -0
  126. package/dist/types/pub/leaflet/blocks/page.d.ts +11 -0
  127. package/dist/types/pub/leaflet/blocks/page.d.ts.map +1 -0
  128. package/dist/types/pub/leaflet/blocks/poll.d.ts +12 -0
  129. package/dist/types/pub/leaflet/blocks/poll.d.ts.map +1 -0
  130. package/dist/types/pub/leaflet/blocks/text.d.ts +14 -0
  131. package/dist/types/pub/leaflet/blocks/text.d.ts.map +1 -0
  132. package/dist/types/pub/leaflet/blocks/unorderedList.d.ts +29 -0
  133. package/dist/types/pub/leaflet/blocks/unorderedList.d.ts.map +1 -0
  134. package/dist/types/pub/leaflet/blocks/website.d.ts +14 -0
  135. package/dist/types/pub/leaflet/blocks/website.d.ts.map +1 -0
  136. package/dist/types/pub/leaflet/pages/linearDocument.d.ts +54 -1
  137. package/dist/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -1
  138. package/dist/types/pub/leaflet/richtext/facet.d.ts +97 -0
  139. package/dist/types/pub/leaflet/richtext/facet.d.ts.map +1 -0
  140. package/lexicons/app/bsky/richtext/facet.json +51 -0
  141. package/lexicons/app/certified/badge/award.json +2 -2
  142. package/lexicons/app/certified/badge/definition.json +10 -2
  143. package/lexicons/app/certified/badge/response.json +2 -2
  144. package/lexicons/app/certified/link/evm.json +88 -0
  145. package/lexicons/org/hypercerts/claim/activity.json +8 -4
  146. package/lexicons/org/hypercerts/collection.json +19 -5
  147. package/lexicons/org/hypercerts/context/attachment.json +16 -5
  148. package/lexicons/org/hypercerts/context/evaluation.json +9 -6
  149. package/lexicons/org/hypercerts/defs.json +21 -0
  150. package/lexicons/org/hypercerts/funding/receipt.json +30 -10
  151. package/lexicons/pub/leaflet/blocks/blockquote.json +22 -0
  152. package/lexicons/pub/leaflet/blocks/bskyPost.json +19 -0
  153. package/lexicons/pub/leaflet/blocks/button.json +19 -0
  154. package/lexicons/pub/leaflet/blocks/code.json +21 -0
  155. package/lexicons/pub/leaflet/blocks/header.json +27 -0
  156. package/lexicons/pub/leaflet/blocks/horizontalRule.json +11 -0
  157. package/lexicons/pub/leaflet/blocks/iframe.json +21 -0
  158. package/lexicons/pub/leaflet/blocks/image.json +37 -0
  159. package/lexicons/pub/leaflet/blocks/math.json +15 -0
  160. package/lexicons/pub/leaflet/blocks/orderedList.json +54 -0
  161. package/lexicons/pub/leaflet/blocks/page.json +15 -0
  162. package/lexicons/pub/leaflet/blocks/poll.json +16 -0
  163. package/lexicons/pub/leaflet/blocks/text.json +26 -0
  164. package/lexicons/pub/leaflet/blocks/unorderedList.json +50 -0
  165. package/lexicons/pub/leaflet/blocks/website.json +27 -0
  166. package/lexicons/pub/leaflet/pages/linearDocument.json +98 -0
  167. package/lexicons/pub/leaflet/richtext/facet.json +149 -0
  168. package/package.json +3 -4
@@ -12,7 +12,8 @@
12
12
  "properties": {
13
13
  "type": {
14
14
  "type": "string",
15
- "description": "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection.",
15
+ "description": "The type of this collection. Values beyond the known set are permitted.",
16
+ "knownValues": ["favorites", "project", "portfolio", "program"],
16
17
  "maxLength": 64
17
18
  },
18
19
  "title": {
@@ -25,12 +26,24 @@
25
26
  "type": "string",
26
27
  "maxLength": 3000,
27
28
  "maxGraphemes": 300,
28
- "description": "Short summary of this collection, suitable for previews and list views"
29
+ "description": "Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`."
30
+ },
31
+ "shortDescriptionFacets": {
32
+ "type": "array",
33
+ "description": "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).",
34
+ "items": {
35
+ "type": "ref",
36
+ "ref": "app.bsky.richtext.facet"
37
+ }
29
38
  },
30
39
  "description": {
31
- "type": "ref",
32
- "ref": "pub.leaflet.pages.linearDocument#main",
33
- "description": "Rich-text description, represented as a Leaflet linear document."
40
+ "type": "union",
41
+ "refs": [
42
+ "org.hypercerts.defs#descriptionString",
43
+ "pub.leaflet.pages.linearDocument",
44
+ "com.atproto.repo.strongRef"
45
+ ],
46
+ "description": "Long-form description of the collection. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record."
34
47
  },
35
48
  "avatar": {
36
49
  "type": "union",
@@ -72,6 +85,7 @@
72
85
  },
73
86
  "item": {
74
87
  "type": "object",
88
+ "description": "An item in a collection, with an identifier and optional weight.",
75
89
  "required": ["itemIdentifier"],
76
90
  "properties": {
77
91
  "itemIdentifier": {
@@ -21,8 +21,15 @@
21
21
  },
22
22
  "contentType": {
23
23
  "type": "string",
24
- "maxLength": 64,
25
- "description": "The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc."
24
+ "description": "The type of attachment. Values beyond the known set are permitted.",
25
+ "knownValues": [
26
+ "report",
27
+ "audit",
28
+ "evidence",
29
+ "testimonial",
30
+ "methodology"
31
+ ],
32
+ "maxLength": 64
26
33
  },
27
34
  "content": {
28
35
  "type": "array",
@@ -56,9 +63,13 @@
56
63
  }
57
64
  },
58
65
  "description": {
59
- "type": "ref",
60
- "ref": "pub.leaflet.pages.linearDocument#main",
61
- "description": "Rich-text description, represented as a Leaflet linear document."
66
+ "type": "union",
67
+ "refs": [
68
+ "org.hypercerts.defs#descriptionString",
69
+ "pub.leaflet.pages.linearDocument",
70
+ "com.atproto.repo.strongRef"
71
+ ],
72
+ "description": "Long-form description of the attachment. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record."
62
73
  },
63
74
  "location": {
64
75
  "type": "ref",
@@ -75,16 +75,19 @@
75
75
  "required": ["min", "max", "value"],
76
76
  "properties": {
77
77
  "min": {
78
- "type": "integer",
79
- "description": "Minimum value of the scale, e.g. 0 or 1."
78
+ "type": "string",
79
+ "description": "Minimum value of the scale as a numeric string (e.g. '0', '1').",
80
+ "maxLength": 50
80
81
  },
81
82
  "max": {
82
- "type": "integer",
83
- "description": "Maximum value of the scale, e.g. 5 or 10."
83
+ "type": "string",
84
+ "description": "Maximum value of the scale as a numeric string (e.g. '5', '10').",
85
+ "maxLength": 50
84
86
  },
85
87
  "value": {
86
- "type": "integer",
87
- "description": "Score within the inclusive range [min, max]."
88
+ "type": "string",
89
+ "description": "Score within the inclusive range [min, max] as a numeric string (e.g. '3.7').",
90
+ "maxLength": 50
88
91
  }
89
92
  }
90
93
  }
@@ -3,6 +3,27 @@
3
3
  "id": "org.hypercerts.defs",
4
4
  "description": "Common type definitions used across all Hypercerts protocols.",
5
5
  "defs": {
6
+ "descriptionString": {
7
+ "type": "object",
8
+ "description": "An inline long-form description as plain text or markdown, with optional rich-text annotations.",
9
+ "required": ["value"],
10
+ "properties": {
11
+ "value": {
12
+ "type": "string",
13
+ "description": "The description text (plain text or markdown).",
14
+ "maxLength": 250000,
15
+ "maxGraphemes": 25000
16
+ },
17
+ "facets": {
18
+ "type": "array",
19
+ "description": "Rich text annotations for the description (mentions, URLs, hashtags, etc).",
20
+ "items": {
21
+ "type": "ref",
22
+ "ref": "app.bsky.richtext.facet"
23
+ }
24
+ }
25
+ }
26
+ },
6
27
  "uri": {
7
28
  "type": "object",
8
29
  "required": ["uri"],
@@ -8,17 +8,25 @@
8
8
  "key": "tid",
9
9
  "record": {
10
10
  "type": "object",
11
- "required": ["from", "to", "amount", "currency", "createdAt"],
11
+ "required": ["to", "amount", "currency", "createdAt"],
12
12
  "properties": {
13
13
  "from": {
14
- "type": "ref",
15
- "ref": "app.certified.defs#did",
16
- "description": "DID of the sender who transferred the funds. Leave empty if sender wants to stay anonymous."
14
+ "type": "union",
15
+ "description": "The sender of the funds (a free-text string, an account DID, or a strong reference to a record). Optional — omit to represent anonymity.",
16
+ "refs": [
17
+ "#text",
18
+ "app.certified.defs#did",
19
+ "com.atproto.repo.strongRef"
20
+ ]
17
21
  },
18
22
  "to": {
19
- "type": "string",
20
- "description": "The recipient of the funds. Can be identified by DID or a clear-text name.",
21
- "maxLength": 2048
23
+ "type": "union",
24
+ "description": "The recipient of the funds (a free-text string, an account DID, or a strong reference to a record).",
25
+ "refs": [
26
+ "#text",
27
+ "app.certified.defs#did",
28
+ "com.atproto.repo.strongRef"
29
+ ]
22
30
  },
23
31
  "amount": {
24
32
  "type": "string",
@@ -46,9 +54,9 @@
46
54
  "maxLength": 256
47
55
  },
48
56
  "for": {
49
- "type": "string",
50
- "format": "at-uri",
51
- "description": "Optional reference to the activity, project, or organization this funding relates to."
57
+ "type": "ref",
58
+ "ref": "com.atproto.repo.strongRef",
59
+ "description": "Optional strong reference to the activity, project, or organization this funding relates to."
52
60
  },
53
61
  "notes": {
54
62
  "type": "string",
@@ -67,6 +75,18 @@
67
75
  }
68
76
  }
69
77
  }
78
+ },
79
+ "text": {
80
+ "type": "object",
81
+ "description": "A free-text string value (e.g. a display name, wallet address, or other identifier).",
82
+ "required": ["value"],
83
+ "properties": {
84
+ "value": {
85
+ "type": "string",
86
+ "description": "The string value.",
87
+ "maxLength": 2048
88
+ }
89
+ }
70
90
  }
71
91
  }
72
92
  }
@@ -0,0 +1,22 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.blockquote",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["plaintext"],
8
+ "properties": {
9
+ "plaintext": {
10
+ "type": "string"
11
+ },
12
+ "facets": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "ref",
16
+ "ref": "pub.leaflet.richtext.facet"
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.bskyPost",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["postRef"],
8
+ "properties": {
9
+ "postRef": {
10
+ "type": "ref",
11
+ "ref": "com.atproto.repo.strongRef"
12
+ },
13
+ "clientHost": {
14
+ "type": "string"
15
+ }
16
+ }
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.button",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["text", "url"],
8
+ "properties": {
9
+ "text": {
10
+ "type": "string"
11
+ },
12
+ "url": {
13
+ "type": "string",
14
+ "format": "uri"
15
+ }
16
+ }
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.code",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["plaintext"],
8
+ "properties": {
9
+ "plaintext": {
10
+ "type": "string"
11
+ },
12
+ "language": {
13
+ "type": "string"
14
+ },
15
+ "syntaxHighlightingTheme": {
16
+ "type": "string"
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.header",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["plaintext"],
8
+ "properties": {
9
+ "level": {
10
+ "type": "integer",
11
+ "minimum": 1,
12
+ "maximum": 6
13
+ },
14
+ "plaintext": {
15
+ "type": "string"
16
+ },
17
+ "facets": {
18
+ "type": "array",
19
+ "items": {
20
+ "type": "ref",
21
+ "ref": "pub.leaflet.richtext.facet"
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.horizontalRule",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": [],
8
+ "properties": {}
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.iframe",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["url"],
8
+ "properties": {
9
+ "url": {
10
+ "type": "string",
11
+ "format": "uri"
12
+ },
13
+ "height": {
14
+ "type": "integer",
15
+ "minimum": 16,
16
+ "maximum": 1600
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.image",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["image", "aspectRatio"],
8
+ "properties": {
9
+ "image": {
10
+ "type": "blob",
11
+ "accept": ["image/*"],
12
+ "maxSize": 1000000
13
+ },
14
+ "alt": {
15
+ "type": "string",
16
+ "description": "Alt text description of the image, for accessibility."
17
+ },
18
+ "aspectRatio": {
19
+ "type": "ref",
20
+ "ref": "#aspectRatio"
21
+ }
22
+ }
23
+ },
24
+ "aspectRatio": {
25
+ "type": "object",
26
+ "required": ["width", "height"],
27
+ "properties": {
28
+ "width": {
29
+ "type": "integer"
30
+ },
31
+ "height": {
32
+ "type": "integer"
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.math",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["tex"],
8
+ "properties": {
9
+ "tex": {
10
+ "type": "string"
11
+ }
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.orderedList",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["children"],
8
+ "properties": {
9
+ "startIndex": {
10
+ "type": "integer",
11
+ "description": "The starting number for this ordered list. Defaults to 1 if not specified."
12
+ },
13
+ "children": {
14
+ "type": "array",
15
+ "items": {
16
+ "type": "ref",
17
+ "ref": "#listItem"
18
+ }
19
+ }
20
+ }
21
+ },
22
+ "listItem": {
23
+ "type": "object",
24
+ "required": ["content"],
25
+ "properties": {
26
+ "checked": {
27
+ "type": "boolean",
28
+ "description": "If present, this item is a checklist item. true = checked, false = unchecked. If absent, this is a normal list item."
29
+ },
30
+ "content": {
31
+ "type": "union",
32
+ "refs": [
33
+ "pub.leaflet.blocks.text",
34
+ "pub.leaflet.blocks.header",
35
+ "pub.leaflet.blocks.image"
36
+ ]
37
+ },
38
+ "children": {
39
+ "type": "array",
40
+ "description": "Nested ordered list items. Mutually exclusive with unorderedListChildren; if both are present, children takes precedence.",
41
+ "items": {
42
+ "type": "ref",
43
+ "ref": "#listItem"
44
+ }
45
+ },
46
+ "unorderedListChildren": {
47
+ "type": "ref",
48
+ "description": "A nested unordered list. Mutually exclusive with children; if both are present, children takes precedence.",
49
+ "ref": "pub.leaflet.blocks.unorderedList"
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.page",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["id"],
8
+ "properties": {
9
+ "id": {
10
+ "type": "string"
11
+ }
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.poll",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["pollRef"],
8
+ "properties": {
9
+ "pollRef": {
10
+ "type": "ref",
11
+ "ref": "com.atproto.repo.strongRef"
12
+ }
13
+ }
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.text",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["plaintext"],
8
+ "properties": {
9
+ "plaintext": {
10
+ "type": "string"
11
+ },
12
+ "textSize": {
13
+ "type": "string",
14
+ "enum": ["default", "small", "large"]
15
+ },
16
+ "facets": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "ref",
20
+ "ref": "pub.leaflet.richtext.facet"
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.unorderedList",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["children"],
8
+ "properties": {
9
+ "children": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "ref",
13
+ "ref": "#listItem"
14
+ }
15
+ }
16
+ }
17
+ },
18
+ "listItem": {
19
+ "type": "object",
20
+ "required": ["content"],
21
+ "properties": {
22
+ "checked": {
23
+ "type": "boolean",
24
+ "description": "If present, this item is a checklist item. true = checked, false = unchecked. If absent, this is a normal list item."
25
+ },
26
+ "content": {
27
+ "type": "union",
28
+ "refs": [
29
+ "pub.leaflet.blocks.text",
30
+ "pub.leaflet.blocks.header",
31
+ "pub.leaflet.blocks.image"
32
+ ]
33
+ },
34
+ "children": {
35
+ "type": "array",
36
+ "description": "Nested unordered list items. Mutually exclusive with orderedListChildren; if both are present, children takes precedence.",
37
+ "items": {
38
+ "type": "ref",
39
+ "ref": "#listItem"
40
+ }
41
+ },
42
+ "orderedListChildren": {
43
+ "type": "ref",
44
+ "description": "Nested ordered list items. Mutually exclusive with children; if both are present, children takes precedence.",
45
+ "ref": "pub.leaflet.blocks.orderedList"
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.blocks.website",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["src"],
8
+ "properties": {
9
+ "previewImage": {
10
+ "type": "blob",
11
+ "accept": ["image/*"],
12
+ "maxSize": 1000000
13
+ },
14
+ "title": {
15
+ "type": "string"
16
+ },
17
+ "description": {
18
+ "type": "string"
19
+ },
20
+ "src": {
21
+ "type": "string",
22
+ "format": "uri"
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }