@hypercerts-org/lexicon 0.10.0 → 0.11.1

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 (161) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/README.md +392 -393
  3. package/SCHEMAS.md +539 -81
  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 +2684 -1094
  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 +4487 -1808
  67. package/dist/index.cjs.map +1 -1
  68. package/dist/index.mjs +4408 -1805
  69. package/dist/index.mjs.map +1 -1
  70. package/dist/lexicons.cjs +928 -36
  71. package/dist/lexicons.cjs.map +1 -1
  72. package/dist/lexicons.d.ts +2684 -1094
  73. package/dist/lexicons.d.ts.map +1 -1
  74. package/dist/lexicons.mjs +928 -36
  75. package/dist/lexicons.mjs.map +1 -1
  76. package/dist/types/app/bsky/richtext/facet.d.ts +44 -7
  77. package/dist/types/app/bsky/richtext/facet.d.ts.map +1 -1
  78. package/dist/types/app/certified/badge/award.d.ts +2 -3
  79. package/dist/types/app/certified/badge/award.d.ts.map +1 -1
  80. package/dist/types/app/certified/badge/definition.d.ts +3 -3
  81. package/dist/types/app/certified/badge/definition.d.ts.map +1 -1
  82. package/dist/types/app/certified/badge/response.d.ts +2 -2
  83. package/dist/types/app/certified/badge/response.d.ts.map +1 -1
  84. package/dist/types/app/certified/link/evm.d.ts +45 -0
  85. package/dist/types/app/certified/link/evm.d.ts.map +1 -0
  86. package/dist/types/org/hypercerts/claim/activity.d.ts +6 -3
  87. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  88. package/dist/types/org/hypercerts/collection.d.ts +11 -5
  89. package/dist/types/org/hypercerts/collection.d.ts.map +1 -1
  90. package/dist/types/org/hypercerts/context/attachment.d.ts +5 -3
  91. package/dist/types/org/hypercerts/context/attachment.d.ts.map +1 -1
  92. package/dist/types/org/hypercerts/context/evaluation.d.ts +6 -6
  93. package/dist/types/org/hypercerts/context/evaluation.d.ts.map +1 -1
  94. package/dist/types/org/hypercerts/defs.d.ts +11 -0
  95. package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
  96. package/dist/types/org/hypercerts/funding/receipt.d.ts +17 -5
  97. package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  98. package/dist/types/pub/leaflet/blocks/blockquote.d.ts +13 -0
  99. package/dist/types/pub/leaflet/blocks/blockquote.d.ts.map +1 -0
  100. package/dist/types/pub/leaflet/blocks/bskyPost.d.ts +13 -0
  101. package/dist/types/pub/leaflet/blocks/bskyPost.d.ts.map +1 -0
  102. package/dist/types/pub/leaflet/blocks/button.d.ts +12 -0
  103. package/dist/types/pub/leaflet/blocks/button.d.ts.map +1 -0
  104. package/dist/types/pub/leaflet/blocks/code.d.ts +13 -0
  105. package/dist/types/pub/leaflet/blocks/code.d.ts.map +1 -0
  106. package/dist/types/pub/leaflet/blocks/header.d.ts +14 -0
  107. package/dist/types/pub/leaflet/blocks/header.d.ts.map +1 -0
  108. package/dist/types/pub/leaflet/blocks/horizontalRule.d.ts +10 -0
  109. package/dist/types/pub/leaflet/blocks/horizontalRule.d.ts.map +1 -0
  110. package/dist/types/pub/leaflet/blocks/iframe.d.ts +12 -0
  111. package/dist/types/pub/leaflet/blocks/iframe.d.ts.map +1 -0
  112. package/dist/types/pub/leaflet/blocks/image.d.ts +21 -0
  113. package/dist/types/pub/leaflet/blocks/image.d.ts.map +1 -0
  114. package/dist/types/pub/leaflet/blocks/math.d.ts +11 -0
  115. package/dist/types/pub/leaflet/blocks/math.d.ts.map +1 -0
  116. package/dist/types/pub/leaflet/blocks/orderedList.d.ts +31 -0
  117. package/dist/types/pub/leaflet/blocks/orderedList.d.ts.map +1 -0
  118. package/dist/types/pub/leaflet/blocks/page.d.ts +11 -0
  119. package/dist/types/pub/leaflet/blocks/page.d.ts.map +1 -0
  120. package/dist/types/pub/leaflet/blocks/poll.d.ts +12 -0
  121. package/dist/types/pub/leaflet/blocks/poll.d.ts.map +1 -0
  122. package/dist/types/pub/leaflet/blocks/text.d.ts +14 -0
  123. package/dist/types/pub/leaflet/blocks/text.d.ts.map +1 -0
  124. package/dist/types/pub/leaflet/blocks/unorderedList.d.ts +29 -0
  125. package/dist/types/pub/leaflet/blocks/unorderedList.d.ts.map +1 -0
  126. package/dist/types/pub/leaflet/blocks/website.d.ts +14 -0
  127. package/dist/types/pub/leaflet/blocks/website.d.ts.map +1 -0
  128. package/dist/types/pub/leaflet/pages/linearDocument.d.ts +54 -1
  129. package/dist/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -1
  130. package/dist/types/pub/leaflet/richtext/facet.d.ts +97 -0
  131. package/dist/types/pub/leaflet/richtext/facet.d.ts.map +1 -0
  132. package/lexicons/app/bsky/richtext/facet.json +51 -0
  133. package/lexicons/app/certified/badge/award.json +2 -2
  134. package/lexicons/app/certified/badge/definition.json +10 -2
  135. package/lexicons/app/certified/badge/response.json +2 -2
  136. package/lexicons/app/certified/link/evm.json +88 -0
  137. package/lexicons/org/hyperboards/board.json +1 -1
  138. package/lexicons/org/hypercerts/claim/activity.json +8 -4
  139. package/lexicons/org/hypercerts/collection.json +19 -5
  140. package/lexicons/org/hypercerts/context/attachment.json +16 -5
  141. package/lexicons/org/hypercerts/context/evaluation.json +9 -6
  142. package/lexicons/org/hypercerts/defs.json +21 -0
  143. package/lexicons/org/hypercerts/funding/receipt.json +30 -10
  144. package/lexicons/pub/leaflet/blocks/blockquote.json +22 -0
  145. package/lexicons/pub/leaflet/blocks/bskyPost.json +19 -0
  146. package/lexicons/pub/leaflet/blocks/button.json +19 -0
  147. package/lexicons/pub/leaflet/blocks/code.json +21 -0
  148. package/lexicons/pub/leaflet/blocks/header.json +27 -0
  149. package/lexicons/pub/leaflet/blocks/horizontalRule.json +11 -0
  150. package/lexicons/pub/leaflet/blocks/iframe.json +21 -0
  151. package/lexicons/pub/leaflet/blocks/image.json +37 -0
  152. package/lexicons/pub/leaflet/blocks/math.json +15 -0
  153. package/lexicons/pub/leaflet/blocks/orderedList.json +54 -0
  154. package/lexicons/pub/leaflet/blocks/page.json +15 -0
  155. package/lexicons/pub/leaflet/blocks/poll.json +16 -0
  156. package/lexicons/pub/leaflet/blocks/text.json +26 -0
  157. package/lexicons/pub/leaflet/blocks/unorderedList.json +50 -0
  158. package/lexicons/pub/leaflet/blocks/website.json +27 -0
  159. package/lexicons/pub/leaflet/pages/linearDocument.json +98 -0
  160. package/lexicons/pub/leaflet/richtext/facet.json +149 -0
  161. package/package.json +5 -5
@@ -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
+ }
@@ -0,0 +1,98 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "pub.leaflet.pages.linearDocument",
4
+ "defs": {
5
+ "main": {
6
+ "type": "object",
7
+ "required": ["blocks"],
8
+ "properties": {
9
+ "id": {
10
+ "type": "string"
11
+ },
12
+ "blocks": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "ref",
16
+ "ref": "#block"
17
+ }
18
+ }
19
+ }
20
+ },
21
+ "block": {
22
+ "type": "object",
23
+ "required": ["block"],
24
+ "properties": {
25
+ "block": {
26
+ "type": "union",
27
+ "refs": [
28
+ "pub.leaflet.blocks.iframe",
29
+ "pub.leaflet.blocks.text",
30
+ "pub.leaflet.blocks.blockquote",
31
+ "pub.leaflet.blocks.header",
32
+ "pub.leaflet.blocks.image",
33
+ "pub.leaflet.blocks.unorderedList",
34
+ "pub.leaflet.blocks.orderedList",
35
+ "pub.leaflet.blocks.website",
36
+ "pub.leaflet.blocks.math",
37
+ "pub.leaflet.blocks.code",
38
+ "pub.leaflet.blocks.horizontalRule",
39
+ "pub.leaflet.blocks.bskyPost",
40
+ "pub.leaflet.blocks.page",
41
+ "pub.leaflet.blocks.poll",
42
+ "pub.leaflet.blocks.button"
43
+ ]
44
+ },
45
+ "alignment": {
46
+ "type": "string",
47
+ "knownValues": [
48
+ "#textAlignLeft",
49
+ "#textAlignCenter",
50
+ "#textAlignRight",
51
+ "#textAlignJustify"
52
+ ]
53
+ }
54
+ }
55
+ },
56
+ "textAlignLeft": {
57
+ "type": "token"
58
+ },
59
+ "textAlignCenter": {
60
+ "type": "token"
61
+ },
62
+ "textAlignRight": {
63
+ "type": "token"
64
+ },
65
+ "textAlignJustify": {
66
+ "type": "token"
67
+ },
68
+ "quote": {
69
+ "type": "object",
70
+ "required": ["start", "end"],
71
+ "properties": {
72
+ "start": {
73
+ "type": "ref",
74
+ "ref": "#position"
75
+ },
76
+ "end": {
77
+ "type": "ref",
78
+ "ref": "#position"
79
+ }
80
+ }
81
+ },
82
+ "position": {
83
+ "type": "object",
84
+ "required": ["block", "offset"],
85
+ "properties": {
86
+ "block": {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "integer"
90
+ }
91
+ },
92
+ "offset": {
93
+ "type": "integer"
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }